论文部分内容阅读
近年来,基于JSON的加密及签名算法随着JSON的普及被广泛应用。利用其加密算法可以保证数据在端点存储的私密性;利用其签名算法可以提供性能表现更卓越、更具拓展性的用户认证功能。然而,基于JSON的加密和签名算法中暗含一些密码学算法相关的安全问题,存在被攻击的隐患。因此,针对这些密码学算法的安全问题进行研究,进而发现其中的漏洞并进行加固具有重要的现实意义。为此,本文从安全性角度出发,研究基于JSON的加密及签名算法,并根据分析出的问题构造攻击实验,同时为解决上述问题提出对应加固方案。本文主要完成了以下工作:在基于JSON的加密算法当中,本文分别对基于JSON的RSA-PKCS#1加密算法和椭圆曲线密钥交换算法展开安全性问题的研究。本文提出了一种通过选择密文攻击的方式来破解由基于JSON的RSA-PKCS#1加密算法加密的密文。并且,针对此安全漏洞,提出一种改进的加固方案,使用固定值代替随机数,可以使得服务器对攻击请求消息无差别反馈,以避免选择密文攻击。同时,本文提出了利用无效曲线攻击的方法攻击基于JSON的椭圆曲线密钥交换算法。并且,本文提出通过检测公共参数,来筛选出含有无效曲线的请求消息的加固方案。在基于JSON的签名算法当中,本文对基于JSON的散列消息认证码设计了基于分布式计算的暴力破解攻击方法。利用Zero MQ无限制拓展客户端的特性,将暴力破解计算量分散到分布式计算终端当中,加快暴力破解速度。由于暴力破解攻击并非因某一安全漏洞而产生,所以提出了通过增加密钥长度来增加破解难度的加固方案。另外,本文还基于JSON的签名序列结构设计了签名绕过攻击方法,同时提出了通过替换签名参数为安全链接的加固方案来免除此类攻击的威胁。为了验证本课题提出的攻击方法的实用性,对上述四种攻击方法,搭建了相应的攻击环境,并分别实现了四种攻击方法的实验验证。实验结果表明:基于JSON的加密及签名算法存在上述四种攻击所针对的安全问题。同时通过本文的加固方案也能够有效地增强基于JSON的加密及签名算法的安全性。