《基于信任管理模型证书安全策略测试的研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
东华大学学位论文原创性声明一嬲本人郑重声明:我恪守学术道德,崇尚严谨学风。所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中己明确注明和引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品及成果的内容。论文为本人亲自撰写,我对所写的内容负责,并完全意识到本声明的法律结果由本人承担。学位论文作者签名:叶确日期:矽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。
此文档下载收益归作者所有