CN102725737B - 可验证防泄漏的加密和解密 - Google Patents
可验证防泄漏的加密和解密 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/575—Secure boot
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/76—Protecting 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2125—Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2145—Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/061—Additional 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network 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所述的设备,其中所述密码验证值是认证所述加密的数据段中的至少一个加密的数据段的数字签名。
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)
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)
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 |
-
2010
- 2010-12-02 CN CN201080060319.3A patent/CN102725737B/zh active Active
- 2010-12-02 JP JP2012542196A patent/JP5552541B2/ja active Active
- 2010-12-02 KR KR1020127014536A patent/KR101714108B1/ko active IP Right Grant
- 2010-12-02 WO PCT/US2010/058768 patent/WO2011068996A1/en active Application Filing
- 2010-12-02 EP EP19164962.3A patent/EP3537653B1/en active Active
- 2010-12-02 EP EP10835139.6A patent/EP2507708B1/en active Active
- 2010-12-02 US US12/958,570 patent/US8386800B2/en active Active
- 2010-12-03 TW TW099142160A patent/TWI440351B/zh active
-
2012
- 2012-05-21 IL IL219906A patent/IL219906A/en active IP Right Grant
-
2013
- 2013-02-08 US US13/762,703 patent/US8707052B2/en active Active
-
2014
- 2014-03-07 US US14/201,539 patent/US8977864B2/en active Active
- 2014-03-27 JP JP2014065462A patent/JP5805249B2/ja active Active
-
2015
- 2015-02-09 US US14/617,437 patent/US9569623B2/en active Active
- 2015-06-11 US US14/737,154 patent/US9576133B2/en active Active
- 2015-06-26 US US14/752,677 patent/US9367693B2/en active Active
-
2016
- 2016-12-30 US US15/395,809 patent/US10262141B2/en active Active
-
2017
- 2017-08-30 US US15/691,601 patent/US9940463B2/en active Active
-
2019
- 2019-01-04 US US16/240,671 patent/US11074349B2/en active Active
-
2021
- 2021-07-21 US US17/382,333 patent/US11797683B2/en active Active
Also Published As
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 |