專(zhuān)利名稱(chēng):派生種子的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于計(jì)算機(jī)的安全系統(tǒng)領(lǐng)域,并且更為具體地涉及認(rèn) 證密值(secret)的分發(fā)。
背景技術(shù):
在安全系統(tǒng)中,驗(yàn)證器被用來(lái)認(rèn)證,即驗(yàn)證個(gè)人或如計(jì)算機(jī)的其 它實(shí)體的身份。通常請(qǐng)求認(rèn)證的實(shí)體會(huì)例如通過(guò)輸入用戶ID來(lái)向驗(yàn) 證器聲明他們的身份。然后該實(shí)體通常提供一些應(yīng)當(dāng)僅為有效實(shí)體知 道的額外的信息。驗(yàn)證器確定該實(shí)體所提供的信息與有效實(shí)體將提供 的信息是否匹配。當(dāng)實(shí)體已被認(rèn)證時(shí),這意味著驗(yàn)證器已經(jīng)確認(rèn)該實(shí) 體的身份是它所宣稱(chēng)的身份,則該實(shí)體被允許進(jìn)行訪問(wèn),例如在物理 安全系統(tǒng)的情形中允許其物理訪問(wèn)物理場(chǎng)所,或在數(shù)據(jù)安全系統(tǒng)中允 許其電子訪問(wèn)資源或信息(如財(cái)務(wù)記錄、計(jì)算機(jī)數(shù)據(jù)、網(wǎng)絡(luò)訪問(wèn)等)。驗(yàn)證器可以存在多種可能的配置。驗(yàn)證器可以從小鍵盤(pán)、鍵盤(pán)、 讀卡器、攝像機(jī)、麥克風(fēng)、電話和計(jì)算機(jī)網(wǎng)絡(luò)以及其它此類(lèi)數(shù)據(jù)輸入 設(shè)備接收輸入。作為輸出,驗(yàn)證器激活物理機(jī)制、發(fā)送電子數(shù)據(jù)信號(hào)、 配置軟件或釆取此類(lèi)其它動(dòng)作來(lái)提供訪問(wèn)。可以用各種方式來(lái)實(shí)現(xiàn)驗(yàn) 證器,例如實(shí)現(xiàn)為專(zhuān)用電子和/或機(jī)械系統(tǒng),或?qū)崿F(xiàn)為通用計(jì)算機(jī), 其可能但不是必須與專(zhuān)用硬件電子通信。一些驗(yàn)證器使用所獲知或擁有的共享密值來(lái)認(rèn)證實(shí)體。該密值是 "共享的",這是因?yàn)樗沈?yàn)證器和正被認(rèn)證的實(shí)體兩者持有。例如, 所獲知或擁有的個(gè)人身份號(hào)、密碼或密碼短語(yǔ)可
認(rèn)證發(fā)生時(shí),實(shí)體或者揭露該密值或者以其他方式證明獲知或擁有該 密值。如果該實(shí)體表明如特定認(rèn)證系統(tǒng)所要求的那樣獲知或擁有該密 值,則該實(shí)體被認(rèn)證。在一些系統(tǒng)中,實(shí)體使用包括密值的被稱(chēng)為令牌的物理或數(shù)字設(shè) 備。以某種方式存儲(chǔ)在設(shè)備中的密值可為使用該設(shè)備的實(shí)體所獲知或 不獲知。為了證明獲知包括在設(shè)備中的密值, 一些設(shè)備提供基于該設(shè)備中 包括的密值、但與其不同的認(rèn)證碼。使用此種認(rèn)證碼允許設(shè)備在不揭 露密值的情況下表明其獲知密值。在一些系統(tǒng)中,認(rèn)證碼是基于與時(shí) 間有關(guān)的信息的。使用此種設(shè)備的安全益處在于,更難通過(guò)監(jiān)聽(tīng)實(shí)體 與驗(yàn)證器之間的通信通道來(lái)確定該密值,這是因?yàn)槊苤当旧聿⑽幢唤矣蓚€(gè)人使用來(lái)認(rèn)證到驗(yàn)證器的此種設(shè)備的一個(gè)例子是包括認(rèn)證 碼顯示器的令牌。此人從顯示器讀出認(rèn)證碼,并且將該認(rèn)證碼傳輸給 驗(yàn)證器。在此類(lèi)系統(tǒng)中,用戶可能從未獲知共享密值。 一些此類(lèi)令牌接受用戶輸入,例如PIN,并且提供響應(yīng)于該用戶輸入的結(jié)果以及其 它信息(如與時(shí)間有關(guān)的信息)。采用此類(lèi)令牌設(shè)備的一個(gè)缺點(diǎn)是只 有一個(gè)用戶可以使用該令牌來(lái)認(rèn)證到驗(yàn)證器。每個(gè)用戶必須具有他或 她自己的令牌。此類(lèi)令牌中的一個(gè)令牌存儲(chǔ)被稱(chēng)為種子的密值碼,并且將該密值 碼與時(shí)變值和用戶所提供的個(gè)人身份碼數(shù)學(xué)組合,以生成認(rèn)證碼。以 不能從存儲(chǔ)在令牌中的密值碼與當(dāng)前時(shí)間和其它信息加密組合的結(jié) 果中確定該密值碼的方式來(lái)進(jìn)行數(shù)學(xué)組合。在作為挑戰(zhàn)-應(yīng)答 (challenge-response)系統(tǒng)的另一系統(tǒng)中,該挑戰(zhàn)-應(yīng)答系統(tǒng)意味著驗(yàn) 證器傳輸挑戰(zhàn)以供用戶應(yīng)答,該密值碼與該挑戰(zhàn)加密組合以產(chǎn)生發(fā)送 回驗(yàn)證器作為該挑戰(zhàn)的應(yīng)答的輸出。為了驗(yàn)證使用共享密值的實(shí)體,驗(yàn)證器需要已經(jīng)獲知該共享密 值。在驗(yàn)證巨大數(shù)量實(shí)體的安全系統(tǒng)中,需要在安全和驗(yàn)證器可用性 之間進(jìn)行折衷。如果存在巨大數(shù)量的驗(yàn)證器,當(dāng)特定實(shí)體需要認(rèn)證時(shí) 更有可能存在可用的驗(yàn)證器。但是,當(dāng)已經(jīng)獲知密值的驗(yàn)證器數(shù)量增
加時(shí),維護(hù)該系統(tǒng)的安全性就變得更加困難。安全系統(tǒng)的使用受限于實(shí)體可以方便地認(rèn)證到的驗(yàn)證器的數(shù)量 和種類(lèi)。如果實(shí)體與多個(gè)與該實(shí)體共享不同密值的驗(yàn)證器進(jìn)行交互, 則該實(shí)體必須管理多個(gè)密值(或包括密值的設(shè)備),其中每個(gè)密值用 來(lái)認(rèn)證到一個(gè)或少量驗(yàn)證器。管理大量的密值增加了基于計(jì)算機(jī)實(shí)體 的復(fù)雜性,并且對(duì)于人類(lèi)實(shí)體來(lái)說(shuō)不方便。即使處理過(guò)程在實(shí)體和大 量驗(yàn)證器中的每一個(gè)之間安全共享不同的密值,也是不方便和煩瑣 的。公開(kāi)密鑰加密被用來(lái)避免在希望通信或認(rèn)證的兩方之間共享密 值的需要。但是,公開(kāi)密鑰加密在很多用戶和設(shè)備認(rèn)證設(shè)置中不實(shí)用, 這至少部分是因?yàn)橥瓿稍撚?jì)算需要強(qiáng)大的計(jì)算能力,以及管理證書(shū)和 證書(shū)撤消列表的復(fù)雜性。發(fā)明內(nèi)容總體上說(shuō),本發(fā)明是一個(gè)系統(tǒng),由此可以使用單個(gè)共享密值作為 基礎(chǔ)來(lái)派生出多個(gè)用于認(rèn)證的共享密值。在進(jìn)行認(rèn)證時(shí)的一些情形 中,派生共享密值的過(guò)程可以動(dòng)態(tài)發(fā)生。這種派生密值模型的一個(gè)特 殊益處在于,包括初始共享密值的單個(gè)認(rèn)證設(shè)備可以在不需要事先預(yù) 計(jì)算所有可能的派生密值的情況下被分發(fā)。這大大地簡(jiǎn)化了在多個(gè)環(huán) 境中分發(fā)和使用單個(gè)認(rèn)證設(shè)備的過(guò)程。此系統(tǒng)的另一個(gè)益處是初始共 享密值可以從不用于認(rèn)證(只用于密值派生),這增加了系統(tǒng)的安全 性。此系統(tǒng)的再一個(gè)益處是它允許多方使用單個(gè)認(rèn)證設(shè)備(即令牌), 或單方使用單個(gè)認(rèn)證設(shè)備來(lái)認(rèn)證到多個(gè)實(shí)體,或由多方使用來(lái)認(rèn)證到 多個(gè)實(shí)體,而不需要在這些認(rèn)證中使用共同的共享密值。在這種情況下,所有認(rèn)證都通過(guò)使用對(duì)每個(gè)情況為唯一的共享密值來(lái)進(jìn)行;其中 每個(gè)唯一共享密值是根據(jù)初始共享密值派生出的。在一方面,本發(fā)明的特征在于用于為多個(gè)客戶機(jī)側(cè)實(shí)體生成認(rèn)證 密值(例如"種子")的方法。該方法包括基于單個(gè)主種子來(lái)生成 多個(gè)派生種子,每個(gè)種子對(duì)應(yīng)多個(gè)客戶機(jī)側(cè)實(shí)體中相應(yīng)的一個(gè)不同的 實(shí)體,其中生成多個(gè)派生種子中的每個(gè)種子包括將主種子與標(biāo)識(shí)相應(yīng) 的客戶機(jī)側(cè)實(shí)體的唯一標(biāo)識(shí)符數(shù)學(xué)組合。在特定實(shí)施例中,本發(fā)明還 可以被用來(lái)為多個(gè)服務(wù)器側(cè)實(shí)體生成認(rèn)證種子。其它實(shí)施例包括一個(gè)或多個(gè)下述特征。多個(gè)客戶機(jī)側(cè)實(shí)體是多個(gè) 用戶。該方法還包括將多個(gè)派生種子分發(fā)給驗(yàn)證器以供在將多個(gè)客戶 機(jī)側(cè)實(shí)體中每個(gè)實(shí)體認(rèn)證到驗(yàn)證器時(shí)使用。下面是本發(fā)明的方法的一 個(gè)實(shí)施例的概述,其使用派生種子來(lái)將用戶認(rèn)證到認(rèn)證服務(wù)器。首先, 主種子生成器創(chuàng)建主種子。該主種子被加載到由多個(gè)用戶用來(lái)認(rèn)證的 認(rèn)證器中。該認(rèn)證器可以是實(shí)現(xiàn)成硬件設(shè)備或軟件形式的令牌。該主 種子還被加載至派生種子生成器中。在以后某一時(shí)間,通常是在注冊(cè) 過(guò)程期間啟動(dòng)使用該認(rèn)證器的特定用戶的認(rèn)證,該過(guò)程執(zhí)行如下步 驟(l)認(rèn)證服務(wù)器獲取用戶的唯一標(biāo)識(shí)符(UID); (2)認(rèn)證服務(wù)器聯(lián) 系提供用戶的UID的派生種子生成器,并識(shí)別用戶將使用哪個(gè)認(rèn)證 器(例如通過(guò)提供認(rèn)證器序列號(hào));(3)派生種子生成器使用認(rèn)證器的 序列號(hào)來(lái)定位被加載到認(rèn)證器中的主種子,然后對(duì)主種子和用戶UID 進(jìn)行加密組合,以創(chuàng)建派生種子;并且(4)派生種子被發(fā)送回認(rèn)證服 務(wù)器,以用作后續(xù)認(rèn)證的共享密值。主種子生成器在邏輯上可以與派 生種子生成器分開(kāi),或者這兩個(gè)生成器可以被實(shí)現(xiàn)成執(zhí)行兩種功能的 單個(gè)生成器。在更后面的時(shí)間,用戶將決定訪問(wèn)由認(rèn)證服務(wù)器保護(hù)的 某些資源,并且執(zhí)行下述步驟(l)在認(rèn)證時(shí)該用戶UID被傳遞給認(rèn) 證器;(2)認(rèn)證器在內(nèi)部將先前存儲(chǔ)的主種子和新提供的用戶UID進(jìn) 行加密組合,由此動(dòng)態(tài)創(chuàng)建派生種子;并且(3)通過(guò)使用該派生種子, 認(rèn)證器將執(zhí)行使用該派生種子作為共享密值的多個(gè)認(rèn)證算法中的一 個(gè),并且發(fā)布(release)合適的認(rèn)證碼。認(rèn)證碼然后被發(fā)送給認(rèn)證服 務(wù)器。因?yàn)檎J(rèn)證服務(wù)器已經(jīng)具有派生種子的存儲(chǔ)的拷貝,它可以證實(shí) 該認(rèn)證碼。多個(gè)不同的用戶可以使用將派生出對(duì)用戶與認(rèn)證器的組合為唯 一的派生種子的相同的過(guò)程,其中每個(gè)用戶有他們各自唯一的UID。 結(jié)果是,得到的系統(tǒng)具有多個(gè)唯一的屬性。首先,單個(gè)主種子是唯一 靜態(tài)密值,其需要存儲(chǔ)在認(rèn)證器中。其次,每個(gè)用戶具有唯一用戶 UID,并且因此也具有唯一的派生種子。每個(gè)用戶的唯一派生種子可 以在認(rèn)證時(shí)動(dòng)態(tài)創(chuàng)建,因此無(wú)需在認(rèn)證器中存儲(chǔ)用戶的派生種子。從 安全性和存儲(chǔ)器的使用角度看,這是很有價(jià)值的。但是,派生種子同 樣可以預(yù)先計(jì)算,并存儲(chǔ)在認(rèn)證器中。每個(gè)唯一的派生種子用于認(rèn)證 每個(gè)唯一的用戶,并且因此不存在對(duì)公共認(rèn)證密值的共享;從而不會(huì) 存在因密值共享引起的安全弱點(diǎn)。最后,由于派生種子可以在認(rèn)證時(shí) 動(dòng)態(tài)生成,無(wú)需存儲(chǔ)在認(rèn)證器中,所以對(duì)能夠共享公共認(rèn)證器的用戶 數(shù)量就沒(méi)有限制??傮w上說(shuō),在另一方面,本發(fā)明的特征在于使用單個(gè)主種子來(lái)將 多個(gè)客戶機(jī)側(cè)實(shí)體中任意選擇的一個(gè)實(shí)體認(rèn)證到驗(yàn)證器的方法,其中 多個(gè)客戶機(jī)側(cè)實(shí)體中的每一個(gè)實(shí)體由不同的唯一標(biāo)識(shí)符標(biāo)識(shí)。該方法 包括對(duì)于任意選擇的客戶機(jī)側(cè)實(shí)體,將組合主種子和其唯一標(biāo)識(shí)符 數(shù)學(xué)組合,以為該任意選擇的客戶機(jī)側(cè)實(shí)體生成派生種子;使用為該 任意選擇的客戶機(jī)側(cè)實(shí)體生成的該派生種子來(lái)將該任意選擇的客戶 機(jī)側(cè)實(shí)體認(rèn)證到驗(yàn)證器。其它實(shí)施例包括一個(gè)或多個(gè)如下特征。多個(gè)客戶機(jī)側(cè)實(shí)體是多個(gè) 用戶。使用任意選擇的用戶的派生種子包括發(fā)送給驗(yàn)證器根據(jù)該任意 選擇的用戶的派生種子計(jì)算出的值。使用為該任意選擇客戶機(jī)側(cè)實(shí)體 生成來(lái)將該任意選擇的客戶機(jī)側(cè)實(shí)體認(rèn)證到驗(yàn)證器的派生種子包括 使用從包括基于時(shí)間的認(rèn)證算法、挑戰(zhàn)-應(yīng)答認(rèn)證算法、基于計(jì)數(shù)器 的認(rèn)證算法和事件同步認(rèn)證算法的一組認(rèn)證算法中選出的認(rèn)證算法。 數(shù)學(xué)組合主種子和該任意選擇的客戶機(jī)側(cè)實(shí)體的唯一標(biāo)識(shí)符包括使 用基于共享密值的認(rèn)證算法。使用共享密值的算法例子包括散列函 數(shù)、塊加密函數(shù)、流加密函數(shù)和消息認(rèn)證碼函數(shù)。這些只是可以使用 的算法的例子。使用共享密值的其它算法也可以使用。進(jìn)行數(shù)學(xué)組合 可以包括使用密鑰派生函數(shù)。密鑰派生函數(shù)可以包括迭代函數(shù)。密鑰 派生函數(shù)采用主種子或先前根據(jù)主種子派生出的值和多個(gè)唯一標(biāo)識(shí) 符中一個(gè)或多個(gè)唯一標(biāo)識(shí)符作為輸入,這些唯一標(biāo)識(shí)符中的一個(gè)可以 包括用于標(biāo)識(shí)多個(gè)用戶的唯一標(biāo)識(shí)符??傮w上說(shuō),在另一方面,本發(fā)明的特征在于為一個(gè)或多個(gè)客戶機(jī)
側(cè)實(shí)體生成認(rèn)證種子,使得它們能夠認(rèn)證到一個(gè)或多個(gè)服務(wù)器側(cè)實(shí)體 的方法。該方法包括根據(jù)單個(gè)主種子生成多個(gè)派生種子,其中生成多 個(gè)派生種子的每一個(gè)包括數(shù)學(xué)組合主種子和相應(yīng)的多個(gè)不同唯一標(biāo) 識(shí)符,所述相應(yīng)的多個(gè)不同標(biāo)識(shí)符中的每個(gè)唯一標(biāo)識(shí)符標(biāo)識(shí)不同的實(shí) 體。其它實(shí)施例包括一個(gè)或多個(gè)如下特征。該方法還包括將多個(gè)派生 種子分發(fā)到一個(gè)或多個(gè)服務(wù)器側(cè)實(shí)體以使得用戶能夠通過(guò)使用多個(gè) 派生種子中合適的一個(gè)種子來(lái)認(rèn)證到一個(gè)或多個(gè)服務(wù)器側(cè)實(shí)體。艮P, 派生種子是基于用戶唯一標(biāo)識(shí)符和服務(wù)器唯一標(biāo)識(shí)符的組合的,每個(gè) 用戶和服務(wù)器具有唯一標(biāo)識(shí)符值。 一個(gè)或多個(gè)服務(wù)器側(cè)實(shí)體是多個(gè)服 務(wù)器側(cè)實(shí)體,其中對(duì)應(yīng)多個(gè)不同標(biāo)識(shí)符的每個(gè)標(biāo)識(shí)符中至少有一個(gè)唯 一標(biāo)識(shí)符來(lái)標(biāo)識(shí)多個(gè)服務(wù)器側(cè)實(shí)體中相應(yīng)的不同服務(wù)器側(cè)實(shí)體用戶。 進(jìn)行數(shù)學(xué)組合包括使用密鑰派生函數(shù)。密鑰派生函數(shù)包括迭代函數(shù)。 密鑰派生函數(shù)將主種子或先前根據(jù)主種子派生出的值和多個(gè)唯一標(biāo) 識(shí)符中一個(gè)或多個(gè)唯一標(biāo)識(shí)符作為輸入,這些唯一標(biāo)識(shí)符中的一個(gè)可 以包括用于標(biāo)識(shí)多個(gè)用戶的唯一標(biāo)識(shí)符??傮w上說(shuō),本發(fā)明的另一方面的特征在于, 一種在令牌中實(shí)現(xiàn)將 多個(gè)不同用戶認(rèn)證到另一實(shí)體的方法。該方法包括將主種子存儲(chǔ)在 令牌中;當(dāng)任意一個(gè)用戶尋求認(rèn)證到其它實(shí)體時(shí),(l)數(shù)學(xué)組合主種 子和為此用戶提供的唯一標(biāo)識(shí)符,以生成該用戶的派生種子;以及(2) 使用所派生的該用戶的種子來(lái)認(rèn)證到其它實(shí)體。雖然已經(jīng)描述了用于 將多個(gè)用戶認(rèn)證到另一實(shí)體的方法,^U^要理解的是,此方法可被任 意類(lèi)型的實(shí)體用來(lái)認(rèn)證到另一實(shí)體。其它實(shí)施例包括一個(gè)或多個(gè)如下特征。使用該用戶的派生種子來(lái) 認(rèn)證到其它實(shí)體包括使用利用共享密值的認(rèn)證算法。算法例子包括 基于時(shí)間的認(rèn)證算法、挑戰(zhàn)-應(yīng)答認(rèn)證算法、基于計(jì)數(shù)器的認(rèn)證算法、 以及事件同步認(rèn)證算法。在其它實(shí)施例中,該方法還包括在完成將用 戶認(rèn)證到其它實(shí)體后刪除該派生種子。但是此步驟不是必須的。在另一方面,本發(fā)明的特征在于一種在網(wǎng)絡(luò)中使用的方法,在該 網(wǎng)絡(luò)中,具有存儲(chǔ)主種子的用戶設(shè)備的用戶通過(guò)客戶機(jī)側(cè)設(shè)備認(rèn)證到
該網(wǎng)絡(luò)上的另一實(shí)體。該方法包括在連接到網(wǎng)絡(luò)上的服務(wù)器中,從 客戶機(jī)側(cè)設(shè)備接收標(biāo)識(shí)該客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符;在服務(wù)器中, 數(shù)學(xué)組合密值和該客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符,以生成派生種子,其 中密值是根據(jù)主種子派生出的或先前生成的派生種子;并將新得到的 種子從服務(wù)器發(fā)送給客戶機(jī)側(cè)設(shè)備。其它實(shí)施例包括一個(gè)或多個(gè)如下特征。該方法還包括在客戶機(jī)側(cè) 設(shè)備接收派生種子;在接收到派生種子后,將客戶機(jī)側(cè)設(shè)備從網(wǎng)絡(luò) 中斷開(kāi)。它還包括在用戶設(shè)備中接收客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符; 數(shù)學(xué)組合至少該唯一標(biāo)識(shí)符和主種子,以生成派生種子;在客戶機(jī)側(cè) 設(shè)備從網(wǎng)絡(luò)斷開(kāi)時(shí)使用派生種子來(lái)認(rèn)證到客戶機(jī)側(cè)設(shè)備。主種子是共 享密值?;蛘?,密值可以是先前根據(jù)主種子派生出的種子,即它是通 過(guò)將主種子和一個(gè)或多個(gè)其它標(biāo)識(shí)符數(shù)學(xué)組合生成的??傮w上說(shuō),在另一方面,本發(fā)明的特征在于一種由在網(wǎng)絡(luò)客戶機(jī) 側(cè)設(shè)備實(shí)現(xiàn)的方法,其中用戶通過(guò)客戶機(jī)側(cè)設(shè)備認(rèn)證到該網(wǎng)絡(luò)上的另 一實(shí)體。該方法包括向網(wǎng)絡(luò)上的其它實(shí)體發(fā)送標(biāo)識(shí)客戶機(jī)側(cè)設(shè)備的 唯一標(biāo)識(shí)符;從其它實(shí)體接收派生種子,其中該派生種子是通過(guò)將密 值和客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符數(shù)學(xué)組合生成,其中密值是基于主種 子生成的;從網(wǎng)絡(luò)上斷幵;為了認(rèn)證用戶,將客戶機(jī)側(cè)設(shè)備的唯一標(biāo) 識(shí)符發(fā)送給用戶設(shè)備;在客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符發(fā)送到用戶設(shè)備 后,從用戶設(shè)備接收表明該用戶設(shè)備知曉派生種子的信息,比如根據(jù) 或基于得到的派生種子計(jì)算出的認(rèn)證碼??傮w上說(shuō),在另一方面,本發(fā)明的特征在于在服務(wù)器站點(diǎn)認(rèn)證多 個(gè)用戶的方法。該方法包括存儲(chǔ)多個(gè)派生種子,所述多個(gè)派生種子 全部是根據(jù)單個(gè)主種子計(jì)算出的,其中所述多個(gè)派生種子中的每個(gè)派 生種子對(duì)應(yīng)于多個(gè)用戶中一個(gè)相應(yīng)的用戶,其中所述多個(gè)派生種子中 的每個(gè)派生種子是通過(guò)將所述主種子和相應(yīng)用戶的唯一標(biāo)識(shí)符進(jìn)行 數(shù)學(xué)組合而生成的;對(duì)于多個(gè)用戶中任意選擇的一個(gè)用戶,從該用戶 接收根據(jù)該用戶的派生種子數(shù)學(xué)生成的認(rèn)證信息;對(duì)于該選擇的用 戶,基于從該用戶接收到的認(rèn)證信息來(lái)認(rèn)證該用戶。在其它實(shí)施例中, 該方法可用于將任意類(lèi)型的實(shí)體(不只是用戶)認(rèn)證到其他實(shí)體。 本發(fā)明的一個(gè)或多個(gè)實(shí)施例的細(xì)節(jié)將在下面通過(guò)附圖詳細(xì)描述。 根據(jù)發(fā)明詳述和附圖以及權(quán)利要求,本發(fā)明的其它特征、目的和優(yōu)點(diǎn) 將更加明顯。
圖1是為一組用戶生成派生種子的系統(tǒng)的方框圖;圖2是示出了派生種子的生成和使用的另一方面的方框圖;圖3是描述離線認(rèn)證的方框圖。
具體實(shí)施方式
在專(zhuān)利申請(qǐng)人所擁有的較早專(zhuān)利申請(qǐng)中(即于1999年5月4日 的提交的U.S.S.N. 09/304,775 , 現(xiàn)在是美國(guó)專(zhuān)利 No. 6,985,583(RSA-038),在此并入作為參考),公開(kāi)了使用單個(gè)主種子或 密值生成多個(gè)驗(yàn)證器種子或派生種子的方法,其中每個(gè)種子用于認(rèn)證 到不同站點(diǎn)。這允許實(shí)體認(rèn)證到許多驗(yàn)證器而不必管理大量的密值。 使用此技術(shù)只需要維護(hù)單個(gè)密值,與對(duì)于每個(gè)站點(diǎn)需要不同的密值的 方法相比,管理變得更簡(jiǎn)單。使用一個(gè)密值,用戶可以認(rèn)證到多個(gè)站 點(diǎn)或多個(gè)驗(yàn)證器而不會(huì)危害該密值或必須與多于一個(gè)的實(shí)體共享。該 過(guò)程如下。在注冊(cè)過(guò)程期間,站點(diǎn)l要求用戶輸入令牌的序列號(hào)。然后站點(diǎn) 1將用戶令牌的序列號(hào)以及站點(diǎn)1的唯一標(biāo)識(shí)符,即UIDp —起發(fā)送 給主種子生成器。主種子生成器將主種子和唯一標(biāo)識(shí)符Uv,進(jìn)行數(shù)學(xué)組合以產(chǎn)生派 生或驗(yàn)證器種子SD1,其對(duì)于在特定站點(diǎn)使用的特定令牌是唯一的。 通過(guò)使用密鑰派生函數(shù)將主種子和其它信息組合以生成派生種子 SD1。密鑰生成函數(shù)具有使第三方不大可能通過(guò)獲知驗(yàn)證器種子和其 它信息而確定出主種子的特性。其它信息是標(biāo)識(shí)認(rèn)證服務(wù)器的信息, 在本例中是唯一標(biāo)識(shí)符UIDp主種子生成器將派生種子發(fā)送給站點(diǎn)1,它被安裝在認(rèn)證服務(wù)器 或驗(yàn)證器中。在實(shí)際認(rèn)證期間,站點(diǎn)1上的認(rèn)證器以某種提供標(biāo)識(shí)符的其它方式(如小鍵盤(pán)輸入)發(fā)送其唯一標(biāo)識(shí)符UID,給令牌或用戶。令牌在 內(nèi)部將UID,和主種子組合以生成派生種子SD1的另一份拷貝。派生 種子Sw然后被用于認(rèn)證到認(rèn)證服務(wù)器。這通常通過(guò)將它與某一動(dòng)態(tài) 變量(如時(shí)間、計(jì)數(shù)器變量、挑戰(zhàn)等)加密組合以生成認(rèn)證碼來(lái)完成, 該認(rèn)證碼至少是該動(dòng)態(tài)變量和派生種子的函數(shù)。認(rèn)證碼然后被發(fā)送至 站點(diǎn)1的認(rèn)證服務(wù)器。因?yàn)檎J(rèn)證服務(wù)器知道該派生種子和該動(dòng)態(tài)變 量,它可以證實(shí)該碼,即它可以計(jì)算出該碼,并且將它與接收到的認(rèn) 證碼進(jìn)行比較以確認(rèn)用戶是否知道共享密值。同樣的處理過(guò)程發(fā)生在站點(diǎn)2上,除了使用該站點(diǎn)的不同的唯一標(biāo)識(shí)符UID2。該結(jié)果是不同的派生種子SD2。結(jié)果是,當(dāng)在不同的站點(diǎn)上使用相同的令牌時(shí)所得到的認(rèn)證碼也不同。UID,和UID2意在是與每個(gè)站點(diǎn)相關(guān)聯(lián)的唯一標(biāo)識(shí)符。例如它們 可以是站點(diǎn)URL的散列值,或其它唯一值,比如與該站點(diǎn)相關(guān)聯(lián)的 公開(kāi)密鑰,或可能是初始隨機(jī)選取的唯一標(biāo)識(shí)符。但是一旦被分配, 該唯一標(biāo)識(shí)符必須為主種子生成器和令牌兩者所獲知,這樣它們中每 個(gè)可以獨(dú)立計(jì)算出相同的派生種子。注意,主種子只被主種子生成器和主種子被編程到其中的令牌獲 知。令牌從不揭露其主種子,并且主種子生成器從不向任何人揭露主 種子。這樣,主種子本身從不用于認(rèn)證。多用戶要認(rèn)識(shí)到的是,在當(dāng)有人想將對(duì)稱(chēng)密鑰或基于種子的令牌用于多 個(gè)不同用戶的任何時(shí)候時(shí)都會(huì)產(chǎn)生問(wèn)題。例如,假設(shè)多個(gè)家庭成員想 利用他們各自的帳號(hào)登錄同一站點(diǎn)(如MSN或AOL)。如果每個(gè)家 庭成員共享相同的令牌,就需要管理多個(gè)密鑰,每個(gè)為其執(zhí)行認(rèn)證的 用戶對(duì)應(yīng)于令牌中的一個(gè)密鑰。但在共享的令牌中提供和管理多個(gè)主 種子會(huì)變得十分復(fù)雜。此外,每個(gè)主種子會(huì)占用令牌的存儲(chǔ)空間,并 且必須提供一些機(jī)制來(lái)使得用戶在認(rèn)證時(shí)能夠選擇正確的主種子。反 之,交替地發(fā)放多個(gè)單獨(dú)的令牌,每個(gè)用戶一個(gè),則會(huì)很繁瑣。
還要認(rèn)識(shí)到的是,為了在這些環(huán)境下解決自身所呈現(xiàn)的問(wèn)題,可 以替代生成多個(gè)使多個(gè)不同的用戶能夠認(rèn)證到相同的站點(diǎn)的派生種 子,其中每個(gè)派生種子為不同的用戶所使用。按照這種方式,相同的 主種子可以被用來(lái)為具有多個(gè)成員的組中的每個(gè)成員生成一個(gè)相應(yīng) 的不同派生種子。在此例中,主種子在密鑰服務(wù)器和用戶所持有的令 牌之間共享。將使用令牌的人組中的每個(gè)成員具有與密鑰服務(wù)器共享 的相應(yīng)的唯一的標(biāo)識(shí)符。該唯一標(biāo)識(shí)符是與該成員相關(guān)聯(lián)的值,如人 名的散列值。密鑰服務(wù)器通過(guò)數(shù)學(xué)組合主種子和成員的唯一標(biāo)識(shí)符, 為組中的每個(gè)成員生成相應(yīng)的派生種子,然后將這些派生種子發(fā)送給 驗(yàn)證站點(diǎn)。當(dāng)組中的成員希望認(rèn)證到驗(yàn)證站點(diǎn)時(shí),該用戶將他或她唯 一標(biāo)識(shí)符傳遞給令牌,令牌通過(guò)數(shù)學(xué)組合主種子和該用戶的唯一標(biāo)識(shí) 符而為該用戶生成派生種子。按照這種方式,組中的每個(gè)成員具有他 或她自己的密鑰,可以不依賴組中的其他成員而獨(dú)立地認(rèn)證到驗(yàn)證站點(diǎn);但僅僅一個(gè)主種子被要求支持該點(diǎn)。在這種情況下,與該用戶正認(rèn)證到的站點(diǎn)相反,該唯一標(biāo)識(shí)符與 用戶相關(guān)聯(lián)。此唯一標(biāo)識(shí)符可以是唯一標(biāo)識(shí)該用戶的任何東西,如用 戶的ISP登錄名的散列值,或用戶的即時(shí)消息器伙伴名的散列值。圖1示出了實(shí)現(xiàn)派生種子概念的系統(tǒng)的例子。它包括主種子生成 器100,它生成主種子sm且將主種子安裝在由一組用戶使用的令牌 102中。令牌102是硬件設(shè)備,被實(shí)現(xiàn)成例如信用卡大小的設(shè)備,它 包括配有存儲(chǔ)器和相關(guān)硬件邏輯和固件、電池和LCD顯示器的微處 理器。在描述的實(shí)施例中,令牌102通過(guò)連接器接口或無(wú)線通信,從 如按鈕、小鍵盤(pán)、壓感顯示屏接受數(shù)據(jù)輸入。令牌102也可以被實(shí)現(xiàn) 成運(yùn)行在計(jì)算機(jī)、移動(dòng)電話、個(gè)人數(shù)字助理或其它能夠執(zhí)行軟件應(yīng)用 的軟件應(yīng)用程序。主種子生成器IOO還給密鑰服務(wù)器104提供用于該組用戶的相同 主種子SM。密鑰服務(wù)器104可以是專(zhuān)用種子分發(fā)服務(wù)器,或者它可 以是數(shù)據(jù)服務(wù)器,如文件服務(wù)器、網(wǎng)頁(yè)服務(wù)器,或包括種子分發(fā)功能 的認(rèn)證服務(wù)器。主種子Sm是由令牌102和密鑰服務(wù)器104共享的密值。通常, 主種子是例如通過(guò)偽隨機(jī)數(shù)生成器或通過(guò)使用觀測(cè)足夠隨機(jī)物理事 件的傳感器而隨機(jī)生成的。在任何情況下,它都是按照產(chǎn)生在統(tǒng)計(jì)上 都難以預(yù)測(cè)的密值數(shù)的方式而生成。還存在客戶計(jì)算機(jī)108,其被該組用戶用來(lái)認(rèn)證到服務(wù)器站點(diǎn)而 不是包括驗(yàn)證器或認(rèn)證服務(wù)器110。生成派生種子的過(guò)程如下所述。 一開(kāi)始,主種子生成器100分發(fā)主種子給令牌102和密鑰服務(wù)器104。用戶在客戶計(jì)算機(jī)108處登錄進(jìn)服務(wù)器站點(diǎn),向該站點(diǎn)注冊(cè)由該 站點(diǎn)提供的特定服務(wù)。作為注冊(cè)請(qǐng)求的一部分,客戶計(jì)算機(jī)108提供 正在使用的令牌的序列號(hào)以及唯一標(biāo)識(shí)該用戶的標(biāo)識(shí)符UID,(如登 錄名或屏顯名)。令牌的序列號(hào)將激活密鑰服務(wù)器104來(lái)在存儲(chǔ)于本 地?cái)?shù)據(jù)庫(kù)的種子記錄中尋找與該令牌相關(guān)的主種子SM。作為響應(yīng),該站點(diǎn)處的認(rèn)證服務(wù)器110發(fā)送注冊(cè)請(qǐng)求給密鑰服務(wù) 器。伴隨該請(qǐng)求的是令牌序列號(hào)和該用戶的唯一標(biāo)識(shí)符。使用序列號(hào) 的密鑰服務(wù)器104在它的數(shù)據(jù)庫(kù)中査找該令牌的記錄,并且取回相應(yīng) 的主種子SM。它然后將主種子和唯一標(biāo)識(shí)符數(shù)學(xué)組合,以生成派生 種子SP1,該派生種子作為種子記錄的一部分發(fā)送回認(rèn)證服務(wù)器110。認(rèn)證服務(wù)器110將所接收的種子記錄和它的派生種子SjM—起存儲(chǔ)到它的數(shù)據(jù)庫(kù)中,以用于將來(lái)認(rèn)證該用戶。在上述實(shí)施例中,密鑰服務(wù)器104通過(guò)使用密鑰派生函數(shù)"KDF" 生成派生種子SP1。密鑰派生函數(shù)在加密領(lǐng)域是公知的。密鑰派生函 數(shù)通常被選擇為具有為不同的輸入生成相對(duì)不同的輸出的能力,這是 因?yàn)樗鼈冸y以反轉(zhuǎn),即意味著對(duì)于特定輸出難以確定其輸入。各種密 鑰派生函數(shù)是基于散列函數(shù)、偽隨機(jī)函數(shù)等等的。密鑰派生函數(shù)通常將密值與其它信息組合。該密值可以是密碼。 對(duì)于本發(fā)明的方法,該密值是種子,或者是主種子或者是先前生成的 派生種子。在密鑰派生函數(shù)中也可以包括迭代函數(shù)。稱(chēng)作迭代計(jì)數(shù)的 數(shù)字被用于表示派生密鑰的下層函數(shù)的執(zhí)行次數(shù)。將迭代計(jì)數(shù)用于密 鑰派生函數(shù)增加了根據(jù)密碼生成加密密鑰所需的工作量。在計(jì)算密鑰 時(shí),適度的迭代計(jì)數(shù),如1000,對(duì)于合法用戶而言不是大負(fù)擔(dān),而
對(duì)攻擊者來(lái)說(shuō)將會(huì)是極大的負(fù)擔(dān)。如果密碼值是大的隨機(jī)值,則可以使用小的迭代計(jì)數(shù)。使用KDF和迭代函數(shù)是如何派生出派生種子的 例子。也可以使用其它技術(shù)。應(yīng)該理解的是,其它密鑰派生函數(shù)也同樣有用,并且在特定密鑰 派生函數(shù)需要時(shí),也可以使用用戶信息和其它信息的各種替代物。在 其他替代例中,也可以使用基于下層散列函數(shù)、塊加密函數(shù)、消息認(rèn) 證碼函數(shù)等的密鑰派生函數(shù)。在所描述的使用密鑰派生函數(shù)的實(shí)施例中,密鑰派生函數(shù)的輸入 是主種子,用戶標(biāo)識(shí)符(或者是其串接而成的版本)和時(shí)間標(biāo)識(shí)符。 用戶標(biāo)識(shí)符UID包括關(guān)于用戶的信息,還可以包括其它信息,如時(shí) 間值。密鑰派生函數(shù)KDF將主種子SM和用戶的標(biāo)識(shí)信息UH^作為輸 入。服務(wù)器110存儲(chǔ)主種子SM。令牌102同樣存儲(chǔ)主種子SM,并且 可以訪問(wèn)用戶標(biāo)識(shí)符信息UIDi。這樣令牌102也可以使用相同的密 鑰派生函數(shù)來(lái)根據(jù)主種子SM和用戶標(biāo)識(shí)符信息UID,獲得相同的派生 種子Sw。共享令牌的每個(gè)用戶具有唯一標(biāo)識(shí)符信息。執(zhí)行相同的過(guò)程為每 個(gè)用戶生成相應(yīng)的派生種子Spi,其由認(rèn)證服務(wù)器110存儲(chǔ)。當(dāng)組中的任意用戶使用令牌來(lái)認(rèn)證到站點(diǎn)服務(wù)器時(shí),客戶機(jī)將用 戶的唯一標(biāo)識(shí)符傳遞給令牌。令牌將在內(nèi)部組合用戶的標(biāo)識(shí)符和先前 存儲(chǔ)的主種子,以生成對(duì)該用戶為唯一的派生種子??蛻魴C(jī)然后使用 派生種子在站點(diǎn)服務(wù)器端將用戶認(rèn)證到認(rèn)證服務(wù)器。在一個(gè)實(shí)施例 中,令牌使用派生種子計(jì)算出對(duì)該用戶為唯一的認(rèn)證碼。令牌將認(rèn)證 碼傳回給客戶機(jī),它然后將它們提供給站點(diǎn)服務(wù)器以認(rèn)證該用戶。注意,實(shí)際的認(rèn)證過(guò)程使用派生種子,而從不使用主種子,由此 保護(hù)了主種子的安全。認(rèn)證過(guò)程通常由令牌102和/或客戶計(jì)算機(jī) 108將根據(jù)派生種子Spi數(shù)學(xué)上派生出的值傳給驗(yàn)證器來(lái)完成。認(rèn)證 過(guò)程可以通過(guò)使用散列函數(shù)、塊加密函數(shù)、消息認(rèn)證代碼或其它技術(shù) 來(lái)完成。認(rèn)證過(guò)程可以通過(guò)使用基于時(shí)間的算法來(lái)完成,根據(jù)該算法, 作為計(jì)算的一部分派生種子Spi與時(shí)間相關(guān)的信息相組合。作為另一
個(gè)例子,可以使用挑戰(zhàn)-應(yīng)答方法。它包括驗(yàn)證器108傳輸挑戰(zhàn)值給 令牌102。令牌102然后利用派生種子Spi對(duì)該挑戰(zhàn)值進(jìn)行加密,將 結(jié)果傳輸回認(rèn)證服務(wù)器110。另一種方法包括基于計(jì)數(shù)器的認(rèn)證過(guò)程 和事件同步認(rèn)證過(guò)程(如HOTP)。當(dāng)密值由設(shè)備102和驗(yàn)證器108共享時(shí)可以使用的各種認(rèn)證和通 信系統(tǒng)和方法,可以被擴(kuò)展為使用派生種子。例如,參見(jiàn)美國(guó)專(zhuān)利 4,720,860;美國(guó)專(zhuān)利4,885,778;美國(guó)專(zhuān)利4,S56,062;美國(guó)專(zhuān)利 4,998,279;美國(guó)專(zhuān)利5,023,卯8;美國(guó)專(zhuān)利5,058,161;美國(guó)專(zhuān)利 5,097,505;美國(guó)專(zhuān)利5,237,614;美國(guó)專(zhuān)利5,367,572;美國(guó)專(zhuān)利 5,361,062;美國(guó)專(zhuān)利5,485,519以及美國(guó)專(zhuān)利5,657,388,其描述了使 用共享密值進(jìn)行認(rèn)證的各種系統(tǒng)和方法。此系統(tǒng)可以包括在此描述的 系統(tǒng)和方法,以使用派生種子作為認(rèn)證基礎(chǔ)。岡ij描述的方法的共同特征是在令牌中只有單個(gè)主種子,并且該令 牌使用主種子來(lái)生成所需的任何派生種子。如上所述,其具有不需要 用戶管理多個(gè)主種子的巨大優(yōu)點(diǎn),而管理多個(gè)主種子對(duì)于許多用戶而 言可能是困惑和困難的。還要注意的是,令牌通常既不接收甚至也不 存儲(chǔ)派生種子。但是在特定實(shí)施例中,令牌可以接收和/或存儲(chǔ)派生 種子。在需要時(shí)它根據(jù)所存儲(chǔ)的單個(gè)主種子生成派生種子,當(dāng)使用該 派生種子來(lái)認(rèn)證到期望的站點(diǎn)完成后,它通常刪除該派生種子。當(dāng)然,替代的方法可以預(yù)計(jì)算和在令牌中存儲(chǔ)不同的派生種子, 并且在需要時(shí)只是簡(jiǎn)單地提供合適的派生種子。上述方法的進(jìn)一步擴(kuò)展是使用多個(gè)唯一標(biāo)識(shí)符生成派生種子。例 如,如果組中的多個(gè)個(gè)體共享令牌,并且他們想使用相同的令牌來(lái)認(rèn) 證到不同站點(diǎn),則為每個(gè)合適的有意義的組合(個(gè)人和站點(diǎn))生成派 生種子。為了簡(jiǎn)化此例子,假定組中有兩名成員,還假定組中每位成 員希望使用令牌來(lái)認(rèn)證到兩個(gè)站點(diǎn)(如AOL和MSN)中的每個(gè)上。 在此例中,為該系統(tǒng)定義四個(gè)派生種子,每個(gè)個(gè)人和站點(diǎn)的組合對(duì)應(yīng) 一個(gè)。這樣,對(duì)于個(gè)人A在站點(diǎn)1,該組合相應(yīng)的派生種子通過(guò)使用 個(gè)人A的唯一標(biāo)識(shí)符(UIDa)和主種子(Sm)生成中間結(jié)果sa,然 后將站點(diǎn)1的唯一標(biāo)識(shí)符(SiteID,)應(yīng)用于該中間結(jié)果而生成派生種
子Sm。SA = KDF(SM,UIDA) SAI=KDF(SA, SiteID,)剩下的派生種子通過(guò)首先使用該用戶的UID,隨后使用站點(diǎn)的唯 一ID來(lái)生成。盡管上述例子示出作為串行計(jì)算(一個(gè)在另一個(gè)之后) 的Sa和Sm的派生,但這只是為了舉例的需要而不是必須的。在其 它實(shí)施例中,可以使用多個(gè)唯一標(biāo)識(shí)符來(lái)執(zhí)行單個(gè)KDF。這可以被擴(kuò)展成任意實(shí)體的組合。換句話說(shuō),創(chuàng)建派生種子時(shí)可 以組合多個(gè)唯一標(biāo)識(shí)符。例如,個(gè)人A也許希望認(rèn)證到站點(diǎn)1上的 計(jì)算機(jī)X?;蛘邆€(gè)人A可能希望認(rèn)證到站點(diǎn)2處的計(jì)算機(jī)X?;蛘?個(gè)人B也許希望認(rèn)證到站點(diǎn)2處的計(jì)算機(jī)Y,等等。這些組合中的每 一個(gè)都存在一個(gè)不同的派生種子。派生種子可能根據(jù)主種子,通過(guò)順 序應(yīng)用個(gè)人的唯一標(biāo)識(shí)符、計(jì)算機(jī)的唯一標(biāo)識(shí)符,以及該站點(diǎn)的唯一 標(biāo)識(shí)符而生成。任意數(shù)量的唯一標(biāo)識(shí)符可以按照這種方式鏈接起來(lái)以根據(jù)單個(gè) 主種子生成相應(yīng)的派生種子。此外,如上述的更簡(jiǎn)單的例子中,只要 在認(rèn)證期間要生成所需派生種子時(shí)能夠?yàn)榱钆铺峁┱_的唯一標(biāo)識(shí) 符,則令牌無(wú)需存儲(chǔ)派生種子。令牌只需存儲(chǔ)主種子和用于根據(jù)主種 子生成派生種子的函數(shù)。除了站點(diǎn)和個(gè)人,唯一標(biāo)識(shí)符可以是任何可以標(biāo)識(shí)希望認(rèn)證實(shí)體 的虛擬東西,或希望認(rèn)證的身份實(shí)體。這包括,例如硬件唯一 ID、 唯一域ID、組ID、中間節(jié)點(diǎn)ID、新聞組ID、 KazzaID、駕照號(hào)碼、 護(hù)照號(hào)碼、電話號(hào)碼、有線電視盒序列號(hào)等。中間節(jié)點(diǎn)ID在防網(wǎng)絡(luò) 釣魚(yú)(antiphishing)技術(shù)(即在站點(diǎn)B上的用戶A來(lái)自站點(diǎn)C)上 很有用。圖2示出了這些觀點(diǎn)的進(jìn)一步擴(kuò)展的另一例子。這個(gè)特別的例子 示出了如何使用多個(gè)唯一標(biāo)識(shí)符在網(wǎng)絡(luò)內(nèi)部啟動(dòng)本地認(rèn)證過(guò)程,從而 避免每次認(rèn)證時(shí)都必須回到根認(rèn)證服務(wù)器。在圖2中網(wǎng)絡(luò)內(nèi)有多臺(tái)布置成樹(shù)狀結(jié)構(gòu)的認(rèn)證服務(wù)器。根認(rèn)證服 務(wù)器是AS,,其它的認(rèn)證服務(wù)器AS2、 AS3、 AS4、 ASs和AS6通過(guò)樹(shù)
狀結(jié)構(gòu)與根認(rèn)證服務(wù)器相連,如圖所示。使用上述概念,認(rèn)證過(guò)程由 客戶機(jī)連接到的服務(wù)器在本地執(zhí)行,所有的認(rèn)證都是基于用戶所持有 的令牌中的單個(gè)主種子的。存儲(chǔ)主種子SM的密鑰服務(wù)器KS生成派生種子DSp并將派生種 子發(fā)送給根服務(wù)器AS,。派生種子的生成如前面描述,通過(guò)使用本領(lǐng) 域普通技術(shù)人員公知的合適的密鑰派生函數(shù)將主種子sm和根服務(wù)器 AS,的唯一標(biāo)識(shí)符(即UID,)數(shù)學(xué)組合而生成。擁有包括主種子sm 拷貝的令牌的用戶,可以直接認(rèn)證到根服務(wù)器AS,。這是通過(guò)從根服 務(wù)器AS,接收它的唯一標(biāo)識(shí)符UIDp然后將唯一標(biāo)識(shí)符應(yīng)用于主種 子sm生成相應(yīng)的派生種子DS,而完成。該操作可以表示成DS,-Sm + UID"用戶然后使用此派生種子 DS,以上述方式直接認(rèn)證到根服務(wù)器。在描述的實(shí)施例中,將樹(shù)中另一認(rèn)證服務(wù)器AS3的唯一標(biāo)識(shí)符應(yīng) 用到AS,的派生種子中,從而為此認(rèn)證服務(wù)器AS3生成派生種子 DS3。換句話說(shuō),通過(guò)將UID3應(yīng)用于DSp根服務(wù)器AS,為認(rèn)證服務(wù) 器AS3生成派生種子DS3。即采用另一表達(dá)形式,此式可寫(xiě)為DS3-DS,+UID3。 注意,如果選擇了合適的密鑰派生函數(shù),DS3同樣可以通過(guò)將兩 個(gè)唯一標(biāo)識(shí)符順序地應(yīng)用至主種子生成,即 DS3-(Sm + UID)+ UID3。換句話說(shuō),AS3的派生種子可以由兩個(gè)不同的實(shí)體生成(應(yīng)該注 意到,并不是所有的密鑰派生函數(shù)允許如上所示出的分開(kāi)步驟。必須 選用合適的密鑰派生函數(shù)才有此特定屬性。)。如果密鑰服務(wù)器知道根 服務(wù)器AS,和認(rèn)證服務(wù)器AS3的唯一標(biāo)識(shí)符,則該派生種子可以通過(guò) 密鑰服務(wù)器KS根據(jù)主種子Sm生成。或者,如果認(rèn)證服務(wù)器AS3的 唯一標(biāo)識(shí)符對(duì)于認(rèn)證服務(wù)器AS,己知,可以通過(guò)認(rèn)證服務(wù)器AS,根據(jù) 它的派生種子DS,生成認(rèn)證服務(wù)器AS3的派生種子DS3。此方法可以擴(kuò)展至樹(shù)狀結(jié)構(gòu)中的其它認(rèn)證服務(wù)器,為這些服務(wù)器
生成派生種子。這樣,每個(gè)認(rèn)證服務(wù)器都能夠?yàn)榫W(wǎng)絡(luò)樹(shù)中的鄰居子服 務(wù)器生成派生種子。在描述的實(shí)施例中,鄰居認(rèn)證服務(wù)器生成且提供派生種子給請(qǐng)求 服務(wù)器時(shí)還同時(shí)將它自己的唯一標(biāo)識(shí)符和返回至根服務(wù)器路徑上的 所有認(rèn)證服務(wù)器(包括根服務(wù)器)的唯一標(biāo)識(shí)符一并發(fā)送。這樣,想 認(rèn)證用戶的任意認(rèn)證服務(wù)器能夠給該用戶(或用戶令牌)提供所有的 唯一標(biāo)識(shí)符,使得令牌能夠根據(jù)內(nèi)部存儲(chǔ)的主種子SM為該認(rèn)證服務(wù) 器生成派生種子。這樣認(rèn)證服務(wù)器在進(jìn)行認(rèn)證時(shí),無(wú)論它在樹(shù)中什么 位置都不需要與樹(shù)中更上層的父服務(wù)器通信。例如,如果用戶希望認(rèn)證到服務(wù)器AS6,則它從服務(wù)器AS6接收AS,、 AS3、 ASs和AS6的唯 一標(biāo)識(shí)符。隨后,通過(guò)使用用戶令牌內(nèi)部存儲(chǔ)的合適密鑰派生函數(shù), 它將這些唯一標(biāo)識(shí)符依次應(yīng)用于主種子SM從而計(jì)算出服務(wù)器AS6的 派生種子。離線認(rèn)證上述概念的另一個(gè)優(yōu)勢(shì)是派生種子的生成可以在任何時(shí)間進(jìn)行, 而無(wú)需在為系統(tǒng)中的其它服務(wù)器或?qū)嶓w生成派生種子時(shí)進(jìn)行。這個(gè)優(yōu) 點(diǎn)可以通過(guò)圖3中示出的網(wǎng)絡(luò)的例子進(jìn)行說(shuō)明。該網(wǎng)絡(luò)包括密鑰服務(wù) 器KS、在站點(diǎn)1上的認(rèn)證服務(wù)器AS、連接到站點(diǎn)1的筆記本計(jì)算機(jī) NB,以及用戶令牌。如上所述,站點(diǎn)1上的認(rèn)證服務(wù)器AS通過(guò)將它的唯一標(biāo)識(shí)符 UID,提供給密鑰服務(wù)器KS來(lái)向密鑰服務(wù)器KS注冊(cè)。密鑰服務(wù)器 KS然后使用密鑰派生函數(shù)將主密鑰Sw和該唯一標(biāo)識(shí)符UIA組合, 以為站點(diǎn)1生成派生種子DS,。筆記本計(jì)算機(jī)用戶通過(guò)令牌認(rèn)證到站點(diǎn)1,該令牌還保持主種子SM的拷貝。為了使用戶能夠認(rèn)證到站點(diǎn)1,站點(diǎn)Sl的認(rèn)證服務(wù)器提供它的唯一標(biāo)識(shí)符UID,給筆記本計(jì)算機(jī),然 后筆記本計(jì)算機(jī)將此唯一 id提供給令牌。令牌同時(shí)知道相應(yīng)的密鑰 派生函數(shù)和主種子SM,它使用與密鑰服務(wù)器KS相同的方式生成DSp 并使用該派生種子來(lái)認(rèn)證到認(rèn)證服務(wù)器AS。在某一稍后時(shí)間,用戶可能想從站點(diǎn)1上斷開(kāi)筆記本計(jì)算機(jī),使 得它不再能夠與站點(diǎn)1上的認(rèn)證服務(wù)器AS,進(jìn)行通信。在此情況下它 可能還是想要求用戶認(rèn)證到離線的筆記本計(jì)算機(jī),此時(shí)已不可能使用 站點(diǎn)1的認(rèn)證服務(wù)器??梢酝ㄟ^(guò)使用上面討論的概念實(shí)現(xiàn)此功能。具 體的,用戶向站點(diǎn)1的認(rèn)證服務(wù)器ASr注冊(cè)筆記本計(jì)算機(jī)NB來(lái)進(jìn)行 離線認(rèn)證。作為回應(yīng),站點(diǎn)1的認(rèn)證服務(wù)器AS,通過(guò)數(shù)學(xué)組合筆記本 計(jì)算機(jī)的唯一id, UIDNB,(如它的序列號(hào))和先前提供給認(rèn)證服務(wù)器 的派生種子DSp執(zhí)行另一派生種子生成過(guò)程。換句話說(shuō),站點(diǎn)l的 認(rèn)證服務(wù)器AS,進(jìn)行如下計(jì)算DS2-DS,+UID仰。然后認(rèn)證服務(wù)器 在筆記本計(jì)算機(jī)斷開(kāi)之前將派生種子DS2與它的唯一標(biāo)識(shí)符UID,— 起發(fā)送給筆記本計(jì)算機(jī)。為了使得用戶在離線時(shí)能夠認(rèn)證到筆記本計(jì)算機(jī),筆記本計(jì)算機(jī) 將它自己的唯一標(biāo)識(shí)符NIDNB以及站點(diǎn)1的唯一標(biāo)識(shí)符UID, —并發(fā) 送給用戶令牌。令牌在內(nèi)部使用密鑰派生函數(shù)數(shù)學(xué)組合主種子Sm以 及兩個(gè)標(biāo)識(shí)符UID,和UIDNB,以生成DS2 (即,DS, = SM + UID1; DS2-DS, + UE)nb)。用戶然后在筆記本計(jì)算機(jī)網(wǎng)絡(luò)上斷開(kāi)時(shí),使用 DS2認(rèn)證到該筆記本計(jì)算機(jī)。上述包括認(rèn)證服務(wù)器網(wǎng)絡(luò)和離線認(rèn)證的過(guò)程可以通過(guò)簡(jiǎn)單地應(yīng) 用已經(jīng)描述的原則來(lái)擴(kuò)展至許多級(jí)別以及不同的級(jí)別。注意,唯一標(biāo)識(shí)符可以是任何值。盡管唯一標(biāo)識(shí)符可以是任意值, 對(duì)于最高級(jí)別的安全性而言,該值是唯一的。唯一標(biāo)識(shí)符的例子包括 站點(diǎn)的公開(kāi)密鑰、站點(diǎn)URL、用戶名、筆記本計(jì)算機(jī)序列號(hào)等。唯 一標(biāo)識(shí)符和主種子的組合可以使用本領(lǐng)域公知的不同算法來(lái)實(shí)現(xiàn)。對(duì) 它們一起求散列值是一個(gè)例子。同時(shí),認(rèn)證令牌可以是基于共享密值 (對(duì)稱(chēng)密鑰或種子)的任意類(lèi)型的令牌。例子包括基于時(shí)間、挑戰(zhàn)-應(yīng)答、時(shí)間和事件、事件同步等。而且,對(duì)于本領(lǐng)域技術(shù)人員來(lái)說(shuō)熟 知的是,其它信息可以包括在種子的派生中。應(yīng)該理解的是,在本申請(qǐng)中分離示出的某些功能可以被組合在一 起,而組合示出的其他功能可以被分離,而不會(huì)對(duì)這里描述的基本原 理帶來(lái)?yè)p害。例如,主種子生成器100和密鑰服務(wù)器104在圖1中被 示出為分離的實(shí)體。然而,這兩個(gè)功能可以被組合成單個(gè)實(shí)體。而且,
服務(wù)器站點(diǎn)iio被示出為包括驗(yàn)證器或認(rèn)證管理器的功能,但是這兩個(gè)功能可以被分離,其中認(rèn)證管理器正由與管理服務(wù)器站點(diǎn)的實(shí)體不 同的實(shí)體管理。實(shí)際上,考慮到認(rèn)證服務(wù)器更可能由第三方服務(wù)器站 點(diǎn)提供,而不是由用戶嘗試訪問(wèn)的站點(diǎn)提供,所述功能將是分離的。應(yīng)該理解的是,正在認(rèn)證進(jìn)入站點(diǎn)的實(shí)體在此稱(chēng)為用戶。實(shí)際上, 此實(shí)體還可以更通用地稱(chēng)為客戶機(jī)側(cè)實(shí)體,這是因?yàn)樗瑯涌梢允菍?求認(rèn)證進(jìn)入另一站點(diǎn)的硬件設(shè)備、應(yīng)用或其它軟件實(shí)體。類(lèi)似的,客 戶機(jī)側(cè)實(shí)體尋求認(rèn)證進(jìn)入的服務(wù)器可以是客戶機(jī)側(cè)實(shí)體希望認(rèn)證進(jìn) 入的服務(wù)器站點(diǎn)、域、區(qū)域或任何其它服務(wù)器側(cè)實(shí)體。在上述描述中,載有主種子且用于認(rèn)證到服務(wù)器的用戶設(shè)備在此 稱(chēng)為令牌。該設(shè)備有時(shí)還被稱(chēng)為認(rèn)證器。它可以采用不同的形態(tài),例如包括內(nèi)部處理器元件和存儲(chǔ)器的硬件設(shè)備,或者是在PC上運(yùn)行的代碼(如軟件令牌)。還要注意的是,用戶必須能夠存儲(chǔ)主種子且具有密鑰派生能力, 還必須獲知密鑰派生函數(shù)。此能力可以與用戶在連接至客戶計(jì)算機(jī)時(shí) 使用的令牌包括在一起,或包括在這些設(shè)備的組合內(nèi)。其它實(shí)施例在下述權(quán)利要求中。
權(quán)利要求
1、一種用于為多個(gè)客戶機(jī)側(cè)實(shí)體生成認(rèn)證種子的方法,所述方法包括基于單個(gè)主種子而生成多個(gè)派生種子,每個(gè)派生種子對(duì)應(yīng)多個(gè)客戶機(jī)側(cè)實(shí)體中的一個(gè)相應(yīng)的不同客戶機(jī)側(cè)實(shí)體,其中生成所述多個(gè)派生種子中的每一個(gè)包括將所述主種子和標(biāo)識(shí)所述相應(yīng)的客戶機(jī)側(cè)實(shí)體的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合。
2、 根據(jù)權(quán)利要求1所述的方法,其中,所述多個(gè)客戶機(jī)側(cè)實(shí)體 是多個(gè)用戶。
3、 根據(jù)權(quán)利要求l所述的方法,還包括將所述多個(gè)派生種子分 發(fā)給驗(yàn)證器,以供在單獨(dú)地將所述多個(gè)客戶機(jī)側(cè)實(shí)體中的每個(gè)實(shí)體認(rèn) 證到所述驗(yàn)證器時(shí)使用。
4、 根據(jù)權(quán)利要求1所述的方法,還包括 生成所述主種子;以及接收所述多個(gè)客戶機(jī)側(cè)實(shí)體中的每個(gè)實(shí)體的相應(yīng)的唯一標(biāo)識(shí)符。
5、 根據(jù)權(quán)利要求1所述的方法,還包括 從主種子生成器接收所述主種子;以及接收所述多個(gè)客戶機(jī)側(cè)實(shí)體中的每個(gè)實(shí)體的相應(yīng)的唯一標(biāo)識(shí)符。
6、 根據(jù)權(quán)利要求4所述的方法,其中,所述接收包括從所述驗(yàn) 證器接收所述多個(gè)客戶機(jī)側(cè)實(shí)體中每個(gè)實(shí)體的唯一標(biāo)識(shí)符。
7、 根據(jù)權(quán)利要求1所述的方法,其中,所述方法在令牌設(shè)備上 實(shí)現(xiàn),并且其中,當(dāng)正為其生成所述派生種子的所述客戶機(jī)側(cè)實(shí)體試 圖認(rèn)證到驗(yàn)證器時(shí),發(fā)生生成所述多個(gè)派生種子中的每一個(gè)的過(guò)程。
8、 根據(jù)權(quán)利要求1所述的方法,還包括接收標(biāo)識(shí)多個(gè)客戶機(jī)側(cè) 實(shí)體中一個(gè)客戶機(jī)側(cè)實(shí)體尋求訪問(wèn)的服務(wù)器的唯一標(biāo)識(shí)符,其中為該 客戶機(jī)側(cè)實(shí)體生成派生種子包括將所述主種子、標(biāo)識(shí)該客戶機(jī)側(cè)實(shí)體 的唯一標(biāo)識(shí)符和標(biāo)識(shí)所述服務(wù)器的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合。
9、 根據(jù)權(quán)利要求1所述的方法,其中,進(jìn)行數(shù)學(xué)組合包括使用 密鑰派生函數(shù)。
10、 根據(jù)權(quán)利要求9所述的方法,其中,所述密鑰派生函數(shù)包括 迭代函數(shù)。
11、 根據(jù)權(quán)利要求9所述的方法,其中,所述密鑰派生函數(shù)采用 根據(jù)所述主種子派生出的值和標(biāo)識(shí)所述多個(gè)客戶機(jī)側(cè)實(shí)體中選出的 一個(gè)實(shí)體的唯一標(biāo)識(shí)符作為輸入。
12、 根據(jù)權(quán)利要求11所述的方法,其中,根據(jù)所述主種子派生 出的所述值是所述主種子。
13、 根據(jù)權(quán)利要求11所述的方法,其中,根據(jù)所述主種子派生 出的值是通過(guò)將所述主種子和至少一個(gè)其它標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合而 生成的。
14、 一種使用單個(gè)主種子來(lái)將多個(gè)客戶機(jī)側(cè)實(shí)體中任意一個(gè)選擇 的實(shí)體認(rèn)證到驗(yàn)證器的方法,其中,所述多個(gè)客戶機(jī)側(cè)實(shí)體中的每個(gè) 實(shí)體由不同的唯一標(biāo)識(shí)符標(biāo)識(shí),所述方法包括將所述主種子和所述任意選擇的客戶機(jī)側(cè)實(shí)體的唯一標(biāo)識(shí)符進(jìn) 行數(shù)學(xué)組合,以為所述任意選擇的客戶機(jī)側(cè)實(shí)體生成派生種子;以及使用為所述任意選擇的客戶機(jī)側(cè)實(shí)體生成的所述派生種子,來(lái)將 所述任意選擇的客戶機(jī)側(cè)實(shí)體認(rèn)證到所述驗(yàn)證器。
15、 根據(jù)權(quán)利要求14所述的方法,其中,所述多個(gè)客戶機(jī)側(cè)實(shí) 體是多個(gè)用戶。
16、 根據(jù)權(quán)利要求15所述的方法,其中,使用所述任意選擇的 用戶的派生種子包括向所述驗(yàn)證器發(fā)送根據(jù)所述任意選擇的用戶的 派生種子計(jì)算出的值。
17、 根據(jù)權(quán)利要求14所述的方法,其中,將所述主種子和所述 任意選擇的客戶機(jī)側(cè)實(shí)體的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合包括使用利用 由所述驗(yàn)證器和所述客戶機(jī)側(cè)實(shí)體共享的密值的函數(shù)。
18、 根據(jù)權(quán)利要求17所述的方法,其中,使用為所述任意選擇 的客戶機(jī)側(cè)實(shí)體生成的所述派生種子來(lái)將所述任意選擇的客戶機(jī)側(cè) 實(shí)體認(rèn)證到所述驗(yàn)證器包括使用從一組認(rèn)證算法中選出的認(rèn)證算法, 該組認(rèn)證算法包括基于時(shí)間的認(rèn)證算法、挑戰(zhàn)-應(yīng)答認(rèn)證算法、基于 計(jì)數(shù)器的認(rèn)證算法以及事件同步認(rèn)證算法。
19、 根據(jù)權(quán)利要求14所述的方法,其中,將所述主種子和所述 任意選擇的客戶機(jī)側(cè)實(shí)體的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合包括使用從一 組函數(shù)中選出的函數(shù),該組函數(shù)包括散列函數(shù)、塊加密函數(shù)、流加密 函數(shù)以及消息認(rèn)證碼函數(shù)。
20、 根據(jù)權(quán)利要求14所述的方法,其中,進(jìn)行數(shù)學(xué)組合包括使 用密鑰派生函數(shù)。
21、 根據(jù)權(quán)利要求19所述的方法,其中,所述密鑰派生函數(shù)包 括迭代函數(shù)。
22、 根據(jù)權(quán)利要求19所述的方法,其中,所述密鑰派生函數(shù)采 用根據(jù)所述主種子派生出的值和標(biāo)識(shí)所述多個(gè)客戶機(jī)側(cè)實(shí)體的唯一 標(biāo)識(shí)符中的一個(gè)標(biāo)識(shí)符作為輸入。
23、 根據(jù)權(quán)利要求21所述的方法,其中,根據(jù)所述主種子派生 出的值是所述主種子。
24、 一種用于為一個(gè)或多個(gè)客戶機(jī)側(cè)實(shí)體生成認(rèn)證種子以使它們能夠單獨(dú)地認(rèn)證到一個(gè)或多個(gè)服務(wù)器側(cè)實(shí)體的方法,所述方法包括根 據(jù)單個(gè)主種子生成多個(gè)派生種子,其中生成所述多個(gè)派生種子中的每個(gè)種子包括將所述主種子和相應(yīng)的多個(gè)不同的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué) 組合,其中所述相應(yīng)的多個(gè)不同的唯一標(biāo)識(shí)符中的每個(gè)唯一標(biāo)識(shí)符標(biāo) 識(shí)不同的實(shí)體。
25、 根據(jù)權(quán)利要求24所述的方法,還包括將所述多個(gè)派生種子 分發(fā)給所述一個(gè)或多個(gè)服務(wù)器側(cè)實(shí)體,以使得用戶能夠通過(guò)使用所述 多個(gè)派生種子中合適的一個(gè)種子認(rèn)證到那些一個(gè)或多個(gè)服務(wù)器側(cè)實(shí) 體。
26、 根據(jù)權(quán)利要求24所述的方法,其中,所述一個(gè)或多個(gè)用戶 是多個(gè)用戶,并且其中,每個(gè)相應(yīng)的多個(gè)不同標(biāo)識(shí)符中至少一個(gè)唯一 標(biāo)識(shí)符標(biāo)識(shí)所述多個(gè)用戶中相應(yīng)的不同用戶。
27、 根據(jù)權(quán)利要求24所述的方法,其中,所述一個(gè)或多個(gè)服務(wù)器側(cè)實(shí)體是多個(gè)服務(wù)器側(cè)實(shí)體,其中每個(gè)相應(yīng)的多個(gè)不同標(biāo)識(shí)符中至 少一個(gè)唯一標(biāo)識(shí)符標(biāo)識(shí)所述多個(gè)服務(wù)器側(cè)實(shí)體中相應(yīng)的不同服務(wù)器側(cè)實(shí)體。
28、 根據(jù)權(quán)利要求24所述的方法,其中,進(jìn)行數(shù)學(xué)組合包括使 用密鑰派生函數(shù)。
29、 根據(jù)權(quán)利要求27所述的方法,其中,所述密鑰派生函數(shù)包 括迭代函數(shù)。
30、 根據(jù)權(quán)利要求27所述的方法,其中,所述密鑰派生函數(shù)采 用根據(jù)所述主種子派生出的值和標(biāo)識(shí)所述多個(gè)客戶機(jī)側(cè)實(shí)體的唯一 標(biāo)識(shí)符中的一個(gè)唯一標(biāo)識(shí)符作為輸入。
31、 根據(jù)權(quán)利要求30所述的方法,其中,根據(jù)所述主種子派生 出的值是所述主種子。
32、 一種在令牌中實(shí)現(xiàn)的用于將多個(gè)不同的第一實(shí)體認(rèn)證到第二 實(shí)體的方法,所述方法包括將主種子存儲(chǔ)在所述令牌中;當(dāng)所述多個(gè)第一實(shí)體中任意一個(gè)實(shí)體尋求認(rèn)證到所述第二實(shí)體 時(shí),(l)將所述主種子和為該第一實(shí)體提供的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組 合,以為該第一實(shí)體生成派生種子;并且(2)使用該第一實(shí)體的所述 派生種子來(lái)認(rèn)證到所述第二實(shí)體。
33、 根據(jù)權(quán)利要求32所述的方法,其中,所述令牌被實(shí)現(xiàn)成硬 件設(shè)備。
34、 根據(jù)權(quán)利要求32所述的方法,其中,所述令牌被實(shí)現(xiàn)成軟件。
35、 根據(jù)權(quán)利要求32所述的方法,其中,使用該第一實(shí)體的所 述派生種子來(lái)認(rèn)證到所述第二實(shí)體,包括使用利用由所述第二實(shí)體和 該第一實(shí)體共享的密值的認(rèn)證算法。
36、 根據(jù)權(quán)利要求32所述的方法,其中,使用所述第一實(shí)體的 所述派生種子來(lái)認(rèn)證到所述第二實(shí)體,包括使用從一組認(rèn)證算法中選 出的認(rèn)證算法,該組認(rèn)證算法包括基于時(shí)間的認(rèn)證算法、挑戰(zhàn)-應(yīng)答 認(rèn)證算法、基于計(jì)數(shù)器的認(rèn)證算法和事件同步認(rèn)證算法。
37、 根據(jù)權(quán)利要求32所述的方法,還包括(3)在將該第一實(shí)體 認(rèn)證到所述第二實(shí)體后,刪除該第一實(shí)體的所述派生種子。
38、 一種在網(wǎng)絡(luò)中使用的方法,在所述網(wǎng)絡(luò)中,具有存儲(chǔ)主種子 的用戶設(shè)備的用戶通過(guò)客戶機(jī)側(cè)設(shè)備認(rèn)證到所述網(wǎng)絡(luò)上的另一個(gè)實(shí) 體,所述方法包括在連接到所述網(wǎng)絡(luò)的服務(wù)器中,從所述客戶機(jī)側(cè)設(shè)備接收標(biāo)識(shí)所 述客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符;在所述服務(wù)器中,將密值與所述客戶機(jī)側(cè)設(shè)備的所述唯一標(biāo)識(shí)符 進(jìn)行數(shù)學(xué)組合,以生成派生種子,其中所述密值是根據(jù)所述主種子派 生出的;以及將所述派生種子從所述服務(wù)器發(fā)送至所述客戶機(jī)側(cè)設(shè)備。
39、 根據(jù)權(quán)利要求38所述的方法,其中,所述客戶機(jī)側(cè)設(shè)備是 中間服務(wù)器。
40、 根據(jù)權(quán)利要求38所述的方法,還包括在所述客戶機(jī)側(cè)設(shè)備上接收所述派生種子;以及在接收到所述派生種子后,將所述客戶機(jī)側(cè)設(shè)備從所述網(wǎng)絡(luò)中斷開(kāi)。
41、 根據(jù)權(quán)利要求38所述的方法,還包括在所述用戶設(shè)備中 接收所述客戶機(jī)側(cè)設(shè)備的所述唯一標(biāo)識(shí)符; 至少將所述唯一標(biāo)識(shí)符與所述主種子進(jìn)行數(shù)學(xué)組合,以生成所述派生種子;以及在所述客戶機(jī)側(cè)設(shè)備從所述網(wǎng)絡(luò)中斷幵的情況下,使用所述派生 種子將所述用戶設(shè)備認(rèn)證到所述客戶機(jī)側(cè)設(shè)備。
42、 根據(jù)權(quán)利要求38所述的方法,其中,所述密值是所述主種子。
43、 根據(jù)權(quán)利要求38所述的方法,其中,所述密值是派生種子, 其是通過(guò)將所述主種子和一個(gè)或多個(gè)其它標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合而生 成的。
44、 一種由網(wǎng)絡(luò)上的客戶機(jī)側(cè)設(shè)備實(shí)現(xiàn)的方法,在所述網(wǎng)絡(luò)中, 用戶通過(guò)所述客戶機(jī)側(cè)設(shè)備認(rèn)證到所述網(wǎng)絡(luò)上的另一實(shí)體,所述方法 包括將標(biāo)識(shí)所述客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符發(fā)送給所述網(wǎng)絡(luò)的該另 一實(shí)體;從所述另一實(shí)體接收派生種子,其中所述派生種子是通過(guò)將密值 和所述客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合而生成的,其中所述 密值是基于所述主種子的;從所述網(wǎng)絡(luò)斷開(kāi);為了認(rèn)證用戶,將所述客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符發(fā)送至用戶設(shè)備;在將所述客戶機(jī)側(cè)設(shè)備的唯一標(biāo)識(shí)符發(fā)送至所述用戶設(shè)備后,從 所述用戶設(shè)備接收表明該用戶設(shè)備擁有所述派生種子的信息。
45、 根據(jù)權(quán)利要求44所述的方法,其中在從所述用戶設(shè)備接收 表明該用戶設(shè)備擁有所述派生種子的信息的步驟前,所述用戶設(shè)備生 成響應(yīng)于所述派生種子的認(rèn)證碼,其中來(lái)自該用戶設(shè)備的信息是所述 認(rèn)證碼。
46、 根據(jù)權(quán)利要求44所述的方法,其中,所述密值是根據(jù)所述 主種子進(jìn)行數(shù)學(xué)計(jì)算出的。
47、 一種在服務(wù)器站點(diǎn)認(rèn)證多個(gè)用戶的方法,所述方法包括存儲(chǔ)多個(gè)派生種子,所述多個(gè)派生種子全部是根據(jù)單個(gè)主種子計(jì) 算出的,其中所述多個(gè)派生種子中的每個(gè)派生種子對(duì)應(yīng)于多個(gè)實(shí)體中 一個(gè)相應(yīng)的不同實(shí)體,其中所述多個(gè)派生種子中的每個(gè)派生種子是通 過(guò)將所述主種子和相應(yīng)實(shí)體的唯一標(biāo)識(shí)符進(jìn)行數(shù)學(xué)組合而生成的;對(duì)于所述多個(gè)用戶中任意選出的一個(gè)用戶,從該用戶接收根據(jù)該 用戶的派生種子數(shù)學(xué)生成的認(rèn)證信息;以及對(duì)于所選出的用戶,基于從該用戶接收到的認(rèn)證信息來(lái)認(rèn)證該用戶。
全文摘要
一種用于為多個(gè)用戶生成認(rèn)證種子的方法,該方法包括基于單個(gè)主種子生成多個(gè)派生種子,每個(gè)派生種子對(duì)應(yīng)于多個(gè)用戶中的每個(gè)用戶;將所述多個(gè)派生種子發(fā)布給驗(yàn)證器以在單獨(dú)將多個(gè)用戶中的每一個(gè)用戶認(rèn)證到驗(yàn)證器時(shí)使用,其中每個(gè)派生種子的生成包括將主種子和標(biāo)識(shí)相應(yīng)的用戶的唯一標(biāo)識(shí)符數(shù)學(xué)組合。
文檔編號(hào)G06F21/00GK101120351SQ200680005222
公開(kāi)日2008年2月6日 申請(qǐng)日期2006年2月17日 優(yōu)先權(quán)日2005年2月18日
發(fā)明者J·哈梅爾, W·杜安 申請(qǐng)人:Rsa安全公司