PKI Tutorials

Posted on Fri 11 September 2009 in it

这篇公钥基础设施PKI简介作为入门材料还不错,而想搞清X.509和PKI标准的关系,可以看这个

看了Wikipedia上对Public key infrastructure的介绍,觉得Peter Gutmann写的PKI tutorial看着比较清爽,有时间有兴趣的可以下了这个pdf文档看一下。他文章的标题叫“Everything you Never Wanted to Know about PKI but were Forced to Find Out ”,可以继续进阶。

首先必须要明白PKI的定义和组成

定义上看,PKI是一个由公开密钥密码技术、数字证书、证书发放机构(CA)和关于公开密钥的安全策略等组成的安全解决方案(infrastructure说明这个解决方案非常需要硬件的支持)。
技术组成上看,主要包括四个部分:
1)证书:X.509格式的证书(X.509V3)和证书废止列表CRL(X.509V2);
2)CA操作协议;
3)CA管理协议;
4)CA政策制定
系统组成上看,至少包括以下部分:
1)认证中心CA
CA是PKI的核心,CA负责管理PKI结构下的所有用户(包括各种应用程序)的证书,把用户的公钥和用户的其他信息捆绑在一起,在网上验证用户的身份,CA还要负责用户证书的黑名单登记和黑名单发布,后面有CA的详细描述。
2)X.500目录服务器
X.500目录服务器用于发布用户的证书和黑名单信息,用户可通过标准的LDAP协议查询自己或其他人的证书和下载黑名单信息。具有高强度密码算法(SSL)的安全WWW服务器Securesocketlayer(SSL)协议
3)具有高强度密码算法(SSL)的安全WWW服务器
是现在网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。
4)Web(安全通信平台)
Web有WebClient端和WebServer端两部分,分别安装在客户端和服务器端,通过具有高强度密码算法的SSL协议保证客户端和服务器端数据的机密性、完整性、身份验证。
5)自开发安全应用系统
自开发安全应用系统是指各行业自开发的各种具体应用系统,例如银行、证券领域的交易应用系统等。

PKI的原理

对称密码学,加密运算与解密运算使用同样的密钥。通常,使用的加密算法比较简便高效,密钥简短,破译极其困难,由于系统的保密性主要取决于密钥的安全性,所以,在公开的计算机网络上安全地传送和保管密钥是一个严峻的问题。
正是由于对称密码学中双方都使用相同的密钥,因此无法实现数据签名和不可否认性等功能。

非对称密码学,具有两个密钥,一个是公钥一个是私钥,它们具有这种性质:用公钥加密的文件只能用私钥解密,而私钥加密的文件只能用公钥解密。公钥顾名思义是公开的,所有的人都可以得到它;私钥也顾名思义是私有的,不应被其他人得到,具有唯一性。这样就可以满足电子商务中需要的一些安全要求。
比如说要证明某个文件是特定人的,该人就可以用他的私钥对文件加密,别人如果能用他的公钥解密此文件,说明此文件就是这个人的,这就可以说是一种认证的实现。还有如果只想让某个人看到一个文件,就可以用此人的公钥加密文件然后传给他,这时只有他自己可以用私钥解密,这可以说是保密性的实现。基于这种原理还可以实现完整性。这就是 PKI 所依赖的核心思想,这部分对于深刻把握 PKI 是很重要的,而恰恰这部分是最有意思的。

 

PKI和X.509标准

PKI的标准规定了PKI的设计、实施和运营,规定了PKI各种角色的“游戏规则”。如果两个PKI应用程序之间要想进行交互,只有相互理解对方的数据含义,标准就提供了数据语法和语义的共同约定。其中最重要的流行标准是X.509标准,因为它定义了公钥证书的基本结构;其次是PKCS标准,它定义了数据通信协议的主要标准。这些标准定义了如何恰当地格式化私钥或者公钥。其他重要标准包括PKIX证书和CRL概要文件、IEEE P1363项目对密码算法的定义,以及IETF工作组研究的XML数字签名等。

X.509是国际电信联盟-电信(ITU-T)部分标准和国际标准化组织(ISO)的证书格式标准。作为ITU-ISO目录服务系列标准的一部分,X.509是定义了公钥证书结构的基本标准。1988年首次发布,1993年和1996年两次修订。当前使用的版本是X.509 V3,它加入了扩展字段支持,这极大地增进了证书的灵活性。X.509 V3证书包括一组按预定义顺序排列的强制字段,还有可选扩展字段,即使在强制字段中,X.509证书也允许很大的灵活性,因为它为大多数字段提供了多种编码方案。X.509 V4版已经推出。

X.509标准在PKI中起到了举足轻重的作用,PKI由小变大,由原来网络封闭环境到分布式开放环境,X.509起了很大作用,可以说X.509标准是PKI的雏形。PKI是在X.509标准基础上发展起来的,研究、学习PKI的人,首先必须学习X.509标准。

PKI