專利名稱:用于在設備之間進行驗證的方法
技術領域:
本發(fā)明涉及一種控制第一設備向第二設備的驗證的方法,這些設備被分配相應的設備標識符。
背景技術:
近年來,內(nèi)容保護系統(tǒng)的數(shù)量已經(jīng)有了快速的增長。其中一些系統(tǒng)僅僅保護內(nèi)容以防被非法拷貝,而其它系統(tǒng)還禁止用戶訪問內(nèi)容。第一個類別被稱作拷貝保護(CP)系統(tǒng)并傳統(tǒng)上已經(jīng)是消費電子設備(CE)的主要焦點,這是因為這類內(nèi)容保護被認為是可用廉價的方法來實施的并且不需要與內(nèi)容供應商雙向相互作用。這樣的例子是CSS(內(nèi)容加擾系統(tǒng)),即DVD ROM(只讀存儲器)盤以及DTCP(數(shù)字傳輸內(nèi)容保護),即IEEE 1394連接的保護系統(tǒng)。該第二類別已知有若干名稱。在廣播領域中,它們通常被稱為CA(有條件接收)系統(tǒng),而在互聯(lián)網(wǎng)領域中它們通常被稱為DRM(數(shù)字權利管理)系統(tǒng)。
近來,新的內(nèi)容保護系統(tǒng)已經(jīng)被引入(像來自Thomson的智能版權或來自DTLA的DTCP),其中,一組設備可以通過雙向連接彼此驗證。在這個驗證的基礎上,這些設備將彼此信任并且這將使它們能交換受保護的內(nèi)容。在伴隨著內(nèi)容的許可證中,描述了用戶具有哪些權利和他/她被允許對該內(nèi)容執(zhí)行什么操作。
設備之間互通信所必需的信任基于一些秘密,這種秘密僅僅為經(jīng)過測試和被證明具有安全的執(zhí)行過程的那些設備所知。對該秘密的認知是使用驗證協(xié)議測試的。用于這些協(xié)議的最佳解決方案是那些使用′公開密鑰′密碼學的那些方案,它們使用兩個不同的一對密鑰。將被測試的秘密則是一對密鑰中的保密密鑰,而公開密鑰可以被用來校驗測試結果。為了確保公開密鑰的正確性和檢查密鑰對是否是被驗證設備的合法的密鑰對,公開密鑰伴隨有一個證書,這個證書由證書授權中心經(jīng)數(shù)字方式簽名,這個組織管理所有設備的公開/保密密鑰對的分發(fā)。在一個簡易的執(zhí)行過程中,證書授權中心的公開密鑰被硬編碼在設備的硬件中。
證書是一個比特串,它包括M個比特的消息部分和附加到其上面的C個比特的簽名部分。C通常在512...2048比特的范圍內(nèi)并且一般來說是1024比特。對于M<C,簽名是基于消息本身計算的,而對于M>C則是基于消息摘要而計算的。下面把第一種情況M<C,作為更相關的一種情況。簽名敏感地隨消息內(nèi)容而定,并且具有只能由證書授權中心構造而能被大家校驗的特性。在本文中的校驗意指檢查該簽名是與該消息一致的。如果某人已經(jīng)改變消息的哪怕只是一個比特,則簽名就不再是一致的。
在典型安全方案中,存在涉及到的幾個不同的設備,它們可能不全部都是用相等的防篡改(tamper-proofing)級別來實現(xiàn)的。因此,這樣的系統(tǒng)將能抵抗對各個獨立設備的入侵,這些入侵可能是非法存儲、拷貝和/或把數(shù)字內(nèi)容再分發(fā)。增加抵抗力的一個重要技術是所謂的撤銷這些被入侵的設備。
撤銷意指將那個設備中的信任撤回。撤銷的效果是網(wǎng)絡中的其它設備不再想要與已撤銷的設備進行通信。撤銷可以用幾種不同的方式來實現(xiàn)。兩個不同的技術可以使用所謂的黑名單(已撤銷的設備列表)或白名單(未撤銷的設備列表)。
在黑名單方案中,要校驗其通信伙伴的信任的那個設備需要有該列表的最新版本并且檢查另一個設備的標識符是否在那個列表上。黑名單的優(yōu)點是設備被默認是可信任的,并且只有當它們的ID被列在撤銷列表上的時候才撤銷對它們的信任。這個列表最初很小,但是它能潛在地無限制增長。因此,這些撤銷列表在CE設備上的分發(fā)和存儲兩者最終可能都是成問題的。
在白名單方案中,設備必須向其它設備證明它仍然是在被允許的通信伙伴的列表上。這將通過給出最新版本的證書來完成,最新版本的證書聲明該設備是在白名單上。通過只把證明該設備是在白名單上的一個定長證書存儲在每個設備中,白名單技術克服了存儲問題。撤銷由向已撤銷的之外的所有設備發(fā)送新版本的白名單證書來完成。盡管這時設備中的存儲量是有限制的,然而如果沒有可用的有效方案,則分發(fā)白名單證書是一個幾乎不可克服的問題。
發(fā)明內(nèi)容
本發(fā)明的一個目的是根據(jù)前文提供一個系統(tǒng),它能有效分發(fā)和存儲白名單證書。
這個目的根據(jù)本發(fā)明用一個方法來實現(xiàn),包括向第一設備分發(fā)用于識別未撤銷的設備標識符的范圍一個群體證書,所述的范圍包含第一設備的設備標識符。
本發(fā)明提供一個技術,它結合了黑名單(最初的小的分發(fā)列表)的優(yōu)點和白名單(有限的存儲)的主要優(yōu)點。優(yōu)選地,這個技術另外還使用一個設備證書,它證明設備的ID。這個設備證書已經(jīng)作為初始信任的基礎而存在于設備之中(與撤銷無關)并且例如在工廠生產(chǎn)期間就已安裝。
現(xiàn)在,每個設備只須存儲單獨一個群體證書,即識別包含它自己的設備標識符的范圍的那個群體證書。這是指證書的存儲需求是固定的并且可以被提前計算。現(xiàn)在對這些設備的實現(xiàn)進行優(yōu)化是可能的,例如通過安裝一個容量正好合適的存儲器而不是像在現(xiàn)有技術中那樣必須安裝一個“足夠大”的存儲器。
至于分發(fā),現(xiàn)在不再需要總是向系統(tǒng)中的每一個設備發(fā)送單獨的證書。通過選擇一個適當?shù)脑O備標識符的分群,單獨一個群體證書足夠該群體中所有設備之用。從而該方法更為有效。
第一設備現(xiàn)在可以通過向第二設備出示群體證書來驗證它自己。當然,第一設備向第二設備的驗證可能包括除了出示群體證書之外的其它步驟。例如,第一設備還可以與第二設備建立安全驗證信道,向第二設備出示包括它的設備標識符的證書,等等。如果第二設備確定第一設備的設備標識符確實包含在群體證書給出的范圍中,則驗證是成功的。通過簡單地也讓第二設備向第一設備出示它自己的群體證書,驗證是可以相互進行的。
在一個實施例中,相應的設備標識符對應于分層排序樹中的各個葉節(jié)點,而群體證書識別分層排序樹中的一個節(jié)點,所述的節(jié)點表示一個子樹,該子樹中各個葉節(jié)點對應于未撤銷的設備標識符的范圍。這具有這樣的優(yōu)點,即使用分層結構使很有效地識別一個群成為可能。一個很大的設備群可以用對應于分層結構中高級節(jié)點的單個標識符來識別。
在這個實施例的改進中,群體證書還識別子樹中的另外的一個節(jié)點,所述的另外的節(jié)點表示另一個子樹,其中的各葉節(jié)點對應于排除在未撤銷的設備標識符范圍之外的各設備標識符。在先前的方法中,如果子樹中的一個設備被撤銷,則需要發(fā)出很多新的證書用于仍然是未撤銷的子樹。本改進具有下列優(yōu)點,即當子樹中的少量設備被撤銷時,不需要立即為大量的新子樹發(fā)出新的證書。
作為一種提高,可以發(fā)出用于識別又一個子樹的群體證書,這個子樹是另一個子樹的一部分。這樣,子樹的這個部分可以被維持在未撤銷的設備標識符的范圍內(nèi)。
一般都希望在事先就同意總是撤銷群中的一個設備ID,例如設備ID零。這樣,即使沒有實際的設備被撤銷,群體證書也總被始終如一地形成。
在還一個實施例中,相應的設備標識符是從依次排序的范圍中選擇的,并且群體證書識別依次排序的范圍的子范圍,所述的子范圍包含未撤銷的設備標識符的范圍。這有利地結合了上述的簡易黑名單方法的小的發(fā)送規(guī)模和白名單方法的小的存儲規(guī)模。如果現(xiàn)在所有已撤銷的設備的排序表(例如遞增排列)被建立,則被授權的各個群包括這個列表任何兩個單元之間的設備。這時,發(fā)送規(guī)模最多等于簡易黑名單情況中的規(guī)模(當然,被發(fā)送的數(shù)據(jù)與黑名單一致但其解釋不同)。
在又一個實施例中,一個群體證書識別未撤銷的設備標識符的多個相應范圍。這樣,不用以很大的計算成本來校驗很多數(shù)字簽名,網(wǎng)關設備就可以容易地分辨一個特定的群體證書是否可能與各特定的設備有關。然后,它可以濾出那些根本不相關的群體證書,或者在那些相關的群體證書上校驗任何數(shù)字簽名。
在這個實施例的變形中,單獨一個群體證書中的多個相應范圍被依次排序,并且單獨一個群體證書經(jīng)由連續(xù)排序中的最低和最高相應范圍的標記來識別多個相應范圍。這允許過濾器來決定這個證書是否可能是相關的。然后,這可以由被指定設備自己檢驗簽名來校驗。它可以迅速排除大量不相干的證書。
在又一個實施例中,群體證書包括有效期的標記并且如果所述的有效期是可接受的,則第二設備驗證第一設備?!翱山邮艿摹笨梢院唵蔚刂浮爱斕旌彤敃r是在所指出的時期之內(nèi)”,不過優(yōu)選地也指對所指出時期的一些延伸應該是可接受的。這樣,傳送新的群體證書中的延遲不致于使自動使裝置驗證失敗。
在還有一個實施例中,群體證書包括版本標記。這使得以下情況成為可能,即第二設備向第一設備分發(fā)含有可接受證書最低版本的標記的受保護內(nèi)容,和如果群體證書中的版本標記至少等于可接受的證書最低版本的標記,則成功地驗證第一設備。
盡管設備可以從它們的通信伙伴要求至少與它們所使用的版本一樣新的版本,然而由于處在已撤銷的列表中的設備被完全鎖定在任何內(nèi)容交換之外,仍然可能產(chǎn)生問題。它們甚至被鎖定在舊的內(nèi)容之外,這些舊的內(nèi)容在新的撤銷列表被分發(fā)之前還是允許他們操作的。在這個實施例中避免了這些問題。即使第一設備以后被撤銷,它仍能用它的舊的群體證書來訪問舊的內(nèi)容。
“版本”可以被數(shù)字地識別,例如“版本3.1”,或者被聯(lián)系到某個時間點,例如“2002年1月的版本”。后者具有下列優(yōu)點,即便于向人們解釋由于特殊版本太舊而不再是可接受的,這通過比較當前時間和時間點可以很容易地被看出。使用純數(shù)字的版本號這將困難得多。
附圖簡要說明本發(fā)明在下面用舉例的方法并且參考附圖而更加詳細地被描述,其中
圖1大略地示出包括經(jīng)由網(wǎng)絡互連的設備101-105的系統(tǒng)100;圖2是一個框圖,說明用于被完善的子樹方法的二叉樹的結構;圖3是一個框圖,說明用于子集差異法的二叉樹的結構;圖4是一個框圖,說明被修改的黑名單方法;和圖5是一個表,說明用于產(chǎn)生證書的優(yōu)化方案。
具體實施例方式
在全部的附圖中,相同的參考數(shù)字指出類似或對應的部件。在附圖中指出的一部分部件一般以軟件實現(xiàn),而這些表現(xiàn)為軟件實體,比如軟件模塊或對象。
系統(tǒng)總體結構圖1大略地示出包括經(jīng)由網(wǎng)絡110互連的設備101-105的系統(tǒng)100。在這個實施例中,系統(tǒng)100是一個家庭網(wǎng)絡。標準的數(shù)字家庭網(wǎng)絡包括很多設備,例如無線電接收機、調(diào)諧器/解碼器、CD播放器、一對揚聲器、電視機、錄像機、磁帶機等等。這些設備通常被互連以允許一個設備,例如電視機,來控制另一設備,例如錄像機。諸如調(diào)諧器/解碼器或機頂盒(STB)之類的一個設備通常是提供對其它設備的中央控制的中央設備。
一般包括像音樂、歌曲、電影、電視節(jié)目、圖片等等之類東西的內(nèi)容經(jīng)由住宅網(wǎng)關或機頂盒101被接收。來源可以是對寬帶電纜網(wǎng)絡、互聯(lián)網(wǎng)連接、衛(wèi)星下行鏈路等等的一個連接。內(nèi)容能因此在網(wǎng)絡110上被傳送到一個用于呈現(xiàn)的接收器(Sink)。轉接器可能是例如,電視顯示器102、便攜式顯示設備103、移動電話104和/或音頻播放設備105。
內(nèi)容項被呈現(xiàn)的確切方或取決于設備的類型和內(nèi)容的類型。例如,在無線電接收機中,顯示包括產(chǎn)生音頻信號并且把它們供給到喇叭。對于電視接收機,呈現(xiàn)通常包括產(chǎn)生音頻和視頻信號并且把它們供給到顯示屏和喇叭。對于其它類型的內(nèi)容,必須采取類似的適當行動。呈現(xiàn)也可能包括比如將接收的信號解密或去擾,使音頻和視頻信號同步等等操作。
機頂盒101,或系統(tǒng)100中的任何其它設備可能包括存儲介質S1,比如適當?shù)拇笥脖P以允許被接收內(nèi)容的記錄和以后的播放。存儲器S1可能是一些種類的個人數(shù)字記錄器(PDR),例如與機頂盒101連接的DVD+RW記錄器。存儲在上諸如小型盤(CD)或數(shù)字通用盤(DVD)之類的載體上的內(nèi)容也可以被提供給系統(tǒng)100。
便攜式顯示設備103和移動電話104被無線連接到使用基站111的網(wǎng)絡110,例如使用藍牙或IEEE 802.lib。其它一些設備使用常規(guī)有線連接來連接。為了讓設備101-105交互作用,可以用幾個交互性標準,它們讓不同的設備交換消息和信息以及相互控制。一個熟知的標準是2000年1月公開的家用音頻/視頻交互(HAVi)標準版本1.0,并且可在互聯(lián)網(wǎng)地址http//www.havi.org/上得到。其它的熟知標準是家用數(shù)字總線(D2B)標準,這是在IEC1030中描述的通信協(xié)議以及通用即插即用(http//www.upnp.org)。
確保本地網(wǎng)絡中的設備101-105沒有拷貝未被授權的內(nèi)容往往是很重要的。為了做到這點,一個一般稱為數(shù)字版權管理(DRM)系統(tǒng)的安全構架是必需的。
在一個這樣的構架中,本地網(wǎng)絡被概念地劃分成有條件接收(CA)領域和拷貝保護(CP)領域。轉接器一般位于CP領域。這確保當內(nèi)容提供給轉接器時,由于拷貝保護方案位于CP領域,所以未被授權內(nèi)容的拷貝不能進行。CP領域中的設備可能包括做臨時拷貝的存儲媒介,不過這類拷貝不能從CP領域輸出。這個構架在與本申請相同的申請人的歐洲專利申請01204668.6(代理人記事表PHNL010880)中被描述。
無論選擇哪種具體的方法,實現(xiàn)安全構架的家庭網(wǎng)絡中的所有設備都根據(jù)實現(xiàn)需求來這樣做。使用這個構架,這些設備可以彼此驗證以及安全地分發(fā)內(nèi)容。對內(nèi)容的訪問由安全系統(tǒng)管理。這防止了無保護的內(nèi)容被泄漏給未被授權的設備和來源于不可靠設備的數(shù)據(jù)進入系統(tǒng)。
設備只把內(nèi)容分發(fā)到已經(jīng)預先被成功地驗證的其它設備是很重要的。這確保對手不能使用惡意的設備來做出未被授權的拷貝。只有當一個設備由被授權廠商制造時它才能夠被成功地驗證,舉例來說,因為只有被授權廠商知道成功驗證所需的特殊秘密或者它們的設備具有由被信任的第三方所發(fā)出的證書。
設備撤銷通常,如果設備內(nèi)部的保密信息(例如標識符或譯碼密鑰)已經(jīng)被破壞或者經(jīng)由入侵被發(fā)現(xiàn),則設備的撤銷是它的一個或多個功能被縮減或完全取消。例如,CE設備的撤銷可能限制該設備能夠解密和使用的數(shù)字內(nèi)容的類型。替換地,撤銷可以使得一個CE設備不能再執(zhí)行某些功能,比如對它接收的任何數(shù)字內(nèi)容做出拷貝。
撤銷的常見效果是網(wǎng)絡110中的其它設備不再想要與已撤銷的設備進行通信。撤銷可以用幾種不同的方法來實現(xiàn)。兩個不同的技術將使用所謂的黑名單(已撤銷的設備列表)或白名單(未撤銷的設備列表)。
可能存在多個版本的撤銷列表。幾個機理可以被用于新版本的實施。例如,設備可以向它們的通信伙伴要求至少與它們自己所使用的版本一樣新的版本。然而,因為已撤銷的列表中的設備被完全鎖定在任何內(nèi)容交換之外,所以這可能產(chǎn)生問題。它們甚至被鎖定在舊的內(nèi)容之外,這些舊的內(nèi)容在新的撤銷列表被分發(fā)之前還是允許他們操作的。
另一個版本控制機理是把被分發(fā)內(nèi)容連接到撤銷列表的某個版本,即撤銷列表的當前版本號是伴隨著內(nèi)容的許可的一部分。于是只有當它們所有的通信伙伴都有至少與內(nèi)容所需版本一樣新的版本時,設備才將分發(fā)內(nèi)容。版本編號可以通過例如使用單調(diào)地增加號數(shù)而被實現(xiàn)。
存在確定撤銷機理的吸引力(因此應用可能性)的多個成本因素。一個因素是發(fā)送規(guī)模每個未撤銷的設備必須接收一個用于證明它仍然帶有撤銷系統(tǒng)的當前版本這個事實的簽名消息。另一個因素是存儲規(guī)模每個未撤銷的設備必須存儲證明它仍然帶有撤銷系統(tǒng)的當前版本的證書。這兩個因素看上去好像是對立的。對于小的發(fā)送規(guī)模,授權機構最好是廣播一個包括所有已撤銷的設備身份的簽名消息,不過對于大約100,000個已撤銷的設備的情況下這會導致無法實現(xiàn)的存儲器需求。為了使存儲規(guī)模最小化,證書授權中心將最好是發(fā)送一個獨立證書到每個未撤銷的設備,包括那個設備的設備ID(例如序列號、以太網(wǎng)地址等等);然而這使得也許要廣播上億條消息。當然在雙向鏈路的情況下(例如有電話聯(lián)結器的機頂盒),人們可以僅僅下載與AD中的各設備有關的證書。
本發(fā)明的其中一個目的是在如上所述的黑名單方法和白名單方法給出的兩個極端之間提供一個有意義的折衷。本發(fā)明部分地基于在密碼學中已知的分級密鑰分發(fā)方案。在本發(fā)明的一個實施例中,證書授權中心發(fā)送簽名消息,簽名消息確認某群設備沒有被撤銷每個未撤銷的群有一個簽名消息。一般來說群數(shù)比設備數(shù)小得多,因此這需要有限的發(fā)送規(guī)模。進一步,設備只存儲關系到它作為成員而所在群的消息,并且從而只需要有限的存儲規(guī)模。然后在兩個設備之間的驗證期間,“證明者”出示兩個證書最新的撤銷消息,它表明證明者作為成員而所在群沒有被撤銷,和一個證書(在工廠中安裝的),它確認它的設備ID(即這個設備是在涉及到最新撤銷消息的步驟中提到的群的成員)。
一般來說,這類證書包括設備標識符i和公開密鑰PKi。根據(jù)在前面提及的驗證協(xié)議,已經(jīng)攔截到i作為成員所在群的證書并且試圖假冒i的攻擊者不會有對應于PKi的私人密鑰SKi,并且所有進一步的通信都被中斷。
為了描述這些優(yōu)點,引入以下注釋·每個設備都具有一個設備標識符i,0<i<N,其中N=2n是設備總數(shù)每個設備標識符數(shù)是一個n個比特的串;·D={0,1,...,N-1}是所有設備的集;·R={f1,f2,...,fr}是已撤銷的設備集(它一代接一代地改變/增長)。
證書授權中心發(fā)送一個(各不相同的)消息到m個群S1,...,Sm的每個設備,證明該群的各成員沒有被撤銷。群i的每個成員存儲群i的消息/證書。這些群是這樣選擇地,使S1∪S2∪...∪Sm=D|R]]>(即所有群Sk一起形成未撤銷的設備群,1≤k≤m,它等于D減去已撤銷的設備的群)。
要解決的問題是在給定R時怎樣選擇把D|R的劃分成為S1,...,Sm。注意,當R已經(jīng)改變時這個劃分在下一代中將是不同的。假設N一般是一個40個比特的數(shù)(實際上在整個世界中允許給每個人提供大約200個設備),和r=|R|,已撤銷的設備數(shù)小于100000。在下面要論述五個這類劃分以及在發(fā)送和存儲規(guī)模中它們相應的成本。這些劃分方案是簡易黑名單;簡易白名單;完整的子樹方法;子集差異法;和被改進的黑名單方法。在論述劃分法和它們的成本之后,簽名的影響將被考慮。
簡易黑名單如上所述,為了最小化發(fā)送規(guī)模,能做的最佳方法是發(fā)送一個簽名消息到聲明是R的一分子的所有設備。實際上D\R被劃分到單個群中,m=1。發(fā)送規(guī)模的理論下限是log2Nr≈rlog2N-rlog2r=rn-rlog2r]]>個比特當1<<r<<N時此近似成立,它是內(nèi)容保護系統(tǒng)相關的參數(shù)的范圍。很接近這個下限的一個普通的實施過程對于授權中心來說是用r·n比特來發(fā)送所有的已撤銷的設備簽名列表(每個設備都有n個比特的設備標識符)。存儲規(guī)模顯然同樣是r·n個比特(~1/2Mbyte)。
簡易白名單為了使存儲規(guī)模最小化,授權中心發(fā)送單獨的證書到每個未撤銷的設備,證書包括它的設備標識符。實際上D/R被劃分成m=|D/R|=(N-r)-群,每群只有一個成員。發(fā)送規(guī)模是(N-r)·n(或者可能是(N′-r)·n,其中N’=#-迄今為止已發(fā)出的設備)。
完整的子樹方法一個方法,用于把一群標識符劃分成分層排序的群,它在D.Naor,M.Naor,J.Lotspiech的“Revocation and Tracing Schemes for StatelessReceivers”,Adv.In Cryptology,CRYPTO′01,LNCS 2139,Springer2001,pp.41-62中被描述,但是該文不討論使用排序的集來創(chuàng)建像本發(fā)明中的群標識符。
為了討論完整的子樹方法,和在下面進一步闡述的子集差分法,所有可能的n個比特的設備標識符都作為(n+1)層的二叉樹的葉(終點)被解釋。一部分術語·樹的端點被稱作葉。在一個(n+1)層的樹中存在2n個葉。
·一個節(jié)點是樹的各個分支結合的位置。葉也被認為是節(jié)點。
·根是最頂端的節(jié)點。
·當節(jié)點υ直接位于節(jié)點u上時,υ被稱為u的父,而u是υ的子。υ的其它子u’被稱作u的兄弟。υ和它的父和祖父一起被稱作u的上代,反之u是它們的子代。
·以υ為根的子樹是包括了υ和它的所有子代的集。
沿著樹向上移動就像是砍掉設備標識符的二進制表示的LSB(最低位),每層一位。假設許多的R={f1,f2,...,fr}數(shù)目的葉已經(jīng)被撤銷?,F(xiàn)在從已撤銷的葉的每一個中向上畫出一條通路一直到樹根。各通路把合并的集合被稱作斯坦納樹ST(R),它對應于葉R。這在圖2中被說明,其中,給出了用于N=16個設備的一個二叉樹的結構。設備標識符為0、7、8和9的設備已經(jīng)被撤銷。經(jīng)由已撤銷的各節(jié)點并最后連接到最頂層節(jié)點201的樹的通路形成了對應的斯坦納樹ST(R)。這些通路處于閉合區(qū)域202-207之外。在每個閉合區(qū)域的頂端是與斯坦納樹斷開的兄弟節(jié)點,這些節(jié)點產(chǎn)生由閉合區(qū)域表示的群Si,它們被標記為S0001、S001、S010、S01 10、S101和S11。
對于完整的子樹法集中在斷開的節(jié)點ST(R)上,即ST(R)上的節(jié)點的兄弟,被稱作{υ1...υm}。證書授權中心現(xiàn)在選擇劃分S1,...,Sm,其中,Si對應于以υi為根的子樹的葉。每個證書只包括一個υi。根據(jù)構造,R的元件都不可能是Si的元件并且D/R的每個元件必須被包括在S1∪S2∪...∪Sm]]>中。這些群是不相重疊的。
可以認為,大約有m=r-n個從ST(R)斷開每個撤銷設備(它到根的通路中有n個節(jié)點)有n個節(jié)點和r個設備。然而可以表明m≤(r·log2r)。原因是ST(R)中的通路在它們到達根很久之前就趨向于合并。利用這一點以及每個υi都是一個n比特數(shù)這一事實,撤銷消息的發(fā)送規(guī)模由n·r·(n-log2r)[數(shù)十個Mbytes]的上限來界定。關于存儲規(guī)模一個設備只存儲它所屬于的Si的簽名n個比特。
如果還必須撤銷一個設備,例如圖2中設備標識符為3的設備,則一個新的群(并且對應群體證書)S0010被創(chuàng)建來替換S001。這個替換可以通過例如向S0010增加一個較高的版本號來實現(xiàn)。如果群體證書帶有有效期指示符,則證書S0010在它的有效期已經(jīng)過去之后自動期滿,這樣替換就是自動進行的。
如果設備標識符為14的設備被撤銷,則必需兩個新的群體證書。對應于群S110的第一個群體證書識別不包含設備標識符14的群S11的子樹。第二個群體證書對應于S1111的子樹。
子集差分法在圖3中說明的這個方法用于N=16個設備,把設備的設備標識符解釋為二叉樹中的葉,與上面討論的完整的子樹法相似。再一次畫出斯坦納樹ST(R)?,F(xiàn)在,出度(outdegree)的鏈1在ST(R)上被識別即在斯坦納樹ST(R)上只有一個子或兄弟的連續(xù)節(jié)點見圖3中的虛線。對于每個這樣的鏈指定一個群Sa,b,對它發(fā)送一個證書如下讓a是該鏈的第一單元(正好在出度2的節(jié)點之后),而b是最后一個(出度2的一個葉或節(jié)點)。然后,Sa,b是以a為根的子樹的各個葉的集,減去以b為根的子樹的葉。
設備標識符為0、7、8和9的設備已經(jīng)被撤銷。對應的斯坦納樹由標記為0000、000、00、0、01、011、0111、1000、1001、100、10、1的各節(jié)點和頂節(jié)點301形成。a是在每個閉合區(qū)域的頂端的節(jié)點302、304和306,而b是節(jié)點308、310和312。Sa,b是最外面的閉合區(qū)域減去由斷開b節(jié)點308-312的子樹所占據(jù)的區(qū)域。
問題在于這類鏈(在從樹的底端朝著頂端走的兩個通路的合并之間)可能永遠沒有被撤銷的后代(否則斯坦納樹上的這個鏈中將存在一個節(jié)點出度2)。注意,由于使用了二叉樹這一事實,這些群是不相重疊的。當然,其它類型的樹或分級排序可以被使用,其中將出現(xiàn)重疊。這個對本發(fā)明沒有影響。
可以表明這個構造是很有效的為了覆蓋DIR最多只需要2r-1個群Sa,b。實際上,最壞的情況模糊了這個事實,即對于隨機選擇的R={f1,f2,...,fr},更實際的群數(shù)是1.25·r。為了確定發(fā)送規(guī)模,需要計算怎樣有效地編碼Sa,b中的{a,b}對。注意,如果a在層j而b在層k,則b具有和a一樣的最初j個比特。
用于編碼{a,b}的實際方法是發(fā)送比特串j‖k‖b,其中,“‖”表示并置。因為j和k占用log2n個比特(對于實際的N,r來說近似于6個比特),所以j‖k‖b的長度由上限(n+2·log2n)界定。從而,總的發(fā)送規(guī)模被界定在(2r-l)·(n+2·log2n)并且更典型地是1.25r·(n+2·log2n)[用典型值時約1Mbytes]。
如果還需要撤銷一個設備,例如圖3中設備標識符為3的設備,則新的群(并且對應群體證書)S001,0011和S000.0000被建立來替換S00,0000。
修改的黑名單方法這個方法直接結合了上述的簡易黑名單方法的小的發(fā)送規(guī)模和白名單方法的小的存儲規(guī)模?;旧?,D/R被劃分到m=|D/R|=(r+1)個群中,其中,每個群Si包括設備{fi+1...fi+1-1}。在一個不成熟的方案中,這導致了2·r·n×的發(fā)送規(guī)模。一個更有效的方案如下如果現(xiàn)在所有已撤銷的設備的排序表(例如按遞增排序)被建立,則被授權的群包括這個列表中任何兩個單元之間的設備?,F(xiàn)在,發(fā)送規(guī)模最多為r·n,這只等于簡易黑名單情況中的規(guī)模(當然,被發(fā)送的數(shù)據(jù)與黑名單一致但解釋則不同)。
對于存儲,設備只提取包括兩個已撤銷設備的設備標識符的證書,它包括它自己的設備標識符。例如在圖4中,設備4將只存儲覆蓋群S0,7的證書大約有2n個比特的信息。
排序的表的上下限的標記當然可以用各種各樣的方法來選擇。在上述示例中,號碼0和7表示兩個已撤銷的設備,并且未撤銷的列表包括號碼1到6。人們可以提及群S1,6就像提及群S0,7一樣。這純粹是因為慣例和為了便于標記。
有效的證書分發(fā)上述部分略述了怎樣用有效的方法(考慮發(fā)送和存儲規(guī)模)通過把設備劃分成群和分發(fā)群體證書來向設備提供撤銷/授權信息。下面將討論一些示例,關于怎樣把群標識符(群ID),比如Sa,b中的a,b,變成證書即怎樣把證書授權中心的簽名應用到這類群標識符。如上所述,簽名以C比特擴展一個消息,一般為1024比特,和消息本身的大小無關。因此簡單地說,如果證書被發(fā)送到m個群,其中每個群的標識符是1個比特,則總的發(fā)送規(guī)模不是m·l個比特而是m·(l+C)個比特。因為對于上述方法來說l一般只是在40...100個比特的量級,即l<<C,所以簽名構成了發(fā)送/存儲規(guī)模的主要部分。然而,因為C與簽名所保護的消息的大小無關,所以發(fā)明者建議用下列優(yōu)化來明顯地減少簽名造成的開銷。
在第一個優(yōu)化方案中,證書用包括多個群的群標識符的消息部分來構造,所有這些群的標識符上的簽名被添加到消息部分上。證書照原樣驗證各個群中的一個群。注意因為實際的原因,在各個群中的一個群的群標識符的總的長度優(yōu)選地不超過C。
在一個進一步優(yōu)化的方案中,證書的信息部分被壓縮。長度m<C的消息的簽名可能具有消息可以就從簽名本身被檢索的特性!人們可能簡單地認為不再需要把群標識符本身包括在證書的消息部分中。然而,過濾證書,即例如由網(wǎng)關設備決定哪個證書必須去到哪個設備,就變得很困難/昂貴,這是因為簽名處理是很昂貴的并且必須對每個證書都執(zhí)行。
為了幫助這類過濾設備而給出以下建議如果有可能確定在群標識符中的次序,比如在簡易白名單、完整的子樹方法或修改過的黑名單的情況下,則證書的信息部分只須包括存在于各個群內(nèi)一個群中的“最低”和“最高”群標識符(其中“最低”和“最高”相對于排序關系被確定)。這讓過濾器決定這個證書是否可能包括相關的群標識符。然后,這可以由被指定設備本身來檢驗簽名而驗證。它迅速排除了大量不相干的證書。
以上所述在圖5的表中被說明。參考數(shù)字402指出一個方案,其中k個群S1,...,Sk一個群集的每個相應的群具有一個相應的簽名Sign[S1],...,Sign[Sk]。如上所述,每個群Si由長度一般約為40比特的串被識別。簽名Sign[Si]的長度一般是如上所述的1024比特。
參考數(shù)字404表明上述的第一優(yōu)化方案。在此為k的簽名數(shù)量現(xiàn)在被替代成驗證整個群S1,...,Sk的單個簽名。如果存在超過k個的簽名,則需要創(chuàng)建更多的證書(每個證書用于k個證書的每個群)。然而,顯然這仍然實質性地節(jié)省了需要被分發(fā)的證書數(shù)量每k個原始證書有一個。
參考數(shù)字406涉及上述的進一步的優(yōu)化,它包括把消息S1S2...Sk減少到S1Sk。這個進一步的優(yōu)化把第一方案的因子2減少到大約為(1024+80)/1024≅1.08]]>的因子。簡言之,來自簽名的開銷幾乎完全被消除。這些優(yōu)化影響了早些論述過的不同的劃分方案如下。
簡易黑名單在證書被附加了r·n個比特的很長黑名單的情況下,它得到總共r·n+C個比特的發(fā)送規(guī)模。對于存儲這同樣成立。簽名規(guī)模是可以忽略的。相對于簽名的應用優(yōu)化不起作用,因為只存在一個群。
簡易白名單總共有(N-r)個群,每個大小大致為n個比特。附加一個簽名產(chǎn)生(N-r)·(C+n)的發(fā)送規(guī)模。用第一優(yōu)化方案,對于每 個未撤銷的設備只需要單個簽名被計算/發(fā)送(因為 個序列號要用 個比特)。為了作進一步的優(yōu)化,(未撤銷的)設備被排序,例如用設備標識符,并且只有 序列號那個群中的第一和最后被放入消息部分本身。這形成了 的發(fā)送規(guī)模。(在這里N是被發(fā)出設備的總數(shù))。對于存儲,顯然只需要一個證書被檢索和存儲C個比特。
完整的子樹方法存在1.25r個群,每個群由一個(n+2·log2n)個比特的數(shù)(樹節(jié)點)來描述。按照第一優(yōu)化,其中的 可以被裝入C個比特中,并且為它們一起提供單個簽名。進一步優(yōu)化也可以通過對樹節(jié)點進行排序來實行,并且然后在消息本身中只留下兩個樹節(jié)點(最低和最高)。總的發(fā)送規(guī)模是 對于存儲來說,只需要存儲單個證書C個比特。
子集差異法(統(tǒng)計地)存在1.25r個群,每個由(n+2·log2n)個比特(兩個樹節(jié)點)來描述。按照第一優(yōu)化,其中的 可以被容納在C個比特中并且單個簽名可以被一起提供給它們?nèi)俊_M一步的優(yōu)化也可以借助于對樹節(jié)點作排序而執(zhí)行,在消息本身中只留下兩個樹節(jié)點。于是總的發(fā)送規(guī)模是 對于存儲來說,只需要單個證書的簽名部分要存儲,消息本身不是必需的C個比特。
改進的黑名單方法存在(r+1)個群,由每個為n個比特的r個數(shù)來描述。按照第一優(yōu)化, 個數(shù)可以被容納進C個比特并且可以向它們?nèi)恳黄鹛峁﹩蝹€簽名。進一步優(yōu)化也可以如下被執(zhí)行例如一個簽名保護由{f1,f2,...,fk}描述的各個群內(nèi)的一個群,即各個群S{f1,f2}S{f2,f3}...S{fk-2,fk-1}S{fk-1,fk}。這類各個群內(nèi)的一個群可以只要通過把f1和fk放入消息部分而被描述。然后,發(fā)送規(guī)模變成 對于存儲來說,只需要單個簽名的簽名部分被存儲,消息本身不是必需的C個比特。
注意,對于已撤銷的設備是隨機分配的情況,改進的黑名單方法目前比其它方法更為出眾。實際上,它幾乎達到了黑名單所需的發(fā)送規(guī)模的下限和白名單所需的存儲規(guī)模的下限。如果設備按照分層來組織,例如一般來說如果某個型號的所有設備都需要被撤銷,則其它方法可能變得是合適的。
因此,通過不發(fā)送大多數(shù)證書的消息部分而在接收時根據(jù)簽名部分重建它,本發(fā)明提供了幾個方法來減少簽名的開銷。從加密的觀點來看,這可能引入一個危險因素,因為它把簽名有效地組合,而且消息幾乎沒有冗余,而沒有太多冗余的簽名被認為是不安全的它們太易于在不用證書授權中心的秘密密鑰的情況下被創(chuàng)建。黑客只需產(chǎn)生一個隨機的C比特號并且將它作為證書出示。如果幾乎所有的消息都被認為是有效的,則所有的簽名也將被認為是有效的!下面將要討論的是,為什么仍然有足夠多的冗余留在各個群內(nèi)各個群的描述中,因此黑客構造無效簽名實際上是不可能的。
除了證書授權中心的公開密鑰之外,證書的簽名檢驗還需要先了解它的內(nèi)部格式。一個通常所使用的技術是對整個消息計算一個散列值,并將它包含在簽名保護的數(shù)據(jù)中(即使用證書授權中心的秘密密鑰加密)。這個技術具有如下缺點,即除了消息非常短的情況下,它把消息的大小至少按散列值的大小擴展了。注意,簽名所覆蓋的這個數(shù)據(jù)可能包括原始消息的一部分,在別的情況下那一部分是不發(fā)送的,這種情況被稱為具有消息恢復的數(shù)字簽名。替換地,整個消息可能與簽名分開地發(fā)送,這種情況被稱為有附錄的數(shù)字簽名。
對于在此描述的幾個方法,可以使用一種替換技術,對于證書規(guī)模來說它是更加有效的。如上所述,兩個證書正在被使用來保證設備的授權。第一個是所謂的設備證書,其包括設備的ID和它的公開密鑰。它在制造中就被嵌入設備內(nèi)部。第二個是所謂的授權證書,它包括被授權的一些設備標識符的列表。只有能夠出示其標識符列在對應的授權證書上的設備證書的那些設備才能通過系統(tǒng)驗證。這兩個證書之間的關系是要用于簽名檢驗進程的要素之一。另一個要素是對授權證書中被授權設備標識符的編碼格式的知識。注意,只有驗證才考慮授權證書的簽名。設備證書的簽名驗證可以根據(jù)標準技術執(zhí)行,例如使用散列函數(shù)的那些技術。
在下面,假設被授權的設備標識符的列表被劃分成群的一個集,它們的特征在于n個比特數(shù)。此外,假設簽名即授權證書的大小是C個比特。可以被表示的群的總數(shù)是N=2n。最后,為了(稍微)減少編碼復雜度,假設設備0和N-1從一開始就被撤銷。
每個證書組合 個群標識符,m表示對證書序列號的比特數(shù)和其它的相關信息進行編碼的比特數(shù)。有效證書的邊界條件是所有的群標識符都是唯一的,并且按升序排序的,例如ID0<ID1<...<IDk-1。現(xiàn)在,如果包含的證書比k個群標識符少,則空余部分將填充上符合這個邊界條件的隨機數(shù)據(jù)。由m表示的被保留的比特部分然后被用來表明有效項的數(shù)量。產(chǎn)生隨機簽名對應于對k個群標識符的隨機序列進行簽名。滿足邊界條件的概率P(即它們被排序)等于P=[N.(N-1)...(N-k+1)]/Nkk!≈{1-[(k-1).k]/2N}/k!≈1/k!對于C和n的實際值,例如,n=40和C=1024,這個概率Plist≅1/283.]]>這個數(shù)的含義是一個攻擊者將不得不在282和281+m的公開密鑰之間執(zhí)行運算以求產(chǎn)生有效的授權證書。這個數(shù)對于攻擊者要成功地產(chǎn)生假證書來說是大到無法完成的。
應當注意,上述實施例說明但不限制本發(fā)明,而且本領域普通技術人員將能夠在不背離所附權利要求的范圍前提下設計許多替換實施例。
在權利要求中,任何括號內(nèi)的參考標記都不應該被看作是限制權利要求。單詞“包括”不排除不同于權利要求中列出那些的元件或步驟的存在。放在一個元件之前的單詞“一個”不排除多個這種元件的出現(xiàn)。本發(fā)明可以借助于包含幾個不同的元件的硬件和一個被適當編程的計算機來實現(xiàn)。
在設備權利要求中枚舉了幾個裝置,這些裝置的部分可以由一個和相同元件的硬件來體現(xiàn)。某些措施在相互不同的從屬權利要求中被陳述的簡單事實不意味著這些方法的組合不能有益地使用。
權利要求
1.一種用于控制第一設備對第二設備的驗證的方法,這些設備被分配相應的設備標識符,該方法包括向第一設備分發(fā)一個識別未撤銷的設備標識符的范圍的群體證書,所述的范圍包含第一設備的設備標識符。
2.權利要求1的方法,其中,各相應的設備標識符對應于在分層排序樹中的各葉節(jié)點,該方法還包括在群體證書中識別分層排序樹中的一個節(jié)點,所述的節(jié)點表示一個子樹,該子樹的各個葉節(jié)點對應于未撤銷的設備標識符的范圍。
3.權利要求2的方法,還包括在群體證書中識別子樹中的另外的節(jié)點,所述的另外的節(jié)點表示另一個子樹,其中的各個葉節(jié)點對應于排除在未撤銷的設備標識符的范圍之外的各設備標識符。
4.權利要求1的方法,其中,相應的設備標識符是從依次排序的范圍中選擇的,該方法還包括在群體證書中識別依次排序范圍中的子范圍,所述的子范圍包含未撤銷的設備標識符的范圍。
5.權利要求1的方法,還包括在單個群體證書中識別未撤銷的設備標識符的多個相應范圍。
6.權利要求5的方法,其中,單獨一個群體證書中多個相應范圍被順序地排序,該方法還包括通過在順序地排序中最低和最高的相應范圍的標記來識別單個群體證書中多個相應范圍。
7.權利要求1的方法,其中,群體證書包括有效期的標記。
8.權利要求1的方法,其中,群體證書包括版本標記。
全文摘要
證書授權中心提供一個方法,用于基于白名單控制在系統(tǒng)(100)中第一設備(102)向第二設備(103)的驗證。該方法包括向第一設備(102)發(fā)出一個群體證書,它識別未撤銷的設備標識符的范圍,所述的范圍包含第一設備(102)的設備標識符。優(yōu)選地,設備標識符對應于分層排序樹中的葉節(jié)點,并且群體證書識別樹中表示子樹的一個節(jié)點(202-207),其中該葉節(jié)點對應于所述的范圍。群體證書還可以識別子樹中表示子子樹的另一節(jié)點(308、310、312),其中的各葉節(jié)點對應于已撤銷的設備標識符。替換地,設備標識符從依次排序的范圍中被選擇,并且群體證書識別依次排序范圍的子范圍,所述的子范圍包含白名單列出的設備標識符。
文檔編號G06F21/44GK1663174SQ03814013
公開日2005年8月31日 申請日期2003年5月27日 優(yōu)先權日2002年6月17日
發(fā)明者P·J·勒努瓦, J·C·塔斯特拉, S·A·F·A·范登霍伊維爾, A·A·M·斯塔林格 申請人:皇家飛利浦電子股份有限公司