CN1648881A - 加密装置、加密系统、解密装置和半导体系统 - Google Patents
加密装置、加密系统、解密装置和半导体系统 Download PDFInfo
- Publication number
- CN1648881A CN1648881A CN200510006721.4A CN200510006721A CN1648881A CN 1648881 A CN1648881 A CN 1648881A CN 200510006721 A CN200510006721 A CN 200510006721A CN 1648881 A CN1648881 A CN 1648881A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- code
- pseudoinstruction
- instruction code
- correction data
- 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.)
- Granted
Links
Images
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种加密装置、加密系统、解密装置和半导体系统,以比较简单的结构可靠地防止被存储于外部存储装置中的机密信息的泄漏,并提高安全级别。数据/代码转换机构(5),输入机密信息(5001),转换为使得进行半导体装置(1)所具有的CPU(14)的操作的指令代码,并作为伪指令代码(22)存储在外部存储装置(2)中。没有对应的指令代码的机密信息被转换为其他指令代码并进行存储,并且,将该指令代码还原为机密信息用的校正数据(23)也被存储在外部存储装置(2)中。在半导体装置(1)中具有输入被存储在上述外部存储装置(2)中的伪指令代码(22)和校正数据(23)并解密为机密信息的解密电路(12)。
Description
技术领域
本发明涉及一种在具有通用微控制器等的半导体装置、存储使该半导体装置动作的指令代码和数据的外部存储装置的半导体系统中,将机密信息存储到外部存储装置时,对该机密信息进行保护的加密装置和解密装置。
背景技术
以往,在由半导体装置和被配置在上述半导体装置的外部的存储装置构成的半导体系统中,将机密信息存储到上述外部存储装置时,例如,如专利文献1(日本专利申请公开特开平11-191079号公报)所述,将对上述机密信息进行了加密的密码存储到上述外部存储装置,并且,在上述半导体装置的内部对上述密码进行解密,由此,防止机密信息的泄漏。
发明内容
但是,在上述现有的机密信息的保护结构中,具有对密码进行解密所需的上述半导体装置的硬件和软件资源与加密方式的复杂程度成比例地增加的趋势。另外,存在下述缺点,即:在每次变更所采用的加密方式时,必须进行大规模的硬件及软件设计等。
本发明的目的在于提供一种能够以比较简单的电路结构来防止机密信息的泄漏的加密装置、解密装置等。
为实现以上目的,在本发明中,机密信息不是作为数据而是作为半导体装置用的伪指令代码而嵌入的。
即,具体来讲,技术方案1提供一种加密装置,在具有半导体装置和外部存储装置的半导体系统中对机密信息进行加密,其中,所述外部存储装置存储用于控制上述半导体装置的指令代码、数据和成为防止信息泄漏的对象的上述机密信息,该加密装置的特征在于:具有代码转换机构,将上述机密信息转换为上述指令代码,并作为伪指令代码存储在上述外部存储装置中。
技术方案2的发明为,在技术方案1的加密装置中,上述代码转换机构具有转换电路,在没有对应于上述机密信息的指令代码时,将该机密信息转换为其他的指令代码并生成伪指令代码,并且,生成用于从该伪指令代码还原上述机密信息的校正数据。
技术方案3的发明为,在技术方案2的加密装置中,上述代码转换机构具有最终数据/代码生成机构,输入上述伪指令代码、上述校正数据、上述指令代码和上述数据,在上述指令代码中嵌入上述伪指令代码,并且,在上述数据中嵌入上述校正数据,生成要存储在上述外部存储装置中的最终指令代码和最终数据。
技术方案4的发明为,在技术方案3的加密装置中,上述最终数据/代码生成机构,具有:多个转换表,将上述校正数据转换为最终校正数据;以及校正数据转换电路,使用上述多个转换表中的一个,将上述校正数据转换为最终校正数据。
技术方案5的发明为,在技术方案4的加密装置中,上述最终数据/代码生成机构具有最终数据生成电路,输入来自上述校正数据转换电路的最终校正数据和上述数据,在该数据内配置最终校正数据并作为上述最终数据输出,并且,输出在上述数据内配置了上述最终校正数据的校正数据配置地址。
技术方案6的发明为,在技术方案5的加密装置中,上述最终数据/代码生成机构,具有:校正数据读取指令生成电路,输入来自上述最终数据生成电路的校正数据配置地址,并生成用于读取配置在上述数据内的最终校正数据的校正数据读取指令;以及最终指令代码生成电路,输入上述伪指令代码、上述指令代码和上述校正数据读取指令生成电路的校正数据读取指令,并生成配置了这3个指令代码的上述最终指令代码。
技术方案7的发明为,在技术方案6的加密装置中,上述最终指令代码生成电路,在存储上述最终指令代码的上述外部存储装置的预定地址范围内的事先确定了的预定范围内,配置上述校正数据读取指令和伪指令代码。
技术方8的发明为,在技术方案6的加密装置中,上述最终指令代码生成电路,将上述校正数据读取指令和上述伪指令代码存储在上述外部存储装置中,使得上述校正数据读取指令和上述伪指令代码被插入到两个特定的指令代码之间。
技术方案9的发明为,在技术方案6的加密装置中,上述最终指令代码生成电路,将上述校正数据读取指令和上述伪指令代码存储在上述外部存储装置中,使得上述校正数据读取指令和上述伪指令代码被插入到多个相同的特定的指令代码中的第n(n是整数)个指令代码和第n+1个指令代码之间。
技术方案10提供一种加密系统,其特征在于:包括:上述权利要求1所述的加密装置;开发用工具,对上述半导体装置进行评价分析;以及信息处理终端,用于确认上述开发用工具对上述半导体装置的评价分析结果,其中,上述信息处理终端,进行预定的认证,当该认证被拒绝时,使上述半导体装置执行基于上述伪指令代码的指令。
技术方案11提供一种解密装置,该半导体系统具有半导体装置和外部存储装置,该外部存储装置存储了用于控制上述半导体装置的指令代码和数据、对成为防止信息泄漏的对象的机密信息进行了加密的伪指令代码,该解密装置的特征在于:从上述外存储装置读出上述伪指令代码并将其解密为上述机密信息。
技术方案12提供一种半导体系统,包括:半导体装置;外部存储装置,存储了用于控制上述半导体装置的指令代码和数据、对成为防止信息泄漏的对象的机密信息进行了加密的伪指令代码;以及解密装置,被设置在上述半导体装置中,从上述外部存储装置读出上述伪指令代码并将其解密为上述机密信息。
技术方案13的发明为,在技术方案11的解密装置或技术方案12的半导体系统中,没有对应的指令代码的机密信息被转换为其他指令代码并作为伪指令代码被存储在上述外部存储装置中,并且,用于从该伪指令代码还原为上述机密信息的校正数据和用于读出该校正数据的校正数据读取指令也被存储在上述外部存储装置中。
技术方案14的发明为,在技术方案13的解密装置或半导体系统中,上述解密装置,具有:解密电路,输入被存储在上述外部存储装置中的上述伪指令代码和校正数据,将该伪指令代码和校正数据解密为上述机密信息;以及指令控制机构,控制上述解密电路的解密。
技术方案15的发明为,在技术方案14的解密装置或半导体系统中,在上述外部存储装置中,上述伪指令代码和上述校正数据读取指令被存储在预定的地址范围内。
技术方案16的发明为,在技术方案14的解密装置或半导体系统中,上述伪指令代码和上述校正数据读取指令被存储在上述外部存储装置中,使得上述伪指令代码和上述校正数据读取指令被插入到特定的第1和第2指令代码之间。
技术方案17的发明为,在技术方案14的解密装置或半导体系统中,上述伪指令代码和上述校正数据读取指令被存储在上述外部存储装置中,使得上述伪指令代码和上述校正数据读取指令被插入到多个相同的特定的指令代码中的第n(n是整数)个指令代码和第n+1个指令代码之间。
技术方案18的发明为,在技术方案15的解密装置或半导体系统中,上述指令控制机构包括:上限地址寄存器和下限地址寄存器,指定存储上述伪指令代码和上述校正数据读取指令的上述外部存储装置的预定的地址范围;地址比较电路,比较被输入到上述外部存储装置的地址和上述上限及下限地址寄存器的上限及下限地址,当该输入的地址在上述预定的地址范围内时,生成校正数据写入信号并输出到上述解密电路,并且,在预定时间之后生成解密信号并输出;以及指令代码输出电路,输入上述地址比较电路的解密信号,将上述外部存储装置的伪指令代码、伪指令写入信号输出到上述解密电路,并且,对上述半导体装置输出无操作指令代码。
技术方案19的发明为,在技术方案16的解密装置或半导体系统中,上述指令控制机构包括:指令代码判断电路,输入从上述外部存储装置读出的指令代码,当判断该指令代码是上述第1特定指令代码时,生成校正数据写入信号并输出到上述解密电路,并且,在预定时间之后生成解密信号;当判断上述输入的指令代码是上述第2特定指令代码时,停止上述解密信号的输出;以及指令代码输出电路,输入上述指令代码判断电路的解密信号,在该输入过程中,将上述外部存储装置的伪指令代码和伪指令写入信号输出到上述解密电路,并且,对上述半导体装置输出无操作指令代码。
技术方案20的发明为,在技术方案17的解密装置或半导体系统中,上述指令控制机构包括:指令代码判断电路,输入从上述外部存储装置读出的指令代码,比较该指令代码的出现次数和预定次数,当出现次数和上述预定次数一致时,生成校正数据写入信号并输出到上述解密电路,并且,在预定时间之后生成解密信号;当上述出现次数和上述预定次数不一致时,停止上述解密信号的输出;以及指令代码输出电路,输入上述指令代码判断电路的解密信号,在该输入过程中,将上述外部存储装置的伪指令代码和伪指令写入信号输出到上述解密电路,并且,对上述半导体装置输出无操作指令代码。
技术方案21的发明为,在技术方案19或20的解密装置或半导体系统中,上述解密装置包括用于生成中断信号并输出的中断控制机构;上述指令控制机构的指令代码输出电路,输入上述中断控制机构的中断信号,在该输入过程中,停止对上述解密电路的伪指令代码和伪指令写入信号的输出,并且,将从上述外部存储装置读出的指令代码输出到上述半导体装置。
按照上述,在技术方案1~21所述的发明中,在由半导体装置和外部存储装置构成的半导体系统中,将存储在上述外部存储装置中的机密信息不是作为数据,而是转换为上述半导体装置用的伪指令代码存储。因此,即使有恶意的第三者分析了被存储在上述外部存储装置中的数据,也不能识别已转换为指令代码的机密信息和原本的指令代码,所以能够进行良好的机密信息保护。
如上所述,根据权利要求1~21所述的发明,在由半导体装置和外部存储装置构成的半导体系统中,将存储在上述外部存储装置的机密信息不是作为数据而是转换为上述半导体装置用的伪指令代码进行存储,所以能够提高机密信息的保护。
附图说明
图1是表示本发明实施方式中的具有加密装置和解密装置的半导体系统的整体概略结构的图。
图2是表示在图1的半导体系统中所具有的数据/代码转换机构的内部结构的框图。
图3是表示图2的数据/代码转换电路的操作的流程图。
图4是表示在图2的数据/代码转换电路中所具有的最终数据/代码生成机构的内部结构的框图。
图5是表示在图4的最终数据/代码生成机构中所具有的校正数据转换电路的操作的流程图。
图6是说明在图1所示的半导体系统中所具有的外部存储装置的伪指令代码和校正数据的存储情况的图。
图7是说明图6的外部存储装置的伪指令代码和校正数据的另一存储情况的图。
图8是说明图6的外部存储装置的伪指令代码和校正数据的另一存储情况的图。
图9是表示在图1所示的半导体系统中所具有的半导体装置内的指令控制机构的内部结构的框图。
图10是表示图9的指令控制机构的另一内部结构的框图。
图11是表示图9的指令控制机构的另一内部结构的框图。
具体实施方式
下面,用附图说明本发明的实施方式。
图1为表示作为本发明的实施方式的加密系统和半导体系统的整体结构的框图。
在图1中,1为半导体装置,3为片上调试器等开发用工具。这里,开发用工具3为了开发半导体装置1的软件而具有追踪半导体装置1内部的硬件资源的功能,该追踪结果等能够由与开发用工具3连接的信息处理终端4确认。上述信息处理终端4是具有键盘和监视器等的数据输入输出功能的装置,使用个人计算机等。
另外,5是数据/代码转换机构(代码转换单元),输入成为防止信息泄露的对象的机密信息5001、控制半导体装置1的指令代码5002、以及在半导体装置1中使用的数据5003,构成加密装置W。该数据/代码转换机构5输出最终指令代码2001和最终数据2002。上述最终指令代码2001和最终数据2002被写入外部存储装置。图1所示的开发用工具3、信息处理终端4、以及数据/代码转换机构5在系统开发时使用。由上述数据/代码转换机构5、开发用工具3、信息处理终端4构成加密系统Y。
在上述外部存储装置2内,指令代码20表示上述最终指令代码2001,数据21表示上述最终数据2002。关于存在于指令代码20内的伪指令代码22和存在于数据21内的校正数据23,在后面加以说明。
由上述半导体装置1和外部存储装置2构成半导体系统X,该半导体装置内的CPU14输出地址102,从外部存储装置2读取出指令代码103和数据104,将它们分别存储在指令队列15和数据缓冲区16中。另外,上述CPU14基于存储在指令队列15中的指令代码进行必要的处理。指令控制机构10具有控制对CPU14和解密电路12的指令代码103和数据104的输出的功能,在后面将详细说明。中断控制机构13有下述功能:对上述指令控制机构10输出中断信号1302,进行对CPU14的中断请求。由配置在上述半导体装置1内的指令控制机构10、解密电路12和中断控制机构13构成解密装置Z。
图2表示上述数据/代码转换机构5的结构图。在该图中,从外部输入的机密信息5001存储在数据/代码转换机构5内的机密信息缓冲区51中。数据/代码转换程序52是装载了将机密信息5001转换为伪指令代码5301的运算法则的程序,数据/代码转换电路(转换电路)53使用上述缓冲区51内的机密信息和数据/代码转换程序52,生成伪指令代码5301。另外,该数据/代码转换电路53在难以将机密信息5001转换为伪指令代码5301的情况下,通过校正机密信息5001,生成伪指令代码5301,并且作为校正数据5302生成上述校正信息。这里,所谓的难以将机密信息5001转换为伪指令代码5301的情况,被假定为机密信息码是在半导体装置1中不存在的指令代码的情况。生成的伪指令代码5301存储在伪指令代码缓冲区54中,校正数据5302存储在校正数据缓冲区55中。
下面,用图3说明上述数据/代码转换电路53的操作。在该图中,示出了从输入机密信息5001到生成伪指令代码5301和校正数据5302的流程图。这里,输入到数据/代码转换装置5的机密信息501用二进制数表示为“0100_1100”。另外,半导体装置1的指令代码由4位操作码和4位操作数构成,数据/代码转换电路53分别将机密信息5001的前4位分配给上述操作码,后4位分配给上述操作数。另外,在上述操作码中,“0100”与半导体装置1的数据传送指令一致,在上述数据传送指令中禁止操作数变为“1100”。
在图3中,S00~S07表示状态,起动时,处于等待输入机密信息5001的状态S00的状态。机密信息5001输入后,从状态S00转移到状态S01,使用数据/代码转换程序52确认机密信息5001的前4位是否与已有指令代码一致。这里,因为“0100”与半导体装置1的数据传送指令一致,所以转移到状态S02。另一方面,在不一致时,从状态S01转移到状态S03,将机密信息5001的前4位变更为适当的其他指令代码的数值。上述4位的变更一结束,就从状态S03转移到状态S06,在将上述变更内容作为校正数据5302输出之后,从状态S06转移到状态S02。由此,确定伪指令代码5301的操作码。
接着,在状态S02,进行作为机密信息5001的后4位的“1100”作为指令代码的操作数是否合适的确认。这里,禁止将“1100”配置给上述数据传送指令的操作数,所以,从状态S02转移到状态S04,变更为适当的操作数。此后,从状态S04转移到状态S06,将上述变更内容作为校正数据5302输出,并且从状态S06转移到状态S05。另外,在上述状态S02中机密信息的后4位作为操作数合适时,从状态S02转移到状态S05。在状态S05,将得到的操作数存储在伪指令代码缓冲区54中。由此,确定伪指令代码5 301的操作数。
然后,在上述状态S05,判断输入的机密信息码5001是否是最终的,如果是最终的,则从状态S05转移到状态S07,结束转换操作,如果不是最终的,则从状态S05转移到状态S00,进入下一个机密信息5001的输入等待状态。这样生成的伪指令代码5301和校正数据5302分别存储在伪指令代码缓冲区54和校正数据缓冲区55中。以上是数据/代码转换电路53的操作说明。
下面,说明图2所示的最终数据代码生成机构56。在该图中,伪指令代码块5401和校正数据块5501是分别集合了在上述数据/代码转换电路53中生成的伪指令代码5301和校正数据5302的块数据。最终数据代码生成机构56输入上述两个块数据5401、5501和指令代码5002以及数据5003,输出最终指令代码2001和最终数据2002。这里,在详细说明最终数据代码生成机构56的内部结构之前,用图6、图7和图8说明上述最终指令代码2001和最终数据2002在外部存储装置2内的存储结构。
图6、图7和图8表示存储在外部存储装置2中的存储结构。在图6中,在预先指定的地址中存储校正数据读取指令、伪指令代码、及校正数据,半导体装置1按照上述地址进行伪指令代码和校正数据的读取。这里,校正数据读取指令是将校正数据23读取到半导体装置1中的指令,关于其生成方法将在以后说明。
在图7中,通过用第1特定指令代码A和第2特定指令代码B夹着伪指令代码,向半导体装置1明确指出伪指令代码的配置位置。这里,将指令代码A和指令代码B作为特定的指令代码表示,但因为该指令代码A和指令代码B为用于指定伪指令代码的范围的标识符,所以不可在这两处以外使用。
在图8中,是根据特定的指令代码的出现次数识别伪指令代码的。这里,特定的指令代码A共计在5处出现,在第2次和第3次之间嵌入伪指令代码,并且将这样嵌入的信息嵌入到校正数据23中,由此向半导体装置1明确指出伪指令代码的配置位置。以下,用图4说明最终数据/代码生成机构56的内部结构。
在图4中,校正数据转换电路57是通过按照转换表58对校正数据块5501进行数据转换来提高安全级别的电路。在该图中,上述转换表58由用户A、B、C用的三个转换表58a、58b、58c构成。
图5表示上述校正数据转换电路57的控制流程,表示当使用该控制流程,用户A和用户B将同样的校正数据块5501输入到校正数据转换电路57时,生成的最终校正数据块5601的结果不同。在图5中,将校正数据块5501用二进制数表示为9位的“011_010_101”,校正数据转换电路57按照转换表58按每3位进行数据转换。在图4的转换表58中,将用户代码“000”分配给上述用户A,使之与转换表58a对应,将用户代码“001”分配给上述用户B,使之与转换表58b对应。首先,进行用户A的代码转换。
校正数据块5501的最前面的3位“011”因为与代码号“01”、“10”、“11”中的每一个都不匹配,所以生成附加了表示不匹配的“00”码和上述3位“011”的“00011”,并转移到步骤S14。此时,因为留有剩余6位,所以从步骤S14转移到步骤S10,进行和上次一样的代码转换。具体来讲,因为下一个3位“010”与代码号“10”的“010”匹配,所以转移到步骤S12,生成“10”,之后转移到步骤S14。最后的3位“101”,因为与代码号“01”、“10”、“11”中的每一个都不匹配,所以生成附加了表示不匹配的“00”码和上述3位“101”的“00101”,转移到步骤S14。在该阶段转换结束,从步骤S14转移到步骤S15,结束转换操作。
由此,对于上述用户A,将校正数据块5501的数据“011_010_101”转换为最终校正数据块5601的数据“00011_10_00101”。同样,对于用户B也进行转换处理,将校正数据块5501的数据“011_010_101”转换为最终校正数据块5601的数据“01_10_00101”。
这样,对每个用户将校正数据块5501的数据“011_010_101”转换为可变长度的固有代码,由此能提高安全级别。
这样生成的最终校正数据块5601与数据5003一起输入到图4所示的最终数据生成电路59中,生成最终数据2002。另外,从最终数据生成电路59输出作为最终校正数据块的配置地址信息的校正数据配置地址5901。在图4的校正数据读取指令生成电路60中,根据上述校正数据配置地址5901,生成读取校正数据23的指令6001。最终指令代码生成电路61输入上述校正数据读取指令6001、指令代码5002、以及伪指令代码块5401,生成最终指令代码2001。由此生成的最终指令代码2001和最终数据2002存储在图1所示的外部存储装置2中。
接下来,说明图1所示的半导体装置1内的内部结构。在该图中,半导体装置1内的指令控制机构10对CPU14和解密电路12输出从外部存储装置2读取的指令代码20(103)。下面,用图9、图10和图11说明指令控制机构10的结构。另外,图9、图10和图11的构成前提是将上述图6、图7和图8所示的各存储结构存储在外部存储装置2中。
图9是读取如图6所示那样配置的指令代码时的指令控制机构10的结构图。该图的下限地址寄存器70的下限地址在图6中为6000地址,上限地址寄存器71的上限地址为60FF地址。在图9中,地址比较电路72对由CPU14输入的地址102和上述下限地址及上限地址进行比较,若下限地址≤地址102≤上限地址的条件成立,则首先断言(assert)校正数据写入信号1005,并输出到解密电路12,然后将外部存储装置2中的校正数据23(104)读取到解密电路12。当校正数据23的读取在预定时间之后结束时,地址比较电路72断言解密信号7201。指令代码输出电路73在上述解密信号7201被断言的情况下,将无操作指令(NOP指令)作为CPU指令代码1002发给CPU14,另一方面,将指令代码1003输出到伪指令代码1003,并且将伪指令写入信号1004输出到解密电路12。由此,只对解密电路12输入来自外部存储装置2的伪指令代码,并且,此时,没有给CPU14内部的硬件资源带来变化。
图10是读取如图7那样配置的指令代码时的指令控制机构10的结构图。在图7中,指令代码103是第1特定指令代码A时,图10的指令代码判断电路74,首先断言校正数据写入信号1005,并输出到解密电路12,然后将校正数据23(104)读取到解密电路12。当上述校正数据23的读取在预定时间之后结束时,指令代码判断电路74断言解密信号7401,输出到解密电路12,若指令代码103变成第2特定指令代码B则使上述解密信号7401无效。指令代码输出电路75在上述解密信号7401被断言的情况下,将无操作指令(NOP指令)作为CPU指令代码1002发给CPU14,另一方面,将指令代码103输出到伪指令代码1003,并且将伪指令写入信号1004输出到解密电路12。由此,解密电路12中只输入伪指令代码22,并且,此时,没有给CPU14内部的硬件资源带来变化。另外,在来自图1中的中断控制机构13的中断信号1302被断言期间,指令代码输出电路75将指令代码103作为CPU指令代码1002输出给CPU14,另一方面,对解密电路12停止伪指令代码1003和伪指令写入信号1004的输出。
图11是读取像图8那样配置的指令代码时的指令控制机构10的结构图。图11所示的指令代码判断电路76对从指令代码103输入的特定指令代码A的出现次数进行计数,将该出现次数计数值和定义伪指令代码的出现次数的计数设定值7602进行比较,计数值一致时,首先断言校正数据写入信号1005,并输出到解密电路12,然后将校正数据23(104)读取到解密电路12。而且,当上述校正数据23的读取在预定时间之后结束时,指令代码判断电路76断言解密信号7601,若上述特定指令代码A的出现次数与上述计数值不一致,则使上述解密信号7601无效。
这里,上述计数设定值7602是配置在半导体装置1内部或外部存储装置2中的数据。指令代码输出电路77,在上述解密信号7601被断言的情况下,将无操作指令(NOP指令)作为CPU指令代码1002发给CPU,另一方面,将指令代码103输出到伪指令代码1003,并且将伪指令写入信号1004输出到解密电路12。由此,只将伪指令代码22输入到解密电路12,并且,此时,没有给CPU14内部的硬件资源带来变化。另外,在来自图1所示的中断控制单元13的中断信号1302被断言期间,将指令代码103作为CPU指令代码1002输出给CPU14,另一方面,对解密电路12停止伪指令代码1003和伪指令写入信号1004的输出。
最后,说明图1所示的开发用工具3和信息处理终端4。一般来讲,在具有片上调试器等的半导体装置1中,能由信息处理终端4确认半导体装置1的内部状态,此时尽管在执行伪指令代码,但是因为CPU14内部的状态不变,所以,易于成为分析的对象。这里,在图1中,由用户代码4001进行认证,在其认证正常结束时,CPU14在伪指令代码的执行中停止,但在认证被拒绝时,CPU14将伪指令作为指令执行。通过这样构成,能防止来自有恶意的第三者的对机密信息的分析。
如上述说明的那样,在由半导体装置和外部存储装置构成的半导体系统中,因为不是将存储在上述外部存储装置中的机密信息作为数据,而是转换为上述半导体装置用的伪指令代码并存储,所以,本发明作为保护机密信息的加密装置、解密装置、以及包含该解密装置的半导体系统等是有用的。
Claims (21)
1.一种加密装置,在具有半导体装置和外部存储装置的半导体系统(X)中对机密信息进行加密,其中,上述外部存储装置(1)存储用于控制上述半导体装置的指令代码、数据和成为防止信息泄漏的对象的上述机密信息,该加密装置(W)的特征在于:
具有代码转换机构(5),将上述机密信息转换为上述指令代码,并作为伪指令代码存储在上述外部存储装置中。
2.根据权利要求1所述的加密装置,其特征在于:
上述代码转换机构具有转换电路(53),在没有对应于上述机密信息的指令代码时,将该机密信息转换为其他的指令代码并生成伪指令代码,并且,生成用于从该伪指令代码还原上述机密信息的校正数据。
3.根据权利要求2所述的加密装置,其特征在于:
上述代码转换机构具有最终数据/代码生成机构(56),输入上述伪指令代码、上述校正数据、上述指令代码和上述数据,在上述指令代码中嵌入上述伪指令代码,并且,在上述数据中嵌入上述校正数据,生成要存储在上述外部存储装置中的最终指令代码和最终数据。
4.根据权利要求3所述的加密装置,其特征在于:
上述最终数据/代码生成机构,具有:多个转换表(58a~58c),将上述校正数据转换为最终校正数据;以及校正数据转换电路(57),使用上述多个转换表中的一个,将上述校正数据转换为最终校正数据。
5.根据权利要求4所述的加密装置,其特征在于:
上述最终数据/代码生成机构具有最终数据生成电路(59),输入来自上述校正数据转换电路的最终校正数据和上述数据,在该数据内配置最终校正数据并作为上述最终数据输出,并且,输出在上述数据内配置了上述最终校正数据的校正数据配置地址(5901)。
6.根据权利要求5所述的加密装置,其特征在于:
上述最终数据/代码生成机构,具有:校正数据读取指令生成电路(60),输入来自上述最终数据生成电路的校正数据配置地址,并生成用于读取配置在上述数据内的最终校正数据的校正数据读取指令(6001);以及最终指令代码生成电路(61),输入上述伪指令代码、上述指令代码和上述校正数据读取指令生成电路的校正数据读取指令,并生成配置了这3个指令代码的上述最终指令代码。
7.根据权利要求6所述的加密装置,其特征在于:
上述最终指令代码生成电路,在存储上述最终指令代码的上述外部存储装置的预定地址范围内的事先确定了的预定范围内,配置上述校正数据读取指令和伪指令代码。
8.根据权利要求6所述的加密装置,其特征在于:
上述最终指令代码生成电路,将上述校正数据读取指令和上述伪指令代码存储在上述外部存储装置中,使得上述校正数据读取指令和上述伪指令代码被插入到两个特定的指令代码(A、B)之间。
9.根据权利要求6所述的加密装置,其特征在于:
上述最终指令代码生成电路,将上述校正数据读取指令和上述伪指令代码存储在上述外部存储装置中,使得上述校正数据读取指令和上述伪指令代码被插入到多个相同的特定的指令代码(A)中的第n个指令代码和第n+1个指令代码之间,其中n是整数。
10.一种加密系统(Y),其特征在于,
包括:上述权利要求1所述的加密装置(W);开发用工具(3),对上述半导体装置进行评价分析;以及信息处理终端(4),用于确认上述开发用工具对上述半导体装置的评价分析结果,
其中,上述信息处理终端,进行预定的认证,当该认证被拒绝时,使上述半导体装置执行基于上述伪指令代码的指令。
11.一种半导体系统的解密装置,该半导体系统具有半导体装置和外部存储装置,该外部存储装置存储了用于控制上述半导体装置的指令代码和数据、对成为防止信息泄漏的对象的机密信息进行了加密的伪指令代码,该解密装置(Z)的特征在于:
从上述外存储装置读出上述伪指令代码并将其解密为上述机密信息。
12.一种半导体系统,其特征在于,包括:
半导体装置;
外部存储装置,存储了用于控制上述半导体装置的指令代码和数据、对成为防止信息泄漏的对象的机密信息进行了加密的伪指令代码;以及
解密装置(Z),被设置在上述半导体装置中,从上述外部存储装置读出上述伪指令代码并将其解密为上述机密信息。
13.根据权利要求11所述的解密装置或权利要求12所述的半导体系统,其特征在于:
没有对应的指令代码的机密信息被转换为其他指令代码并作为伪指令代码(22)被存储在上述外部存储装置中,并且,用于从该伪指令代码还原为上述机密信息的校正数据(23)和用于读出该校正数据的校正数据读取指令(6001)也被存储在上述外部存储装置中。
14.根据权利要求13所述的解密装置或半导体系统,其特征在于:
上述解密装置,具有:解密电路(12),输入被存储在上述外部存储装置中的上述伪指令代码和校正数据,将该伪指令代码和校正数据解密为上述机密信息;以及
指令控制机构(10),控制上述解密电路的解密。
15.根据权利要求14所述的解密装置或半导体系统,其特征在于:
在上述外部存储装置中,上述伪指令代码和上述校正数据读取指令被存储在预定的地址范围内。
16.根据权利要求14所述的解密装置或半导体系统,其特征在于:
上述伪指令代码和上述校正数据读取指令被存储在上述外部存储装置中,使得上述伪指令代码和上述校正数据读取指令被插入到特定的第1和第2指令代码(A、B)之间。
17.根据上述权利要求14所述的解密装置或半导体系统,其特征在于:
上述伪指令代码和上述校正数据读取指令被存储在上述外部存储装置中,使得上述伪指令代码和上述校正数据读取指令被插入到多个相同的特定的指令代码中的第n个指令代码和第n+1个指令代码之间,其中n是整数。
18.根据权利要求15所述的解密装置或半导体系统,其特征在于,上述指令控制机构包括:
上限地址寄存器(71)和下限地址寄存器(70),指定存储上述伪指令代码和上述校正数据读取指令的上述外部存储装置的预定的地址范围;
地址比较电路(72),比较被输入到上述外部存储装置的地址和上述上限及下限地址寄存器的上限及下限地址,当该输入的地址在上述预定的地址范围内时,生成校正数据写入信号(1005)并输出到上述解密电路,并且,在预定时间之后生成解密信号(7201)并输出;以及
指令代码输出电路(73),输入上述地址比较电路的解密信号,将上述外部存储装置的伪指令代码、伪指令写入信号输出到上述解密电路,并且,对上述半导体装置输出无操作指令代码。
19.根据权利要求16所述的解密装置或半导体系统,其特征在于,上述指令控制机构包括:
指令代码判断电路(74),输入从上述外部存储装置读出的指令代码,当判断该指令代码是上述第1特定指令代码时,生成校正数据写入信号(1005)并输出到上述解密电路,并且,在预定时间之后生成解密信号(7401);当判断上述输入的指令代码是上述第2特定指令代码时,停止上述解密信号的输出;以及
指令代码输出电路(75),输入上述指令代码判断电路的解密信号,在该输入过程中,将上述外部存储装置的伪指令代码和伪指令写入信号输出到上述解密电路,并且,对上述半导体装置输出无操作指令代码。
20.根据权利要求17所述的解密装置或半导体系统,其特征在于,上述指令控制机构包括:
指令代码判断电路(76),输入从上述外部存储装置读出的指令代码,比较该指令代码的出现次数和预定次数,当出现次数和上述预定次数一致时,生成校正数据写入信号(1005)并输出到上述解密电路,并且,在预定时间之后生成解密信号(7601);当上述出现次数和上述预定次数不一致时,停止上述解密信号的输出;以及
指令代码输出电路(77),输入上述指令代码判断电路的解密信号,在该输入过程中,将上述外部存储装置的伪指令代码和伪指令写入信号输出到上述解密电路,并且,对上述半导体装置输出无操作指令代码。
21.根据权利要求19或20所述的解密装置或半导体系统,其特征在于:
上述解密装置包括用于生成中断信号(1302)并输出的中断控制机构(13);
上述指令控制机构的指令代码输出电路(75、77),输入上述中断控制机构的中断信号,在该输入过程中,停止对上述解密电路的伪指令代码和伪指令写入信号的输出,并且,将从上述外部存储装置读出的指令代码输出到上述半导体装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004022475A JP2005216027A (ja) | 2004-01-30 | 2004-01-30 | 暗号化装置及びこれを備えた暗号化システム並びに復号化装置及びこれを備えた半導体システム |
JP022475/2004 | 2004-01-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1648881A true CN1648881A (zh) | 2005-08-03 |
CN1307563C CN1307563C (zh) | 2007-03-28 |
Family
ID=34805665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100067214A Expired - Fee Related CN1307563C (zh) | 2004-01-30 | 2005-01-31 | 加密装置、加密系统、解密装置和半导体系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050172140A1 (zh) |
JP (1) | JP2005216027A (zh) |
CN (1) | CN1307563C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116343382A (zh) * | 2023-04-17 | 2023-06-27 | 国网江苏省电力有限公司 | 一种基于操作票的电力门禁系统及其控制方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090249085A1 (en) * | 2004-06-29 | 2009-10-01 | Nagracard S.A. | Security module and personalization method for such a security module |
JP4892900B2 (ja) * | 2005-09-13 | 2012-03-07 | ソニー株式会社 | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム |
US8018609B2 (en) | 2005-09-13 | 2011-09-13 | Sony Corporation | Information processing device, information recording medium manufacturing device, information recording medium, methods therefore, and computer program |
US8590002B1 (en) | 2006-11-29 | 2013-11-19 | Mcafee Inc. | System, method and computer program product for maintaining a confidentiality of data on a network |
US8621008B2 (en) | 2007-04-26 | 2013-12-31 | Mcafee, Inc. | System, method and computer program product for performing an action based on an aspect of an electronic mail message thread |
US8199965B1 (en) | 2007-08-17 | 2012-06-12 | Mcafee, Inc. | System, method, and computer program product for preventing image-related data loss |
US20130276061A1 (en) | 2007-09-05 | 2013-10-17 | Gopi Krishna Chebiyyam | System, method, and computer program product for preventing access to data with respect to a data access attempt associated with a remote data sharing session |
US8446607B2 (en) * | 2007-10-01 | 2013-05-21 | Mcafee, Inc. | Method and system for policy based monitoring and blocking of printing activities on local and network printers |
US8893285B2 (en) | 2008-03-14 | 2014-11-18 | Mcafee, Inc. | Securing data using integrated host-based data loss agent with encryption detection |
US9077684B1 (en) | 2008-08-06 | 2015-07-07 | Mcafee, Inc. | System, method, and computer program product for determining whether an electronic mail message is compliant with an etiquette policy |
JP4941607B2 (ja) * | 2011-07-11 | 2012-05-30 | ソニー株式会社 | 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法 |
JP4973818B2 (ja) * | 2012-01-16 | 2012-07-11 | ソニー株式会社 | 情報処理装置、および情報処理方法 |
TW202244760A (zh) * | 2021-05-03 | 2022-11-16 | 智慧生醫電子股份有限公司 | 加密方法和加密系統 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5809309A (en) * | 1990-09-28 | 1998-09-15 | Texas Instruments Incorporated | Processing devices with look-ahead instruction systems and methods |
JPH0695875A (ja) * | 1991-01-09 | 1994-04-08 | Mitsubishi Electric Corp | マイクロコンピュータのメモリアクセス方法 |
CN1077751C (zh) * | 1997-12-25 | 2002-01-09 | 梁堂振 | 一种模拟信号发射调制加密及接收控制系统 |
US6202152B1 (en) * | 1998-01-27 | 2001-03-13 | Philips Semiconductors, Inc. | System and method for accessing information decrypted in multiple-byte blocks |
CN2370473Y (zh) * | 1999-01-15 | 2000-03-22 | 清华大学 | 计算机系统保护卡 |
WO2001076238A2 (en) * | 2000-03-31 | 2001-10-11 | United Video Properties, Inc. | Personal video recording system with home surveillance feed |
CN100489818C (zh) * | 2004-11-26 | 2009-05-20 | 松下电器产业株式会社 | 处理器和安全处理系统 |
-
2004
- 2004-01-30 JP JP2004022475A patent/JP2005216027A/ja active Pending
-
2005
- 2005-01-21 US US11/038,045 patent/US20050172140A1/en not_active Abandoned
- 2005-01-31 CN CNB2005100067214A patent/CN1307563C/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116343382A (zh) * | 2023-04-17 | 2023-06-27 | 国网江苏省电力有限公司 | 一种基于操作票的电力门禁系统及其控制方法 |
CN116343382B (zh) * | 2023-04-17 | 2023-11-21 | 国网江苏省电力有限公司 | 一种基于操作票的电力门禁系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1307563C (zh) | 2007-03-28 |
JP2005216027A (ja) | 2005-08-11 |
US20050172140A1 (en) | 2005-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1648881A (zh) | 加密装置、加密系统、解密装置和半导体系统 | |
US11829488B2 (en) | Pointer based data encryption | |
CN1197014C (zh) | 内部存储器型抗篡改处理器及保密方法 | |
US7185208B2 (en) | Data processing | |
US20140189366A1 (en) | Obfuscating Transformations on Data Array Content and Addresses | |
CN1014841B (zh) | 产生实际输入/输出命令的设备 | |
US10261854B2 (en) | Memory integrity violation analysis method and apparatus | |
CN1783038A (zh) | 信息泄漏防止方法、装置及其程序 | |
CN1841346A (zh) | 处理器、存储器装置、计算机系统以及传输数据的方法 | |
CN1702593A (zh) | 安全芯片 | |
CN101036125A (zh) | 具有开发接口适用性的数据处理系统内的掩码 | |
JP4074620B2 (ja) | メモリ管理ユニット | |
CN1578946A (zh) | 用基于物理地址的安全配置确定对象安全的方法及装置 | |
CN1272720C (zh) | 用于中断的动态优先权排序的方法及装置 | |
CN1788251A (zh) | 处理安全消息认证控制指令 | |
JP4591163B2 (ja) | バスアクセス制御装置 | |
CN1279458C (zh) | 数据加密/解密方法及其装置 | |
CN1064498C (zh) | 一种数据码的加密装置、解密装置和保密系统 | |
CN1461992A (zh) | 具备能保护保密信息的存储结构的计算机系统及应用方法 | |
CN101304312B (zh) | 一种适用于精简指令集处理器的加密单元 | |
CN1645351A (zh) | 多处理器系统中传送数据的方法、多处理器系统及处理器 | |
CN1426547A (zh) | 基于流水线体系结构的微控制器的对抗方法 | |
US8434061B2 (en) | System and method for array obfuscation | |
JP4863279B2 (ja) | メモリシステム及びメモリアクセス方法 | |
JP2007109053A (ja) | バスアクセス制御装置 |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070328 Termination date: 20100131 |