Synthesizing Grid Data with Cyber Resilience and Privacy Guarantees

Shengyang Wu and Vladimir Dvorkin Shengyang Wu ([email protected]) and Vladimir Dvorkin ([email protected]) are with the Department of Electrical Engineering and Computer Science, University of Michigan, MI 48109, USA.
Abstract

Differential privacy (DP) provides a principled approach to synthesizing data (e.g., loads) from real-world power systems while limiting the exposure of sensitive information. However, adversaries may exploit synthetic data to calibrate cyberattacks on the source grids. To control these risks, we propose new DP algorithms for synthesizing data that provide the source grids with both cyber resilience and privacy guarantees. The algorithms incorporate both normal operation and attack optimization models to balance the fidelity of synthesized data and cyber resilience. The resulting post-processing optimization is reformulated as a robust optimization problem, which is compatible with the exponential mechanism of DP to moderate its computational burden.

I Introduction

Optimal power flow (OPF) analysis in power systems requires realistic grid models with accurate network, generation, and load parameters—data that is difficult to source from real-world grids due to privacy and (cyber-)security concerns. While the lack of such models has inspired the development of artificial grids [1, 2], a more principled approach leverages the theory of differential privacy (DP) [3] to release grid models directly from real-world systems.

The DP theory asserts that it is impossible—up to prescribed privacy parameters—to infer the original parameters from their DP release. Such strong privacy guarantees originate from Laplacian perturbations [4] of real grid parameters, followed by post-processing optimization of the perturbed parameters to restore their modeling fidelity to the source grid, e.g., in terms of similarity of the OPF outcomes [5, 6, 7]. The DP theory also lies at the core of modern privacy-preserving OPF solvers [8, 9, 10], the release of aggregated grid statistics [11], and related grid information [12].

However, the privacy guarantees alone may not suffice to release grid parameters, as cybersecurity risks associated with such releases remain largely unexplored. Possible cyber attacks include false data injection, which subtly alters state estimation results [13], line outage masking, which disconnects a transmission line and misguides a control center to seek outage elsewhere [14], and load redistribution, which manipulates demand measurements to increase OPF cost and constraint violation [15]. The latter is of main interest to this work. Executing such attacks requires some grid knowledge [16], which is traditionally difficult to obtain. However, the availability of synthetic grid data may unintentionally inform adversaries and help them calibrate the attack.

Contribution: Recognizing the risks that synthetic grid parameters may inform cyber adversaries, we develop new DP algorithms that simultaneously guarantee cyber resilience and privacy for the source power grids. Our algorithms build on [5, 6, 7] and leverage the Laplace mechanism and post-processing optimization to tune synthetic data while anticipating cyber risks through embedded attack optimization.

The contributions of this paper are summarized as follows:

  1. 1.

    We formulate a Cyber Resilient Obfuscation (CRO) algorithm, an optimization-based algorithm to release electric load data with a guarantee to preserve the privacy of the original data and ensure the resilience of the source grid to load redistribution attacks. The algorithm post-processes synthetic loads by balancing their fidelity with the potential damage to the grid.

  2. 2.

    The underlying post-processing optimization is an intractable trilevel problem, which is reduced to a tractable yet more conservative bilevel problem. We achieve this by exploring the connections between robust and bilevel optimization, in the spirit of [17].

  3. 3.

    To further improve computational tractability of the algorithm, we provide the extension of CRO, termed CRO-Exp, which uses the exponential mechanism of DP to identify only the most important constraints for post-processing optimization of synthetic loads.

We next provide preliminaries on OPF and DP theory. Sec. III explains the risks of cyberattacks, and Sec. IV introduces the algorithms to mitigate them. Sec. V presents simulations, and Sec. VI concludes. Proofs are relegated to the appendix.

Notation: lower- (upper-) case boldface letters denote column vectors (matrices). Scalar aisubscript𝑎𝑖a_{i}italic_a start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the ithsuperscript𝑖thi^{\text{th}}italic_i start_POSTSUPERSCRIPT th end_POSTSUPERSCRIPT element of vector 𝐚𝐚\mathbf{a}bold_a. Vectors 𝟎0\mathbf{0}bold_0 and 𝟏1\mathbf{1}bold_1 are the all-zero and all-one vectors; top\top stands for transposition, and 𝐱superscript𝐱\mathbf{x}^{\star}bold_x start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT is the optimal value of 𝐱𝐱\mathbf{x}bold_x.

II Preliminaries

II-A DC Optimal Power Flow (OPF) Problem

For a given load vector 𝐝𝐝\mathbf{d}bold_d, the DC OPF problem seeks the least-cost generation dispatch in high-voltage grids that satisfies the loads and grid limits. Consider OPF as a parametric linear program:

Copf(𝐝)=minimize𝐩,𝐯𝟎subscript𝐶opf𝐝𝐩𝐯0minimize\displaystyle C_{\text{opf}}(\mathbf{d})=\underset{{\mathbf{p},\mathbf{v}% \geqslant\mathbf{0}}}{\text{minimize}}\quaditalic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( bold_d ) = start_UNDERACCENT bold_p , bold_v ⩾ bold_0 end_UNDERACCENT start_ARG minimize end_ARG 𝐪𝐩+𝝍𝐯superscript𝐪top𝐩superscript𝝍top𝐯\displaystyle\mathbf{q}^{\top}\mathbf{p}+\bm{\psi}^{\top}\mathbf{v}bold_q start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_p + bold_italic_ψ start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_v (1a)
subject to 𝐩¯𝐩𝐩¯¯𝐩𝐩¯𝐩\displaystyle{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{0,0,0% }\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\underline{\mathbf{p}}}% \leqslant\mathbf{p}\leqslant\overline{\mathbf{p}}under¯ start_ARG bold_p end_ARG ⩽ bold_p ⩽ over¯ start_ARG bold_p end_ARG (1b)
𝟏(𝐩𝐝)=0superscript1top𝐩𝐝0\displaystyle\bm{1}^{\top}(\mathbf{p}-\mathbf{d})=0bold_1 start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_p - bold_d ) = 0 (1c)
|𝐅(𝐩𝐝)|𝐟¯+𝐯𝐅𝐩𝐝¯𝐟𝐯\displaystyle|\mathbf{F}(\mathbf{p}-\mathbf{d})|\leqslant\overline{\mathbf{f}}% +\mathbf{v}| bold_F ( bold_p - bold_d ) | ⩽ over¯ start_ARG bold_f end_ARG + bold_v (1d)

where decision variables include generator dispatch 𝐩𝐩\mathbf{p}bold_p, bounded by dispatch range [𝐩¯,𝐩¯]¯𝐩¯𝐩[\underline{\mathbf{p}},\overline{\mathbf{p}}][ under¯ start_ARG bold_p end_ARG , over¯ start_ARG bold_p end_ARG ], and power flow constraint violations 𝐯𝐯\mathbf{v}bold_v, penalized by 𝝍𝝍\bm{\psi}bold_italic_ψ. The matrix 𝐅𝐅\mathbf{F}bold_F of power transfer distribution factors is used to map net power injections (𝐩𝐝)𝐩𝐝(\mathbf{p}-\mathbf{d})( bold_p - bold_d ) to power flows as 𝐅(𝐩𝐝)𝐅𝐩𝐝\mathbf{F}(\mathbf{p}-\mathbf{d})bold_F ( bold_p - bold_d ). Constraint (1c) defines system-wide power balance between dispatched generation and loads. The power flows in transmission lines are capped by line capacity 𝐟¯¯𝐟\overline{\mathbf{f}}over¯ start_ARG bold_f end_ARG using constraint (1d). In highly loaded condition, these constraints can be temporally violated by 𝐯𝟎𝐯0\mathbf{v}\geqslant\mathbf{0}bold_v ⩾ bold_0. As transmission constraint violations are not desired, they are penalized with a large parameter |𝝍||𝐪|much-greater-than𝝍𝐪|\bm{\psi}|\gg|{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{% 0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}\mathbf{q}}|| bold_italic_ψ | ≫ | bold_q |.

We write the linear OPF problem (1) in a compact form

Copf(𝐝)=minimize𝐱subscript𝐶opf𝐝𝐱minimize\displaystyle C_{\text{opf}}(\mathbf{d})=\underset{{\mathbf{x}}}{\text{% minimize}}\quaditalic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( bold_d ) = underbold_x start_ARG minimize end_ARG 𝐜𝐱superscript𝐜top𝐱\displaystyle\mathbf{c}^{\top}\mathbf{x}bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x (2a)
subject to 𝐚k𝐱+𝐛k𝐝+ek𝟎,superscriptsubscript𝐚𝑘top𝐱superscriptsubscript𝐛𝑘top𝐝subscript𝑒𝑘0\displaystyle\mathbf{a}_{k}^{\top}\mathbf{x}+\mathbf{b}_{k}^{\top}\mathbf{d}+e% _{k}\leqslant\mathbf{0},bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x + bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_d + italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩽ bold_0 ,
k=1,,K,for-all𝑘1𝐾\displaystyle\quad\quad\quad\!\;\forall k=1,\dots,K,∀ italic_k = 1 , … , italic_K , (2b)

