信息安全導論(以問題為導向) 課件 07 身份認證_第1頁
信息安全導論(以問題為導向) 課件 07 身份認證_第2頁
信息安全導論(以問題為導向) 課件 07 身份認證_第3頁
信息安全導論(以問題為導向) 課件 07 身份認證_第4頁
信息安全導論(以問題為導向) 課件 07 身份認證_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

身份認證

Authentication1教學視頻、國家級一流在線課程鏈接:/course/FUDAN-1206357811內(nèi)容提要身份認證的基本概念基于口令的身份認證Unix口令動態(tài)口令質(zhì)詢與應答認證技術(shù)Needham-Schroeder協(xié)議KERBEROS協(xié)議2基于密碼的身份認證內(nèi)容提要1、身份認證的基本概念3定義身份認證(Authentication)的定義:宣稱者向驗證方出示證據(jù),證明其身份的交互過程至少涉及兩個參與者,是一種協(xié)議分為:雙向認證單向認證4定義身份認證(Authentication):注意與報文鑒別(MessageAuthentication)的區(qū)別1、報文鑒別是靜態(tài)附加在報文之上,報文鑒別可以作為基本方法,用于設計身份認證協(xié)議2、一般和時間相關(guān),具有實時性MessageauthenticationhasnotimelinessEntityauthenticationhappensinrealtime要保證用于身份認證的報文的”鮮活性”對身份認證最大的威脅是“重放攻擊”(Replay

Attack)5身份認證基本方法宣稱者所知道的-passwords,PINs,keys…宣稱者擁有的-cards,handhelds…宣稱者繼承的生物特征–biometricsPINS與Keys的關(guān)系用短的PIN碼鎖住長的密鑰Key,提供兩級安全保護62、基于口令的身份認證2.1基于口令身份認證的一般模式7基于口令認證的一般過程初始化階段UserchoosespasswordHashofpasswordstoredinpasswordfile身份認證階段Userlogsintosystem,suppliespasswordSystemcomputeshash,comparestofile8基于口令的認證-弱的認證方法口令在相當長的一段時間內(nèi)固定明文存放,或哈希之后存放通過設置規(guī)則(如要求字母、數(shù)字,長度等),避免設置弱口令Salt(鹽值)提高字典攻擊的窮舉空間有大量的應用實例910PasswordfileUserexrygbzyfkgnosfixggjoklbsz……mypasswdhashfunction示例:UNIXpasswords/etc/passwd/etc/shadow

Username:password:

UID

:

GID:

USERINFO:

HOME:

SHELL對基于口令認證的攻擊重放攻擊(因口令一般一段時間內(nèi)固定)窮舉攻擊8個字符相當于40-50bits的窮舉空間字典攻擊在線字典攻擊離線字典攻擊112、基于口令的身份認證2.2字典攻擊與UNIX口令12字典攻擊–

數(shù)量化討論Typicalpassworddictionary1,000,000entriesofcommonpasswordspeople'snames,commonpetnames,andordinarywords.在線字典攻擊:Supposeyougenerateandanalyze10guessespersecThismaybereasonableforawebsite;offlineismuchfasterDictionaryattackinatmost100,000seconds=28hours,or14hoursonaverageIfpasswordswererandomAssumesix-characterpasswordUpper-andlowercaseletters,digits,32punctuationcharacters689,869,781,056passwordcombinations.Exhaustivesearchrequires1,093yearsonaverage13離線字典攻擊原理建立離線字典文件口令列表與攻擊目標系統(tǒng)采用同樣Hash算法,計算生成的口令Hash值獲取password文件password文件里的Hash值與字典文件中Hash進行比對14Password1H(Password1)Password2H(Password2)Password3H(Password3)……UNIX口令UNIX標準口令Hash函數(shù)(使用改造的DES算法)將DES改造成Hash函數(shù),用key對一個常量明文進行加密,獲得一個13個ASCII字符的密文編碼輸出,其中包括salt的兩個字符[fromRedHatLinux6.2]key包括兩個部分:口令明文+saltSalt值從系統(tǒng)的時鐘提取,取值范圍[a-z,A-Z,0-9,./]明文使用固定的64比特0(64bitzeroes)對DES做了修改iterated25timesAltersexpansionfunctionofDESchar*crypt(constchar*key,constchar*salt)15Salt(使用加密技術(shù)生成的隨機數(shù))Unixpasswordlineljt:fURfuu4.4hY0U:129:129:Fudan_U:/home/ljt:/bin/csh1625xDESInputSaltKeyConstantPlaintextCiphertextCompareWhenpasswordisset,saltischosenrandomlySalt增加字典攻擊的窮舉空間沒有Salt值所有UNIX主機使用相同的hash函數(shù)攻擊者對字典文件里的口令字符串算一次hash離線字典文件可以共用有Salt值同樣的口令產(chǎn)生不同的hash值

一個口令字符串的hash值有212

種不同的輸出攻擊者沒有辦法事先算好離線字典或離線字典的詞條規(guī)模增加約212

倍建議使用更強的散列函數(shù),如SHA117口令–一種弱的認證方法竊取A的password,將在很長一段時間擁有A的權(quán)限,直到A發(fā)現(xiàn)特別的,網(wǎng)絡環(huán)境下遠程認證遠程登錄,password傳遞形式?可以通過設置一些規(guī)則避免簡單的口令一種普遍的身份認證方法因為容易部署、易使用如何管理passwords18基于口令的認證+明文傳輸?。?!Telnet遠程登錄逐個字母發(fā)送,明文方式Http協(xié)議Web應用Ftp服務……嗅探(Sniffer)相當容易可以對口令加密傳輸,但密鑰分發(fā)是個問題192、基于口令的身份認證2.3動態(tài)口令20動態(tài)口令,Onetimepasswords(OTP)解決的問題:基于口令的身份認證易受重放攻擊,如何避免口令被重放需要事先共享口令序列,每次認證之后更新,當前期待的口令與前一個的口令不一樣如何共享?Lamport的動態(tài)口令方案21Lamport’sOneTimePasswords1981,byLamport初始化階段

用戶A基于一個秘密

w使用HASH函數(shù)h,計算出一組password序列:w,h(w),h(h(w)),…,ht(w)驗證方Bob

Sever僅知道

ht(w)認證階段:Password,第ith

次認證:

wi=ht-i(w)22動態(tài)口令安全性分析預先播放(Pre-playattack

)攻擊在口令更新的時間窗口(常見1分鐘、30秒)還是可以遭受重放攻擊缺點:使用500-1000次需要Reinitialization開銷不小不支持雙向認證,無法確定口令提交給了合法的Bob

Sever23動態(tài)口令牌24身份認證協(xié)議的分類弱的身份認證基于口令,PIN碼,等動態(tài)口令One-timepasswords(半強的)強的(基于密碼技術(shù)的)身份認證質(zhì)詢與應答技術(shù)基于可信第三方的身份認證(不但實現(xiàn)身份認證,還解決密鑰分發(fā)問題)Needham-Schroeder協(xié)議Kerberos協(xié)議253、質(zhì)詢與應答認證技術(shù)3.1對稱密鑰實現(xiàn)質(zhì)詢與應答26質(zhì)詢與應答(Challenge-Response)的基本邏輯設B要完成對A的身份認證身份認證基于A所知道的某個秘密(例如密鑰)首先B發(fā)給A一個隨機數(shù)(challenge)A收到這個隨機數(shù)之后,對它作某種變換,得到response報文,并發(fā)送回去Response同時依賴于隨機數(shù)(challenge)和A所知道的這個秘密B收到response,可以驗證A是知道這個秘密的27質(zhì)詢與應答的基本邏輯在有的協(xié)議中,這個challenge也稱為Nonce(NumberusedONCE)可能明文傳輸,也可能密文傳輸A生成Response報文的典型變換有:A用密鑰加密,說明A知道這個密鑰;有時會對challenge簡單運算,比如增一,再做加密處理質(zhì)詢與應答是構(gòu)造更復雜的交互式認證協(xié)議的基本組件28質(zhì)詢與應答的實現(xiàn)方式使用對稱密鑰對稱密鑰加密Symmetricencryption報文鑒別碼Onewayfunctions使用公開密鑰密碼數(shù)字簽名Digitalsignatures29基于對稱密鑰-基本思想Alice與BobServer共享密鑰

