TWI440351B - 可檢驗的、對洩漏有抵抗性的加密與解密 - Google Patents

可檢驗的、對洩漏有抵抗性的加密與解密 Download PDF

Info

Publication number
TWI440351B
TWI440351B TW099142160A TW99142160A TWI440351B TW I440351 B TWI440351 B TW I440351B TW 099142160 A TW099142160 A TW 099142160A TW 99142160 A TW99142160 A TW 99142160A TW I440351 B TWI440351 B TW I440351B
Authority
TW
Taiwan
Prior art keywords
key
message
cryptographic
encrypted
hash
Prior art date
Application number
TW099142160A
Other languages
English (en)
Other versions
TW201141173A (en
Inventor
Paul C Kocher
Pankaj Rohatgi
Joshua Jaffe
Original Assignee
Cryptography Res 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 Cryptography Res Inc filed Critical Cryptography Res Inc
Publication of TW201141173A publication Critical patent/TW201141173A/zh
Application granted granted Critical
Publication of TWI440351B publication Critical patent/TWI440351B/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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between 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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/76Protecting 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 application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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/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/3271Cryptographic 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 challenge-response
    • 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
    • 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/75Protecting 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 inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/402Encrypted data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

可檢驗的、對洩漏有抵抗性的加密與解密
本專利係關於用於處理加密的資料輸入的技術,且更明確而言,係關於針對外部監控的攻擊保護此等系統及資料。
運算敏感資料的系統需要針對由攻擊者揭露或改變的此等資料的未授權的存取而作保護。得到對密碼金鑰及其他機密的存取的攻擊者可能竊取或竄改敏感資料,導致嚴重的後果,例如透過引進未授權的命令而顛覆系統的關鍵運算,及暴露機密的或所有人的資訊。一個受連累的元件亦可用於發動進一步攻擊,使得系統的其他元件遭到危險。更明確而言,先前研究已顯示一攻擊者可監控一裝置的外部特性,例如運算時間點、功率消耗及/或電磁輻射,且使用此額外的資訊以提取用於裝置中的機密金鑰。舉例而言,如Kocher等人所述(見P.Kocher,J. Jaffe,B. Jun,「Differential Power Analysis」Advances in Cryptology-Crypto 99 Proceedings,Lecture Notes In Computer Science Vol. 1666,Springer-Verlag,1999),本領域中眾所周知一裝置的外部監控對不同資料使用相同組的金鑰實行一連串的密碼運算可導致金鑰的洩漏。
因為外部監控攻擊係典型地消極且非侵入性,所以傳統的基於抑制實體存取或偵測不適當使用情形的抗竄改的防衛不足以或無法切實針對此等攻擊提供保護。舉例而言,使用實體保衛、良好防護的房間的管理機密金鑰的方法係在先前技術領域中為已知的。然而,在許多應用中,要求密碼系統在其給定的預期運算的環境中,以維持實體隔絕設備係並非可行的。此外,此等設備在建造及運作上係為昂貴的,且其能力可能仍非完美得避免洩漏至敵手的小量的資訊。
當然,先前技術領域已知的其他方法可避免監控攻擊而減輕資訊洩漏的問題,無須依賴實體防護。此包括用於減少資訊的量(或比率)從交易洩漏、修改密碼演算法實施以隨機計算中間值、及/或在功率消耗及運算時間點導入雜訊的方法。
舉例而言,美國專利號6539092,名為「Leak-Resistant Cryptographic Indexed Key Update」,提供一種用於將一分享的主要金鑰及一索引值(例如,一計數器)轉換成一交易金鑰,其中推導係針對外部監控攻擊而作保護。該等方法在針對外部監控攻擊可貢獻至交易金鑰的推導的裝置的應用中很成功。舉例而言,’092專利說明一智慧型卡可如何維持在各交易中增加的一索引計數器,接著使用索引計數器於金鑰推導中。
然而,存在某些應用,其中在一協定中的參與者應針對外部監控攻擊而被保護,但如’092專利中所述,其缺乏儲存一連串計數器及更新的金鑰的能力。舉例而言,考慮一裝置需要定期處理相同輸入資料的情況,例如包含一固定且不變的植入的金鑰的一裝置,其重複地被使用以任意的順序解密密文。韌體加密係為此一應用的一範例;可製造一微處理器在使用者空間檔案系統中具有一植入的金鑰,且在每一次重啟動中,微處理器需要從一非信任的外部快閃記憶體重新解密其韌體影像。韌體影像可偶然地被更新,但相同的密文亦可重複地被解密。因此,應用需求及實體製造限制兩者(例如歸因於一次性可程式化使用者空間檔案系統的使用以持有金鑰而無法修改儲存的金鑰)可使其對裝置限制解密金鑰將被使用的次數係為不切實際的。韌體發佈者可使用’092專利中所述的方法,其在每次釋出一新的加密的韌體影像時具有一新的索引值,但解密裝置無法在各重啟動上使用一不同的索引值,因為將索引值改變成不同於加密裝置所使用的一個值將導致一不正確的解密。因此,一攻擊者可潛在地供應具有竄改的資料組的解密裝置,接著嘗試在裝置處理(例如,解密等等)此等密文的同時藉由監控外部特性而恢復機密金鑰。統計側通道攻擊,例如差動功率分析(DPA),可推論來自一組量測的一機密金鑰,該組量測係在一裝置重複地使用相同金鑰以運算於不同輸入值時被收集(例如,在上述範例中的不同韌體密文或相同韌體密文的竄改的版本)。來自一單一長訊息的量測(例如,包含許多區塊加密(block cipher)輸入)或合理訊息的一收集(例如,多重韌體版本)亦可提供足夠的資料用於一側通道攻擊,即使密文訊息並無被竄改。
當然,在一裝置對每一交易使用相同的金鑰的某些情況中,裝置理論上可實施一封鎖(lock-out)(例如,若超出一交易或失敗臨界,則藉由自我破壞而實施)以限制一敵手可觀察到的交易的數量。然而,封鎖機制導入數種實際的問題,例如可靠度問題及與儲存一失敗的計數器相關聯的困難(例如,許多半導體製造處理缺乏晶片上非揮發性儲存的保衛,且晶片外儲存係難以保衛)。
有鑑於所有以上所述,一種對裝置提供一可檢驗保衛方式以通訊且交換資料的方法,而針對外部監控攻擊保護且對裝置有能力拒絕非真實資料的方法將為有益的。
本專利說明針對外部監控攻擊使用機密密碼金鑰保衛裝置的方式,以及針對蒐集關聯於裝置的內部運算的資訊的傳統密碼分析及其他攻擊(例如,DPA及外部監控攻擊的其他形式)提供改善的安全性。用於加密敏感資料的各種範例實施例被揭露於說明書中。
儘管此等各種實施例在其細節中可能相當程度的改變,但其均包含於以下一般技術中,而可立即相對於說明書中所述的各種實施例被檢驗:相對於加密,待加密的各組資料係與一訊息識別符相關聯(例如,一交易/訊息計數器、明文的一雜湊、一隨機值、或另一獨特或半獨特的值)。加密裝置使用訊息識別符及與加密裝置分享的一初始機密內部狀態推導一訊息金鑰。此推導以反覆的方式透過連續的一或多個中間金鑰而實行,從至少一部份分享的機密內部狀態開始且引導至訊息金鑰,其中,在各重複中,下一個金鑰取決於至少一個先前金鑰及至少一部份的訊息識別符。明文可被分解成一或多個片段。各明文片段以一或多個機密金鑰加密,機密金鑰可包括訊息金鑰或進一步從訊息金鑰推導出的金鑰,以創造相對應的加密的片段。典型地,各片段使用不同的金鑰(或不同組的金鑰)。
加密裝置接著使用與解密裝置分享的一機密金鑰(例如,訊息金鑰、機密內部機密、一不同的金鑰、從以上推導出的金鑰等等)以計算至少一個確認符。確認符的推導可使用與用於產生訊息金鑰類似的一重複處理而實行,其中一連串的變換式被應用至機密金鑰以產生連續值(舉例而言,各中間值的生成包括雜湊其親屬值)。
加密裝置輸出一或多個加密的片段及一或多個確認符。亦可如所需的輸出額外的資訊,以使得接受者可決定訊息識別符。
在相對應的加密處理期間,一解密裝置接收一或多個加密的片段、一或多個確認符、及相對應於加密的片段的訊息識別符。解密裝置接著使用一或多個確認符檢驗待解密的至少第一加密的片段並無被修改。確認符的檢驗可包括從與加密裝置分享的一機密開始計算一連串連續的中間值,且其中各中間值係其親屬的雜湊(且特定雜湊運算取決於該加密的片段的一部份雜湊)。典型地,唯若檢驗出片段並未被修改時,准許進行對一加密的片段的解密處理。若檢驗成功,解密裝置使用與加密裝置分享的機密內部狀態,藉由跟隨由加密裝置所跟隨的相同反覆金鑰推導處理(即,從至少一部份分享的機密內部狀態開始,透過一連串中間金鑰,引導至最終訊息金鑰,其中於各步驟下一個金鑰取決於至少一部份的訊息識別符及至少一個先前金鑰),而計算訊息金鑰(若並未被推導)。各加密的片段(若決定為未被修改的)以從訊息金鑰推導出的一或多個相對應的機密金鑰解密,而恢復相對應的明文片段。
此專利中所述的技術使得多方能夠針對外部監控攻擊而以增進的安全性通訊密碼保護的敏感資料。雖然範例實施例牽涉兩方說明,典型地稱為一「加密裝置」及一「解密裝置」,但是「裝置」一詞係為了方便起見而選擇,且無須直接相對應至一系統設計中的任何特定角色。舉例而言,加密及解密裝置兩者可均為可攜式硬體裝置。或者,加密裝置可為運算於一設備中運行於一伺服器上一軟體應用程式,同時解密裝置可為一可攜式硬體裝置(反之亦然)。再者,雖然大多密碼運算牽涉兩方,但是此專利的技術當然可應用於僅牽涉一方的環境中(例如,在保衛記憶體或儲存系統中,其中兩者的角色係受到一單一方及/或裝置的控制,例如,第8圖中圖示的範例環境中),或應用於牽涉兩者以上的多方及/或裝置的環境中(例如,第10圖中圖示的範例實施例中)。
熵重新分佈運算
如此處所使用,一「熵重新分佈運算」(或「熵分佈運算」)係混合其輸入的一運算,使得關於輸入位元的未知資訊在輸出位元之間重新分佈。舉例而言,假設x 位元密碼金鑰K0 係以一熵重新分佈運算f反覆地處理,使得金鑰Ki =f(Ki-1 ),其中各個i>1。接著,假設一敵手獲得關於n個不同金鑰Ki 之各者的資訊的y 位元(例如,被獲得為一嘗試的外部監控攻擊的部份),提供充分足夠的資訊以解出金鑰K0 (例如,y *n >x )。熵分佈運算f的使用可使得此解決方案計算上為不可行的。一密碼雜湊函數H係運算的一範例,其可被使用作為一熵重新分佈運算。舉例而言,考慮產生一256位元結果的一強的雜湊函數H。給定一隨機256位元初始金鑰K0 ,使得Ki =H(Ki-1 )其中各個i>1。具有(舉例而言)各K0 …K999,999 的最不重要位元的知識的一敵手具有關於K0 的1,000,000位元資料。具有無限計算能力的一假設性敵手可藉由對K0 測試所有可能的2256 值而找到K0 ,以識別與最不重要的位元的已知序列一致的一值。然而,實際敵手具有有限計算能力,且熵重新分佈運算避免在給定透過嘗試的外部監控攻擊所洩漏的資訊下被以一計算上實際方式解出K0 (或任何其他Ki )。
熵重新分佈運算可(而非限於)使用密碼雜湊函數實施,運算使用區塊加密(例如AES)、擬隨機變換、擬隨機排列、其他密碼運算、或以上之結合而建構。為了方便起見,某些範例實施例以一雜湊敘述,但本領域中之技藝人士將瞭解依照以上敘述,亦可替代使用或額外使用其他熵重新分佈函數。
亦可從一基本運算建構多重熵重新分佈運算。藉由範例的方式,若需要兩個256位元的熵重新分佈運算f0 ()及f1 (),則f0 ()可包含將SHA-256密碼雜湊函數應用至與對f0 ()的輸入連鎖的運算識別符字串「f0」,同時f1 ()可包含將SHA-256密碼雜湊函數應用至與對f1 ()的輸入連鎖的運算識別符字串「f1」。熵重新分佈運算可使用已知AES區塊加密(block cipher)建構。舉例而言,為了實施f0 ()...fb-1 (),各fi ()可使用其輸入作為AES-256金鑰以加密在0...b-1的選擇中獨特的一對128位元輸入區塊,而產生256位元的輸出。基於雜湊函數及MAC建構的各種區塊加密(block cipher)亦為先前技術領域中已知且亦可被利用。
分享的密碼值及運算
此段說明某些密碼值及/或運算,由加密裝置及其相對應的解密裝置兩者分享,用於實行如此專利中所說明的可檢驗抗洩漏密碼運算。
加密裝置及解密裝置被設定,使得其各者可存取一基本分享的機密密碼狀態值,例如標示為KROOT 的一機密金鑰。舉例而言,此機密狀態可儲存於EEPROM、快閃、使用者空間檔案系統、或在一抗竄改晶片上的其他儲存之一或多者中,且可全部或部份從其他值或處理推導出,或可外部地獲得。此等裝置之各者獲得KROOT 的方法可包括(但不限於)其各者以KROOT 製造、裝置彼此直接溝通KROOT ,或透過第三方溝通(例如,使用利用RSA、Diffie-Hellman、或其他公眾密碼技術的協定,或對稱技術)、透過一實體鍵入介面接收KROOT 、隨機產生KROOT (例如,若加密及解密裝置係為相同的)等等。
此外,加密裝置及解密裝置兩者亦能夠計算一組非線性密碼熵重新分佈運算f0 (),f1 ()...fb-1 (),其中b>1係為一正整數。此等b個熵重新分佈函數可配置於一樹狀結構中。舉例而言,具有高度為Q的一單純b相關的樹狀結構(即,具有從0至Q的Q+1層級)可使用b個相異熵分佈函數f0 ()...fb-1 ()創造,以於樹的各節點代表此b相關的樹的b個可能分支,各節點代表一可能的推導的金鑰。在此一樹中,從一根密碼金鑰KSTART 開始(其於層級0處),可於層級1處計算b個可能推導的金鑰:最左邊的分支為f0 (KSTART );下一個分支為f1 (KSTART );且繼續直到最右邊的分支為fb-1 (KSTART )。於層級2處,可推導b2 個可能金鑰,因為f0 ()...fb-1 ()之各者可應用至b個可能層級1金鑰之各者。當然,計算一特定層級2節點僅需要二的計算結果,而非b2 (即,不在路徑上的節點並不被計算)。樹繼續用於連續的層級1至Q,其中一先前層級的各可能金鑰(即,一不同的節點)可藉由依序應用f0 ()...fb-1 ()而處理,以推導b個額外可能推導的金鑰。整體的金鑰樹具有Q+1個層級,以於層級0處的一單一節點開始,繼續於層級i處的bi 節點,且結束於層級Q處的bQ 節點。因此,存在從層級0處的根節點至層級Q處的bQ 最終節點的bQ 個可能路徑。各此等可能的路徑(相對應於應用於不同層級的一獨特連串函數)可以一連串Q個整數代表,各整數係選自(0...b-1)。
舉例而言,在一範例實施例中,b=2。因此,使用兩個熵重新分佈運算f0 ()及f1 ()(且可從一基本運算建構,例如上述)。若Q=128(即,高度係為128),則可能有2128 個路徑且需要128個熵重新分佈函數計算結果以從層級0節點(即,開始金鑰)推導層級Q金鑰。
作為一變化,實施例可牽涉更多種b的選擇,例如在層級之間改變b的值,及/或基於一特定層級採取的路由改變b。同樣地,亦可改變熵重新分佈運算,例如藉由使得熵重新分佈運算fi ()於不同層級處不同,或使得此等運算取決於一特定層級所採取的序列。
加密及解密裝置亦能夠實行一密碼的、非線性金鑰鏈運算g(),其可與函數fi ()相異(但並非必定的)。舉例而言,在一個實施例中,g()由一密碼雜湊運算組成。各種實施例可對g()的不同應用使用不同的函數,包括從一基本函數建構的變數(例如,以一計數器或代表g()的應用的另一值雜湊輸入資料)。
加密裝置及解密裝置亦具有一密碼的、抗衝突、單向雜湊函數h()(例如,利用為一片段雜湊函數)而與運算fi ()及g()相異。
在一範例實施例中,運算fi ()、g()及h()之各者係藉由計算各運算為一運算識別符及輸入資料的密碼雜湊而從一通用密碼雜湊函數建構。舉例而言,運算識別符可為零終結字串,由「f#」、「g」或「h」組成,其中#係為對給定的fi ()的i的值,使得對f0 ()的運算識別符將為「f0」。使用輸入作為金鑰的一運算識別符的HMAC亦可被用於實施此等運算。可與此專利的技術一起使用的雜湊函數包括,但非限於MD5、SHA-1、SHA-256、SHA-512、任何SHA3候選、以及上述的結合及使用上述而建構(例如,HMAC)。如此處所使用,函數BLAKE、Blue Midnight Wish、CubeHash、ECHO、Fugue、Grostl、Hamsi、JH、Keccak、LANE、Luffa、Shabal、SHAvite-3、SIMD及Skein之各者係為一「SHA3候選運算」。在其他實施例中,使用其他眾所周知的建構推導雜湊函數,例如但非限於Matyas-Meyer-Oseas、Davies-Meyer、Miyaguchi-Preneel、Merke-Damgard等等,其將諸如AES、DEA或其他加密的區塊加密(block cipher)轉換成一雜湊函數。非抗衝突的變換(例如,MD5、雜湊變換的減少的迴圈變數、或其他混合的運算)亦可重新分佈呈現於輸入中的熵,但對用於單向函數h()將為較不具吸引力的。
儘管如此,其他實施例可在實施熵重新分佈運算f0 ...fb-1 ()中使用串流加密(stream cipher),潛在地包括輕量及潛在地密碼弱串流加密。舉例而言,可利用串流加密RC4,其中熵重新分佈運算輸入係用作RC4金鑰,且RC4輸出位元係用作(或被使用以形成)熵重新分佈運算輸出。
加密裝置及解密裝置具有一相對應解密函數DEC()的一機密金鑰加密函數(或函數組)ENC()。在某些實施例中,諸如具有固定長度的訊息中,ENC()及DEC()可使用諸如ECB或CBC模式中的AES的傳統加密建構。對其他實施例的ENC()及DEC()建構係分別相對於第13圖及第14圖如後說明。
在第1及2圖中的範例實施例
此段說明用於可檢驗抗洩漏的加密及解密的大致技術的一範例實施例。此第一範例實施例使用金鑰鏈及密文雜湊鏈。
為了方便起見,隨著密碼學中的傳統命名,吾人使用「明文」一詞指稱待加密的資料。技藝人士將瞭解,此並非必定意味著輸入資料係為人可解讀的,且實際上,並不排除此資料本身在被此專利的技術保護之前,被壓縮、編碼、或甚至被加密。類似地,技藝人士將瞭解「資料」一詞包含經處理的任何數量,且可包括但非限於內容、資料、軟體、程式碼、及任何其他類型的資訊。
給定待保護的一敏感明文資料訊息D,且具有一分享的基本機密密碼值KROOT 的知識,加密裝置實行如第1圖中所概述的以下步驟。首先將敏感明文資料D分解成一連串L片段D1 、...、DL (步驟100),其中(L≧1),其各者足夠小以符合至記憶體中用於將片段輸入接收器中。此外,此等片段之各者的尺寸應足夠小以滿足應用及實施的洩漏要求。片段可為但非必定具有相同尺寸。此外,其他變數亦可藉由改變金鑰(例如,在ENC()及DEC()中)支援未限定尺寸的片段,如將顯示於以下相對於第13及14圖。
加密裝置亦產生(步驟101)一偽隨機數N(將顯示於以下),其可使用作為一訊息識別符(或一前導)用於與D的加密連接。舉例而言,偽隨機數(nonce)可使用一真隨機數產生器、一偽隨機數產生器、真及偽隨機數產生器的某些結合、一計數器值或其他(較佳地為獨特的或極少重複的)參數而產生,或藉由從金鑰及/或加密裝置可取得的資料(包括但不限於D,例如,藉由設定N為部份或所有的D的雜湊)推導N而產生。在第1圖中,對一給定的KROOT ,用於加密一特定訊息的N的值較佳地不用於加密任何其他訊息(或若然,則任何重複使用應被限制為不容易的及/或不常的)。
在以下的範例實施例中,使用偽隨機數N形成一訊息識別符H1 。在最直截了當的實施中,N供應作為訊息識別符,H1 可簡單地等於N。如另一範例,N供應作為對訊息識別符的一前導,加密裝置可使用函數h()計算H1 (步驟102)為N的雜湊。在吾人希望產生一固定尺寸的訊息識別符的情況中,雜湊係為有用的,舉例而言,當為了計算結果效率而運算於較短的數量時准許併入較長資料值(例如,文字字串),或為了計算結果簡化而將可改變長度的資料值轉換為一統一長度訊息識別符,或減少敵手可具有以影響H1 的選擇的任何可能性。當然,雜湊僅為產生訊息識別符的一種方式,且技藝人士將理解可利用不同於h的函數產生H1
在計算H1 之後,加密裝置使用分享的基本機密密碼值KROOT 及H1 作為輸入一抗洩漏、基於金鑰樹的金鑰推導處理而計算一訊息金鑰KMESSAGE (103)。為了討論的方便,金鑰推導處理在此處呈現為加密的上下文(例如,由加密裝置實行),且更具體而言,在第1圖的第一範例加密處理的上下文中。然而,相同的金鑰推導處理亦將被用於第4圖的第一範例解密處理中,在此情況中將藉由解密裝置實行。類似地,金鑰推導處理亦將被用於與其他處理連接,包括第5、11及13圖的範例加密處理,及第6、12及14圖的範例解密處理。
一範例金鑰推導處理係圖解於第2圖中。處理從樹的一開始點起始,其標示為KSTART (201)及一路徑P1 ...PQ (202)。舉例而言,在上述第1圖的步驟103,KSTART 係為分享的機密金鑰KROOT 的值且路徑P1 ...PQ (202)係藉由H1 決定。(以下討論將H1 轉換為P1 ...PQ )。路徑表明應用至KSTART 的一連續的熵重新分佈運算。
在一範例實施例中,訊息識別符H1 被分解為Q個部份:P1 、P2 、...、PQ 。在一範例分解中,各部份Pi 係為從0至(b-1)的一整數(例如,若b=4,則各Pi 係為兩個位元的值(0、1、2、或3))。同樣地,若b=2,則各Pi 係為一單一位元(0或1)。因此,路徑部份P1 ...PQ 可用於藉由應用函數f0 ()、f1 ()、...、fb-1 ()而產生多個中間金鑰引導至如下的KSTART,PATH 來表明從KSTART 至KSTART,PATH 的一特定路徑。首先,將函數應用至KSTART (203)以生成一中間金鑰,接著藉由將應用至以生成中間金鑰(204),且依此類推,直到最終將應用至中間金鑰(205)以生成最終推導的金鑰(206)。注意各中間金鑰的推導取決於至少一個前趨金鑰(predecessor key)(例如,在第2圖的情況中的中間親屬)及訊息識別符的相關部份。為了方便起見,吾人將標示此最終推導的金鑰為標誌KSTART,PATH (指示由KSTART 開始且跟隨PATH所達成的金鑰)。同樣地,在第1圖步驟103的情況中,最終推導的金鑰(指派至KMESSAGE 的訊息金鑰)係標示為,因為開始金鑰實際上係為KROOT ,且路徑實際上係為P1 、P2 、...、PQ ,其係為H1 的簡單分解。(在替代實施例中,KMESSAGE 可從推導出,例如藉由。以任一方式,KMESSAGE 係基於)。
於步驟104,資料片段使用基於該訊息金鑰KMESSAGE 的至少一個密碼金鑰加密,從輸入片段D=D1 、...、DL 產生密文E=E1 、...、EL 。用於步驟104的一範例實施例係顯示於第3圖中,其描繪牽涉計算加密的片段E1 、...、EL 的步驟及狀態。
第3圖的處理使用KMESSAGE 計算L個個別片段加密金鑰Ki (i=1至L),各金鑰被用於加密機密訊息資料D的一相對應片段Di (i=1至L)。首先,將函數g()應用至KMESSAGE 以生成用於第一片段的加密金鑰K1 (302)。接著,將函數g()應用至K1 以生成用於第二片段的加密金鑰K2 (303),且依此類推。最終,將函數g()應用至KL-1 以生成用於最終片段的加密金鑰KL (305)。吾人稱此類型的處理為金鑰鏈,因為加密金鑰一個接著一個被鏈鎖。
在對加密L個片段決定L個金鑰K1 、...、KL 之後,片段的加密如下繼續進行。最終(L’th)片段係首先被進行,其中對ENC()函數的明文輸入(306)係為L’th資料片段DL ,與藉由密碼雜湊的整體明文D1 ...DL 計算的訊息完整值連鎖。(D1 ...DL 的雜湊的包含係為可選地;實施例可省略此,或連鎖諸如一連串「0」位元或填充的某些其他形式的其他資料)。此L’th明文片段係藉由金鑰KL 加密以生成加密的片段EL (307)。
接著,第L-1’th的片段係藉由將雜湊函數h()應用至EL 、將此雜湊值附加至資料片段DL-1 、且使用該結果作為對L-1’th片段的加密輸入而於(308)處理。於(309),L-1’th明文片段接著使用金鑰KL-1 加密以生成加密的片段EL-1 。此處理對其他片段重複進行。舉例而言,相對應至第二明文片段的加密輸入(310)係由第二資料片段D2 跟隨著h(E3 )及第三加密的片段的雜湊而構成,且輸入(310)接著使用金鑰K2 加密以生成加密的片段E2 (311)。最終,相對應於第一明文片段的加密輸入(312)係由第一資料片段D1 跟隨著h(E2 )及第二加密的片段的雜湊(311)而構成,且輸入(311)接著使用金鑰K1 加密以生成加密的片段E1 (313)。(接續的片段雜湊無須被加密而作為以上的一變數,例如,Ei 可藉由加密Di 而接著將加密結果與Ei+1 的雜湊連鎖而形成)。
加密的片段E1 ...EL 形成密文E。第1圖中的步驟104接著被完成。使用Ei 的計算結果中的各Ei+1 的雜湊有效率地將加密的值鏈在一起,其供以使得解密裝置能夠在解密有缺陷的片段之前偵測經修改(或有缺陷)的密文片段。吾人將此稱之為「密文雜湊鏈」。在以上所顯示的範例中,各密文片段Ei (1<i<L)取決於下一個密文片段的雜湊,例如,一確認符V係用以鑑別第一密文片段(E1 )的雜湊,接著E1 (若為必須則在對D1 解密之後)生成預期的E2 的雜湊。同樣地,E2 (若為必須則在解密之後)生成片段E3 的雜湊,且依此類推。
應注意,當所有的資料係在一個片段中(即,L=1)(例如,因為輸入訊息係為小的,或利用諸如第13圖中所顯示的處理的一加密處理ENC())時,第3圖的處理仍可實行。對於L=1的情況,僅需要K1 且K1 =g(KMESSAGE )。或者,KMESSAGE 可直接使用作為K1 ,而在此情況中運算g()可全部一起被省略。如上所述,D1 ...DL 的雜湊(其在此情況中,因為L=1所以僅為D1 )被包括係為可選地。因為此係僅有的片段,所以處理的結果E=E1
回頭參照第1圖,在資料片段Di 已被計算之後,計算一確認符V,其將使得加密的訊息的認證的接收器在解密之前能夠鑑別密文。首先,計算一值H2 (105)作為第一加密的片段E1 的雜湊。回想第一片段E1 併入所有其他片段的雜湊。因此,E1 的雜湊實際上反應所有片段的內容,包括片段E1 ,且可被用於檢驗並無片段被改變。(可選地,除了E1 之外,對雜湊產生的H2 的輸入亦可包括關於訊息的額外資訊,例如長度、版本號、發送者身份、N的值等等)。
接著,加密裝置使用一機密金鑰以計算V(106),其係為訊息識別符及密文片段Ei 的一確認符。確認符V使用至少一個密文片段的雜湊(例如,雜湊H2 =h(E1 ))及一初始機密(例如,KMESSAGE ,或如以下段落中所述的其他值)計算。V的計算可使用第2圖中所述的抗洩漏、基於金鑰樹的推導處理而實行,其具有開始金鑰KSTART 係為KMESSAGE 且路徑係使用H2 (106)決定。因此,V的推導包括計算多個中間值引導至V,其各者取決於至少一個前趨(predecessor)(例如,在第2圖的情況係為其親屬值)及雜湊的相關部份(例如,H2 )。應注意函數fi ()、值b等等可為(但非必須為)與(103)中使用的相同。此處理導致金鑰的推導,其係為(或進一步被處理以形成)確認符V。
以上說明以KMESSAGE 開始著手推導確認符,但替代實施例可以一不同的值開始。舉例而言,於步驟104的金鑰KMESSAGE 及於步驟106的金鑰KMESSAGE 可彼此不同,但兩者均從推導出。同樣地,於步驟106使用的金鑰可從於步驟104使用的KMESSAGE 推導出,或反之亦然,或可利用不同的基本金鑰(除了KROOT 之外)作為KSTART 。當然,KROOT 本身亦可使用作為KSTART (例如,若H2 係為N的一雜湊及/或H1 及一或多個密文片段)。
如此專利所使用的確認符係一可檢驗密碼證明,其某些推定的密文係為與一特定訊息識別符相關聯的某些明文訊息資料的一加密的未修改版本,且已經藉由可存取一機密密碼值的一實體產生。建構於步驟106的確認符可藉由一接收器(例如一解密裝置)以避免對差動功率分析及相關的外部監控攻擊的易感受性的方式方而便地證實。此外,確認符創造處理(即,步驟106的性能)亦使得加密裝置能夠避免對差動功率分析及相關的外部監控攻擊的易感受性。
在計算確認符之後,加密處理便完成。於步驟107,結果係為輸出。輸出資料係由必須的資訊(若有任何,例如,偽隨機數N)所組成,使得一接收器能夠推導訊息識別符、確認符V、及加密的結果E(包含加密的片段E1 、...、EN )。藉由結合金鑰鏈及密文雜湊鏈,此類型的加密處理能夠生成具有訊息認證的強的密碼的輸出,同時針對加密裝置促進差動功率分析及相關的攻擊的方式,以避免位於加密裝置中機密金鑰的重複使用。加密的結果係以一形式創造,該形式使得一解密裝置能夠以針對解密裝置促進差動功率分析及相關的攻擊的方式,實行解密而無須重複使用機密金鑰。金鑰樹處理限制金鑰以KMESSAGE 及確認符V的形式重複使用,同時密文雜湊鏈方法限制資料加密中所使用的金鑰的使用。
下一段解釋輸出資料如何可接續地由解密裝置解密。
解密
第4圖顯示相對應於第1及3圖的範例加密處理的一範例解密處理。如早先所述,此需要解密裝置及加密裝置兩者具有推導相同的訊息識別符(例如,因為各裝置已知偽隨機數N,所以其可計算H1 )、基本機密密碼值KROOT 、密碼函數f()、g()及h()的能力。範例解密處理將使用第2圖中描繪的相同的金鑰推導處理(及金鑰鏈)。
範例加密處理於步驟400起始,該步驟為獲得(例如,在一非信任的數位介面上)加密推定的結果(即,訊息識別符(例如,偽隨機數N)、確認符V、及包含片段E1 、...、EN 的加密的結果E)。於步驟401,裝置接著藉由雜湊接收到的偽隨機數N計算值H1 。應注意,除非不正確地接收到偽隨機數,推導的H1 將等於用於加密處理中的H1 。於步驟402,解密裝置藉由雜湊片段E1 計算值H2 (且若先前在加密期間使用,則關於訊息的其他資訊已經被併入H2 的推導中)。於步驟403,裝置以KSTART =KROOT 及PATH=H1 ,嘗試使用第2圖中所述的抗洩漏、基於金鑰樹的金鑰推導處理,計算訊息金鑰KMESSAGE 。於步驟404,裝置藉由使用與加密裝置相同的抗洩漏、基於金鑰樹的金鑰推導處理(例如,第2圖中的處理使用金鑰KSTART =KMESSAGE 及PATH=H2 ),計算預期的確認符V’。於步驟405,計算的值V’與接收的確認符V作比較。若預期的確認符V’並非與提供的確認符V相匹配,則處理以一錯誤終結(步驟406),因為提供的資料可能已經被毀壞或惡意地修改,或已經發生某些其他錯誤。
若於步驟405的檢查係為成功的,則處理移至步驟407,其中一計數器i係從值1初始,一金鑰記錄器K係以計算g(KMESSAGE )的結果初始,其中g(KMESSAGE )的結果係為用於解密第一加密的片段E1 的金鑰(即,K1 的值,其在第3圖中標記為302)。亦於步驟407,一可變H係以H2 初始。以下運算接著以第4圖所顯示的一迴圈實行。首先,待解密的下一個密文片段的雜湊(即,h(Ei ))係被計算且與期望的雜湊H作比較(步驟408)。若比較失敗,解密的片段已經被改變,所以處理以一錯誤(409)終結且不實行進一步解密。若於步驟408的比較成功,則片段Ei 於步驟410使用解密函數DEC(),以金鑰K解密,來生成解密的片段,其被詮釋為含有跟隨著下一個密文片段的聲稱的雜湊的明文Di 。H被設定為此聲稱的雜湊值。接著於步驟411,實行一檢查以確保是否所有的L片段已經被解密(即,是否計數器i等於L)。若計數器並未達到L,則於步驟412,增加計數器i且藉由計算K=g(K)更新記錄器K為用於下一個片段的解密金鑰,且處理從步驟408向前重複。若步驟411決定i已經達到L,則於步驟413實行一檢查以確保是否H等於預期的填充資料(例如,D1 ...DL 的雜湊)。若此檢查失敗,則解密以一失敗條件(414)結束。若檢查成功,則解密處理成功且恢復的解密的輸出D=D1 、...、DL 於步驟415返回。
應注意在此實施例中,解密處理可以一串流的方式完成(即,解密裝置初始可獲得N、V及E1 ,且接著一次接收一個剩餘片段E2 、...、EL ),且仍能夠執行以上概述的步驟。舉例而言,若解密裝置缺乏足夠的記憶體來持有整個訊息,或若解密的資料部份需要在所有資料被接收及解密之前被取得,則串流運算係為實用的。
第二範例實施例
此段說明用於可檢驗抗洩漏的加密及解密的大致技術的一第二範例實施例。相對於使用密文雜湊鏈的第一範例實施例,此第二範例實施例使用明文雜湊鏈。然而,在兩者情況中,金鑰的重複使用於加密裝置及解密裝置兩者被控制,以避免差動功率分析及相關的攻擊。
第二範例實施例由加密裝置的加密係顯示於第5圖中,其為了簡潔起見,以一結合的處理圖表及狀態圖表描繪。加密裝置創造或獲得訊息以加密D及一訊息識別符N,其可為一計數器、隨機產生的值、明文雜湊等等。
輸入訊息D被劃分成一連串片段D1 、...、DL (儘管准許L=1),且此等片段被用於創造如以下的明文片段B1 、...、BL 。首先,片段B1 (501)藉由將訊息片段D1 與任何所欲的訊息資料的雜湊連鎖而形成(標示為X,其可包括諸如長度L、訊息識別符N、一交易識別符或計數器等等的元素)。接著,藉由將D2 與h(B1 )(即,B1 的雜湊)連鎖而形成B2 (502)。各個接續至BL-1 的Bi 接著藉由將Di 與Bi-1 的雜湊連鎖而形成。最終,最後的明文片段BL (504)係藉由將DL 與h(BL-1 )連鎖而形成。
處理的接下來的步驟(505-508)使用一金鑰鏈處理對明文片段之各者產生加密金鑰,使得(類似於第一範例實施例)各加密金鑰係直接或間接的基於訊息金鑰。在第二範例實施例中,第一加密金鑰係單純地設定成藉由計算h(N)推導出(505)訊息金鑰KMESSAGE 的值,且接著使用如第2圖中所述的抗洩漏、基於金鑰樹的金鑰推導處理,以KSTART =KROOT 及PATH=h(N)計算K1 =KMESSAGE =KROOT,h(N) 。i>1的金鑰Ki 被計算為g(Ki-1 ),其中g()。因此,第二金鑰K2 係為計算g(K1 )(506)的結果。反覆此處理使得L-1’th的金鑰(KL-1 )係計算為g(KL-2 )(507),且最終片段金鑰KL 係計算為g(KL-1 )(508)。因此,每一金鑰Ki 係基於訊息金鑰KMESSAGE (例如,等於或由訊息金鑰KMESSAGE 推導出)。
處理中的下一步驟係以相對應金鑰K1 、...、KL 加密明文片段B1 、...、BL 之各者,以生成加密的片段E1 、...、EL 。舉例而言,加密的片段E1 係藉由以K1 加密B1 而創造(509),E2 係藉由以K2 加密B2 而創造(510),且依此類推,EL-1 係藉由以KL-1 加密BL-1 而創造(511),EL 係藉由以KL 加密BL 而創造(512)。加密的結果E係由片段E1 、...、EL 所組成。
處理中的下一步驟係對加密計算確認符V(513)。首先,雜湊函數h()係用以計算h(N∥E1 ∥...∥EL )∥h(BL )),其中「∥」標示連鎖。接著,計算Z=h(N∥E1 ∥...∥EL ∥h(BL )),接著使用抗洩漏基於金鑰樹的金鑰推導處理計算KROOT,Z (例如,如第2圖中所述,以KSTART =KROOT 及PATH=Z)。接著計算確認符V作為金鑰樹結果的雜湊(即,h(KROOT,Z ))。最終,提供加密處理的結果,包含N、h(BL )、E及確認符V(514)。
以上的加密處理可利用於系統中,其中輸入資料D藉由串流達成,或因為其他原因而D無法一次全部被處理(例如,因為記憶體的限制)。在此情況中,加密裝置藉由獲得N、h(X)及K1 而開始著手。此外一運行雜湊計算係以N初始。
1. 創造或獲得N
2. 初始運行雜湊計算
3. 使得H=h(X)
4. 使得K=KROOT,h(N)
5. 以N更新運行雜湊計算
6. 使得i=1
7. 接收輸入資料Di (例如,串流進入)
8. 創造Bi =Di 及H的連鎖
9. 使得H=h(Bi )
10. 創造Ei =ENC(K,Di )
11. 以Ei 更新運行雜湊計算
12. 輸出Ei
13. 增加i
14. 若存在更多輸入資料,則回到步驟7
15. 以H更新運行雜湊計算
16. 最終運行雜湊計算且儲存於Z
17. 計算V=h(KROOT,Z )
18. 輸出H(其等於h(BL ))、N、V
解密
解密的處理係圖示於第6圖中。於步驟600,解密裝置(典型地從一非信任介面)接收加密處理的聲稱的結果,即E、h(BL )、偽隨機數N、及確認符V。解密裝置將E劃分成E1 、...、EL ,將一計數器i初始為1,且將一記錄器H設定成接收的值雜湊h(BL )。亦接收或決定訊息L的長度(例如,若使用1千位元的一片段尺寸,但最後的片段可少於1千位元,則L係為以千位元捨進的訊息的長度)。於步驟605,加密裝置計算Z=h(N∥E1 ∥...∥EL ∥H),其中「∥」標示連鎖。於步驟(610),加密裝置使用第2圖中所述的抗洩漏基於金鑰樹的金鑰推導處理計算KROOT,Z 的值,其中根係為KSTART =KROOT 且PATH=Z,且接著雜湊結果以生成h(KROOT,Z )。於步驟620,將h(KROOT,Z )與接收的確認符V作比較。若結果不等於V,則存在資料毀壞且處理停止於611而不實行任何解密。若檢查成功,則於步驟620,解密裝置計算h(N),接著以計算KROOT,h(N) 的結果使用第2圖中所述的抗洩漏基於金鑰樹的金鑰推導處理初始金鑰記錄器K,其中KSTART =KROOT 且PATH=h(N),且將一計數器i設定成1。
接下來,以下運算以一迴圈實行:於步驟630,以在金鑰記錄器K中的金鑰加密片段Ei 來產生由一資料片段Di 及一雜湊值組成的一明文片段Bi 。於步驟640,檢查來自解密的目前片段的雜湊。對於第一片段(即,i=1),雜湊針對h(X)作比較,其中X由與X在加密期間相同的欄位組成。對於在第一者之後的片段(即,i>1),來自Bi 的雜湊相對於先前片段的雜湊作比較(即,h(Bi-1 ))。若比較失敗。則解密處理於步驟641失敗。否則於步驟650,Bi 的訊息部份(即,Di )被添加至輸出暫存器(例如,在RAM中),且金鑰記錄器K藉由計算g(K)而被推進至下一片段金鑰,接著儲存結果於K中。計數器i亦增加1。於步驟660,i的值與L作比較,且若i的值不超過L,則解密處理迴圈回到步驟630。否則,解密處理於步驟670完成,其中最後明文片段(即,h(BL ))的雜湊係與接收的雜湊H作比較。若於步驟670的比較失敗(即,該等值並不相等),則發生一錯誤且解密失敗(步驟671)。否則,結果資料D1 、...、DL 於步驟680輸出。
在此實施例中,明文的雜湊以含有明文Bi-1 的雜湊的明文片段Bi 鏈鎖住。儘管並非絕對必要的抗洩漏,此鏈提供可偵測在解密處理期間發生的任何缺陷額外的特性,因為明文被檢驗為與已經加密者相同。因此,此實施例係有益於用於毀壞的解密處理的潛在可能的環境中。
系統、應用、及變數
至目前為止,本專利已說明用於抗洩漏加密及解密的一大致技術,及與此技術一起的某些範例實施例。此段將說明某些範例系統及/或應用,其中可使用上述技術,以及上述的範例實施例的態樣的額外變數。
安全韌體的載入
第7圖顯示用於安全地在一中央處理單元(CPU)上載入敏感韌體的可檢驗抗洩漏密碼的應用,例如,稱之為一晶片上系統(SoC)的部份。為了方便起見,取決於上下文,元件符號可代表一處理中的步驟及/或代表由此等處理步驟使用(或產生)的數量。在此實施例中,SoC係由一單一整合電路(700)組成,含有一CPU(703)及各種類型的記憶體。記憶體可包括但非限於程式碼可執行於其上的隨機存取記憶體(RAM)(701)、含有信任的啟動程式碼的唯讀記憶體(ROM)(704)、及持有一分享的密碼機密KROOT 的一機密狀態儲存記憶體(702)。金鑰儲存記憶體可使用各種技術實施,例如但非限於使用者空間檔案系統/抗使用者空間檔案系統、備有電池的RAM、及EEPROM。SoC可具有一外部功率輸入(707),其可從一非信任的來源接收功率(例如,潛在地受到敵手的控制及/或觀察)。亦可接收一外部供應的時鐘(708)(且可與PLLs一起使用以形成額外的時鐘)。SoC具有一AES引擎的一密碼硬體組件(705)用於資料加密及解密、諸如但非限於基於SHA-1或SHA-256或AES的雜湊函數引擎的一雜湊函數引擎、及抗洩漏的一實施、基於第2圖的基於金鑰樹金鑰推導處理,具有使用雜湊函數及/或AES函數或其他變數實施的函數f0 ()、...、fb-1 ()。對技藝人士而言,在其他實施例中,密碼硬體組件(705)的整體功能或其某些子集可藉由在軟體中(例如,藉由CPU)實行應為顯而易見的。
在從ROM中的信任的啟動程式進行啟動程式之後,SoC在一非信任介面(706)上從一外部、非信任儲存裝置載入其敏感軟體/資料,其在此實施例中係為快閃記憶體(709)。為了保護敏感軟體/資料避免揭露或未授權的修改,藉由製造商或其他程式碼發行者使用分享的機密密碼值KROOT ,而使用可檢驗抗洩漏技術加密(例如,如第1或5圖中所顯示)。加密結果係儲存於快閃記憶體(709)中。SoC首先從快閃記憶體(709)將加密的程式碼/資料載入其內部RAM(701)。SoC接著實行抗洩漏解密(例如,如第4圖中所顯示),其中處理係實施於ROM(704)密碼硬體組件(705)中的信任的啟動程式的程式碼庫中,且使用來自金鑰庫(702)的分享的機密金鑰KROOT 實行。若成功,則此處理在RAM記憶體(701)中創造一確認的且加密的敏感程式碼/資料影像,其可接著被執行。在解密處理失敗的情況中,RAM中加密的程式碼/資料(及任何部份解密的程式碼/資料)被刷新且當需要時運算從起始處重新開始。
在此實施例的一可選增強中,安全性係藉由在使用者空間檔案系統中儲存一最小可接受軟體版本號碼、備有電池的記憶體、或其上載入軟體的裝置的其他本端儲存而完成。待載入裝置中的所有軟體載有一版本號碼,且裝置將僅接受具有比最小值更大的一版本號碼的軟體。此外,某些軟體版本應明確地指示SoC更新最小可接受軟體版本號碼,從而避免軟體惡意轉返(rollback)至視為無法接受的一先前版本。上述抗轉返方法可獨立於(即,為附加的)可檢驗抗洩漏運算而實施。或者,抗轉返方法可實施為訊息識別符、確認符、或用於可檢驗抗洩漏運算中的其他安全的數量的部份。
該等技藝人士將輕易地認知SoC應用並非限於此處所呈現的特定架構,且可保護具有不同於第7圖呈現的實施例的內部架構及/或組件的SoCs或其他裝置。
舉例而言,第8圖顯示對一安全處理器架構(800)的可檢驗抗洩漏密碼的應用。為了方便起見,取決於上下文,元件符號可代表一處理中的步驟及/或由此等處理步驟使用(或產生)的數量。在此設定中,此裝置包含一CPU、持有包括一基本機密密碼金鑰KROOT 的內部機密狀態的一金鑰庫。諸如但非限於使用者空間檔案系統(801)的非揮發性儲存可用於儲存內部機密狀態。密碼硬體子組件(804)加密及/或整體保護及/或重演保護移出晶片上資料/指令快取(803)至外部非安全RAM記憶體(806)的所有資料,且解密及/或整體檢查及/或重演檢查從外部非安全RAM記憶體所取得的所有資料。此外,所有程式碼均以形成於非安全快閃(805)中的加密及整體保護而儲存,且當被帶入晶片上資料/指令快取(803)時被解密及整體檢查。先前技術的範例處理器架構(其安全性可透過額外的可檢驗抗洩漏密碼改善)包括但非限於來自IBM的Secure Blue設計(2006年6月6日發佈於IBM媒體名為「IBM Extends Enhanced Data Security to Consumer Electronics Products」)及來自MIT的AEGIS設計(敘述於AEGIS:用於Tamper-evident and Tamper-resistant Processing的架構,超級計算的第17次年度年會的活動,2003年第160-171頁)。
可檢驗抗洩漏密碼的使用實質上藉由針對監控攻擊提供保護而改善現有處理器設計的安全性。具體而言,此實施例增強密碼硬體子組件(804)以包括一雜湊函數及一金鑰樹處理能力,其重複使用(例如,AES)一現有安全處理器設計的加密能力,且實施第一範例實施例的步驟及方法,以創造一安全抗洩漏的安全處理器。具體而言,從快取(803)對RAM記憶體(806)寫入的任何資料使用抗洩漏加密處理(例如,如第1圖中所顯示)加密,且從非信任快閃(805)及非信任RAM讀取的程式碼使用第4圖中概述的抗洩漏解密處理解密。當資料被寫入一特定片段時,增加相對應於片段的計數器,且計數器的值被併入片段的加密及/或整體檢查創造處理,從而使得牽涉舊資料取代的攻擊能夠被偵測。
FPGA位元串流載入
載入一現場可程式閘陣列(FPGA)的邏輯通常包含高度敏感商業機密、密碼機密、及/或需要被保護避免揭露或複製的其他敏感資訊。此載入的邏輯或更新的邏輯典型地供應至FPGA作為來自一外部來源的一位元串流,例如但非限於一快閃記憶體裝置或一CPU或某些其他來源(907)。某些FPGAs含有用於儲存配置資料的非揮發性記憶體,而其他則必須在每一次晶片通電時重新被載入。現有的FPGAs具有解密位元串流的能力,典型地使用持有一備有電池的記憶體或本端儲存的一金鑰(例如,使用晶片上快閃、EEPROM、或使用者空間檔案系統)。在將其安裝至呈現於FPGA中的可程式化層中之前(或同時),FPGA解密供應的加密的位元串流。差動功率分析攻擊及相關的外部監控攻擊可針對位元串流解密處理作嘗試,引起如一成功的攻擊可導致的位元串流解密金鑰的揭露及/或位元串流本身的一連串安全性風險。
參照第9圖,可檢驗抗洩漏密碼可用於在一FPGA上創造一安全位元串流解密功能。在解密之前,敏感位元串流藉由一外部裝置(使用軟體、硬體或某些其結合)使用一抗洩漏加密處理(例如,如第一範例實施例中所述)而加密,產生加密的位元串流。加密的位元串流可被載入(907)一非信任記憶體,例如一外部快閃或硬碟,或從諸如一CPU等等的一非信任來源檢索。
在FPGA之中,用於抗洩漏解密的密碼機密KROOT 被保持於金鑰庫(902)中,其儲存內部機密狀態,且其可使用諸如但非限於使用者空間檔案系統、備有電池的RAM(902、903)、EEPROM、快閃等等的技術實施。FPGA(900)在介面(906)上接收加密的位元串流。舉例而言,此位元串流可能已經使用第一實施例或第二範例實施例(相對應於第1及5圖)任一者加密。
若使用第1圖的實施例加密,則FPGA首先接收偽隨機數N、確認符V、長度L、及初始片段E1 。E1 被儲存於加密的片段暫存器(905)中。使用如上述的一抗洩漏解密處理(例如,見第4圖),計算E1 的雜湊,且以KROOT 、L、及雜湊檢驗確認符V,(若成功)生成KMESSAGE 或一致命錯誤(在此情況中處理停止)。若成功,則FPGA使用片段解密處理組件(904)以在E1 上實行抗洩漏解密處理。E1 的解密生成片段E2的雜湊,其被載入、檢驗、且解密。處理一次在一個片段上繼續,直到最終片段被解密且檢驗。若一錯誤發生,則處理停止且所有部份FPGA解密的資料被去除。(在失敗時處理可從起始再次重新開始)。使用一或多個狀態記錄器910以追蹤位元串流的狀態的載入處理(例如,追蹤處理是否正在進行處理、失敗、或完成)。狀態亦可被輸出用於診斷的目的且由外部組件使用。一旦所有的片段已經被成功的載入,則FPGA即刻被配置且可被使用(例如,FPGA即刻可准許I/O、時鐘等等應用至載入的位元串流影像)。可防止FPGA運算直到位元串流完全被載入(例如,避免透露關於不完整的FPGA影像的資訊且避免從不正確FPGA配置所生的整體電路的不可預期行為)。
若第5圖的第二實施例被用於加密,則FPGA首先接收E、V、N、及h(BL ),且儲存E於一暫存器中。FPGA的片段解密處理組件904接著使用第6圖中所述的方法以檢驗及解密所提供的加密的片段。狀態記錄器910被用於追蹤位元串流載入、確認、及解密處理的狀態,及處理停止所導致的任何嚴重的錯誤,及任何部份解密的資料的去除。
網路通訊及其他基於封包的應用
第10圖顯示可檢驗抗洩漏密碼的應用,以保護網路通訊避免外部監控攻擊。在此實施例中,諸如裝置A(1000)、裝置B(1030)及裝置C、D、E等等(1040)的多重網路裝置彼此在一網路(1020)上通訊。某些或所有此等通訊可含有敏感資訊,使其值得用於加密及鑑別資料。再者,某些此等裝置(例如,此實施例中的裝置A)需要保護其密碼計算結果及金鑰避免外部監控攻擊。
裝置A具有一金鑰庫(1001)以儲存必須與其通訊的其他裝置分享的密碼根金鑰的一表。此等金鑰早先可能已經被儲存,或可被協商(例如,使用公用金鑰密碼)。使用公用金鑰密碼以協商金鑰的方法係為先前技術領域中眾所周知的,且被用於諸如SSL及IPSEC的協定中。此實施例可輕易地被整合至此等或其他協定中。
待加密的帶外封包或資料片段原始來自一應用程式、操作系統、驅動程式、或其他組件(1002)且進入明文封包暫存器(1003)中。各封包接著使用片段加密/解密處理組件(1004)處理,其使用一可檢驗抗洩漏加密方法(例如,如第1圖中所述)加密。用於此加密的根金鑰係為裝置A及目的裝置分享的金鑰,其從金鑰庫(1001)獲得。對此處理,訊息識別符偽隨機數N可為任何(較佳地)獨特值,包括一計數器。舉例而言,偽隨機數可等於一封包識別符、具有可能併入額外最重要位元以避免溢流的一TCP數列、一值的雜湊、一隨機值等等。對各封包,抗洩漏加密運算產生一加密的片段及一確認符V。偽隨機數可被傳送或可為隱含的(例如,基於早先接收的封包號)。加密的片段、V、及任何其他所需的資料被聚集成一外出封包,且移至網路介面組件(1006),且接著至網路(1020)用於路由至適當的目的裝置。
對於帶內加密的封包,假設發送裝置已經實行如上述的加密。此等封包藉由網路介面組件(1006)從網路(1020)被接收,且接著移至密文封包暫存器(1005)。各封包接著藉由片段加密/解密處理組件(1004)處理,其中實行一抗洩漏解密處理(例如,如第4圖中所述)。對於此解密處理,(i)介於接收及發送裝置之間的分享的金鑰(例如,KROOT 或用於推導KROOT 的一前導)係從金鑰庫(1001)獲得,(ii)偽隨機數N係從封包恢復,否則被決定,(iii)確認符係針對N及加密的封包檢驗,(iv)若確認符正確,則封包資料被解密。裝置A及發送裝置之間的分享的密碼機密可使用作為KROOT 。若解密或確認符失敗,則封包被中斷。否則,在成功解密之後,解密的結果可被提供至應用程式、操作系統、驅動程式等等。
此處理係概述於第11及12圖中。第11圖圖示可檢驗封包層級抗洩漏加密處理,且第12圖圖示相對應的解密處理。可檢驗封包層級抗洩漏加密處理係為以下步驟:給定具有分享一基本密碼值的KROOT 來源及目的之一輸入封包資料D(1100),則在步驟1101中產生一訊息識別符(例如,使用在封包D中呈現的一隨機來源及/或資訊,及/或諸如與通訊協定相關聯的一序號某些封包識別符)。對於TCP/IP通訊,N可從一分區識別符、序號(可選地附加額外地最重要位元以避免翻覆)、來源埠、目的埠、及/或其他值而建構。接著於步驟1102,計算N的雜湊。(可選地,此步驟可被省略,且可使用N取代在KMESSAGE 推導中的h(N))。接續在步驟1103中,使用第2圖中所述的抗洩漏基於金鑰樹的金鑰推導處理以KSTART =KROOT 及PATH=h(N)計算KMESSAGE =KROOT,h(N) 。輸入封包資料D以金鑰KMESSAGE 加密來生成加密的結果E(1104)。
接著計算E的雜湊(1105)(例如,使用SHA-256)。接著,使用第2圖中概述的抗洩漏基於金鑰樹的推導處理,以KSTART =KMESSAGE 及PATH=h(E)計算用於加密的確認符V作為KMESSAGE,h(E) (1106)。最終,形成包括V、E、及N的輸出封包(或任何其他資訊,若為任何必須而能夠接收以修復N)(1107)。輸出資料E接著以一封包傳輸至一遠端裝置(例如,在網際網路上的一遠端電腦)。
如一可選的最佳化,若加密裝置具有多重封包被暫存用於發送,則其同時可加密多重封包,使得僅需要單一確認符用於所有的封包。舉例而言,可實行加密處理如第3圖中所顯示,其中各片段Di 係為一封包。以此方式結合封包減少金鑰樹必須用於發送者及接收者兩者的運算的次數。
第12圖中圖示一相對應可檢驗封包層級抗洩漏解密處理。給定包括V、E、N的一加密的封包(或足夠修復N的資料,例如,一序號)及分享的密碼機密KROOT (1200),解密處理如以下進行:首先,計算h(N)的值(1201)(或,若加密裝置直接使用N,則此步驟被省略)。接著計算E的雜湊(1202)。接下來於步驟1203,使用第2圖中所繪的抗洩漏基於金鑰的方式,以KSTART =KROOT 及PATH=h(N)計算KMESSAGE =KROOT,h(N) (1204)。接下來使用第2圖中概述的抗洩漏金鑰樹處理,以KSTART =KMESSAGE 及PATH=h(E)計算V’=KMESSAGE,h(E) 。接續地,解密裝置檢查是否V’=V(1205)。若其並非相等,則處理停止於此封包且封包被丟棄(1206)。若檢查成功,則E以KMESSAGE 解密來生成明文封包D(1207)(例如,使用第14圖所顯示的DEC()處理)。
智慧卡運用
可檢驗抗洩漏加密及解密可實施於智慧卡中(例如,與協定連接,其中智慧卡必須以保衛差動功率分析及相關的外部監控攻擊的方式實行加密及/或解密)。此等系統及協定的範例包括但不限於用於付費電視訊號的解密的金鑰(控制碼字)的推導、付費(包括離線付費)、識別/確認網路登入、行動電話SIM卡、及轉乘車票。此專利中所揭露的範例密碼技術可用於確保智慧卡中的機密金鑰被保護以避免外部監控攻擊,同時實行此協定。智慧卡亦可用於實施較大系統中所利用的部份或全部的抗洩漏加密或解密處理,例如,若智慧卡實施第3圖的基於金鑰樹的金鑰推導處理,使得KSTART 絕對無須離開智慧卡。
互相鑑別應用
在許多應用中,兩個以上的裝置需要彼此鑑別及/或在其之間交換敏感資訊。此等協定的範例應用包括但不限於:(i)一印表機及一墨水匣之間的鑑別以確保兩者裝置均為真的且並非偽冒的;(ii)一數控器(set-top box)及一智慧卡之間的鑑別以確保組件係為真實的(例如,避免偷取的視訊解密金鑰的導入);(iii)一車庫門及一開啟器之間的鑑別;(iv)無金鑰入口系統(例如,可用於汽車中),其鑑別金鑰(例如,在解鎖門或發動引擎之前);(v)由經常被偷的物品實行的鑑別協定(例如,汽車音響、GPS單元、手機等等)以避免被偷或從操作中被竄改裝置;及(vi)入口系統,例如可在安全建築物中找到者,其在准許進入之前鑑別金鑰/票卷。在此等應用中,介於裝置之間的挑戰回應協定傳統上被用於互相鑑別及設定一分享的機密金鑰兩者,用於敏感資訊的交換。單純的協定實行此等鑑別,同時抗拒的DPA可使用此專利的方法建構以實行任何所需的加密及解密運算。舉例而言,一裝置可透過其能力使用此專利中揭露的技術證實其鑑別性以供應一有效的確認符及/或解密一訊息。
以內部片段金鑰改變的片段加密及解密
此段說明ENC()及DEC()運算的範例變數,其可代替傳統加密處理(例如,在ECB或CBC模式中的AES)被用於實施範例實施例(例如,如第3圖的步驟320、第4圖的步驟410、第5圖的步驟509、第6圖的步驟630、第11圖的步驟1104、第12圖的步驟1207所顯示)。分別顯示於第13及14圖的ENC()及DEC()中的變數,密碼金鑰經常改變,用於更甚的安全性。特定而言,額外的密碼金鑰更新在將一資料片段Di 加密為Ei 時發生(反之亦然)。因此,吾人將此等變數稱之為實施內部片段金鑰改變。
除了對ENC()及DEC()的改變之外,第一及第二範例實施例中運算的餘數可如先前所述實施。舉例而言且非限制,涉及初始訊息金鑰KMESSAGE 、確認符V、等等的運算無須被改變。
第13圖顯示用於加密資料片段的一ENC()運算的一範例實施例。第14圖顯示一DEC()運算的一相對應範例實施例。在此實施例中,使用區塊密文AES以密文區塊鏈(CBC)模式建立運算,但技藝人士應清楚亦可使用其他區塊密文或原始加密/解密或加密模式。
對片段i加密處理的輸入係為片段金鑰Ki (1301)及資料片段Di (1310)。輸入資料片段Di (1310)被劃分為子片段Di,1 (1311)、Di,2 (1312)等等。第13及14圖顯示資料片段D被劃分為3 AES區塊的子片段,然而亦可使用其他尺寸,且當然亦可利用有別於AES的其他演算法。(較小的子片段增加總運算結果,然而較大的子片段造成金鑰被用於更多運算,增加資訊洩漏的可能性)。片段金鑰Ki 以一雜湊運算m()變換,生成Ki,1 (1302),其係為第一子片段Di,1 的金鑰。若使用一初始向量(IV)(1314),則其以Di,1 的第一AES區塊XORed。(若不使用IV,則此XOR步驟可省略。若使用IV,則其可被鑑別,例如,藉由將其併入確認符運算,或藉由從諸如一訊息識別符的一確認的值推導的IV)。(Di XOR IV)的第一位元使用片段金鑰Ki,1 (1302)以AES(1315)加密,形成密文子片段Ei,1 (1320)的第一部份。此密文部份亦以子片段Di,1 (1311)的下一個位元XORed,而生成另一AES輸入,其接續著使用片段金鑰Ki,1 (1302)加密,以產生子片段Di,1 (1311)的下一個部份。實行一相似的密文區塊鏈以形成第三AES加密的輸入,其亦以金鑰Ki,1 實行。此等三個AES運算的結果係為密文子片段Ei,1 (1320)。第四個AES運算係實行於下一個資料子片段Di,2 (1312)的第一區塊上,且使用標示為Ki,2 (1303)的一新的金鑰,其藉由將m()應用至Ki,1 (1302)而推導出。從處理Di,1 的最終密文成為用於Di,2 (1312)的第一部份的IV(1317)。加密處理繼續直到已經加密所有s資料子片段的所有區塊,終極生成加密的子片段Ei,2 (1321)、...、Ei,s (1322),且其中對各子片段使用m()推導一新的金鑰。最終,密文子片段被集合以形成最終密文片段Ei (1330)。
參照第14圖,解密處理DEC()係為相反的ENC()處理。子金鑰Ki,1 (1402)、Ki,2 (1403)等等係從金鑰Ki (1401)透過如上述用於加密的相同處理使用m()推導出。加密的片段Ei 被劃分成子片段,其各者包含以子金鑰解密的一或多個AES輸入。在各解密運算之後,適當的IV(若有)或先前密文以資料XORed。最終資料被集合以形成子片段(1420、1421、1432等等),其依序集合以形成Di (1430)。
以上的ENC()及DEC()處理係為涉及驟然金鑰改變的範例,以便提供更大的洩漏忍耐度。可使用其他片段加密及解密方法,包括在ECB、CBC、或計數器(例如,Galois計數器)模式中串流密文及/或區塊密文(例如,RC4、SEAL、AES、DES、三重DES等等)的應用。對於將相同的金鑰應用至一片段中的所有資料的此等運算,其可具有在加密之前限制各片段的尺寸的益處(例如,藉由如第3圖所顯示將資料劃分成子片段),以便限制以各金鑰實行的運算的次數,從而減少一敵手可以各金鑰實行而觀察的運算的次數。
通訊通道
此處所述的資料交換可以一廣泛的可能方式完成。舉例而言但非限制,可使用傳統匯流排/介面(例如,I2C、JTAG、PCI、串聯I/O(包括USB)、PCI快速模組、乙太網路等等)、無線協定(例如,802.11群、藍牙、細胞服務電話協定、ISO14443等等)、及晶片內連接(例如,APB、與其他正反器直接連接等等)所有。對於以上之各者,發送裝置及接收裝置將具有適當的介面(例如,上述類型的介面),其可發送、接收、或(適當地)發送及接收。
解密之前資料確認的替代形式
至此呈現的範例實施例已使用抗洩漏基於金鑰樹的金鑰推導處理(例如,如第2圖所圖示)來計算密文的一確認符,其可在解密之前安全地被檢驗。儘管此處理係良好合適於一廣範圍的應用,用於創造一值的其他技術可供相似的作用,且在某些設定中可為適當的。舉例而言在某些實施例中,加密處理無須抵抗外部監控(但解密處理需要此抵抗力)及/或可呈現演算法層級對策用於公共金鑰數位簽署處理(例如美國專利6,304,658中所述者)。對於此等系統,數位簽署(數位簽章)運算可用以建構在解密時可被檢驗的一值,來確保密文未被修改。舉例而言,數位簽章可鑑別訊息識別符及至少一個加密的片段。公共金鑰數位簽署演算法的範例包括但非限於RSA、DSA、及橢圓曲線DSA變數(包括但非限於EC-DSA)。一數位簽章的檢驗無須任何敏感資訊,且因此可在解密之前實行。然而,此彈性必須付出在加密裝置中需要公共金鑰簽署邏輯且在解密裝置中需要公共金鑰檢驗邏輯的代價。一確認符(或確認符替代物)亦可能包含多重對稱確認符、公共金鑰簽章、或其他元素。
非連續的片段金鑰推導
片段金鑰(例如,第3圖中的K1 、K2 、...、KL )及子片段金鑰(第13圖中的Ki,1 、Ki,2 等等)並非必須被連續推導。舉例而言,金鑰可以一階層式金鑰圖案推導,或更一般地可為任何先前金鑰的一函數,或可使用金鑰樹建構從KROOT 獨立地推導出,或金鑰可使用其他金鑰及金鑰樹建構的某些結合而推導出。
資料變換及計算的記錄
資料變換及運算的順序可被改變。舉例而言,在第1、3及4圖中所述的第一範例實施例顯示加密處理從最後片段DL 進行至第一片段D1 ,其具有各片段Di 含有i+1’th片段的加密結果Ei+1 的雜湊。對第一加密的片段E1 計算一分開的確認符(例如,見步驟106)。此方式可具有對第4圖中所顯示的解密裝置的益處,因為其無須在解密之前暫存整體的加密結果,然而加密裝置卻必須如此。
或者,加密裝置可從D1 開始加密片段且結束於DL ,其中各片段Di+1 含有早先片段的加密Ei 的雜湊。在此範例中,片段D1 (舉例而言)由等於雜湊函數的輸出長度的尺寸的0的一字串延伸,以表明其為第一片段。接著使用PATH=h(EL )計算使用金鑰樹創造的一確認符。對於此變數,解密處理係與第4圖相似,但以相反的方向從最後加密的片段至第一者而進行。因此,加密裝置不再需要暫存資料片段,儘管解密裝置如今卻必須如此。
用於雜湊的額外確認符的替換
儘管某些範例顯示雜湊為鑑別接續加密的片段的資料片段,但接續的片段可取而代之的承載其自身的獨立確認符、舉例而言,第3圖顯示第一資料片段(312)承載一雜湊h(E2 )以確認片段E2 未被改變。然而,此雜湊並非總是必須的,且在某些情況中可被省略(例如,若下一個片段取而代之的承載一確認符)。此某種程度上簡化加密,但增加計算時間,因為需要計算且檢查更多確認符。在串流應用或若儲存/記憶體被限制,則額外的付出計算可為有道理的,而給予避免接續資料必須可取得且暫存的優點。
雜湊的變化
在某些圖示中,諸如第3圖中的h()的一單一運算被多次運用及/或被用於不同用途。此等運算一般無須均為相同函數。舉例而言,不同步驟可利用不同雜湊函數。
雜湊函數的輸出可被縮短,與其他雜湊函數輸出結合,或者透過後處理修改。舉例而言,SHA-2產生一256位元輸出雜湊,但欲使用一較短的訊息識別符(例如,160-、128-、80-或64-位元)。函數h()內部可使用SHA-2且僅返回其結果的某些位元。
運算順序的變化
某些範例實施例標明資料元素被連鎖或結合的一特定順序。舉例而言,第3圖中的步驟303-312,資料Di 以雜湊h(Ei+1 )連鎖。資料片段在被雜湊之前連鎖成一連串的其他範例包括第5圖,元素501-504及513、第3圖的步驟306。此等特定順序僅為一可能順序的一個範例,且可在替代實施例中使用各種其他資料順序。
基於金鑰樹的推導的變化
若運算(例如fi )係為不可逆轉的,則可能使用除了金鑰樹的頂端的一值作為開始值。相似地,計算的值可被快取(例如,若訊息識別符係一計數器,則初始運算通常將不從一個訊息改變至下一者,所以無須重新計算)。
錯誤偵測及/或修正
本技術領域中眾所周知在一密碼裝置的運算中產生為注入缺點的一結果的不正確輸出可生成有關敏感資料及金鑰的資訊。在實際操作中,可檢查密碼運算以幫助避免不正確計算結果的釋放,其可洩漏機密。舉例而言,一簡單且有效的技術係為實行密碼運算兩次,理想地使用兩個(或更多)獨立硬體處理及實施,具有一比較器檢驗兩者(或所有)產生完全相同的結果。若由單元產生的結果不匹配,則比較器將避免任一結果被使用及/或觸發其他錯誤條件。在個別密碼運算中(例如雜湊步驟),錯誤偵測及/或錯誤修正邏輯亦可被利用以幫助避免或偵測密碼運算不正確地實行的情況。
本專利所揭露的技術可額外地針對在加密及解密處理上的缺點注入攻擊的某些類型提供某些固有的抵抗。在加密處理期間,於基於金鑰樹的金鑰推導處理期間導入的一限制或部份缺點,歸因於在此處理中的熵重新分佈函數的使用,而將產生隨機、不可預期的結果。具體而言,訛誤的中間值將典型地藉由接續熵重新分佈函數混合,其將限制敵手使用缺陷結果發動攻擊的能力。
相同的,在解密期間,在密文或訊息識別符處理中導入的缺點或錯誤將大致導致確認符被拒絕。具有明文雜湊鏈的第二實施例提供進一步抵抗,因為明文片段被獨立地鑑別在輸出之前修正。當然,可額外地使用運算的檢查及其他眾所周知的缺點偵測技術。
亦可併入諸如一POST(通電自我測試)及隨機號碼測試的自我診斷函數,以檢驗密碼函數及隨機號碼產生能力未受損。
額外主機環境及形式因素
以上已經說明使用可檢驗抗洩漏密碼的數種範例系統及應用。然而技藝人士將理解,上述的技術並非限於特定主機環境或形式因素。更確切地,其可被用於廣泛的各種應用,包括但非限於:特定應用積體電路(ASICs)、現場可程式閘陣列(FPGAs)、晶片上系統(SoC)、微處理器、安全處理器、安全網路裝置、所有類別的密碼智慧卡(包括但非限於與ISO 7816-1、ISO 7816-2、及ISO 7816-3(「ISO 7816-相容的智慧卡」)實質上相容的智慧卡);非接觸且基於靠近的智慧卡及密碼卷(包括但非限於與ISO 14443實質上相容的智慧卡);儲存值的卡及系統;密碼安全的信用及金融卡;顧客忠誠卡及系統;密碼鑑別的信用卡;密碼加速器;賭博及賭注系統;安全密碼晶片;抗竄改的微處理器;軟體程式(包括但非限於用於個人電腦、處理器等等上的程式,及可載入或安裝於密碼裝置上的程式);金鑰管理裝置;銀行金鑰管理系統;安全網頁伺服器;防衛系統;電子付款系統;微付款系統及計量器;電話預付卡;密碼識別卡及其他識別檢驗系統;用於電子匯款的系統;自動出納機器;銷售站的點;發證系統;電子證章;門入口系統;使用密碼金鑰的所有類別的實體鎖;用於解密電視訊號的系統(包括但非限於廣播電視、衛星電視、及有線電視);用於解密加密的音樂及其他音頻內容的系統(包括在電腦網路上分佈的音樂);用於保護所有類型視頻訊號的系統;內容保護及複製保護系統(例如,用於避免未授權複製或使用電影、音頻內容、電腦程式、電子遊戲、影像、文字、資料庫等等);手機拌碼及鑑別系統(包括電話鑑別智慧卡);安全電話(包括用於此電話的金鑰儲存裝置);密碼PCMCIA卡;可攜式密碼卷;及密碼資料審核系統。
以上所有描繪範例實施例及可檢驗抗洩漏密碼的應用,其中相關的變化、加強及修改將從所揭露的精神及範疇的上下文而為顯而易見的。因此,由此專利所保護的發明不應限於以上揭露,而應由此處隨附的申請專利範圍推斷。
700...整合電路
701...隨機存取記憶體
702...機密狀態儲存記憶體
703...CPU
704...唯讀記憶體
705...密碼硬體組件
706...非信任介面
707...外部功率輸入
708...外部供應時鐘
709...快閃記憶體
800...安全處理器架構
801...使用者空間檔案系統
803...晶片上資料/指令快取
804...密碼硬體子組件
805...非安全快閃
806...非安全RAM記憶體
900...FPGA
902...RAM
903...電池
904...片段解密處理組件
905...片段暫存器
906...介面
907...其他來源
910...狀態記錄器
1000...裝置A
1001...金鑰庫
1002...其他組件
1003...明文封包暫存器
1004...片段加密/解密處理組件
1005...密文封包暫存器
1006...網路介面組件
1020...網路
1030...裝置B
1040...裝置C、D、E
第1圖顯示使用金鑰及密文雜湊鏈的可檢驗、抗洩漏加密的整體處理的一範例實施例。
第2圖顯示從一分享的密碼機密KSTART 開始,且繼續通過一路徑P1 ...PQ 的一抗洩漏、基於金鑰樹的金鑰推導處理的一範例實施例。第2圖的金鑰推導處理係可用於與第1及3圖的第一範例加密處理及第4圖的第一範例解密處理連接。其亦可用於與第5、11及13圖的其他範例加密處理及第6、12及14圖的其他範例解密處理連接。
第3圖顯示用於加密的一抗洩漏金鑰及雜湊鏈處理的一範例實施例(例如,包含第1圖中所顯示的整體加密處理的部份)。
第4圖顯示使用相對應於第1圖(及第3圖)的加密處理的金鑰及密文雜湊鏈的一可檢驗、抗洩漏解密處理的一範例實施例。
第5圖顯示使用金鑰及明文雜湊鏈的可檢驗、抗洩漏加密的一範例實施例。
第6圖顯示使用相對應於第5圖的加密處理的金鑰及明文雜湊鏈的可檢驗、抗洩漏加密的一範例實施例。
第7圖顯示一環境,其中可檢驗、抗洩漏密碼運算被用於將韌體載入一晶片上的一系統。
第8圖顯示一環境,其中可檢驗、抗洩漏密碼運算被用於一保衛CPU晶片之中,其中諸如快閃記憶體及/或RAM的外部記憶體係為非信任的。
第9圖顯示一環境,其中可檢驗、抗洩漏密碼運算被用於將一位元流影像載入一現場可程式閘陣列。
第10圖顯示一環境,其中可檢驗、抗洩漏密碼運算被用於基於封包的網路通訊裝置中。
第11圖顯示用於可檢驗封包層級抗洩漏加密的一處理的一範例實施例,其可用於第10圖所述的環境中,以及其他實施例中。
第12圖顯示相對應於第11圖所述的加密處理的可檢驗封包層級抗洩漏加密的一處理的一範例實施例。
第13圖顯示一範例ENC()運算的一範例實施例,使用具有內部片段金鑰變化的加密區塊鏈(cipher block chaining,CBC)。
第14圖顯示一範例DNC()運算的一範例實施例,相對應於第13圖的加密運算,使用具有內部片段金鑰變化的加密區塊鏈(CBC)。
100-107...步驟