where 𝐱=[𝐩𝐯]𝐱superscriptdelimited-[]superscript𝐩topsuperscript𝐯toptop\mathbf{x}=[\mathbf{p}^{\top}\;\mathbf{v}^{\top}]^{\top}bold_x = [ bold_p start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_v start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT, 𝐜=[𝐪𝝍]𝐜superscriptdelimited-[]superscript𝐪topsuperscript𝝍toptop\mathbf{c}=[\mathbf{q}^{\top}\;\bm{\psi}^{\top}]^{\top}bold_c = [ bold_q start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_ψ start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ] start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT. The K𝐾Kitalic_K inequalities in (2b) encode the dispatch constraints (1b), power flow constraints (1c) and (1d) using properly specified parameters 𝐚1,𝐛1,e1,,𝐚K,𝐛K,eKsubscript𝐚1subscript𝐛1subscript𝑒1subscript𝐚𝐾subscript𝐛𝐾subscript𝑒𝐾\mathbf{a}_{1},\mathbf{b}_{1},e_{1},\dots,\mathbf{a}_{K},\mathbf{b}_{K},e_{K}bold_a start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , bold_b start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , … , bold_a start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT , bold_b start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT.

II-B Differential Privacy for Synthetic OPF Datasets

Optimization parameters in problem (2) are either classified or owned by private system actors, and thus can not be directly disclosed to public. Our goal is thus to synthesize some realistic version of these parameters. In this work, we focus on the obfuscation of demand vector 𝐝𝐝\mathbf{d}bold_d. This is without much loss of generality, because other parameters, such as transmission data in 𝐚ksubscript𝐚𝑘\mathbf{a}_{k}bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, 𝐛ksubscript𝐛𝑘\mathbf{b}_{k}bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT and eksubscript𝑒𝑘e_{k}italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT, can be synthesized similarly; see the state-of-the-art obfuscation algorithms [5, 6, 7]. Towards this goal, we leverage DP to render the original vector 𝐝𝐝\mathbf{d}bold_d statistically indistinguishable from its synthetic counterpart 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG, up to some prescribed parameters: α𝛼\alphaitalic_α, termed the adjacency parameter, and ε𝜀\varepsilonitalic_ε, termed the privacy loss [3].

Definition 1 (Adjacency).

Two vectors 𝐝,𝐝𝒟n𝐝superscript𝐝𝒟superscript𝑛\mathbf{d},\mathbf{d}^{\prime}\in\mathcal{D}\subset\mathbb{R}^{n}bold_d , bold_d start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_D ⊂ blackboard_R start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT are αlimit-from𝛼\alpha-italic_α -adjacent, for some α>0𝛼0\alpha>0italic_α > 0, if i{1,,n\exists i\in\{1,\dots,n∃ italic_i ∈ { 1 , … , italic_n}, such that dj=dj,j{1,,n}\iformulae-sequencesubscript𝑑𝑗superscriptsubscript𝑑𝑗for-all𝑗\1𝑛𝑖d_{j}=d_{j}^{\prime},\forall j\in\{1,\dots,n\}\backslash iitalic_d start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT = italic_d start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT , ∀ italic_j ∈ { 1 , … , italic_n } \ italic_i, and |didi|αsubscript𝑑𝑖superscriptsubscript𝑑𝑖𝛼|d_{i}-d_{i}^{\prime}|\leqslant\alpha| italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT - italic_d start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT | ⩽ italic_α. That is, they are different in one item by at most α𝛼\alphaitalic_α. \triangleleft

To synthesize a DP version 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG of 𝐝𝐝\mathbf{d}bold_d, the standard Laplace mechanism applies a random noise to the original data, i.e., 𝐝~=𝐝+Lap(αε)n~𝐝𝐝Lapsuperscript𝛼𝜀𝑛\tilde{\mathbf{d}}=\mathbf{d}+\text{Lap}(\frac{\alpha}{\varepsilon})^{n}over~ start_ARG bold_d end_ARG = bold_d + Lap ( divide start_ARG italic_α end_ARG start_ARG italic_ε end_ARG ) start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, where Lap(s)nLapsuperscript𝑠𝑛\text{Lap}(s)^{n}Lap ( italic_s ) start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT is a random draw from the nlimit-from𝑛n-italic_n -dimensional Laplace distribution with zero mean and diagonal covariance matrix with each diagonal element equal 2s22superscript𝑠22s^{2}2 italic_s start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT [6]. The mechanism guarantees that if the attacker’s prior for any load is within the ±αplus-or-minus𝛼\pm\alpha± italic_α MW range of the true value, it will not be improved by the DP release. If the prior is outside this range, the prior knowledge will be improved (thus enhancing grid transparency), but the exact loads will not be disclosed. In other words, the mechanism satisfies the following definition of εlimit-from𝜀\varepsilon-italic_ε -DP.

Definition 2 (εlimit-from𝜀\varepsilon-italic_ε -DP).

The Laplace mechanism above, with domain 𝒟𝒟\mathcal{D}caligraphic_D and output range 𝒪𝒪\mathcal{O}caligraphic_O, is called εlimit-from𝜀\varepsilon-italic_ε -DP if, for any outcome within 𝒪^𝒪^𝒪𝒪\hat{\mathcal{O}}\subseteq\mathcal{O}over^ start_ARG caligraphic_O end_ARG ⊆ caligraphic_O and any two αlimit-from𝛼\alpha-italic_α -adjacent load vectors 𝐝𝐝\mathbf{d}bold_d and 𝐝superscript𝐝\mathbf{d}^{\prime}bold_d start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT, the ratio of probabilities is bounded as

Pr[𝐝+Lap(αε)n𝒪^]Pr[𝐝+Lap(αε)n𝒪^]exp(ε).Prdelimited-[]superscript𝐝Lapsuperscript𝛼𝜀𝑛^𝒪Prdelimited-[]superscript𝐝Lapsuperscript𝛼𝜀𝑛^𝒪exp𝜀\displaystyle\frac{\text{Pr}[\mathbf{d}{\color[rgb]{1,1,1}\definecolor[named]{% pgfstrokecolor}{rgb}{1,1,1}\pgfsys@color@gray@stroke{1}\pgfsys@color@gray@fill% {1}^{\prime}}+\text{Lap}(\frac{\alpha}{\varepsilon})^{n}\in\hat{\mathcal{O}}]}% {\text{Pr}[\mathbf{d}^{\prime}+\text{Lap}(\frac{\alpha}{\varepsilon})^{n}\in% \hat{\mathcal{O}}]}\leqslant\text{exp}(\varepsilon).divide start_ARG Pr [ bold_d start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + Lap ( divide start_ARG italic_α end_ARG start_ARG italic_ε end_ARG ) start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ∈ over^ start_ARG caligraphic_O end_ARG ] end_ARG start_ARG Pr [ bold_d start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT + Lap ( divide start_ARG italic_α end_ARG start_ARG italic_ε end_ARG ) start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT ∈ over^ start_ARG caligraphic_O end_ARG ] end_ARG ⩽ exp ( italic_ε ) . (3)

where ε𝜀\varepsilonitalic_ε is a prescribed non-negative parameter. \triangleleft

Intuitively, a smaller privacy loss ε𝜀\varepsilonitalic_ε results in more noise applied to data and higher requirement for distribution similarity, which would make it more likely to observe the same random outcome. However, the Laplace mechanism alone is likely to produce such load vector 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG that does not admit a feasible OPF solution, i.e., Copf(𝐝~)=.subscript𝐶opf~𝐝C_{\text{opf}}(\tilde{\mathbf{d}})=\varnothing.italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) = ∅ . The prior work introduced the following two-stage solution:

  1. 1.

    Laplace mechanism 𝐝~0=𝐝+Lap(2αε)nsuperscript~𝐝0𝐝Lapsuperscript2𝛼𝜀𝑛\tilde{\mathbf{d}}^{0}=\mathbf{d}+\text{Lap}\left(\!\frac{2\alpha}{\varepsilon% }\!\right)^{n}over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = bold_d + Lap ( divide start_ARG 2 italic_α end_ARG start_ARG italic_ε end_ARG ) start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT, followed by

  2. 2.

    Post-processing of 𝐝~0superscript~𝐝0\tilde{\mathbf{d}}^{0}over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT using a bilevel optimization:

minimize𝐝~~𝐝minimize\displaystyle\underset{{\tilde{\mathbf{d}}}}{\text{minimize}}\;\;start_UNDERACCENT over~ start_ARG bold_d end_ARG end_UNDERACCENT start_ARG minimize end_ARG Copf(𝐝~)C~opf1+γ𝐝~𝐝~01subscriptdelimited-∥∥subscript𝐶opf~𝐝subscript~𝐶opf1𝛾subscriptdelimited-∥∥~𝐝superscript~𝐝01\displaystyle\lVert C_{\text{opf}}(\tilde{\mathbf{d}})-\tilde{C}_{\text{opf}}% \rVert_{1}+\gamma\lVert\tilde{\mathbf{d}}-\tilde{\mathbf{d}}^{0}\rVert_{1}∥ italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) - over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_γ ∥ over~ start_ARG bold_d end_ARG - over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (4)

where the OPF costs Copf(𝐝~)subscript𝐶opf~𝐝C_{\text{opf}}(\tilde{\mathbf{d}})italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) comes from the embedded optimization problem (2) formulated on synthetic load vector 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG, and C~opf=Copf(𝐝)+Lap(2c¯ε)subscript~𝐶opfsubscript𝐶opf𝐝Lap2¯𝑐𝜀\tilde{C}_{\text{opf}}=C_{\text{opf}}(\mathbf{d})+\text{Lap}(\frac{2\overline{% c}}{\varepsilon})over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( bold_d ) + Lap ( divide start_ARG 2 over¯ start_ARG italic_c end_ARG end_ARG start_ARG italic_ε end_ARG ) computes a DP estimate of OPF costs on true data with c¯¯𝑐\overline{c}over¯ start_ARG italic_c end_ARG being the cost of the most expensive generator. The synthetic vector 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG is optimized using feedback from the embedded OPF problem, which constraints 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG to take only those values that admit a feasible OPF solution. The main objective of (4) is to match the OPF cost on synthetic load vector with that on the original load vector, thereby ensuring high modeling fidelity of the synthetic data. The second term in (4) is a regularization term with some small hyper-parameter γ>0𝛾0\gamma>0italic_γ > 0 to choose the optimal solution that is closest to the original load after DP obfuscation 𝐝0~~superscript𝐝0\tilde{\mathbf{d}^{0}}over~ start_ARG bold_d start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT end_ARG. Solution to (4) is the feasible and cost-consistent synthetic counterpart 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG, which ensures εlimit-from𝜀\varepsilon-italic_ε -DP guarantee for the original load vector 𝐝𝐝\mathbf{d}bold_d [7].