KAlice

30AliceKAliceBobServerKAlice,

Kc,Kd,

……Alice,E(KAlice,Challenge)OkayChallengeChallenge是隨機數(shù)單向(Unilateral)身份認證-對稱加密BobAlice:rbAliceBob:EK(rb,B)Bob收到后檢驗

rb

是否是它剛發(fā)送給A的Challenge隨機數(shù)同時檢驗B的標識

“B”-是為了防止反射攻擊(reflectionattack),報文中的“B”

標記了報文的方向rb

要求必須不能重復,并且是隨機的防止重放攻擊

replayattack31K是Alice與Bob共享的密鑰

反射攻擊Reflectionattack反射攻擊是對質(zhì)詢–應答身份認證協(xié)議的一種攻擊方法。攻擊者I(A)在兩個方向上使用相同的協(xié)議。也就是說,I(A)用Bob

server對自己這個方向的Challenge,去質(zhì)詢Bob

server。B→I(A):rb

I(A)→B:rb

B

→I(A):EK{rb}

I(A)→B:EK{rb}

32單向認證:使用時間戳(timestamps)基于時間戳的隱性(Implicit)ChallengeAlice

Bob:EK(T,B)

T:Alice本地時鐘當前的時間戳Bob解密后檢驗時間戳T是否可接受Δt1:網(wǎng)絡延時;Δt2:時鐘誤差參數(shù)

B:防止反射B

A方向同樣的協(xié)議報文33BobAlice:rbAliceBob:EK(ra,rb,B)AliceChallengeBobBobAlice:EK(ra,rb)34雙向(Mutual)認證-對稱密鑰加密35對稱密鑰的要求要求參與方事先完成對稱密鑰交換,可擴展性(Scalability)是個問題假設:C/S模型任意通信兩方需要共享不同的密鑰隨著Server/Client數(shù)量的增加…密鑰如何分發(fā),如何管理?ClientServerChallengeResponse對稱密鑰的要求任意通信兩方需要共享不同的密鑰在小的、封閉式的系統(tǒng)里,可以事先完成密鑰共享大規(guī)模、分布式的環(huán)境中,實現(xiàn)密鑰共享想對困難因此用對稱密鑰加密實現(xiàn)身份認證,往往伴隨著密鑰交換(e.g.Needham-Schroeder協(xié)議,Kerberos協(xié)議)36質(zhì)詢與應答的實現(xiàn)方式使用對稱密鑰對稱密鑰加密Symmetricencryption報文鑒別碼Onewayfunctions使用公開密鑰密碼數(shù)字簽名Digitalsignatures37基于報文鑒別碼的身份認證協(xié)議不使用加密,用基于對稱密鑰的報文鑒別碼(MAC)算法MAC值=hK(M),M是報文接收方檢驗:同樣方向計算收到報文的MAC值,與收到的MAC值比對SKID2(unilateral),andSKID3(mutual)38雙向認證-基于對稱密鑰的MAC–SKID3BobAlice:rbAliceBob:ra,hK(ra,rb,B)BobAlice:hK(ra,rb,A)39單向認證-基于對稱密鑰的MAC–SKID2BobAlice:rbAliceBob:ra,hK(ra,rb,B)403、質(zhì)詢與應答認證技術(shù)3.2公開密鑰實現(xiàn)質(zhì)詢與應答41質(zhì)詢與應答的實現(xiàn)方式使用對稱密鑰對稱密鑰加密Symmetricencryption報文鑒別碼Onewayfunctions使用公開密鑰密碼數(shù)字簽名Digitalsignatures42單向認證協(xié)議-基于數(shù)字簽名Bob

