Important!
Download and extract the smartgrid examples.A smart grid is an energy network where every node potentially produces, stores and consumes energy. Such nodes are called prosumers, which is the contraction of producer and consumer. To stabilize the grid, the prosumers periodically negotiate with an aggregator in charge of balancing the consumption and production among several prosumers.
The consumption of an entity (household or factory) in a smart grid may reveal sensitive information. For instance, the consumption of an household may allow a burglar to know whether the house is occupied or not. The consumption of a factory may allow a concurrent to know how much this factory is producing.
We propose two examples:
- A prosumer tries to guess the consumption of another.
- A prosumer tries to guess whether a given house is occupied.
Analysis of consumption leakage
Important!
This part concerns theĀ smartgrid_guess_consumption.quail file.Each prosumer declares how much it intends to contribute during the period of time. With this information, the aggregator computes the sum of all contributions and checks whether the grid can support it. If this sum exceeds what the grid can support, the excess is sent back to each prosumer. An excess of 0 indicates that the solution is feasible.
In this setting, the attacker is a honest-but-curious prosumer trying to guess the consumption of another prosumer. The leakage is computed over one iteration of the protocol, that is one exchange of plan/excess. The attacker can observe its own plan and the excess value returned by the aggregator. The secret is the consumption of another prosumer.
Note that the contribution of a prosumer is the sum of its local consumption, production and battery usage. Therefore, the consumption seen form the grid of a given prosumer may differ from its local consumption because it produces energy or loads its battery.
With the values specified in the file, the consumption has 4 possible values (2 bits of secret) and the leakage is 0.0491.
Analysis of presence leakage
Important!
This part concerns the smartgrid_guess_presence.quail file.In this setting, we assume a set of households of different sizes and thus with different consumptions. The secret is a boolean representing whether a given house is occupied or not. If the house is occupied, it consumes a given amount of energy that depends on its size (1 for small, 3 for medium, 5 for large). Otherwise it does not consume anything.
The attacker tries to guess whether the house is occupied by observing the sum of the consumption of all the houses. The leakage of the presence bit for different types of houses is presented below. For a model with houses, there are houses of each size.
Number of houses |
Size of the attacked house | ||
---|---|---|---|
Small | Medium | Large | |
3 | 1,00000 | 1,00000 | 1,00000$ |
6 | 0,19658 | 0,19658 | 0,36876 |
9 | 0,02413 | 0,08089 | 0,20626 |
12 | 0,00749 | 0,05103 | 0,14432 |