CN101256613B - 无需制造者和用户知道彼此的加密信息的安全处理器系统 - Google Patents

无需制造者和用户知道彼此的加密信息的安全处理器系统 Download PDF

Info

Publication number
CN101256613B
CN101256613B CN2008100010845A CN200810001084A CN101256613B CN 101256613 B CN101256613 B CN 101256613B CN 2008100010845 A CN2008100010845 A CN 2008100010845A CN 200810001084 A CN200810001084 A CN 200810001084A CN 101256613 B CN101256613 B CN 101256613B
Authority
CN
China
Prior art keywords
key
encryption
encryption key
processor
register
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
CN2008100010845A
Other languages
English (en)
Other versions
CN101256613A (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.)
Socionext Inc
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Publication of CN101256613A publication Critical patent/CN101256613A/zh
Application granted granted Critical
Publication of CN101256613B publication Critical patent/CN101256613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic 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 using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Abstract

本发明公开了一种无需制造者和用户知道彼此的加密信息的安全处理器系统。该安全处理器系统能够通过添加最小模块来提高处理器处理的安全性,而无需制造者和用户知道彼此的加密信息。该安全处理器系统包括安全处理器和存储器,安全处理器具有执行指令代码的CPU核、保存处理器密钥的加密密钥保存部件和利用处理器密钥加密或解密输入到核/从核输出的数据的加密处理部件,并且加密密钥保存部件包括保存固定加密密钥的固定寄存器和存储要被输入的命令加密密钥并保存所存储的命令加密密钥以使其不能够被读取的只写寄存器,并且加密密钥保存部件在激活时输出固定加密密钥作为处理器密钥,而在命令加密密钥被写入之后输出命令加密密钥作为处理器密钥。

Description

