第三章電子商務(wù)之認(rèn)證技術(shù)_第1頁
第三章電子商務(wù)之認(rèn)證技術(shù)_第2頁
第三章電子商務(wù)之認(rèn)證技術(shù)_第3頁
第三章電子商務(wù)之認(rèn)證技術(shù)_第4頁
第三章電子商務(wù)之認(rèn)證技術(shù)_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章 認(rèn)證(rnzhng)技術(shù)共八十三頁目錄(ml)3.1 消息認(rèn)證3.2 身份認(rèn)證3.3 口令(kulng)機(jī)制3.4 零知識(shí)證明3.5 其他身份認(rèn)證機(jī)制3.6 單點(diǎn)登錄技術(shù)共八十三頁密碼學(xué)的基本概念 認(rèn)證(Authentication)又稱鑒別(jinbi)是驗(yàn)證通信對(duì)象是原定者而不是冒名頂替者(身份認(rèn)證),或者確認(rèn)收到的消息是希望的而不是偽造的或被篡改過的(消息認(rèn)證)。認(rèn)證技術(shù)的實(shí)現(xiàn)通常要借助于加密和數(shù)字簽名等密碼學(xué)的技術(shù)。實(shí)際上,數(shù)字簽名本身也是一種認(rèn)證技術(shù),它可用來鑒別消息的來源。 共八十三頁3.1 消息(xio xi)認(rèn)證消息認(rèn)證是一個(gè)過程,用來驗(yàn)證接收消息的真實(shí)性(的確是由它所

2、聲稱的實(shí)體發(fā)來的)和完整性(未被篡改、插入、刪除),同時(shí)還可用來驗(yàn)證消息的順序性和時(shí)間性(未重排、重放、延遲)。 利用對(duì)稱加密(ji m)體制實(shí)現(xiàn)消息認(rèn)證利用公鑰加密體制實(shí)現(xiàn)消息認(rèn)證利用散列函數(shù)實(shí)現(xiàn)消息認(rèn)證 利用MAC實(shí)現(xiàn)消息認(rèn)證共八十三頁利用(lyng)對(duì)稱加密體制實(shí)現(xiàn)消息認(rèn)證MEKEK(M)DMKBobAlice發(fā)送(f sn)方A和接收方B事先共享一個(gè)密鑰提供保密、提供認(rèn)證不能提供簽名共八十三頁利用對(duì)稱加密體制(tzh)實(shí)現(xiàn)消息認(rèn)證(1)它能提供鑒別:可確認(rèn)消息只能發(fā)自A,傳輸途中未被更改;(2)提供保密性:因?yàn)橹挥蠥和B知道密鑰k;(3)不能提供數(shù)字簽名:接收方可以偽造消息,發(fā)送(f

3、sn)方可以抵賴消息的發(fā)送(f sn) 共八十三頁利用公鑰加密(ji m)體制實(shí)現(xiàn)消息認(rèn)證 公鑰加密(ji m):保密性MEKaEKa(M)DMKaBobAlice提供保密不能提供認(rèn)證共八十三頁利用公鑰加密體制實(shí)現(xiàn)(shxin)消息認(rèn)證 私鑰加密(ji m):認(rèn)證與簽名MDKbEKb(M)EMKbBobAlice提供認(rèn)證提供簽名共八十三頁利用公鑰加密體制實(shí)現(xiàn)(shxin)消息認(rèn)證私鑰簽名(qin mng)再公鑰加密:保密、認(rèn)證與簽名(qin mng)MDKaEKa(Dkb(M)DKaEKbDkb(M)Dkb(M)EKbMBobAlice提供保密、提供認(rèn)證提供簽名共八十三頁利用(lyng)公鑰加

4、密體制實(shí)現(xiàn)消息認(rèn)證先公鑰加密(ji m)再私鑰簽名:保密、認(rèn)證與簽名MEKbEKb(Eka(M)EKbDKaEa(M)Eka(M)DKaMBobAlice提供保密、提供認(rèn)證、提供簽名較少使用,先對(duì)消息加密再簽名不合常理共八十三頁利用散列函數(shù)實(shí)現(xiàn)消息(xio xi)認(rèn)證 回顧散列函數(shù)的特性哈希函數(shù)、摘要函數(shù)輸入:任意長度的消息報(bào)文 M輸出(shch):一個(gè)固定長度的散列碼值 H(M)是報(bào)文中所有比特的函數(shù)值單向函數(shù)共八十三頁Hash函數(shù)(hnsh)的分類根據(jù)是否使用密鑰帶秘密密鑰的Hash函數(shù):消息(xio xi)的散列值由只有通信雙方知道的秘密密鑰K來控制。此時(shí),散列值稱作MAC。不帶秘密密鑰

5、的Hash函數(shù):消息的散列值的產(chǎn)生無需使用密鑰。此時(shí),散列值稱作MDC。Hash函數(shù)需滿足以下條件:輸入x可以為任意長度,輸出為固定長度正向計(jì)算容易,反向計(jì)算困難抗沖突性(無沖突性)共八十三頁利用散列函數(shù)實(shí)現(xiàn)(shxin)消息認(rèn)證散列函數(shù)(hnsh)的基本用法(a)M|H(M)HKHM比較EKMDMBobAliceEK(M|H(M)提供保密、提供認(rèn)證共八十三頁利用(lyng)散列函數(shù)實(shí)現(xiàn)消息認(rèn)證散列函數(shù)(hnsh)的基本用法(b)M|KEK(H(M)HHM比較EDBobAliceK提供認(rèn)證共八十三頁利用散列函數(shù)實(shí)現(xiàn)消息(xio xi)認(rèn)證散列函數(shù)的基本(jbn)用法(c)M|KbDKb(H(M

6、)HHM比較DEBobAliceKb提供認(rèn)證共八十三頁利用散列函數(shù)(hnsh)實(shí)現(xiàn)消息認(rèn)證散列函數(shù)的基本(jbn)用法(d)M|KDKb(H(M)HHM比較EDBobAliceKMMDKbEKbEk(M|DKb(H(M)提供保密提供認(rèn)證共八十三頁利用散列函數(shù)(hnsh)實(shí)現(xiàn)消息認(rèn)證散列函數(shù)(hnsh)的基本用法(e)M|H(M|S)|HM比較BobAliceSS|H提供認(rèn)證共八十三頁利用散列函數(shù)實(shí)現(xiàn)消息(xio xi)認(rèn)證散列函數(shù)的基本(jbn)用法(f)M|H(M|S)|KHM比較EKMDMBobAliceEK(M|H(M|S)SS|H提供保密提供認(rèn)證共八十三頁利用(lyng)MAC實(shí)現(xiàn)消息

7、認(rèn)證消息認(rèn)證碼:使用一個(gè)密鑰生成一個(gè)固定大小的短數(shù)據(jù)塊,并將該數(shù)據(jù)塊加載到消息后面,稱MAC(或密碼校驗(yàn)和)MACCk(M)MAC函數(shù)類似于加密(ji m)函數(shù),但不需要可逆性。因此在數(shù)學(xué)上比加密算法被攻擊的弱點(diǎn)要少共八十三頁利用MAC實(shí)現(xiàn)消息(xio xi)認(rèn)證MAC的基本用法(yn f):消息認(rèn)證AliceBobM|KCK(M)CKCM比較提供認(rèn)證不能提供保密、簽名共八十三頁利用MAC實(shí)現(xiàn)消息(xio xi)認(rèn)證MAC的基本用法:與明文(mngwn)有關(guān)的認(rèn)證M|K1CK(M)CK2CM比較EK2MDK1MAliceBob提供保密、提供認(rèn)證共八十三頁利用MAC實(shí)現(xiàn)(shxin)消息認(rèn)證MA

8、C的基本用法:與密文有關(guān)(yugun)的認(rèn)證M|K1CK1(Ek2(M)CCM比較EK2K1MMDK2BobAliceEk2(M)提供保密、提供認(rèn)證共八十三頁目錄(ml)3.1 消息認(rèn)證3.2 身份認(rèn)證3.3 口令機(jī)制3.4 零知識(shí)證明3.5 其他(qt)身份認(rèn)證機(jī)制3.6 單點(diǎn)登錄技術(shù)共八十三頁身份(shn fen)認(rèn)證身份認(rèn)證的定義:聲稱者向驗(yàn)證者出示自己的身份的證明過程(guchng)證實(shí)客戶的真實(shí)身份與其所聲稱的身份是否相符的過程身份認(rèn)證又叫身份鑒別、實(shí)體認(rèn)證、身份識(shí)別認(rèn)證目的: 使別的成員(驗(yàn)證者)獲得對(duì)聲稱者所聲稱的事實(shí)的信任。身份認(rèn)證是獲得系統(tǒng)服務(wù)所必須的第一道關(guān)卡。共八十三頁身

9、份(shn fen)認(rèn)證的依據(jù) 用戶所知道(zh do)的某種信息(Something the user knows),如口令或某個(gè)秘密。用戶擁有的某種物品(Something the user possesses),如身份證、銀行卡、密鑰盤、IP地址等。用戶具有的某種特征(Something the user is or how he/she behaves),如指紋、虹膜、DNA、臉型等。同時(shí)使用兩種依據(jù)的認(rèn)證叫做雙因素(Two-factor)認(rèn)證方式共八十三頁身份認(rèn)證系統(tǒng)(xtng)的組成 一方是出示證件的人,稱為示證者P(Prover),又稱聲稱者(Claimant)。另一方驗(yàn)證者V(

10、Verifier),檢驗(yàn)聲稱者提出的身份(shn fen)的正確性和合法性,決定是否滿足其要求。第三方是可信賴者TP(Trusted third party), 可信賴者TP聲稱者P驗(yàn)證者V鑒別信息共八十三頁身份(shn fen)認(rèn)證的分類 身份認(rèn)證(rnzhng)可分為單向認(rèn)證和雙向認(rèn)證。單向身份認(rèn)證是指通信雙方中只有一方向另一方進(jìn)行認(rèn)證雙向身份認(rèn)證是指通信雙方相互進(jìn)行認(rèn)證 身份認(rèn)證還可分為非密碼的認(rèn)證機(jī)制和基于密碼算法的認(rèn)證機(jī)制。共八十三頁目錄(ml)3.1 消息認(rèn)證3.2 身份(shn fen)認(rèn)證3.3 口令機(jī)制3.4 零知識(shí)證明3.5 其他身份認(rèn)證機(jī)制3.6 單點(diǎn)登錄技術(shù)共八十三頁口

11、令(kulng)機(jī)制 口令是目前使用最廣泛的的身份認(rèn)證機(jī)制。從形式上看,口令是字母、數(shù)字或特殊字符構(gòu)成的字符串,只有被認(rèn)證者知道。提示:銀行卡密碼、郵箱(yuxing)登錄密碼、保險(xiǎn)柜密碼等,準(zhǔn)確地說應(yīng)該叫口令,因?yàn)槊艽a(密鑰)是用來加密信息的,而口令是用來作為某種鑒別的秘密 共八十三頁口令的基本(jbn)工作過程 第一步:系統(tǒng)(xtng)提示用戶輸入用戶名和口令 第二步:用戶輸入用戶名和口令,使用戶名和口令以明文形式傳遞到服務(wù)器上, 客戶機(jī)確 定取 消登錄屏幕用戶名: 密 碼: 客戶機(jī)登錄請(qǐng)求服務(wù)器ID=adminPassword=tang4共八十三頁口令(kulng)的基本工作過程第三步:

12、服務(wù)器驗(yàn)證用戶名和口令(kulng)第四步:服務(wù)器通知用戶 ID Passwordtade df324rest hr45admin tang4 服務(wù)器用戶鑒別程序ID=adminPassword=tang4用戶數(shù)據(jù)庫客戶機(jī)登錄成功服務(wù)器歡迎admin,您可以1. 查看賬戶2. 轉(zhuǎn)賬匯款共八十三頁口令機(jī)制的身份認(rèn)證(rnzhng)模型該口令認(rèn)證模型(mxng)包括聲稱者和驗(yàn)證者,上圖中的客戶機(jī)是聲稱者,而保存有用戶數(shù)據(jù)庫的服務(wù)器是驗(yàn)證者 ID口令I(lǐng)D口令比較聲稱者驗(yàn)證者共八十三頁口令機(jī)制(jzh)面臨的威脅ID口令I(lǐng)D口令比較聲稱者驗(yàn)證者危及(wij)驗(yàn)證者的攻擊線路竊聽重放攻擊共八十三頁對(duì)付線

13、路(xinl)竊聽的措施必須在客戶端對(duì)口令進(jìn)行加密,可以使用單向(dn xin)散列函數(shù)在客戶端對(duì)口令進(jìn)行加密,而服務(wù)器端也只保存口令的散列值 IDpIDp比較聲稱者驗(yàn)證者f口令pID共八十三頁數(shù)據(jù)庫中存放(cnfng)的是加密的口令口令經(jīng)MD5算法(sun f)加密后的密文共八十三頁對(duì)付(du fu)字典攻擊存在的缺陷是:由于散列函數(shù)的算法是公開的,攻擊者可以設(shè)計(jì)一張p和p的對(duì)應(yīng)表(稱為口令字典),其中p是攻擊者猜測的所有可能的口令,然后計(jì)算每個(gè)p的散列值p。接下來,攻擊者通過截獲鑒別信息p,在口令字典中查找p對(duì)應(yīng)的口令p,就能以很高的概率獲得聲稱者的口令,這種方式稱為字典攻擊。對(duì)付這種攻擊

14、的方法可以將單向散列函數(shù)對(duì)ID和口令p的連接串求散列值,即p=f(p, id) 。這樣(zhyng)攻擊者截獲鑒別信息p后,必須針對(duì)每個(gè)ID單獨(dú)設(shè)計(jì)一張(p,id)和p的對(duì)應(yīng)表,大大增加了攻擊的難度 共八十三頁對(duì)付線路(xinl)竊聽和字典攻擊IDpIDp比較聲稱者驗(yàn)證者f口令pID共八十三頁對(duì)付危及(wij)驗(yàn)證者的攻擊對(duì)口令系統(tǒng)的另一個(gè)潛在威脅是,通過內(nèi)部攻擊危及驗(yàn)證者的口令文件或數(shù)據(jù)庫,如不懷好意的系統(tǒng)管理員可能會(huì)竊取用戶數(shù)據(jù)庫中的口令從事非法用途。這種攻擊會(huì)危及到系統(tǒng)中所有用戶的口令。 對(duì)付危及驗(yàn)證者的攻擊的措施:首先應(yīng)保證用戶口令不能以明文(mngwn)形式存放在驗(yàn)證端數(shù)據(jù)庫中。前面

15、介紹的對(duì)付線路竊聽的措施為對(duì)抗這種攻擊提供了好處 將單向散列函數(shù)應(yīng)用于驗(yàn)證系統(tǒng),而不是聲稱系統(tǒng) 共八十三頁對(duì)付(du fu)危及驗(yàn)證者的措施 IDpIDp比較聲稱者驗(yàn)證者口令pIDf共八十三頁 同樣,由于未保護(hù)的口令(kulng)在網(wǎng)絡(luò)上傳輸,上述方案容易受到線路竊聽的攻擊。所以,我們應(yīng)該綜合前兩個(gè)方案的優(yōu)點(diǎn)。對(duì)付竊聽(qi tn)和危及驗(yàn)證者的措施 IDpIDq比較聲稱者驗(yàn)證者口令pIDhf共八十三頁 把口令加密傳輸可以讓攻擊者無法知道真實(shí)的口令,可是,這對(duì)聰明的攻擊者并不造成麻煩。他只需把監(jiān)聽的消息錄制下來,再用其它的軟件把口令的散列值原封不動(dòng)(yun fng b dng)的重放給驗(yàn)證者進(jìn)

16、行認(rèn)證,而驗(yàn)證者看到正確的口令散列值就認(rèn)為是登錄成功的用戶,這樣攻擊者就可以冒名頂替受害者,從認(rèn)證者處獲取服務(wù)了,我們稱這種形式的攻擊為重放攻擊。重放攻擊(gngj)共八十三頁聲稱(shngchng)者驗(yàn)證(ynzhng)者 f密碼pnr ID nID f ID p比較對(duì)付重放攻擊的一種方法摻入一個(gè)隨機(jī)數(shù)n,使線路上傳輸?shù)恼J(rèn)證信息每次都不相同共八十三頁 上述方案中的n是一個(gè)非重復(fù)值,認(rèn)證方負(fù)責(zé)檢查n是否以前曾被用過。若用過,則請(qǐng)求被拒絕。非重復(fù)值可用的實(shí)現(xiàn)方法有時(shí)戳,隨機(jī)數(shù)等。 若用時(shí)戳方法的話,則兩邊要維護(hù)時(shí)鐘的同步(tngb)。很明顯,時(shí)戳的精度越高,抵抗攻擊的強(qiáng)度也越好。 若用隨機(jī)數(shù)的話

17、,認(rèn)證方必須保存以往用過的所有隨機(jī)數(shù),避免重復(fù),隨著服務(wù)次數(shù)的增加,這張表會(huì)越來越大。對(duì)付重放攻擊的方法(fngf)比較共八十三頁聲稱(shngchng)者驗(yàn)證(ynzhng)者 ID p fnn f密碼p r IDID比較對(duì)付重放攻擊的另一種方法該案稱為挑戰(zhàn)-應(yīng)答機(jī)制,較好的抵抗了重放攻擊。但付出的代價(jià)是增加了一次通信共八十三頁對(duì)付(du fu)重放攻擊-要求輸入驗(yàn)證碼共八十三頁對(duì)付(du fu)重放攻擊的三種方法 加隨機(jī)數(shù)。雙方記住使用過的隨機(jī)數(shù),如發(fā)現(xiàn)報(bào)文中有以前使用過的隨機(jī)數(shù),就認(rèn)為是重放攻擊。缺點(diǎn)是需要額外( wi)保存使用過的隨機(jī)數(shù), 加時(shí)間戳。該方法優(yōu)點(diǎn)是不用額外保存其他信息;缺

18、點(diǎn)是認(rèn)證雙方需要準(zhǔn)確的時(shí)間同步,同步越好,受攻擊的可能性就越小。 加流水號(hào)。就是雙方在報(bào)文中添加一個(gè)逐步遞增的整數(shù),只要接收到一個(gè)不連續(xù)的流水號(hào)報(bào)文(太大或太?。?,就認(rèn)定有重放威脅 在實(shí)際中,常將方法和組合使用 共八十三頁基于挑戰(zhàn)-應(yīng)答(yngd)的口令機(jī)制 用戶服務(wù)器認(rèn)證請(qǐng)求(用戶名、IP)挑戰(zhàn)(隨機(jī)數(shù)R)應(yīng)答(EH(P)(R))認(rèn)證結(jié)果共八十三頁通過共享秘密進(jìn)行身份認(rèn)證方式(fngsh)的總結(jié) 出示口令方式。申請(qǐng)者直接將口令提交給驗(yàn)證者,驗(yàn)證者檢查口令。該方式的缺點(diǎn)是口令存在被線路竊聽(qi tn)、被重放且不能雙向認(rèn)證(申請(qǐng)者無法判斷驗(yàn)證者是否確實(shí)知道口令)的缺點(diǎn)。不具有認(rèn)證的不可傳遞性

19、ID口令I(lǐng)D口令比較聲稱者驗(yàn)證者共八十三頁通過共享秘密(mm)進(jìn)行身份認(rèn)證方式的總結(jié) 不出示口令方式。申請(qǐng)者用口令加密一個(gè)消息,將加密的消息發(fā)給驗(yàn)證者,驗(yàn)證者用口令解密,如果得到消息明文則驗(yàn)證通過。該方式解決了口令被竊聽和不能雙向認(rèn)證的缺陷(quxin),但仍存在被重放的缺點(diǎn)。 挑戰(zhàn)應(yīng)答方式。驗(yàn)證者發(fā)一個(gè)隨機(jī)數(shù)給申請(qǐng)者,申請(qǐng)者用口令加密該隨機(jī)數(shù)給驗(yàn)證者。該方式解決了以上所有三個(gè)問題,但增加了一次通信 共八十三頁口令的維護(hù)(wih)和管理措施 1. 對(duì)付口令外部泄露(xilu)的措施 (1)對(duì)用戶或者系統(tǒng)管理員進(jìn)行教育、培訓(xùn),增強(qiáng)他們的安全意識(shí);(2)建立嚴(yán)格的組織管理和執(zhí)行手續(xù);(3)確保每個(gè)

20、口令只與一個(gè)人有關(guān);(4)確保輸入的口令不顯示在屏幕上;(5)使用易記的口令,不要寫在紙上;(6)定期改變口令,不要讓所有系統(tǒng)都使用相同的口令 共八十三頁口令的維護(hù)和管理(gunl)措施對(duì)付口令猜測(cic)的措施 (1)嚴(yán)格限制非法登錄的次數(shù);(2)口令驗(yàn)證中插入實(shí)時(shí)延時(shí)(3)規(guī)定口令的最小長度,如至少68位;(4)防止使用與用戶特征相關(guān)的口令(5)確??诹疃ㄆ诟淖儯唬?)更改或取消系統(tǒng)安裝時(shí)的默認(rèn)口令(7)使用隨機(jī)數(shù)產(chǎn)生器產(chǎn)生的口令會(huì)比用戶自己選擇的口令更難猜測 共八十三頁目錄(ml)3.1 消息認(rèn)證3.2 身份認(rèn)證3.3 口令機(jī)制3.4 零知識(shí)(zh shi)證明3.5 其他身份認(rèn)證機(jī)制

21、3.6 單點(diǎn)登錄技術(shù)共八十三頁零知識(shí)(zh shi)證明零知識(shí)證明(Zero knowledge proof)技術(shù)(jsh)可使信息的擁有者無須泄露任何信息就能向驗(yàn)證者或者任何第三方證明它擁有該信息。即當(dāng)示證者P掌握某些秘密信息,P以某種有效的數(shù)學(xué)方法,使驗(yàn)證者V確信P知道該秘密,但P又不需要泄露該秘密給V 共八十三頁零知識(shí)(zh shi)證明DCBA共八十三頁零知識(shí)證明(zhngmng)的實(shí)現(xiàn)此洞穴問題可轉(zhuǎn)換成數(shù)學(xué)(shxu)問題,設(shè)p和q是兩個(gè)大素?cái)?shù),n=pq。假設(shè)用戶A知道n的因子,如果用戶A想向用戶B證明他知道n的因子,但卻不想向B泄露n的因子,則用戶A和用戶B可以執(zhí)行下面的零知識(shí)證明

22、協(xié)議。1)用戶B隨機(jī)選取一個(gè)大整數(shù)x,計(jì)算yx4 mod n。用戶B將計(jì)算結(jié)果y告訴用戶A。2)用戶A計(jì)算zy1/2 mod n,并將結(jié)果z告訴用戶B。3)用戶B驗(yàn)證zx2 mod n是否成立。4)上述協(xié)議重復(fù)多次,若用戶A每次都能正確地計(jì)算y1/2 mod n,則用戶B就可以相信用戶A知道n的因子p和q。 共八十三頁目錄(ml)3.1 消息認(rèn)證(rnzhng)3.2 身份認(rèn)證3.3 口令機(jī)制3.4 零知識(shí)證明3.5 其他身份認(rèn)證機(jī)制3.6 單點(diǎn)登錄技術(shù)共八十三頁其他身份認(rèn)證(rnzhng)的機(jī)制 一次性口令OTP(One Time Password)是變動(dòng)的口令,其變動(dòng)來源于產(chǎn)出口令的運(yùn)算因

23、子是變化的 如Lamport提出(t ch)的基于散列鏈的一次性口令基于地址的機(jī)制 基于設(shè)備的機(jī)制 基于個(gè)人特征的機(jī)制 共八十三頁目錄(ml)3.1 消息認(rèn)證(rnzhng)3.2 身份認(rèn)證3.3 口令機(jī)制3.4 零知識(shí)證明3.5 其他身份認(rèn)證機(jī)制3.6 單點(diǎn)登錄技術(shù)共八十三頁單點(diǎn)登錄(dn l)單點(diǎn)登錄(Single Sign On),簡稱SSO,是指用戶(yngh)只需向網(wǎng)絡(luò)進(jìn)行一次身份認(rèn)證,以后再無需另外驗(yàn)證身份,便可訪問所有被授權(quán)的網(wǎng)絡(luò)資源 單點(diǎn)登錄的好處 (1)方便用戶的使用 (2)更合理有效的管理用戶 (3)提高了系統(tǒng)的整體安全性 共八十三頁單點(diǎn)登錄系統(tǒng)(xtng)的分類 經(jīng)紀(jì)人模

24、型(mxng)(Broker-Based SSO) 代理模型(Agent-Based SSO) 網(wǎng)關(guān)模型(Gateway-Based SSO) 共八十三頁單點(diǎn)登錄系統(tǒng)(xtng)的一般實(shí)現(xiàn)技術(shù) 單點(diǎn)登錄的技術(shù)實(shí)現(xiàn)機(jī)制(jzh):當(dāng)用戶第一次訪問應(yīng)用系統(tǒng)1的時(shí)候,因?yàn)檫€沒有登錄,會(huì)被引導(dǎo)到認(rèn)證系統(tǒng)中進(jìn)行登錄;根據(jù)用戶提供的登錄信息,認(rèn)證系統(tǒng)進(jìn)行身份效驗(yàn),如果通過效驗(yàn),應(yīng)該返回給用戶一個(gè)認(rèn)證的憑證Ticket;用戶再訪問別的應(yīng)用的時(shí)候,就會(huì)將這個(gè)Ticket帶上,作為自己認(rèn)證的憑據(jù) 所有應(yīng)用系統(tǒng)共享一個(gè)身份認(rèn)證系統(tǒng);所有應(yīng)用系統(tǒng)能夠識(shí)別和提取Ticket信息;應(yīng)用系統(tǒng)能夠識(shí)別已經(jīng)登錄過的用戶,能自

25、動(dòng)判斷當(dāng)前用戶是否登錄過,從而完成單點(diǎn)登錄的功能。 共八十三頁單點(diǎn)登錄(dn l)的實(shí)例微軟的Passport技術(shù)MIT的Kerberos認(rèn)證(rnzhng)協(xié)議OASIS的SAML標(biāo)準(zhǔn)共八十三頁Kerberos認(rèn)證(rnzhng)協(xié)議 Kerberos協(xié)議的主要特點(diǎn)1)采用對(duì)稱密碼體制,而未采用公鑰密碼體制,Kerberos與網(wǎng)絡(luò)上的每個(gè)實(shí)體(用戶和應(yīng)用服務(wù)器)共享一個(gè)不同的密鑰,是否知道該密鑰便是身份的證明;2)為客戶機(jī)/服務(wù)器應(yīng)用程序提供(tgng)身份認(rèn)證服務(wù),而不能被瀏覽器/服務(wù)器程序采用;3)具有可伸縮性,能夠支持大數(shù)量的用戶和服務(wù)器進(jìn)行雙向認(rèn)證。 共八十三頁Kerberos數(shù)據(jù)庫

26、Kerberos用戶(C)認(rèn)證服務(wù)器(AS)票據(jù)許可服務(wù)器(TGS)應(yīng)用服務(wù)器(V)Kerberos認(rèn)證(rnzhng)模型共八十三頁Kerberos共享密鑰和認(rèn)證(rnzhng)初步方案 共享用戶口令KC共享對(duì)稱密鑰KV用戶(C)應(yīng)用服務(wù)器(V)認(rèn)證服務(wù)器(AS)IDC, IDVEKc(Ticket)用戶(C)應(yīng)用服務(wù)器(V)認(rèn)證服務(wù)器(AS)IDC, Ticket。 圖3.24 Kerberos共享密鑰初步(chb)方案圖3.25 Kerberos認(rèn)證初步(chb)方案共八十三頁引入TGS這樣就完全解決了應(yīng)用服務(wù)器V認(rèn)證用戶的問題,但不能實(shí)現(xiàn)單點(diǎn)登錄。 引入票據(jù)許可服務(wù)器TGS(Ticke

27、t-Granting Server),讓認(rèn)證服務(wù)器AS 并不直接(zhji)向用戶發(fā)放訪問應(yīng)用服務(wù)器的票據(jù)(服務(wù)許可票據(jù)),而是由 TGS向用戶發(fā)放。用戶在AS處認(rèn)證成功后,AS發(fā)放一張票據(jù)許可票據(jù)Tickettgs給用戶,票據(jù)許可票據(jù)相當(dāng)于購票許可證。 共八十三頁引入TGS后Kerberos共享密鑰方案(fng n) 共享用戶口令KC共享對(duì)稱密鑰KV用戶(C)應(yīng)用服務(wù)器(V)票據(jù)許可服務(wù)器(TGS)認(rèn)證服務(wù)器(AS)共享對(duì)稱密鑰Ktgs共八十三頁引入TGS后Kerberos的認(rèn)證(rnzhng)方案IDC,IDtgs用戶(C)應(yīng)用服務(wù)器(V)票據(jù)許可服務(wù)器(TGS)認(rèn)證服務(wù)器(AS)Tick

