專利名稱:遠(yuǎn)程更改通訊密碼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機(jī)通訊,具體而言,涉及為計算機(jī)通訊會話提供基于密碼的安全性。
發(fā)明
背景技術(shù):
計算機(jī)網(wǎng)絡(luò)正變得越來越大并且用來傳輸更為敏感的信息。為了安全,一個使用網(wǎng)絡(luò)的計算設(shè)備通常向另一個設(shè)備證明自己的身份(“身份驗證”)并且只和已通過身份驗證的設(shè)備交換敏感信息。然而,大多數(shù)通過身份驗證的通訊仍然容易受到安全攻擊。有一種安全攻擊的形式,攻擊者偽裝成一個合法的設(shè)備而錯誤地通過了身份驗證。一旦通過驗證,攻擊者則可訪問只能由合法通過身份驗證的設(shè)備所訪問的信息。第二種形式的攻擊中,攻擊者并沒有通過身份驗證,但偷聽已通過身份驗證的設(shè)備之間的通訊從而獲得密碼。拿到這些密碼以后,偷聽者就可以訪問已通過身份驗證的設(shè)備發(fā)送的敏感信息。這些安全攻擊使通過無線技術(shù)通訊的設(shè)備尤其令人不安,因為很難甚至不可能限制對通訊的物理訪問。
這兩種形式的安全攻擊涉及到通訊安全的兩個主要方面。第一,身份驗證技術(shù)正變得更加復(fù)雜來避免被非法的攻擊者所利用。典型的通訊環(huán)境中包括一個身份驗證服務(wù)器,由它和所有的計算設(shè)備(稱為“身份驗證客戶機(jī)”)通訊來進(jìn)行身份驗證。為了通過身份驗證,一個身份驗證客戶機(jī)通常必須提供一些身份驗證信息。在一些應(yīng)用中,身份驗證信息包含一個在身份驗證客戶機(jī)和身份驗證服務(wù)器之間共享的通訊密碼。還有一些應(yīng)用,其中的身份驗證信息可能是基于成對的公鑰/密鑰和安全證書。所有的這些應(yīng)用中,一旦身份驗證客戶機(jī)向身份驗證服務(wù)器提供了身份驗證信息就能通過身份驗證。這個身份驗證的過程往往是互相的,身份驗證服務(wù)器同樣要向身份驗證客戶機(jī)證明自己的身份。
通訊安全的第二個主要方面是再通過身份驗證的計算設(shè)備之間傳輸?shù)男畔⑹潜患用艿摹T诘湫偷募用芊椒ㄖ?,信息發(fā)送者和接收者首先確定加密方案。加密方案基于秘密的安全密鑰,這些密鑰通常但不總是共享與發(fā)送者和接收者之間。秘密的安全密鑰可根據(jù)與用來進(jìn)行身份驗證一樣的密碼。發(fā)送者通過確定的加密方案對信息進(jìn)行加密,然后將加密過的信息發(fā)給接收者。接收者收到加密信息以后使用確定的加密方案進(jìn)行解密。雖然加密后的信息仍然可能被偷聽,但偷聽者在沒有秘密的安全密鑰的情況下無法獲得原始信息。
然而,身份驗證和加密并不總是能夠提供足夠的保護(hù)。例如,加密過的信息仍然會收到一些攻擊,如統(tǒng)計分析攻擊。在統(tǒng)計分析攻擊中,偷聽者分析一系列的加密信息來獲取有關(guān)發(fā)送者和接收者使用的加密方案的一些模式。從這些模式中偷聽者可能找出加密方案中使用的安全密鑰并且用這些密鑰來解密加密過的信息。
由于這種攻擊方法的統(tǒng)計學(xué)特征,分析更多的加密信息將提高攻擊的成功率。因此一種防止統(tǒng)計分析攻擊的方法是限制在每一種加密方案下傳輸?shù)男畔⒘俊榱诉_(dá)到這樣的效果,可能會經(jīng)常更換加密方案。在互相的身份驗證過程中更換身份驗證客戶機(jī)和身份驗證服務(wù)器使用的密鑰。然而,身份驗證并不改變這樣一個事實新的安全密鑰仍然基于不改變的通訊密碼。隨著時間推移,這個通訊密碼可能被破譯,因此它也得經(jīng)常改變。這個過程并不象初看起來那么簡單。為了能夠使用,新密碼(或者從它得到的信息)需要能夠讓身份驗證客戶機(jī)和身份驗證服務(wù)器訪問到。簡單地在身份驗證客戶機(jī)上設(shè)一個密碼然后通過一個通訊連接傳給身份驗證服務(wù)器并不是很安全。用來發(fā)送新密碼的“連接外”方法(不使用計算機(jī)通訊連接的方法)雖然比較安全,但是太繁瑣,尤其是身份驗證服務(wù)器的物理位置離身份驗證客戶機(jī)很遠(yuǎn)的時候,因此經(jīng)常改變密碼很不方便。
問題在于需要一種不繁瑣的方法,不通過通訊連接傳輸新密碼而讓身份驗證客戶機(jī)和身份驗證服務(wù)器設(shè)置新的通訊密碼。
身份驗證客戶機(jī)和身份驗證服務(wù)器并行地通過它們各自的身份驗證信息生成一組新的安全密鑰。新的安全密鑰被用來進(jìn)行身份驗證和加密直到再次重復(fù)這一過程,那時又將通過新的密碼生成一組新的安全密鑰。這個過程可以重復(fù)任意次,用來限制每一組安全密鑰下傳輸?shù)男畔⒘繌亩拗屏私y(tǒng)計分析攻擊者的有效性。
本發(fā)明的另外一方面是身份驗證服務(wù)器決定什么時候更換當(dāng)前的通訊密碼,這個決定可以取決于使用當(dāng)前密碼的時間長短或者使用當(dāng)前密碼傳輸?shù)男畔⒘俊?br>
附圖2是示意圖,展示了一個支持本發(fā)明的計算機(jī)系統(tǒng)的例子。
附圖3a到3c是數(shù)據(jù)流圖,展示了本發(fā)明的一個實例中所述的當(dāng)身份驗證客戶機(jī)和身份驗證服務(wù)器互相進(jìn)行身份驗證并且設(shè)置新的通訊密碼時傳輸?shù)男畔⒑瓦M(jìn)行的操作。
附圖4是數(shù)據(jù)結(jié)構(gòu)圖,展示了在設(shè)置新的通訊密碼時可能用到的信息。
在下面的說明中,除非特別指出,本發(fā)明的說明中引用到的動作和符號表示的操作是由一個或多個計算設(shè)備完成的。同樣,這樣的動作和操作有時被稱作由計算機(jī)執(zhí)行的,這包括計算設(shè)備的處理單元對以電子信號表示的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行的處理。這樣的處理轉(zhuǎn)換數(shù)據(jù)或者將數(shù)據(jù)保留在計算設(shè)備的存儲器里,從而以本領(lǐng)域的普通技術(shù)人員易于理解的方式處理重新配置計算設(shè)備或者更改計算設(shè)備的操作。維護(hù)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是存儲器的物理位置,其特殊的屬性由數(shù)據(jù)的格式來定義。然而,雖然本發(fā)明是在上述環(huán)境中加以說明的,并不意味著限制本領(lǐng)域的普通技術(shù)人員理解下文中提到的動作和操作也可以固化到硬件中。
在附圖1中的網(wǎng)絡(luò)環(huán)境100中,身份驗證客戶機(jī)102向身份驗證服務(wù)器106證明它的身份(“身份驗證”)。為了達(dá)到這樣的效果,身份驗證客戶機(jī)102向身份驗證服務(wù)器106證明它擁有假定只有特定身份的計算機(jī)才知道的秘密信息,這樣身份驗證客戶機(jī)102聲稱它擁有該身份。這一秘密信息被稱作身份驗證客戶機(jī)102的“身份驗證信息”。
注意在一些網(wǎng)絡(luò)環(huán)境100中,特別是在無線網(wǎng)絡(luò)中,身份驗證客戶機(jī)102可以直接和本地訪問服務(wù)器104通信。本地訪問服務(wù)器104在身份驗證客戶機(jī)102和身份驗證服務(wù)器106之間傳遞通訊信息,身份驗證服務(wù)器106可以是遠(yuǎn)程的,并且服務(wù)多個(也許是成百個)網(wǎng)絡(luò)環(huán)境100??赡艽嬖诒镜卦L問服務(wù)器104并不影響本發(fā)明的情況,因此下文中將不再提及。
在成功的身份驗證完成后,身份驗證客戶機(jī)102和身份驗證服務(wù)器106生成一系列的安全密鑰用來加密和驗證它們之間傳遞的信息。安全密鑰由身份驗證客戶機(jī)102的身份驗證信息部分生成。加密和身份驗證是必須的,因為在網(wǎng)絡(luò)環(huán)境100中傳遞的所有消息都會被惡意的偷聽者108截獲。偷聽者108截獲到消息并且使用統(tǒng)計方法來嘗試取得用來保護(hù)消息的安全密鑰。由于這種攻擊方法的統(tǒng)計學(xué)特征,分析更多的加密信息將提高攻擊的成功率。為了阻止這種統(tǒng)計分析攻擊,身份驗證客戶機(jī)102和身份驗證服務(wù)器106需要在偷聽者108截獲足夠的消息來取得安全密鑰之前迅速地更改安全密鑰。
已有一些方法用來更改安全密鑰。例如,在每次身份驗證中生成“即時”(liveness)信息,比如隨機(jī)數(shù)或者時間戳。通過結(jié)合即時信息和身份驗證信息來產(chǎn)生安全密鑰,每次成功的身份驗證將產(chǎn)生一組不同的安全密鑰。如果這些身份驗證信息被破譯,那么安全密鑰就很容易受到攻擊。為了防止這樣的情況,身份驗證信息需要不時地更換,就像從身份驗證信息生成的安全密鑰也需要經(jīng)常更換那樣。
更改身份驗證客戶機(jī)102的身份驗證信息并不象看起來那樣簡單。身份驗證信息很容易在身份驗證客戶機(jī)102上更改,但為了讓更改有效,身份驗證信息的更改必須與身份驗證服務(wù)器106保持一致。否則,身份驗證服務(wù)器106將要求身份驗證客戶機(jī)102證明其知道的原來身份驗證信息。(如下面所述,身份驗證服務(wù)器106可以在不知道身份驗證信息本身的情況下檢驗身份驗證客戶機(jī)102是否擁有身份驗證信息。)一種讓密碼更改保持一致的簡單方法是將身份驗證信息通過通訊連接傳送給身份驗證服務(wù)器106。然而假設(shè)有偷聽者108存在,這種方法會很不安全。其他現(xiàn)有的讓密碼更改保持一致的方法通常包括“連接外”通訊(不使用計算機(jī)通訊連接的方法)。雖然這種方法比較安全,但是它用起來太繁瑣,尤其是身份驗證服務(wù)器的物理位置離身份驗證客戶機(jī)很遠(yuǎn)的時候,因此經(jīng)常改變身份驗證信息很不方便。本發(fā)明提供一種安全但不繁瑣的方法,讓身份驗證客戶機(jī)102和身份驗證服務(wù)器106設(shè)置新的身份驗證信息。
圖1中身份驗證客戶機(jī)102可以是任何結(jié)構(gòu)。圖2是一張方框圖,展示一個支持本發(fā)明的計算機(jī)系統(tǒng)的例子。圖2中的計算機(jī)系統(tǒng)只是適用環(huán)境中的一個例子,并不意味著限制本發(fā)明應(yīng)用的范圍和功能。也不應(yīng)認(rèn)為身份驗證客戶機(jī)102依賴于圖2中展示的一個或多個組件。本發(fā)明可以用在很多其他的通用或?qū)S糜嬎悱h(huán)境或配置中。適用于本發(fā)明的常用計算系統(tǒng),環(huán)境和配置的例子包括,但不僅限于個人電腦,服務(wù)器,手持設(shè)備或筆記本電腦,多處理器系統(tǒng),基于多處理器的系統(tǒng),機(jī)頂盒,可編程消費(fèi)者電子產(chǎn)品,網(wǎng)絡(luò)PC,小型機(jī),大型機(jī),以及包含上述任何系統(tǒng)或設(shè)備的分布式計算環(huán)境。身份驗證客戶機(jī)102在它的典型基本配置中一般包括至少一個處理器200和存儲器202。存儲器202可以是易失的(如RAM),不易失的(如ROM或閃存),或兩者的組合。這種基本設(shè)置在圖2中用虛線204標(biāo)出。身份驗證客戶機(jī)102可能會有其他的特性和功能。例如,身份驗證102可能會包含附加的存儲器(可移動的和不可移動的),這些存儲器包括但不僅限于磁盤,光盤和磁帶。這樣的附加存儲在圖2中用可移動存儲206和不可移動存儲208表示。計算機(jī)存儲媒介包括易失的的和不易失的,可移動的和不可移動的媒介,這些媒介用任何方法或技術(shù)來實現(xiàn),用以存儲象計算機(jī)可讀的指令,數(shù)據(jù)結(jié)構(gòu),程序模塊,其他數(shù)據(jù)這樣的信息。存儲器202,可移動存儲器206和不可移動存儲器208都是計算機(jī)存儲媒介的例子。計算機(jī)存儲媒介包括但不僅限于RAM,ROM,EEPROM,閃存,其他存儲技術(shù),CD-ROM,數(shù)字通用盤,其他光學(xué)存儲,盒式磁帶,磁帶,磁盤,其他磁媒介存儲設(shè)備,以及其他任何可以用來存儲相關(guān)信息并能被身份驗證客戶機(jī)102訪問的媒介。任何這樣的計算機(jī)存儲媒介都可以作為身份驗證客戶機(jī)102的一部分。身份驗證客戶機(jī)102還可能包含用來和其他設(shè)備通訊的通訊通道210。通訊通道210是各種各樣的通訊媒介。通訊媒介通常包含計算機(jī)可讀的指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其他調(diào)制過的數(shù)據(jù)信號,如載波或其他傳輸機(jī)制,還包括任何信息發(fā)送媒介。術(shù)語“調(diào)制過的數(shù)據(jù)信號”指一種信號,它的一個或多個特征被設(shè)置或改變用來對信息進(jìn)行編碼。作為一個例子,而不加限制,通訊媒介包括光學(xué)媒介,有線媒介,如有線網(wǎng)絡(luò)或直接有線連接,以及無線媒介如聲音,RF,紅外線,其他無線媒介。這里所用的術(shù)語“計算機(jī)可讀的媒介”包括存儲媒介和通訊媒介。身份驗證客戶機(jī)還可能包含輸入設(shè)備212,如鍵盤,鼠標(biāo),筆,語音輸入設(shè)備,觸摸輸入設(shè)備等等,輸出設(shè)備214,如顯示器,音箱,和打印機(jī)。所有這些設(shè)備在技術(shù)中都是眾所周知的,因此無需在這里詳細(xì)敘述。
數(shù)據(jù)流圖3a到3c展示了一個使用本發(fā)明的例子。步驟300到308做準(zhǔn)備工作。在步驟300和302,身份驗證客戶機(jī)102和身份驗證服務(wù)器106通過已有的身份驗證技術(shù)互相驗證身份。作為一種適合的身份驗證技術(shù),參照IETF RFC(因特網(wǎng)工程任務(wù)組因特網(wǎng)標(biāo)準(zhǔn)草案)2945,“SRP身份驗證和密鑰交換系統(tǒng)”,其中有對此完整的描述。雖然步驟300和302提到相互身份驗證,但下文主要描述在一個方向的身份驗證中更新身份驗證信息。在下面的例子中,主要描述身份驗證客戶機(jī)102向身份驗證服務(wù)器106進(jìn)行身份驗證。因為本發(fā)明所述的方法同樣適用于身份驗證服務(wù)器106向身份驗證客戶機(jī)102進(jìn)行身份驗證,這個方向的身份驗證就不再贅述。
身份驗證客戶機(jī)102在步驟300中用到的身份驗證信息包含一個密碼。該密碼的值可能不存儲在身份驗證客戶機(jī)102上,而是由身份驗證客戶機(jī)102的用戶輸入,該用戶還提供一個用戶名,以期通過身份驗證服務(wù)器106的身份驗證。為安全起見,身份驗證服務(wù)器106并不知道該密碼的值。然而身份驗證服務(wù)器106知道由該密碼生成的一個“密碼驗證信息”的值。身份驗證服務(wù)器106保存著密碼驗證信息和相關(guān)的用戶名。(因為密碼驗證信息是和用戶名而非身份驗證客戶機(jī)102的標(biāo)識存儲在一起,所以說該用戶通過了身份驗證比身份驗證客戶機(jī)102通過了身份驗證更為恰當(dāng)。例如,如果該用戶移到了另外一臺客戶機(jī)并使用相同的用戶名和密碼,身份驗證方法也將照常工作。然而,為了方便說明,本說明將繼續(xù)使用身份驗證客戶機(jī)102向身份驗證服務(wù)器106進(jìn)行身份驗證的說法。) 下面參照圖3b的步驟316,用一個例子說明如何從密碼生成密碼驗證信息。對這里的生成過程,只要知道它是“確定的”和“不可逆的”就可以了。確定是指在生成過程中沒有隨機(jī)性,亦即當(dāng)生成過程的輸入(包括密碼和其他可能的值)已確定,那么輸出(密碼驗證信息)是確定的。生成過程是不可逆的是指已知生成過程的輸出不能得到生成過程的輸入。更強(qiáng)的定義是指即使有人知道了密碼驗證信息和生成過程中除了密碼之外的其他所有輸入,他還是不能得到密碼。這些屬性意味著使用身份驗證過程的方法時,只有知道密碼本身才能夠成功地以身份驗證客戶機(jī)102的身份通過身份驗證。在身份驗證的過程中,身份驗證服務(wù)器106用它所知的密碼驗證信息來確定身份驗證客戶機(jī)102是否知道相應(yīng)的密碼。
從密碼生成密碼驗證信息的其他輸入在身份驗證客戶機(jī)102和身份驗證服務(wù)器106之間共享。因為只知道這些輸入信息但不知道密碼并不足以得到密碼驗證信息。這些輸入信息可以在身份驗證過程開始之前公開化,甚至可以作為一個公共標(biāo)準(zhǔn)身份驗證協(xié)議的參數(shù)。
作為身份驗證過程的一個結(jié)果,身份驗證客戶機(jī)102在步驟304中,身份驗證服務(wù)器106在步驟306中,都得到了一組安全密鑰。身份驗證客戶機(jī)102從密碼生成安全密鑰,身份驗證服務(wù)器106從密碼驗證信息生成安全密鑰。成功的身份驗證過程確保這兩個設(shè)備生成的安全密鑰是一樣的。作為一個例子說明身份驗證過程如何確保生成同樣的安全密鑰,安全密鑰又是如何生成,請參考IETF RFC2246“TLS協(xié)議”,其中有對此完整的描述。
安全密鑰的生成還包含共享于其中有對此完整的驗證客戶機(jī)102和其中有對此完整的驗證服務(wù)器106之間的即時信息。在生成過程中使用共享的即時信息將在每次身份驗證客戶機(jī)102向身份驗證服務(wù)器106進(jìn)行身份驗證時生成不同的安全密鑰。不然,身份驗證客戶機(jī)102將在每次通過身份驗證后使用相同的安全密鑰。知道這一信息時,偷聽者108可以在身份驗證客戶機(jī)102通過身份驗證后繼續(xù)它的統(tǒng)計分析攻擊,把新截獲的消息和在身份驗證客戶機(jī)102以前的會話中截獲的消息一起用來進(jìn)行分析。
安全密鑰通常包括加密密鑰(可能是共享的或一對單向密鑰)和身份驗證密鑰。當(dāng)身份驗證客戶機(jī)102和身份驗證服務(wù)器106生成安全密鑰后,它們就可以在步驟308中使用這些密鑰來保護(hù)它們之間的通訊。使用安全密鑰的例子參照圖3b中的步驟312和步驟318加以說明。當(dāng)然,當(dāng)身份驗證客戶機(jī)102和身份驗證服務(wù)器106在步驟308中開始用安全密鑰進(jìn)行通訊時,偷聽者108也可以開始截獲通訊中的消息并且用統(tǒng)計分析攻擊來嘗試取得安全密鑰(沒有標(biāo)出)。
在步驟310中,身份驗證服務(wù)器106決定設(shè)置一個新密碼。作出這個決定的原因一般包括當(dāng)前密碼已經(jīng)使用的時間長短,當(dāng)前密碼使用下的通訊信息量,以及網(wǎng)絡(luò)環(huán)境100的內(nèi)在安全性。無線網(wǎng)絡(luò)通常對偷聽者是開放的,因此無線網(wǎng)絡(luò)中使用的密碼需要定期更換。在這些情形中,一旦決定身份驗證客戶機(jī)102的密碼需要更改,身份驗證服務(wù)器106采取步驟312來發(fā)送一個請求。注意“請求”可能是這個語境下一種委婉的說法如果身份驗證客戶機(jī)102在改變它的密碼時停止響應(yīng),身份驗證服務(wù)器106可能會停用當(dāng)前的密碼,阻止身份驗證客戶機(jī)102通過身份驗證。
如上述對身份驗證過程的步驟300和302的說明,生成新密碼驗證信息可能使用除新密碼本身以外的其他輸入。身份驗證服務(wù)器106可能在發(fā)送更改密碼請求的同時發(fā)送新的值作為其他輸入。使用新的其他輸入并不是必須的,因為從新密碼生成新的密碼驗證信息時可以使用上次密碼更改時的其他輸入。然而,同時更改至少一部分其他輸入的值將能夠提高安全性。步驟312中具體的其他輸入例子(素數(shù)模數(shù),生成器,獨立終端(salt))參照步驟316在下面加以說明。為了得到額外的安全性,這些值可以用步驟306中生成的安全密鑰來加密。如果一個更改密碼的請求中包括任何的其他輸入,那么一個有關(guān)新的其他輸入的消息驗證碼也將被發(fā)送。消息驗證碼是其他輸入的一個不可逆的散列函數(shù),身份驗證客戶機(jī)102使用消息驗證碼來檢驗從身份驗證服務(wù)器106發(fā)來的更改密碼請求的內(nèi)容是否原封不動地收到。用這樣的方法來生成消息驗證碼的例子可以在IETF RFC2104,“HMAC用帶密鑰的哈希來進(jìn)行消息驗證”找到,其中有對此完整的描述。
身份驗證客戶機(jī)102收到更改密碼請求和新的其他輸入的值(如果有的話)。如果有新的其他輸入,那么將校驗消息驗證碼。如果校驗失敗,那么更改密碼請求將被忽略。否則,新的其他輸入值將被用同樣的安全密鑰來加密,并保存待將來使用。在步驟314中,身份驗證客戶機(jī)314要求它的用戶輸入一個新密碼。例如,身份驗證客戶機(jī)314可以采取通用的步驟讓用戶先輸入原來的密碼驗證身份,然后輸入兩次新密碼來確認(rèn)。在一些實例中,新密碼在被接受前會被不同的原則來檢驗。這些原則可能包含熟悉的“至少8個字符長”,“必須包含字母和數(shù)字”,“必須不是標(biāo)準(zhǔn)字典里的詞”,“不能是最近使用過的密碼的一個排列”,“不要用配偶或?qū)櫸锏拿帧钡鹊取?br>
當(dāng)用戶通過了身份驗證客戶機(jī)102提出的檢驗原則創(chuàng)建了新的密碼,身份驗證客戶機(jī)102在步驟316中從新密碼生成新的密碼驗證信息。如上所述,生成的過程必須是確定的和不可逆的。IETF RFC2945提供了下面的生成方法來滿足這兩個要求密碼驗證信息=G^SHA(獨立終端|SHA(用戶名|“”|密碼))%P這里SHA(安全哈希算法)是一個著名的散列函數(shù);獨立終端是一個隨機(jī)數(shù),和身份驗證服務(wù)器106共享。
|是字符串拼接操作符;用戶名和密碼由身份驗證客戶機(jī)102上的用戶輸入;“”是包含冒號的一個字符串;^是指數(shù)操作符;%是取模(取整數(shù)余數(shù))操作符;P是一個“素數(shù)模數(shù)”,為一個大素數(shù)(為安全起見,至少512比特),和身份驗證服務(wù)器106共享;G是一個P的生成器,和身份驗證服務(wù)器106共享。這是指對任意小于P的自然數(shù)A,總存在另一個數(shù)B使得G^B%P=A。
如果身份驗證服務(wù)器106在步驟312中發(fā)送了新的值作為素數(shù)模數(shù),生成器,或者獨立終端,那么這些新的值將被用來生成密碼驗證信息。
身份驗證客戶機(jī)102將新的密碼驗證信息用步驟306中生成的安全密鑰加密,加上消息驗證碼,然后在步驟318中發(fā)送給身份驗證服務(wù)器106。當(dāng)密碼驗證信息成功發(fā)送后,它在身份驗證客戶機(jī)102上已經(jīng)沒有意義,可以丟棄。身份驗證服務(wù)器106校驗消息驗證碼,用加密新的密碼驗證信息的同一個安全密鑰解密得到它,然后把它和相關(guān)的用戶名以及生成過程中用到的已經(jīng)改變了的其他輸入一起保存。在一些實例中,素數(shù)模數(shù)和生成器很少改變,但每次改變密碼時都會生成新的獨立終端。
如果過了一段時間身份驗證服務(wù)器106沒有收到更改密碼請求的響應(yīng)的話,它會再次發(fā)送更改密碼請求。如上所述,幾次更改密碼的嘗試失敗后,身份驗證服務(wù)器106會停用當(dāng)前的密碼。
讓身份驗證信息的更改保持一致的過程時完整的。為安全起見,建議身份驗證客戶機(jī)102立即使用新的身份驗證信息重新通過步驟320向身份驗證服務(wù)器106進(jìn)行身份驗證。如果重新身份驗證得到通過,那么通過步驟324和326,并行的步驟304和306,身份驗證客戶機(jī)102和身份驗證服務(wù)器106分別基于新的身份驗證信息生成一組新的安全密鑰。在步驟328中,新的安全密鑰被用來保護(hù)通訊。新密碼和新的密碼驗證信息將一直用作身份驗證信息直到身份驗證服務(wù)器106回到步驟310再次決定更改密碼。
注意本發(fā)明使用的方法能夠在不打斷身份驗證客戶機(jī)102和身份驗證服務(wù)器106之間的通訊的情況下更改身份驗證信息。這兩個設(shè)備一直使用原來的安全密鑰直到新的一組安全密鑰通過新的身份驗證信息生成。
身份驗證客戶機(jī)102和身份驗證服務(wù)器106之間使用的通訊協(xié)議決定實際上在步驟312和318中發(fā)送信息使用的格式。圖4給出兩種數(shù)據(jù)結(jié)構(gòu)的例子,項400是更改密碼請求的消息,項402是更改密碼回應(yīng)的消息。圖4僅給出了例子信息中的數(shù)據(jù)元素使用的通訊協(xié)議可能會給數(shù)據(jù)元素加上頭和尾。作為例子,這兩種消息可以用兩個EAP-SRP(可擴(kuò)展身份驗證協(xié)議-安全遠(yuǎn)程密碼)消息來實現(xiàn)。EAP-SRP同時也定義了廠商相關(guān)的消息,這種消息可以用來傳送這些數(shù)據(jù)元素。其他通訊協(xié)議也提供類似的功能。
考慮到本發(fā)明的原則可以應(yīng)用到的很多可能的實例,應(yīng)該認(rèn)為這里通過
的實例僅用于說明,不應(yīng)認(rèn)為這些說明對本發(fā)明應(yīng)用的范圍有任何限制。本領(lǐng)域的普通技術(shù)人員應(yīng)知道這里的一些實施細(xì)節(jié),如數(shù)據(jù)元素的大小和消息格式,是由特定的環(huán)境里選擇的協(xié)議來決定的,并且這些信息可以從公開的標(biāo)準(zhǔn)中找到。雖然本發(fā)明是用軟件模塊或組件的術(shù)語來說明的,一些處理,特別是加密方法,也可以用硬件組件來完成。因此,本發(fā)明試圖試圖涵蓋所有符合下述權(quán)利要求特征和與其等價技術(shù)方案實例。
權(quán)利要求
1.一種在包含一個身份驗證客戶機(jī)和身份驗證服務(wù)器的計算環(huán)境中,身份驗證客戶機(jī)已經(jīng)向身份驗證服務(wù)器通過身份驗證,身份驗證客戶機(jī)進(jìn)行身份驗證基于一個身份驗證客戶機(jī)已知的密碼、身份驗證服務(wù)器已知的對應(yīng)于該密碼的碼驗證信息、身份驗證客戶機(jī)和身份驗證服務(wù)器都已知的一個用戶名、原來的素數(shù)模數(shù)、原來的素數(shù)模數(shù)生成器和原來的獨立終端,設(shè)置新密碼的方法,其特征在于,所述方法包括由身份驗證服務(wù)器發(fā)起的請求,請求身份驗證客戶機(jī)更改它的密碼;由身份驗證服務(wù)器使新的獨立終端能夠被身份驗證客戶機(jī)訪問到;身份驗證客戶機(jī)的一個用戶在身份驗證客戶機(jī)上請求和接收一個新的密碼;在身份驗證客戶機(jī)上計算新的密碼驗證信息,新的獨立終端和用戶名作為計算的輸入;通過身份驗證客戶機(jī)使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到;及將用戶名,新的密碼驗證信息和新的獨立終端保存在身份驗證服務(wù)器。
2.照如權(quán)利要求1所述的方法,其特征在于,所述請求身份驗證客戶機(jī)更改它的密碼包括發(fā)送一個EAP-SRP(可擴(kuò)展身份驗證協(xié)議-安全遠(yuǎn)程密碼)服務(wù)器更改密碼消息,所述身份驗證客戶機(jī)使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到時,發(fā)送一個EAP-SRP客戶機(jī)更改密碼消息。
3.如權(quán)利要求1所述的方法,其特征在于,所述請求身份驗證客戶機(jī)更改它的密碼包括發(fā)送一個廠商相關(guān)的EAP-SRP更改密碼請求消息,所述身份驗證客戶機(jī)使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到時,發(fā)送一個廠商相關(guān)的EAP-SRP更改密碼響應(yīng)消息。
4.如權(quán)利要求1所述的方法,其特征在于,所述新的獨立終端和原來的獨立終端一樣并且所述身份驗證服務(wù)器使新的獨立終端能夠被身份驗證客戶機(jī)訪問到包括在要求身份驗證客戶機(jī)更改它的密碼時先和身份驗證客戶機(jī)共享新的獨立終端。
5.如權(quán)利要求1所述的方法,其特征在于,所述新的獨立終端和原來的獨立終端不一樣并且所述身份驗證服務(wù)器使新的獨立終端能夠被身份驗證客戶機(jī)訪問到包括使用下面技術(shù)中的一種發(fā)一個包含新獨立終端的消息給身份驗證客戶機(jī);把新獨立終端放在一個身份驗證服務(wù)器和身份驗證客戶機(jī)都能訪問到的地方;從而在要求身份驗證客戶機(jī)更改它的密碼時先和身份驗證客戶機(jī)共享新的獨立終端。
6.如權(quán)利要求5所述的方法,其特征在于,所述身份驗證服務(wù)器使新的獨立終端能夠被身份驗證客戶機(jī)訪問到,還包括由身份驗證服務(wù)器計算出第一個包含新獨立終端的消息驗證碼,第一個消息驗證碼基于身份驗證客戶機(jī)進(jìn)行身份驗證時生成的、身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用的密鑰;由身份驗證服務(wù)器使第一個消息驗證碼讓身份驗證客戶機(jī)訪問到;及由身份驗證客戶機(jī)生成第二個包含新獨立終端的消息驗證碼,第二個消息驗證碼基于身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用的密鑰;及所述請求和接收新密碼和生成新的密碼驗證信息,使能新的密碼驗證信息夠被訪問到,而保存新的密碼驗證信息僅在第一個消息驗證碼和第二個消息驗證碼匹配時進(jìn)行。
7.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括用原來的素數(shù)模數(shù)和原來的素數(shù)模數(shù)生成器作為進(jìn)一步計算的輸入。
8.如權(quán)利要求7所述的方法,其特征在于,所述在身份驗證客戶機(jī)上計算一個新的密碼驗證信息,包括用一個散列函數(shù)的結(jié)果作為第一個中間結(jié)果值,這個散列函數(shù)的輸入包含用戶名和新密碼;用一個散列函數(shù)的結(jié)果作為第二個中間結(jié)果值,這個散列函數(shù)的輸入包含新獨立終端和第一個中間結(jié)果值;用原來的生成器為底數(shù)第二個中間結(jié)果值為指數(shù)的冪作為第三個中間結(jié)果值;及用第三個中間結(jié)果值以原來的素數(shù)模數(shù)取模作為新的密碼驗證信息。
9.如權(quán)利要求1所述的方法,其特征在于,所述身份驗證客戶機(jī)使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到,包括在身份驗證客戶機(jī)上用身份驗證客戶機(jī)進(jìn)行身份驗證時生成的身份驗證服務(wù)器到身份驗證客戶機(jī)的密鑰對新的密碼驗證信息加密;由身份驗證客戶機(jī)使加密過的密碼驗證信息能夠被身份驗證服務(wù)器訪問到;及在身份驗證服務(wù)器上用身份驗證服務(wù)器對身份驗證客戶機(jī)的密鑰對加密過的新的密碼驗證信息進(jìn)行解密。
10.如權(quán)利要求9所述的方法,其特征在于,所述身份驗證客戶機(jī)使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到包括在身份驗證客戶機(jī)上計算出包含加密過的新密碼驗證信息的第一個消息驗證碼,第一個消息驗證碼基于身份驗證客戶機(jī)進(jìn)行身份驗證時生成、身份驗證服務(wù)器向身份驗證客戶機(jī)進(jìn)行身份驗證使用的密鑰;由身份驗證客戶機(jī)使第一個消息驗證碼讓身份驗服務(wù)器訪問到;及由身份驗證服務(wù)器計算出第二個包含新的密碼驗證信息的第二個消息驗證碼,第二個消息驗證碼基于身份驗證服務(wù)器向身份驗證客戶機(jī)進(jìn)行身份驗證使用的密鑰;及所述保存用戶名,新的密碼驗證信息和新的獨立終端僅在第一個消息驗證碼和第二個消息驗證碼匹配時進(jìn)行。
11.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括在身份驗證服務(wù)器上將一個定時器與讓身份驗證客戶機(jī)更改它的密碼的請求關(guān)聯(lián);及如果當(dāng)?shù)竭_(dá)定時器設(shè)定的過期時間,身份驗證客戶機(jī)沒有讓新的密碼驗證信息能夠被訪問到,那么在身份驗證客戶機(jī)服務(wù)器上再次請求身份驗證客戶機(jī)客戶機(jī)更改它的密碼。
12.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括身份驗證客戶機(jī)第二次向身份驗證服務(wù)器進(jìn)行身份驗證時,第二次身份驗證基于身份驗證客戶機(jī)已知的新密碼和身份驗證服務(wù)器已知的新密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道的用戶名,原來的素數(shù)模數(shù),原來的素數(shù)模數(shù)生成器和新的獨立終端。
13.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括由身份驗證服務(wù)器使新的素數(shù)模數(shù)和新的素數(shù)模數(shù)生成器能夠被身份驗證客戶機(jī)訪問到。
14.如權(quán)利要求13所述的方法,其特征在于,所述使新的獨立終端,新的素數(shù)模數(shù),和新的素數(shù)模數(shù)生成器能夠被身份驗證客戶機(jī)訪問到包括由身份驗證服務(wù)器計算出第一個包含新的獨立終端、新的素數(shù)模數(shù)、和新的素數(shù)模數(shù)生成器的消息驗證碼,基于身份驗證客戶機(jī)進(jìn)行身份驗證時生成的身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用密鑰的第一個消息驗證碼;由身份驗證服務(wù)器使第一個消息驗證碼能夠被身份驗證客戶機(jī)訪問到;及由身份驗證客戶機(jī)生成第二個包含新的獨立終端,新的素數(shù)模數(shù),和新的素數(shù)模數(shù)生成器的消息驗證碼,第二個消息驗證碼基于身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用的密鑰;及所述請求和接收新密碼和計算出新的密碼驗證信息,使能新的密碼驗證信息夠被訪問到,且保存新的密碼驗證信息僅在第一個消息驗證碼和第二個消息驗證碼匹配時進(jìn)行。
15.如權(quán)利要求13所述的方法,其特征在于,進(jìn)一步包括用新的素數(shù)模數(shù)和新的素數(shù)模數(shù)生成器作為進(jìn)一步計算的輸入。
16.如權(quán)利要求15所述的方法,其特征在于,所述在身份驗證客戶機(jī)上計算一個新的密碼驗證信息包括用一個散列函數(shù)的結(jié)果作為第一個中間結(jié)果值,這個散列函數(shù)的輸入包含用戶名和新密碼;用一個散列函數(shù)的結(jié)果作為第二個中間結(jié)果值,這個散列函數(shù)的輸入包含新獨立終端和第一個中間結(jié)果值;用新的生成器為底數(shù)第二個中間結(jié)果值為指數(shù)的冪作為第三個中間結(jié)果值;及用第三個中間結(jié)果值以新的素數(shù)模數(shù)取模作為新的密碼驗證信息。
17.如權(quán)利要求13所述的方法,其特征在于,進(jìn)一步包括身份驗證客戶機(jī)第二次向身份驗證服務(wù)器進(jìn)行身份驗證時,第二次身份驗證基于身份驗證客戶機(jī)知道的新密碼,身份驗證服務(wù)器知道的新密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道的用戶名、新的素數(shù)模數(shù)、新的素數(shù)模數(shù)生成器和新的獨立終端。
18.一種計算機(jī)可讀的媒介,這種媒介包含實現(xiàn)一種設(shè)置新密碼的方法的指令,身份驗證客戶機(jī)已經(jīng)向身份驗證服務(wù)器進(jìn)行身份驗證,身份驗證客戶機(jī)進(jìn)行身份驗證基于身份驗證客戶機(jī)知道原來的密碼,身份驗證服務(wù)器知道原來的密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道用戶名,原來的素數(shù)模數(shù),原來的素數(shù)生成器和原來的獨立終端,其特征在于,所述方法包括由身份驗證服務(wù)器發(fā)起的請求,請求身份驗證客戶機(jī)更改它的密碼;由身份驗證服務(wù)器使新的獨立終端能夠被身份驗證客戶機(jī)訪問到;身份驗證客戶機(jī)的一個用戶在身份驗證客戶機(jī)上請求和接收一個新的密碼;在身份驗證客戶機(jī)上計算新的密碼驗證信息,新的獨立終端和用戶名作為計算的輸入;由身份驗證客戶機(jī)使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到;及將用戶名,新的密碼驗證信息和新的獨立終端保存在身份驗證服務(wù)器。
19.一種在包含一個身份驗證客戶機(jī)和身份驗證服務(wù)器的計算環(huán)境中,身份驗證客戶機(jī)已經(jīng)向身份驗證服務(wù)器通過身份驗證,身份驗證客戶機(jī)進(jìn)行身份驗證基于一個身份驗證客戶機(jī)已知的密碼、身份驗證服務(wù)器已知的對應(yīng)于該密碼的碼驗證信息、身份驗證客戶機(jī)和身份驗證服務(wù)器都已知的一個用戶名、原來的素數(shù)模數(shù)、原來的素數(shù)模數(shù)生成器和原來的獨立終端,由身份驗證服務(wù)器使身份驗證客戶機(jī)設(shè)置新密碼的方法,其特征在于,所述方法包括請求身份驗證客戶機(jī)更改它的密碼;使新的獨立終端能夠被身份驗證客戶機(jī)訪問到;從身份驗證客戶機(jī)接收新的密碼驗證信息;及保存用戶名,新的密碼驗證信息和新的獨立終端。
20.如權(quán)利要求19所述的方法,其特征在于,所述請求身份驗證客戶機(jī)更改它的密碼包括發(fā)送一個EAP-SRP(可擴(kuò)展身份驗證協(xié)議-安全遠(yuǎn)程密碼)服務(wù)器更改密碼消息,所述從身份驗證客戶機(jī)接收新的密碼驗證信息包括接收一個EAP-SRP客戶機(jī)更改密碼消息。
21.如權(quán)利要求19所述的方法,其特征在于,所述請求身份驗證客戶機(jī)更改它的密碼包括發(fā)送一個廠商相關(guān)的EAP-SRP更改密碼請求消息,所述從身份驗證客戶機(jī)接收新的密碼驗證信息包括接收一個廠商相關(guān)的EAP-SRP更改密碼響應(yīng)消息。
22.如權(quán)利要求19所述的方法,其特征在于,所述新的獨立終端和原來的獨立終端一樣并且所述使新的獨立終端能夠被身份驗證客戶機(jī)訪問到包括在要求身份驗證客戶機(jī)更改它的密碼時先和身份驗證客戶機(jī)共享新的獨立終端。
23.如權(quán)利要求19所述的方法,其特征在于,所述新的獨立終端和原來的獨立終端不一樣并且所述使新的獨立終端能夠被身份驗證客戶機(jī)訪問到包括使用下面技術(shù)中的一種發(fā)一個包含新獨立終端的消息給身份驗證客戶機(jī);把新獨立終端放在一個身份驗證服務(wù)器和身份驗證客戶機(jī)都能訪問到的地方;從而在要求身份驗證客戶機(jī)更改它的密碼時先和身份驗證客戶機(jī)共享新的獨立終端。
24.如權(quán)利要求23所述的方法,其特征在于,所述使新的獨立終端能夠被身份驗證客戶機(jī)訪問到,進(jìn)一步包括計算出一個包含新獨立終端的消息驗證碼(MAC),這個消息驗證碼基于身份驗證客戶機(jī)進(jìn)行身份驗證時生成的身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用的密鑰;及使這個消息驗證碼能夠被身份驗證客戶機(jī)訪問到。
25.如權(quán)利要求19所述的方法,其特征在于,所述從身份驗證客戶機(jī)接收新的密碼驗證信息包括從身份驗證客戶機(jī)接收加密過的密碼驗證信息;及用身份驗證服務(wù)器對身份驗證客戶機(jī)的密鑰對加密過的新的密碼驗證信息進(jìn)行解密。
26.如權(quán)利要求25所述的方法,其特征在于,所述從身份驗證客戶機(jī)接收新的密碼驗證信息進(jìn)一步包括從身份驗證客戶機(jī)接收一個消息驗證碼;及計算出一個包含新的密碼驗證信息的消息驗證碼,這個消息驗證碼基于身份驗證客戶機(jī)進(jìn)行身份驗證時生成的身份驗證服務(wù)器對身份驗證客戶機(jī)進(jìn)行身份驗證使用的密鑰;及所述保存用戶名,新的密碼驗證信息和新的獨立終端僅在收到的消息驗證碼和計算出的消息驗證碼匹配時進(jìn)行。
27.如權(quán)利要求19所述的方法,其特征在于,進(jìn)一步包括將一個定時器與讓身份驗證客戶機(jī)更改它的密碼的請求關(guān)聯(lián);及如果當(dāng)?shù)竭_(dá)定時器設(shè)定的過期時間,沒有從身份驗證客戶機(jī)接收到新的密碼驗證信息,那么再次請求身份驗證客戶機(jī)客戶機(jī)更改它的密碼。
28.如權(quán)利要求19所述的方法,其特征在于,進(jìn)一步包括身份驗證客戶機(jī)第二次向身份驗證服務(wù)器進(jìn)行身份驗證時,第二次的身份驗證基于身份驗證客戶機(jī)知道的新密碼,身份驗證服務(wù)器知道的新密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道的用戶名、原來的素數(shù)模數(shù)、原來的素數(shù)模數(shù)生成器和新的獨立終端。
29.如權(quán)利要求19所述的方法,其特征在于,進(jìn)一步包括使新的素數(shù)模數(shù)和新的素數(shù)模數(shù)生成器能夠被身份驗證客戶機(jī)訪問到。
30.如權(quán)利要求29所述的方法,其特征在于,所述使新的獨立終端,新的素數(shù)模數(shù),和新的素數(shù)模數(shù)生成器能夠被身份驗證客戶機(jī)訪問到包括計算出一個包含新的獨立終端,新的素數(shù)模數(shù),和新的素數(shù)模數(shù)生成器的消息驗證碼,這個消息驗證碼基于身份驗證客戶機(jī)進(jìn)行身份驗證時生成的身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用的密鑰;及使這個消息驗證碼能夠被身份驗證客戶機(jī)訪問到。
31.如權(quán)利要求29所述的方法,其特征在于,進(jìn)一步包括身份驗證客戶機(jī)第二次向身份驗證服務(wù)器進(jìn)行身份驗證使,第二次身份驗證基于身份驗證客戶機(jī)知道的新密碼,身份驗證服務(wù)器知道的新密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道的用戶名、新的素數(shù)模數(shù)、新的素數(shù)模數(shù)生成器和新的獨立終端。
32.一種計算機(jī)可讀的媒介,這種媒介包含實現(xiàn)一種由身份驗證服務(wù)器使身份驗證客戶機(jī)設(shè)置新密碼的方法的指令,身份驗證客戶機(jī)已經(jīng)向身份驗證服務(wù)器進(jìn)行身份驗證,身份驗證客戶機(jī)進(jìn)行身份驗證基于身份驗證客戶機(jī)知道原來的密碼,身份驗證服務(wù)器知道原來的密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道用戶名,原來的素數(shù)模數(shù),原來的素數(shù)生成器和原來的獨立終端,其特征在于,所述方法包括請求身份驗證客戶機(jī)更改它的密碼;使新的獨立終端能夠被身份驗證客戶機(jī)訪問到;從身份驗證客戶機(jī)接收新的密碼驗證信息;及保存用戶名,新的密碼驗證信息和新的獨立終端。
33.一種在包含一個身份驗證客戶機(jī)和身份驗證服務(wù)器的計算環(huán)境中,身份驗證客戶機(jī)已經(jīng)向身份驗證服務(wù)器通過身份驗證,身份驗證客戶機(jī)進(jìn)行身份驗證基于一個身份驗證客戶機(jī)已知的密碼、身份驗證服務(wù)器已知的對應(yīng)于該密碼的碼驗證信息、身份驗證客戶機(jī)和身份驗證服務(wù)器都已知的一個用戶名、原來的素數(shù)模數(shù)、原來的素數(shù)模數(shù)生成器和原來的獨立終端,由身份驗證客戶機(jī)設(shè)置新密碼的方法,其特征在于,所述方法包括從身份驗證服務(wù)器接收讓身份驗證客戶機(jī)更改密碼的請求;從身份驗證服務(wù)器接收新的獨立終端;從身份驗證客戶機(jī)的一個用戶請求和接收一個新密碼;計算新的密碼驗證信息,新的獨立終端和用戶名作為計算的輸入;及使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到。
34.如權(quán)利要求33所述的方法,其特征在于,所述從身份驗證服務(wù)器接收讓身份驗證客戶機(jī)更改密碼的請求包括接收一個EAP-SRP服務(wù)器更改密碼消息。所述使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到包括發(fā)送一個EAP-SRP客戶機(jī)更改密碼消息。
35.如權(quán)利要求33所述的方法,其特征在于,所述從身份驗證服務(wù)器接收讓身份驗證客戶機(jī)更改密碼的請求包括接收一個廠商相關(guān)的EAP-SRP更改密碼請求消息。所述使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到包括發(fā)送一個廠商相關(guān)的EAP-SRP更改密碼響應(yīng)消息。
36.如權(quán)利要求33所述的方法,其特征在于,所述新的獨立終端和原來的獨立終端一樣并且所述從身份驗證服務(wù)器接收新的獨立終端包括要求身份驗證客戶機(jī)更改它的密碼時先和身份驗證客戶機(jī)共享新的獨立終端。
37.如權(quán)利要求33所述的方法,其特征在于,所述新的獨立終端和原來的獨立終端不一樣并且所述從身份驗證服務(wù)器接收新的獨立終端包括使用下面技術(shù)中的一種發(fā)一個包含新獨立終端的消息給身份驗證客戶機(jī);把新獨立終端放在一個身份驗證服務(wù)器和身份驗證客戶機(jī)都能訪問到的地方;從而在要求身份驗證客戶機(jī)更改它的密碼時先和身份驗證客戶機(jī)共享新的獨立終端。
38.如權(quán)利要求37所述的方法,其特征在于,所述從身份驗證服務(wù)器接收新的獨立終端進(jìn)一步包括從身份驗證服務(wù)器接收到一個消息驗證碼;及計算出一個包含新獨立終端的消息驗證碼,這個消息驗證碼基于身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用的密鑰;及所述計算新的密碼驗證信息和使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到僅在收到的消息驗證碼和計算出的消息驗證碼匹配時進(jìn)行。
39.如權(quán)利要求33所述的方法,其特征在于,進(jìn)一步包括用原來的素數(shù)模數(shù)和原來的素數(shù)模數(shù)生成器作為進(jìn)一步計算的輸入。
40.如權(quán)利要求39所述的方法,其特征在于,所述計算新的密碼驗證信息包括用一個散列函數(shù)的結(jié)果作為第一個中間結(jié)果值,這個散列函數(shù)的輸入包含用戶名和新密碼;用一個散列函數(shù)的結(jié)果作為第二個中間結(jié)果值,這個散列函數(shù)的輸入包含新獨立終端和第一個中間結(jié)果值;用原來的生成器為底數(shù)第二個中間結(jié)果值為指數(shù)的冪作為第三個中間結(jié)果值;及用第三個中間結(jié)果值以原來的素數(shù)模數(shù)取模作為新的密碼驗證信息。
41.如權(quán)利要求33所述的方法,其特征在于,所述使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到包括用身份驗證客戶機(jī)進(jìn)行身份驗證時生成的身份驗證服務(wù)器到身份驗證客戶機(jī)的密鑰對新的密碼驗證信息加密;及使加密過的密碼驗證信息能夠被身份驗證服務(wù)器訪問到。
42.如權(quán)利要求41所述的方法,其特征在于,所述使加密過的密碼驗證信息能夠被身份驗證服務(wù)器訪問到進(jìn)一步包括計算出包含加密過的新密碼驗證信息的消息驗證碼,這個消息驗證碼基于身份驗證客戶機(jī)進(jìn)行身份驗證時生成的身份驗證服務(wù)器向身份驗證客戶機(jī)進(jìn)行身份驗證使用的密鑰;及使這個消息驗證碼能夠被身份驗服務(wù)器訪問到。
43.如權(quán)利要求33所述的方法,其特征在于,進(jìn)一步包括身份驗證客戶機(jī)第二次向身份驗證服務(wù)器進(jìn)行身份驗證時,第二次身份驗證基于身份驗證客戶機(jī)知道的新密碼,身份驗證服務(wù)器知道的新的密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道的用戶名、原來的素數(shù)模數(shù)、原來的素數(shù)模數(shù)生成器和新的獨立終端。
44.如權(quán)利要求33所述的方法,其特征在于,進(jìn)一步包括從身份驗證服務(wù)器接收新的素數(shù)模數(shù)和新的素數(shù)模數(shù)生成器。
45.如權(quán)利要求44所述的方法,其特征在于,所述從身份驗證服務(wù)器接收新的獨立終端、新的素數(shù)模數(shù)和新的素數(shù)模數(shù)生成器包括從身份驗證服務(wù)器接收一個消息驗證碼;及計算出包含新的獨立終端,新的素數(shù)模數(shù),和新的素數(shù)模數(shù)生成器的消息驗證碼,這個消息驗證碼基于身份驗證客戶機(jī)向身份驗證服務(wù)器進(jìn)行身份驗證使用的密鑰;及所述計算新的密碼驗證信息和使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到僅在第收到的消息驗證碼和計算出的消息驗證碼匹配時進(jìn)行。
46.如權(quán)利要求44所述的方法,其特征在于,進(jìn)一步包括用新的素數(shù)模數(shù)和新的素數(shù)模數(shù)生成器作為進(jìn)一步計算的輸入。
47.如權(quán)利要求46所述的方法,其特征在于,所述計算新的密碼驗證信息包括用一個散列函數(shù)的結(jié)果作為第一個中間結(jié)果值,這個散列函數(shù)的輸入包含用戶名和新密碼;用一個散列函數(shù)的結(jié)果作為第二個中間結(jié)果值,這個散列函數(shù)的輸入包含新獨立終端和第一個中間結(jié)果值;用新的生成器為底數(shù)第二個中間結(jié)果值為指數(shù)的冪作為第三個中間結(jié)果值;及用第三個中間結(jié)果值以新的素數(shù)模數(shù)取模作為新的密碼驗證信息。
48.如權(quán)利要求44所述的方法,其特征在于,進(jìn)一步包括身份驗證客戶機(jī)第二次向身份驗證服務(wù)器進(jìn)行身份驗證時,第二次身份驗證基于身份驗證客戶機(jī)知道的新密碼,身份驗證服務(wù)器知道的新密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道的用戶名、新的素數(shù)模數(shù)、新的素數(shù)模數(shù)生成器和新的獨立終端。
49.一種計算機(jī)可讀的媒介,這種媒介包含實現(xiàn)一種由身份驗證客戶機(jī)設(shè)置新密碼的方法的指令,身份驗證客戶機(jī)已經(jīng)向身份驗證服務(wù)器進(jìn)行身份驗證,身份驗證客戶機(jī)進(jìn)行身份驗證基于身份驗證客戶機(jī)知道原來的密碼,身份驗證服務(wù)器知道原來的密碼驗證信息,身份驗證客戶機(jī)和身份驗證服務(wù)器都知道用戶名,原來的素數(shù)模數(shù),原來的素數(shù)生成器和原來的獨立終端,其特征在于,所述方法包括從身份驗證服務(wù)器接收讓身份驗證客戶機(jī)更改密碼的請求;從身份驗證服務(wù)器接收新的獨立終端;從身份驗證客戶機(jī)的一個用戶請求和接收一個新密碼;計算新的密碼驗證信息,新的獨立終端和用戶名作為計算的輸入;及使新的密碼驗證信息能夠被身份驗證服務(wù)器訪問到。
50.一種計算機(jī)可讀的媒介,在上面存儲更改密碼請求的數(shù)據(jù)結(jié)構(gòu),其特征在于,所述更改密碼請求的數(shù)據(jù)結(jié)構(gòu)包括第一個數(shù)據(jù)元素包含表示獨立終端的數(shù)據(jù);第二個數(shù)據(jù)元素包含表示素數(shù)模數(shù)的數(shù)據(jù);第三個數(shù)據(jù)元素包含表示素數(shù)模數(shù)生成器的數(shù)據(jù);及第四數(shù)據(jù)元素包含表示一個消息驗證碼,該消息驗證碼包含獨立終端,素數(shù)模數(shù)和素數(shù)模數(shù)生成器。
51.如權(quán)利要求50的所述更改密碼請求的數(shù)據(jù)結(jié)構(gòu),其特征在于,所述獨立終端,素數(shù)模數(shù),素數(shù)模數(shù)生成器和消息驗證碼格式化為下述一種消息的一部分EAP-SRP服務(wù)器更改密碼消息和廠商相關(guān)的EAP-SRP更改密碼請求消息。
52.一種計算機(jī)可讀的媒介,在上面存儲更改密碼響應(yīng)的數(shù)據(jù)結(jié)構(gòu),其特征在于,所述更改密碼響應(yīng)的數(shù)據(jù)結(jié)構(gòu)包括第一個數(shù)據(jù)元素包含表示密碼驗證信息的數(shù)據(jù);及第二個數(shù)據(jù)元素包含表示一個消息驗證碼,該消息驗證碼包含密碼驗證信息。
53.如權(quán)利要求52的所述更改密碼響應(yīng)的數(shù)據(jù)結(jié)構(gòu),其特征在于,所述密碼驗證信息和消息驗證碼格式化為下述一種消息的一部分EAP-SRP客戶機(jī)更改密碼消息和廠商相關(guān)的EAP-SRP更改密碼響應(yīng)消息。
全文摘要
對已經(jīng)向身份驗證服務(wù)器進(jìn)行身份驗證的身份驗證客戶機(jī),利用已經(jīng)進(jìn)行身份驗證的效果來設(shè)置新的通訊密碼的方法。身份驗證客戶機(jī)從它的用戶那里得到一個新密碼。從新密碼和身份驗證服務(wù)器提供的信息,身份驗證客戶機(jī)生成“密碼驗證信息”,然后與身份驗證服務(wù)器共享這一密碼驗證信息。新密碼本身并不被發(fā)送給身份驗證服務(wù)器,并且實質(zhì)上不可能通過密碼驗證信息得到新密碼。身份驗證客戶機(jī)從新密碼,身份驗證服務(wù)從密碼驗證信息各自生成一組新的身份驗證和加密密鑰??梢灾貜?fù)這個過程來限制在一組特定的安全密鑰下發(fā)送的數(shù)據(jù)量,從而限制統(tǒng)計分析攻擊者的有效性。
文檔編號H04L29/06GK1455341SQ03124168
公開日2003年11月12日 申請日期2003年4月29日 優(yōu)先權(quán)日2002年4月30日
發(fā)明者A·伊亞加里, K·甘諾甘帕蒂, D·R·西蒙, T·M·莫爾, P·巴爾 申請人:微軟公司