基于信任管理模型证书安全策略测试的研究

基于信任管理模型证书安全策略测试的研究

ID:32510443

大小:18.77 MB

页数:77页

时间:2019-02-10

上传者:U-22107
基于信任管理模型证书安全策略测试的研究_第1页
基于信任管理模型证书安全策略测试的研究_第2页
基于信任管理模型证书安全策略测试的研究_第3页
基于信任管理模型证书安全策略测试的研究_第4页
基于信任管理模型证书安全策略测试的研究_第5页
资源描述:

《基于信任管理模型证书安全策略测试的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

东华大学学位论文原创性声明一嬲本人郑重声明:我恪守学术道德,崇尚严谨学风。所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中己明确注明和引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品及成果的内容。论文为本人亲自撰写,我对所写的内容负责,并完全意识到本声明的法律结果由本人承担。学位论文作者签名:叶确日期:矽ff年/月见日 东华大学学位论文版权使用授权书学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅或借阅。本人授权东华大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密口,在——年解密后适用本版权书。本学位论文属于不保密_。学位论文作者签名:叶唧日期:70I『年/月膨日指导教师签名:庄奎旷门日期沙I1年【月l明 信任管理模型的证书安令策略测试的研究基丁.信任管理模型的证I5安全策略测试的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯l摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.IABSTRACT⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯.⋯⋯⋯.⋯⋯⋯.1l1绪{仑⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11.1本文的研究背景⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..11.2研究意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一31-3本文的主要研究.I:作和创新点⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一51.4本文的结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..62PKI/CA....................⋯..⋯⋯⋯⋯⋯.⋯⋯...........⋯....⋯⋯...⋯...⋯⋯⋯⋯.⋯⋯⋯...................⋯⋯72.1PKI/CA简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..72.2CA系统介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.92.3数字证书结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯102.4X.509证书概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..102.4.1基本证书域的数据结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯112.4.2TBSCertificate及其数据结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯112.4_3证书扩展项⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯132.5证书的生命周期⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯182.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203信任管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯213.1什么是信任⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯213.2信任管理(TrustManagement)及信任模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一223.2.1信任管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯223.2.2信任模型综述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯243.3信任管理方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯303.3.1对等的授权模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯303.3.2编程的授权证书⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯303.3.3通用的证明机制⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯313.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯314信任管理模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯324.1.PolicyMaker⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯.⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯..!;j}4.2KeyNote⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.344.:;REFEREE⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.364.4SPKI/SDSl2.0⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯..374.4.1SPKI/SDSl2.0.的两类证书⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。⋯⋯⋯⋯⋯⋯⋯⋯384.4.2SPKI/SDSl2.0证书的存储⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯404.4.3SPKI/SDSl2.0证书链的搜索⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯414.5基于角色的信任管理系统(RT)及改进⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一424.5.1基于角色的信任管理框架⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯424.5.2一种带有时间域的证书链搜索算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.444.5.3R丌证书链后向搜索算法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.454.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯485基于R丌的证书验证系统⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯495.1.OCSP⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.495.2CA客户端⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯51 f吉任管理模型的iF书支拿策略测试的研究5.3RA服务器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯525.4CA服务器⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..525.5OCSP客户端⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..S35.6系统介绍⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯545.7本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯556基于证书验证系统的测试和分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯566.1测试环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯566.2测试步骤和结果⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯566.2.1证书状态查询测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯566.2.2证书撤销测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯596.2.3测试结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯626.2.4系统性能分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯626.3本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯657总结和展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯667.1工作总结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯667.2工作展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯66参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯67作者攻读学位期间发表的学术论文⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯70攻读硕士期间参与的科研项目⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯70致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯71 竹任管理模型的il}{书安伞策略测试的研究基于信任管理模型的证书安全策略测试的研究摘要信任管理是一种适用于大规模的、开放的分布式系统的授权机制。信任管理问题包括形式化安全策略和安全凭证,决定特定的凭证集合是否满足相关的策略以及委托信任给第三方。在信任管理问题中一致性证明是关键,而证书链发现问题又是一致性证明的重点内容。在基于证书的信任管理模型中,实体之间的信任关系通过证书来建立。本文围绕信任管理模型中的证书安全策略,对基于RTT(带有时间域的信任管理语言)证书链后向搜索算法的证书验证系统的测试进行相关的研究。本文作者的主要研究与实践工作概述如下:1.分析研究PKI/CA体系结构和信任管理模型的现状,总结其各自的特点和不足;2.根据分布式证书链存储和搜索的特点及需要,提出了一种带有时间域的证书链搜索算法。带有时间域的信任管理语言使证书链搜索过程变得更加迅速、有效;3.将该算法运用到实际的系统中,并对系统进行相关的测试,分析测试结果,证明其优越性。本人在论文撰写过程中主要的创新点是:1.在基于角色的信任管理语言RT的基础上,提出带有时间域的信任管理语言RTT,在证书的结构中增加了证书的有效期和证书的版本号,并对交集表达式的长度进行了限制带有时间域的信任管理语言;2.将带有时间域的证书链搜索算法运用到证书验证系统中,并对改进后的系统进行全面细致的介绍;3.对该系统进行证书验证和证书撤销的测试用例的设计、测试和结果分析。由测试结果分析可以看出,基于RTT的改进后的系统的效率性能更强,响应速度有着明显的提高,有着广泛的实用价值。关键字:信任管理模型,证书,证书链搜索,证书验证,测试 竹任管理模型的证书安伞策略测试自≈Ⅲ7‘ABSTRACTTrustmanagementisaauthorizationmechanismwhichissuitabletolarge-scale,opendistributedsystemauthorizationmechanism.Trustmanagementissuesincludeformalizesecuritypolicyandsecuritycredentials,decidingwhetheraspecificsetofcredentialsmeettherelevantpolicyandwhetherauthorizethetrusttoathirdparty.Theproofofconsistencyisthekeyoftrustmanagementissues.Andthecertificateschaindiscoveryisaimportantcontentofproofofconsistency.Inthecertificate-basedtrustmanagementmodel,trustrelationshipsamongsentitieswasestablishedthroughthecertificate.Thispaperfocusingonthesecuritypolicy:certificateoftrustmanagementmodel,certificatechain,dorelevantstudiesonthecertificateverificationtestingworkbasedonI盯Tcertificateschainbackwardsearchalgorithm.Theauthor’SresearchworkandpracticeCanbesummarizedasfollows:1.AnalysisandresearchofexistingarchitectureofPKI/CAandtrustmanagementmodel,summarizesthetheircharacteristicsandshortcomings;2.Accordingtothefeaturesandneedsofdistributedcertificatechainstoreandsearch,acertificatessearchingalgorithmiswithtimedomainisproposed.Experimentationshowsthattrustmanagementlanguagewithtimedomainmakestheprogressofthecredentialchaindiscoverybecomemorepromptandefficient;3.Thealgorithmisappliedtopracticalsystems,andrelatedtestingworkisdone.Theanalyzeworkontestresultsprovesthatthissystemhastheirsuperiority.Theauthor’Smaincreativepointsareasfollows:1.AtrustmanagementlanguagewithtimedomainisproposedonthebasisofRole—basedTrust-managementLanguageRT.Validityandversionnumberarecombinedwiththestmctureofcertificateandarestrictiononlengthenofthesetexpressionisproposed;2.Acertificatessearchingalgorithmiswithtimedomainisappliedtothecertificatesverificationsystem.Andthispapergiveacomprehensiveanddetailedintroductofthisimprovedsystem;3.Testthecertificatesverificationandcertificaterevocationfuctionandanalyzethetestresult.Fromtheanalysisoftestresult,wecanknowthatresponseoftheimproved 信任管埋模型的il书安=牟=策略测试的研究systembasedonRTThasbeenimprovedsignificantly.Andithasawiderangeuipracticalvalue.Keywords:trustmanagementmodel,certificate,certificateschainsearching,certificatesverification,test 1.1本文的研究背景第1章绪论1绪论随着计算机网络和一些分布式系统支撑技术的飞速发展和普遍应用,人们开发了越来越多的大规模的分布式系统。分布模式的开放网络呈现出以下特点:(1)去中心化,即没有中心化的管理权威可以依赖。(2)开放性,打破了时空界限,不受时区界限和地理位置的影响,任何实体都可以自由接入,网络具有良好的伸缩性。(3)动态性,实体可以动态出入,网络边界也随之动态变化。(4)自治性,网络中的各实体具有高度的自治性,均有权决定属于自己的安全策略。(5)参与实体数量庞大,各实体之间大部分事先并不认识,彼此之问不可能事先获得关于对方的与安全相关的完整信息。在这些系统中,往往存在着大量的跨越组织边界的资源共享和信息交换。从安全角度来看,这些分布式系统由多个安全域组成,它们所形成的计算环境称为多域环境,在这种环境下,信息和数据的共享程度比以往的单域环境大幅度提高,数据不仅可由本地组织内的用户访问,还可以由相关的结盟组织中的用户访问,因此,其带来的安全风险也相应大幅度提高。一些研究表明,非授权的访问,尤其是来自内部用户的非授权访问,构成了企业级应用环境中主要的安全问题。在多域环境下,由于其中存在着分布式和异构的组织,它们之间进行大量的交互,这一问题的复杂性和严重性大大增强。如何解决这一问题,在很大程度上决定了这些系统最终能否成功,这正是分布式环境下访问控制所要研究的内容。将传统的访问控制模型直接用于多域环境,会出现很多问题,1996年,M.Blaze等人为解决此类安全问题首次使用了信任管理(TM)概念⋯,其基本思想是承认开放系统中安全信息的不完整性,系统的安全决策需要依靠可信任第三方提供附加的安全信息,提供一个适合Web应用系统开放、分布和动态特性的安全决策框架,寻求一种更具表达力的分布式的授权方法。(1)在传统的访问控制中,主体在系统中是可认知的,系统设置主体的访问权限。在自主访问控制模型中,在自主访问控制模型中,在系统中的客体上,设置主体的访问权限。在强制访问控制模型中,通过给主体关联安全标记,限制主体对系统的使用。在基于角色的访问控制模型中,给主体分配角色。而在多域环境’F。由于其动态、大规模的特点,可能有大量的用户会请求使用系统,并且这 第1章绪论些用户的集合也是经常改变的。将这些用户预先定义到系统中,并对其分配相应的权限,在实现上往往是不可能的。在多域环境下,申请访问系统的主体,往往是系统不认知的。(2)多域环境下,其中的每个域是一种互相协作的模式。这就要求每个域之间进行有限的协作。即每个域开放一定的资源,但又要保证这些资源不受到非法的访问。并且在很多情况下,没有一个所有域都信任的根组织,由此组织为核心实施访问控制,域之间是对等的关系。每个域在共享其资源的同时,仍然对其资源具有最高的管理权限。传统的访问控制模型没有涉及到这方面的内容。(3)不同的系统和应用对于什么是资源有不同的理解,其对应的访问控制机制也相应的不同。例如,Web浏览器将CPU周期、网络带宽和私有信息作为资源:数据库服务器可以将每个表中的每行记录作为资源:对于应用系统,例如银行应用,可将帐号和钱作为资源。因此,多域访问必然面临异构问题。(4)多域环境可伸缩性和动态性的特点,需要安全、灵活的委托机制。通过委托机制,高层系统管理员可以将相应的权限委托给较低层的系统管理员,从而指定全局的安全策略:如果没有委托机制,高层系统管理员只能直接对每个最终的用户进行授权,容易带来授权与系统的全局安全策略不一致的问题。通过委托机制,支持分散式授权的模式,从而满足可伸缩性和动态性的需求。(5)集中式环境下对权限进行回收的方法,往往是通过对权限相关数据直接修改来完成。而这种方法,不能直接应用于多域环境中。多域环境下,权限相关数据往往分散式的存储于系统之中,不可能直接修改相关的数据。(6)多域环境下实施访问控制,具有很强的复杂性。访问控制的执行机构做一次访问判定,有时不可能完全依赖于本地的和访问申请者提供的数据,需要自行在分布式环境中查找相关数据,这些数据可能与执行机构不处于同一地理位置。为了保证访问判定的效率,访问控制相关数据的分布和查找问题显得尤为突出。在基于公钥证书的分布式安全解决方案中,需要获取实体自身的公钥,这样才能保证加密的信息被真实的实体解密,并且使得验证者能够有效地验证实体的数字签名,现今广为人知的证书系统如PGP及X.509,它们中的安全验证通常由应用本身来完成,所依据的是由可信第三方颁发的公钥证书,但是公钥证书只是将实体ID和公钥绑定在一起,A对B的公钥信息签名并不意味着A相信B是“诚实的”,所以由可信第三方证明的仅仅是实体的身份,而不是它的“可信度”。文献心3对层次式证书体系应用于跨域访问的不足作了如下总结:(1)CA只能认证实体身份,不能对其品质做出承诺。(2)完全依靠可信第三方的认证,忽略了系统中实体彼此之间的信任。而过 第1章绪论多地依赖大范围内的CA,则会导致实体间的利益互相冲突。(3)证书撤消列表难以集中维护,可能会造成证书的滥用。P.Zimmcrmann将基于身份的公钥证书与ACL结合起来形成分布式访问控制系统D1这种系统在使用时需要回答两个问题:其一:谁提出了服务申请?即谁是公钥的拥有者?其二:服务请求者有资格享受该项服务吗?但是,这种方法并不适用于动态的Internet网络,因为网络上的实体数量庞大、流动性强,每个实体均可能提出服务申请,彼此在交互之间可能并不熟识,这样,即使第一个认证问题得到了可靠解答,如果服务提供者第一次接触服务请求者,那么服务提供者仍然无法做出授权决定H0为了保证资源的机密性、完整性和可用性不被破坏,服务提供者更关心的是服务请求者的品质、责任心等相关信息,况且,这种分两步走的验证方法使系统更容易遭受攻击。有人试图修改现有的授权机制以适应自己的安全模型,或反过来修改自己的安全模型以适应授权机制,但由于配置不当,或各组件之间的不协调致使一系列安全漏洞的产生,从而使用户逐渐失去对现有授权机制安全性的信任啼3。因此,迫切需要一种新的授权机制来解决开放分布式系统所面临的安全问题,提高Internet的安全性是保证Internet不断发展的关键,如何在开放的Internet环境中建立有效的安全保障体系,如何有效地建立和管理个体之间的信任网络,是保障和激励合作交互、使Internet应用向着有序性发展的关键∞1。在这种前提下,信任管理理论应运而生,其基本思想是承认开放系统中安全信息的不完整性,系统的安全决策需要依靠可信任第三方提供附加的安全信息。信任管理的意义在于提供了一个适合Web应用系统开放、分布和动态特性的安全决策框架。1.2研究意义虽然目前信任管理已经能够支持非单调凭证,其一致性证明可以从理论上得到一定的验证,但是其安全策略验证的能力和效率仍不能满足网络安全环境的动态变化,而且网络环境中存在很多不确定的安全信息,信任管理显然无法处理此类信息,信任管理的策略制定过程过于繁琐,不利于信任管理的应用。信任管理的不足体现在以下几个方面:(1)安全分析主体的单一,仅考虑服务方的安全保护,没有考虑服务调用方的安全问题。(2)安全度量的绝对化,采用策略一致性证明验证的方法进行安全度量和决策,该方法过于精确,不能很好地适应Web安全环境的多变性和不确定性。f3)无法实时地满足动态的安全环境的变化,安全策略验证的能力和效率有 第1章绪论限,并且大部分信任管理系统,在策略一致性证明验证前必须收集到足够的安全凭证。(4)安全策略的制定过程较为繁复。基于证书的信任管理模型中信任关系的建立是基于委托的,E.Barka和R.Sandhu给出的委托概念如下:系统中的活动实体将其拥有的一些权限授予其它活动实体,使后者可以代表前者执行一些功能m。做访问控制决定的过程就是查找一条从权限源到请求者的委托信任链的过程,因此信任管理的一个中心问题就是确定这样的委托信任链是否存在,如果存在就说明实体所申请的操作是符合本地安全策略的。PolicyMaker和KeyNote两个基于证书的信任管理模型都没有考虑证书在分布式环境下的存储和收集问题,它们均假设请求者持有所有与它相关的证书i验证时只需将这些证书提交即可,这种假设显然违反了信任管理分散式控制的原则。YChu等人提出的REFEREE系统,REFEREE中涉及了证书发现问题,一致性检验过程能根据具体需求自主地收集、验证和调用相关的证书,具有较强的处理能力,但它要求策略制定者明确地写出检索证书的策略,实现代价也较高,检验结果可能会出现意想不到的情况。当前SPKI/SDSl2.0的证书链搜索算法主要有两种随’9|,但是这两种算法都是集中式的搜索算法。2000年,C.A.Gunter和T.Jim提出了基于策略的证书检索系统QCM(QueryCertificateManagement)n0J,它考虑了证书的分布式存储,假设证书由证书的发行者存储,以后以搜索的形式回答提问,但这在许多应用中是不合实际的,一个在实际中可以很简单回答的提问可能需要通过搜索大量的证书才能完成,容易在某处形成瓶颈。分布式证书链的发现除了要将证书存储在可以被找到的地方外,也要求一个能够驱动证书收集的一致性验证过程(即要求这个验证过程能暂时停止检验,发布证书请求,找到能扩展部分链的证书,当获得额外证书以后,恢复检验)。这样的过程必须是面向目标的,即将精力只放在搜索与请求相关的证书上。RTO解决了这一问题,引进了证书图来表示证书,在此基础上提出了一种面向目标的证书链搜索算法⋯1,只搜索与提问相关的证书,避免了考虑与访问控制决定无关的大量证书,文章中还介绍了一种关于证书存储的类型系统,确保对于存储类型良好(well—typed)的证书,即使当证书存储是分布式的,证书链也总是能被发现,其不足之处是这种存储方案容易造成证书的集中存储,从而产生瓶颈现象。文献u¨中提出了一种基于Hiibert曲线的证书存储策略及查找算法,采用Chord协议管理分布式网络,基于证书的发行者和主体两维信息,利用HiIbert空间曲线实现证书从二维空间到一维空间的映射n2|,使用分布哈希表(distributedhashtable)实现证书的网络定位n3|,较好地解决了证书在网络存储中的负载平衡问题,不足之处是利用该方法查找证书时,由于只能根据一维信息去找,所以无可4 第1章绪论避免地会牵涉到一些不相关节点,并因此影响到证书链查找的效率。综上所述,分布式系统中的证书存储及面向目标的证书链的发现问题仍有待于进一步研究。(5)不能实时满足动态的开放式网络环境中的变化,安全策略的验证能力和效率十分有限,并且大部分基于证书的信任管理模型在一致性验证前必须收集足够的资料,且安全策略的制定过于繁杂。(6)安全性分析与改进信任管理为分布式环境下新应用形式的安全问题提供了新思路,委托是基于证书的信任管理模型中不可缺少的一项核心内容,委托是指在不需要服务提供者干预的前提下,系统将对资源的访问权限从一个实体传给另一个实体,通过委托,分布式系统中的权限得到“扩散”,使网络上的资源能够合法共享。但是,委托在“传递”权限的同时也削弱了服务提供者对访问权限的控制,拥有者一旦将访问权限委托给他人,对于更进一步的委托该如何进行,什么样的实体可以被赋予权限等,便不再拥有自主控制权,这必然会在很大程度上影响到整个系统的安全性。安全性分析用来回答这样一些问题:在经过层层委托之后系统是否还满足一些安全特性(如可靠性、可用性等)?基于证书的信任管理模型中的安全性主要依赖于哪些因素?如何才能保障这些安全特性不受系统状态变化的影响?N.Li等首先对基于证书的信任管理模型的安全性进行了分析n4|,但在文中他用于分析的语言是RTO,在基于角色的信任管理语言中,实体是否拥有权限是根据它是否是某角色的成员来决定的,和其它基于证书的信任管理模型中根据信任链判定的方法截然不同,而且文中仅是对这些安全性做出了分析判定,并没有提出保障系统安全性的具体方案,因此对于基于证书的信任管理模型安全性的研究还有待深入。如何提高基于证书的信任管理模型的安全性和可靠性更是一个值得探讨的问题。1.3本文的主要研究工作和创新点本文的主要创新点是是针对目前已经提出来的基于角色的信任管理语言RTO的不足,提出带有时间域的信任管理语言,在证书的结构中增加了证书的有效期和证书的版本号,并对交集表达式的长度进行了限制,从而形成了带有时间域的证书链搜索算法。因为带有时间域的信任管理语言RTT对于证书的状态有着更为具体的定义,且证书撤销过程对于证书的状态和证书链搜索算法都有很好的体现,本文将该算法运用到证书状态验证系统中,并对该系统进行证书状态查询和证书撤销的相关测试工作,给出相应的测试步骤与测试结果,并对测试结果进行安全性和性能分析。所做具体工作主要包括: 第1章绪论1.查阅了大量有关PKI体系和信任管理的文献资料,认真研究了PKI体系结构和信任管理模型的现状,分析其各自的特点和不足;2.查阅了证书的分布式存储、证书路径构造算法和证书链搜索算法相关资料,深入研究了分布式环境下证书路径的特点;3.根据分布式证书链存储和搜索的特点及需要,提出了一种带有时间域的证书链搜索算法,并进行了详细的设计,并用实验证明其优越性;4.将带有时间域的证书链搜索算法运用到证书状态验证系统中,并对改进后的系统进行全面细致的介绍;5.对该系统进行证书验证和证书撤销的测试用例的设计、测试和结果分析。一1.4本文的结构本文共分为六个章节,各章的内容简要介绍如下:第一章“绪论”介绍了信任管理模型的相关研究背景、研究现状和研究意义,分析其中所存在的主要问题,针对这些问题,提出了本文的研究内容和主要的研究思路,最后介绍了本文的结构。第二章“PKI/CA简介”对PKI/CA体系进行了详细的介绍。对CA系统、数字证书的结构以及证书的生命周期进行了介绍。第三章“信任管理模型的理论基础及其主要内容"从信任、信任模型、信任管理一步步由浅入深的介绍了信任管理的相关理论知识,并介绍了现有的主要的几种信任模型并分析其存在的问题。第四章“信任管理模型”在信任管理的理论基础上介绍了现有的几种信任模型的研究现状,并分析其中的不足的地方,并由此提出一种全新的带有时间域的证书链搜索算法RTT,并对其进行可行性分析和实验。第五章“基于RTT的证书验证系统”将带有时间域的证书链搜索算法RTT运用到证书状态验证系统,对该系统进行相关的介绍。第六章“基于RTT的证书验证系统的测试和分析”对证书的状态查询和证书的撤销进行相应的测试用例的设计和测试,分析测试结果,证明其有着显著的优越性。 2.1PKI/CA简介第2章PKI/CA简介2PKI/CA公钥基础设施(PublicKeyLufrastructure,简称PKI),是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI是目前网络安全的基础和核心,作为一组分布在分布式计算机中利用公钥技术和X.509证书所提供的安全服务,包括PKI策略、证书机构CA、注册机构RA、证书发布系统等。PKI是一个用公钥概念和技术来实现并提供安全服务的具有普遍适用性的基础设施,它的目标是管理密钥和证书。PKI通过对公钥及公钥持有者的身份信息捆绑来实现身份验证,保证实体身份的真实性。认证机构(CertificationAuthority,简称CA)是可信任第三方,是PKI的主要组成部分,是网络上确认用户身份的权威机构:用于创建和发布证书,它通常为一个信任域的有限群发放证书,同时负责维护和发布证书撤销列表(CertificateRevocationList,CRL)。最终实体(End.entity)是和一个证书主体相对应的人或对象。最终实体可以是人、网络结点(如Web服务器、防火墙或路由器)、可执行程序。证书所有者(certificateownel”)是证书中的主体字段所标识的最终实体。这个最终实体有时也会被称作证书主体(certificatesubject)。证书用户(certificateuser)是收到一个证书并且用该证书来确定证书所有者身份的最终实体。因为证书用户要依赖于该证书中确立的身份,所以它们有时也被称作依赖方。颁发者(certificateISSUfff)是颁发相应证书的CA,它对证书主体的身份提供担保。图2—1显示了如何通过PKI系统,两个用户实现安全通信的简单过程。由CA给Userl颁发证书,User2通过认证Userl的证书实现对Userl的身份认证,并且可以通过密钥交换实现通信的保密性。这里Userl和User2都是最终实体,Userl是证书所有者,User2是依赖方,CA是Userl证书的颁发者。 第2章PKI/CA简介图2-1PKI应用8 第2章PKI/CA简介2.2CA系统介绍网络安全防护霉硐冒埋甲JL’核心层()证书签发服务器证书库\、...../安全防护⋯i⋯-⋯i⋯●⋯■⋯●~、管理层CA审计终端CA管理终端l安全防护⋯-⋯●⋯●⋯●⋯-⋯●一U●●●⋯●_●⋯●⋯●⋯●⋯●⋯服务层LDA嘬务器OCSP服务器I网络安全防护图2-2CA系统结构图图2—2是CA系统的逻辑结构,由上图可以看出CA系统是一个复杂的系统,以下是对各个组成部分的简单介绍:9 第2章PKI/CA简介1.密钥管理中心密钥管理中心的主要功能是生成、管理、作废和恢复非对称密钥对。这些密钥对在CA签发加密证书时被申请。2.证书签发服务器3.证书签发服务器负责签发证书和CRL,是PKI系统的核心。该服务器可以提供四个功能:签发、作废、恢复证书,签发CRL,以及管理服务和审计服务。4.LDAP服务器5.LDAP(LightDirectoryAccessProtoc01,轻量级目录访问协议)是一个发布服务器,用户可以从LDAP中下载证书和CRL。在我们的CA系统中有两类LDAP服务器:主LDAP服务器和从LDAP服务器。证书签发服务器把最近签发的证书和黑名单发布到主LDAP服务器中,主LDAP服务器根据LDAP内部协议把更新的数据同步到从LDAP服务器中。6.OCSP服务器7.OCSP是在线证书状态验证(OnlineCertificateStatusProtoc01)的缩写。用户可以向OCSP服务器查询证书的撤销状态,由OCSP服务器完成证书状态的查询过程。证书注册系统(RegisterAuthority,RA)证书注册系统是面向最终用户的。它的主要功能是登记、审核用户的身份信息,并向CA提出证书签发请求;用户也可以通过RA提出证书注销和恢复请求。’^2.3数字证书结构证书包含用户的身份信息、公钥和CA的数字签名。任何一个信任CA的通信一方,都可以通过验证对方数字证书上的CA数字签名来建立起与对方的信任关系,并且获得对方的公钥以备使用。为了保证CA所签发证书的通用性,通常证书格式遵守X.509V3标准。该标准把用户的公钥与用户名等其他信息绑定在一起,为了建立信任关系,CA用它的私钥对数字证书签名,CA的数字签名提供了三个重要的保证。第一,认证中有效的数字签名保证了认证信息的完整性:第二,因为CA是唯一有权使用它私钥的实体,任何验证数字证书的用户都可以信任CA的签名,保证了证书的权威性:第三,由于CA签名的唯一性,CA不能否认自己所签发的证书,并承担相应的责任。2.4X.509证书概述认证机构通过对信息集合的签名来生成用户证书,信息集合包括可辨别的用户名、公钥以及一个可选的包含用户附加信息的唯一标识符(unique10 第2章PKI/CA简介identifier)。具体地说,如果一个用户证书的可辨别名为A,唯一标识符为UA,并且该证书是由名为cA,其唯一标识符为UCA的认证机构签发的,则证书可以表示为:CA“A>>----cA{v,SN,AI,CA,UCA,A:UA,却,黝)}这里V为证书版本;SN为证书序列号;AI为用来签发证书的算法标识符;UCA为CA的可选的唯一标识符;UA为用户A的可选的唯一标识符:Ap为用户A的公钥;TA表示证书的有效期。’以下我们用抽象语法表示法(ASN.1)对证书的格式进行描述。利用与ASN.1语法对应的特定编码规则(DER)对证书中的各项信息进行编码生成证书。2.4.1基本证书域的数据结构数字证书的基本数据结构如下所示:iCertifiCat∈e::=SEQUENCE{|∞。I_tbsCel·ti鼓carej-TBSCertjficate,≯isignatureAigorithmAlgorithmldentifier,?攀瀛t,UriieValue麓豢。鬻iISigtuFeValueBITSTIj囊黼鬻i攀i证书的数据结构由tbsCertificate,signatureAlgorithm和signaturevalue三部分组成,其含义如下:tbsCertificate域包含了主体的名称、签发者的名称、主体公钥、证书的有效期和其它相关信息。signatureAlgorithm域包含证书签发机构签发该证书所使用的密码算法的标识符。signatureValue域包含了对tbsCertificate域进行数字签名的结果。采用ASN.1DER编码的tbsCertificate作为数字签名的输入,而签名的结果则按照ASN.1编码成BITSTRING类型并保存在证书签名值域内。2.4.2TBSCertificate及其数据结构证书主体是指证书的持有者,它表示了证书持有者的身份信息。证书签发者是指签发证书的认证机构(CA)。TBSCertificate结构体中包括了有关证书主体、证书签发者信息以及证书及其公钥的使用策略的一些信息。i}||1蒸鬻BSCe2t簇糕蓊teI|黍戮遴霪霾鬻||||iiji鬻囊警尊£slQ秘ji薹曩I||I囊攀囊i国《鞘瓣冀塞黧萋萋i!耐i鬻鬻e参iaiN谶矮麓i?j1|{|I攀鬻罄j攀i攀1||;|ijiii鬻耄窖nat舔蓑爨iil囊jEXCeA1SEQ瑷鞭iii!ff琶r萎耄hf矗k。:。{=㈣i荨萎毫j薹至露蠢jpEEAUl;i囊誊j_鬻罐黼mbe誊。囊鬻j±·二蠢。t至攀霉舅摹, 第2章PKI,CA简介赫《霪豢黼的蘸添簿攀黼耋黼j、jSub、jectPublicKeylneo,。一|,i雾|一鬻篱黼莲辫遴ii囊爹IMPL鲻Uniq“溺e嗽fi蒺OPTl6嗡j--。;iij‘搿i搿《i一:一一n,;i鬻;i!i:;i~如果出现,oersion必须是v2或者v3一⋯.S、ubjectUniqueID[.2]IMPLICITUniqueldentifierOPTIONAL,一如果出现,Version必须是v2或者攀3Extenslons[3]EXPLICITUniqueIdentifierOPTIONAL,1.版本(Version)一如果出现,version必须是v2或者v3Versionj?::=INTEGER{vl(0)v2(1)v3(2)}版本号表示了证书数据格式所遵循的X.509版本。当前最高版本是V4版,但V3版是目前使用最广的版本。没有特别说明,本文是针对V3版的。2.证书序列号(seriaiNumber)¨.CertificateSerialNumber::2INTEGERi序列号是CA分配给每个证书的一个正整数,由一个CA签发的证书的序列号必须是唯一的。序列号可以是长整数,证书用户必须能够处理长达20个8比特字节的证书序列号。3.有效期(Validity)—溺徽翩瀚纂鬻"-:notAfterTime}有效期描述了证书的有效时间,在这个时间段内,CA担保它将维护关于证书状态的信息。notBefore表示有效期的起始时间,notAflcr表示有效期的终止时间。4.颁发者名称(Issuer)¨IiName::=CHOICE{RDNSequence}:÷RDNSequerice::2SEQUENCEOFfRelativeDistingui引hedName。豢i董?ReiatireDistingU至shedName::=SETOFAttributeTypeAndValue::=SEQUENCE{l蒸yp9jAt篓蓥囊buteTyp6;jo0i;l鬻鬟纂一瑟誊一j囊鍪鬻∞蠢|蔓o∞i蠢蠹薹ij-1纛萋毫叠一ij曩I:i。霾鬻辫l|:|b攀:i麟薹爹攀麟teV篱l||.鬻落萋≯。。!!II_孽jI|||l}|一j;篓攀黪。。囊豢蠢一≯一≥誊i一-jo。i—iiiii峰tri撕鼍誊l萝西e‘ii鬻誉:j::;誉OBJECTIDENTIFIER12 第2章PKI/CA简介Artrlbutelype::2OB1卜CI‘IDENJl卜IERAttributeValue≯:2ANYDEFINEDBYAttributeType颁发者名称项描述了证书颁发者CA的信息。颁发者名称通过Name来描述。Name是一个可分辨名(DistingguishedName,DN),由一些相对可分辨名(RelmiveDistingguishedName,RDN)组成。一个相对可分辨名的类型用一个对象标识符(ObjectIdentifier,OID)来表示。通常由以下的一项或多项组成:国家(C)、省份(S)、地市(L)、组织名称(0)、机构名称(oU)和通用名称(CN)。5.主体名称(Subject)主体名称项描述了与主体公钥项中的公钥相对应的实体。当主体名称项非空时,这个项必须包含一个X.500的可分辨名称(DN),由某个CA认证的每个主体的可分辨名称必须是唯一的。主体名称的语法与颁发者信息构成语法一样,是通过Name来描述的。6.主体公钥信息(subjectPublicKeylnfo)SubjectPubiicKeylnfo::=SEQUENCE(algorithmA190rithmldentifier,sUbjectPublicK§yBITSTRING}A190rithmldentifier::=SEQUENCE{algorithmOBJECTIDENTIFIER,parametersANYDEI:13"EDBYalgorithmOPI、ONAL。}主体公钥信息表示了与证书绑定的公钥算法及公钥数据。其中algorithm描述了非对称算法信息,而subjectPublicKey包含了证书的主体公钥数据。2.4.3证书扩展项证书扩展项在X.509证书结构中是作为TBSCertificate的一部分存在的,我们把它单独作为一节进行讨论是因为证书扩展项的项目很多,并且有很多项在证书验证的过程起着重要作用。Extensions::=SEQUENCESIZEf1一--MAX)OFExtensionExtension::=SEQUENCE{extnlDOB.IECTIDENTIFIER,?criticalBOOLEANDEFAUL]、FALSE。extnValueOCTETSTRING)证书扩展项提供了把一些附加属性同用户或公钥相关联的方法以及证书结构的管理方法。数字证书允许定义标准扩展项和专用扩展项。每个证书中的扩展项r习+以定义成关键性的和非关键性的。由上面ASN.1描述的扩展项语法可知,一 第2章PKI/CA简介个扩展含有三部分,他们分别是扩展项类型、扩展关键度和扩展项值。当证书中出现一个扩展项时,用extnlD来表示扩展项类型,扩展项类型是一个OID值,对应的ASN.1编码结构就是8比特字符串extnValue的值。一个特定的证书中特定的扩展只可出现一次。扩展关键度(extensioncriticality)告诉证书的使用者是否可以忽略某一扩展项。证书应用系统如果不能识别关键的扩展时,必须拒绝接受该证书,如果不能识别非关键的扩展,则可以忽略该扩展项的信息。用布尔型的值来表示该扩展的关键性,其缺省值为FALSE,即非关键的。CA必须支持密钥标识符、基本限制、密钥用法和证书策略等扩展;另外,CA还应该能支持认证权威机构(authority)和主体密钥标识符(subjectkeyidentifier)以及策略映射扩展:CA还可以支持本标准定义之外的其它的扩展。值得注意的是,如果这些扩展被定义为关键的,可能会给互操作性带来障碍。1.权威机构密钥标识符(authorityKeyldentifier)权威机构密钥标识符扩展提供了一种以识别与证书签名私钥对应的公钥的方法。当发行方由于有多个密钥共存或由于发生变化而具有多个签名密钥时使用该扩展。CA以“自签”(self-signed)证书形式发放其公钥时,可以省略该扩展。蠡通蓑h【『|::orityKeyldentifier:||||囊豢SEQUENCE洋戮薯曩一。0{I}keyldentifier[0]Keyldentif]erOPTIONAL,authorityCertlssuer[1]GeneraiNamesOPTIONAL,a—uthorityCertSer“atNumbertificateSeFiaiNumberOPTIONAL毒垂≥Keyldentifi誊誊iil||;|攀OCTETSTRING1_|“其中,Keyldentifier项的值应从对应公钥导出,必须保证Keyldentifier的唯一性。公开密钥的密钥标识符KeyIdentifier可采用下述两种方法生成:keyldentifier由BITSTRINGsubjectPublicKey值的160-bitSHAI哈希值组成(去掉标签、长度和不使用的字节数目)。keyldentifier由0100加上后跟的BITSTRINGsubjectPublicKey值的SHAI哈希值中最低位的60比特组成。除自签证书之外,所有的证书必须包含本扩展,而且要包含keyldentifier项。authorityKeyldentifier的值是由证书颁发者公钥导出的Keyldentifier。2.主体密钥标识符(subjectKeyldentifier)主体密钥标识符扩展提供一种识别包含有一个特定公钥的证书的方法。此扩展标识了被认证的公开密钥,它能够区分同一主体使用的不同密钥(例如,当密钥更新发生时)。此项定义如下:器秘bjectKeyldentifier::焉藜鬯yldentifier对于某个主体的各个密钥标识符而言,每一个密钥标识符均应是唯一的。此14 第2章PKI/CA简介扩展项总是非关键的,但所有的CA证书必须包括本扩展。subjectKeyldentifier的值是由证书公钥导出的Keyldentifier。3.密钥用法(keyUsage)此扩展指示已认证的公开密钥可用于何种用途,该项定义如下:Key[sage::=BITSTRING≯⋯digitalSignat‘ure(0),■nonRepudiaTion(1),。『kev,Enciphermen<(2),dataEncipherment(3),‘keyAgreement,(4),kev—CertSign(5),cRLSign(6),encipherOnly(7),decipherOnly(8)}以上定义了证书公钥的基本用途,它可以用来验证数字签名、加密密钥、加密数据、用作公钥协商密钥、验证证书签名、验证CRL签名等用途。密钥用法在证书中的表示是一个8位01串,每一位代表着一种密钥用途。如果此扩展标记为关键的,那么该证书应只用于相应密钥用法比特置为“1"的用途。如果此扩展标记为非关键的,那么它指明此密钥的预期的用途或多种用途,并可用于查找具有多密钥/证书的实体的正确密钥/证书。4.证书策略(certificatePolicies)证书策略项列出了由颁发的CA所认可的证书策略,这些策略适用于证书以及关于这些证书策略的任选的限定符信息。证书策略扩展包含了一系列策略信息条目,每个条目都有一个OID和一个可选的限定条件。在用户证书中,这些策略信息条目描述了证书发放所依据的策略以及证书的应用目的;在CA证书中,这些策略条目指定了包含这个证书的验证路径的策略集合。如果该扩展是关键的,则证书验证时必须能够解释该扩展(包括选择性限定语),否则必须拒绝该证书。certificatePolicies::=SEQUENCESIZE(1..MAX)OFPol:icylnformationPo]icy]nformation::=SEQOENCE{¨‘policyldentifierCertPolicyld,po]icyQualifiefsSEQUENCEsize(1..MAX)oFP01icyQualifieI’1nfoOPTIONAI.}5.策略映射(policyMappings)策略映射扩展只用于CA证书,它列出一个或多个OID对,每对包括一个 第2章PKI/CA简介issuerDomainPolicy和一个subjectDomainPolicy。策略映射表明,颁发者CA认为其issuerDomainPolicy与主体CA的subjectDomainP01icy是等效的。此项定义如下:PoticyMappl+ngsSyntaX:;雾鼯QUENCp辫ZE(1..MAX)OFsg嘁ENCEiiSSUerDo越inPolicY。C鬯rtpolicyId,isubjectDOmainP01icyG誊rtP01鬻y刻}{{{ii6.基本限制(basicConstraints)基本限制扩展项用来标识证书的主体是否是一个CA,该CA以下允许的最大认证路径有多长。此项定义如下:BasicConstraintsS¥瑟tax薹:。SEQUENCE£一CABOOLEANDEFAUI。TFALSE,÷pat:hLenCons奄ra铷tINTEGER(0..MaX)OPTIONAL}j1|CA字段标识该公钥证书是否是CA证书。PathLenConstraint字段仅在CA设置为TRUE时才有意义。它给出此证书之后认证路径中最多的CA证书数目。0值表明该证书只能向最终实体签发证书,而不可以签发下级CA证书。PathLenConstraint字段出现时必须大于或等于0。如果在认证路径的任何证书中未出现pathLenConstraint字段,则对认证路径的允许长度没有限制。CA证书中必须包括本扩展,而且必须是关键的。7.名称限制(nameConstraints)名称限制扩展项只用于CA证书。它指示了一个名称空间,在此空间设置了认证路径中后续证书中的所有主体名称。此项定义如下:如果存在permittedSubtrees和excludedSubtrees字段,则他们每个都规定一个或多个命名子树,每个由此子树的根的名称或以任选处于其子树内的任意节点名称来定义,子树范围是一个由上界和/或下界限定的区域。如果pennittedSubtrees存在,由主体CA和认证路径中下级CA颁发的所有证书中,16 第2章PKI/CA简介只有那些在子树中具有与permittedSubtrees字段规定的主体名称相同的证书才是可接受的。如果excludedSubtrees存在,由主体CA或认证路径中后继的CA颁发的所有证书中,同excludedSubtrees规定主体名称相同的任何证书都是不可接受的。如果permittedSutrees和excludedSubtrees都存在并且名称空间重叠,则优先选用排斥声明(exclusionstatement)。在X.509标准中,任何名称格式都不使用最小和最大字段,最小数总为0,最大数总是空缺的。8.策略限制(policyConstraints)策略限制扩展以两种方式限制路径验证。它可以用来禁止策略映射或要求路径中的每个证书包含明确的策略标识符。本项定义如下:,PolicyConstraints::||||挚SEQUENCE{requireExplicitPolicy[0]SkipCertsOPTl0}《AL,inhibitPolicyMapping[1]SkipCer。tsOPTIONAL}SkipCerts::=INTEGER(0..MAX)如果requireExplicitP01icy字段存在,并且证书路径包含一个由该CA签发的证书,所有在此路径中的证书都有必要在证书扩展项中包含明确的策略标识符。策略标识符是在证书策略中定义的标识符,或通过策略映射与其等价的策略的标识符。如果inhibitploicyMapping字段存在,表明在认证路径中从该CA开始直到认证路径结束为止的所有证书中,不允许策略映射。SkipCerts类型的值表示在某一限制成为有效之前应在认证路径中需要跳过的证书的个数。9.禁止所有策略(inhibitAnyPofiey)如果证书设置了禁止所有策略扩展项,则由该CA及其以下CA都不能使用anyPolicy。本项定义如下:SkipCertsjINTEGER(0..MAX)yn-).110土OD0VJnS^nt‘七r.1e,an-).1ph¨.1nk王S 第2章PKI/CA简介2.5证书的生命周期图2-3证书生命周期如图2—3所示,从证书申请一直到证书过期或作废是证书的一个完整的生命周期。在这个过程中需要参与的主体为:证书主体(证书持有者)、可信权威机构(CA)、证书依赖方。下面我们分别介绍证书生命周期的各个阶段。1.证书注册证书注册在RA(RegisterAuthority)进行。证书申请者向RA操作员提出证书申请请求,并且提供身份证明材料。RA操作员核实申请者的身份,填写申请者信息,并向CA提出证书签发请求。2.证书签发证书签发是指从RA发出证书签发请求到RA接收到证书的过程。证书签发的过程主要在CA系统中完成。图2—4描述了证书签发的完整的过程。 第2章PKI/CA简介图2—4证书签发过程(1)RA向CA发出证书签发请求。(2)CA接收到RA的证书签发请求,向密钥管理中心(KMC)申请一个加密密钥对。(3)CA为用户签发一个签名证书和一个加密证书。(4)CA把两个证书存入证书数据库。(5)CA向RA返回已签发的证书以及包含加密私钥的数字信封。(6)CA定期把新签发的证书发布到LDAP中。3.证书使用证书的使用范围十分广泛,根据证书中公钥用途的不同,证书可以有不同的用途,如身份认证、数据完整性验证、数据加密、密钥协商等。4.证书的撤销当用户的私钥泄漏、证书用户的身份发生改变或证书持有者不可信任的情况下,需要对证书进行撤销。证书的作废可以分为临时撤销(注销)和永久撤销(作废证书)图2—5描述了证书撤销的完整过程。19 第2章PKI/CA简介图2—5证书撤销过程(1)RA向CA提出证书撤销请求,并且把需要撤销的证书序列号发送给CA。(2)CA接收到RA的证书撤销请求,向密钥管理中心(KMC)发出密钥作废请求。KMC把相应的密钥移入历史密钥库。(3)CA把相应的证书移入作废证书库。(4)CA定期签发CRL,并把CRL文件发送到LDAP中,供公众下载,2.6本章小结本章就PKI和CA的基础内容和结构进行了研究,首先阐述了PKI公钥基础设施的整体架构,接着分析了CA系统的功能、层次结构,最后介绍了数字证书的结构和证书的生命周期。20 第3章信任管理3.1什么是信任3信任管理信任是人类社会的一种自然属性,通常被视为一种直觉上的概念加以理解,并没有形成一个准确和统一的定义。根据个人经验的不同对信任的理解存在差异,根据不同学者所处的背景、视角和所要解决的问题的不同,对信任的定义也不同。Gambetta从社会学的角度给出了这样一个具有一定影响力并有一定实用性的定义:“当我们认为信任某个人或者认为某个人是可信的时候,就隐式地意味着他将要采取的行动会对我们有利或者至少无害的概率足够大以至于我们可以考虑以某种方式和他进行合作。相应地,如果我们认为某人不可信,就隐式地意味着这种概率很低以至于要避免和其进行合作。”Gambetta的定义强调了信任从根本上来说是一种信念或者估计,推动了Jasang等人从主观逻辑着手对信任进行测度的研究。此后,Castelfranchi和Falcone又将Gambetta的定义加以拓广,融入了实力性和可预测性。在欧洲执行委员会联合研究中心(EuropeanCommissionJointResearchCentre)的Trust-EC项目中,Jones将信任定义为“一种商业关系的属性,从而可以对商业伙伴以及和他们进行的商业事务建立依赖”。Jones认为相关因素包括商业伙伴的认证和可靠性,敏感信息的机密性,宝贵信息的完整性,对信息进行未授权复制和使用的避免性,数字产品的受保障质量,关键信息的可用性,对关键信息所系风险的管理,以及计算机服务和系统的可依赖性。Grandison和Sloman对各种形式的信任定义进行了考查。对这些定义做了简单分析之后,他们给出了自己的定义:“一种坚定的信念,针对的是某个实体能够在某种给定的上下文环境下可靠、安全、可依赖地采取行动的能力”。信任(Trust):信任是在特定时段特定上下文环境中授信方(Trustor)对受信方(Trustee)的诚实性(honesty)、安全性(security)、可靠性(reliablity)和实力性(competence)的一种主观肯定。信任的具有以下的特点:1.信任主观性:不同的主题对于同一事物的信任度是不同;2.信任传递性:信任具有间接的传递性:如A信任B,B信任C,则A与C之间存在条件限制的信任传递问题,反应在现实生活中就是推荐信任度的问题;3.信任存在反对称性:信任并不是对称的,A信任B,B不一定信任A,又或 第3章信任管理者两者对彼此的信任度大小并不相等;4.信任存在上下文相关性:信任存在在一定的环境条件下的,即信任是相对于某个特定的上下文而言的,超出这个范文的信任将失去其存在的意义;5.信任的可测性:信任度这一概念可以反应信任程度的大小,即信任是可以量化的;6.信任的多样性:信任的主题,客体和目的可以是多样的;7.信任是动态的:信任与时间有直接关系,不同的时间内信任度将会不同。所有的信任关系都是有着严格的时间限制的。3.2信任管理(TrustManagement)及信任模型3.2.1信任管理信任管理(TrustManagement)的概念最初是由M.Blaze等人于1996年提出的⋯,旨在“采用一种统一的方法来描述和解释安全策略、安全凭证和用于直接授权关键性安全操作的信任关系”。基于该定义,信任管理的内容包括:制定安全策略、获取安全凭证、判断安全凭证集是否满足相关的安全策略等。信任管理要回答的问题可以表述为“安全凭证集C是否能够证明请求r满足本地策略集P"(本地安全策略主要是对计算机安全方面和权限的设置,如用户权利的指派等。)。信任管理是说明和解释安全策略、信任状和实体间信任关系的一种统一方法,它允许对涉及安全的行为进行直接授权。信任管理的基本思想是承认系统中安全信息的不完整性,系统的安全决策需要依靠可信第三方提供附加的安全信息。信任管理将访问对象的权限授予特定的属性,而主体从其拥有的属性获得权限。在一个典型的Web服务访问授权中,服务方的安全策略形成了本地权威的根源,服务方既可使用安全策略对特定的服务请求进行直接授权,也可将这种授权委托给可信任第三方。可信任第三方则根据其具有的领域专业知识或与潜在的服务请求者之间的关系判断委托请求,并以签发安全凭证的形式返回给委托请求方。最后,服务方判断收集的安全凭证是否满足本地安全策略,并做出相应的安全决策。为了使信任管理能够独立于特定的应用,M.Blaze等人还提出了一个基于信任管理引擎(TrustManagementEngine,TME)的信任管理模型,如图3—1所示。 第3章信任管理凭证。一。._L。I●圆骂请求描述/一致性验证器(信任管理引擎TME)响应、动作请求·--。、[_。_I-信任●.._●●-●边界图3—1信任管理模型信任管理引擎TME是整个信任管理模型的核心,体现了通用的、应用独立的一致性证明验证算法,根据输入的三元组(r,C,P),输出策略是否被满足来判断结果。M.Blaze的定义主要针对的是基于凭证的信任模型,特别是授权的管理问题,具有一定的局限性。O.Povey在M.Blaze定义的基础上,结合A.hdul-Rahman等人提出的主观信任模型思想n5’n1,给出了一个更具一般性的信任管理定义,即信任管理是信任意向(TrustingIntention)的获取、评估和实施u8。。主观信任模型认为,信任是主体对客体特定行为的主观可能性预期,取决于经验并随着客体行为的结果变化而不断修正n9J。在主观信任模型中,实体之间的信任关系分为直接信任关系和推荐信任关系,分别用于描述主体与客体、主体与客体经验推荐者之间的信任关系。也就是说,主体对客体的经验既可以直接获得,又可以通过推荐者获得,而推荐者提供的经验同样可以通过其他推荐者获得,直接信任关系和推荐信任关系形成了一条从主体到客体的信任链,而主体对客体行为的主观预期则取决于这些直接的和间接的经验。信任模型所关注的内容主要有信任表述、信任度量和信任度评估。信任度评估是整个信任模型的核心,因此信任模型也称信任度评估模型。信任度评估与安全策略的实施相结合同样可以构成一个一般意义上的信任管理系统。P.Herrmann等人提出了一个“信任适应的安全策略实施(trust—adaptedenforcementofsecuritypolicy)”的概念,并在这方面做了一些初步的研究乜0|。授权委托和安全凭证实际上是一种信任意向的具体表现。在后续的研究中,信任管理被扩展定义为:“以评估和决策制定为目的,对Internet应用中与信任关系的完整性、安全性或可靠性相关的证据进行收集、编码、分析和表示的行为”。证据可能包括凭证、风险评估、使用经验或者推荐信息。分析过程是根据信任需求进行信任评估或计算的过程。(从实现的.-.:.:。I.I.-_- 第3章信任管理角度,信任管理系统类似查询引擎,它接收请求R、证书集C、政策P作为输入,返回支持或拒绝请求的建议Approve或Reject。)根据证据的不同,当前信任管理主要从两方面展开处理,即基于凭证与策略的信任管理和基于信誉的信任管理。3.2.2信任模型综述根据DonovanArtz等的观点,获取信任的常见途径有两种:基于凭证和策略的信任和基于信誉的信任。前者又称为理性信任或客观信任,后者又称为感性信任或主观信任,当前的信任管理主要围绕这两大体系展开。其区别在于信任关系建立途径不同。理性信任,指授信方在一定环境中相信受信方会以一定的方式执行或者不执行某项活动。理性信任的特点是相对精确、客观,表达为信任或不信任的两种选择,信任与活动没有直接的关系。基于凭证和策略的信任管理系统即是一种理性信任模型。感性信任,则主要从信任的定义出发,使用数学的方法来描述信任意向的获取和评估。感性信任模型认为,信任是主体对客体特定行为的主观可能性预期,取决于经验并随着客体行为的结果变化而不断修正。在感性信任模型中,实体之间的信任关系分为直接信任关系和推荐信任关系,分别用于描述主体与客体、主体与客体经验推荐者之间的信任关系。也就是说,主体对客体的经验既可以直接获得,又可以通过推荐者获得,而推荐者提供的经验同样可以通过其他推荐者获得,直接信任关系和推荐信任关系形成了一条从主体到客体的信任链,而主体对客体行为的主观预期则取决于这些直接的和间接的经验。感性信任模型放弃了实体间的固定关系,认为信任是一种经验的体现,对信任进行量化或分级,并被广泛应用于电子商务(!/FleBay、Amazon、淘宝)、在线社区(!/HEpinion、PGP)等领域,成为近年来研究的热点。理性信任可以被抽象为O或1的关系,也可以用布尔值表示。这种信任关系本身就决定了信任或者不信任的条件,信任管理则根据信任关系判断“是”或者“否”。而感性信任通过经验、信誉或者风险分析来给出可信的概率。信任关系本身并不是一种非此即彼的概念。感性信任往往用[0,1]之间的实数或者不连续值来表示。感性信任模型所关注的内容主要有信任表述、信任证据过滤、信任度量和信誉评估。信誉评估是整个信任模型的核心,因此感性信任模型也称信誉评估模型。理性信任和感性信任是信任管理在实际应用中的具体体现,并不存在矛盾。单纯地把信任限定为某一种类型的观点是存在局限性的,也不能因为某种信任否定另一24 第3章信任管理种信任,两种关系决定了不同的信任方面,在信任系统中是可以并存的。而且,通过这种并存关系可以把确定因素和不确定因素相结合,实现更加有效的信任管理。我们所需要考虑更多的是根据特定的信任场景,决定采用何种信任关系和何种形式的信任模型,还有信任管理在整个信任场景中的作用和管理机制。在实际应用中,两种信任关系具有很强的互补性。一方面,在计算机领域,确定的判断结果更加有意义。人之所以使用计算机作为辅助工具,是期望根据输入的数据得出确定的结果。在计算机的安全技术发展中,认证和授权、访问控制等都可以看作是理性信任。理性信任在安全控制、管理领域一直发挥着重要的作用。通过理性信任关系,信任管理才可以自动地获得判断结果。另一方面,感性信任关系更符合人类对信任基本性质的认识,并弥补了理性信任的不足。在很多种情况下,由于风险的存在,并不能遵循相同的“理性”准则简单地判断对错,而且,信任关系是一种随着时间、经验、风险变化的关系,理性信任关系难以反映这些性质。感性信任试图通过模拟人类社会中的交互和信任关系在计算机世界中建立起一种互信关系,通过对信任关系的评估和量化,可以辅助决策制定。感性信任关系还可以表示信任关系的历史、现状和将来的发展趋势,可以应用于某些领域去解决比较复杂的信任问题。因此,在某种程度上讲,感性信任关系弥补了理性信任的不足,并且具有重要的应用意义。下面将介绍几种典型的不同结构的信任模型:1.下属层次信任模型下属层次信任模型也称为严格层次信任模型。在该信任模型下,每个CA(根CA除外)都仅有一个上级CA,丽所有的CA具有羼一个信任起点,即根CA(RootCA)。下属层次结构的PKI信任模型具有简单的结构和单向的信任关系,它可以被描绘为一棵倒立的树,根在项上,树枝向下伸展,树叶在下面。在这棵倒立的树上,根代表一个对整个PKI系统的所有实体都有特别意义的根CA,它是该PKI信任域内的公共信任锚(trustanchor)。在这个模型中,层次结构中的所有实体都信任根CA。如图3-2所示,这个层次结构按如下规则建立:·根CA认证(更准确地说是创立和签署证书)直接连接在它下面的CA。·每个CA都认证零个或多个直接连接在它下面的CA。·倒数第二层的CA认证最终实体。 第3章信任管理图3—2图下属层次模型下属层次模型有以下优点:1)层次结构的PKI系统易于升级和增加新的认证域;2)证书路径由于其单向性,容易扩展;3)证书路径相对较短,最长的路径等于树的深度加一。其缺点是层次结构的PKI体系的把所有的信任都集中在根CA,对根CA的安全性要求比较高。2.分布式信任模型对于那些对等实体所拥有的CA,如商业伙伴之间,通常采用分布式信任模型。分布式信任模型也称网状信任模型。网状结构的PKI中包含多个CA,提供PKI服务,每个使用者的信任锚是为其发放证书的CA机构;这些CA之间通过点对点模式(peer-to--peer)也就是互相发给证书的方式建立信任关系,也即通过交叉认证技术建立CA间的信任关系。如图3-3所示,这种模型中的路径构造比层次结构复杂得多,需要对CA发布的证书进行反复的比较,并且跨越很多节点的信任路径会被认为是不可信的。 第3章信任管理图3-3分布式信任模型分布式信任模型有以下优点:1)CA可以容易增加新的群体用户;分布式信任模型中的任何一个CA只需与该群体的CA建立信任关系,就可以加入信任域;2)结构非常灵活,可以根据需要建立交叉认证关系;3)与层次信任模型相比更安全。分布式信任模型把安全风险分布到各个CA,如果某个CA发生密钥泄漏,只影响到数量较少的用户。其缺点包括:1)证书路径的扩展与层次结构的信任模型相比过于复杂:2)证书路径发现较为困难,有可能会建立一个无止境的证书环路:3)证书路径的最大长度是PKI中的CA的数量:4)结构松散,随着证书路径长度的增加,信任强度容易削弱。3.混合型信任模型混合信任模型是在前两种模型结合的基础上再进一步扩展。当几个下属层次型模型需要相互认证的时候,可以把它们的锚CA彼此交叉认证,也就是说混合型信任模型中有多个信任域存在,每个信任域内的结构都是下属层次型信任模型,信任域锚CA之间采取网状模型互联。在此基础上,不同信任域的非根CA之间也可以进行交叉认证,以缩短证书链的长度。如图3-4所示。27 第3章信任管理图3—4混合型信任模型4.桥CA信任模型桥CA(BridgeCertificationAuthority,BCA)是一种证书机构,具有证书机构的基本功能,但是桥CA本身不直接发放证书给最终使用者,不具有信任起点功能,但具有建立各个不同信任域问信任关系的功能。桥CA模型实现了一个集中的交叉认证中心,它的目的是提供交叉证书,而不是作为证书路径的根。它的主要功能是为不同信任域的桥CA颁发交叉认证的证书,建立各个信任域的证书策略与桥CA的证书策略之间的一一映射关系,更新交叉认证证书,发布交叉认证证书黑名单等。当一个信任域通过桥CA与桥CA建立了交叉证书,那么,它就获得了与那些已经和桥CA建立交叉认证的信任域进行相互认证的能力。桥CA互联模型如图3—5所示。图3-5桥CA互联模型桥CA信任模型有如下优点:(1)证书路径较短。相同CA数目的桥CA信任模型比网状信任模型具有更短的证书路径。而且在证书验证的时候,证书路径也较容易被发现,因为用户知道他28 第3章信任管理们到桥CA的路径,从而只要确定从桥CACti待认证用户证书的证书路径。(2)有较强的扩展性。对于新加入的信任域只需要与桥CA进行交叉认证即可,而不需要像网状信任模型那样与其它的所有原有信任域都交叉认证。桥CA也有它自身的一些限制:桥CA的具体实旌过程在中,需要建立一个与所有域都交叉认证的中心一桥CA,这个中心的选取要得到大家的认可,要有一个大家都信任的第三方来承担。桥CA模型并且要对现存的每个域的目录服务器进行改造加入桥CA所需的BoarderDSA(BoarderDirectoryServiceAgent),花费将是很大的。另外桥CA的设计模型要求各个信任域间要实现对等,而事实上各个域间完全的对等性很难保证。信任管理主要解决大规模的、开放的分布式系统的授权问题,与传统的安全授权机制相比,它具有灵活性、可扩展性以及可靠性等。虽然目前信任管理已经能够支持非单调凭证,其一致性证明可以从理论上得到一定的验证,但是存在以下问题:(1)信任关系定义的混乱性。信任关系是最复杂的社会关系之一,也是一个非常主观化的心理认知,是一个实体的主观决定。对“信任"也还没有统一的定义,各种模型各自提出了信任的定义,甚至它们所使用的语言词汇也各不相同。虽然一些学者也努力提出一些所i胃UniversalDefinition,但都还没有被广泛接受;(2)信任模型的多样性。各种模型都是基于不同的应用背景提出来的,例如,分布式环境下的信任模型强调动态性和不确定性;而电子商务中的信任模型强调交互双方的互信。所以,不同的应用提出了不同的信任模型;(3)模型性能的评价困难。对于一个模型的性能优于其他模型的评价是一个非常困难的工作;(4)模型的实现问题。当前公开发表的信任模型中很少说明实现问题;(5)大多数模型没有综合考虑各种可能的输入因子。例如,大多数模型没有风险机制,没有考虑服务者的声誉,不能很好地消除恶意推荐对信任评估的影响,没有解决初始信任值如何获得的问题等等;(6)信任管理安全策略验证的能力和效率仍不能满足网络安全环境的动态变化;(7)信任管理的策略制定过程过于繁琐,不利于信任管理的应用。本文认为信任管理未来的发展方向有以下几个方面:(1)研究制定一种完备、有效、相对简单的语言来形式化描述信任管理,并可从数学理论上给予证明;改进一致性验证算法,提高其验证能力和效率;(2)进一步研究信任关系,尤其是动态信任关系的相关性质、信任的表述和29 第3章信任管理度量的合理性。这对信任关系的建模是非常重要的,也是信任关系建模的基础;(3)通用信任模型的研究。通过比较研究发现,在某些相似的应用系统中,信任关系具有相似性。将适用于某一具体系统信任模型扩展到某一类系统的信任模型,例如从P2P至U分布式系统;(4)信任模型的评价问题。如何对众多的信任模型进行客观的性能评测也是一个值得研究的方向;(5)结合其他学科的知识,如机器学习、人工智能等,继续探索适合描述信任关系的新模型;(6)提供易于理解和使用的安全策略制定方法;(7)传统的安全机制,如加密和授权等,经过长时间的研究和实践,发展相对成熟,可将信任管理与传统的安全机制相结合,充分发挥两者的长处,建立新的安全机制,并为解决新的应用安全问题提供新方法。3.3信任管理方法3.3.1对等的授权模型信任管理方法使用对等的授权模型,每个实体既可能是请求者也可能是授权者。作为授权者,实体维护本地政策作为授权决策的最后依据;作为请求者,实体维护一组证书并在请求时作为证据提交证书,供授权者参考。比较X.509公钥体系(隐含通信双方有相同的信任根),对等的授权模型没有任何隐含的信任假定,信任模型完全由本地控制,更灵活、更具延展性。3.3.2编程的授权证书X.509公钥体系使用“身份”证书绑定公钥和主体名字。“身份”证书使用名字标识“身份”,符合人们在物理世界的思维习惯。事实上,作为一个新的生存空间,数字世界有新的规则,许多新事物在物理世界是没有原像的。Internet服务的授权者也许根本不认识请求者,在授权决策时回答“是谁提出请求?”是毫无意义的。授权证书是公钥和权力的绑定,适合描述数字世界形成的信任关系。首先,信任管理方法使用授权证书,其授权过程回答的问题是:“证书集合C证明了请求R符合本地安全政策P吗?”;其次,信任管理方法是编程的授权证书,授权项允许是通用程序,从而可以描述数字世界的复杂信任关系。证书编程的思想给网络应用带来两点好处:(1)统一表示政策、证书和信任关系;(2)以一种可理解的、一致的、灵活透明的方式处理安全。(3)通用的证明机制。30 第3章信任管理授权项允许是通用程序,从而可以描述数字世界的复杂信任关系。证书编程的思想给网络应用带来两点好处:(1)统一表示政策、证书和信任关系;(2)以一种可理解的、一致的、灵活透明的方式处理安全。(3)通用的证明机制。按照信任管理方法,信任管理系统应是一个通用的、与应用独立的查询引擎,其一致性检查算法应避免涉及应用的语义,寻找请求服从政策的形式化证据,即形式证明。实现通用的信任管理引擎的好处:(1)授权的可靠性,保证授权决策仅仅依靠输入而不是任何隐含政策(bug);(2)程序可以复用,减少重复劳动。3.3.3通用的证明机制按照信任管理方法,信任管理系统应是一个通用的、与应用独立的查询引擎,其一致性检查算法应避免涉及应用的语义,寻找请求服从政策的形式化证据,即形式证明。实现通用的信任管理引擎的好处:(1)授权的可靠性,保证授权决策仅仅依靠输入而不是任何隐含政策(bug);(2)程序可以复用,减少重复劳动。3.4本章小结本章从信任的基本定义开始,分析了信任的特点,介绍了信任管理的相关概念并总结对比了几种相关的信任模型,最后对信任管理的方法进行了研究总结。 第4章信任管理模型4信任管理模型信任管理是围绕信任这一概念进行构造的,信任管理是说明和解释安全策略、信任状和实体间信任关系的一种统一方法,它允许对涉及安全的行为进行直接授权。信任管理系统为说明应用的安全策略和信任状提供标准、通用的机制。信任管理系统有以下五个基本部件:(1)一种描述“行为”的语言,“行为”指受系统控制的与安全相关的操作:(2)一个鉴别“主体”的机制,“主体”指能够被授权去执行“行为”的实体:(3)一种定义“安全策略”的语言,“策略"用来控制主体能被授权执行哪些行为:(4)一种定义“证书”的语言,“证书”允许实体能将权限委托给其他主体:(5)一个“一致性验证器”,用于对应用提供服务,决定在给定策略和证书集的条件下,如何处理主体所请求的动作。一致性验证器的核心是一致性证明算法。这五个部件,描述了信任管理系统构成的基本框架。虽然不同的信任管理系统,其构成不一定可以明显的映射到这五个部件,但基于语言的授权机制、辨别主体的机制和一致性验证器是所有信任管理系统重要的组成部分。信任管理系统有以下优点:(1)支持系统不认知的主体访问系统。基于证书集(证书链)和本地安全策略判定用户是否有权在系统中执行某项操作,用户不需要在系统中注册帐号即可访问系统。(2)资源的控制者能够以受控的形式,将某些权限委托给其他域中的某些用户,从而支持多域间的授权。(3)策略和证书使用通用的、标准的语言进行编写,并由所有的应用程序使用。这种语言有足够的表现力并且是可扩展的,能描述各种不同类型应用的安全策略。一种应用与另外一种应用,即使应用本身的语义完全不同,但其安全配置机制在语法和语义上完全相同。从而解决了多域环境下访问控制机制的异构问题。(4)支持委托的机制,实现分散式授权的模式,可伸缩性强。从实现的角度,信任管理系统类似查找引擎,它接受请求R、证书集C、政策P作为输入,返回支持或拒绝请求的建议Approve或者Reject。信任管理的实现模型如图4—1所示: 第4章信任管理模型R《R,C,P》Client——————◆Server|-—————————专《■——————一AIR_:i!iii!i:ii!:iTrustEnginej图4-1信任管理系统的实现模型本节将大致介绍PolicyMaker、KeyNote、REFERE、SPKI/SDSl2.0、基于角色的信任管理系统四类典型的信任管理系统。4.1PolicyMakerPolicyMaker瞳嵋是第一代信任管理系统,主要是根据策略和凭证来进行授权策,两者的不同只在于它们的发布者不同。策略是由一个特殊的主体一Policy发布的,它代表本地权威,是授权的信任根;而凭证是由公钥发布的。策略和凭证都是完全可编程的,可以称为断言。一个断言由一个(f,s)对来描述,其中S为断言的发布者,f为描述授权内容的程序。凭证断言必须用发布者的公钥进行签名,在使用前必须对签名进行验证以保证凭证断言的可靠性;策略断言是由信任根发布,因此不需要进行签名。PolicyMaker的断言可以使用任意可由本地应用环境解释的程序语言进行编写,在PolicyMaker的早期实验工作中开发了一种AWK的安全版本(safeversion)用于描述断言。在PoiicyMaker的应用框架中,应用负责凭证的收集和签名验证并把凭证转换为PolicyMaker断言。这样应用可以独立于信任管理引擎,而且应用负责凭证的签名验证使得应用的开发者在选择凭证的签名方案时可以不考虑采用PolicyMaker进行一致性检查。应用在收集到必要的凭证及完成转换后,调用PolicyMaker的推理引擎进行授权决策。推理引擎以应用收集的凭证为输入,结合PolicyMaker本地的策略断言,根据一致性证明算法产生(或者不能产生)一个一致性证据以证明访问请求符合PolicyMaker断言。PolicyMaker--致性证明算法的基本过程为:首先创建一个黑板(blackboard),最初仅包含请求r;然后调用PolicyMaker断言,一个断言可以调用多次。当断言(fi,si)运行时,它要读取黑板的内容并向黑板中添加零到多条接受记录(i,si,Rij)(即中间结果),Rij是发布者S根据黑板前面写入的接受记录所确认的特定应用动作,这是一个断言间交互过程;最后,当所有的断言都运行结束,如果黑板中包含有一条能证明请求r的接受记录,则一致性证明 第4章信任管理模型成功。BlazeM等人从数学上精确地描述了一致性证明(ProofofCompliance,简称PoC)问题;指出PoC问题在一般意义上是不可判定的,在某些特定应用环境是NP难问题;对一些限定的PoE问题存在多项式时间算法。PolicyMaker的一致性证明算法要求凭证必须是单调的,即凭证只能累加而不能去除,也就是不能使用表示否定授权的凭证,这意味着不能撤销授权。由于在使用PolicyMaker时是由应用负责收集凭证,这会加重应用的负担,而且可能会因为收集的凭证不充分而导致一致性证明失败。4.2KeyNoteKeyNote乜23是BlazeM等人实现的第二代信任管理系统,它沿用了PolicyMaker的大部分思想和原则,但是KeyNote要求它的策略和凭证必须使用某种特定的断言语言书写。KeyNote在设计时希望能将它作为信任管理系统的标准以便推广使用,因此其第二版设计完成后提交给IETF并成为了RFC文档比2|。和PolicyMaker类似,KeyNote也采用断言来描述策略和凭证,其断言格式类似于Email头部,基本结构如下:i。:;鐾够uthFilel嫫iL函ee。n。see。siFiel黪???iSignatureField>:VersionField为KeyNote断言语言的版本,目前为2.0;AuthField为授权者,即断言的发布者,以公钥标识;LicenseesField为被授权者,被授权者可以是一个或多个主体;LocalConstantsField为当前断言的局部常量,用于只增加或重载当前断言的动作属性;ConditionsField为授权条件,是定义在动作属性集上的谓词,用于测试KeyNote应用提供的操作环境变量,其中包含了请求相关和信任判断必须的信息;CommentField为当前断言的注释信息;SignatureField为断言签发者的数字签名。在一个断言中,AuthField、LicenseesField、ConditionsField和SignatureFielld为常用的域晗2|。应用在调用KeyNote时,必须提供请求、一系列凭证以及公钥,KeyNote在调用凭证断言前首先对它进行签名验证。KeyNote沿用了PolicyMaker的一致性证据观点,它的一致性证明算法如下:采用了深度优先算法(DFS)试图找到能满足请求r的至少一条策略断言。KeyNote没有类似于PolicyMaker的断言间交互过程,它也能产生接受记录,但是该记录对于其它断言是不可见的。当请求r的一致性证明成功时,KeyNote将构造出一个由请求、断言以及信任条件组成的断言有向图。由于KeyNote的验证模型是PolicyMaker的一个子集,因此它所解决的PoC问题也是PolicyMaker的子集,而且KeyNote也不支持否定凭证。 第4章信任管理模型KeyNote的策略和信任状都由一组声明构成,声明是KeyNote指定策略和委托授权的基本单元,它描述一个主体对另一个或多个主体请求的动作进行授权的条件和授权的内容。POLICY是一个特殊的主体,它是KeyNote信任管理的根,可以执行任何动作。由POLICY发布的声明称为策略声明,用于对其他可信任的主体进行授权。被授权的主体也可以发布声明,将自己的一些权限授予其他主体,这些声明必须有主体的数字签名,被签名的声明称为信任状声明。声明使用KeyNote提供的标准语言书写,因而策略和信任状都有很好的重用性,易于集成到应用中。每个KeyNote声明包含若干个域,其中最重要的3个域是授权者(Authorizer)、被授权者(Licensees)和条件(Conditions),授权者是声明的签发者;被授权者是委托授权的对象,而条件域则给出了授权者信任被授权者执行一个动作的条件。动作是应用在系统控制之下涉及安全的操作。在KeyNote中动作用一个动作属性集来描述,属性集中的每一个元素(动作属性)用一个名一值对(name--valuepair)来表示。动作属性的名称和值都是任意的字符串,其语义由应用解释。应用使用动作属性扃]KeyNote传送请求,同时动作属性也是KeyNote声明操作的主要对象。KeyNote中的主体有两个功能,一是发出动作请求,执行与安全相关的动作;二是发布声明,将自已的部分权限授予其他主体。主体的标识符可以是任意的标签,也可以是主体用来签名的公钥。和查询请求一起提交的还有一组策略服从值,这是一个按照权限值从小到大的顺序排列的返回值集合,策略引擎将返回该集合中的一个元素,该元素表明应用是如何处理动作请求的。策略服从值集合的构成由应用决定,可以是布尔型的false和true,也可以是多个可能的取值,如execute,read,write。KeyNote策略计算引擎的任务是为每一个策略查询返回对应的策略服从值。一个KeyNote查询应包括4个参数:动作请求者的主体标识;描述动作的动作属性集;策略服从值集合;计算查询时需要涉及的所有策略和信任状声明。这些参数如何传递给策略引擎由应用决定,有些参数可以显式地传递(如主体标识),有些可能需要从外部获取(如信任状),还有些可以在需要时通过回调机制从应用获得(比如从一个很大的策略服从值集合中取得返回值)。KeyNote计算的语义可以被非正式地看成是构建一棵以POLICY声明为根并连接至少一个动作请求者的KeyNote声明有向图(图4—2)。图中节点代表主体,有向边代表授权关系,其中有向边的起点代表授权者,终点代表被授权人,给出授权的条件(在声明的条件域中编码)。KeyNote策略计算引擎在进行服从性检查时,采用深度优先搜索的算法,自底向上试图在有向图中构建从请求者至UPOLICY之间的路径,并计算策略对请求的支持度。如果构建成功,同时策略对请求的支持度满足要求,则请求被接受,否则被拒绝。 第4章信任管理模型图4—2KeyNote信任有向图由于KeyNote负责凭证的签名验证,它减轻了应用的负担;KeyNote采用特定的断言语言来描述策略断言和凭证断言,这有利于它的标准化和广泛使用;但仍然存在收集的凭证不充分而导致一致性证明失败的问题。4.3REFEREEREFEREE乜31是ChuY.-H等人开发的信任管理系统,其主要目的是解决Web浏览的信任问题,它的全称是:“Rule—controlledEnviromentForEvaluationsofRules,andEverythingElse",其中“rule”即策略,“EverythingElse”是指凭证。它提供了一个环境以验证请求和策略的一致性,由于验证过程也可能会引发危险动作,因此REFEREE的验证过程也处于策略的控制之下。REFEREE不试图消除危险,而是将危险置于策略控制之下。它和PolicyMaker、KeyNote最显著的不同就在于REFEREE根据策略来进行凭证的收集和签名验证。W3C负责图元数据安全工作的两个工作组PICS和DSIC利用REFEREE进行试验性工作,试图把REFEREE作为Web内容过滤和数字签名应用系统的信任管理通用平台。在此过程中,他们设计了一种语言Profiles一0.92来书写策略和其他程序。REFEREE的策略和凭证是完全可编程的,必须按照一定的格式书写成一段程序。在ChuY.一H等人介绍REFEREE的论文中给出了根据Profiles一0.92来编写策略和凭证的实例比41。 第4章信任管理模型REFEREE的一致性证明过程ELPolicyMaker和KeyNote都复杂,它能够支持非单调的策略和凭证。REFEREE验证系统的断言间交互L匕PolicyMaker更复杂,在REFEREE执行环境中断言(即策略和凭证)程序可以将其他断言程序作为子程序调用,并可以向子程序传递参数;而PolicyMaker是通过黑板来实现断言的交互。虽然REFEREE在一致性证明时自动收集凭证和验证凭证的签名使得它的使用更灵活,但是它允许策略和凭证之间的自主调用则可能会带来危险的后果。4.4SPKI/SDSl2.0SPKI和SDSI起初是由不同研究人员提出的,它们的目的都是为了解决如X.509和PEId等基于全局名字分层结构的公钥基础设旌的不足。1996年Lampson和Rivest提出了SDSI(SimpleDistributedSecurityInfrastructure)。SDSI最重要的是提出了非集中式命名空间,每个公钥的拥有者可以创建自己的本地命名空间,把各个本地命名空间链接起来可以对授权主体进行分组并形成授权链。与此同时,Ellison、Frantz等人设计了SPKI比31(SimplePublicKeyInfrastructure)在于定义一种灵活而简单的格式来描述授权。1997年,SPKI和SDSI被合并为SPKI/SDSI,目前为SPKI/SDSl2.0。SPKI/SDSI和BlazeM的信任管理在很多方面有相同之处,其中最主要的一点就是它们都把证书用于授权而不是鉴别。由于SPIK采用公开密钥加密方法,公钥和私钥所构成的密钥对实际上是全局唯一的(这是公开密钥加密算法必然的结果,也是进行数据加密的前提条件),所以SPKI实际上也能获得全局唯一的标识符。SPKI使用名字的这种方式与SDSI中使用名字的方式是一致的,因此,SPKI采用了SDSI规范作为SPKI标准的一部分。SPKI机制允许实体将自己拥有的权限委托给其它实体。如在电子商务中,可以如现实生活中一样,将本人的账户委托给其他人使用。这种委托功能是通过在证书中设置委托标志来实现的。SPKI/SDSl2.0系统不仅安全强度高,而且实现简单。SPKI/SDSl2.O系统可以对群组命名及授权,但同时也增加了证书链搜索的难度,因为搜索时不仅要处理对公钥的授权证书,还要解析相关的名字证书。目前已有的SPKI/SDSl2.O证书链搜索算法都是集中式的,而SPKI/SDSl2.0系统是一种分布式系统,证书是以分布式方式分发和存储的。在SPKI/SDSL2.O系统中,实体可以是一个人、一个进程或者一个活动的个体,每个实体的名字在系统中并不唯一,所以实体并不用名字而是用公钥作为它的唯一标识,本文中用大写字母K以及K带上标或下标的形式如K,Ko,KI’.一来表示实体 第4章信任管理模型的公钥,用小写字母r或大写字母x来表示权限.4.4.1SPⅪ/SDSl2.0的两类证书SPKI/SDSl2.O有两类证书:来自于SDSI的名字证书和来自于SPKI的授权证书.1.名字证书汹1定义4-i.一个标识符通常是一个单词,由给定字母集中的字母组成,例如:A,Bob等。定义4-2.SPKI/SDSL2.0系统规定,一个本地名由一个公钥及一个标识符组成,中间用空格分隔.每个实体都可以定义自己的本地名,如KA表示由公钥K定义的名字A,本文中用KA,K4,墨E⋯来表示本地名。定义4—3.一个扩展名由一个公钥及多个(≥2)标识符组成,公钥与标识符以及标识符与标识符之间都用空格分隔.每个实体都可以定义自己的扩展名,如扩展名磁4,意为由K定义的名字4所对应的实体,又定义了名字4,以此类推,一个扩展名中标识符的个数称为扩展名的长度。本文中用磁4,K44⋯AN等来表示扩展名。本地名和扩展名统称为名字,一般来讲,一个名字会对应一个或者多个公钥或名字,称为该名字的成员,这种对应关系通过发行名字证书来建立.一个名字证书c是一个经发行者签名后的四元组(K,A,S,y)中:K:发行者公钥,该公钥K(实指与公钥K对应的私钥,以下同)还用来签发该证书。彳:标识符,它与发行者一起定义了本地名幽。S:证书的对象,即接收这个名字的对象。V:证书的效期。2.授权证书乜71一个授权证书中,存在着一个发行者给证书对象的特定授权,授权证书的功能就是提供这个授权。一个授权证书是一个Fh发行者签字的五元组(K,S,D,,.,n。K:发行者公钥,此公钥K还用来签署该证书。S:证书的对象,指接受这个特定授权的对象。D:委托比特,若为“真’,(ticket=【l】),表示允许S中的实体将从这个证书中得到的授权进一步传递给其他实体。 第4章信任管理模型r:授权说明,对特定授权所进行的陈述。y:证书的有效期。其中:在SPKI/SDSL2.0中,每个实体都可以发放证书,一个实体若想访问某资源,需要提交一组证书给资源的管理者,以此来证明它具有访问权限,资源管理者归约这组证书,验证是否存在一条从资源拥有者到请求者之间的有效信任链,两张证书cl和C2。进行合成的规则如下:规则1.假设证书cl的形式为:厶'曩,证书e的形式为:厶_R,且三:是R的前缀,即对某一个字符串x,有墨=三:x,则cl,c2合成会产生一张新的证书C3。,c32cl。c22厶一(墨。c2)2厶一Rx[28].规,贝112.两张授权证书若Cl2(K,S,口,,i,K),C2=(K,是,D2,吒,吒),并且S2垦,Dl=1成立,则C,c合成会产生一张新的证书c3,C32Cl。c2=(墨,足,D2,从御8ec‘(,i,吒)'VInterseet(V1.K)),其中AInterseet和I/Interseet是计算交集的函数啪1.下面介绍几个相关概念:定义4—4.和所有自主访问控制系统一样,SPKI/SDSL2.O也有自己的ACL,用来描述实体对被保护资源的访问权限,因为有名字证书的支持,SPKI/SDSL2.0可以对组进行授权,所以它的ACL更简洁直观。定义4—5.在SPKI/SDSL2.0系统中,蹦表示被保护资源拥有者的公钥,是ACL条目中授权证书的发行者。定义4—6.ticket相当于授权证书中的委托比特D,用于表示一张授权证书的可传递性,共有3种值:【11,【o】和【z-,ticket=【1】表示允许对象将获得的权限再授予它人,ticket=【o】表示不允许,ticket=【z】则表示xxticket的值未定。特别地,ACLeP的访问控制条目可以写成以下的形式:Self[1]jSelf[z],如果s不是单个公钥的形式,则是对组授权,要求将这种类型的授权证书存放在S打头的公钥处,一则简化ACL表,二则便于证书链的查找,如Self[1]--'KAFriends存放在‘处。定义4—7.无效证书包括两种:一种是授权描述与X不相符的;另一种是已弓q 第4章信任管理模型过有效期的。如一张授权证书(蟛,K‘,D,,,¨,根据V可确定该证书是否过期,根据r可判定X是不是它的子集,以下所述的去掉无效证书即指去掉这样的证书。4.4.2SPⅪ/SDSl2.O证书的存储SPKI/SDSl2.0系统规定名字证书(K,A,s,矿)只定义本地名,也就是说彳中只有一个标识符,但其中的对象S可以有三种形式,下文是这三种证书的存储情况:(1)S是公钥K:这种类型的证书是发放给单个公钥的名字证书,要求这种类型的证书存放在公钥足处。如:名字证书K—Friendsj磁,存放在%处。(2)S是本地名:这种类型的证书是发放给本地名的名字证书,要求这种类型的证书存放在定义该本地名的公钥处。如名字证书髟胤一心,砌出存放在&处。(3)S是扩展名:这种类型的证书是发放给扩展名的名字证书,不管该扩展名有多长,要求这种类型的证书存放在S中打头的公钥K处。如名字证书KAFriendsKnTomFriends存放在磁处。1.名字证书的存储策略SPKI/SDSl2.0系统规定名字证书(K,A,S,y)只定义本地名,也就是说A中只有一个标识符,但其中的对象s可以有三种形式,下文是这三种证书的存储情况:(1)S是公钥K:这种类型的证书是发放给单个公钥的名字证书,要求这种类型的证书存放在公钥足处。如:名字证书KAFriends一%,存放在K。处。(2)S是本地名:这种类型的证书是发放给本地名的名字证书,要求这种类型的证书存放在定义该本地名的公钥处。如名字证书K—Friends专KcFriends存放在墨处。(3)S是扩展名:这种类型的证书是发放给扩展名的名字证书,不管该扩展名有多长,要求这种类型的证书存放在S中打头的公钥K处。如名字证书K』Friends_KnTomFriends存放在%处。2.授权证书的存储策略SPKI/SDSl2.0系统的授权证书(K,S,D,r,V)中,发行方K只能是单个公钥,其 第4章信任管理模型对象方s同样可以有三种形式,下文是这三种证书的存储情况:(1)S是公钥K:这种类型的证书是发放给单个公钥的授权证书,要求这种类型的证书存放在公钥K处。如:授权证书‘j%?存放在K一处。(2)S是本地名:这种类型的证书是发放给本地名的授权证书,要求这种类型的证书存放在定义该本地名的公钥处。如授权证书%_K—Friends存放在髟处。(3)S是扩展名:这种类型的证书是发放给扩展名的授权证书,不管该扩展名有多长,要求这种类型的证书都存放在S中打头的公钥K处。如授权证书KEjK口TomFriends存放在%处。4.4.3SPⅪ/SDSl2.0证书链的搜索在SPKI/SDSI中.名字证书中的名字可以本地的也可以是扩展的。一个名字可以对应O、l或多个公钥。而授权是一个公钥对另一个公钥的授权。在证书链发现算法中需要包括名字证书的缩减。DwaineClarke在。m’3¨中给出如下的算法步骤:(1)移去无用的证书。包括无效的、不能满足在线检查的或授权标签与请求的授权不等、不包含的。(2)名字缩减。计算证书集C的名字缩减闭包c撑。(3)移去所有的名字和名字证书。包括全部名字证书和主体不是单一公钥的全部授权证书。用C’表示从c撑中移去后的证书集。(4)移去无用的授权证书。包括主体不是请求者的公钥且在右边是死的票据(adeadticket)。用c”表示从c中移去后的证书集使用深度优先遍历在图中找到一条路经(从资源拥有者至请求者公钥)。每个公钥表示图的一个顶点,若在c”中存在授权证书K一吩则在图中有一条从K至巧的边。(5)重构证书链。用C中证书重构证书链并输出。在上述的算法中,将每个证书视为一条重写规则(RewritingRule)并且将证书链发现问题视为项重写问题(Term--rewritingProblem),比较困难之处在于计算缩减闭包。SameerAjmani在口羽中,提出从目录中获取证书,然后对获取的证书在本地计算闭包,由于在比较小的证书集上进行计算而提高了计算效率,但依赖目录服务是它的不足之处。41 第4章信任管理模型4.5基于角色的信任管理系统(RT)及改进4.5.1基于角色的信任管理框架基于角色的信任管理方案给开放式的环境下的诸多信任管理问题提供了一个相对较为有效的解决方法。Li等人在2001年发布了基于角色的信任管理框架∞1,这是一组描述分布式授权中策略和证书的信任管理语言,它兼收了基于角色访问控制口钔和信任管理的优点,尤其适用于表现基于属性的访问控制。对于基于角色的信任管理系统,给定一组证书以后,需要解决三个问题:找出一个角色的成员实体集合;判断哪些角色的成员中包含一个给定的实体;判断给定的角色是否包含给定的实体。RT口别是一族基于角色的信任管理语言,它结合了基于角色的访问控制和信任管理系统的两者的优点。RT框架包括RTO、RTl、RT2、RTT和RTD等一系列基于角色的信任管理语言,RTO。剐是RTeP最基础的部分,给出了整个RT框架的语法基础。RTO中给出了一种面向目标的证书链搜索算法,即从权限请求者或者权限拥有者出发来寻找证书链,相对于SPKI/SDSI中基于闭包运算的算法口63大大提高了查找效率。RTO用简单的形式实现了较全面的功能:授权形式,委托形式,基于属性的委托形式和交集的形式。文献B"所提供的是RT0的分布式证书链搜索算法,作者在其中指出,在网络中,各种证书加在一起数量庞大,网络中这些分布式存储的证书大部分是互不相关的,因此分布式证书链搜索算法必须是面向目标的,即搜索时只涉及那些和搜索目标相关的证书,他们对证书的存储类型做了假设,分析和归类,说明当证书存储类型良好时,所需证书在查找时能够被顺利发现,并可以因此形成证书链。对每个标识符设两种类型:发行方类型和对象方类型。在发行方有三种类型值:发行方不可追溯,发行方定义可追溯和发行方完全可追溯。如果一个角色名,是发行方定义可追溯的,那么从任意实体爿中即可发现所有关于角色彳·,.的定义证书,换句话说,要求实体A存放所有定义爿.r的证书,尽管如此,这种存储方式并不能保证角色么.r的所有成员都能被找到,例如,若实体彳上存有这样的证书A.r一占·,i,而角色名‘是发行方不可追溯的,这时Fh于无法找到角色拭,i的所有成员,所以彳·,.的成员相应地也无法确定,所以只能定义更严格的存储类型:发行方完全可追溯。一个角色名,是发行方完全可追溯的,不仅意味着在爿处要存储所有定义彳.,.的证书,还要求若有任何这样的证书A卜》拭,i存在,则角色名‘也必须是发行方完全可追溯的,在这种条件下,对任42 第4章信任管理模型意的角色名,.,利用分布式的逆向搜索算法一定能找到角色4,的所有成员。在对象方,每个标识符或者是对象方不可追溯的,或者是对象方完全可追溯的。一个角色名,.如果是对象方完全可追溯的,那就表示从任意一个实体D出发,利用正向搜索算法,总可以找到所有实体D对应的角色,例如,证书Arj占·1,须由实体B来存储。发行方有三种存储类型值,对象方有两种类型值,这样组合起来共有六种,但有一种是不合理的,即角色名r既是发行方不可追溯的又是对象方不可追溯的。这意味着发行方和对象方都不负责存储证书,那么证书根本就无从找起;如果一个标识符是发行方完全可追溯的或对象方完全可追溯的,则该标识符是非常好的类型。如果一个标识符同时是发行方定义可追溯的和对象方不可追溯的,则该标识符是比较好的类型。如果一个标识符是非常好的类型或者是比较好的类型,则该标识符是好的类型。由上文的分析可得,如果一个证书集C中的证书都是好类型,则利用下述的分布式证书链搜索算法一定能成功地找到并形成RTO中的证书链。文献口司用证书图的方式来搜索证书链,证书图中的每个节点代表证书上的一个角色表达式,证书集中的每个证书对应图中的一条边,边的终点是角色表达式。作者总结了RTO中常见的三种查询:(1)给定角色表达式P及一个实体D,判定是否D∈eXpr[剐(引,即由证书集合C中的证书能不能证明实体D是角色表达式e的成员。(2)给定角色表达式P确定它的成员集合D∈expr[Sc](e),即由证书集合C中的证书能够证明哪些公钥是角色表达式e的成员。(3)给定实体D,确定D所拥有的角色集合,即根据证书集合C中的证书查找所有满足表达式D∈&(A,.)的角色彳。。针对这三种查询方式,文献b51共给出三种证书链搜索方法:逆向搜索算法backward(e),从角色表达式出发,搜索其包含的所有成员,可以回答上述第二类查询;正向搜索算,法forward(D),从公钥D出发搜索其对应的所有角色,可以回答上述第三类查询;双向搜索算bidirectional(e,D1,从公钥D和角色P同时出发进行双向搜索,以验证该公钥是否是该角色表达式的成员,可以回答上述第一类查询。但是RTO也存在相应的不足的地方:43 第4章信任管理模型(1)RTO没有表现出证书的有效性口8|。(2)RTO没有对交集的长度进行具体的限制,不利于证书链的搜索。4.5.2一种带有时间域的证书链搜索算法针对RTO的不足,对其进行改进,提出一个带有时间域的信任管理语言。定义4—8.时间域:时间域丁是一个形为tl,tl’,t2,t2’,..·tn,tn’的时间序列,其中tl,其中GN是节点集合,GL是带时间参数的有向边的集合,每条边的形式为口j6仞,表示从节点a到节点b的有向边在时间域r有效。Q:一个先进先出的队列,存放待处理的节点。e朋ember:角色表达式e的成员集合,其中元素形如Agr),表示实体彳在时间域丁是角色表达式e的成员。elne2.member:角色表达式elope2的成员集合,其中元素形如A(T1nT2),表示实体彳在时间域刀和T2分别是el和e2的成员。2.算法描述算法4-1RTT证书链后向搜索算法算法输入:一个RTT证书集合C(对于同一份证书的不同版本,只保留V值最大的版本),给定的角色X。输出:角色x的所有实体成员。算法步骤如下:(1)对节点序列Q和证明图G,Q={姗,QN={x),QL=a;(2)如果队列Q为空,贝,lJXznember=NULL,否则取出队列中的第一个角色表达式e;(3)如果P是一个实体,则eJnember={P(o,+∞));(4)如果e是一个角色,对每个P÷-PV)∈C,若e’仨GN,则把e’放入队列Q并且GN=GN+{e”,GL=吼+F寸e(丁)}:45 第4章信任管理模型(5)如果e是形如4.r1.r2的角色表达式,且ArlGN,则把爿.rl放到队列Q,GN=GN+{A.rl}.'(6)如果e是形如elr、e2的交集,如果elGⅣ就把Pl放入队列Q且GN=GⅣ+{Pl},同样如果P2萑GN就把P2放入队列QR6N=GⅣ+{P2};(7)执行第2步;(8)算法结束,返回X朋ember。算法的输入是一个证书集合C和一个角色x,搜索的过程是利用证书集合C来找出角色x的所有实体成员。RTT证书中带有版本号,故证书集合中可能包含同一证书的不同版本,在搜索之前要将证书集合所有证书的旧版本去除,以保证每一个证书只有最新的版本。3.RTT证书链搜索算法的实例下面给出RTT证书链搜索算法的实例。实例的环境为蓝牙免提系统及相应的蓝牙设备。蓝牙免提系统连接了手机和音响系统,通过车载按键,完成无线免提通话。免提系统的语音提示和设备的音频通道可在车载扬声器中扬声,安装的麦克风可以把声音传至远端的手机。在使用系统前,必须完成设备与系统的蓝牙连接。当匹配连接建立后,系统会存储设备的ID。在连接建立后,通话就能通过车载音响系统和麦克风进行。设备i与系统的连接过程如下(下文中的设备可以为手机,或蓝牙耳机):(1)设备i向系统发出连接请求;(2)系统由请求获取设备i的蓝牙地址,经过计算后若认为该设备可信任,则进行证书链搜索:(3)若系统当前没有连接设备,则系统颁布证书给设备i,建立连接,相对应的证书i为证书链的首个证书:(4)若系统当前连接有其他的设备,如手机j,系统将发出指令,又手机J发布子证书给手机i,同时断开手机j,连接手机i,建立由证书J至证书i的证书链。(5)当设备i与系统断开连接时,证书链中仍保存有设备i相对应的证书的信息,一段时间后设备i再次要求与系统连接时,则要对证书链中的证书i的有效期进行更新,以此来区别同一设备不同时间内相对应的证书。当设备i被从系统的设备列表中删除后,系统会将设备i所拥有的证书从证书链中删除,只保留设备i连接之前所存在的证书链。实验中蓝牙耳机EP2向系统BT发出连接请求,此时的证书集合为:46 第4章信任管理模型C={(44,BT.service,BTzd!ow:ectmmumd,(44,5呦,(1,BT.aHow,PI.aHow,(44,56)),(1,P1.recommend,P2,(44,56)),(1,P2.recommend,EP2,(40,56)))蓝牙免提系统BT与蓝牙设备之间的关系如图4—3所示。,一—————、,7蘸碧免挺嚣缀、、、i。BT/、\,⋯夕。I{益黟设备IP1。雨j图4-3实验中蓝牙免提系统及设备之间的关系图4-4为后向搜索算法的结果。㈣鳓,,,,圈艘一圈p1.recommend坚固围憋黝圈艘塑圈图4—4后向搜索算法结果由后向算法的结果我们可知,在时间段(44,56)内,EP2可以获得使用BT所提供的所有服务,即角色BT.service的相应权限。由实验结果可知,EP2发出连接请求的时间是12s,建立连接的时间是44s,在之后的时间段(44,56)内EP2将与蓝牙系统一直保持连接。证书的主体是请求连接的设备的蓝牙地址,故对于同一手机来说,相对应的证书是不变的。针对蓝牙技术的特点,在10米范围内才可建立蓝牙连接,所以手机和系统之间会存在频繁的连接和断开现象。对于同一设备的频繁断开和链接,在第一次经过一系列的计算认为其可信,颁发证书后,当设备断开后再次要求与系统建立连接时,每次只需要进行证书链的搜索,就可快速建立连接,而不需要47两一竺攀固 第4章信任管理模型再经过复杂的信任计算过程。而在证书的结构中增加了证书的有效期和证书的版本号,就可快速的实现证书的更新。分析上面的日志数据,我们不难看出从发出连接请求到成功建立连接的时间很短暂,这给蓝牙产品的使用带来很大的便利。4.6本章小结本章对现有的信任管理模型进行了详细的介绍和分析,并在基于角色的信任管理语言的基础上提出了带有时间域的基于角色的信任管理语言RT和RTT证书链后向搜索算法,并通过实验证明其具有良好的性能。 第5章基于RTT的证书验证系统5.1OCSP5基于RTT的证书验证系统OCSP(OlineCertificateStatusProtoc01)在线证书状态协议,.是IETF颁布的用于检查证书在某一交易时间内是否有效的标准,比下载和处理证书撤销清单CRL的传统方式更加快捷便利且具有独立性。OCSP实时在线地向用户提供证书状态,其结果是它L匕CRL处理快得多,并避免了令人头疼的逻辑问题和处理开销。为立即检查证书是否被撤销,用户的客户机必须形成请求,并将请求转发到一个OCSP应答器。对于使用OCSP应答器的用户来说,获得这一信息的最佳突进是使得证书机构将信息直接输入到应答机中。根据证书机构与OCSP应答器之间的关系,证书机构可以转发即时的通知或证书撤销信息,并且这些信息可以立即提供给用户。OCSP协议的执行流程大致如图5-i所示:日n口图5—1OCSP协议的执行流程示意图一个OCSP客户端发布一个状态查询给一个OCSP响应器并且侦听当前证书直到响应器提供一个响应。测试中,着重就用户请求进行分析,并通过创建不同的49 第5章基于RTT的证书验证系统畸形报文请求测试用例,查看服务器的响应,一次来检测服务器的安全配置。一个OCSP请求包括:协议版本、服务请求、目标证书标识和可选的扩展项等。OCSP响应器对收到的请求返回一个响应(或者是确定的回复,或者是出错信息)。OCSP响应器返回出错信息时,该响应不需要签名。出错信息包括:请求编码格式不正确、内部错误、稍后再试、请求需要签名、未授权。请求的具体语法格式为:OCSPRequest静簧tbsRequesti。≥..optionalsignature㈣。iEXPLtCITSignatureOPTIONAL.}请求信息包括版本号、请求者名称、请求列表和可选的扩展项。下面为具体翟藿◆鬻黧纛鬣囊震l瀵溪荔滋鬟麓li滋鬻恝蒌羹黧燃粼麟熊粼一≤戳黼 第5章基于RTT的证书验证系统发布者名称散列(issuerNameHash)是发布者显示名称的散列。应该检测证书发布者名称域的DER编码的散列。发布者密钥散列(issuerKeyHash)是发布者公约的散列。对发布者证书的注意公钥域的值(不包括标签和长度)进行散列。所有这些使用的散列算法都是由散列算法域(hashAlgorithm)确定。序列号域(serialNumber)是被查询状态证书的序列号。5.2CA客户端CA客户端提供了友好的人机交互界面供用户申请撤销证书。它接受用户的信息或者操作指令,发送到系统的内部,同时返回系统的回复信息。用户在该图形用户界面下输入用户目录名、LDAP服务器的地址、证书撤销原因以及选择所要撤销的数字证书。CA客户端将用户撤销证书申请存入数据库中,设置证书状态为“撤销未审核”。CA客户端采用SSL方式和RA服务器进行安全通信。51 第5章基于RTT的证书验证系统5.3RA服务器图5—2审核证书撤销申请流程图RA服务器主要负责对用户提交的证书撤销申请进行审核。CA客户端将用户提交的用户目录名、LDAP服务器的地址和证书撤销原因发送给RA服务器。RA服务器对用户的撤销请求进行审核,即根据用户提供的信息到证书库中查询该用户的证书和证书当前状态。判断证书库中存储的用户证书的当前状态是否有效,证书是否在有效期内。如果上述条件都满足,则撤销审核通过。RA服务器审核证书撤销申请的工作流程如图5-2所示。5.4CA服务器当RA服务器审核通过后,将撤销证书申请传递给CA服务器进行撤销。CA服务器根据撤销证书申请信息中的LDAP服务器地址连接到CA证书库中,根据撤销证书申请信息中的用户目录名将该用户证书的当前状态改为“已撤销”,并在52 第5章基于RTT的证书验证系统该用户条目中添加证书的撤销原因和撤销原因,通知RA服务器撤销请求撤离完毕,RA服务器告知用户证书已撤销。最后,CA服务器将证书的撤销信息发送给0CSP响应器,使响应器及时更新缓存,以便使用户得到即时的证书状态信息。证书撤销过程如图5—3所示。从撤销证书申请信息中取出甩户目录名,LDAP服务器地址,证书黼因、,连接CA证书库、,根据用户目录名修改嘧书库中该用户证书状态值为崔已撤销力,写入激销漂因和撤销时间上翔RA服务墨返回响应消息、,flocsP响应器发送证书撤销信息5.50CSP客户端图5-3CA服务器撤销证书流程图0CSP客户端为用户提供友好的人机交互界面,用户通过此洁面查询目标证书的撤销状态。用户在此界面下输入0CSP响应器的IP地址、端口号、带查询的目标证书、CA证书、用户证书、用户私钥、客户端密钥库及其密码、客户端信任钥苦以及密码,用户的本地配置文件内指出多个响应器的DER编码证书文件路径。0CSP客户端根据图形用户界面下输入的参数构建0CSP请求,并且对请求进行签名,发送请求报文,设置超时时间,在超时时间内等待响应。若超时,则向用户返回超时信息。当收到响应时,按照客户端处理流程对相应进行相应的处理。最后,向用户返回证书的状态信息。为了满足安全性需求,OCSP客户端和OCSP响应器之间采用SSL协议建立一个安全通道,实现对数据的加密保护。 第5章基于RTT的证书验证系统5.6系统介绍该系统是基于改进RTT信任管理模型的,采用CA的证书目录作为OCSP响应器的信息采集数据源、结合Hash表缓存机制、预签名技术和多线程机制,通过OSCP请求、响应消息向用户和应用程序提供及时的证书状态信息,最终能够为第三方或者易用软件所使用。系统的主要功能和所要达到的目标如下:(1)用户可以提出撤销证书、查询证书状态等要求;(2)处理用户撤销证书的请求,并对用户的撤销申请负责进行审核;(3)CA操作员对用户数字证书信息进行管理;(4)OESP响应器的稳定性和效率可以到达预期目标;(5)用户可以得到即时的证书状态信息;(6)CA服务器可以将最新的证书撤销信息发送给OCSP响应器,以便使0CSP响应器及时更新缓存;(7)通信终端之间通过SSL握手协议建立安全通信通道。该系统的体系结构如图5—4所示:l墼塑壁l氘llc}巫础cA操俸员lssL雨嵩群cA服务器卜_=队操俸员IssLI田OCSP客户靖ls:S。f4)OCSP响应器IDA喂务器=涯书库图5-4基于RTT信任管理系统体系结构图该系统由CA客户端、RA服务器、CA服务器、0CSP客户端、0CSP响应器以及LDAP服务器、数据库和RA操作员段以及CA操作员端组成。图中(1)一(4)是一次典型的证书状态查询过程,(a)一(f)是一次典型的撤销证书过程。(1)0CSI::'客户端提交证书状态查询请求;(2)响应器收到查询请求后,从缓存中查找是否有此证书的Basic0CSPespronse;若有,响应器则查找到的BasicOCSPes”onse生成相应类型相应(A类型或基本类型),执行(4):否则,响应器检索CA证书库;(3)CA证书库返回查询结果,0CSP响应器根据查询结果生成BasicOCSPespronse,将其存入到缓存中,然后生成基本类型响应;54 第5章基于RTT的证书验证系统(4)响应器向客户端返回OCSP响应。(a)用户由于诸多因素,需提供撤销证书的请求,如CA密钥泄漏、证书拥有者的从属关系改变、证书更新等。用户撤销证书时需提供自己的身份标识和撤销原因,CA客户端将用户撤销证书申请存入数据库;(b)CA客户端将撤销证书申请发送给RA服务器;(C)RA服务器对用户的撤销请求进行审核。如果审核通过,则修改数据库中的证书状态为“撤销审核通过”;如果审核没有通过,则修改数据库中的证书状态为“撤销审核未通过",并附上拒绝撤销证书的原因;(d)审核通过后,RA服务器将撤销证书申请信息传递给CA服务器;(e)CA服务器根据RA服务器发送的撤销证书申请信息,到CA证书库修改此证书的状态值为“已经撤销”,并附上撤销时间和撤销原因;(f)CA服务器向OCSP响应器通知证书撤销事件,此证书撤销信息将传递给OCSP响应器的撤销线程,撤销线程收到撤销的信息后更新Hash表中存放的相应证书的BasicOCSPespronse。BasicOCSPespronse是由证书状态相应数据、签名算法标识、签名值和请求者验证签名的证书组成,其中签名值是对证书状态相应数据的数字签名。BasicOCSPespronse的格式如下:gasic0CSPespronse::=SEQUENCE{tbsResponseData}{esponseData,SignatureAlgorithinAIgotithmIdentifier,signatuFeBITSTRING,COtt『0]EXPLICI]15LQLENCEOFCer七ificateOPTIONAL}5.7本章小结本章的主要工作是将RTT证书链后向搜索算法应用到证书验证系统,并对改进后的系统从整体到局部进行详细的介绍。 第6章基于证书验证系统的测试和分析6基于证书验证系统的测试和分析基于实验室的局域网环境,搭建整个系统的测试环境,并且按照系统运行的流程,完成测试工作。6.1测试环境整个系统的测试工作在实验室局域网环境中完成。其中,用一台主机实现CA客户端和OCSP客户端的双重工作,一台主机做OCSP响应器,一台主机做RA服务器,一台主机做CA服务器,两台主机做操作员端,一台主机做LDAP服务器,一台主机做系统数据库。图6-1为系统测试拓扑图。图6—1系统测试拓扑图软件配置如下:CA客户端、OCSP客户端、OCSP响应器、CA服务器和RA服务器、CA操作员和RA操作员;操作系统为WindowsXP;LDPA服务器:操作系统为WindowsXP,OpenLDAP目录服务器;数据库:操作系统为WindowsXP,MySQL数据库。6.2测试步骤和结果6.2.1证书状态查询测试OCSP服务是基于C1lent应用程序的,利用c/s模式发出证书状态查询请求。客户端针对“正常”、“已撤销”、“未知”三种证书状态的情况下做了测试,结果如下所示: 第6章基于证书验证系统的测试和分析(1)证书状态为“正常”时毛证书提交的界面和测试结果如图6—2和6—3所图6-2证书提交界面图6-3证书状态查询结果(2)证书状态为“己撤销"时,证书的提交界面和查询结果如图6—4和6—5所示: 第6章基于证书验证系统的测试和分析图6-4证书提交界面图6-5证书状态查询结果(3)证书状态为“未知”时,证书的提交界面和查询结果如图6—6和图6—7所示: 图6-6证书提交界面内急证书状态:未知—”签名验谨:正确冈|确定l图6-7证书状态查询结果1.证书撤销测试用户通过CA客户端界面输入LDAP目录服务器地址,用户目录名,选择撤销原因后,由CA撤销此证书,CA客户端界面如图6—8所示:59 第6章基于证书验证系统的测试和分析图6-8CA客户端输入界面2.审核证书撤销申请RA操作员登录RA服务器,查询并审核证书撤销申请记录,如图6—9所示:3.证书撤销图6-9审核证书撤销申请60 当CA服务器受到RA服务器发送来的证书撤销申请信息后,连接LDAP目录服务器,修改相应用户条目的证书状态,写入撤销原因和撤销时间,利用LDAPBrowser工具可以查看目录服务器相应用户条目的存储情况。撤销证书后的LDAP目录结构如图6-10所示。—璧_■Il】臼_:f了7r硼一£^‘I|冒£,■晶1U-:●■^■—!lIErx7L■1值■7rj疆■7nI互■,7日JirT习■r矗=7互矗■■■■_强圈}誊糟_ll赫,7稍I[ileEjIH_vie氍LDIFHeIp≥;凰移;国|{麓;电。。i{灸■j蠹{盎!口o=A;me。c=cr《AttributeValJel*口m=SOA1一争ld.1l∞一cn--SOA二certstatus0≈‘。一serialNumber2|》厂鼍cn=SOA:FOVOeatlOrlR00GOn003l秘一cn--SOA4l‰一r-hcn--30A二user(edJficatebinarvBINARY(1隐)objec!C:lasstOpl渺口ou=c-edit_'JeptOb.-⋯,Q。Iasspersonl洳一0u=fiqarl[Ialob,iec:Class0rganlz甜0na|Pe}son●。。。一l∞口(:n=1.JcorCobject(1acepkiUcer}扣一ou=CRLobjec!OlassCettificateo、,,,ner}争口ou=CA2emallLIIqda@;udi.eduCR》臼krt=LindaIFevocationTimeStamp20E710‘9094758c1Linda*c2lfq:t4itP枷口cq=Tcm》团L;;I:AI街龄口ca=JennylReady.|A图6-10撤销证书后的LDAP目CA服务器同时将撤销的证书信息发送给0CSP响根据发送来的证书撤销信息更新缓存,此时OCSP响6—11所示:61录结构应器的撤销线程,撤销线程应器的控制台输出界面如图 第6章基于证书验证系统的测试和分析口王=cduc囊0土∞“,L卷I诅rc毒巴羹rchu50舟毒,thissaft强areisprohib-ted.青o’a1}c.at/sales/上lcences/.肯嚣专gis专eredco煳ercialV电r墨Lo∞.毒t’青t鼻图6-i1撤销证书后的OCSP响应器控制台输出界面6.2.3测试结论上述的测试工作完成了整个系统的基本功能的测试。在测试的过程中该系统运行稳定,完成了证书的状态、证书撤销功能,具有良好的安全性和抵御攻击的能力。系统各个模块之间基于SSL基于SSL进行安全通信,在性能和安全性上道道了预期的设计目标。6.2.4系统性能分析1.安全性能分析系统将签名权指派给CA授权的OCSP响应器,OCSP响应器证书的extendedKeyUsage扩展中包含id—kp—OCSPSigning,此证书由CA直接发行。系统选用SHA-1算法具有较强的抗攻击能力,OCSP响应器的私钥长度为1024从目前技术来看具有相当的安全性。另外,保证OCSP响应器的私钥非常重要,私钥透露将有可能是得攻击者伪装成OCSP响应器而返回虚假的证书状态信息给查询用户,而这样将使得系统整体不可信。传统采用与签名技术的OCSP响应器在提高响应器性能的同时是可以牺牲一定的安全级别的,因此容易引起重传攻击。而本文的RTT算法产生一个短有效期的响应并对其进行了签名,在响应的最大保护期内,利用单向哈希函数用最后搜啊的处理资源来更新所有的响应。如果攻击者要利用以前旧的响应消息进行重传攻击,则其必须用旧的响应消息中的当前更新值来计算出这个时候的更新值。但 第6章基于证书验证系统的测试和分析是以为单向哈希函数是不可逆的,所以在计算机是不可能实现的,因此本系统中的响应器在使用预签名技术来提高性能的时候有效地避免了重传攻击。同时的犹豫响应器使用的预签名技术,避免了传统的响应器对响应进行实时签名所导致的资源、时间上的巨大的消耗,且该系统的响应器占用很少的资源来处理更新预先生成的响应,从此减少了遭受拒绝服务攻击的风险度。系统中的诸多通信终端之间的安全通信通道是采用SSL握手协议建立的,在提高通信效率的同事,也保证了较高的通信安全性能。系统中所有的通信终端传输的数据在传输之前都经过了加密处理,以保证不被篡改或者窃取,并且保证只有接收端才能对收到的信息进行解密和验证。2.效率性能分析本文采用负载测试工具LoadRunner作为c/s模式的性能测试工具。LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。使用LoadRunner的VirtualUserGenerator,能很简便地创立起系统负载。该引擎能就LoadRunner性能虚拟用户模拟测试够生成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。它先记录下业务流程(如下订单或机票预定),然后将其转化为测试脚本。利用虚拟用户,您可以在Windows,UNIX或Linux机器上同时产生成千上万个用户访问。所以LoadRunner能极大的减少负载测试所需的硬件和人力资源。用VirtualUserGenerator建立测试脚本后,可以对其进行参数化操作,这一操作能利用几套不同的实际发生数据来测试您的应用程序,从而反映出本系统的负载能力。以一个订单输入过程为例,参数化操作可将记录中的固定数据,如订单号和客户名称,由可变值来代替。在这些变量内随意输入可能的订单号和客户名,来匹配多个实际用户的操作行为。为了进一步确定Virtualuser能够模拟真实用户,可利用LoadRunner控制某些行为特性。例如,只需要点击一下鼠标,就能轻易控制交易的数量,交易频率,用户的思考时间和连接速度等。采用LoadRunner对传统的RTO信任管理系统和改进后的RTT系统进行负载测试,得出的抽样分析数据下表所示。表中“90%”列显示90%的事务响应时间,且说明,在系统运行的过程中,90%的用户的响应时间都能到达此数值。90%响应时间给系统性能分析提供了一个优秀的参考标准。“标准偏差”这一列主要是反 第6章基于证书验证系统的测试和分析映出样本空间分布的情况。越是接近平均值,样本的偏差值就越小。为了对系统的性能进行评估工作,使得响应时间的分布尽量接近实际的情况,在测试的过程中,分别用处于多个不同级别的并发用户数量,在同一时刻加载所有的并发用户,所有的虚拟用户都运行一遍测试脚本,然后停止。在确定性能需求的时候,可以使用平均事务相应时间来衡量该系统的效率性能。通过下面的表1和表2,可以清楚地看到基于RTT的系统在不同级别的负载条件下的响应能力。表1基于RTO的系统并发连接响应时间连接数最小响应时平均响应时最大响应时标准偏90%(S)(个)间(S)差108.5468.5768.6120.0228.608157.1668.0338.4530.3688.4002010.24510.41810.5900.11110.5902512.37412.46112.6040.08112.6023012.91212.99813.0930.06613.0933515.96616.20516.9590.02616.9594016.87816.91718.8583.49218.774表2基于RTT的系统并发连接响应时间连接数最小响应时平均响应最大响应标准偏差90%(S)(个)间(S)时间(S)101.2364.1376.0241.9186.024152.3696.2608.0831.8828.083205.4566.1386.8320.3746.550259.8169.8639.9800.0329.9503010.33210.38310.4410.04210.4253510.45310.52010.59l0.04810.5824014.23114.40714.5840.09414.532从上述的两张表格,可以计算出当并发执行的用户为10个的时候,基于RTT的系统的平均响应时间下降了51.8%,为4.137s:当并发执行的用户为15个的时候,系统的平均响应时间下降了22.1%,为6.260s;当并发执行的用户为20个的时候,系统的平均响应时间下降了41.1%,为6.138s;当并发执行的用户为25个的时候,系统的平均响应时间下降了20.8%,为9.863s;当并发执行的用 第6章基于证书验证系统的测试和分析户为30个的时候,系统的平均响应时间下降了20.1%,为i0.383s;当并发执行的用户为35个的时候,系统的平均响应时间下降了35.00%,为10.520s;当并发执行的用户为40个的时候,系统的平均响应时间下降了14.8%,为14.407s。从整体的统计数据上可以清晰的看出,相比基于RTO的系统,基于RTT系统的效率性能更强,响应速度有着明显的提高。下面用图形的方式显示出这种优势,如图6—12所示。4540∥十∥B5。∥一c。‘⋯。BO。一矿⋯⋯连接数(个:)25。20。一÷⋯一一RTT平均响应时阆js,。7”。,,《s}10一一一⋯、。。t,。”~⋯RTQ平均响应时阐5。∥一“、“⋯∥{S》12345676.3本章小结图6—12系统平均响应时间比较图本章主要是对基于RTT的证书验证系统进行证书状态查询测试和证书撤销测试的步骤进行设计,并通过表格和曲线图的表现形式对系统进行安全性能分析和效率性能分析,测试结果良好。65 第7章总结和展望7.1工作总结7总结和展望信任管理是一种在分布式环境中的有效的访问控制的方法,而证书链的搜索时信任管理最主要的研究问题。本文首先描述了信任管理当前国内外的研究状况,重点介绍了几个典型的信任模型和信任管理系统,分析了传统的安全机制在分布式环境中的不足之处和这几个信任管理模型特点和缺陷,在此基础上提出了ih己的观点,即此文的创新点:1.针对基于角色的信任管理寓言RTO存在的不足进行了改进,突出了一种带有时间域的基于角色的信任管理语言RTT,并给出了RTT证书链向后搜索算法。实验证明带有时间域的证书的搜索效率更高。2.将该搜索算法运用到分布式的证书验证系统中,并对此系统的各个模块进行大致的介绍。3.针对证书的时间域和证书链搜索在证书状态验证和证书撤销过程中的重要表现,对改进后的证书验证系统进行证书状态和证书撤销的相关测试,给出测试的具体步骤和测试结果,并对测试结果进行分析,证明改进后的证书验证系统的优越性。7.2工作展望本文主要是针对信任管理模型中的证书链搜索和实现后的证书测试的相关内容进行分析和研究,所给出的证书链搜索算法和具体的证书测试的工作还有一些不足的地方,需要进行更深一步的研究和改进,其内容主要包括以下几点:1.本文中给出的RTT证书链向后搜索算法,再次基础上可以进一步研究RTT证书链双向搜索算法即RTT证书链向前搜索算法和RTT证书链向后搜索算法的结合,这样可以有效的提高证书的搜索效率;2.本文中只从证书状态的验证和证书撤销这两个方面进行7"N试和测试结果的分析。而证书撤销后的证书回收和证书的交叉认证等过程都对证书的时间域有着很好的体现。如何对其进行相关的系统实现和测试都是日后的研究重点。3.该系统本身并没有在多CA的情况下进行响应时间的测试和分析,这也是下一阶段的研究重点之一。 信任管理模型的证书安全策略测试的研究参考文献[1]Blaze,M.,FeigenbaumJ.,Ioannidis,Jetal.Theroleoftrustmanagementindistributedsystemssecurity.In:SecureInternetProgramming:IssuesforMobileandDistributedObjects.Berlin:Springer-Verlag,1999.185-210.[2]ILKhare,A.Rifkin.TrustmanagementonWorldWideWeb.WorldWideWebJoumal[J],1997,2(3):77一112.[3]EZimmermann.PGPUser’Guide[M],Cambridge:Mn’Press,1994.【4]R.Yahalom,B.Klein,T.Beth.Trustrelationshipsinsecuresystems⋯adistributedsystems[C].InProceedingoflhe1993IEEESymposiumonResearchinSecurityandPrivary.IEEEPress,1993,50-164.【5]MBishop.ComputerSecurity’:ArtandScience[M].Addison—WesleyProfessional,2002.【6]黄辰林.动态信任关系建模和管理技术研究[博士论文】.长沙.国防科学技术大学.2005.【7]E.Barka,R.Sandhu.ARole-BasedDelegationModelandSomeExtension[A].23rdNationalInformationSystemsSecurityConffC].Baltimore,MD,USA:NIS%2000.101.114.【8]D.Clarke,J.Elien,C.Ellison,M.Fredette,A.Morcos,andR.Rivest.CertificatechaindiscoveryinSPKI/SDSI[J].JournalofComputerSecurity,200l,9(4):285-322.[9]J.Elien.CertificatediscoveryusingSPKI/SDSl2.0Certificates[Master’Sthesis】.Massachusetts:MassachusettsInstituteofTechnology,1998.[10]C.A.GunterandT.Jim.Policy-directedcertificateretrieval[J].Software:Practice&Experience,2000,30(15)-1609---1640.[11】高迎,程涛远,王珊.基-于Hilbert曲线的许可证存储策略及查找算法[J].软件学报,2006,17(2):305.314.[12]KHilbert,J.D.Kubatowicz,S.Rao,B.Y.Zhao.Distributedobjectlocationinadynamicnetwork[C].InProceedingsofthe14thACMSymposiumonParalldAlgorithmsandArchitectures,Winnipeg:ACMPress,2002,41·52.[13IT.Asano,D.Ranjan,T.Roos,et.a1.SpacefillingCUlW二e8andtheiruseinthedesignofgeometricdatastructures[J].TheoreticalComputerScience,1996,18(1):3·15.[14]N.Li,W.Wimborough,andJ.Mitchell.Beyondproof-of-compliance:67 信任管理模型的证书安全策略测试的研究Safetyandavailabilityanalysisintrustmanagement[C].InProceedingsofIEEESymposiumonSecurityandPrivacy,NewYork:IEEEComputerSocietyPress,2003,123.139.[15]Abdul—Rahman,A.,Hailes,S.Adistributedtrustmodel.In:Proceedingsofthe1997NewSecurityParadigmsWorkshop.Cumbria,UK:ACMPress,1998.48-60.http://www.ib.hu—berlin.de/~kuhlen/VERT01/abdul-rahman—trust—model1997.pdf.【16]Abdul—Rahman,A.,Hailes,S.Usingrecommendationsformanagingtrustindistributedsystems.In:ProceedingsoftheIEEEMalaysiaIntemationalConferenceonCommunication’97(MICC’97).KualaLumpur:IEEEPress,1997.http://citeseer.nj.nee.com/360414.html.[17]Yahalom,R.,Klein,B.,Beth,T.Trustrelationshipsinsecuresystems—adistributedauthenticationperspective.In:Proceedingsofthe1993IEEESymposiumonResearchinSecurity【18]Povey,D.Developingelectronictrustpoliciesusingariskmanagementmodel.In:Proceedingsofthe1999CQRECongress.1999.1·16.http:Hsecurity.dstc.edu.au/staff/povey/papers/CQRE/123.pdf[19]Gambetta,D.Canwetrusttrust?In:Gambetta,D.,ed.Trust:MakingandBreakingCooperativeRelations.BasilBlackwell:OxfordPress,1990.213-237.s/iscc/1177/11770002abs.htm.【20]Herrmann,P.,Krumm,H.Trust—Adaptedenforcementofsecuritypoliciesindistributedcomponent-structuredapplications.In:Proceedingsofthe6thIEEESymposiumonComputersandCommunications.Hammamet:IEEEComputerSocietyPress,2001.2~8.http://www.computer.org/proceeding[21]Blaze,M.,Feigenbaum,J.,Lacy,J.Decentralizedtrustmanagement[C].In:Dale,J.,Dinolt,G,eds.Proceedingsofthe17thSy,posiumonSecuityandPrivacy.Oakland,CA:IEEEComputerSocietyPress,1996:164—173【22]Blaze,M.,Feigenbaum,J.,Ioannidis,Jeta1.TheKeyNoteTrust—ManagementsysytelnVersion2[S].IETFRFC2704,http://www.ieft.org/rfc/rfc2704.txt,1999-09[23]Y.H.Chu,J.Feigenbaum,B.LaMacchia,etal.REFEREE:T】nlstManagementforWebApplications[J].InW6rldwidew.ebJournal.1992(2):127-139[24]SinghPK,LakhotinA.StaticVerificationofWormandViresbehaviorinBinaryExecutablesusingModelChecking[C].In:InformationAssueranceWorkshop,IEEESystem,ManandCybemeticsSociety,2003—06:298-300[25]RivestR,LampsonB.SDSI—ASimpleDistributedSecurity 信任管理模型的证书安全策略测试的研究Infrastructure.http://theory.1cs.mit.edu/-rivest/sdsi10.html.1996--09f26]RivestRL,LampsonB.SDSI—aSimlpeDistributedSecurityInfrastruete[EB/OLl(1996-10).http://theorydcs.mit.edu/.-rivest/sds~11.html.1.27]EllisonC,FrantzB,LampsonB,eta1.SimplePublicKeyCertificateTheory[S/OL].(1999-_09).http://www.ief.org/rfc/rfc2693.txt128]ClarkeD,EllenJ,EllisonC.CertificatechaindiscoveryinSPKI/SDSI[J].JournalofComputerSecurity,2002,9(4):285-3221.29]EllisonC,FrantzB,LampsonB,eta1.SPKICertificateTheoryEOL3.[2007—03—16】:http:/www.cis.ohio--state.edu/htbin/rfc/rfc2693.html,1999。【130]ClarkeDE.SPKI/SDSIServer/Ce~ficateChainDiscoveryinSPKI/SDSI[D].MIT,2001.[31]Abdul-Rahman,A.,Hailes,S.Usingrecommendationsformanagingtrustindistributedsystems.In:ProceedingsoftheIEEEMalaysiaInternationalConferenceonCommunication’97(MICC’97).KualaLumpur:IEEEPress,1997.http://citeseer.nj.nee.com/360414.html.[321AjmaniS.HowtoResolveSDSINameswithoutClosure[EB/ON.(2004~02).http://www.pmglCS.rnit.edu/--mani/papers/sdsi—algos.pdL[33]R,.Rivest,B.Lampson.SDSI--asimpledistributedsecurityinfrastructure,1996.http://thery.1cs.mit..edu/rivest/sdsill.html[34]BlazeM,FeigenbaumJ,StraussM.Compfiance—checkinginthePolicyMakertrustmanagementsystem【C]//Procofthe2ndInt’1ConfonFinancialCryptography.Berlin:Springer,1998:54·.274[35]NinghuiLi,JCMitchell,WHWinsborough.DesignofaRole-.basedTrust.-ManagementFramework[J].Proc.ofthe2002IEEESymposiumonSecurityandPrivacy,IEEEComputerSocietyPress.,2002(5):114—130.[36]祝胜林,杨波,张明武.信任管理中证书链发现的研究[J】’计算机工程与应用,2007。43(8):111.113[37]N.Li,W.Winsborough,andJ.Mitchell.Distributedcredentialchaindiscoveryintrustmanagement[Jil.Journalof'ComputerSecurity,,2003,ll(1):35-86.[38]NinghuiLi,WHWinsborough,JCMitchell.DistributedCredentialChainDiscoveryinTrustManagement【C].Proc.ofthe8thACMConferenceonComputerandCommunicationsSecurity(CCS-8),ACMPress,2001:6—165.[39]郝晓晓,张卫丰.一种基于时间域和信任度的分布式证书链搜索算法[J】.计算机系统应用,2010,19(2):139.14669 信任管理模型的证书安全策略测试的研究作者攻读学位期间发表的学术论文叶漪,吴国文,罗辛,一种带有时间域的证书链搜索算法,计算机应用与软件,2010.8录用攻读硕士期间参与的科研项目上海大众车载蓝牙免提系统,2009.7.2010.6

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