




已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
S/KEY認(rèn)證方案的分析與改進(jìn)殷松瑜, 徐煒民 (上海大學(xué) 計(jì)算機(jī)工程學(xué)院,上海 200072 )摘 要:本文提出的改進(jìn)S/KEY身份認(rèn)證協(xié)議,使用隨機(jī)數(shù)與機(jī)密信息進(jìn)行異或運(yùn)算,屏蔽重要信息防止機(jī)密泄露,實(shí)現(xiàn)了用戶和服務(wù)器間的相互認(rèn)證,認(rèn)證服務(wù)器的計(jì)算負(fù)載并沒(méi)有增加。本方案克服了傳統(tǒng)S/KEY一次性口令認(rèn)證方案不能抵抗重放攻擊,小數(shù)攻擊,冒充攻擊,中間人攻擊安全漏洞,有效地防止了連接劫持、協(xié)議破壞攻擊等攻擊手段,顯著地增強(qiáng)了應(yīng)用系統(tǒng)的安全性。關(guān)鍵詞:S/KEY身份認(rèn)證; 一次性口令; 異或; 散列函數(shù)中圖法分類號(hào): TP393108文獻(xiàn)標(biāo)識(shí)碼: AAnalysis and Improvement of S/KEY Authentication SchemeYIN Song-yu,XV Wei-min(School of Engineering and Computer Science Shanghai University , Shanghai 200072)Abstract:This paper proposes a new improved S/KEY protocol. As is described in my authentication scheme that the random number XORed by the confidential information prevents confidential information from disclosure, and a mutual authentication between the user and the server is effectively carried out , but which do not increase the overhead of authentication server . The new S/KEY solution can not only overcome the vulnerabilities of security that the traditional S/KEY one-time password protocol will not help the server to resist the replay attacks, small integer attacks, personate attacks and man-inmiddle attacks, but also effectively prevent the server from connection hijacking, protocalbroken and other attacks, so the improved S/KEY protocol significantly enhances the security level of application system . Key words: S/KEY Authentication; One-Time Password; XOR ; Hash fuction0 引言計(jì)算機(jī)通信技術(shù)和網(wǎng)絡(luò)的發(fā)展使得網(wǎng)絡(luò)成為信息交換的主要手段,越來(lái)越多的企業(yè)將電子商務(wù)作為重要的運(yùn)營(yíng)模式。當(dāng)企業(yè)用戶在其業(yè)務(wù)活動(dòng)中把自己完全展示給外部的用戶和商業(yè)合作者或當(dāng)通過(guò)網(wǎng)絡(luò)獲取客戶的敏感數(shù)據(jù)時(shí), 網(wǎng)絡(luò)的安全訪問(wèn)控制就成了保護(hù)企業(yè)信息安全, 防止黑客惡意攻擊破壞的重要手段。身份認(rèn)證是確保網(wǎng)絡(luò)系統(tǒng)中信息安全的門戶,網(wǎng)絡(luò)應(yīng)用系統(tǒng)的第一道防線。身份認(rèn)證的目的就是驗(yàn)證通信雙方是否符合其所聲稱的身份, 防止非法用戶竊取合法用戶的身份,以得到不應(yīng)有的授權(quán)進(jìn)入系統(tǒng)獲得不正當(dāng)利益或惡意破壞系統(tǒng)。傳統(tǒng)的認(rèn)證技術(shù)是輸入用戶名/口令的基本認(rèn)證方式,這種認(rèn)證最大的問(wèn)題是用戶名和口令都以明文的方式在不安全的網(wǎng)絡(luò)中傳輸,很容易受到惡意的竊聽、篡改、重放或在線猜測(cè)和離線字典攻擊。安全的基于證書的數(shù)字簽名技術(shù)必須以完整的CA (Certification Authority,證書授權(quán)中心)體系為基礎(chǔ),但目前在國(guó)內(nèi)還沒(méi)有法律上所公認(rèn)的可信的第三方證書授權(quán)中心。對(duì)于在不安全的網(wǎng)絡(luò)環(huán)境中的企業(yè)來(lái)說(shuō),采用實(shí)現(xiàn)不太復(fù)雜,又無(wú)需第三方認(rèn)證的一次性口令(One Time Password,OTP)認(rèn)證技術(shù)是一種很有吸引力的的解決方案,從理論上講,只使用一次的密碼(A Single Use Password)是永遠(yuǎn)不會(huì)被破解,是最安全的密碼。本文在分析研究S/KEY一次性口令認(rèn)證技術(shù)的基礎(chǔ)上,針對(duì)S/KEY系統(tǒng)的缺陷123提出了一種新的改進(jìn)方案。已有的一些改進(jìn)方案4567使用離散對(duì)數(shù)公鑰加密技術(shù),另外一些方案 8使用對(duì)稱加密方法,雖然改進(jìn)方案宣稱無(wú)需第三方公證,但是如何管理分配加密密鑰,是否最后還是依靠公鑰基礎(chǔ)設(shè)施PKI,這些都是很難解決的問(wèn)題。使用加密方法增加了系統(tǒng)開銷和實(shí)現(xiàn)的復(fù)雜度,這也就失去了口令認(rèn)證的優(yōu)點(diǎn):實(shí)現(xiàn)方案簡(jiǎn)單,運(yùn)行成本低等。而方案91011雖然對(duì)S/KEY認(rèn)證技術(shù)有所改進(jìn),卻并沒(méi)有完全解決S/KEY系統(tǒng)的安全問(wèn)題。本文所提出的方案使用隨機(jī)數(shù)與機(jī)密信息進(jìn)行異或運(yùn)算,屏蔽重要信息內(nèi)容防止機(jī)密向外泄露,相比原來(lái)S/KEY方案認(rèn)證服務(wù)器增加的運(yùn)算量很小。改進(jìn)方案克服了傳統(tǒng)S/KEY一次性口令不能抵抗小數(shù)攻擊,冒充攻擊等安全漏洞,實(shí)現(xiàn)了用戶和服務(wù)器間的相互認(rèn)證,有效地防止了連接劫持、協(xié)議破壞攻擊等攻擊手段,顯著地增強(qiáng)了應(yīng)用系統(tǒng)的安全性。1一次性口令認(rèn)證技術(shù)竊取系統(tǒng)口令文件、通過(guò)偷聽網(wǎng)絡(luò)連接來(lái)獲取和合法用戶的口令以及重放是常見(jiàn)的攻擊方式。一次性口令系統(tǒng)設(shè)計(jì)的目的就是為了對(duì)付這種類型的攻擊, 使用戶在每次注冊(cè)時(shí)使用一個(gè)以前沒(méi)有使用過(guò)的口令。1.1基本原理OTP的主要思路是:在登錄過(guò)程中加入不確定因子,使每次登錄過(guò)程中生成的密碼都各不相同,以提高登錄過(guò)程的安全性。系統(tǒng)接收到登錄口令以后, 以同樣的算法做一個(gè)驗(yàn)算即可驗(yàn)證用戶的合法性。目前有許多方法可以實(shí)現(xiàn)一次性口令身份認(rèn)證,常用的有如下3種:(1) Lamport方案15。即哈希鏈(Hash chains)算法。在初始化階段選取一個(gè)口令pw和一個(gè)次數(shù)n,及一個(gè)單向散列函數(shù)Hash,通過(guò)計(jì)算y= Hash n(pw),把y和n的值存到服務(wù)器上。用戶端計(jì)算y= Hash n-1(pw)的值,服務(wù)器計(jì)算 z = Hash (y)的值同服務(wù)器上相應(yīng)的值y進(jìn)行比較。如果z=y,則驗(yàn)證成功,然后用y的值取代服務(wù)器上y的值,n的值減1。通過(guò)哈希鏈算法,用戶每次登錄到服務(wù)器端的口令都不相同。這種方案的優(yōu)點(diǎn)是易于實(shí)現(xiàn),且無(wú)須特殊硬件的支持。而缺點(diǎn)是用戶需要進(jìn)行多次Hash運(yùn)算,其安全性依賴于單向散列函數(shù)Hash,而且每隔一段時(shí)間還需要重新初始化系統(tǒng),服務(wù)器的額外開銷很大。(2)時(shí)間同步方案(見(jiàn)圖1)15。每個(gè)系統(tǒng)用戶都持有相應(yīng)的時(shí)間同步令牌(token)。令牌內(nèi)置時(shí)鐘,種子密鑰和加密算法。時(shí)間同步令牌根據(jù)當(dāng)前時(shí)間和種子密鑰可以每分鐘動(dòng)態(tài)生成一個(gè)一次性口令。動(dòng)態(tài)口令傳送到認(rèn)證服務(wù)器。服務(wù)器通過(guò)其種子密鑰副本和當(dāng)前時(shí)間計(jì)算出所期望的輸出值,對(duì)用戶進(jìn)行驗(yàn)證。如果相匹配,則登錄通過(guò)。雖然該方法可以保證很高的安全性,然而技術(shù)上很難保證用戶的時(shí)間同步令牌在時(shí)間上和認(rèn)證服務(wù)器嚴(yán)格同步,因?yàn)閿?shù)據(jù)在網(wǎng)絡(luò)上傳輸和處理都存在一定的時(shí)間延遲,所以該方案實(shí)現(xiàn)時(shí)是在允許的時(shí)間誤差范圍內(nèi)(例如多少秒)都可以通過(guò)認(rèn)證,但是當(dāng)時(shí)間誤差超過(guò)允許值時(shí),對(duì)正常用戶的登錄往往造成身份認(rèn)證失敗,這是時(shí)間同步方案很大的缺點(diǎn),另外該方案要求有時(shí)間同步令牌這類特殊硬件的支持。(3)質(zhì)詢/應(yīng)答方案(Challenge/Response)(見(jiàn)圖2)15。每個(gè)用戶都持有相應(yīng)的質(zhì)詢/應(yīng)答令牌。令牌內(nèi)置種子密鑰和加密算法。用戶需要訪問(wèn)系統(tǒng)時(shí),服務(wù)器隨機(jī)生成一個(gè)質(zhì)詢(Challenge),用戶將該質(zhì)詢手工輸入到質(zhì)詢/應(yīng)答令牌中,質(zhì)詢/應(yīng)答令牌利用內(nèi)置的種子密鑰和加密算法對(duì)其計(jì)算出相應(yīng)的應(yīng)答 (Response)。用戶將該應(yīng)答手工輸入到主機(jī)再上傳給服務(wù)器。服務(wù)器根據(jù)該用戶存儲(chǔ)的種子密鑰和加密算法計(jì)算出應(yīng)答并和用戶上傳的應(yīng)答進(jìn)行比較,該方法可以保證很高的安全性。但該方案也有缺陷:需要特殊硬件(質(zhì)詢/應(yīng)答令牌)的支持,增加了該方案的實(shí)現(xiàn)成本;用戶需多次手工輸入數(shù)據(jù),易造成較多的輸入失誤,使用起來(lái)十分不便;用戶的身份標(biāo)識(shí)直接在網(wǎng)絡(luò)上明文傳輸,攻擊者可很容易地截獲它,留下了安全隱患;沒(méi)有實(shí)現(xiàn)用戶和服務(wù)器間的相互認(rèn)證,不能抵抗來(lái)自服務(wù)器端的冒充攻擊;質(zhì)詢每次都由服務(wù)器隨機(jī)生成,造成了服務(wù)器開銷過(guò)大。1.2S/KEY一次性口令認(rèn)證協(xié)議目前在實(shí)際應(yīng)用最廣泛的一次性口令是S/Key認(rèn)證協(xié)議,它也是質(zhì)詢/應(yīng)答方式的一種。S/Key一次性口令的原理是: OTP為每個(gè)用戶分配一個(gè)賬號(hào),每個(gè)賬號(hào)配有種子(Seed) 、迭代值(Iteration)和秘密通行短語(yǔ)( Secret Pass Phrase,SPP)。在客戶端和服務(wù)器端各安裝一個(gè)OTP計(jì)算程序,用戶通過(guò)客戶機(jī)訪問(wèn)服務(wù)器時(shí),首先向服務(wù)器傳送自己的賬號(hào),服務(wù)器應(yīng)答一個(gè)由與該賬號(hào)對(duì)應(yīng)的種子Seed和迭代值Seq組成的質(zhì)詢, 用戶在客戶端輸入只有自己知道的秘密通行密語(yǔ)給予應(yīng)答,客戶機(jī)OTP計(jì)算程序使用該質(zhì)詢和秘密通行短語(yǔ)產(chǎn)生一個(gè)一次性口令,并以該一次性口令登錄,作為對(duì)質(zhì)詢的應(yīng)答。服務(wù)器端OTP計(jì)算程序同時(shí)也產(chǎn)生一次性口令,然后與所收到的一次性口令進(jìn)行對(duì)比,從而完成服務(wù)器對(duì)登錄用戶的鑒別。每次登錄成功后,迭代值遞減。但是當(dāng)?shù)颠f減為0或秘密通行短語(yǔ)泄密后,則用戶必須重新初始化系統(tǒng)。這也是S/KEY一次性口令最大的不足。1.3單向散列函數(shù)S/KEY認(rèn)證是一種摘要認(rèn)證, 主要利用了散列函數(shù)又稱為哈希函數(shù)(Hash), 就是把可變輸入長(zhǎng)度申轉(zhuǎn)換成固定長(zhǎng)度輸出串散列值的一種函數(shù)。S/KEY認(rèn)證的安全性正是依賴于散列函數(shù)的單向、計(jì)算不可逆的特性:(1)給定消息M很容易計(jì)算Hash(M),但是根據(jù)Hash(M)反向計(jì)算M卻很難,幾乎是不可能。(2)給定M消息要找到另一消息M, 并滿足Hash(M)= Hash (M)也是幾乎不可能。目前,著名的散列函數(shù)有MD4、MD5和SHA。SHA(Security Hash Arithmetic)是由美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)(NIST)提出的。SHA-1 算法允許的最大輸入報(bào)文的長(zhǎng)度不超過(guò)264位,輸出160 比特的報(bào)文摘要。SHA-1 與MD5相似,都是從MD4 導(dǎo)出的,但它對(duì)強(qiáng)行攻擊具有更大的強(qiáng)度,且易于實(shí)現(xiàn)。2傳統(tǒng)S/KEY認(rèn)證系統(tǒng)1S/KEY認(rèn)證系統(tǒng)分注冊(cè)階段和認(rèn)證階段2個(gè)階段實(shí)現(xiàn)。本文使用的標(biāo)志如下:U為客戶端;S為服務(wù)器端;ID為用戶身份標(biāo)志;PW為用戶口令;為信息發(fā)送標(biāo)識(shí);/為級(jí)聯(lián)運(yùn)算符;為異或運(yùn)算符;H(x)為安全哈希函數(shù);Hi(x)為對(duì)x進(jìn)行i次哈希運(yùn)算;N為口令序列的元素個(gè)數(shù);Seq為當(dāng)前序列數(shù)(第i次認(rèn)證序列數(shù),Seq=N-i)。2.1注冊(cè)過(guò)程 注冊(cè)工作由客戶端U與服務(wù)器端S共同參與完成,協(xié)商并保存在認(rèn)證過(guò)程中將要用到的數(shù)據(jù),要求注冊(cè)工作必須在安全環(huán)境下進(jìn)行。(1)U輸入ID和PW,請(qǐng)求注冊(cè);(2)S為U選擇種子值Seed發(fā)送給U;(3)U設(shè)置一次性口令序列的最大元素個(gè)數(shù)N,并計(jì)算口令序列的第一個(gè)口令HN(PW/Seed)傳送給S;(4)S建立記錄,存儲(chǔ)ID,Seed,N,HN(PW/Seed)。2.2認(rèn)證過(guò)程 第i次認(rèn)證過(guò)程如下: 步驟1 US:ID,認(rèn)證請(qǐng)求; 步驟2 SU:Seq=N-i,Seed; 步驟3 US:ID, HN-i(PW/Seed);步驟4 S用收到的HN-i(PW/Seed)再做一次哈希運(yùn)算H(HN-i(PW/Seed),與上次認(rèn)證成功后保留的HN-(i-1)(PW/Seed)比較,若相等,S就向U發(fā)送登錄成功消息,并保留HN-(i-1)(PW/Seed)作為下一次認(rèn)證的驗(yàn)證值。2.3 傳統(tǒng)S/KEY認(rèn)證系統(tǒng)的安全缺陷分析 S/KEY系統(tǒng)雖能有效抵御重放攻擊,有一定的安全性,但是系統(tǒng)本身仍有很多缺陷。 S/KEY系統(tǒng)無(wú)法抵御冒充攻擊,即冒充服務(wù)器攻擊。傳統(tǒng)S/KEY系統(tǒng)是一種簡(jiǎn)單的認(rèn)證協(xié)議,認(rèn)證過(guò)程中只對(duì)用戶進(jìn)行認(rèn)證而不對(duì)服務(wù)器進(jìn)行認(rèn)證,并且S/KEY方案并沒(méi)有提供對(duì)傳輸數(shù)據(jù)的加密,Seed和Seq都是以明文形式在傳輸信道中傳輸,因此,攻擊者可以欺騙用戶去登錄攻擊者指定的假冒服務(wù)器,當(dāng)用戶提交認(rèn)證請(qǐng)求時(shí),假冒服務(wù)器可以發(fā)送事先竊聽到的Seed,Seq給用戶從而欺騙用戶得到一次有效的登錄口令,再偽裝成合法用戶登錄服務(wù)器。 小數(shù)攻擊是特別針對(duì)于口令序列類型的OTP方案的攻擊方式,S/KEY認(rèn)證系統(tǒng)不能防御此種攻擊。攻擊者可以得到系統(tǒng)使用的安全散列函數(shù)H(x),通過(guò)監(jiān)聽和篡改步驟(2)中的序列數(shù)Seq為一個(gè)小很多的數(shù)值m給用戶,這樣用戶就會(huì)計(jì)算出Hm(PW/Seed)給攻擊者,攻擊者再將Hm(PW/Seed)哈希Seq-m次, 既Hseq-m(Hm(PW/Seed)得到Hseq(PW/Seed)也就是正確的口令去登錄服務(wù)器,因?yàn)閙 Seq,所以攻擊者在成功進(jìn)行一次攻擊后仍可保留Hm(PW/Seed)以后使用,只要服務(wù)器在認(rèn)證時(shí)在步驟(2)中發(fā)送一個(gè)比m大的序列數(shù)攻擊者就可計(jì)算出正確的口令來(lái)登錄服務(wù)器。 S/KEY系統(tǒng)無(wú)法抵御協(xié)議破壞攻擊,如果在合法用戶和服務(wù)器進(jìn)行正常認(rèn)證過(guò)程中攻擊者成功地進(jìn)行了竊聽,并在步驟(3)中,攻擊者竊取到了第i次有效的口令HN-i(PW/Seed)后將認(rèn)證過(guò)程破壞或服務(wù)器崩潰,那么在系統(tǒng)重啟后會(huì)直接恢復(fù)到認(rèn)證破壞前的步驟(3),這時(shí)攻擊者就可以利用協(xié)議被破壞前竊取到的有效口令登錄服務(wù)器。 中間人攻擊是指攻擊者通過(guò)各種技術(shù)手段將自己控制的計(jì)算機(jī)非法連接到2臺(tái)正常通信計(jì)算機(jī)的通信信道之間,直接即時(shí)地讀取和篡改信道中的信息,而通信兩端的計(jì)算機(jī)卻認(rèn)為彼此還在互相通信,無(wú)法察覺(jué)信息已經(jīng)被轉(zhuǎn)發(fā)過(guò)。這種隱蔽性攻擊是對(duì)網(wǎng)絡(luò)安全極具威脅和破壞性的一種攻擊方式。S/KEY系統(tǒng)對(duì)于中間人攻擊更顯得無(wú)能為力,只要攻擊者通過(guò)一定的技術(shù)手段成功建立好中間人攻擊環(huán)境,則U與S之間傳遞的一切信息都會(huì)經(jīng)過(guò)攻擊者控制的計(jì)算機(jī)進(jìn)行轉(zhuǎn)發(fā),攻擊者只需在步驟(3)中獲得一次性口令后強(qiáng)迫合法用戶下線,再直接轉(zhuǎn)發(fā)口令給S冒充合法用戶登錄。連接劫持攻擊最早由Bellovin3提出,這種攻擊方法是非法用戶繞過(guò)身份確認(rèn)這一關(guān),等到合法用戶通過(guò)認(rèn)證成功與服務(wù)器建立連接后,設(shè)法劫取此連接先行搶入連接冒充合法用戶侵入系統(tǒng)。3S/KEY認(rèn)證系統(tǒng)的改進(jìn)3.1改進(jìn)思路1)在證明對(duì)方身份之前,不給出有關(guān)信息的鑒別,不泄露有關(guān)信息,2)盡量使用簡(jiǎn)單而且安全的算法以減少認(rèn)證服務(wù)器的運(yùn)算量,提高效率,3)盡可能使傳送的消息簡(jiǎn)短,減少相互傳遞的認(rèn)證信息的個(gè)數(shù),減少網(wǎng)絡(luò)通信量,4)用戶和系統(tǒng)之間進(jìn)行相互認(rèn)證,5)提供安全通信防止連接劫持的功能。3.2注冊(cè)過(guò)程注冊(cè)工作與傳統(tǒng)S/KEY方案大體相同,由U與S共同參與完成,協(xié)商并保存在認(rèn)證過(guò)程中將要用到的數(shù)據(jù),由服務(wù)器端S建立記錄,存儲(chǔ)ID,Seed,N,HN(PW/Seed),所不同的是客戶端也要記住ID,Seed,并保證ID,Seed作為U和S共享秘密的安全。種子Seed的設(shè)置原本是為了客戶在不同的服務(wù)器上方便使用OTP1,在不同的服務(wù)器使用不同的Seed,這樣即使客戶使用同一個(gè)秘密通行短語(yǔ)SPP在不同的服務(wù)器上也能生成不同的OTP。在本方案中客戶U記住Seed就能實(shí)現(xiàn)與服務(wù)器協(xié)商會(huì)話密鑰(一個(gè)客戶端生成的隨機(jī)數(shù)),并且Seed也不需要每一次認(rèn)證都傳送給客戶端,以減少被竊聽的可能。從安全角度考慮客戶端可以用USBkey存儲(chǔ)機(jī)密信息,而服務(wù)器端同樣要保證存放客戶信息的數(shù)據(jù)庫(kù)的安全,防止非法竊取機(jī)密信息,特別是內(nèi)部攻擊。3.3認(rèn)證過(guò)程服務(wù)器端保留有一張表,每條記錄包含:用戶名ID,種子Seed,當(dāng)前序列號(hào)Seq=N-i,上次成功登錄密碼Pi-1=HN-(i-1)(PW/Seed);第i次認(rèn)證過(guò)程:步驟1 US:認(rèn)證請(qǐng)求,H(ID),H(ID/Seed)Ri;步驟2 SU:SeqRi,Pi-1Ri;步驟3 US: PiRi;步驟4 SU:認(rèn)證成功消息,保留Pi。步驟說(shuō)明:步驟1:客戶端U在每一次認(rèn)證前都要產(chǎn)生一個(gè)隨機(jī)數(shù)Ri作為下面認(rèn)證過(guò)程的會(huì)話密鑰,用來(lái)屏蔽相關(guān)信息以防止泄密。為了保護(hù)客戶ID,Seed信息,不傳送明文,而改為發(fā)送他們的哈希函數(shù)值。步驟2 :服務(wù)器端S在數(shù)據(jù)庫(kù)中查找到ID對(duì)應(yīng)的Seed ,計(jì)算H(ID/Seed)RiH(ID/Seed)= Ri 就可以得到隨機(jī)數(shù)Ri,至此通過(guò)ID,Seed作為共享秘密由U和S協(xié)商了會(huì)話密鑰Ri。為了不泄露機(jī)密信息,S發(fā)送Seq和Pi-1的加密形式,以防止被惡意攻擊者竊聽。步驟3:客戶端U通過(guò)計(jì)算SeqRiRi=Seq,和Pi-1RiRi= Pi-1,得到了當(dāng)前序列號(hào)Seq=N-i和上次成功登錄密碼Pi-1以后,再計(jì)算第i次登錄密碼Pi=HN-i(PW/Seed), 比較H(Pi)和Pi-1,若相等則繼續(xù)向服務(wù)器端發(fā)送加密形式的Pi;否則就中斷認(rèn)證過(guò)程。 步驟4: 服務(wù)器端S接受到客戶端發(fā)來(lái)的登錄密碼加密的Pi后,計(jì)算PiRiRi=Pi得到第i次登錄密碼Pi,再次計(jì)算H(Pi)并把它和自己保存的上次成功登錄密碼Pi-1進(jìn)行比較,若相等則S向U發(fā)送登錄成功消息,并用Pi替換Pi-1作為保留的值用于下一次認(rèn)證,否則就中斷認(rèn)證過(guò)程,拒絕用戶登錄。3.3改進(jìn)S/KEY方案的安全性討論方案注冊(cè)階段在安全環(huán)境下進(jìn)行,用戶用USBkey 保存機(jī)密信息ID,Seed,可有效防止共享秘密信息泄漏,從而保證了會(huì)話密鑰Ri的絕密性。共享秘密是確保本方案安全的基本條件之一。在步驟(l)中,發(fā)送客戶ID,Seed信息的散列值也杜絕了相關(guān)秘密的外泄。U和S通過(guò)共享秘密ID,Seed相互協(xié)商交換隨機(jī)數(shù)Ri作為會(huì)話密鑰,而下面認(rèn)證過(guò)程的相互傳遞信息的機(jī)密性,都是依靠隨機(jī)數(shù)Ri對(duì)傳遞的消息進(jìn)行異或運(yùn)算來(lái)防止非法竊聽和篡改。本方案還有一個(gè)確保安全性的基本條件,那就是用異或運(yùn)算加密的安全性, 雖然MD5,SHA函數(shù)已被證明是不安全的13, 而新方案采用異或運(yùn)算方法對(duì)散列值值進(jìn)行加密, Hash函數(shù)長(zhǎng)度(例如MD5為128位, SHA為160位)足以保證攻擊者不能通過(guò)窮舉法破解有關(guān)機(jī)密信息14。這里建議使用長(zhǎng)度更長(zhǎng)更安全的Hash函數(shù)如SHA-224, SHA-256, SHA-384 和 SHA-512。 在步驟(2)中,S通過(guò)共享秘密解密h(ID/Seed)Ri得到會(huì)話密鑰Ri,使用Ri異或運(yùn)算散列值Seq和Pi-1來(lái)加密,即使攻擊者有進(jìn)行猜測(cè)、窮舉等攻擊的可能,但是異或運(yùn)算加密的時(shí)間很短,并且每次認(rèn)證隨機(jī)數(shù)都不同,因此,可以保證此過(guò)程中異或運(yùn)算加密信息的安全性。由于客戶端用戶用以產(chǎn)生OTP口令的秘密通行密語(yǔ)也就是真正的用戶口令既不在網(wǎng)上傳輸,也不存儲(chǔ)在服務(wù)器端及客戶端的任何地方,只有使用者本人知道,因此即便在不安全的網(wǎng)絡(luò)通信信道中秘密通行密語(yǔ)也不會(huì)被竊取,字典攻擊、口令字猜測(cè)等常用的攻擊手段對(duì)破解真正的用戶口令都無(wú)能為力。OTP口令只使用一次,即使在網(wǎng)絡(luò)傳輸過(guò)程中被捕獲下一次也被不能被重復(fù)使用。這樣一來(lái)攻擊者既不能非法竊取相關(guān)客戶的機(jī)密信息來(lái)構(gòu)造出正確的OTP口令,又不能重放已經(jīng)截獲的信息來(lái)通過(guò)服務(wù)器認(rèn)證,所以對(duì)于客戶來(lái)說(shuō)整個(gè)認(rèn)證過(guò)程是安全的。在步驟(3)中實(shí)現(xiàn)了客戶端對(duì)服務(wù)器端的認(rèn)證, 因?yàn)橹挥蟹?wù)器端才保存有上次成功登錄密碼Pi-1。在步驟(4)中實(shí)現(xiàn)了服務(wù)器端對(duì)客戶端的認(rèn)證,只有客戶端才能正確生成第i次登錄密碼Pi=HN-i (PW/Seed),因?yàn)橹挥锌蛻舳瞬胖烂孛芡ㄐ卸陶Z(yǔ)PW和種子Seed。本方案實(shí)現(xiàn)了客戶端和服務(wù)器端的雙向認(rèn)證,可以抵抗來(lái)自客戶端的假冒攻擊和來(lái)自服務(wù)器端的假冒攻擊,卻不會(huì)使合法用戶的合理要求得不到滿足,也就是說(shuō)本方案可以防止拒絕訪問(wèn)攻擊和中間人攻擊。由于在認(rèn)證的過(guò)程中客戶端的機(jī)密信息:用戶名ID,種子Seed,當(dāng)前序列號(hào)Seq=N-i都被加密,攻擊者無(wú)法竊聽,當(dāng)然也就不能篡改Seq,冒充服務(wù)器向用戶發(fā)送一個(gè)小很多的數(shù)值m進(jìn)行小數(shù)攻擊。另外攻擊者竊取不到第i次有效的口令HN-i(PW/Seed),即使認(rèn)證過(guò)程被破壞或服務(wù)器崩潰,系統(tǒng)重啟后會(huì)直接恢復(fù)到認(rèn)證破壞前的步驟(3),這時(shí)攻擊者就也不能利用協(xié)議被破壞前竊取到的有效口令登錄服務(wù)器,所以協(xié)議破壞攻擊對(duì)本方案不可行。步驟(4)結(jié)束后服務(wù)器端完成了對(duì)客戶端的身份認(rèn)證。但是攻擊可能設(shè)法劫取此連接以冒充合法用戶訪問(wèn)服務(wù)器。這樣攻擊者就成功地冒充用戶,達(dá)到了欺騙服務(wù)器的目的。所以在本方案中當(dāng)合法用戶登錄完成后,服務(wù)器端會(huì)定期地向客戶端發(fā)出質(zhì)詢(Challenge),而客戶端必須作出相應(yīng)的應(yīng)答 (Response)否則就會(huì)切斷該用戶的已有連接。服務(wù)端向客戶端發(fā)送的質(zhì)詢和客戶應(yīng)答需要另外建立一條連接,不影響原連接的客戶端與服務(wù)器的正常通信,這對(duì)用戶而言是透明的10。為了避免被動(dòng)攻擊( Passive Attack)16,每個(gè)用戶登錄時(shí),只能建立一條連接,這樣就能防止其他用戶監(jiān)聽到部分口令后發(fā)動(dòng)多條連接猜測(cè)后續(xù)的口令。3.4改進(jìn)S/KEY方案的實(shí)現(xiàn)問(wèn)題在運(yùn)行效率方面,本方案主要的計(jì)算是散列函數(shù)和異或運(yùn)算,而利用公私鑰加密算法實(shí)現(xiàn)OTP,或者在有限域上用離散對(duì)數(shù)實(shí)現(xiàn)OTP相比,無(wú)論是硬件資源需求還是在運(yùn)算復(fù)雜度上都要簡(jiǎn)單。另外生成隨機(jī)數(shù)Ri的工作移到客戶端上執(zhí)行,和質(zhì)詢/應(yīng)答方案(Challenge/Response)相比減少了服務(wù)器的額外開銷。通過(guò)網(wǎng)絡(luò)安全注冊(cè)可以實(shí)現(xiàn)如下:首先客戶下載服務(wù)器的公鑰用來(lái)加密一個(gè)對(duì)稱加密私鑰K發(fā)送給服務(wù)器,由服務(wù)器用于加密發(fā)往客戶端的機(jī)密信息如種子Seed等,而客戶也可以通過(guò)服務(wù)器的公鑰加密發(fā)往服務(wù)器的信息,當(dāng)用戶重新初始化系統(tǒng)也可以通過(guò)網(wǎng)絡(luò)安全注冊(cè)。S/KEY方案當(dāng)?shù)颠f減為0或秘密通行短語(yǔ)泄密后, 用戶需要重新初始化系統(tǒng),這是S/KEY方案最大的缺點(diǎn),但是從安全維護(hù)的角度來(lái)說(shuō)初始化系統(tǒng),同時(shí)也是在檢查系統(tǒng)是否發(fā)生異常,是否受到攻擊,是否有機(jī)密信息泄露并做好防范措施,保證系統(tǒng)的安全。4 結(jié)束語(yǔ)用戶身份認(rèn)證是網(wǎng)絡(luò)中保證信息安全的重要前提,一次性口令協(xié)議是簡(jiǎn)單認(rèn)證中一種具有較高安全性的一類協(xié)議。本文提出了一種新的S/KEY認(rèn)證方案,克服了傳統(tǒng)的S/KEY認(rèn)證的安全缺陷,有效地保護(hù)了用戶身份機(jī)密信息,實(shí)現(xiàn)了客戶端和服務(wù)端雙向認(rèn)證。改進(jìn)協(xié)議能夠較好地抵御小數(shù)攻擊、假冒攻擊、協(xié)議破壞攻擊等惡意破壞,實(shí)現(xiàn)了分布式系統(tǒng)的安全認(rèn)證和持續(xù)用戶認(rèn)證,提高了S/KEY系統(tǒng)的安全性,并且沒(méi)有增加認(rèn)證服務(wù)器的計(jì)算負(fù)載。改進(jìn)S/KEY方案相對(duì)于強(qiáng)制認(rèn)證的PKI等而言,具有實(shí)現(xiàn)簡(jiǎn)單、使用方便的特點(diǎn),所以在很多場(chǎng)合都有推廣意義,例如硬件資源少,運(yùn)算能力有限的移動(dòng)設(shè)備的遠(yuǎn)程身份認(rèn)證。本方案還可以集成到其他安全解決方案中,如智能卡,指紋識(shí)別等以提高應(yīng)用系統(tǒng)的安全防護(hù)能力。參考文獻(xiàn)1 Haller N. A one-time password systemS ,(RFC2289) ,19982 Mudge. Vulnerabilities in the S /KEY one time password systemEB/OL. http:/www.edelweb.fr/skeyflaws.html.3 Steve Bellovin Security Problems in the TCP / IP
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 股票知識(shí)入門培訓(xùn)
- 項(xiàng)羽之死說(shuō)課課件
- 項(xiàng)目介紹框架課件模板
- 音樂(lè)鑒賞說(shuō)課課件
- 音樂(lè)課件介紹
- 汽車配套產(chǎn)業(yè)基地項(xiàng)目人力資源管理方案(參考范文)
- 2025年貓爬架項(xiàng)目發(fā)展計(jì)劃
- 2025年組織毒活苗合作協(xié)議書
- 物業(yè)樓宇入伙流程
- 2025年多路信號(hào)老化檢測(cè)系統(tǒng)項(xiàng)目合作計(jì)劃書
- 3D打印介紹課件
- 團(tuán)建桌游游戲活動(dòng)方案
- 教育培訓(xùn)宣傳課件
- 大學(xué)招生宣傳工作規(guī)范制度?
- 輿情監(jiān)控處置管理制度
- 低空經(jīng)濟(jì)現(xiàn)代化產(chǎn)業(yè)體系構(gòu)建與戰(zhàn)略路徑
- 藥品生產(chǎn)偏差管理制度
- 貴州省2025年中考第三次模擬考試化學(xué)試卷(含答案)
- 水廠易制毒管理制度
- 2025-2030年中國(guó)西餐廳行業(yè)市場(chǎng)發(fā)展分析及前景預(yù)測(cè)與戰(zhàn)略規(guī)劃研究報(bào)告
- 2025年上海市中考物理試卷真題(含答案)
評(píng)論
0/150
提交評(píng)論