28、ettgsEKc(Tickettgs)TicketvIDC |Ticketv共八十三頁引入會(huì)話(huhu)密鑰但圖中TGS與用戶之間沒有共享任何密鑰,因此(ync)TGS無法對(duì)發(fā)送給用戶的TicketV加密,這導(dǎo)致攻擊者可以截獲票據(jù),然后將票據(jù)重放給V以冒充用戶騙取服務(wù)。為此,Kerberos引入了會(huì)話密鑰,由AS為用戶與TGS之間生成一會(huì)話密鑰Kc,tgs,將這個(gè)密鑰與Tickettgs一起用Kc加密后分發(fā)給用戶,同時(shí)將這個(gè)密鑰放在Tickettgs里分發(fā)給TGS,(Tickettgs就是包含Kc,tgs的Tickettgs,Tickettgs= EKtgsKc,tgs, IDC, ADC,

29、 IDtgs)。這里,AS起到了為用戶和TGS分發(fā)對(duì)稱密鑰的作用。 共八十三頁引入會(huì)話密鑰后Kerberos認(rèn)證(rnzhng)方案IDC, IDtgs用戶(C)應(yīng)用服務(wù)器(V)票據(jù)許可服務(wù)器(TGS)認(rèn)證服務(wù)器(AS)EKc(Kc,tgs,Tickettgs)EKc,tgs(Ticketv)Ticketv共八十三頁Kerberos認(rèn)證(rnzhng)模型的最終方案 IDC, IDtgs用戶(C)應(yīng)用服務(wù)器(V)票據(jù)許可服務(wù)器(TGS)認(rèn)證服務(wù)器(AS)EKc(Kc,tgs,Tickettgs)EKc,tgs(KC,V,Ticketv)Ticketv(含Kc,v) | EKc,vIDC|ADC