Claims (21)

  1. 一種用於加密明文資料同時限制密碼金鑰的重複使用的裝置,其包含:一硬體單元,其經配置以(a)藉由計算多個連續的中間金鑰,從一內部機密狀態及一訊息識別符推導一訊息金鑰,該多個連續的中間金鑰係以至少一部分該內部機密狀態開始且引導至該訊息金鑰,待推導的各連續金鑰係基於至少一部分的該訊息識別符及一先前金鑰;(b)基於至少該訊息金鑰使用該一或多個密碼金鑰,以加密該明文資料的一或多個片段,來產生一或多個加密的資料片段;(c)從至少一個該加密的資料片段計算一密碼雜湊;(d)從至少一機密值及該密碼雜湊推導一確認符,其中該推導之步驟包括以下步驟:從該機密值開始計算多個連續中間值,各連續值係為至少基於該等值的一先前一個及該密碼雜湊的一部分;及(e)輸出該一或多個加密的資料片段及該確認符。
  2. 如申請專利範圍第1項之裝置,其中在(a)步驟中的各該中間金鑰的該推導經配置成包括以下步驟:選擇一熵分佈運算,接著應用該熵分佈運算至該先前金鑰。
  3. 如申請專利範圍第2項之裝置,配置成該熵分佈運算係為取決於以下至少一者的一密碼雜湊運算:(i)該先前金鑰;及(ii)相對應於至少一部分該訊息識別符的一值。
  4. 如申請專利範圍第1項之裝置,配置成(a)步驟中的該訊息金鑰係藉由跟隨一路徑通過一金鑰樹(key tree)而計算,該路徑包含該訊息識別符。
  5. 如申請專利範圍第1項之裝置,配置成(b)步驟包括以下步驟:從該訊息金鑰藉由實行多個熵分佈運算而推導多個該等密碼金鑰;且配置成:(i)該等密碼金鑰之一者係藉由應用一熵分佈函數至該訊息金鑰而計算;及(ii)多個連續的密碼金鑰之各者係藉由應用一熵分佈函數至該等密碼金鑰之一先前一者而計算。
  6. 如申請專利範圍第1項之裝置,配置成各該連續的中間值係為一密碼雜湊運算的結果,該密碼雜湊運算僅由以下作決定:(1)該連續中間值的該直系親屬值;及(2)該加密的資料片段雜湊的一或兩個位元。
  7. 一種用於加密明文資料同時限制密碼金鑰的重複使用的裝置,其包含:一硬體單元,其經配置以(a)藉由計算多個連續的中間金鑰,從該內部機密狀態及一訊息識別符推導一訊息金鑰,該多個連續的中間金鑰係以至少一部分該內部機密狀態開始且引導至該訊息金鑰,待推導的各連續金鑰係基於至少一部分的該訊息識別符及一先前金鑰;(b)基於至少該訊息金鑰使用該一或多個密碼金鑰,以加密該明文資料的一或多個片段,來產生一或多個加密的資料片段; (c)至少基於一或多個該加密的資料片段使用一機密金鑰以計算一密碼檢驗值,且可用於檢驗一或多個該加密的資料片段;及(d)輸出該一或多個加密的資料片段及該密碼檢驗值。
  8. 如申請專利範圍第7項之裝置,配置成該密碼檢驗值係為一數位簽章,其鑑別該等加密的資料片段之至少一者。
  9. 一種用於加密資料同時限制密碼金鑰的重複使用的裝置,其包含:一硬體單元,其經配置以(a)接收一或多個加密的資料片段及一密碼檢驗值,且獲得與其相對應的一訊息識別符;(b)檢驗該密碼檢驗值以決定訊息識別符或至少一個該等加密的資料片段是否已經被修改,包括以下步驟:(i)從至少一個該加密的資料片段計算一密碼雜湊;(ii)從至少一機密值及該密碼雜湊推導出一預期的確認符,其中該推導的步驟包括以下步驟:從該機密值開始計算多個連續的中間值,其中各連續值係至少基於該等值的一先前一者及該密碼雜湊的一部分;及(iii)將該推導出的預期的候選確認符與該接收的密碼檢驗值作比較;(c)藉由計算多個連續的中間金鑰,從該內部機密狀態 及該訊息識別符推導一訊息金鑰,該多個連續的中間金鑰係以至少一部分該內部機密狀態開始且引導至該訊息金鑰,其中各連續金鑰係基於至少一部分該訊息識別符及一先前金鑰而推導出;及(d)基於至少該訊息金鑰使用該一或多個密碼金鑰以解密該加密的資料的一或多個經檢驗的片段,來產生一或多個明文資料片段。
  10. 如申請專利範圍第9項之裝置,其中(c)步驟中的各該中間金鑰的該推導係配置成包括以下步驟:選擇一熵分佈運算,接著應用該熵分佈運算至該先前金鑰。
  11. 如申請專利範圍第10項之裝置,配置成該熵分佈運算係為取決於以下至少一者的一密碼雜湊運算:(i)該先前金鑰;及(ii)相對應於至少一部分該訊息識別符的一值。
  12. 如申請專利範圍第9項之裝置,配置成(c)步驟中的該訊息金鑰係藉由跟隨一路徑通過一金鑰樹(key tree)而計算,該路徑包含該訊息識別符。
  13. 如申請專利範圍第9項之裝置,配置成(d)步驟包括從該訊息金鑰藉由實行多個熵分佈運算而推導多個該等密碼金鑰;且配置成:(i)該等密碼金鑰之一者係藉由應用一熵分佈函數至該訊息金鑰而計算;及(ii)多個連續的密碼金鑰之各者係藉由應用一熵分佈函數至該等密碼金鑰之一先前一者而計算。
  14. 如申請專利範圍第9項之裝置,配置成各該連續的中間值係為一密碼雜湊運算的結果,該密碼雜湊運算僅由以 下作決定:(1)該連續中間值的該直系親屬值;及(2)該加密的資料片段雜湊的一或兩個位元。
  15. 如申請專利範圍第9項之裝置,配置成存在僅一個明文資料片段及僅一個加密的資料片段,且配置成該密碼雜湊計算結果進一步包括一資料片段長度。
  16. 如申請專利範圍第9項之裝置,配置成該預期的確認符確認一雜湊,其中:(i)該雜湊係取決於併入一第二加密的資料片段的該雜湊的一第一加密的資料片段;及(ii)該等第二及接續的加密的資料片段係各配置成併入該下一個加密的資料片段的該雜湊。
  17. 如申請專利範圍第9項之裝置,其中該裝置係一FPGA,且其中該裝置係配置成該明文資料包括一FPGA位元流。
  18. 如申請專利範圍第9項之裝置,進一步配置成使用收容於該裝置中的一處理器以執行至少一部分該明文資料。
  19. 如申請專利範圍第9項之裝置,其中該裝置係包含一處理器的一晶片,且其中該裝置係配置成藉由該晶片保衛待載入的資料避免一外部記憶體進入一晶片上快取,且其中該資料被載入為由該晶片先前加密者。
  20. 一種用於加密明文資料同時限制密碼金鑰的重複使用的裝置,其包含:一硬體單元,其經配置以(a)藉由計算多個連續的中間金鑰,從該內部機密狀態及一訊息識別符推導一訊息金鑰,該多個連續的中間金鑰係以至少一部分該內部機密狀態開始且引 導至該訊息金鑰,待推導的各連續金鑰係基於至少一部分的該訊息識別符及一先前金鑰;(b)基於至少該訊息金鑰使用該一或多個密碼金鑰,以加密該明文資料的一或多個片段,來產生一或多個加密的資料片段;(c)至少基於一或多個該加密的資料片段使用一機密金鑰以計算一密碼檢驗值,且可用於檢驗一或多個該加密的資料片段;及(d)輸出該一或多個加密的資料片段及該密碼檢驗值。
  21. 如申請專利範圍第20項之裝置,配置成該密碼檢驗值係為一數位簽章,其鑑別該等加密的資料片段之至少一者。
