TWI507006B - 在一次往返中的金鑰認證 - Google Patents

在一次往返中的金鑰認證 Download PDF

Info

Publication number
TWI507006B
TWI507006B TW099132367A TW99132367A TWI507006B TW I507006 B TWI507006 B TW I507006B TW 099132367 A TW099132367 A TW 099132367A TW 99132367 A TW99132367 A TW 99132367A TW I507006 B TWI507006 B TW I507006B
Authority
TW
Taiwan
Prior art keywords
key
authentication
tpm
identity
signature
Prior art date
Application number
TW099132367A
Other languages
English (en)
Other versions
TW201121281A (en
Inventor
Stefan Thom
Scott D Anderson
Erik L Holt
Original Assignee
Microsoft Technology Licensing Llc
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 Microsoft Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of TW201121281A publication Critical patent/TW201121281A/zh
Application granted granted Critical
Publication of TWI507006B publication Critical patent/TWI507006B/zh

Links

Classifications

    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/72Protecting 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 in cryptographic circuits
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

在一次往返中的金鑰認證
本發明係關於在一次往返(one round-trip)中的金鑰認證。
密碼金鑰的使用牽涉信任。當A使用B的金鑰加密資料,A期望僅有B能夠解密該資料。而當A驗證使用B的金鑰所產生的簽章,A期望一有效簽章的存在以代表B實際地簽署該資料,而該簽章係由該資料計算出。然而,當A使用B的金鑰時,對A而言想知道A可如何確認B的金鑰真的屬於B,及可如何確認B的金鑰未被破解係合法的。
在金鑰中的信任一般係透過憑證所建立的。當一實體產生一金鑰時,該實體提交該金鑰至一機構(authority)以供認證。該機構決定該金鑰及其擁有者符合該機構用於認證的標準。若為如此,該機構發出該金鑰的認證,其包含由該機構簽署的金鑰。機構為其所服務的社群所知之實體,及為該社群信任以認證其它實體之金鑰的實體。若一經識別的機構認證一金鑰,則信任該機構的社群將信任該認證的金鑰。舉例而言,瀏覽器週期性地接收機構的更新清單,及該瀏覽器將信任由在清單的機構所發出的憑證。一組織(例如一公司)可具有一認證機構(certificate authority),其由在該組織內的機器識別和信任。
一可信賴平台模組(TPM)係可用於提供機器的各種形式安全的硬體。TPM能進行的一項任務為維持一金鑰週圍的硬體安全,藉此提供確保金鑰將不被誤用的一高度措施。在一些情況中,一認證機構將僅認證結合於(bound to)一特定TPM的一金鑰,因為此結合確保該金鑰將僅能使用於包含此特定TPM的機器上。因此,為了認證此一金鑰,該認證機構需驗證該金鑰實際地結合於在一特定機器上的TPM,及不可移動至其它機器。一般性地,認證此一金鑰的過程牽涉到在認證機構和請求認證該金鑰的客戶之間數次往返的交換。當一客戶欲認證由該用戶的TPM所保護的一新的非移動之金鑰,該客戶請求TPM產生用於該新的金鑰且稱為認證身份金鑰(Attestation Identity Key(AIK))的一金鑰。該客戶而後要求該認證機構以認證AIK,而該認證機構在驗證AIK實際為在該客戶的機器上之TPM所產生的之後進行此項任務。接著該客戶要求TPM使用AIK簽署該新的新鑰,TPM在若該金鑰係不可移動時才將進行此項任務。該客戶則提交該新的金鑰和AIK產生(AIK-generated)的簽章至該認證機構。該認證機構信任TPM,及已認證AIK屬於TPM。然而,該認證機構將基於TPM使用AIK簽署此金鑰,將信任該金鑰係不可移動的,所以認證機構將發出該新的金鑰之一認證。
然而,此程序的問題係牽涉在該客戶和認證機構之間的多次往返:在一次行程認證AIK,及在其它次行程中認證該客戶正嘗試著認證的新的金鑰。
一非移動之金鑰可在認證機構和正請求該金鑰的客戶之間的一次往返中被認證。在一具有TPM的機器上,一客戶要求TPM產生一新的非移動式金鑰(例如一RSA金鑰對)。TPM則產生該金鑰和提供該新的金鑰的公眾部份至該客戶。而該客戶產生該新的金鑰之一認證請求,及要求TPM產生結合於該認證請求的一摘要(digest)之認證身份金鑰(AIK)。TPM產生AIK,及傳回包含AIK的公眾部份的身份結合(identity binding)、摘要、及藉由AIK的公眾部份和摘要二者取得之一簽章。該客戶則要求TPM使用AIK簽署該新的金鑰之該公眾部份,以作為該新的金鑰係非移動的一指示。TPM簽署該新的金鑰之公眾部份,及傳回包含該新的金鑰、TPM之該新的金鑰係不可移動的陳述、和使用AIK的私密部份所產生之一簽章的一金鑰認證結構。該客戶則傳送下列各者至該認證機構:該認證請求、該身份結合、該金鑰認證結構、及TPM的認證密鑰(endorsement key)之公眾金鑰憑證(該認證金鑰係每一TPM所擁有且識別一特定的TPM的金鑰)。
當該認證機構從該客戶接收此些項目,其檢查TPM的認證金鑰之公眾金鑰憑證以驗證:關聯於此認證金鑰的TPM係認證機構所知和信任的TPM。該認證機構則檢查該憑證以恢復客戶要求認證的新的金鑰。而該認證機構驗證在身份結合上的簽章、計算認證請求的摘要、及比較所計算出的摘要與包含於該身份結合的摘要以確認二個摘要匹配。若摘要匹配時,及若在身份結合的簽章係有效的,這些事實證明了在身份結合中提及的AIK係特定地針對該認證機構已接收的認證請求而產生的。假設摘要匹配和在身份結合上的簽章可正確地驗證,該認證機構檢查金鑰認證結構、及驗證在此結構上的簽章。該金鑰認證結構代表包含於該結構的新金鑰係不可移動之一陳述,其係由擁有AIK的私密部份之該方所作出。因此,若該金鑰認證結構涉及在該認證請求中的相同金鑰,及若驗證該簽章時,則該認證機構知道:擁有AIK的私密部份之該方已說出該金鑰係不可移動的。
就此而言,該認證機構產生該新的金鑰之一憑證,及簽署該憑證。而是,並非在該憑證中包含一乾淨簽章,該認證機構產生一對稱金鑰及使用該對稱金鑰加密該簽章。該認證機構則使用其接收的公眾認證金鑰連同該認證請求以加密該對稱金鑰,及將該憑證(具有由該對稱金鑰加密的簽章)連同由TPM的公眾認證金鑰加密的對稱金鑰傳送至該客戶。當該認證機構接收了TPM的認證金鑰之公眾金鑰憑證,其決定本身信任與此認證金鑰相關聯的特定TPM。只要TPM出現於該客戶所執行的機器上(與具有一不同的認證金鑰的一些其它TPM相反),該客戶將能夠藉由首先要求TPM使用其認證金鑰以解密該對稱金鑰,以解密在該憑證中的簽章,而後使用該對稱金鑰以解密該簽章。當該客戶用乾淨的簽章取代加密的簽章時,該憑證將變為可使用的。若一不同的TPM存在於該客戶處(例如不被該認證機構信任的TPM),則TPM將不能夠解密該對稱金鑰,因為它將不具有該對稱金鑰針對其而被加密的認證金鑰。在此情況中,該客戶不能夠解密該簽章,而該認證不能夠使用。
提供此發明內容以進一步描述於後面實施方式的簡單形式作一選擇性概念的介紹。此發明內容無意欲於識別本發明內容的關鍵特徵或必要特徵,且無意於被使用以限制本發明內容的範疇。
密碼金鑰常用於在電腦安全中的各種應用,例如加密和數位簽章。加密係使用一加密金鑰加密一訊息的過程,以使得僅擁有解密金鑰的該方(其可相同或不相同於加密金鑰)可解密該訊息。數位簽章係一實體(該簽署者)藉此作出關於一筆資料的斷定(assertion)的一程序,及其中該簽章提供加密強度確保:該斷定實際地由擁有該金鑰的實體所作出。
該加密和數位簽章程序兩者牽涉參與此些程序的多方之間的隠含信任關係。舉例而言,當A使用B的金鑰加密資料,A隠含地信任:(a)A所信任確實是B的金鑰真實地是B的金鑰,及(b)使用B的金鑰以加密資料和透過一不安全的通道傳送該加密資料將不使得該加密的資料以一些不被A所接受的方式使用。舉例而言,關於項目(a),A已接收來自一不可靠來源的B之金鑰,故A所相信屬於B的金鑰實際上係一闖入者的金鑰。或者,關於項目(b),該金鑰真實地為B的金鑰,而B可使用該金鑰的安全已被入侵的此寬鬆安全測量,藉此允許闖入者解密已使用B的金鑰加密的訊息。類似地,當A接收據稱係由B簽署的訊息(例如“Fact F is true,signed B”),若A信賴此訊息,則A隠含地相信該訊息係由B所簽署(例如A真實地知道何者金鑰係B的,及B的金鑰未被破解)。此外,A亦相信B尚未簽署該訊息“Fact F is true”(除非B己驗證過),直到某種程度的確定性,才相信事實F實際為真。
當使用金鑰時,在金鑰中的信任一般係藉由使得一機構驗證該金鑰的可信度來建立。此驗證係以一憑證的形式表示,藉此該機構簽署該金鑰作為該機構已發現被該金鑰係可信任之一指示。當然,在機構的簽章之信賴牽涉前述相同形式的信賴,而認證機構係一般性地為可建立信任的相關社群所熟知,或牽涉返回到熟知機構的短信任鏈(short trust chain)。因此,若一實體欲使用一金鑰以用於簽章和加密,該實體典型地呈現該金鑰至一適當的認證機構和請求該機構簽署該金鑰。該機構採取其認為適於決定該金鑰係足夠信賴的任何措施。舉例而言,該機構可決定請求實體使用何種安全措施來保護該金鑰(例如該實體是否使用硬體或軟體保護)。該機構可詢問該請求實體將使用何種策略決定何者可使用該金鑰來簽署。或者,該機構僅將能驗證用於特定類型實體的金鑰(例如該機構可為公司或其它企業的認證機構,或僅能驗證由在該企業的機器所使用的金鑰)。若該機構決定其可驗證該金鑰,它發出包含該金鑰和該機構的簽章之一憑證。一X.509憑證係此一憑證的一實例。
一機器可用於確保其金鑰的可信度之一種方法係使用結合於該機器的一可信賴平台模組(TPM)。TPM係執行其主機的特定加密功能的晶片。該主機可利用此些加密功能以提供大量的安全服務。舉例而言,TPM可加封(seal)資料至一特定的機器執行狀態,以使得當該機器係處於一已知、安全的狀態時該資料僅能提供至該機器。此技術常使用於保護在該主機的加密金鑰。使用此技術時,該主機使用TPM以加封一金鑰,及僅該加封的金鑰儲存於該機器的硬碟上。當該主機欲使用該金鑰時,該主機要求TPM對該金鑰解除加封(unseal),若該機器處於該金鑰已被加封的執行狀態中,TPM將僅能如此進行。此執行狀態(其典型地由平台組態暫存器(Platform Configuration Register,或“PCRs”)的特定數值表示)已先前地被驗證為能提供不誤用該金鑰的足夠保證的安全狀態。TPM可提供一金鑰的安全之另一方法係產生一金鑰對,及僅提供該金鑰對的公眾部份至該主機,以使得所有的私密金鑰操作牽涉該金鑰對可於TPM內部執行。TPM可提供關於此一金鑰的各種保證。舉例而言,TPM可確保未離開TPM的一金鑰係一不可移動的金鑰(例如該金鑰不可使用於除了利用已加封該金鑰的特定TPM之平台外的任何平台)。
因為一不可移動的金鑰係由TPM所保護,該金鑰係相當可靠的,就意義而言,其不可能由闖入者盜用,及不可能由在主平台上的惡意程式所誤用。為了建立此信任至相關社群的成員,該主平台可呈現該不可移動的金鑰至一機構,及請求該機構認證該金鑰為信任的一指示。然而,在獲得此認證會產生一問題。特定地,在發出針對此一金鑰的憑證之前,該認證機構必須確認:呈現用於簽章的金鑰實際地由TPM保護。舉例而言,該主機構可宣稱擁有一不可移動的金鑰。然而,在認證該金鑰為不可移動之前,該認證機構將堅持TPM聲稱該金鑰係不可移動的,而非僅是該主機如此宣稱。
陳述(例如「此金鑰係不可移動的(“this key is non-migratable”)」)一般係由一信任的實體之簽署陳述所建立的。TPM具有稱為「認證金鑰(endorsement key)」的一金鑰對(其意指為“EK”,及其公眾和私密部份個別地意指為“EK-public”及“EK-private”)。一既定TPM的認證金鑰將此TPM與其它TPM作區別。TPM的公眾EK為信任此特定TPM的認證機構所知。舉例而言,公司可操作一伺服器作為一認證機構,及此伺服器可知道用於該公司擁有的所有膝上型電腦的EK。因此,若該主平台產生由TPM加封的一金鑰,理論上TPM可使用EK簽署該金鑰以作為TPM相信該金鑰係安全的一指示。因為該認證機構知道其所知和信任的此些TPM之公眾EK,該認證機構可使用該簽章以驗證:一信任的TPM已認證該金鑰係不可移動的,及該認證機構於此基礎上發出該金鑰的一憑證。然而,實際上,TPM具有避免使用EK簽署任意資料的策略。因此,TPM典型地使用EK以產生其它金鑰,及TPM使用此些其它金鑰以簽署資料。此一「其它金鑰(“other key”)」的一實例係一認證身份金鑰(AIK),其中TPM可使用該認證身份金鑰以簽署其它金鑰。
典型地,AIK可使用於以下列方式獲得一金鑰的一憑證。在主平台上的軟體要求TPM產生一新的金鑰對,其中該軟體接收該公眾部份。該軟體而後要求TPM產生結合於該新的金鑰之公眾部份的一AIK,及而後請求:該認證機構(“CA”)簽署AIK的公眾部份(例如“AIK-public”)。在此程序期間,CA驗證:此請求確實來自其所信任的TPM。舉例而言,CA可藉由使用一nonce來驗證在其本身和TPM之間的通訊通道之安全。CA所確信者為簽署AIK的請求係來自CA所信任的TPM,CA簽署AIK-public及傳回該憑證至該主平台。該主平台則產生一新的金鑰,及請求:TPM使用AIK的私密部份(“AIK-private”)以簽署該新的金鑰。使用AIK以簽署一新的金鑰可代表TPM作出關於該新的金鑰之一些陳述-例如使用AIK簽署一新的金鑰可指示:TPM聲稱該新的金鑰係不可移動的。該主平台而將下列各者呈現至CA:該新的金鑰、該簽章、及CA的AIK憑證、及CA簽署該新的金鑰之一請求。CA使用AIK-public以驗證在該新的金鑰上的該簽章,及使用AIK-public的憑證以驗證:在AIK中的信任已先前建立。CA而後發出新的憑證及將它傳回該主平台。
前述程序所引起的問題為其使用多次往返至CA:一次用以認證AIK,其它次則用以認證TPM己使用AIK簽署的該金鑰。
在此描述的本發明內容允許TPM的主平台以請求:CA在一次往返中認證TPM保護(TPM-protected)金鑰。在此描述的技術避免使用分別的往返來認證AIK。而是,在該主平台的客戶要求TPM產生一新的不可移動之金鑰,及要求CA無需首先確認CA信任AIK而認證該新的金鑰。CA藉由認證該金鑰來回應,其係以視該主平台具有CA信任的TPM而定,後續地使用該憑證的方式。為了要執行此程序,該客戶要求TPM產生該客戶想要認證的新的金鑰。該客戶則產生一認證請求(certificate request)-例如使得CA簽署該新的金鑰之一請求。在實際地傳送該請求至CA之前,該客戶要求TPM產生結合於該認證請求的AIK。TPM藉由產生一身份結合來回應,其包含AIK的公眾部份、該認證請求的一摘要、和一簽章。而後該客戶要求TPM簽署該新的金鑰。TPM藉由產生一金鑰認證結構來回應,其包含被認證的金鑰、關於該金鑰的陳述(例如「該金鑰係不可移動的(This key is non-migratable)」)、及使用AIK-private所產生的一簽章。該客戶則將該認證請求、該身份結合、該金鑰認證結構、及TPM的EK-public之一憑證傳送至CA。
CA而後檢查EK-public之該憑證以確保其屬於CA所信任的TPM。CA接著為認證請求作摘要、將此摘要和包含於該身份結合中的摘要作比較、及驗證在該身份結合上的該簽章。假設摘要匹配及驗證了簽章,此些事實證明:針對CA所接收的認證請求產生了AIK。接著,CA從該認證請求中回復被認證的金鑰,及將其與在金鑰認證結構中所識別的該金鑰作比較,以確保該金鑰認證結構係關於在該認證請求中指定的該金鑰。CA而後檢查在該金鑰認證結構中所作出的陳述,以確保關於該金鑰的陳述與CA的憑證發出策略相一致(例如若CA的策略要求僅認證不可移動的金鑰,則CA驗證了該陳述認證該金鑰的不可移動性)。CA則驗證在該金鑰認證結構的該簽章,以確保包含於此結構中的陳述係由AIK-private的持有者作出。假設所有前述驗證依序進行,此時,CA知道AIK的持有者正聲稱該新的金鑰係不可移動的,及正請求此金鑰的一憑證。
CA並不知AIK是否關聯於與EK-public相關的信賴的TPM。因此,CA發出一條件性的憑證至該客戶。該憑證係條件性的,就意義而言,僅若持有EK-private(CA所信任者)的TPM將驗證AIK係由TPM發出,該憑證才可被使用。為了使該憑證係有條件性的,並非無阻礙地(in the clear)簽署該憑證,CA產生一對稱金鑰和使用該對稱金鑰加密該憑證的簽章。如此,CA提供包含該加密簽章的一憑證至該客戶,及提供由EK-public加密的該對稱金鑰。若使用於認證請求的AIK實際地由持有Ek之信賴的TPM所產生,則此客戶將能夠要求TPM以使用EK-private以解密該對稱金鑰,其可依次地使用以解密在該憑證上的簽章。另外-若CA提供該憑證至不具有由EK-public所識別之信賴的TPM的一機器上之一客戶,則該客戶將不能夠解密該簽章,及將不能夠使用該憑證。以此方式,CA將驗證一特定AIK的可信任度的任務委託予一信賴的TPM,藉此避免使用在認證機構和該客戶間分別的往返來認證AIK。
現在回到圖式,第1圖顯示當一客戶請求一認證機構認證一新的金鑰時可被使用的各種元件,及在此些元件之間的實例互動。在圖式、及在後續的描述中,該客戶請求以認證的金鑰意指為「新的金鑰(new key)」。在一實例中,此金鑰係Rivest-Shamir-Adelman(RSA)金鑰的公眾部份,該客戶將使用該Rivest-Shamir-Adelman金鑰作為程序的部份以簽署資料。因此,在一典型的情況中,該客戶產生一新的RSA簽署金鑰,及尋求以使該金鑰由CA認證,以使得該簽署金鑰由其它實體信任。然而,在此所描述的技術並不限於簽署金鑰、或RSA金鑰的認證。一般而言,在此的技術可適用於無論何時一客戶產生一金鑰及尋求以使其由CA認證。因此,該客戶將尋求以被認證的金鑰在此將意指為該「新的金鑰(new key)」。在此所描述的技術牽涉各種金鑰的使用,及此些金鑰將藉由適當的標籤及/或修正者在內文和圖式中被區別出來。
機器102係提供一些計算能力的一機器,例如一個人電腦、一手持電腦、一機上盒等等。機器102配備有TPM 104。TPM 104係提供各種安全服務予TPM 104所位於的機器102之一元件。TPM 104具有一認證密鑰(EK)106,其為個別地具有個別的公眾部份和私密部份108和110的一非對稱金鑰(在此意指為“EK-public”及“EK-private”)。每個TPM 104具有其自己的而不與其它TPM共享的EK。EK 106的一態樣為:EK-private不顯露於TPM 104的外部。TPM 104顯露機器102可使用以請求TPM 104利用EK-private解密一筆資料之一界面,以使得TPM 104可解密機器102的資料,而無須顯露EK-private的真實值。TPM 104亦提供各種其它的安全功能。舉例而言,TPM維持有一組暫存器(平台組態暫存器(Platform Configuration Register,或PCRs),其記錄該機器的目前執行狀態的一測量,及TPM 104允許機器102加封數筆資料至一特定的機器狀態。以此方式,機器102可持有一筆僅有TPM 104可解除加封的加封資料,及TPM 104可藉由拒絶解除加封該資料來保護此資料,除非機器102目前處於一已知的「安全」狀態。由TPM 104所提供的另一特徵係可用於儲存金鑰的TPM 104內部的小數量的記憶體。因此,TPM 104可產生金鑰對和在其自己的記憶體中持有該金鑰的私密部份,以使得該私密部份並不顯露於機器102的非安全部份(例如在TPM 104外部之機器102的此些部份)。就此意義而言,其私密金鑰保持於TPM 104內部的一金鑰對係一不可移動的金鑰:它不可移動至其它機器,因為它並不顯露於一特定機器的TPM的外部。
客戶112係欲針對某些目標產生一新的金鑰之一軟體元件(例如簽署或加密)。客戶112可為一應用程式、一作業系統的一元件、或在機器102上執行任何其它類型的軟體元件。當客戶112決定產生一新的金鑰,客戶112發出TPM 104產生該金鑰的一請求114。TPM 104產生該請求的金鑰及傳回可用以識別該金鑰的一金鑰控點(key handle)116。典型地,請求114係用以產生一非對稱金鑰對之一請求,例如一RSA金鑰對,其中金鑰控點116包含該新的金鑰之公眾部份(該私密部份僅保持於TPM 104的內部)。在此實例中,該RSA金鑰對的公眾部份係該客戶尋求以認證的該「新的金鑰(new key)」(技術上,它為用於簽署資料的私密金鑰,及該公眾金鑰係由其它方使用以驗證該簽章。因為期望有人以後將驗證此簽章而簽署資料,為了達到在此之目的,該公眾金鑰可被視為簽署資料之「程序的部份(part of the process)」)。
為了要認證該新的金鑰,客戶112產生一認證請求118,其為請求一認證構構認證一金鑰的一形式資料結構。在此情況下,客戶112並未傳送認證請求118至一認證機構。在如此進行之前,客戶112排置以具有由TPM產生的各種資料以連同該認證請求而傳送。於下文中描述各種資料。
首先,客戶112發出一認證身份金鑰(Attestation identity key,AIK)的一請求119至TPM 104。TPM 104顯露產生結合於任意的資料的AIK之一函數。舉例而言,TPM 104可顯露例如為“CreateAIK(blob)”的一函數,其以加密地結合於“blob”的方式傳回一AIK(其中“blob”係任意的資料)。特定地,當客戶112發出請求“CreateAIK(“blob”),TPM 104傳回具有下列形式的資料:
AIK-Public∣blob∣sig-AIK-Private(AIK-Public∣blob)
(就符號而言,垂直線符號“∣”意指為連結(concatenation)。此外,在全文的說明中符號“sig-<key-pair>-Private(<data>)”意指藉由使用<key pair>的私密部份透過<data>產生的一簽章)。當客戶112從TPM 104請求AIK,客戶請求AIK所結合於的“blob”係認證請求118的一摘要。由AIK-產生函數傳回的資料意指為身份結合120,及身份結合120的一實例係顯示於第6圖。特定地,身份結合120包含AIK-Public 602、認證請求的一摘要604、及透過AIK-Public 602和摘要604取得的一簽章606,其中簽章606係使用AIK-private產生。因此,客戶112從TPM 104接收的身份結合120係:
AIK-Public∣digest∣sig-AIK-Private(AIK-Public∣digest)
該身份結合所做的係將AIK結合至一特定認證請求(藉由此請求之摘要的方式)。實際上,簽章意指為AIK-private(其為TPM 104)的持有者聲稱:「摘要」係針對其而產生AIK的資料。具有身份結合120的任何方可使用AIK-public以驗證該簽章。
回到第1圖,客戶112接著發出一請求122至TPM 104,以使用AIK簽署該新的金鑰。當TPM 104使用AIK簽署一金鑰,TPM 104傳回指示可用於該金鑰的安全特徵之一結構。舉例而言,如前文所述,客戶112尋求以由CA認證的該新的金鑰係由TPM所產生。在該新的金鑰係一金鑰對的實例中,TPM 104持有在TPM 104內部的私密部份,而不顯露在TPM 104外部的私密部份。就意義而言,該新的金鑰係不可移動的,因為其私密部份不能使用於除了包含TPM 104的特定機器(例如機器102)的任何機器上。因此,當TPM 104使用AIK簽署一金鑰,其傳回實際上包含下列資訊的一結構:
statement∣new key∣sig-AIK-Private(statement∣new key)
其中陳述(“statement”)係關於該新的金鑰之一陳述。舉例而言,陳述實際上可說:「簽署的金鑰係一不可移動的金鑰(“The key that is being signed is a non-migratable key”)。」(以英文句子的形式所寫出的一陳述之實例僅用於說明。典型地,可使用代碼作出陳述。或者,若TPM具有拒絶簽署一金鑰的一已知策略,除非該金鑰符合一特定的安全標準,則就TPM簽署該金鑰的事實該陳述可為隠含性的(implicit)。此外,可注意到「不可移動性(“non-migratability”)」係一金鑰的特徵,及此實例係使用於在此的說明中。因此,該說明經常意指為具有不可移動的特徵的金鑰,或者用於簽署該金鑰係不可移動之陳述的AIK,或CA檢查該金鑰符合不可移動性的一策略。然而,不可移動性僅為此一特徵的一實例。一般而言,一金鑰可具有任何的特徵,包含於該金鑰認證結構的陳述可對任何此類特徵作認證,及CA可施行需要一金鑰具有任何零或更多特徵的集合之一策略。因此,當在此的描述意指為不可移動的金鑰,應可了解到該金鑰認證結構僅對該金鑰的一些特徵作認證,而無關於此特徵為何者,及CA如同下文所討論者可使用該金鑰認證結構以決定是否使用AIK-Private以認證CA之策略需要的任何特徵。)
因此,當TPM 104簽署該金鑰時,其產生一金鑰認證結構124,如顯示於第7圖的一實例。該實例金鑰認證結構124包含陳述702(其可如所示者明確地描述,或可隠含地描述)。金鑰認證結構124亦可包含被認證的新的金鑰704,和一簽章706,其可使用AIK-Private產生和透過該陳述和該新的金鑰計算出。金鑰認證結構124證實:任何實體控制AIK-Private說出:該新的金鑰係一不可移動的金鑰(或具有AIK-Private的持有者正認證的任何特徵)。擁有AIK-Public的任何實體(例如已接收前文所描述的身份結合的任何實體)可使用該簽章以證實該新的金鑰704和陳述702係由擁有AIK-Private的實體所簽署。
回到第1圖,認證機構(CA)126係客戶112欲要求以認證該新的金鑰之實體。客戶112現在已準備從CA 126請求一憑證。為了要請求CA 126認證該新的金鑰,客戶112傳送下列各者至CA 126:該憑證請求118、該身份結合120、該金鑰認證結構124、和EK 106的一憑證128(例如TPM 104的認證金鑰之公眾金鑰憑證,其包含EK-public)。此些項目係由CA 126接收。
在一實例中,CA 126係作用於請求以發出憑證的一伺服器。舉例而言,CA 126係在一公司(或其它企業)內部的伺服器,其藉由認證它們的金鑰以記錄在企業中的新機器。CA 126包含一發出元件130,其作出關於認證何者金鑰的決定。CA 126可包含信賴的TPM的一清單132(例如CA 126信任的此些TPM之EK-public的一清單)。CA 126亦可具有包含被准許和拒絕的認證請求的情況下之準則的一策略134。舉例而言,CA 126可具有僅認證不可移動的金鑰之一策略,或可具有一些其它的策略。此外,CA 126可具有一簽章驗證器136,其允許它驗證所接收的各種資料之加密簽章。此些元件可由發出元件130所使用。舉例而言,發出元件可使用簽章驗證器136以驗證在身份結合和金鑰認證結構上的簽章。發出元件130亦可使用信賴的TPM的清單132以決定其將為何者TPM認證金鑰。此外,發出元件130可使用策略134以決定:其是否將認證一特定金鑰,即使該認證請求來自一信賴的TPM(例如發出元件可信任TPM 104,但若TPM 104將不說出該新的金鑰係不可移動的,可將不認證TPM 104的一金鑰。)
當CA 126從客戶112處接收前文描述的項目,其進行下列動作。首先,CA 126檢查憑證128(其包含TPM 104的認證金鑰之公眾部份)以決定:CA 126知道和信賴客戶112正在其上執行的機器中之TPM。舉例而言,若TPM 104不為CA 126所知(其可藉由將憑證128和清單132作比較來決定),則CA 126將不認證在TPM 104所安裝的機器上之一金鑰。因此,若憑證128指示認證被尋求所針對的金鑰結合於一未知的TPM,CA 126可拒絶該認證請求。
假設CA 126知道和信任其公眾認證金鑰出現於憑證128中的TPM,CA 126則檢查認證請求118以恢復該客戶112請求以認證的該新的金鑰(因為此金鑰包含於認證請求中)。
接著,CA 126檢查身份結合120以找出該認證請求的摘要。CA 126則計算該認證請求的一摘要(使用相同的可使用以產生在身份結合120中的摘要之摘要演算法),及驗證在包含於身份結合中的摘要與CA 126計算出的摘要匹配。若該摘要匹配,則CA 126從身份結合120讀取AIK-Public,及使用AIK-Public以驗證在身份結合120上的簽章。將可回想起在其產生期間AIK結合於一特定資料。簽章的驗證證實:產生特定AIK所針對的資料係認證請求118的摘要。就該摘要程序係安全的程度,針對該摘要產生AIK的事實證實:AIK係針對認證請求118而產生的。可注意到:若該驗證程序已失敗(例如若AIK針對除了目前正作出的認證請求外之一些認證請求而產生),此事實顯示:該認證請求作為某些類型的重放攻擊之部份,及CA 126可拒絕該請求。
接著,CA檢查該金鑰認證結構以決定AIK-Private的持有者所作的關於包含於該安全請求中的該新的金鑰之何種陳述。CA 126使用AIK-Public以驗證在該金鑰認證結構上的簽章。若該簽章未進行驗證,則CA無法作出以下結論:AIK-Private的持有者已作出關於CA 126的任何特定陳述,所以CA 126拒絶該認證請求。假設該簽章已進行驗證,CA 126決定該新的金鑰的特性是否與CA 126的策略134相一致。舉例而言,若CA 126具有僅認證不可移動的金鑰之一策略,則其可堅持:該金鑰認證結構顯示AIK-Private的持有者說出:該金鑰係不可移動的。
到目前為止,該程序的描述已意指為「AIK-Private的持有者」,而無識別何者實體真實地持有該金鑰。AIK-Private實際為由TPM 104所持有,因為其為產生AIK的TPM 104。然而,此事實不被CA 126所知。CA 126知道TPM 104的認證金鑰之公眾部份,但CA 126無法推論出在一特定TPM和僅來自該認證金鑰的一特定AIK之間的關係。換言之,在該程序的這點上,CA 126知道一些實體已產生針對CA 126接收的特定認證請求之一AIK,及知道無論為何者的實體已作出關於被認證的金鑰的一陳述,其滿足CA 126的發出策略。但CA 126並不知該實體為何者。如前文所述,CA 126已檢查TPM 104的公眾認證金鑰,及決定TPM 104係值得信賴的,所以若控制AIK-Private的該實體係TPM 104,CA 126將同意該認證請求。但CA 126不知AIK-Private是否由TPM 104、或由一些其它實體所控制。如後文所描述,若控制AIK-Private的該實體真實地為TPM 104,CA 126以僅可被使用的一形式發出一條件性憑證。特定地,該憑證的形式使得:在使用該憑證之前,TPM 104須執行一些動作。特定而言,在該憑證上的該簽章可以一僅可由TPM執行的程序之結果解密的方式加密(例如由TPM解密該簽章,或由TPM解密之後用於解密該簽章的一金鑰)。
為了要發出根據一特定TPM的存在性之條件下的一憑證,CA產生該新的金鑰的一憑證(例如一X.509憑證),如所請求者。一憑證包含被認證的金鑰,及認證該金鑰的認證機構之該簽章。一般性地,該簽章乾淨地存在於該憑證中(例如未加密的)。然而,當CA 126產生該憑證,其產生一對稱金鑰,及使用該對稱金鑰加密該簽章。該加密的簽章置於該憑證中,而非一乾淨的簽章。CA 126則使用TPM 104的公眾認證金鑰加密該對稱金鑰(例如EK-public,其為CA 126在憑證128中所接收)。僅有EK-private的持有者(例如TPM 104)可解密用EK-public加密的資訊,所以僅有TPM 104將能夠恢復該對稱的金鑰。因此,CA 126傳送下列各者至客戶112:(a)具有一加密簽章的一憑證138,及(b)該加密的對稱金鑰140(藉由EK-public加密)。當客戶112接收該加密對稱的金鑰,其可要求TPM 104使用EK-public對它解密,藉此允許客戶112使用該對稱金鑰解密該簽章。客戶112可將乾淨的簽章取代在憑證138中的加密的簽章。憑證138顯示於第8圖。憑證138包含新的金鑰704、與其為sig-CA-Private(新的金鑰)的加密簽章802,其由該對稱的金鑰加密(“CA-Private”係CA 126的私密金鑰)。
可注意到若TPM 104已證實CA 126正認證的金鑰符合由CA 126施加的可運用的標準,CA 126僅欲發出一可使用的憑證(例如不可移動性),僅若TPM 104真實地為產生AIK的實體時,CA知道其為真。在理論上,AIK可藉由除了TPM 104的一些實體產生。在此情況中,CA 126將發出具有TPM 104可解密的一加密簽章之憑證138(因為該簽章係可使用一對稱金鑰加密,該對稱金鑰可使用TPM 104的私密認證金鑰回復)。然而,當CA 126傳送具有加密的簽章之憑證至TPM 104,CA 126信賴TPM 104不產生具有一乾淨的簽章之憑證,除非由該憑證138認證之新的金鑰真實地為TPM 104使用AIK簽署的金鑰。實際上,CA 126將此決定委託予TPM 104,CA 126可進行此項事務因為其已確認TPM 104為CA 126所信任的TPM。因此,在TPM 104接收具有一加密的簽章之憑證138後,TPM 104決定由憑證138認證的新的金鑰係TPM 104已使用AIK簽署的一金鑰。若為如此,則TPM 104解密該簽章及用一乾淨的簽章取代該加密的簽章。否則,TPM 104並未解密該簽章,藉此使得該憑證為不可使用的。無任何一方將信任一金鑰憑證,除非該方可驗證:該憑證係由該方信任的一適當機構簽署。若在憑證中的該簽章無法被解密,該憑證有效地維持為不可使用的,因為其不可被使用於建立與任何方的信任。
第2-5圖以流程圖的形式顯示作出認證一金鑰的請求及其相關作用步驟的實例程序。在回到第2-5圖的描述之前,可注意到描述了包含在此些圖式的流程圖,藉由實例方式,其參照顯示於第1圖的元件,雖然此程序可在任何系統進行,及不限於顯示於第1圖的情況。此外,在第2-5圖的每一流程圖顯示以一特定順序進行程序之各階段步驟的一實例,如藉由連接此些方塊的線所示,但顯示於此些圖式的各階段步驟可以任何順序、或是以任何組合或子組合來執行。
在202處,一客戶請求TPM產生一新的金鑰。如前文所提及者,該新的金鑰可例如為一RSA金鑰對,其可使用於任何例如為加密或簽署的任何密碼功能。在產生一RSA金鑰對的實例中,在流程圖中所指稱的「新的金鑰(“new key”)」(例如被認證的金鑰)係該金鑰對的公眾部份。
在204處,產生該新的金鑰的一認證請求。產生該請求的摘要(在206處),及該客戶則請求TPM產生結合於該摘要的一AIK(在208處)。TPM則產生AIK(在210處),及傳回一身份結合。如同前文所提及者,該身份結合包含AIK-Public、摘要、及透過AIK-Public和摘要所取得的一簽章(具有使用AIK-Private所產生的簽章)。
在212處,該客戶請求TPM使用AIK簽署該新的金鑰。TPM則傳回一金鑰認證結構(在214處),其包含(明確的或隠含的)關於該新的金鑰的陳述(例如「該金鑰係不可移動的」)、該新的金鑰本身、和透過該陳述和該新的金鑰取得的一簽章(具有使用AIK-Private所產生的簽章)。在216處,該客戶傳送下列各者至CA:(a)該認證請求;(b)該身份結合;(c)該金鑰認證結構;及(d)TPM的認證金鑰(EK-public)之公眾金鑰憑證。在218處,此些項目係由CA接收。
在220處,CA按照已知TPM的清單檢核EK-public。如果,基於EK-public,CA決定:關聯於EK-public的TPM不被CA所知或者已知為來自一不可靠的TPM(如在222處所決定者),則CA放棄此程序(在224處),而不發出一憑證。若EK-public來自一已知、信賴的TPM,則程序進行至226,其中CA讀取該認證請求以得到被要求以認證之該新的金鑰。
CA然而驗證在該身份結合上的簽章、從該結合中回復該摘要、及亦計算來自該認證請求的該摘要本身。若該身份結合並未匹配該認證請求(例如若包含於該認證請求的該摘要不同於CA從該認證請求中所計算出的該摘要,如在228處所決定者),則該程序放棄,及CA並不發出一憑證(在230處)。否則,該程序持續到232。
在232處,CA決定該金鑰認證結構是否證實:該新的金鑰滿足該適用的策略(例如不可移動性的一策略)。CA可例如藉由驗證在該金鑰認證結構上的該簽章作出此決定,及而後檢查該結構作出關於該金鑰的陳述。若該金鑰未能驗證,或若該陳述指示該金鑰並不滿足CA的認證一金鑰的策略,則該程序中止,而CA並不發出一憑證(在230處)。否則,該程序持續至232處,其中CA繼續進行以發出一憑證。
在236處,CA產生將可使用以加密該該憑證上的簽章之該對稱的金鑰。在238處,CA產生該新的金鑰之憑證。在240處,CA產生該憑證的簽章。在242處,CA使用該對稱金鑰加密該簽章,及在該憑證中包含該加密的簽章(並非一乾淨的簽章)。在244處,CA使用EK-public加密該對稱金鑰(該憑證被發出至該機器上的TPM之認證金鑰的公眾部份)。在246處,CA傳送該金鑰的憑證(具有該加密的簽章),及藉由EK-public加密的對稱金鑰至請求該憑證的客戶。在248處,此些項目可由該客戶接收。
在250處,該客戶要求TPM使用EK-private解密該對稱金鑰。假設包含於該憑證的金鑰係相同於TPM使用用於該認證請求的AIK所簽署者,TPM解密該對稱金鑰(在252處)及將它傳回至該客戶。該客戶則使用該對稱金鑰以解密該簽章,及將一乾淨的簽章置換在該憑證中的加密之簽章(在256處)。該客戶現在擁有該新的金鑰之一可使用的憑證(在258處)。
第9圖顯示一實例環境,其中在部署了在此描述的本發明內容之態樣。
電腦900包含一或多個處理器902及一或多個資料記憶元件904。處理器(多個)典型地為微處理器,例如可在一個人桌上型或膝上型電腦、伺服器、手持電腦、或另一種計算裝置中可找到的微處理器。資料記憶元件(多個)904係能夠短時間或長時間儲存資料的元件。資料記憶元件(多個)904的實例包含:硬碟、可移除碟片(包含光碟和磁碟)、可揮發性和不可揮發性隨機存取記憶體(RAM)、唯讀記憶體(ROM)、快閃記憶體、磁帶等等。資料記憶元件(多個)係電腦可讀取儲存媒體的實例。電腦900可包含、或關聯於顯示912,其可為陰極射線管(CRT)螢幕、液晶顯示(LCD)螢幕、或任何其它類型的螢幕。
軟體可儲存於資料記憶元件(多個)904,及可在一或多個處理器902上執行。此類軟體的一實例為金鑰認證軟體906,其可實施於前文結合第1-8圖所描述的一些或所有功能,雖然可使用任何類型的軟體。舉例而言,可透過一或多個元件實施軟體906,其可為在一分散式系統的元件、分別的檔案、分別的函數、分別的物件、及個別行的程式碼等等。一程式儲存於其硬碟、載入至RAM、及在電腦上的處理器執行之一個人電腦可象徵在第9圖描述的情境,雖然在此描述的發明內容並不限於此實例。
在此描述的發明內容可實施為儲存於一或多個資料記憶元件(多個)904和在一或多個處理器902上執行的軟體。如同另一實例,本發明內容可實施為儲存在一或多個電腦可讀取儲存媒體(實體媒體(例如光碟或磁碟)係儲存媒體的實例)的指令。此些指令當由一電腦或其它機器執行時使得該電腦或其它機器以執行方法的一或多個步驟。用於執行該步驟的指令可儲存於一媒體,或可分散於多種媒體,以使得該指令可聚合地出現於一或多個電腦可讀取儲存媒體,而無關於是否所有的指令恰好在相同的媒體上。
此外,在此描述的任何步驟(無論是否顯示於圖中)可由一處理器執行(例如一或多個處理器902)以作為一方法的部份。因此,若在此描述了步驟A、B、及C,則可執行包含步驟A、B、及C的方法。再者,若在此描述了步驟A、B、及C,則可執行包含使用一處理器以執行步驟A、B、及C的方法。
在一實例環境中,電腦900可透過網路908通訊地連接至一或多個其它裝置。電腦910(其在結構上類似於電腦900)係可連接至電腦900的一裝置之一實例,雖然其它類型的裝置亦可如此連接。
雖然以特定於特徵結構及/或方法步驟的語言描述了發明內容,應可了解到在隨附的申請專利範圍所界定的發明內容並不必然地限制於前文所描述的特定特徵或步驟。而是,前文所描述的特定特徵和步驟可揭示為實施申請專利範圍的實例形式。
102...機器
104...TPM
106...認證密鑰
108...公眾部份
110...私密部份
112...客戶
114...請求
116...金鑰控點
118...認證請求
119...對AIK的請求
120...身份結合
122...請求
124...金鑰認證結構
126...認證機構
128...EK 106的憑證
130...發出元件
132...信賴的TPM的一清單
134...策略
136...簽章驗證器
138...憑證
140...加密的對稱金鑰
602...AIK-Public
604...認證請求的摘要
606...簽章
702...陳述
704...新的金鑰
706...簽章
802...對稱金鑰
900...電腦
902...處理器
904...資料記憶元件
906...金鑰認證軟體
908...網路
910...電腦
912...顯示
第1圖係當一客戶請求一認證機構認證一金鑰時可使用的各種元件之一方塊圖。
第2-5圖整體為可完成和進行認證一金鑰的一請求之一實例程序的一流程圖。
第6圖係一實例身份結合的一方塊圖。
第7圖係一實例金鑰認證結構的一方塊圖。
第8圖係具有一加密簽章的示例憑證之一方塊圖。
第9圖係可與在此描述的發明內容的實施結合使用的實例元件之一方塊圖。
102...機器
104...TPM
106...認證密鑰
108...公眾部份
110...私密部份
112...客戶
114...請求
116...金鑰控點
118...認證請求
119...對AIK的請求
120...身份結合
122...請求
124...金鑰認證結構
128...EK 106的憑證
130...發出元件
132...信賴的TPM的一清單
134...策略
136...簽章驗證器
138...憑證
140...加密的對稱金鑰

Claims (20)

  1. 一種電腦可讀取儲存裝置,該電腦可讀取儲存裝置儲存可執行指令以請求一第一金鑰的一認證,其中該等可執行指令由一電腦執行時,可使得該電腦進行以下步驟:產生一認證請求以使得該第一金鑰被認證;從一可信賴平台模組請求結合於該認證請求的一認證身份金鑰(attestation identity key);自該可信賴平台模組接收一身份結合(identity binding),該身份結合將該認證身份金鑰結合至該認證請求;請求該可信賴平台模組使用該認證身份金鑰簽署該第一金鑰;自該可信賴平台模組接收一金鑰認證結構,該金鑰認證結構包含該第一金鑰和係由該認證身份金鑰簽署;將包含該認證請求、該身份結合、該金鑰認證結構、和該可信賴平台模組的公眾認證金鑰之一第一憑證的資訊傳送至一認證機構,而無需先建立起該認證機構對於該認證身份金鑰的信任;及自該認證機構接收該第一金鑰的一第二憑證,該第二憑證具有僅在由該可信賴平台模組進行動作以針對於該認證機構來驗證該認證機構對於該認證身份金鑰的信任之後方可使用的一形式。
  2. 如申請專利範圍第1項所述之電腦可讀取儲存裝置,其中該些步驟進一步包含以下步驟:計算該認證請求的一摘要;其中該認證身份金鑰結合於該認證請求,前述者係藉由將該認證身份金鑰結合於該摘要的方式。
  3. 如申請專利範圍第1項所述之電腦可讀取儲存裝置,其中該第一憑證包含:該認證機構的一簽章,該簽章係僅可藉由使用該可信賴平台模組的私密認證金鑰的一程序解密的,其中該動作包含:該可信賴平台模組的私密認證金鑰的使用。
  4. 如申請專利範圍第3項所述之電腦可讀取儲存裝置,進一步包含以下步驟:自該認證機構接收由該可信賴平台模組的公眾認證金鑰加密的一對稱金鑰;其中該第二憑證包含:具有由該對稱的金鑰加密的一形式之該簽章,及其中使用該可信賴平台模組的私密認證金鑰的該程序包含:使用該可信賴平台模組的私密認證金鑰以解密該對稱金鑰;及使用該對稱金鑰以解密該簽章。
  5. 如申請專利範圍第1項所述之電腦可讀取儲存裝置,其中該第二憑證包含:具有一加密形式的所接收的一簽章,及其中該等步驟進一步包含以下步驟:以具有一乾淨形式的一簽章來取代具有該加密形式的該簽章。
  6. 如申請專利範圍第1項所述之電腦可讀取儲存裝置,其中該第一金鑰包含:一Rivest-Shamir-Adelman(RSA)金鑰對的一公眾部份。
  7. 如申請專利範圍第1項所述之電腦可讀取儲存裝置,其中該第一金鑰係不可移動的(non-migratable),及其中該金鑰認證結構包含:該第一金鑰係不可移動的一陳述。
  8. 如申請專利範圍第1項所述之電腦可讀取儲存裝置,其中該第一金鑰經使用以作為該可信賴平台模組所位在的一機器上之簽署資料的一程序之部份。
  9. 一種進行對於認證一第一金鑰的一請求之方法,該方法包含以下步驟:使用一處理器以執行下列步驟:從一客戶接收資訊,該資訊包含:對於認證一第一金鑰的一認證請求; 一認證身份金鑰的一身份結合,該認證身份金鑰係由該客戶進行執行所在的一機器上之一可信賴平台模組所產生;一金鑰認證結構,該金鑰認證結構使用該認證身份金鑰以認證該第一金鑰的一特徵;及該可信賴平台模組的公眾認證金鑰的一第一憑證;根據該公眾認證金鑰來驗證:該可信賴平台模組被執行該等步驟的一認證機構所信賴;驗證該身份結合將該認證身份金鑰結合至該認證請求;由該認證身份金鑰的一私密部份的一持有者驗證:該金鑰認證結構表示該第一金鑰具有該特微的一陳述;及將該第一金鑰的一第二憑證傳送至該客戶,而無需先建立起對於該認證身份金鑰的信任,其中該第二憑證的使用係取決於該可信賴平台模組的存在性之條件,以為了將驗證該認證身份金鑰係可信賴的一任務委託給該可信賴平台模組。
  10. 如申請專利範圍第9項所述之方法,其中該第二憑證的使用係取決於該可信賴平台模組的存在性之條件來進行,前述者係藉由僅在使用該可信賴平台模組的私密認證金鑰之後使該憑證為可使用的之方式。
  11. 如申請專利範圍第9項所述之方法,其中該第二憑證包含:該認證機構的一簽章,該簽章具有僅使用該可信賴平台模組的私密認證金鑰才能解密的一形式。
  12. 如申請專利範圍第9項所述之方法,其中該第二憑證包含:該認證機構的一簽章,該簽章係以一對稱金鑰加密,及其中該等步驟進一步包含以下步驟:將藉由該可信賴平台模組的公眾認證金鑰加密的該對稱金鑰傳送至該客戶。
  13. 如申請專利範圍第9項所述之方法,其中該特徵包含:該第一金鑰係不可移動的,及其中該金鑰認證結構包含:該第一金鑰係不可移動的一明確或隱含的陳述。
  14. 如申請專利範圍第9項所述之方法,其中該第一金鑰包含:一Rivest-Shamir-Adelman(RSA)金鑰對的一公眾部份。
  15. 如申請專利範圍第9項所述之方法,其中該第一金鑰係由該平台使用以作為加密或簽署資料的一程序之部份。
  16. 如申請專利範圍第9項所述之方法,其中該身份結合藉由包含該認證請求的一第一摘要,將該認證身份金 鑰結合至該認證請求,及其中該等步驟進一步包含以下步驟:計算該認證請求的一第二摘要;及驗證該第二摘要匹配於該第一摘要。
  17. 一種用於獲得一第一金鑰的一憑證的系統,該系統包含:一記憶體;一處理器;一可信賴平台模組(TPM),該可信賴平台模組與將該TPM區別於其它TPM的一認證金鑰對相關聯;一客戶,該客戶儲存於該記憶體和在該處理器上執行,該客戶請求該TPM產生一第一金鑰,該客戶產生一認證請求以使得該第一金鑰由一認證機構認證,該客戶請求該TPM產生將一認證身份金鑰結合至該認證請求的一身份結合,該客戶請求該TPM產生使用該認證身份金鑰簽署該第一金鑰的一金鑰認證結構,該客戶傳送該認證請求、該身份結合、該金鑰認證結構、及該TPM的公眾認證金鑰的一第一憑證至該認證機構,而無需先建立起該認證機構對於該認證身份金鑰的信任、及該客戶從該認證機構接收該第一金鑰的一第二憑證,該第二憑證僅在由該TPM進行動作以針對於該認證機構來驗證該認證機構對於該認證身份金鑰的信任之後才可使用的。
  18. 如申請專利範圍第17項所述之系統,其中由該TPM進行的動作包含:該TPM使用該TPM的私密認證金鑰。
  19. 如申請專利範圍第17項所述之系統,其中該第二憑證包含:具有藉由一對稱金鑰加密的一形式之該認證機構的一簽章,其中該客戶從該認證機構接收由該TPM的公眾認證金鑰加密的該對稱金鑰,其中該客戶請求該TPM使用該TPM的私密認證金鑰解密該對稱金鑰,及其中該客戶使用該對稱金鑰以解密該簽章及在該第二憑證中將一乾淨的簽章來置換該加密的簽章。
  20. 如申請專利範圍第17項所述之系統,其中該第一金鑰自該TPM所存在的一機器係不可移動的,及其中該TPM使用該認證身份金鑰簽署該第一金鑰,以作為該第一金鑰係不可移動的一指示。
TW099132367A 2009-10-28 2010-09-24 在一次往返中的金鑰認證 TWI507006B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/607,937 US8700893B2 (en) 2009-10-28 2009-10-28 Key certification in one round trip

Publications (2)

Publication Number Publication Date
TW201121281A TW201121281A (en) 2011-06-16
TWI507006B true TWI507006B (zh) 2015-11-01

Family

ID=43899369

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099132367A TWI507006B (zh) 2009-10-28 2010-09-24 在一次往返中的金鑰認證

Country Status (7)

Country Link
US (1) US8700893B2 (zh)
EP (1) EP2494733A4 (zh)
JP (1) JP5693595B2 (zh)
KR (1) KR101731132B1 (zh)
CN (1) CN102577229B (zh)
TW (1) TWI507006B (zh)
WO (1) WO2011056321A2 (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
CN102355351B (zh) * 2011-07-21 2014-11-05 华为技术有限公司 一种基于可信计算的密钥生成、备份和迁移方法及系统
US8375221B1 (en) 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions
JP5856181B2 (ja) * 2011-10-25 2016-02-09 株式会社アイエスアイ 電子マネー送金方法およびそのシステム
US8953790B2 (en) * 2011-11-21 2015-02-10 Broadcom Corporation Secure generation of a device root key in the field
US8850187B2 (en) * 2012-05-17 2014-09-30 Cable Television Laboratories, Inc. Subscriber certificate provisioning
US9756036B2 (en) * 2012-06-15 2017-09-05 Nokia Technologies Oy Mechanisms for certificate revocation status verification on constrained devices
EP2913956B1 (en) * 2012-11-22 2017-01-04 Huawei Technologies Co., Ltd. Management control method and device for virtual machines
US10270748B2 (en) 2013-03-22 2019-04-23 Nok Nok Labs, Inc. Advanced authentication techniques and applications
US9521000B1 (en) * 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9940446B2 (en) * 2013-07-25 2018-04-10 Siemens Healthcare Diagnostics Inc. Anti-piracy protection for software
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
US9391777B2 (en) * 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9519787B2 (en) * 2014-11-14 2016-12-13 Microsoft Technology Licensing, Llc Secure creation of encrypted virtual machines from encrypted templates
US9742762B2 (en) * 2014-12-01 2017-08-22 Microsoft Technology Licensing, Llc Utilizing a trusted platform module (TPM) of a host device
US10205598B2 (en) * 2015-05-03 2019-02-12 Ronald Francis Sulpizio, JR. Temporal key generation and PKI gateway
CN105141420B (zh) * 2015-07-29 2018-09-25 飞天诚信科技股份有限公司 一种安全导入、签发证书的方法、设备及服务器
DE102015214696A1 (de) * 2015-07-31 2017-02-02 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Verwenden eines Kunden-Geräte-Zertifikats auf einem Gerät
US9768966B2 (en) * 2015-08-07 2017-09-19 Google Inc. Peer to peer attestation
US10146916B2 (en) * 2015-11-17 2018-12-04 Microsoft Technology Licensing, Llc Tamper proof device capability store
CN107086908B (zh) 2016-02-15 2021-07-06 阿里巴巴集团控股有限公司 一种量子密钥分发方法及装置
CN107086907B (zh) 2016-02-15 2020-07-07 阿里巴巴集团控股有限公司 用于量子密钥分发过程的密钥同步、封装传递方法及装置
US10277407B2 (en) * 2016-04-19 2019-04-30 Microsoft Technology Licensing, Llc Key-attestation-contingent certificate issuance
CN107347058B (zh) 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
CN107370546B (zh) 2016-05-11 2020-06-26 阿里巴巴集团控股有限公司 窃听检测方法、数据发送方法、装置及系统
CN107404461B (zh) 2016-05-19 2021-01-26 阿里巴巴集团控股有限公司 数据安全传输方法、客户端及服务端方法、装置及系统
US10396991B2 (en) * 2016-06-30 2019-08-27 Microsoft Technology Licensing, Llc Controlling verification of key-value stores
CN109691009B (zh) 2016-09-08 2022-04-29 日本电气株式会社 网络功能虚拟化系统和验证方法
US10320571B2 (en) * 2016-09-23 2019-06-11 Microsoft Technology Licensing, Llc Techniques for authenticating devices using a trusted platform module device
CN107959567B (zh) 2016-10-14 2021-07-27 阿里巴巴集团控股有限公司 数据存储方法、数据获取方法、装置及系统
CN107959656B (zh) 2016-10-14 2021-08-31 阿里巴巴集团控股有限公司 数据安全保障系统及方法、装置
US10164778B2 (en) * 2016-12-15 2018-12-25 Alibaba Group Holding Limited Method and system for distributing attestation key and certificate in trusted computing
JP6644195B1 (ja) * 2017-01-06 2020-02-12 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 認証されたデータ上のピノキオ/トリノキオ
US11438155B2 (en) * 2017-01-24 2022-09-06 Microsoft Technology Licensing, Llc Key vault enclave
CN108667608B (zh) 2017-03-28 2021-07-27 阿里巴巴集团控股有限公司 数据密钥的保护方法、装置和系统
CN108667773B (zh) 2017-03-30 2021-03-12 阿里巴巴集团控股有限公司 网络防护系统、方法、装置及服务器
CN108736981A (zh) 2017-04-19 2018-11-02 阿里巴巴集团控股有限公司 一种无线投屏方法、装置及系统
US10819696B2 (en) * 2017-07-13 2020-10-27 Microsoft Technology Licensing, Llc Key attestation statement generation providing device anonymity
US11868995B2 (en) 2017-11-27 2024-01-09 Nok Nok Labs, Inc. Extending a secure key storage for transaction confirmation and cryptocurrency
US11831409B2 (en) 2018-01-12 2023-11-28 Nok Nok Labs, Inc. System and method for binding verifiable claims
WO2019177563A1 (en) * 2018-03-12 2019-09-19 Hewlett-Packard Development Company, L.P. Hardware security
CN110324138B (zh) * 2018-03-29 2022-05-24 阿里巴巴集团控股有限公司 数据加密、解密方法及装置
CN109450620B (zh) 2018-10-12 2020-11-10 创新先进技术有限公司 一种移动终端中共享安全应用的方法及移动终端
CN111371726B (zh) * 2018-12-25 2022-06-14 阿里巴巴集团控股有限公司 安全代码空间的认证方法、装置、存储介质及处理器
US20200280550A1 (en) * 2019-02-28 2020-09-03 Nok Nok Labs, Inc. System and method for endorsing a new authenticator
US11792024B2 (en) 2019-03-29 2023-10-17 Nok Nok Labs, Inc. System and method for efficient challenge-response authentication
CN110046515B (zh) * 2019-04-18 2021-03-23 杭州尚尚签网络科技有限公司 一种基于短效数字证书的安全的电子签名方法
US11429519B2 (en) 2019-12-23 2022-08-30 Alibaba Group Holding Limited System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
EP3855328A1 (en) * 2020-01-24 2021-07-28 Thales Dis France Sa A method for securely diversifying a generic application stored in a secure processor of a terminal
KR102559101B1 (ko) * 2020-02-24 2023-07-25 한국전자통신연구원 전력 계량 장치, 전력 계량 서버 및 블록 체인 기반의 전력 계량 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016801A1 (en) * 2005-07-12 2007-01-18 Bade Steven A Method, apparatus, and product for establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
CN101512535A (zh) * 2006-08-31 2009-08-19 国际商业机器公司 计算平台的证明

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003073688A1 (en) 2002-02-22 2003-09-04 Emc Corporation Authenticating hardware devices incorporating digital certificates
US7461251B2 (en) 2002-05-09 2008-12-02 Canon Kabushiki Kaisha Public key certification issuing apparatus
US7350072B2 (en) * 2004-03-30 2008-03-25 Intel Corporation Remote management and provisioning of a system across a network based connection
WO2005106620A1 (ja) * 2004-04-30 2005-11-10 Fujitsu Limited 情報管理装置および情報管理方法
US20050289343A1 (en) * 2004-06-23 2005-12-29 Sun Microsystems, Inc. Systems and methods for binding a hardware component and a platform
US7747862B2 (en) * 2004-06-28 2010-06-29 Intel Corporation Method and apparatus to authenticate base and subscriber stations and secure sessions for broadband wireless networks
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
CN101102180B (zh) * 2006-07-03 2010-08-25 联想(北京)有限公司 基于硬件安全单元的系统间绑定及平台完整性验证方法
AU2007295939A1 (en) 2006-09-11 2008-03-20 Commonwealth Scientific And Industrial Research Organisation A portable device for use in establishing trust
CA2681507C (en) 2007-03-19 2013-01-29 Telcordia Technologies, Inc. Vehicle segment certificate management using short-lived, unlinked certificate schemes
US8837722B2 (en) * 2007-10-16 2014-09-16 Microsoft Corporation Secure content distribution with distributed hardware
US8259948B2 (en) * 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016801A1 (en) * 2005-07-12 2007-01-18 Bade Steven A Method, apparatus, and product for establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
CN101512535A (zh) * 2006-08-31 2009-08-19 国际商业机器公司 计算平台的证明

Also Published As

Publication number Publication date
TW201121281A (en) 2011-06-16
CN102577229B (zh) 2014-05-07
EP2494733A4 (en) 2017-06-28
JP5693595B2 (ja) 2015-04-01
WO2011056321A3 (en) 2011-08-18
JP2013509805A (ja) 2013-03-14
US8700893B2 (en) 2014-04-15
CN102577229A (zh) 2012-07-11
WO2011056321A2 (en) 2011-05-12
KR20120101363A (ko) 2012-09-13
KR101731132B1 (ko) 2017-04-27
EP2494733A2 (en) 2012-09-05
US20110099367A1 (en) 2011-04-28

Similar Documents

Publication Publication Date Title
TWI507006B (zh) 在一次往返中的金鑰認證
JP7297360B2 (ja) キー管理方法、装置、システム、コンピュータ機器及びコンピュータプログラム
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
CN109075976B (zh) 取决于密钥认证的证书发布
EP3458999B1 (en) Self-contained cryptographic boot policy validation
TWI454111B (zh) 用於確保通訊之鑑別及完備性的技術
US9998438B2 (en) Verifying the security of a remote server
WO2019020051A1 (zh) 一种安全认证的方法及装置
US20150333915A1 (en) Method and apparatus for embedding secret information in digital certificates
BR112017014632B1 (pt) Método implementado por computador, sistema de computador, e, mídia legível de computador
JP2023502346A (ja) 量子安全ネットワーキング
US20050283826A1 (en) Systems and methods for performing secure communications between an authorized computing platform and a hardware component
US10904004B2 (en) User-session management in a zero-knowledge environment
JP2010503252A (ja) コンピューティング・プラットフォームの証明
Guirat et al. Formal verification of the W3C web authentication protocol
US20160335453A1 (en) Managing Data
US20220300962A1 (en) Authenticator App for Consent Architecture
US11804957B2 (en) Exporting remote cryptographic keys
Sherwood Practical Implications of Public Key Infrastructure for Identity Professionals (v2)
US20240012933A1 (en) Integration of identity access management infrastructure with zero-knowledge services
JP2010245712A (ja) Id有効性管理装置及び通信装置及びid有効性管理方法及びデータ処理方法及びプログラム
Vossaert et al. Client-side biometric verification based on trusted computing
US20170012973A1 (en) Trust framework for secured digital interactions between entities
JP2016019120A (ja) 復号装置、通信システム、復号方法、および、プログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees