and Load Monitoring

peanutplausibleElectronics - Devices

Nov 21, 2013 (3 years and 11 months ago)

94 views

A Practical Smart Metering System
Supporting Privacy Preserving Billing
and Load Monitoring

Hsiao
-
Ying Lin

National
Chiao

Tung University

Joint work with
Wen
-
Guey

Tzeng
,
Shiuan
-
Tzuo

Shen
,
Bao
-
Shuh

P. Lin

Smart Grid

=Intelligence + Automation + Power Grid


Increase energy efficiency


Improve system reliability & quality

Massive electricity

generator

Grid operator

Meter

Electricity transmission

& distribution

Substation

Resident area

Renewable energy
generator

Intra/Internet

Power flow

Communication flow

2

Smart Grid Features


Features


Two
-
way power flows


Communication systems among electricity entities


Automatic Meter Reading

Advanced Meter Infrastructure

Smart Grid Application

3

Meter & Meter Reading


Measurement of power consumption


Traditional:

manually record per month



Smart meter:

automatically record per minute ~ millisecond


4

Smart Grid Applications


Automatic billing


Support many price policies





Load monitoring


Monitor current state of smart grid

Electricity Service
Provider(ESP)

Price information

Time Price

Power consumption

Bill

Power consumption

Load Monitoring
Center(LMC)

5

Example: Ontario Time
-
of
-
use Pricing


During Winter

Midnight

Noon

A.M.

P.M.

7

5

11

7

Off
-
Peak

6.5

/kWh

Mid
-
Peak

10

/kWh

On
-
Peak

11.7

/kWh

6

Privacy Issue


Detailed meter readings reveal daily activities


When and what appliances are used


7

Hart, G.W: Nonintrusive appliance load monitoring, IEEE Proceedings 1992

Refrigerator

Stove Burner

Time(Min)

Privacy Preserving Automatic Billing


Trusted third party computes the bill


The grid operator




Homomorphic

commitment + zero knowledge proof (ZKP)


Meter readings are committed


The bill is computed by the consumer


Only the bill is opened to ESP


ESP verifies correctness of the bill by using ZKP

8

Privacy Preserving Load Monitoring


Trusted third party aggregates the power consumption






Secret shares of 0 among meters


Need handling meter leaving and joining





Random noises on meter readings


LMC gets approximate sum of meter readings


LMC

E
LMC
(reading1)

E
LMC
(reading3)

E
LMC
(reading2)

E
LMC
(sum of readings)

TTP

sum of readings

Reading1+secret share1

Reading3+secret share3

Reading2+secret share2

sum of readings

LMC

9

Our Contribution


A smart metering system


Supporting automatic billing
&

load monitoring


Privacy preserving against service providers


Electricity service provider (ESP)


Load monitoring center (LMC)


Storage service provider


Using pseudo
-
random numbers & TPM


Without

a trusted third party


Without

mutual communication among meters

10

System Model

display

Barcode ID

TPM module

Meter

Meter readings

Area 1

Area 2

Time













Area 2

Area 1

Storage system

Load monitoring
center (LMC)

H
1

M
1

H
2

M
2

Electricity Service
Provider (ESP)

11

Meter Model









A meter has a trusted platform module


Power consumption is measured in
Wh

per 5 min


Present meter readings in integers

12

Arrange Encrypted Meter Readings

Area 1

Area 2

H
2

M
2

H
3

M
3

H
4

M
4

H
5

M
5

H
6

M
6

H
7

M
7

H
8

M
8

10
9
8
7
6
5
4
3
2
1









t
t
t
t
t
t
t
t
t
t
10
,
1
9
,
1
8
,
1
7
,
1
6
,
1
5
,
1
4
,
1
3
,
1
2
,
1
1
,
1










c
c
c
c
c
c
c
c
c
c
10
,
2
9
,
2
8
,
2
7
,
2
6
,
2
5
,
2
4
,
2
3
,
2
2
,
2
1
,
2









c
c
c
c
c
c
c
c
c
c
10
,
3
9
,
3
8
,
3
7
,
3
6
,
3
5
,
3
4
,
3
3
,
3
2
,
3
1
,
3









c
c
c
c
c
c
c
c
c
c
10
,
4
9
,
4
8
,
4
7
,
4
6
,
4
5
,
4
4
,
4
3
,
4
2
,
4
1
,
4









c
c
c
c
c
c
c
c
c
c
10
,
5
9
,
5
8
,
5
7
,
5
6
,
5
5
,
5
4
,
5
3
,
5
2
,
5
1
,
5









c
c
c
c
c
c
c
c
c
c
10
,
6
9
,
6
8
,
6
7
,
6
6
,
6
5
,
6
4
,
6
3
,
6
2
,
6
1
,
6









c
c
c
c
c
c
c
c
c
c








8
,
7
7
,
7
6
,
7
5
,
7
4
,
7
3
,
7
2
,
7
1
,
7
c
c
c
c
c
c
c
c
10
,
8
9
,
8
8
,
8
7
,
8
6
,
8
5
,
8
4
,
8
3
,
8
2
,
8
1
,
8









c
c
c
c
c
c
c
c
c
c
Current time unit

Current time window W (
L

time units)

Area 3

H
9

M
9

10
,
9
9
,
9
8
,
9
7
,
9
6
,
9
5
,
9
4
,
9






c
c
c
c
c
c
c
H
1

M
1

13

L = 4

Requirements



Assume all entities are semi
-
honest


ESP can only
query a meter
for power consumption
of
a
L

continuous time units
(each query)



LMC can only
query meters for meter readings

at
a time unit in a current time window
W


14

Arrange Encrypted Meter Readings

Area 1

Area 2

H
2

M
2

H
3

M
3

H
4

M
4

H
5

M
5

H
6

M
6

H
7

M
7

H
8

M
8

10
9
8
7
6
5
4
3
2
1









t
t
t
t
t
t
t
t
t
t
10
,
1
9
,
1
8
,
1
7
,
1
6
,
1
5
,
1
4
,
1
3
,
1
2
,
1
1
,
1










c
c
c
c
c
c
c
c
c
c
10
,
2
9
,
2
8
,
2
7
,
2
6
,
2
5
,
2
4
,
2
3
,
2
2
,
2
1
,
2









c
c
c
c
c
c
c
c
c
c
10
,
3
9
,
3
8
,
3
7
,
3
6
,
3
5
,
3
4
,
3
3
,
3
2
,
3
1
,
3









c
c
c
c
c
c
c
c
c
c
10
,
4
9
,
4
8
,
4
7
,
4
6
,
4
5
,
4
4
,
4
3
,
4
2
,
4
1
,
4









c
c
c
c
c
c
c
c
c
c
10
,
5
9
,
5
8
,
5
7
,
5
6
,
5
5
,
5
4
,
5
3
,
5
2
,
5
1
,
5









c
c
c
c
c
c
c
c
c
c
10
,
6
9
,
6
8
,
6
7
,
6
6
,
6
5
,
6
4
,
6
3
,
6
2
,
6
1
,
6









c
c
c
c
c
c
c
c
c
c








8
,
7
7
,
7
6
,
7
5
,
7
4
,
7
3
,
7
2
,
7
1
,
7
c
c
c
c
c
c
c
c
10
,
8
9
,
8
8
,
8
7
,
8
6
,
8
5
,
8
4
,
8
3
,
8
2
,
8
1
,
8









c
c
c
c
c
c
c
c
c
c
LMC

Current time unit


ESP

Area 3

H
9

M
9

10
,
9
9
,
9
8
,
9
7
,
9
6
,
9
5
,
9
4
,
9






c
c
c
c
c
c
c
H
1

M
1

15

L = 4

Main Idea


Encrypt meter readings:




Let ESP know






p
r
d
c
j
i
j
i
j
i
mod
,
,
,




16

4
,
1
3
,
1
2
,
1
1
,
1
4
,
1
3
,
1
2
,
1
1
,
1
4
,
1
3
,
1
2
,
1
1
,
1
mod
))
(
(
d
d
d
d
p
r
r
r
r
c
c
c
c











Power consumption of Meter 1 during t
1

to t
4

p
r
r
r
r
mod
4
,
1
3
,
1
2
,
1
1
,
1



Main Idea


Encrypt meter readings:




Service providers interact with meters


ESP queries
a meter
for
a sum of

random numbers

spanning over
aL

time units (horizontal block)



LMC queries
a set of meters
for
noised

random numbers

at a time unit in current time window W (vertical block)

p
r
d
c
j
i
j
i
j
i
mod
,
,
,




A meter has to remember all used random numbers

17

Arranging Random Numbers of a Meter


TPM generates random numbers


Driver computes random numbers

p
r
R
L
j
j
k
k
i
j
i
mod
1
,
,





1
,
1
r
2
,
1
r
1
,
1

L
r
L
r
,
1
1
,
1

L
r
2
,
1

L
r
1
,
1
R
2
,
1
R
3
,
1
R






3
,
1
r
18

L FIFO memory slots

Construction


System parameter: A large number p


Meter Initialization


Pseudorandom number generator g


Hash functions h and h’



Seed
s
i

Master key
k
i

=h’(
s
i
||
SN
i
)

M
i

SN
i

L FIFO memory slots

g(k
i
,t
1
)

g(k
i
,t
2
)

g(k
i
,t
L
-
1
)

p
r
R
r
L
k
k
i
i
L
i
mod
1
1
,
1
,
,





))
||
...
||
(
,
(
2
1
1
,
L
i
i
t
t
t
h
k
g
R

19

Storage of meter readings


At time unit
t
j


Encrypt current reading
d

by using current
r

and store
c




Generate a new
R
:


Compute a new
r

from
R

and store it in a memory slot

r
i,j

r
i,j+1

r
i,j+L
-
2

p
r
d
c
j
i
j
i
j
i
mod
,
,
,


p
r
R
r
L
j
j
k
k
i
j
i
L
j
i
mod
1
1
,
1
,
,









p
r
d
c
j
i
j
i
j
i
mod
,
,
,


r
i,j+L

r
i,j+L
-
1

))
||
...
||
(
,
(
2
1
1
,
L
j
j
j
i
j
i
t
t
t
h
k
g
R





r
i,j+L
-
2

r
i,j+L
-
1

r
i,j+1

20

Supporting Automatic Billing


ESP accesses the storage system






ESP queries M
i
for
L

continuous time units



M
i
returns
R
i,j

where



ESP computes the power consumption





ESP can query
aL

continuous time units for any integer a>0


Area 1

10
9
8
7
6
5
4
3
2
1









t
t
t
t
t
t
t
t
t
t
10
,
1
9
,
1
8
,
1
7
,
1
6
,
1
5
,
1
4
,
1
3
,
1
2
,
1
1
,
1










c
c
c
c
c
c
c
c
c
c
H
1

M
1

1
1
,...,
,



L
j
j
j
t
t
t
))
||
...
||
||
(
,
(
1
1
,




L
j
j
j
i
j
i
t
t
t
h
k
g
R
p
d
d
d
p
R
c
c
c
L
j
i
j
i
j
i
j
i
L
j
i
j
i
j
i
mod
)
...
(
mod
)
...
(
1
,
1
,
,
,
1
,
1
,
,












21

Privacy Requirement


We consider honest
-
but
-
curious ESP


ESP cannot get individual meter readings of a household



We prove that

ESP cannot distinguish two sets of meter readings which
have the same sum



The proof relies on pseudorandom number generator g

22

Supporting Load Monitoring


LMC accesses the storage system


W

is the current time window containing L time units


LMC queries meters in an area for data in
time unit
t
j

in W





A meter cannot directly return the random number r

23

Supporting Load Monitoring


A meter returns [random number + noise]


Normal distribution


Select a random noise according to


Read the random number from the FIFO memory slot


Compute





LMC computes [meter reading


noise]




)
,
0
(
2

N
j
i
n
,
)
,
0
(
2

N
random number + noise



p
p
n
r
r
j
i
j
i
j
i
mod
)
(
~
,
,
,



Prevent overflowing



)
)
mod
~
(
~
,
,
,
p
p
r
c
d
j
i
j
i
j
i







p
p
p
n
d
j
i
j
i




)
mod
(
,
,
j
i
j
i
n
d
,
,


24

Correctness & Privacy


LMC gets an
approximate

sum of
m
meter readings


Real sum


Define error ratio







By
Chebyshev

inequality




LMC gets only an approximate value


S
~
d
m
d
S
i
j
i
ˆ
,



S
S
S
/
|
~
|



2
2
2
ˆ
1
]
|
~
Pr[|
]
Pr[





d
m
S
S
S






Average of meter reading per time unit




i
j
i
n
S
S
,
~
)
,
0
(
2

m
N
Tradeoff : correctness and privacy

A smaller

a better approximate


2
,
,
,
4
1
2
1
]
0
Pr[
]
~
Pr[






j
i
j
i
j
i
n
d
d
25

Performance Analysis





|p|=64, a time unit is 5 min



Commercial TPM chip


1024
-
bit RSA signature: 100ms


Assumption


1024
-
bit random number generation:100ms


64
-
bit random number is about 7ms


64
-
bit modular addition: 7ms

Computation can be
done in a time unit

26

Summary


Design a smart metering system


Using external storage service


Supporting privacy preserving billing & load monitoring


W/O a trusted third party and heavy crypto
-
operation

27

Future Work


Consider integrity of meter readings


Evaluate performance by prototype systems


Eliminate interactions between meters & providers


Consider a bidirectional smart meter model

28