1、基于 WSN 的全同态数据加密聚合方案 王彩芬 成玉丹 刘超 西北师范大学计算机科学与工程学院 摘 要: 传统的无线传感网 (WSN) 中数据加密聚合方案在密文数据的运算、抵御内/外部攻击、追查并修复错误等方面存在安全性和效率上的不足。为此, 提出一种全同态数据加密聚合方案。采用 Dijk 等人提出的 DGHV 全同态算法对隐私数据进行加密, 并将节点的身份信息嵌入到数字签名中, 使方案具有追查并修复错误的能力。此外, 该方案不需要可信第三方, 以簇为单位分配干扰因子, 不仅可以有效抵御内部攻击, 而且提高了方案的运行效率, 降低了计算复杂度。最后, 给出了方案的安全性证明, 并与已有方案在效
2、率上做了对比, 结果表明, 该方案是 IND-CPA 安全的, 且整体性能优于已有方案。关键词: 无线传感网; 全同态加密; 簇; 数据聚合; 可信第三方; 作者简介:王彩芬 (1963) , 女, 教授, 主要研究方向为密码协议和网络编码;作者简介:成玉丹、硕士研究生。作者简介:刘超, 硕士研究生。基金:国家自然科学基金项目 (61562077, 61662069, 61662071) Data Encryption Aggregation Scheme of Fully Homomorphic based on WSNWANG Caifen CHENG Yudan LIU Chao Col
3、lege of Computer Science and Engineering, Northwest Normal University; Abstract: The drawbacks of traditional data encryption aggregation schemes for wireless sensor networks (WSN) in the operation of ciphertext data, defending internal and external attacks, tracing and fixing data errors ect, as we
4、ll as security and efficiency Therefore, a WSN data encryption aggregation scheme based on fully homomorphism was proposed. The DGHV fully homomorphic algorithm proposed by Dijk et al was adopted as a basic scheme to encrypt the privacy data, and the sensors identities were included in digital signa
5、tures so as to provide the scheme with functions of data tracing and modification The scheme does not need trusted third party and allocation interference factor in cluster, which not only resist the internal attack but also improve the operation efficiency of the scheme and reduce the computational
6、 complexity. Finally, we give the security proof of the scheme, and the efficiency is compared with the existing schemes showed that the proposed scheme is IND-CPA secure and the overall performance is better than the existing schemes.Keyword: wireless sensor network (WSN) ; fully homomorphic encryp
7、tion; cluster; data aggregation; trusted third party; 1 引言无线传感网 (Wireless Sensor Network, WSN) 的基本结构有两种:树形和簇形, 均由若干个传感器节点和一个基站 (Base Station, BS) 组成, 通信方式是无线链路通信, 并且能够实时监测、感知和收集网络覆盖范围内的各种环境信息1。传感器能量受限, 存储和计算能力较小, 但基站有固定的能量来源, 是整个网络的核心, 存储空间大, 计算能力强。本文方案使用的网络结构为簇形网络。目前, 国内外学者在无线传感网络中数据的安全传输问题上取得了一定的研
8、究成果。早期采用的基于对称加密机制的点到点的数据聚合算法2, 其优点是容易实现, 方便快捷。但容易造成密钥和明文的泄露。为了得到较好的安全性能, 2005 年, Dan 等人3提出了 2-DNF 非对称密码系统, 通过同态的加乘运算实现了数据的聚合, 但在某些方面仍有不足, 例如数据验证和防止抵赖。此后又出现了多个该方案的改进方案。例如, 2013 年 Fan 等人4提出能够抵御内部攻击的数据聚合方案;2014 年周强等人5提出了在无线传感网中基于同态原语的数据聚合方案;2015 年 Othman S B 等人6在数据的机密性和完整性上做了改进, 提出了基于同态加密的无线传感器网络数据融合的机
9、密性和完整性方案;2016 年王会勇等人7提出了基于同态加密的可验证隐私数据聚合方案。文献4-7对已有方案的计算效率和安全性能做了改进, 但仍有不足之处。文献5需要一个额外的可信第三方来分发保密干扰因子, 而且方案的构造方式复杂;文献6在抵御内部攻击上存在不足等;文献7是通过聚合器本身对每一个传感器节点分配干扰因子, 所以其计算复杂度高, 并且在此方案中, 采用 El Gamal 方案加密隐私数据, 仅满足了乘法同态性, 并不满足全同态性。本文在文献7的基础上, 基于簇的网络结构, 构造了无线传感网中全同态的数据加密聚合方案, 该方案采用了具有全同态性的 DGHV8方案加密隐私数据, 同时将包
10、含节点身份信息的签名嵌入到密文中, 通过签名验证其正确性, 使方案具有抵抗数据被篡改、追查并纠正错误数据的能力。本文方案以簇为单位, 通过聚合器为簇内的传感器节点分发保密干扰因子, 这样既避免了由第三方带来的安全问题, 又降低了计算复杂度。2 预备知识2.1 符号和参数定义若 G 是一个循环群, 则 H:0, 1G 表示一个哈希函数。用 表示整数模 q 剩余类环 中所有对模乘可逆的元素组成的集合, 其中有成立, 且 q 是素数。 (a|b) 表示将两个对象 a, b 按顺序链成一个整体。 表示从集合 B 中随机取值并将该值赋予变量 x。给定安全参数 , 参数的设置为: 表示噪音长度; 表示私钥
11、长度; 表示公钥长度; 表示公钥中整数的个数。为了满足该方案的安全性, 上述参数需满足如下条件: (1) = (log) , 为了能够抵抗噪音的蛮力攻击; (2) , 为了能够支持足够深的电路同态评估; (3) = (log) , 为了阻止各种基于格的攻击, 比如近似的 GCD 问题; (4) + (log) , 为了能够在 GCD 中使用剩余的哈希引理。2.2 双线性映射定义 19双线性映射:设 G1, G2是阶素数 q 的乘法循环群, , 一个双线性映射 e:G1G1G 2具有如下性质:1) 双线性:对任意的 u, vG 1, 满足2) 非退化性: , 其中 为 G2中的单位元。3) 可计
12、算性:对任意 u, vG 1, 存在有效算法能够计算 e (u, v) 。2.3 困难问题假设定义 2 计算性 Co-Diffie-Hellman 问题:设 q 是一个大素数, G 是阶为 q 的循环群, g 是 G 的生成元, 已知 (g, g , g ) G , 其中 , 求 g G。定义 38近似最大公因子 (GCD) 问题:参数为 , , , p 为一个随机的bit 的素数, 求 p 的过程就是近似最大公因子问题。2.4 全同态加密定义 410全同态加密:同态加密指在不解密密文的情况下, 通过对密文执行操作来实现对明文的操作, 且其结果一致, 这里的全同态是指同时满足加法同态和乘法同态
13、。全同态加密方案中包含四个算法:Key Gen () , Encrypt (pk, m) , Decrypt (sk, c) 和 Evaluate (pk, C, c) 。其具体操作如下:KeyG en () :根据安全参数 产生公私钥对 (pk, sk) ;Encrypt (pk, m) :在公钥 pk 下把明文 m 加密成密文 c;Decrypt (sk, c) :用私钥 sk 解密密文 c, 得到明文 m;Evaluate (pk, C, c) :输入一个公钥 pk, 电路 C, 和一个密文元组, 输出另一个密文元组 c。2.5 DGHV 方案Dijk 等人在 Gentry 方案的基础上
14、提出了基于整数的全同态加密方案 (DGHV) 8, 下面对 DGHV 方案做简单的介绍 (详细方案参考文献8) .KeyG en () :选取一个 位的奇整数 作为私钥 sk, 选择, 其中 q0最大, 且为奇数, 令Encrypt (pk, m) :随机选取一个集合 和一个随机整数 r (-2, 2) , 明文Decrypt (sk, c) :输出明文 。在解密的过程中, 首先通过密文模私钥 p, 再模 2 就可以得到 1 比特的明文。Evaluate :输入公钥 pk、电路 C 和 t 个密文 , 其中。输出 且满足 。此算法集中体现了全同态加密的技术优势, 它的含义是:通过门电路或者函数
15、对密文任意操作后再解密, 其结果和对明文进行操作是一致的。3 本文方案无线传感网络的构建方式有多种, 同时也产生了很多标准协议, 如文献11中提出的标准聚合协议和文献12中的网络构建方式。假定本方案中的聚合器拥有足够的计算能力且是诚实但好奇的。也就是说, 它可能会自主的做出一些错误的举动, 但不会与其他实体实施共谋攻击13。同时, 它能够有效地完成方案中涉及的签名验证和解密操作。目前提出的基于 WSN 的同态加密聚合方案仅仅实现了加法同态或乘法同态, 文献7是以簇为单位分发干扰因子, 但是每一个传感器拥有独立的干扰因子, 在很大程度上增加了方案的计算复杂度, 由干扰因子的作用可知, 它不涉及隐
16、私信息, 所以对它的改进主要是提高运算效率, 降低计算复杂度。因此本文在文献7的基础上, 以簇为网络结构, 提出基于 WSN 的全同态加密聚合算法, 实现隐私数据的加法和乘法同态, 在干扰因子的分发过程中, 每一个簇内的传感器节点拥有相同的干扰因子, 这样既保证了方案能够抵抗内部攻击又在很大程度上降低了计算复杂度。下面介绍此方案适用的网络模型、方案的设计以及方案的正确性。3.1 网络模型本文采用的网络模型14如图 1 所示, 是基于簇的网络结构, 它的优点是将簇内节点的信息收集起来, 统一向上一级节点传送, 节省了通信开销, 可扩展性强。在该结构中, 包含 3 类角色:基站 BS, 聚合器 A
17、gg 和传感器节点。整个网络由多个非重叠的簇组成, 每个簇中包含一个聚合器 (簇头) 和 n 个传感器节点。簇头的功能是给簇内的每一个传感器节点分发干扰因子 和身份标识 ID, 只分发一次, 即每一个传感器节点具有相同的干扰因子, 同时从传感器节点接收加密的数据, 将其聚合验证后传给 BS;每一个传感器节点将接收到的数据采用带有干扰因子的 DGHV 方案加密, 用自己的身份标识签名, 将密文发送给聚合器。图 1 基于簇的网络拓扑图 下载原图3.2 方案设计在基于簇的无线传感网构建完成后, 加密聚合方案主要包括三个基本过程:系统建立阶段, 加密签名阶段和验证聚合阶段。在系统建立阶段, 聚合器作为
18、整个簇的核心为每一个传感器节点分配身份标识 ID、公私钥 PK, SK 和干扰因子 ;在加密签名阶段, 传感器节点收集信息, 利用 PK, SK 和 对消息加密, 用 ID对消息签名;在验证聚合阶段, 聚合器发出消息聚合的命令, 每一个传感器节点将加密的消息发送给聚合器, 聚合器完成数据的聚合并进行验证, 若验证成功, 则进行一定的操作得到消息, 若验证失败, 则检测每一个节点的数据, 并要求数据传输错误的节点重新传输数据。3.2.1 系统建立阶段设在每一个簇内由一个聚合器控制着 n 个传感器节点 , 聚合器作为密钥生成中心, 通过 DGHV8方案和 DF15方案为簇内的每一个节点分配公私钥和
19、干扰因子。该阶段的 2 个基本操作如下:1) 密钥生成阶段:1 聚合器对控制的每一个传感器节点分配身份标识2 设置安全参数 ;3 随机选取 位的大素数 p 和整数 qi, ri, , 其中 0in-1 且qi是远大于 p 的整数, r i是一个较小的整数且 , 计算得到 假设 x 0为最大值且4 生成 N 阶乘法循环群 G;5 在 G 中取生成元 g;6 发布公钥 PK=pk, g, 私钥 SK=p。2) 分配保密干扰因子 (k 表示聚合器的个数) 。保密干扰因子的生成和分发过程是保密的, 由于它不涉及到核心消息 mi, 所以对它的保密要求比较低, 而对其效率的要求较高。本文采用与 DF15方
20、案相同的分配方式, 若聚合器为每一个传感器都分配保密干扰因子, 会增加计算复杂度。为了降低计算复杂度, 本文采用基于簇的传感器网络, 因此假设以 n 个传感器节点为一个簇, 每一个簇分配一个保密干扰因子即 n 个节点具有相同的干扰因子。聚合器 (簇头) 的具体分配过程如下:1 随机选择一个整数 和 r 模 N 的逆2 选择一个随机整数3 计算 k= krmodN;4 为了计算方便, 令3.2.2 加密签名阶段当传感器节点 收到聚合器数据聚合的命令时, 进行数据加密签名的操作, 在此过程中, 传感器节点可以对多次加密的数据进行全同态操作, 再用身份标识 IDi签名, 然后上传给聚合器:1 读取需
21、加密的数据 mi0, 1, 任取一个私钥 , 生成相应的公钥2 任取一个集合 , 随机整数 , 计算密文3 重复 1 2 两个步骤, 得到 , 对 c1, c2进行全同态运算, 得到密文 ci=c1c 2 (表示某种同态运算) 。4 计算签名5 将 发送至聚合器。3.2.3 验证聚合阶段在此过程中, 聚合器首先对上传的数据进行聚合, 然后利用双线性映射验证其正确性, 若验证正确, 则可以计算得到聚合的消息, 具体操作如下:1 聚合器接收所有传感器节点 U i传来的数据2 任取 , 选取一个非退化可计算的双线性映射 e:GGG, 验证聚合等式 是否成立。若成立, 则此次聚合的数据全部通过;若不成
22、立, 则需对每一个传感器节点的数据进行检测, 对数据传输错误的节点, 要求其重新传输数据给聚合器。3 若以上验证通过, 则计算:4 计算 记作 V。5 计算 Vmod p, 得到最终的聚合结果3.3 方案的正确性1) 签名验证的正确性2) 聚合的解密正确性由 代入可得:化简得: 将其代入上式可得: 将 Vmod 2 可得 V: 即注意到 p 是私钥, 对 Vmod p 可得 V:即 通过以上过程可得聚合结果, 即4 方案分析4.1 全同态性分析由于本方案的加密算法运用了 Djik8等人提出的基于整数的全同态加密方案 (DGHV) , 其全同态性的证明详细过程可参考文献8。4.2 保密干扰因子的
23、安全性分析此方案中保密干扰因子 (k 表示聚合器的个数) 是以簇为单位分配的, 作用是在保证安全的基础上提高方案的效率, 其分配方式是根据 DF15方案构造的, 故详细证明过程可参考文献15。4.3 基于 AGCD 问题的安全性证明本方案的安全性基于近似公因子 (AGCD) 难题和计算版本的 Co-Diffie-Hellman 问题。Co-Diffie-Hellman 问题作为一些密码系统困难问题的基础已经得到了证明和广泛的应用。下面就给出基于 AGCD 问题的安全性证明。它的主要证明思路是使用攻击算法 A 来构造求解困难问题的算法 B, 包括 4 个步骤: (1) 利用困难问题产生方案的公钥
24、; (2) 利用 A 构造求解 p 的商的最小比特位; (3) 执行 Binary-GCD 算法; (4) 恢复 p。定理 1 在 3.1 节的方案中固定参数 (, , , ) , 安全系数 。任意的攻击者 A 以优势 攻击加密方案都可以转化成求解器 B 以至少 /2 优势求解参数为 (, , ) 的近似 AGCD 问题。B 的运行时间是 t A, 和的多项式, t A是 A 的运行时间。证明攻击者 A 以 的优势攻击本方案, 也就是说, A 以 的优势输入公钥和密文 (由该方案的算法获得公钥和密文) , 正确输出明文的概率至少是在参数为 , , 时, 构造求解近似 AGCD 困难问题的求解器 B, 对于随机选取的 bit 的奇整数 p, 求解器 B 需要从分布 Dr, (p) 中获得多个样本, 求解目标 p。Step1:创建公钥。首先, 求解器 B 为方案创建一个公钥