论文部分内容阅读
在当今复杂的互联网环境下,为了保障数据的安全和身份的真实性,最有效地解决方案就是使用加密和签名技术。面对传统的密码技术存在的一系列问题,本文对基于身份的ECC密码技术(IB-ECC)进行了研究并对其中的客户端相关模块给予了实现。在传统密码技术中,公钥基础设施(PKI)是一种成熟的安全解决方案,然而PKI技术存在密钥管理和证书管理十分复杂的问题。通过对基于身份的密码技术(IBC)的研究,发现IBC算法可以解决了PKI的证书管理问题并且私钥恢复简单,然而IBC算法的效率无法令人满意,且当前IBC还没有应用层统一的标准,对应用的推广十分不方便。针对这个问题,通过对新近公开的椭圆曲线密码算法(ECC)进行研究发现,ECC算法与RSA或IBC算法进行比较,可以明显地发现ECC算法运算速度较快,且在同等安全强度情况下其密钥长度较短。IB-ECC密码技术很好地结合了上述多种技术的优点,可通过身份标识直接计算出对应于ECC算法的公钥和私钥,通过安全通道分发数据,然后由客户端密码模块实现密码运算。首先,对于IB-ECC安全交互过程,本文设计了IB-ECC安全交互协议并实现了密钥服务客户端。然后,本文重点设计并实现了两个IB-ECC密码模块。由于在当前主流的密码应用中,大多数使用的是CryptoAPI和Cryptoki标准接口,因此本文分别实现了这两种接口依赖的CSP密码模块和PKCS#11密码模块。在IB-ECC密码模块的实现中,本文借助了伪RSA数字证书和伪密钥的使用保证了对主流的基于数字证书的密码应用的支持。此外,作为应用的完善,本文设计并实现了终端密钥管理程序。该部分实现了对本地存储数据的可视化管理和私钥的自动更新等功能。本文的创新点体现在以下两个方面:一是目前被广泛使用的标准接口没有提供对IB-ECC密码技术的支持,本文通过使用伪RSA数字证书和伪密钥实现的IB-ECC密码模块可以使当前主流的基于数字证书的密码应用程序通过标准接口就可以支持IB-ECC密码技术;二是为了安全和方便,本文对传统密码方案进行改进,设计并实现了IB-ECC私钥的自动更新。