TWI429255B - 安全修補系統 - Google Patents

安全修補系統 Download PDF

Info

Publication number
TWI429255B
TWI429255B TW095122687A TW95122687A TWI429255B TW I429255 B TWI429255 B TW I429255B TW 095122687 A TW095122687 A TW 095122687A TW 95122687 A TW95122687 A TW 95122687A TW I429255 B TWI429255 B TW I429255B
Authority
TW
Taiwan
Prior art keywords
key
patch
signature
patching
private
Prior art date
Application number
TW095122687A
Other languages
English (en)
Other versions
TW200711436A (en
Inventor
Axel Wachtler
Ralf Findeisen
Frank Schuecke
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of TW200711436A publication Critical patent/TW200711436A/zh
Application granted granted Critical
Publication of TWI429255B publication Critical patent/TWI429255B/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/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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

安全修補系統
本發明大致係關於軟體更新,且詳而言之,係關於分散系統(distributed system)中之軟體更新的安全發佈(secure distribution)。
許多電腦媒體或通訊系統由於安全的漏洞而讓資料被非法存取或電腦蠕蟲(worm)的散布。因此,造成可觀的損害。通常是用與安全有關的軟體更新封閉此類的安全漏洞,這種軟體更新也被稱作修補(patch)。在分散系統中,可用修補伺服器產生修補,然後發佈到許多修補客戶端,例如,通訊系統的行動單元或有嵌入式處理器(embedded processor)的消費者裝置。
不過,從不安全系統下載的修補仍須加以保護以免被惡意修改。否則,電腦病毒或蠕蟲仍能引起有效的攻擊。例如,阻斷服務(DoS)攻擊會針對GSM網(全球行動通訊系統),其中,每一個無線電格(radio cell)中只要有一個主動裝置被感染就足以阻斷整個系統。
在先前技術系統中,公鑰密碼系統(public key cryptography,PKC),也被稱作非對稱密碼(asymmetric cryptography),常用來藉由避免在不安全網路傳送密鑰(secret key)以保護套裝軟體的發佈。基本概念為有兩種鑰匙:僅用於加密且為大眾所知的公鑰(PK)以及解密訊息需要知道的私鑰(private key),也被稱作密鑰(SK)。該安全性係取決於由公鑰推導出私鑰的困難度以及在不知道私鑰的情況下解開加密訊息的困難度。
PKC的特殊應用為數位簽章。在此,計算出一些文件的密碼雜湊總合(cryptographic hash sum),然後用創作者之私鑰加密此雜湊總合以建立該數位簽章。以某種方式把該簽章附加於文件。任何一位知道創作者之公鑰者可計算文件的雜湊總合,用公鑰解密附屬的簽章並且拿結果與雜湊文件作比較。替換地,藉由以創作者的私鑰將雜湊總合解密可產生數位簽章。為了驗證,收文者可再次計算該雜湊總合,用公鑰加密且拿結果與提供的簽章作比較。
正確的數位簽章可證明其創作者知道私鑰(真實性,authenticity)且自從簽章產生後該文件沒有被以增減或修改內容的方式或者是以重新排列部份內容的方式修改(完整性)。後者係以所使用之密碼雜湊函數的性質提供,例如,MD5(訊息摘要演算法5)、SHA-1(保全雜湊演算法1)或RIPEMD-160(完整性原語評價信息摘要160)。不過,無法知道,例如,在簽章產生時私鑰是否已被盜取。
由於不被信任的一方,亦即不知道秘密者,也能檢查數位簽章,所以非對稱密碼常用於數位簽章。不過,PKC的缺點為敏感性高且緩慢。此外,PKC系統的安全漏洞在於有可能遭受中間人攻擊(man-in-the-middle attack)。如果能以某種方式證明公鑰的真實性,就可預防這種問題。在有些情況下,計算公鑰(即所謂的指紋)的密碼核對和(cryptographic checksum)再經由例如電話直接告訴收文者就可以。不過,在複雜又動態改變的環境中這是不可能的。因此,為此可使用公鑰基礎建設(PKI),而公鑰由可信任的一方數位地簽章。不過,PKI基礎建設的實施及維護很昂貴。
此外,PKC會有一些其他的風險及問題,例如在使用RSA(瑞未斯特-希米爾-愛得曼)加密時。除了PKC太慢以外,明文(plaintext)部份還要填補隨機位元,否則數種攻擊仍有是可能的。因此,通常不直接使用公鑰加密明文。反而是,產生隨機對話金鑰(random session key)且使用於傳統的對稱式加密,例如使用像AES(高級加密標準)或雙魚(Two-fish)這類的演算法。在這些被稱作混合式協定的協定中,只將對話金鑰以公鑰加密再加到密文(ciphertext)中。
不過,即使使用混合式協定,對話金鑰仍需隨機填補成,例如,512或1024個位元長度。填補不足會導致安全性降低。
此外,如果RSA私鑰中的位元被硬體或攻擊者翻轉(flip)且然後用此私鑰定義訊息,則可將該公鑰因式分解,從而安全被完全破解。這在PKC系統中會產生相當程度的風險。
此外,在產生公鑰時可能會被加上暗門(trapdoor)。知道如何修改生成演算法(creation algorithm)的攻擊者會有辦法輕易地由公鑰推論出私鑰,以致安全再度被完全破解。
因此,許多先前技術的修補系統設法避開PKC。在可信任伺服器與客戶端(例如,GSM電話中之嵌入式處理器)之間有對話的系統中,序列化金鑰(serialized key)(可能在智慧卡(smart card)中)與挑戰-回應協定(challenge response protocol)能提供簡單且強健的解決方案。不過,有許多系統無法應用這種方法。例如,當在開機時間接收器為固定且被動時,不可能做序列化。
替換地,各方分享共同秘密的先前技術系統係使用像HMAC(雜湊訊息身份驗證代碼)這類的密碼核對和。彼之實施例之一為GSM/UMTS(全球行動通訊系統/通用行動通訊系統)行動電話的驗證及金鑰處理,其係以SIM(用戶識別模組,Subscriber Identification Module)卡發佈金鑰。與PKC相比,此解決方案較為簡單、較快、且較強健。不過,儘管HMAC密碼核對和可證明完整性,對應的密鑰會被固定於EP(嵌入式處理器)接收器的韌體內。因此,洩露此秘密的HMAC金鑰會使所有的核對和變為毫無價值。
因此,許多先前技術修補系統利用數位簽章。不過,確保完整性常常不足。如果修補被施加還原工程(reverse engineer),還是可找出安全漏洞。簽章過的修補只證明其真實性,而不是安全性。在作者這邊只能靠信任來提供安全性。此外,對於所有修補客戶端,都用相同公鑰簽章修補會有相當不安全的缺點。如果私鑰洩露,則所有的安全性消失。更有可能的情況是遺失私鑰。就此情形而言,無法再釋出修補以致所有的修補客戶端愈來愈不安全。
因此,提供數種改良的修補伺服器、修補客戶端、以及對應的方法,其可克服先前技術的缺點。數個實施例可增加秘密保護以及金鑰遺失容忍度(tolerance)。這則可增加投資保障。此外,可改善免於洩露金鑰的保護。其他的實施例在金鑰產生仍有安全漏洞的情形下可減少弱金鑰(weak key)的風險。
根據一方面,修補伺服器係連接至修補客戶端,用以提供修補至該修補客戶端。該修補伺服器包含:第一金鑰產生平台、與該第一金鑰產生平台不相同的第二金鑰產生平台、第一金鑰選擇器、第二金鑰選擇器、第一簽章產生器、第二簽章產生器、以及發送器。該第一金鑰產生平台係經配置成產生包含多個第一私鑰的第一私鑰群組。該第二金鑰產生平台係經配置成產生包含多個第二私鑰的第二私鑰群組。該等第一與第二金鑰選擇器係經配置成各自從該等第一與第二私鑰群組選定該等第一與第二私鑰中之一個。該第一簽章產生器係經配置成基於該修補與該第一選定私鑰而產生第一數位簽章。該第二簽章產生器係經配置成基於該修補與該第二選定私鑰而產生第二數位簽章。該發送器係經配置成一起發送該修補以及該等第一與第二數位簽章至該修補客戶端。
在另一實施例中,該修補伺服器進一步包含:對話(session)金鑰產生器,經配置成產生隨機對話金鑰;第一加密組件,經配置成使用對稱加密演算法而用該隨機對話金鑰加密該修補;以及第二加密組件,經配置成用主金鑰(master key)加密該隨機對話金鑰;其中該發送器係進一步經配置成一起發送呈加密的形式的該修補以及該等第一與第二數位簽章和該經加密之隨機對話金鑰至該修補客戶端。
在另一實施例中,該修補伺服器之該第一加密組件係進一步經配置成使用該對稱加密演算法而用該隨機對話金鑰加密該等第一與第二數位簽章;以及其中該發送器係進一步經配置成一起發送呈加密的形式的該修補以及呈加密的形式的該等第一與第二數位簽章和該經加密之隨機對話金鑰至該修補客戶端。
根據另一方面,提供一種提供修補至修補客戶端的方法。使用第一金鑰產生平台產生包含多個第一私鑰的第一私鑰群組。使用不同於該第一金鑰產生平台的第二金鑰產生平台產生包含多個第二私鑰的第二私鑰群組。從該第一私鑰群組選定該等第一私鑰中之一個,且從該第二私鑰群組選定該等第二私鏡中之一個。基於該修補與該第一選定私鑰產生第一數位簽章。基於該修補與該第二選定私鑰產生第二數位簽章。將該修補以及該等第一與第二數位簽章一起發送至該修補客戶端。
在另一實施例中,該方法進一步包含:基於該修補計算出第一雜湊總合(hash sum);以及基於該第一雜湊總合計算出第二雜湊總合;其中產生該第一數位簽章包含:基於該第二雜湊總合以及該第一選定私鑰而產生該第一數位簽章。
在另一實施例中,該方法進一步包含:基於該第二雜湊總合計算出第三雜湊總合;其中產生該第二數位簽章包含:基於該第三雜湊總合以及該第二選定私鑰而產生該第二數位簽章。
在另一實施例中,該方法進一步包含:計算出多個雜湊總合;其中該修補包含多筆記錄;其中計算出該等多個雜湊總合包含:基於包含在該修補內之最後一筆記錄計算出該等多個雜湊總合的第一雜湊總合;以及其中計算出該等多個雜湊總合進一步包含:每次基於包含於該修補內之各自的下一筆最近所用的記錄(next last record)以及該等多個雜湊總合中之各自的最近計算所得的雜湊總合而計算出該等多個雜湊總合中之另一雜湊總合。
在另一實施例中,產生該第一數位簽章包含:基於該等多個雜湊總合中之最近計算出之雜湊總合而產生該第一數位簽章;以及其中發送該修補包含:一起發送該修補以及該等第一與第二數位簽章和該等多個雜湊總合至該修補客戶端。
在另一實施例中,產生該第二數位簽章包含:基於該等多個雜湊總合中之最近計算出之雜湊總合而產生該第二數位簽章;以及其中發送該修補包含:一起發送該修補以及該等第一與第二數位簽章和該等多個雜湊總合至該修補客戶端。
在另一實施例中,該方法進一步包含:產生金鑰指標(key indicator),該金鑰指標包含:第一金鑰指標,其指向已從該第一私鑰群組選定的第一私鑰,以及第二金鑰指標,其指向已從該第二私鑰群組選定的第二私鑰;其中發送該修補包含:一起發送該修補以及該等第一與第二數位簽章和該金鑰指標至該修補客戶端。
在另一實施例中,產生該金鑰指標包含:產生進一步包含虛擬指標之該金鑰指標,該虛擬指標鑑定該等第一與第二數位簽章中之一個為虛擬簽章。
在另一實施例中,該方法進一步包含:產生隨機對話金鑰;使用對稱加密演算法而用該隨機對話金鑰加密該修補;以及用主金鑰加密該隨機對話金鑰;其中發送該修補包含:一起發送呈加密的形式的該修補以及該等第一與第二數位簽章和該經加密之隨機對話金鑰至該修補客戶端。
在另一實施例中,該方法進一步包含:使用該對稱加密演算法而用該隨機對話金鑰加密該等第一與第二數位簽章;其中發送該修補包含:一起發送呈加密的形式的該修補以及呈加密的形式的該等第一與第二數位簽章和該經加密之隨機對話金鑰至該修補客戶端。
另一方面係關於一種修補客戶端,其連接至修補伺服器,用以從該修補伺服器接收修補。該修補客戶端包含:第一與第二儲存構件(StOragemeanS)、第一與第二金鑰選擇器、以及第一與第二簽章驗證組件。該第一儲存構件儲存包含多個已由第一金鑰產生平台產生之第一公鑰的第一公鑰群組。該第二儲存構件儲存包含多個第二公鑰的第二公鑰群組,該等多個第二公鑰係由不同於該第一金鑰產生平台的第二金鑰產生平台產生。該等第一與第二金鑰選擇器係經配置成各自從該第一與第二公鑰群組選定該等第一與第二公鑰中之一個。該第一簽章驗證組件係經配置成使用該第一選定公鑰驗證第一數位簽章,該第一數位簽章與該修補一起從該修補伺服器接收到。該第二簽章驗證組件係經配置成使用該第二選定公鑰驗證第二數位簽章,該第二數位簽章與該修補一起從該修補伺服器接收到。該修補客戶端係經配置成:只有在驗證該等第一與第二數位簽章的結果分別顯示該等第一與第二數位簽章的真實性(authenticity)與完整性時,才安裝該修補。
在另一實施例中,該修補客戶端進一步包含:第一雜湊器(hasher),經配置成基於該修補計算出第一雜湊總合;以及第二雜湊器,經配置成基於該第一雜湊總合計算出第二雜湊總合;其中該第一簽章驗證組件係進一步經配置成基於該第二雜湊總合驗證該第一數位簽章。
在另一實施例中,該修補客戶端進一步包含:第三雜湊器,經配置成基於該第二雜湊總合計算出第三雜湊總合;其中該第二簽章驗證組件係進一步經配置成基於該第三雜湊總合驗證該第二數位簽章。
在另一實施例中,該第一簽章驗證組件係進一步經配置成:基於與該修補一起從該修補伺服器接收到的第一雜湊總合而驗證該第一數位簽章;以及其中該第二簽章驗證組件係進一步經配置成基於該第一雜湊總合驗證該第二數位簽章。
在另一實施例中,該第一金鑰選擇器係進一步經配置成:根據與該修補一起從該修補伺服器接收到的第一金鑰指標而選定該等第一公鑰中之該一個;以及其中該第二金鑰選擇器係進一步經配置成:根據與該修補一起從該修補伺服器接收到的第二金鑰指標而選定該等第二公鑰中之該一個。
在另一實施例中,該修補客戶端係進一步經配置成:如果與該修補一起從該修補伺服器接收到的虛擬指標分別鑑定(identify)該第一或第二數位簽章為虛擬簽章,忽略(disregard)驗證該第一或第二數位簽章的結果。
在另一實施例中,該修補客戶端進一步包含:儲存主金鑰的第三儲存構件;第一解密(decryption)組件,經配置成使用該主金鑰解密與該修補一起從該修補伺服器接收到的經加密之隨機對話金鑰以得到該隨機對話金鑰;以及第二解密組件,經配置成使用該隨機對話金鑰藉由施加對稱解密演算法而解密該修補。
在另一實施例中,該第二解密組件係進一步經配置成使用該隨機對話金鑰藉由施加該對稱解密演算法而解密該等第一與第二數位簽章。
在另一實施例中,該主金鑰係儲存於該第三儲存構件內且隱藏於儲存於該第三儲存構件的其他資訊之中。
在另一實施例中,在修補客戶端的製造期間,將該主金鑰輸入於該第三儲存構件內。
在另一實施例中,在修補客戶端的製造期間,將該第一公鑰群組與該第二公鑰群組分別輸入於該等第一與第二儲存構件內。
根據又另一方面,提供一種安裝修補於修補客戶端中的方法。該修補係與第一及第二數位簽章一起從連接至該修補客戶端的修補伺服器接收到。在該修補客戶端中儲存包含多個第一公鑰的第一公鑰群組,該等第一公鑰係已由第一金鑰產生平台產生。此外,在該修補客戶端中儲存包含多個第二公鑰的第二公鑰群組,該等第二公鑰係已由不同於該第一金鑰產生平台的第二金鑰產生平台產生。該等第一公鑰中之一個以及該等第二公鑰中之一個係各自從該等第一與第二公鑰群組選定。使用該第一選定公鑰驗證該第一數位簽章,且使用該第二選定公鑰驗證該第二數位簽章。只有在驗證該等第一與第二數位簽章的結果分別顯示該等第一與第二數位簽章的真實性與完整性時,才將該修補安裝於該修補客戶端內。
在另一實施例中,該方法進一步包含:基於該修補計算出第一雜湊總合;以及基於該第一雜湊總合計算出第二雜湊總合;其中驗證該第一數位簽章包含:基於該第二雜湊總合而驗證該第一數位簽章。
在另一實施例中,該方法進一步包含:基於該第二雜湊總合計算出第三雜湊總合;其中驗證該第二數位簽章包含:基於該第三雜湊總合而驗證該第二數位簽章。
在另一實施例中,該方法進一步包含:從該修補伺服器一起接收到第一雜湊總合以及該修補;其中驗證該第一數位簽章包含:基於該第一雜湊總合而驗證該第一數位簽章;以及其中驗證該第二數位簽章包含:基於該第一雜湊總合而驗證該第二數位簽章。
在另一實施例中,該方法進一步包含:從該修補伺服器一起接收到第一金鑰指標與第二金鑰指標以及該修補;其中選定該等第一公鑰中之該一個包含:根據該第一金鑰指標選定該等公鑰中之該一個;以及其中選定該等第二公鑰中之該一個包含:根據該第二金鑰指標選定該等第二公鑰中之該一個。
在另一實施例中,該方法進一步包含:從該修補伺服器一起接收到虛擬指標以及該修補;以及如果該虛擬指標分別鑑定該第一或第二數位簽章為虛擬簽章時,則忽略驗證該第一或第二數位簽章的結果。
在另一實施例中,該方法進一步包含:從該修補伺服器一起接收到經加密之隨機對話金鑰以及該修補;在該修補客戶端中儲存主金鑰;使用該主金鑰解密該經加密之隨機對話金鑰以得到該隨機對話金鑰;以及使用該隨機對話金鑰藉由施加對稱解密演算法而解密該修補。
在另一實施例中,該方法進一步包含:使用該隨機對話金鑰藉由施加該對稱解密演算法而解密該等第一與第二數位簽章。
在另一實施例中,在該修補客戶端中儲存該主金鑰包含:儲存該主金鑰而隱藏在儲存於該修補客戶端內的其他資訊之中。
在另一實施例中,該方法進一步包含:在該修補客戶端的製造期間,輸入該主金鑰於該修補客戶端內。
在另一實施例中,該方法進一步包含:在該修補客戶端的製造期間,輸入該第一公鑰群組與該第二公鑰群組於該修補客戶端內。
現在參考附圖,描述本發明示範之實施例。修補客戶端的軟體,例如,某些裝置的嵌入式處理器可從不安全的系統取得修補。該等實施例可保證在進行修補時這些修補沒有被修改。例如,有些病毒或電腦蠕蟲會做成惡意修補。軟體或修補本身之中未被發現的安全漏洞也有可能具有相同的效果。該等實施例可保護修補客戶端不會有此類情況的負面影響。
第1圖係根據一實施例圖示修補系統的組件。修補伺服器100係連接至多個修補客戶端140以提供該等修補客戶端與安全有關的軟體更新,亦即,修補。該等修補客戶端可為,例如嵌入式系統、個人電腦、或媒體/通訊裝置。彼等可通過任何適當的連線而連接至該修補伺服器100,例如無線或有線連接。該修補伺服器100可為電腦或分散式電腦系統。
根據圖示之實施例,該修補伺服器100包含3個金鑰產生平台110、120、130。該等平台110、120、130可彼此分開且可用來產生金鑰以及處理。一般而言,平台係指某種在硬體或軟體或兩者中能執行軟體的架構。本實施例的金鑰產生平台110、120、130係基於不同的應用系統和硬體且可平行使用。這可改善與金鑰產生裝置內被加入暗門有關的安全性。然而,在可接受HSM(硬體安全模組)為唯一基礎的實施例中,為產生金鑰而使用不同的軟體及硬體是不必要的。
根據該實施例,該第一金鑰產生平台110藉助nCipher的一些nShield HSM而產生及儲存金鑰。該第二金鑰產生平台120可在Knoppix Linux作業系統下產生及使用金鑰。只在RAM(隨機存取記憶體)中運作的Knoppix Linux不會在硬碟上留下蹤跡。可將產生的金鑰以加密的形式儲存於外部。可用OpenSSL在該第二金鑰產生平台120完成金鑰處理。此外,可將長通行短語(pass phrase)分割,藉此由兩個不同的人員先後輸入通行短語以開啟私鑰供使用。傳統但是在SELinux(安全性增強Linux)系統或某些等價的高安全性作業系統下,該第三金鑰產生平台130可用OpenSSL處理金鑰。替換地,第三金鑰產生平台130可使用加密運算卡(cryptocard)。
為了增加預防私鑰洩露的可靠性,nShield可使用秘密分享(“n個操作員卡(operator card)中之k個”)。簽章處理過程可包含獨立的主體且可將金鑰拆開分給第一金鑰產生平台110的兩位管理人或多組管理人。
本實施例的修補系統是用多個簽章簽名修補,該等多個簽章係使用藉由金鑰產生平台110、120、130產生及管理的密鑰之變動子集。也可用金鑰產生平台1l0、120、130分別產生對應的公鑰且於製造該等修補客戶端140時,輸入於該等修補客戶端140。然後,可將該等公鑰儲存於在該等修補客戶端140中的公鑰矩陣150。
在被傳輸到該等修補客戶端140之前,修補可用隨機對話金鑰加以對稱加密。接著使用常用於所有修補客戶端140的秘密主金鑰(也被稱作金鑰加密金鑰(key encryption key,KEK金鑰)160)加密該隨機對話金鑰。相對於先前技術PKC系統,這可提供增加的速度與簡單性。此外,可增加加密演算法對未知弱點的防護力。由於以同一金鑰加密明文的較小部份以致攻擊者要找出弱點比較困難。故可由修補伺服器100安全地儲存KEK金鑰160。
在修補客戶端140中,可以隱藏的方式儲存KEK金鑰160以增加安全性。為此目的,可結合硬體及軟體的措施。例如,可由數個128位元部份(秘密分割)經由XOR(互斥)閘控(gating)建立128位元金鑰。資料可分散於程式內且難以找到。此外,利用在程式中數個極為不同的地方用例如巨集執行瘋狂的計算以動態方式指定功能指標(function pointer)可提供對還原工程的反制(countermeasure)並且使除錯器無法使用。在加密期間以實際上無人知道金鑰的方式,可使用這種秘密分割,而在運行時間期間,只有程式可暫時建立這種秘密分割。
在各個修補客戶端140賣給使用者之前,可由廠商將公鑰矩陣150與金鑰加密金鑰160插設於修補客戶端140內。廠商可將對應的密鑰保存於安全的地方。至於在本實施例中,公鑰為固定式,私鑰的改變為不可能且只能作廢。因此,可將私鑰隱藏於修補伺服器100內。
各個修補客戶端140可包含不可重設之計數器,其儲存最近收到之修補的序號以避免攻擊重演。這使得可防止施加有已知安全漏洞的較舊修補。為此目的,該等修補客戶端140例如可核對和修補一起收到的時間戳記與廣播時間(radio-received time)。
各個修補可包含一些修補記錄。為了防止利用溢位(overflow)的攻擊,可用軟體限制修補記錄的數目及大小。可不啟動該等修補記錄而只完成修補。因此,不必計算單一修補記錄的核對和。
根據本實施例,12對金鑰用來簽章該等修補。各個修補可包含3個簽章,各個簽章係基於4個一組中之一個金鑰,以下會有更詳細的說明。以下的原理會在第2與3圖中圖解說明。
第2圖圖示一組由修補伺服器100產生及管理的私鑰200至255。第一私鑰群組260可包含4個私鑰200至215。同樣地,第二私鑰群組270可包含另外4個私鑰220至235,以及第三私鑰群組280可包含另外4個私鑰240至255。第一、第二及第三金鑰產生平台110、120、130可分別產生及處理第一、第二及第三私鑰群組260、270、280。根據一實施例,3個私鑰群組260、270、280可具有不同的信任等級。
在金鑰產生平台110、120、130中,HSM可用來防止私鑰200至255的非法取出。替換地,可使用例如基於HSM和Knoppix/OpenSSL的“混合式金鑰”以提供安全儲存和完全信任的優點。此外,這可考慮到控制金鑰產生以及回收金鑰而不需另一HSM裝置的情形。可將密鑰200至255的存取權拆開分給非合作群組(non-cooperating group)。此外,可利用秘密分享(若為HSM,是“5個操作員卡中之3個”)的原理。
可將對應的公鑰儲存於修補客戶端140的矩陣150內,第3圖圖示更多細節。
第一公鑰群組360可包含4個公鑰300至315,彼等各自對應至第一私鑰群組260的私鑰200至215。該第一公鑰群組360可已由第一金鑰產生平台110產生且在製造修補客戶端140期間輸入到修補客戶端140內。可已由第二金鑰產生平台120產生且由廠商輸入到修補客戶端140的第二公鑰群組370可包含4個與第二私鑰群組270之私鑰相對應的公鑰320至335。最後,第三公鑰群組380可由4個公鑰340至355組成,彼等與第三私鑰群組280的4個私鑰240至255相對應。該第三公鑰群組380可已由第三金鑰產生平台130產生且在出售前儲存於修補客戶端140內。
可以標準化格式產生私鑰200至255。這可提供用於金鑰備份及災難復原的情形。此外,金鑰的產生可不用依賴任何一個安全供應商(security provider)。在應用RSA加密的實施例中,經由模數(亦即,秘密質數的p*q乘積)與公開指數(public exponent),公鑰300至355可當作C標頭直接處理。該等簽章可以PKCS#1(公鑰密碼系統標準#1)格式產生,RSA的 CryptoCME與BSAFE程式庫以及與HSM裝置協作的OpenSSL有支援此格式。
在一實施例中,公鑰300至355可為1024個位元長。不過,在其他實施例中,可用其他的金鑰長度。例如,可使用512位元的RSA或DSA(數位簽章演算法)金鑰以節省儲存器以及簽章核對的計算時間。與KEK金鑰160相反,公鑰300至355可不必隱藏於修補客戶端140內。根據本實施例,KEK金鑰160為用於所有修補客戶端140的主金鑰且有128個位元的位元長度。例如,KEK金鑰160可為128位元的AES金鑰。替換地,128位元的雙魚金鑰或256位元的AES金鑰或任何其他適當的金鑰可用來作為KEK金鑰160。
應注意,使用12對金鑰做出修補的簽章只是一特殊的實施例。替換地,可使用較少或較多的金鑰群組(修補伺服器100則各自包含較少或較多的金鑰產生平台)且各個公鑰/私鑰群組可包含比4個少或多的公鑰/私鑰。此外,矩陣中金鑰的排列係經選定而僅供圖解說明。可使用各種其他用於儲存公鑰及私鑰的形式。具體言之,可用3個金鑰產生平台110、120、130分開儲存及處理3個私鑰群組260、270、280。基於安全理由,甚至可分開儲存各個私鑰群組260、270、280的個別私鑰200至255。
請參考第4至8、11、12及14圖,以下根據第一實施例描述修補伺服器100的操作。在此實施例中,該等修補客戶端140在讀取整個修補後能夠驗證由修補伺服器100與修補一起收到的簽章。
第4圖根據該實施例圖示修補伺服器100的整體操作。在步驟400中,可進行雜湊鏈接(hash chain)。該雜湊鏈接400可包含4個步驟,如第5圖所示。
首先,在步驟510中,藉由雜湊修補而計算出基本雜湊總合H。隨後,在步驟520中,可藉由雜湊該基本雜湊總合H與一數值為0之位元組的串接(H |‘0’)而計算出第一雜湊總合H1 (因此,“|”係指串接而‘0,係數值為0的位元組)。然後,在步驟530中,藉由雜湊步驟520計算出之第一雜湊總合H1 與一數值為1之位元組‘1,的串接(H1 |‘1,)而計算出第二雜湊總合H2 。最後,藉由雜湊步驟530所得之第二雜湊總合H2與一數值為2之位元組‘2’的串接(H2 |‘2’)而計算出第三雜湊總合H3 (步驟540)。
應注意,根據本實施例,各個修補包含3個在步驟420基於該3個雜湊總合H1 、H2 、及H3 而計算出的簽章(請參考以下說明)。在其他實施例中,該等修補可包含較少或較多的簽章。因此,在這些實施例中,雜湊鏈接400會較短或較長。
請回到第4圖,此時在步驟410中可選定私鑰以便在步驟420產生簽章。根據該實施例,私鑰選擇410的個別步驟係圖示於第6圖。
在步驟610中,可由第一私鑰群組260選出第一私鑰。然後,在步驟620中,從第二私鑰群組270選出第二私鑰。同樣地,在步驟630中,從第三私鑰群組280選出第三私鑰。
應瞭解,圖中步驟的順序係經選定僅供圖解說明用。當然,可以任何其他的次序選定該等私鑰。替換地,在步驟400進行雜湊鏈接之前可選定一些或所有的私鑰。此外,在使用私鑰群組260至280數目不相同的實施例中,私鑰選擇410可因此包含比第6圖中3個步驟600至630少或多的選擇步驟。
在私鑰選擇410之後,在步驟420中可產生3個數位簽章D1 至D3 ,隨後會將彼等加至待送到修補客戶端140的修補以便能檢查真實性與完整性。第7圖係圖示更多私鑰選擇410的細節。
在步驟710中,使用在步驟610選出的第一私鑰,藉由簽章在步驟520中計算出之第一雜湊總合H1 而可計算出第一數位簽章D1 。然後,在步驟720中,使用在步驟620選出之第二私鑰群組270,藉由簽章在步驟530所得之第二雜湊總合H2 而可計算出第二數位簽章D2 。最後,在步驟730中,使用在步驟630選出之第三私鑰,藉由簽章在步驟540計算出的第三雜湊總合H3 而可計算出第三數位簽章D3 。因此,本實施例所用的3個簽章各自基於每一種的一個金鑰。
因此,簽章雜湊總合H1 至H3 的各個步驟可包含另一雜湊運算接著使用各自選定的私鑰加密(或解密,這取決於所用的簽章演算法)。替換地,藉由用對應選定之私鑰簡單地加密或解密各個雜湊總合H1 至H3 而可計算出數位簽章D1 至D3 。其他的演算法可用來產生數位簽章D1至D3係取決於金鑰產生平台110至130用於哪一種實作。
此外,第7圖圖示之步驟的特定順序僅供圖解說明用。在其他實施例中,可以任何次序產生數位簽章D1 至D3 或簽章產生420的步驟可與雜湊鏈接400及/或私鑰選擇410的步驟交錯。例如,在剛計算出第一雜湊總合H1 (步驟520)以及選定第一私鑰(步驟610)後,就可進行計算第一數位簽章D1 的步驟710。第二數位簽章D2 的計算720可以類似的方式進行。此外,對於將較多或較少數位簽章加至修補的實施例,簽章產生420可因此包含較多或較少的計算步驟。
在步驟420中產生簽章後,在步驟430可判斷該等簽章中之一個是否應為虛擬簽章(dummy signature)。使用虛擬簽章使得安全地跳過被破解(compromised)或遺失的金鑰成為可能。例如,如果在步驟610至630中之一個步驟中,選出的私鑰已知被破解時,在步驟430可判斷對應的數位簽章應為虛擬簽章。對於此目的,修補伺服器100可以適當的形式儲存哪些私鑰200至255已被偷或遺失,亦即,不會再使用的金鑰。例如,藉由維護對應查找表可做成此功能。因此,根據本實施例,可安全地跳過遺失或被偷的金鑰。而不需作廢或更換這些金鑰。
如果要使用虛擬簽章,在步驟440中可用虛擬簽章取代各由步驟420產生的數位簽章。替換地,在簽章產生之前,可進行是否簽章應為虛擬簽章的判斷430,且如果簽章應為虛擬簽章,可跳過對應的簽章產生步驟710、720、730,而各個簽章直接使用虛擬簽章。
在步驟450中,可產生金鑰指標。該金鑰指標可記錄在步驟410從3個私鑰群組260、270、280之中選出的金鑰。第12圖中圖示該金鑰指標的示範構成元素。
根據本實施例,該金鑰指標為8位元整數值。前兩個位元可表示第一金鑰指標1210,其指定第一私鑰群組260的4個私鑰200至215中之哪一個已被選定用來產生第一數位簽章D1 。例如,如果前兩個位元的數值為3,這表示在步驟610中已選定第三私鑰210且用於步驟710。下兩個位元可建立第二金鑰指標1220,其表示第二私鑰群組270的4個私鑰220至235中之哪一個已被選定(步驟620)用來產生第二數位簽章(步驟720)。同樣地,第三金鑰指標1230可用第五及第六位元指定已在步驟630選定4個私鑰240至255之中的哪一個是用來在步驟730產生第三數位簽章。
在使用較多或較少私鑰群組的實施例中,金鑰指標可因此包含較多或較少的個別金鑰指標1210至1230。此外,有些實施例是每一私鑰群組260、270、280包含比4個多或少的私鑰。因此,各個第一至第三金鑰指標1210至1230可較長或較短。此外,個別金鑰指標1210至1230的順序可不相同。
金鑰指標可進一步指定是否已使用虛擬簽章,若是的話,是簽章中哪一個為虛擬簽章。為此目的,第12圖中金鑰指標用最後兩個位元表示虛擬指標1240。根據本實施例,該虛擬指標1240指定所有3個簽章D1 至D3 中,如果兩個位元的數值為0時,則該等簽章為有效的簽章。1、2或3的數值可分別表示第一、第二或第三簽章為虛擬簽章。替換地,虛擬指標當然可分配不同的數值。
在其他實施例中,可使用比3個多或少的簽章簽名修補。虛擬指標1240因此可比2個位元長或短。此外,1個以上的簽章可為虛擬簽章。在該等實施例中,虛擬指標1240也可比2個位元長。一旦產生金鑰指標後,在步驟460中可組合修補塊(patch block)。根據本實施例,該修補塊具有圖示於第11圖的格式。
如第11圖所示,該修補塊1100可以在步驟710產生第一數位簽章1110開始,接著分別在步驟720與730中產生第二數位簽章1120與第三數位簽章1130。在簽章1110至1130之後,該修補塊1100可包含由步驟450得到的金鑰指標1140。最後,修補塊1140可包含修補1150本身。圖示於第11圖之修補塊1100的特定構成元素不應被視為是要限定本發明。在其他實施例中,可以不同的的方式配置修補塊1100。
在修補塊組合460之後,在步驟470可進行KEK加密。第8圖中係圖示根據本實施例之KEK加密470的更多細節。
在步驟810中,可產生隨機對話金鑰,以下也被稱作對稱金鑰。通行短語的拆開部份可保全對話金鑰的產生,例如用nCipher HSM裝置的操作員卡上的共享秘密。在其他實施例中,在修補傳輸處理期間不產生該對稱金鑰,反而是先行產生且儲存於修補伺服器100。在該等實施例中,可將對稱金鑰隱藏於硬體內。這可用各種方式實現。例如,由於會有很多人檢查這個代碼,由數個分散來源產生金鑰可用於此目的,使得無人知道金鑰如何產生的所有細節,但在必要時可重建所有的資訊。替換地,可將對稱金鑰隱藏於某些HSM內。此外,該等實施例的修補伺服器100可包含一些硬方法(hard method)以便在遺失時重建對稱金鑰。
步驟820中可使用隨機對話金鑰加密在步驟460組合的修補塊1100。這可用AES加密來完成。最後,在步驟830中使用KEK金鑰160加密該隨機對話金鑰。在其他實施例中,可以相反順序進行步驟820與830。
在KEK加密470期間,可以輸出反饋模式(OFB)加密所有的資訊(除了基於一些理由需呈明文的標頭部份以外)。這使得修補隨後在修補客戶端140可被解碼成串流(stream)。不需填補(padding)且可進行逐筆記錄的解密而不會有任何問題。在替代性的實施例中,串流加密可改用加密反饋模式(CFB)。CFB模式與明文相關且錯誤會散佈至少一個修補塊。然而,如果使用OFB模式,即使只有一個位元被某一攻擊者翻轉或添加也會有與被毀修補塊一樣的致命效果,而且在這兩種情況下在修補客戶端140的數位簽章驗證會失敗。所以,使用OFB模式能增強安全性。
由於在進行KEK加密步驟470之前已使數位簽章D1 至D3 內含於修補塊1100(步驟460),也根據本實施例用加密保護該等數位簽章。這可降低攻擊者找到安全漏洞的風險。
為了致使對稱式KEK加密470更加安全,OFB模式中使用的初始化向量(initialization vector)可經選定為唯一,亦即,使彼等在所有修補中決不重覆。這可藉由例如在初始化向量的固定部份中包含序號達成。替換地,可使用用於此目的的時間戳記。
現在請參考第4圖,在步驟480中可組合傳輸塊(transmission block)。本實施例之傳輸塊的構成元素係圖示於第14圖。
具體言之,傳輸塊1400可分別由步驟830、820所得之加密對話金鑰1410接著加密修補1420而構成。根據本實施例,加密對話金鑰為128個位元長。替換地,在其他實施例中也可使用其他長度的對話金鑰。
最後,在步驟490中,可將傳輸塊發送到修補客戶端140。
如前述,在簽章期間的硬體失敗可能會洩露私鑰。為了避免此風險,在送到修補客戶端140(步驟490)之前,可核對步驟420中產生的簽章。因此,可用不同的程式核對各個簽章D1 至D3 。例如,可由廠商驗證(尚未出售)修補客戶端140在開機時是否有包含待核對之簽章的實際修補。
根據上述實施例,修補客戶端140中數位簽章D1 至D3 的驗證有可能是只在讀取整個修補1150之後。不過,在其他的實施例中,可能希望在解碼每筆修補後立即檢查真實性與完整性。這在第二實施例中是有可能的,而現在將參考第9、10及13圖而予以說明。
在此實施例中,修補伺服器100的整體操作可與第4圖中的操作相對應,且私鑰選擇410、虛擬處理430與440、金鑰指標產生450、KEK加密470、以及傳輸塊的組合與傳輸480與490可與上述的相同。不過,可使用經修改之雜湊鏈接400與簽章產生420。此外,修補塊組合460可能產生構成元素與上述不同的修補塊。
首先與本實施例有關的修補塊及其構成係圖示於第13圖。
與第一實施例的修補塊1100相似,修補塊1300可由3個數位簽章(D1 至D3 )1310、1320、1330開始,接著金鑰指標1340。金鑰指標1340可對應至以上參考第11、12圖所描述的金鑰指標1140。不過,數位簽章1310、1320、1330的計算方式可不同於第一實施例的數位簽章,以下將參考第10圖而加以解釋。此外,修補的每筆記錄(R1 至Rn )1355、1365、1375、1385的前面為密碼雜湊總合(H1 至Hn )1350、1360、1370、1380。
根據本實施例,雜湊總合1350、1360、1370、1380的計算是在第4圖的步驟400中進行且在第9圖中圖示更多細節。
首先,在步驟910中,藉由雜湊待傳輸修補之第n筆記錄Rn 1385與由0值位元構成之雜湊總合值“0 ”的串接(Rn |0 )可計算出雜湊總合Hn 1380。在其他的實施例,在步驟910中只有將記錄Rn 加以雜湊。然後,在步驟920中,藉由雜湊第(n-1)筆記錄Rn 1 1375與前一個計算出之雜湊總合Hn 1380的串接(Rn 1 | Hn )計算出雜湊總合Hn 1 1370。接著,在步驟930至940中以類似的方式計算出雜湊總合Hn 2 至H1 。在其他實施例中,可跳過最後一個步驟940,且在隨後的步驟中第一記錄R1 用來取代由步驟940所得之雜湊總合H1 。不過,圖示於第9圖之實施例的編程(programming)比較簡單和強健。
根據本實施例,經修改之簽章產生420係圖示於第10圖。
在步驟1010中,藉由使用在第6圖步驟610選出的第一私鑰簽章(亦即,雜湊及解碼/加密或簡單解碼/加密,如在描述第7圖時所述)第一雜湊總合H1 1350而可計算出第一數位簽章D1 1310。在步驟1020中,藉由使用在步驟620選定的第二私鑰簽章第一雜湊總合H1 1350而可因此計算出第二數位簽章D2 1320。最後,在步驟1030中,藉由使用在步驟630所得之第三私鑰簽章第一雜湊總合H1 1350而可產生第三數位簽章D3 1330。
圖示步驟之順序不應被視為要限定本發明。例如,可以不同的次序計算數位簽章D1 至D3 。此外,計算步驟1010至1030可與圖示於第6圖之私鑰選擇及/或圖示於第9圖之雜湊鏈接交錯。例如,在剛計算出第一雜湊總合H1 以及選定對應的私鑰後,就可計算出數位簽章D1 至D3
一旦修補伺服器100已將包含加密修補的傳輸塊1400送到修補客戶端140後,可使用公鑰矩陣150與KEK金鑰160而將該修補安全地安裝於修補客戶端140。此時參考第15至17圖,其係根據一實施例描述由修補客戶端140完成的安全修補安裝過程。於只在解密整個修補之後驗證數位簽章D1 至D3 1110、1120、1130的實施例中,可使用此修補安裝過程。
首先請參考第15圖,在步驟1500中修補客戶端140可收到傳輸塊1400。然後,在步驟1510中可使用KEK金鑰160解密經加密之隨機對話金鑰1410。在步驟1520中,在AES演算法下使用在步驟1510之前得到的隨機對話金鑰可解密經加密之修補塊1420。使用以上在描述第8圖時所述之OFB模式可達成步驟1510與1520的解密。
在步驟1530中,可選定待用來驗證簽章的公鑰。更多細節會圖示於第16圖。
首先,在步驟1610中,使用在步驟1520之前被解密的第一金鑰指標1210從第一公鑰群組360可選出第一公鑰。具體言之,可選定在公鑰300至315之中的金鑰(第一金鑰指標1210指向該金鑰)作為第一公鑰。經選定的第一公鑰可與在步驟610被選定修補伺服器100的第一私鑰相對應(請參考第6圖)。因此,步驟1620與1630可包含:各自使用第二與第三金鑰指標1220、1230,各自從第二與第三公鑰群組370、380選出第二與第三公鑰。第二與第三公鑰可分別與各自在步驟620與630被修補伺服器100選定的第二與第三私鑰相對應。
當然,可用任何一種次序進行公鑰選定步驟1610至1630。此外,在使用比3個多或少的公鑰群組360至380(且因此有比3個多或少的私鑰群組260至280)的實施例中,公鑰選擇1530可因此包含較多或較少的選擇步驟。
在選定公鑰後,在步驟1540可驗證簽章1110至1130。第17圖係根據本實施例圖示簽章驗證的子步驟(substep)。
首先,在步驟700中進行雜湊鏈接。根據該實施例,由修補客戶端140進行的雜湊鏈接700係與由以上在說明第5圖時所描述之修補伺服器100形成的雜湊鏈接相對應。
然後,在步驟710中,各自從步驟520、530及540得到的雜湊總合H1、H2及H3可再度加以雜湊。在由修補伺服器100於步驟710至730進行的簽章步驟不包含進一步的雜湊而只有解密/加密的實施例中,步驟1710可跳過。
在步驟1710之後,在步驟1520解密經加密之修補塊1420時所得到的數位簽章(D1 -D3 )1110、1120、1130可分別用第一、第二及第三公鑰解密。
然後,在步驟1750至1770中,由步驟1720至1740得到的經解密之數位簽章可與在步驟1710得到經再度雜湊之雜湊總合H1 至H3 相比較。在跳過步驟1710的實施例中,經解密之數位簽章可各自直接與雜湊總合H1 至H3 相比較。
在步驟1780中,可判斷數位簽章(D1 -D3 )1110、1120、1130之中是否有虛擬簽章。這可藉由檢查金鑰指標1140的虛擬指標1240達成。
若有的話,在步驟1790中,可決定在其餘的安全修補安裝過程期間忽略以虛擬指標1240鑑定為虛擬簽章的數位簽章。在其他實施例中,如上述,會有1個以上的數位簽章可能為虛擬簽章。在該等實施例中,在其餘的修補安裝過程期間可忽略所有的虛擬簽章。
如果步驟1780顯示虛擬指標1240指定所有的數位簽章1110至1130均為有效的簽章,亦即,沒有虛擬簽章,則不會進行步驟1790且在安全修補安裝的其餘步驟期間會將所有的數位簽章1110、1120、1130納入考慮。
一旦在步驟1540驗證簽章後,在步驟1550中可判斷所有的數位簽章1110、1120、1130是否正常。根據本實施例,如果比較步驟1750至1770的結果為相等則成立。若是如此,在步驟1560中可安裝修補於修補客戶端140內。步驟1560可包含:向修補客戶端140的使用者提供修補安裝成功的報告及/或因此通知修補伺服器100。
不過,如果步驟1750至1770中之至少一個顯示經解密之數位簽章與對應雜湊總合(已被雜湊)不相同時,在步驟1570中可決定不將所收到的修補安裝於修補客戶端140內。這可包含,例如,向使用者提供錯誤訊息及/或通知修補伺服器100修補安裝失敗。
應瞭解,第15至17圖中步驟的特定順序係經選定僅供圖解說明用。在其他實施例中,可以不同的次序排列個別的子步驟,例如,解密步驟1720至1740可與比較步驟1750至1770相互交錯。此外,可將雜湊步驟1710分為3個個別的子步驟,彼等也可與比較步驟1720至1770的解密相互交錯。此外,雜湊鏈接1700的個別步驟510至540可分散於雜湊解密與比較步驟1710至1770之中。
此外,在使用較多或較少個私鑰及公鑰群組的實施例中,簽章驗證1540可因此包含較多或較少的雜湊、解密及比較步驟1710至1770。
此外,在第一解密步驟1720之前或甚至在簽章驗證1540開始時或公鑰選擇1530之前,可進行步驟1780與1790的虛擬處理。如果在該等實施例的步驟1780中判斷特定的簽章1110、1120、1130為虛擬簽章,則公鑰選擇1530與簽章驗證1700至1770的對應步驟可跳過。例如,如果第三數位簽章D3 為虛擬簽章,則不需計算步驟540的第三雜湊總合H3 、選出步驟1630的第三公鑰、雜湊步驟1710的第三雜湊總合H3 、解密步驟1740的第三數位簽章、及/或進行步驟1770的比較。
如上述,本實施例的修補安裝計畫使得只在整個加密修補塊1420已被解密之後才能驗證簽章。不過,有的實施例是想要在修補有已被解密的記錄後就立即驗證修補是否可安裝。以上在說明第9、10、13圖時已描述該實施例中之修補伺服器100的操作。此時,參考第18至20圖描述待由修補客戶端140完成的對應安全修補安裝。
在第18圖的步驟1800中,在修補客戶端140可收到傳輸塊1400。在步驟1810中,使用KEK金鑰160解密內含於該傳輸塊1400的加密隨機對話金鑰1410。此步驟可對應至第15圖的步驟1510。
隨後,在步驟1820中,在步驟1810得到的隨機對話金鑰可用來解密內含於加密修補塊1420的資訊。步驟1820完成解密的方式可與步驟1520完成解密的方式相同。不過,根據本實施例,在步驟1820中可以只將經加密之簽章和經加密之金鑰指標解密。隨後在步驟1840與1850中可將經加密之修補塊1420的其餘部份以逐筆記錄的方式解密。
在步驟1830中,公鑰的選定可基於在步驟1820取得的金鑰指標1340。這可對應至以上在說明第15圖時所描述的公鑰選擇1530。然後,在步驟1840中,可驗證在步驟1820得到的數位簽章(D1 至D3 )1310、1320、1330。第19圖中有詳細圖示。
首先,在步驟1900中,傳輸塊1400所收到之修補的經加密之第一雜湊總合以及經加密之第一記錄可用步驟1810得到的隨機對話金鑰解密。達成的方式可與以上在解釋第15圖時所描述之步驟1520的解密相同。隨後,在步驟1910中可雜湊在步驟1900回收的第一雜湊總合H1 1350。在其他實施例中,特別是,在步驟1010至1030由修補伺服器100完成簽章的步驟不包含任何雜湊的實施例中,可跳過步驟1910。
隨後,在步驟1920至1940中,使用在步驟1830中選出的第一至第三公鑰可分別將由步驟1820得到的數位簽章(D1 至D3 )1310至1330解密。然後,在步驟1950至1970中,步驟1920至1940的每個結果可分別與步驟1910的結果比較。反之,在跳過步驟1910的實施例中,由步驟1920至1940得到的經解密之簽章可與從步驟1900得到的雜湊總合H1 相比較。
最後,在步驟1980與1990中可進行虛擬簽章的處理。這可對應至以上在說明第17圖步驟1780與1790所描述之虛擬簽章的處理。
此外,第18與19圖中步驟的特定順序為僅供圖解說明用且不應被視為要限定本發明。在其他實施例中,各個步驟的次序可不相同,例如交錯的順序。此外,例如,在簽章驗證1840開始時或在公鑰選擇1830之前,可進行步驟1980與1990的虛擬簽章處理。在該等實施例中,可跳過以下所有的步驟:與被虛擬指標1240鑑定為虛擬簽章之數位簽章有關的公鑰選擇1830與簽章驗證1900至1970。
現在請參考第18圖,在步驟1850中,可以逐筆記錄的方式解密經加密之修補塊1420的其餘部份。根據本實施例逐筆記錄的修補解密計畫係圖示於第20圖。
因此,首先在步驟2000中可檢查所有的簽章D1 至D3 是否正常。步驟2000可包含:判斷所有的比較步驟1950至1970的結果是否相等。如上述,對於此判斷,最後幾個虛擬簽章可不納入考慮。
如果判斷為否,亦即,經解密之數位簽章D1 至D3 中之至少一個不同於(經雜湊之)雜湊總合H1 ,在步驟2050中可決定不安裝本修補。這可對應至第15圖的步驟1570。
不過,如果所有的簽章都正常,內含於加密修補塊1420的第二加密雜湊總合與第二加密修補記錄可用在步驟1810得到的隨機對話金鑰解密。步驟2005完成解密的方式可與上述步驟1820完成解密的方式相同。然後,在步驟2010中,可雜湊第一記錄R1 1355(已在步驟1900得到)與在步驟2005得到之第二雜湊總合H2 1360的串接(R1 | H2 )。
結果可與先前得到的雜湊總合H1 1350(在解密步驟1900)相比較。如果步驟2020判定這兩個雜湊總合不相等,則修補解密計畫可前進到步驟2050而決定不安裝該修補。否則對於第三至最後一個雜湊總合以及加密修補塊1420中的記錄,可因此分別重覆步驟2005至2020。
如果步驟2020的比較對於所有經解密之雜湊總合和記錄有正面的解答,則在步驟2030可計算出最後一筆修補記錄Rn 1385與由0位元構成之雜湊總合數值“0”的串接(Rn | 0)。在步驟2035,此數值可與修補塊1300的最後一個雜湊總合Hn 1380相比較。
如果在步驟2040判斷兩個數值為相等,則在步驟2045可安裝修補,且可通知使用者及/或修補伺服器100修補安裝成功。否則,在步驟2040決定不安裝該修補。
根據圖示於第18至20圖的實施例,在步驟2045中不是完全安裝所收到的修補就是不安裝,即使只有一個修補記錄損壞。在該實施例中,修補中只要有一個翻轉的位元或增減的位元組就足以阻止修補客戶端140的啟動。這可增加安全性,例如,防止以讓使用者認為只是收到畸形修補的方式修改修補的電腦蠕蟲。
不過,在其他實施例中,在不需要有此程度的安全性時,修補的記錄1355、1365、1375、1385各自對於步驟2000、2020或2040的解答為正面時就可安裝。因此,對於步驟2000、2020或2040的負面解答在步驟2050不會導致忽略整個修補而只對記錄1355、1365、1375、1385做一般性的檢查。在此類系統中,藉由在收到修補時強迫使用者檢查例如MD5總合或在修補安裝過程中包含一些初診檢查,仍可增強安全性。由於OFB模式可使錯誤局部化,OFB加密模式只能用於修補的個別記錄1355、1365、1375、1385。
根據所描述的實施例,安全修補安裝過程係由修補客戶端140自動完成且使用者對於處理不會有任何影響。此外,使用者也沒有看見修補客戶端140內部發生何事的任何可能性。不過,在步驟1570或2050仍會提供使用者錯誤訊息或在步驟1560或2045報告修補已正確安裝。
此外,根據本實施例,所描述的安全功能被關掉是不可能的。這可防止由“影子”變數報告有關取消安全密碼(security disable pin)的狀態而引起的攻擊。在基於效能的理由關掉安全功能的實施例中,可保證這個變數不會被任何軟體修改。這是因為設定該變數的軟體也會被攻擊。
由以上實施例的說明顯而易見,本發明可提供用於更新軟體的方法與系統且增加秘密保護和金鑰遺失的容忍度。特別是,藉由使用金鑰產生平台110、120、130而可顯著增加安全性。
藉由組合源自不同產生平台110、120、130的金鑰,可降低如果用於產生金鑰的平台110、120、130有安全漏洞所致之弱簽章金鑰的風險。通常這種風險會在嵌入新金鑰之硬體中造成矽有變化的問題,因此相當昂貴。因此,建議在不同平台110、120、130上產生金鑰的組合也可降低產品及維護成本。
藉由使用位元指標1140、1340(其係指向從矩陣150選出的金鑰)可實現金鑰遺失(亦即,在無法使用金鑰的情形下)的保護。從而,如果遺失金鑰,可避免變更硬體或使用作廢清單的需要。
此外,建議從由12個金鑰構成之矩陣選出的3個金鑰使用於3個數位簽章D1 至D3 可增加在金鑰洩露/被偷的情形之下的保護,從而可供大眾使用。這使得攻擊者更加難以插入假造的修補。為了安排攻擊需要盜取至少一整組的3個密鑰(可用不同的方法或實體保護),而這組金鑰是由金鑰矩陣的3欄260、270、280形成。即使在此情況下,假若不知的欠周詳(indiscretion),所有修補客戶端140之中只有約64分之一會被假造的蠕蟲感染。對於已知的欠周詳,理論上達10個金鑰才可被破解而不破壞安全性:上述有2個位元之金鑰指標1140、1340的虛擬指標1240可容許破解一個私鑰群組260、270、280之中的所有4個金鑰。在使用4個簽章且不容許虛擬簽章的替代實施例,機率甚至由1/64降到1/256(在此必須洩露至少4個私鑰)。不過,在該等實施例中,各個私鑰群組必有至少一個有效金鑰可維持安全性。
以上在說明第5及9圖時所描述的雜湊鏈接可允許包含不同的機構在簽章處理時無一機構能夠知道所簽章的是否為同一個修補套裝軟體。在有些情況下這可提供進一步的安全性,同時成本不變。
此外,第5及9圖的雜湊鏈接提供重要的安全勝利。最新的結果暗示密碼雜湊函數(例如,MD5與SHA-0(保全雜湊演算法0))有致命的瑕疵。不清楚SHA-1是否可破解甚至是否可以可用方式破解。不過,即使用相同的SHA-1雜湊值可構成有不同意義的文字,完全不切實際的是,若由圖示於第5及9圖的雜湊鏈接提供,這對2個甚至更多個的鏈接雜湊而言是有可能的。
建議的概念保證有極佳的修補完整性,其使用數個數位簽章D1 至D3 ,使用與周全金鑰管理結合的異質公鑰。即使在只使用HSM金鑰的實施例中,安全性仍然很高。藉由用可藏在修補客戶端韌體內的KEK金鑰加密可保護修補內容。
在可信賴的第三方(TTP)涉入安全處理的實施例中,只有雜湊值才需要加以簽章。從而可進一步增強安全性,因為可避免顯露修補來源的風險。
相較於增益,建議之解決方案的成本低。修補開發及發佈遠比金鑰處理、備份、數位簽章及加密昂貴,即使在此過程涉及數個實例的實施例中。修補客戶端140的製造成本幾乎不變且添加所描述之安全修補功能所增加的成本也有限。在修補客戶端140開機期間解密及簽章檢查可能需要最少的時間。不過,安全性勝過先前技術簡單的修補系統很多。因此,本發明實施例可顯著增加修補系統的安全性、可靠性及效率,而不會過當地增加對應的成本。
儘管已用依照本發明所述構成的實際實施例描述本發明,顯然對熟諳此藝者而言,根據上述教導且在隨附之申請專利範圍的範圍內可做出各種本發明的修改、變體及改進而不脫離本發明的範疇。此外,相信本技藝一般技術人員已熟悉的領域在本文中不需再加以描述以免不必要地混淆在本文中所描述的發明。因此,應瞭解,本發明不受限於特定的示範實施例,而只受限於隨附申請專利範圍的範疇。
產業上利用性
本發明的實施例可應用於電腦技術領域,而因此可用於工業領域。
100...修補伺服器
110...第一金鑰產生平台
120...第二金鑰產生平台
130...第三金鑰產生平台
140...修補客戶端
150...公鑰矩陣
160...金鑰加密金鑰
200、205、210、215、220、225、230、235、240、245、250、255...私鑰
260...第一私鑰群組
270...第二私鑰群組
280...第三私鑰群組
300、305、310、315、320、325、330、335、340、345、350、355...公鑰
360...第一公鑰群組
370...第二公鑰群組
380...第三金鑰群組
400、410、420、430、440、450、460、470...步驟
480、490、510、520、530、540、610、620、630、710、720、730、810、820、830、910、920、930、940、1010、1020、1030...步驟
1100...修補塊
1110...第一數位簽章
1120...第二數位簽章
1130...第三數位簽章
1140...金鑰指標
1150...修補
1210...第一金鑰指標
1220...第二金鑰指標
1230...第三金鑰指標
1240...虛擬指標
1300...修補塊
1310、1320、1330...數位簽章
1340...金鑰指標
1350、1360、1370、1380...密碼雜湊總合
1355、1365、1375、1385...記錄
1400...傳輸塊
1410...加密對話金鑰
1420...加密修補塊
1500、1510、1520、1530、1540、1550、1560、1570、1610、1620、1630、1700、1710、1720、1730、1740、1750、1760、1770、1780、1790、1800、1810、1820、1830、1840、1850、1900、1910、1920、1930、1940、1950、1960、1970、1980、1990、2000、2005、2010、2015、2020、2030、2035、2040、2045、2050...步驟
D1 ...第一數位簽章
D2 ...第二數位簽章
D3 ...第三數位簽章
H1 ...第一雜湊總合
H2 ...第二雜湊總合
H3 ...第三雜湊總合
為了解釋本發明的原理,將附圖併入本說明書且作為本說明書的一部份。該等附圖不視為是要把本發明限定成只是用來圖解說明及描述如何做成及使用本發明的範例。如附圖所示,由以上本發明更詳細的說明可更加明白本發明的其他特徵及優點,其中:第1圖係根據一實施例而圖示修補系統的組件的方塊圖;第2圖係根據一實施例而圖解說明密鑰管理的方塊圖;第3圖係根據一實施例而圖解說明公鑰管理的方塊圖;第4圖係根據一實施例而圖解說明修補發送的流程圖;第5圖係根據一實施例而圖解說明雜湊鏈接的步驟;第6圖係根據一實施例而顯示私鑰選擇的流程圖;第7圖係根據一實施例而圖解說明簽章產生的流程圖;第8圖係根據一實施例而展示KEK加密的步驟;第9圖係根據另一實施例而圖解說明雜湊鏈接的步驟的流程圖;第10圖係根據另一實施例而顯示簽章產生的流程圖;第11圖係根據一實施例而圖解說明修補塊的構成;第12圖係根據該實施例而圖解說明金鑰指標的組態的方塊圖;第13圖係根據另一實施例而圖解說明修補塊的配置的方塊圖;第14圖係根據一實施例而圖示傳輸塊的方塊圖;第15圖係根據一實施例而圖解說明修補的安裝過程的流程圖;第16圖係根據一實施例而圖解說明公鑰選擇的流程圖;第17圖係根據一實施例而展示簽章驗證的流程圖;第18圖係根據另一實施例而圖解說明修補安裝的流程圖;第19圖係根據另一實施例而圖解說明簽章驗證;以及第20圖係根據另一實施例而圖解說明逐筆記錄的修補解密的流程圖。
100...修補伺服器
110...第一金鑰產生平台
120...第二金鑰產生平台
130...第三金鑰產生平台
140...修補客戶端
150...公鑰矩陣
160...金鑰加密金鑰

Claims (10)

  1. 一種修補伺服器(100),連接至修補客戶端(140),用以提供修補(1150、1355、1365、1375、1385)至該修補客戶端,該修補伺服器包含:第一金鑰產生平台(110),經配置成產生包含多個第一私鑰(200至215)的第一私鑰群組(260);第二金鑰產生平台(120),與該第一金鑰產生平台不相同且經配置成產生包含多個第二私鑰(220至235)的第二私鑰群組(270);第一金鑰選擇器,經配置成從該第一私鑰群組選定(410、610)該等第一私鑰中之一個;第二金鑰選擇器,經配置成從該第二私鑰群組選定(410、620)該等第二私鑰中之一個;第一簽章產生器,經配置成基於該修補以及該第一選定私鑰而產生(420、710、1010)第一數位簽章(1110、1310);第二簽章產生器,經配置成基於該修補以及該第二選定私鑰而產生(420、720、1020)第二數位簽章(1120、1320);以及發送器,經配置成一起發送(490)該修補以及該等第一與第二數位簽章至該修補客戶端。
  2. 如申請專利範圍第1項之修補伺服器,進一步包含:第一雜湊器,經配置成基於該修補而計算出(400、510)第一雜湊總合;以及 第二雜湊器,經配置成基於該第一雜湊總合而計算出(400、520)第二雜湊總合;其中第一簽章產生器係進一步經配置成基於該第二雜湊總合而產生(420、710)該第一數位簽章。
  3. 如申請專利範圍第2項之修補伺服器,進一步包含:第三雜湊器,經配置成基於該第二雜湊總合而計算出(400、530)第三雜湊總合;其中該第二簽章產生器係進一步經配置成基於該第三雜湊總合而產生(420、720)該第二數位簽章。
  4. 如申請專利範圍第1項之修補伺服器,進一步包含:雜湊器,經配置成計算出(400、910至940)多個雜湊總合;其中該修補包含多筆記錄(1355、1365、1375、1385);其中該雜湊器係進一步經配置成基於包含於該修補內之最後一筆記錄(1385)而計算出(400、910)該等多個雜湊總合的第一雜湊總合;以及其中該雜湊器係進一步經配置成:每次基於包含於該修補內之各自的下一筆最近所用的記錄以及該等多個雜湊總合中之各自的最近計算出的雜湊總合而計算出(400、920至940)該等多個雜湊總合中之另一雜湊總合。
  5. 如申請專利範圍第4項之修補伺服器,其中該第一簽章產生器係進一步經配置成基於該等多個雜湊總合中之 最近計算出之雜湊總合而產生(420、1010)該第一數位簽章;以及其中該發送器係進一步經配置成一起發送該修補以及該等第一與第二數位簽章和該等多個雜湊總合至該修補客戶端。
  6. 如申請專利範圍第4項或第5項之修補伺服器,其中該第二簽章產生器係進一步經配置成基於該等多個雜湊總合中之最近計算出之雜湊總合而產生(420、1020)該第二數位簽章;以及其中該發送器係進一步經配置成一起發送該修補以及該等第一與第二數位簽章和該等多個雜湊總合至該修補客戶端。
  7. 如申請專利範圍第1項至第5項中任一項之修補伺服器,進一步包含:金鑰指標產生器,經配置成產生金鑰指標(1140、1340),該金鑰指標包含:第一金鑰指標(1210),其指向已從該第一私鑰群組選定的第一私鑰,以及第二金鑰指標(1220),其指向已從該第二私鑰群組選定的第二私鑰;其中該發送器係進一步經配置成一起發送該修補以及該等第一與第二數位簽章和該金鑰指標至該修補客戶端。
  8. 如申請專利範圍第7項之修補伺服器,其中該金鑰指標產生器係進一步經配置成產生進一步包含虛擬指標(1240)之該金鑰指標,該虛擬指標(1240)鑑定該等第一 與第二數位簽章中之一個為虛擬簽章。
  9. 一種提供修補(1150、1355、1365、1375、1385)至修補客戶端(140)的方法,包含:使用第一金鑰產生平台(110)產生包含多個第一私鑰(200至215)的第一私鑰群組(260);使用不同於該第一金鑰產生平台的第二金鑰產生平台(120)產生包含多個第二私鑰(220至235)的第二私鑰群組(270);從該第一私鑰群組選定(410、610)該等第一私鑰中之一個;從該第二私鑰群組選定(410、620)該等第二私鑰中之一個;基於該修補與該第一選定私鑰產生(420、710、1010)第一數位簽章(1110、1310);基於該修補與該第二選定私鑰產生(420、720、1020)第二數位簽章(1120、1320);以及一起發送該修補以及該等第一與第二數位簽章至該修補客戶端。
  10. 一種修補客戶端(140),連接至修補伺服器(100),用以從該修補伺服器接收(1500、1800)修補(1150、1355、1365、1375、1385),該修補客戶端包含:儲存第一公鑰群組(360)的第一儲存構件,該第一公鑰群組(360)包含多個已由第一金鑰產生平台(110)產生的第一公鑰(300至315); 儲存第二公鑰群組(370)的第二儲存構件,該第二公鑰群組(370)包含多個已由第二金鑰產生平台(120)產生的第二公鑰(320至335),該第二金鑰產生平台(120)與該第一金鑰產生平台不相同;第一金鑰選擇器,經配置成從該第一公鑰群組選定(1530、1610、1830)該等第一公鑰中之一個;第二金鑰選擇器,經配置成從該第二公鑰群組選定(1530、1620、1830)該等第二公鑰中之一個;第一簽章驗證組件,經配置成使用該第一選定公鑰驗證(1540、1720、1750、1840、1920、1950)第一數位簽章(1110、1310),該第一數位簽章與該修補一起從該修補伺服器接收到;以及第二簽章驗證組件,經配置成使用該第二選定公鑰驗證(1540、1730、1760、1840、1930、1960)第二數位簽章(1120、1320),該第二數位簽章與該修補一起從該修補伺服器接收到;其中該修補客戶端係經配置成:只有在驗證該等第一與第二數位簽章的結果分別顯示該等第一與第二數位簽章的真實性與完整性時,才安裝(1560、2045)該修補。
TW095122687A 2005-06-30 2006-06-23 安全修補系統 TWI429255B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005030590A DE102005030590B4 (de) 2005-06-30 2005-06-30 Sicheres Patchsystem
US11/219,260 US7127067B1 (en) 2005-06-30 2005-09-02 Secure patch system

Publications (2)

Publication Number Publication Date
TW200711436A TW200711436A (en) 2007-03-16
TWI429255B true TWI429255B (zh) 2014-03-01

Family

ID=37110635

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095122687A TWI429255B (zh) 2005-06-30 2006-06-23 安全修補系統

Country Status (5)

Country Link
US (1) US7127067B1 (zh)
JP (1) JP4875075B2 (zh)
CN (1) CN101213814B (zh)
DE (1) DE102005030590B4 (zh)
TW (1) TWI429255B (zh)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPS169002A0 (en) 2002-04-11 2002-05-16 Tune, Andrew Dominic An information storage system
US7813510B2 (en) * 2005-02-28 2010-10-12 Motorola, Inc Key management for group communications
US7876902B2 (en) * 2006-08-31 2011-01-25 Microsoft Corporation Distribution of encrypted software update to reduce attack window
ES2712778T3 (es) * 2007-05-30 2019-05-14 Ascensia Diabetes Care Holdings Ag Método y sistema para gestionar datos de salud
DE102007052180A1 (de) * 2007-10-31 2009-05-07 Fujitsu Siemens Computers Gmbh Verfahren, Rechnersystem und Computerprogrammprodukt
US20090132999A1 (en) * 2007-11-21 2009-05-21 At&T Corp. Secure and fault-tolerant system and method for testing a software patch
US8595486B2 (en) * 2008-07-15 2013-11-26 Industrial Technology Research Institute Systems and methods for authorization and data transmission for multicast broadcast services
US20100329458A1 (en) * 2009-06-30 2010-12-30 Anshuman Sinha Smartcard, holder and method for loading and updating access control device firmware and/or programs
TWI448148B (zh) * 2010-08-27 2014-08-01 Tatung Co 可自動驗證ksv金鑰及自我重建hdcp金鑰組之顯示器裝置及其方法
US10298684B2 (en) 2011-04-01 2019-05-21 International Business Machines Corporation Adaptive replication of dispersed data to improve data access performance
US11418580B2 (en) 2011-04-01 2022-08-16 Pure Storage, Inc. Selective generation of secure signatures in a distributed storage network
US8874991B2 (en) * 2011-04-01 2014-10-28 Cleversafe, Inc. Appending data to existing data stored in a dispersed storage network
TWI451741B (zh) * 2012-03-19 2014-09-01 Chiou Haun Lee 以xor運算於三方通訊之加解密方法
CN102904721B (zh) * 2012-09-20 2015-04-08 湖北省电力公司电力科学研究院 用于智能变电站信息安全控制的签名、认证方法及其装置
US8949594B2 (en) * 2013-03-12 2015-02-03 Silver Spring Networks, Inc. System and method for enabling a scalable public-key infrastructure on a smart grid network
US10135621B2 (en) * 2013-12-31 2018-11-20 Nxp B.V. Method to reduce the latency of ECDSA signature generation using precomputation
DE102015108336A1 (de) * 2015-05-27 2016-12-01 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum Ausführen einer sicherheitsrelevanten Anwendung, Computersystem und Anordnung
CN106559217B (zh) * 2015-09-29 2019-09-20 腾讯科技(深圳)有限公司 一种动态加密方法、终端、服务器
US10659234B2 (en) * 2016-02-10 2020-05-19 Cisco Technology, Inc. Dual-signed executable images for customer-provided integrity
KR101893518B1 (ko) 2016-10-28 2018-10-04 한국전자통신연구원 제어 시스템의 업데이트 관리 장치, 업데이트 검증 장치 및 그 방법
CN111046389A (zh) * 2018-10-11 2020-04-21 东硕资讯股份有限公司 固件组件安全更新的方法以及用以实施的携行计算机站
US11372977B2 (en) * 2018-11-12 2022-06-28 Thirdwayv, Inc. Secure over-the-air firmware upgrade
JP6782758B2 (ja) * 2018-12-06 2020-11-11 三菱電機インフォメーションシステムズ株式会社 長期署名データ生成装置および長期署名データ生成方法
CN109687959B (zh) 2018-12-29 2021-11-12 上海唯链信息科技有限公司 密钥安全管理系统和方法、介质和计算机程序
US11138295B2 (en) 2019-03-11 2021-10-05 Good Way Technology Co., Ltd. Method for securely updating firmware components and docking station using the same
US11347895B2 (en) * 2019-12-03 2022-05-31 Aptiv Technologies Limited Method and system of authenticated encryption and decryption
TWI756631B (zh) * 2020-02-12 2022-03-01 瑞昱半導體股份有限公司 具有韌體驗證機制的電腦系統及其韌體驗證方法
JP2020141425A (ja) * 2020-06-10 2020-09-03 エヌ・ティ・ティ・コミュニケーションズ株式会社 端末装置、鍵提供システム、鍵生成方法及びコンピュータプログラム
TWI807707B (zh) * 2022-03-21 2023-07-01 中華電信股份有限公司 安全性軟體更新系統、方法及電腦可讀媒介

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157721A (en) * 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US6367012B1 (en) * 1996-12-06 2002-04-02 Microsoft Corporation Embedding certifications in executable files for network transmission
JPH11282672A (ja) * 1998-03-31 1999-10-15 Hitachi Software Eng Co Ltd オンラインプログラム転送方法およびオンラインプログラム実行システム
EP2306259B1 (en) * 2000-09-21 2015-05-27 BlackBerry Limited Software code signing system and method
US7424706B2 (en) * 2003-07-16 2008-09-09 Microsoft Corporation Automatic detection and patching of vulnerable files

Also Published As

Publication number Publication date
CN101213814B (zh) 2012-02-08
CN101213814A (zh) 2008-07-02
TW200711436A (en) 2007-03-16
US7127067B1 (en) 2006-10-24
DE102005030590A1 (de) 2007-01-04
DE102005030590B4 (de) 2011-03-24
JP4875075B2 (ja) 2012-02-15
JP2009500905A (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
TWI429255B (zh) 安全修補系統
CN109194466B (zh) 一种基于区块链的云端数据完整性检测方法及系统
US9311487B2 (en) Tampering monitoring system, management device, protection control module, and detection module
US7373509B2 (en) Multi-authentication for a computing device connecting to a network
JP3872107B2 (ja) 暗号キー回復システム
CN103595530B (zh) 软件密钥更新方法和装置
Barker et al. NIST special publication 800-57
JP4856080B2 (ja) データ処理装置へのデータのセキュリティ上安全なロード及び格納
KR100702499B1 (ko) 메시지 무결성 보증 시스템, 방법 및 기록 매체
US20060005046A1 (en) Secure firmware update procedure for programmable security devices
US20080025515A1 (en) Systems and Methods for Digitally-Signed Updates
US11683178B2 (en) System and method for measuring and reporting IoT boot integrity
JP2004280284A (ja) 制御プロセッサ、電子機器及び電子機器のプログラム起動方法、並びに電子機器のシステムモジュール更新方法
CN109951276B (zh) 基于tpm的嵌入式设备远程身份认证方法
CN110855667B (zh) 一种区块链加密方法、装置及系统
US20170126663A1 (en) Forward-Secure Crash-Resilient Logging Device
CN117857060B (zh) 一种二维码离线核验方法、系统及存储介质
EP3641219A1 (en) Puf based securing of device update
WO2024212512A1 (zh) 一种远程证明方法、装置、设备及可读存储介质
Backendal et al. MEGA: malleable encryption goes awry
CN118157946A (zh) 数据完整性验证的混合加解密方法、装置、设备及介质
KR20070074617A (ko) 데이터 로드 방법, 데이터 처리 장치, 데이터 항목의무결성 보호 방법 및 데이터 항목의 무결성 검증 방법
KR101290818B1 (ko) 보안 패치 시스템
CN114448794B (zh) 一种基于芯片可信根对固件进行安全升级的方法及装置
KR20200130866A (ko) 모바일 장치용 변조 방지 데이터 인코딩