您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第6章身份认证与数字签名
第6章身份认证与数字签名主要内容身份认证数字签名6.1身份认证身份认证是验证主体的真实身份与其所声称的身份是否符合的过程。认证的结果只有两个:符合和不符合。适用于用户、进程、系统、信息等。身份认证的例子邮件登录Client与Server之间的鉴别Telnet远程登录Ftp服务登录到某台电脑上身份认证系统的组成出示证件的人,称作示证者P(Prover),又称声称者(Claimant)。验证者V(Verifier),检验声称者提出的证件的正确性和合法性,决定是否满足要求。第三方是可信赖者TP(Trustedthirdparty),参与调解纠纷。在许多应用场合下没有第三方。6.1.1身份认证的物理基础Somethingtheuserknow(例如口令)在互连网和计算机领域中最常用的认证方法是口令认证简单,但不安全。口令有可能被窃取、丢失、复制。设计依据安全水平、系统通过率、用户可接受性、成本等口令一般并不是以明文的形式存在和使用,而是采用一些加强的处理之后才使用的。对口令加密:对口令的加密算法必须是单向的,即只能加密,不能解密。在验证用户的口令时,验证方用单向函数加密,并与存储的密文相比较,若相等,则确认用户的身份有效,否则确认用户身份无效。一次性口令:使用一次性口令作为身份认证方法,使得中途截获口令变得毫无意义。由于要产生大量的一次性口令,所以必须采用专用的设备来产生口令。用户名密码序列号令牌码认证服务器数据库服务器管理服务器身份认证的物理基础Somethingtheuserpossesses(例如证件)认证系统相对复杂用户所拥有的磁卡或智能卡丢失,那么捡到卡的人就可以假冒真正的用户。需要一种磁卡和智能卡上不具有的身份信息,这种身份信息通常采用个人识别号PIN。持卡人必须自己妥善保存并严格保密。在验证过程中,验证者不但要验证持卡人的卡是真实的卡,同时还要通过PIN来验证持卡人的确是他本人。身份认证的物理基础Somethingtheuseris(例如指纹识别)更复杂,而且有时会牵涉到本人意愿6.1.2身份认证方式单向认证(One-wayAuthentication)双向认证(Two-wayAuthentication)信任的第三方认证(TrustedThird-partyAuthentication)单向认证通信的一方认证另一方的身份客户端(1)ID,Password(2)Authenticated服务器端用对称密码体制来实现单向认证某函数变换f双方共享的密钥KS随机数RAAB①E(RA,Ks)②E(f(RA),Ks)用非对称密码体制来实现单向认证随机数RAB的私钥KSBAB①RA②E(RA,KSB)双向认证双方都要提供用户名和密码给对方,才能通过认证。客户端(1)ClientID,Password(3)Authenticated(2)ServerID,Password服务器端用对称密码体制来实现双向认证A产生一个随机数RA双方共享的密钥KSB产生一个随机数RBAB①E(RA,KS)③E(RB,KS)②E(RA||RB,KS)用非对称密码体制来实现双向认证A产生一个随机数RAB产生一个随机数RBB的私钥KSBA的私钥KSAAB①RA③E(RB,KSA)②E(RA||RB,KSB)信任的第三方认证当两端欲进行连线时,彼此必须先通过信任第三方的认证,然后才能互相交换密钥,而后进行通信客户端(1)ClientID,Password(5)AuthenticateData(3)ServerID,Password信任第三方(2)Authentication(4)Authentication(6)AuthenticateData服务器端一种第三方认证机制SKAU:管理员的私钥PKB:B的公钥PKA:A的公钥AB②E(PKB||Request||Time1,SKAU)KDC①Request||Time1③E(IDA||N1,PKB)④Request||Time2⑤E(PKA||Request||Time2,SKAU)⑥E(N1||N2,PKA)⑦E(N2,PKB)N1:A的临时交互号N2:B产生的新临时交互号6.1.3kerberos协议概述Kerberos是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。它也指由麻省理工实现此协议,并发布的一套免费软件。它的设计主要针对客户-服务器模型,并提供了一系列交互认证-用户和服务器都能验证对方的身份。Kerberos协议可以保护网络实体免受窃听和重复攻击。Kerberos协议基于对称密码学,并需要一个值得信赖的第三方。InGreekmythology,amanyheadeddog,commonlythree,perhapswithaserpent'stail,theguardianoftheentranceofHades.--------DictionaryofSubjectsandSymbolsinArt,byJamesHall,Harper&Row,1979.KeyPointsKerberosisanauthenticationservicedesignedforuseinadistributedenvironment.Kerberosmakesuseofatrustedthird-partauthenticationservicethatenablesclientsandserverstoestablishauthenticatedcommunication.InstructionOneoftheearliestandalsooneofthemostwidelyusedservices.TwoversionsofKerberosareincommonuse.Version4implementationsstillexist.Version5correctssomeofthesecuritydeficienciesofversion4andhasbeenissuedasaproposedInternetStandard(RFC1510).TheproblemthatKerberosaddresses:Assumeanopendistributedenvironmentinwhichusersatworkstationswishtoaccessservicesonserversdistributedthroughoutthenetwork.Wewouldlikeforserverstobeabletorestrictaccesstoauthorizedusersandtobeabletoauthenticaterequestsforservice.Kerberosprovidesacentralizedauthenticationserverwhosefunctionistoauthenticateuserstoserversandserverstousers.Kerberosreliesexclusivelyonsymmetricencryption,makingnouseofpublic-keyencryption.ASimpleAuthenticationDialogueInanunprotectednetworkenvironment,anyclientcanapplytoanyserverforservice.serversmustbeabletoconfirmtheidentitiesofclientswhorequestservice.Eachservercanberequiredtoundertakethistaskforeachclient/serverinteraction.Inanopenenvironment,thisplacesasubstantialburdenoneachserver.AuthenticationServer(AS)Analternativeistouseanauthenticationserver(AS)thatknowsthepasswordsofallusersandstorestheseinacentralizeddatabase.TheASsharesauniquesecretkeywitheachserver.Thesekeyshavebeendistributedphysicallyorinsomeothersecuremanner.存储每个用户的password和标识存储与每个服务器共享的密钥VVVASC我要买票!TicketTicketAS查询数据库,检查用户口令是否与用户表示相符,并判断此用户是否有访问服务器V的权限。(1)C→AS:IDC||PC||IDV(2)AS→C:Ticket(3)C→V:IDC||TicketTicket=E(Kv,[IDC||ADC||IDV])C=clientAS=authenticationServerV=serverIDC=identifierofuseronCIDV=identifierofVPC=passwordofuseronCADC=networkaddressofCKv=secretencryptionkeysharedbyASandVAlthoughtheforegoingscenariosolvessomeoftheproblemsofauthenticationinanopennetworkenvironment,problemsremain.Twoinparticularstandout.wewouldliketominimizethenumberoftimesthatauserhastoenterapassword.Supposeeachticketcanbeusedonlyonce.Thesecondproblemisthattheearlierscenarioinvolvedaplaintexttransmissionofthepassword.AMoreSecureAuthenticationDialogue把身份认证和访问权限交给两个服务器分别完成身份认证,由AS完成访问控制,由票据授权服务器(ticket-grantingserver,TGS)来完成达到的效果:用户口令只需输入一次,且不会在网络上传输。VVVASC我要买票!TickettgsTGSTicketTicket存储每个用户的password和标识存储与TGS共享的密钥Tickettgs由kc加密,kc来自password存储与每个服务器V共享的密钥判断此用户是否有访问服务器V的权限。Onceperuserlogonsession:(1)C→AS:IDC||IDtgs(2)AS→C:E(Kc,Tickettgs)Oncepertypeofservice:(3)C→TGS:IDC||IDV||Tickettgs(4)TGS→C:TicketvOnceperservicesession:(5)C→V:IDC||TicketvTickettgs=E(Ktgs,[IDC||ADC||IDtgs||TS1||Lifetime1])Ticketv=E(Kv,[IDC||ADC||IDv||TS2||Lifetime2])(3)C→TGS:IDC||IDV||TickettgsTickettgs=E(Ktgs,[IDC||ADC||IDtgs||TS1||Lifetime1])1.客户端将用户标识、TGS标识一起送往AS,申请得到票据授权票据ticket-grantingticket。2.AS用从用户口令推出的密钥Kc(事先已经存储在AS中)将票据加密,并发送给客户端。由用户在客户端输入口令,并得到
本文标题:第6章身份认证与数字签名
链接地址:https://www.777doc.com/doc-4446679 .html