One barrier to releasing synthetic OPF parameters is the risk posed by cyber adversaries who might exploit them to disrupt grid operations. Next, we substantiate these risks.

III Cyber Resilience Risks in Releasing Differentially Private OPF Datasets

Although synthetic OPF datasets contribute to overall grid transparency and enable independent power flow analysis, they can also be misused by cyber adversaries launching attacks on the grid. One class of attacks, which is of interest to this work, is load redistribution attacks. In terms of OPF problem (2), the adversary optimizes an attack vector 𝜹𝜹\bm{\delta}bold_italic_δ that alters loads in 𝐝𝐝\mathbf{d}bold_d to increase either the dispatch cost or the magnitude of power flow constraint violations.

According to [15], the optimal attack vector is found by solving the following bilevel optimization (BO) problem:

CattBO(𝐝)=maximize𝜹ΔCopf(𝐝+𝜹)superscriptsubscript𝐶attBO𝐝𝜹Δmaximizesubscript𝐶opf𝐝𝜹\displaystyle C_{\text{att}}^{\text{BO}}(\mathbf{d})=\underset{{\bm{\delta}\in% \Delta}}{\text{maximize}}\;C_{\text{opf}}(\mathbf{d}+\bm{\delta})italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT ( bold_d ) = start_UNDERACCENT bold_italic_δ ∈ roman_Δ end_UNDERACCENT start_ARG maximize end_ARG italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( bold_d + bold_italic_δ ) (5a)
where the OPF costs Copf(𝐝+𝜹)subscript𝐶opf𝐝𝜹C_{\text{opf}}(\mathbf{d}+\bm{\delta})italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( bold_d + bold_italic_δ ) comes from the embedded optimization problem (2) formulated on load vector after attack 𝐝+𝜹𝐝𝜹\mathbf{d}+\bm{\delta}bold_d + bold_italic_δ. The attack vector is constrained by the set of admissible attacks
ΔΔ\displaystyle\Deltaroman_Δ {𝜹|𝜹¯𝜹𝜹¯𝟏𝜹=0}\displaystyle\triangleq\left\{\bm{\delta}\;\bigg{|}\begin{array}[]{l}% \underline{\bm{\delta}}\leqslant\bm{\delta}\leqslant\overline{\bm{\delta}}\\ \bm{1}^{\top}\bm{\delta}=0\end{array}\right\}≜ { bold_italic_δ | start_ARRAY start_ROW start_CELL under¯ start_ARG bold_italic_δ end_ARG ⩽ bold_italic_δ ⩽ over¯ start_ARG bold_italic_δ end_ARG end_CELL end_ROW start_ROW start_CELL bold_1 start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_δ = 0 end_CELL end_ROW end_ARRAY } (5d)

where 𝜹¯¯𝜹\overline{\bm{\delta}}over¯ start_ARG bold_italic_δ end_ARG and 𝜹¯¯𝜹\underline{\bm{\delta}}under¯ start_ARG bold_italic_δ end_ARG are limits on attack magnitude, and 𝟏𝜹=0superscript1top𝜹0\bm{1}^{\top}\bm{\delta}=0bold_1 start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_δ = 0 ensures that the total system loading remains unchanged after the attack, thus ensuring the stealthiness of the attack.

While the actual load vector 𝐝𝐝\mathbf{d}bold_d is not revealed to public, the adversary may leverage its DP release 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG to calibrate the attack. Our experiments in Sec. V reveal that the vector computed on 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG leads to a substantial increase of OPF costs across standard power systems benchmarks (see Tab. I).

IV Cyber Resilience and Privacy Guarantees for Synthetic OPF Datasets

Recognizing the risks of misusing synthetic datasets, we revisit the post-processing to enhance the cyber resilience of source grids. Instead of (4), we propose the following upper-level objective for the post-processing optimization:

minimize𝐝~Copf(𝐝~)C~opf1~𝐝minimizesubscriptdelimited-∥∥subscript𝐶opf~𝐝subscript~𝐶opf1\displaystyle\underset{{\tilde{\mathbf{d}}}}{\text{minimize}}\quad\lVert C_{% \text{opf}}(\tilde{\mathbf{d}})-\tilde{C}_{\text{opf}}\rVert_{1}start_UNDERACCENT over~ start_ARG bold_d end_ARG end_UNDERACCENT start_ARG minimize end_ARG ∥ italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) - over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT +βCattBO(𝐝~)C~opf1𝛽subscriptdelimited-∥∥superscriptsubscript𝐶attBO~𝐝subscript~𝐶opf1\displaystyle+\beta\lVert C_{\text{att}}^{\text{BO}}(\tilde{\mathbf{d}})-% \tilde{C}_{\text{opf}}\rVert_{1}+ italic_β ∥ italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ) - over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT
+γ𝐝~𝐝~01𝛾subscriptdelimited-∥∥~𝐝superscript~𝐝01\displaystyle\quad{\color[rgb]{0,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{% 0,0,0}\pgfsys@color@gray@stroke{0}\pgfsys@color@gray@fill{0}+\gamma\lVert% \tilde{\mathbf{d}}-\tilde{\mathbf{d}}^{0}\rVert_{1}}+ italic_γ ∥ over~ start_ARG bold_d end_ARG - over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (6)

where the first term controls the fidelity of the synthetic data, the second term measures the damage under attack calibrated on the synthetic data, and the third term regularizes the demand vector. For a small penalty γ𝛾\gammaitalic_γ, this objective represents a trade-off between the fidelity of synthetic grid parameters and resilience of the grid to redistribution attacks, which can be explored by varying parameter β>0.𝛽0\beta>0.italic_β > 0 . The embedded optimization CattBO(𝐝~)superscriptsubscript𝐶attBO~𝐝C_{\text{att}}^{\text{BO}}(\tilde{\mathbf{d}})italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ) includes the real grid data except for the load vector, thus modeling the worst-case attack when only the loads are unknown to adversaries.

The challenge is that (IV) requires solving a trilevel optimization problem, where the synthetic data is optimized over embedded BO attack model CattBO(𝐝~)superscriptsubscript𝐶attBO~𝐝C_{\text{att}}^{\text{BO}}(\tilde{\mathbf{d}})italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ). Inspired by [17], we seek computational tractability by exploring the connection between the bilevel model of attack and robust optimization.

IV-A Computational Tractability via Robust Optimization (RO)

The conservative RO approximation of (5) is

CattRO(𝐝)=superscriptsubscript𝐶attRO𝐝absent\displaystyle C_{\text{att}}^{\text{RO}}(\mathbf{d})=italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( bold_d ) = minimize𝐱𝐜𝐱𝐱minimizesuperscript𝐜top𝐱\displaystyle\;\underset{{\mathbf{x}}}{\text{minimize}}\;\;\mathbf{c}^{\top}% \mathbf{x}underbold_x start_ARG minimize end_ARG bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x (7a)
subject to max𝜹𝒌𝚫[𝐚k𝐱+𝐛k(𝐝+𝜹k)+ek]𝟎,k,subscript𝜹𝒌𝚫delimited-[]superscriptsubscript𝐚𝑘top𝐱superscriptsubscript𝐛𝑘top𝐝subscript𝜹𝑘subscript𝑒𝑘0for-all𝑘\displaystyle\underset{\bm{\delta_{k}\in\Delta}}{\max}\left[\mathbf{a}_{k}^{% \top}\mathbf{x}+\mathbf{b}_{k}^{\top}(\mathbf{d}+\bm{\delta}_{k})+e_{k}\right]% \leqslant\mathbf{0},\forall k,\!\!\!start_UNDERACCENT bold_italic_δ start_POSTSUBSCRIPT bold_italic_k end_POSTSUBSCRIPT bold_∈ bold_Δ end_UNDERACCENT start_ARG roman_max end_ARG [ bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x + bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_d + bold_italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) + italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ] ⩽ bold_0 , ∀ italic_k , (7b)

where each constraint k𝑘kitalic_k is formulated for the worst-case realization of the attack vector from the set of admissible attacks. In contrast to bilevel formulation (5), the RO attack generates a worst-case attack vector for each constraint. The following result shows that the RO attack provides an upper-bound on the BO attack.

Proposition 3 (Conservative attack approximation).

For any feasible load vector 𝐝𝐝\mathbf{d}bold_d, relation CattRO(𝐝)CattBO(𝐝)superscriptsubscript𝐶attRO𝐝superscriptsubscript𝐶attBO𝐝C_{\text{att}}^{\text{RO}}(\mathbf{d})\geqslant C_{\text{att}}^{\text{BO}}(% \mathbf{d})italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( bold_d ) ⩾ italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT ( bold_d ) holds. \triangleleft

Although conservative, formulation (7) is computationally advantageous over (5) as it admits a linear programming reformulation via duality [18, §2.2] (see the link to online repository below for details). Let 𝝁¯¯𝝁\underline{\bm{\mu}}under¯ start_ARG bold_italic_μ end_ARG and 𝝁¯¯𝝁\overline{\bm{\mu}}over¯ start_ARG bold_italic_μ end_ARG be the duals of the first constraints in (5d), and λ𝜆\lambdaitalic_λ be the dual of the last condition in (5d). The exact reformulation of (7) is