无需制造者和用户知道彼此的加密信息的安全处理器系统
技术领域
本发明涉及具有处理器的系统,更具体地,涉及能够阻止执行未经授权的代码的安全处理器系统,用于构成这样的系统的安全处理器,和控制安全处理器系统的方法。
背景技术
在使用处理器的系统中,可由程序来定义系统的操作,因此与其中所有组件都是由固定组成的系统相比较而言,该系统的设计和操作更灵活,并且可容易地实现各种功能。因为该优点,现在处理器被安装在诸如个人计算机等之类的各种计算机以及诸如PDA(个人数字助理)、移动电话、信息家电等之类的各种信息设备中。
图1A是示出使用传统处理器的系统的一般配置的示图。如图示意性示出的,系统具有处理器1和外部ROM 6。通常,处理器1具有执行命令处理的CPU核2,用于激活的内置ROM 4,用于与内部或外部存储器通信的存储器接口(IF)5,和将这些模块相互连接的内部总线3,并且处理器1被形成到单片半导体中。在某些情况下可以不设置内置ROM 4,在这样的情况下经由存储器接口从外部激活处理器。此外,还可以安装其他外围功能块。然而,在此不对这些情况进行说明,因为他们与本实施例的关系有限。外部ROM 6存储用于操作处理器1的控制程序7。
在此配置中,为了使处理器执行期望的操作,将程序存储在可重写的外部存储介质(例如闪存ROM)6中。然而,这样的配置很容易受到外部解密(deciphering)的攻击,例如,物理去除ROM 6,也就是说,如果内部处理程序高度敏感即对版权进行管理,则在该系统中将不能确保安全处理,结果不能实现这样的系统。
随着网络越来越发达,信息设备更可能被连接到一个网络或者多个网络,邮件和其他数据将更频繁地经由网络被发送和接收,并且程序将经由网络被更频繁地下载。在这样的环境中,经由网络等被计算机病毒感染的危险以及未经授权的访问近来不断增加,因此,随着网络被更广泛地使用,由计算机和移动信息终端执行的程序的安全性越来越重要。
为了确保包括处理器的鲁棒信息设备的安全性,使用了诸如加密数据、用户认证等之类的各种系统性措施。然而,近来,除了系统的安全性之外,为了应对计算机病毒和未经授权的访问的传播,软件和处理器的安全性也越来越重要。
例如,将各种包含处理器的设备(例如移动电话、信息家电等)连接到网络增大了使这些设备面临与个人计算机等相同的风险的可能性。未经授权的访问通过在其终端执行恶意的可执行代码而变得有效。因此,必需阻止在处理器中执行恶意代码和不期望的代码。然而,目前,在处理器一侧用于阻止执行恶意代码的对策尚不充足,并且存在这样的问题:没有提供安全的软件执行环境。
为了解决这个问题,最近,已经研究了安全处理器。安全处理器通过加密在处理器外部处理的数据并提供对内部的访问保护使得不可能直接地读取数据。例如,数据和命令代码被加密并被存储在主存储设备或次存储设备中,当处理器执行命令时,加密的命令代码被解密并被存储在高速缓冲存储器中,然后被执行。
本申请人已经在日本未经审查的专利公开(KoKai)No.2006-18528(JP2006-18528A)中公开了这样一种安全处理器。
图1B是示出在JP2006-18528A中公开的安全处理器的基本配置的示图。如图示意性示出的,安全处理器10具有包括执行单元和高速缓存的(CPU)核11,执行与外部接口的命令处理、对总线数据(程序代码或数据)的加密和解密等的加密处理块12,执行对命令代码的认证的代码认证处理块13,其中加密并存储了用于激活处理器的最基础的程序等的加密的ROM代码区域14,和保存用于解密存储在代码区域14中的程序等的CPU唯一密钥的CPU唯一密钥保存寄存器15。
然后,在核11和加密处理块12之间,交换命令和数据并执行对用于加密的密钥的控制,并且在核11和代码认证处理块13之间,提供认证接口。此外,加密处理块12和代码认证处理块13访问主存储器17并且代码认证处理块13访问次存储器18。
在JP2006-18528A中公开的安全处理器中,不能从外部访问CPU唯一密钥保存寄存器15。在确定CPU唯一密钥之后,安全处理器的用户(系统制造者)通知制造者该CPU唯一密钥,并且制造者在制造该处理器时将所通知的CPU唯一密钥设定到CPU唯一密钥保存寄存器15中。然后制造者和用户在严格监视下保存CPU唯一密钥以防止它向外部泄漏。安全处理器仅根据被利用CPU唯一密钥正确加密的程序来操作。因此,即使程序被不知道CPU唯一密钥的恶意第三方恶意改变,也不可能导致安全处理器以未经授权的方式操作。
虽然在JP2006-18528A中描述的安全处理器是可行的,然而该系统本身及其固定和软件需要根据传统系统进行相当大地修改。换言之,存在这样的问题:很难维持与传统系统的兼容性。当提供这种安全处理器时,必须在一定程度上接受兼容性成本的增大,然而,期望处理器最小化相对传统系统的修改量和转换成本。
此外,如上所述,必须在制造者和用户的严格监视下保存CPU唯一密钥,然而,在严格监视下保存需要额外的费用,并且保存多个用户的CPU唯一密钥的制造者必需为每个芯片保存CPU唯一密钥,这导致很重的负担。当制造者不得不将多个CPU唯一密钥放在一起管理时,用户的CPU唯一密钥的泄漏将引起许多密钥的同时泄漏,这导致用户的系统被病毒感染。因此,保存CPU唯一密钥的成本影响了制造成本并提高了安全处理器的价格。
从这一点来看,期望即使安全处理器的制造者和用户不知道彼此的加密信息,作为安全处理器也能够维持一定的安全性级别。这不仅消除了制造者管理用户的加密的需要,而且为用户带来了如下的优点:不再会从制造者泄漏加密。
本实施例的第一目的是通过添加最小模块来实现处理器进行处理的安全性并且最小化对现有系统的影响。
本实施例的第二目的是通过替代装置来提供影响制造成本的诸如针对每个芯片的唯一信息之类的项目,并以低成本实现该替代装置。具体地,该目的是免除对制造者和用户知道彼此的加密信息的要求以及对加密信息的管理。
发明内容
根据本实施例的一个方面,提供了一种具有安全处理器和存储器的安全处理器系统,所述安全处理器具有执行指令代码的核、保存处理器密钥的加密密钥保存部件和利用处理器密钥加密或解密输入到核/从核输出的数据的加密处理部件,所述存储器存储输入到核/从核输出的数据。安全处理器的加密密钥保存部件具有固定寄存器和只写寄存器,该固定寄存器保存不能够被重写或读取的固定(hardwired)加密密钥,该只写寄存器存储待输入的命令加密密钥并保存所存储的命令加密密钥以使其不能够被读取。该加密密钥保存部件在处理器被激活时,输出在固定寄存器中保存的固定加密密钥作为处理器密钥,并且在命令加密密钥被写入只写寄存器之后,输出在只写寄存器中保存的命令加密密钥作为处理器密钥。
根据本实施例的另一方面,提供了一种安全处理器,包括:核,执行命令代码;加密密钥保存部件,保存处理器密钥;以及加密处理部件,利用所述处理器密钥加密或解密在所述核和存储器之间输入/输出的数据,其中所述加密密钥保存部件包括:固定寄存器,保存不能够被重写的固定加密密钥;以及只写寄存器,存储要被输入的命令加密密钥并保存所存储的命令加密密钥以使其不能够被读取,其中所述加密密钥保存部件在所述处理器被激活时,输出在所述固定寄存器中保存的所述固定加密密钥作为所述处理器密钥,并且在所述命令加密密钥被写入所述只写寄存器之后,输出在所述只写寄存器中保存的所述命令加密密钥作为所述处理器密钥。
根据本实施例的另一方面,提供了一种控制安全处理器系统的方法,所述安全处理器系统包括:安全处理器,该安全处理器具有执行指令代码的核、保存处理器密钥的加密密钥保存部件、利用所述处理器密钥加密或解密输入到所述核/从所述核输出的数据的加密处理部件和存储设定信息私钥的设定信息私钥存储部件,其中所述加密密钥保存部件具有固定寄存器和只写寄存器,所述固定寄存器保存不能够从外部被重写或读取的固定加密密钥,所述只写寄存器存储要被输入的命令加密密钥并保存所存储的命令加密密钥以使其不能够被从外部读取,并且其中所述加密密钥保存部件在所述处理器被激活时,输出在所述固定寄存器中保存的所述固定加密密钥作为所述处理器密钥,并且在所述命令加密密钥被写入所述只写寄存器之后,输出在所述只写寄存器中保存的所述命令加密密钥作为所述处理器密钥;以及存储器,存储输入到所述核/从所述核输出的数据,所述方法包括以下步骤:在激活时在所述加密处理部件中解密密钥变换程序,该密钥变换程序被存储在所述存储器中并且是利用所述固定加密密钥而被加密的,并且该密钥变换程序将所述命令加密密钥存储到所述只写寄存器中;并且该密钥变换程序存储所述命令加密密钥,利用存储在所述设定信息私钥存储部件中的所述设定信息私钥解密存储在所述存储器中并被利用设定信息公钥加密的所述命令加密密钥,并将其存储在所述只写寄存器中;并且进行设定以使得所述加密处理部件利用所述命令加密密钥执行加密或解密。
附图说明
根据结合附图进行的以下描述,将更清楚地理解本实施例的特征和优点,其中:
图1A是示出传统处理器的配置的示图;
图1B是示出传统安全处理器的配置的示图;
图2是说明本实施例的安全处理器系统的原理的示图;
图3是示出实施例中的安全处理器系统的配置的示图;
图4A和4B是对创建加密ROM进行说明的示图;
图5A和5B是示出当创建加密ROM时的数据流的示图;
图6是示出用于创建加密ROM的过程的流程图;
图7是示出用于更新加密ROM的过程的流程图;
图8是示出加密处理部件的配置的示图;
图9是示出加密判断部件和加密密钥保存部件的配置的示图;
图10是示出实施例中的安全处理器中的操作的流程图;以及
图11是示出调试器检测与经授权的用户认证之间的关系的示图。
具体实施方式
以下参考附图对实施例进行说明。
图2是说明本实施例的原理的示图。如图2所示,本实施例的安全处理器系统包括安全处理器20和加密存储器30。安全处理器20具有执行命令代码的核21,保存处理器密钥的加密密钥保存部件25,和利用处理器密钥加密或解密输入到核21/从核21输出的数据的加密处理部件24,并且存储器30存储输入到核21/从核21输出的数据。除这些部件外,还提供了用于激活CPU核21的内置ROM 23、连接各个块的内部总线22等。如图示意性示出的,加密密钥保存部件25具有固定寄存器26和只写寄存器27,该固定寄存器26保存不能被重写的固定加密密钥,该只写寄存器27存储待输入的命令加密密钥,并且禁止读取所存储的命令加密密钥,并且加密密钥保存部件25在处理器被激活时输出保存在固定寄存器26中的固定加密密钥作为处理器密钥,在命令加密密钥被写入只写寄存器27时输出保存在只写寄存器27中的命令加密密钥作为处理器密钥。存储器30具有程序数据31、用户独立确定的命令加密密钥(加密设定信息)32和被利用命令加密密钥32加密的处理程序33,所述程序数据31是被利用固定加密密钥加密的密钥变换程序,该密钥变换程序被从安全处理器的制造者提供给用户以执行变换来将输入的命令加密密钥写入只写寄存器27。可将加密存储器30设置在安全处理器20的内部或外部。
根据本实施例,使用与不能被重写的固定加密密钥相同的密钥加密密钥变换程序,并且仅经授权的密钥变换程序可将处理器密钥从固定加密密钥改变为用户任意设定的命令加密密钥。以这种方式,通过利用不能从软件访问的固定加密密钥进行激活并将其变换为任意的命令加密密钥,可设定针对每个用户的命令加密密钥,而无需使用对芯片而言唯一的固定加密密钥。在这种配置中,密钥变换程序、命令加密密钥和处理程序被存储在由用户设置的加密存储器中,因此,安全处理器只需将加密处理部件24和加密密钥保存部件25添加到传统配置中(图1A),也就是说,可通过添加最小模块来实现安全处理器。
根据本实施例,制造者仅将利用固定密钥加密的密钥变换程序提供给用户,并且用户不必知道固定密钥本身。此外,用户仅任意地确定命令加密密钥并将其存储在加密存储器中,并且不必告知制造者命令加密密钥。只要固定加密密钥不泄漏,就能够确保正确执行利用固定加密密钥加密的密钥变换程序和被改变之后利用命令加密密钥加密的程序二者。此外,关于加密的信息被加密并被存储在存储器(ROM)中,很难单独地对其进行分析。
因此,制造者能够使用多个用户共用的固定密钥,并且因为制造者不知道每个用户的命令加密密钥所以不需要进行管理,因此对加密密钥的管理十分容易。此外,因为制造者不知道命令密钥,所以不可能从制造者泄漏命令密钥,进而用户可进一步提高安全性。
期望命令加密密钥(加密设定信息)32是RSA(Rivest ShamirAdleman)。制造者确定用于RSA加密的设定信息加密私钥和公钥并将该公钥提供给用户。利用用于RSA加密的公钥加密用户任意确定了的命令加密密钥(加密设定信息)32,并将其存储在加密存储器30中。利用设定信息私钥解密RSA加密的命令加密密钥32,并将经解密的命令加密密钥设定在只写寄存器27中。因为命令加密密钥是RSA加密的,所以对其解密十分困难。在这种配置中,用户不可能知道设定信息私钥。
期望加密处理部件执行使用AES加密的加密和解密。这是因为密钥变换程序和控制程序的数据量较大并需要高速的处理。
与此相反,期望命令加密密钥是如上所述的RSA加密的。这是因为命令加密密钥的加密和解密是分开执行的,需要高保密性,并且加密目标仅是命令加密密钥,因此数据量较小。
设定信息私钥可被存储在安全处理器中;然而,也可以将其添加到密钥变换程序并将数据从制造者提供给用户,所述数据是包含利用固定加密密钥加密的设定信息私钥的密钥变换程序。因为设定信息解密密钥被加密,所以在这种情况下用户也不可能知道设定信息解密密钥。用户将包括设定信息解密密钥的密钥变换程序存储在存储器中。当安全存储器被激活时,利用上述的固定加密密钥解密密钥变换程序,因此设定信息解密密钥被从中提取出来,并且RSA加密的命令加密密钥被解密。
此外,还能够存储由用户生成的电子签名。可将用于验证电子签名的程序设置在安全处理器20中或加密存储器30中。在这种配置中,被利用命令加密密钥加密的程序的创建者(用户)预先创建签名公钥(验证)并将其告知制造者,然后由程序的创建者(用户)创建的电子签名被利用签名公钥验证,因此可增加这样的功能:确认被利用命令加密密钥加密的程序的有效性。签名公钥用于验证电子签名,并且即使签名公钥泄漏也不可能使用该密钥生成经授权的签名。当命令公钥泄漏时,可能使用未经授权的密钥创建未经授权的程序,然而,通过该签名验证可阻止未经授权的执行。
出于与命令加密密钥相同的原因,期望用RSA方案执行电子签名。
签名公钥是用户独立设定的加密密钥,如果将其存储在安全处理器中,则需要为每个用户制造安全处理器,这是不期望的。因此,期望签名公钥同样利用密钥变换程序中的固定密钥被加密并存储。
制造者告知用户设定信息公钥,用户告知制造者签名公钥,并且制造者向用户提供这样的数据:利用固定加密密钥加密并包含密钥变换程序(包括设定信息私钥和签名公钥)的数据。用户通过将加密数据与利用设定信息公钥加密的命令加密密钥、电子签名和利用命令加密密钥加密的控制程序进行组合,来创建ROM数据。因为从制造者提供到用户的数据被加密,所以用户不能够知道设定信息私钥。此外,制造者不能够知道用户确定了的签名私钥。
在验证电子签名的配置中,还能够提供这样的功能,即将调试器(debugger)的连接检测信号连接到加密处理部件并且当检测到调试器时终止命令解密处理。因此,能够保护程序不受利用如下事实的攻击,所述事实即经解密用于执行的命令存在于CPU核21中并且在这种状态下可以使用调试器将CPU核21中的信息取出。
此外,在对命令加密密钥进行的提取(解密)处理中,除对命令加密密钥进行处理之外,还可包括对经授权的用户认证代码进行认证。在这种配置中,可以增加如下功能,即通过在将经授权的用户认证代码添加到命令加密密钥(该命令加密密钥只有利用命令加密密钥加密的程序的创建者可以设定)之后,用RSA方案执行对公钥的加密并将经授权的用户认证代码存储在寄存器中,来确定经授权的用户。
此外,还可以提供能够被调试器访问并且能够存储待与经授权的用户认证代码进行比较的值的寄存器,并且提供当该值与经授权的用户代码匹配时取消解密终止处理的功能。在这种配置中,可以提供一种即使当调试器仅被连接到利用命令加密密钥加密的程序的创建者时也可以使用的环境。
上述配置可以是这样的:设置连接到处理器核21而无需插入加密处理装置24的(内置)ROM 23,其记录用于确定加密存储器30的加密状态的程序。在这种配置中,内置ROM 23包括加密状态确定程序并从而验证所安装的加密存储器ROM 30是否被使能,并且同时可使得处理器配置用于加密和非加密两种目的。
此外,期望加密存储器30是可被重写的非易失性存储器,例如闪存ROM等,并且可将加密存储器30设置在安全处理器20的内部或外部。在这种配置中,能够通过描述外部存储器的特定区域中的加密状态的标识符,使用外部数据容易地改变激活设置,因为可确定程序是否是加密程序。
此外,存储固定加密密钥的固定寄存器26可存储例如多个固定加密密钥并可具有这样的配置,其中可从多个密钥中选择任意密钥。在这种配置中,可利用任意编号选择多个固定加密密钥,并且当固定加密密钥泄漏时能够通过选择新的编号来继续安全处理器的制造。
根据本实施例,通过利用固定加密密钥加密的密钥变换程序,可将安全处理器的加密密钥从不能够被重写的固定加密密钥变换为用户任意确定的命令加密密钥,因此,用户能够独立地设定安全处理器的加密密钥而无需告知制造者,并且很容易维护加密密钥的保密性。此外,可将密钥变换程序和命令加密密钥存储在外部存储器中,进而能够实现可被容易地添加到一般处理器中的配置,同时通过将固定加密密钥到任意密钥的变换与加密处理固定集成到单个块中,使得要被添加到处理器的模块被最小化并且保持了较低的生产成本。
此外,如果命令加密密钥是RSA加密的,则很难从外部知道该命令加密密钥,并且命令加密密钥的保密性的保持被置于更严格的监视下。
此外,利用电子签名执行对程序的认证,并且当检测到任何伪造时阻止对命令加密密钥进行设定,从而可进一步提高包括安全处理器的系统的安全性和可靠性。
图3是示出根据第一实施例的安全处理器系统的一般配置的示图。如图示意性示出的,该系统包括安全处理器20和用于加密的外部ROM 34。类似于传统示例,其他RAM、I/O接口等也被连接,然而因为它们不与本实施例直接相关,所以省略对它们的说明。安全处理器20具有CPU核21、内部总线22、内置ROM 23、加密处理部件24、加密密钥保存部件25和存储器IF 28。加密处理部件24利用从加密密钥保存部件25输出的处理器密钥,对CPU核21和存储器IF之间的输入和输出执行加密处理和解密处理。加密密钥保存部件25具有不能被重写或不能从外部访问的ROM 26和可被写入但是不能从外部访问的可写ROM 27,在ROM 26中存储了固定(HW)加密密钥,而在可写ROM 27中在激活之后命令加密密钥被写入。在本实施例中,ROM 26包括存储多个固定加密密钥的多个寄存器,并具有选择电路,该选择电路用于根据HW加密编号选择多个固定加密密钥中的一个并且能够输出所选择的固定加密密钥;然而,ROM26也可以仅存储一个固定加密密钥。系统被配置使得当被激活时,从ROM 26中选择的固定加密密钥被作为处理器密钥输出到加密处理部件24,并在命令加密密钥被写入可写ROM 27之后,命令加密密钥被作为处理器密钥从可写ROM 27输出到加密处理部件24。在本实施例中内置ROM 23是必需的组件并且随后将描述其内部细节。这些组件被集成到单片半导体中。
外部ROM 34包括,例如,可重写的闪存ROM等,并且在内部存储ROM头部(加密的ROM标识符)41、密钥变换程序43、RSA加密数据49和控制程序54。ROM头部(加密的ROM标识符)具有头部数据42。密钥变换程序43具有AES加密数据44。AES加密数据44具有利用固定加密密钥进行AES加密的密钥变换程序45,并且利用固定加密密钥AES加密的密钥变换程序45具有密钥变换程序主体46、第二RSA公钥47和第一RSA私钥48。RSA加密数据49具有第一RSA加密数据50和第二RSA加密数据52,并且第一RSA加密数据50具有加密设定信息51,第二RSA加密数据52具有认证相关信息53。用不同的加密密钥加密第一RSA加密数据50和第二RSA加密数据52。控制程序54具有利用命令加密密钥进行AES加密的AES加密数据55,并且AES加密的控制程序56被包括在其中。AES加密的控制程序56具有控制程序主体57和其他用户数据58。
在加密处理部件24中,利用从加密密钥保存部件25输出的处理器密钥,分别对输出方向上的数据进行AES加密处理并对输入方向上的数据进行AES解密处理。因此,外部ROM中的数据被加密。在本实施例中,安全处理器20的芯片内部的固定加密密钥并非彼此不同,而是被多个芯片共用,因此可实现制造成本的降低。根据这种构造,密钥被处理器的用户共用,虽然能够防止被第三方解密,但是用户之间的秘密信息不能被保护。因此,在本实施例中,芯片的固定加密密钥仅用于加密由制造者创建的密钥变换程序,并且固定加密密钥信息不被分配给除制造者外的任何人。
图4A和4B是说明用于创建要存储在加密(外部)ROM 34中的数据的过程的示图,而图5A和5B是示出数据流的示图。图4A示出制造者的工作而图4B示出用户的工作。首先,将参考图4和图5说明待存储在外部ROM 34中的数据。
安全处理器20的芯片制造者从多个(HW)固定加密密钥中选择一个固定加密密钥(D1)并确定每个芯片共用的用于AES加密的固定(HW)加密密钥61,并且在严格的监视下保存固定加密密钥61以使得它不被泄漏到外部。此外,制造者准备密钥变换程序主体46,该密钥变换程序主体46将从外部ROM 34读取的命令密钥存储在可写ROM 27中。此外,制造者确定包括第一RSA私钥63和第一RSA公钥64的设定信息加密密钥62,并且在严格的监视下保存第一RSA私钥63以使得它不被泄漏到外部并将第一RSA公钥64提供到用户。
另一方面,用户生成包括用于AES加密的命令加密密钥60的加密设定信息51和控制程序53。此外,用户确定包括第二RSA私钥66和第二RSA公钥(验证)67的签名密钥65,并且在严格监视下保存第二RSA私钥66以使得它不被泄漏到外部并将第二RSA公钥67提供到制造者。
制造者生成CTR模式的计数器值(D2),其程序大小与所选择的固定加密密钥对应。该计数器值是以ECB模式加密的(D3)并且加密的计数器数据(D4)被生成。然后,在加密工具68中利用固定加密密钥61对将密钥变换程序主体46、第一RSA私钥63和从用户提供的第一RSA公钥67结合在一起的数据进行AES加密。具体地,通过计算该数据和密钥变换程序(D5)的数据的异或(XOR)(D8)来完成加密处理,从而生成加密的密钥变换程序43。针对每个用户生成密钥变换程序43。然后,将基于指定所使用的固定加密密钥的HW密钥编号创建的ROM头部41与在加密工具68中AES加密的密钥变换程序43结合,并作为程序数据提供到用户。密钥变换程序43包括AES加密形式的第一RSA私钥63和第二RSA公钥67。
用户通过在RSA加密部件72中用第一RSA公钥64对包括用于AES加密的命令加密密钥60的加密设定信息51进行RSA加密,来创建RSA加密的加密设定信息75。此外,通过在签名生成部件73中利用第二RSA私钥66对数据(即经散列处理的RSA加密的加密设定信息75)进行RSA加密来创建电子签名76。然后,在AES加密部件74中,通过利用该信息中所包括的计数器数据和命令加密密钥进行加密,如D14、D15和D16,并且将它们与控制程序的数据D17进行XOR(D18)运算,使用命令加密密钥60创建了利用命令加密密钥60AES加密的控制程序77。使用加密数据创建工具71执行上述处理。然后,将如上所创建的RSA加密的加密设定信息75,电子签名76和AES加密的控制程序77与从制造者提供的包括ROM头部41和密钥变换程序43的程序数据进行组合,并写入外部ROM 34。以这种方式,完成外部ROM。
图6是示出在制造者一侧和在用户一侧用于创建加密ROM 34的过程的流程图。假设已经制造了预先存储多个固定加密密钥的安全处理器,并且也已经创建了密钥变换程序主体46。可通过来自外部的设定来选择固定加密密钥。在步骤S 11,生成用于每个用户的参数,该参数包括设定信息加密密钥对(第一RSA密钥对)62和HW密钥选择编号。另一方面,在用户一侧,在步骤S21,创建包括第二RSA密钥对65的用于签名验证的参数。
在步骤S12和S22,将用于签名验证的第二RSA公钥67从用户一侧提供到制造者一侧,并且制造者得到该第二RSA公钥67。换言之,执行了第二RSA公钥67的交换。
在步骤S13和S23,将用于加密设定信息的第一RSA公钥64从制造者一侧提供到用户一侧,并且用户得到该第一RSA公钥64。换言之,执行了第一RSA公钥64的交换。
在制造者一侧,在步骤S14,生成加密的二进制数据,该数据是包括密钥变换程序46、第一RSA私钥63和第二RSA公钥67的AES加密数据。该加密的二进制数据不能在用户一侧被解密。
另一方面,在步骤S24,用户一侧创建设定信息并利用从制造者那得来的第一RSA公钥64对它进行RSA加密,创建控制程序并利用命令加密密钥对其加密,并且还生成电子签名。
在步骤S15,制造者将在步骤S14中生成的加密的二进制数据提供到用户,并且用户可得到该加密的二进制数据。
在步骤S25,用户通过组合所得到的加密的二进制数据、在步骤S24中创建的加密的设定信息、加密的控制程序以及电子签名来创建外部ROM 34。
然后,用户通过组合从制造者提供的安全处理器、如上所创建的外部ROM 34以及其他组件来制造系统。
如上所述,仅将用于签名验证的第二RSA公钥从用户提供到制造者,因此,制造者不可能得到用户独立确定的命令加密密钥。此外,仅将用于加密设定信息的第一RSA公钥和加密的二进制数据从制造者提供到用户,因此,用户不可能得到制造者独立确定的固定密钥和第一RSA私钥。
可能存在这样的情况,其中在如图6所示创建了用于加密的外部ROM之后,在用户一侧出于某一原因必须修改控制程序。图7是示出用于更新外部ROM的过程的流程图。制造者不需要参与到该过程,所有的更新过程可在用户一侧被完成。
在步骤S31,用户创建新的控制程序并用命令加密密钥对其进行AES加密,用先前创建的第一RSA公钥64对其进行RSA加密,并将其与设定信息和电子签名组合,然后在步骤S32,通过将其与先前从制造者提供的加密的二进制数据组合来创建外部ROM。
如上所述描述了存储在用于加密的外部存储器34中的加密数据。因为外部ROM 34的存储内容由三个部分组成并且每一部分均被加密,所以能够构建不能被第三方或处理器的用户解密的结构。虽然将AES系统作为代表系统描述了处理器密钥(固定密钥和加密密钥)的共用密钥加密处理,并将RSA系统作为代表系统描述了用于加密设定信息和认证签名的公钥加密系统,然而也可使用任何等同的系统。用于加密由用户创建的控制程序的命令加密密钥被利用第一RSA公钥加密;然而,在RSA加密系统中,公钥不同于私钥(解密密钥),因此,即使公钥被泄漏给用户,用户也不可能知道私钥,并且用户可单独加密用于所定义的控制程序的命令加密密钥。因此,用户可执行对程序的加密而无需向制造者明确地通知作为保密信息的命令加密密钥。
接下来,以下将说明处理这样的加密数据的安全处理器20的内部配置。首先,将说明安全处理器20的基本操作。安全处理器20在利用被提供有片内固定加密密钥的加密处理部件24对利用存储在芯片的ROM 26中的固定加密密钥61加密的密钥变换程序43进行解密的同时,执行该密钥变换程序43,并且在密钥变换程序43中,利用第一RSA公钥64加密的用于控制程序的命令加密密钥60被提取并被设定在可写ROM 27中。因此,加密处理部件24被设定使得其利用命令加密密钥60进行加密和解密。以这种方式,执行了密钥变换,使得由安全处理器20的用户创建的控制程序54可以被正确地解密。在密钥变换之后,加密处理部件24解密加密的控制程序54,因此正确的执行被使能。
图8示出加密处理部件24的内部配置。加密处理部件24由RSA公钥处理部件81和处理器共用密钥处理部件83组成。RSA公钥处理部件81被安装在公钥算术运算单元82上,该公钥算术运算单元82用于提高RSA处理速率,因此在本实施例中它作为附属组件并不是必需的,然而,考虑到对现有系统添加该组件很容易,所以设置了该公钥算术运算单元82。处理器共用密钥处理部件83包括一些较小的块:总线判断部件85,用于判断来自CPU核21一侧的接口的命令是否去向其自身(处理器共用密钥处理部件83)的模块;旁路控制部件84,在加密功能停止时被使用;加密判断部件86,用于判断去往其自身的模块的命令是否是加密的对象;共用密钥算术单元87,用于利用处理器密钥执行AES密钥加密或解密处理;加密密钥保存部件25,用于将密钥提供到共用密钥算术单元87;以及解密处理的完成确定部件88,用于执行加密和解密处理及完成确定。
接下来,将说明在加密处理部件24中的数据流。当从CPU核21读取外部ROM 34并执行解密处理时,对处理器密钥信息的设定被预先完成。当对加密密钥保存部件25执行如上所述的密钥变换程序时,该设定不是必需的,或者设定指定从若干密钥之中选择哪个密钥的HW密钥编号。类似地,在加密判断部件86中,关于目标地址是否被加密的信息被设定在加密判断部件86中。在进行这些设定之后,用于外部ROM 34的读取命令被从CPU核21经由内部总线22发送到加密处理部件24。总线判断部件85分别向加密判断部件86和加密密钥保存部件25发送其是否是加密目标的判断方向和密钥设定方向,并且每个块将加密判断结果和密钥信息发送到共用密钥算术单元87。共用密钥算术单元87基于地址信息执行对信息的解密处理,该地址信息基于来自总线判断部件85的信息和激活信号。在解密处理之后,操作结果被发送到解密处理的完成确定部件88。与此并行地,读取命令被经由旁路控制部件84和外部地址/命令总线发送到外部ROM 34。作为这个命令的结果,在固定的时间过去之后从外部ROM34接收到数据,并且在解密处理的完成确定部件88中,在对外部ROM34的数据的处理与处理器密钥运算处理彼此同步之后,执行操作并且结果被经由处理总线和内部总线返回CPU核21。以CTR模式执行在解密处理的完成确定部件88中的操作。
图9是示出加密判断部件86和加密密钥保存部件88的配置的示图。如图示意性示出的,利用处理器密钥在存储器解密电路90中解密外部ROM 34的加密数据,并将其提供到CPU核21。固定加密密钥保存部件100与图4中的ROM 26对应。固定加密密钥保存部件100存储多个固定加密密钥,并且被配置使得通过保存在HW密钥编号寄存器99中的HW密钥编号选择多个固定加密密钥中的一个固定加密密钥并将其输出。HW密钥编号是经由输入/输出端子从安全处理器20的外部设定的,或者通过对芯片进行后处理而设定的。命令加密密钥保存部件101与图4中的可写ROM 27对应。当用经授权的密钥变换程序43执行签名认证时,包含在加密设定信息中的命令加密密钥被解密并被写入命令加密密钥保存部件101。在命令加密密钥被写入命令加密密钥保存部件101之前,解密密钥设定部件102保存从固定加密密钥保存部件100输出的固定的加密值并将其作为处理器密钥输出到存储器解密电路90,并且在存储器加密密钥被写入命令加密密钥保存部件101之后,将命令加密密钥作为处理器密钥输出到存储器解密电路90。换言之,当命令加密密钥被设定时,固定加密密钥变为无效。如果固定加密密钥保存部件100保存一个固定加密密钥,则不需要HW密钥编号寄存器99。
加密判断部件86具有解密激活寄存器91、调试器检测电路92、经授权的用户认证数据保存部件93、认证比较值保存部件94、比较器95、解扰寄存器96、加密区域指定寄存器97和解密操作控制部件98,所述比较器95将经授权的用户认证数据保存部件93的值与认证比较值保存部件94的值进行比较。随后将描述这些部件。
图10是示出在本实施例的安全处理器系统中的操作的流程图。与图5中示出的数据流一起说明这些操作。在图10的流程图中,在左手侧的执行程序的项指示在时间点处执行程序的记录位置。
当在步骤S41加电时,记录在内置ROM 23中的激活程序被处理。在步骤S42,在内置ROM 23中的程序首先读取外部ROM 34中的头部数据42。在头部数据42中,以如在图5的ROM头部41中描述的纯文本的形式记录关于其是否是加密ROM的信息以及关于当其是加密ROM时每个数据的布置的信息。在步骤S43,当读取的头部数据是纯文本的ROM时,过程前进到步骤S44,并且不执行与加密相关的处理而执行正常激活。当其是加密ROM时,过程前进到步骤S44,并且基于该ROM头部执行对引导(boot)参数的设定。具体地,该设定用于将在ROM头部41中指示的加密密钥编号设定到HW密钥编号寄存器99(图8),并用于保存每个地址信息。这对应于图5中对数据41进行设定。
随后,在步骤S45,通过将存储器解密功能设定到解密激活寄存器91来激活存储器解密功能。这引起这样的状态,其中能够在解密外部ROM34中的数据的同时进行读取。此后,程序分支到密钥变换程序43。密钥变换程序43是芯片制造者创建的程序并且被利用由上述加密密钥编号指定的固定加密密钥加密。在分支之后,程序起动密钥变换处理。在密钥变换处理中,首先在步骤S46,RSA加密数据部分被读取并被解密。RSA加密数据部分包括加密设定信息51和认证相关信息53,加密设定信息51是关于以RSA方案加密的固定设定的信息,认证相关信息53是信息51经电子签名之后的信息。如上所述,用于签名验证的验证密钥(第二RSA公钥)和用于解密的RSA私钥(第一RSA私钥)被预先存储在密钥变换程序43中。
在步骤S45中读取的RSA加密数据部分的签名部分首先被验证。在步骤S46,验证结果被确定,并且如果确定签名被伪造,则过程前进到步骤S47,并执行错误处理即执行停止处理。当未被恶意改变时,在步骤S48,外部ROM 34中的RSA加密数据部分被读取,并且在步骤S49,加密设定信息51被从RSA编码的数据部分中解密。加密设定信息51包括经授权的用户认证代码、加密区域指定、加密计数器和命令加密密钥,并且在基于该信息通过硬件执行了逆变换处理D10之后,每个数据被反映在硬件中。当创建了ROM数据时,通过图5中的扰码处理D10和RSA加密处理D11生成加密设定信息51。经解密的加密设定信息51在某个时间被设定到图9中的解扰寄存器96。此处理对应于图10中步骤S50中的用户数据更新处理。在此处理中,命令加密密钥被设定到命令加密密钥保存部件101中,并且处理器密钥被改变,然而,如果解密密钥被立即改变,则不能够正确地解密正在加密状态中执行的程序。在本实施例中,利用图9中的解密激活寄存器91被重启时的定时,更新用于解密处理的密钥。出于安全性考虑,流程返回到内置ROM 23,并且在步骤S51解密功能被激活。在当前状态中,用于用户控制程序的命令加密密钥被正确地设定到硬件(可写ROM 27),并得到能够解密的状态。此后,在步骤S52,程序分支到用户程序,并且能够以与执行正常程序相同的方式执行程序。当执行用户程序时,不能够正确读取由制造者创建的密钥变换程序,从而可维护每个密钥的安全性。
返回图9,对其他功能进行说明。当图9中的RSA解密结果被设定到解扰寄存器96时,加密区域指定和认证比较值94与命令加密密钥一起被设定到寄存器94、97。加密区域指定是能够指定是否对地址的每个固定单元执行加密的功能。认证比较值用于认证用户是否被授权。由图5A和5B中的每个组合D5=D6、D5=D7定义的RSA加密的数据,并且如上所述,制造者创建用于对加密设定信息进行加密的第一RSA密钥对,并在用户创建关于签名的第二RSA密钥对之后,交换与每个公钥对应的数据。通过该密钥交换,仅当经授权的用户正确创建数据时才能够执行。认证比较值被利用该信息加密,因此,可以说该信息不可能被知道,除非已知在加密控制程序时所定义的该信息。加密判断部件86一直将能够从软件写入的经授权的用户认证寄存器93和认证比较值寄存器94的认证比较值进行比较,并判断用户是否被授权。基于图11中的表格在处理中使用此信息。在模型1的情况下,解密处理未被激活并且加密程序不工作,因此不需要特别地控制。在模型2的情况下,虽然解密处理被激活,但是未检测到调试器,因此无论用户是否被授权,加密程序都进行工作。这对应于正常操作状态。模型3是这样的情况,即在模型2的情况下检测到了调试器的情况。如果调试器被连接而未对用于经授权的用户认证的寄存器设定适当的值,则解密处理立即被停止,因此不能够进行正确的执行。如在模型4的情况下,在向寄存器93设定经授权的用户代码之后,经授权的用户连接调试器。如果正确地执行了用户认证,则即使当检测到调试器时解密处理也继续。因此,能够使在解密加密命令的同时操作的存储器中的密钥解密很困难。
本实施例以能够被容易地添加到现有系统中的形式提供了一种能够确保操作的安全性的安全处理器。
本实施例可应用于这样的安全处理器,其中要输入到CPU核/从CPU核输出的数据被加密。
相关申请的交叉引用
本申请基于并要求2007年2月27日递交的在先日本专利申请No.2007-047178的优先权,该日本专利申请的全部内容通过引用被结合于此。

Claims (20)

1.一种安全处理器系统,包括:
安全处理器,具有执行指令代码的核、保存处理器密钥的加密密钥保存部件和加密处理部件,该加密处理部件利用所述处理器密钥加密或解密输入到所述核/从所述核输出的数据;以及
存储器,存储所述输入到所述核/从所述核输出的数据,
其中所述安全处理器的所述加密密钥保存部件包括:
固定寄存器,保存不能够被重写或读取的固定加密密钥;以及
只写寄存器,存储要被输入的命令加密密钥并保存所存储的命令加密密钥以使其不能够被读取,
其中所述加密密钥保存部件在所述处理器被激活时,输出在所述固定寄存器中保存的所述固定加密密钥作为所述处理器密钥,并且在所述命令加密密钥被写入所述只写寄存器之后,输出在所述只写寄存器中保存的所述命令加密密钥作为所述处理器密钥。
2.如权利要求1所述的安全处理器系统,
其中所述安全处理器还包括记录用于确定存储在所述存储器中的数据的加密状态的程序的只读存储器ROM,并根据所述加密状态的确定结果改变激活设定,并且其中所述只读存储器被连接到所述核而无需插入所述加密处理部件。
3.如权利要求1所述的安全处理器系统,
其中所述存储器存储纯文本或被加密的程序以及所述程序的标识信息。
4.如权利要求3所述的安全处理器系统,
其中所述存储器以加密的形式存储密钥变换程序,该密钥变换程序是利用所述固定加密密钥而被加密的,并且该密钥变换程序将所述命令加密密钥存储在所述只写寄存器中。
5.如权利要求4所述的安全处理器系统,
其中所述存储器以加密的形式存储所述命令加密密钥,该命令加密密钥是利用设定信息公钥而被加密的,并且
其中所述安全处理器存储用于解密被利用所述设定信息公钥加密的所述命令加密密钥的设定信息密钥,以使其不能够被从外部重写或访问。
6.如权利要求4所述的安全处理器系统,
其中所述存储器以加密的形式存储所述命令加密密钥,该命令加密密钥是利用设定信息公钥而被加密的,并且
其中所述密钥变换程序存储用于解密被利用所述设定信息公钥加密的所述命令加密密钥的设定信息私钥。
7.如权利要求6所述的安全处理器系统,
其中所述存储器以加密的形式存储在所述安全处理器中执行的处理程序,并且该处理程序是利用所述命令加密密钥而被加密的。
8.如权利要求6所述的安全处理器系统,
其中所述加密处理部件以AES加密方案执行加密和解密,并且
其中以RSA方案执行对所述命令加密密钥的加密。
9.如权利要求6所述的安全处理器系统,
其中所述存储器存储被利用签名私钥加密的电子签名,并且
其中所述密钥变换程序存储用于验证所述电子签名的签名公钥。
10.如权利要求6所述的安全处理器系统,
其中所述存储器存储被利用签名私钥加密的电子签名,
其中所述密钥变换程序存储用于验证所述电子签名的签名公钥,并且
其中所述安全处理器以加密的形式存储如下程序,该程序用于在利用所述签名公钥对所述电子签名的验证成功时,将所述命令加密密钥写入所述只写寄存器中,其中该程序是利用所述固定加密密钥而被加密的。
11.如权利要求9所述的安全处理器系统,
其中以RSA方案创建所述电子签名。
12.如权利要求9所述的安全处理器系统,
其中所述安全处理器将调试器的连接检测信号连接到加密处理部件,并且当检测到调试器时停止利用所述处理器密钥进行的解密处理。
13.如权利要求12所述的安全处理器系统,
其中所述安全处理器还包括:
寄存器,存储可以被调试器访问的用户认证代码;以及
比较部件,将所述命令加密密钥与所述用户认证代码进行比较,
其中当所述命令加密密钥与所述用户认证代码匹配时,所述安全处理器在调试器被连接时取消解密停止处理。
14.如权利要求1所述的安全处理器系统,
其中所述安全处理器的所述加密密钥保存部件包括多个固定寄存器,选择所述多个固定寄存器的一个固定寄存器,并且输出所述一个固定寄存器作为所述处理器密钥。
15.如权利要求1所述的安全处理器系统,
其中所述存储器被设置在与所述安全处理器相同的芯片内。
16.如权利要求1所述的安全处理器系统,
其中所述存储器被设置在所述安全处理器芯片的外部。
17.如权利要求1所述的安全处理器系统,
其中所述存储器具有至少在其一部分上不能够被重写的非易失性存储器。
18.一种安全处理器,包括:
核,执行命令代码;
加密密钥保存部件,保存处理器密钥;以及
加密处理部件,利用所述处理器密钥加密或解密在所述核和存储器之间输入/输出的数据,
其中所述加密密钥保存部件包括:
固定寄存器,保存不能够被重写的固定加密密钥;以及
只写寄存器,存储要被输入的命令加密密钥并保存所存储的命令加密密钥以使其不能够被读取,
其中所述加密密钥保存部件在所述处理器被激活时,输出在所述固定寄存器中保存的所述固定加密密钥作为所述处理器密钥,并且在所述命令加密密钥被写入所述只写寄存器之后,输出在所述只写寄存器中保存的所述命令加密密钥作为所述处理器密钥。
19.一种控制安全处理器系统的方法,所述安全处理器系统包括:
安全处理器,该安全处理器具有执行指令代码的核、保存处理器密钥的加密密钥保存部件、利用所述处理器密钥加密或解密输入到所述核/从所述核输出的数据的加密处理部件和存储设定信息私钥的设定信息私钥存储部件,其中所述加密密钥保存部件具有固定寄存器和只写寄存器,所述固定寄存器保存不能够从外部被重写或读取的固定加密密钥,所述只写寄存器存储要被输入的命令加密密钥并保存所存储的命令加密密钥以使其不能够被从外部读取,并且其中所述加密密钥保存部件在所述处理器被激活时,输出在所述固定寄存器中保存的所述固定加密密钥作为所述处理器密钥,并且在所述命令加密密钥被写入所述只写寄存器之后,输出在所述只写寄存器中保存的所述命令加密密钥作为所述处理器密钥;以及
存储器,存储输入到所述核/从所述核输出的数据,
所述方法包括以下步骤:
在激活时在所述加密处理部件中解密密钥变换程序,该密钥变换程序被存储在所述存储器中并且是利用所述固定加密密钥而被加密的,并且该密钥变换程序将所述命令加密密钥存储到所述只写寄存器中;
利用存储在所述设定信息私钥存储部件中的所述设定信息私钥解密存储在所述存储器中并被利用设定信息公钥加密的所述命令加密密钥,并将其存储在所述只写寄存器中;并且
进行设定以使得所述加密处理部件利用所述命令加密密钥执行加密或解密。
20.如权利要求19所述的控制安全处理器系统的方法,
其中在所述密钥变换程序被解密之后,从所述解密的密钥变换程序中提取用于解密被利用签名私钥加密的电子签名的签名公钥;
其中利用所述签名公钥解密存储在所述存储器中的所述电子签名;
其中通过将经解密的签名信息与包括经解密的命令加密密钥的加密设定信息进行比较,来执行对所述电子签名的验证;并且
其中当对所述电子签名的验证成功时,所述命令加密密钥被写入所述只写寄存器。
CN2008100010845A 2007-02-27 2008-01-18 无需制造者和用户知道彼此的加密信息的安全处理器系统 Active CN101256613B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007-047178 2007-02-27
JP2007047178A JP4912921B2 (ja) 2007-02-27 2007-02-27 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
JP2007047178 2007-02-27

