文档库 最新最全的文档下载
当前位置:文档库 › 对基于PCTL的代理证书链认证方法的改进

对基于PCTL的代理证书链认证方法的改进

1

王智慧1,李明楚2,付静3

1大连理工大学软件学院,大连(116620)

2大连理工大学软件学院,大连(116620)

3大连理工大学软件学院,大连(116620)

E-mail:canyu1217@https://www.wendangku.net/doc/367941316.html,

摘要:2004年, Li Xin 和 Mizuhito Ogawa提出了一种基于PCTL(Proxy Certificate Trust List)的轻量级认证方法。本文在此基础上,通过修改PCTL与代理证书间的对应关系,使CRA(Certificate Register Authentication)中存储的PCTL的数量显著减少,从而减轻了CRA 维护PTCL的负担;同时使代理证书认证过程中传递的信息量的大大减少,缓解了大量用户同时请求服务而带来的网络带宽不足的问题;其次,本文将现有的用户在提交验证代理证书请求后,由CRA产生新的对应的PCTL改为CRA 在代理证书产生时生成对应的PCTL中的记录,使用户验证代理证书时只要对相关信息进行查询即可,这种改变提高了实体对代理证书有效性验证的效率。本文还提出了降低实体对代理证书策略处理的复杂度的一种代理证书策略的处理方法。

关键词:代理证书,证书策略,网格计算,证书验证

中图分类号:TP393

1.引言

引言中应简要回顾本文所涉及的科学问题的研究历史,尤其是近三年的研究成果,需引用参考文献;并在此基础上提出论文所要解决的问题,并扼要说明本研究中所采用的方法和技术手段等。引言部分不加小标题。

代理证书是GSI(网格安全基础设施)的一个重要组成部分。GSI通过创建用户的代理证书实现以下几个目的:使用户可以以一种轻量级的方式为新的动态实体建立身份;对代理证书的持有者进行委托授权(同样是动态的,轻量级的);实现单点登陆;保护EEC(终端实体证书)的私钥,代替EEC与其他实体进行认证;允许对已存在的协议和软件重用并对这些协议和软件做尽可能小的改动。在目前的GSI中对代理证书验证的实现仍然存在一些问题,包括GSI中没有实现代理证书的撤销机制;在实体间相互相互认证的过程中存在大量的对代理路径的重复检验;当网格参与者需要获得代理路径信息的时候,GSI也没有提供这种功能。基于以上问题,Li Xin和Mizuhito Ogawa在文献[1]中提出了一种基于PCTL(Proxy Certificate Trust List)的相互认证方案,该方案用传输小的多的PCTL或直接获取PCTL的方法代替了代理证书链的传输,避免了对代理路径的重复验证,同时用简单得哈希操作代替了用户对代理证书链的认证过程,并通过维护记录部分代理证书信息的逻辑信任树实现了代理证书的撤销及代理路径信息查询。然而,文献[1]提出的认证方法也存在以下几个问题:(1)大部分用户只需要验证代理证书的有效性,但是在通过获取代理证书对应的PCTL进行验证时,用户会得到包含在PCTL中大量的用户并不关注的代理路径信息;(2)在大规模的网格服务环境中,多用户同时提交证书验证请求时,CRA会忙于生成代理证书对应的PCTL,降低了系统的对代理证书的验证效率,(3)文章中并没有对代理证书的策略进行处理。针对

1本课题得到国家自然科学基金项目(项目编号:90412007)的资助

2.基于PCTL相互认证的新方法

基于PCTL的代理证书的验证过程改变了原有的用户自己处理代理证书链,得到验证结果的方式,使用第三方处理代理证书链,用户到服务器端去查询需要结果这种新的方式。下面将介绍实现这种方式需要定义的新概念、具体的过程及我们所作的改进工作。

2.1 CRA、Pnode、PCTL的新定义

本文为了实现对代理证书策略的处理和提高认证系统的性能,对上述概念给出了新的定义。

表一.Pnode的结构定义

Entry Value

Old entry Index

Delegation Depth

Certi.cate Identi.er 1

Certi.cate Identi.er 2

Certi.cate Status

Validity

Public Key

Parent Pointer

Child Pointer Relative Distinguished Name + Certi.cate Serial Number Permitted length of the delegation trace

Hash code of proxy certi.cate

Hash code of public key

“Valid”,“Wait for Update”,“Invalid”

Life span of proxy certi.cate

Public key of proxy certi.cate

Pointers to the issuer

Pointers to all the issued grid proxys

New entry Valid Proxypolicy valid Policies

CRA:是一个附加的独立的并可信任的第三方。 CRA主要有以下几个作用:现有的方案:为PC(Proxy certificate)维护它的信任关系;应答对代理证书路径细节信息的查询请求;产生PCTL;撤销受损或过期的代理证书;改进后方案(增加的功能):处理代理证书链的策略信息。

