公开密钥体系

  PKI(Public Key Infrastructure 的缩写)即"公开密钥体系",是一个利用现代密码学的公钥密码技术、并在开放的Internet网络环境中提供数据加密以及数字签名服务的、统一的技术框架。常用的公开密钥算法有RSA、DSA和Diffie Hellman等。

概述

  1976年,Whitfield Diffie和Martin Hellman提出了公开密钥理论,奠定了PKI体系的基础。PKI(Public Key Infrastructure 的缩写)即"公开密钥体系",是一个利用现代密码学的公钥密码技术、并在开放的Internet网络环境中提供数据加密以及数字签名服务的、统一的技术框架。常用的公开密钥算法有RSA、DSA和Diffie Hellman等。使用公开密钥算法(又叫非对称加密算法)的用户同时拥有公钥和私钥。私钥不能通过公钥计算出来。私钥由用户自己持有,公钥可以明文发送给任何人,公开密钥理论解决了对称加密系统的密钥交换问题。

原理

  公钥加密/私钥解密完成对称算法密钥的交换:

  公开密钥算法的速度比对称算法慢得多,并且由于任何人都可以得到公钥,公开密钥算法对选择明文攻击很脆弱,因此公钥加密/私钥解密不适用于数据的加密传输。为了实现数据的加密传输,公开密钥算法提供了安全的对称算法密钥交换机制,数据使用对称算法加密传输。两个用户(A和B)使用公开密钥理论进行密钥交换的过程如下:

公共密钥体系原理

安全性分析

  PKI密钥交换和身份验证的安全性依赖于PKI使用的公开密钥算法、对称加密算法和消息摘要算法。

  当前使用的公开密钥算法的安全性大都基于大数分解的难度。从一个公钥和密文中恢复出明文的难度等价于分解两个大素数的乘积。当前可以完成的大数分解的位数是140位。对于当前市场上广泛使用的1024位的RSA公开密钥算法来说,它被破解的可能性是微乎其微的。对于128位密钥来说,即使全世界的计算机同时进行群举攻击,破译128位密钥所需要的时间也是一个天文数字。对于消息摘要算法,单向散列函数的设计已经十分成熟。市场上广泛使用的MD5、SHA算法的散列值分别为128、160位,足以阻止所有的群举攻击的企图。由此看来,PKI机制是一个成熟的、安全的技术。

技术的发展

  基于PKI技术,人们又开发了很多的安全协议。其中最着名、应用最为广泛的是SSL和SET协议。

  SSL(安全套接字)协议利用PKI技术来进行身份认证、完成数据加密算法及其密钥协商,很好地解决了身份验证、加密传输和密钥分发等问题。SSL被大家广泛接受和使用,是一个通用的安全协议。在SSL协议上面可以运行所有基于TCP/IP的网络应用。

  SET安全电子交易协议采用公钥密码体制和X.509数字证书标准,主要应用于BtoC模式中保障支付信息的安全性。SET协议是PKI框架下的一个典型实现,同时也在不断升级和完善。国外的银行和信用卡组织大都采用了SET协议。

相关百科