CattRO(𝐝)=minimize𝐱,𝝁¯,𝝁¯,λsuperscriptsubscript𝐶attRO𝐝𝐱¯𝝁¯𝝁𝜆minimize\displaystyle C_{\text{att}}^{\text{RO}}(\mathbf{d})=\;\underset{{\mathbf{x},% \underline{\bm{\mu}},\overline{\bm{\mu}},\lambda}}{\text{minimize}}\;\;\;italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( bold_d ) = start_UNDERACCENT bold_x , under¯ start_ARG bold_italic_μ end_ARG , over¯ start_ARG bold_italic_μ end_ARG , italic_λ end_UNDERACCENT start_ARG minimize end_ARG 𝐜𝐱superscript𝐜top𝐱\displaystyle\mathbf{c}^{\top}\mathbf{x}bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x (8a)
subject to 𝐚k𝐱+𝐛k𝐝superscriptsubscript𝐚𝑘top𝐱superscriptsubscript𝐛𝑘top𝐝\displaystyle\mathbf{a}_{k}^{\top}\mathbf{x}+\mathbf{b}_{k}^{\top}\mathbf{d}bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x + bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_d
+𝝁¯k𝜹¯𝝁¯k𝜹¯+ek𝟎,superscriptsubscript¯𝝁𝑘top¯𝜹superscriptsubscript¯𝝁𝑘top¯𝜹subscript𝑒𝑘0\displaystyle\;+\overline{\bm{\mu}}_{k}^{\top}\overline{\bm{\delta}}-% \underline{\bm{\mu}}_{k}^{\top}\underline{\bm{\delta}}+e_{k}\leqslant\mathbf{0% },\!\!\!+ over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over¯ start_ARG bold_italic_δ end_ARG - under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT under¯ start_ARG bold_italic_δ end_ARG + italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩽ bold_0 , (8b)
𝐛k𝝁¯k+𝝁¯k𝟏λk=𝟎,subscript𝐛𝑘subscript¯𝝁𝑘subscript¯𝝁𝑘1subscript𝜆𝑘0\displaystyle\mathbf{b}_{k}-\overline{\bm{\mu}}_{k}+\underline{\bm{\mu}}_{k}-% \bm{1}\lambda_{k}=\bm{0},bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - bold_1 italic_λ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = bold_0 , (8c)
𝝁¯k,𝝁¯k𝟎,k=1,,K.formulae-sequencesubscript¯𝝁𝑘subscript¯𝝁𝑘0for-all𝑘1𝐾\displaystyle\underline{\bm{\mu}}_{k},\overline{\bm{\mu}}_{k}\geqslant\mathbf{% 0},\forall k=1,\dots,K.under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩾ bold_0 , ∀ italic_k = 1 , … , italic_K . (8d)

Therefore, replacing CattBOsuperscriptsubscript𝐶attBOC_{\text{att}}^{\text{BO}}italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT with CattROsuperscriptsubscript𝐶attROC_{\text{att}}^{\text{RO}}italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT in objective function (IV) gives rise to bilevel post-processing optimization, which can be handled by mixed-integer optimization solvers [7, 6].

Next, we introduce a tractable post-processing algorithm for synthesizing loads with privacy and cyber resilience guarantees. Then, in Sec. IV-C, we modify the algorithm to tune the computational burden of the RO approximation.

IV-B Differentially Private CRO

Input: 𝐝𝐝\mathbf{d}bold_d, (α,ε1,ε2)𝛼subscript𝜀1subscript𝜀2(\alpha,\varepsilon_{1},\varepsilon_{2})( italic_α , italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ), (β,γ,Δ)𝛽𝛾Δ(\beta,\gamma,\Delta)( italic_β , italic_γ , roman_Δ )
1 Initial load obfuscation: 𝐝~0=𝐝+Lap(αε1)nsuperscript~𝐝0𝐝Lapsuperscript𝛼subscript𝜀1𝑛\tilde{\mathbf{d}}^{0}=\mathbf{d}+\text{Lap}\left(\!\frac{\alpha}{\varepsilon_% {1}}\!\right)^{n}over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = bold_d + Lap ( divide start_ARG italic_α end_ARG start_ARG italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT
2 DP estimation of OPF costs: C~opf=Copf(𝐝)+Lap(αc¯ε2)subscript~𝐶opfsubscript𝐶opf𝐝Lap𝛼¯𝑐subscript𝜀2\tilde{C}_{\text{opf}}=C_{\text{opf}}(\mathbf{d})+\text{Lap}\left(\frac{\alpha% \overline{c}}{\varepsilon_{2}}\right)over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( bold_d ) + Lap ( divide start_ARG italic_α over¯ start_ARG italic_c end_ARG end_ARG start_ARG italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG )
3 Post-processing optimization of the synthetic load vector
𝐝~argmin𝐝~~𝐝~𝐝argmin\displaystyle\tilde{\mathbf{d}}\in\underset{\tilde{\mathbf{d}}}{\text{argmin}}\;over~ start_ARG bold_d end_ARG ∈ start_UNDERACCENT over~ start_ARG bold_d end_ARG end_UNDERACCENT start_ARG argmin end_ARG Copf(𝐝~)C~opf1subscriptdelimited-∥∥subscript𝐶opf~𝐝subscript~𝐶opf1\displaystyle\lVert C_{\text{opf}}(\tilde{\mathbf{d}})-\tilde{C}_{\text{opf}}% \rVert_{1}∥ italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) - over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT
+βCattRO(𝐝~)C~opf1+γ𝐝~𝐝~01𝛽subscriptdelimited-∥∥superscriptsubscript𝐶attRO~𝐝subscript~𝐶opf1𝛾subscriptdelimited-∥∥~𝐝superscript~𝐝01\displaystyle\quad+\beta\lVert C_{\text{att}}^{\text{RO}}(\tilde{\mathbf{d}})-% \tilde{C}_{\text{opf}}\rVert_{1}+\gamma\lVert\tilde{\mathbf{d}}-\tilde{\mathbf% {d}}^{0}\rVert_{1}+ italic_β ∥ italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ) - over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_γ ∥ over~ start_ARG bold_d end_ARG - over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (9)
Output: Synthetic load vector 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG
Algorithm 1 Privacy-preserving CRO

The CRO algorithm for privacy-preserving and cyber-resilient synthesis of load parameters is summarized in Alg. 1. It takes as inputs load adjacency and ε𝜀\varepsilonitalic_ε-DP parameters, as well as optimization trade-off, regularization and attack parameters, β𝛽\betaitalic_β, γ𝛾\gammaitalic_γ and ΔΔ\Deltaroman_Δ, respectively. Step 1 initializes the synthetic load vector using the Laplace mechanism with a privacy loss of ε1subscript𝜀1\varepsilon_{1}italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT. Step 2 performs a DP estimation of the OPF costs on real loads using the Laplace mechanism with a privacy loss of ε2subscript𝜀2\varepsilon_{2}italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Following prior work in [7], this step requires the cost c¯¯𝑐\overline{c}over¯ start_ARG italic_c end_ARG of the most expensive generator. Finally, Step 3 post-processes the initial synthetic load by solving the bilevel optimization problem (1) using the conservative RO approximation of the attack. Since Step 3 does not optimize over real loads, it does not introduce any privacy loss. The complete formulation of (1) can be seen in Appendix B.

The resilience of the source grid to load redistribution attacks is controlled by the parameter β𝛽\betaitalic_β and admissible set ΔΔ\Deltaroman_Δ. Naturally, a larger β𝛽\betaitalic_β and a larger set ΔΔ\Deltaroman_Δ lead to greater resilience, but at the expense of the fidelity of the synthesized data. Our experiments in Sec. V will justify for the choices of these parameters. The privacy guarantee for α𝛼\alphaitalic_α-adjacent load vectors is established by the following result.

Theorem 4 (DP of CRO).

Setting ε1=ε2=ε/2subscript𝜀1subscript𝜀2𝜀2\varepsilon_{1}=\varepsilon_{2}=\varepsilon/2italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_ε / 2 renders Alg. 1 εlimit-from𝜀\varepsilon-italic_ε -DP for αlimit-from𝛼\alpha-italic_α -adjacent load vectors. \triangleleft

IV-C Exponential Mechanism to Ease Computational Burden

While the RO approximation (7) leads to a more tractable bilevel optimization, it is still computationally expensive in large systems due to the massive amount of variables and complementarity constraints, as later substantiated by Fig. 2. We propose to alleviate the computational burden by selecting only a subset 𝒦={ki}i=1τ𝒦superscriptsubscriptsubscript𝑘𝑖𝑖1𝜏\mathcal{K}=\{k_{i}\}_{i=1}^{\tau}caligraphic_K = { italic_k start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT } start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_τ end_POSTSUPERSCRIPT of τ𝜏\tauitalic_τ constraints for RO reformulation that affect the OPF cost the most. The remaining constraints 𝒦:={1,,K}\𝒦assignsuperscript𝒦\1𝐾𝒦\mathcal{K}^{\prime}:=\{1,\dots,K\}\backslash\mathcal{K}caligraphic_K start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT := { 1 , … , italic_K } \ caligraphic_K are enforced deterministically. Setting τ=K𝜏𝐾\tau=Kitalic_τ = italic_K leads to the full RO formulation, while τ<K𝜏𝐾\tau<Kitalic_τ < italic_K leads to a reduced problem:

Catt,τRO(𝐝)=superscriptsubscript𝐶att𝜏RO𝐝absent\displaystyle C_{\text{att},\tau}^{\text{RO}}(\mathbf{d})=italic_C start_POSTSUBSCRIPT att , italic_τ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( bold_d ) = minimize𝐱𝐜𝐱𝐱minimizesuperscript𝐜top𝐱\displaystyle\;\underset{{\mathbf{x}}}{\text{minimize}}\;\;\mathbf{c}^{\top}% \mathbf{x}underbold_x start_ARG minimize end_ARG bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x (10a)
subject to max𝜹𝚫[𝐚k𝐱+𝐛k(𝐝+𝜹)+ek]𝟎,𝜹𝚫delimited-[]superscriptsubscript𝐚𝑘top𝐱superscriptsubscript𝐛𝑘top𝐝𝜹subscript𝑒𝑘0\displaystyle\underset{\bm{\delta\in\Delta}}{\max}\left[\mathbf{a}_{k}^{\top}% \mathbf{x}+\mathbf{b}_{k}^{\top}(\mathbf{d}+\bm{\delta})+e_{k}\right]\leqslant% \mathbf{0},start_UNDERACCENT bold_italic_δ bold_∈ bold_Δ end_UNDERACCENT start_ARG roman_max end_ARG [ bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x + bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_d + bold_italic_δ ) + italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ] ⩽ bold_0 , (10b)
𝐚k𝐱+𝐛k𝐝+ek𝟎,superscriptsubscript𝐚superscript𝑘top𝐱superscriptsubscript𝐛superscript𝑘top𝐝subscript𝑒superscript𝑘0\displaystyle\mathbf{a}_{k^{\prime}}^{\top}\mathbf{x}+\mathbf{b}_{k^{\prime}}^% {\top}\mathbf{d}+e_{k^{\prime}}\leqslant\mathbf{0},bold_a start_POSTSUBSCRIPT italic_k start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x + bold_b start_POSTSUBSCRIPT italic_k start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_d + italic_e start_POSTSUBSCRIPT italic_k start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT end_POSTSUBSCRIPT ⩽ bold_0 , (10c)
k𝒦,k𝒦.formulae-sequencefor-all𝑘𝒦for-allsuperscript𝑘superscript𝒦\displaystyle\quad\quad\quad\quad\quad\quad\quad\!\;\forall k\in\mathcal{K},\;% \forall k^{\prime}\in\mathcal{K^{\prime}}.∀ italic_k ∈ caligraphic_K , ∀ italic_k start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT ∈ caligraphic_K start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT .

While directly replacing CattRO(𝐝~)superscriptsubscript𝐶attRO~𝐝C_{\text{att}}^{\text{RO}}(\tilde{\mathbf{d}})italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ) with Catt,τRO(𝐝~)superscriptsubscript𝐶att𝜏RO~𝐝C_{\text{att},\tau}^{\text{RO}}(\tilde{\mathbf{d}})italic_C start_POSTSUBSCRIPT att , italic_τ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ) in Alg. 1 alleviates the computational burden, this also degrades the privacy guarantee of Theorem 4: since the worst-case constraint set 𝒦𝒦\mathcal{K}caligraphic_K is specific to a particular load vector 𝐝𝐝\mathbf{d}bold_d, the post-processing on 𝒦𝒦\mathcal{K}caligraphic_K would leak information we intend to obfuscate. As a remedy, we leverage the report-noisy-max algorithm, a discrete version of the exponential mechanism of DP [3], to privately identify the worst-case constraints without leaking information about the actual load. The resulting algorithm, termed CRO-Exp, is given in Alg. 2.

The first two steps of Alg. 2 follow those in Alg. 1. At Step 3, the algorithm applies the exponential mechanism τ𝜏\tauitalic_τ times to construct set 𝒦𝒦\mathcal{K}caligraphic_K. In each iteration t𝑡titalic_t, the mechanism identifies the constraint ktsubscript𝑘𝑡k_{t}italic_k start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT that—when reformulated in a robust fashion—leads to the greatest increase of OPF cost. After τ𝜏\tauitalic_τ iterations, set 𝒦𝒦\mathcal{K}caligraphic_K contains τ𝜏\tauitalic_τ worst-case constraints. Finally, Step 4 solves the post-processing optimization with only τ𝜏\tauitalic_τ constraints reformulated in RO way.

Theorem 5 (DP of CRO-Exp).

Setting ε1=ε2=ε/3subscript𝜀1subscript𝜀2𝜀3\varepsilon_{1}=\varepsilon_{2}=\varepsilon/3italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_ε / 3 and ε3=ε/(3τ)subscript𝜀3𝜀3𝜏\varepsilon_{3}=\varepsilon/(3\tau)italic_ε start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = italic_ε / ( 3 italic_τ ) renders Alg. 2 ε𝜀\varepsilonitalic_ε-DP for α𝛼\alphaitalic_α-adjacent loads. \triangleleft

Input: 𝐝𝐝\mathbf{d}bold_d, (α,ε1,ε2,ε3)𝛼subscript𝜀1subscript𝜀2subscript𝜀3(\alpha,\varepsilon_{1},\varepsilon_{2},\varepsilon_{3})( italic_α , italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT , italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT , italic_ε start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ), (β,γ,Δ,τ)𝛽𝛾Δ𝜏(\beta,\gamma,\Delta,\tau)( italic_β , italic_γ , roman_Δ , italic_τ ), 𝒦={}𝒦\mathcal{K}=\{\varnothing\}caligraphic_K = { ∅ }
1 Initial load obfuscation: 𝐝~0=𝐝+Lap(αε1)nsuperscript~𝐝0𝐝Lapsuperscript𝛼subscript𝜀1𝑛\tilde{\mathbf{d}}^{0}=\mathbf{d}+\text{Lap}\left(\!\frac{\alpha}{\varepsilon_% {1}}\!\right)^{n}over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = bold_d + Lap ( divide start_ARG italic_α end_ARG start_ARG italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_ARG ) start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT
2 DP estimation of OPF costs: C~opf=Copf(𝐝)+Lap(αc¯ε2)subscript~𝐶opfsubscript𝐶opf𝐝Lap𝛼¯𝑐subscript𝜀2\tilde{C}_{\text{opf}}=C_{\text{opf}}(\mathbf{d})+\text{Lap}\left(\frac{\alpha% \overline{c}}{\varepsilon_{2}}\right)over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( bold_d ) + Lap ( divide start_ARG italic_α over¯ start_ARG italic_c end_ARG end_ARG start_ARG italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_ARG )
3 DP estimation of the set 𝒦𝒦\mathcal{K}caligraphic_K of the worst-case constraints
for t=1,,τ𝑡1𝜏t=1,\dots,\tauitalic_t = 1 , … , italic_τ do
       for k=1,,K𝑘1𝐾k=1,\dots,Kitalic_k = 1 , … , italic_K do
             Ck=Catt,tRO(𝐝)+Lap(αc¯ε3)subscript𝐶𝑘superscriptsubscript𝐶att𝑡RO𝐝Lap𝛼¯𝑐subscript𝜀3C_{k}=C_{\text{att},t}^{\text{RO}}(\mathbf{d})+\text{Lap}\left(\frac{\alpha% \overline{c}}{\varepsilon_{3}}\right)italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = italic_C start_POSTSUBSCRIPT att , italic_t end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( bold_d ) + Lap ( divide start_ARG italic_α over¯ start_ARG italic_c end_ARG end_ARG start_ARG italic_ε start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT end_ARG )
       end for
      ktargmaxkCksubscript𝑘𝑡subscriptargmax𝑘subscript𝐶𝑘k_{t}\leftarrow\text{argmax}_{k}\;C_{k}italic_k start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT ← argmax start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_C start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT
      [2pt] 𝒦𝒦{kt}𝒦𝒦subscript𝑘𝑡\mathcal{K}\leftarrow\mathcal{K}\cup\{k_{t}\}caligraphic_K ← caligraphic_K ∪ { italic_k start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT }
      
end for
4 Post-processing optimization of the synthetic load vector
𝐝~argmin𝐝~~𝐝~𝐝argmin\displaystyle\tilde{\mathbf{d}}\in\underset{\tilde{\mathbf{d}}}{\text{argmin}}\;over~ start_ARG bold_d end_ARG ∈ start_UNDERACCENT over~ start_ARG bold_d end_ARG end_UNDERACCENT start_ARG argmin end_ARG Copf(𝐝~)C~opf1subscriptdelimited-∥∥subscript𝐶opf~𝐝subscript~𝐶opf1\displaystyle\lVert C_{\text{opf}}(\tilde{\mathbf{d}})-\tilde{C}_{\text{opf}}% \rVert_{1}∥ italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) - over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT
+βCatt,τRO(𝐝~)C~opf1+γ𝐝~𝐝~01𝛽subscriptdelimited-∥∥superscriptsubscript𝐶att𝜏RO~𝐝subscript~𝐶opf1𝛾subscriptdelimited-∥∥~𝐝superscript~𝐝01\displaystyle\hskip 4.5pt+\beta\lVert C_{\text{att},\tau}^{\text{RO}}(\tilde{% \mathbf{d}})-\tilde{C}_{\text{opf}}\rVert_{1}+\gamma\lVert\tilde{\mathbf{d}}-% \tilde{\mathbf{d}}^{0}\rVert_{1}+ italic_β ∥ italic_C start_POSTSUBSCRIPT att , italic_τ end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ) - over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_γ ∥ over~ start_ARG bold_d end_ARG - over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT (11)
Output: Synthetic load vector 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG
Algorithm 2 Privacy-preserving CRO-Exp

V Experiment Results

We run experiments using standard power grid testbeds. The set of admissible attacks includes the limits on attack magnitude as percentage η𝜂\etaitalic_η of nominal loads. The privacy loss ε=1𝜀1\varepsilon=1italic_ε = 1, and we vary adjacency α𝛼\alphaitalic_α throughout the experiments. The code and data to replicate our results are available at

https://github.com/Wu-ShengY/CRO_SynDataset.

V-A Substantiating Attacks Calibrated on DP Data

Table I collects the damage of load redistribution attacks. The synthetic loads are generated using the standard post-processing (4) with no cyber resilience guarantee. The results reveal that the load redistribution attacks are as effective on synthetic loads as on the original loads, motivating the cyber resilient obfuscation by means of Alg. 1 and 2.

TABLE I: Average outcomes of load redistribution attacks [$ 1,000]
Testbed Load Copfsubscript𝐶opfC_{\text{opf}}italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT CattBOsuperscriptsubscript𝐶attBOC_{\text{att}}^{\text{BO}}italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT (for varying η𝜂\etaitalic_η)
±5%plus-or-minuspercent5\pm 5\%± 5 % ±10%plus-or-minuspercent10\pm 10\%± 10 % ±15%plus-or-minuspercent15\pm 15\%± 15 %
5_pjm actual, 𝐝𝐝\mathbf{d}bold_d 88.2 92.5 100.0 108.1
synth., 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG 87.4 92.4 100.0 108.1
14_ieee actual, 𝐝𝐝\mathbf{d}bold_d 4.80 4.93 5.06 5.19
synth., 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG 4.78 4.93 5.03 5.17
24_ieee actual, 𝐝𝐝\mathbf{d}bold_d 227.2 255.0 283.0 311.1
synth., 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG 212.5 242.3 259.1 274.9
118_ieee actual, 𝐝𝐝\mathbf{d}bold_d 237.0 252.4 256.4 259.8
synth., 𝐝~~𝐝\tilde{\mathbf{d}}over~ start_ARG bold_d end_ARG 225.1 229.1 238.8 241.0