TW099142160A 2009-12-04 2010-12-03 可檢驗的、對洩漏有抵抗性的加密與解密 TWI440351B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US26694809P 2009-12-04 2009-12-04
US12/958,570 US8386800B2 (en) 2009-12-04 2010-12-02 Verifiable, leak-resistant encryption and decryption

Publications (2)

Publication Number Publication Date
TW201141173A TW201141173A (en) 2011-11-16
TWI440351B true TWI440351B (zh) 2014-06-01

Family

ID=44083176

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099142160A TWI440351B (zh) 2009-12-04 2010-12-03 可檢驗的、對洩漏有抵抗性的加密與解密

Country Status (8)

Country Link
US (10) US8386800B2 (zh)
EP (2) EP3537653B1 (zh)
JP (2) JP5552541B2 (zh)
KR (1) KR101714108B1 (zh)
CN (1) CN102725737B (zh)
IL (1) IL219906A (zh)
TW (1) TWI440351B (zh)
WO (1) WO2011068996A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI689828B (zh) * 2017-10-31 2020-04-01 香港商阿里巴巴集團服務有限公司 資料統計方法和裝置
TWI806577B (zh) * 2022-04-28 2023-06-21 瑞昱半導體股份有限公司 數位簽章方法及數位簽章的驗證方法

