pki技术,PKI技术安全电子商务的基石

PKI技术安全电子商务的基石 - 网络安全 - 电脑教程网

PKI技术安全电子商务的基石

日期:2006-06-02   荐:
PKI的原理   早期的加密系统是基于对称加密理论(即单密钥加密理论),其特点是加密密钥和解密密钥可以互相推导,发送者和接收者在安全通信之前需要商定一个密钥。对称加密的安全性依赖于密钥,泄露密钥意味着任何人都能对信息进行加/解密。随着对称加密理论的发展,出现了很多对称算法。虽然对称加密算法解决了数据的保密传输,但是对称加密系统的致命缺陷--依赖于密钥的安全,致使对称加密系统解决不了密钥分配与管理问题。
  1976年,Whitfield Diffie和Martin Hellman提出了公开密钥理论,奠定了PKI体系的基础。PKI(Public Key InfrastrUCture 的缩写)即"公开密钥体系",是一个利用现代密码学的公钥密码技术、并在开放的Internet网络环境中提供数据加密以及数字签名服务的、统一的技术框架。常用的公开密钥算法有RSA、DSA和Diffie Hellman等。使用公开密钥算法(又叫非对称加密算法)的用户同时拥有公钥和私钥。私钥不能通过公钥计算出来。私钥由用户自己持有,公钥可以明文发送给任何人,公开密钥理论解决了对称加密系统的密钥交换问题。
  公钥加密/私钥解密完成对称算法密钥的交换:
  公开密钥算法的速度比对称算法慢得多,并且由于任何人都可以得到公钥,公开密钥算法对选择明文攻击很脆弱,因此公钥加密/私钥解密不适用于数据的加密传输。为了实现数据的加密传输,公开密钥算法提供了安全的对称算法密钥交换机制,数据使用对称算法加密传输。两个用户(A和B)使用公开密钥理论进行密钥交换的过程如下:
screen.width-300)this.width=screen.width-300" border=0>

在对称算法密钥的协商过程中,密钥数据使用公钥加密。在保证私钥安全的前提下,攻击者即使截获传输的信息也不能得到加密算法的密钥,这就保证了对称算法密钥协商的安全性。
  私钥加密/公钥解密完成身份验证、提供数字签名:
  公开密钥算法可以实现通信双方的身份验证。下面是一个很简单的身份验证的例子(A验证B的身份):
screen.width-300)this.width=screen.width-300" border=0>

同样的原理,公开密钥算法可以进行数据的签名和验证。A需要对一块数据签名,A只需要使用自己的私钥加密该数据就可以完成签名。A把数据和数据签名(私钥加密的结果)一起发送给B,B使用A的公钥解密签名,然后和数据进行比较,如果相同则该签名确实是A签署的,并且数据没有被篡改。
  同样是因为公开密钥的算法较慢,数据签名一般不直接使用私钥加密数据,而是加密数据的散列值。数据块的散列值可以通过消息摘要算法计算得到。消息摘要算法实际上就是一个单向散列函数。数据块经过单向散列函数得到一个固定长度的散列值,攻击者不可能通过散列值而编造数据块,使得编造的数据块的散列值和原数据块的散列值相同。数据块的签名就是先计算数据块的散列值,然后使用私钥加密数据块的散列值得到数据签名。签名的验证就是计算数据块的散列值,然后使用公钥解密数据签名得到另一个散列值,比较两个散列值就可以判断数据块在签名后有没有被改动。常用的消息摘要算法有MD5、SHA等。
  公钥算法仍然要面对公钥分发、公钥/私钥密钥对与用户真实身份的绑定问题。 PKI引入证书机制解决了这个问题。证书是由证书中心颁发。
  用户在获得自己的身份证书后,就可以使用证书来表明自己的身份,接收方只需要使用签发证书的公钥验证用户证书,如果验证成功,就可以信任该证书描述的用户的身份。证书的签发/验证充分利用了公开密钥算法的数据签名和验证功能,杜绝了冒充身份的可能性。
  PKI的安全性分析
  PKI密钥交换和身份验证的安全性依赖于PKI使用的公开密钥算法、对称加密算法和消息摘要算法。
  当前使用的公开密钥算法的安全性大都基于大数分解的难度。从一个公钥和密文中恢复出明文的难度等价于分解两个大素数的乘积。当前可以完成的大数分解的位数是140位。对于当前市场上广泛使用的1024位的RSA公开密钥算法来说,它被破解的可能性是微乎其微的。对于128位密钥来说,即使全世界的计算机同时进行群举攻击,破译128位密钥所需要的时间也是一个天文数字。对于消息摘要算法,单向散列函数的设计已经十分成熟。市场上广泛使用的MD5、SHA算法的散列值分别为128、160位,足以阻止所有的群举攻击的企图。由此看来,PKI机制是一个成熟的、安全的技术。
  PKI技术的发展
  基于PKI技术,人们又开发了很多的安全协议。其中最著名、应用最为广泛的是SSL和SET协议。
  SSL(安全套接字)协议利用PKI技术来进行身份认证、完成数据加密算法及其密钥协商,很好地解决了身份验证、加密传输和密钥分发等问题。SSL被大家广泛接受和使用,是一个通用的安全协议。在SSL协议上面可以运行所有基于TCP/IP的网络应用。
  SET安全电子交易协议采用公钥密码体制和X.509数字证书标准,主要应用于BToC模式中保障支付信息的安全性。SET协议是PKI框架下的一个典型实现,同时也在不断升级和完善。国外的银行和信用卡组织大都采用了SET协议。

[1] [2]  

(出处:http://www.sheup.com)


 [1] [2] 

标签: