当前位置:编程学习 > VC++ >>

VC++网络安全编程范例(12)-PKI编程

 

PKI(Public Key Infrastructure ) 即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。   

 

PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。

 

 

PKI是Public Key Infrastructure的缩写,是指用公钥概念和技术来实施和提供安全服务的具有普适性的安全基础设施。这个定义涵盖的内容比较宽,是一个被很多人接受的概念。

 

这个定义说明,任何以公钥技术为基础的安全基础设施都是PKI。当然,没有好的非对称算法和好的密钥管理就不可能提供完善的安全服务,也就不能叫做PKI。也就是说,该定义中已经隐含了必须具有的密钥管理功能。  

 

 X.509标准中,为了区别于权限管理基础设施(Privilege Management Infrastructure,简称PMI),将PKI定义为支持公开密钥管理并能支持认证、加密、完整性和可追究性服务的基础设施]。这个概念与第一个概念相比,不仅仅叙述PKI能提供的安全服务,更强调PKI必须支持公开密钥的管理。也就是说,仅仅使用公钥技术还不能叫做PKI,还应该提供公开密钥的管理。因为PMI仅仅使用公钥技术但并不管理公开密钥,所以,PMI就可以单独进行描述了而不至于跟公钥证书等概念混淆。X.509中从概念上分清PKI和PMI有利于标准的叙述。然而,由于PMI使用了公钥技术,PMI的使用和建立必须先有PKI的密钥管理支持。也就是说,PMI不得不把自己与PKI绑定在一起。当我们把两者合二为一时,PMI+PKI就完全落在X.509标准定义的PKI范畴内。根据X.509的定义,PMI+PKI仍旧可以叫做PKI,而PMI完全可以看成PKI的一个部分。   美国国家审计总署在2001年[iii]和2003年的报告中都把PKI定义为由硬件、软件、策略和人构成的系统,当完善实施后,能够为敏感通信和交易提供一套信息安全保障,包括保密性、完整性、真实性和不可否认。尽管这个定义没有提到公开密钥技术,但到目前为止,满足上述条件的也只有公钥技术构成的基础设施,也就是说,只有第一个定义符合这个PKI的定义。所以这个定义与第一个定义并不矛盾。  

 

 综上所述,我们认为:PKI是用公钥概念和技术实施的,支持公开密钥的管理并提供真实性、保密性、完整性以及可追究性安全服务的具有普适性的安全基础设施。

完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。   PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。PKI的基础技术包括加密、数字签名、数据完整性机制、数字信封、双重数字签名等。一个典型、完整、有效的PKI应用系统至少应具有以下部分:

 

   · 公钥密码证书管理。  

 

 · 黑名单的发布和管理。  

 

 · 密钥的备份和恢复。  

 

 · 自动更新密钥。  

 

 · 自动管理历史密钥。  

 

 · 支持交叉认证。   

 

认证机构(CA):即数字证书的申请及签发机关,CA必须具备权威性的特征;  

 

 数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥;  

 

 密钥备份及恢复系统:如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。

 

为避免这种情况,PKI提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥为确保其唯一性而不能够作备份。   证书作废系统:证书作废处理系统是PKI的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等。为实现这一点,PKI必须提供作废证书的一系列机制。

 

  应用接口(API):PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。   通常来说,CA是证书的签发机构,它是PKI的核心。众所周知,构建密码服务系统的核心内容是如何实现密钥管理。公钥体制涉及到一对密钥(即私钥和公钥),私钥只由用户独立掌握,无须在网上传输,而公钥则是公开的,需要在网上传送,故公钥体制的密钥管理主要是针对公钥的管理问题,目前较好的解决方案是数字证书机制。

 

 

PKI就是一种基础设施,其目标就是要充分利用公钥密码学的理论基础,建立起一种普遍适用的基础设施,为各种网络应用提供全面的安全服务。公开密钥密码为我们提供了一种非对称性质,使得安全的数字签名和开放的签名验证成为可能。而这种优秀技术的使用却面临着理解困难、实施难度大等问题。正如让电视机的开发者理解和维护发电厂有一定的难度一样,要让每一个应用程序的开发者完全正确地理解和实施基于公开密钥密码的安全有一定的难度。PKI希望通过一种专业的基础设施的开发,让网络应用系统的开发人员从繁琐的密码技术中解脱出来而同时享有完善的安全服务。  

 

 将PKI在网络信息空间的地位与电力基础设施在工业生活中的地位进行类比可以更好地理解PKI。电力基础设施,通过伸到用户的标准插座为用户提供能源,而PKI通过延伸到用户本地的接口,为各种应用提供安全的服务。有了PKI,安全应用程序的开发者可以不用再关心那些复杂的数学运算和模型,而直接按照标准使用一种插座(接口)。正如电冰箱的开发者不用关心发电机的原理和构造一样,只要开发出符合电力基础设施接口标准的应用设备,就可以享受基础设施提供的能源。   

 

PKI与应用的分离也是PKI作为基础设施的重要标志。正如电力基础设施与电器的分离一样。网络应用与安全基础实现了分离,有利于网络应用更快地发展,也有利于安全基础设施更好地建设。正是由于PKI与其他应用能够很好地分离,才使得我们能够将之称为基础设施,PKI也才能从千差万别的安全应用中独立出来,才能有效地独立地发展壮大。PKI与网络应用的分离实际上就是网络社会的一次“社会分工”,这种分工可能会成为网络应用发展史上的重要里程碑。

 

 

PKI作为一种安全技术,已经深入到网络的各个层面。这从一个侧面反映了PKI强大的生命力和无与伦比的技术优势。PKI的灵魂来源于公钥密码技术,这种技术使得“知其然不知其所以然”成为一种可以证明的状态,使得网络上的数字签名有了理论上的安全保障。围绕着如何用好这种非对称密码技术,数字证书破壳而出,并成为PKI中最为核心的元素。  

 

 PKI的优势主要表现在:  

 

 1、 采用公开密钥密码技术,能够支持可公开验证并无法仿冒的数字签名,从而在支持可追究的服务上具有不可替代的优势。这种可追究的服务也为原发数据完整性提供了更高级别的担保。支持可以公开地进行验证,或者说任意的第三方可验证,能更好地保护弱势个体,完善平等的网络系统间的信息和操作的可追究性。  

 

 2、 由于密码技术的采用,保护机密性是PKI最得天独厚的优点。PKI不仅能够为相互认识的实体之间提供机密性服务,同时也可以为陌生的用户之间的通信提供保密支持。   

 

3、 由于数字证书可以由用户独立验证,不需要在线查询,原理上能够保证服务范围的无限制地扩张,这使得PKI能够成为一种服务巨大用户群的基础设施。PKI采用数字证书方式进行服务,即通过第三方颁发的数字证书证明末端实体的密钥,而不是在线查询或在线分发。这种密钥管理方式突破了过去安全验证服务必须在线的限制。   

 

4、PKI提供了证书的撤销机制,从而使得其应用领域不受具体应用的限制。撤销机制提供了在意外情况下的补救措施,在各种安全环境下都可以让用户更加放心。另外,因为有撤销技术,不论是永远不变的身份、还是经常变换的角色,都可以得到PKI的服务而不用担心被窃后身份或角色被永远作废或被他人恶意盗用。为用户提供“改正错误”或“后悔”的途径是良好工程设计中必须的一环。  

 

 5、PKI具有极强的互联能力。不论是上下级的领导关系,还是平等的第三方信任关系,PKI都能够按照人类世界的信任方式进行多种形式的互联互通,从而使PKI能够很好地服务于符合人类习惯的大型网络信息系统。PKI中各种互联技术的结合使建设一个复杂的网络信任体系成为可能。PKI的互联技术为消除网络世界的信任孤岛提供了充足的技术保障。

 

 

在寻找PKI的招牌应用(Killer Application)屡告失败后,PKI突破性的增长并没有出现。大量的投资进入了PKI建设中却没有带来预期的收益。有人说PKI根本就是一种骗术,有些人说PKI已经死了,而有人说它没有死,只是在休息。    

 

 2001年,美国审计总署总结PKI发展面临的挑战时指出,互操作问题,系统费用昂贵等是当时的主要困难。2003年美国审计总署总结联邦PKI发展问题时仍旧强调,在PKI建设中,针对技术问题

补充:综合编程 , 安全编程 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,