Families Citing this family (274)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181953B1 (en) 2013-09-16 2019-01-15 Amazon Technologies, Inc. Trusted data verification
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US20090307140A1 (en) * 2008-06-06 2009-12-10 Upendra Mardikar Mobile device over-the-air (ota) registration and point-of-sale (pos) payment
US9680637B2 (en) 2009-05-01 2017-06-13 Harris Corporation Secure hashing device using multiple different SHA variants and related methods
US10454674B1 (en) * 2009-11-16 2019-10-22 Arm Limited System, method, and device of authenticated encryption of messages
CN102725737B (zh) 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
US9219936B2 (en) 2010-02-05 2015-12-22 Maxlinear, Inc. Conditional access integration in a SOC for mobile TV applications
US9177152B2 (en) 2010-03-26 2015-11-03 Maxlinear, Inc. Firmware authentication and deciphering for secure TV receiver
WO2011123561A1 (en) 2010-03-30 2011-10-06 Maxlinear, Inc. Control word obfuscation in secure tv receiver
US9602277B2 (en) 2010-06-07 2017-03-21 Protected Mobilty, Llc User interface systems and methods for secure message oriented communications
US8984271B2 (en) 2010-06-07 2015-03-17 Protected Mobility, Llc User interface systems and methods for input and display of secure and insecure message oriented communications
US9172680B2 (en) 2010-06-07 2015-10-27 Protected Mobility, Llc Systems and methods for enabling secure messaging, command, and control of remote devices, communicated via a short message service or other message oriented communications mediums
US9143324B2 (en) * 2010-06-07 2015-09-22 Protected Mobility, Llc Secure messaging
US8892855B2 (en) * 2010-08-10 2014-11-18 Maxlinear, Inc. Encryption keys distribution for conditional access software in TV receiver SOC
CN101925060A (zh) * 2010-08-27 2010-12-22 西安西电捷通无线网络通信股份有限公司 一种资源受限网络的实体鉴别方法及系统
CN102014386B (zh) * 2010-10-15 2012-05-09 西安西电捷通无线网络通信股份有限公司 一种基于对称密码算法的实体鉴别方法及系统
US8924706B2 (en) 2010-11-05 2014-12-30 Protected Mobility, Llc Systems and methods using one time pads during the exchange of cryptographic material
US9237155B1 (en) 2010-12-06 2016-01-12 Amazon Technologies, Inc. Distributed policy enforcement with optimizing policy transformations
JP2012169756A (ja) * 2011-02-10 2012-09-06 Hitachi Ltd 暗号化通信検査システム
JP5286380B2 (ja) * 2011-03-07 2013-09-11 株式会社東芝 データ送信装置および送信方法
EP2523385B1 (en) * 2011-05-05 2017-07-12 Proton World International N.V. Method and circuit for cryptographic operation
US9438418B1 (en) * 2011-05-06 2016-09-06 Altera Corporation Systems and methods for generating a key difficult to clone
US8769642B1 (en) 2011-05-31 2014-07-01 Amazon Technologies, Inc. Techniques for delegation of access privileges
IL213497A0 (en) * 2011-06-12 2011-08-31 Eliphaz Hibshoosh Light public key cryptography
EP2535804A1 (en) * 2011-06-17 2012-12-19 Thomson Licensing Fault-resistant exponentiation algorithm
US8862767B2 (en) 2011-09-02 2014-10-14 Ebay Inc. Secure elements broker (SEB) for application communication channel selector optimization
FR2980607B1 (fr) * 2011-09-27 2014-04-25 Proton World Int Nv Procede de derivation de cles dans un circuit integre
US9203613B2 (en) 2011-09-29 2015-12-01 Amazon Technologies, Inc. Techniques for client constructed sessions
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
US10797864B2 (en) 2011-11-21 2020-10-06 Combined Conditional Access Development And Support, Llc System and method for authenticating data while minimizing bandwidth
US9553725B2 (en) * 2011-11-21 2017-01-24 Combined Conditional Access Development And Support, Llc System and method for authenticating data
US8627488B2 (en) * 2011-12-05 2014-01-07 At&T Intellectual Property I, L.P. Methods and apparatus to anonymize a dataset of spatial data
US20180083930A1 (en) * 2011-12-12 2018-03-22 International Business Machines Corporation Reads for dispersed computation jobs
US10360106B2 (en) 2011-12-12 2019-07-23 International Business Machines Corporation Throttled real-time writes
US9674155B2 (en) 2011-12-12 2017-06-06 International Business Machines Corporation Encrypting segmented data in a distributed computing system
US9772845B2 (en) 2011-12-13 2017-09-26 Intel Corporation Method and apparatus to process KECCAK secure hashing algorithm
US8984273B2 (en) 2011-12-16 2015-03-17 Protected Mobility, Llc Method to provide secure multimedia messaging between peer systems
US9405537B2 (en) 2011-12-22 2016-08-02 Intel Corporation Apparatus and method of execution unit for calculating multiple rounds of a skein hashing algorithm
KR101264286B1 (ko) 2012-01-13 2013-05-22 고려대학교 산학협력단 데이터베이스 암호화 시스템 및 방법
US10419907B2 (en) 2012-02-22 2019-09-17 Qualcomm Incorporated Proximity application discovery and provisioning
US9544075B2 (en) 2012-02-22 2017-01-10 Qualcomm Incorporated Platform for wireless identity transmitter and system using short range wireless broadcast
US9329879B2 (en) * 2012-02-23 2016-05-03 Qualcomm Innovation Center, Inc. Device, method, and system to enable secure distribution of javascripts
JP5612006B2 (ja) 2012-03-13 2014-10-22 株式会社東芝 データ送信装置、データ受信装置、及びプログラム
TWI451741B (zh) * 2012-03-19 2014-09-01 Chiou Haun Lee 以xor運算於三方通訊之加解密方法
US8892865B1 (en) * 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
DE102012206272A1 (de) * 2012-04-17 2013-10-17 Beckhoff Automation Gmbh Feldbus-Datenübertragung
US10360593B2 (en) 2012-04-24 2019-07-23 Qualcomm Incorporated Retail proximity marketing
US10621044B2 (en) 2012-04-25 2020-04-14 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US10795766B2 (en) 2012-04-25 2020-10-06 Pure Storage, Inc. Mapping slice groupings in a dispersed storage network
US9380032B2 (en) * 2012-04-25 2016-06-28 International Business Machines Corporation Encrypting data for storage in a dispersed storage network
US9660972B1 (en) 2012-06-25 2017-05-23 Amazon Technologies, Inc. Protection from data security threats
US9258118B1 (en) 2012-06-25 2016-02-09 Amazon Technologies, Inc. Decentralized verification in a distributed system
US9160719B2 (en) 2012-07-20 2015-10-13 Protected Mobility, Llc Hiding ciphertext using a linguistics algorithm with dictionaries
US8917868B2 (en) * 2012-08-22 2014-12-23 Vixs Systems, Inc. Adaptable encryption device and methods for use therewith
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
US9189225B2 (en) 2012-10-16 2015-11-17 Imprivata, Inc. Secure, non-disruptive firmware updating
KR20140052243A (ko) * 2012-10-23 2014-05-07 한국전자통신연구원 네트워크 데이터 서비스 장치 및 방법, 네트워크 데이터 서비스를 위한 클라이언트 단말 장치
US8886926B2 (en) * 2012-11-07 2014-11-11 Centri Technology, Inc. Single-pass data compression and encryption
JP6366595B2 (ja) * 2012-11-12 2018-08-01 クリプトグラフィ リサーチ, インコーポレイテッド 耐グリッチ性暗号離散対数ベースの署名のための方法及びシステム
CN103023635B (zh) * 2012-12-03 2015-10-07 广东欧珀移动通信有限公司 一种信息备份的方法及装置
CN103023653B (zh) * 2012-12-07 2017-03-29 哈尔滨工业大学深圳研究生院 低功耗的物联网安全组通信方法及装置
US9690759B2 (en) * 2013-01-03 2017-06-27 Cable Television Laboratories, Inc. Content linking
US9124434B2 (en) * 2013-02-01 2015-09-01 Microsoft Technology Licensing, Llc Securing a computing device accessory
JP6238774B2 (ja) 2013-02-21 2017-11-29 キヤノン株式会社 ハッシュ値生成装置
JP6113091B2 (ja) * 2013-03-07 2017-04-12 キヤノン株式会社 ハッシュ値生成装置
US9813235B2 (en) 2013-03-11 2017-11-07 Indian Institute of Technology Kharagpur Resistance to cache timing attacks on block cipher encryption
US9425967B2 (en) 2013-03-20 2016-08-23 Industrial Technology Research Institute Method for certificate generation and revocation with privacy preservation
JP5931797B2 (ja) * 2013-05-27 2016-06-08 日本電信電話株式会社 署名システム及び方法、署名生成装置並びに署名検証装置
US9763067B2 (en) 2013-05-28 2017-09-12 Protected Mobility, Llc Methods and apparatus for long-short wave, low-high frequency radio secure message service
KR101416447B1 (ko) * 2013-06-17 2014-07-10 (주)씽크에이티 전화인증 기반의 정보유출 방지방법 및 시스템
FR3007168B1 (fr) * 2013-06-18 2016-10-07 Stmicroelectronics Rousset Mecanisme de verification de l'authenticite d'un produit
FR3007169B1 (fr) 2013-06-18 2016-10-07 Stmicroelectronics Rousset Procede de verification de l'authenticite d'un produit
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
GB2513669B (en) 2013-06-21 2016-07-20 Visa Europe Ltd Enabling access to data
TWI510046B (zh) * 2013-07-04 2015-11-21 Univ Nat Cheng Kung 認證式加解密方法
US9521000B1 (en) 2013-07-17 2016-12-13 Amazon Technologies, Inc. Complete forward access sessions
US9160525B2 (en) * 2013-07-19 2015-10-13 Qualcomm Incorporated Apparatus and method for key update for use in a block cipher algorithm
US9736181B2 (en) * 2013-07-26 2017-08-15 Intel Corporation Hardening data transmissions against power side channel analysis
US10403173B2 (en) * 2013-08-13 2019-09-03 Fiske Software, Llc NADO cryptography using one-way functions
US9485222B2 (en) * 2013-08-20 2016-11-01 Hewlett-Packard Development Company, L.P. Data stream traffic control
US9053325B2 (en) * 2013-08-22 2015-06-09 Freescale Semiconductor, Inc. Decryption key management system
US9189638B1 (en) * 2013-08-25 2015-11-17 Google Inc. Systems and methods for multi-function and multi-purpose cryptography
TWI631462B (zh) * 2013-09-10 2018-08-01 系微股份有限公司 確保機板上匯流排交易安全的計算系統和計算設備實現的方法以及非暫時性的電腦可讀取媒體
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with keys
US9218235B2 (en) * 2013-09-25 2015-12-22 Lexmark International, Inc. Systems and methods of verifying operational information associated with an imaging device
CN103761456B (zh) * 2013-10-12 2016-05-11 利尔达科技集团股份有限公司 一种单片机核心代码防破解的方法
FR3012234B1 (fr) * 2013-10-23 2017-02-24 Proton World Int Nv Protection de l'execution d'un algorithme contre des attaques par canaux caches
US10243945B1 (en) 2013-10-28 2019-03-26 Amazon Technologies, Inc. Managed identity federation
US9420007B1 (en) 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
EP2884692B1 (en) * 2013-12-13 2020-05-20 Nxp B.V. Updating software on a secure element
CN103729602B (zh) * 2013-12-18 2016-08-17 东莞市乐升电子有限公司 利用电源管理控制器对系统进行加密保护的方法
CN104753661A (zh) * 2013-12-30 2015-07-01 上海格尔软件股份有限公司 一种用于商用密码设备的密钥描述文件
US9292711B1 (en) 2014-01-07 2016-03-22 Amazon Technologies, Inc. Hardware secret usage limits
US9374368B1 (en) 2014-01-07 2016-06-21 Amazon Technologies, Inc. Distributed passcode verification system
US9369461B1 (en) 2014-01-07 2016-06-14 Amazon Technologies, Inc. Passcode verification using hardware secrets
US9270662B1 (en) 2014-01-13 2016-02-23 Amazon Technologies, Inc. Adaptive client-aware session security
EP2902934B1 (en) * 2014-02-03 2019-04-10 Nxp B.V. Portable Security Device, Method for Securing a Data Exchange and Computer Program Product
US20150242620A1 (en) * 2014-02-27 2015-08-27 Microsemi SoC Corporation Methods for controlling the use of intellectual property in individual integrated circuit devices
US10771255B1 (en) 2014-03-25 2020-09-08 Amazon Technologies, Inc. Authenticated storage operations
WO2015144764A1 (de) * 2014-03-26 2015-10-01 Continental Teves Ag & Co. Ohg Verfahren und system zur verbesserung der datensicherheit bei einem kommunikationsvorgang
US9473296B2 (en) * 2014-03-27 2016-10-18 Intel Corporation Instruction and logic for a simon block cipher
KR20170005850A (ko) 2014-05-14 2017-01-16 미쓰비시덴키 가부시키가이샤 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US9871651B2 (en) 2014-06-16 2018-01-16 Cisco Technology, Inc. Differential power analysis countermeasures
EP3158556A4 (en) * 2014-06-18 2018-01-10 James Collier Methods and apparatus for cryptography
US10114369B2 (en) 2014-06-24 2018-10-30 Microsemi SoC Corporation Identifying integrated circuit origin using tooling signature
US9258117B1 (en) 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10326597B1 (en) 2014-06-27 2019-06-18 Amazon Technologies, Inc. Dynamic response signing capability in a distributed system
US8990556B1 (en) 2014-08-13 2015-03-24 Gimbal, Inc. Sharing beacons
US9571465B1 (en) 2014-09-18 2017-02-14 Amazon Technologies, Inc. Security verification by message interception and modification
US10115467B2 (en) * 2014-09-30 2018-10-30 Jonker Llc One time accessible (OTA) non-volatile memory
US10061738B2 (en) 2014-09-30 2018-08-28 Jonker Llc Ephemeral peripheral device
US10839086B2 (en) * 2014-09-30 2020-11-17 Jonker Llc Method of operating ephemeral peripheral device
CN106716344B (zh) * 2014-10-03 2021-04-30 密码研究公司 用于密码运算的指数分裂
US9288043B1 (en) * 2014-10-17 2016-03-15 Motorola Solutions, Inc. Methods and systems for providing high-security cryptographic keys to mobile radios
US10353638B2 (en) 2014-11-18 2019-07-16 Microsemi SoC Corporation Security method and apparatus to prevent replay of external memory data to integrated circuits having only one-time programmable non-volatile memory
WO2016087395A1 (en) * 2014-12-03 2016-06-09 Nagravision S.A. Block cryptographic method for encrypting/decrypting messages and cryptographic devices for implementing this method
DE102015201298A1 (de) * 2015-01-26 2016-07-28 Robert Bosch Gmbh Verfahren zum kryptographischen Bearbeiten von Daten
US10013363B2 (en) 2015-02-09 2018-07-03 Honeywell International Inc. Encryption using entropy-based key derivation
JP6273225B2 (ja) * 2015-02-26 2018-01-31 日本電信電話株式会社 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム
JP6273226B2 (ja) * 2015-02-26 2018-01-31 日本電信電話株式会社 暗号化システム、認証システム、暗号化装置、復号装置、認証子生成装置、検証装置、暗号化方法、認証方法
US9832022B1 (en) 2015-02-26 2017-11-28 Altera Corporation Systems and methods for performing reverse order cryptographic operations on data streams
JP6273223B2 (ja) * 2015-02-26 2018-01-31 日本電信電話株式会社 暗号化システム、暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号プログラム
CN104602209A (zh) * 2015-02-27 2015-05-06 中国科学院大学 一种基于rsa和流密码算法的联合信源短信加密解密方法
US9107152B1 (en) 2015-03-11 2015-08-11 Gimbal, Inc. Beacon protocol advertising bi-directional communication availability window
CN108064381B (zh) * 2015-03-30 2021-06-18 爱迪德技术有限公司 用于数据保护的方法
US9697359B2 (en) 2015-04-15 2017-07-04 Qualcomm Incorporated Secure software authentication and verification
US9703973B2 (en) 2015-04-28 2017-07-11 International Business Machines Corporation Customer load of field programmable gate arrays
EP3089398B1 (en) * 2015-04-30 2017-10-11 Nxp B.V. Securing a cryptographic device
US10979553B2 (en) 2015-05-15 2021-04-13 Overhead Door Corporation Near field communications activated door access panel
US9697340B2 (en) * 2015-06-14 2017-07-04 Guardtime IP Holdings, Ltd. System and methods with assured one-time, replay-resistant passwords
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
DE102015211540A1 (de) * 2015-06-23 2016-12-29 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Server, Firewall, Steuergerät, und System zur Programmierung eines Steuergeräts eines Fahrzeugs
US10642962B2 (en) 2015-07-28 2020-05-05 Western Digital Technologies, Inc. Licensable function for securing stored data
EP3346455B1 (en) * 2015-08-31 2020-09-30 Nec Corporation Secret calculation system, secret calculation apparatus, and secret calculation method
US9660803B2 (en) 2015-09-15 2017-05-23 Global Risk Advisors Device and method for resonant cryptography
CN105224831B (zh) * 2015-09-29 2018-06-15 深圳市九洲电器有限公司 终端设备标识数据写入方法及系统
EP3262515B1 (en) * 2015-09-30 2019-08-07 Hewlett-Packard Enterprise Development LP Cryptographic-based initialization of memory content
US10025600B2 (en) * 2015-10-02 2018-07-17 Google Llc NAND-based verified boot
US9876641B2 (en) * 2015-10-08 2018-01-23 The Boeing Company Data dependent authentication keys for differential power analysis resistant authentication
CN105376053B (zh) * 2015-10-26 2019-10-18 宁波大学 基于Keccak杂凑算法的图像密钥生成方法
GB201519612D0 (en) * 2015-11-06 2015-12-23 Nagravision Sa Key sequence generation for cryptographic operations
AT517983B1 (de) * 2015-11-18 2018-11-15 Siemens Ag Oesterreich Schutz eines Computersystems vor Seitenkanalattacken
EP3179668B1 (en) * 2015-12-11 2019-05-22 Institut Mines-Télécom Methods and devices for estimating secret values
CN108370310B (zh) * 2015-12-16 2021-11-30 密码研究公司 生成加密密钥的方法、集成电路和计算机可读介质
EP3185464B1 (en) 2015-12-21 2020-05-20 Hewlett-Packard Development Company, L.P. Key generation information trees
US9930021B2 (en) * 2016-01-05 2018-03-27 Intel Corporation Secure devices using entropy multiplexing
US10382210B2 (en) 2016-01-10 2019-08-13 Apple Inc. Secure device pairing
KR101772554B1 (ko) 2016-02-02 2017-08-30 주식회사 코인플러그 파일에 대한 노터리 서비스를 제공하고 상기 노터리 서비스를 사용하여 기록된 파일에 대한 검증을 수행하는 방법 및 서버
EP3208788B1 (en) * 2016-02-22 2020-06-03 Eshard Method of protecting a circuit against a side-channel analysis
US9946890B2 (en) 2016-03-18 2018-04-17 Uber Technologies, Inc. Secure start system for an autonomous vehicle
US20190305927A1 (en) * 2016-03-18 2019-10-03 University Of Florida Research Foundation Incorporated Bitstream security based on node locking
US10089116B2 (en) * 2016-03-18 2018-10-02 Uber Technologies, Inc. Secure start system for an autonomous vehicle
EP3437248A4 (en) * 2016-03-30 2019-11-06 The Athena Group, Inc. KEY UPDATE FOR KEY MASTERS
US10456699B2 (en) * 2016-03-31 2019-10-29 Shenzhen Bell Creative Sccience And Education Co., Ltd. Modular assembly system
ES2957712T3 (es) * 2016-04-07 2024-01-24 Nagravision Sarl Dispositivo criptográfico flexible
NL2016671B1 (en) * 2016-04-25 2017-11-07 Fugro N V GNSS Message Authentication.
DE102016107913A1 (de) * 2016-04-28 2017-11-16 Deutscher Genossenschafts-Verlag Eg Verfahren zur Übertragung von vertraulichen Nachrichten
US9916452B2 (en) 2016-05-18 2018-03-13 Microsoft Technology Licensing, Llc Self-contained cryptographic boot policy validation
CN106201352B (zh) * 2016-07-07 2019-11-29 广东高云半导体科技股份有限公司 非易失性fpga片上数据流文件的保密系统及解密方法
WO2018020383A1 (en) * 2016-07-25 2018-02-01 Mobeewave, Inc. System for and method of authenticating a component of an electronic device
US10116440B1 (en) 2016-08-09 2018-10-30 Amazon Technologies, Inc. Cryptographic key management for imported cryptographic keys
US10348502B2 (en) * 2016-09-02 2019-07-09 Blackberry Limited Encrypting and decrypting data on an electronic device
US10341102B2 (en) * 2016-09-02 2019-07-02 Blackberry Limited Decrypting encrypted data on an electronic device
US11496285B2 (en) * 2016-09-08 2022-11-08 International Business Machines Corporation Cryptographic side channel resistance using permutation networks
US10528765B2 (en) * 2016-09-16 2020-01-07 Intel Corporation Technologies for secure boot provisioning and management of field-programmable gate array images
CH712947B1 (fr) * 2016-09-23 2021-01-29 Vidoni Pierino Dispositif et méthode de sécurisation de transmission de données entre un émetteur et un récepteur.
US10318748B2 (en) * 2016-09-30 2019-06-11 Intel Corporation Techniques to protect fuses against non-destructive attacks
KR101825838B1 (ko) * 2016-10-14 2018-02-06 영남대학교 산학협력단 데이터의 부분 암호화 방법, 데이터의 부분 복호화 방법 및 부분 암호화된 데이터를 복호화하는 프로그램을 저장하는 저장매체
EP3338143B1 (en) * 2016-10-27 2019-02-20 Hewlett-Packard Development Company Replaceable item authentication
US10708073B2 (en) 2016-11-08 2020-07-07 Honeywell International Inc. Configuration based cryptographic key generation
US10547460B2 (en) 2016-11-18 2020-01-28 Qualcomm Incorporated Message-based key generation using physical unclonable function (PUF)
CN106712929A (zh) * 2016-12-30 2017-05-24 桂林电子科技大学 一种大数据的加密方法
US11190344B2 (en) * 2017-01-25 2021-11-30 Salesforce.Com, Inc. Secure user authentication based on multiple asymmetric cryptography key pairs
US20180234839A1 (en) 2017-02-13 2018-08-16 Futurewei Technologies, Inc. System and Method for User Equipment Identification and Communications
WO2018153486A1 (en) * 2017-02-24 2018-08-30 NEC Laboratories Europe GmbH Method for signing a new block in a decentralized blockchain consensus network
CN106686008B (zh) * 2017-03-03 2019-01-11 腾讯科技(深圳)有限公司 信息存储方法及装置
GB2560587A (en) * 2017-03-17 2018-09-19 Univ Oxford Innovation Ltd Secure data exchange
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
CN108733311B (zh) * 2017-04-17 2021-09-10 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
US10984136B2 (en) 2017-04-21 2021-04-20 Micron Technology, Inc. Secure memory device with unique identifier for authentication
US10924261B2 (en) 2017-05-22 2021-02-16 Arm Limited Efficient power distribution
US10997322B2 (en) 2017-05-22 2021-05-04 Arm Limited Efficient power distribution
WO2019016181A1 (en) * 2017-07-18 2019-01-24 Legic Identsystems Ag METHOD AND DEVICES USED TO VERIFY AUTHORIZATION OF AN ELECTRONIC DEVICE
US10469272B2 (en) * 2017-07-28 2019-11-05 Netapp, Inc. Methods for facilitating secure cloud compute environments and devices thereof
US10733313B2 (en) 2018-02-09 2020-08-04 Arm Limited Counter integrity tree for memory security
CN107609405B (zh) * 2017-08-03 2020-08-18 海光信息技术有限公司 一种外部安全内存装置及系统级芯片soc
US10540297B2 (en) * 2017-08-03 2020-01-21 Arm Limited Memory organization for security and reliability
US10397000B2 (en) 2017-08-14 2019-08-27 Raytheon Company Multi-level authentication for secure supply chain asset management
WO2019043921A1 (ja) * 2017-09-01 2019-03-07 三菱電機株式会社 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
US10808280B2 (en) * 2017-09-14 2020-10-20 Colossio, Inc. Computational phylogenetic analysis
US10924263B2 (en) * 2017-09-25 2021-02-16 The Boeing Company Systems and methods for facilitating iterative key generation and data encryption and decryption
US10965456B2 (en) 2017-09-25 2021-03-30 The Boeing Company Systems and methods for facilitating data encryption and decryption and erasing of associated information
US10860403B2 (en) 2017-09-25 2020-12-08 The Boeing Company Systems and methods for facilitating truly random bit generation
CN107911210B (zh) * 2017-10-20 2019-01-22 广东省南方数字电视无线传播有限公司 视频切片加密、解密方法及相应装置
CN108063756B (zh) * 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
DE102018100357A1 (de) * 2018-01-09 2019-07-11 Infineon Technologies Ag Chip und verfahren zum sicheren speichern von geheimen daten
US10706179B2 (en) * 2018-01-10 2020-07-07 General Electric Company Secure provisioning of secrets into MPSoC devices using untrusted third-party systems
FR3076925B1 (fr) 2018-01-16 2020-01-24 Proton World International N.V. Fonction cryptographique
US10719607B2 (en) * 2018-03-19 2020-07-21 Nxp B.V. Data integrity verification in a non-volatile memory
CN108521325B (zh) * 2018-03-27 2021-09-21 林喆昊 一种适用于系统数据全生命周期的防侧信道攻击方法
US10826694B2 (en) 2018-04-23 2020-11-03 International Business Machines Corporation Method for leakage-resilient distributed function evaluation with CPU-enclaves
US10673617B1 (en) * 2018-04-24 2020-06-02 George Antoniou Methods, system and point-to-point encryption device microchip for AES-sea 512-bit key using identity access management utilizing blockchain ecosystem to improve cybersecurity
US10256974B1 (en) * 2018-04-25 2019-04-09 Blockchain Asics Llc Cryptographic ASIC for key hierarchy enforcement
CN112437924A (zh) * 2018-05-11 2021-03-02 美国莱迪思半导体公司 用于可编程逻辑器件的安全引导系统和方法
WO2019217925A1 (en) 2018-05-11 2019-11-14 Lattice Semiconductor Corporation Key provisioning systems and methods for programmable logic devices
US11496445B2 (en) * 2018-05-23 2022-11-08 Sideassure, Inc. Electronic device for secure communications with an automobile
US10892903B2 (en) * 2018-05-29 2021-01-12 Ememory Technology Inc. Communication system capable of preserving a chip-to-chip integrity
CN108830207A (zh) * 2018-06-06 2018-11-16 成都邑教云信息技术有限公司 一种互联网教育告警系统
US11005663B2 (en) * 2018-08-13 2021-05-11 Seagate Technology Llc Secure audit scheme in a distributed data storage system
WO2020034118A1 (zh) * 2018-08-15 2020-02-20 华为技术有限公司 一种安全的数据转移装置、系统和方法
CN109460309B (zh) * 2018-09-26 2020-09-22 华南理工大学 一种基于FPGA的Keccak算法故障检测系统
CN109471675B (zh) * 2018-10-30 2021-11-19 北京无限自在文化传媒股份有限公司 一种对于硬件执行改变的方法及其系统
RU2710669C1 (ru) * 2018-11-06 2019-12-30 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ шифрования данных
US10887100B2 (en) * 2018-11-09 2021-01-05 Ares Technologies, Inc. Systems and methods for distributed key storage
CN109286501B (zh) * 2018-11-13 2021-07-13 北京深思数盾科技股份有限公司 用于加密机的认证方法以及加密机
CN109558759B (zh) * 2018-11-20 2021-05-14 电子科技大学 一种用于非接触式智能卡电磁攻击的模拟信号调理电路
EP3661243A1 (en) * 2018-11-29 2020-06-03 Nagravision S.A. Secure beacons
CN109617867B (zh) * 2018-12-04 2020-08-14 海南高信通科技有限公司 一种用于家居设备控制的智能网关系统
KR102567097B1 (ko) * 2018-12-05 2023-08-14 삼성전자주식회사 임베디드 시스템의 부트 롬 업데이트 방법 및 부팅 방법
ES2927668T3 (es) * 2018-12-20 2022-11-10 Merck Patent Gmbh Métodos y sistemas para preparar y realizar una autenticación de objeto
US11055409B2 (en) * 2019-01-06 2021-07-06 Nuvoton Technology Corporation Protected system
EP3697020A1 (de) * 2019-02-15 2020-08-19 Siemens Aktiengesellschaft Verfahren zum betreiben von im zähler-modus betriebenen schlüsselstromgeneratoren zur sicheren datenübertragung, schlüsselstromgenerator mit zähler-modus-betrieb zur sicheren datenübertragung und computer-programm-produkt zur schlüsselstromerzeugung
KR102621645B1 (ko) * 2019-03-12 2024-01-05 삼성전자주식회사 보안 집적 회로를 포함하는 전자 장치
DE102019109341B4 (de) * 2019-04-09 2023-07-20 Nicolai Roider Verfahren zum sicheren Austausch von verschlüsselten Nachrichten
CN110213228B (zh) * 2019-04-25 2021-09-07 平安科技(深圳)有限公司 一种认证通信的方法、装置、存储介质及计算机设备
US11128471B2 (en) * 2019-04-25 2021-09-21 Microsoft Technology Licensing, Llc Accessibility controls in distributed data systems
US10554637B1 (en) * 2019-05-01 2020-02-04 Cyberark Software Ltd. Secure and reconstructible distribution of data among network resources
US11645393B2 (en) 2019-06-28 2023-05-09 Seagate Technology Llc Secure booting in a data storage device with front end bus
CN110321737B (zh) * 2019-06-28 2020-12-11 兆讯恒达科技股份有限公司 一种数据加密标准协处理器防注入式攻击的方法
EP3767849A1 (en) * 2019-07-18 2021-01-20 Nagravision SA A hardware component and a method for implementing a camouflage of current traces generated by a digital system
WO2021041793A2 (en) * 2019-08-29 2021-03-04 Carnegie Mellon University Method for securing logic circuits
TWI720694B (zh) * 2019-11-18 2021-03-01 中華電信股份有限公司 具時間序列演算之燒錄認證裝置及方法
US11582021B1 (en) * 2019-11-20 2023-02-14 Xilinx, Inc. Protection against differential power analysis attacks involving initialization vectors
KR102094705B1 (ko) * 2020-01-17 2020-03-30 주식회사 에프엔에스벨류 블록 체인을 기반으로 한 다중 노드 인증 방법 및 이를 위한 장치
US11403433B2 (en) 2020-01-17 2022-08-02 Visa International Service Association System, method, and computer program product for encrypting sensitive data using a field programmable gate array
JP7238212B2 (ja) * 2020-01-19 2023-03-13 モービルアイ ビジョン テクノロジーズ リミテッド 有権限メンバのグループからのデータの匿名収集
EP3860035A1 (en) * 2020-01-29 2021-08-04 Sebastien Armleder Storing and determining a data element
FR3106909B1 (fr) * 2020-01-31 2022-02-18 St Microelectronics Grenoble 2 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète
US11265144B2 (en) 2020-03-09 2022-03-01 International Business Machines Corporation Consistent ciphertext creation
EP3893431A1 (de) * 2020-04-06 2021-10-13 Siemens Aktiengesellschaft Authentifizierung einer konfiguration einer feldprogrammierbaren logikgatter-anordnung
US11573929B2 (en) * 2020-04-09 2023-02-07 Kyndryl, Inc. Deduplication of encrypted data using multiple keys
WO2021212339A1 (en) * 2020-04-21 2021-10-28 Citrix Systems, Inc. Secure translation of sensitive content
US11368287B2 (en) 2020-05-19 2022-06-21 International Business Machines Corporation Identification of a creator of an encrypted object
US20210367794A1 (en) * 2020-05-21 2021-11-25 Cryptotronix, LLC Device provisioning system
US11416621B2 (en) 2020-06-18 2022-08-16 Micron Technology, Inc. Authenticating software images
US11599679B2 (en) * 2020-06-23 2023-03-07 Arm Limited Electromagnetic and power noise injection for hardware operation concealment
US11416639B2 (en) * 2020-06-29 2022-08-16 Nuvoton Technology Corporation PQA unlock
US11789565B2 (en) 2020-08-18 2023-10-17 Intel Corporation Lid controller hub architecture for improved touch experiences
CN112333698B (zh) * 2020-11-18 2021-08-24 深圳大师科技有限公司 一种手游终端加密认证方法及装置
CN112668039A (zh) * 2020-12-11 2021-04-16 国网信通亿力科技有限责任公司 一种电网数据的隐私保护高效聚合及访问控制方法
US11809493B2 (en) * 2021-01-19 2023-11-07 Micro Focus Llc System and method for tokenization of data
US11501027B2 (en) * 2021-02-08 2022-11-15 Micron Technology, Inc. Mechanism to support writing files into a file system mounted in a secure memory device
US11539503B2 (en) 2021-03-03 2022-12-27 Red Hat, Inc. Container management for cryptanalysis attack protection
US11929992B2 (en) * 2021-03-31 2024-03-12 Sophos Limited Encrypted cache protection
US11394308B1 (en) 2021-05-05 2022-07-19 Arm Limited Apparatuses and methods for power isolation
US11574079B2 (en) 2021-05-27 2023-02-07 Nuvoton Technology Corporation Multi-stage provisioning of secret data
US11494330B2 (en) * 2021-06-22 2022-11-08 Intel Corporation Fuse recipe update mechanism
CN113591089B (zh) * 2021-08-12 2024-06-11 上海观安信息技术股份有限公司 一种数据混淆加密方法
CN113703838B (zh) * 2021-08-30 2024-01-05 远景智能国际私人投资有限公司 设备控制方法、装置、设备及存储介质
US12088715B2 (en) * 2021-09-29 2024-09-10 Richard D'Souza System and method to enable a secure communication
CN113901503A (zh) * 2021-10-26 2022-01-07 北京云迹科技有限公司 一种加密方法、加密装置和解密方法、解密装置
US11783043B2 (en) * 2021-11-23 2023-10-10 ZT Group Int'l, Inc. Methods for authentication of firmware images in embedded systems
US20230269065A1 (en) * 2022-02-24 2023-08-24 FortifyIQ, Inc. Carry-based differential power analysis and its application to testing for vulnerability of sha-2 and hmac-sha-2 to side channel attack
TWI819516B (zh) * 2022-03-09 2023-10-21 瑞昱半導體股份有限公司 基於消息驗證的金鑰擴展的處理方法與電路
US20240004556A1 (en) * 2022-06-29 2024-01-04 Western Digital Technologies, Inc. Asynchronous operation completion notification
CN115361140B (zh) * 2022-08-19 2023-11-24 广州万协通信息技术有限公司 安全芯片密钥验证方法及装置
WO2024201955A1 (ja) * 2023-03-30 2024-10-03 日本電信電話株式会社 送信装置、受信装置、通信システム、送信方法、及びプログラム
CN118094608B (zh) * 2024-04-29 2024-08-30 山东水文印务有限公司 水文数据管理方法

