TWI477134B - 產生安全裝置秘密金鑰的方法 - Google Patents

產生安全裝置秘密金鑰的方法 Download PDF

Info

Publication number
TWI477134B
TWI477134B TW101121535A TW101121535A TWI477134B TW I477134 B TWI477134 B TW I477134B TW 101121535 A TW101121535 A TW 101121535A TW 101121535 A TW101121535 A TW 101121535A TW I477134 B TWI477134 B TW I477134B
Authority
TW
Taiwan
Prior art keywords
requester
secret
key
information
embedded
Prior art date
Application number
TW101121535A
Other languages
English (en)
Other versions
TW201301835A (zh
Inventor
Andrew Dellow
Original Assignee
Broadcom Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Broadcom Corp filed Critical Broadcom Corp
Publication of TW201301835A publication Critical patent/TW201301835A/zh
Application granted granted Critical
Publication of TWI477134B publication Critical patent/TWI477134B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Description

產生安全裝置秘密金鑰的方法
本專利案涉及資訊安全和裝置安全,包括用於在不同實體間交換秘密資訊並產生安全裝置秘密金鑰(secret key)的技術。
在涉及安全資訊和某些裝置的各種應用中,不同裝置間的安全交換和傳遞資訊都很重要。為此,各種安全協定和演算法可用於在各種實體間對包括聲音、圖像、視頻和其他類型資料的資訊進行安全交換。資料安全協定往往依靠加密技術,如加密、數位簽章和散列函數,從而在所需的安全水準進行認證和資訊交換。這些技術往往依賴於秘密值(例如,秘密金鑰、隨機值等),該值由一個或多個參與方使用以建立安全通訊通道,以實行認證協定等。
(1)一種方法,包括:從被嵌入裝置的秘密資訊的第一請求者接收第一消息,其中所述消息包括與所述第一請求者相關的公開金鑰,並且其中嵌入的秘密資訊包括不與任何特定請求者相關的隨機資訊;以及基於接收到的公開金鑰和嵌入的秘密資訊來產生第一加密秘密。
(2)根據(1)所述的方法,其中所述第一請求者使用與所述裝置相關的金鑰對所述公開金鑰進行簽名。
(3)根據(1)所述的方法,其中在不維護嵌入的秘密資訊的資料庫的情況下執行所述第一加密秘密的產生。
(4)根據(1)所述的方法,進一步包括:驗證接收到的公開金鑰,其中所述第一加密秘密只在接收到的公開金鑰驗證成功時產生。
(5)根據(1)所述的方法,進一步包括:對所述裝置進行標記以表明所述第一加密秘密的產生。
(6)根據(5)所述的方法,其中對所述裝置進行標記包括:鎖定一次性可程式設計(OTP)裝置。
(7)根據(1)所述的方法,其中僅在所述裝置未被標記有“所述第一加密秘密之前已被產生”的指示的情況下才產生所述第一加密秘密。
(8)根據(1)所述的方法,其中通過使用接收到的公開金鑰對嵌入的秘密資訊進行加密來產生所述第一加密秘密。
(9)根據(1)所述的方法,其中所述裝置進一步包括嵌入在裝置中的標識;以及所述裝置的嵌入標識與所述第一加密秘密一起被提供給所述第一請求者。
(10)根據(1)所述的方法,其中第一消息包括表示所述第一請求者的身份的輔助資訊;以及通過使用嵌入的秘密資訊對表示所述第一請求者的身份的輔助資訊進行加密,然後使用所述第一請求者接收到的公開金鑰對該結果進行加密,來產生所述第一加密秘密。
(11)根據(10)所述的方法,進一步包括:從嵌入的秘密資訊的第二請求者接收第二消息,其中所述第二消息包括表示所述第二請求者的身份的輔助資訊;以及通過使用嵌入的秘密資訊對表示所述第二請求者的身份的輔助 資訊進行加密,然後使用所述第二請求者接收到的公開金鑰對該結果進行加密,來產生第二加密秘密。
(12)根據(1)所述的方法,進一步包括:對所述第一加密秘密進行數位簽章。
(13)根據(1)所述的方法,其中所述第一消息包括經簽名的公開金鑰以及經簽名的與所述第一請求者相關的請求者標識這兩者;以及通過使用嵌入的秘密資訊對接收到的與第一使用者相關的標識進行加密,然後使用所述第一請求者接收到的公開金鑰對該結果進行加密,來產生所述第一加密秘密。
(14)根據(13)所述的方法,進一步包括:從嵌入的秘密資訊的第二請求者接收第二消息,其中所述第二消息包括經簽名的公開金鑰以及經簽名的與所述第二請求者相關的請求者標識這兩者;以及通過使用嵌入的秘密資訊對接收到的與所述第二使用者相關的標識進行加密,然後使用所述第二請求者接收到的公開金鑰對該結果進行加密,來產生第二加密秘密。
(15)根據(1)所述的方法,其中嵌入的秘密資訊包括作為所述裝置的製造過程的一部分而被嵌入所述裝置的亂數。
(16)根據(15)所述的方法,其中所述亂數是在所述裝置外部產生的加密安全亂數。
(17)根據(1)所述的方法,其中所述第一消息包括表示所述裝置的一個或多個特定操作的一個或多個使用標籤。
(18)根據(17)所述的方法,進一步包括:利用包含在所述第一消息中的一個或多個使用標籤來對所述裝置進行標記,其中在所述裝置內標記的一個或多個使用標籤隨後被用於控制對所述裝置的訪問。
(19)一種方法,包括:接收對與裝置相關的秘密資訊的檢索的請求,其中所述秘密資訊不與所述秘密資訊的任何特定請求者相關;以及產生加密安全應答,使得所述應答的接收者能夠恢復嵌入的秘密資訊,其中嵌入的秘密資訊僅能由所述請求的發送方恢復。
(20)一種方法,包括:向裝置發送消息以請求被嵌入在所述裝置中的秘密資訊,其中所發送的消息包括公開金鑰,並且其中嵌入的秘密資訊包括不與嵌入的秘密資訊的任何特定請求者相關的隨機資訊;回應於發送的消息接收加密秘密;以及從加密秘密恢復嵌入的秘密。
本發明提供了一些方法、裝置、系統和電腦程式產品,以便對嵌入在裝置中的秘密資訊進行加密安全檢索。嵌入的秘密資訊可包括亂數,該亂數不針對秘密資訊的任何特定請求者而制定設計。接收到對嵌入的秘密資訊的請求後,將提供給請求者經加密的秘密,使得只能由該請求者恢復嵌入的秘密資訊。所述技術可用於消除維護嵌入的秘密資訊和相關請求者的資料庫的需要。
諸如數位版權管理(DRM)系統的一些資訊安全系統要求唯一金鑰例如被嵌入在晶片組中,這作為該晶片組的製造過程的一部分。通常該金鑰(key)用於去往/來自片上系統(SoC)的資訊的安全傳遞。因此,期望建立這樣的通 道的一方必須知道該金鑰。同時,該金鑰必須在裝置外部任意方式下不可見,且不能由未被認證方訪問。為了恰當地使用和分配這些金鑰,一些系統使用金鑰管理和切換式通訊協定,而這需要金鑰資料庫的存在和維護。這種資料庫的維護會增加這樣的系統的成本和複雜度,且還會增加資料庫維護方的責任。
所述技術無需上文提到的資料庫維護即可實施。本公開實施方式提供了有利於存在於裝置中的秘密資訊交換的實施方法、裝置、系統和電腦程式產品的示例,例如,該裝置可為晶片、晶片組、片上系統等。這種秘密資訊通常在製造時便嵌入系統。這種秘密資訊(或金鑰)可能需要只被特定的被認證方訪問。在一些系統中,這可以通過在SoC製造時向SoC中嵌入特定秘密值和與請求方相關的標識來實現。為了避免隨後操縱秘密值和/或標識,SoC可配備鎖定能力,從而防止金鑰和標識一旦被寫入裝置而將來遭遇破壞。因此,這樣的系統需要為請求方特別製造各裝置,從而增加了庫存管理、訂購和製造技術的複雜度。例如,裝置製造商必須知道負責提供秘密值的安全提供商,且一旦裝置被製造,要實施具體庫存維護並跟蹤進程。此外,在這種系統中,金鑰和/或標識被儲存在資料庫中,該資料庫必須由裝置製造商、請求方和/或可信第三方來維護和管理。所以,裝置製造商會因與這樣的資料庫進行安全通訊,以及可能會對與資料庫相關的至少一部分操作進行管理,而具有額外負擔。
在其他系統中,可通過向SoC中嵌入隨機(但可見)標識和使用鍵控單向函數創建相關金鑰來避免資料庫管 理。具備單向函數和相關金鑰知識的一方知道隨機標識,可以容易地產生金鑰。這樣的系統可用於例如挑戰應答協定,其中,安全系統可在挑戰請求方、且作為回應接收到正確金鑰之後,允許對裝置的訪問(或解鎖裝置的某些測試埠)。此系統的安全完全依賴於單向函數的保密性,該函數可由多個外部方共用。如果每個請求方請求唯一的單向函數(例如,以確保另一第三方未洩露或惡意使用單向函數),那麼需要專門製造各裝置以用於各個請求方,以具備其自己的專用單向函數。但是,用於各請求方的唯一單向函數的實現方式會增加裝置製造階段中操作的成本和複雜度。
本公開實施方式使得嵌入在裝置(如SoC)中的秘密資訊個性化,可用於單個請求方而無需為每個請求方嵌入專用秘密資訊。本公開實施方式進一步消除了在裝置製造設施處管理和維護嵌入的秘密資訊以及相應的請求者標識的資料庫的必要。在一些實施方式中,隨機金鑰被寫入裝置。裝置隨後向多個外部方安全地傳遞隨機金鑰的衍生品,這樣每個外部方可以肯定唯一秘密的完整性,而無需要求每個裝置為單個第三方特別製造或要求在裝置製造商一方進行資料庫管理。在一些實施方式中,通過嵌入的秘密信息的請求者傳入裝置(如SoC)和/或從裝置讀取的值不一定是秘密值,而是在與由外部各方獨佔掌握的其他秘密相結合使用時提供有效訪問資訊。
圖1提供了系統框圖,該系統可包納本公開實施方式。圖1中描繪的裝置製造設施102通常通過104c生產裝置104a,104c為例如可在外部實體購買的晶片、晶片組、片 上系統(SoC)等,外部實體為例如OEM製造商和系統開發商。每個通過104c製造的裝置104a被嵌入唯一秘密資訊,比如亂數。從而多個請求者106a可通過106i請求嵌入的秘密資訊。如前所述,嵌入的秘密資訊可由請求者例如用於建立與裝置、與其他系統或裝置的安全通訊通道,和/或影響其他加密安全操作。
圖2顯示一組操作,可執行這些操作以用於根據示例性實施方式在裝置中嵌入亂數。圖2所示的一些或所有的操作200例如可在裝置製造設施處執行。在202,產生亂數(RND),在204,產生的亂數被發往裝置。該裝置例如可包括SoC。在一些實施方式中,亂數可在裝置處產生。然而,用於加密應用的真亂數(如,加密安全亂數,cryptographically secure random number)的產生可能需要費時的操作,和/或可在裝置外或可能在製造設施外被更容易地產生。例如,從熱雜訊產生亂數可能需要熱源在能夠產生合適值之前的特定時間段內的操作。因此,在一些實施方式中,亂數的產生先於將數嵌入裝置,且可能在製造設施之外,使用合適亂數產生方案來產生。隨後,產生的亂數發送至和/或儲存在製造設施內,從而在稍後的裝置製造過程中使用。應該進一步指出,除了嵌入的亂數,與裝置相關的任意標識也可產生並寫入每個裝置。在一些實施方式中,這樣的標識可由正在訪問裝置的請求者作為明文讀取,而嵌入的亂數(將在下面的部分中描述)只與特定請求者安全通訊。
接下來在206,亂數被嵌入裝置。例如,亂數可寫入裝置內的特定寄存器或儲存位置。在208,讀取回被嵌入裝置 的隨機值,在210,鎖定裝置內包含隨機值的位置。裝置的鎖定可防止未來對嵌入的亂數的操控。在一示例實施方式中,裝置包括一次性可程式設計(OTP)組件,比如非易失性片上儲存位置,用於永久儲存裝置內的亂數。在212,執行處理以確定亂數是否正確嵌入裝置。如果在212處不能檢索到正確的亂數,則在216處裝置可被丟棄。但是,如果亂數被正確嵌入,則在214處裝置保留。
通過例如圖2中的示例性操作組而被嵌入亂數的裝置也可包括一組與公開金鑰(public key)加密演算法相關的非對稱金鑰。在一些實現方式中,所儲存的金鑰可同時包括公開金鑰和私密金鑰(private key)。公開金鑰可儲存在裝置中以防止公開金鑰改變並允許訪問該金鑰。裝置中包含的私密金鑰保持秘密。例如,一個或多個RSA公開金鑰對可儲存在裝置中。儲存的公開金鑰可由裝置製造商或多個第三方擁有。
圖3顯示一組操作300,可執行這些操作以用於根據示例性實施方式安全地提供與裝置相關的秘密資訊。圖3中的示例性操作300例如可在裝置製造設施外由包括安全系統的裝置的一個或多個元件來執行。在302,接收了包含來自嵌入的秘密資訊的請求者的簽名公開金鑰的消息。在一實例中,使用對應於裝置(如,對應於裝置製造商)的一個RSA公開金鑰對在302接收到的公開金鑰進行簽名。因此,OTP可被用於選擇使用所儲存的哪一個公開金鑰來驗證接收到的請求者公開金鑰。在304,執行處理以判斷秘密資訊是否在以前匯出。如果資訊在以前匯出(“是”),在306實施重置操作且處理停止。在一實例中,被配置為控制 圖3的部分或所有操作300的處理器或電路可以聲明一硬體重置信號,以使SoC重置或重啟。另一方面,如果304處的判斷為“否”,則在308處通過驗證請求者公開金鑰來繼續操作。在一些實施方式中,308處的驗證包括對在302處接收到的消息和相關簽名的RSA驗證操作。例如,308處的驗證操作可使用RSA概率簽名方案(RSA-PSS)來執行。在另一實例中,308處的驗證可使用橢圓曲線數位簽章演算法(ECDSA)來執行。在一些實施方式中,308處的驗證操作包括改錯碼(ECC)驗證操作。如果公開金鑰無法被驗證,則在312處實施重置操作,且處理停止。例如,被配置為控制圖3的部分或所有操作300的處理器或電路可以聲明一硬體重置信號,以使SoC重置或重啟。另一方面,如果請求者公開金鑰被正確地驗證,則在314處,使用請求者公開金鑰對嵌入的秘密資訊進行加密。在316處,輸出被加密的嵌入的秘密資訊以及裝置的潛在任意標識。此外,可對裝置進行標記以表示嵌入的秘密資訊已被匯出至特定請求者。這是在318處的操作,且可通過例如燒保險絲和/或寫入OTP來實施。
嵌入的秘密資訊的請求者在接收到加密消息之後,可使用其私密金鑰來容易地對接收到的消息進行解密並恢復RND值。可選地,請求者可在安全位置(如,金鑰資料庫)儲存RND和相關標識。然而,裝置製造商不需要維護這樣的資料庫或與這樣的資料庫交互。因此,借助於圖3顯示的示例性實施方式提供了用於向任意特定請求方提供嵌入的秘密資訊的流程,而無需為該特定方製造定制裝置。此 外,圖3所示的示例性實施方式消除了裝置製造商管理和維護金鑰資料庫和相關資訊的需要。
在一些實現方式中,從特定請求者接收到的消息(例如,圖3中的操作302)不僅包括請求者的簽名公開金鑰,還包括一條或多條輔助資訊,如一個或多個使用標籤。例如,這樣的使用標籤可表示特定操作(如對嵌入的秘密資訊的檢索)被請求。例如,可作為圖3中的操作310的一部分來驗證使用標籤,並隨後在執行後續操作(如秘密的加密)之前由安全系統讀取和解析。
圖4顯示一組操作400,可執行這些操作以用於根據示例性實施方式安全地提供與裝置相關的秘密資訊。圖4中的示例性操作400例如可以在裝置製造設施外由包括安全系統的裝置的一個或多個元件來執行。在402,從請求者接收包含經簽名的公開金鑰以及請求者身份(identification)的消息。在一示例性實施方式中,使用對應於裝置(如,對應於裝置製造商)的一個RSA公開金鑰對在302處接收到的公開金鑰進行簽名。請求者身份是可從請求者傳遞到裝置的輔助資訊的實例。在圖4所示的示例性實施方式中,請求者身份標示所有者、請求者、或對獲取嵌入的秘密資訊有興趣的另一方。在一實例中,請求者身份是二進位欄位。
接下來,在404處,公開金鑰被驗證。在406處,做出公開金鑰是否有效的判斷。如果公開金鑰無法被驗證(在406為“否”),則在408處執行重置操作,且處理停止。如果公開金鑰有效,則在410處執行處理以確定嵌入的秘密資訊之前是否被匯出至特定請求者。如果資訊之前被匯 出(在410處為“是”),則在412處執行重置操作,且處理停止。另一方面,如果410處的判斷結果為“否”,則在414處操作400繼續,這裡使用請求者身份和嵌入的秘密資訊來產生派生秘密。在一示例性實施方式中,派生秘密通過使用嵌入的秘密資訊(如,RND)對請求者身份進行加密來產生。在一些實現方式中,高級加密標準(AES)或其他對稱式金鑰密碼編譯演算法可被用於對請求者身份進行加密。在一些實施方式中,秘密資訊(如,RND)作為加密演算法的金鑰來使用,請求者ID為明文,且請求者ID被加密以產生作為請求者專有的秘密的密文。在416處,使用請求者的公開金鑰對派生秘密進行加密,且在418處,輸出經加密的派生秘密。在420處,對裝置進行標記以表示嵌入的秘密資訊已被匯出至特定請求者。以這種方式,當裝置接收到另一請求時,利於410處的用以評估RND之前是否已被匯出的判斷。在420處進行的操作例如可通過燒保險絲或寫入OTP來實施。
基於以上圖4中的操作400,從而請求者可對接收到的派生秘密進行解密,並確定嵌入的秘密資訊。因此,圖4中的操作400使得每個請求者的唯一派生秘密可使用輔助資訊(如,請求者ID)從嵌入的秘密資訊來產生。這樣,被配置為以這種方式操作的裝置可使用加密安全消息向多個請求者提供嵌入的秘密資訊。被發送至每個請求者的安全消息是唯一的,且不能被任何其他請求者在沒有合適的解密金鑰的情況下解密。這種設計將潛在地允許數量不限的請求者來查詢裝置,並以這種與發送到其他請求者的消息加密地隔離的方式來接收嵌入的秘密資訊。
要注意的是,圖4所示的示例性操作組限制去往同一方的秘密資訊的多次匯出。但在一些實施方式中,這樣的限制可以不存在。例如,嵌入的秘密可被多次傳達至同一方(如,至相同請求者ID)。在這樣的實施方式中,嵌入的秘密資訊的每次匯出都可被分別記錄在裝置中,或者被存檔。
圖5顯示另一組操作500,可執行這些操作以用於根據示例性實施方式安全地提供與裝置相關的秘密資訊。圖5中的示例性操作500例如可以在裝置製造設施外由包括安全系統的裝置的一個或多個元件來執行。操作502至516分別與圖4中的操作402至416的那些相關描述相似。具體地,在502處,從請求者接收包含簽名公開金鑰和請求者ID的消息。接下來,在504處驗證公開金鑰,且如果506處的判斷表明公開金鑰無效,則在508處發起重置操作。如果506處的判斷表明公開金鑰有效,則操作500在510處繼續,以確定秘密資訊是否在之前被匯出至請求實體。如果510處的判斷表明秘密之前已被匯出,則在512處執行重置操作。另一方面,如果秘密資訊之前並未被匯出(在510為“否”),則在514處,使用請求者ID和秘密嵌入資訊創建派生秘密。
在516處,對派生秘密進行加密。在518處,進一步對經加密的派生秘密進行簽名。在一些實例中,使用全域(如,單一)私密金鑰來對經加密的派生秘密進行簽名,而在其他實例中,裝置專有私密金鑰用於在518處對經加密的派生秘密進行簽名。在利用裝置專有金鑰的示例性實施方式中,產生相關有效公開金鑰的列表。這樣的清單的 產生例如可以作為裝置製造操作的一部分,且被作為公開可用。秘密資訊的請求者可用的公開金鑰的列表使得請求者能夠確定匯出的秘密由合法裝置提供。在520處,輸出被簽名和加密的派生秘密。在522處,對裝置進行標記以表示嵌入的秘密資訊已被匯出至特定請求者。
圖5所示的操作500包括額外操作518,以對經加密的派生秘密進行簽名。這樣的被簽名的消息,一旦由秘密資訊的請求者接收和驗證,將提供關於由裝置產生的消息的真實性的保證。尤其是,這樣的簽名保證了該消息真正是由合法安全系統(或安全公司)產生,而不是來自從請求者攔截通訊並只是模仿合法安全系統的應答的攻擊者。
圖6顯示另一組操作600,可執行這些操作以用於根據示例性實施方式安全地提供與裝置相關的秘密資訊。圖6中的示例性操作600例如可以在裝置製造設施外由包括安全系統的裝置的一個或多個元件來執行。在602處,從請求者接收包含簽名的公開金鑰以及請求者產生的簽名的身份(“請求者ID”)的消息。在一示例性實施方式中,使用對應於裝置(如,對應於裝置製造商)的一個RSA公開金鑰來對公開金鑰和請求者ID進行簽名。在一些實施方式中,接收到的公開金鑰和請求者ID可作為單獨消息來進行簽名,而在其他實施方式中,公開金鑰和請求者ID可構成單個消息,該單個消息由請求者簽名並被發送至裝置。
接下來在604處,執行處理以確定裝置是否已被標記為已產生ID金鑰(如,是否裝置OTP已包含一ID)。如果裝置已被標記為已產生ID金鑰(在604為“是”),則在606處執行重置操作,且處理停止。如果裝置之前並未產生 ID金鑰(如,OTP為空)(在604為“否”),則在608處公開金鑰和請求者ID被驗證。如果公開金鑰或請求者ID的驗證失敗(在610為“否”),則在612處執行重置操作,且處理停止。否則,在614處生成一ID金鑰。在一實例中,ID金鑰通過利用秘密嵌入資訊來加密請求者ID而產生。在616處,使用請求者的公開金鑰對ID金鑰進行加密,且在618處,輸出經加密的ID金鑰。在620處,將秘密資訊的匯出指示和請求者ID記錄在裝置中。
一旦請求者接收到由裝置產生的加密消息,請求者可使用其私密金鑰對接收到的消息進行解密並恢復ID金鑰。ID金鑰,與請求者ID(為請求者所知)一起,可由請求者儲存。因此,圖6中所示的示例性操作組600產生派生秘密(如,ID金鑰),該派生秘密對於每個請求者唯一,且基於被請求者安全傳遞至裝置的特定權杖(如,請求者ID)而產生。圖6中的示例性操作600的其中一個優勢為可制止惡意嘗試獲取資訊。特別是,在一個攻擊情景下,惡意方可能發起裝置的ID金鑰的請求,接收ID金鑰,並以某種方式阻止裝置標記ID金鑰的匯出(如,惡意方鎖定OTP寫)。隨後,這樣的裝置可用於合法使用者的真正授權。在接收到合法使用者的請求後,裝置基於圖6中描述的示例性操作組600提供ID金鑰。由於合法使用者使用的ID幾乎肯定與惡意方使用的ID不同,惡意請求者將不會從裝置收到任何資訊。由於請求者ID和工廠程式設計標識能夠保持秘密,即使惡意第三方可以設法獲得來自裝置的隨後輸出消息,這樣的消息包括與合法使用者提供的標識不同的請求者標識。由於惡意第三方不知道用於此裝置的唯一 ID,他們將無法接收到對應於合法請求的ID金鑰。圖6中的示例性操作600的另一優勢是無需在製造過程中嵌入任意晶片標識,這是因為請求者提供的標識可完全作為晶片標識。
要注意的是,與圖3示例性實施方式中相關描述類似,在602處接收到的消息也可包括只允許特定後續操作的一個或多個輔助資訊或使用標籤。這種使用標籤可被嵌入裝置(如,被寫入OTP)並被用作秘密產生流程的一部分。例如,為了讓裝置在稍後時間點產生同樣的秘密,在執行時間內給裝置提供同樣的使用標籤。這樣,原始消息將使得晶片產生只能隨後以請求者預期的方式來使用的秘密。如果使用標籤在執行時間內改變,即,裝置被請求用一組不同標籤來產生成金鑰,則所產生的金鑰將與之前產生的金鑰和標籤值不匹配。
此外,在一些實施方式中,在602處接收到的消息進一步包括所有者ID(並非秘密),與圖4的操作400類似,所有者ID被用來產生所有者專用的派生秘密。在這樣的實施方式中,請求者同時提供請求者產生的ID和所有者ID。但在其他一些實施方式中,除了對金鑰ID進行加密(在616處),類似於圖5的操作518,裝置使用裝置公開金鑰對經加密的ID金鑰進行簽名,從而提供了輸出消息由合法裝置(或安全系統)產生的保證。
在一些實施方式中,可產生多個派生秘密。特別是,N個OTP可被配置為允許N個請求者進行請求。例如,如果八個請求者需要派生秘密,SoC可被配置為預留八個OTP比特。在這樣的實施方式中,如果SoC接收到的公共所有 者ID標籤包括值i,則設定(並鎖定)OTP的比特i{1iN}。如有關圖4的前述內容,所有者ID,i,隨後也可用於生成派生秘密,從而允許僅生成一次與請求者i相關的派生秘密。在一些實施方式中,即使裝置被配置為具備為N個請求者提供派生秘密的能力,安全系統可能決定為少於N個使用者提供派生秘密。在這種情形下,一些OTP比特可在甚至沒有輸出派生秘密的情況下被鎖定。這種機制可使裝置在被製造後可由裝置包納的請求者數目減少。
要注意的是,圖2至圖6中所示的各種示例性操作以特定順序描述,從而利於所公開的實施方式的理解。但是,要理解的是,圖2至圖6中所示的一個或多個操作可省略和/或與其他操作結合。此外,圖2至圖6中的每個所示的一個或多個操作能以與所示順序不同的順序進行。
要進一步理解的是,前面的描述並不意於將本發明的實施方式窮盡或限制為所公開的精確形式,且可根據以上教導做出修改和變化或從各種實施方式的實踐中獲得修改和變化。之所以選擇和描述這裡討論的實施方式,是為了解釋各種實施方式的原理和特性及其實際應用,使得本領域技術人員能夠在各種實施方式中利用本發明,並設想適用於特定使用的各種修改。例如,在一些實施方式中,配置值可替代標識用於產生派生秘密。在其他實施方式中,可儲存多個配置值,以允許產生多於一個的派生或有效秘密。在另一些實施方式中,利用輸入的公開金鑰進行簽名的使用配置可被連結至有效秘密產生處理。
文中描述的各種實施方式在方法或處理的總背景下描述,在一實施方式中,這些方法或處理可由嵌入在電腦可 讀媒體的電腦程式產品實現,其包括諸如程式碼的電腦可執行指令,由電腦在網路環境中執行。電腦可讀媒體可包括可拆卸和不可拆卸的儲存裝置,包括但不限於唯讀記憶體(ROM)、隨機存取記憶體(RAM)、光碟(CD)、數位通用光碟(DVD)、藍光光碟等。因此,在本申請中描述的電腦可讀媒體包括非臨時性的儲存媒體。總的來說,程式模組可包括常式、程式、物件、元件、資料結構等,以執行特定任務或實現特定抽象資料類型。電腦可執行指令、相關資料結構、以及程式模組代表了用於執行文中公開的方法步驟的程式碼的實例。這種可執行指令或相關資料結構的特定順序代表了實現這種步驟或處理中描述的功能的相應動作的實例。
要理解的是,本申請的各種實施方式可單獨地或選擇性地在包括各種硬體和/或軟體模組和元件的裝置中來實施。這些裝置例如可包括處理器、記憶體單元和彼此通訊連接的介面。例如,圖7顯示了裝置700的框圖,該裝置內可實施本申請的所有或部分各種實施方式。裝置700至少包括一個處理器704和/或控制器、與處理器704進行通訊的至少一個記憶體單元702、以及至少一個通訊單元706,它使得資料和資訊可通過通訊鏈路708與其他實體、裝置和網路直接或間接地進行交換。通訊單元706可提供符合一個或多個通訊協議的有線和/或無線通訊能力,因此它可包括適當的發送機/接收者天線、電路和埠,以及編碼/解碼能力,這些對於適當的發送和/或接收資料和其他資訊可能是必要的。記憶體702可儲存資料、指令和其他類型的資訊,並可包括唯讀記憶體(ROM)和隨機存取記憶體 (RAM)這兩者。記憶體702的一部分可包括非易失性隨機存取記憶體(NVRAM)。此外,一次性可程式設計(OTP)裝置可作為記憶體702的一部分來實施。OTP裝置也可作為裝置700中的單獨元件來實施。
圖7的示例性裝置700可被用於實現本申請的示例性實施方式。這樣的示例性實施方式涉及一種方法,包括:從嵌入在裝置中的秘密資訊的第一請求者接收第一消息。這樣的消息包括與第一請求者相關的公開金鑰。此外,嵌入的秘密資訊包括不與任何特定請求者相關的隨機資訊。該示例性方法進一步包括:基於接收到的公開金鑰和嵌入的秘密資訊來產生第一加密秘密。
在一實施方式中,第一請求者使用與裝置相關的金鑰對公開金鑰進行簽名。在另一實施方式中,執行第一加密秘密的產生,而不維護嵌入的秘密資訊資料庫。根據另一實施方式,以上提到的方法進一步包括:驗證接收到的公開金鑰,其中,第一加密秘密只在接收到的公開金鑰的驗證成功時產生。在另一實施方式中,以上提到的方法還包括:對裝置進行標記以表明第一加密秘密的產生。該標記例如可包括鎖定一次性可程式設計(OTP)裝置。
根據另一實施方式,只有在該裝置未被標記有“第一加密秘密之前已經產生”的指示的情況下,才產生第一加密秘密。在一些實施方式中,通過使用接收到的公開金鑰對嵌入的秘密資訊進行加密來產生第一加密秘密。在其他示例性實施方式中,該裝置進一步包括嵌入在裝置中的標識。這樣的嵌入標識可與第一加密秘密一起提供給第一請求者。
在另一示例性實施方式中,第一消息包括表示第一請求者身份的輔助資訊。在這個示例性實施方式中,通過使用嵌入的秘密資訊對表示第一請求者身份的輔助資訊進行加密,然後使用第一請求者接收到的公開金鑰對該結果進行加密,來產生第一加密秘密。
所公開的實施方式也可包納嵌入的秘密資訊的多個請求者。特別是,在一示例性實施方式中,以上提到的方法進一步包括:從嵌入的秘密資訊的第二請求者接收第二消息,其中,第二消息包括表示第二請求者標識的輔助資訊。在這種情形下,該方法還包括:通過使用嵌入的秘密資訊對表示第二請求者身份的輔助資訊進行加密,然後使用第二請求者接收到的公開金鑰對該結果進行加密,來產生第二加密秘密。
根據另一實施方式,以上提到的方法進一步包括:對第一加密秘密進行數位簽章。在另一實施方式中,第一消息同時包括經簽名的公開金鑰以及與第一請求者相關的經簽名的請求者標識。在這個實施方式中,通過使用嵌入的秘密資訊對接收到的與第一使用者相關的標識進行加密,然後使用第一請求者接收到的公開金鑰對該結果進行加密,來產生第一加密秘密。在相關情形中,示例性實施方式的方法進一步包括:從嵌入的秘密資訊的第二請求者接收第二消息,其中,第二消息同時包括經簽名的公開金鑰以及與第二請求者相關的經簽名的請求者標識。在這種情形下,該方法還包括:通過使用嵌入的秘密資訊對接收到的與第二使用者相關的標識進行加密,然後使用第二請求 者接收到的公開金鑰對該結果進行加密,來產生第二加密秘密。
在另一實施方式中,嵌入的秘密資訊包括作為裝置製造過程的一部分而被嵌入裝置的亂數。例如,亂數可為在裝置外部產生的加密安全亂數。在另一實例中,裝置包括片上系統(SoC)裝置。在另一實施方式中,通過使用第一請求者的與接收到的公開金鑰相關的私密金鑰來對加密秘密進行解密,可恢復嵌入的秘密資訊。
在另一實施方式中,從第一請求者接收到的第一消息包括表示裝置的一個或多個操作的一個或多個使用標籤。在一實施方式中,以上提到的方法進一步包括:利用包含在第一消息中的一個或多個使用標籤來對裝置進行標記。在一實例中,在裝置內標記的一個或多個使用標籤隨後用於控制對裝置的訪問。
所公開的實施方式的另一方面涉及一種裝置,包括處理器和記憶體。該記憶體包括處理器可執行代碼,從而該處理器可執行代碼在由處理器執行時將裝置配置為:從被嵌入裝置中的秘密資訊的第一請求者接收第一消息。該消息包括與第一請求者相關的公開金鑰,並且嵌入的秘密資訊包括不與任何特定請求者相關的隨機資訊。處理器可執行代碼在由處理器執行時進一步將裝置配置為:基於接收到的公開金鑰和嵌入的秘密資訊來產生第一加密秘密。
所公開的實施方式的另一方面涉及包含在非易失性電腦可讀媒體上的電腦程式產品。該電腦程式產品包括用於從被嵌入裝置中的秘密資訊的第一請求者接收第一消息的電腦代碼。該消息包括與第一請求者相關的公開金鑰,並 且嵌入的秘密資訊包括不與任何特定請求者相關的隨機資訊。電腦程式產品還包括用於基於接收到的公開金鑰和嵌入的秘密資訊來產生第一加密秘密的電腦代碼。
另一示例性實施方式涉及一種方法,包括:接收用於與裝置相關的秘密資訊的檢索的請求,其中,該秘密資訊不與秘密資訊的任何特定請求者相關。該方法進一步包括,產生加密安全應答,使得應答的接收者能夠恢復嵌入的秘密資訊。然而,嵌入的秘密資訊只能由請求的發送方恢復。
在另一示例性實施方式中,提供了一種方法,包括:向裝置發送消息以請求嵌入在裝置中的秘密資訊。所發送的消息包括公開金鑰,並且嵌入的秘密資訊包括不與嵌入的秘密資訊的任何特定請求者相關的隨機資訊。該方法還包括:回應於所發送的消息接收加密秘密,並從加密秘密恢復嵌入的秘密。
雖然本說明書包含了很多細節,但這些不應被解釋為對任何發明範圍或權利要求內容的限制,而是作為具體到特定發明的特定實施方式的功能描述。本說明書中在不同實施方式的背景下描述的一些功能也可在單個實施方式中組合實施。相反,在單個實施方式的背景下描述的各種特徵也可分別在多個實施方式中或以任意合適的子組合來實現。此外,儘管上文可能將特徵描述為以某些組合的方式操作,甚至最初聲稱如此,但來自所聲稱的組合的一個或多個特徵可在某些情況下從組合中省略,且所聲稱的組合可被指定為子組合或子組合的變形。
102‧‧‧裝置製造設施
104a~104c‧‧‧裝置
106a~106i‧‧‧請求者
700‧‧‧裝置
702‧‧‧記憶體單元
704‧‧‧處理器
706‧‧‧通訊單元
708‧‧‧通訊鏈路
圖1為示例性系統的框圖,該系統中可實施各種示例性實施方式。
圖2顯示一組操作,可執行這些操作以用於根據示例性實施方式在裝置中嵌入亂數。
圖3顯示一組操作,可執行這些操作以用於根據示例性實施方式安全地提供與裝置相關的秘密資訊。
圖4顯示一組操作,可執行這些操作以用於根據另一示例性實施方式安全地提供與裝置相關的秘密資訊。
圖5顯示一組操作,可執行這些操作以用於根據另一示例性實施方式安全地提供與裝置相關的秘密資訊。
圖6顯示一組操作,可執行這些操作以用於根據另一示例性實施方式安全地提供與裝置相關的秘密資訊。
圖7為示例性裝置的框圖,該裝置可包納所公開的示例性實施方式。
102‧‧‧裝置製造設施
104a~104c‧‧‧裝置
106a~106i‧‧‧請求者

Claims (6)

  1. 一種加密方法,用於一裝置,用以安全地輸出金鑰資訊至一請求者,包括:從所述裝置的金鑰資訊的第一請求者接收一消息,其中所述消息包括與所述第一請求者相關的公開金鑰,與所述公開金鑰之一數位簽章,所述數位簽章與所述第一請求者相關且係利用與所述裝置相關之一公開金鑰產生;判斷所述請求的金鑰資訊是否已預先輸出至所述第一請求者;若所述請求的金鑰資訊未預先輸出至所述第一請求者:利用所述裝置之一秘密資訊產生所述金鑰資訊;以及輸出所述金鑰資訊至所述第一請求者。
  2. 如申請專利範圍第1項所述之方法,進一步包括:利用所述裝置之所述金鑰驗證所述數位簽章,其中所述第一加密秘密只在接收到的簽章驗證成功時產生。
  3. 如申請專利範圍第1項所述之方法,其中所述金鑰資訊係利用所述接收到的公開金鑰藉由加密所述秘密資訊所產生。
  4. 如申請專利範圍第1項所述之方法,其中所述裝置進一步包括一裝置標識;以及所述裝置標識與所述金鑰資訊一起被提供給所述第一請求者。
  5. 如申請專利範圍第1項所述之方法,其中所述消息進一步包括表示所述第一請求者的標識;以及 所述金鑰資訊係利用所述秘密資訊藉由加密所述第一請求者之標識所產生,,然後使用所接收到的公開金鑰對所述第一請求者之標識之加密結果進行加密。
  6. 一種加密方法,用於以一加密裝置安全地輸出金鑰資訊至一請求者,該加密裝置包括一裝置與一記憶體,該加密方法包括:從所述裝置的金鑰資訊的第一請求者接收一消息,其中所述消息包括與所述第一請求者相關的公開金鑰,與所述公開金鑰之一數位簽章,所述數位簽章與所述第一請求者相關且係利用與所述裝置相關之一公開金鑰產生;判斷所述請求的金鑰資訊是否已預先輸出至所述第一請求者;若所述請求的金鑰資訊未預先輸出至所述第一請求者:利用所述裝置之一秘密資訊產生所述金鑰資訊;以及輸出所述金鑰資訊至所述第一請求者;以及儲存所述裝置之所述秘密資訊與一私密金鑰。
TW101121535A 2011-06-24 2012-06-15 產生安全裝置秘密金鑰的方法 TWI477134B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/168,911 US8600061B2 (en) 2011-06-24 2011-06-24 Generating secure device secret key

Publications (2)

Publication Number Publication Date
TW201301835A TW201301835A (zh) 2013-01-01
TWI477134B true TWI477134B (zh) 2015-03-11

Family

ID=46785195

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101121535A TWI477134B (zh) 2011-06-24 2012-06-15 產生安全裝置秘密金鑰的方法

Country Status (5)

Country Link
US (2) US8600061B2 (zh)
EP (1) EP2538366B1 (zh)
CN (1) CN102843232B (zh)
HK (1) HK1178341A1 (zh)
TW (1) TWI477134B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600061B2 (en) 2011-06-24 2013-12-03 Broadcom Corporation Generating secure device secret key
CN103413097B (zh) * 2013-07-15 2017-02-15 北京华大信安科技有限公司 加密方法、装置及安全芯片
TWI479359B (zh) * 2013-08-01 2015-04-01 Phison Electronics Corp 指令執行方法、記憶體控制器與記憶體儲存裝置
US9397828B1 (en) 2014-05-13 2016-07-19 Google Inc. Embedding keys in hardware
WO2016112338A1 (en) * 2015-01-08 2016-07-14 Intertrust Technologies Corporation Cryptographic systems and methods
DE102015212657A1 (de) * 2015-07-07 2017-01-12 Siemens Aktiengesellschaft Bereitstellen eines gerätespezifischen kryptographischen Schlüssels aus einem systemübergreifenden Schlüssel für ein Gerät
CN108400867B (zh) * 2017-02-07 2021-03-05 中国科学院沈阳计算技术研究所有限公司 一种基于公钥加密体制的认证方法
US10554641B2 (en) * 2017-02-27 2020-02-04 International Business Machines Corporation Second factor authorization via a hardware token device
DE102019112583A1 (de) * 2019-05-14 2020-11-19 Infineon Technologies Ag Integrierte elektronische schaltung
CN111181841B (zh) * 2019-12-29 2022-07-08 航天信息股份有限公司 电子邮件收发方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW480864B (en) * 1999-05-21 2002-03-21 Ibm Method and apparatus for efficiently initializing secure communications among wireless devices
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
US20090106551A1 (en) * 2006-04-25 2009-04-23 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
US20090254750A1 (en) * 2008-02-22 2009-10-08 Security First Corporation Systems and methods for secure workgroup management and communication
US20090274303A1 (en) * 2004-02-23 2009-11-05 Nicolas Popp Token provisioning
US20100027790A1 (en) * 2007-12-20 2010-02-04 Balaji Vembu Methods for authenticating a hardware device and providing a secure channel to deliver data

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151676A (en) * 1997-12-24 2000-11-21 Philips Electronics North America Corporation Administration and utilization of secret fresh random numbers in a networked environment
US6980660B1 (en) * 1999-05-21 2005-12-27 International Business Machines Corporation Method and apparatus for efficiently initializing mobile wireless devices
US20020021804A1 (en) * 2000-02-18 2002-02-21 Ledzius Robert C. System and method for data encryption
WO2002013444A2 (en) * 2000-08-04 2002-02-14 First Data Corporation Trusted authentication digital signature (tads) system
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US20050152543A1 (en) * 2003-11-04 2005-07-14 Toshihiro Shima Printer and print system
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
KR100635280B1 (ko) * 2005-04-27 2006-10-19 삼성전자주식회사 전자 서명을 이용한 보안 방법
US7690026B2 (en) * 2005-08-22 2010-03-30 Microsoft Corporation Distributed single sign-on service
US20080072066A1 (en) * 2006-08-21 2008-03-20 Motorola, Inc. Method and apparatus for authenticating applications to secure services
JP4256415B2 (ja) * 2006-09-04 2009-04-22 株式会社日立製作所 暗号化装置、復号装置、情報システム、暗号化方法、復号方法及びプログラム
EP2202913B1 (en) * 2007-10-19 2012-12-05 Nippon Telegraph and Telephone Corporation User authentication and method for the same
US9998288B2 (en) * 2010-02-26 2018-06-12 International Business Machines Corporation Management of secret data items used for server authentication
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
US8600061B2 (en) 2011-06-24 2013-12-03 Broadcom Corporation Generating secure device secret key

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868495B1 (en) * 1996-09-12 2005-03-15 Open Security Solutions, Llc One-time pad Encryption key Distribution
TW480864B (en) * 1999-05-21 2002-03-21 Ibm Method and apparatus for efficiently initializing secure communications among wireless devices
US20090274303A1 (en) * 2004-02-23 2009-11-05 Nicolas Popp Token provisioning
US20090106551A1 (en) * 2006-04-25 2009-04-23 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
US20100027790A1 (en) * 2007-12-20 2010-02-04 Balaji Vembu Methods for authenticating a hardware device and providing a secure channel to deliver data
US20090254750A1 (en) * 2008-02-22 2009-10-08 Security First Corporation Systems and methods for secure workgroup management and communication

Also Published As

Publication number Publication date
EP2538366A3 (en) 2014-04-02
TW201301835A (zh) 2013-01-01
CN102843232B (zh) 2016-06-22
HK1178341A1 (zh) 2013-09-06
US8600061B2 (en) 2013-12-03
CN102843232A (zh) 2012-12-26
US20140090078A1 (en) 2014-03-27
US9165148B2 (en) 2015-10-20
EP2538366B1 (en) 2020-05-27
EP2538366A2 (en) 2012-12-26
US20120328106A1 (en) 2012-12-27

Similar Documents

Publication Publication Date Title
TWI477134B (zh) 產生安全裝置秘密金鑰的方法
RU2718689C2 (ru) Управление конфиденциальной связью
US9847880B2 (en) Techniques for ensuring authentication and integrity of communications
US10110380B2 (en) Secure dynamic on chip key programming
JP6509197B2 (ja) セキュリティパラメータに基づくワーキングセキュリティキーの生成
US20170126414A1 (en) Database-less authentication with physically unclonable functions
AU2014310396B2 (en) Enabling access to data
US8181869B2 (en) Method for customizing customer identifier
US10230532B2 (en) Entity authentication in network
EP3455763B1 (en) Digital rights management for anonymous digital content sharing
JP2009194640A (ja) コンテンツ転送方法
CN101043334B (zh) 加密和认证数据以及解密和验证数据真实性的方法和装置
CN113114458A (zh) 加密证书生成、解密方法及装置、加密证书系统
CN116599771B (zh) 数据分级保护传输方法及装置、存储介质和终端
US20230376574A1 (en) Information processing device and method, and information processing system
JP2018037877A (ja) ワンタイム認証用icカード
JP2016019120A (ja) 復号装置、通信システム、復号方法、および、プログラム