Alice:rB(隨機數(shù))Alice

Bob:certA,rA,B,SA(rA,rB,B)Bob驗證:用公鑰證書里公鑰驗證A的簽名參數(shù)“B”用來標記報文的方向隨機數(shù)

rA

放在簽名塊里,用于防止選擇文本攻擊chosen-textattacks43雙向認證-基于數(shù)字簽名Bob

Alice:rBAlice

Bob:certA,rA,B,SA(rA,rB,B)Bob

Alice:certB,A,SB(rA,rB,A)44單向認證-基于對時間戳簽名基于時間戳的隱性(Implicit)ChallengeAlice

Bob:certA,tA,B,PRA(tA,B)45質(zhì)詢-應答協(xié)議的標準化國際標準化組織ISO和IEC(theInternationalElectrotechnicalCommission)已經(jīng)標準化了若干質(zhì)詢-應答認證協(xié)議,被建議用做構(gòu)造復雜認證協(xié)議的基本組件。例如:"ISOSymmetricKeyTwo-PassUnilateralAuthenticationProtocol": B

A:RB

||Text1 A

B:TokenABTokenAB

=Text3||KAB(RB

||B||Text2).464、Needham-Schroeder協(xié)議

基于可信第三方的身份認證

AuthenticationInvolvingTTP4.1Needham-Schroeder協(xié)議解決的問題4748對稱密鑰的密鑰分發(fā)問題要求通信參與者事先完成對稱密鑰交換,可擴展性(Scalability)是個問題任意通信兩方需要共享不同的密鑰隨著通信的參與者數(shù)量的增加…密鑰如何分發(fā),如何管理?

解決思路:基于可信第三方身份認證選定某個參與者作為可信第三方,為其他參與者協(xié)商對稱密鑰。設有n個通信參與者沒有可信第三方,需要事先共享n(n-1)/2個對稱密鑰有可信第三方,只要每個參與者事先與可信第三方共享一個對稱密鑰即可,只需要n-1個對稱密鑰其余對稱密鑰(稱為會話密鑰,session

key),在需要的時候,由可信第三方為他們協(xié)商49Needham-Schroeder協(xié)議基于可信第三方實現(xiàn)密鑰分發(fā)與身份認證的協(xié)議協(xié)議中,可信第三方記作TrentTrent又被稱作是密鑰分發(fā)中心(KDC,keydistributioncenter)Trent可以服務大量用戶,他與這些用戶事先共享對稱密鑰,這些密鑰是相對長期的密鑰。例如,

Trent與A的對稱密鑰KAT,Trent與B的對稱密鑰KBT,等等用戶有通信需求時,Trent為他們生成隨機的會話密鑰,例如,KAB會話密鑰:短期密鑰(一次一密),僅對當前會話有效50Needham-Schroeder協(xié)議使用Trent的服務,可以實現(xiàn)任何兩個最終用戶之間的安全通信,而無需他們進行物理會面;他們可以運行身份認證協(xié)議來建立共享的會話密鑰會話結(jié)束后,最終用戶甚至可以互相忘記對方,會話密鑰扔掉51Needham-Schroeder歷史最著名的安全協(xié)議之一1978首次公開發(fā)表,1981被發(fā)現(xiàn)有一定缺陷幾經(jīng)改進,最終成為Kerberos協(xié)議的基礎52Needham-Schroeder提供的安全服務前提:Alice和Trent有共享的對稱密鑰

KAT;Bob和Trent有共享的對稱密鑰KBT.安全服務(協(xié)議運行后):完成參與者Alice,Bob,Trent相互之間的身份認證

Alice和Bob建立新的他們共享的會話密鑰K.534、Needham-Schroeder協(xié)議

基于可信第三方的身份認證

AuthenticationInvolvingTTP4.2Needham-Schroeder協(xié)議精講54Needham-Schroeder提供的安全服務前提:Alice和Trent有共享的對稱密鑰

KAT;Bob和Trent有共享的對稱密鑰KBT.安全服務(協(xié)議運行后):完成參與者Alice,Bob,Trent相互之間的身份認證