Family Cites Families (179)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20338A (en) * 1858-05-25 Window-spring
US4694491A (en) 1985-03-11 1987-09-15 General Instrument Corp. Cryptographic system using interchangeable key blocks and selectable key fragments
US4972472A (en) 1985-03-15 1990-11-20 Tandem Computers Incorporated Method and apparatus for changing the master key in a cryptographic system
JPH01114995A (ja) 1987-10-29 1989-05-08 Toppan Printing Co Ltd Icカード
JP2698588B2 (ja) 1987-11-13 1998-01-19 株式会社東芝 携帯可能電子装置
US5115133A (en) 1990-04-19 1992-05-19 Inomet, Inc. Testing of body fluid constituents through measuring light reflected from tympanic membrane
JPH04251186A (ja) 1991-01-08 1992-09-07 Kobe Steel Ltd 液体処理用マイクロ波溶融炉
US5268962A (en) * 1992-07-21 1993-12-07 Digital Equipment Corporation Computer network with modified host-to-host encryption keys
US5297207A (en) 1993-05-24 1994-03-22 Degele Steven T Machine generation of cryptographic keys by non-linear processes similar to processes normally associated with encryption of data
US5454037A (en) 1993-10-28 1995-09-26 Grayline International Limited Portable secure-telephone communications module
US5513261A (en) * 1993-12-29 1996-04-30 At&T Corp. Key management scheme for use with electronic cards
US5491749A (en) 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks
UA41387C2 (uk) 1994-01-13 2001-09-17 Сертко, Інк Спосіб установлення вірогідного перевірюваного зв'язку, спосіб захищеного зв'язку, спосіб оновлення мікропрограмного забезпечення, спосіб здійснення шифрованого зв'язку та спосіб надання перевіреному на справжність пристрою права на проведення електронної транзакції
US5511123A (en) 1994-08-04 1996-04-23 Northern Telecom Limited Symmetric cryptographic system for data encryption
US5754659A (en) 1995-12-22 1998-05-19 General Instrument Corporation Of Delaware Generation of cryptographic signatures using hash keys
FR2745924B1 (fr) 1996-03-07 1998-12-11 Bull Cp8 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
US6901509B1 (en) * 1996-05-14 2005-05-31 Tumbleweed Communications Corp. Apparatus and method for demonstrating and confirming the status of a digital certificates and other data
US6587563B1 (en) 1997-02-15 2003-07-01 Apple Computer, Inc. Cryptographic system using chaotic dynamics
US5991415A (en) * 1997-05-12 1999-11-23 Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science Method and apparatus for protecting public key schemes from timing and fault attacks
US5978475A (en) * 1997-07-18 1999-11-02 Counterpane Internet Security, Inc. Event auditing system
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US6304658B1 (en) 1998-01-02 2001-10-16 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US7587044B2 (en) * 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
US7809138B2 (en) * 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
EP2280502B1 (en) 1998-06-03 2018-05-02 Cryptography Research, Inc. Using unpredictable information to Resist Discovery of Secrets by External Monitoring
WO1999067766A2 (en) 1998-06-03 1999-12-29 Cryptography Research, Inc. Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems
DE69940117D1 (de) 1998-06-03 2009-01-29 Cryptography Res Inc Gesicherte moduläre potenzierung mit leckminimierung für chipkarten und andere kryptosysteme
CA2333095C (en) 1998-06-03 2005-05-10 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
JP4216475B2 (ja) * 1998-07-02 2009-01-28 クリプターグラフィー リサーチ インコーポレイテッド 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
US6816968B1 (en) * 1998-07-10 2004-11-09 Silverbrook Research Pty Ltd Consumable authentication protocol and system
US6385727B1 (en) * 1998-09-25 2002-05-07 Hughes Electronics Corporation Apparatus for providing a secure processing environment
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US6188987B1 (en) * 1998-11-17 2001-02-13 Dolby Laboratories Licensing Corporation Providing auxiliary information with frame-based encoded audio information
WO2000046967A1 (en) * 1999-02-04 2000-08-10 Meteora System Co., Ltd. Ip key management mechanism with divergence barrier increasing entropy against computational crypto-analyses
US6654889B1 (en) 1999-02-19 2003-11-25 Xilinx, Inc. Method and apparatus for protecting proprietary configuration data for programmable logic devices
US6735313B1 (en) * 1999-05-07 2004-05-11 Lucent Technologies Inc. Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers
EP1075108A1 (en) * 1999-07-23 2001-02-07 BRITISH TELECOMMUNICATIONS public limited company Cryptographic data distribution
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
US7434046B1 (en) * 1999-09-10 2008-10-07 Cisco Technology, Inc. Method and apparatus providing secure multicast group communication
US6724894B1 (en) 1999-11-05 2004-04-20 Pitney Bowes Inc. Cryptographic device having reduced vulnerability to side-channel attack and method of operating same
EP1267515A3 (en) * 2000-01-21 2004-04-07 Sony Computer Entertainment Inc. Method and apparatus for symmetric encryption/decryption of recorded data
JP2001211153A (ja) * 2000-01-25 2001-08-03 Murata Mach Ltd 秘密鍵生成方法
CA2298990A1 (en) * 2000-02-18 2001-08-18 Cloakware Corporation Method and system for resistance to power analysis
US7089240B2 (en) * 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
JP4622064B2 (ja) * 2000-04-06 2011-02-02 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US7505599B2 (en) * 2000-04-06 2009-03-17 Sony Corporation Information processing system and method for managing encrypted data with tag information
CN100490369C (zh) * 2000-06-15 2009-05-20 索尼公司 使用了加密密钥组的信息处理系统及方法
JP2001358707A (ja) * 2000-06-15 2001-12-26 Sony Corp 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP4660899B2 (ja) * 2000-07-24 2011-03-30 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
US7539313B1 (en) * 2000-09-13 2009-05-26 Nortel Networks Limited System and method for key management across geographic domains
US6993138B1 (en) * 2000-09-14 2006-01-31 Nortel Networks Limited Spatial key trees for key management in wireless environments
US6931543B1 (en) 2000-11-28 2005-08-16 Xilinx, Inc. Programmable logic device with decryption algorithm and decryption key
US7117373B1 (en) 2000-11-28 2006-10-03 Xilinx, Inc. Bitstream for configuring a PLD with encrypted design data
US20020141593A1 (en) * 2000-12-11 2002-10-03 Kurn David Michael Multiple cryptographic key linking scheme on a computer system
JP4710132B2 (ja) * 2000-12-26 2011-06-29 ソニー株式会社 情報処理システム、および情報処理方法、並びにプログラム記録媒体
US7039803B2 (en) * 2001-01-26 2006-05-02 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
JP4019303B2 (ja) 2001-02-02 2007-12-12 日本電気株式会社 電子透かしに含めた暗号鍵を用いた暗号化装置及び復号化装置並びにそれらの方法
US20020131592A1 (en) * 2001-03-16 2002-09-19 Harris Hinnant Entropy sources for encryption key generation
US7028191B2 (en) * 2001-03-30 2006-04-11 Michener John R Trusted authorization device
JP4976622B2 (ja) 2001-06-22 2012-07-18 東日本旅客鉄道株式会社 踏切制御装置及び踏切制御ネットワーク
JP4193380B2 (ja) * 2001-07-05 2008-12-10 Kddi株式会社 ストリーム転送における電子署名システム
US7237121B2 (en) * 2001-09-17 2007-06-26 Texas Instruments Incorporated Secure bootloader for securing digital devices
GB0124670D0 (en) * 2001-10-15 2001-12-05 Hewlett Packard Co Method and apparatus for encrypting data
US7543159B2 (en) * 2001-11-14 2009-06-02 International Business Machines Corporation Device and method with reduced information leakage
US7194633B2 (en) * 2001-11-14 2007-03-20 International Business Machines Corporation Device and method with reduced information leakage
US7333616B1 (en) * 2001-11-14 2008-02-19 Omniva Corp. Approach for managing access to messages using encryption key management policies
US7308583B2 (en) * 2002-01-25 2007-12-11 Matsushita Electric Industrial Co., Ltd. Data distribution system
US7340603B2 (en) * 2002-01-30 2008-03-04 Sony Corporation Efficient revocation of receivers
US7162644B1 (en) 2002-03-29 2007-01-09 Xilinx, Inc. Methods and circuits for protecting proprietary configuration data for programmable logic devices
US7545931B2 (en) * 2002-04-12 2009-06-09 Microsoft Corporation Protection of application secrets
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US8438392B2 (en) * 2002-06-20 2013-05-07 Krimmeni Technologies, Inc. Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol
EP1429224A1 (en) * 2002-12-10 2004-06-16 Texas Instruments Incorporated Firmware run-time authentication
CN1679271A (zh) * 2002-08-28 2005-10-05 美国多科摩通讯研究所股份有限公司 基于认证的加密和公共密钥基础结构
KR100940202B1 (ko) * 2002-08-29 2010-02-10 삼성전자주식회사 일방향 함수를 사용하여 계층적으로 암호화하는 장치 및방법
KR100924773B1 (ko) * 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
JP4099039B2 (ja) * 2002-11-15 2008-06-11 松下電器産業株式会社 プログラム更新方法
US20050210179A1 (en) * 2002-12-02 2005-09-22 Walmsley Simon R Integrated circuit having random clock or random delay
US7152942B2 (en) * 2002-12-02 2006-12-26 Silverbrook Research Pty Ltd Fixative compensation
US20090319802A1 (en) * 2002-12-02 2009-12-24 Silverbrook Research Pty Ltd Key Genaration In An Integrated Circuit
US7613925B2 (en) * 2003-01-10 2009-11-03 Motorola, Inc. Method for authenticating a message
US7707114B2 (en) 2003-06-25 2010-04-27 Nokia Corporation Enabling modification of control information, which controls the rights to content, where access to a key for decrypting the content requires a particular value that becomes modified when the control information is modified
US7581094B1 (en) * 2003-07-09 2009-08-25 Hewlett-Packard Development Company, L.P. Cryptographic checksums enabling data manipulation and transcoding
GB2404488B (en) * 2003-07-31 2006-05-31 Sony Uk Ltd Access control for digital content
GB2404467A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital content
GB2404486A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
GB2404538A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital content
GB2404487A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
GB2404489A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
US7366302B2 (en) * 2003-08-25 2008-04-29 Sony Corporation Apparatus and method for an iterative cryptographic block
EP1519530A1 (en) * 2003-09-29 2005-03-30 STMicroelectronics S.r.l. Method for establishing an encrypted communication by means of keys
US20050091496A1 (en) * 2003-10-23 2005-04-28 Hyser Chris D. Method and system for distributed key management in a secure boot environment
US7996671B2 (en) * 2003-11-17 2011-08-09 Bluerisc Inc. Security of program executables and microprocessors based on compiler-architecture interaction
EP1688816A4 (en) * 2003-11-28 2012-04-25 Panasonic Corp DATA PROCESSING DEVICE
KR100982515B1 (ko) * 2004-01-08 2010-09-16 삼성전자주식회사 해시 체인을 이용하여 디지털 컨텐츠의 접근 횟수를제한하는 장치 및 방법
US7607025B1 (en) * 2004-02-26 2009-10-20 Xilinx, Inc. Methods of intrusion detection and prevention in secure programmable logic devices
US20050210014A1 (en) * 2004-03-08 2005-09-22 Sony Corporation Information-processing method, decryption method, information-processing apparatus and computer program
US20050213751A1 (en) * 2004-03-26 2005-09-29 Apostolopoulos John J Methods and systems for generating transcodable encrypted content
JP2005286959A (ja) * 2004-03-31 2005-10-13 Sony Corp 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
US7483906B2 (en) * 2004-04-14 2009-01-27 Microsoft Corporation Method and system for renaming consecutive keys in a B-tree
JP4664358B2 (ja) * 2004-05-12 2011-04-06 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 安全なブロードキャストのための鍵管理メッセージ
US9244979B2 (en) * 2004-07-02 2016-01-26 Oracle International Corporation Determining predicate selectivity in query costing
US20060021066A1 (en) * 2004-07-26 2006-01-26 Ray Clayton Data encryption system and method
US20120115455A1 (en) * 2004-07-26 2012-05-10 Bindu Rama Rao Secure bootstrap provisioning of electronic devices in carrier networks
US20060036627A1 (en) * 2004-08-06 2006-02-16 Roger Deran Method and apparatus for a restartable hash in a trie
US8750522B2 (en) * 2004-08-26 2014-06-10 Deutsche Telekom Ag Method and security system for the secure and unequivocal encoding of a security module
US20060059344A1 (en) * 2004-09-10 2006-03-16 Nokia Corporation Service authentication
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
KR100727387B1 (ko) * 2004-10-22 2007-06-12 삼성전자주식회사 네트워크 시스템에서의 키 관리방법
JP4794269B2 (ja) * 2004-11-08 2011-10-19 パナソニック株式会社 セキュアデバイスおよび中継端末
JP4496061B2 (ja) * 2004-11-11 2010-07-07 パナソニック株式会社 機密情報処理装置
US7987356B2 (en) * 2004-11-29 2011-07-26 Broadcom Corporation Programmable security platform
US20060242067A1 (en) * 2004-12-21 2006-10-26 Fabrice Jogand-Coulomb System for creating control structure for versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
KR101167751B1 (ko) * 2005-01-12 2012-07-23 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 Rfid 트랜스폰더 보안 시스템 및 그 방법
US7689602B1 (en) * 2005-07-20 2010-03-30 Bakbone Software, Inc. Method of creating hierarchical indices for a distributed object system
US8190895B2 (en) * 2005-08-18 2012-05-29 Microsoft Corporation Authenticated key exchange with derived ephemeral keys
KR20080058462A (ko) * 2005-11-04 2008-06-25 닛본 덴끼 가부시끼가이샤 메시지 인증 장치, 메시지 인증 방법, 메시지 인증 프로그램을 기록한 매체
US8332649B2 (en) * 2005-11-08 2012-12-11 Panasonic Corporation Authentication system, signature creating device, and signature verifying device
US20070174362A1 (en) * 2006-01-18 2007-07-26 Duc Pham System and methods for secure digital data archiving and access auditing
JP4770494B2 (ja) * 2006-02-03 2011-09-14 株式会社日立製作所 暗号通信方法およびシステム
JP4795812B2 (ja) * 2006-02-22 2011-10-19 富士通セミコンダクター株式会社 セキュアプロセッサ
US7706538B1 (en) * 2006-04-14 2010-04-27 Oracle America, Inc. System, method and data storage device for encrypting data
US7339400B1 (en) 2006-06-09 2008-03-04 Xilinx, Inc. Interface port for electrically programmed fuses in a programmable logic device
US7424398B2 (en) * 2006-06-22 2008-09-09 Lexmark International, Inc. Boot validation system and method
US8086850B2 (en) * 2006-06-23 2011-12-27 Honeywell International Inc. Secure group communication among wireless devices with distributed trust
US8261068B1 (en) * 2008-09-30 2012-09-04 Emc Corporation Systems and methods for selective encryption of operating system metadata for host-based encryption of data at rest on a logical unit
JP4950195B2 (ja) * 2006-07-03 2012-06-13 パナソニック株式会社 証明装置、検証装置、検証システム、コンピュータプログラム及び集積回路
EP2040411B1 (en) * 2006-07-27 2017-01-18 Intertrust Technologies Corporation Terminal device, server device, and content distribution system
JP4179563B2 (ja) * 2006-09-21 2008-11-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 暗号通信の暗号鍵を管理する技術
IL178488A0 (en) * 2006-10-05 2008-01-20 Nds Ltd Improved key production system
US8683212B2 (en) * 2006-10-06 2014-03-25 Broadcom Corporation Method and system for securely loading code in a security processor
KR101377455B1 (ko) * 2006-10-09 2014-04-02 삼성전자주식회사 브로드캐스트 암호화를 위한 암호화 키 생성 방법 및 장치
US8769275B2 (en) * 2006-10-17 2014-07-01 Verifone, Inc. Batch settlement transactions system and method
KR101213160B1 (ko) * 2006-11-16 2012-12-17 삼성전자주식회사 그룹 키 업데이트 방법 및 이를 이용한 그룹 키 업데이트장치
US20080172562A1 (en) * 2007-01-12 2008-07-17 Christian Cachin Encryption and authentication of data and for decryption and verification of authenticity of data
EP2120227B1 (en) * 2007-01-19 2015-04-15 Mitsubishi Electric Corporation Cryptogram generating device, cryptogram communication system, and group parameter generating device
US20080263363A1 (en) 2007-01-22 2008-10-23 Spyrus, Inc. Portable Data Encryption Device with Configurable Security Functionality and Method for File Encryption
KR101405915B1 (ko) * 2007-04-26 2014-06-12 삼성전자주식회사 데이터의 암호화 저장 방법 및 암호화된 데이터의 판독방법
US7876895B2 (en) * 2007-05-09 2011-01-25 International Business Machines Corporation System, method, and service for performing unified broadcast encryption and traitor tracing for digital content
KR100938262B1 (ko) * 2007-07-18 2010-01-22 한국전자통신연구원 비밀키 사전분배 방법
US8355982B2 (en) * 2007-08-16 2013-01-15 Verifone, Inc. Metrics systems and methods for token transactions
JP5053013B2 (ja) * 2007-09-25 2012-10-17 京セラ株式会社 受信装置、およびストリーム送信装置
JP2009145544A (ja) 2007-12-13 2009-07-02 Panasonic Corp プラズマディスプレイ装置
FR2926382B1 (fr) * 2008-01-11 2010-02-26 Proton World Internat Nv Hierarchisation de cles cryptographiques dans un circuit electronique
JP5525133B2 (ja) 2008-01-17 2014-06-18 株式会社日立製作所 デジタル署名及び認証のためのシステム及び方法
JP4658150B2 (ja) * 2008-01-25 2011-03-23 Nttエレクトロニクス株式会社 暗号化方法および復号方法
US9729316B2 (en) * 2008-02-27 2017-08-08 International Business Machines Corporation Unified broadcast encryption system
KR101526584B1 (ko) 2008-04-04 2015-06-09 삼성전자주식회사 통신 시스템에서 암호화 키를 이용한 방송 서비스 방법 및 장치
KR101485460B1 (ko) * 2008-06-09 2015-01-23 삼성전자주식회사 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
US20090327741A1 (en) * 2008-06-30 2009-12-31 Zimmer Vincent J System and method to secure boot uefi firmware and uefi-aware operating systems on a mobile internet device (mid)
FR2935078B1 (fr) 2008-08-12 2012-11-16 Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst Procede de protection du decryptage des fichiers de configuration de circuits logiques programmables et circuit mettant en oeuvre le procede
US8595504B2 (en) * 2008-08-12 2013-11-26 Industrial Technology Research Institute Light weight authentication and secret retrieval
US7986158B2 (en) 2008-08-21 2011-07-26 OFID Microdevices, Inc. Methods, apparatuses, and products for a secure circuit
US8368517B2 (en) * 2008-08-22 2013-02-05 Hong Kong R&D Centre for Logistics and Supply Chain Management Enabling Technologies Limited RFID privacy-preserving authentication system and method
US9559842B2 (en) * 2008-09-30 2017-01-31 Hewlett Packard Enterprise Development Lp Trusted key management for virtualized platforms
JP5457363B2 (ja) * 2008-10-10 2014-04-02 パナソニック株式会社 情報処理装置、認証システム、認証装置、情報処理方法、情報処理プログラム、記録媒体及び集積回路
US8095800B2 (en) 2008-11-20 2012-01-10 General Dynamics C4 System, Inc. Secure configuration of programmable logic device
US8359480B2 (en) * 2008-12-19 2013-01-22 University Of Washington Scalable RFID systems: a privacy preserving protocol with constant-time identification
US8190892B2 (en) * 2008-12-29 2012-05-29 King Fahd University Of Petroleum & Minerals Message authentication code with blind factorization and randomization
US20100169658A1 (en) * 2008-12-30 2010-07-01 Lahouari Ghouti Elliptic curve-based message authentication code
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
KR101062995B1 (ko) * 2009-01-19 2011-09-07 충남대학교산학협력단 Scada 시스템 통신 환경에 효율적인 키 관리 방법
US8280056B2 (en) * 2009-01-29 2012-10-02 Fortress Applications Ltd. System and methods for encryption with authentication integrity
US9112862B2 (en) * 2009-02-02 2015-08-18 Adobe Systems Incorporated System and method for parts-based digital rights management
US20120099948A1 (en) 2010-10-21 2012-04-26 Digi-Star, LLC, a Wisconsin Limited Liability Company Automatic start / stop controls for agricultural load and transfer equipment
US8194858B2 (en) * 2009-02-19 2012-06-05 Physical Optics Corporation Chaotic cipher system and method for secure communication
CN102396251B (zh) * 2009-04-15 2015-06-24 交互数字专利控股公司 对与网络通信的设备的确认和/或认证
US20100278338A1 (en) * 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules
EP2462507B1 (en) * 2009-08-04 2019-07-24 Carnegie Mellon University Methods and apparatuses for user-verifiable trusted path in the presence of malware
WO2011034456A1 (en) * 2009-09-16 2011-03-24 Lsi Corporation Hash processing using a processor with a plurality of arithmetic logic units
US8615085B2 (en) * 2009-09-29 2013-12-24 Zamtec Ltd Encrypted communication system with limited number of stored encryption key retrievals
US9094195B2 (en) * 2009-10-02 2015-07-28 Andrew LEPPARD Protecting de-duplication repositories against a malicious attack
EP2497057A1 (en) * 2009-11-06 2012-09-12 Emue Holdings Pty Ltd A method and a system for validating identifiers
CN102725737B (zh) * 2009-12-04 2016-04-20 密码研究公司 可验证防泄漏的加密和解密
US8261085B1 (en) 2011-06-22 2012-09-04 Media Patents, S.L. Methods, apparatus and systems to improve security in computer systems
US9552493B2 (en) * 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI689828B (zh) * 2017-10-31 2020-04-01 香港商阿里巴巴集團服務有限公司 資料統計方法和裝置
TWI806577B (zh) * 2022-04-28 2023-06-21 瑞昱半導體股份有限公司 數位簽章方法及數位簽章的驗證方法

