版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
身份認證分析1第1頁,共83頁,2023年,2月20日,星期日一、認證的基本原理在現(xiàn)實生活中,我們個人的身份主要是通過各種證件來確認的,比如:身份證、戶口本等。認證是對網(wǎng)絡(luò)中的主體進行驗證的過程,用戶必須提供他是誰的證明,他是某個雇員,某個組織的代理、某個軟件過程(如交易過程)。認證(authentication)是證明一個對象的身份的過程。與決定把什么特權(quán)附加給該身份的授權(quán)(authorization)不同。第七講認證2第2頁,共83頁,2023年,2月20日,星期日一、認證的基本原理通常有三種方法驗證主體身份。1)是只有該主體了解的秘密,如口令、密鑰;2)是主體攜帶的物品,如智能卡和令牌卡;3)是只有該主體具有的獨一無二的特征或能力,如指紋、聲音、視網(wǎng)膜圖或簽字等。單獨用一種方法進行認證不充分
第七講認證3第3頁,共83頁,2023年,2月20日,星期日身份認證系統(tǒng)架構(gòu)包含三項主要組成元件:認證服務(wù)器(AuthenticationServer)負責進行使用者身份認證的工作,服務(wù)器上存放使用者的私有密鑰、認證方式及其他使用者認證的信息。認證系統(tǒng)用戶端軟件(AuthenticationClientSoftware)認證系統(tǒng)用戶端通常都是需要進行登陸(login)的設(shè)備或系統(tǒng),在這些設(shè)備及系統(tǒng)中必須具備可以與認證服務(wù)器協(xié)同運作的認證協(xié)定。認證設(shè)備(Authenticator)認證設(shè)備是使用者用來產(chǎn)生或計算密碼的軟硬件設(shè)備。
第七講認證4第4頁,共83頁,2023年,2月20日,星期日1)口令機制用戶名/口令認證技術(shù):最簡單、最普遍的身份識別技術(shù),如:各類系統(tǒng)的登錄等。口令具有共享秘密的屬性,是相互約定的代碼,只有用戶和系統(tǒng)知道。例如,用戶把他的用戶名和口令送服務(wù)器,服務(wù)器操作系統(tǒng)鑒別該用戶??诹钣袝r由用戶選擇,有時由系統(tǒng)分配。通常情況下,用戶先輸入某種標志信息,比如用戶名和ID號,然后系統(tǒng)詢問用戶口令,若口令與用戶文件中的相匹配,用戶即可進入訪問。口令有多種,如一次性口令;還有基于時間的口令第七講認證5第5頁,共83頁,2023年,2月20日,星期日2)數(shù)字證書這是一種檢驗用戶身份的電子文件,也是企業(yè)現(xiàn)在可以使用的一種工具。這種證書可以授權(quán)購買,提供更強的訪問控制,并具有很高的安全性和可靠性。非對稱體制身份識別的關(guān)鍵是將用戶身份與密鑰綁定。CA(CertificateAuthority)通過為用戶發(fā)放數(shù)字證書(Certificate)來證明用戶公鑰與用戶身份的對應(yīng)關(guān)系。第七講認證6第6頁,共83頁,2023年,2月20日,星期日驗證者向用戶提供一隨機數(shù);用戶以其私鑰KS對隨機數(shù)進行簽名,將簽名和自己的證書提交給驗證方;驗證者驗證證書的有效性,從證書中獲得用戶公鑰KP,以KP驗證用戶簽名的隨機數(shù)。第七講認證7第7頁,共83頁,2023年,2月20日,星期日3)智能卡網(wǎng)絡(luò)通過用戶擁有什么東西來識別的方法,一般是用智能卡或其它特殊形式的標志,這類標志可以從連接到計算機上的讀出器讀出來。訪問不但需要口令,也需要使用物理智能卡。智能卡技術(shù)將成為用戶接入和用戶身份認證等安全要求的首選技術(shù)。用戶將從持有認證執(zhí)照的可信發(fā)行者手里取得智能卡安全設(shè)備,也可從其他公共密鑰密碼安全方案發(fā)行者那里獲得。這樣智能卡的讀取器必將成為用戶接入和認證安全解決方案的一個關(guān)鍵部分。第七講認證8第8頁,共83頁,2023年,2月20日,星期日4)主體特征認證目前已有的設(shè)備包括:視網(wǎng)膜掃描儀、聲音驗證設(shè)備、手型識別器等。安全性高。例如:系統(tǒng)中存儲了他的指紋,他接入網(wǎng)絡(luò)時,就必須在連接到網(wǎng)絡(luò)的電子指紋機上提供他的指紋(這就防止他以假的指紋或其它電子信息欺騙系統(tǒng)),只有指紋相符才允許他訪問系統(tǒng)。更普通的是通過視網(wǎng)膜膜血管分布圖來識別,原理與指紋識別相同,聲波紋識別也是商業(yè)系統(tǒng)采用的一種識別方式。第七講認證9第9頁,共83頁,2023年,2月20日,星期日用戶名/口令具有實現(xiàn)簡單的優(yōu)點,但存在以下安全缺點:1、大多數(shù)系統(tǒng)的口令是明文傳送到驗證服務(wù)器的,容易被截獲。某些系統(tǒng)在建立一個加密鏈路后再進行口令的傳輸以解決此問題,如配置鏈路加密機。2、口令維護的成本較高。為保證安全性,口令應(yīng)當經(jīng)常更換。另外為避免對口令的字典攻擊,口令應(yīng)當保證一定的長度,并且盡量采用隨機的字符。但缺點是難于記憶。3、口令容易在輸入的時候被攻擊者偷窺,而且用戶無法及時發(fā)現(xiàn)。簡單和安全是互相矛盾的兩個因素。第七講認證10第10頁,共83頁,2023年,2月20日,星期日1、安全與不安全的口令UNIX系統(tǒng)口令密碼都是用8位(新的是13位)DES算法進行加密的,即有效密碼只有前8位,所以一味靠密碼的長度是不可以的。安全的口令要求:1)位數(shù)>6位。2)大小寫字母混合。3)字母與數(shù)字混合。4)口令有字母、數(shù)字以外的符號。第七講認證二、基于口令的身份認證11第11頁,共83頁,2023年,2月20日,星期日不安全的口令則有如下幾種情況:
(1)使用用戶名(帳號)作為口令。(2)使用用戶名(帳號)的變換形式作為口令。將用戶名顛倒或者加前后綴作為口令,比如說著名的黑客軟件John,如果你的用戶名是fool,那么它在嘗試使用fool作為口令之后,還會試著使用諸如fool123、loof、loof123、lofo等作為口令,只要是你想得到的變換方法,John也會想得到。第七講認證12第12頁,共83頁,2023年,2月20日,星期日
(3)使用自己或者親友的生日作為口令。這種口令很脆弱,因為這樣往往可以得到一個6位或者8位的口令,但實際上可能的表達方式只有100×12×31=37200種。(4)使用常用的英文單詞作為口令。這種方法比前幾種方法要安全一些。一般用戶選擇的英文單詞幾乎都落在黑客的字典庫里。(5)使用5位或5位以下的字符作為口令。第七講認證13第13頁,共83頁,2023年,2月20日,星期日加強口令安全的措施:A、禁止使用缺省口令。B、定期更換口令。C、保持口令歷史記錄,使用戶不能循環(huán)使用舊口令。D、用口令破解程序測試口令。
第七講認證14第14頁,共83頁,2023年,2月20日,星期日2、口令攻擊的種類計算資源依靠口令的方式來保護的脆弱性:網(wǎng)絡(luò)數(shù)據(jù)流竊聽。由于認證信息要通過網(wǎng)絡(luò)傳遞,并且很多認證系統(tǒng)的口令是未經(jīng)加密的明文,攻擊者通過竊聽網(wǎng)絡(luò)數(shù)據(jù),就很容易分辨出某種特定系統(tǒng)的認證數(shù)據(jù),并提取出用戶名和口令??诹畋槐I也就是用戶在這臺機器上的一切信息將全部喪失,并且危及他人信息安全,計算機只認口令不認人。最常見的是電子郵件被非法截獲。第七講認證15第15頁,共83頁,2023年,2月20日,星期日認證信息截取/重放(Record/Replay)有的系統(tǒng)會將認證信息進行簡單加密后進行傳輸,如果攻擊者無法用第一種方式推算出密碼,可以使用截取/重放方式。攻擊者仍可以采用離線方式對口令密文實施字典攻擊;對付重放的方法有:1在認證交換中使用一個序數(shù)來給每一個消息報文編號,僅當收到的消息序號合法時才接受之;2使用時間戳(A接受一個新消息僅當該消息包含一個A認為是足夠接近A所知道的時間戳);3詢問/應(yīng)答方式(A期望從B獲得一個新消息,則先發(fā)給B一個臨時值,并要求后續(xù)從B收到的消息包含正確的這個臨時值)第七講認證16第16頁,共83頁,2023年,2月20日,星期日字典攻擊:由于多數(shù)用戶習慣使用有意義的單詞或數(shù)字作為密碼,某些攻擊者會使用字典中的單詞來嘗試用戶的密碼。所以大多數(shù)系統(tǒng)都建議用戶在口令中加入特殊字符,以增加口令的安全性。窮舉嘗試(BruteForce):這是一種特殊的字典攻擊,它使用字符串的全集作為字典。如果用戶的密碼較短,很容易被窮舉出來,因而很多系統(tǒng)都建議用戶使用長口令。窺探:攻擊者利用與被攻擊系統(tǒng)接近的機會,安裝監(jiān)視器或親自窺探合法用戶輸入口令的過程,以得到口令。第七講認證17第17頁,共83頁,2023年,2月20日,星期日社交工程:攻擊者冒充合法用戶發(fā)送郵件或打電話給管理人員,以騙取用戶口令。比如,在終端上發(fā)現(xiàn)如下信息:Pleaseenteryourusernametologon:Yourpassword:這很可能是一個模仿登錄信息的特洛伊木馬程序,他會記錄口令,然后傳給入侵者。垃圾搜索:攻擊者通過搜索被攻擊者的廢棄物,得到與攻擊系統(tǒng)有關(guān)的信息,如果用戶將口令寫在紙上又隨便丟棄,則很容易成為垃圾搜索的攻擊對象。
第七講認證18第18頁,共83頁,2023年,2月20日,星期日口令猜中概率公式:P=L?R/SL:口令生命周期R:進攻者單位時間內(nèi)猜測不同口令次數(shù)S:所有可能口令的數(shù)目。為降低猜中的概率:1減少口令使用壽命,即提高口令更換的頻率;2降低進攻者單位時間內(nèi)猜測嘗試口令的次數(shù);3增加可能口令的數(shù)目,即提高口令的字符個數(shù)。然而,口令的頻繁更換增加了用戶的負擔,也為資深入侵者提供了條件(為了便于記憶,人們往往選擇與其個人相關(guān)的口令,如某重要的日期),口令字符個數(shù)的增加也會增加用戶的負擔且不會對資深入侵者有更大影響,因此,手段2應(yīng)是較為有效的防猜中手段。第七講認證19第19頁,共83頁,2023年,2月20日,星期日1.選擇很難破譯的加密算法讓硬件解密商品不能發(fā)揮作用。2.控制用戶口令的強度(長度、混合、大小寫)3.摻雜口令先輸入口令,然后口令程序取一個12位的隨機數(shù)(通過讀取實時時鐘)并把它并在用戶輸入的口令后面。然后加密這個復(fù)合串。最后把64位的加密結(jié)果連同12位的隨機數(shù)(叫做salt)一起存入口令文件。第七講認證20第20頁,共83頁,2023年,2月20日,星期日4.不要暴露賬戶是否存在的信息例:打入一個用戶名后,不論賬戶是否存在,都在相同時間里要求輸入口令。5.限制口令嘗試次數(shù)。6.系統(tǒng)中只保存口令的加密形式第七講認證21第21頁,共83頁,2023年,2月20日,星期日7.一次性口令(OTP:OneTimePassword)在登錄過程中加入不確定因素,使每次登錄過程中傳送的信息都不相同,以對付重放攻擊。確定口令的方式:1)聲稱者與驗證者兩端共同擁有一串隨機口令,在該串的某一位置保持同步。用于人工控制環(huán)境中。2)兩端共同使用一個隨機序列生成器,在序列生成器的初態(tài)保持同步。3)使用時戳,兩端維持同步的時鐘。第七講認證22第22頁,共83頁,2023年,2月20日,星期日三、基于智能卡的身份認證1、智能卡的安全性IC卡是英文IntegratedCirtuit(集成電路)卡的縮寫,也稱“MEMORYCARD”和“SMARTCARD”,中文譯作“聰明卡”、“智慧卡”和“智能卡”等。這種集成電路卡,是隨著半導體技術(shù)的發(fā)展以及社會對信息的安全性和存儲容量要求的日益提高而應(yīng)運而生的。它是一種將具有加密、存儲、處理能力的集成電路芯片嵌裝于塑料基片上而制成的卡片,它的外型與普通的信用卡十分相似,具體尺寸為:長:85.6mm、寬:54mm、厚:0.8mmIC卡可簡單地分為三種類型:存儲卡、邏輯加密卡、CPU卡。第七講認證23第23頁,共83頁,2023年,2月20日,星期日IC卡優(yōu)點:存儲容量大、體積小而輕、保密性強、網(wǎng)絡(luò)要求低數(shù)據(jù)可靠性高IC卡防磁、防靜電、防潮、耐溫、抗干擾能力強,一張IC卡片可重復(fù)讀寫十萬次,卡中數(shù)據(jù)可保存幾十年。IC卡讀寫操作通過電信號傳輸來完成,因而對計算機的實時性、敏感性要求降低。內(nèi)部數(shù)據(jù)保密性、可靠性好,讀寫穩(wěn)定可脫機工作,易于安裝維護,而磁卡系統(tǒng)離不開網(wǎng)絡(luò);第七講認證24第24頁,共83頁,2023年,2月20日,星期日2、智能卡技術(shù)規(guī)范1)ISO7816描述智能卡底層接口標準,定義讀卡器和智能卡之間如何傳遞字節(jié)流。此標準主要是定義了塑料基片的物理和尺寸特性(7816/1),觸點的尺寸和位置(7816/2),信息交換的底層協(xié)議描述(7816/3),7816/4論述了跨行業(yè)的命令集。2)PC/SC(PersonalComputer/SmartCard)工作組
Microsoft聯(lián)合其它幾家公司推出了稱為PC/SC的智能卡應(yīng)用程序標準,用于Win32平臺的個人計算機與智能卡之間實現(xiàn)互通信。PC/SC工作組于1996年五月成立,目的在于規(guī)范一個開放的Windows接口。PC/SC工作組持有對PC-ICC互操作規(guī)范的所有權(quán)。第七講認證25第25頁,共83頁,2023年,2月20日,星期日3)OpenCard框架由IBM,Netscape,NCI和Sun在1997年3月27日提出的用于網(wǎng)絡(luò)環(huán)境的智能應(yīng)用框架。目的是支持智能卡應(yīng)用程序在網(wǎng)絡(luò)計算機、PC機、ATM和GSM平臺上實現(xiàn)應(yīng)用互操作。OpenCard還提供了到PC/SC的接口。4)JavaCard論壇1996年10月推出了JavaCardAPI規(guī)范,目前版本為2.1.1,1997年4月27日,JavaCard論壇正式宣布成立。JavaCard論壇的成立目的是完善JavaCardAPI規(guī)范,使之最終成為多應(yīng)用智能卡的首選編程語言。第七講認證26第26頁,共83頁,2023年,2月20日,星期日JavaCard就是能夠運行Java程序的智能卡。JavaCard在出廠時就在ROM中燒入了操作系統(tǒng)、JavaCard虛擬機、API類庫和可選的applets,隨后,初始化和個人化向EEPROM中寫入數(shù)據(jù)。所謂JavaCard規(guī)范,主要是定義了Java作為一種獨立于平臺的編程技術(shù)在智能卡上的應(yīng)用。JavaCardAPI與正式的國際標準(如ISO7816)和工業(yè)規(guī)范標準(如Europay/MasterCard/Visa)兼容。也就是說Javaapplet能夠直接運行在遵循ISO7816標準的智能卡之上。第七講認證27第27頁,共83頁,2023年,2月20日,星期日第七講認證3、基于智能卡的認證機制在基于Web的電子商務(wù)應(yīng)用中,Javaapplet與智能卡之間的通信是:應(yīng)用程序與讀卡器通信,而讀卡器將使用上面介紹的標準與智能卡通信。在用戶進行商務(wù)交易前,服務(wù)器首先使用智能卡完成用戶身份的認證。身份認證過程中為了產(chǎn)生變動的密碼一般采用雙運算因子的計算方式,也就是加密算法的輸入值有兩個數(shù)值,其一為用戶密鑰、另一為變動因子,由于用戶密鑰為固定數(shù)值,因此變動因子必須不斷變動才可以算出不斷變動的動態(tài)密碼。服務(wù)器及智能卡必須隨時保持相同的變動因子,才能算出相同的動態(tài)密碼。28第28頁,共83頁,2023年,2月20日,星期日第七講認證1)詢問/應(yīng)答認證
變動因子是由服務(wù)器產(chǎn)生的隨機數(shù)字。認證過程如下:1)登錄請求??蛻魴C首先向服務(wù)器發(fā)出登錄請求,服務(wù)器提示用戶輸入用戶ID和PIN。2)詢問。用戶提供ID給服務(wù)器,然后服務(wù)器提供一個隨機串X(Challenge)給插在客戶端的智能卡作為驗證算法的輸入,服務(wù)器則根據(jù)用戶ID取出對應(yīng)的密鑰K后,利用發(fā)送給客戶機的隨機串X,在服務(wù)器上用加密引擎進行運算,得到運算結(jié)果RS。29第29頁,共83頁,2023年,2月20日,星期日第七講認證3)應(yīng)答。智能卡根據(jù)X與內(nèi)在密鑰K使用硬件加密引擎運算,也得到一個運算結(jié)果RC,并發(fā)送給服務(wù)器。4)驗證。比較RS和RC便可確定用戶的合法性。由于密鑰存在于智能卡中,運算過程也是在智能卡中完成,密鑰認證是通過加密算法來實現(xiàn)的,因而極大地提高了安全性。并且每當客戶端有一次服務(wù)申請時,服務(wù)器便產(chǎn)生一個隨機串給客戶,即使在網(wǎng)上傳輸?shù)恼J證數(shù)據(jù)被截獲,也不能帶來安全上的問題。30第30頁,共83頁,2023年,2月20日,星期日三、基于智能卡的身份認證第七講認證31第31頁,共83頁,2023年,2月20日,星期日第七講認證詢問/應(yīng)答身份認證的優(yōu)點:沒有同步的問題。一片認證卡可以用來存取被不同認證服務(wù)器所保護的系統(tǒng)。最安全的認證方式。缺點:使用者必須按較多的按鈕,操作較繁復(fù)。比較多輸入的失誤。32第32頁,共83頁,2023年,2月20日,星期日第七講認證2)時間同步認證
變動因子使用服務(wù)器端與客戶端的同步時間值。認證過程如下:1)用戶向服務(wù)器發(fā)出登錄請求,服務(wù)器提示用戶輸入用戶ID和用戶PIN。2)服務(wù)器根據(jù)用戶ID取出對應(yīng)的密鑰K,使用K與服務(wù)器時間T計算動態(tài)密碼RS。3)智能卡根據(jù)內(nèi)在的密鑰K與客戶機時間T使用相同的專用算法計算動態(tài)密碼RC,并發(fā)送給服務(wù)器。4)服務(wù)器比較RS與RC,如果相同則用戶合法。33第33頁,共83頁,2023年,2月20日,星期日三、基于智能卡的身份認證第七講認證時間同步認證卡在一個固定期間中(通常是一分鐘)產(chǎn)生同一個動態(tài)密碼,依據(jù)時間的流逝產(chǎn)生不同的密碼。34第34頁,共83頁,2023年,2月20日,星期日第七講認證時間同步身份認證優(yōu)點:易于使用。缺點:時間同步困難,可能造成必須重新輸入新密碼。軟體認證卡采用PC的時刻,很可能隨時被修改。常常需要與服務(wù)器重新對時。2.不如Challenge/Response認證更安全35第35頁,共83頁,2023年,2月20日,星期日第七講認證3)事件同步事件同步認證卡依據(jù)認證卡上的私有密鑰產(chǎn)生一序列的動態(tài)密碼,如果使用者意外多產(chǎn)生了幾組密碼造成不同步的狀態(tài),服務(wù)器會自動重新同步到目前使用的密碼,一旦一個密碼被使用過后,在密碼序列中所有這個密碼之前的密碼都會失效。
36第36頁,共83頁,2023年,2月20日,星期日三、基于智能卡的身份認證第七講認證37第37頁,共83頁,2023年,2月20日,星期日第七講認證事件同步的身份認證優(yōu)點:容易使用。由于使用者無法知道序列數(shù)字,所以安全性高,序列號碼絕不會顯示出來。缺點:如果沒有PIN號碼的保護及認證卡借給別人使用時,會有安全的疑慮。38第38頁,共83頁,2023年,2月20日,星期日
四、基于生物特征的身份認證第七講認證對用戶固有的某些特征進行測量,如指紋、聲音或簽字。這些需要特殊硬件,這就限制了生物技術(shù)只能用在比較少的環(huán)境中。其吸引人的地方是生物識別絕不可能丟失和被偷竊。實際上,存在著某些局限性。傳統(tǒng)的安全常識認為認證數(shù)據(jù)應(yīng)有規(guī)則地進行變化。而使用指紋閱讀器難于做到這一點。某些方法也遭到了用戶的反對。還有,因為生物技術(shù)具有極為本質(zhì)的特點,因此不可能給出準確的答案。39第39頁,共83頁,2023年,2月20日,星期日第七講認證沒有兩個簽字是絕對相同的,即使來自一個人,還有一些莫明其妙的影響,例如疲勞程度、心境狀況和健康狀況等。在匹配算法中必須建立某些公差。假如某個調(diào)用者經(jīng)認證只有93%的可信度,是否讓其登錄?某些系統(tǒng)使用智能卡存儲每個用戶的生物技術(shù)數(shù)據(jù)。這避免了需要主機數(shù)據(jù)庫,而是依賴于卡的安全性來防止竄改。在用戶和智能卡之間的協(xié)議中,結(jié)合了來自主機的隨機質(zhì)詢,因而避免了重播攻擊。40第40頁,共83頁,2023年,2月20日,星期日
四、基于生物特征的身份認證第七講認證優(yōu)點:絕對無法仿冒的使用者認證技術(shù)。缺點:較昂貴。不夠穩(wěn)定(辯識失敗率高)。41第41頁,共83頁,2023年,2月20日,星期日身份的零知識證明第七講認證
通常的身份認證都要求傳輸口令或身份信息(盡管是加密傳輸)。如果不傳輸這些信息,身份也能得到證明就好了,這就需要零知識證明技術(shù)(Theproofofzeroknowledge)
。零知識證明是這樣一種技術(shù),被認證方P掌握某些秘密信息,P想設(shè)法讓認證方V相信他確實掌握那些信息,但又不想讓V也知道那些信息。42第42頁,共83頁,2023年,2月20日,星期日第七講認證解釋零知識證明的通俗例子是洞穴問題。如圖:有一個洞,設(shè)P知道咒語,可打開C和D之間的秘密門,不知道者都將走入死胡同中,那么P如何向V出示證明使其相信他知道這個秘密,但又不告訴V有關(guān)咒語。43第43頁,共83頁,2023年,2月20日,星期日第七講認證P如何使V相信自己掌握了洞穴的秘密:1)V站在A點。2)P進入洞中任意一點C或D。3)當P進洞之后,V走到B點。4)V叫P:“從左邊出來”或“從右邊出來”。5)P按要求實現(xiàn)(以咒語,即解數(shù)學難題)。6)P和V重復(fù)執(zhí)行(1)~(5)共n次。被認證方P掌握的秘密信息一般是長期沒有解決的猜想問題的證明,但能通過具體的步驟來驗證它的正確性。Feige-Fiat-Shamir零知識身份識別協(xié)議1986年受到美國軍方干預(yù)44第44頁,共83頁,2023年,2月20日,星期日Kerberos認證系統(tǒng)45第45頁,共83頁,2023年,2月20日,星期日網(wǎng)絡(luò)環(huán)境
第七講
Kerberos認證
SecurityServerFileserverPrintingserver...User1User2...Attacker46第46頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證
竊聽重放:利用先前的標簽信息,獲得以后對系統(tǒng)的訪問權(quán)。假冒用戶偽裝機器潛在的攻擊47第47頁,共83頁,2023年,2月20日,星期日一、Kerberos簡介
第七講
Kerberos認證
Kerberos:希臘神話“三個頭的狗——地獄之門守護者”希望有三個功能:身份認證、記賬、審核。Kerberos針對分布式環(huán)境,一些工作站可能安裝于不安全場所,而且用戶也并非是完全可信的??蛻粼诘卿洉r,需要認證。用戶必須獲得由認證服務(wù)器發(fā)行的許可證,才能使用目標服務(wù)器上的服務(wù)。許可證提供被認證的用戶訪問一個服務(wù)時所需的授權(quán)資格。所有客戶和服務(wù)器間的會話都是暫時的。
48第48頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證1、Kerberos的產(chǎn)生背景在網(wǎng)絡(luò)系統(tǒng)中,用戶需要從多臺計算機得到服務(wù),控制訪問的方法有三種:a.)認證工作由用戶登錄的計算機來管理,服務(wù)程序不負責認證,這對于封閉式網(wǎng)絡(luò)是可行的方案。b.)收到服務(wù)請求時,對發(fā)來請求的主機進行認證,對每臺認證過的主機的用戶不進行認證。例:rlogin和rsh程序。半開放系統(tǒng)可用此方法。每個服務(wù)選擇自己信任的計算機,在認證時檢查主機地址來實現(xiàn)認證。49第49頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證C)在開放式系統(tǒng)中,主機不能控制登錄它的每一個用戶,另外有來自系統(tǒng)外部的假冒等情況發(fā)生,以上兩種方法都不能保證用戶身份的真實性,必須對每一個服務(wù)請求,都要認證用戶的身份。開放式系統(tǒng)的認證的要求:1.)安全性:沒有攻擊的薄弱環(huán)節(jié)。2.)可靠性:認證服務(wù)是其他服務(wù)的基礎(chǔ),要可靠,不能癱瘓。3.)透明性:用戶覺察不到認證服務(wù),只是輸入口令。4.)可擴展性:支持加入更多的服務(wù)器。50第50頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證2、什么是KerberosKerberos:為網(wǎng)絡(luò)通信提供可信第三方服務(wù)的面向開放系統(tǒng)的認證機制.每當用戶C申請得到某服務(wù)程序S的服務(wù)時,用戶和服務(wù)程序會首先向Kerberos要求認證對方的身份,認證建立在用戶和服務(wù)程序?qū)erberos信任基礎(chǔ)上。在申請認證時,C和S都是Kerberos認證服務(wù)的用戶,為了和其它服務(wù)的用戶區(qū)別,Kerberos用戶統(tǒng)稱為當事人(principle),principle可以是用戶或者某項服務(wù)。51第51頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證當用戶登錄到工作站時,Kerberos對用戶進行初始認證,此后用戶可以在整個登錄時間得到相應(yīng)的服務(wù)。Kerberos不依賴用戶的終端或請求服務(wù)的安全機制,認證工作由認證服務(wù)器完成。時間戳技術(shù)被應(yīng)用于防止重放攻擊。
Kerberos保存當事人及其密鑰的數(shù)據(jù)庫。共享密鑰只被當事人和Kerberos知道,當事人在登記時與Kerberos商定。使用共享密鑰,Kerberos可以創(chuàng)建消息使一個當事人相信另一個當事人的真實性。Kerberos還產(chǎn)生一種臨時密鑰,稱做對話密鑰,通信雙方用在具體的通信中。52第52頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證Kerberos提供三種安全等級。1)只在網(wǎng)絡(luò)開始連接時進行認證,認為連接建立起來后的通信是可靠的。認證式網(wǎng)絡(luò)文件系統(tǒng)(Authenticatednetworkfilesystem)使用此種安全等級。2)安全消息傳遞:對每次消息都進行認證工作,但是不保證每條消息不被泄露。3)私有消息傳遞:不僅對每條消息進行認證,而且對每條消息進行加密。Kerberos在發(fā)送密碼時就采用私有消息模式。53第53頁,共83頁,2023年,2月20日,星期日二、Kerberos原理
第七講
Kerberos認證1、Kerberos的組成MIT為雅典娜(Athena)計劃開發(fā)的認證系統(tǒng)。組成:Kerberos應(yīng)用程序庫:應(yīng)用程序接口,包括創(chuàng)建和讀取認證請求,以及創(chuàng)建safemessage和privatemessage的子程序。加密/解密庫:DES等。Kerberos數(shù)據(jù)庫:記載了每個Kerberos用戶的名字,私有密鑰,截止信息(記錄的有效時間,通常為幾年)等信息。數(shù)據(jù)庫管理程序:管理Kerberos數(shù)據(jù)庫54第54頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證KDBM服務(wù)器(數(shù)據(jù)庫管理服務(wù)器):接受客戶端的請求對數(shù)據(jù)庫進行操作。認證服務(wù)器(AS):存放一個Kerberos數(shù)據(jù)庫的只讀的副本,用來完成principle的認證,并生成會話密鑰.數(shù)據(jù)庫復(fù)制軟件:管理數(shù)據(jù)庫從KDBM服務(wù)所在的機器,到認證服務(wù)器所在的機器的復(fù)制工作,為了保持數(shù)據(jù)庫的一致性,每隔一段時間就需要進行復(fù)制工作.用戶程序:登錄Kerberos,改變Kerberos密碼,顯示和破壞Kerberos標簽(ticket)等工作。應(yīng)用程序:55第55頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證Kerberos的主要認證模型如下:出于實現(xiàn)和安全考慮,Kerberos認證服務(wù)被分配到兩個相對獨立的服務(wù)器。認證服務(wù)器AS:它同時應(yīng)該連接并維護一個中央數(shù)據(jù)庫存放用戶口令、標識等)票據(jù)許可服務(wù)器TGS(TicketGrantingServer)。整個系統(tǒng)將由四部分組成:AS,TGS,Client,Server。56第56頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證ServerServerServerServerKerberosDatabaseTicketGrantingServerAuthenticationServerWorkstationKerberosKeyDistributionService57第57頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證Kerberos有兩種證書:票據(jù)ticket和認證符authenticator。這兩種證書都要加密,但加密的密鑰不同。Ticket用來安全地在AS和S之間傳遞用戶的身份,同時保證使用ticket的用戶必須是ticket中指定的用戶。Ticket的組成:C/S的標識,client的地址,時間戳,生存時間,會話密鑰五部分組成。Ticket一旦生成,在life指定的時間內(nèi)可以被client多次使用來申請同一個server的服務(wù)。58第58頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證Authenticator:提供信息與ticket中的信息進行比較,一起保證發(fā)出ticket的用戶就是ticket中指定的用戶。認證符有下列部分組成:client的名字,client的地址,記錄當前時間的時間戳。authenticator只能在一次服務(wù)請求中使用,每當client向server申請服務(wù)時,必須重新生成Authenticator。59第59頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證通過三階段六步操作,用戶C和服務(wù)V互相驗證彼此的身份,并且擁有只有C和V兩者知道的會話密鑰Kc,v,以后的通信都可以通過會話密鑰得到保護。ASTGSDB用戶C服務(wù)器VKerberos60第60頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證2、Kerberos工作原理常用術(shù)語的簡寫:C:客戶機AS:認證服務(wù)器V:服務(wù)器IDc、IDv、IDtgs分別為C、V、TGS的身份ADc:用戶的網(wǎng)絡(luò)地址TSi:第i個時戳Lifetime:第I個有效期限Pc:C上的用戶口令61第61頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證Kc:C和AS的共享密鑰Kv:V和TGS的共享密鑰Ktgs:TGS和AS的共享密鑰Kc,tgs:C與TGS的共享密鑰Kc,v:C與V的共享密鑰62第62頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證用戶C請求服務(wù)S的整個Kerberos認證過程1)認證服務(wù)交換用戶C向AS發(fā)出請求,以獲取訪問TGS的令牌(票據(jù)許可證):Tickettgs得到初始化令牌的工作在用戶登錄工作站時進行,在用戶看來和登錄分時系統(tǒng)是完全相同的。登錄時用戶被要求輸入用戶名,輸入后系統(tǒng)向AS發(fā)送一條包含用戶和TGS服務(wù)兩者名字的請求,以及時戳TS1(表示是新請求)。63第63頁,共83頁,2023年,2月20日,星期日AS檢查用戶有效,則隨機產(chǎn)生用戶和TGS通信的會話密鑰Kc,tgs,并創(chuàng)建令牌Tickettgs,令牌包含用戶名,用戶地址,TGS服務(wù)名,當前時間(時戳TS2),有效時間,還有剛才創(chuàng)建的會話密鑰。然后將令牌用Ktgs加密。AS向C發(fā)送加密過的令牌Tickettgs和會話密鑰Kc,tgs,發(fā)送的消息用只有用戶和認證服務(wù)器A知道的Kc來加密,Kc值基于用戶密碼。64第64頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證用戶機器收到AS回應(yīng)后,要求用戶輸入密碼,將密碼轉(zhuǎn)化為DES密鑰Kc,然后將AS發(fā)回的信息解開,保存令牌Tickettgs和會話密鑰Kc,tgs,為了安全,用戶密碼Pc和密鑰Kc則被丟棄。當用戶的登錄時間超過了令牌的有效時間時,用戶的請求就會失敗,這時系統(tǒng)會要求用戶使用kinit程序重新申請令牌Tickettgs。用戶運行klist命令可以查看自己所擁有的令牌的當前狀態(tài)。65第65頁,共83頁,2023年,2月20日,星期日1.CAS:IDC||IDtgs||TS12.ASC:
EKc[Kc,tgs||IDtgs||TS2||Lifetime2||Tickettgs]
其中:Tickettgs=EKtgs[Kc,tgs||IDc||ADc||IDtgs||TS2||Lifetime2]說明:1.不輸入C的口令,就不能解開來自
AS的信息2.TS1時戳用來防止重放攻擊;3.Kc
由用戶口令導出;4.Kc,tgs
是
C和
TGS間的會話密鑰。66第66頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證2)C從TGS得到所請求服務(wù)的令牌Ticketv。一個令牌只能申請一個特定的服務(wù),所以用戶必須為每一個服務(wù)V申請新的令牌,用戶可以從TGS處得到服務(wù)令牌Ticketv。用戶程序首先向TGS發(fā)出申請令牌的請求。請求信息中包含V的名字,上一步中得到的請求TGS服務(wù)的加密令牌Tickettgs,還有加密過的認證符Authenticatorc
。認證符含有:用戶身份、網(wǎng)址、時戳。認證符與ticket不同,只用一次且有效期短。67第67頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證如果有效,TGS生成用于C和V之間通信的會話密鑰Kc,v,并生成用于C申請得到V服務(wù)的令牌Ticketv,其中包含C和V的名字,C的網(wǎng)絡(luò)地址,當前時間,有效時間和會話密鑰Kc,v。令牌Ticketv的有效時間是初始令牌Tickettgs剩余的有效時間和所申請的服務(wù)缺省有效時間中最短的時間。TGS用C和TGS之間的會話密鑰Kc,tgs加密Ticketv和會話密鑰Kc,v,然后發(fā)送給用戶C。C得到回答后,用Kc,tgs解密,得到所請求的令牌Ticketv和會話密鑰Kc,v。68第68頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證3.CTGS:IDv||Tickettgs||AuthenticatorcAuthenticatorc=EKc,tgs[IDc||ADc||TS3]說明:
TGS擁有
Ktgs,可以解密
Tickettgs
,然后使用從Tickettgs得到的Kc,tgs
來解密
Authenticatorc將認證符中的數(shù)據(jù)與票據(jù)中的數(shù)據(jù)比較,以驗證票據(jù)發(fā)送者就是票據(jù)持有者。4.TGSC:
EKc,tgs[Kc,v||IDv||TS4||Ticketv]Ticketv=EKv[Kc,v||IDc||ADc||IDv||TS4||Lifetime4]69第69頁,共83頁,2023年,2月20日,星期日(3)客戶機與服務(wù)器之間認證交換。當C也想驗證V的身份時,V將收到的時間戳加1,并用會話密鑰Kc,v加密后發(fā)送給用戶,用戶收到回答后,用Kc,v解密后對增加的時戳進行驗證,從而確定V的身份。此后,客戶與服務(wù)器之間通過共享的會話密鑰秘密通信。70第70頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證3、Kerberos數(shù)據(jù)庫管理認證工作由AS實現(xiàn),它從Kerberos數(shù)據(jù)庫中讀取用戶的信息來完成認證工作,對數(shù)據(jù)庫操作是只讀的。對數(shù)據(jù)庫的更新和管理操作由另外的服務(wù)來完成,稱做KDBM(KerberosDatabaseManagementService)。KDBM只能運行在主Kerberos服務(wù)器上,機器上維護可寫的Kerberos數(shù)據(jù)庫,而其他的認證服務(wù)程序則可運行在從Kerberos服務(wù)器上,機器上維護Kerberos的只讀備份,完成認證工作,數(shù)據(jù)庫復(fù)制軟件用來完成從主機到從機的復(fù)制工作。
71第71頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證2)kadmin和kpasswd命令Kadmin命令只能被Kerberos超級用戶使用,用來添加principle和更改principle的密碼。Kadmin運行時會要求輸入超級用戶密碼,當一個用戶為Kerberos超級用戶時,會在原來的用戶上創(chuàng)建一個admin實例(instance),admin實例的密碼可以與原來用戶的密碼不同,kadmin要求輸入admin實例的密碼。Kpasswd命令被principle用來修改Kerberos密碼,同樣要求輸入用戶原來的密碼完成認證工作。72第72頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證3)數(shù)據(jù)庫復(fù)制為了提高系統(tǒng)的效率和可靠性,Kerberos在master上存放數(shù)據(jù)庫,而在slave上存放數(shù)據(jù)庫的只讀副本。這樣當master出現(xiàn)異常情況時,系統(tǒng)還可以完成日常的認證工作,并且多臺認證服務(wù)器的使用減少了瓶頸的發(fā)生。但維持數(shù)據(jù)庫的多個副本帶來了如何保持各個副本間數(shù)據(jù)一致性的問題。有一個簡單有效的辦法可以解決這個問題,那就是每隔一個小時就進行一次從master到slave的轉(zhuǎn)儲工作。
73第73頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證為了保證數(shù)據(jù)庫不被竊聽和篡改,Kerberos使用以下措施:數(shù)據(jù)庫中principle的所有密碼在存儲時都用Kerberos數(shù)據(jù)庫專用密鑰進行加密,這樣在傳輸過程中即使被偷聽,偷聽者也無法得到想要的信息;在傳輸之前先傳輸校驗和,這樣當有多出的冒充信息或者接收信息被篡改時,可以通過比較校驗和及時發(fā)現(xiàn)。74第74頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證Kerberos的局限性:1.時間同步問題:因為整個Kerberos的協(xié)議都嚴重地依賴于時鐘,而實際證明,要求在分步式系統(tǒng)環(huán)境中實現(xiàn)良好的時鐘同步,是一個很難的課題。如果能夠?qū)崿F(xiàn)一種基于安全機制的時間服務(wù),或是研制一種相對獨立于計算機和網(wǎng)絡(luò)環(huán)境、且基于一種或幾種世界標準時鐘的,能夠準確進行時間轉(zhuǎn)化和時間服務(wù)的聯(lián)機物理時鐘,這種問題將得到較好的解決;75第75頁,共83頁,2023年,2月20日,星期日第七講
Kerberos認證2.口令猜測問題:Kerberos的口令沒有進行額外的特殊處理,以至于即使用強力攻擊(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東事業(yè)單位統(tǒng)考濟南天橋區(qū)招聘初級綜合類崗位65人備考題庫完整答案詳解
- 跨境電商獨立站2025年支付數(shù)據(jù)協(xié)議
- 初級考試原題及答案
- 2025-2026人教版小學三年級語文上學期測試卷
- 臨床液體管理試題及答案
- 2025-2026人教版初中一年級語文上學期測試卷
- 肝臟糖異生亢進在兒童糖尿病中的意義
- 衛(wèi)生院著裝管理制度
- 衛(wèi)生院護士上墻制度
- 水廠區(qū)衛(wèi)生管理制度
- 高考沖刺歷史預(yù)測必考熱點十三 世界殖民體系的演進與亞非拉民族國家的崛起
- 2026衢州市柯城區(qū)機關(guān)事業(yè)單位編外招聘78人筆試參考題庫及答案解析
- 2026年上海市初三語文一模試題匯編之古詩文閱讀(學生版)
- 2025年聊城事業(yè)編考試作文真題及答案
- AI支持的幼兒園語言發(fā)展游戲化教學策略研究課題報告教學研究課題報告
- 產(chǎn)品認證常見問題及實操指南
- 2025至2030實驗室能力驗證行業(yè)調(diào)研及市場前景預(yù)測評估報告
- 藕種購銷合同范本
- 交警環(huán)衛(wèi)安全知識講座
- 中國通史課件
- SJ-T 11795-2022 鋰離子電池電極材料中磁性異物含量測試方法
評論
0/150
提交評論