版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章身份认证7网上和你通信的人到底是谁?有无假冒?讨论的议题认证的基本概念认证机制典型身份认证协议NTLMKerberosFiat-ShamirCryptographicalBuildingBlocksBlock
CiphersStream
CiphersSymmetricKey
CryptographyAuthenticationPrivacyEncryptionHash
FunctionsChallenge
ResponseIVsMACs
MICsMessage
DigestsNoncesPseudo
RandomRandom
SourcesSecretKeysSmart
CardsDH
RSAPublicKey
CryptographyElliptic
CurvesDigitalSignaturesData
IntegritySecureNetworkProtocolsNon-Repudiation掌握认证的基本概念,基本方法。熟悉windows的认证机制NTLM和Kerberos了解Fiat-Shamir身份识别方案
本讲要求*currentlywithCreditSuisse一、认证的基本概念WhatisAuthentication?认证就是确认实体是它所声明的。Thepropertythatensuresthattheidentityofasubjectorresourceistheoneclaimed.Authenticationappliestoentitiessuchasusers,processes,systemsandinformation.认证分两大类实体认证(身份认证):某一实体确信与之打交道的实体正是所需要的实体。实体认证又可分为本地和远程认证数据原发认证(消息认证):鉴定某个指定的数据是否来源于某个特定的实体。(被认证的实体与一些特定数据项有着静态的不可分割的联系。)
实体认证与消息认证的差别实体认证一般都是实时的,消息认证一般不提供时间性。实体认证只证实实体的身份,消息认证除了消息的合法和完整外,还需要知道消息的含义。数字签字是实现身份识别的有效途径。但在身份识别中消息的语义是基本固定的,一般不是“终生”的,签字是长期有效的。声称者未必涉及在当前的通信活动中。数据项可能已经通过许多系统被重放,这些系统可能或没有被认证。数据项可能在途中被存储相当的周期。
数据原发认证未必能免遭数据项的复制、重排序或丢失。消息认证不同于实体认证:
实体认证实现安全目标的方式认证是最重要的安全服务之一。所有其它的安全服务都依赖于该服务。认证可以对抗假冒攻击的危险1)作为访问控制服务的一种必要支持访问控制服务的执行依赖于确知的身份(访问控制服务直接对达到机密性、完整性、可用性及合法使用目标提供支持);2)作为提供数据起源认证的一种可能方法3)作为对责任原则的一种直接支持。
例如,在审计追踪过程中做记录时,提供与某一活动相联系的确知身份。
身份认证系统的组成示证者P(Prover)验证者V(Verifier)
ATPB可信赖者TP(Trustedthirdparty):参与调解纠纷。攻击者:可以窃听或伪装声称者骗取验证者的信任。对身份认证系统的要求(1)验证者正确识别合法申请者的概率极大化。(2)不具有可传递性(Transferability)(3)攻击者伪装成申请者欺骗验证者成功的概率要小到可以忽略的程度(4)计算有效性(5)通信有效性(6)秘密参数能安全存储*(7)交互识别*(8)第三方的实时参与*(9)第三方的可信赖性*(10)可证明的安全性身份认证的分类分类一:单向认证(one-wayauthentication)双向认证(mutualauthentication)分类二:直接认证(directauthentication)间接认证(indirectauthentication)相互认证协议在理论上,相互认证可通过组合两个单向认证交换协议来实现。然而,这种组合需要被仔细地考察,因为有可能这样的组合易受窃听重放攻击。另外,设计协议消息数比相应的单向交换协议的消息数的两倍少得多的相互认证交换协议是可能的。因此,由于安全性和性能的原因,相互认证交换协议必须为此目的而特别地进行设计。PhysicalSecurityPerimeterDirectAuthenticationPasswordsmightbesniffedOkifsiteissmallenoughAuthenticationMechanismAccessControlMechanismSysAdminIndirectAuthenticationusingRADIUSOftenusedwithone-timepasswords,e.g.RSA‘sSecureID®.RADIUSAgentRADIUSServeruser:jdoepw:asdfClientwantstoAccessserviceorressources.logonat...oraccessdeniedAccessRequestAccess-AcceptorAccess-RejectSecuredRadiusProtocol2.Authorization(Access)3.AccountingUsername:Password:Authentication,Authorization,Accounting(AAA)User0.Identification Iam:"Username"asteffenAuthenticationProve,thatIam"Username"********Authentication
Identification:Noknowledgeabouttherealidentityoftheuser.Theusernamecanbeanalias.Authentication
Authorization:Noknowledgeabouttheaccesscontrolrightsoftheuser.AlthoughmanysystemscombineAuthenticationwithAuthorization
byassigningaccesscontrolrightsaspartoftheloginprocess.Whatis"Authentication"?*currentlywithCreditSuisse二、认证机制认证机制非密码的认证机制A.口令机制B.一次性口令机制C.基于地址的机制D.基于个人特征的机制E.个人认证令牌基于密码算法的认证采用对称密码算法的机制采用公开密码算法的机制采用密码校验函数的机制零知识证明协议Authenticationisbasedon...Whatyouknow
(password,PIN,sharedsecret)askforsomethingonlytheauthorizeduserknows
Username:aznHu4UmPassword:asteffenFaceIris/RetinaScanningFingerprintVoiceWhatyouhave(Certificate,Token,ScratchList)testforthepresenceofsomethingonlytheauthorizeduserhasWhatyouare
(biologicalpattern,e.g.fingerprint)non-forgeablebiologicalorbehavioralcharacteristicsoftheuser01Z4GH06IKDX
0267TS079PL7
03UR2A08NFLB
04TIQV09K91D
053Z5P10HA85口令机制
口令或通行字机制是最广泛研究和使用的身份认证法。通常为长度为5~8的字符串。选择原则:易记、难猜、抗分析能力强。口令系统有许多脆弱点:
外部泄露
口令猜测
线路窃听
重放对付外部泄露和口令猜测的措施教育、培训;严格组织管理办法和执行手续;口令定期改变;每个口令只与一个人有关;输入的口令不再现在终端上;使用易记的口令,不要写在纸上。严格限制非法登录的次数;口令验证中插入实时延迟;限制最小长度,至少6~8字节以上防止用户特征相关口令,及时更改预设口令;使用机器产生的口令。Server
PasswordFileIDPasswordInsecureAuthenticationbasedonPasswordsPasswordSaltHashFunctionHashHashHashFunctionSecretpassword
transmitted
overinsecure
channelIDPasswordRemoteUserIDPasswordSalthelpsagainstdictionaryattacks.
UNIXuses12bitsofsalt,resultingin4096hashedpasswordvariantsSaltSaltCommonPasswordProblemPhishingattackorbreak-inatsiteBrevealspwdatAServer-sidesolutionswillnotkeeppwdsafeSolution:Strengthenwithclient-sidesupportBankA
lowsecuritysitehighsecuritysitepwdApwdB=pwdASiteBPasswordHashingGenerateauniquepasswordpersiteHMACfido:123()Q7a+0ekEXbHMACfido:123()OzX2+ICiqcHashedpasswordisnotusableatanyothersiteProtectsagainstpasswordphishingProtectsagainstcommonpasswordproblemBankAhash(pwdB,SiteB)hash(pwdA,BankA)SiteBpwdApwdB=设计实体认证协议的问题认证和密钥交换协议的核心问题有两个:保密性时效性为了防止伪装和防止暴露会话密钥,基本认证与会话密码信息必须以保密形式通信。这就要求预先存在保密或公开密钥供实现加密使用。第二个问题也很重要,因为涉及防止消息重放攻击。重放及相关设计策略常见的消息重放攻击形式:1、简单重放:攻击者简单复制一条消息,以后在重新发送它;2、可被日志记录的复制品:攻击者可以在一个合法有效的时间窗内重放一个带时间戳的消息;3、不能被检测到的复制品:这种情况可能出现,原因是原始信息已经被拦截,无法到达目的地,而只有重放的信息到达目的地。4、反向重放,不做修改。向消息发送者重放。当采用传统对称加密方式时,这种攻击是可能的。因为消息发送者不能简单地识别发送的消息和收到的消息在内容上的区别。相关设计策略:1)针对同一验证者的重放:非重复值2)针对不同验证者的重放:验证者的标识符使用非重复值使用非重复值:
1)序列号:计数的策略:对付重放攻击的一种方法是在认证交换中使用一个序数来给每一个消息报文编号。仅当收到的消息序数顺序合法时才接受之。但这种方法的困难是要求双方必须保持上次消息的序号。
2)时间戳:A接受一个新消息仅当该消息包含一个时间戳,该时间戳在A看来,是足够接近A所知道的当前时间;这种方法要求不同参与者之间的时钟需要同步
3)验证者发送随机值(如询问):不可预测、不重复询问/应答方式(Challenge/Response)A期望从B获得一个消息首先发给B一个随机值(challenge)B收到这个值之后,对它作某种变换,并送回去A收到B的response,希望包含这个随机值在有的协议中,这个challenge也称为nonce可能明文传输,也可能密文传输这个条件可以是知道某个口令,也可能是其他的事情变换例子:用密钥加密,说明B知道这个密钥;
简单运算,比如增一,说明B知道这个随机值询问/应答方法不适应非连接性的应用,因为它要求在传输开始之前先有握手的额外开销,这就抵消了无连接通信的主要特点。SecureAuthenticationbasedon
Challenge/ResponseProtocolsInsecureChannelUserServerKeyedHash
FunctionMACIDURUKeyRUIDUIDURUResponseMACNosecretsareopenlytransmittedTherandomvalues
RSandRUshould
neverberepeated!RSKeyKeyedHash
FunctionMACRSRSChallengerandomvalue
(Nonce)Challenge/ResponseProtocolbasedon
DigitalSignaturesInsecureChannelUserServerRSRSChallengerandomvalue
(Nonce)IDURUHashSigEncryptionwith
PrivateKeyRSHashIDURUResponseSigIDURUDecryptionwith
PublicKeyHash三、典型身份认证协议PAPCHAPKerberosX.509NTLMFiat-shamirWindowsNTLANManagerNTLM
WindowsDomainAuthenticationADomainisacollectionofServices(Email,File-Shares,Printers,...)administeredbyaDomainController(DC).CentralizedAdministration:EachuserhasonlyoneaccountperDomainmanagedbytheDomainController.ThusthereisnoneedforindividualServeraccounts.Flexibility:AssignmentofUserstoGroupsMultipleDomainspossible(Master-Domains,TrustRelationships)AllusersandserversmusttrusttheDomainController.UserAPrinterServer1Server3Server2UserBDomainController(DC)DomainNTLM–ProtocolWindowsNT
LANManagerisaproprietaryMicrosoftscheme.TypicalexampleofaChallenge-Responseprotocol.UserAliceServerDomainController(DC)Domain:WonderlandUsername:AlicePassword:2Uh7&Alice51ff1d83f68ba0537OKH:Hashfunction
E(x,k):EncryptionofxwithkeykH(2Uh7&)=KeyA
E(f68ba0537,KeyA)=51ff1d83UserAlice:KeyAAlice,f68ba0537,51ff1d83Challenge:f68ba0537E(f68ba0537,KeyA)=51ff1d83
Comparisonwith51ff1d83–ok?NTLMSecurityAnalysisUserkeyisknowntotheuserandDConlyTheuserkeyisderivedfromtheuser'sloginpassword.Onlytheentitledusercancorrectlyencryptthechallenge.Non-recurringchallengevalues(nonces)preventreplay-attacks.Pros:Passwordisnevertransmittedintheclear.Simpleandsecureprotocolifstronguserpasswordsareused.Cons:Theauthenticationprocessmustberepeatedforeveryuseof
aserver
DCcanbecomeabottleneck.WeakorshortNTLMpasswordscanbecrackedofflinewithadictionaryorbruteforceattack.Kerberos
KeyDistributionSystemHistoricalBackgroundDevelopedin1983aspartofMIT'sAthenaproject.Motivation:ManyMITstudents„sniffed“thenetworkandthusgotholdof
rootpasswordswhichtheyusedtoreboottheservers.Requirements:AuthenticationinUNIX-basedTCP/IPnetworksUseofsymmetricalcryptography(DES)Characteristics:Reliesonthemediationservicesofatrustedrefereeornotary.BasedontheworkbyNeedhamandSchroederontrustedthird-partyprotocolsaswellasDenningandSacco'smodificationsofthese.KerberosReleasesCurrentreleaseisKerberosv5(RFC1510,September1993).V5supportsadditionalencryptionciphersbesidesDES.AliceBobJackJipMaryPaulPeterHarryDickTomKbobKaliceKDCMediatedAuthenticationbymeansofa
KeyDistributionCenter(KDC)KerberosTicketsEachKerberosparticipant(Alice,Bob,etc.)–calledaPrincipal
–sharesacommonsecretwiththeKeyDistributionCenter(KDC)–thePrincipal’sMasterKey.Eachsecuredcommunicationorsecuredaccessis"mediated"
bymeansofaKerberosTicket.HowisAlicegoingtotalktoBob?UserAliceKDCServerBobH(2Uh7&)=MKeyA
E(time,MKeyA)=a5F113deSimplifiedKerberosProtocolH:Hashfunction
E(x,k):Encryptionofxwithkeyk
D(x,k):DecryptionofxwithkeykRealm:Wonderland
Username:Alice
Password:2Uh7&Alice,Bob,a5F113deUserAlice:MKeyA
ServerBob:MKeyB9abc571a,
TicketD(a5F113de,MKeyA)=time,valid?
SessionkeyAlice-Bob:SAB
E(SAB,MKeyA)=9abc571a
E({Alice,SAB
},MKeyB)=TicketD(9abc571a,MKeyA)=SAB
E({Alice,time},SAB)=5cc109815cc10981,
TicketMKeyBD(Ticket,MKeyB)={Alice,SAB
}
D(5cc10981,SAB)={Alice,time}correct?UserAliceKDCH(2Uh7&)=MKeyA
E(time,MKeyA)=a5F113de1.客户向KDC进行身份认证,获取访问票据许可服务器的访问票据
Realm:Wonderland
Username:Alice
Password:2Uh7&AS_REQ[Alice,a5F113de]UserAlice:MKeyA
ServerBob:MKeyBAS_REP[27LnZ8vU]D(a5F113de,MKeyA)=time,valid?
SessionkeyforAlice:SA
E({Alice,SA},MKeyKDC)=TGTA
E({SA,TGTA},MKeyA)=27LnZ8vUD(27LnZ8vU,MKeyA)={SA,TGTA}H:Hashfunction
E(x,k):Encryptionofxwithkeyk
D(x,k):DecryptionofxwithkeykUserAliceTGSE({Alice,time},SA)=qR71htp92.客户访问票据许可服务器获取访问应用服务器的票据
TGS_REQ[Bob,TGTA,qR71htp9]ServerBob:MKeyBTGS_REP[b22sYG1k]D(TGTA,
MKeyKDC)={Alice,SA}
D(qR71htp9,SA)={Alice,time},valid?
SessionkeyforAlice-Bob:SAB
E({Alice,SAB
},MKeyB)=TAB
E({SAB,TAB},SA)=b22sYG1kD(b22sYG1k,SA)={SAB,TAB}H:Hashfunction
E(x,k):Encryptionofxwithkeyk
D(x,k):DecryptionofxwithkeykSessionKey:SA
Ticket:TGTAUserAliceServerBob3.客户向应用服务器出示访问票据,服务器根据票据决定是否提供服务。
H:Hashfunction
E(x,k):Encryptionofxwithkeyk
D(x,k):DecryptionofxwithkeykE({Alice,timeA},SAB)=w86EQa55MKeyBSessionKey:SAB
Ticket:TABAP_REQ[TAB,w86EQa55]AP_REP[4tMJs73c]D(TAB,
MKeyB)={Alice,SAB}
D(w86EQa55,SAB)={Alice,time},valid?
E({Bob,timeB},SAB)=4tMJx73cD(4tMJx73c,SAB)={Bob,timeB},valid?{db;MKeyKDC}RealmKDCReplicationMaster
KDCSlave
KDCHostSlave
KDCSlave
KDCSlave
KDCSlave
KDCHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostHostInter-RealmAuthenticationAliceWonderlandKDCLionsKDC2.TGS_REP
[credentialsfor
LionsKDC]Carol4.TGS_REP
[credentialsfor
Carol@Lions]1.TGS_REQ
[Alice@Wonderland,
Carol@Lions]3.TGS_REQ
[Alice@Wonderland,
Carol@Lions]5.AP_REQ
[Alice,KA{KBA,“Alice”,...}]Realm
WonderlandRealm
LionsSummaryKerberos
AuthenticationTicket
Granting
ServiceClientServer1.authenticateuser2.accesscontrolforserver3.communication
summary特点基于口令的认证协议利用对称密码技术建立起来的认证协议可伸缩性——可适用于分布式网络环境环境特点User-to-serverauthentication局限性分析时间依赖性实现较好的时钟同步往往是很困难的攻击者误导系统时间并进行重放攻击有可乘之机猜测口令攻击脆弱口令容易受到攻击协议模型未对口令提供额外的保护,局限性分析域间认证多跳域间认证涉及很多因素,实现过程复杂不明确存在“信任瀑布”问题篡改登录程序认证系统本身的程序完整性很难保证密钥存储问题口令及会话密钥无法安全存放于典型的计算机系统中零知识证明技术传统的使用口令或个人身份识别号PIN(personalidentificationnumber)来证明自己的身份的方法的缺点是:容易受到字典攻击。检验用户口令或PIN的人或系统可使用用户的口令或PIN冒充用户。0.问题的提出“零知识证明”是由Goldwasser等人在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。在Goldwasser等人提出的零知识证明中,证明者和验证者之间必须进行交互,这样的零知识证明被称为“交互零知识证明”。80年代末,Blum等人进一步提出了“非交互零知识证明”的概念,用一个短随机串代替交互过程并实现了零知识证明。非交互零知识证明的一个重要应用场合是需要执行大量密码协议的大型网络。大量事实证明,零知识证明在密码学中非常有用。
零知识证明技术例.如图表示一个简单的迷宫,C与D之间有一道门,需要知道秘密口令才能将其打开。P向V证明自己能打开这道门,但又不愿向V泄露秘密口令。可采用如下协议:①V在协议开始时停留在位置A。②P一直走到迷宫深处,随机选择位置C或位置D。③P消失后,V走到位置B,然后命令P从某个出口返回位置B。④P服从V的命令,必要时利用秘密口令打开C与D之间的门。⑤P和V重复以上过程n次。图7.4零知识证明协议示例简化的Fiat-Shamir身份识别方案设n=pq,其中p和q是两个不同的大素数,x是模n的平方剩余,y是x的平方根。又设n和x是公开的,而p、q和y是保密的。证明者P以y作为自己的秘密。求解方程y2≡amodn与分解n是等价的。因此他人不知n的两个素因子p、q而计算y是困难的。P和验证者V通过交互证明协议,P向V证明自己掌握秘密y,从而证明了自己的身份。1.协议及原理①P随机选r(0<r<n),计算a≡r2modn,将a发送给V。②V随机选e∈{0,1},将e发送给P。③P计算b≡ryemodn,即e=0时,b=r;e=1时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024收养协议书锦集:收养评估与干预服务手册3篇
- 2024虚拟现实游戏内容开发与分成合同
- 二零二五年度便利店商品溯源系统开发合同3篇
- 2024长期采购的合同
- 2025年度租赁车辆环保排放检测及整改协议2篇
- 二零二五版房产抵押购销与房地产税务筹划合同3篇
- 2025年度个人与房地产中介服务借款合同规范3篇
- 2025年幼儿园幼儿意外伤害保险合同3篇
- 2025年度存量房交易鉴证服务合同范本3篇
- 二零二五年度植物标本制作与提供合同3篇
- 2025年蛇年春联带横批-蛇年对联大全新春对联集锦
- 表B. 0 .11工程款支付报审表
- 警务航空无人机考试题库及答案
- 空气自动站仪器运营维护项目操作说明以及简单故障处理
- 新生儿窒息复苏正压通气课件
- 2022年12月Python-一级等级考试真题(附答案-解析)
- 法律顾问投标书
- 班主任培训简报4篇(一)
- 成都市数学八年级上册期末试卷含答案
- T-CHSA 020-2023 上颌骨缺损手术功能修复重建的专家共识
- 危重症患者转运指南-课件
评论
0/150
提交评论