V-B Insights from the Small PJM 5-Bus Testbed

We test the CRO Alg. 1 in mitigating the attack damage. We generate 1,00010001,0001 , 000 synthetic loads using the standard post-processing (PP) in (4) and 1,00010001,0001 , 000 synthetic loads from the CRO assuming η=5%𝜂percent5\eta=5\%italic_η = 5 %. The histograms of the normal and post-attack OPF costs are shown in Fig. 1. Their range becomes wider as load adjacency (and hence the noise) increases. For the standard post-processing (PP) (top row), we observe a notable shift of the post-attack histogram to the right relative to the cost of normal operations, confirming the results from Tab. I. The attacks calibrated on the outcomes of the CRO algorithm result in no extra OPF cost, as the histograms of the normal and post-attack cost overlap (bottom row). Thus, when attacks are calibrated on CRO results, the adversary sees no gain from launching an attack.

Table II shows the impact of the trade-off parameter β𝛽\betaitalic_β on the CRO algorithm. The load redistribution attack demonstrate notable damage when disregarding attacks in the CRO algorithm (β=0)𝛽0(\beta=0)( italic_β = 0 ). On the other hand, as long as β𝛽\betaitalic_β exceeds the regularization weight γ𝛾\gammaitalic_γ, the source grid remains immune to attacks. This trade-off is “flat” as we model the linear OPF costs; we expect it to be smoother for quadratic OPF costs, which is a subject of future investigation.

Refer to caption
Figure 1: Histograms of normal and post-attack OPF costs in the PJM 5-bus systems. Blue and red dotted lines represent the average OPF costs on synthetic load parameters in normal and post-attack scenarios, respectively. Top row: histograms resulting from the standard post-processing based on (4). Bottom row: histograms resulting from the CRO algorithm.
TABLE II: OPF costs induced on synthetic load vectors 𝐝~crosubscript~𝐝cro\tilde{\mathbf{d}}_{\text{cro}}over~ start_ARG bold_d end_ARG start_POSTSUBSCRIPT cro end_POSTSUBSCRIPT for varying trade-off parameters β𝛽\betaitalic_β and load adjacency α𝛼\alphaitalic_α. Attack magnitude η=5%𝜂percent5\eta=5\%italic_η = 5 %.
Trade-off Parameters α=20𝛼20\alpha=20italic_α = 20 MW α=100𝛼100\alpha=100italic_α = 100 MW α=200𝛼200\alpha=200italic_α = 200 MW
Copfsubscript𝐶opfC_{\text{opf}}italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT CattBOsuperscriptsubscript𝐶attBOC_{\text{att}}^{\text{BO}}italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT Copfsubscript𝐶opfC_{\text{opf}}italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT CattBOsuperscriptsubscript𝐶attBOC_{\text{att}}^{\text{BO}}italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT Copfsubscript𝐶opfC_{\text{opf}}italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT CattBOsuperscriptsubscript𝐶attBOC_{\text{att}}^{\text{BO}}italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT
β[0,γ)𝛽0𝛾\beta\in[0,\gamma)italic_β ∈ [ 0 , italic_γ ) 88.2 92.9 87.3 91.5 84.5 88.2
β[γ,)𝛽𝛾\beta\in[\gamma,\infty)italic_β ∈ [ italic_γ , ∞ ) 88.2 88.2 87.3 87.3 84.5 84.5

V-C Large-Scale Applications with CRO-Exp

The post-processing optimization (1) in CRO is difficult to scale to large systems. As shown in Fig. 2, the number of variables and complementarity constraints grow with the size of the testbed. The CRO-Exp Alg. 2 reduces the problem by at least one order of magnitude to a similar level as the standard post-processing, since it only considers a subset of τ𝜏\tauitalic_τ worst-case constraints in the attack. Fig. 3 shows the damage of attacks calibrated on synthetic loads released by CRO-Exp for three large testbeds. The increase of τ𝜏\tauitalic_τ reduces the attack damage. Notably, τ=5𝜏5\tau=5italic_τ = 5 suffices to minimize the attack damage, showing no improvement of cyber resilience beyond this threshold. This is due to the fact that only the attacks on a limited number of constraints can greatly increase the OPF cost. Moreover, the selection of the worst-case constraints in Step 3 of Alg. 2 becomes less informative with more noise, which only increases in τ𝜏\tauitalic_τ, as per Theorem 5.

Refer to caption
Figure 2: Num. of variables and complementarity constraints in CRO, CRO-Exp (τ𝜏\tauitalic_τ=5) and standard post-processing (4) across four testbeds (log-scale).
Refer to caption
Figure 3: Outcomes of the BO load redistribution attack calibrated on synthetic CRO-Exp loads for varying number of the worst-case constraints τ𝜏\tauitalic_τ. The damage in percentage is computed as (CattBO(𝐝~)Copf(𝐝~))/Copf(𝐝~)×100superscriptsubscript𝐶attBO~𝐝subscript𝐶opf~𝐝subscript𝐶opf~𝐝100(C_{\text{att}}^{\text{BO}}(\tilde{\mathbf{d}})-C_{\text{opf}}(\tilde{\mathbf{% d}}))/C_{\text{opf}}(\tilde{\mathbf{d}})\times 100( italic_C start_POSTSUBSCRIPT att end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT ( over~ start_ARG bold_d end_ARG ) - italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) ) / italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT ( over~ start_ARG bold_d end_ARG ) × 100. τ=0𝜏0\tau=0italic_τ = 0 means the synthetic dataset generated by the standard post-processing in (4). Adjacency α𝛼\alphaitalic_α are determined in percentages of the average load in the testbed. Attack magnitudes are η=15%𝜂percent15\eta=15\%italic_η = 15 % in IEEE 14-bus system and η=5%𝜂percent5\eta=5\%italic_η = 5 % in IEEE 24-bus and 118-bus systems. Red lines represent the mean value, the blue area represents the 80% confidence interval.

VI Conclusion

We developed algorithms for synthesizing credible grid parameters from real-world systems for OPF analysis. Similar to existing DP algorithms, they obfuscate loads by injecting Laplacian noise and using post-processing; however, they differ in a post-processing stage which optimizes for the trade-off between modeling fidelity (OPF cost consistency) and the resilience of source grids to cyber attacks. Our results reveal that these trade-offs are “flat”, meaning resilience can be achieved with little to no impact on the fidelity of the synthetic data. We also found that the post-processing formulation can be reduced with no loss of resilience using the exponential mechanism to select only important constraints for the attack. Inspired by these observations, future work aims to further investigate these trade-offs in the OPF setting with nonlinear (quadratic) costs and a broader class of attack models amenable to optimization-based representation.

-A Proof of Proposition 3

Consider two perturbed OPF problems formulated on the same vector 𝐝𝐝\mathbf{d}bold_d, one resulting from the BO attack (5)

CopfBO(𝐝)superscriptsubscript𝐶opfBO𝐝\displaystyle C_{\text{opf}}^{\text{BO}}(\mathbf{d})italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT start_POSTSUPERSCRIPT BO end_POSTSUPERSCRIPT ( bold_d ) =minimize𝐱𝐜𝐱absent𝐱minimizesuperscript𝐜top𝐱\displaystyle=\underset{{\mathbf{x}}}{\text{minimize}}\quad\mathbf{c}^{\top}% \mathbf{x}= underbold_x start_ARG minimize end_ARG bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x (12a)
subject to 𝐚k𝐱𝐛k(𝐝+𝜸)ek,ksuperscriptsubscript𝐚𝑘top𝐱superscriptsubscript𝐛𝑘top𝐝superscript𝜸subscript𝑒𝑘for-all𝑘\displaystyle\mathbf{a}_{k}^{\top}\mathbf{x}\leqslant-\mathbf{b}_{k}^{\top}(% \mathbf{d}+\bm{\gamma}^{\star})-e_{k},\;\forall kbold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x ⩽ - bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_d + bold_italic_γ start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ) - italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , ∀ italic_k (12b)

and one from the RO approximation of the attack in (7)

CopfRO(𝐝)superscriptsubscript𝐶opfRO𝐝\displaystyle C_{\text{opf}}^{\text{RO}}(\mathbf{d})italic_C start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT start_POSTSUPERSCRIPT RO end_POSTSUPERSCRIPT ( bold_d ) =minimize𝐱𝐜𝐱absent𝐱minimizesuperscript𝐜top𝐱\displaystyle=\underset{{\mathbf{x}}}{\text{minimize}}\quad\mathbf{c}^{\top}% \mathbf{x}= underbold_x start_ARG minimize end_ARG bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x (13a)
subject to 𝐚k𝐱𝐛k(𝐝+𝜹k)ek,ksuperscriptsubscript𝐚𝑘top𝐱superscriptsubscript𝐛𝑘top𝐝superscriptsubscript𝜹𝑘subscript𝑒𝑘for-all𝑘\displaystyle\mathbf{a}_{k}^{\top}\mathbf{x}\leqslant-\mathbf{b}_{k}^{\top}(% \mathbf{d}+\bm{\delta}_{k}^{\star})-e_{k},\;\forall kbold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x ⩽ - bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT ( bold_d + bold_italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ) - italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , ∀ italic_k (13b)

with perturbations 𝜸,𝜹1,,𝜹KΔ.superscript𝜸superscriptsubscript𝜹1superscriptsubscript𝜹𝐾Δ\bm{\gamma}^{\star},\bm{\delta}_{1}^{\star},\dots,\bm{\delta}_{K}^{\star}\in\Delta.bold_italic_γ start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT , bold_italic_δ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT , … , bold_italic_δ start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ∈ roman_Δ .

