1.一种基于混合同态加密的错误数据注入攻击防御方法,其特征在于,该方法包括以下步骤:(1)结合系统物理动态模型,给出攻击者为执行攻击必须获取的参数,进而构造攻击向量,得到系统状态估计结果的影响,进而得到需要加密保护的对象为:系统模型参数、测量值和状态估计结果;(2)将静态卡尔曼滤波状态估计算法迭代过程进行改写,得到能够支持混合同态加密过程的迭代形式;状态估计算法迭代过程改写如下;其中, H∈R n×l ,l=n+m,r(t)∈R n×l , 表示t时刻的状态估计结果, 表示t-1时刻的状态估计结果,y(t)表示t时刻的测量值,A表示系统矩阵,C表示测量矩阵,K表示静态卡尔曼增益, 表示系统参数的计算结果,n表示状态维数,m表示测量维数,包含系统模型参数的矩阵H和系统状态信息r(t)是需要被加密保护的对象,其中,系统状态信息包括测量值和状态估计结果;(3)设计实数域到明文空间的量化与映射方法,将状态估计算法迭代过程改写后的系统模型参数和系统状态信息,从实数域量化和映射到明文空间,以适应同态加密运算;所述实数域到明文空间的量化方法为;对于系统模型参数的矩阵H:采用量化误差消去法,即,对于H中的每一元素,首先将其转化为分数形式,然后,将该矩阵乘以所有元素的公分母,即:其中, 为矩阵H的量化结果,α为公分母;对于系统状态信息r(t):采用参数随机量化法,对于r(t)中的一个元素r i (t),若r i (t)∈[μ k ,μ k+1 ),μ k ,μ k+1 为整数,则其量化结果依据如下概率分布形式:其中,Pr(·)表示概率值, 表示r i (t)的量化结果,0≤p≤1;量化结果到密码算法明文空间M的映射为:其中, 表示映射结果, 表示实数x的量化结果,f m (·)表示映射函数,N为密码算法的取模参数;(4)对步骤(3)中的映射结果,采用加法同态加密方案的公钥进行加密,得到系统模型参数、测量值和状态估计结果的密文数据;并根据系统模型参数、测量值和状态估计结果的保密性,分别设计执行加法同态算法与乘法同态算法的通信协议,将密文数据作为加法同态算法与乘法同态算法的通信协议的输入;(5)定义参与状态估计算法的数据提供方、核心算法执行方和状态估计结果应用方三个群体,运用加法同态算法与乘法同态算法的通信协议设计不同群体在密文域状态估计算法中所需执行的计算任务;(6)综合以上步骤,设计保证计算和通信过程数据全保密的加密状态估计协议;所设计的加密状态估计协议具有数据提供方、核心算法执行方和状态估计结果应用方;所述数据提供方执行以下过程:量化: 映射: 加密: 数据提供方将 传输给核心算法执行方,所述核心算法执行方为加密估计器,执行以下过程:输入: 对于0≤t≤T:计算: 模糊运算参数:令d={d i |d i ∈M,i=1,…,n},使得 核心算法执行方将 传输给状态估计结果应用方,状态估计结果应用方执行以下过程:解密: 加密: 状态估计结果应用方将 传输回核心算法执行方,然后由核心算法执行方执行以下过程:消去模糊参数: 得到: 核心算法执行方将 再传输给状态估计结果应用方,所述状态估计结果应用方再执行以下过程:解密: 复原: 返回: 状态估计结果应用方将结果 传输回核心算法执行方;其中, 表示安全加法操作,为同态加法;⊙表示安全乘法操作,为同态乘法;⊙ h 表示模指数运算;pk 1 和sk 1 表示乘法同态密码算法的公钥和私钥;pk 2 和sk 2 表示加法同态密码算法的公钥和私钥;f q 表示实数量化算法;f m 表示整数映射算法;M为明文空间; 表示在乘法同态加密下的数据; 表示在加法同态加密下的数据;→表示数据映射;→表示数据传输;C * 表示密文; 为加密估计器计算的中间结果,V(t)为状态估计结果应用方计算的中间结果,d为一个随机变量; 是矩阵 中第i行第j列的元素;d -1 表示d的模逆; 表示初始状态的估计结果, 表示*的量化结果, 表示*的映射结果,Enc(*) pk1 表示*被加法同态方案的加密算法,Enc(*) pk2 表示*被乘法同态方案的加密算法, 表示*的估计结果,Dec(*) sk1 表示*被加法同态方案的解密算法,Dec(*) sk2 表示*被乘法同态方案的解密算法, 表示整数恢复算法; 表示整数恢复成实数; 为t时刻经复原和返回后的状态估计结果的映射结果;其中,所述模糊运算基于如下乘法模糊原则为:b(ax)mod L=b mod L其中,ax≡1 mod L,即,x=a -1 mod L。
2.根据权利要求1所述的基于混合同态加密的错误数据注入攻击防御方法,其特征在于,所述步骤(1)中,攻击者可以构造如下的攻击向量,以实现坏数据检测器的隐蔽性攻击:Y a ≡{y a (τ)|y a (τ)=CA τ-t Ky a (t),τ≥t}其中,t表示攻击开始时刻,τ表示攻击延续时间,C∈R m×n ,A∈R n×n 和K∈R n×m 表示系统参数,Y a 表示攻击向量序列,y a (τ)∈R m 表示攻击向量,即注入到测量值中的错误数据,y a (t)∈R m 表示初始攻击向量;进而,对系统状态估计结果的影响为:其中, 表示真实的状态估计结果,X a 是有攻击下状态估计结果的序列, 是有攻击情形下时刻τ的状态估计结果,T∈R m×m 是一个对角矩阵,如果第i个测量值被篡改,则T ii =1,否则,T ii =0。
3.根据权利要求1所述的基于混合同态加密的错误数据注入攻击防御方法,其特征在于,所述步骤(4)中,所述的乘法同态算法为:其中, 为解密算法,sk 1 为解密秘钥,⊙为对应于明文乘法的密文域运算, 为加密算法,pk 1 为加密秘钥,m 1 ∈M,m 2 ∈M为原始明文;所述的加法同态算法为:其中, 为对应明文加法的密文域运算。
4.根据权利要求1所述的基于混合同态加密的错误数据注入攻击防御方法,其特征在于,所述步骤(5)中,所述数据提供方、核心算法执行方和状态估计结果应用方三个群体所需执行的计算任务具体为:数据提供方负责将测量值和系统模型参数采用加法同态方案进行加密,并将其传送给核心算法执行方,即加密估计器,加密估计器基于密文域数据执行加法同态算法,将运算结果C 1 传送给估计结果应用方,状态估计结果应用方将C 1 进行解密和恢复,并采用乘法同态方案进行加密,将C 2 发送给加密估计器;加密估计器执行乘法同态算法,将运算结果C 3 发送给状态估计结果应用方;状态估计结果应用方将C 3 进行解密和恢复,得到状态估计结果,状态估计结果应用方将状态估计结果采用加法同态加密方案的公钥进行加密,并反馈给加密估计器进行迭代运算。