Pnode:CRA中用来记录PC信息而定义的数据结构。基于Pnode CRA构建了一种逻辑信任树(Trust Logic Tree)。通过提取逻辑信任树中Pnode 的部分信息构成PCTL。新的结构添加的一条记录(见表一):Valid Proxypolicy valid Policies。

PCTL:记录了网格计算的代理信任路径。

图1.原高安全级别的PCTL

原PCTL(图1):逻辑信任树中的每个Pnode对应一张PCTL。PCTL记录了一些可信任的代理路径上的PC的信息,包括生命周期,发布者信息,安全上下文等,并由CRA签名。PCTL根据安全层次的不同有三种不同的模式:高安全级别< Index,Issuer,Certificate Identifier -1>;中安全级别< Index,Issuer,Certificate Identifier -2>;低安全级别< Index,Issuer>。改进后的PCTL(图2):每棵逻辑信任树对应一张PCTL,每个Pnode对应一张PCTL中的一条记录。记录的结构在现有的结构上添加Valid policy,如高安全级别

2.2基于PCTL的新认证过程

原认证过程概要的认证流程是:代理证书发布者向CRA注册新发布的代理证书;注册后CRA对代理证书的信息进行维护,判断代理证书是否有效,实现代理证书的撤销;当用户需要验证代理证书的有效性时,向CRA提出验证请求,CRA形成代理证书对应的PCTL,返回给用户,用户根据PCTL验证证书的有效性。详细的过程处理如下:

注册:新的代理证书发布时,发布者到CRA中进行注册。CRA根据发布者提供的Index 找到对应的记录,同时检验要发布的PC。如果检验成功,CRA为新的PC建立对应Pnode ,并将它加入到逻辑信任树中。

PCTL的产生:PCTL的产生算法由“Flags”标记控制。为了提高有效性,状态为“Wait for update”的PC也会记录在PCTL中并注明撤销时间。Flags=0(用户仅知道所关注的PC):在CRA中找到关注的PC对应的Pnode ,记录EEC到关注的PC路径上所有状态为“Valid”和“Wait for update”的节点;Flags=1(用户仅知道所关注的PC的一个可信任祖先):按深度优先遍历以可信任祖先为根节点的子树,忽略那些根节点状态为“Invalid”的子树上的Pnode ,将子树上剩余的Pnode记录到PCTL;Flags=2(用户所关注的PC和可信任祖先节点均已知):按深度优先遍历以可信任祖先为根节点的子树,PCTL记录从可信任节点到关注

代理证书的撤销:如果有私钥泄漏,CRA将把以受攻击的PC为根节点的子树上所有节点状态置为“Invalid”。如果PC过期,CRA的做法基本与上面相同,只是将节点的状态置为“Wait for update”而不是“Invalid”。

代理证书间的认证:假设代理A对B的代理证书进行认证。A将通过CRA请求B的PCTL,A使用CRA的公钥对B的PCTL解密然后根据PCTL安全级别的不同分别进行以下步骤:高安全级别:A通过Index在B的PCTL中找到B的记录,然后计算PC-B的哈希值与CI比较;中安全级别:A通过Index在B的PCTL中找到B的记录,然后计算B的公钥的哈希值与CI比较;低安全级别:如果PCTL-B中有B的记录,则代理B 就是可信任的而不需要任何计算。

新的认证过程概要的认证流程是:代理证书发布者向CRA注册新发布的代理证书,检验代理证书策略的有效性;注册后CRA对代理证书的信息进行维护,判断代理证书是否过

图2. 新的高安全级别的PCTL

期,实现代理证书的撤销;当用户需要验证代理证书的有效性时,向CRA提出验证请求,CRA查找到代理证书链中第一个EEC对应的PCTL,返回给用户这张PCTL中用户关注的代理证书对应的一条记录,用户根据这条记录验证证书的有效性。详细的过程处理如下:注册:新的代理证书发布时,发布者到CRA中进行注册。CRA根据发布者提供的Index 找到对应的记录,检验发布的PC的时候处理PC的证书策略。(详细处理过程见第三部分)PCTL的产生:当新的EEC发布时,CRA为这个EEC建立相应的TLT和PCTL,存放到CRA的后台数据库中。当新的代理证书注册后,按发布者的Index找到对应的PCTL,并在PCTL中添加对应此代理证书的一条记录(记录的格式2.1中已描述)。

代理证书的撤销:在原有撤销算法的基础上,若注册时代理证书策略的处理值为空,CRA将不对其进行注册。

代理证书间的认证:假设代理A对B的代理证书进行认证。A 通过Index在CRA中找到B 所在TLT对应的PCTL。并找到PCTL中对应的B的记录,然后CRA 将这条记录返回给A,

图3 新的认证过程返回给验证方的记录

3.代理证书策略的处理

在RFC3820[2]关于PKI代理证书文档中,提出的处理方法是纪录每个代理证书的策略到代理策略列表(proxy policy list)中,最后将列表返回给用户,由用户来处理策略列表,得到最后的有效策略。但由于证书策略处理的复杂性,如果由用户亲自处理代理证书策略也会使用户不能及时的使用证书,延长任务处理时间,降低了网格服务的效率。本文给出了基于改进后的PCTL模式下的代理证书策略处理方法,即由CRA来处理证书链中的策略信息,在CRA中,存在基于代理证书间的发布关系构建的逻辑信任树,所以我们借鉴RFC3280[3]中对证书策略处理的算法,在逻辑信任树的结点信息中加入< Valid Proxypolicy valid Policys >记录,通过对逻辑信任树中节点的形成及维护来处理代理证书链中的证书策略。

原代理证书TLT (Trust Logic Tree)逻辑信任树的形成及维护算法:代理A 发布代理证书PC-A同时向CRA进行注册,在CRA 中根据Index找到PC-A所在证书链的根证书对应的TLT;在此TLT中根据PC-A中的发布者信息找到发布者对应的Pnode;为新的代理证书建立Pnode;将新的代理证书的Pnode作为发布者Pnode的子节点插入到逻辑信任树中;若有私钥泄漏,CRA将把以受攻击的PC为根节点的子树上所有节点状态置为“Invalid”;如果PC过期,CRA的做法基本与上面相同,只是将节点的状态置为“Wait for update”而不是“Invalid”。

加入代理证书策略处理后的TLT的形成及维护算法:1.代理A发布新的代理证书PC-A,代理A向CRA注册PC-A。若PC-A的发布者理证书,则2.在CRA 中根据Index找到PC-A 所在证书链的根证书对应的TLT。3.在此TLT中根据PC-A中的发布者信息遍历查找发布者对应的Pnode:Issuer-Pnode。若找到,则进行4,若找不到,则放弃对该代理证书的注册,因为发布它的代理证书是无效的。4.CRA获取PC-A中的代理证书策略信息:PROXYCERT-INFO:PC-Policy。5.在此TLT中根据PC-A中的发布者信息遍历找到发布者对应的Pnode:Issuer-Pnode。6.CRA获取Issuer-Pnode中的有效代理证书策略信息:valid Policys。7.计算PC-Policy与valid Policys的交集。8.如果结果为空,则放弃对该代理证书的注册。因为此代理证书没有有效的证书策略。9.否则将结果填入PC-A的Pnode中Valid Proxypolicy域。10.建立PC-A的Pnode,作为发布者Pnode的子节点插入到逻辑信任树中。

本文提出了一个改进后的基于PCTL的证书认证方法。该方法使代理证书路径信息查询与证书认证相分离,去掉了认证中不必要的路径信息,节省了认证信息分发所需要的带宽;同时,在代理证书产生时对证书进行验证并向CRA进行注册,并避免了用户进行代理证书策略处理的复杂过程,提高了证书校验的效率。但本方案仍然有不足之处:在大规模的网格服务中,如果同时向CRA提出服务请求的用户过多,则CRA会存在瓶颈问题;此外CRA 也存在单点失败问题。下一步我们将针对上述方案存在的问题进行进一步改进,并付诸实现,定量的评估系统的性能。

参考文献

[1]Li Xin, Mizuhito Ogawa.A Lightweight Mutual Authentication based on Proxy Certificate Trust List[A].

K.-M. Liew et al. PDCAT[C]. Berlin Heidelberg : Springer,2004, LNCS 3320, 628–632.

[2]RFC 3820.Internet X.509 Public Key Infrastructure (PKI) Proxy Certificate Profile[S]. 2004

[3]RFC 3280.Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL)

Profile[S]. 2002.

An Improvement Proxy Certificate Chain Authentication

Based on PCTL

WANG Zhi-Hui,LI Ming-Chu,FU Jing

Department of Software,Dalian University of Technology,Dalian,116620,China

Abstract

Li Xin and Mizuhito Ogawa proposed a lightweight mutual authentication based on proxy certificate trust list at 2004. This paper improves the method of authentication based on PCTL by following ways. First, we change the mapping relationship between the PCTL and the proxy certificate, which decreases the number of PCTL in CRA and relieves the burden of CRA. by doing this, the band width required for transferring the validation information will obviously reduced also. Second, if the user wants to valid a proxy certificate, it could only search the relate entry in the CRA through the new method, it need not ask the CRA to generate a new PCTL any more. This improvement raises the efficiency about the validation of proxy certificate chain. Otherwise, we simplified the complexity of handling proxy certificate policies through adding the new proxy policy process function to the CRA.

Keywords: proxy certificate, certificate policy, grid computing, certificate authentication

作者简介:王智慧(1982-),女,内蒙赤峰人,硕士研究生,主要研究领域为网格计算;李明楚(1963-),男,教授,博士生导师,主要研究领域为信息安全,网格计算,密码学与信息安全,算法与计算复杂性理论;付静(1982-),女,河南焦作人,硕士研究生,主要研究领域为网格计算。

相关文档