To show that the optimal value of (12a) is upper-bounded by the optimal value of (13a), we need to establish that the feasible set (13b) is a subset of (12b). This is per the global inequality in perturbation analysis of convex programs [19, §5.6, Eq. (5.57)]. Inspecting (12b) and (13b), observe that this is the case when

𝐛k𝜹k𝐛k𝜸,k=1,,K.formulae-sequencesuperscriptsubscript𝐛𝑘topsuperscriptsubscript𝜹𝑘superscriptsubscript𝐛𝑘topsuperscript𝜸for-all𝑘1𝐾\displaystyle\mathbf{b}_{k}^{\top}\bm{\delta}_{k}^{\star}\geqslant\mathbf{b}_{% k}^{\top}\bm{\gamma}^{\star},\quad\forall k=1,\dots,K.bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ⩾ bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_γ start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT , ∀ italic_k = 1 , … , italic_K . (14)

The attack vectors 𝜹1,,𝜹Ksuperscriptsubscript𝜹1superscriptsubscript𝜹𝐾\bm{\delta}_{1}^{\star},\dots,\bm{\delta}_{K}^{\star}bold_italic_δ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT , … , bold_italic_δ start_POSTSUBSCRIPT italic_K end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT come from the RO, so the left-hand side of (14) is given by the following optimization:

𝐛k𝜹k=max𝜹kΔ𝐛k𝜹k,k=1,,K.formulae-sequencesuperscriptsubscript𝐛𝑘topsuperscriptsubscript𝜹𝑘subscriptsubscript𝜹𝑘Δsuperscriptsubscript𝐛𝑘topsubscript𝜹𝑘for-all𝑘1𝐾\displaystyle\mathbf{b}_{k}^{\top}\bm{\delta}_{k}^{\star}=\max_{\bm{\delta}_{k% }\in\Delta}\;\mathbf{b}_{k}^{\top}\bm{\delta}_{k},\quad\forall k=1,\dots,K.bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT = roman_max start_POSTSUBSCRIPT bold_italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ roman_Δ end_POSTSUBSCRIPT bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , ∀ italic_k = 1 , … , italic_K . (15)

At the same time, the right-hand side of (14) can be represented by the following optimization problem:

𝐛k𝜸=max𝜸kΔsuperscriptsubscript𝐛𝑘topsuperscript𝜸subscriptsubscript𝜸𝑘Δ\displaystyle\mathbf{b}_{k}^{\top}\bm{\gamma}^{\star}=\max_{\bm{\gamma}_{k}\in% \Delta}\;bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_γ start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT = roman_max start_POSTSUBSCRIPT bold_italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∈ roman_Δ end_POSTSUBSCRIPT 𝐛k𝜸ksuperscriptsubscript𝐛𝑘topsubscript𝜸𝑘\displaystyle\mathbf{b}_{k}^{\top}\bm{\gamma}_{k}bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT (16a)
k=1,,Kfor-all𝑘1𝐾\displaystyle\quad\quad\quad\quad\quad\forall k=1,\dots,K∀ italic_k = 1 , … , italic_K
s.t. 𝜸k=𝜸subscript𝜸𝑘superscript𝜸\displaystyle\bm{\gamma}_{k}=\bm{\gamma}^{\star}bold_italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = bold_italic_γ start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT (16b)

Although trivial, this optimization problem allows us to clearly relate both sides of inequality (14) by relating problems (15) and (16). They are similar except for the additional consensus constraint (16b). Since 𝜸Δsuperscript𝜸Δ\bm{\gamma}^{\star}\in\Deltabold_italic_γ start_POSTSUPERSCRIPT ⋆ end_POSTSUPERSCRIPT ∈ roman_Δ by design, the feasible set of 𝜸ksubscript𝜸𝑘\bm{\gamma}_{k}bold_italic_γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the subset of that for 𝜹ksubscript𝜹𝑘\bm{\delta}_{k}bold_italic_δ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. Hence, we can conclude that the optimal value of (15) is greater or equal than that of (16a). Therefore, inequality (14) holds and (13b) is indeed a subset of (12b), completing the proof.

-B Complete Formulation of the CRO Post Processing

The complete formulation of (1) with the Karush-Kuhn-Tucker conditions (KKTs) of embedded problems is

minimizeabsentminimize\displaystyle\underset{{}}{\text{minimize}}\;start_UNDERACCENT end_UNDERACCENT start_ARG minimize end_ARG C~opf𝐜𝐱11+βC~opf𝐜𝐱21+γ𝐝~𝐝~01subscriptdelimited-∥∥subscript~𝐶opfsuperscript𝐜topsubscript𝐱11𝛽subscriptdelimited-∥∥subscript~𝐶opfsuperscript𝐜topsubscript𝐱21𝛾subscriptdelimited-∥∥~𝐝superscript~𝐝01\displaystyle\lVert\tilde{C}_{\text{opf}}-\mathbf{c}^{\top}\mathbf{x}_{1}% \rVert_{1}+\beta\lVert\tilde{C}_{\text{opf}}-\mathbf{c}^{\top}\mathbf{x}_{2}% \rVert_{1}+\gamma\lVert\tilde{\mathbf{d}}-\tilde{\mathbf{d}}^{0}\rVert_{1}∥ over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT - bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_β ∥ over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT - bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_γ ∥ over~ start_ARG bold_d end_ARG - over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT ∥ start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT
subject to
KKTs of RO approxiamtion (8) {𝝁¯k𝜹¯𝝁¯k𝜹¯𝐚k𝐱1𝐛k𝐝~ek𝐛k𝝁¯k+𝝁¯k𝟏λk=𝟎𝝁¯k,𝝁¯k𝟎𝐜+kθk𝐚k=𝟎θk𝜹¯𝜻k𝝅¯k=𝟎θk𝜹¯𝜻k+𝝅¯k=𝟎𝟏𝜻k=00θk(𝝁¯k𝜹¯+𝝁¯k𝜹¯𝐚k𝐱1𝐛k𝐝~ek)0𝟎π¯k𝝁¯k𝟎𝟎π¯k𝝁¯k𝟎θk,𝝅¯k,𝝅¯k,𝜻𝟎}\displaystyle\left\{\begin{array}[]{ll}\overline{\bm{\mu}}_{k}^{\top}\overline% {\bm{\delta}}-\underline{\bm{\mu}}_{k}^{\top}\underline{\bm{\delta}}\leqslant-% \mathbf{a}_{k}^{\top}\mathbf{x}_{1}-\mathbf{b}_{k}^{\top}\tilde{\mathbf{d}}-e_% {k}\\ \mathbf{b}_{k}-\overline{\bm{\mu}}_{k}+\underline{\bm{\mu}}_{k}-\bm{1}\lambda_% {k}=\bm{0}\\ \underline{\bm{\mu}}_{k},\overline{\bm{\mu}}_{k}\geqslant\bm{0}\\ \mathbf{c}+\sum_{k}\theta_{k}\mathbf{a}_{k}=\mathbf{0}\\ \theta_{k}\overline{\bm{\delta}}-\bm{\zeta}_{k}-\overline{\bm{\pi}}_{k}=\bm{0}% \\ \theta_{k}\underline{\bm{\delta}}-\bm{\zeta}_{k}+\underline{\bm{\pi}}_{k}=\bm{% 0}\\ \bm{1}^{\top}\bm{\zeta}_{k}=0\\ 0\leqslant\theta_{k}\;\perp(-\overline{\bm{\mu}}_{k}^{\top}\overline{\bm{% \delta}}+\underline{\bm{\mu}}_{k}^{\top}\underline{\bm{\delta}}-\mathbf{a}_{k}% ^{\top}\mathbf{x}_{1}\\ \quad\quad\quad\quad\quad\!-\mathbf{b}_{k}^{\top}\tilde{\mathbf{d}}-e_{k})% \geqslant 0\\ \bm{0}\leqslant\underline{\pi}_{k}\;\perp\underline{\bm{\mu}}_{k}\geqslant\bm{% 0}\\ \bm{0}\leqslant\overline{\pi}_{k}\;\perp\overline{\bm{\mu}}_{k}\geqslant\bm{0}% \\ \theta_{k},\overline{\bm{\pi}}_{k},\underline{\bm{\pi}}_{k},\bm{\zeta}% \geqslant\bm{0}\end{array}\right\}{ start_ARRAY start_ROW start_CELL over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over¯ start_ARG bold_italic_δ end_ARG - under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT under¯ start_ARG bold_italic_δ end_ARG ⩽ - bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT - bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over~ start_ARG bold_d end_ARG - italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - bold_1 italic_λ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = bold_0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩾ bold_0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_c + ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = bold_0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT over¯ start_ARG bold_italic_δ end_ARG - bold_italic_ζ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT - over¯ start_ARG bold_italic_π end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = bold_0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT under¯ start_ARG bold_italic_δ end_ARG - bold_italic_ζ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT + under¯ start_ARG bold_italic_π end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = bold_0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_1 start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_italic_ζ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL 0 ⩽ italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⟂ ( - over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over¯ start_ARG bold_italic_δ end_ARG + under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT under¯ start_ARG bold_italic_δ end_ARG - bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL - bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over~ start_ARG bold_d end_ARG - italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) ⩾ 0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_0 ⩽ under¯ start_ARG italic_π end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⟂ under¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩾ bold_0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_0 ⩽ over¯ start_ARG italic_π end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⟂ over¯ start_ARG bold_italic_μ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩾ bold_0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_θ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , over¯ start_ARG bold_italic_π end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , under¯ start_ARG bold_italic_π end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT , bold_italic_ζ ⩾ bold_0 end_CELL start_CELL end_CELL end_ROW end_ARRAY }
KKTs of OPF (2) {𝐚k𝐱2+𝐛k𝐝~+ek0𝐜+kνk𝐚k=00νk(𝐚k𝐱2𝐛k𝐝~ek)0νk0}superscriptsubscript𝐚𝑘topsubscript𝐱2superscriptsubscript𝐛𝑘top~𝐝subscript𝑒𝑘0missing-subexpression𝐜subscript𝑘subscript𝜈𝑘subscript𝐚𝑘0missing-subexpression0subscript𝜈𝑘perpendicular-tosuperscriptsubscript𝐚𝑘topsubscript𝐱2superscriptsubscript𝐛𝑘top~𝐝subscript𝑒𝑘0missing-subexpressionsubscript𝜈𝑘0missing-subexpression\displaystyle\left\{\begin{array}[]{ll}\mathbf{a}_{k}^{\top}\mathbf{x}_{2}+% \mathbf{b}_{k}^{\top}\tilde{\mathbf{d}}+e_{k}\leqslant 0\\ \mathbf{c}+\sum_{k}\nu_{k}\mathbf{a}_{k}=0\\ 0\leqslant\nu_{k}\;\perp(-\mathbf{a}_{k}^{\top}\mathbf{x}_{2}-\mathbf{b}_{k}^{% \top}\tilde{\mathbf{d}}-e_{k})\geqslant 0\\ \nu_{k}\geqslant 0\end{array}\right\}{ start_ARRAY start_ROW start_CELL bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over~ start_ARG bold_d end_ARG + italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩽ 0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL bold_c + ∑ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT italic_ν start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = 0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL 0 ⩽ italic_ν start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⟂ ( - bold_a start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT - bold_b start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT over~ start_ARG bold_d end_ARG - italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) ⩾ 0 end_CELL start_CELL end_CELL end_ROW start_ROW start_CELL italic_ν start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⩾ 0 end_CELL start_CELL end_CELL end_ROW end_ARRAY }

k=1,,Kfor-all𝑘1𝐾\forall k=1,\dots,K∀ italic_k = 1 , … , italic_K, where 𝐜𝐱1superscript𝐜topsubscript𝐱1\mathbf{c}^{\top}\mathbf{x}_{1}bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT and 𝐜𝐱2superscript𝐜topsubscript𝐱2\mathbf{c}^{\top}\mathbf{x}_{2}bold_c start_POSTSUPERSCRIPT ⊤ end_POSTSUPERSCRIPT bold_x start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT represents the OPF cost in post-attack and normal conditions, respectively. Here, the perpendicular-to\perp denotes complementarity conditions.

-C Proof of Theorem 4

CRO uses the real data in the following computations:

  1. 1.

    Step 1 adds Laplacian noise with magnitude α/ε2𝛼subscript𝜀2\alpha/\varepsilon_{2}italic_α / italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to an identity query, whose sensitivity is α𝛼\alphaitalic_α. By the sequential composition rule [3], this computation is ε1limit-fromsubscript𝜀1\varepsilon_{1}-italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT -DP.

  2. 2.

    Step 2 adds Laplacian noise with parameter (αc¯)/ε2𝛼¯𝑐subscript𝜀2(\alpha\overline{c})/\varepsilon_{2}( italic_α over¯ start_ARG italic_c end_ARG ) / italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT. Since the sensitivity of OPF cost is αc¯𝛼¯𝑐\alpha\overline{c}italic_α over¯ start_ARG italic_c end_ARG as shown in Section II.B, this computation is ε2limit-fromsubscript𝜀2\varepsilon_{2}-italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT -DP.

Since the post-processing optimization in Step 3 only uses obfuscated data, it will not induce any privacy loss due to post-processing immunity [3]. Per the sequential composition rule, the total privacy loss of the algorithm is ε1+ε2subscript𝜀1subscript𝜀2\varepsilon_{1}+\varepsilon_{2}italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT, which adds up to ε𝜀\varepsilonitalic_ε when we take ε1=ε/2,ε2=ε/2formulae-sequencesubscript𝜀1𝜀2subscript𝜀2𝜀2\varepsilon_{1}=\varepsilon/2,\varepsilon_{2}=\varepsilon/2italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_ε / 2 , italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_ε / 2.

-D Proof of Theorem 5

The algorithm queries data in the following computations:

  1. 1.

    Following the similar arguments from Appendix C, Step 1 is ε1limit-fromsubscript𝜀1\varepsilon_{1}-italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT -DP and Step 2 is ε2limit-fromsubscript𝜀2\varepsilon_{2}-italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT -DP

  2. 2.

    The worst-case constraints are estimated using τ𝜏\tauitalic_τ iterations of the report-noisy-max algorithm in Step 3; each iteration injects the Laplacian noise with magnitude αc¯𝛼¯𝑐\alpha\overline{c}italic_α over¯ start_ARG italic_c end_ARG providing ε3limit-fromsubscript𝜀3\varepsilon_{3}-italic_ε start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT -DP, and the whole report-noisy-max algorithm is τε3limit-from𝜏subscript𝜀3\tau\varepsilon_{3}-italic_τ italic_ε start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT -DP.

As the post-processing optimization in Step 4 only uses obfuscated numerical data 𝐝~0,C~opfsuperscript~𝐝0subscript~𝐶opf\tilde{\mathbf{d}}^{0},\tilde{C}_{\text{opf}}over~ start_ARG bold_d end_ARG start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT , over~ start_ARG italic_C end_ARG start_POSTSUBSCRIPT opf end_POSTSUBSCRIPT and non-numerical data 𝒦𝒦\mathcal{K}caligraphic_K, it is immune to privacy loss. The accumulated privacy loss of Alg. 2 is ε1+ε2+τε3subscript𝜀1subscript𝜀2𝜏subscript𝜀3\varepsilon_{1}+\varepsilon_{2}+\tau\varepsilon_{3}italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT + italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT + italic_τ italic_ε start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT, which amounts to ε𝜀\varepsilonitalic_ε when setting ε1=ε/3,ε2=ε/3formulae-sequencesubscript𝜀1𝜀3subscript𝜀2𝜀3\varepsilon_{1}=\varepsilon/3,\varepsilon_{2}=\varepsilon/3italic_ε start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT = italic_ε / 3 , italic_ε start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT = italic_ε / 3 and ε3=ε/(3τ)subscript𝜀3𝜀3𝜏\varepsilon_{3}=\varepsilon/(3\tau)italic_ε start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT = italic_ε / ( 3 italic_τ ).

References

  • [1] A. B. Birchfield, T. Xu, and T. J. Overbye, “Power flow convergence and reactive power planning in the creation of large synthetic grids,” IEEE Trans. Power Syst., vol. 33, no. 6, pp. 6667–6674, 2018.
  • [2] S. Taylor et al., “California test system (CATS): A geographically accurate test system based on the California grid,” IEEE Trans. on Enrgy Mrkts, Pol and Reg., vol. 2, no. 1, pp. 107–118, 2024.
  • [3] C. Dwork and A. Roth, “The algorithmic foundations of differential privacy,” Foundations and Trends® in Theoretical Computer Science, vol. 9, no. 3–4, pp. 211–407, 2014.
  • [4] C. Dwork et al., “Calibrating noise to sensitivity in private data analysis,” in Theory of Cryptography: Third Theory of Cryptography Conference, TCC 2006, New York, NY, USA, March 4-7, 2006. Proceedings 3.   Springer, 2006, pp. 265–284.
  • [5] F. Fioretto, T. W. K. Mak, and P. Van Hentenryck, “Differential privacy for power grid obfuscation,” IEEE T. Smart Grid, vol. 11, no. 2, pp. 1356–1366, 2020.
  • [6] T. W. K. Mak et al., “Privacy-preserving power system obfuscation: A bilevel optimization approach,” IEEE Trans. Power Syst., vol. 35, no. 2, pp. 1627–1637, 2020.
  • [7] V. Dvorkin and A. Botterud, “Differentially private algorithms for synthetic power system datasets,” IEEE Control Systems Letters, vol. 7, pp. 2053–2058, 2023.
  • [8] V. Dvorkin et al., “Differentially private distributed optimal power flow,” in 2020 59th IEEE Conference on Decision and Control (CDC), 2020, pp. 2092–2097.
  • [9] ——, “Differentially private optimal power flow for distribution grids,” IEEE Trans. Power Syst., vol. 36, no. 3, pp. 2186–2196, 2021.
  • [10] M. Ryu and K. Kim, “A privacy-preserving distributed control of optimal power flow,” IEEE Trans. Power Syst., vol. 37, no. 3, pp. 2042–2051, 2022.
  • [11] F. Zhou, J. Anderson, and S. H. Low, “Differential privacy of aggregated dc optimal power flow data,” in 2019 American Control Conference (ACC), 2019, pp. 1307–1314.
  • [12] N. Ravi et al., “Differentially private k-means clustering applied to meter data analysis and synthesis,” IEEE T. Smart Grid, vol. 13, no. 6, pp. 4801–4814, 2022.
  • [13] Y. Liu, P. Ning, and M. K. Reiter, “False data injection attacks against state estimation in electric power grids,” ACM Transactions on Information and System Security, vol. 14, no. 1, pp. 1–33, 2011.
  • [14] H.-M. Chung, W.-T. Li, C. Yuen, W.-H. Chung, Y. Zhang, and C.-K. Wen, “Local cyber-physical attack for masking line outage and topology attack in smart grid,” IEEE T. Smart Grid, vol. 10, no. 4, pp. 4577–4588, 2019.
  • [15] X. Liu and Z. Li, “Local load redistribution attacks in power systems with incomplete network information,” IEEE T. Smart Grid, vol. 5, no. 4, pp. 1665–1676, Jul. 2014.
  • [16] G. Liang et al., “A review of false data injection attacks against modern power systems,” IEEE T. Smart Grid, vol. 8, pp. 1630–1638, 2016.
  • [17] M. Goerigk et al., “Connections between robust and bilevel optimization,” Open j. math. optim, vol. 6, no. 2, pp. 1–17, 2025.
  • [18] D. Bertsimas et al., “Theory and applications of robust optimization,” SIAM review, vol. 53, no. 3, pp. 464–501, 2011.
  • [19] S. Boyd and L. Vandenberghe, Convex Optimization.   Cambridge, UK: Cambridge University Press, 2004.