Alice和Bob建立新的他們共享的會話密鑰K.555657

58對Needham-Schroeder協(xié)議的攻擊對Needham-Schroeder協(xié)議的攻擊

59對Needham-Schroeder攻擊的分析RESULTOFATTACK

Bobthinksheissharinganewsessionkey

withAlicewhileactuallythekeyisanoldoneandmaybeknown

toMalice.改進措施:UsingTimestamp1,4,5SameasintheNeedham-Schroeder.A,B均檢驗:605、KERBEROS協(xié)議

基于可信第三方的身份認證

AuthenticationInvolvingTTP615、KERBEROS協(xié)議

基于可信第三方的身份認證

AuthenticationInvolvingTTP5.1KERBEROS協(xié)議解決的問題62Kerberos認證協(xié)議的歷史Kerberos是一個經(jīng)過長期考驗的認證協(xié)議80年代中期是MIT的Athena工程的產(chǎn)物版本前三個版本僅用于內(nèi)部第四版得到了廣泛的應用第五版于1989年開始設計RFC1510,1993年確定標準Kerberos解決的問題認證、數(shù)據(jù)完整性、保密性63分布式環(huán)境,C/S模型,實現(xiàn)應用服務器(記作V)與用戶(記作C)間的雙向認證KERBEROS-認證功能的抽象ASC1V1V1V3C2……基于一個集中的認證服務器AS(可信第三方)分布式環(huán)境,C/S模型,實現(xiàn)應用服務器(記作V)與用戶(記作C)間的雙向認證基于一個集中的認證服務器AS(可信第三方),

記作AS(AuthenticationServer)把各個應用服務器V上共有的認證功能抽象剝離,集中到AS服務器上基于對稱加密實現(xiàn),沒有采用公開密鑰體制KERBEROS-認證功能的抽象解決的問題是:在一個分布式環(huán)境中,用戶希望獲取服務器上提供的服務。服務器能限制授權(quán)用戶的訪問,并能對服務請求進行認證處理三種威脅:用戶偽裝成另一個用戶訪問服務器用戶更改工作站的網(wǎng)絡地址用戶竊聽報文交換過程,利用重放攻擊進入服務器KERBEROS解決的問題協(xié)議用到的符號定義術(shù)語:C=客戶AS=認證服務器(存放著所有用戶及用戶口令信息)V=服務器IDc=在C上的用戶標識符IDv=V的標識符Pc=在C上的用戶口令ADc=C的網(wǎng)絡地址Kv=AS和V共享的加密密鑰5、KERBEROS協(xié)議

基于可信第三方的身份認證

AuthenticationInvolvingTTP5.2

KERBEROS的引入?yún)f(xié)議68一個簡單的基于可信第三方的認證對話(1)C

AS: IDc||Pc||IDv(2)AS

C: Ticket(3)C

V: IDc||TicketTicket=EKv[IDc||ADc||IDv]存在的問題要求用戶頻繁地輸入口令申請不同的服務,用戶需要新的票據(jù)口令是明文傳送的,敵對方可能竊聽到口令敵對方竊聽到Ticket,摹仿C進行重放攻擊簡單協(xié)議的改進用戶登錄時獲取票據(jù)許可票:(1)C

AS: IDc||IDtgs(2)AS

C: EKc

[Tickettgs]請求某種服務類型時獲取服務許可票:C

TGS:IDc

||IDv||Tickettgs(4)TGS

C:Ticketv獲取服務:(5)C

V:IDc||TicketvTickettgs=EKtgs[IDc||ADc||IDtgs||TS1||Lifetime1]Ticketv=Ekv[IDc||ADc||IDv||TS2||Lifetime2]增加票據(jù)許可服務器TGS(進一步剝離應用服務器上的授權(quán)功能,并集中到TGS)EKc(user’ssecretkey)iscomputedbyaone-wayfunctionfromtheuser’spassword存在的問題每一張ticket的有效期限設置如果太短,要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論