Also Published As

Publication number Publication date
US20170177874A1 (en) 2017-06-22
IL219906A (en) 2017-05-29
IL219906A0 (en) 2012-07-31
EP2507708A4 (en) 2016-01-06
US11797683B2 (en) 2023-10-24
US9940463B2 (en) 2018-04-10
KR101714108B1 (ko) 2017-03-08
EP3537653A1 (en) 2019-09-11
US20150280907A1 (en) 2015-10-01
US9367693B2 (en) 2016-06-14
US20160048684A1 (en) 2016-02-18
JP5552541B2 (ja) 2014-07-16
US8386800B2 (en) 2013-02-26
US10262141B2 (en) 2019-04-16
US20220083665A1 (en) 2022-03-17
CN102725737B (zh) 2016-04-20
US8707052B2 (en) 2014-04-22
US11074349B2 (en) 2021-07-27
JP5805249B2 (ja) 2015-11-04
US9569623B2 (en) 2017-02-14
CN102725737A (zh) 2012-10-10
US20160026826A1 (en) 2016-01-28
TW201141173A (en) 2011-11-16
US20110138192A1 (en) 2011-06-09
US20190377879A1 (en) 2019-12-12
EP2507708A1 (en) 2012-10-10
US20140247944A1 (en) 2014-09-04
EP2507708B1 (en) 2019-03-27
KR20120098764A (ko) 2012-09-05
JP2013513312A (ja) 2013-04-18
US9576133B2 (en) 2017-02-21
WO2011068996A1 (en) 2011-06-09
EP3537653B1 (en) 2022-06-01
JP2014131354A (ja) 2014-07-10
US20180004957A1 (en) 2018-01-04
US20130173928A1 (en) 2013-07-04
US8977864B2 (en) 2015-03-10

Similar Documents

Publication Publication Date Title
TWI440351B (zh) 可檢驗的、對洩漏有抵抗性的加密與解密
US10482291B2 (en) Secure field-programmable gate array (FPGA) architecture
Guajardo et al. Physical unclonable functions and public-key crypto for FPGA IP protection
Yu et al. A lockdown technique to prevent machine learning on PUFs for lightweight authentication
Checkoway et al. A systematic analysis of the Juniper Dual EC incident
JP6366595B2 (ja) 耐グリッチ性暗号離散対数ベースの署名のための方法及びシステム
Gebotys Security in embedded devices
CN110855667A (zh) 一种区块链加密方法、装置及系统
CN112907375A (zh) 数据处理方法、装置、计算机设备和存储介质
Kirkpatrick et al. Enforcing physically restricted access control for remote data
Fischlin et al. Verifiable Verification in Cryptographic Protocols
Garay et al. MAC precomputation with applications to secure memory