啟動過程中的階段性控制釋放的製作方法
2023-05-23 02:27:31 2
專利名稱:啟動過程中的階段性控制釋放的製作方法
啟動過程中的階段性控制釋放相關申請的交叉引用本申請要求於2010年4月12日提交的申請號為61/323,248、2010年6月22日提交的申請號為61/357,474的美國臨時專利申請的優先權,這些申請的內容通過引用而被視為在此完全加入。
背景技術:
傳統的安全方法可以允許對資源釋放進行二元決策,例如基於復位之後的成功安全啟動的用於認證的單一密鑰。如果沒有發生復位之後的成功安全啟動,則可能會發生問題
發明內容
公開了一種系統、方法和工具(instrumentality)來執行網絡設備的完整性確認(validation)。網絡設備可以包括安全存儲器。例如,安全存儲器可以包含在安全硬體模塊中。安全存儲器可以接收根密鑰。例如,根密鑰可以在製造或供應時被安全存儲器接收。根密鑰可以存儲在安全存儲器上,並且其對於安全硬體模塊之外軟體和硬體是不可見的。所述安全硬體模塊可以接收第一碼字測量(對第一碼字的測量)。例如,處理器(t匕如與包括安全硬體模塊的網絡設備相關聯的處理器)可以選擇碼字的第一部分來測量。碼字的第一部分可以被存儲在與網絡設備相關聯的存儲器上,例如ROM存儲器、RAM存儲器等等。所述處理器可以測量選擇的碼字的第一部分,得到第一碼字測量。所述處理器可以提供該測量給安全硬體模塊。所述安全硬體模塊可以基於根密鑰和第一碼字測量生成第一密鑰。例如,該安全硬體模塊可以得到或釋放第一密鑰。當第一碼字測量有效時,生成的第一密鑰有效,當第一碼字測量無效時,生成的第一密鑰無效。例如,該安全硬體模塊可以部分基於第一碼字測量得到第一密鑰。如果第一碼字測量無效,則得到的第一密鑰也無效。所生成的第一密鑰由該安全硬體模塊生成以便提供到資源的接入。當碼字存儲在所述安全存儲器上時,可以在沒有碼字測量的情況下提供到資源的接入。所述第一密鑰可以與和第一功能相關聯的信任(trust)的第一階段相關(例如,一個或多個資源可以與第一功能相關聯)。進一步地,第一利益相關方(stakeholder)可以使用該有效的第一密鑰來接入該第一功能。如果該第一密鑰無效,則所述第一利益相關方不可以接入該第一功能。這就是說,當第一碼字測量無效時,所述安全硬體模塊可以阻止對第一功能的接入。所述安全硬體模塊可以接收第二碼字測量(對第二碼字的測量)。該安全硬體模塊可以基於第一密鑰和第二碼字測量生成第二密鑰。該第二密鑰可以與和第二功能相關聯的信任的第二階段相關(例如,一個或多個資源可以與第二功能相關聯)。進一步地,第二利益相關方可以使用有效的第二密鑰來接入第二功能。密鑰釋放可以被限制在最後已知的好的啟動階段(例如,最後已知的具有成功認證的啟動階段)。
資源(比如密鑰和基於硬體、碼字、和/或數據的完整性測量的功能)的生成和/或釋放可以階段性地提供認證。例如,設備可以包括若干層,每個層有其自己的認證秘密。每個認證秘密可以對應在設備能力(比如製造商固件、可信的執行代碼、作業系統和第三方應用)的層中的特殊的利益相關方。進一步例如,有效的第一密鑰可以與對第一啟動階段的有效認證相關聯。該有效第一密鑰可以被設備製造商(例如,第一利益相關方)使用來接入網絡設備上的固件,以在該固件上執行修復。有效的第二密鑰可以與在隨後的啟動階段(例如,中間的啟動階段)期間對一個或多個軟體組件的有效認證相關聯。該有效的第二密鑰可以被設備管理者(例如,第二利益相關方)使用來接入所述軟體組件,例如來執行該軟體的修復。通過對已成功認證的各階段提供有效密鑰,接入可以被許可,其與最後沒有認證失敗的階段相當。本申請公開的多階段認證的階段數目可以變化並且不受限制。進一步地,可以提供多個認證途徑。這就是說,在完整性校驗的某個階段,認證可以以不同的方式進行分支(branch)。例如,每個利益相關方可以提供與一個或多個認證階段相關的一個或多個策略。在每個階段,認證可以基於利益相關方的策略以不同的方式分支。利益相關方能夠在外部 管理其策略。
從以下描述中可以更詳細地理解本發明,下面的描述是以實例結合附圖的形式給出的。圖I是示例的長期演進(LTE)無線通信系統圖。圖2是示例的LTE無線通信系統框圖。圖3示出了具有設備確認和設備認證之間的綁定的示例設備。圖4示出了使用公共可信環境(TrE)認證和完整性校驗之間的示例物理綁定。圖5示出了確認和基於預共享秘密的設備認證之間的綁定的示例。圖6示出了確認和基於預共享密鑰的認證的示例。圖7示出了由TrE許可條件接入導致的綁定的示例。圖8示出了確認和基於證明的設備認證之間的綁定的示例。圖9示出了確認和基於證明的認證的綁定的示例。圖10示出了由TrE許可條件接入導致的綁定的示例。圖11示出了使用門控(gating)功能的綁定的示例。圖12示出了在示例啟動進程相關的多個階段中進行認證的示例。圖13A示出了可以用來實現公開的系統和方法的實施方式的示例晶片。圖13B示出了可以用來實現公開的系統和方法的實施方式的示例晶片。圖13C示出了可以用來實現公開的系統和方法的實施方式的示例晶片。圖14示出了示例的密鑰導出(derivation)功能。圖15示出了示例的密鑰導出細節,包括籤名機制。圖16示出了示例的多階段密鑰導出細節。圖17示出了示例的啟動序列。圖18示出了示例的啟動序列流。
圖19示出了與多階段認證相關的示例網絡通信。圖20示出了示例的啟動和啟動後配置過程。圖21示出了可以用來實現公開的系統和方法的實施方式的示例晶片。圖22示出了將完整性校驗進程擴展到UE通信的示例。
具體實施例方式附圖可能涉及示例的實施方式,其中公開的系統、方法以及工具可以被實現。然而,雖然本發明與示例實施方式一起描述,但是本發明不限於此,以及應該理解的是,可以使用其他的實施方式或者在所描述的實施方式中做些修改和補充,從而不偏離地執行與本發明相同的功能。一些公開的系統和方法可以提供多級安全認證。雖然描述一般參照無線設備和網絡,但所公開的系統、方法和工具不僅限於本申請,並且可適用於能夠實現所公開的認證的任何適當的設備、網絡和/或系統。進一步地,下文公開的多階段認證可以描述與 啟動階段的活動相關的多階段認證。然而,描述是為了說明,並且所公開的系統、方法和工具不限於啟動階段的實現。多階段認證,可以廣泛適用於在任何適當的多階段過程中實現。當在下文中提及時,術語「無線發射/接收單元(WTRU)」包括但不局限於用戶設備(UE)、移動站、高級移動站(AMS)、站(STA)、固定或移動用戶單元、傳呼機、蜂窩電話、個人數字助理(PDA)、計算機、或能在無線環境中運行的任何其它類型的設備。術語WTRU和UE可以互換使用。當在下文中提及時,術語「基站」包括但不局限於節點-B、高級基站(ABS)、站點控制器、接入點(AP)、家庭節點B (HnB)或能在無線環境中運行的任何其它類型的接口設備。術語「WTRU」和「基站」不互斥。圖I是長期演進(LTE)無線通信系統/接入網絡100的示例圖,其包括演進型通用陸地無線電接入網絡(E-UTRAN) 105。EUTRAN 105可以包括多個E-UTRAN節點B (eNB)120、家庭 eNB (HeNB) 122 和 HeNB 網關(HeNB GW) 132。WTRU 110 可以與 eNB 120,HeNB 122 或與二者都進行通信。eNB 120可以使用X2接口與其他eNB之間接口。每個eNB 120和HeNBGff 132可以通過SI接口與移動性管理實體(MME)/服務網關(S-GW) 130對接。HeNB 122可以通過SI接口與HeNB Gff 132接口,通過SI接口與MME/S-GW 130對接,或者與二者都對接。雖然圖I中只示出了一個WTRU 110、一個HeNB和三個eNB 120,但很明顯的是,無線和有線設備的任何組合可以被包括在該無線通信系統/接入網絡100中。圖2是LTE無線通信系統200的示例框圖,其包括WTRU 110、eNB 120以及MME/SGff 130。雖然eNB 120和MME/S-GW 130簡單地示出,但很明顯的是,HeNB 122和HeNB Gff132的示例可以包括實質上相似的特徵。如圖2所示,WTRU 110,eNB 120和MME/S-GW 130可以被配置成支持移動弓I發的節能模式。除了在典型的WTRU中可以找到的組件外,WTRU 110還可以包括帶有可選連結存儲器222的處理器216、至少一個收發信機214、可選電池220以及天線218。處理器216可以被配置成執行帶寬管理。收發信機214可以與處理器216和天線218通信以促進無線通信的發送和接收。可選電池220可以被用在WTRU 110中給收發信機214和處理器216供電。除了在典型的eNB中可以找到的組件外,eNB 120還可以包括帶有可選連結存儲器215的處理器217、收發信機219以及天線221。處理器217可以被配置成執行帶寬管理。收發信機219可以與處理器217和天線221通信以促進無線通信的發送和接收。eNB 120可以連接在移動性管理實體/服務網關(MME/S-GW) 130上,其可以包括帶有可選連結存儲器234的處理器233。圖I和2示出的LTE網絡只是特殊的通信網絡的一個例子,還可以使用其他類型的通信網絡。多樣的實施方式可以在任何無線通信技術中實現。一些無線通信技術的實例類型包括但不限於全球互通微波接入(WiMAX)、802. XX、全球移動通信系統(GSM)、碼分多址(CDMA2000 )、通用移動電信系統(UMTS )或任何未來技術。當在下文中提及時,術語「宏小區」包括但不限於基站、E-UTRAN節點B (eNB)或能夠在無線環境中運行的任何其他類型的接口設備。當在下文中提及時,術語「家庭節點B(HNB)」包括但不限於基站、家庭演進型節點B (HeNB)、毫微微蜂窩或能夠在封閉的用戶群無線環境中運行的任何其他類型的接口設備。為達到解釋的目的,在長期演進(LTE)語境中描述了多種實施方式,但這些實施方 式也可以在任何無線通信技術中實現。一些無線通信技術的實例類型包括但不限於全球互通微波接入(WiMAX)、802. XX、全球移動通信系統(GSM)、碼分多址(CDMA2000)、通用移動電信系統(UMTS)或任何未來技術。術語客戶端和設備(device)可以被同義使用。另外,術語「設備完整性確認」、「設備確認」以及「確認」也可以被同義使用。「確認」可以是檢驗共同構成通信或計算設備的部分或全部組件的完整性的進程。部分或全部組件可以是,例如,硬體(服)、軟體(SW)、固件(FW)和/或配置數據。設備認證可以是指通信或計算設備的身份被驗證方檢驗其真實性的過程。在H(e)NB的語境中,可以執行綁定的過程,例如將H(e)NB的設備完整性確認的結果與設備認證的過程或結果進行綁定。有多種方式可以用來執行設備確認和設備認證之間的綁定。雖然應用於設備完整性確認和設備認證的綁定方法的示例是用於3GPPH(e)NB的,但可以理解的是,這些方法可以應用於需要設備完整性確認和設備認證的任何其他通信或應用設備。在H(e)NB中典型的設備認證過程可能局限於驗證包含在可信環境(TrE)中的AKA證書(credential)。這些過程可能不會解決設備認證或確認,以及/或者將主機(hostingparty)認證綁定到設備認證的可能性。可以執行經過確認的設備與設備認證的進程和/或結果之間的綁定。可以執行兩種類型的綁定。在邏輯綁定中,可以聲明和驗證用在或用於設備確認進程中的邏輯實體(或多個邏輯實體或進程或數據)和用於設備認證進程的邏輯實體(或多個邏輯實體或進程或數據)之間的邏輯對應關係。在物理綁定中,用在或用於設備確認進程的特定物理實體(t匕如物理TrE和/或其擁有的特定秘密或密鑰)可以與用在或用於設備認證進程的物理實體(比喻應用軟體文件或數據或密鑰)有直接的對應關係。圖3示出了表示為設備功能的兩種不同類型的綁定。在兩個示例中,實際的設備完整性確認過程可以由可信實體執行,例如安全地嵌入設備中的基於硬體的安全環境。在H(e)NB語境中,比如可信實體可以指H(e)NB的TrE。圖4是使用公共TrE綁定機制的圖,其執行I)設備的完整性校驗和2)設備認證的嚴格或敏感功能。
在圖4中,安全和可信的TrE可以位於通信或計算設備中。TrE可以執行一個或多個以下的功能。設備完整性校驗,比如設備完整性確認其中這種確認可以在設備上本地執行。TrE可以包括圖4的接口(I)以及接入和使用用於確認的證書的能力,其存儲在TrE中或由TrE存儲。TrE可以確保請求安全處理的設備認證進程的部分的安全,其包括圖4的接口(3)和接入和使用秘密證書來進行設備認證的能力,其存儲在TrE中或由TrE存儲。其他能力可以包括執行安全處理來支持位於TrE之外的請求安全敏感處理的應用。這些應用可以接入或使用它們自己的秘密證書(圖4中未示出)。TrE可以包括到位於TrE之外的設備功能/應用的接口。例如包括但不局限於圖4中的用於在設備上進行設備認證處理的接口(2)和/或圖4中的用於來自TrE內部請求安全處理的其他非認證應用接口(5)。另外,設備的非TrE部分可以執行一個或多個下列類型的功能。一個功能可以是設備認證功能的非安全部分。另一個功能可以用於不需要從TrE請求安全處理的應用。另一個功能可以用於(除了設備認證)需要從TrE請求安全處理的應用。設備的非TrE部分可以支持接口,包括圖4的用於設備認證、設備能力(d)和/或基於網絡的AAA伺服器(g)之間消息交換的接口(4)。圖4的接口(6)可以用於針對請求來自設備側的TrE內的安全處理的功能的消息交換。圖4的接口(7)可以用於針對不請求來自設備側的TrE內的安全處 理的功能的消息交換。用於設備認證的證書和用於設備完整性確認的證書可以不相同。然而,這些證書可以被配置成互相綁定。圖4是可以在H(e)NB中使用物理綁定的設備示例。例如,通過使用TrE進行確認和設備認證可以執行物理綁定。在H(e)NB中,例如,TrE可以被設計成執行設備確認所需的全部進程。這些進程可以包括需要對設備認證所需的進程進行最安全或最可信處理的進程的至少一部分或者整個過程本身。舉例來講,如果設備認證協議被設計成使用基於預共享密鑰的方式,比如EAP-AKA,則持有AKA證書的TrE以及H(e)NB可以被進一步互相綁定。例如,H(e)NB可以對計算用於設備認證的AKA證書所需的數據進行加密,使得在傳送數據到TrE之前將解密限制於TrE。TrE可以安全地存儲解密該數據所需的密鑰。另外,通過結合公共安全協議(比如IKEv2)的同一會話中的關於設備確認和設備認證的信息,可以得到進一步的綁定。在這種情況下,適於這種綁定的設備確認可以使得在H(e)NB (以及它的TrE)和網絡實體之間需要某種互動和消息交換。如前文所述,邏輯綁定是可以被用於設備確認和認證的另一種類型的綁定。邏輯綁定的示例可以是使用相同的分組、消息、會話或相同或公共通信協議消息的連續會話來執行為了設備確認和設備認證的目的而需要被轉移出設備的消息。應該注意的是,物理綁定方法和邏輯綁定方法可以被互相結合使用。設備確認可以被綁定於基於預共享秘密的客戶端認證。可以執行H(e)NB的設備確認,以便以下列物理和/或邏輯綁定機制中的一個或任何結合的方式綁定到基於預共享密鑰的認證。通過使用用於可信環境(TrE)和其餘的H(e)NB之間的消息交換的加密密鑰和證書將TrE物理綁定到H(e) NB,至少可以在TrE和H(e) NB內部保護該密鑰和證書。這可以為了設備認證而應用於TrE和H(e)NB之間的消息交換。參考圖5,TrE可以先校驗H(e)NB的完整性。如果成功,可以進行到圖5的連線
(2);如果不成功,TrE不能進行到連線(2),反而會鎖定功能,其可能包括H(e)NB的設備認證功能。為了校驗H(e)NB的完整性,TrE可以使用存儲在TrE中的設備確認證書(參見圖5中的連線(I))。在連線(2),可以對TrE裝備密鑰對,該密鑰對的私有部分安全地存儲在TrE內,其公共部分則對H (e) NB是可用的。H (e) NB的製造者可以生成該密鑰對,並且提供使公共密鑰對H(e)NB可用所需的證明(certificate)。TrE的設備確認功能可以使用TrE私有密鑰來對消息進行籤名(圖5的連線(2)所示),以向TrE之外的設備認證功能指示以下中的一個或多個,例如=TrE的ID、指示TrE已經成功驗證了其餘H(e)NB的完整性的消息、和/或指示TrE授權設備認證功能已經可以被授權進行設備認證過程的授權數據。TrE私有密鑰可以被用於對該授權消息進行籤名。通過H(e)NB設備上的設備認證功能,該授權消息可以授權對TrE的一些安全處理能力進行使用。經過籤名的消息從TrE傳遞到TrE之外的設備認證功能可以被圖5的連線(3)闡釋。H(e)NB可以使用以上的連線(2)中描述的可能需要驗證籤名的TrE的公共密鑰。公共 密鑰可以是在證明中預先提供的,也可以是在使用之前才對設備認證功能可用的。公共密鑰的使用可以由圖5的連線(4)闡釋。設備認證功能可以使用用於TrE之內的設備認證的安全處理能力,後者執行可能是設備認證過程所需的安全敏感功能。用於請求和獲得該服務的接口在圖5的連線(5)中闡釋。用於設備認證的安全處理能力可以使用預先存儲在TrE中的秘密設備認證證書來計算設備認證功能可能需要發送給AAA伺服器的數據,以使AAA伺服器對H(e)NB設備授權。這可以在圖5的連線(6)中闡釋。設備認證功能可以與AAA伺服器交換數據,其中包括從由TrE提供的用於設備認證的安全處理能力中計算的數據,使得AAA伺服器可以認證H(e)NB設備的身份。這可以由圖5的連線(7)闡釋。該功能可以在合適的消息交換協議中進行。例如,在H(e)NB中,可以考慮諸如IKEv2、TLS、TR069 (應用層協議)、OMA-DM協議、或更高層的協議(比如HTTPS)的協議。應該注意的是,設備認證功能可以自身執行安全敏感功能。通過使H(e)NB和TrE使用相同的分組或相同的消息共同執行設備確認過程和認證過程的指定部分,可以對確認和設備認證進行綁定。這可以在公共通信會話或公共安全協議的連續會話中執行。該協議的示例可以包括IKEv2協議、TLS、TR069、OMA-DM和HTTPS。該協議可以使用基於預共享秘密的協議、基於非對稱密鑰的協議、基於對稱密鑰的協議等。圖6是這種綁定機制的示例,其中確認數據和部分認證數據可以在相同的協議/會話/消息中發送。在圖6中,連線(I)示出了 TrE內的設備確認功能(DVF)可以使用設備確認證書來執行必要的設備完整性校驗,以驗證H(e)NB組件的完整性是否得到維持。注意到DVF可以使用TrE的加密能力(TCC)所提供的功能來執行一些設備完整性校驗和驗證所需的功能。該關係可以由圖6的點線(A)闡釋。一段時間後,H(e)NB之內的設備認證功能(DAF)可以執行過程,比如Diffie-Hellmann (D-H)過程,來建立用於它自身和外部AAA伺服器之間的加密和籤名的未認證共享密鑰。由連線(7-a)闡釋的該步驟,可以是設備認證的先驅步驟,並且可以建立非認證加密密鑰,以在將遵循的設備認證消息協議中使用。注意到DAF可以取決於TrE的加密能力(TCC)來執行D-H過程需要的一些臨時(interim)步驟。點線(C)可以是DAF和TCC之間的接口,DAF可以使用該接口來從TCC請求和獲得加密服務。DAF可以通過發送Dev_Auth_Init_Request消息給AAA伺服器來發起設備認證過程。例如,如果使用IKEv2協議,則該消息可以在IKE_SA_INIT請求消息中承載。在該Dev_Auth_Init_RequeSt消息中,DAF可以包括報頭(HDR)、能夠向AAA伺服器提供例如安全參數索引(SPI)等的安全關聯(SA)、由D-H進程生成的伺服器的公共密鑰KE_DH、和/或設備自身的ID Dev_ID。該步驟在圖6的連線(7_b)中闡釋。AAA伺服器可以向設備的DAF發送Dev_Auth_Init_Response (如果使用IKEv2協議則是IKE_SA_INIT響應消息)。該消息可以包括信息元素比如頭(HDR)、由D-H進程生成的設備公共密鑰KE_DH、以及伺服器自身的ID Syr_ID。該步驟在圖6的連線(7_c)中闡釋。DAF可以在Dev_Auth_Request消息(如果選擇IKEv2協議則是IKE_AUTH請求消息)中向AAA伺服器發送元素,比如報頭、SA、Dev_ID、配置(CONFIG)、和/或可選的伺服器證明請求(Svr_Cer_REQ),如圖6的連線(7_d)所示。注意到,從這裡開始,一些信息元素可以被D-H進程所生成的密鑰的加密和籤名保護。例如Dev_ID、Session_ID、CONFIG和可選的伺服器證明請求都可以通過使用D-H進程生成的密鑰而對機密性和完整性進行保護。注 意到DAF可以使用TrE的加密能力(TCC)來執行使用D-H生成的密鑰的加密和籤名。該關係可以在圖6的連線(B)中闡釋。AAA伺服器可以向DAF發送Dev_Auth_Response消息(如果使用IKEv2協議則是IKE_AUTH響應消息),包括比如報頭、Syr_ID、Session_ID、以及可選的伺服器證明(Svr_Crt)(如果DAF有請求的話)、基於H(e)NB和AAA伺服器之間的共享認證秘密(圖6中存儲在TrE中)的認證挑戰(Auth-ChalIenge)。這在圖6的連線(7_e)中闡釋。DAF可以向AAA伺服器發送Dev_Auth_Request消息(如果使用IKEv2協議則是IKE_AUTH請求消息),該消息可以包括,比如報頭、Dev_ID、Session_ID、Authentication-Challenge 響應(AUTH)和 / 或確認數據(Validation_Data)。這在圖 6 的連線(7-f)中闡釋。注意到,DAF可以依靠TrE中的用於設備認證的安全處理能力(SPC_DA)來計算和轉發AUTH,如圖6的連線(3)所示。注意到SPC_DA可以使用存儲在TrE中的預共享的認證秘密證書來計算AUTH,如圖6的連線(4)所示。另外,SPC_DA可以依靠TrE的加密能力(TCC)(參見點線(C))。注意到,SPC可以計算AUTH。設備確認功能(DVF)也可以在轉發Validation_Data給DAF之前使用TrE私有密鑰對Validation_Data以及任何其他相關的補充數據進行籤名,如圖6的連線(5)所示。DVF和TrE私有密鑰之間的接口可以被用來在將其轉發給DAF之前對確認數據進行籤名,如連線(2)所示。在該實例中,除了使用公共TrE和其資產來執行確認和設備認證(或者其一些要求安全的部分)的物理綁定之外,另一個邏輯綁定機制也可以被使用。相同的協議,相同的會話,以及相同的消息可以被用來發送關於從設備到AAA伺服器的設備確認(即,Validation_Data)和設備認證(即,AUTH)兩者的結果的信息元素。AAA在從剛才的Dev_Auth_Request消息(見圖6)中接收和估計AUTH參數和Validation_Data之後,可以發送Dev_Auth_Response消息來向設備的DAF指示AAA伺服器接入認證成功與否。這在圖6的連線(7-g)中闡釋。在綁定的機制中,TrE可以向DAF或SPC_DA控制和釋放到敏感功能或敏感數據的接入,該敏感功能或敏感數據是計算認證的成功完成的必要輸出所需的,這可以以首先成功完成的設備確認過程為條件,以使得接入能夠被允許。這種類型的綁定機制既可以被認為是物理綁定機制也可以被認為是邏輯綁定機制。圖7是這種綁定機制的示例圖。
參考圖7,根據允許接入到TrE持有的一些功能或數據,DVF可以執行兩種類型的門控(gating)過程。門控過程可以取決於設備完整性確認結果的狀態。如果設備完整性確認結果不成功,DVF可以阻止DAF接入TrE中的SPC_DA,如圖7的連線(A :門控)所示。DVF可以阻止SPC_DA接入執行到AAA伺服器的成功認證所需的設備認證證書。這種類型的門控功能可以提供設備確認和設備認證之間的其他類型的邏輯綁定。設備確認可以綁定到認證,比如基於證明的設備認證。H(e)NB的設備確認可以被綁定到基於證明的客戶端上並且可以使用上文描述類似機製取得認證。一些可能的機制描述如下。圖8是使用物理綁定的示例圖,公共TrE可以執行設備完整性校驗和確認,也可以執行設備認證要求的一些或全部功能。例如,這些功能可以基於設備證明。過程可以與圖5描述的相同,除了被針對設備認證的安全處理能力(SPC_DA)用於設備認證的證書可以是用於設備認證的私有密鑰(Kpriv_DA),以及設備認證功能(DAF)可以向AAA伺服器發送設備證明(DevCert)和一些其他的由Kpriv_DA計算的材 料。
參考圖8,密鑰接入和對SPC_DA和Kpriv_DA之間的關係使用如連線(6)所示。證明接入和DAF和DevCert之間的關係使用如連線(8)所示。H(e)NB和TrE可以在公共通信會話或公共安全協議(比如IKEv2協議)的連續會話中在相同的分組、消息中共同執行設備確認過程和基於證明的客戶端認證過程的指定部分。有效地,該綁定機制的進程可以與圖6描述的相似。再參考圖6,與使用基於預共享秘密的設備認證的情況相比,其不同點可以如下所述。SPC_DA可以從基於來自AAA伺服器的AUTH挑戰的AUTH挑戰以及Kpriv_DA計算敏感臨時結果,而不是基於來自AAA伺服器的AUTH挑戰和TrE持有的預共享秘密(以及SPC_DA使用該與共享密鑰計算和轉發計算結果給DAF)來計算所述敏感臨時結果。AAA伺服器可以向DAF請求設備認證證明(DevCert )。在響應中,與SPC_DA共同工作的DAF,可以向AAA伺服器計算和轉發1)認證響應(AUTH)(使用Kpriv_DA),和/或2)DevCert。在接收到AUTH和DevCert後,AAA伺服器可以首先驗證DevCert的有效性,然後可以使用它來驗證AUTH。如果校驗了驗證結果,貝U其已經認證過所述設備。儘管有不同,就具邏輯綁定來說,可以按照與基於預共享秘密的認證中的情況相似的方式來執行邏輯綁定。例如,DAF可以將AUTH和DevCert轉發到AAA伺服器,也可以在同一消息中包括Validation_Data。該Validation_Message可從TrE內部的DVF得到,以及可以由DVF通過使用TrE私有密鑰來籤名。圖9是一個綁定機制的示例圖。在這個示例中,沒有從AAA伺服器到設備的認證挑戰。相反,在伺服器請求設備發送其證明DevCert (見連線(7_c))之後,該設備可以發送其DevCert和AUTH (從Kpriv_DA計算得到)到AAA伺服器,如連線(7_d)所示。AAA伺服器可以將AUTH與DevCert進行驗證,並發送認證狀態的確認(7_e)。綁定的門控類型可以在基於證明的認證中實施。這個示例與基於預共享秘密的認證示例類似。圖10是該綁定機制的示例圖。參考圖10,DVF通過允許接入到TrE持有的一些功能和數據可以執行兩種類型的門控過程,取決於設備完整性確認結果的狀態。如果設備完整性確認結果是不成功,則DVF可以阻止DAF接入TrE中的SPC_DA,如圖10的連線(A 門控)所示。可替換的,DVF可以阻止SPC_DA接入需要執行到AAA伺服器的成功認證的Kpriv_DA。這些類型的門控功能可以提供設備確認和設備認證之間的另一種類型的邏輯綁定。提供了設備完整性確認和其他本質設備功能之間的廣義的綁定。設備完整性確認和設備認證之間的綁定的概念,如上文所述,通常可以意味著設備完整性確認的進程、輸入和/或使用的中間數據、和/或結果可以「門控」認證過程或進程。可以根據兩個方面來一般化綁定的概念可以實施綁定的設備的類型,以及可以綁定到設備完整性確認的進程的設備功能。在最一般意義上,如果存在設備D有能力去校驗、報告、和/或驗證其自身的設備完整性(通過其自身,或通過與外部實體和/或能力執行交互進程以執行被認為是該設備的本質功能的至少一個功能X),則通常認為可以實施綁定。本質的功能可以是,如果沒有執行它的意圖,則在正常、有用的意義上講,設備X不會被認為是可操作的。設備(比如行動電話)的本質功能的示例,可以包括以下中的一個或多個 發送遇險報警的能力、用戶認證(到網絡)、設備認證、核心應用、通信棧執行、用戶認證(到設備)、設備管理功能、無線信號傳輸或接收、或設備的供電和管理功能。綁定可能被定義以及實施為一個過程,在該過程中,設備完整性確認進程的數據D_V、過程P_V或結果R_V可以向本質功能X的成功運轉指示D_V、P_V和/或R_V之間唯一的並且難以或不可能偽造或克隆的關係。綁定機制的三種在前面的章節中描述的類型可以再次被應用。由於共享存在和加密手段帶來的綁定,由於使用相同或連續的通信協議分組、消息、一個或多個會話帶來的綁定,和/或由於門控或到數據D_X或過程P_X的條件接入所帶來的綁定,其中所述數據D_X或過程P_X對本質功能X的成功運轉來講是本質的,該功能X成功運轉是建立在對設備D成功確認的條件上的。圖11是第二類性的綁定(B卩,綁定的門控類型)可以在確認過程(DVF)和設備上的功能(X)之間使用的示例圖。TrE在其內可以有用於功能X的安全處理能力(SPC_X),以及功能X所需的敏感數據(SD_X)。該DVF也可以自身對設備上的功能(X)、以及該功能所需的設備的非TrE部分上的任何數據(D_X)、嵌入在或連接到設備D的組件/模塊上的功能(X_EC)、以及基於網絡的功能(X_N)和它可使用的數據(D_X_N)進行門控。圖11顯示了多種類型的門控(A至G),其中根據設備的完整性確認的結果,DVF可以門控到下列各項的接入A)安全處理能力SPC_X,和/或B)功能SPC_X可能需要的在TrE中的敏感數據SD_X,和/或C)可能在TrE內部或外部的設備上的任何功能X,和/或D)可能在TrE內部或外部的且功能X需要的設備上的任何數據,和/或E)在設備的嵌入式組件(例如,SoC)上或在連接到設備的獨立模塊(例如,UICC)上的任何功能X_EC,和/或F)由外部實體(例如,來自網絡)執行的任何功能X_N,和/或G)任何這樣的外部功能X_N所需要的任何數據D_X_N。需要注意的是,過程X的例子可以將下列功能包括為通信功能例如,無線電和基帶傳輸和接收、設備功率管理(包括開/關)、用戶界面、媒體處理器功能、GPS以及其他定位功能、定時器和定時同步功能,以及以下通信功能,比如WLAN、藍牙、蜂窩通訊、諸如網絡功能之類的高層應用、單一登錄和識別聯合和管理功能、諸如編解碼功能之類的語音和其他媒體功能、遊戲功能、以及用於它們的安全過程(比如訂戶認證、設備認證、申請授權、包括加密/解密以及籤名和籤名驗證的加密操作)、以及設備的任何其他功能。
SPC_X可以包括但不局限於加密加(解)密、籤名生成或驗證、隨機數生成或使用、定時同步和時間戳、消息認證碼生成和驗證、加密密鑰的生成、導出、或管理(包括反對(deprecation)或隔離)、證明驗證以及TrE認證需要的秘密材料的計算、設備的用戶、設備本身、或訂戶和/或設備的擁有者或授權者。功能X_EC的示例可以包括但不局限於數據存儲和處理功能、認證功能、密鑰生成和使用、加(解)密、籤名生成和驗證、配置管理等。功能X_N的示例可以包括但不局限於數據存儲和處理功能、網絡對任務提供的應用(比如設備管理、供應、高層應用(比如網絡接入等)、DRM、語音和多媒體服務和遊戲功能、設備管理服務、通信服務、單一登錄和識別聯合和管理等)。門控過程可以分級(cascade)執行。即,DVF可以門控到一個應用的接入,其中該應用可以門控到另一個應用或數據等的接入。DVF可以門控多個過程或數據,這些中的一些 或全部可以具有因果或對應關係。雖然本發明的特徵和元素以特定的結合進行了描述,但每個特徵或元素可以在沒有其它特徵和元素的情況下單獨使用,或在與或不與其它特徵和元素結合的各種情況下使用。此處提供的方法或流程圖可以在由通用計算機或處理器執行的電腦程式、軟體或固件中實施,其中所述電腦程式、軟體或固件是以有形的方式包含在計算機可讀存儲介質中的。計算機可讀存儲介質的實例包括只讀存儲器(ROM)、隨機接入存儲器(RAM)、寄存器、緩衝存儲器、半導體存儲設備、諸如內部硬碟和可移動磁碟之類的磁性介質、磁光介質和如⑶-ROM光碟和數字多功能光碟(DVD)之類的光介質。舉例來說,恰當的處理器包括通用處理器、專用處理器、常規處理器、數位訊號處理器(DSP)、多個微處理器、與DSP內核相關的一個或多個微處理器、控制器、微控制器、專用集成電路(ASIC)、現場可編程門陣列(FPGA)電路、任何其他類型的集成電路(IC)和/或狀態機。與軟體相關聯的處理器可以用於實現一個射頻收發信機,以便用在無線發射接收單元(WTRU)、用戶設備(UE )、終端、基站、無線電網絡控制器(RNC)或者任何主機計算機中。WTRU可以與採用硬體和/或軟體形式實施的模塊結合使用,例如照相機、攝像機模塊、可視電話、揚聲器電話、振動設備、揚聲器、麥克風、電視收發器、免提耳機、鍵盤、藍牙 模塊、調頻(FM)無線單元、液晶顯示器(IXD)顯示單元、有機發光二極體(OLED)顯示單元、數位音樂播放器、媒體播放器、視頻遊戲機模塊、網際網路瀏覽器和/或任何無線區域網(WLAN)或超寬帶(UWB)模塊。公開了一種系統、方法和工具(instrumentality)來執行網絡設備的完整性確認(validation)。網絡設備可以包括安全存儲器。例如,安全存儲器可以包含在安全硬體模塊中。安全存儲器可以接收根密鑰。例如,根密鑰可以在製造或供應時被安全存儲器接收。根密鑰可以保存在安全存儲器上,並且其對於安全硬體模塊之外軟體和硬體是不可見的。所述安全硬體模塊可以接收第一碼字測量(對第一碼字的測量)。例如,處理器(t匕如與包括安全硬體模塊的網絡設備相關聯的處理器)可以選擇碼字的第一部分來測量。碼字的第一部分可以被保存在與網絡設備相關聯的存儲器上,例如ROM存儲器、RAM存儲器等等。所述處理器可以測量選擇的碼字的第一部分,得到第一碼字測量。所述處理器可以提供該測量給安全硬體模塊。
所述安全硬體模塊可以基於根密鑰和第一碼字測量生成第一密鑰。例如,該安全硬體模塊可以得到或釋放第一密鑰。當第一碼字測量有效時,生成的第一密鑰有效,當第一碼字測量無效時,生成的第一密鑰無效。例如,該安全硬體模塊可以部分基於第一碼字測量得到第一密鑰。如果第一碼字測量無效,則得到的第一密鑰也無效。所生成的第一密鑰由該安全硬體模塊生成以便提供到資源的接入。當碼字存儲在所述安全存儲器上時,可以在沒有碼字測量的情況下提供到資源的接入。所述第一密鑰可以與和第一功能相關聯的信任(trust)的第一階段相關(例如,一個或多個資源可以與第一功能相關聯)。進一步地,第一利益相關方(stakeholder)可以使用該有效的第一密鑰來接入該第一功能。如果該第一密鑰無效,則所述第一利益相關方不可以接入該第一功能。這就是說,當第一碼字測量無效時,所述安全硬體模塊可以阻止對第一功能的接入。所述安全硬體模塊可以接收第二碼字測量(對第二碼字的測量)。該安全硬體模塊可以基於第一密鑰和第二碼字測量生成第二密鑰。該第二密鑰可以與和第二功能相關聯的信任的第二階段相關(例如,一個或多個資源可以與第二功能相關聯)。進一步地,第二利益相關方可以使用有效的第二密鑰來接入第二功能。密鑰釋放可以被限制在最後已知的好的 啟動階段(例如,最後已知的具有成功認證的啟動階段)。資源(比如密鑰和基於硬體、碼字、和/或數據的完整性測量的功能)的生成和/或釋放可以階段性地提供認證。例如,設備可以包括若干層,每個層有其自己的認證秘密。每個認證秘密可以對應在設備能力(比如製造商固件、可信的執行代碼、作業系統和第三方應用)的層中的特殊的利益相關方。進一步例如,有效的第一密鑰可以與對第一啟動階段的有效認證相關聯。該有效第一密鑰可以被設備製造商(例如,第一利益相關方)使用來接入網絡設備上的固件,以在該固件上執行修復。有效的第二密鑰可以與在隨後的啟動階段(例如,中間的啟動階段)期間對一個或多個軟體組件的有效認證相關聯。該有效的第二密鑰可以被設備管理者(例如,第二利益相關方)使用來接入所述軟體組件,例如來執行該軟體的修復。通過對已成功認證的各階段提供有效密鑰,接入可以被許可,其與最後一個沒有認證失敗的階段相當。本申請公開的多階段認證的階段數目可以變化並且不受限制。進一步地,可以提供多個認證途徑。這就是說,在完整性校驗的某個階段,認證可以以不同的方式進行分支(branch)。例如,每個利益相關方可以提供與一個或多個認證階段相關的一個或多個策略。在每個階段,認證可以基於利益相關方的策略以不同的方式分支。利益相關方能夠在外部
管理其策略。圖12示出了與設備1200的啟動進程相關的多階段認證。設備1200可以被配置具有分層啟動階段能力(例如,釋放與一個或多個階段認證相關聯的一個或多個有效密鑰)。當設備1200認證到第一啟動階段時,設備1200可以在1201向第一利益相關方(例如製造商)提供有效第一密鑰。該第一啟動階段可以是低等級的認證,並且與第一啟動階段相關聯的密鑰可以提供受限於製造商相關聯的固件的接入。當設備1200認證到第二啟動階段時,設備1200可以在1202向第二利益相關方(例如設備管理員)提供有效第二密鑰。該第二啟動階段可以是比第一啟動階段晚的啟動階段,並且所述與第二啟動階段相關聯的密鑰可以提供受限於認證軟體的接入。當設備1200認證到最後一個啟動階段時,設備1200可以在1203給第三利益相關方提供有效第三密鑰,該第三利益相關方可以提供到核心網絡、安全網關等的接入。使用啟動進程作為實例,到受限的片內資源和啟動執行中的最後一個一致的好的啟動階段的認證秘密的接入可以被釋放。這種階段釋放可以允許值得信任的設備軟體/固件修復上層代碼,將低層用於對設備的可信遠程設備管理更新過程。這可以依賴於來自安全的不可改變的片內信任基礎的一串信任源。例如,一旦重置,可以期望特定的晶片配置來釋放第一密鑰。該配置可以確保處理器會跳到適當的內部執行代碼,這隨後可以開始聚攏代碼,以在該系列信任執行的下一階段之前進行測量。如果初始的晶片配置不正確,例如跳轉矢量不是內部ROM代碼,那該初始的以及隨後的完整性測量可能與期望的不同,並且該設備不能進行下一個有效階段。控制的形式可以包括片內資源的硬體錨定門控,比較測量到的組件的完整性,和/或基於系統實際的測量完整性的密鑰導出。在後面的示例中,由於結果密鑰可能與所需要 的常規的操作不同,因此可以使用公開的系統和方法於為其他用途生成多個可信控制執行路徑。因此,例如一個外部實體可以直接控制設備的管腳,這會導致不同的啟動順序,並進一步導致同樣基於信任根的不同密鑰。例如,除了傳統的參數外,通過每一個啟動等級上強加兩個額外的認證因子,可以提供認證。到外部實體的認證可以需要獲知1)啟動階段特定的加密籤名秘密或者計算出的密鑰;2)啟動階段特定的代碼;其中如果2)是正確的(通過完整性校驗),則I)被公開。所得到的應用可以是外部實體可以根據實體需要的功能性遠程確認設備的完整性。此外,獨立的利益相關方(例如,設備或者設備製造商的硬體或者不同的固件以及軟體層)可以被確保其他實體可能不能修改該獨立的利益相關方的對應固件或者軟體,而不必禁止該設備功能。通過檢測和使用可信硬體機制強制加密密鑰解鎖片內資源以及通過針對啟動過程中下一階段檢測和使用提供的秘密(例如加密密鑰、信令密鑰和完整性測量)。隨著每一階段被成功校驗,片內資源和新的秘密以及測量就變得可用。在一些情況中,信息可能會在核心可信域內,並且可以是對硬體可用的但不可被軟體/固件所查看或佔有,片內資源和其他信息可以釋放到執行環境中,因為基於代碼的每一個階段都被校驗和檢驗為是值得信任的(即基於代碼校驗、數據校驗、硬體校驗等驗證是值得任的)。每一個啟動階段需要與它在安全啟動進程中的位置相對應的特權和控制。為某一階段排他性的生成證書可以允許控制擴展超出平臺的內部,例如為了到外部實體的認證。例如,在設備管理和設備認證的情況下,製造商會需要特權來更新固件而網絡運營商會需要修復或者更新軟體和/或配置數據,但不是對固件進行修復或更新。如果設備通過了固件的完整性校驗但沒有通過軟體的校驗,則可用的密鑰可以是允許網絡運營商來為了更新軟體而進行認證用的。然而,如果設備固件校驗也失敗,則用來將設備認證到管理系統的密鑰可以被釋放,但不是認證到網絡需要的密鑰,意思是原始進程可能是要遠程並且安全的修復/安裝固件,以使該設備不再以不安全的方式(即信任根進程以外的方式)啟動。該固件失敗會觸發釋放備選功能來幫助修復(例如,由於失敗,認證會採用不同的分支)。提供信任證實根的優點是可以允許對設備的固件信任代碼基礎進行遠程管理。
不同的利益相關方(例如運營商和應用提供商)可以允許使用不同的密鑰,基於系統的信任程度,以啟動次序中的測量的結果作為特徵。這可能意味著一些運營商或者設備擁有者可能在多個階段中依然允許系統啟動到部分可信但部分不可信的狀態。即使在這樣的狀態中,設備會被要求生成和使用特定加密密鑰(例如,為了指示外部用戶設備的狀態,或者為在這種設備部分可信的狀態下依然被允許的應用提供安全性)。一個選項可以是生成和使用高強度的密鑰,其中啟動序列中可以建立高水平的信任,並且如果基於該啟動序列結果建立起信任的較低等級,還限於使用較低強度的密鑰。應該預先提供策略,並且信任根可以使用適當的密鑰強度,該密鑰強度對應於可建立的信任等級。當即使部分優化的經過信任驗證的系統需要使用加密資源來發送特定信息給外部,不需要額外的密鑰強度等級時,對特定於不同等級的信任的多個密鑰的生成和使用是有用的,這可能與啟動系統的信任度不同。不同密鑰的生成可以基於不同啟動序列和不同代碼,例如可以有不止一組有效階段。從不同的啟動序列得到的可能的設備唯一秘密密鑰可能從相同的信任根(使用相同的根密鑰)得到,因此值得信任但明顯不同並且互相排斥,這允許區分角色(例如,可信測試模式對於可信常規操作)。 可以提供用於密鑰導出的算法選擇和籤名機制。可以為下一階段密鑰導出和/或當前階段籤名或者認證執行特定的算法。這些控制可以存在於加密證書分組中的專用控制寄存器欄位,以使一旦解密,該欄位值可以被插入到啟動階段認證模塊的相應寄存器中,這可以設置執行控制。所述啟動階段認證模塊可以是TrE。圖13A、13B和13C示出了可以實施公開的系統、方法以及可能使用的手段的實施方式的晶片。可以實施安全的多階段啟動認證,例如,在安全的硬體模塊(例如啟動階段認證模塊1300)中。啟動階段認證模塊1300可能包含四個組件根設備單一秘密密鑰(根密鑰),控制信號和階段特定密鑰導出功能(KDF),密碼引擎,以及籤名機制。到模塊的接口可以包括配置和數據總線接口。配置寄存器可以執行指令和數據流,例如MMU的控制或則啟動執行矢量,晶片I/O等。通過位於啟動階段認證模塊1300的內部,該密鑰路徑可以被保護為不被軟體/固件查看。該啟動階段配置接口可以確保晶片具有發起安全的啟動進程的合適配置。如果安全啟動進程沒有正確開始,例如,如果配置是針對備選啟動序列的,則到片內資源的結果階段的接入和設備唯一的秘密密鑰可能不存在,這會進而阻止進入到下一啟動階段和對特定階段的籤名密鑰的解密,因此,外部實體可能不能對設備的信任狀態進行證實。以下一個或者多個可以組合帶密鑰的加密哈希算法,設備唯一秘密密鑰,反饋密鑰路徑,以及籤名機制。認證秘密的層可以加密地被綁定於特定設備以及測量信息(例如執行代碼以及啟動配置控制)的完整性。如果測量信息缺少完整性,則執行的後續的相依賴的層可能不能接入或解密該認證秘密。例如,如果設備沒有適當的設定處理器跳轉向量,沒有從內部啟動或者未處於調試模式,則會檢測到不同的比特圖樣,這可以生成不正確的密鑰,它隨後不會對外部興趣方進行認證。設備可以包含唯一的秘密密鑰。設備的唯一秘密密鑰可以從先前的啟動階段密鑰以及從測量的代碼中導出。由於設備唯一密鑰可能在設備上不存在,但可以通過代碼本身導出,如果代碼被修改,則設備唯一秘密密鑰可能不正確。根設備唯一秘密密鑰(根密鑰)可以在初始供應時或者製造時秘密嵌於設備內部,並且對設備唯一。該根設備唯一秘密密鑰可能不可用,除非使用特定的設備啟動配置。該根密鑰可能對軟體/固件不可見,可以為後續啟動階段的設備唯一密鑰提供種子,它也對軟體/固件不可見,但可以用於認證或者籤名機制,這些認證或籤名機制可以驗證密鑰的存在以及從而向啟動次序中的該階段驗證設備的完整性。根設備唯一秘密密鑰可以是有適當的強度(例如現在大約是256比特)的密鑰,可在製造過程中配置,例如,配置為一次性可編程熔絲或者在存儲器中(它對軟體/固件是秘密和隱藏的),竊聽晶片信號,探測,簡單和差分功率分析等等。它可對設備唯一,任何人都不知道,並且一旦重置則在初始為密鑰導出功能提供種子。圖14示出了密鑰導出功能的實例。密鑰導出功能可以服務兩個功能。它可以生成後續階段的密鑰,以及能測量後續 啟動代碼。它可以是帶密鑰的加密哈希函數,例如HMAC-SHA-256,由於它的單向的特性,它可以確保獲取後續階段密鑰不會洩露前面密鑰的任何信息,以及測量數據中的任何比特錯誤都會導致與正確密鑰不相關的很大不同的密鑰。加密階段特定的籤名秘密可被提供完整性信息。完整性信息可以提供對組建或者功能的測量的完整性校驗值的確認,以及釋放下一階段功能。圖15示出了示例性的密鑰導出細節,包括籤名機制。對於魯棒的設備認證,密鑰導出功能會生成根階段設備唯一秘密密鑰,對於片內軟體/固件以及外部實體來講,該根階段設備唯一秘密密鑰不是直接可讀的。因此設備唯一密鑰可以在直接路徑提供給認證或者籤名機制,外部實體和軟體隨後可以提供帶有挑戰消息的認證或者籤名機制,以通過片外接口來確認該設備的根狀態的新鮮度(freshness)。圖16示出了多階段密鑰導出細節的實例。隨著啟動流程從初始啟動以及程序加載器序列開始進展到作業系統和應用加載,代碼的每一個啟動階段的完整性可以在它執行之前進行測量。代碼可以在每一個階段中被填入密鑰導出功能並且可以在每個階段都生成設備唯一秘密密鑰。例如,初始時,根設備唯一秘密密鑰(根密鑰)以及第一碼字測量可以填入到密鑰導出功能,以及可以生成第一密鑰(初始階段密鑰)。可以在多個階段中重複這個過程直到確定最後一個好的證書。圖17示出了啟動序列的實例。圖16的實例示出了在多個階段中密鑰是如何導出的以及如何確定最後一個好的證明。初始階段密鑰可以驗證硬體可以配置用於信任執行根,例如驗證處理器指向內部R0M,硬體完整性測試結果正確,以及安全敏感I/O管腳被正確設置,例如不在測試模式。如果啟動階段是根據正確的啟動配置和代碼來執行的,則最後的結果可能是加密或者籤名的密鑰,這些可以被網絡實體在外部使用,以驗證設備是以可信方式啟動的。否貝U,如果階段啟動代碼失敗,則最終的籤名密鑰不正確,導致外部/遠程認證失敗。執行鏈不需要追蹤籤名密鑰鏈。啟動序列可能通過對檢驗序列的執行控制,(例如,基於硬體的),這可以加載用於設備可信操作的碼字測量。如果測量正確,則結果可以是最終密鑰,它可用於從外部確認設備的可信操作。
從有效啟動階段導出的密鑰以及控制可以解鎖在實時運行中持續的殘留密碼或者信令密鑰。設備管理伺服器可以使用該殘留籤名密鑰來驗證設備已安全地啟動到值得信任狀態,以確定該伺服器可以安全下載應用代碼。另一方面,在每一啟動階段去除對密鑰的接入可以幫助保持對晶片的硬體保護域的特權控制,該保護域應該是對特定啟動階段代碼的特定提供方是可接入的,例如,為了認證設備個性化、供應、調試、測試等。執行的啟動代碼需要檢測下一階段測量是否發生完整性失敗。例如,為下一階段嵌於加密秘密分組內的可以是針對完整性失敗的指示,例如位於加密秘密分組的特定欄位內的已知的「完整性指示消息」。下一啟動階段測量的錯誤會導致在分組的欄位中出現混亂(garbled)完整性指示消息,它與期望值不匹配,向執行啟動代碼指示完整性失敗已經發生。啟動階段認證模塊中的硬體比較器(參見例如圖13A-C)會檢測(HW保護,對軟體或者固件不可見的)期望的完整性值和得到的完整性值之間的匹配,以生成硬體控制信號,來控制到例如依賴於完整性的硬體配置、晶片秘密、熔絲、I/o以及測試管腳、LED等的接入。
所述控制啟動序列然後會選擇在晶片外發布一個警報,向外部世界指示已發生錯誤。或者,該控制啟動代碼可以保持空閒,等待來自晶片接口(網絡或者管腳)的輸入,以嘗試認證到外部實體。在一個操作中,啟動階段認證模塊會解密加密階段籤名秘密(分組)。然而,可能需要方法來加密和安裝該階段籤名秘密。該模塊可能有「供應模式」輸入信號,「授權接入不允許」輸入信號,以及「授權階段」輸入信號,該「授權階段」輸入信號可以是I)對於只在製造階段的供應方法由一次性可編程熔絲方法進行鎖定,和/或2)在晶片上通過授權硬體變得可接入。如果他們沒有在製造過程中通過熔絲鎖定,則晶片需要提供另一種機制來保護輸入。如果他們沒有通過熔絲鎖定,啟動階段認證模塊會允許供應模式,如果設備已經通過它自己的本文中所描述的檢測機制安全啟動的話。這會阻止非安全啟動代碼進入供應模式。然而,可以由安全啟動代碼、硬體配置、以及晶片上的其他「授權」硬體來保護到供應模式輸入的未授權接入。也就是說,啟動階段認證模塊可以確保安全啟動代碼被執行,以保護用來管理保護到供應模式的接入的授權硬體的啟動代碼授權序列。在一個實施方式中,安全啟動進程可以利用約束的密鑰(例如公共的、私有的等)以及挑戰響應協議來認證和授權申請者接入到供應進程以及供應模式輸入。供應模式輸入允許籤名秘密分組的後續階段被加密並存儲到對軟體不可用以及對供應商不可見的受保護的寄存器中的啟動階段認證模塊內部。然後,供應模式狀態會切換到加密模式。新的啟動階段代碼會被加載到密鑰導出功能。代碼加載之後,新的設備唯一秘密密鑰會自動生成(但對用戶或者軟體不可見)。然後,與新的啟動代碼對應的新的籤名秘密被插入到密碼引擎並用新的設備唯一秘密密鑰來加密。結果被存儲到一個位置以取代以前的版本。隨後的啟動階段代碼可以被加載,以導出新的隨後的設備唯一秘密密鑰,這些可被用於對內部存儲的隨後階段的籤名密鑰秘密進行加密。該進程會一直繼續直到完成。設備會用新的啟動階段代碼及其對應的籤名密鑰進行重啟。隨後的啟動階段代碼和密鑰可以保持相同,對階段設備唯一秘密密鑰的新鏈是未知的並受限於該新鏈。修改階段之前的啟動階段保持不變。圖18示出了生成和使用密鑰的設備的強度實例啟動序列流程圖,其中所述密鑰的強度(或者其他安全強度特性,例如加密算法本身,或者算法模式等)可以依賴於通過在啟動序列中執行的完整性校驗過程見證的設備可信度結果。公開的系統和方法可用於單個利益相關方(例如遠程用戶)實施方式,它可以給單個利益相關方提供在程度變化的功能性下安全地管理設備的靈活性。例如,在使用設備進行安全的關鍵和複雜功能之前,遠程用戶可能需要確認設備是否正確獲取到它的完整的設備完整性和/或功能性。為了確定設備完整性和/或功能性獲得的程度,用戶會通過向設備提交現時(nonce)然後取回籤名之後的響應(例如,現時會確保結果的更新)來挑戰設備。用戶會檢驗該響應以確定設備已通過哪個階段的完整性以及健康檢驗執行。基於該結果,用戶可以 確保其可以安全地與設備安全交互那些完整性已經被驗證的功能。作為一個實例,如果響應表示沒有發生安全啟動進程(例如,沒有完整性校驗),則用戶會知道該設備是被配置成非安全形式並且將不會依賴該設備來處理敏感數據。還有,由於一些設備完整性受限的密鑰可能不可用,受限於安全啟動進程的加密數據也可能不可用。如果該進程的第一階段完成了,則該設備可能有一些安全能力,例如證實自己一些失敗功能的能力,以及對外發送重放保護和/或籤名的災難(distress)信號。遠程用戶可以從這些信號中確定接收到的災難信號正確和/或不是被其他設備欺騙,並且在獲知該設備發送了災難信號的情況下採取行動來修復設備。繼續該實例,如果第二階段完成,則表示更高層次的能力/設備完整性的新的認證密鑰集在該設備上是可用的,其允許用戶遠程、安全地修改設備上的失敗代碼。該情況的一種變換形式是,實現完整性的該第二階段的設備可以獲得對密鑰的本地接入,該密鑰允許對遠程用戶的OAM或者設備管理(DM)伺服器(或者該伺服器應用)進行認證。在該實例的這一階段中,設備有能力認證遠程用戶(或者他的OAM或者DM伺服器或者這種伺服器應用),因此該設備上的一些數據和代碼可以使用與獲得的完整性階段相關的可用密鑰進行加載和籤名。也能得到與其他能力等級相關聯的其他階段。最終成功的階段表示該設備完全能夠執行遠程用戶需要完全接入和使用的功能。本發明不需要包括一些功能性階段並且不受限於一個或者多個利益相關方。一種形式,設備可以執行具有單個代表結果的單個校驗階段,這將導致從遠程用戶角度來看用於自主確認的單個認證密鑰。這可用於確認嘗試附著到網絡的設備。公開的系統和方法也可被擴展到允許設備的值得信任狀態的標識存在靈活性,允許災難指示、設備檢測、設備管理功能(診斷和修復)以及對設備、服務和/或應用層次的認證過程。其他認證信息可以受限於完整性校驗進程,所述認證信息例如與用於設備的到優選網絡的接入私有密鑰不同的其他目的認證密鑰。這種「其他認證」的示例可以是針對OAM的認證、應用層次服務的認證、或者在不同於接入層的層的安全協議(例如IPsec或者TLS)的認證。其他實例包括對設備和/或其簡檔(例如組成員等)的認證、訂戶/用戶、月艮務、或者應用。例如,參考圖13C,會向KDF發送服務訂製密鑰。結果密鑰可以是用於到服務提供商的認證的設備唯一秘密密鑰。對設備的挑戰可以認證用戶和設備完整性兩者。在這種情況下,可以在合適的階段添加服務訂製密鑰。在一個實施方式中,保證了完整性的(integrity-backed)訂製密鑰在之前的階段中提供,而保證了完整性的應用密鑰在後面的階段中提供。其他信息在KDF輸入中合併以確保綁定到必要信息上。通過將其他認證信息綁定到完整性校驗進程中,可以提供不止一個獨立的認證資源。公開的系統、方法以及手段允許動態擴展信任,以允許對設備進行安全和遠程配置。例如,出廠之後,設備可以安全啟動到已知的未配置的狀態。這樣的設備應首先使用包括供應商證明中的證書。該階段中可用的認證密鑰允許外部管理實體(例如OAM或者DM伺服器)遠程接入設備上的配置數據結構,並允許認證的外部管理實體插入新的證書(例如,新的籤名密鑰或者運營商證明,可能包括新的籤名密鑰等)。這些新的證書可以使用本文描述的方法進行保護。新的配置數據可以用新的密鑰進行籤名,並且可以插入新的執行階段,這也可以通過成功階段密鑰進行籤名。可以添加認證密鑰,這可以通過最終的配置校驗的成功完成來保護。如果設備被重置,例如,它可以自動重啟至校驗新配置數據的新的階段。如果新的配置數據匹配,則結果認證密鑰可用。外部實體然後認證該設備。如果認證通過,則外部實體可確保設備被正確配置。 圖19示出了與多階段認證相關的網絡通信的實例。3GPP的中繼節點(RN)既可以對於供給(donor)eNB (DeNB)作為UE (即中繼UE),也可以對於連接到它的UE作為eNB (即中繼dNB)。由於中繼節點可以用於如下場景中,例如緊急響應或者臨時覆蓋間隙填充任務,它們不能在部署時間完全配置並且沒有完全操作的所有功能性。由於RN是網絡設備,然而,安全需求(包括設備完全需求)可能會需要很高,導致對完整性校驗的需要,這允許實現分階段的操作狀態。部署後配置和證書登記都需要這種分階段的操作狀態。圖20示出了啟動和啟動後配置過程的實例,其中包括使用示例性3GPP中繼節點的多階段認證和證書配置。在這個實例中,如果通過了完整性的特定階段,則使得RN能接入到已知運營商(OP)管理盒(例如OAM或者DM伺服器盒等)以及供應商的0AM/DM伺服器。然而,如果RN後續階段失敗,那麼它可能不被允許接入證書(RN中可能已經存在也可能不存在),該證書是到OP移動性管理實體(MME)的完全接入所需的證書。因此,RN會不通過對OP MME的完全接入認證嘗試。然而,連續發生這樣的失敗,RN可被限制為向已知的OP 0AM/DM進行認證,並被指示為由供應商0AM/DM使用預先提供的供應商證明來進行重新配置。如果獲得重新配置並通過完整性校驗的進一步階段,那麼RN現在可以獲得到接入到OP MME所需的證書的接入。公開的系統和方法會對篡改和實時失敗很敏感。在設備完整性建立的時候或者之前可以建立獨立的篡改監視進程(例如,該監視進程與信任根綁定)。該監視器可以檢驗代碼、埠或者任何可以指示幹擾或者篡改事件的東西。一旦發生這樣的事件,建立設備的唯一秘密密鑰值被自動去除,使認證密鑰不可用。參考圖21,它示出了一個使用公開系統和方法的實施方式的晶片實例。嘗試使用基於完整性的認證密鑰重新建立到設備的連接可能會失敗。這會為依賴於設備安全性的外部實體提供持續保護。圖22示出了如何將完整性校驗進程擴展到UE通信。網絡可以使用完整性限制的認證密鑰向中繼節點傳遞UE密鑰。如果中繼節點由於完整性或者篡改事件而不再安全,該中繼節點將不能解密所加密的密鑰,並且來自UE的通信的安全性得以保持。所公開的系統和方法可以提供以下的一個或者多個設備籤名密鑰分階段的機制,它允許對設備的可信性進行部分或者分階段的遠程確定;片內資源以及認證秘密的分階段釋放方法,其中對用於設備的當前啟動階段的代碼的成功測量、配置信息、以及安全啟動進程的狀態可被用於直接導出控制信號,該控制信號可以允許進一步接入片內資源和釋放用於認證的秘密;啟用外部實體和可能部分失敗的設備之間的可信報告、管理以及修復;消除對啟動進程中的顯式完整性校驗過程的需要,並消除存儲和保護啟動代碼參考值的需要;或者通過公共接口(例如晶片邊界或者公開網絡)對不同利益相關方進行認證接入。平臺完整性策略引擎(PIPE)可以是整個平臺信任系統架構的一部分。PIPE可以控制多階段認證和密鑰釋放過程。PIPE可以控制不同的功能,包括安全啟動進程的流程、軟體和/或數據組件的完整性校驗測量的處理、根據策略的後續執行行動,和/或後續軟體加載控制的流程。該策略可以由一個或者多個外部利益相關方定義,例如製造商和/或運營商,並且在設備上提供,並通過遠程更新過程在欄位中更新。 通過繼續安裝越來越多的功能能力並在運行期間保持對組件的動態加載,PIPE可以控制受損害的軟體功能性不會通過受控軟體和數據校驗以及家在操作而被加載。作為說明性的實例,依賴於加載操作中進展的階段,響應於認證失敗,PIPE可以應用以下的一個或者多個對平臺進行下電操作;避免加載受損害的組件(component)或者隔離的組件;觸發到外部實體(比如,網絡中的安全網關或者修復管理器)的警告,以通知低級別的失敗或者受損害的功能性;防止對平臺上的功能或者信息的接入,例如認證密鑰等;或者,防止對平臺上的安全功能的接入,例如認證算法等。在一些情況下失敗可能很嚴重,以至於甚至可信任的環境可能不能確保平臺中的信任,因為核心TrE功能性已經受損害了。低級別的失敗可能觸發基本操作,例如生成默認的信任根籤名的警告消息,這可能包括完整性以及重放保護以及機密性保護。也就是說,一旦發生低級別安全失敗,會通過一個或多個可用的通信信道向網絡釋放災難消息。隨著加載的功能性的建立並變得越來越複雜,設備會執行更複雜的行動,例如作為代表網絡實體的安全和可信代理,這會促進用來診斷、報告和/或替換受損害的軟體和/或配置數據的詢問過程;執行主體代碼或者數據重載/更新過程或者調查更多細節,包括用更精確的細節進行完整性校驗,懷疑被篡改的組件被隔離到組件的故障位置。根據成功驗證功能性的等級,可以提供對平臺上資源的不同的接入(例如通過PIPE)。如果組件的完整性校驗失敗,則它不會被信任。該檢測到的失敗可以被安全地標記並指示給網絡(或者顯式或者隱式地),以及由於該失敗條件,啟動流程會產生分支。這種類型的完整性校驗失敗可以當做執行流程失敗,藉此經過校驗的組件不能被信任,並且啟動該組件會導致執行中出現惡意的、損害的、錯誤的或者不正確配置的代碼,並且這還會引起設備以非特定的和不可預料的形式執行功能。這樣,新組件和可用功能性的加載會受先前加載的組件的完整性的影響。作為結果,執行環境可以根據每一個啟動階段和每一個實時進程中的控制執行過程和接入特權進行改變。例如,在啟動進程的每一階段,需要根據當時進行的完整性測量做出決定。隨後的階段和策略會通過信息傳輸或者存儲的任何可用的安全方法使用傳遞自先前階段的信息,這些方法超出了執行階段(狀態、變量、參數、寄存器、文件等)以確定它自己的操作。例如,上層應用認證功能可以使用先前加載的組件的完整性信息來確定它自己的操作,包括對與外部實體的成功認證所需要的密鑰的釋放進行門控。一個PIPE功能流程的實例可以包括以下的一個或多個。RoT會被校驗並且它的完整性會被驗證。基線TrE可以由RoT進行檢驗,並且它的完整性會被驗證。如果TrE校驗中存在失敗,則會執行以下的一個或者多個阻止對附著到網絡所需要的密鑰的釋放;向網絡觸發警告(可以加載回退代碼,這可以讓警告發送到網絡和/或該警告會觸發遠程主體更新過程來取代TrE);或者對設備進行下電操作。可以加載基本通信連接性代碼,這可以包括以下一個或者多個校驗和加載基線作業系統模塊;校驗和加載基線管理客戶端;或者校驗和加載通信模塊。如果發生失敗,會執行以下一個或多個阻止對附著到網絡所需要的密鑰的釋放;通過警告觸發主體更新過程以取代組件(可以加載回退代碼,這可以讓警告發送到網絡和/或該警告會觸發遠程主體更新過程來取代基本代碼);發起警告和遠程組件更新過程;或者對設備進行下電操作。校驗和加載剩餘作業系統和管理客戶端組件。校驗和加載動態的、可重新定位的和/或可重新加載的功能模塊,如果出現失敗,會執行以下一個或多個阻止對附著到網絡所需要的密鑰的釋放;通過到網絡的協議發送失敗報告(失 敗報告會指示由網絡遠程更新的失敗的組件);發送警告以及請求遠程組件更新過程;或者對設備進行下電操作。PIPE的行動會根據成功驗證的啟動鏈而變化。在啟動進程的每一個階段中,需要根據基礎平臺的部分或者整個的評估的完整性做出決定,平臺那時(那時附近)已經進行了完整性校驗並且已經應用了策略。這些策略可以根據獲得的信任程度採用或者被新的策略替代。執行環境可以根據每一啟動階段的控制策略而改變。隨後的階段和策略會通過信息傳輸或者存儲可用的安全方法使用先前階段通過的信息,這些方法超出了執行階段(狀態、變量、參數、寄存器、文件等)。PIPE策略可以用一個或者多個利益相關方提供。例如,一個利益相關方可能具有到每一個策略的接入,每一個利益相關方可接入到部分策略(例如,依賴於優先權層次或者與特定的功能相關聯)等。作為另一個實例,製造商可以控制低級別的代碼策略,運營商可以控制軟體和配置策略,以及應用服務提供商可以控制高級別的功能模塊。雖然上面以特定的組合描述了特徵和元素,但是本領域普通技術人員可以理解,每個特徵或元素可以單獨的使用或與其他的特徵元素進行組合使用。此外,這裡描述的方法可以用電腦程式、軟體或固件實現,其可包含到由通用計算機或處理器執行的計算機可讀介質中。計算機可讀介質的示例包括電子信號(在有線或無線連接上傳送)和計算機刻度存儲介質。計算機刻度存儲介質的示例包括,但不限於,只讀存儲器(ROM)、隨機存取存儲器(RAM)、寄存器、緩衝存儲器、半導體存儲器設備、磁性介質(例如內部硬碟和可移動磁碟),磁光介質和光介質(例如⑶-ROM盤和數字通用盤(DVD))。與軟體關聯的處理器用於實現射頻收發信機,用於WTRU、UE、終端、基站、RNC或任何主計算機。
權利要求
1.一種用來執行網絡設備的完整性確認的方法,該方法包括 接收對存儲在所述網絡設備的存儲器中的第一碼字的測量;以及 基於存儲在所述網絡設備的安全存儲器中的根密鑰和第一碼字測量來生成第一密鑰,其中當所述第一碼字測量有效時,所述第一密鑰有效,以及其中所述第一密鑰與和所述網絡設備的第一功能相關聯的信任的第一階段相關,以及其中有效的第一密鑰能夠被第一利益相關方用來接入所述第一功能。
2.根據權利要求I所述的方法,該方法還包括當所述第一碼字測量無效時,阻止接入到所述第一功能。
3.根據權利要求I所述的方法,該方法還包括 接收對存儲在所述網絡設備的存儲器中的第二碼字的測量;以及 基於所述第一密鑰和第二碼字測量來提供第二密鑰,其中當所述第二碼字測量有效時,所述第二密鑰有效。
4.根據權利要求3所述的方法,該方法還包括當所述第二碼字測量無效時,阻止接入到第二功能。
5.根據權利要求3所述的方法,其中所述第二密鑰與和第二功能相關聯的信任的第二階段相關,以及其中有效的第二密鑰能夠被第二利益相關方用來接入所述第二功能。
6.根據權利要求I所述的方法,該方法還包括 接收現時;以及 響應於所述現時,發送籤名消息,其中該籤名消息指示不可信狀態、部分可信狀態、或可信狀態。
7.根據權利要求6所述的方法,該方法還包括當指示部分可信狀態時提供最後有效證書,其中所述最後有效證書包括與最後有效碼字測量相關聯的最後有效密鑰。
8.根據權利要求6所述的方法,其中所述籤名消息還指示啟動狀態的新鮮度,以及其中所述現時經由序列計數器或日期和時間戳功能中的至少一者在本地導出。
9.根據權利要求I所述的方法,其中所述根密鑰在製造時或供應時被存儲在所述安全存儲器中。
10.根據權利要求I所述的方法,其中所述安全存儲器是安全硬體模塊的一部分,以及其中所述根密鑰對所述安全硬體模塊之外的軟體不可見。
11.一種用來執行網絡設備的完整性確認的安全硬體模塊,該安全硬體模塊至少部分地被配置為 接收對存儲在所述網絡設備的存儲器中的第一碼字的測量;以及 基於存儲在所述網絡設備的安全存儲器中的根密鑰和第一碼字測量來生成第一密鑰,其中當所述第一碼字測量有效時,所述第一密鑰有效,以及其中所述第一密鑰與和所述網絡設備的第一功能相關聯的信任的第一階段相關,以及其中有效的第一密鑰能夠被第一利益相關方用來接入所述第一功能。
12.根據權利要求11所述的安全硬體模塊,其中該安全硬體模塊還被配置為當所述第一碼字測量無效時,阻止接入到所述第一功能。
13.根據權利要求11所述的安全硬體模塊,其中該安全硬體模塊還被配置為 接收對存儲在所述網絡設備的存儲器中的第二碼字的測量;以及基於所述第一密鑰和第二碼字測量來提供第二密鑰,其中當所述第二碼字測量有效時,所述第二密鑰有效。
14.根據權利要求13所述的安全硬體模塊,其中該安全硬體模塊還被配置為當所述第二碼字測量無效時,阻止接入到第二功能。
15.根據權利要求13所述的安全硬體模塊,其中所述第二密鑰與和第二功能相關聯的信任的第二階段相關,以及其中有效的第二 密鑰能夠被第二利益相關方用來接入所述第二功能。
16.根據權利要求11所述的安全硬體模塊,其中該安全硬體模塊還被配置為 接收現時;以及 響應於所述現時,發送籤名消息,其中該籤名消息指示不可信狀態、部分可信狀態、或可信狀態。
17.根據權利要求16所述的安全硬體模塊,其中該安全硬體模塊還被配置為當指示部分可信狀態時提供最後有效證書,以及其中所述最後有效證書包括與最後有效碼字測量相關聯的最後有效密鑰。
18.根據權利要求16所述的安全硬體模塊,其中所述籤名消息還指示啟動狀態的新鮮度,以及其中所述現時經由序列計數器或日期和時間戳功能中的至少一者在本地導出。
19.根據權利要求11所述的安全硬體模塊,其中所述根密鑰在製造時或供應時被存儲在所述安全存儲器中。
20.根據權利要求11所述的安全硬體模塊,其中所述安全存儲器是所述安全硬體模塊的一部分,以及其中所述根密鑰對所述安全硬體模塊之外的軟體不可見。
全文摘要
可以執行網絡設備的完整性確認。包括安全硬體模塊的網絡設備可以接收根密鑰。所述安全硬體模塊還可以接收第一碼字測量。所述安全硬體模塊可以基於根密鑰和第一碼字測量提供第一密鑰。所述安全硬體模塊可以接收第二碼字測量以及基於第一密鑰和第二碼字測量提供第二密鑰。基於碼字測量的密鑰釋放可以提供階段性的認證。
文檔編號G06F21/00GK102844764SQ201180018789
公開日2012年12月26日 申請日期2011年4月12日 優先權日2010年4月12日
發明者I·查, Y·C·沙阿, L·凱斯 申請人:交互數字專利控股公司