PKI系列协议分析

公钥基础设施(Public Key Infrastructure,简称PKI)是利用公钥理论和技术建立的提供加密和数字签名等安全服务的基础设施。它以公开密钥密码算法为基础,结合对称密码算法、摘要算法等,通过数字签名、数字证书等技术来保证网络传输数据的机密性、完整性、不可否认性以及身份鉴别等。
1. PKI的基础协议
PKI的基础协议有很多,如ITU-T X.680 Abstract Syntax Notation One(语法符号标准ASN.1)、ITU-T X.690 ASN.1 Encoding Rules(数据编码标准)和ITU-T X.500 系列标准等。而国际电信联盟ITU X.509协议,是PKI技术体系中应用最为广泛、也是最为基础的一个协议。它主要目的在于定义一个规范的数字证书格式,以便为基于X.500协议的目录服务提供一种认证手段。
一个标准的X.509数字证书是由用户公开密钥与用户标识符组成,此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等。最初的数字证书X.509v1版1988年发布,1993年国际电信联盟ITU公布X.509v2,增强了对目录存取控制和鉴别的支持。X.509v3版(1997年发布)支持扩展的概念,以提供更多的灵活性及特殊环境下所需的信息传送。X.509v3定义的公钥证书比X.509v2证书增加了多项预留扩展域,如:发证证书者或证书用户的身份标识,密钥标识,用户或公钥属性等。同时X.509v3对CRL结构也进行了扩展。最新的第四版X.509v4于2000年5月发布。X.509v4在扩展X.509v3的同时,提出了特权管理基础设施PMI(Privilege Management Infrastructure)和授权模型。PMI是建立在PKI提供的可信的身份认证服务的基础上,通过属性证书AC(Attribute Certificate),来对用户的访问进行授权管理。
2. PKIX系列协议分析
PKIX系列协议(Public Key Infrastructure on X.509,简称PKIX)是由因特网网络工程技术小组(Internet Engineering Task Force,简称IETF)的PKI工作小组制定。协议主要定义基于X.509的PKI模型框架,并以RFC(Request for Comments)形式发布。PKIX系列协议定义了X.509证书在Internet上的使用,包括证书的生成、发布和获取,各种产生和分发密钥的机制,以及怎样实现这些协议的轮廓结构等。PKIX系列协议可分为以下几部分:
⑴ PKIX系列协议中的基础协议
PKIX基础协议是以RFC3280(早期的RFC 2459)为核心,详细定义了X.509v3 公钥证书和X.509 v2 CRL 的格式、数据结构及其操作步骤等,来保证PKI功能的实现。本质上,基于X.509v3数字证书是一种发布者数字签名的用于绑定某种公开密钥和其持有者身份的数据结构,而CRL也是一种包含撤销证书列表的签名的数据结构。因此基于X.509的PKI功能的实现是基于证书与证书撤销列表CRL功能的实现,而证书及证书撤销列表CRL的功能是通过其证书数据域(CRL数据域)、扩展域(CRL扩展域)及其子域来实现的。因此在RFC3280中详细定义了数字证书的格式、CRL的格式。如其中定义的CRL 数据域中包括:版本号、签名的算法标识符、颁布者的名称、本次更新时间、下次更新时间和证书撤销列表(序列号和撤销时间等);CRL扩展域包括:机构密钥标识符、颁布者别名、CRL号、颁布分布点和增量CRL指示器等。通过对X.509v3数字证书和X.509 v2 CRL进行详细地定义,来保证有效地实现PKI安全框架的各种功能。
PKIX中还通过RFC 2528 、RFC 3039 、RFC3279等多个协议(见表1),阐述了基于X.509的相关的算法、算法标志和相关格式等用来加强X.509v3 公钥证书和X.509 v2 CRL在各应用系统之间的通用性。
表 1
草案编号 协议内容
RFC3280 定义了X.509 v3 公钥证书和X.509 v2 CRL 格式、结构
RFC2528 阐述了基于X.509的密钥交换算法KEA(Key Exchange Algorithm)
RFC3039 描述用于防抵赖的高可信证书(Qualified Certificates)的格式和相关内容
RFC3279 描述了X.509 v3 公钥证书和X.509 v2 CRL中使用基于ASN.1的算法标志和算法的编码格式
⑵ PKIX系列协议中的操作协议
PKIX中操作协议涉及认证中心CA、注册机构RA和端实体与证书库之间的交互。操作协议主要阐述了PKI系统中的实体如何通过证书库来存放、读取证书和撤销证书。
PKIX中操作协议主要包括RFC2559 、RFC2560 、RFC2585和RFC2587 等多个协议草案(见表2),定义了X.509 v3 公钥证书和X.509 v2 CRL分发给应用系统的方式,以及通过包括基于LDAP、HTTP、FTP等的多种手段获取公钥证书和CRL。其中LDAP是关于访问信息目录的协议,LDAP一般用于存储数字证书和证书撤销列表CRL,这样其他用户通过访问LDAP服务器就能够得到其他用户的数字证书及其状态信息。
证书撤销列表CRL的更新和发布对PKI系统而言是非常重要的,因为如果一个证书已经被撤销而用户仍在使用,将构成极大的安全隐患。PKIX规定了两类证书撤销的方法。一种是CA系统定期地向目录服务器发布证书的撤销信息。其优点是原理简单易于实现。但也由于CRL是定期发布的,因而不可避免的是实时性差,容易出现安全隐患。另一类为RFC2560中阐述的OCSP(在线证书状态确认协议),它是PKIX中用于检查数字证书在某一时刻是否仍然有效的协议。该协议提供给PKI端实体一条方便快捷的数字证书状态查询通道,使基于X.509的PKI安全框架体系能够更有效、更安全地在各个领域中被广泛应用。
表2
草案编号 协议内容
RFC2559 使用LDAP v2 作为PKI 实体发布和获取证书及CRL 的协议。
RFC2560 阐述在线证书状态确认协议(OCSP),从而可以通过在线证书状态服务器,在不使用CRL 确定当前证书状态。
RFC2585 阐述了通过FTP和HTTP从PKI系统中获取证书和CRL 的操作协议。
RFC2587 阐述了使用LDAP v2 获取公钥证书和CRL的一个最小模型。
⑶ PKIX中的管理协议
PKIX中管理协议涉及管理实体(CA/RA)与端实体内部的交互,主要阐述PKI 系统实体间如何进行信息的传递和管理。PKIX中管理协议包括RFC2510 、RFC2511 、RFC2527、RFC2797 等多个协议(见表3)。
PKIX中的管理协议通过证书请求报文格式CRMF(Certificate Request Message Format)、证书管理协议CMP(Certificate Management Protocols)、证书政策(Certificate Policies)和证书实施声明CPS(Certification Practice Statement)等一系列规范,来完成证书的各项管理任务和实体间的通信与管理。其中证书政策定义了证书的使用目的、使用要求以及CA所承担的责任,证书实施声明CPS阐述了管理CA所颁发证书的措施和手段。实际上CA/RA在确信用户的身份后才为用户签发证书,而CA/RA对用户身份的确认应遵循CPS的规则,因此CA/RA是依据证书实施声明CPS来实施管理操作的。
表3
草案编号 协议内容
RFC2510 定义了X.509 PKI用于在实体间传递消息的证书管理协议CMP协议,来提供完整的PKI 管理服务。
RFC2511 定义了的证书请求报文格式CRMF。
RFC2527 阐明了证书策略和CPS 相关信息的政策大纲。
RFC2797 描述了X.509 PKI客户端和服务器之间采用CMS(Cryptographic Message Syntax)加密消息语法作为消息封装的方法。
⑷ PKIX中的安全服务和权限管理的相关协议
PKIX中安全服务和权限管理的相关协议主要是进一步完善和扩展PKI安全架构的各种功能。安全服务中的防抵赖和权限管理,主要通过RFC3029 、RFC3161 、RFC3281 等多个协议(见表4)来描述。
防抵赖可通过数字时间戳 DTS(Digital Time Stamp)、数据有效性验证服务器DVCS(Data Validation and Certification Server)来实现。支持防抵赖服务的一个核心就是在PKI的CA/RA系统中使用数字时间戳 DTS。它是对时间信息的数字签名,主要用于实现确定在某一时间,某个文件确实存在和确定多个文件在时间上的逻辑关系功能。PKI系统中的数据有效性验证服务器DVCS的作用就是验证签名文档、公钥证书和数据拥有或存在的有效性,其验证声明称做数据有效性证书(Data Validation Certificates,DVC) 。数据有效性验证服务器DVCS是一个可信任的第三方,用来作为构造可靠的防抵赖服务的一部分。而权限管理是通过属性证书(Attribute Certificate)来实现的。属性证书利用属性类别和属性值来定义每个证书持有者的权限、角色等信息。
表4
草案编号 协议内容
RFC3029 阐述了一个通用的数据有效性验证服务器DVCS协议及其使用。
RFC3161 时间戳协议TSP(Time-Stamp Protocol ),阐述了时戳权威机构TSA(Time Stamping Authority)的时戳授权和管理流程。
RFC3281 阐述了属性证书授权协议(Attribute Certificate Profile for Authorization),定义了X.509 属性证书AC 格式、数据结构和发行、论证、撤销的规则。

3. 对PKI技术的应用分析
基于Internet的电子政务、电子商务和信息服务等各种网络应用的安全离不开PKI技术的支持。但在具体实施PKI时应该考虑以下几点:
⑴  PKI系统应用的复杂性
PKIX系列协议的理论上完善与严谨必将带来应用的复杂性。首先PKIX系列协议本身就是基于严密而不太灵活的X.509证书结构;其次PKIX系列协议是一个整体结构,它通过多个RFC协议来规范基于X.509的PKI的不同技术层面、PKI框架结构中各个要素的数据结构与规范要求,以及其相互之间的交互流程等。因此其复杂的理论体系必将加重应用的复杂性。同时在具体实施PKI系统时,还要考虑不同的证书共存问题,即CA互操作和交叉认证。
⑵ PKI的基础设施的特性
基于X.509的PKI可以为各种网络应用提供有效的安全保障。但是在实施PKI应用时,如果CA或保存用户私钥的计算机抗攻击差,则整个PKI系统的安全都将受到威胁。因此要认识到PKI是网络安全的基础设施这一特性。在实施PKI应用强调PKI提供的安全机制的同时,并不是否定或取代其它的如:Firewall,IDS,VPN等安全技术。相反PKI系统只有与上述安全技术相互结合,才能构建安全强度更高、隐患和漏洞更少、风险更低的网络应用系统。
⑶ PKI仍在不断的发展与完善
随着PKI技术的发展,IETF也在不断地推出新的协议来完善基于X.509的PKI应用方案。如PKI的基础协议RFC2459已升级到RFC3280;而RFC2559协议是基于LDAPv2标准的,但在开放的网络环境下,LDAPv2不能提供足够强度的完整性和机密性的支持,因此在RFC3494中建议使用LDAPv3标准。同时,PKI工作小组还制定多个Drafts 草案来支持对PKIX系列协议的扩展、应用和研究的需要。如在“draft-ietf-pkix-sonof3039-00.txt”中,对基于RFC3280 “高可信证书(Qualified Certificates)”进行了重新论述和进一步完善。因此随着PKI技术的进一步发展和应用的不断普及,RFC协议也将不断的增加或更新。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值