CN104247327B - 使用密钥加密密钥的密码发射系统 - Google Patents

使用密钥加密密钥的密码发射系统 Download PDF

Info

Publication number
CN104247327B
CN104247327B CN201380019691.3A CN201380019691A CN104247327B CN 104247327 B CN104247327 B CN 104247327B CN 201380019691 A CN201380019691 A CN 201380019691A CN 104247327 B CN104247327 B CN 104247327B
Authority
CN
China
Prior art keywords
key
decryption
encryption
register
encrypting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380019691.3A
Other languages
English (en)
Other versions
CN104247327A (zh
Inventor
迈克尔·西蒙斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of CN104247327A publication Critical patent/CN104247327A/zh
Application granted granted Critical
Publication of CN104247327B publication Critical patent/CN104247327B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2113Multi-level security, e.g. mandatory access control

Abstract

本发明涉及一种包含存储于非易失性存储器中的芯片上密钥存储槽的微控制器,其中选择将使用哪一密钥局限于软件,其中预定密钥存储槽存储密钥加密密钥KEK,且寄存器旗标经提供以用于确定所述预定密钥存储槽是存储用于将数据加密/解密的密钥还是用于将密钥加密/解密的所述KEK。

Description

使用密钥加密密钥的密码发射系统
相关申请案交叉参考
本申请案主张来自2012年2月21日提出申请的序列号为61/601,253的共同让与的同在申请中的美国临时专利申请案的优先权,所述专利申请案如同完全陈述于本文中一样特此以全文引用的方式并入。
技术领域
本发明涉及一种密码发射系统及用于密码发射的方法。
背景技术
在密码学中,存在用于在希望传递经加密数据/业务的两个或两个以上节点当中共享密码密钥的两种常见方法:公共密钥加密及私人(共享)密钥加密。在公共密钥系统中,基于一些时间约束而产生会话密钥且通过使用公共密钥交换(PKE)协议而交换会话密钥。现代PKE方案基于计算强度非常大的不对称加密。
在一些应用中,可使用私人密钥加密执行密钥的交换。在私人密钥加密中,以某种方法将“主”密钥(称作密钥交换密钥或KEK)预加载到所有节点中,且通过借助KEK进行加密/解密而共享后续数据加密密钥(通常称作“会话密钥”)。
因此,在“预共享”密钥系统中,安全通信信道的双方(节点)使用同一预定义密钥。此系统容易使用。然而,如果密钥被损害(因为非入侵方信道攻击),那么整个系统将被损害。特定来说,软件可总是获得所接收会话密钥,将其作为密文(而非密钥)加载到系统中且运行标准解密操作而“以明文形式”恢复所述会话密钥。
因此,需要一种存储并使用KEK而不具有将其泄露给软件的风险的安全方式。现有解决方案使用高效但具有较低安全性的预共享密钥或更安全但计算强度非常大的公共密钥交换。
发明内容
通过根据本发明的实施例的系统及方法在很大程度上克服现有技术中的这些及其它缺陷。实施例提供一种具有预共享密钥的效率并且具有较高安全性的解决方案。
根据实施例的微控制器包含存储于非易失性存储器中的芯片上密钥存储槽,其中选择将使用哪一密钥局限于软件,其中预定密钥存储槽存储密钥加密密钥(KEK),且寄存器旗标经提供以用于确定所述预定密钥存储槽是存储用于将数据加密/解密的密钥还是用于将密钥加密/解密的所述KEK。
实施例提供配置位来在数据加密/解密模式与密钥加密/解密模式之间做出选择。在一些实施例中,此位可具有与密钥本身相同的安全权限。实施例可进一步提供其中通过规定将使用哪一密钥而非所述密钥本身而进行加密/解密操作的方案。一些实施例进一步提供数据(结果)寄存器(称作TEXT寄存器)与密钥寄存器(称作KEY寄存器)的逻辑划分,所述数据存储装置具有软件读取/写入功能性且所述密钥存储装置完全不可由软件存取或仅具有软件写入功能性。实施例可提供用以基于正执行的操作的类型的软件选择而选择用于非易失性密钥存储装置与易失性KEY寄存器之间的所有数据加密/解密操作的密钥的源的硬件机构及用以基于配置位的值及软件选择的密钥源而将所有解密操作的结果的目的地选择为数据存储装置(TEXT)或密钥存储装置(KEY)的硬件机构。
根据各种实施例的系统将至少一个芯片上密钥存储槽专用于密钥加密密钥存储装置,且仅允许软件来选择将使用哪一密钥而非所述密钥本身。各种实施例还可适用于大的密钥集在快闪存储器中的存储(与密钥经由通信信道的发射相对)。在一些实施例中,用户可使用绑定到KEK槽本身的一或多个位在“正常”(将数据加密/解密)与“KEK”(将密钥加密/解密)之间选择KEK槽的功能性。
附图说明
所属领域的技术人员通过参考所附图式可更好地理解本发明且明了其众多目标、特征及优点。在不同图式中,使用相同参考符号来指示相似或相同物项。
图1是示范性处理器的框图。
图2A及图2B是示意性地图解说明实施例的操作的框图。
图3是图解说明实施例的操作的流程图。
图4是图解说明用于实施例的操作的网络配置的图式。
具体实施方式
参考在所附图式中图解说明且在以下描述中详述的示范性(且因此非限制性)实施例更全面地解释本发明及其各种特征及有利细节。可省略对已知编程技术、计算机软件、硬件、操作平台及协议的描述以便不会不必要地在细节上使本发明模糊。然而,应理解,尽管指示优选实施例,但具体实施方式及特定实例仅通过图解说明而非限制方式给出。所属领域的技术人员将从本发明明了在基础发明性概念的精神及/或范围内的各种替代、修改、添加及/或重新布置。
如本文中所使用,术语“包括(comprises)”、“包括(comprising)”、“包含(includes)”、“包含(including)”、“具有(has)”、“具有(having)”或其任何其它变化形式打算涵盖非排他性包含。举例来说,包括元件列表的过程、产品、物品或设备未必仅限于那些元件而是可包含未明确列出或此过程、产品、物品或设备固有的其它元件。此外,除非明确陈述为相反的,否则“或(or)”指包含性或且不指排他性或。举例来说,条件A或B通过以下情形中的任一者来满足:A为真(或存在)且B为假(或不存在),A为假(或不存在)且B为真(或存在),及A与B两者均为真(或存在)。
另外,本文中所给出的任何实例或图解说明无论如何不应视为对其借此得以利用的任一或若干术语的局限、限制或明确定义。替代地,这些实例或图解说明应视为关于一个特定实施例而描述且仅为说明性的。所属领域的技术人员将了解,这些实例或图解说明借此得以利用的任一或若干术语涵盖其它实施例以及可能或可能不随其或在本说明书中的其它地方给出的其实施方案及更改,且所有此些实施例均打算包含于所述一或若干术语的范围内。指定此些非限制性实例及图解说明的语言包含但不限于:“举例来说”、“比如”、“例如”、“在一个实施例中”等等。
如下文将更详细地描述,根据实施例的实施加密/解密方案的微控制器可包括存储于非易失性存储器中的芯片上密钥存储槽,其中仅软件可选择将使用哪一密钥。预定密钥存储槽存储密钥加密密钥,且寄存器旗标用于确定所述预定密钥存储槽是存储用于将数据加密/解密的密钥还是用于将密钥加密/解密的所述KEK。此外,根据一些实施例,通过规定将使用哪一密钥而非所述密钥本身而进行加密/解密操作。
在一些实施例中,维持数据(结果)寄存器(称作TEXT寄存器)与密钥寄存器(称作KEY寄存器)的逻辑划分,其中数据存储装置具有软件读取/写入功能性,且密钥存储装置完全不可由软件存取或仅具有软件写入功能性。
在一些实施例中,使用硬件机构来基于正执行的操作的类型的软件选择而选择用于非易失性密钥存储装置与易失性KEY寄存器之间的所有数据加密/解密操作的密钥的源。另外,可采用硬件机构来基于配置位的值及软件选择的密钥源而将所有解密操作的结果的目的地选择为数据存储装置(TEXT)或密钥存储装置(KEY)。
在一些实施例中,将芯片上密钥存储槽中的一或多者专用为密钥加密密钥槽,且仅允许软件选择将使用哪一密钥而非所述密钥本身。因此,根据一些实施例,软件在工厂中将密钥预编程(或在工厂处进行)。
应注意,根据各种实施例的原理适用于经发射会话密钥及大的经加密密钥集在快闪存储器中的存储两者。因此,一些实施例可适用于大的密钥集在快闪存储器中的存储(与密钥经由通信信道的发射相对)。在此情形中,以经加密格式将密钥存储于快闪存储器中,且使用KEK来在将使用密钥时将其解密。
在一些实施例中,用户可使用绑定到KEK槽本身的位在“正常”(将数据加密/解密)与“KEK”(将密钥加密/解密)之间选择KEK槽的功能性(即,如果密钥存储装置并非单次可编程(OTP)的,那么擦除KEK槽将擦除选择位,且反之亦然)。在一些实施例中,在工厂处设定此位。类似地,如果在非易失性存储器(NVM)中实施密钥存储装置,那么将需要在与密钥存储装置共享同一读取/写入/擦除权限方案的NVM中实施所述位。
应进一步注意,尽管在原理上,在单个存储槽中的单个KEK及绑定到所述存储槽的单个位的上下文中做出描述,但可使用一个以上KEK及一个以上KEK槽以及对应位。
现在翻到图4,其展示图解说明加密/解密系统的示范性网络配置的图式。系统400包含发射节点420及接收节点422。发射节点420包含经配置以接收明文406(即,待加密的数据)及加密密钥408的加密器402。加密器402使用加密密钥408来将明文数据406加密。所得输出为密文410。
密文410经由网络411发射到接收节点422。网络411可为各种网络类型中的任一者,包含(举例来说)因特网或局域网(LAN)。所述网络可同样地采用有线或无线发射媒体。经加密数据在节点422处作为密文412接收。节点422包含接收对应于加密密钥408的解密密钥414的解密器404。解密器404使用密钥414将密文412解密。经解密数据接着作为明文416存储。如下文将更详细地解释,提供用于管理密钥的实施例。
在典型实施方案中,可在发射节点420与接收节点422之间预共享KEK密钥。可在预定周期性或随机基础上产生会话密钥且使用KEK将其加密并发送到各个节点。根据实施例的系统选择所接收密文是数据还是会话密钥且规定将使用哪一密钥译解所述数据或会话密钥,如下文将更详细地解释。
现在翻到图1,其展示且通常由元件符号100识别示意性地图解说明用于实施包含加密器402及解密器404的加密/解密系统的示范性处理器或微控制器配置的框图。应注意,处理器或微控制器的其它配置为可能的。因此,所述图仅为示范性的。
在所图解说明的实例中,微控制器100包含中央处理单元(CPU)核心102。CPU核心102可(例如)经由总线与一或多个控制/状态寄存器及程序存储器(未展示)通信。在一些实施例中,CPU核心102与存储装置110通信。存储装置110可存储待解密的数据以及已解密的数据及待加密的数据(即,密文及明文)。
在一些实施例中,防火墙10将CPU核心102与硬件加密/解密引擎103及密钥存储装置118分离。密钥存储装置118在编程上为安全的,即,无法由CPU核心102存取(读取或写入);其可仅由硬件引擎103存取。在一些实施例中,密钥存储装置118可存储多达七个(7)DES(数据加密标准)密钥或四个(4)AES(先进加密标准)密钥。
密钥存储装置118可以任何适合方式实施。举例来说,密钥存储装置的适合形式包含单次可编程存储器、非易失性存储器及电池支持的静态随机存取存储器(SRAM)。
图2A及图2B中示意性地展示实施例的操作。
特定来说,图2A示意性地图解说明用于数据解密的密钥#1(“KEK槽”)的使用。硬件引擎侧21及CPU侧23在防火墙10的任一侧上。硬件引擎侧21上的物项可仅由加密/解密硬件引擎103存取,而CPU 102可读取及写入CPU侧21上的任何事物。
特定来说,在防火墙10后面展示在编程上安全的密钥存储装置118、当前密钥寄存器104、解密模块103及寄存器250、252。在一些实施例中,寄存器250为密钥配置寄存器且寄存器252为加密状态寄存器。在一些实施例中,指定在编程上安全的密钥存储装置118的至少一个槽用于数据加密/解密或者用作用于会话密钥加密/解密的KEK密钥。
密钥选择寄存器201及数据存储器110的经指派用于存储密文202或明文204的部分在防火墙10的另一侧上。密文202存储待解密的文本,而明文204存储已解密的文本。
当将实施数据加密/解密操作时,使用如201处所展示的软件选择密钥(密钥本身并不存储于寄存器201处,仅具有告诉HW引擎使用在所指定的槽中的密钥的指令)。在特定实施例中,为了能够选择用于数据解密的KEK密钥,可能已经(或必须已经)由硬件适合地设定一或多个配置位(举例来说,在密钥配置寄存器250中)。在所图解说明的实例中,将其设定为“0”。接着,可同样地将加密状态寄存器252中的状态位设定为适当对应状态。
当已选择数据解密操作时,将对应密钥加载到当前密钥寄存器104中。当前密钥(在此例子中,密钥#1或KEK密钥)由解密模块103存取。解密模块103从密文存储装置202读取数据、使用来自当前密钥寄存器104的当前密钥将文本解密且将经解密文本写回到明文存储装置204。应注意,在一些实施例中,用于经解密数据的存储位置可取决于已使用哪一密钥来将所述数据解密而不同。
图2B图解说明用于将会话密钥解密的KEK密钥的使用。更特定来说,经加密文本接收并存储于密文存储装置202中。经加密文本所附的指令选择将使用哪一密钥且设定密钥选择寄存器201。因此,在所图解说明的实施例中,为了译解会话密钥,使用来自寄存器201的适当指令选择KEK槽中的密钥。在此情形中,允许会话密钥操作,这是因为一或多个配置位(举例来说,密钥配置寄存器250的一或多个配置位)由硬件设定(或已由硬件设定)为允许使用KEK密钥进行会话密钥解密。类似地,可对应地设定状态寄存器252的状态位。应注意,在一些实施例中,可排他地指定特定密钥槽用作KEK密钥。在任一情形中,在操作中,将KEK密钥加载到当前密钥寄存器104中。解密模块206使用来自当前密钥寄存器的密钥且存取来自密文存储件202的经加密数据。由于已选择KEK密钥功能性,因此不将来自密文存储件202的经解密文本(即,会话密钥)返回到明文存储件204,而是返回到当前密钥寄存器104。
因此,除选择或准许使用经指定密钥作为KEK密钥之外,密钥配置寄存器250的设定还可选择经解密数据将被发送到何处:发送到当前密钥寄存器(用于会话密钥解密)还是明文存储件204(在数据解密的情形中)。在其它实施例中,可使用其它配置寄存器或硬件机构来规定经解密数据被存储于当前密钥寄存器还是明文存储件中。又一些实施例可取决于已选择哪一密钥而规定数据将被存储于明文存储件204中的何处。
有利地,经解密会话密钥总是存储于防火墙203后面且无法由软件存取。接着,视需要,以通常类似于关于图2A所描述的方式的方式使用经解密会话密钥来将密文解密。
如上文所述,根据实施例,当设定密钥配置寄存器250中的密钥配置位时,无法使用KEK密钥(例如,槽#1中的密钥)来译解“常规”数据。如果请求在文本解密(或加密)操作中使用KEK密钥,那么可在解密错误寄存器254中设定解密错误位。在此情形中,不可允许加密或解密操作直到密钥选择寄存器201具有适当值为止。
现在翻到图3,其展示图解说明实施例的操作的流程图。特定来说,图3的流程图300图解说明根据实施例使用会话密钥将数据解密。
首先,软件可规定将执行解密操作。举例来说,在过程步骤302中,可从另一节点接收数据并将其存储于密文存储件202的一部分中。在过程步骤304中,可识别密钥。举例来说,根据实施例,软件指令可将密钥选择寄存器201设定为选择对应于将使用的密钥的密钥槽。另外,在过程步骤306中,可做出文本是对应于数据还是会话密钥的说明。已知用于做出此说明的各种方法,例如数据发射所附的一或多个指令或命令。
在过程步骤308中,如果密文为数据,那么微控制器可确定是否已选择KEK槽中的密钥。如果所选择槽不对应于KEK密钥槽,那么如果密文为会话密钥(步骤310),那么可(例如)通过设定解密错误寄存器中的一或多个位而产生错误(步骤312)。如果密文为数据,那么将解密数据(步骤318)且将其作为明文存储于可由软件存取的明文存储件中(步骤320)。
如果在步骤308中,已选择KEK密钥槽,且如果所接收密文为数据,那么确定是否允许使用KEK槽中的密钥来译解数据(步骤314)。举例来说,可检查寄存器(例如加密状态寄存器252)中的一或多个配置位(例如一或若干KEK加密位)。如果不允许将KEK槽密钥用于译解数据,那么可(例如)通过设定解密错误寄存器254中的一或多个错误位而将错误发信号(步骤316)。在此类实施例中,CPU核心的解密模块可能不执行任何解密或加密,直到在密钥选择寄存器201中规定有效密钥为止。
如果允许将KEK槽密钥用于译解数据,那么将解密密文(步骤318)且将其存储于可由软件存取的明文存储装置中(步骤320)。
如果在步骤306中,确定密文为会话密钥,那么在步骤321中,确定是否已选择KEK槽中的密钥(步骤321)。如果否,那么可产生错误(步骤323)。如果选择了KEK槽中的密钥,那么在步骤322中,确定是否允许将KEK槽中的密钥用于译解会话密钥。举例来说,可检查配置或状态寄存器中的一或多个位。如果不允许将KEK槽中的密钥用于译解文本,那么可(例如)通过设定错误寄存器中的一或多个位而指示错误(步骤324)。
如果允许将KEK槽中的密钥用于译解会话密钥,那么将解密密文(步骤326)。然而,替代作为明文存储于可由软件存取的明文存储装置204中,会话密钥可存储于防火墙10后面。举例来说,可将会话密钥加载到当前密钥寄存器中(步骤328)及/或存储于密钥存储装置118中。接着,可使用经解密会话密钥来将数据解密,如上文所论述。
虽然前述说明书描述特定实施例,但所属领域的技术人员参考本描述将明了并可做出对本文中所揭示的实施例及额外实施例的细节的众多改变。在本上下文中,应将说明书及各图视为具有说明性而非局限性意义,且所有此类修改均打算包含于本发明的范围内。因此,本发明的范围应由所附权利要求书及其法律等效内容来确定。

Claims (20)

1.一种微控制器,其包括:
中央处理单元;
布置于用于存储密钥的非易失性存储器中的多个安全芯片上密钥存储槽,其中所述安全芯片上密钥存储槽各自经配置以存储密钥加密密钥或用于将数据加密/解密的密钥,及硬件加密/解密引擎,其与用于存储密钥的非易失性存储器耦合且经配置以存取所选择的密钥,其中只可通过所述硬件加密/解密引擎存取且不可通过所述中央处理单元存取所述安全芯片上密钥存储槽从而形成防火墙,所述防火墙处在与所述防火墙内部的所述加密/解密引擎耦合的非易失性存储器与所述防火墙外部的所述中央处理单元之间;及
选择寄存器,其与所述中央处理单元耦合且经配置以通过所述防火墙选择所述芯片上密钥存储槽中的一者,其中所选择的芯片上密钥存储槽的内容被传送至密钥寄存器且通过所述密钥寄存器而能够由所述硬件加密/解密引擎存取,其中预定密钥存储槽经配置以存储密钥加密密钥,且与所述硬件加密/解密引擎耦合的配置寄存器包括寄存器旗标以用于确定所选的密钥存储槽是存储用于将数据加密/解密的密钥还是用于将密钥加密/解密的所述密钥加密密钥。
2.根据权利要求1所述的微控制器,其中所述非易失性存储器为单次可编程存储器。
3.根据权利要求1所述的微控制器,其中所述非易失性存储器为快闪存储器,其中所述密钥是以经加密格式存储的,且其中所述密钥加密密钥可用于将所述密钥解密。
4.根据权利要求1所述的微控制器,其中如果设定所述寄存器旗标且将所述预定密钥存储槽用于数据加密或解密操作,那么产生密钥配置错误。
5.根据权利要求1所述的微控制器,其中所述寄存器旗标不可由所述中央处理单元存取。
6.根据权利要求1所述的微控制器,其中所述硬件加密/解密引擎经配置以选择经加密数据的目的地,所述选择基于是否设定用于密钥加密密钥选择的所述寄存器旗标及已选择多个密钥中的哪一密钥。
7.根据权利要求1所述的微控制器,其进一步包括与所述硬件加密/解密引擎耦合的当前密钥寄存器,其中所述当前密钥寄存器存储所选的密钥或解密密钥。
8.根据权利要求1所述的微控制器,其进一步包括错误状态寄存器,其中存储于所述错误状态寄存器中的错误防止所述硬件加密/解密引擎执行任何加密或解密操作。
9.一种用于在处理器或微控制器中处置加密密钥的方法,其包括:
通过与所述处理器或微控制器的中央处理单元耦合的选择寄存器从布置于非易失性存储器中的多个密钥存储槽中的预定密钥存储槽选择密钥加密密钥,其中所述多个密钥存储槽各自经配置以存储密钥加密密钥或用于将数据加密/解密的密钥,且其中只可通过硬件加密/解密引擎存取且不可通过所述处理器或微控制器的所述中央处理单元存取所述多个密钥存储槽从而形成防火墙,所述防火墙处在与所述防火墙内部的所述硬件加密/解密引擎耦合的非易失性存储器与所述防火墙外部的所述中央处理单元之间;
传送所选择的芯片上密钥存储槽的内容至能够被所述硬件加密/解密引擎存取的密钥寄存器;
检查与所述硬件加密/解密引擎耦合的配置寄存器中的寄存器旗标以确定所述密钥加密密钥是将用于将数据加密/解密还是将会话密钥加密/解密;及
如果所述密钥加密密钥将用于将会话密钥加密/解密,那么防止所述密钥加密密钥将数据加密/解密。
10.根据权利要求9所述的方法,其中所述非易失性存储器为单次可编程存储器。
11.根据权利要求9所述的方法,其中所述非易失性存储器为快闪存储器,其中以经加密格式存储所述密钥,且其中可使用所述密钥加密密钥来将所述密钥解密。
12.根据权利要求9所述的方法,其中如果设定所述寄存器旗标且将所述预定密钥存储槽用于数据加密或解密操作,那么产生密钥配置错误。
13.根据权利要求9所述的方法,其中所述寄存器旗标与所述密钥共享一安全权限等级。
14.根据权利要求9所述的方法,其进一步包含选择经加密数据的目的地,所述选择基于是否设定用于密钥加密密钥选择的所述寄存器旗标及已选择多个密钥中的哪一密钥用于将数据加密/解密。
15.根据权利要求9所述的方法,其中所述非易失性存储器为单次可编程存储器。
16.根据权利要求9所述的方法,其中所述非易失性存储器为快闪存储器,其中以经加密格式存储多个密钥,且其中使用所述密钥加密密钥或双模式加密密钥来将所述密钥解密。
17.根据权利要求9所述的方法,其中如果设定状态位且将加密密钥槽用于数据加密或解密操作,那么产生密钥配置错误。
18.根据权利要求9所述的方法,其中状态位不可由所述中央处理单元存取。
19.根据权利要求9所述的方法,其进一步包含基于是否设定用于双模式加密密钥选择的状态位及已选择多个密钥中的哪一密钥用于将数据加密/解密而选择经解密数据的目的地。
20.一种用于在处理器或微控制器中处置加密密钥的方法,其包括:
中央处理单元,硬件加密/解密引擎,及用于存储密钥的带有多个密钥存储槽的非易失性存储器,其中每一密钥存储槽经配置以存储密钥加密密钥或用于将数据加密/解密的密钥,其中只可通过所述硬件加密/解密引擎存取且不可通过所述中央处理单元存取所述多个密钥存储槽从而形成防火墙,所述防火墙处在与所述防火墙内部的所述硬件加密/解密引擎耦合的非易失性存储器与所述防火墙外部的所述中央处理单元之间,所述方法包括:
在所述非易失性存储器中的所述多个密钥存储槽中提供所述多个密钥当中的双模式加密密钥;及
通过与所述硬件加密/解密引擎耦合的配置寄存器中的寄存器旗标界定所述双模式加密密钥是将用于将数据加密/解密还是将会话密钥加密/解密;
通过与所述中央处理单元耦合的选择寄存器选择所述密钥存储槽中的一者从而将所选择的密钥存储槽中的内容传送至能够被所述硬件加密/解密引擎存取的密钥寄存器;
其中如果所述双模式加密密钥被选择用于将会话密钥加密/解密,那么无法使用所述双模式加密密钥来将数据加密或解密。
CN201380019691.3A 2012-02-21 2013-02-20 使用密钥加密密钥的密码发射系统 Active CN104247327B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261601253P 2012-02-21 2012-02-21
US61/601,253 2012-02-21
PCT/US2013/026891 WO2013126422A1 (en) 2012-02-21 2013-02-20 Cryptographic transmission system using key encryption key
US13/771,572 US9286241B2 (en) 2012-02-21 2013-02-20 Cryptographic transmission system
US13/771,572 2013-02-20

Publications (2)

Publication Number Publication Date
CN104247327A CN104247327A (zh) 2014-12-24
CN104247327B true CN104247327B (zh) 2017-11-10

Family

ID=48983268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380019691.3A Active CN104247327B (zh) 2012-02-21 2013-02-20 使用密钥加密密钥的密码发射系统

Country Status (5)

Country Link
US (1) US9286241B2 (zh)
EP (1) EP2817916B1 (zh)
KR (1) KR20140129207A (zh)
CN (1) CN104247327B (zh)
WO (1) WO2013126422A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2817916B1 (en) * 2012-02-21 2020-06-10 Microchip Technology Incorporated Cryptographic transmission system using key encryption key
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
EP4027576B1 (en) 2014-01-13 2023-11-22 Visa International Service Association Efficient methods for protecting identity in authenticated transmissions
US9443111B2 (en) 2014-02-28 2016-09-13 Seagate Technology Llc Device security using an encrypted keystore data structure
JP6368531B2 (ja) * 2014-04-28 2018-08-01 達広 白井 暗号処理装置、暗号処理システム、および暗号処理方法
WO2015172352A1 (en) * 2014-05-15 2015-11-19 Seagate Technology Llc Storage device tampering detection
AU2015277000C1 (en) 2014-06-18 2019-11-28 Visa International Service Association Efficient methods for authenticated communication
US9258117B1 (en) * 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
US10387662B2 (en) 2014-07-16 2019-08-20 Jeffrey B. Canter Flash memory device for storing sensitive information and other data
EP3170087B1 (en) * 2014-07-16 2019-05-01 BAE SYSTEMS Information and Electronic Systems Integration Inc. Flash memory device for storing sensitive information and other data
WO2016033610A1 (en) 2014-08-29 2016-03-03 Visa International Service Association Methods for secure cryptogram generation
CN112260826B (zh) 2015-01-27 2023-12-26 维萨国际服务协会 用于安全凭证供应的方法
CN107251476A (zh) 2015-02-13 2017-10-13 维萨国际服务协会 保密通信管理
US10122689B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Load balancing with handshake offload
US10122692B2 (en) 2015-06-16 2018-11-06 Amazon Technologies, Inc. Handshake offload
CN105512517A (zh) * 2015-11-25 2016-04-20 成都天奥测控技术有限公司 一种嵌入式软件加密方法
EP3466032B1 (en) 2016-06-07 2021-10-27 Visa International Service Association Multi-level communication encryption
EP3299988B1 (en) * 2016-09-22 2021-03-10 MARICI Holdings The Netherlands B.V. Secure communication method and system
US10158613B1 (en) 2017-06-12 2018-12-18 Ironclad Encryption Corporation Combined hidden dynamic random-access devices utilizing selectable keys and key locators for communicating randomized data together with sub-channels and coded encryption keys
WO2018231773A1 (en) * 2017-06-12 2018-12-20 Daniel Maurice Lerner Combined hidden dynamic random-access devices utilizing selectable keys and key locators for communicating randomized data together with sub-channels and coded encryption keys
US11057194B2 (en) 2017-07-03 2021-07-06 Stmicroelectronics S.R.L. Processing system, related integrated circuit, device and method
KR20200123478A (ko) * 2018-03-15 2020-10-29 메디씨 벤쳐스, 인코포레이티드 키 컴포넌트 서브 세트를 갖는 어셈블리가 암호화된 키를 복호화 하는 것을 허용하는 키 컴포넌트로, 키를 암호화 하는데 사용되는, 암호화된 키 및 암호화 키의 분할
GB201807257D0 (en) * 2018-05-02 2018-06-13 Nordic Semiconductor Asa Cryptographic key distribution
JP7384914B2 (ja) 2018-10-12 2023-11-21 ティーゼロ・アイピー,エルエルシー 二重暗号化秘密パーツのサブセットを使用して秘密のアセンブリを可能にする二重暗号化秘密パーツ
FR3094520B1 (fr) * 2019-03-25 2021-10-22 St Microelectronics Rousset Clé de chiffrement et/ou de déchiffrement
TWI728355B (zh) * 2019-05-10 2021-05-21 慧榮科技股份有限公司 密碼保護的資料儲存裝置以及非揮發式記憶體控制方法
US11205003B2 (en) 2020-03-27 2021-12-21 Intel Corporation Platform security mechanism
WO2022256555A2 (en) * 2021-06-03 2022-12-08 Ntt Research, Inc. Function-embedded traitor tracing for a digital content distribution system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
EP1387237A2 (en) * 2002-07-30 2004-02-04 Texas Instruments Incorporated Security for computing devices

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
US7005733B2 (en) * 1999-12-30 2006-02-28 Koemmerling Oliver Anti tamper encapsulation for an integrated circuit
US7469338B2 (en) * 2002-07-29 2008-12-23 Broadcom Corporation System and method for cryptographic control of system configurations
US7280956B2 (en) * 2003-10-24 2007-10-09 Microsoft Corporation System, method, and computer program product for file encryption, decryption and transfer
EP1759296A4 (en) * 2004-06-14 2007-06-27 Research In Motion Ltd METHOD AND SYSTEM FOR SECURING DATA USING A REDUNDANT SAFE KEY MEMORY
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US8160244B2 (en) * 2004-10-01 2012-04-17 Broadcom Corporation Stateless hardware security module
WO2006031203A1 (en) * 2005-01-06 2006-03-23 Measat Broadcast Network Systems Sdn. Bhd. An interactive television system
US20070162964A1 (en) * 2006-01-12 2007-07-12 Wang Liang-Yun Embedded system insuring security and integrity, and method of increasing security thereof
WO2009029842A1 (en) * 2007-08-31 2009-03-05 Exegy Incorporated Method and apparatus for hardware-accelerated encryption/decryption
JP4884412B2 (ja) * 2008-03-12 2012-02-29 京セラ株式会社 携帯端末
WO2010114006A1 (ja) * 2009-03-31 2010-10-07 日本電気株式会社 ストレージシステムとストレージアクセス方法とプログラム
KR101601790B1 (ko) * 2009-09-22 2016-03-21 삼성전자주식회사 암호키 선택장치를 구비하는 스토리지 시스템 및 암호 키 선택방법
US8661266B2 (en) * 2010-04-21 2014-02-25 Cavium, Inc. System and method for secure device key storage
EP2817916B1 (en) * 2012-02-21 2020-06-10 Microchip Technology Incorporated Cryptographic transmission system using key encryption key

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237611A (en) * 1992-07-23 1993-08-17 Crest Industries, Inc. Encryption/decryption apparatus with non-accessible table of keys
EP1387237A2 (en) * 2002-07-30 2004-02-04 Texas Instruments Incorporated Security for computing devices

Also Published As

Publication number Publication date
US9286241B2 (en) 2016-03-15
WO2013126422A1 (en) 2013-08-29
US20130219189A1 (en) 2013-08-22
KR20140129207A (ko) 2014-11-06
CN104247327A (zh) 2014-12-24
EP2817916B1 (en) 2020-06-10
EP2817916A1 (en) 2014-12-31

Similar Documents

Publication Publication Date Title
CN104247327B (zh) 使用密钥加密密钥的密码发射系统
WO2018046008A1 (zh) 一种区块链加密射频芯片存储设计方法
US11615411B2 (en) POS system with white box encryption key sharing
US8484486B2 (en) Integrated cryptographic security module for a network node
KR101714108B1 (ko) 검증가능 누출 방지 암호화 및 복호화
CN1808966B (zh) 安全数据处理方法及其系统
CN101149768B (zh) 一种专用处理器软件的加密和解密方法
CN109067528A (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
EP2538366B1 (en) Generating secure device secret key
US8687813B2 (en) Methods circuits devices and systems for provisioning of cryptographic data to one or more electronic devices
US8879739B2 (en) Method, system and device for securely transferring digital content between electronic devices within a communication network managed by a management center
CN109347625A (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN106209352A (zh) 具有前向安全性的有效密钥衍生
US9729319B2 (en) Key management for on-the-fly hardware decryption within integrated circuits
Maes et al. Analysis and design of active IC metering schemes
US20080205654A1 (en) Method and Security System for the Secure and Unequivocal Encoding of a Security Module
CN110457924A (zh) 存储数据保护方法及装置
US8681972B2 (en) Method of executing a cryptographic calculation
EP2932646B1 (en) Non alterable structure including cryptographic material
CN117597688A (zh) 一种密钥验证方法及相关装置
CN109711207A (zh) 一种数据加密方法及装置
Maletsky Designing in A Trusted Platform Module (TPM)

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant