PKI的概念与服务

        20世纪80年代,美国学者提出了PKI(公开密钥设施)的概念。为了推进PKI在联邦政府范围内的应用,美国在1996年成立了联邦PKI指导委员会;1999年,PKI论坛成立;2000年4月,美国国防部宣布要采用PKI安全倡议方案。2001年6月13日,在亚洲和大洋洲推动PKI进程的国际组织宣告成立,它就是“亚洲PKI论坛”,其宗旨是在亚洲地区推动PKI标准化,为实现全球范围的电子商务奠定基础。

        7月初,“亚洲PKI论坛”第二届年会将在北京召开,这将是迄今为止国内较大规模的PKI专题研讨会。作为提供信息安全服务的公共基础设施,PKI目前是公认的保障网络社会安全的标准体系。在我国,PKI建设在几年前就已开始启动,截止到目前,金融、政府、电信等部门已经建立了30多家CA认证中心。如何推广PKI应用,加强系统之间、部门之间、各国之间PKI体系的互通互联,已经成为PKI建设亟待解决的重要问题。为了推广PKI在国内的应用,加强国内PKI建设与国际间的合作,国家计委批准成立了“中国PKI论坛”,它将为PKI在中国的推广应用起到积极的促进作用。

        为了帮助读者了解PKI、了解PKI在电子商务、电子政务等领域的应用前景,《计算机世界》报(ccw)与“中国PKI论坛”(CPKIF)合作开辟“CCW-CPKIF PKI专栏”进行系列报道,从本期开始到7月中旬,我们将对PKI技术及其在国内外的应用情况、“亚洲PKI论坛”第二届年会进行一系列深入报道。有兴趣的读者请将反馈意见直接发邮件至gong_jie@ccw.com.cn。

        什么是PKI?

        PKI是Public Key Infrastructure(公开密钥基础设施)的缩写,是一种普遍适用的网络安全基础设施。一些美国学者把提供全面安全服务的基础设施,包括软件、硬件、人和策略的集合叫做PKI,但我们的理解更偏重于公开密钥技术。

        为什么说PKI是一种信息安全“基础设施”?原因很简单,因为它具备了基础设施的主要特征。让我们将PKI在网络信息空间的地位与电力基础设施在人们生活中的地位进行类比:电力系统通过延伸到用户端的标准插座为用户提供能源;PKI通过延伸到用户本地的接口为各种应用提供安全服务,包括认证、身份识别、数字签名、加密等。一方面,作为基础设施,PKI与使用PKI的应用系统是分离的,因此具有“公用”的特性;另一方面。离开PKI应用系统,PKI本身没有任何用处。正是这种基础设施的特性使PKI系统的设计和开发效率大大提高,因为PKI系统的设计、开发、生产及管理都可以独立地进行,不需要考虑应用的特殊性。

        有了PKI,安全应用程序的开发者就不必再关心复杂的数学模型和运算,只需要直接按照标准使用一种插座(接口)即可,正如人们在使用电吹风时不必关心电力是如何发送的一样。

        数字证书是PKI中基本的元素,所有安全操作都主要通过证书来实现。PKI的部件还包括签署这些证书的认证机构(CA)、登记和批准证书签署的登记机构(RA)以及存储和发布这些证书的电子目录。除此之外,PKI中还包括证书策略、证书路径、证书的使用者等。所有这些都是PKI的基本部件,它们有机地结合在一起就构成了PKI。

        可提供的服务

        在工业领域,提供能源的不仅仅是电力基础设施,煤气管道等也提供能源。同样地,在信息领域提供安全服务的设施也很多,但到目前为止,完善并正确实施的PKI系统是全面解决所有网络交易和通信安全问题的理想途径。

        根据美国NIST的描述,在网络通信和网络交易中,特别是在电子商务和电子政务业务中,需要的安全保证包括四个方面:身份标识和认证、保密或隐私、数据完整性与不可否认。

        PKI完全支持以上四个方面的保障,它所提供的服务主要包括以下几方面:

        1. 认证

        在现实生活中,认证采用的方式通常是两个人事前进行协商,确定一个秘密,然后依据这个秘密进行相互认证。随着网络的扩大和用户的增加,事前协商秘密会变得非常复杂,特别是在电子政务中,经常会有新聘用和退休的情况。另外,在大规模网络中,两两进行协商几乎是不可能的,透过一个密钥管理中心来协调也会有很大的困难,而且当网络规模巨大时,密钥管理中心甚至有可能成为网络通信的瓶颈。

        PKI通过证书进行认证,认证时对方知道你就是你但却无法知道你为什么是你。在这里,证书是一个可信的第三方证明,通过它,通信双方可以安全地进行互相认证而不用担心对方会假冒自己。

        2. 支持密钥管理

        通过加密证书,通信双方可以协商一个秘密,而这个秘密可以作为通信加密的密钥。在需要通信时,可以在认证的基础上协商一个密钥。在大规模网络中,特别是在电子政务中,密钥恢复也是密钥管理的一个重要方面,政府决不希望加密系统被贩毒分子窃取使用。当政府的个别职员背叛或利用加密系统进行反政府活动时,政府可以通过法定的手续解密其通信内容,保护政府的合法权益。PKI通过良好的密钥恢复能力,提供可信的、可管理的密钥恢复机制。PKI的普及应用能够保证在全社会范围内提供全面的密钥恢复与管理能力,保证网上活动的健康发展。

        3. 完整性与不可否认

        完整性与不可否认是PKI提供的基本的服务。一般来说,完整性也可以通过双方协商一个秘密来解决,但一方有意抵赖时,这种完整性就无法接受第三方的仲裁。PKI提供的完整性是可以通过第三方仲裁的,而这种可以由第三方进行仲裁的完整性是通信双方都不可否认的。例如,张三发送一个合约给李四,李四可以要求张三进行数字签名,签名后的合约不仅李四可以验证其完整性,其他人也可以验证该合约确实是张三签发的。而所有的人,包括李四,都没有模仿张三签置这个合约的能力。不可否认就是通过这样的PKI数字签名机制提供服务。当法律许可时,该不可否认可以作为法律依据(美国等一些国家已经颁布数字签名法)。正确使用时,PKI的安全性应该高于目前使用的纸面图章系统。

        完善的PKI系统通过非对称算法以及安全的应用设备,基本上解决了网络社会中的绝大部分安全问题(可用性除外)。PKI系统具有这样的能力,它可以将一个无政府的网络社会改造成为一个有政府、有管理和可以追究责任的社会,从而杜绝黑客在网上肆无忌惮的攻击。在一个有限的局域网内,这种改造具有更好的效果。目前,许多网站、电子商务、安全E-mail系统等都已经采用了PKI技术。

        存在的风险

        PKI的安全包括太多的方面,包括设备安全、运行安全、协议安全等。其中,算法安全最受关注,因为它是PKI安全的理论基础。

        PKI所依赖的是非对称算法。在非对称算法中,如果已知公开密钥(Public Key),那么在理论上就可以求出私有密钥(Private Key)。然而,公开的数学理论告诉我们,现有的非对称算法,如RSA算法,已经经历了考验,用一般的计算设备无法求解。但是否存在一个数学家,他已经找到通过公开密钥求解私有密钥的新方法?答案是:有可能。

        假设已经存在这样的算法又没有公开,那么保护这样的算法就必然花费较大的投入。它的使用必定与巨大的利益相关,如国与国之间的战争,而使用在普通商用领域的可能性不大。

        而在许多情况下,如物理隔离的网络环境下,攻击者应该连公开的密钥都得不到,因此使用时可以完全等同于一个公开了算法的分组算法(两个密钥都保密,算法公开)。这种使用方式有很大的应用空间,虽然没有人研究过在这种使用情况下的安全性,但可以知道,其密钥的信息熵大大高于一般分组算法的密钥信息熵。如果再加上其他密码技术的保证,其安全性就更加可靠。

        在将公开密钥彻底公开的前提下,所有安全都依赖于算法的安全。因此,是否有人能够破解算法就成为确定算法是否安全的焦点。其实,任何算法都具有一定的风险,广泛使用的对称算法也有被解密专家破解的危险,同时也有被穷举搜索破解的危险。一般来说,对称算法的穷举搜索次数与密钥长度有关,如果对称算法的密钥长度为128位,则穷举搜索平均需要进行2127次运算。公开密钥算法的风险也同样如此,只是需要的穷举搜索次数更多一些。例如,对于1024位的RSA算法,简单穷举搜索需要2511次运算。目前,已知的算法可以使穷举搜索次数降到2150次。从我们对数学的了解、公开的分析文章以及许多数学家的分析来看,找到更好的RSA破解算法是一个小概率事件,因此,既然对称算法同样有风险,为什么我们不能承受非对称算法的风险呢?