1.一种基于哈希树及匿名技术的安全数据汇报系统,包括四个参与方:可信中心TA、控制中心CC、网关GW、住户区RA,网关GW连接TA和RA,其特征在于:包含七个模块:系统初始化模块、会话密钥协商模块、自治聚集形成模块、离线预计算模块、在线用电量数据汇报模块、安全数据收集模块、安全数据读取模块。
2.如权利要求1所述的基于哈希树及匿名技术的安全数据汇报系统,其特征在于:系统初始化模块:
1)TA根据输入的安全参数 ,随机选择大素数 和 ,满足 和 ;
公开 ;
2)根据输入的安全参数 ,产生RSA系统参数:选择两个素数 和 ,满足 ,计算 ;
随机选择与 互素的参数 ,计算满足 的参数 ;
选择两个安全的哈希函数, 和 ;
保密 ,公开 ;
3)用户 (真实身份为 )与TA交互,执行以下操作,获得经过TA认证的私钥,以及对应的伪身份 :选择 ,计算 ,将 和 发送给TA;
TA产生 的伪身份 ,选择,计算 , 和
,其中 是TA的身份;
TA将 保存在本地数据库中,并将 发送给 ;
计算 ,并通过计算
,验证匿名密钥 的有效性;
由于设计的安全模型中,不考虑隐藏 GW 的身份,因此可以通过执行类似的操作,产生 GW 的秘密信息 ,满 足,其中 为GW的真
实身份;
4) 保密 ,TA公开 作为 的伪身份信息;GW保密 ,TA公开;
5)TA产生GW的公钥和私钥 和 ,并产生CC的公钥和私钥和 ;
同时选择AES加密算法作为对称密码系统, 和 分别为基于对称密钥k的加密和解密算法。
3.如权利要求2所述的基于哈希树及匿名技术的安全数据汇报系统,其特征在于:会话密钥协商模块,包括:(2.1)匿名会话密钥协商模块假设 和 分别是聚集成员 和聚集簇首 的伪身份;
和 分别是 和 的私钥,并满足和
;
和 通过交互执行以下操作,匿名协商共享会话密钥 :
1) 执行以操作:
随机选择 ,并计算 ;
随机选择 ,并计算 ;
利用与伪身份 相对应的匿名密钥 ,计算,产生对 的签名;
保密 ,并将 发送给 ;
2) 执行以下操作:当接收到 以后, 验证是否成立,以检查签
名的有效性;
随机选择 ,并计算 ;
随机选择 ,并计算 ;
利用与伪身份 相对应的匿名密钥 ,计算,产生对 的签名;
保密 ,并将 发送给 ;
计算并获得共享会话密钥;
3) 执行以下操作:当接收到 以 后, 验证是否成立,以检查签名的有效性;
计算并获得共享会话密钥;
(2.2)半匿名会话密钥协商模块半匿名会话密钥协商与匿名会话密钥协商类似,只是GW利用与其真实身份相对应的秘密信息 与具有匿名身份 的聚集簇首 交互;
最终在每个 和 GW 之间产生和共享会话密钥,其中 和 分别为
和GW的秘密信息。
4.如权利要求3所述的基于哈希树及匿名技术的安全数据汇报系统,其特征在于:自治聚集形成模块,根据地理就近原则,邻近的用户形成并自发加入相同的聚集;
并在每一个聚集中指定一个 作为簇首;最终形成w个聚集 ,每个聚集 中用户的数量为 (其中 );为了提高系统运行效率,通过在中扩展最少数量的伪用户(非真实用户),满足 ;
每一个聚集簇首和同一聚集中的所有聚集成员 ,以及GW,交互执行以下操作,协商相互间的会话密钥:
1)执行匿名会话密钥协商模块,在每一个 和 之间协商会话密钥;
2)执行半匿名会话密钥协商模块,在每一个簇首 和 GW之间协商会话密钥;
为了提高在线用电量数据汇报阶段的计算效率, 为每一个聚集成员 产生一个别名 ,其相对匿名身份 具有更短的长度(当选择 的长度为20比特位时,每个聚集 可支持 =100万个以上的用户);
同样,GW为每一个聚集簇首产生一个别名 ,其相对匿名身份 具有更短的长度。
5.如权利要求4所述的基于哈希树及匿名技术的安全数据汇报系统,其特征在于:离线预计算模块,在CH空闲时,通过与聚集中的所有成员交互,预计算并存储B棵哈希树:
1)每一个聚集成员 执行以下操作,提交B份离线哈希树信息;
在 中随机选择 B对 (其 中 ),计算对应的;
保密并存储所有的 ;
计算 (其中 );
利用共享会话密钥 加密 (其中 ),得到密文;
发送 给 ;
2)当接收到 份 以后(其中 ), 执行以下操作,构建B套完整的哈希树:
解密所有的 ,得到对应的明文(其中 );
构建哈希树:
对 到B,依次将所有的 (其中 )设为对应的叶子节点;
对于扩展的伪用户,同时将对应的叶子节点设为系统常数C;
对 到B,按照至底而上的顺序,计算所有的中间节点以及最终的根节点;
3) 执行以下操作,进行离线签名,并进行本地存储:随机选择 ,并计算 ;
计算 ,并获得签名
;
在本地存储 (其中 )。
6.如权利要求5所述的基于哈希树及匿名技术的安全数据汇报系统,其特征在于:在线用电量数据汇报模块,定义数据汇报的时间间隔为15分钟,各汇报时间点为,在某个汇报时间点 ,每一个聚集成员 执行以下操作,向聚集簇首 汇报用电量 :
1)搜索本地存储表获得和当前汇报时间点 相对应的 和 ,计算满足的 ,并获得
;
2)利用与 共享的会话密钥 ,加 密 ,得到密文:将 发送给
当从 接收到所有的汇报数据后, 执行以下操作:
1)利用与 对应的 解密 ,得到明文(其中 );
2)执行以下操作,重构哈希树:计 算 和 (其 中);
根据别名 ,设定对应的 作为叶子节点(其中 );
对于扩展的伪用户,同时将对应的叶子节点设为系统常数C;
按照至底而上的顺序,计算所有的中间节点以及最终的根节点 ;
3)搜索本地存储表 (其中 ),获得与 相对应的 ;
4)检查 是否成立;
如果成立, 中所有用户 (其中 )在 汇报时间点,汇报数据的完整性一次性全部得到验证;
5)利用与GW共享的会话密钥 ,加密用于恢复哈希树的所有叶子节点信息;
6)搜索本地存储表 (其中 ),获得与 相对应的 ,将 设为对根节点 的在线签名,并将 发送给GW。
7.如权利要求6所述的基于哈希树及匿名技术的安全数据汇报系统,其特征在于:安全数据收集模块,在汇报时间点 ,当接收到全部w个 CH的以后(其中 ),GW执行以下操作,进行安全数据收集:
1)根据 ,解密并获得明文:;
2)执行以下操作,恢复每个聚集 中的根节点 :计算 和 (其中 );
依次将所有的 (其中 )设为对应的叶子节点;
对于扩展的伪用户,同时将对应的叶子节点设为系统常数C;
按照至底而上的顺序,类似于图4所示,计算所有的中间节点以及最终的根节点;
3)对每个聚集 ,利用公开信息 ,通过验证,验证对于
根节点 签名 的正确性;如果验证通过, 中所有用户汇报数据的完整性一次性全部得到验证,从而极大程度提高在线处理效率;
4)执行以下操作,对所有聚集 中的所有用电量数据 进行加密和签名;
利用CC的公钥对 进行加密:;
利用GW的私钥对 进行签名: ;
5)将 发送给CC。
8.如权利要求7所述的基于哈希树及匿名技术的安全数据汇报系统,其特征在于:安全数据读取模块,当接收到 以后,CC执行以下操作,在保护用户隐私和数据完整性的前提下,获取所有用户的用电量数据:
1)检查 有效性: ;
2)解密 ,获得所有的用电量数据:。