无碰撞组合公钥的种子密钥矩阵的优化设计方案
0 引言
在开放式信息系统中,尤其是在国防军事工业、金融系统、电子商务等安全需求级别较高的行业,身份认证是建立信任、保证安全通信的基础和关键环节。
目前,在身份认证领域中,主要存在3种方式:
1)基于公钥基础设施(Public Key Infrastructure, PKI)的认证系统。PKI认证具有基于第三方认证、容量小等特点[1],其实现主要依赖于层次化的证书授证(Certificate Authority, CA)中心和在线运行的数据库,因此面临着诸如证书管理、验证、撤销、域间交叉认证等许多复杂问题[2],运行和维护开销比较大。此外,PKI的层次化CA机制,面临着信任退化问题。
2)基于标识加密(Identity-Based Cryptograph, IBC)算法的身份认证系统。基于标识的IBC认证,不再依靠第三方证明层次化的CA机构链。但是,要保留大量用户参数[3],运算复杂度较高,导致运行效率不高,而且没能很好地解决密钥规模化的问题[4]。
3)基于组合公钥(Combined Public Key, CPK)技术[5-8]的身份认证系统。CPK是我国学者南湘浩[5]提出的具有完全知识产权的认证技术,它具有认证时无需第三方CA支持、运算速度快、少量的密钥因子可以组合出规模巨大的密钥对的特点,可以有效地解决大规模密钥的集中管理[9]和直接身份认证两大难题[10],并可以实现跨域认证。因此,CPK得到了广泛的研究,并被运用在Ad Hoc网络[11]、云计算[12]和无线射频识别(Radio Frequency Identification,RFID)系统[13]等方面。
在CPK认证系统中,用户公、私钥的生成过程可能产生密钥碰撞。用户密钥碰撞的原因有两个:1)用户身份标识(Identification, ID)号进行Hash(ID)运算引起的碰撞;2)密钥因子运算时产生的碰撞。密钥碰撞会使通信丧失保密性和不可否认性,破坏整个认证系统安全。
文献[14]中,对CPK中随机碰撞发生的概率进行了研究与分析,指出虽然CPK随机碰撞概率很小,但仍有可能发生。
文献[15]中提出了一种避免密钥“组合加”运算产生密钥碰撞的方法,但是没有针对不同实体的“私钥因子和”在模“n”运算下可能产生的碰撞进行讨论。
文献[16]通过分离矩阵列数量级以及约束椭圆曲线的基点的阶n,消除了不同实体的“私钥和”在模“n”运算后产生的碰撞,但是并没有消除用户身份标识进行Hash运算时可能产生的碰撞。
文献[17]提出在密钥产生的流程中,通过公钥对比来避免密钥碰撞,降低了种子公、私钥因子选取过程的复杂度,但是在密钥产生的过程中需要访问公钥数据库,增加系统运行和维护开销;而且公钥数据库的存在,增大了系统遭受量子穷举攻击的风险[6]41。
文献[18]提出了两种可以避免密钥碰撞的CPK种子公、私钥组合选取方法(方法2和方法3)来生成用户公、私钥。这两种方法与文献[16]中的种子公、私钥库的选取构建方法相比,消除了用户身份标识Hash运算产生的碰撞;在产生相同的公、私钥空间下,进一步降低了种子公、私钥矩阵的规模(种子公、私钥因子的数量),提高了种子密钥的使用效率。
本文从标识密钥的生成和无碰撞种子矩阵的构建环节出发,提出了一种系数序列重映射方法,不仅解决上述的一系列问题,而且进一步降低了椭圆曲线的规模和种子公、私钥矩阵的存储空间,从而减少CPK认证的资源消耗,提高CPK系统的认证速度。
5 安全性分析
组合公钥存在共谋攻击问题[21-23]和量子穷举攻击问题,围绕共谋攻击问题,产生了两类解决方案:
1)分析共谋攻击的发生条件并从原理上研究解决共谋攻击的方法[17,24];
2)采取硬件保护等技术,解决共谋攻击[6]41。
6 结语
本文提出的基于标识系数重映射方法建立的CPK认证系统,解决了密钥碰撞和椭圆曲线规模膨胀等问题,进一步降低种子矩阵占用的存储空间,提高CPK的认证效率,适用于存储空间和运算能力受限的设备。另外,本文在标识映射环节使用分组加密算法,可能会降低系统的安全性,因此如何在标识映射环节,兼顾安全性和产生无碰撞的二进制比特流是下一步需要重点研究的工作。
- 上一篇:面向移动终端的隐私数据安全存储及自毁方案
- 下一篇:差分隐私二维数据流统计发布