Publications (2)

Publication Number Publication Date
CN101256613A CN101256613A (zh) 2008-09-03
CN101256613B true CN101256613B (zh) 2010-09-22

Family

ID=39715938

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100010845A Active CN101256613B (zh) 2007-02-27 2008-01-18 无需制造者和用户知道彼此的加密信息的安全处理器系统

Country Status (3)

Country Link
US (2) US20080205651A1 (zh)
JP (1) JP4912921B2 (zh)
CN (1) CN101256613B (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
JP5272751B2 (ja) 2009-01-26 2013-08-28 富士通セミコンダクター株式会社 プロセッサ
US8954752B2 (en) 2011-02-23 2015-02-10 International Business Machines Corporation Building and distributing secure object software
US9846789B2 (en) 2011-09-06 2017-12-19 International Business Machines Corporation Protecting application programs from malicious software or malware
US8819446B2 (en) * 2009-06-26 2014-08-26 International Business Machines Corporation Support for secure objects in a computer system
US9954875B2 (en) 2009-06-26 2018-04-24 International Business Machines Corporation Protecting from unintentional malware download
US9298894B2 (en) 2009-06-26 2016-03-29 International Business Machines Corporation Cache structure for a computer system providing support for secure objects
US8578175B2 (en) 2011-02-23 2013-11-05 International Business Machines Corporation Secure object having protected region, integrity tree, and unprotected region
CN101872297B (zh) * 2009-08-07 2013-07-24 威盛电子股份有限公司 微处理器及限制存取的方法
BRPI0924512A2 (pt) * 2009-12-22 2016-03-01 Intel Corp método e aparelho de fornecimento de execução de aplicativos seguros
GB2477774A (en) * 2010-02-12 2011-08-17 Icera Inc Overriding production processor authentication restrictions through remote security unit for development code testing
US8774407B2 (en) * 2010-08-25 2014-07-08 Cisco Technology, Inc. System and method for executing encrypted binaries in a cryptographic processor
US8904190B2 (en) * 2010-10-20 2014-12-02 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting sensitive code and data
JP5772031B2 (ja) * 2011-02-08 2015-09-02 富士通株式会社 通信装置およびセキュアモジュール
US9864853B2 (en) 2011-02-23 2018-01-09 International Business Machines Corporation Enhanced security mechanism for authentication of users of a system
CN104012030B (zh) 2011-12-21 2018-04-13 英特尔公司 用于保护对称加密密钥的系统及方法
US9152577B2 (en) * 2012-08-17 2015-10-06 Broadcom Corporation Security central processing unit management of a transcoder pipeline
JP2014048635A (ja) * 2012-09-04 2014-03-17 Hitachi Solutions Ltd ハードディスク暗号化プログラムおよびハードディスク暗号化システム
IL228523A0 (en) * 2013-09-17 2014-03-31 Nds Ltd Processing private data in a cloud-based environment
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
US20170228548A1 (en) * 2014-08-20 2017-08-10 Intel Corporation Encrypted code execution
JP6578814B2 (ja) 2015-08-20 2019-09-25 株式会社ソシオネクスト プロセッサ及びプロセッサシステム
US10142101B2 (en) 2015-09-29 2018-11-27 Intel Corporation Hardware enforced one-way cryptography
US9864879B2 (en) * 2015-10-06 2018-01-09 Micron Technology, Inc. Secure subsystem
US10721067B2 (en) * 2016-08-10 2020-07-21 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Secure processor for multi-tenant cloud workloads
US10728026B2 (en) * 2016-11-24 2020-07-28 Samsung Electronics Co., Ltd. Data management method
JP7229647B2 (ja) 2017-06-16 2023-02-28 ソニーセミコンダクタソリューションズ株式会社 信号処理装置および方法、並びにプログラム
JP6773000B2 (ja) * 2017-10-26 2020-10-21 京セラドキュメントソリューションズ株式会社 情報処理装置、改ざん検出方法
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
US11184164B2 (en) 2018-02-02 2021-11-23 Microsoft Technology Licensing, Llc Secure crypto system attributes
US10990691B2 (en) * 2018-05-11 2021-04-27 Arris Enterprises Llc Secure deferred file decryption
US10785028B2 (en) * 2018-06-29 2020-09-22 Intel Corporation Protection of keys and sensitive data from attack within microprocessor architecture
US10853273B2 (en) * 2018-08-01 2020-12-01 Micron Technology, Inc. Secure memory system programming
CN109902452A (zh) * 2018-11-01 2019-06-18 北京旷视科技有限公司 Fpga授权验证方法、装置及处理设备
CN109947479A (zh) * 2019-01-29 2019-06-28 安谋科技(中国)有限公司 指令执行方法及其处理器、介质和系统
KR20210069473A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 사용자에 대한 인증을 통해 유저 데이터에 대한 권한을 부여하는 시큐리티 프로세서 및 이를 포함하는 컴퓨팅 시스템
US11216366B2 (en) 2020-02-13 2022-01-04 Intel Corporation Security check systems and methods for memory allocations
CN111427826B (zh) * 2020-06-11 2020-11-03 杭州万高科技股份有限公司 一种总线连接调整的异构多核处理器
US11595189B2 (en) 2020-10-27 2023-02-28 Microsoft Technology Licensing, Llc Secure key exchange using key-associated attributes
US11558190B2 (en) * 2020-12-07 2023-01-17 International Business Machines Corporation Using keys for selectively preventing execution of commands on a device
US11570010B2 (en) * 2020-12-26 2023-01-31 Intel Corporation ISA accessible physical unclonable function
US11706039B2 (en) * 2020-12-26 2023-07-18 Intel Corporation ISA accessible physical unclonable function
US11700135B2 (en) * 2020-12-26 2023-07-11 Intel Corporation ISA accessible physical unclonable function
US11972126B2 (en) 2021-03-26 2024-04-30 Intel Corporation Data relocation for inline metadata
US11954045B2 (en) 2021-09-24 2024-04-09 Intel Corporation Object and cacheline granularity cryptographic memory integrity
CN114996725B (zh) * 2022-05-06 2023-07-28 北京中科昊芯科技有限公司 一种保护开发程序的方法以及处理器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423766A (zh) * 2000-02-17 2003-06-11 通用仪器公司 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置
CN1465002A (zh) * 2001-07-10 2003-12-31 迈克纳斯公司 处理器中带数据安全的存储器设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817140A (en) * 1986-11-05 1989-03-28 International Business Machines Corp. Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US6385723B1 (en) * 1997-05-15 2002-05-07 Mondex International Limited Key transformation unit for an IC card
JPH11282667A (ja) * 1998-03-31 1999-10-15 Nakamichi Corp 多重鍵方式の暗号処理機能を有するマイクロプロセッサ
JP2001223687A (ja) * 2000-02-08 2001-08-17 Toshiba Corp 秘匿データ処理装置と方法及びそのic装置
JP2002353960A (ja) * 2001-05-30 2002-12-06 Fujitsu Ltd コード実行装置およびコード配布方法
US20040078584A1 (en) * 2002-08-23 2004-04-22 General Instrument Corp. Interchip transport bus copy protection
US7373509B2 (en) * 2003-12-31 2008-05-13 Intel Corporation Multi-authentication for a computing device connecting to a network
JP2005227995A (ja) * 2004-02-12 2005-08-25 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
JP2008530663A (ja) * 2005-02-11 2008-08-07 ユニバーサル データ プロテクション コーポレーション マイクロプロセッサのデータセキュリティの方法およびシステム
US7161402B1 (en) * 2005-05-13 2007-01-09 Sun Microsystems, Inc. Programmable delay locked loop
US20070094507A1 (en) * 2005-10-21 2007-04-26 Rush Frederick A Method and system for securing a wireless communication apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1423766A (zh) * 2000-02-17 2003-06-11 通用仪器公司 提供安全控制软件或固件代码下载和接收下载代码的计算装置的安全操作的方法和装置
CN1465002A (zh) * 2001-07-10 2003-12-31 迈克纳斯公司 处理器中带数据安全的存储器设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JP特开2006-18528A 2006.01.19

Also Published As

Publication number Publication date
US20150186679A1 (en) 2015-07-02
US20080205651A1 (en) 2008-08-28
JP4912921B2 (ja) 2012-04-11
CN101256613A (zh) 2008-09-03
JP2008210225A (ja) 2008-09-11

Similar Documents

Publication Publication Date Title
CN101256613B (zh) 无需制造者和用户知道彼此的加密信息的安全处理器系统
CN111095213B (zh) 嵌入式程序的安全引导方法、装置、设备及存储介质
CN103701812B (zh) 一种终端主密钥tmk安全下载方法及系统
US5214698A (en) Method and apparatus for validating entry of cryptographic keys
CN100421046C (zh) 安全运行特许软件的方法和计算装置
CN1914849B (zh) 受信移动平台体系结构
CN102737202B (zh) 利用迭代加密/解密密钥更新的指令加密/解密设备和方法
CN101419652B (zh) 一种软硬件结合的保护程序的方法
EP3780484B1 (en) Cryptographic operation and working key creation method and cryptographic service platform and device
US8843766B2 (en) Method and system for protecting against access to a machine code of a device
CN109768862B (zh) 一种密钥管理方法、密钥调用方法及密码机
CN106295257A (zh) 一种被加固软件的认证方法及装置
CN102163267A (zh) 固态硬盘安全访问控制方法、装置和固态硬盘
CN101770559A (zh) 数据保护装置和方法
US20100077230A1 (en) Protecting a programmable memory against unauthorized modification
JP2564593B2 (ja) プログラムを機密保護し且つ機密保護されたプログラムを保全制御する方法
US8413906B2 (en) Countermeasures to secure smart cards
CN101175268A (zh) 控制通信终端芯片操作权限的方法及装置
JP2001338271A (ja) Icカード及びicカード利用システム
KR101656092B1 (ko) 비동기적인 인증을 갖는 보안 컴퓨팅 시스템
CN103378966A (zh) 安全动态片上密钥编程
CZ307787B6 (cs) Způsob vytváření autorizovaného elektronického podpisu oprávněné osoby a zařízení k provádění tohoto způsobu
KR101070580B1 (ko) Ic 칩 및 이것을 탑재한 정보 처리 장치
JP5483838B2 (ja) データ処理装置
CN114816549B (zh) 一种保护bootloader及其环境变量的方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: FUJITSU MICROELECTRONICS CO., LTD.

Free format text: FORMER OWNER: FUJITSU LIMITED

Effective date: 20081024

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20081024

Address after: Tokyo, Japan, Japan

Applicant after: Fujitsu Microelectronics Ltd.

Address before: Kanagawa

Applicant before: Fujitsu Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SUOSI FUTURE CO., LTD.

Free format text: FORMER OWNER: FUJITSU SEMICONDUCTOR CO., LTD.

Effective date: 20150519

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150519

Address after: Kanagawa

Patentee after: Co., Ltd. Suo Si future

Address before: Kanagawa

Patentee before: Fujitsu Semiconductor Co., Ltd.