CN102725737B - 可验证防泄漏的加密和解密 - Google Patents

可验证防泄漏的加密和解密 Download PDF

Info

Publication number
CN102725737B
CN102725737B CN201080060319.3A CN201080060319A CN102725737B CN 102725737 B CN102725737 B CN 102725737B CN 201080060319 A CN201080060319 A CN 201080060319A CN 102725737 B CN102725737 B CN 102725737B
Authority
CN
China
Prior art keywords
key
encryption
data segment
hash
cryptographic
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201080060319.3A
Other languages
English (en)
Other versions
CN102725737A (zh
Inventor
P·C·科彻
P·罗哈吉
J·M·雅菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cryptography Research Inc
Original Assignee
Cryptography Research 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 Research Inc filed Critical Cryptography Research Inc
Publication of CN102725737A publication Critical patent/CN102725737A/zh
Application granted granted Critical
Publication of CN102725737B publication Critical patent/CN102725737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/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)

Abstract

公开了用于以提供安全性以防外部监视攻击的方式加密和解密敏感数据的方法和设备。加密设备具有对解密设备也已知的基本秘密密码值(密钥)的访问权。将敏感数据分解成段,并且用根据基本密钥和消息标识符导出的单独加密密钥加密每段,以创建一组加密段。加密设备使用基本密码值以创建如下验证器,这些验证器证实用于这一消息标识符的加密段由具有对基本密钥的访问权的设备创建。解密设备响应于接收加密段使用验证器以验证未修改消息标识符和加密段。

Description