30、|TS5EKc,v(TS5+1)共八十三頁Kerberos認(rèn)證(rnzhng)過程總結(jié)在認(rèn)證過程中,總共使用了5個(gè)對(duì)稱密鑰,分別是Kc、Ktgs、Kv、Kc,tgs、Kc,v,其中2個(gè)會(huì)話密鑰每次都是由AS或TGS臨時(shí)生成的,這樣每次使用的密鑰都不同,防止了對(duì)票據(jù)的重放。實(shí)際上,Kerberos為防止票據(jù)重放,還在傳輸?shù)南⒅泻推睋?jù)中每次都加入了時(shí)間戳。用戶登錄后的整個(gè)過程僅使用一張票據(jù)許可票據(jù),而每請(qǐng)求(qngqi)一次服務(wù)需使用一張服務(wù)許可票據(jù) 共八十三頁 SAML標(biāo)準(zhǔn)(biozhn) SAML即安全斷言標(biāo)記語言,英文全稱是Security Assertion Markup Languag

31、e。它是一種基于XML語言的,用于在不同的安全域(Security domain)之間傳輸認(rèn)證(rnzhng)和授權(quán)信息的框架。SAML的出現(xiàn)大大簡化了SSO,并被OASIS(Organization for the Advancement of Structured Information Standards,結(jié)構(gòu)化信息標(biāo)準(zhǔn)推進(jìn)組織)批準(zhǔn)為SSO的執(zhí)行標(biāo)準(zhǔn) 共八十三頁提示(tsh)SAML所能做的只是在服務(wù)器之間傳遞諸如“某個(gè)用戶已經(jīng)登錄了”這樣的信息(斷言),因此SAML并不是一個(gè)完整(wnzhng)的身份認(rèn)證方案(這有別于Kerberos),SAML也不是一個(gè)認(rèn)證權(quán)威機(jī)構(gòu),它根本不能對(duì)用

