CN100390760C - 半导体装置和电子装置 - Google Patents

半导体装置和电子装置 Download PDF

Info

Publication number
CN100390760C
CN100390760C CNB2005100783178A CN200510078317A CN100390760C CN 100390760 C CN100390760 C CN 100390760C CN B2005100783178 A CNB2005100783178 A CN B2005100783178A CN 200510078317 A CN200510078317 A CN 200510078317A CN 100390760 C CN100390760 C CN 100390760C
Authority
CN
China
Prior art keywords
semiconductor device
data
mentioned
circuit
output
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.)
Expired - Fee Related
Application number
CNB2005100783178A
Other languages
English (en)
Other versions
CN1684050A (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of CN1684050A publication Critical patent/CN1684050A/zh
Application granted granted Critical
Publication of CN100390760C publication Critical patent/CN100390760C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/04Masking or blinding
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • 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/30Compression, e.g. Merkle-Damgard construction

Abstract

本发明的图像处理部的ASIC(半导体装置)具有对图像处理电路和绝密电路进行输入输出的输入输出电路。输入输出电路错开定时,从ASIC输出来自例如绝密电路的输出,使得隐蔽绝密电路所进行的处理。这样,就能够隐蔽绝密电路中的算法。另外,ASIC具有译码电路,用于译码存储在与ASIC另外地构成的非易失性存储器中的加密后的程序。译码电路通过从后面写入的OTP发挥译码部的功能。

Description

半导体装置和电子装置
技术领域
本发明涉及包含可编程电路的半导体装置和具有该半导体装置的电子装置。
背景技术
近年来,用户能够在现场编程期望的电路的可编程电路引起人们的注目。
例如,提出了一种通过将门阵列的一部分设为FPGA(Field ProgrammableGate Array,现场可编程门阵列),有效利用了掩膜GA(Gatc Array,门阵列)的高速性高集成性,并能够用户改变处理的结构(参照专利文献1:日本特开平6-275718号公报(公开日:1994年9月30日))。
作为使用这样的可编程电路的一例,提出了一种在PLD(ProgrammableLogic Device,可编程逻辑设备)中具有译码部件和密钥保持部件,通过仅按照用预先设定的密钥加密后的程序进行工作,来防止程序的非法复制的结构(参照专利文献2:日本特开平6-187246号公报(公开日:1994年7月8日))。
此外,也提出了一种用于阻止从FPGA元件复制FPGA程序的结构(参照专利文献3:日本特开2003-84853号公报(公开日:2003年3月19日))。
但是,在现有结构的半导体装置中,有不能可靠地隐蔽写入到可编程电路中的内部算法的问题。
例如,在专利文献1的结构中,有通过读存储了程序的ROM来解析算法和逻辑的危险。此外,在专利文献2的结构中,虽然ROM的程序已被加密,但有通过解析PLD自身的工作来推测算法和逻辑的危险。
发明内容
本发明为了解决上述课题,其目的在于提供一种能够将电路的处理黑箱化,隐蔽内部算法使得难以解析的半导体装置和电子装置。
本发明提供一种半导体装置,其特征在于,包括可编程电路和固定逻辑电路,具有向上述可编程电路和上述固定逻辑电路输入输出数据的输入输出部,上述输入输出部通过使从上述可编程电路输出的信号延迟后从半导体装置输出,对半导体装置的外部隐蔽对于上述可编程电路的数据输出。
本发明还提供一种半导体装置,其特征在于,一体地封装了上述的半导体装置和存储了上述可编程电路的程序数据的存储装置。
本发明还提供一种电子装置,其特征在于,具有:半导体装置,所述半导体装置包括可编程电路和固定逻辑电路,具有向上述可编程电路和上述固定逻辑电路输入输出数据的输入输出部,上述输入输出部通过使从上述可编程电路输出的信号延迟后从半导体装置输出,对半导体装置的外部掩蔽对于上述可编程电路的数据输出;存储装置,存储了上述可编程电路的程序数据。
本发明涉及的半导体装置为了解决上述课题,包含可编程电路和固定逻辑电路,具有向上述可编程电路和上述固定逻辑电路输入输出数据的输入输出部,上述输入输出部对半导体装置本体的外部隐蔽对于上述可编程电路的数据输入输出。
可编程电路是能够利用写入进行编程的电路。作为可编程电路,使用例如易失性的可编程电路。可编程电路也可以是非易失性。固定逻辑电路是不能重写的电路。固定逻辑电路是非易失性的。
在上述结构中,输入输出部对半导体装置本体的外部隐蔽对于上述可编程电路的数据输入输出。
例如,输入输出部使从可编程电路的输出延迟定时后再输出。此外,例如,输入输出部使取得输入到可编程电路中的程序数据的工作延迟通常期待的定时之后再进行。
这样,即使在半导体装置的外部进行解析,也隐蔽了对于可编程电路的数据输入输出,推断可编程电路中的处理就困难。从而,就难以对在可编程电路中处理的算法进行非法的解析。
此外,能够隐蔽来自半导体装置的可编程电路的输出,防止对于来自可编程电路的输出的非法冒充(なりすまし)。这样,就能够防止半导体电路的非法利用。
此外,也可以利用FPGA(Field Programmable Gate Array)来实现上述可编程的电路。根据该结构,能够容易地实现。
附图说明
本发明的其他目的、特征和优点可以从以下示出的记载充分地了解。此外,本发明的利益从参照附图的下面的说明中就清楚了。
图1是具有本发明涉及的半导体装置的一例的图像形成装置的概略方框图。
图2是用于说明制造上述半导体装置的过程的方框图。
图3是示出制造上述半导体装置的过程的流程图。
图4(a)是示出上述半导体装置的一例的一部分的方框图,图4(b)是示出上述半导体装置的工作的流程图。
图5(a)是示出上述半导体装置的其他的一例的一部分的方框图,图5(b)是示出上述半导体装置的工作的流程图。
图6(a)是示出上述半导体装置的另外的一例的一部分的方框图,图6(b)是示出上述半导体装置的工作的流程图。
图7是具有本发明涉及的半导体装置的其他的一例的图像形成装置的概略方框图。
图8是示出上述半导体装置的工作的流程图。
图9是示出上述半导体装置的工作的流程图。
图10是具有本发明涉及的半导体装置的另外的一例的图像形成装置的概略方框图。
图11是示出现有的半导体装置的一部分的概略方框图。
具体实施方式
基于图1至图10,关于本发明的一个实施方式如下进行说明。
本实施方式的半导体装置如图1所示,在图像形成装置(电子装置)1中具有ASIC(Application Specific Integrated Circuit,专用集成电路)8。
图像形成装置1在图纸上形成图像。图像形成装置1也能够通过无图示的输入输出接口,与装置外部进行信息传递。
图像形成装置1具有控制部2、操作部3、存储部4、图像读取部5、图像处理部(半导体装置)6和图像形成部7。
控制部2控制图像形成装置1的工作。本实施方式的控制部2利用硬件来实现,但不限于此。也可以通过图像形成装置1的CPU(Central ProcessingUnit,中央处理器)读入并执行存储在存储部4中的程序来实现控制部2。
操作部3检测用户的操作指示,向控制部2输出。操作部3包括用于显示工作状况的无图示的显示部。
存储部4是用于存储数据的存储器。也可以在该存储部4中存储用于使CPU作为控制部2的功能的程序。
图像读取部5用于读取形成在图纸上的图像。按照由操作部3检测到的用户的指示,从控制部2一输出开始信号,图像读取部5就开始读取载置在无图示的台子上的原稿的图像的工作。图像读取部5将读取到的图像数据向图像处理部6输出。
图像处理部6对输入的图像数据施行规定的图像处理。图像处理部6一从图像读取部5输入图像数据,就施行图像处理,通过控制部2,将图像数据向图像形成部7输出。本实施方式的图像处理部6是一体地封装了ASIC 8和非易失性存储器(存储装置)9的半导体装置。关于图像处理部6以后叙述。
图像形成部7基于图像数据在图纸上形成图像。图像形成部7通过控制部2一输入来自图像处理部6的图像数据,就基于该图像数据,在图纸上形成图像。
上述结构的图像形成装置1为了防止复制如纸币这样的规定的原稿(以下称作特定原稿),具有识别特定原稿后禁止其印刷的特定原稿提取功能。以下关于特定原稿提取功能进行说明。
在图像形成装置1中,使用由图像读取部5读取的原稿的图像数据,由图像处理部6判别原稿是否是特定原稿。图像处理部6对如上所述输入的图像数据进行判别,向控制部2输出示出是否是特定原稿的检测信号。关于图像处理部6的详细说明如下。
图像处理部6包括ASIC(半导体装置)8和非易失性存储器9。
ASIC 8是用于实现图像形成装置1的图像处理功能的半导体装置。ASIC8为了将特定原稿提取功能的详细内容设为绝密,作为固定配置的固定逻辑电路,不是实现电路全体,而是通过向至少可重写一部分且可编程的电路读入程序(程序数据)来实现。这样就防止了从布局推断逻辑。
非易失性存储器9是用于使ASIC 8的绝密电路(可编程电路)12a工作的加密后的程序的存储区域。本实施方式的非易失性存储器9由ROM来实现。非易失性存储器9最初与ASIC 8另外设置,之后与ASIC 8共同封装成为一个半导体装置,就成为图像处理部6。
ASIC 8具有输入输出电路(输入输出部)10、图像处理电路11、绝密电路12a、易失性存储器12b、译码部13和散列函数电路(单向性散列函数部)14。
输入输出电路10是ASIC 8的输入输出接口。输入输出电路10一旦接收从控制部2输入到ASIC 8中的给图像处理电路11、绝密电路12a、译码电路13a等的数据,就向各个电路输出。此外,一旦接收来自ASIC 8内部的各电路的数据,就向控制部2输出。输入输出电路10具有用于隐蔽对绝密电路12a的输入输出的输入输出部的功能。关于这点以后叙述。
图像处理电路11对输入的图像数据施行规定的图像处理。作为一例,关于图像形成装置1利用操作部3检测了用户的放大缩小指示的情况进行说明,图像处理电路11对从图像读取部5通过输入输出电路10输入的图像数据施行放大缩小处理,通过输入输出电路10向控制部2输出得到的数据。
绝密电路12a和易失性存储器12b是易失性的可编程的电路。在该绝密电路12a中进行对外部隐匿的绝密处理。
本实施方式的绝密电路12a进行特定原稿的判别。绝密电路12a从输入的图像数据判别是否是特定原稿,将表示判别结果的检测信号通过输入输出电路10向图像处理部6的外部输出。绝密电路12a基于由图像读取部5读取后通过输入输出电路10输入的图像数据和通过输入输出电路10和图像处理电路11输入的图像数据进行判别。本实施方式的绝密电路12a利用易失性的可编程的FPGA(Field Programmable Gate Array)来实现。利用FPGA的绝密电路12a按照存储在易失性存储器12b中的程序,改变AND门、OR门等的连接方式,实现期望的功能。以后关于绝密电路12a详细叙述。
易失性存储器12b是用于实现绝密电路12a的功能的程序的存储区域。易失性存储器12b利用RAM(Random Access Memory,随机存取存储器)来实现。本实施方式的易失性存储器12b利用易失性的可重写的SRAM(StaticRandom Access Memory,静态随机存取存储器)来实现。这样地,由于将程序存储在易失性存储器12b中,因此,就不能利用逆向工程非法地取得程序的内容。
译码部13包括译码电路13a和OTP(One Time Programmable ROM,一次编程只读存储器)(可编程ROM、一次编程ROM、密钥数据写入区域)13b。译码部13的译码电路13a和OTP 13b成为一体,进行存储在非易失性存储器9中的程序的译码。
其中,译码电路13a设置在向ASIC 8中的FPGA区域(绝密电路12a)的下载部分中。
OTP 13b将译码部13的一部分设为可从后面写入不能读出的PROM(Programmable Read Only Memory,可编程只读存储器)。作为这样的一次编程PROM的一例,例举有烧断保险丝的形式的PROM。图像形成装置1的制造者使用OTPROM写入电路20向OTP 13b中写入电路数据(密钥数据),这样就成为期望的译码部13。
散列函数电路14具有从已供给到ASIC 8中的程序数据制成检验用数据的检验部的功能。更详细地说,散列函数电路14是单向性散列函数电路,生成校验和。所述校验和是例如错误校正的CRC等。再有,散列函数电路14生成并输出的仅是校验和,不是输出程序本身的翻译,因此,就不能利用来自散列函数14的输出来推测内部算法(程序)。在确认从输入数据生成的校验和的值与预先计算好的校验和的值一致后,就能够确认原来的输入数据没被改变。
在本实施方式的ASIC 8中,输入输出电路10、图像处理电路11、译码电路13a和散列函数电路14是非易失性的固定逻辑电路。在这些固定逻辑电路中进行不特殊保密的处理。再有,在本实施方式中,各电路的布局成为混合配置的状态,使得对于ASIC 8的固定逻辑电路中哪个部分相当于哪个电路的判别很困难。
在以上说明的图像处理部6中,关于向控制部2输出使用输入的图像数据示出是否是特定原稿的检测信号的工作进行如下说明。
首先,由操作部3一检测电源接通操作,就按照来自控制部2的指示,输入输出电路10对译码部13进行非易失性存储器9的数据调用指示。译码部13读出非易失性存储器9的数据并译码,存储在易失性存储器12b中。
在此,译码部13向散列函数电路14输出译码后的程序。散列函数电路14从输入的程序生成校验和。将来自散列函数电路14的输出向控制部2输出,由控制部2比较生成的值与预先计算并存储在存储部4中的值。在比较结果一致的情况下,将存储在非易失性存储器9中的程序作为正规的程序,继续进行处理。另一方面,在比较结果不一致的情况下,将非易失性存储器9、译码电路13a、OTP 13b的至少一个作为不正规,中止处理。
之后,由使用者进行原稿的复印。在图像形成装置1中,由图像读取部5读取原稿图像,按照由操作部3检测到的指示,由图像处理部6进行图像处理,由图像形成部7在图纸上形成复印图像。
这时,首先从输入输出电路10向ASIC 8输入由图像读取部5读取的图像数据。在ASIC 8中,分别从输入输出电路10向图像处理电路11和绝密电路12a输出图像数据。在图像处理电路11中,按照控制部2基于由操作部3读取的指示所发出的控制命令,进行放大缩小倒转等的图像处理。将图像处理后的数据向控制部2输出。控制部2就成为等待来自图像处理部6的检测信号的状态。
另一方面,在绝密电路12a中,通过图像处理,判别图像数据是否包含特定原稿的图像。例如,利用图形匹配来判别是否包含纸币中特有的特征图形。绝密电路12a将判别结果作为检测信号,输出到输入输出电路10中。
输入输出电路10错开来自绝密电路12a的检测信号的输出定时,向ASIC8的外部输出。例如,输入输出电路10等待经过了随机的时间之后,向控制部2输出所输入的检测信号。例如,在比图像处理电路11中的平均处理延迟时间长的范围内使输出的定时随机地延迟。或者,也可以在例如平均处理延迟时间的2倍以上的范围内随机地延迟。这样做,就能够隐藏使用于制成输出的输入是哪个数据。或者,输入输出电路10也可以使检测信号延迟到规定的定时后再输出。
控制部2一接收不含特定图像的否定的检测信号,就向图像形成部7输出图像处理后的图像数据,让图像形成部7执行印刷。另一方面,控制部2一接收包含着特定图像的肯定的检测信号,就在操作部3的无图示的显示面板上显示该意思,中止处理。
这样地,在控制部2中,与来自图像处理部6的检测信号的输入定时无关,仅按照检测信号的值来判别图像数据是否包含特定原稿。因此,即使输入输出电路10错开了检测信号的输出定时,图像形成装置1也将不错开定时的情况作为结果,进行相同的工作。从而,在图像处理部6与控制部2之间就正常地进行数据传送,图像形成装置1正常地工作。
如上所述地,输入输出电路10能够对于ASIC 8的外部隐蔽输入输出的数据是对于绝密电路12a的,还是对于图像处理电路11等的其他电路的。即,能够关于输入到控制部2中的许多信号中的关于哪个信号是否是来自ASIC 8的检测信号这点难以进行非法的检测。因此,能够防止例如从外部向控制部2发送非法的检测信号,防止利用冒充(假装成是正当的检测信号似的,即,装成正当的检测信号)的非法利用。此外,由于对于绝密电路12a的输入输出的解析很困难,因此,能够难以进行对于绝密电路12a中的内部逻辑的非法解析。
此外,将用于存储在易失性存储器12b中的程序存储在与ASIC 8另外设置的存储装置中。例如,将加密后的程序存储在与ASIC 8另外设置的由ROM(Read Only Memory)等构成的非易失性存储器9中。这样,能够对ASIC 8的生产者保密程序,防止泄漏用于实现功能的信息。此外,若这样地使ASIC8与非易失性存储器9另外设置,即使在例如将ASIC 8的制作依赖于某个制造业者(ASIC卖方)B,此外,将非易失性存储器9的制作依赖于某个制造者(ROM制造者)C的情况中,也能够防止对于ASIC8中的处理的算法的非法解读。
此外,用于解读加密后的程序的译码电路的结构需要从后面写入密钥数据。因此,仅看译码电路不能推测译码的算法,因而能够保密。
此外,将密钥设为OTP。即,设为仅能写入一次的形式的密钥。如果使该密钥由例如图像形成装置1的制造者(制造方)来写入,就能够防止译码电路的非法利用。
再有,这样地,为了对外部隐蔽内部的处理,不限于使用延迟定时的输入输出电路10的结构。例如,作为输入输出部,若使其介于进行某种处理的电路,就很难推断内部算法,能够黑箱化。即,根据象检测信号这样的输入了如图像数据这样的数据而取得的输出,就很难推断内部秘密电路中的详细处理。该情况下,若内部的处理的级数深,就更难从输出来推断内部算法。另一方面,现有技术不设置这样的输入输出部,有非法地计测控制部与内部的绝密电路之间来推断内部算法的危险。
在此,例如输入输出电路10也可以是加密检测信号(块加密)的结构。这样地,若加密检测信号后向控制部2输出,就能够隐蔽绝密电路12a中的处理。但是,该情况下,控制部2的一侧需要有破译密码的功能。此外,例如输入输出电路10也可以是在检测信号中混入伪数据后输出的结构。
下面,基于图2、图3,关于上述的图像处理部6的制造工序进行说明。
如图2所示,设计制造者A委托ASIC卖方B制造ASIC 8(T1:出图一般电路)。这时,将ASIC 8中的绝密电路12a设计为可编程的FPGA区域,用该设计进行委托。此外,在用于绝密电路12a的译码电路13a中设置了从后面写入的OTP 13b。
ASIC卖方B制造ASIC 8后交纳给设计制造者A(T2:交纳ASIC(FPGA+OTP))。
另一方面,设计制造者A委托ROM制造者C制造存储了加密了ASIC 8的FPGA区域的程序后的内容的ROM(非易失性存储器9)(T3:出图加密后的FPGA程序)。ROM制造者C制造加密后的程序作为ROM,交纳给设计制造者A(T4:交纳ROM)。
此外,参照图3进行说明,设计制造者A为了在S1中使用图像处理部6,进行了ASIC 8和非易失性存储器9的电路设计。设计制造者A将设计后的ASIC 8的电路图提供给ASIC卖方B(T1),将设计后的非易失性存储器9的电路图提供给ROM制造者C(T3)。
ASIC卖方B基于领到的电路图设计ASIC 8(S2),交纳给设计制造者A(T2)。此外,ROM制造者C基于领到的电路图,制作ROM(非易失性存储器9)(S4),交纳给设计制造者A(T4)。
在设计制造者A中,向从ASIC卖方B领到的ASIC 8的OTP 13b中写入密钥数据(S3),然后将该ASIC 8和ROM 9封装成一个装置,就成为图像处理部6的产品(S5)。
这样地,由于不向ASIC卖方B出图绝密电路12a的内容物(用于程序的布局),因此确保秘密。此外,作为在译码电路13a中设置了OTP 13b的结构,委托给ASIC卖方B进行生产,因此,就不被ASIC卖方B知道译码电路13a的内容物。
此外,写入到ROM(非易失性存储器9)中的用于绝密电路12a(FPGA区域)的程序,在加密后委托给ROM制造者C进行生产,因此,不被ROM制造者C知道程序,保证了安全。此外,能够难以判别哪个部分的数据是FPGA区域电路数据。
此外,由于由设计制造者A进行OTP 13b的写入,因此,关于译码电路13a和OTP 13b成为一体的译码部13的详细结构,不被ASIC卖方B和ROM制造者C不知道。再有,如果不是这样地利用从后面写入的OTP 13b来完成译码部13的话,就向ASIC卖方B出图译码部13的全部,因此,就有被ASIC卖方B知道译码部13中的算法的危险。
再有,作为半导体装置的ASIC 8,不限于上述结构。关于在ASIC 8中设置了译码电路13a作为固定逻辑电路的结构进行了说明,但不限于此。例如,译码电路13a也可以设置成能写入的结构。即,例如不仅OTP 13b,也可以设置译码电路13a作为FPGA。这样地,不仅作为密钥的OTP 13b,关于译码电路13a也是,若在制造者侧进行写入,就不会泄漏译码部13的结构给ASIC 8的委托制造者。再有,在设译码电路13a可写入的情况下,不使用EEPROM这样的可重写的装置。
此外,ASIC 8和非易失性存储器9也可以是如下的结构。
首先,基于图4(a)、图4(b),关于使用ROM 9a作为图1中的非易失性存储器9的一例,难以解析绝密电路12a的结构的例子进行说明。
本变形例将存储在ROM 9a中的程序地址重排。如图4(a)所示,ROM9a的地址hXX_XX到hYY_YY是存储了用于绝密电路12a的FPGA程序的FPGA程序区域。
将存储在ROM 9a中的程序读入到ASIC 8中时的工作的说明如下。
首先,如图4(b)的S6所示,按照来自作为控制部2的功能的CPU的下载程序命令,输入输出电路10取得ROM 9a的地址hXX_XX到hYY_YY送给译码部13。
在S7中,译码电路13a和OTP 13b作为译码部13,按照规定的顺序译码下载来的程序。在此,按照存储在OTP 13b中的函数来重排地址,作为结果,重排数据。作为函数,也可以使用在ROM 9a中使用的函数的反函数。这样,程序就被译码。之后,将译码后的程序下载到作为图1中示出的易失性存储器12b的一例的RAM中。
在S8中,从易失性存储器12b向是FPGA的绝密电路12a下载程序。这样,就在绝密电路12a中安装功能,按照FPGA程序进行工作。
再有,作为地址重排函数的一例,考虑例如调换地址的最上位和最下位。按照该函数,预先在ROM 9a中存储调换了地址顺序的程序数据。
在以上说明的一例中,由于存储在非易失性存储器9中的程序不是原来的程序本身,成为重排后的程序,因此,能够防止通过读取程序来特定绝密电路12a的功能。此外,由于由包括从后面写入的OTP 13b的译码部13来进行程序的译码,因此,也能够防止解析译码的算法。
下面,基于图5(a)、图5(b),关于使用ROM 9b作为图1中的非易失性存储器9的一例,难以解析绝密电路12a的结构的例子进行说明。本变形例在比下载到FPGA中的总数据量大的ROM 9b中,将一部分作为有效数据区域,将其他部分设为伪数据区域。在从ASIC 8中的输入输出电路10输入的数据中,译码部13选择原有电路中设定的有效数据区域进行下载。
如图5(a)所示,将用于绝密电路12a的FPGA程序存储在ROM 9b的地址hXX_XX到hYY_YY中。此外,将伪数据存储在ROM 9b的地址hPP_PP到hXX_XX和从hYY_YY到hQQ_QQ中(伪数据区域)。
将存储在ROM 9b中的程序读入到ASIC 8中时的工作的说明如下。
首先,从作为控制部2的功能的CPU,对输入输出电路10发出程序的下载命令。输入输出电路10如图5(b)的S9所示,按照该命令,向译码部13下载ROM 9b的地址hPP_PP到hQQ_QQ。输入输出部10进行包含了伪数据区域的有效数据的下载命令。
在S10中,译码电路13a和OTP 13b作为译码部13,按照规定的顺序译码下载来的程序。在此,按照存储在OTP 13b中的内容,提取规定的地址范围(从地址hXX_XX到hYY_YY)的数据。这样,程序就被译码。之后,将译码后的程序下载到图1中示出的作为易失性存储器12b的一例的RAM中,另外,从易失性存储器12b向是FPGA的绝密电路12a下载。这样,就在绝密电路12a中安装功能,按照FPGA程序进行工作。
这样地,通过在非易失性存储器9中存储的程序中包含着伪数据,就难以通过非法地读取程序来特定绝密电路12a的功能。此外,由于由包含从后面写入的OTP 13b的译码部13来进行程序的译码,因此,能够防止解析译码的算法。
下面,基于图6(a)、图6(b),关于使用ROM 9c作为图1中的非易失性存储器9的一例,难以解析绝密电路12a的结构的例子进行说明。
本变形例压缩编码了程序后存储在ROM 9c中。作为压缩编码,使用例如打乱数据的位排列的JBIG压缩。由于压缩编码从程序的原来数据生成其他数据,因此,可以看作是一种加密。
如图6(a)所示,压缩编码了用于绝密电路12a的FPGA程序后,存储在ROM 9c的地址hXX_XX到hYY_YY中。
将存储在ROM 9c中的程序读入到ASIC 8中时的工作的说明如下。
首先,从作为控制部2的功能的CPU,对输入输出电路10发出程序的下载命令。如图6(b)的S11所示,输入输出电路10按照该命令,向译码部13下载ROM 9c的地址hXX_XX到hYY_YY。
在S 12中,译码电路13a和OTP 13b作为译码部13,使用压缩编码的反函数,按照规定的顺序译码下载来的程序。之后,将译码后的程序下载到作为图1中示出的易失性存储器12b的一例的RAM中。另外,在S13中,进一步从易失性存储器12b向是FPGA的绝密电路12a下载。这样,就在绝密电路12a中安装功能,按照FPGA程序进行工作。
这样地,若将存储在非易失性存储器9中的程序加密,就能够防止通过读取程序来特定绝密电路12a的功能。此外,由于由包含从后面写入的OTP13b的译码部13来进行程序的译码,因此,能够防止解析译码的算法。
再有,作为加密的一例,例举了压缩编码,但不限于此,作为进行加密的函数的算法,也可以使用例如DES等的通常的所谓密码算法。此外,也可以通过数据位的重排来进行加密。
此外,也可以组合关于上述的输入输出的变形例。即,也可以分别组合(A)通过地址重排的加密、(B)利用包含伪数据的加密、(C)通常的加密(块加密)、(D)通过数据位的重排的加密、(E)压缩编码。利用这样的组合,就能够难以进行程序的非法解读。
该情况下,可以在译码电路13a和OTP 13b的译码部13中分别设置用于进行对于(A)地址重排、(B)伪数据、(C)通常的加密、(D)数据位重排、(E)压缩编码的译码的译码器,并设置为可以切换。根据输入输出电路(切换器)10的指示来切换各译码器。
作为译码器13中的译码方法的转换方法,例如,在OTP 13b中装入按照关于ASIC 8的固有信息来切换译码方法的电路,所述的固有信息如机器编号的末尾。然后,将组合加密后得到的程序存储在非易失性存储器9中,在译码部13中,按照加密的组合,进行利用反过程的译码。
加密的过程不特殊限定。例如,可以按照(A)(B)(C)(D)(E)的顺序加密,或者也可以是(A)(C)(B)...顺序,或(B)(A)(C)...。此外,次数也可以不限于各1次,可以进行几次,例如,也可以是(A)(B)(C)(D)(E)(A)(B)...这样的顺序。
此外,在上述的程序输入输出的变形例中,关于加密的组合等进行了说明,但本发明不限于此。例如,通过错开对于ASIC 8的程序输入的定时来对ASIC 8的外部隐蔽程序输入输出的状况,也能够使绝密电路12a的算法的非法解析难以进行。
以下,关于图像形成装置1在除了电源接通时以外的定时下载非易失性存储器9中存储的程序的结构进行说明。
本变形例的图像形成装置(电子装置)21如图7所示,具有控制部22、操作部23、存储部24、图像读取部25、图像处理部(半导体装置)26和图像形成部27。
此外,图像处理部26包括ASIC(半导体装置)28和非易失性存储器(存储装置)29。ASIC 28具有输入输出电路(输入输出部)30、图像处理电路31、绝密电路(可编程电路)32a、易失性存储器32b、译码部33和散列函数电路(单向性散列函数部)34。
图像形成装置21用总线形式连接了内部所具有的各部。关于控制部22、ASIC 28和非易失性存储器29,也相互用总线形式连接。因此,用与控制部22所使用的总线相同的接口进行从非易失性存储器29向ASIC 28的下载。该点与图1中示出的图像形成装置1不同。再有,图7中示出的各部件22~34是与图1中示出的图像形成装置1中所包含的2~14的部件发挥大致相同功能的部件,因此,除了特殊说明的情况以外省略说明。
在图像形成装置21中,不是在图像形成装置21的电源接通时,而是在之后的复制请求检测时,进行非易失性存储器9中存储的程序的读入。更详细地说,控制部22对ASIC 28的输入输出电路30进行程序的读入指示。在ASIC 28中,输入输出电路30取得数据后进行输入数据的分配。输入输出电路30通过总线35读入非易失性存储器29中存储的程序。输入输出电路30向译码部33输出得到的程序。译码部33译码程序后存储在易失性存储器32b中。
这样地,程序的读入不是在电源接通时进行,而是在之后的定时进行,因此,能够使从非易失性存储器29向ASIC 28的下载,从控制部22混入到对其他部件的数据中。这样就难以进行非法的解析,能够对ASIC 28的外部隐蔽对ASIC 28的绝密电路32a的输入输出。在使用绝密电路32a之前进行程序的读入。也可以在开始了向图像处理电路33的输入输出之后进行程序的读入。或者,也可以在电源接通后经过了规定时间后进行程序的读入。
基于图8,关于图像形成装置21中的图像处理部26的程序读入工作的一例进行说明。
在S15中,检测对于图像形成装置21的操作部23的电源接通指示后,控制部22接通图像形成装置21的电源。在S16中,控制部22判别有无对于操作部23的复制请求。
在S16中有复制请求的情况下前进到S19,通过总线35,从非易失性存储器29向ASIC 28读入程序,然后结束处理。由于在不是电源接通时进行下载,因此,能够混入到其他的数据传送中,在S16中没有复制请求的情况下前进到S17。
在S17中,控制部22用通过了总线35的数据的收发等来判别对内部或外部的存取是否频繁。具体地说,例如,在通过总线35用分组形式收发数据的情况下,判别分组的冲突概率是否在规定值以上。在S17中存取频繁的情况下,前进到S19,接受了来自控制部22的指示的输入输出电路30进行程序的下载,然后结束处理。这样地,若在存取频繁的情况下就进行下载,就能够混入到其他的数据传送中,使非法的解析更困难。在S17中存取不频繁的情况下,前进到S18后成为等待下载状态,返回到S16。
如上所述地,象例如复制时使用于特定原稿判别的绝密电路32a那样地,在使用绝密电路32a的图像特定功能的定时比电源接通更往后的情况下,将用于绝密电路32a的程序的下载设为后面的定时。然后,利用与控制部22共用的总线35,混入到从控制部22向ASIC 28的存取中下载程序。这样做,即使在对总线35关于ASIC 28的数据输入输出非法地解析了基板波形的情况下,也不能特定程序的内容。对此,在通常的一般结构中,由于在接通装置的电源时进行绝密电路这样的FPGA的程序的下载,因此,就有在非法解析了基板波形的情况下特定了程序内容的危险。
下面,基于图9,关于在图像形成装置21中错开程序输入输出的定时的其他变形例进行说明。在该变形例中,将应读入的程序分割成分组,通过按随机定时下载各分组,就将程序的读入混入到其他的数据传送中。
在S20中,检测对于图像形成装置21的操作部23的电源接通指示后,控制部22接通图像形成装置21的电源。在S21中,输入输出电路30等待经过随机设定的时间,之后,前进到S22。
在S22中,输入输出电路30通过总线35,读入分割了非易失性存储器29中存储的程序的数据作为分组。在S23中,输入输出电路30判别是否下载了全部的分割后的数据。在有还未下载的数据的情况下,返回到S21,等待了随机时间后,在S22中下载接下来的数据作为分组。在S23中判别为下载了全部数据的情况下,结束处理。
根据以上的处理,由于按照随机定时依次下载了分割后的数据作为分组,因此,就将数据的下载混入到其他的数据传送中,使得难以进行程序的非法解读。
这样地,将应下载的数据分割成规定单位的分组等,混入到从控制部22向ASIC 28的存取中进行下载。将译码后的数据存储在ASIC 28的易失性存储器32b中。在此,若下载数据的时间间隔随机,就能够使利用非法读取的程序判别更困难。此外,也可以使进行下载的数据的分割分组的大小随机。再有,在象通常的一般结构那样地,通过连续收发分组来进行程序的下载的情况下,有在非法解析了基板波形的情况下就特定了程序内容的危险。
此外,图像形成装置21中的图像处理部26的程序读入工作不限于上述结构。例如,为了将程序读入工作混入到从控制部22向ASIC 28的存取中,控制部22也可以按照来自输入输出电路30的指示,对ASIC28进行伪写或伪存取。这样地,即使混入到来自控制部22的伪存取中进行程序的下载,也难以混入数据进行非法解析。
再有,关于基于图7中示出的图像形成装置21和图像处理部26,共用控制部22所使用的总线35,通过输入输出电路30读入程序的工作进行了说明,但不限于该结构。
例如,如图1所示,也可以是直接连接ASIC 8和非易失性存储器9后进行数据传送的图像处理部6和图像形成装置1。此外,该情况下,控制非易失性存储器9与ASIC 8的数据传送的传送控制部也可以包含在ASIC 8中。但是,根据该结构,由于一对一直接连接ASIC 8与非易失性存储器9,因此,很难混入到其他的数据传送中。因此,有非法检测程序传送的定时的可能性。
此外,图1中示出的图像形成装置1和图7中示出的图像形成装置21分别各具有一个译码电路,但不限于此。也可以是具有多个译码电路的图像形成装置。
本变形例的图像形成装置(电子装置)41如图10所示,具有控制部42、操作部43、存储部44、图像读取部45、图像处理部(半导体装置)46和图像形成部47。
此外,图像处理部46包括ASIC(半导体装置)48和非易失性存储器(存储装置)49a、49b。ASIC48具有输入输出电路(输入输出部、切换器)50、图像处理电路51、绝密电路(可编程电路)52a、易失性存储器52b、译码部53a、53b和散列函数电路(单向性散列函数部)54。译码部53a由译码电路53c和OTP(可编程ROM、一次编程ROM、密钥数据写入区域)53d构成,译码部53b由译码电路53e和OTP(可编程ROM、一次编程ROM、密钥数据写入区域)53f构成。
本实施方式的图像处理部46与上述实施方式的不同点在于包括多个译码部53a、53b和非易失性存储器49a、49b。再有,图10中示出的各部件42~54是与包含在图1中示出的图像形成装置1中的2~14的部件发挥大致相同功能的部件,因此,除了特殊说明的情况以外省略说明。
在上述结构的图像处理部46中,输入输出电路50进行从非易失性存储器49a、49b的程序读入,分别向独立具备的译码部53a、53b输出。可以任意设定输入输出电路50对非易失性存储器49a、49b的存取定时,例如,可以如上所述地错开定时进行读入,或者,也可以按随机时间间隔进行读入。各译码部53a、53b向易失性存储器52b下载译码后的程序。从易失性存储器52b向绝密电路52a下载程序,然后就成为绝密电路52a的功能。
这样地,在ASIC48中具有多个接口的情况下,若通过各自的接口读入程序,就能够很难进行非法的解析。
如以上所述地,本发明与内装FPGA这样的可编程的电路的ASIC有关,更详细地说,与存储在FPGA部中的程序的隐蔽有关。上述的半导体装置是内装FPGA(可编程的电路)的ASIC,作为固定电路,具有对于对象处理的外部的接口和加密后的FPGA用程序的译码部。这样,就提供了一种能黑箱化可编程的电路的处理的ASIC。此外,提供一种ASIC,在ASIC内部,使不想让包括ASIC卖方的外部知道的绝密电路(纸币追踪、识别电路等)FPGA化,另外,即使用产品的基板进行波形解析,也难以解析FPGA区域的绝密电路内容。
在此,现有技术如图11所示,图像处理部的图像处理电路61、绝密电路62a、RAM62b、ROM63全都成为露出的状态,就能够容易地检测各电路的输入输出。因此,就有下述这样的问题,通过在该状态下输入图像数据,检测对此的响应,就推测出了是否判别了图像数据中的什么样的特征。
在此,作为现有技术,有如下结构:(1)在ASIC中内装绝密电路的结构、(2)将绝密电路放入到外接的FPGA中,设置了防复制部的结构、(3)包括绝密电路,FPGA化全部电路的结构、(4)仅将绝密电路设为FPGA,将其他设为ASIC进行单片化的结构。
在此,在上述(1)的结构中,还具有如下问题。首先,要ASIC化绝密电路,就需要至少向ASIC卖方出图门电平电路。若有这样的门电平电路,理论上就能用反编译推断电路源。此外,需要向ASIC卖方出图包括了绝密电路部分的出厂检查用的测试图形,就给予了对于电路推断的信息。再有,若不出图测试图形,就不能提高故障检测率,有可能ASIC批量产品的不合格率上升。
此外,上述(2)的结构在一般电路的ASIC中,在基板系统上将绝密电路部分设为外接的FPGA。在该结构中,例如专利文献2、3中记载地,即使利用对响应序列取得匹配的密钥数据匹配来防止了FPGA的复制,在产品基板上实际工作时,也完全看得见FPGA的外部端子,因此,就有可能通过解析该端子来推测电路的工作和内容。此外,一般是在电源上升时进行FPGA的下载,但有解析该下载时的数据的危险。
此外,上述(3)的结构对于现状的大规模和可高速工作的FPGA非常高价,因此,在按FPGA批量生产象系统芯片这样的大规模电路时就不现实。
此外,如上述(4)所述,也考虑了仅单纯地将绝密电路作为FPGA,将其他部分作为ASIC进行单片化的情况。但是,卖方就能根据顾客出图门(出图ゲ一ト)来推断FPGA周边的电路结构。此外,由于是卖方设计的FPGA,因此,通过利用产品基板的波形观测等解析向FPGA下载的数据,就能解析绝密部分的电路。此外,由于也对除了在某个卖方中设计的其他顾客散发对于同一FPGA设计的资料,因此,就有能利用ROM数据来推断电路的可能性。
本发明涉及的半导体装置在上述结构中,最好上述输入输出部通过错开来自上述可编程电路的输出的定时,从半导体装置本体输出数据,来对半导体装置本体的外部隐蔽数据输入输出。
输入输出部通过延迟例如输出定时来错开数据输出的定时。这样地,若输入输出部错开定时,就能够隐蔽数据输出。
此外,在上述结构中,上述输入输出部也可以是在向半导体装置输入了其他数据后,从上述可编程电路进行输出的结构。这样做,就能够利用是否对其他数据进行输出时进行动作,隐蔽数据输出。
本发明涉及的半导体装置在上述结构中,最好上述输入输出部随机地错开来自上述可编程电路的输出数据的定时。
这样地,若随机地错开数据输出的定时,就能够隐蔽用于制成输出的输入是哪个。
此外,在上述结构中,最好在比平均处理延迟时间长的范围内使输出的定时随机地延迟。或者,也可以在例如平均处理延迟时间的2倍以上的范围内随机地延迟。这样做,就能够隐蔽用于制成输出的输入是哪个。
本发明涉及的半导体装置在上述结构中,最好上述输入输出部通过加密来自上述可编程电路的输出后从半导体装置本体输出,来对半导体装置本体的外部隐蔽数据输入输出。
由于输入输出部进行加密,就能够隐蔽数据输出。该情况下,在接收来自输入输出部的输出的一侧进行译码。
本发明涉及的半导体装置在上述结构中,最好上述可编程电路是易失性的可编程电路,上述输入输出部通过在具有半导体装置本体的电子装置的电源上升时以外的定时,从半导体装置本体的外部取得上述可编程电路的程序数据,来对半导体装置本体隐蔽数据输入输出。
所述易失性的可编程电路,例如是SRAM(Static Random AccessMemory,静态随机存取存储器)型的可重写电路。
半导体装置的输入输出部对例如半导体装置外部的存储装置进行存取,取得存储在存储装置中的程序数据。由于隐蔽程序数据的输入,因此,就难以对在可编程电路中处理的算法进行非法的解析。
在此,通常期望在电源上升时取得程序数据。
因此,若如上述结构这样的在电源上升以外的时间取得,在试着在半导体装置与存储了程序数据的存储装置之间非法取得的情况中,也难以进行非法取得。
此外,在上述结构中,输入输出部也可以是在使用可编程电路之前取得程序数据的结构。此外,在上述结构中,输入输出部也可以是在开始了来自固定逻辑电路的输入输出之后取得程序数据的结构。此外,在上述结构中,输入输出部也可以是在电源上升后一经过规定时间就取得程序数据的结构。
此外,也可以将上述的半导体装置表现为这样的结构,作为程序供给定时,在不是电源上升的定时时进行。
本发明涉及的半导体装置在上述结构中,最好上述输入输出部取得被分割成多个的上述程序数据。
这样地,由于分割程序数据后取得,因此,即使在试着非法取得的情况中,也难以特定程序数据,能够防止非法取得。
此外,也可以将上述的半导体装置表现为程序供给时分割了通信后进行的结构。
本发明涉及的半导体装置在上述结构中,最好上述输入输出部取得已分割成随机大小的上述程序数据。
由于分割后的程序数据的大小随机,因此,能够进一步使程序数据的特定难以进行。
此外,也可以将上述的半导体装置表现为通信分割使数据包的大小随机的结构。
本发明涉及的半导体装置在上述结构中,最好上述输入输出部按照随机的时间间隔取得已被分割成多个的上述程序数据。
由于按随机的时间间隔进行取得,因此,能够进一步使程序数据的特定难以进行。
此外,也可以将上述的半导体装置表现为通信分割使通信的间隔随机的结构。
本发明涉及的半导体装置在上述结构中,最好上述输入输出部具有用于取得上述程序数据的多个接口。
由于能够分开使用多个接口,取得分割后的程序数据,因此,能够进一步使程序数据的特定难以进行。
此外,也可以将上述的半导体装置表现为从多个IF分割后供给程序的结构。
本发明涉及的半导体装置在上述结构中,最好具有根据上述可编程电路的程序数据制作检验用数据的单向性散列函数部。
若利用单向性散列函数部从程序数据制作检验用数据,通过与预先制成的检验用数据进行比较,就能够简单地确认程序数据是否是预先制成的正规的数据。此外,由于不比较程序用数据自身,因此,能够在半导体装置的外部,不损害机密性而进行确认。
本发明涉及的半导体装置在上述结构中,最好半导体装置本体是进行图像处理的图像处理部,在上述可编程电路中进行特定原稿的识别处理。
所述特定原稿是成为识别对象的原稿。例如,在图像形成装置中具有的图像处理电路中,将纸币作为特定原稿。由图像处理电路判别复印的原稿是否是纸币,在是纸币的情况下就禁止复印。
根据上述结构,能够隐蔽图像处理电路中的特定原稿的识别处理的算法。
本发明涉及的半导体装置在上述结构中,最好具有用于译码已被加密的上述可编程电路的程序数据的译码部。
由于可编程电路的程序数据已被加密,因此,就能使利用解析程序数据的算法和逻辑的解析难以进行。
此外,也可以将上述的半导体装置表现为下述结构,是在同一集成电路内至少设置了SRAM型的可编程的第一电路和即使切断电源逻辑也固定的第二电路的ASIC,第二电路具有预先加密了从外部供给到第一电路中的程序的译码部和从ASIC外部隐蔽第一电路基于程序所进行的处理的输入输出部。根据该结构,根据从外部下载的程序和ASIC的工作,都难以解析第一电路的算法和逻辑。此外,上述的半导体装置也可以是第二电路具有根据译码后供给到第一电路中的程序数据制成检验用数据的单向性散列函数部的结构。
本发明涉及的半导体装置在上述结构中,最好用能从半导体装置本体的外部写入不能读出的可编程ROM来构成上述译码部的至少一部分。
在此,所述半导体装置不能读出是指,不设置用于向外部输出的缓冲器,缓冲器仅从外部向内部单方通行。
这样地,若将译码部的至少一部分设置为可编程ROM,就能够使该可编程ROM从后面写入。
从而,例如在半导体装置的制作依赖于外部生产者时,能够不使其知道写入到可编程ROM中的内容,不需要让外部生产者知道译码部的全体。
本发明涉及的半导体装置在上述结构中,最好上述可编程ROM是一次可编程ROM。
由于可编程ROM仅能写入一次,因此,就不担心试着从后面重写可编程ROM来推测可编程ROM的内容。
此外,也可以将上述的半导体装置表现为译码部的PROM是一次PROM的结构。
本发明涉及的半导体装置在上述结构中,最好在上述可编程ROM中设置了密钥数据写入区域,该区域具有一写入密钥数据,上述译码部就译码上述程序数据的功能。
如果不向密钥数据区域写入密钥数据,半导体装置的译码部就不工作,因此,通过适当地管理密钥数据,就能够防止半导体装置的非法利用。
此外,也可以将上述的半导体装置表现为用至少一部分能写入不能读出的PROM来构成译码部,写入到PROM中的(密钥)数据定制译码部的结构。
本发明涉及的半导体装置在上述结构中,最好上述译码部译码利用地址操作加密后的上述程序数据。
这样地,若是通过地址操作加密后的数据,就能够用简单的处理进行译码。
此外,也可以将上述的半导体装置表现为程序的加密是地址的操作的结构。
本发明涉及的半导体装置在上述结构中,最好上述译码部译码已混合了伪数据的上述程序数据。
这样地,若混合伪数据,就难以进行程序数据的特定。
此外,也可以将上述的半导体装置表现为在程序供给时与伪数据共同进行数据供给的结构。
本发明涉及的半导体装置在上述结构中,最好上述译码部译码已块加密后的上述程序数据。
能够使用DES(Data Encryption Standard,数据加密标准)和AES(Advanced Encryption Standard,高级加密标准)可靠地加密。此外,也容易硬件化。
此外,也可以将上述的半导体装置表现为程序的加密是块密码的结构。
本发明涉及的半导体装置在上述结构中,最好上述译码部译码通过数据位的重排加密后的上述程序数据。
这样地,若是通过数据位的重排加密后的数据,就能够用简单的处理进行译码。
此外,也可以将上述的半导体装置表现为程序的加密是数据位的重排的结构。
本发明涉及的半导体装置在上述结构中,最好上述译码部译码通过压缩编码加密后的上述程序数据。
在此,所述压缩编码是JBIG、运行长度等的压缩。
这样地,若是通过压缩编码加密后的数据,就能够用简单的处理进行译码。
此外,也可以将上述的半导体装置表现为程序的加密是JBIG、运行长度等的压缩的结构。
本发明涉及的半导体装置在上述结构中,最好上述译码部具有:第一译码器,译码通过地址操作加密后的上述程序数据;第二译码器,译码混合了伪数据的上述程序数据;第三译码器,译码已块加密后的上述程序数据;第四译码器,译码通过数据位的重排加密后的上述程序数据;第五译码器,译码通过压缩编码加密后的上述程序数据,上述输入输出部按期望的顺序切换使用第一译码器、第二译码器、第三译码器、第四译码器和第五译码器,作为切换器进行工作。
这样地,若组合密码切换使用,就能够可靠地加密。
此外,也可以将上述的半导体装置表现为同时具有上述译码部,进行密码组合的结构。此外,也可以将上述的半导体装置表现为同时具有上述译码部,进行密码组合和顺序组合的结构。
本发明涉及的半导体装置在上述结构中,最好上述译码部在取得了上述程序数据时,设定上述切换器的上述期望的顺序。
若在后面设定切换器的顺序,就能够可靠地加密。
此外,也可以将上述的半导体装置表现为同时具有上述译码部,在程序供给时选择组合和顺序的结构。
本发明涉及的半导体装置为了解决上述课题,最好一体地封装了上述半导体装置和存储了上述可编程电路的程序数据的存储装置。
利用一体封装后的半导体装置,就能够实现难以解析内部算法的半导体装置。
本发明涉及的电子装置为了解决上述课题,最好具有上述半导体装置和存储了上述可编程电路的程序数据的存储装置。
在电子装置中利用上述半导体装置和存储装置来实现想绝密的处理,就能够隐蔽算法。
上述的具体的实施方式或实施例只是使本发明的技术内容明确,本发明不限定于这样的具体例,不应该狭义地理解,可以在权利要求范围内做各种各样的变形,在变形后的方式和不同的实施方式中适当组合了各个已公开的技术手段之后所得到的实施方式,也包括在本发明的技术范围内。

Claims (22)

1.一种半导体装置(8、28、48),其特征在于,包括可编程电路(12a、32a、52a)和固定逻辑电路,
具有向上述可编程电路(12a、32a、52a)和上述固定逻辑电路输入输出数据的输入输出部(10、30、50),
上述输入输出部(10、30、50)通过使从上述可编程电路(12a、32a、52a)输出的信号延迟后从半导体装置输出,对半导体装置的外部隐蔽对于上述可编程电路(12a、32a、52a)的数据输出。
2.如权利要求1所述的半导体装置(8、28、48),其特征在于,上述输入输出部(10、30、50)随机地使从上述可编程电路(12a、32a、52a)输入的信号延迟后从半导体装置输出。
3.如权利要求1所述的半导体装置(8、28、48),其特征在于,上述输入输出部(10、30、50)通过加密来自上述可编程电路(12a、32a、52a)的输出后从半导体装置输出,来对半导体装置的外部隐蔽数据输入输出。
4.如权利要求1所述的半导体装置(8、28、48),其特征在于,上述可编程电路(12a、32a、52a)是易失性的可编程电路,
上述输入输出部(10、30、50)通过在具有半导体装置的电子装置(1、21、41)的电源上升后经过规定时间后,从半导体装置的外部取得上述可编程电路(12a、32a、52a)的程序数据,来对半导体装置的外部隐蔽数据输入输出。
5.如权利要求4所述的半导体装置(8、28、48),其特征在于,上述输入输出部(10、30、50)取得被分割成多个的上述程序数据。
6.如权利要求5所述的半导体装置(8、28、48),其特征在于,上述输入输出部(10、30、50)取得已分割成随机大小的上述程序数据。
7.如权利要求5所述的半导体装置(8、28、48),其特征在于,上述输入输出部(10、30、50)按照随机的时间间隔取得已被分割成多个的上述程序数据。
8.如权利要求4所述的半导体装置(8、28、48),其特征在于,上述输入输出部(10、30、50)具有用于取得上述程序数据的多个接口。
9.如权利要求1所述的半导体装置(8、28、48),其特征在于,具有根据上述可编程电路(12a、32a、52a)的程序数据制作检验用数据的单向性散列函数部(14、34、54)。
10.如权利要求1所述的半导体装置(6、26、46),其特征在于,半导体装置是进行图像处理的图像处理部(6、26、46),
在上述可编程电路(12a、32a、52a)中进行特定原稿的识别处理。
11.如权利要求1所述的半导体装置(6、8、26、28、46、48),其特征在于,具有译码部(13、33、53a、53b),用于在已被加密的程序数据存储在上述可编程电路(12a、32a、52a)的情况下,用于译码上述程序数据。
12.如权利要求11所述的半导体装置(6、8、26、28、46、48),其特征在于,用能从半导体装置的外部写入而不能读出的可编程ROM(13b、33b、53d、53f)来构成上述译码部(13、33、53a、53b)的至少一部分。
13.如权利要求12所述的半导体装置(6、8、26、28、46、48),其特征在于,上述可编程ROM(13b、33b、53d、53f)是一次编程ROM。
14.如权利要求12所述的半导体装置(6、8、26、28、46、48),其特征在于,在上述可编程ROM(13b、33b、53d、53f)中设置了密钥数据写入区域,一旦写入密钥数据,就使上述译码部(13、33、53a、53b)有译码上述程序数据的功能。
15.如权利要求11所述的半导体装置(6、8、26、28、46、48),其特征在于,上述译码部(13、33、53a、53b)译码通过地址操作加密后的上述程序数据。
16.如权利要求11所述的半导体装置(6、8、26、28、46、48),其特征在于,上述译码部(13、33、53a、53b)译码已混合了伪数据的上述程序数据。
17.如权利要求11所述的半导体装置(6、8、26、28、46、48),其特征在于,上述译码部(13、33、53a、53b)译码已块加密后的上述程序数据。
18.如权利要求11所述的半导体装置(6、8、26、28、46、48),其特征在于,上述译码部(13、33、53a、53b)译码通过数据位的重排加密后的上述程序数据。
19.如权利要求11所述的半导体装置(6、8、26、28、46、48),其特征在于,上述译码部(13、33、53a、53b)译码通过压缩编码加密后的上述程序数据。
20.如权利要求11所述的半导体装置(6、8、26、28、46、48),其特征在于,上述译码部(13、33、53a、53b)具有:第一译码器,译码通过地址操作加密后的上述程序数据;第二译码器,译码混合了伪数据的上述程序数据;第三译码器,译码已块加密后的上述程序数据;第四译码器,译码通过数据位的重排加密后的上述程序数据;第五译码器,译码通过压缩编码加密后的上述程序数据,
上述输入输出部(10、30、50)作为切换器(10、30、50)进行工作,按期望的顺序切换使用第一译码器、第二译码器、第三译码器、第四译码器和第五译码器。
21.一种半导体装置(6、26、46),其特征在于,一体地封装了权利要求1所述的半导体装置(8、28、48)和存储了权利要求1所述的可编程电路的程序数据的存储装置(9、29、49a、49b)。
22.一种电子装置(1、21、41),其特征在于,具有:
半导体装置(6、26、46),所述半导体装置(6、26、46)包括可编程电路(12a、32a、52a)和固定逻辑电路,具有向上述可编程电路(12a、32a、52a)和上述固定逻辑电路输入输出数据的输入输出部(10、30、50),上述输入输出部(10、30、50)通过使从上述可编程电路(12a、32a、52a)输出的信号延迟后从半导体装置输出,对半导体装置的外部掩蔽对于上述可编程电路的数据输出;
存储装置(9、29、49a、49b),存储了上述可编程电路(12a、32a、52a)的程序数据。
CNB2005100783178A 2004-03-05 2005-03-04 半导体装置和电子装置 Expired - Fee Related CN100390760C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP62981/04 2004-03-05
JP2004062981A JP4294514B2 (ja) 2004-03-05 2004-03-05 半導体装置および電子装置

Publications (2)

Publication Number Publication Date
CN1684050A CN1684050A (zh) 2005-10-19
CN100390760C true CN100390760C (zh) 2008-05-28

Family

ID=34909295

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100783178A Expired - Fee Related CN100390760C (zh) 2004-03-05 2005-03-04 半导体装置和电子装置

Country Status (3)

Country Link
US (1) US20050198404A1 (zh)
JP (1) JP4294514B2 (zh)
CN (1) CN100390760C (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941860B2 (en) * 2005-05-13 2011-05-10 Intel Corporation Apparatus and method for content protection using one-way buffers
JP2007234001A (ja) * 2006-01-31 2007-09-13 Semiconductor Energy Lab Co Ltd 半導体装置
EP1983497A1 (en) * 2006-02-06 2008-10-22 Matsushita Electric Industrial Co., Ltd. Secure processing device, method and program
TW200741723A (en) * 2006-04-21 2007-11-01 Holtek Semiconductor Inc Method for calibrating parameter of integrated circuit
WO2008004169A2 (en) * 2006-07-04 2008-01-10 Koninklijke Philips Electronics N.V. Execution of computer instructions with reconfigurable hardware
KR100913025B1 (ko) * 2006-12-27 2009-08-20 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 암호화 방법
US9866370B2 (en) * 2007-12-05 2018-01-09 Itt Manufacturing Enterprises, Llc Configurable ASIC-embedded cryptographic processing engine
WO2009098312A1 (en) * 2008-02-06 2009-08-13 Capis Sprl Method and device for the determination of murmur frequency band
JP5337411B2 (ja) * 2008-06-13 2013-11-06 京セラドキュメントソリューションズ株式会社 情報秘匿化方法および情報秘匿化装置
JP5262578B2 (ja) * 2008-10-27 2013-08-14 富士ゼロックス株式会社 電子機器
US8683210B2 (en) * 2008-11-21 2014-03-25 Verayo, Inc. Non-networked RFID-PUF authentication
CN104617944B (zh) * 2010-06-24 2018-03-16 太阳诱电株式会社 半导体装置
CN102289413B (zh) * 2011-09-05 2014-06-18 汤红梅 一种数据隐藏方法
JP2013097539A (ja) * 2011-10-31 2013-05-20 Mitsutoyo Corp 制御装置および制御プログラム不正読み出し防止方法
US9887833B2 (en) * 2012-03-07 2018-02-06 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channel attacks
US10509918B1 (en) * 2015-09-18 2019-12-17 Hrl Laboratories, Llc One-time obfuscation for polynomial-size ordered binary decision diagrams (POBDDs)
US11822966B2 (en) 2019-08-22 2023-11-21 Nippon Telegraph And Telephone Corporation Accelerator control system and accelerator control method

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388157A (en) * 1991-10-11 1995-02-07 Pilkington Micro-Electronics Limited Data security arrangements for semiconductor programmable devices
CN1274504A (zh) * 1998-07-20 2000-11-22 皇家菲利浦电子有限公司 防止广播数字数据流未授权播放的方法及系统
EP1124330A2 (en) * 2000-02-09 2001-08-16 Algotronix Ltd. Method of using a mask programmed secret key to securely configure a field programmable gate array
US20020051536A1 (en) * 2000-10-31 2002-05-02 Kabushiki Kaisha Toshiba Microprocessor with program and data protection function under multi-task environment
CN1417739A (zh) * 2001-11-06 2003-05-14 全视技术有限公司 具有片内模式识别功能的cmos图像传感器
CN1419195A (zh) * 2001-03-28 2003-05-21 轩崧科技有限公司 自订储存装置保护区域的地址编排顺序的资料保护装置
CN1425987A (zh) * 2001-12-10 2003-06-25 中国科学院软件研究所 强化错乱的分组密码加密方法
CN1444799A (zh) * 2000-07-28 2003-09-24 爱特梅尔股份有限公司 加密可编程逻辑器件
CN1455899A (zh) * 2000-07-25 2003-11-12 有限会社信息安全 保密信息记录媒介、保护方法、保护存储方法及信息访问报警系统
US20040034789A1 (en) * 2001-02-09 2004-02-19 Helmut Horvat Data processing device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6089460A (en) * 1996-09-13 2000-07-18 Nippon Steel Corporation Semiconductor device with security protection function, ciphering and deciphering method thereof, and storage medium for storing software therefor
US6857099B1 (en) * 1996-09-18 2005-02-15 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US6023781A (en) * 1996-09-18 2000-02-08 Nippon Steel Corporation Multilevel semiconductor memory, write/read method thereto/therefrom and storage medium storing write/read program
US6260172B1 (en) * 1997-09-05 2001-07-10 Nippon Steel Corporation Semiconductor device with logic rewriting and security protection function
US6061449A (en) * 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6356637B1 (en) * 1998-09-18 2002-03-12 Sun Microsystems, Inc. Field programmable gate arrays
JP2001339383A (ja) * 2000-05-29 2001-12-07 Hitachi Ltd 認証通信用半導体装置
JP2002150306A (ja) * 2000-09-04 2002-05-24 Minolta Co Ltd 画像処理装置、画像処理方法、画像処理プログラムおよび画像処理プログラムを記録したコンピュータ読取可能な記録媒体
US6959090B1 (en) * 2000-11-20 2005-10-25 Nokia Corporation Content Protection scheme for a digital recording device
US6981153B1 (en) * 2000-11-28 2005-12-27 Xilinx, Inc. Programmable logic device with method of preventing readback
US20020168067A1 (en) * 2001-05-08 2002-11-14 Timofei Kouzminov Copy protection method and system for a field-programmable gate array
JP2003333030A (ja) * 2002-05-16 2003-11-21 Nec Corp タイムシフト出力方法及びタイムシフト出力装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388157A (en) * 1991-10-11 1995-02-07 Pilkington Micro-Electronics Limited Data security arrangements for semiconductor programmable devices
CN1274504A (zh) * 1998-07-20 2000-11-22 皇家菲利浦电子有限公司 防止广播数字数据流未授权播放的方法及系统
EP1124330A2 (en) * 2000-02-09 2001-08-16 Algotronix Ltd. Method of using a mask programmed secret key to securely configure a field programmable gate array
CN1455899A (zh) * 2000-07-25 2003-11-12 有限会社信息安全 保密信息记录媒介、保护方法、保护存储方法及信息访问报警系统
CN1444799A (zh) * 2000-07-28 2003-09-24 爱特梅尔股份有限公司 加密可编程逻辑器件
US20020051536A1 (en) * 2000-10-31 2002-05-02 Kabushiki Kaisha Toshiba Microprocessor with program and data protection function under multi-task environment
US20040034789A1 (en) * 2001-02-09 2004-02-19 Helmut Horvat Data processing device
CN1419195A (zh) * 2001-03-28 2003-05-21 轩崧科技有限公司 自订储存装置保护区域的地址编排顺序的资料保护装置
CN1417739A (zh) * 2001-11-06 2003-05-14 全视技术有限公司 具有片内模式识别功能的cmos图像传感器
CN1425987A (zh) * 2001-12-10 2003-06-25 中国科学院软件研究所 强化错乱的分组密码加密方法

Also Published As

Publication number Publication date
JP4294514B2 (ja) 2009-07-15
US20050198404A1 (en) 2005-09-08
CN1684050A (zh) 2005-10-19
JP2005251017A (ja) 2005-09-15

Similar Documents

Publication Publication Date Title
CN100390760C (zh) 半导体装置和电子装置
US4747139A (en) Software security method and systems
US5224166A (en) System for seamless processing of encrypted and non-encrypted data and instructions
US7945791B2 (en) Protected storage of a datum in an integrated circuit
US20160197899A1 (en) Method of Dynamically Encrypting Fingerprint Data and Related Fingerprint Sensor
US20100208894A1 (en) Encoder and decoder apparatus and methods
US20020166058A1 (en) Semiconductor integrated circuit on IC card protected against tampering
US20030046566A1 (en) Method and apparatus for protecting software against unauthorized use
CN109933481B (zh) 一种jtag接口的解锁系统及jtag解锁控制方法
CN101166085A (zh) 远程解锁方法和系统
WO1990015211A1 (en) Security system
CA2308755A1 (en) Reconfigurable secure hardware apparatus and method of operation
KR20000075917A (ko) 전자 데이터 처리 장치 및 시스템
US20090013183A1 (en) Confidential Information Processing Method, Confidential Information Processor, and Content Data Playback System
US10389530B2 (en) Secure method for processing content stored within a component, and corresponding component
JP4062604B2 (ja) データ処理デバイス
US20010034715A1 (en) Decryption device
JPH01503028A (ja) 暗号化及び解読装置
US7333613B2 (en) Cyphering of the content of a memory external to a processor
CN100557716C (zh) 半导体存储卡及其控制方法
JP2000235523A (ja) 電子式データ処理用回路装置
CN111339544B (zh) 离线下载装置及离线下载方法
US20040049679A1 (en) Authenticating method and device
CN201655334U (zh) 非易失性存储器保护系统
CN101354737A (zh) 一种读取cpu机器码的方法、装置和一种soc芯片

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: 20080528

Termination date: 20140304