可验证防泄漏的加密和解密
相关申请的交叉引用
本申请要求对通过引用而整体结合于此的、于2010年12月02日提交的第12/958,570号美国专利申请和于2009年12月4日提交的第61/266,948号美国临时专利申请的优先权。
技术领域
本专利涉及用于处理加密的数据输入的技术,并且更具体地涉及保护这样的系统和数据以防外部监视攻击。
背景技术
对敏感数据进行操作的系统需要防范攻击者对这样的数据的未授权访问或者公开或者变更。获得对密码密钥和其它秘密的访问的攻击者可以窃取或者篡改敏感数据,从而导致严重后果(比如通过引入未授权命令和暴露机密的或者专有的信息来颠覆系统的关键操作)。一个被危及的元件也可能用来增加更多攻击,从而危害系统的其它元件。更具体地,先前的研究已经说明了攻击者可以监视设备的外部特性(比如操作时序、功率消耗和/或电磁辐射)并且使用这一附加信息以提取正在设备内使用的秘密密钥。例如,如Kocher等人描述的那样(见P.Kocher、J.Jaffe、B.Jun的“DifferentialPowerAnalysis”,AdvancesinCryptology-Crypto99Proceedings,LectureNotesInComputerScienceVol.1666,Springer-Verlag,1999),在本领域中公知的是对将相同一组密钥与不同数据一起用来执行密码操作序列的设备的外部监视可能造成密钥泄漏。
由于外部监视攻击通常是被动的和非入侵的,所以基于阻碍物理访问或者检测不恰当使用的传统防篡改防范对于提供保护以防这样的攻击而言是不足或者不切实际的。例如,在背景技术中已知用于使用物理上安全、屏蔽良好的空间来管理秘密密钥的方法。然而,在许多应用中,要求密码系统保持于物理上隔离的设施中在给定了它们预期操作于其中的环境时是不可行的。此外,这样的设施建造和运营起来昂贵并且可能在它们防止将少量信息泄漏给对手的能力上仍有缺点。
当然,在背景技术中已知可以减轻监视攻击所致的信息泄漏问题而不必依赖于物理屏蔽的其它方法。这些包括如下方法,该方法用于减少从事务泄漏信息的数量(或者速率)、修改密码算法实现方式以对计算中介进行随机化和/或在功率消耗和操作时序方面引入噪声。
例如,标题为“Leak-ResistantCryptographicIndexedKeyUpdate”的美国专利6539092提供了用于将共享的主密钥和索引值(例如,计数器)转换成事务密钥的方法,其中保护导出以防外部监视攻击。这些方法在如下应用中工作良好,在这些应用中,为了防范外部监视攻击而保护的设备可以对事务密钥的导出起作用。例如,第092号专利描述了智能卡如何可以维护随着每个事务而递增的索引计数器,然后在密钥导出中使用索引计数器。
然而,存在如下应用,在这些应用中,应当保护协议中的参与者以防外部监视攻击,但是缺乏如第092号专利中描述的那样的存储序列计数器和更新的密钥的能力。例如,考虑如下情况,在该情况中设备需要有规律地处理相同输入数据(比如如下设备,该设备包含固定并且不变的嵌入式密钥,该密钥反复用来以任意顺序解密密文)。固件加密是这样的应用的示例;可以制造在熔断器中具有嵌入式密钥的微处理器,并且在每次重新引导时,微处理器需要重新解密它的从非信任外部闪存加载的固件映像。可以偶然更新固件映像,但是也可以反复解密相同的密文。因此,应用要求和物理制造限制(比如由于使用一次性可编程熔断器以保持密钥而不能修改存储的密钥)两者可能使设备限制解密密钥将被使用的次数不切实际。固件发行者可以每当发布新的加密的固件时将在’092专利中描述的方法与新索引值一起使用,但是解密设备无法在每次重新引导时使用不同索引值,因为将索引值改变成除了由加密设备使用的值之外的值将造成不正确解密。因此,攻击者可以潜在地向解密设备供应篡改的数据集,继而在设备处理(例如,解密等)这些密文时尝试通过监视外部特性来恢复秘密密钥。统计旁信道攻击(比如差分功率分析(DPA))可以根据在设备反复使用相同密钥以对不同输入值(比如之前示例中的不同固件密文或者相同固件密文的篡改的版本)操作时收集的一组测量推断秘密密钥。即使未篡改密文消息,来自单个长消息(例如,包括多个块密码输入)或者合法消息的汇集(比如多个固件版本)的测量也可以提供用于旁信道攻击的充分数据。
当然,在其中设备将相同密钥用于每个事务的一些情形中,设备在理论上可以实施封锁(例如,通过如果超过事务或者失败阈值则自毁)以限制对手可以观测的事务数目。然而,封锁机制引入了诸多实际问题,比如与存储失败计数器相关联的可靠性顾虑和困难(例如,许多半导体制造工艺缺乏安全的片上非易失性存储并且难以使片外存储安全)。
鉴于所有前述,一种提供用于设备传达和交换数据的而防范外部监视攻击的可验证安全方式以及设备拒绝非真实数据的能力的方法将是有利的。
发明内容
本专利描述用于使利用秘密密码密钥的设备安全免受外部监视攻击以及提供改善的安全性以防收集与设备的内部操作相关的信息的常规密码分析和其它攻击(比如DPA和其它形式的外部监视攻击)的方式。在说明书中公开了用于加密敏感数据的各种示例性实施例。
尽管这些各种实施例可以在它们的细节上明显变化,但是它们如关于在说明书中描述的各种实施例可以容易验证的那样都涵盖于以下通用技术内:关于加密,待加密的每个数据集与消息标识符(比如事务/消息计数器、明文的散列、随机值或者另一唯一或者半唯一值)相关联。加密设备使用消息标识符和与解密设备共享的初始秘密内部状态来导出消息密钥。通过从共享的秘密内部状态的至少部分开始并且促成消息密钥的一连串一个或者多个中间密钥以迭代方式执行这一导出,其中在每次迭代中,下一密钥依赖于至少一个先前密钥和消息标识符的至少部分。可以将明文分解成一段或者多段。用可以包括消息密钥或者根据消息密钥进一步导出的密钥的一个或者多个秘密密钥加密每个明文段以创建对应的加密段。通常,不同密钥(或者不同的一组密钥)用于每段。
加密设备继而使用与解密设备共享的秘密密钥(比如消息密钥、秘密内部密钥、不同密钥、根据前述各项导出的密钥等)以计算至少一个验证器。可以使用与用来产生消息密钥的迭代过程相似的迭代过程来执行导出验证器,借此将变换的序列应用于秘密密钥以产生相继值(例如,其中生成每个中间密钥包括散列化它的父值)。
加密设备输出一个或者多个加密段和一个或者多个验证器。也可以如需要的那样输出附加信息以使接收方能够确定消息标识符。
在对应的解密过程期间,解密设备接收一个或者多个加密段、一个或者多个验证器和对应于加密段的消息标识符。它继而使用一个或者多个验证器以验证至少尚未修改待解密的第一加密段。验证器的验证可以包括计算从与加密设备共享的秘密开始的相继中间值序列,并且其中每个中间值是它的父代的散列(并且具体散列操作依赖于所述加密段的散列的部分)。通常,如果验证未修改加密段则才允许用于该段的解密过程继续。如果验证成功,则解密设备通过遵循与加密设备遵循的相同迭代密钥导出过程(即从共享的秘密内部状态的至少部分开始、经过中间密钥序列、促成最终消息密钥,其中在每个步骤,下一密钥依赖于消息标识符的至少部分和至少一个先前密钥)、使用它与加密设备共享的秘密内部状态来计算消息密钥(如果尚未导出)。用根据消息密钥导出的一个或者多个对应的秘密密钥解密每个加密段(如果确定为未修改)以恢复对应的明文段。
附图说明
图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示出了使用具有段内密钥改变的密码块链接(CBC)的示例性ENC()操作的示例性实施例。
图14示出了对应于图13的加密操作的使用具有段内密钥改变的密码块链接(CBC)的示例性DEC()操作的示例性实施例。
具体实施方式
在本专利中描述的技术使多方能够传达密码保护的敏感数据并具有增加的安全性以防外部监视攻击。虽然描述了涉及到两方(通常称为“加密设备”和“解密设备”)的示例性实施例,但是术语“设备”是为了便利而加以选择并且无需必然直接对应于系统设计中的任何特定角色。设备可以但是并不必须利用不同形式的因素或者实现方式。例如,加密设备和解密设备可以均为便携硬件设备。备选地,加密设备可以是在操作于设施中的服务器上运行的软件应用,而解密设备可以是便携式硬件设备(或者反之亦然)。另外,虽然多数密码操作涉及到两方,但是本专利的技术当然可以应用于仅涉及到一方的环境中(比如安全存储器或者存储系统(其中两个角色例如在图8中所示的示例性环境中在单方和/或单个设备的控制之下)中)或者应用于涉及到多于两方和/或两个设备的环境中(比如图10中所示的示例性实施例中)。
熵重新分布操作
如这里所用,“熵重新分布操作”(或者“熵分布操作”)是如下操作,该操作混合它的输入,从而使得关于输入位的未知信息在输出位之间重新分布。例如,假设用熵重新分布操作f反复处理x位密码密钥K0,从而使得对于每个i>1而言密钥Ki=f(Ki-1)。接着,假设对手获得关于n个不同密钥Ki中的每个密钥的y位信息(例如,作为尝试的外部监视攻击的部分而获得),从而提供用于求解密钥K0的绰绰有余的信息(例如y*n>x)。使用熵分布操作f可以使这样的解决方案在计算上不可行。密码散列函数H是可以作为熵重新分布操作而使用的操作的示例。例如,考虑产生256位结果的强散列函数H。在随机256位初始密钥K0给定时,对于每个i>1而言令Ki=H(Ki-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块密码来解析熵重新分布操作。例如,为了实施f0()...fb-1(),每个fi()可以使用它的输入作为AES-256密钥以加密对于i在0...b-1内的选择而言唯一的一对128位输入块,从而产生256位的输出。在背景技术中也知道并且也可以运用广泛多种基于块密码的散列函数和MAC构造。
共享的密码值和操作
本节描述由加密设备和它的对应的解密设备两者共享用来执行如在本专利中描述的可验证防泄漏密码操作的某些密码值和/或操作。
设置加密设备和解密设备,从而使得每个设备具有对基本共享秘密密码状态值(比如表示为KROOT的秘密密钥)的访问权。这一秘密状态可以例如存储于防篡改芯片上的EEPROM、闪存、熔断器或者其它存储中的一项或者多项中,并且可以完全或者部分根据其它值或者过程来导出,或者可以从外部获得。这些设备中的每个设备获得KROOT的方法可以包括而不限于每个设备与KROOT一起制造、设备通过经由物理键控接口接收KROOT、随机生成KROOT(例如,如果加密设备和解密设备相同)等来直接或者经由第三方相互协商KROOT(例如,使用如下协议,这些协议利用RSA、Diffie-Hellman或者其它公共密钥密码技术或者对称技术)。
此外,加密设备和解密设备也均能够计算一组非线性密码熵重新分布操作f0(),f1(),...,fb-1(),其中b>1为正整数。可以在树结构中配置这些b熵重新分布函数。例如,可以通过使用b个不同熵分布函数f0()...fb-1()以代表这一b进制树在树的每个节点(每个节点代表可能的导出的密钥)的b个可能的分支来创建高度为Q的简单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个附加的可能的导出的密钥。整个密钥树具有从在0级的单个节点开始、以在i级的bi个节点继续并且以在Q级的bQ个节点为结束的Q+1级。因此,存在从0级的根节点到Q级的bQ个最终节点的bQ个可能的路径。对应于在不同级应用的唯一函数序列的每个这样的可能路径可以表示为Q个整数的序列(每个整数选自于(0...b-1))。
例如,在示例性实施例中b=2。因此,使用(并且可以例如如上文描述的那样根据基本操作构造)两个熵重新分布操作f0()和f1()。如果Q=128(即高度为128),则2128个路径是可能的并且需要128次熵重新分布函数计算以根据0级节点(即起始密钥)导出Q级密钥。
作为变体,实施例可以涉及到b的更多选择多样性(比如在级之间变化b的值和/或基于去往特定级而取道的路由来变化b)。类似地,也可以比如通过使熵重新分布操作fi()在不同级不同或者使这些操作依赖于对特定级采取的序列来变化熵重新分布操作。
加密设备和解密设备也能够执行可以(但是未必)与函数fi()相异的密码非线性密钥链接操作g()。例如,在一个实施例中,g()由密码散列操作构成。不同实施例可以将不同函数用于g()的不同应用(包括根据基本函数构造的变体(例如,通过用计数器或者代表g()的应用的另一个值散列化输入数据))。
加密设备和解密设备也具有可以(但是未必)与操作fi()和g()相异的密码防冲突单向散列函数h()(例如,用作段散列函数)。
在示例性实施例中,通过将操作fi()、g()和h()中的每个操作计算为操作标识符和输入数据的密码散列来根据共同密码散列函数构造每个操作。操作标识符可以例如是由“f#”、“g”或者“h”构成的零结尾串,其中#是用于给定的fi()的i的值,从而使得用于f0()的操作标识符将为“f0”。使用输入作为密钥的操作标识符的HMAC也可以用来实施这些操作。可与本专利的技术一起使用的散列函数包括而不限于MD5、SHA-1、SHA-256、SHA-512、任何SHA3候选操作以及前述各项与使用前述各项的构造(比如HMAC)的组合。如这里所用,函数BLAKE、BlueMidnightWish、CubeHash、ECHO、Fugue、Grostl、Hamsi、JH、Keccak、LANE、Luffa、Shabal、SHAvite-3、SIMD和Skein中的每个函数是“SHA3候选操作”。在其它实施例中,使用将块密码(比如AES、DES或者其它密码)转换成散列函数的其它公知构造(比如而不限于Matyas-Meyer-Oseas、Davies-Meyer、Miyaguchi-Preneel、Merke-Damgard等)来导出散列函数。非防冲突的变换(比如MD5、散列变换的精简轮回变体或者其它混合操作)也可以重新分布输入中存在的熵、但是对于用作单向函数h()而言吸引力将更小。
更多其它实施例可以在实施熵重新分布操作f0...b-1()时利用流密码(潜在地包括轻量级并且潜在地在密码上为弱的流密码)。例如,可以运用流密码RC4,其中熵重新分布操作输入用作RC4密钥并且RC4输出字节用作(或者用来形成)熵重新分布操作输出。
加密设备和解密设备具有秘密密钥加密函数(或者函数集)ENC(),其具有对应的解密函数DEC()。在一些实施例(比如固定长度消息的实施例)中,ENC()和DEC()可以比如在ECB或者CBC模式中利用常规密码构造(比如AES)。后文分别关于图13和图14描述用于其它实施例的ENC()和DEC()构造。
图1和图2中的示例性实施例
本节描述用于可验证防泄漏加密和解密的通用技术的示例性实施例。这一第一示例性实施例使用密钥链接和密文散列链接。加密
为求便利,按照密码学中的传统命名法,使用术语“明文”以指代待加密的数据。如本领域技术人员将理解的那样,这未必意味着输入数据为人类可读的,并且实际上并未排除在利用本专利的技术保护这样的数据之前对其本身进行压缩、编码乃至加密。类似地,本领域技术人员将理解术语“数据”涵盖被处理的任何量并且可以包括而不限于内容、数据、软件、代码和任何其它类型的信息。
在给定待保护的敏感明文数据消息D时,并且在知道共享的基本秘密密码值KROOT时,加密设备执行如图1中概括的以下步骤。首先,它将敏感明文数据D分解成L段D1,...,DL的序列(步骤100),其中(L≥1),每段小到足以相配到接收器中的用于传入段的存储器中。此外,这些段中的每段的大小应当充分小以满足应用和实现方式的泄漏要求。段可以但是未必是相同大小。此外,其它变体也可以如下文将关于图13和图14示出的那样通过改变密钥(例如,在ENC()和DEC()内)来支持无限制大小的段。
加密设备也生成(步骤101)临时数N,该临时数(如下文将示出的那样)可以用作用于与对D的加密结合使用的消息标识符(或者其前身)。例如,可以使用真随机数生成器、伪随机数生成器、真随机数生成器与伪随机数生成器的一些组合、计数器值或者其它(优选为唯一或者很少重复的)参数或者通过根据可用于加密设备的密钥和/或数据(包括而不限于D(例如,通过将N设置成D的部分或者全部的散列))导出N来生成该临时数。在图1中,对于给定的KROOT,用来加密特定消息的N的值优选地未用来加密任何其它消息(或者如果用来加密,则任何重用应当是有限的、不太可能的和/或不频繁的)。
在以下示例性实施例中,使用临时数N来形成消息标识符H1。在最简单直接的实现方式(其中N充当消息标识符)中,H1可以简单地等于N。作为另一示例(其中N充当消息标识符的前身),加密设备可以将H1计算(步骤102)为使用函数h()的N的散列。散列化在如下情形中有用,在这些情形中,希望产生固定大小的消息标识符以例如在为求计算效率而对更短数量操作时允许并入更长数据值(比如文本串),或者为求计算简化而将可变长度的数据值转换成统一长度的消息标识符,或者减少对手可能具有的对H1的选择有影响的任何能力。当然,散列化仅为一种用于产生消息标识符的方式,并且本领域技术人员将理解可以运用除了h之外的其它函数以产生H1
在计算H1之后,加密设备使用共享的基本秘密密码值KROOT和H1(103)作为向防泄漏的、基于密钥树的密钥导出过程的输入来计算消息密钥KMESSAGE。为了便于讨论,这里在(例如,由加密设备执行的)加密的上下文中并且更具体地在图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)。注意,每个中间密钥的导出依赖于至少一个前代密钥(例如,在图2的情况下为它的直接父代)和消息标识符的相关部分。为求便利,应当用符号表示KSTART,PATH(指示通过始于密钥KSTART并且遵循PATH而达到的密钥)表示这一最后导出的密钥。类似地,在图1的步骤103的情况下,最后导出的密钥(向KMESSAGE分配的消息密钥)表示为,因为起始密钥事实上为KROOT并且路径事实上为P1,P2,...,PQ,这简单地是H1的分解。(在备选实施例中,可以例如通过散列化来根据导出KMESSAGE。在任一方式中,KMESSAGE基于。)
在步骤104,基于所述消息密钥KMESSAGE使用至少一个密码密钥来加密数据段从而根据输入段D=D1,...,DL产生密文E=E1,...,EL。在图3中示出了用于步骤104的示例性实施例,该图描绘了在计算加密段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个)段,其中向ENC()函数的明文输入(306)是与通过在密码上散列化整个明文D1...DL而计算的消息完整性值级联的第L个数据段DL。(包括D1...DL的散列是可选的;实施例可以省略这一点或者级联其它数据(比如‘0’字节序列或者某一其它形式的填充))。这一第L个明文段由密钥KL加密以产生加密段EL(307)。
接着,在(308)通过将散列函数h()应用于EL、向数据段DL-1附加这一散列值并且使用结果作为向第L-1段的加密输入来处理第L-1段。在(309),继而使用密钥KL-1来加密第L-1个明文段以产生加密段EL-1。针对其它段重复这一过程。例如,对应于第二明文段的加密输入(310)由后接h(E3)(第三加密段的散列)的第二数据段D2组成,并且继而使用密钥K2来加密输入(310)以产生加密段E2(311)。最后,对应于第一明文段的加密输入(312)由后接h(E2)(第二加密段(311)的散列)的第一数据段D1组成,继而使用密钥K1来加密输入(311)以产生加密段E1(313)。(作为前述的变体,无需加密后续段散列(例如,可以通过加密Di、继而级联加密结果与Ei+1的散列来形成Ei)。)
加密段E1...EL形成密文E。继而完成图1中的步骤104。在计算Ei时使用每个Ei+1的散列有效地将加密值链接在一起,这适于使解密设备能够在解密缺陷段之前检测修改(或者缺陷)的密文段。将这称为“密文散列链接”。在上文所示的示例中,每个密文段Ei(1<i<L)依赖于下一密文段的散列(例如,验证器V用来认证第一密文段(E1)的散列,继而E1(如果必要则在解密成D1之后)产生E2,的预期散列。类似地,E2(如果必要则在解密之后)产生段E3的散列),并且以此类推。
注意,当所有数据在一段中(即L=1)时(例如,由于输入消息小或者运用加密过程ENC()(比如图13中所示的过程))仍然可以执行图3的过程。对于L=1的情况,仅需K1并且K1=g(KMESSAGE)。备选地,KMESSAGE可以直接用作K1,在该情况下可以完全省略操作g()。如上文描述的那样,包括D1..DL(在该情况下将仅为D1,因为L=1)的散列是可选的。该过程的结果是E=E1,因为这是仅有的段。
回顾图1,在已经计算数据段Di之后,计算如下验证器V,该验证器将使加密消息的已授权接收方能够在解密之前认证密文。首先,将值H2计算(105)为第一加密段E1的散列。回顾第一段E1并入所有其它段的散列。因此,E1的散列实际上反映所有段(包括段E1)的内容并且可以用来验证段都尚未改变。(可选地,除了E1之外,向产生H2的散列的输入也可以包括关于消息的附加信息(比如长度、版本号、发送方身份、N的值等))。
接着,解密设备使用秘密密钥以计算V(106),该V是消息标识符和明文段Ei的验证器。使用至少一个密文段的散列(例如,散列H2=h(E1)和初始秘密(例如,KMESSAGE或者如在以下段落中描述的其它值))来计算验证器V。可以使用图2中所描述的防泄漏的、基于密钥树的密钥导出过程以起始密钥KSTART为KMESSAGE和使用H2确定路径来执行V的计算(106)。因此,V的导出包括计算促成V的多个相继中间值,其中每个值依赖于至少一个前代(例如,在图2的情况下为它的父值)和散列(例如,H2)的相关部分。注意,函数fi()、值b等可以(但是并非必须)与在(103)中使用的函数fi()、值b相同。这一过程造成导出密钥,该密钥是(或者被进一步处理以形成)验证器V。
前文描述在导出验证器时始于KMESSAGE,但是备选实施例可以始于不同值。例如,在步骤104的密钥KMESSAGE和在步骤106的密钥KMESSAGE可以互不相同,但是二者均根据来导出。类似地,可以根据在步骤104使用的KMESSAGE导出在步骤106使用的密钥或者反之亦然,或者可以运用不同基本密钥(除了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,设备尝试使用图2中描述的防泄漏的、基于密钥树的密钥导出过程以KSTART=KROOT并且PATH=H1来计算消息密钥KMESSAGE。在步骤404,设备通过使用与加密设备相同的防泄漏的、基于密钥树的密钥导出过程(例如,使用密钥KSTART=KMESSAGE并且PATH=H2的图2中的过程)来计算预期验证器V’。在步骤405,将计算出的值V’与接收的验证器V进行比较。如果预期验证器V’未与提供的验证器V匹配,则该过程以错误终结(步骤406),因为可能已经破坏或者恶意修改了提供的数据或者某一其它错误已经出现。
如果在步骤405的校验成功,则该过程前进到步骤407,其中将计数器i初始化成值1、将密钥寄存器K初始化成计算g(KMESSAGE)的结果(该结果是用于解密第一加密段E1的密钥(即在图3中标注为302的K1的值))。同样在步骤407,将变量H初始化成H2。继而在如图4中所示的循环中执行以下操作。首先计算待解密的下一密文段的散列(即h(Ei))并且比较该散列与预期散列H(步骤408)。如果比较失败,则已经变更了加密段,因而该过程以错误终结(409)并且不执行进一步解密。如果比较在步骤408成功,则在步骤410利用密钥K使用解密函数DEC()来解密段Ei以产生解密段,该段被解释为包含明文Di、继而为下一密文段的推定散列。将H设置成这一推定散列值。接着,在步骤411,执行校验以查看是否已经解密了所有L段(即计数器i是否等于L)。如果计数器尚未达到L,则在步骤412递增计数器i并且通过计算K=g(K)将寄存器K更新成用于下一段的解密密钥,并且从步骤408向前重复该过程。如果步骤411确定i已经达到L,则在步骤413执行校验以查看H是否等于预期填充数据(例如,D1...DL的散列)。如果这一校验失败,则解密以失败状况结束(414)。如果校验成功,则解密过程成功并且在步骤415返回恢复的解密的输出D=D1...DL
注意,在这一实施例中,解密过程可以用流方式(即解密设备可以初始获得N、V和E1、继而一次一个地接收剩余段E2,...,EL)来完成,并且仍然能够实现上文概括的步骤。例如,如果解密设备缺乏用于保持整个消息的充分存储器,或者如果解密的数据的初始部分需要在已经接收和解密所有数据之前可用,则流操作是有用的。
第二示例性实施例
本节描述用于可验证防泄漏加密和解密的通用技术的第二示例性实施例。与使用密文散列链接的第一示例性实施例对照,第二示例性实施例使用明文散列链接。然而,在这两种情况下,在加密设备和解密设备二者控制密钥重用以防止差分功率分析和有关攻击。
加密
在为求简洁而描绘为组合的过程图和状态图的图5中示出了由加密设备进行的加密的第二示例性实施例。加密设备创建或者获得待加密的消息D和消息标识符N(该标识符可以是计数器、随机生成的值、明文散列等)。
将输入消息D划分成段D1,...,DL的序列(但是允许L=1),并且这些段用来创建明文段B1,...,BL,如下所述。首先,通过级联消息段D1与任何所需消息数据(表示为X,该数据可以包括诸如长度L、消息标识符N、事务标识符或者计数器等元素)的散列来形成段B1(501)。接着,通过级联D2与h(B1)(即B1的散列)来形成B2(502)。继而,通过级联Di与Bi-1的散列来形成每个后续Bi直至BL-1。最后,通过级联DL与h(BL-1)来形成最后的明文段BL(504)。
该过程的接下来的步骤(505-508)使用密钥链接过程来生成用于每个明文段的加密密钥,从而使得与第一示例性实施例相似,每个加密密钥直接或者间接地基于消息密钥。在第二示例性实施例中,将第一加密密钥K1简单地设置成通过使用如图2中描述的防泄漏的、基于密钥树的密钥导出过程以KSTART=KROOT和PATH=h(N)来计算h(N)并且继而K1=KMESSAGE=KROOT,h(N)来导出(505)的消息密钥KMESSAGE的值。因此,第二密钥K2是计算g(K1)的结果(506)。重复这一过程,从而使得将第L-1个密钥(KL-1)计算为g(KL-2)(507),并且将最终段密钥KL计算为g(KL-1)(508)。因此,每个密钥Ki基于消息密钥KMESSAGE(例如,等于KMESSAGE或者使用KMESSAGE来导出)。
该过程中的下一步骤是用对应的密钥K1,...KL加密每个明文段B1,...,BL以产生加密段E1,...,EL。例如,通过用K1加密B1来创建加密段E1(509),通过用K2加密B2来创建E2(510),并且以此推论,以通过用KL-1加密BL-1来创建EL-1(511),并且通过用KL加密BL来创建EL(512)。加密的结果E由段E1,...,EL构成。
该过程中的下一步骤是计算用于加密的验证器V(513)。首先,散列函数h()用来计算h(N||E1||...||EL)||h(BL)),其中“||”表示级联。接着,计算Z=h(N||E1||...||EL||h(BL)),继而使用防泄漏的、基于密钥树的密钥导出过程(例如,如图2中所描述的,以KSTART=KROOT和PATH=Z)来计算KROOT,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中描述的防泄漏的、基于密钥树的密钥导出过程以根为KSTART=KROOT和PATH=Z来计算KROOT,Z的值,并且继而散列化结果以产生h(KROOT,Z)。在步骤620,它比较计算的h(KROOT,Z)与接收的验证器V。如果结果不等于V,则存在数据破坏并且该过程停止于611而不执行任何解密。如果校验成功,则在步骤620,解密设备计算h(N),继而用如下计算的结果初始化密钥寄存器K并且将计数器i设置成1,该计算使用图2中描述的防泄漏的、基于密钥树的密钥导出过程以KSTART=KROOT和PATH=h(N)来计算KROOT,h(N)
接着,在循环中执行以下操作:在步骤630,用密钥寄存器K中的密钥解密段Ei以产生由数据段i和散列值构成的明文段Bi。在步骤640,校验来自解密的当前段的散列。对于第一段(即i=1),比较散列与h(X),其中X由与在加密期间的X相同的字段构成。对于在第一段之后的段(即i>1),比较来自Bi的散列与先前段的散列(即h(Bi-1))。如果比较失败,则解密过程在步骤641失败。否则,在步骤650,向输出缓冲器(例如,在RAM中)添加Bi的消息部分(即Di),并且通过计算g(K)、继而在密钥寄存器K中存储结果来向下一段密钥推进K。还将计数器i递增1。在步骤660,比较i的值与L,并且如果i的值未超过L,则解密过程循环回到步骤630。否则,解密过程完成,并且在步骤670,其中比较最后的明文段的散列(即h(BL))与接收的散列H。如果在步骤670的比较失败(即值不相等),则错误已经出现并且解密失败(步骤671)。否则,在步骤680中输出结果数据D1,...,DL
在这一实施例中,链接明文的散列而明文段Bi包含明文Bi-1的散列。这一链接尽管对于防泄漏而言并非严格必需,但是提供如下附加属性:可以检测在解密过程期间出现的任何故障,因为明文被验证为与加密的明文相同的明文。因此,这一实施例有利于在其中有可能破坏解密过程的环境中使用。
系统、应用和变体
到目前为止,本专利已经将一种用于防泄漏的加密和解密的通用技术与该技术的一些示例性实施例一起描述。这一节将描述其中可以利用前述内容的一些示例性系统和/或应用以及上文描述的示例性实施例的方面的附加变体。
安全防火墙加载
图7示出了将可验证、防泄漏密码术应用于在中央处理单元(CPU)上安全地加载敏感固件作为例如所谓的片上系统(SoC)的部分。为求便利,根据上下文,参考号可以指代过程中的步骤和/或由这样的过程步骤使用(或者产生)的量。在这一实施例中,SoC由包含CPU(703)和各种类型的存储器的单个集成电路(700)构成。存储器可以包括而不限于随机存取存储器(RAM)(701)(可以从该RAM执行代码)、只读存储器(ROM)(704)(该ROM包含信任的自引导代码)和秘密状态存储存储器(702)(该存储器保持共享的密码秘密KROOT)。可以使用多种技术,比如而不限于熔断器/防熔断器、后备电池RAM和EEPROM,来实施密钥存储储存器。SoC可以具有可以从(例如,潜在地在对手的控制和/或观测之下的)非信任源接收功率的外部功率输入(707)。也可以接收外部供应的时钟(708)(并且该时钟可以与PLL一起用来形成附加时钟)。SoC具有密码硬件部件(705),该部件具有用于数据加密和解密的AES引擎、散列函数引擎(比如而不限于SHA-1或者SHA-256或者基于AES的散列函数引擎)和基于图2的防泄漏的、基于密钥树的密钥导出过程的实现方式,而使用散列函数和/或AES功能或者它们的变体来实施函数fO(),...,fb-1()。本领域技术人员应当清楚,在其它实施例中,密码硬件部件(705)的全部功能或者其某一子集可以用软件(例如,由CPU)来执行。
响应于从ROM中的信任的自引导代码自引导,SoC从在这一实施例中为闪存(709)的外部非信任存储设备通过非信任接口(706)加载它的敏感软件/数据。为了保护敏感软件/数据以防公开或者未授权修改,由使用共享的秘密密码值KROOT的设备制造商或者其它代码签发者使用可验证的防泄漏技术(例如,如图1或者图5中所示)来加密它。加密结果存储于闪存(709)中。SoC首先从闪存(709)向它的内部RAM(701)加载加密的代码/数据。它继而执行防泄漏解密(例如,如图4中所示),其中在存储于ROM(704)中的信任自引导代码中在密码硬件部件(705)中实施并且使用来自密钥库(702)的共享秘密密钥KROOT来执行该过程。如果成功,则这一过程在RAM存储器(701)内创建继而可以执行的验证和解密的敏感代码/数据映像。在解密过程失败的情况下,清除RAM中的加密的代码(数据)(和任何部分解密的代码/数据)并且操作在需要时从开始重启。
在对这一实施例的可选增强中,通过在设备的将向其上加载软件的熔断器、后备电池存储器或者其它本地存储中存储最小可接收软件版本号来补充安全性。将向设备上加载的所有软件将携带版本号,并且设备将仅接受版本号大于最小值的软件。此外,一些软件版本可以具体指令SoC以更新最小可接受软件版本号,由此防止软件恶意回滚至视为不可接受的先前版本。可以独立于可验证的防泄漏操作(例如,作为其附件)实施前述防回滚方法。备选地,防回滚方法可以实施为消息标识符的部分、验证器或者在可验证的防泄漏操作中使用的其它安全量。
本领域普通技术人员将容易认识到SoC应用并不限于这里呈现的具体架构,并且可以保护如下SoC或者其它设备,这些SoC或者其它设备具有不同内部架构和/或来自图7中呈现的实施例的部件。
例如,图8示出了将可验证的防泄漏密码术应用于安全处理器架构(800)。为求便利,根据上下文,参考号可以指代过程中的步骤和/或由这样的过程步骤使用(或者产生)的量。在这一设置中,设备包含CPU、密钥库(该密钥库保持内部秘密状态(包括基本秘密密码密钥KROOT))。可以运用非易失性存储(比如而不限于熔断器(801))以用于存储内部密码状态。密码硬件子部件(804)加密和/或完整性保护和/或回放保护从片上数据/指令高速缓存(803)向外部不安全RAM存储器(806)移出的所有数据,并且解密和/或完整性校验和/或回放校验从外部不安全RAM存储器取得的所有数据。此外,所有代码以加密和完整性保护的形式存储于不安全闪存(805)中并且在带入片上数据/指令高速缓存(803)中时被解密和完整性校验。背景技术的示例性处理器架构,其可以通过添加可验证的防泄漏密码术来提高其安全性,这些密码术包括而不限于来自IBM的SecureBlue设计(在2006年4月6日、标题为“IBMExtendsEnhancedDataSecuritytoConsumerElectronicsProducts”的IBM新闻发布中通告)和来自MIT的AEGIS设计(在第17届AnnualInternationalConferenceonSupercomputing的AEGIS:ArchitectureforTamper-evidentandTamper-resistantProcessing,Proceedings的第160-171页(2003)中描述)。
使用可验证的防泄漏密码术通过提供保护以防监视攻击来明显改善现有处理器设计的安全性。具体而言,这一实施例增强密码硬件子部件(804)以包括散列功能和密钥树处理能力,该能力重用现有安全处理器设计的(例如,AES)加密能力并且实施第一示例性实施例的步骤和方法以创建安全防泄漏安全处理器。具体而言,使用防泄漏加密过程(例如,如图1中所示)和从非信任闪存(805)读取的任何代码来加密从高速缓存(803)向RAM存储器(806)写入的任何数据,并且使用图4中概括的防泄漏解密过程来解密非信任RAM。当向特定段写入数据时,递增对应于段的计数器,并且在用于段的加密和/或完整性校验创建过程中并入计数器值、由此实现检测涉及到替换旧数据的攻击。
FPGA位流加载
将向现场可编程门阵列(FPGA)中加载的逻辑经常包含需要被保护以防公开或者复制的高度敏感商业秘密、密码秘密和/或其它敏感信息。通常从外部源(比如而不限于闪存设备或者CPU或者某一其它来源(907))向FPGA供应这一加载的逻辑或者升级的逻辑作为位流。一些FPGA包含用于存储配置数据的非易失性存储器,而其它FPGA每当将芯片上电时必须重载。现有FPGA具有通常使用后备电池存储器中保持的或者本地存储(比如使用片上闪存、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中所描述)来加密它。用于这一加密的根密钥是从密钥库(1001)获得的在设备A与目的地设备之间的共享密钥。对于这一处理,消息标识符临时数N可以是包括计数器的任何(优选为)唯一值。例如,临时数可以等于分组标识符、TCP序列号(该序列号有可能并入附加最高有效位以防止溢出)、值的散列、随机值等。对于每个分组,防泄漏加密操作产生加密段和验证器V。临时数可以被传输或者可以是隐式的(例如,基于先前接收的分组数目)。将加密段、V和任何其它所需数据组装成传出分组并且移向网络接口部件(1006),并且继而移向网络(1020)以用于向适当目的地设备寻路由。
对于入站加密分组,假设发送设备已经执行了如上文描述的加密。这些分组由网络接口部件(1006)从网络(1020)接收,并且继而移向密文分组缓冲器(1005)。每个分组继而由段加密/解密处理部件(1004)处理,其中执行防泄漏解密过程(例如,如图4中所描述的)。对于这一解密过程,(i)从密钥库(1001)获得在接收与发送设备之间的共享密钥(例如,KROOT或者用来导出KROOT的前身),(ii)从分组恢复或者以别的方式确定临时数N,(iii)按照N和加密分组验证验证器,并且(iv)如果验证器正确则解密分组数据。在设备A与发送设备之间的共享密码密钥可以用作KROOT。如果解密或者验证失败,则丢弃分组。否则,响应于成功解密,可以向应用、操作系统、驱动器等提供解密结果。
在图11和图12中概括这一过程。图11图示了可验证分组级防泄漏加密过程,并且图12图示了对应的解密过程。可验证分组级防泄漏加密过程如下:在给定输入分组数据D(1100)而源和目的地共享基本密码值KROOT时,在步骤1101中生成消息标识符N(例如,使用随机源和/或存在于分组D中的信息和/或某一分组标识符(比如与通信协议相关联的序列号))。对于TCP/IP通信,可以根据会话标识符、序列号(可选地有附加最高有效位以防止翻转)、源端口、目的地端口和/或其它值。接着,在步骤1102中,计算N的散列。(可选地,可以省略这一步骤并且可以在导出KMESSAGE时使用N而不是h(N)。)随后,在步骤1103中,使用图2中描述的防泄漏的基于密钥树的密钥导出过程以KSTART=KROOT和PATH=h(N)来计算消息密钥KMESSAGE=KROOT,h(N)。用密钥KMESSAGE加密输入分组数据D以产生加密的结果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)。接着,使用图2中概括的防泄漏的基于密钥树的过程以KMESSAGE=KROOT和PATH=h(E)来计算V’=KMESSAGE,h(E)(1204)。随后,解密设备校验是否V’=V(1205)。如果它们不相等,则针对这一分组停止处理并且丢弃分组(1206)。如果校验成功,则用KMESSAGE解密E以产生D(明文分组)(1207)(例如,使用图14中所示的DEC()过程)。
智能卡应用
可验证的防泄漏加密和解密可以实施于智能卡中(例如,结合如下协议,在这些协议中要求智能卡以安全地免受差分功率分析和有关的外部监视攻击的方式执行加密和/或解密)。这样的系统和协议的示例包括而不限于导出用于解密付费电视信号、付款(包括离线付款)、身份验证/网络登入、移动电话SIM卡和过境护照的密钥(控制字)。在本专利中公开的示例性密码技术可以用来保证在执行这样的协议时保护智能卡内的秘密密钥免受外部监视攻击。比如,如果智能卡实施图3的基于密钥树的密钥导出过程,从而使得KSTART从未需要离开智能卡,则智能卡(或者其它安全芯片)也可以用来实施在更大系统中利用的防泄漏加密或者解密过程中的部分或者所有过程。
相互认证应用
在许多应用中,两个或者更多设备需要相互认证和/或在它们之间交换敏感信息。这样的协议的示例应用包括而不限于:(i)在打印机与墨盒之间认证以保证两个设备真实而非伪造;(ii)在机顶盒与智能卡之间认证以保证部件真实(例如,以防止引入窃取的视频解密密钥);(iii)在车库门与打开者之间认证;(iv)无密钥进入系统(比如可以在汽车中使用的系统),该系统认证密钥(例如,在将车门解锁或者启动引擎之前);(v)由被频繁窃取的物品(比如汽车无线电、GPS单元、蜂窝电话等)执行认证协议以防止窃取或者操作篡改的设备;以及(vi)进入系统(比如在安全大楼中存在的在允许进入之前认证密钥/口令的系统)。在这些应用中,在设备之间的挑战响应协议已经在传统上用于相互认证以及设置用于交换敏感信息的共享的秘密密钥。可以通过使用本专利的方法以执行任何所需加密操作或者解密操作来构造用于在防范DPA时执行这些认证的简单协议。例如,设备可以通过它的供应有效验证器和/或解密消息的能力、使用在本专利中公开的技术来论证它的真实性。
具有段内密钥改变的段加密和解密
这一节描述可以在实施示例性实施例(例如,如在图3的步骤320、图4的步骤410、图5的步骤509、图6的步骤630、图11的步骤1104和图12的步骤1207所示)时替代常规加密过程(比如在ECB或者CBC模式中的AES)而使用的ENC()操作和DEC()操作的示例性变体。在图13和图14中分别所示的ENC()变体和DEC()变体中,为了甚至更大安全性而频繁改变密码密钥。具体而言,附加密码密钥更新在将数据段Di加密成Ei(或者反之亦然)时出现。因而,将这些变体称为实施段内密钥改变。
除了对ENC()和DEC()的改变之外,可以如先前描述的那样实施第一示例性实施例和第二示例性实施例中的其余操作。例如而非限制,无需改变涉及到初始消息密钥KMESSAGE、验证器V等的操作。
图13示出了用于加密数据段的ENC()操作的示例性实施例。图14示出了DEC()操作的对应的示例性实施例。在这一实施例中,在密码块链接(CBC)模式中使用块密码AES来构建这些操作,但是本领域技术人员应当清楚也可以使用其它块密码或者加密/解密原语或者加密模式。
向用于段i的加密过程的输入是段密钥Ki(1301)和数据段Di(1310)。将输入数据段Di(1310)划分成子段Di,1(1311)、Di,2(1312)等。图13和图14示出了将数据段D划分成3个AES块的子段,但是也可以使用其它大小并且当然也可以运用除了AES之外的算法。(更小子段增加计算开销,而更大子段使密钥使用于更多操作中从而增加信息泄漏的可能性。)用散列操作m()变换段密钥Ki从而产生Ki,1(1302),该密钥是用于第一子段Di,1的密钥。如果将使用初始化矢量(IV)(1314),则将它与Di,1的第一AES块XOR。(如果将不使用IV,则可以省略这一XOR步骤。如果使用IV,则可以例如通过向验证器计算中并入它或者通过根据经验证值(比如消息标识符)导出IV来认证它。)使用段密钥Ki,1(1302)用AES(1315)加密(DiXORIV)的前多个位,从而形成密文子段Ei,1(1320)的第一部分。也将这一密文部分与子段Di,1(1311)的接下来多个位XOR,从而产生另一AES输入,随后使用段密钥Ki,1(1302)来加密该另一AES输入以产生子段Di,1(1311)的下一部分。执行相似密码块连接操作以形成向也用密钥Ki,1执行的第三AES加密的输入。三次AES操作的结果是密文子段Ei,1(1320)。对下一数据子段Di,2(1312)的第一块执行第四AES操作,并且使用通过将m()应用于Ki,1(1302)而导出的新密钥(特别地为Ki,2(1303))。来自处理Di,1的最后密文变成用于Di,2(1312)的第一部分的IV(1317)。加密过程继续,直至已经加密所有s个数据子段的所有块,从而最终产生加密子段Ei,2(1321),...,Ei,s(1322),并且其中将m()用于每个子段来导出新密钥。最后,组装密文子段以形成最后的密文段Ei(1330)。
参照图14,解密过程DEC()是ENC()过程的反过程。经由与用于上述加密相同的过程使用m()根据段密钥Ki(1401)导出子密钥Ki,1(1402)、Ki,2(1403)等。将加密段Ei划分成用子密钥解密的子段,每个子段包括一个或者多个AES输入。在每次解密操作之后,将适当IV(如果存在)或者先前密文与数据XOR。组装最后的数据以形成子段(1420、1421、1432等),转而组装这些子段以形成Di(1430)。
上述ENC()和DEC()过程是涉及到迅速密钥改变以便提供更大泄漏容忍度的示例。可以使用其它段加密和解密方法(包括在ECB、CBC或者计数器(例如,Galois计数器)模式中应用流密码和/或块密码(比如RC4、SEAL、AES、DES、三元DES等))。对于这样的操作(其中相同密钥应用于段中的所有数据),在加密之前限制每段的大小以便限制用每个密钥执行的操作的次数由此减少对手可以观测的用每个密钥执行的操作次数可以是有利的。
通信信道
可以用广泛的可能方式实现这里描述的数据交换。例如而不限于,常规总线/接口(比如I2C、JTAG、PCI、串行I/O(包括USB)、PCIExpress、以太网等)、无线协议(比如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段的加密结果Ei+1的散列。针对第一加密段E1计算单独验证器(例如,见步骤106)。这一方式可以如图4中所示有利于解密设备,因为它无需在解密之前缓冲整个加密结果,而加密设备必须这样做。
备选地,加密设备可以加密始于D1而结束于DL的段,并且每个段Di+1包含对前一段的加密Ei的散列。在这一示例中,段D1(例如)由大小与散列函数的输出长度相等的0的串扩展以指示它是第一段。继而使用PATH=h(EL)来计算使用密钥树创建的验证器。对于这一变体,解密过程与图4相似、但是在从最后加密段到第一加密段的反方向上进行。因此,加密设备不再需要缓冲数据段,但是解密设备现在必须这样做。
附加验证器替代散列
虽然一些示例在数据段中示出了认证后续加密段的散列,但是后续段可以备选地携带它们自己的独立验证器。例如,图3示出了第一数据段(312),该数据段携带用于验证未改变段E2的散列h(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(上电自测)和随机数测试)以验证尚未毁坏密码功能和随机数生成能力。
附加主机环境和形式因素
上文描述了用于利用可验证的防泄漏密码术的若干示例性系统和应用。然而,如本领域技术人员将理解的那样,上文描述的技术并不限于特定主机环境或者形式因素。实际上,它们可以使用于广泛多种应用中,这些应用包括而不限于:专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、微处理器、安全处理器、安全网络设备、所有种类的密码智能卡(包括而不限于基本上符合ISO7816-1、ISO7816-2和ISO7816-3的智能卡(“ISO7816顺应智能卡”));无接触和基于邻近度的智能卡和密码令牌(包括而不限于基本上符合ISO14443的智能卡);存储值卡和系统;密码安全保护的信用卡和借记卡;客户忠诚卡和系统;密码认证的信用卡;密码加速器;赌博和下赌系统;安全密码芯片;防篡改微处理器;软件程序(包括而不限于用于在个人计算机、服务器等上使用的程序和可以向密码设备上加载或者在密码设备中嵌入的程序);密钥管理设备;银行密钥管理系统;安全web服务器;防御系统;电子支付系统;微支付系统和计量器;预付费电话卡;密码标识卡和其它身份验证系统;用于电子资金转账的系统;自动柜员机;销售点终端;证书签发系统;电子证章;门户进入系统;使用密码钥匙的所有种类的物理锁;用于解密电视信号(包括而不限于广播电视、卫星电视和有线电视)的系统;用于解密加密的音乐和其它音频内容(包括通过计算机网络分发的音乐)的系统;用于保护所有种类的视频信号的系统;内容保护和复制保护系统(比如用来防止未授权复制或者使用电影、音频内容、计算机程序、视频游戏、图像、文本、数据库等的系统);蜂窝电话加扰和认证系统(包括电话认证智能卡);安全电话(包括用于这样的电话的密钥存储设备);密码PCMCIA卡;便携密码令牌;以及密码数据审核系统。
所有前述内容例示了可验证的防泄漏密码术的示例性实施例和应用,根据这些示例性实施例和应用,有关变化、增强和修改将在本公开内容的精神实质和范围的上下文内是明显的。因此,由本专利保护的发明不应限于前文公开内容,而是按照所附权利要求来解释。

Claims (64)

1.一种用于由设备用内部秘密状态加密明文数据而又限制重用密码密钥的方法,包括:
(a)通过计算从所述内部秘密状态的至少部分开始并且促成消息密钥的多个相继中间密钥来根据所述内部秘密状态和消息标识符导出所述消息密钥,其中至少基于所述消息标识符的部分和先前密钥来导出每个相继中间密钥;
(b)使用至少基于所述消息密钥的所述一个或者多个密码密钥以加密所述明文数据的一个或者多个段以产生一个或者多个加密的数据段;
(c)使用秘密密钥以计算至少基于所述加密的数据段中的一个或者多个加密的数据段并且可用于验证所述加密的数据段中的一个或者多个加密的数据段的密码验证值;以及
(d)输出所述一个或者多个加密的数据段和所述密码验证值;
其中所述步骤(c)包括:(i)根据至少一个所述加密的数据段计算密码散列;以及(ii)根据至少秘密值和所述密码散列导出验证器,其中所述导出包括计算始于所述秘密值的多个相继中间值,其中每个相继中间值至少基于所述相继中间值中的先前值和所述密码散列的部分。
2.根据权利要求1所述的方法,其中在(a)中所述导出每个所述相继中间密钥包括选择熵分布操作,然后将所述熵分布操作应用于所述先前密钥。
3.根据权利要求2所述的方法,其中将所述消息标识符分解成多个部分,每个所述部分确定待应用的特定熵分布操作。
4.根据权利要求3所述的方法,其中所述熵分布操作是至少依赖于以下各项的密码散列操作:(i)所述先前密钥;以及(ii)对应于所述消息标识符的至少部分的值。
5.根据权利要求1所述的方法,其中使用密钥链接根据所述消息密钥导出(b)中的所述密码密钥。
6.根据权利要求1所述的方法,其中通过遵循经过密钥树的路径来计算(a)中的所述消息密钥,所述路径包括所述消息标识符。
7.根据权利要求6所述的方法,其中通过遵循经过密钥树的路径来计算所述验证器,所述路径包括基于所述加密的数据段的散列。
8.根据权利要求1所述的方法,其中(b)包括通过执行多个熵分布操作根据所述消息密钥导出多个所述密码密钥;并且进一步:(i)通过将熵分布函数应用于所述消息密钥来计算所述密码密钥之一;以及(ii)通过将熵分布函数应用于多个相继密码密钥中的先前密码密钥来计算所述密码密钥中的每个密码密钥。
9.根据权利要求1所述的方法,其中:(i)所述明文数据包括多个段;(ii)在加密仅一个明文段时使用每个所述密码密钥,从而产生加密的数据段;并且(iii)计算基于所有所述加密的数据段的密码散列。
10.根据权利要求9所述的方法,其中使用散列链接来计算(iii)中的所述密码散列。
11.根据权利要求10所述的方法,其中在所述散列链接中,以与输出所述加密的数据段的顺序相反的顺序散列化所述加密的数据段。
12.根据权利要求1所述的方法,其中在(b)中:(i)所述明文数据包括多个段,并且每段包括多个子段;并且(ii)对于每个明文子段,所述密码密钥中的新密码密钥用来加密所述子段。
13.根据权利要求12所述的方法,还包括使用散列链接以基于所有所述加密的数据段计算密码散列。
14.根据权利要求1所述的方法,其中在(b)中:i)所述明文数据包括多个段;(ii)密码密钥更新在段内基础上出现;并且(iii)通过使用所述更新的密码密钥中的至少一个密码密钥来产生每个所述加密的数据段。
15.根据权利要求1所述的方法,其中每个所述相继中间值是密码散列操作的结果,所述密码散列操作的输入仅通过以下确定:(1)所述相继中间值的直接父值;以及(2)所述加密的数据段散列的一位或者两位。
16.根据权利要求1所述的方法,其中存在仅一个明文数据段和仅一个加密的数据段,并且其中所述密码散列计算还包括数据段长度。
17.根据权利要求1所述的方法,其中随机生成所述消息标识符。
18.根据权利要求1所述的方法,其中所述消息标识符为计数器。
19.根据权利要求1所述的方法,其中所述设备是向解密设备传输数据分组的联网通信设备。
20.根据权利要求1所述的方法,还包括在向解密设备发送加密的数据之前认证所述解密设备。
21.根据权利要求1所述的方法,其中所述密码验证值是认证所述加密的数据段中的至少一个加密的数据段的数字签名。
22.一种用于由设备用内部秘密状态解密数据而又限制重用密码密钥的方法,包括:
(a)接收一个或者多个加密的数据段和密码验证值并且获得与之对应的消息标识符;
(b)验证所述密码验证值以确定是否已经修改了所述消息标识符或者所述加密的数据段中的至少一个加密的数据段;
(c)通过计算从所述内部秘密状态的至少部分开始并且促成消息密钥的多个相继中间密钥来根据所述内部秘密状态和所述消息标识符导出所述消息密钥,其中至少基于所述消息标识符的部分和先前密钥来导出每个相继中间密钥;以及
(d)使用至少基于所述消息密钥的所述一个或者多个密码密钥以解密所述加密的数据的一个或者多个经验证段以产生一个或者多个明文数据段;
其中所述步骤(b)包括:(i)根据至少一个所述加密的数据段计算密码散列;(ii)根据至少秘密值和所述密码散列导出预期验证器,其中所述导出包括计算始于所述秘密值的多个相继中间值,其中每个相继中间值至少基于所述相继中间值中的先前值和所述密码散列的部分;以及(iii)比较所述导出的预期候选验证器与所述接收的密码验证值。
23.根据权利要求22所述的方法,其中在(c)中所述导出每个所述相继中间密钥包括选择熵分布操作,然后将所述熵分布操作应用于所述先前密钥。
24.根据权利要求23所述的方法,其中将所述消息标识符分解成多个部分,每个所述部分确定待应用的特定熵分布操作。
25.根据权利要求24所述的方法,其中所述熵分布操作是至少依赖于以下各项的密码散列操作:(i)所述先前密钥;以及(ii)对应于所述消息标识符的至少部分的值。
26.根据权利要求22所述的方法,其中使用密钥链接根据所述消息密钥导出(d)中的所述密码密钥。
27.根据权利要求22所述的方法,其中通过遵循经过密钥树的路径来计算(c)中的所述消息密钥,所述路径包括所述消息标识符,并且其中通过遵循经过密钥树的路径来计算所述验证器,所述路径包括基于所述加密的数据段的散列。
28.根据权利要求22所述的方法,其中(d)包括通过执行多个熵分布操作根据所述消息密钥导出多个所述密码密钥。
29.根据权利要求28所述的方法,其中(i)通过将熵分布函数应用于所述消息密钥来计算所述密码密钥之一;并且(ii)通过将熵分布函数应用于多个相继密码密钥中的先前密码密钥来计算所述密码密钥中的每个密码密钥。
30.根据权利要求22所述的方法,其中:(i)所述加密的数据包括多个段;(ii)除了最后的加密的数据段之外的每个加密的数据段包括下一加密的数据段的密码散列的表示;(iii)在解密第一加密的数据段之前计算和验证它的密码散列;(iv)在解密每个后续段之前计算它的密码散列并且与在先前的加密的数据段中表示的所述散列比较;并且(v)在解密仅一个加密的数据段时使用每个所述密码密钥。
31.根据权利要求22所述的方法,其中在(d)中:(i)所述加密的数据包括多个段,并且每段包括多个子段;并且(ii)对于每个加密的子段,所述密码密钥中的新密码密钥用来解密所述子段。
32.根据权利要求22所述的方法,其中所述散列依赖于所有所述加密的数据段。
33.根据权利要求22所述的方法,其中在(b)中:所述加密的数据包括多个段;(ii)密码密钥更新在段内基础上出现;并且(iii)通过使用所述更新的密码密钥中的至少一个密码密钥来产生每个所述明文数据段。
34.根据权利要求22所述的方法,其中每个所述相继中间值是密码散列操作的结果,所述密码散列操作的输入包括:(A)父值;以及(B)它的对应于所述加密的数据段散列的至少部分的值。
35.根据权利要求34所述的方法,其中向所述密码散列操作的所述输入仅通过以下确定:(1)所述相继中间值的直接父值;以及(2)所述加密的数据段散列的一位或者两位。
36.根据权利要求22所述的方法,其中存在仅一个明文数据段和仅一个加密的数据段,并且其中所述密码散列计算还包括数据段长度。
37.根据权利要求22所述的方法,其中所述预期验证器验证散列,其中:(i)所述散列依赖于第一加密的数据段,所述第一加密的数据段并入第二加密的数据段的散列;并且(ii)所述第二加密的数据段和后续加密的数据段各自并入下一加密的数据段的散列。
38.根据权利要求22所述的方法,其中所述消息标识符为计数器。
39.根据权利要求22所述的方法,其中所述消息标识符是所述明文数据的至少部分的密码散列。
40.根据权利要求22所述的方法,其中所述明文数据包括FPGA位流。
41.根据权利要求22所述的方法,包括使用处理器以执行所述明文数据的至少部分的附加步骤。
42.根据权利要求22所述的方法,用来使由包含处理器的芯片从外部存储器向片上高速缓存中加载的数据安全。
43.根据权利要求22所述的方法,其中所述设备是从解密设备接收数据分组的联网通信设备。
44.根据权利要求22所述的方法,还包括防回滚保护。
45.根据权利要求22所述的方法,其中所述密码验证值是认证所述加密的数据段中的至少一个加密的数据段的数字签名。
46.一种用于加密明文数据而又限制重用密码密钥的设备,所述设备包括:
装置(a),用于通过计算从内部秘密状态的至少部分开始并且促成消息密钥的多个相继中间密钥来根据所述内部秘密状态和消息标识符导出所述消息密钥,将基于所述消息标识符的至少部分和先前密钥来导出每个相继中间密钥;
装置(b),用于使用至少基于所述消息密钥的所述一个或者多个密码密钥以加密所述明文数据的一个或者多个段以产生一个或者多个加密的数据段;
装置(c),用于使用秘密密钥以计算至少基于所述加密的数据段中的一个或者多个加密的数据段并且可用于验证所述加密的数据段中的一个或者多个加密的数据段的密码验证值;以及
装置(d),用于输出所述一个或者多个加密的数据段和所述密码验证值;
其中所述装置(c)包括:(i)用于根据至少一个所述加密的数据段计算密码散列的装置;以及(ii)用于根据至少秘密值和所述密码散列导出验证器的装置,其中所述导出包括计算始于所述秘密值的多个相继中间值,每个相继中间值将至少基于所述相继中间值中的先前值和所述密码散列的部分。
47.根据权利要求46所述的设备,其中装置(a)包括用于包括选择熵分布操作,然后将所述熵分布操作应用于所述先前密钥的装置。
48.根据权利要求47所述的设备,其中所述熵分布操作是至少依赖于以下各项的密码散列操作:(i)所述先前密钥;以及(ii)对应于所述消息标识符的至少部分的值。
49.根据权利要求46所述的设备,其中通过遵循经过密钥树的路径来计算(a)中的所述消息密钥,所述路径包括所述消息标识符。
50.根据权利要求46所述的设备,其中装置(b)包括用于通过执行多个熵分布操作根据所述消息密钥导出多个所述密码密钥的装置;并且所述设备包括:(i)用于通过将熵分布函数应用于所述消息密钥来计算所述密码密钥之一的装置;以及(ii)用于通过将熵分布函数应用于多个相继密码密钥中的先前密码密钥来计算所述密码密钥中的每个密码密钥的装置。
51.根据权利要求46所述的设备,其中每个所述相继中间值是密码散列操作的结果,所述密码散列操作的输入仅通过以下确定:(1)所述相继中间值的直接父值;以及(2)所述加密的数据段散列的一位或者两位。
52.根据权利要求46所述的设备,其中所述密码验证值是认证所述加密的数据段中的至少一个加密的数据段的数字签名。
53.一种用于解密数据而又限制重用密码密钥的设备,所述设备包括:
装置(a),用于接收一个或者多个加密的数据段和密码验证值并且获得与之对应的消息标识符;
装置(b),用于验证所述密码验证值以确定是否已经修改了所述消息标识符或者所述加密的数据段中的至少一个加密的数据段;
装置(c),用于通过计算从内部秘密状态的至少部分开始并且促成消息密钥的多个相继中间密钥来根据所述内部秘密状态和所述消息标识符导出所述消息密钥,其中至少基于所述消息标识符的部分和先前密钥来导出每个相继中间密钥;以及
装置(d),用于使用至少基于所述消息密钥的所述一个或者多个密码密钥以解密所述加密的数据的一个或者多个经验证段以产生一个或者多个明文数据段;
其中所述装置(b)包括:(i)用于根据至少一个所述加密的数据段计算密码散列的装置;(ii)用于根据至少秘密值和所述密码散列导出预期验证器的装置,其中所述导出包括计算始于所述秘密值的多个相继中间值,其中每个相继中间值至少基于所述相继中间值中的先前值和所述密码散列的部分;以及(iii)用于比较所述导出的预期候选验证器与所述接收的密码验证值的装置。
54.根据权利要求53所述的设备,其中装置(c)包括用于包括选择熵分布操作,然后将所述熵分布操作应用于所述先前密钥的装置。
55.根据权利要求54所述的设备,其中所述熵分布操作是至少依赖于以下各项的密码散列操作:(i)所述先前密钥;以及(ii)对应于所述消息标识符的至少部分的值。
56.根据权利要求53所述的设备,其中通过遵循经过密钥树的路径来计算(c)中的所述消息密钥,所述路径包括所述消息标识符。
57.根据权利要求53所述的设备,其中装置(d)包括用于通过执行多个熵分布操作根据所述消息密钥导出多个所述密码密钥的装置;并且所述设备包括:(i)用于通过将熵分布函数应用于所述消息密钥来计算所述密码密钥之一的装置;以及(ii)用于通过将熵分布函数应用于多个相继密码密钥中的先前密码密钥来计算所述密码密钥中的每个密码密钥的装置。
58.根据权利要求53所述的设备,其中每个所述相继中间值是密码散列操作的结果,所述密码散列操作的输入仅通过以下确定:(1)所述相继中间值的直接父值;以及(2)所述加密的数据段散列的一位或者两位。
59.根据权利要求53所述的设备,其中存在仅一个明文数据段和仅一个加密的数据段,并且用于所述密码散列计算还包括数据段长度。
60.根据权利要求53所述的设备,其中所述预期验证器验证散列,并且其中:(i)所述散列依赖于第一加密的数据段,所述第一加密的数据段并入第二加密的数据段的散列;并且(ii)所述第二加密的数据段和后续加密的数据段各自被配置成并入下一加密的数据段的散列。
61.根据权利要求53所述的设备,其中所述设备为FPGA,并且其中所述设备被配置用于所述明文数据包括FPGA位流。
62.根据权利要求53所述的设备,还包括用于使用所述设备中包含的处理器以执行所述明文数据的至少部分的装置。
63.根据权利要求53所述的设备,其中所述设备是包含处理器的芯片,并且其中所述设备包括用于使由所述芯片从外部存储器向片上高速缓存中加载的数据安全的装置,并且其中所述数据将如由所述芯片先前加密的那样被加载。
64.根据权利要求53所述的设备,其中所述密码验证值是认证所述加密的数据段中的至少一个加密的数据段的数字签名。
CN201080060319.3A 2009-12-04 2010-12-02 可验证防泄漏的加密和解密 Active CN102725737B (zh)