32、戶進(jìn)行認(rèn)證,只是能傳輸認(rèn)證信息。 為了在這些不同類的網(wǎng)站之間交換認(rèn)證信息,就必須使認(rèn)證信息有一套標(biāo)準(zhǔn)的格式,這樣不同的網(wǎng)站才都能識(shí)別,而且這些認(rèn)證信息的傳輸和交換必須要考慮安全性 共八十三頁SAML中的基本概念 SAML認(rèn)為認(rèn)證信息是關(guān)于主體(Subject)的一組斷言(Assertions)。其中的主體是在某一認(rèn)證域中有唯一標(biāo)識(shí)的實(shí)體,如用戶 SAML框架的核心是斷言,斷言是由SAML權(quán)威發(fā)出的一組數(shù)據(jù),該數(shù)據(jù)可以看作SAML權(quán)威對(duì)某個(gè)主體進(jìn)行認(rèn)證的動(dòng)作(dngzu),或者是關(guān)于某個(gè)主體的屬性信息,還可以是主體為了訪問某個(gè)服務(wù)而向權(quán)威發(fā)出申請(qǐng)后得到的授權(quán)決定。 共八十三頁SAML規(guī)范中的三種

33、(sn zhn)斷言 屬性斷言(Attribute Assertions):負(fù)責(zé)裝載主體屬性信息的斷言,如主體的ID、地址等信息。 認(rèn)證斷言(Authentication Assertions):負(fù)責(zé)裝載主體被成功認(rèn)證信息的斷言,如用戶A已通過認(rèn)證。 授權(quán)決定斷言(Authorization Decision Assertions):用來裝載授權(quán)決定信息的斷言,如授權(quán)用戶A訪問除郵件服務(wù)以外(ywi)的所有資源 共八十三頁SAML的各部分(b fen)及其關(guān)系配置(SAML協(xié)議、綁定和斷言如何支持一個(gè)特定的應(yīng)用)綁定(定義SAML請(qǐng)求如何映射到具體的消息交換之類的傳輸協(xié)議協(xié)議(處理斷言的請(qǐng)求/

34、應(yīng)答方式)斷言(認(rèn)證、屬性和授權(quán)信息)共八十三頁SAML認(rèn)證(rnzhng)過程Subject(主體)服務(wù)提供方(信任方)服務(wù)提供方2(信任方2)認(rèn)證提供方(斷言方)1 請(qǐng)求憑證2 返回憑證3 服務(wù)請(qǐng)求+憑證6 響應(yīng)請(qǐng)求共八十三頁SAML認(rèn)證(rnzhng)過程 主體(Subject)向 IDP 請(qǐng)求憑證(方式是提交用戶名/密碼); IDP(認(rèn)證提供(tgng)方)通過驗(yàn)證主體提供(tgng)的信息,來確定是否提供(tgng)憑證給主體; 假如主體的驗(yàn)證信息正確,他將獲取由IDP提供的憑證,然后將憑證和服務(wù)請(qǐng)求一起提交給信任方SP; SP接收到主體的憑證,它在提供服務(wù)之前必須驗(yàn)證次憑證。于是,它產(chǎn)生了一個(gè) SAML

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論