Applications Claiming Priority (5)

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

Publications (2)

Publication Number Publication Date
CN102725737A CN102725737A (zh) 2012-10-10
CN102725737B true CN102725737B (zh) 2016-04-20

Family

ID=44083176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080060319.3A Active CN102725737B (zh) 2009-12-04 2010-12-02 可验证防泄漏的加密和解密

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)

Families Citing this family (276)

* 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 广东省南方数字电视无线传播有限公司 视频切片加密、解密方法及相应装置
CN109726363B (zh) * 2017-10-31 2020-05-29 阿里巴巴集团控股有限公司 一种数据统计方法和装置
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 瑞昱半導體股份有限公司 基於消息驗證的金鑰擴展的處理方法與電路
TWI806577B (zh) * 2022-04-28 2023-06-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

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
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
TWI440351B (zh) 2014-06-01
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
CN102725737B (zh) 可验证防泄漏的加密和解密
JP4216475B2 (ja) 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
JP6366595B2 (ja) 耐グリッチ性暗号離散対数ベースの署名のための方法及びシステム
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
CA2071771A1 (en) Cryptographic facility environment backup/restore and replication in a public key cryptosystem
US9553729B2 (en) Authentication method between a reader and a radio tag
US9003197B2 (en) Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
CN106100823B (zh) 保护密码装置
Maes et al. Analysis and design of active IC metering schemes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant