半导体装置以及将数据写入到半导体装置的方法

申请号 CN201210211284.X 申请日 2012-06-20 公开(公告)号 CN102843234A 公开(公告)日 2012-12-26
申请人 瑞萨电子株式会社; 发明人 押田大介; 古田茂; 广川祐之; 山崎晓; 藤森隆; 盐田茂雅;
摘要 本 发明 涉及 半导体 装置以及将数据写入到半导体装置的方法。 现有技术 的半导体装置具有不能够有效地确保写入数据时的安全性的问题。本发明的半导体装置具有:独有码生成单元,其生成初始独有码,所述初始独有码是对于装置独有的值并且包含以随机比特形式的错误;第一错误校正单元,其校正初始独有码中的错误以生成中间独有码;第二错误校正单元,其校正中间独有码中的错误以生成第一确定独有码;以及解密单元,其利用所述第一确定独有码解密传输数据,以生成保密信息,所述传输数据是由外部装置利用基于所述中间独有码生成的密钥信息加密保密信息而获得的。
权利要求

1.一种半导体装置,包括:
独有码生成单元,其生成初始独有码,所述初始独有码是对于装置独有的值并且包含以随机比特形式的错误;
第一错误校正单元,其校正初始独有码中的错误以生成中间独有码;
第二错误校正单元,其校正中间独有码中的错误以生成第一确定独有码;以及解密单元,其利用所述第一确定独有码解密传输数据,以生成保密信息,所述传输数据是由外部装置利用基于所述中间独有码生成的密钥信息加密保密信息而获得的。
2.根据权利要求1所述的半导体装置,
其中所述第一错误校正单元从所述外部装置接收比特掩码数据,并利用所述比特掩码数据生成所述中间独有码,所述比特掩码数据指定构成所述初始独有码的比特中的要被掩码的比特,以及
其中所述第二错误校正单元利用预先保持在内部的ECC码生成所述第一确定独有码。
3.根据权利要求1所述的半导体装置,
其中所述第一错误校正单元从所述外部装置接收ECC码并利用所述ECC码生成所述中间独有码,以及
其中所述第二错误校正单元利用指定构成被预先保持在内部的所述初始独有码的比特中的要被掩码的比特的比特掩码数据生成所述第一确定独有码。
4.根据权利要求1至3中任何一项所述的半导体装置,其中在所述外部装置中生成的所述密钥信息是通过在所述外部装置中执行的与所述第二错误校正单元的处理过程相同的处理过程生成的第二确定独有码。
5.根据权利要求1至4中任何一项所述的半导体装置,还包括:标识信息保持单元,其输出作为固定值预设在每一装置中的标识信息,
其中用于所述第一错误校正单元中的错误校正处理的数据是与所述标识信息相关联的数据。
6.根据权利要求5所述的半导体装置,还包括:
校正数据解密单元,其接收用于所述第一错误校正单元中的错误校正处理的并且处于加密状态的数据,执行对所接收的数据的解密处理,并将解密的数据输出至所述第一错误校正单元。
7.根据权利要求1至6中任何一项所述的半导体装置,其中所述初始独有码是物理不可克隆功能PUF数据,其包含由于所述半导体装置的元件中的制造变化而变得不确定的比特。
8.根据权利要求1至7中任何一项所述的半导体装置,还包括:
加密单元,其利用所述保密信息作为加密密钥进行加密通信。
9.根据权利要求1至7中任何一项所述的半导体装置,
其中所述保密信息包含独有的校正数据以及算法表示信息,所述独有的校正数据用于校正作为对于装置独有的值的独有码中的错误,所述错误是以随机比特形式,所述算法表示信息用于从错误校正后的初始独有码生成加密密钥,并且
其中所述半导体装置还包括:
密钥生成单元,其基于所述保密信息和所述独有码生成所述加密密钥;以及加密单元,其利用所述密钥生成单元生成的加密密钥进行加密通信。
10.一种将保密信息写入到半导体装置的数据写入方法,所述半导体装置使用所述保密信息,所述方法包括以下步骤:
对初始独有码执行第一错误校正处理以校正所述初始独有码中的错误,从而生成中间独有码,所述初始独有码是对于所述半导体装置独有的值并且包含以随机比特形式的错误;
对所述中间独有码执行第二错误校正处理以生成第一确定独有码;
在与所述半导体装置不同的外部装置中对所述中间独有码执行与所述第二错误校正处理相同的错误校正处理,以生成第二确定独有码;
将通过在所述外部装置中利用所述第二确定独有码加密所述保密信息而获得的传输数据发送给所述半导体装置;以及
利用所述第一确定独有码解密所述传输数据以获得所述保密信息。
11.根据权利要求10所述的数据写入方法,其中在所述第一错误校正处理中,从所述外部装置接收比特掩码数据,所述比特掩码数据指定构成所述初始独有码的比特中的要被掩码的比特,利用所述比特掩码数据生成所述中间独有码,以及,在所述第二错误校正处理中,利用预先保持在所述装置中的ECC码生成所述第一确定独有码。
12.根据权利要求10所述的数据写入方法,
其中在所述第一错误校正处理中,从所述外部装置接收ECC码,并且利用所述ECC码生成所述中间独有码,以及
其中在所述第二错误校正处理中,利用比特掩码数据生成所述第一确定独有码,所述比特掩码数据指定构成所述初始独有码的比特中的要被掩码的比特,所述初始独有码被预先保持在所述装置中。
13.根据权利要求10至12中任何一项所述的数据写入方法,
其中所述半导体装置输出标识信息,所述标识信息被对于每一装置预设作为固定值,其中所述外部装置保持信息,在所述信息中,用于所述第一错误校正处理的第一校正数据和所述标识信息被彼此关联,以及
其中所述外部装置从所述半导体装置读取所述标识信息,并将与所述标识信息相关联的所述第一校正数据发送到所述半导体装置。
14.根据权利要求13所述的数据写入方法,
其中所述外部装置预先保持处于加密状态的所述第一校正数据,以及
其中所述半导体装置应用通过解密所述加密的第一校正数据而获得的数据,并从所述初始独有码生成所述中间独有码。
15.根据权利要求10至14中任何一项所述的数据写入方法,
其中所述外部装置确定所述第二确定独有码的有效性,以及在确定所述确定的结果是所述第二确定独有码无效的情况下,停止向所述半导体装置发送所述传输数据。
16.根据权利要求15所述的数据写入方法,其中通过利用循环冗余校验CRC码的CRC处理过程确定所述第二确定独有码的有效性。
17.根据权利要求10至16中任何一项所述的数据写入方法,
其中所述外部装置具有直接耦接至所述半导体装置的写入装置以及经由信号路径耦接至所述写入装置的服务器,以及
其中所述服务器经由所述写入装置接收所述中间独有码,对所述中间独有码执行与第二错误校正处理相同错误校正处理以生成第二确定独有码,生成在所述外部装置中通过利用所述第二确定独有码加密所述保密信息而获得的所述传输数据,以及经由所述写入装置将所述传输数据发送至所述半导体装置。
18.根据权利要求17所述的数据写入方法,其中所述外部装置保持第一校正数据以及第二校正数据以便使其分布到所述写入装置和所述服务器,所述第一校正数据用于所述第一错误校正处理,所述第二校正数据用于所述第二确定独有码。
19.根据权利要求10至18中任何一项所述的半导体装置,其中所述初始独有码是物理不可克隆功能PUF数据,其包含由于所述半导体装置的元件中的制造变化而变得不确定的比特。
20.根据权利要求10至19中任何一项所述的数据写入方法,其中所述半导体装置利用所获得的保密信息作为加密密钥进行加密通信。
21.根据权利要求10至19中任何一项所述的数据写入方法,其中所述半导体装置将所获得的保密信息存储在存储单元中。

说明书全文

半导体装置以及将数据写入到半导体装置的方法

[0001] 相关申请的交叉引用
[0002] 通过引用将2011年6月20日提交的日本专利申请No.2011-136133的公开包括申请文件、附图以及摘要整体并入在此。

技术领域

[0003] 本发明涉及半导体装置以及将数据写入到半导体装置的方法,更特别地,涉及保持保密信息以将其保持为对于来自外部的攻击是隐秘的半导体装置,以及将保密信息写入到半导体装置的方法。

背景技术

[0004] 近些年来,提出了许多利用加密技术改善对半导体装置的未授权的访问的抵抗性或防止仿造的安全技术。在所述加密技术中,使用加密密钥。然而该技术具有这样的问题:在攻击者获得了加密密钥时,对半导体装置的非法访问变得可能。因此,要求防止哪些在被泄漏时较不利的信息(诸如,密钥信息)作为保密信息被泄漏到外部。专利文献1至4公开了对作为保密信息之一的密钥信息的安全措施的技术。在专利文献1至4的所有技术中,通过利用根据半导体装置的制造变化而不同的特征值(诸如,ID或PUF(物理不可克隆的功能))来生成诸如密钥信息的保密信息。在专利文献1至4中,由于这样的特征值包括错误,因此在利用这样的特征值生成可靠的保密信息的情况下不得不对特征值执行错误校正处理。通过基于这样的特征值生成保密信息,变得不需要将保密信息保持作为固定值,可以改善半导体装置的安全性。
[0005] 相关技术文献
[0006] 专利文献
[0007] 专利文献1:WO 2008/056612
[0008] 专利文献2:日本未审查专利公开No.2006-179001
[0009] 专利文献3:日本未审查专利申请公开(PCT申请的译文)No.2010-527219[0010] 专利文献4:日本未审查专利申请公开(PCT申请的译文)No.2008-545323发明内容
[0011] 例如,在利用PUF生成保密信息(诸如,密钥信息)的情况下,为了生成保密信息,半导体装置读取PUF并且密钥信息被加密。通过利用半导体装置中的PUF对通过对密钥信息进行加密以将其保持隐秘而获得的数据进行解密,密钥信息可以被安全地存储在半导体装置中。然而,即使在这种情况下,也仍存在其上安装半导体装置的系统的维护人员变成攻击者的可能性。在这样的情况中,即使在将专利文献1至4中公开的技术应用到半导体装置之间的加密通信时,在维护人员通过侧信道攻击(side channel attack)等收集大量的PUF值和利用来自半导体装置的PUF生成的加密数据的情况下,存在保密信息被分析出的可能性。因此,存在这样的问题:即使在应用专利文献1至4中公开的技术时,也不能够充分地改善半导体装置的安全性。
[0012] 在根据本发明的半导体装置和数据写入方法中,半导体装置生成通过对初始独有码(unique code)中的错误进行校正而获得的中间独有码,生成通过对中间独有码中的错误进行校正而获得的第一确定独有码,以及利用所述第一确定独有码对从外部装置发送的传输数据进行解密以获得保密信息。外部装置接收半导体装置生成的中间独有码,并通过利用基于所述中间独有码生成的密钥信息对保密信息进行加密以生成传输数据。通过该操作,根据本发明的半导体装置能够获得加密的保密信息,而不发送/接收供在传输数据的加密中使用的密钥信息本身。因此,实现了与外部装置的高安全性的通信。
[0013] 外部装置具有第一校正数据,供在半导体装置中校正初始独有码中的错误的处理中使用,并且该第一校正数据以加密状态存储在外部装置中。接收加密的第一校正数据的半导体装置对接收的加密的第一校正数据进行解密,并利用解密的第一校正数据生成中间独有码。通过该操作,半导体装置能够执行更高安全性的通信。
[0014] 外部装置具有多个装置(例如,写入装置和服务器),在不直接耦接至该半导体装置的装置(例如,服务器)中生成传输数据,以及经由被直接耦接到该半导体装置的装置(例如,写入装置)将传输数据写入至该半导体装置。利用该配置,可以改善外部装置上的安全性。
[0015] 另外,外部装置保持要被发送到半导体装置的第一校正数据,以及供在密钥信息的生成中使用的第二校正数据,以便使其分布在多个装置中。利用该配置,可以进一步改善外部装置上的安全性。
[0016] 本发明的效果
[0017] 在根据本发明的半导体装置以及将数据写入到半导体装置的方法中,半导体装置的安全性得到改善。

附图说明

[0018] 图1是根据第一实施例的半导体装置以及外部装置的框图
[0019] 图2是示出了根据第一实施例的半导体装置以及外部装置生成的确定独有码的示例的表。
[0020] 图3是示出根据第一实施例的半导体装置以及外部装置的操作的顺序图。
[0021] 图4是根据第二实施例的半导体装置以及外部装置的框图。
[0022] 图5是示出根据第二实施例的半导体装置以及外部装置的操作的顺序图。
[0023] 图6是根据第三实施例的半导体装置以及外部装置的框图。
[0024] 图7是根据第四实施例的半导体装置以及外部装置的框图。
[0025] 图8是根据第五实施例的半导体装置以及外部装置的框图。
[0026] 图9是根据第六实施例的半导体装置以及外部装置的框图。
[0027] 图10是示出根据第六实施例的半导体装置以及外部装置的操作的顺序图。
[0028] 图11是根据第七实施例的半导体装置以及外部装置的框图。
[0029] 图12是根据第七实施例的半导体装置以及利用该半导体装置的加密通信系统的示例的框图,其中利用外部装置写入保密信息。
[0030] 图13是用于解释图12中所示的加密通信系统的操作的流程图
[0031] 图14是用于解释图12中所示的加密通信系统中的共用密钥生成单元的操作的流程图。
[0032] 图15是图12中所示的加密通信系统中共用密钥生成单元处理的独有码的示例的表。
[0033] 图16是示出根据第七实施例的半导体装置以及利用该半导体装置的加密通信系统的另一示例的框图,其中利用外部装置写入保密信息。
[0034] 图17是用于解释图16中所示的加密通信系统的操作的流程图。
[0035] 图18是用于解释图16中所示的加密通信系统中的校正数据生成单元的操作的流程图。
[0036] 图19是示出利用多个半导体装置生成校正数据的情况的图。

具体实施方式

[0037] 第一实施例
[0038] 下面将参考附图说明本发明的实施例。图1是示出根据第一实施例的半导体装置10以及外部装置(例如,写入装置20)的框图。如图1中所示,在第一实施例中,半导体装置
10和外部装置20配置一个数据写入系统1。在半导体装置10中,利用数据写入系统1写入保密信息,并且利用该保密信息进行加密通信。
[0039] 如图1中所示,半导体装置10具有独有码生成单元12、第一错误校正单元(例如,比特掩码电路13)、第二错误校正单元(例如,ECC电路15)、以及解密单元(例如,散列函数解密单元16)。作为伴随上述电路的单元,半导体装置10还具有标识信息保持单元11、存储单元14、以及加密单元17。
[0040] 标识信息保持单元11保持标识信息ID,其是为每一装置预设的固定值。标识信息保持单元11输出标识信息ID到写入装置20。标识信息ID是这样的值,诸如,产品批号、产品管理编号、或产品ID,并且不包含错误。
[0041] 独有码生成单元12生成初始独有码UCp,其是对于装置独有的值,并且包含以随机比特形式的错误。独有码生成单元12利用例如半导体装置10中的存储器元件(诸如,SRAM(静态随机存取存储器))的起动时的初始值,来生成所述初始独有码UCp。初始独有码UCp是从相同设计的电路生成的值,并且是利用使得被实际制造作为半导体装置的电路具有变化的特性生成的码。这样的技术被称作PUF(物理不可克隆功能),并且不要求特别的硬件(诸如,防篡改芯片),即可实现高的数据隐秘性,这是因为难以进行数据的复制。
[0042] 比特掩码电路13校正初始独有码UCp中的错误以生成中间独有码。更具体的,比特掩码电路13通过从外部(例如,写入装置20)获得的第一校正数据(例如,比特掩码数据BM)校正初始独有码UCp中的错误,以生成中间独有码UCb。在第一实施例中,中间独有码UCb被输出到ECC电路15并且还输出到写入装置20。比特掩码电路13中执行的比特掩码处理对应于第一错误校正处理。
[0043] ECC电路15校正中间独有码UCb中的错误以生成第一确定独有码UCm。更具体的,ECC电路15通过将预先保持的第二校正数据(例如,ECC码)应用到中间独有码UCb来校正中间独有码UCb中的错误,以生成第一确定独有码UCm。ECC电路15中执行的通过ECC码校正错误的处理对应于第二错误校正处理。
[0044] 存储单元14将ECC电路15中使用的ECC码存储在半导体装置10中。ECC码是在制造所述半导体装置时写入的值。
[0045] 散列函数解密单元16通过利用第一确定独有码UCm对从外部接收的传输数据HF2进行解密,以获得保密信息(例如,散列函数HF1)。
[0046] 加密单元17加密要发送的信息。更具体地,加密单元17通过利用散列函数HF1作为加密密钥进行加密通信。具体地,加密单元17利用散列函数HF1对要发送的信息进行加密,以生成加密信息并将加密信息输出到外部。
[0047] 如图1中所示,写入装置20具有:存储单元21、22和25,第三错误校正单元(例如,ECC电路23),有效性确定电路(例如,CRC电路24),以及加密单元(例如,散列函数加密单元26)。
[0048] 存储单元21保持通过将标识信息ID与第一校正数据(例如,比特掩码数据BM)关联而获得的信息(例如,标识信息-掩码比特对应表)。存储单元21从半导体装置10读取标识信息ID,并参考标识信息–掩码比特对应表选择与标识信息ID对应的比特掩码数据BM。存储单元21将所选择的比特掩码数据BM发送到半导体装置10。存储单元21具有这样的配置,即,其在不存在标识信息ID时可以不发送比特掩码数据BM到半导体装置10。比特掩码数据BM是指定初始独有码中要被掩码的比特的数据。
[0049] 存储单元22存储所述ECC码和CRC(循环冗余校验)码表。该ECC码与半导体装置10中的存储单元14中存储的ECC码相同。CRC码表预先与半导体装置10所生成的第一确定独有码UCm对应地生成。
[0050] ECC电路23从存储单元22读取ECC码,并对从半导体装置10发送的中间独有码执行利用所读取的ECC码的错误校正处理。也即,在ECC电路23中,执行与半导体装置10中的ECC电路15中的错误校正处理相同的错误校正处理。通过该处理,ECC电路23通过校正所述中间独有码UCb中的错误生成第二确定独有码UCw。第二确定独有码UCw被用作用于对要发送的保密信息进行加密的密钥信息。
[0051] CRC电路从存储单元22中的CRC码表读取与第一确定独有码UCm对应的CRC码。CRC电路24利用该CRC码校验第二确定独有码UCw中的错误。当在第二确定独有码UCw中识别到错误时,CRC电路24确定第二确定独有码UCw无效。当在第二确定独有码UCw中没有检测到错误时,确定第二确定独有码UCw有效。仅当第二确定独有码UCw有效时,CRC电路24将第二确定独有码UCw输出到后级上的电路。另一方面,在第二确定独有码UCw无效的情况下,CRC电路24执行停止写入装置20的操作的处理。当确定第二确定独有码UCw无效时,CRC电路24可以以预定次数为限重复对第二确定独有码UCw的错误校验,直到该码被确定为有效。
[0052] 作为保密信息的散列函数HF1被存储在存储单元25中。散列函数加密单元26从存储单元25读取散列函数HF1,并利用第二确定独有码UCw加密散列函数HF1,以生成传输数据HF2。散列函数加密单元26将传输数据HF2发送到半导体装置10。
[0053] 将说明根据第一实施例的半导体装置和外部装置所生成的确定独有码。图2是示出了根据第一实施例的半导体装置以及外部装置生成的确定独有码的示例的表。
[0054] 首先,半导体装置10从独有码生成单元12生成初始独有码UCp(图2中的(1))。接着,比特掩码电路13利用比特掩码数据BM执行对初始独有码UCp上的预定比特进行掩码的比特掩码处理。比特掩码数据BM是指定初始独有码中要被掩码的比特的数据。通过初始独有码UCp的比特的误比特率确定要被掩码的比特。在该实施例中,将初始独有码UCp中的具有高错误率的比特设置作为在比特掩码数据BM中指定作为要被掩码的比特的比特。在图2中的示例中,初始独有码UCp中的第一和第六比特具有高错误率,从而比特掩码数据BM是“0”。由于其它比特是具有低错误率或具有稳定值的比特,因此比特掩码数据BM是“1”。也即,必须被掩码的比特的比特掩码数据BM是“0”,而不是必须被掩码的比特的掩码数据是“1”。通过利用比特掩码数据BM对初始独有码UCp进行掩码,可以获得经受了删除初始独有码UCp中的第一和第六比特的掩码处理的数据(诸如,中间独有码UCb)(通过“X”指示通过掩码处理删除的比特)。在之后,将通过掩码处理生成的中间独有码UCb左对齐。这种情况下的错误率是每次生成初始独有码UCp时比特的数据以预定的高的可能性改变“0”或“1”的值,并且初始独有码UCp还包括低错误率的比特。
[0055] 接着,利用ECC码(错误校验和校正码)校正所述中间独有码UCb中的错误。在图2中所示的示例中,通过利用ECC码的错误校正处理(下文中,称作ECC处理),将第二比特从“0”校正为“1”。通过ECC处理生成的独有码是第一确定独有码UCm或第二确定独有码UCw。
[0056] 将说明根据第一实施例的数据写入系统1中的写入装置20和半导体装置10的操作。图3是示出根据第一实施例的半导体装置10以及写入装置20的操作的顺序图。
[0057] 如图3中所示,在根据第一实施例的数据写入系统1中,首先,写入装置20从半导体装置10获取标识信息ID(步骤S1)。写入装置20从存储单元21中的数据中选择与接收到的标识信息ID对应的比特掩码数据BM(步骤S2)。随后,写入装置20将所选择的比特掩码数据BM发送到半导体装置10(步骤S3)。
[0058] 半导体装置10利用从写入装置20接收的比特掩码数据BM对初始独有码UCp执行比特掩码处理以生成中间独有码UCb(步骤S4)。在此之后,半导体装置10将中间独有码UCb发送到该半导体装置中的ECC电路15和写入装置20(步骤S6)。
[0059] 在半导体装置10中,ECC电路15将存储单元14中存储ECC码应用到中间独有码UCb,并执行校正所述中间独有码UCb中的错误的处理。ECC电路15生成第一确定独有码UCm(步骤S5)。
[0060] 另一方面,在写入装置20中,ECC电路23将存储单元22中存储的ECC码应用到中间独有码UCb,并执行校正所述中间独有码UCb中的错误的处理。ECC电路23生成第二确定独有码UCw(步骤S7)。随后,写入装置20通过利用存储单元22中存储的CRC码验证第二确定独有码UCw的有效性(步骤S8)。在其中在步骤S8确定第二确定独有码UCw有效的情况下,散列函数加密单元26通过应用CRC电路24的第二确定独有码UCw来利用第二确定独有码UCw加密散列函数HF1,以生成传输数据HF2(步骤S9)。写入装置20将生成的传输数据HF2发送到半导体装置10(步骤S10)。在其中在步骤S8确定第二确定独有码UCw无效的情况下,写入装置20停止该处理。
[0061] 随后,半导体装置10利用在步骤S5中生成的第一确定独有码UCm对接收的传输数据HF2进行解密,以生成散列函数HF1(步骤S11)。半导体装置10利用散列函数HF1开始与另一半导体装置的加密通信(步骤S12)。
[0062] 在根据第一实施例的半导体装置中,通过从写入装置20获得加密的保密信息(例如,散列函数HF1)并利用该半导体装置中生成的第一确定独有码UCm对传输数据HF2解密,可以获得可用的散列函数HF1。通过将加密信息应用作为要从写入装置20发送到半导体装置10的数据,保持了对保密信息的安全性,并且可以将该保密信息写入在半导体装置10中。然而,仅通过应用相关领域中的一般的加密通信来将保密信息写入到半导体装置10,存在不能保持安全性的问题。
[0063] 作为一般性的加密通信技术,存在向发送保密信息的发送侧装置提供公开密钥并向接收保密信息的接收侧装置提供秘密密钥的公开密钥方法,以及在执行通信的装置之间利用共用密钥的共用密钥方法。在采用公开密钥方法作为加密方法的情况下,秘密密钥预先存储在作为接收侧装置的半导体装置中,而公开密钥必须预存储在作为发送侧装置的写入装置中。在采用公开密钥方法的情况下,不需要在半导体装置和写入装置之间接收/发送密钥信息,从而存在能够防止半导体装置和写入装置之间的通信中的密钥信息泄漏的优点。然而,由于半导体装置的分布量比写入装置的分布量大得多,因此该半导体装置在秘密密钥的管理方面存在问题。在采用共用密钥方法作为加密方法的情况下,通过在半导体装置和写入装置两者中预存储共用密钥,存在能够防止半导体装置和写入装置之间的通信中的密钥信息泄漏的优点。然而,在采用共用密钥方法的情况下,存在必须在半导体装置和写入装置两者中都采取防止共用密钥泄漏的措施的问题。在采用公开密钥方法的情况下,除防止密钥信息泄漏的一般措施以外,还存在这样的情况:还需要防止写入装置的窃取的措施。
[0064] 尤其是,在半导体装置10是安装在车辆上的车辆内半导体装置情况下,难以完全维持上述的安全措施。对于车辆维护通常是必要的,和在维护中,存在维护人员操作写入装置的情况。存在任何维护人员是攻击者的险。由于写入装置不仅设置在车制造方的工厂中而且还设置在车销售方等等处,因此难以完全地在所有场所中防止写入装置的窃取。
[0065] 分析一般的半导体装置并非法地获得数据的方法包括:(1)利用FIB(聚焦离子束)处理半导体装置并利用探针物理地分析半导体装置的方法;(2)通过用电磁波(诸如,激光束)照射半导体装置或在电源端子中制造噪声来使CPU失控来非法获取数据的故障树分析;(3)观察半导体装置的消耗电流量并分析密钥数据的泄露分析;以及(4)直接耦接到半导体装置的信号端子来读取信号信息的方法。
[0066] 为了避免这样的非法分析,在要求高安全级别的场合中,使用具有高安全级别的微型计算机(下文中,称作安全微型计算机)。安全微型计算机设置有对布线区域的屏蔽、检测光和信号噪声的功能、通过将随机数信号与信号组合而使电流发散的功能等。
[0067] 如上所述的,通过利用安全微型计算机,能够防止第三方对半导体装置的非法分析。然而,在利用安全微型计算机的情况下,尽管能够防止非法分析,但是出现这样的问题:由于防篡改特性使得半导体装置制造商等不能够执行故障分析和击穿分析。尤其是,由于用在车中车辆内微型计算机(诸如ECU)需要高可靠性,因此对半导体装置的故障分析和击穿分析是必要的。出于这样的原因,其安全级别比安全微型计算机低的一般性微型计算机(下文中,称作一般性微型计算机)广泛用作车辆内微型计算机。在现有技术的车辆内微型计算机中,需要利用一般性微型计算机同时具有改善的安全级别的半导体装置的加密通信系统。
[0068] 通过根据第一实施例的半导体装置和将数据写入到该半导体装置的方法,能够解决该问题。在根据第一实施例的半导体装置10中,对初始独有码UCp执行第一错误校正处理(例如,比特掩码处理)以生成中间独有码UCb。根据第一实施例的半导体装置10将中间独有码UCb发送到半导体装置10中的ECC电路15,并且还发送到写入装置20。在半导体装置10中,在ECC电路15中对中间独有码UCb执行第二错误校正处理(例如,利用ECC码的错误校正处理)以生成第一确定独有码UCm。写入装置20通过ECC电路23对中间独有码UCb执行与第二错误校正处理相同的错误校正处理以生成第二确定独有码UCw,并利用第二确定独有码UCw作为密钥信息加密散列函数HF1以生成传输数据HF2。半导体装置10利用第一确定独有码UCm解密传输数据HF2以生成散列函数HF1。也即,为了获得来自写入装置20的散列函数HF1,根据第一实施例的半导体装置10并不需要在与写入装置20的通信中直接发送/接收密钥信息。因此,根据第一实施例的半导体装置10能够防止作为保密信息的散列函数HF1和用于对该散列函数HF1进行加密/解密处理的密钥信息的泄漏,并且能够增强安全性。
[0069] 根据第一实施例的半导体装置10从初始独有码UCp(例如PUF)生成用于散列函数HF1的解密的密钥信息。在从初始独有码UCp生成密钥信息的情况下,根据第一实施例的半导体装置10须利用第一校正数据(例如,比特掩码数据BM)和第二校正数据(例如,ECC数据)。然而,在根据第一实施例的半导体装置中,比特掩码数据BM是从半导体装置10的外部给定的。因此,在根据第一实施例的半导体装置中,即使在通过非法分析等动作发现ECC码和初始独有码UCp时,也不能够确定第一确定独有码UCm。因此,根据第一实施例的半导体装置10能够防止由非法访问导致的密钥信息泄漏,并实现高安全性。
[0070] 在第一实施例的数据写入系统1中,在写入装置20不有与半导体装置10的识别信息ID对应的比特掩码数据BM时,比特掩码数据BM不发送到半导体装置10。因此,即使假冒的写入装置发送具有恶意的假冒的散列函数到半导体装置10,在半导体装置10中仅生成与原始第一确定独有码UCm不同的假冒的第一确定独有码,并且半导体装置10不能够正常地生成散列函数。另外,在写入装置是假冒的情况下ECC码不同于原始ECC码,从而写入装置侧上生成的第二确定独有码UCw与半导体装置侧上生成的第一确定独有码UCm不匹配。出于这样的原因,假冒的写入装置生成的传输数据不能够在半导体装置侧上正常地执行解密处理。因此,根据第一实施例的半导体装置10能够防止来自假冒的写入装置的具有恶意的散列函数的写入。
[0071] 在根据第一实施例的半导体装置10中,即使在由于非法访问而发生半导体装置10中存储的数据(诸如,标识信息ID、初始独有码UCp、和ECC码)泄漏的情况下,也不能够通过泄漏的数据识别出作为保密信息的散列函数HF1或用于解密散列函数HF1的处理的第一确定独有码UCm。因此,根据第一实施例的半导体装置10能够通过一般性微型计算机等实现而无需利用诸如安全微型计算机的昂贵的半导体装置。另外,由于半导体装置10能够通过一般性微型计算机实现,因此常规维护人员能够容易地分析半导体装置10中的故障。
[0072] 在根据第一实施例的数据写入系统1中,在半导体装置10和写入装置20之间的通信中,发送/接收数据是半导体装置10的标识信息ID、生成第一确定独有码UCm所需的多个校正数据之一,要经受错误校正处理的第一确定独有码UCm(也即,中间独有码UCb)、和加密的散列函数HF1(也即,传输数据HF2)。在根据第一实施例的数据写入系统1中,在半导体装置10和写入装置20之间的通信中,不直接发送/接收作为保密信息的散列函数HF1和用于解密的第一确定独有码UCm。因此,在根据第一实施例的数据写入系统1中,即使在半导体装置10和写入装置20之间的通信路径上进行信号的截取的情况下,也不会泄漏保密数据或直接用于再现保密信息的数据。因此,根据第一实施例的数据写入系统1能够实现半导体装置10和写入装置20之间的通信路径上的高安全性。
[0073] 在根据第一实施例的半导体装置10和写入装置20中,通过比较第一确定独有码UCm和第二确定独有码UCw的处理,能够执行半导体装置10和写入装置20之间的认证(authentication)。也即,根据第一实施例的半导体装置10和写入装置20能够执行认证处理而不执行复杂的计算(诸如,RSA加密)。因此,根据第一实施例的半导体装置10和写入装置20能够仅通过简单计算处理实现数据写入系统1的高安全性。
[0074] 在根据第一实施例的数据写入系统1中,在写入装置20被窃取的情况下,存在写入装置20中存储的比特掩码数据BM和ECC码泄漏的可能性。然而,仅通过泄漏的数据得出第一确定独有码UCm是非常困难的。因此,根据第一实施例的数据写入系统1产生这样的效果:不需要在写入装置20上实现高级别的防窃取措施。考虑到防窃取措施,写入装置20中存储的保密信息(例如,散列函数HF1)优选在使用时输入或保持在采取了信息泄漏防止措施的状态。
[0075] 在根据第一实施例的写入装置20中,在耦接了假冒的半导体装置的情况下,从假冒的半导体装置发送到写入装置20的要经受错误校正处理的第一确定独有码UCm(也即,中间独有码UCb)是不同的,从而写入装置中的ECC电路23生成的第二确定独有码UCw不能正确地生成。因此,通过CRC电路24执行的有效性确定处理,可以发现该假冒的半导体装置。也即,根据第一实施例的写入装置20可以防止半导体装置10的赝品的扩散。
[0076] 通常,半导体装置10所使用的保密信息是半导体装置10的用户的保密事务。为了在半导体装置中存储这样的保密事务同时保持高安全性,用户必须预先向半导体制造商提供保密信息。从用户的观点来看,因此存在这样的问题:使得不能够有效地执行对保密信息的泄漏防止管理。然而,利用根据第一实施例的写入装置20和半导体装置10,用户能够利用写入装置20直接写入保密信息到半导体装置10。也即,利用根据第一实施例的写入装置20和半导体装置10,能够改善用户对保密信息的泄漏防止管理的确信性。另一方面,半导体制造商须将与半导体装置10对应的ECC码和比特掩码数据BM提供给用户。然而,仅通过所提供的数据得出第一确定独有码UCm是非常困难的。也即,在半导体制造商中,也不需要对比特掩码数据BM和ECC码的高级别泄漏对策。
[0077] 上述的CRC电路可以用能够执行检测待处理的数据中的错误或防止错误校正的处理的电路(诸如,奇偶校验电路)取代。ECC电路也可以用有能够校正待处理数据中的错误的另一配置的电路取代。
[0078] 第二实施例
[0079] 图4是根据第二实施例的半导体装置30和外部装置(例如,写入装置40)的框图。如图4中所示,在第二实施例中,数据写入系统2由半导体装置30和写入装置40配置成。
在第二实施例的说明中,对于与第一实施例中的相同的部件,指定与第一实施例中的相同的附图标记,并且将不重复对其说明。
[0080] 如图4中所示,半导体装置30具有作为根据第一实施例的半导体装置10中的第一数据校正单元的ECC电路31以及作为第二数据校正单元的比特掩码电路33。在半导体装置30中,比特掩码数据BM被用作第二数据校正单元中使用的第二校正数据。在图4中,存储单元32被示出为存储比特掩码数据BM的区域。在图4中,附图标记UCe被指派给由ECC电路31生成的中间独有码。
[0081] 如图4中所示,随着半导体装置10变为半导体装置30,生成第二确定独有码UCw的错误校正单元从ECC电路23变为比特掩码电路43。因此,写入装置40具有作为存储比特掩码数据和CRC码表的区域的存储单元42代替存储单元22。在写入装置40中随着半导体装置中的第一错误校正单元从比特掩码电路13变为ECC电路31,与标识信息ID相关联的错误校正数据变为ECC码。因此,在写入装置40中,存储标识信息–ECC码对应表,代替标识-掩码比特对应表。在图4中,作为存储标识信息–ECC码对应表的区域,示出了存储单元41。在接收标识信息ID的情况下,存储单元41输出与该标识信息ID对应的ECC码。ECC码是一种与初始独有码UCp对应地预先生成的码。此外,通过利用ECC码校正另一半导体装置生成的中间独有码中的错误,所生成的确定独有码变得不同于半导体装置10所生成的第一确定独有码UCm。
[0082] 将说明根据第二实施例的半导体装置30以及写入装置40的操作。图5是示出根据第二实施例的半导体装置30以及写入装置40的操作的顺序图。
[0083] 如图5中所示,在根据第二实施例的数据写入系统2中,首先,写入装置40从半导体装置30获得标识信息ID(步骤S21)。写入装置40从存储单元41中的数据中选择与接收到的标识信息ID对应的ECC码(步骤S22)。随后,写入装置40将所选择的ECC码发送到半导体装置30(步骤S23)。
[0084] 半导体装置30利用从写入装置40接收的ECC码对初始独有码UCp执行错误校正处理,以生成中间独有码UCe(步骤S24)。在此之后,半导体装置30将中间独有码UCe发送到该半导体装置中的比特掩码电路33以及写入装置40(步骤S26)。
[0085] 在半导体装置30中,比特掩码电路33将存储单元32中存储的比特掩码数据BM应用于该中间独有码UCe,并执行校正中间独有码UCe中的错误的处理。比特掩码电路33生成第一确定独有码UCm(步骤S25)。
[0086] 另一方面,在半导体装置40,比特掩码电路43将存储单元42中存储的比特掩码数据BM应用于该中间独有码UCe,并执行校正中间独有码UCe中的错误的处理。比特掩码电路43生成第二确定独有码UCw(步骤S27)。随后,写入装置40将比特掩码电路43生成的第二确定独有码发送到CRC电路24,并利用存储在存储单元42中的CRC码验证第二确定独有码UCw的有效性(步骤S28)。在步骤S28中确定第二确定独有码UCw有效的情况下,写入装置40在散列函数加密单元26中利用第二确定独有码UCw加密散列函数HF1以生成传输数据HF2(步骤S29)。写入装置40将生成的传输数据HF2发送到半导体装置30(步骤S30)。在其中在步骤S8确定第二确定独有码UCw无效的情况下,写入装置40停止该处理。
[0087] 随后,半导体装置30利用在步骤S25中生成的第一确定独有码UCm对接收的传输数据HF2进行解密,以生成散列函数HF1(步骤S31)。半导体装置30利用散列函数HF1开始与另一半导体装置的加密通信(步骤S32)。
[0088] 如上所述的,在第二实施例中,第一错误校正处理和第二错误校正处理的顺序与第一实施例中的相反。此外,在处理的顺序相反的情况下,在半导体装置30和写入装置40之间也不直接发送/接收密钥信息和保密信息。因此,以与第一实施例类似的方式,在第二实施例中也防止了密钥信息和保密信息泄漏,并且可以实现高的安全性。
[0089] 在半导体装置30和写入装置40之间发送/接收的数据的基本性质与第一实施例中的相同。因此,以与第一实施例类似的方式,在第二实施例中也可以改善在针对半导体装置的仿造的措施、针对写入装置的窃取的措施,针对保密信息等的泄漏的措施方面的安全性。
[0090] 第三实施例
[0091] 图6是根据第三实施例的半导体装置50和外部装置(例如,写入装置60)的框图。如图6中所示,在第三实施例中,数据写入系统3由半导体装置50和写入装置60配置成。
在第三实施例的说明中,对于与第一实施例中的相同的部件,指定与第一实施例中的相同的附图标记,并且将不重复对其说明。
[0092] 如图6中所示,根据第三实施例,半导体装置60保持处于加密状态的标识–比特掩码对应表。在图6中,具有加密的标识信息–比特掩码对应表的区域被示出为存储单元61。在接收标识信息ID的情况下,存储单元61输出与该标识信息ID对应的经受了加密处理的比特掩码数据BME。比特掩码数据BME被例如通过共用密钥方法加密。在数据被存储在存储单元61中之前执行加密比特掩码数据的处理。原因在于:通过不在写入装置60中保持共用密钥CK的信息,增加了比特掩码数据的隐秘性。
[0093] 如图6中所示,通过向根据第一实施例的半导体装置10增加比特掩码解密单元51而获得根据第三实施例的半导体装置50。比特掩码解密单元51保持用于加密比特掩码数据的共用密钥CK的信息。比特掩码解密单元51利用该共用密钥CK对加密的比特掩码数据BME进行解密,以生成未加密的比特掩码数据BM,并发送该比特掩码数据BM到比特掩码电路13。
[0094] 根据第三实施例的数据写入系统3的操作仅在添加了比特掩码数据解密处理这点上不同于根据第一实施例的数据写入系统1的操作。因此,在此将不对其进行说明。
[0095] 如上所述的,根据第三实施例的写入装置60以加密的状态保持用于半导体装置50的第一错误校正处理的校正数据。因此,即使在写入装置60被窃取的情况下,根据第三实施例的写入装置60也具有增加的第一校正数据(例如,比特掩码数据)的隐秘性。
[0096] 标识信息ID可以用作用于对存储在存储单元61中的比特掩码数据进行解密的密钥。在这种情况下,半导体装置50中的比特掩码解密单元51不是必需的。存储单元61将被正确解密的比特掩码数据识别作为与该标识信息ID对应的数据,并将解密的比特掩码数据BM发送到半导体装置50。
[0097] 第四实施例
[0098] 图7是根据第四实施例的半导体装置10和外部装置的框图。如图7中所示,在第四实施例中,外部装置由写入装置70和服务器73配置而成。在第四实施例中,数据写入系统4由半导体装置10、写入装置70、和服务器73配置而成。在第四实施例中,对于与第一实施例中的相同的部件指派与第一实施例中的相同的附图标记,并且将不重复对其说明。
[0099] 在第四实施例中,由服务器73生成要写入在半导体装置10中的传输数据HF2。半导体装置10和服务器73经由例如公共网络彼此耦接。写入装置70中间介于半导体装置10和服务器73之间的通信。
[0100] 写入装置70具有数据发送/接收单元71和72。数据发送/接收单元71是与半导体装置10的接口电路,并且基于可以发送数据到半导体装置10/从半导体装置10接收数据的协议操作。数据发送/接收单元71执行与数据发送/接收单元72的通信。数据发送/接收单元72基于发送数据到服务器73/从服务器73接收数据的协议操作。尽管在该实施例中写入装置70配置有两个数据发送/接收单元,但是,写入装置70也可以配置有一个数据发送/接收单元。
[0101] 服务器73具有根据第一实施例的写入装置20的所有功能,并执行与写入装置20的基本上相同的操作。
[0102] 如上所述的,在其中执行到半导体装置10的数据写入处理的场所中,并不必须存在生成通过基于中间独有码UCb加密保密信息获得的传输数据HF2的功能。
[0103] 在根据第四实施例的数据写入系统4中,由服务器73执行基于中间独有码UCb生成传输数据HF2的处理。服务器73可以安装在任何场所中,只要在该场所中可以经由公共网络或专用线路进行通信即可。因此,服务器73可以安装在其中半导体装置10的用户(例如,车制造商可以直接管理该服务器73)的场所中,并且写入装置70可以安装在维护厂等中。以这样的方式,半导体装置10的用户可以更加直接地管理保密信息。即使在写入装置70被窃取的情况下,在写入装置70中也不存在要保持隐秘的信息,从而可以防止数据泄漏。因此,在根据第四实施例的数据写入系统4中,相比其它实施例可以更加增加安全性。
[0104] 第五实施例
[0105] 图8是根据第五实施例的半导体装置10和外部装置的框图。如图8中所示,在第五实施例中,外部装置配置有写入装置74和服务器75。在该第五实施例中,数据写入系统5配置有半导体装置10、写入装置74、和服务器75。如图8中所示,第五实施例是对第四实施例的修改。在下文中,将主要说明第四和第五实施例之间的不同点。
[0106] 根据第五实施例的数据写入系统5具有如同写入装置70的写入装置74,其包括存储比特掩码数据BM的存储单元21。根据第五实施例的数据写入系统5还具有通过从服务器73消除存储比特掩码数据BM的存储单元21而获得的服务器75。也即,在该第五实施例中,生成通过基于中间独有码UCb对保密信息进行加密获得的传输数据HF2的根据第一实施例的写入装置20的配置被划分到写入装置74和服务器75。此外,在划分根据第一实施例的写入装置20的配置的情况下,根据第五实施例的数据写入系统5可以执行与根据第一实施例的数据写入系统的相同的处理。也即,根据第五实施例的数据写入系统5可以如同根据第一实施例的数据写入系统1那样实现高安全性。
[0107] 如同根据第四实施例的数据写入系统4那样,根据第五实施例的数据写入系统5利用服务器作为外部装置。因此,在该第五实施例中也可以如同第四实施例中那样增加安全性。
[0108] 第六实施例
[0109] 图9是根据第六实施例的半导体装置80和外部装置(例如,写入装置90)的框图。如图9中所示,根据第六实施例的数据写入系统6配置有半导体装置80和写入装置90。在第六实施例的说明中,对于与第一实施例中的相同部件指派与第一实施例中的相同的附图标记,将不重复对其说明。
[0110] 如图9中所示,半导体装置80是通过将信息存储单元81加到根据第一实施例的半导体装置10而获得的。写入装置90是通过向根据第一实施例的写入装置20添加写入信息生成单元91而获得的。在根据第六实施例的数据写入系统6中,写入信息生成单元91生成通过将传输数据HF2和增加传输数据HF2的隐秘性的伪值Dd合并而获得的写入信息。半导体装置80将通过写入信息生成单元91生成的写入信息保持在写入信息存储单元81中,并且利用第一确定独有码UCm从写入信息存储单元81读取传输数据HF2。在下文中,将特别说明写入信息存储单元81和写入信息生成单元91。
[0111] 写入信息存储单元81具有独有码对应信息生成单元(例如,摘要(digest)生成单元82)、存储器区域83、和存储器控制器84。
[0112] 摘要生成单元82根据第一确定独有码UCm生成独有码对应信息(例如,摘要值DIm)。在第六实施例中,摘要生成单元82用作独有码对应信息生成单元。作为独有码对应信息生成单元,可以使用只要其根据第一确定独有码UCm生成与地址值唯一对应的信息的任何电路,以及在摘要生成单元的算法以外的算法下操作的电路。
[0113] 在存储器区域83中,通过对保密信息进行加密而获得的传输数据HF2被存储在与摘要值DIm相关联的区域(例如,在摘要值DIm是待访问地址的情况下,由摘要值DIm指示的区域)中。存储器区域83被非易失性存储器,诸如,闪存存储器,并且是即使在电源中断时也保持所存储的信息的存储装置。
[0114] 存储器控制器84基于摘要值DIm生成用于访问存储器区域83的地址,并从与该地址对应的区域中读取信息。在存在来自写入装置90的写入指令的情况下,存储器控制器84根据该写入指令在存储器区域83中写入信息。
[0115] 更具体地,由写入装置90生成存储在写入信息存储单元81中的传输数据HF2。在写入传输数据HF2时,写入装置90通过合并伪值Dd和传输数据HF2而发布写入指令。对于存储传输数据HF2的区域,写入装置90指定第二确定独有码UCw的摘要值DIw作为传输数据HF2的写入地址。利用由半导体装置80的摘要生成单元82根据第一确定独有码UCm生成的摘要值DIm作为读取地址,存储器控制器84读取传输数据HF2。
[0116] 写入信息生成单元91具有摘要生成单元92、伪值生成电路93、选择器94和缓冲器95。
[0117] 摘要生成单元92通过与摘要生成单元82的相同的算法根据第二确定独有码UCw唯一地生成摘要值DIw。在半导体装置80是合法的产品时,供给给摘要生成单元92的第二确定独有码UCw与供给给摘要生成单元92的第一确定独有码UCm相同。也即,由摘要生成单元92生成的摘要值DIw与由半导体装置80的摘要生成单元82生成的摘要值DIm相同。
[0118] 伪值生成电路93生成伪值Dd,其被与传输数据HF2一起写入在半导体装置80的存储器区域83中。伪值Dd是通过对与散列函数HF1不同的值进行加密而获得的假的加密信息。
[0119] 选择器94是选择要写入在缓冲器95中的信息的电路。缓冲器95是临时地存储伪值Dd和传输数据HF2的存储装置。缓冲器95是例如非易失性存储器,诸如,DRAM(动态随机存取存储器)。缓冲器95优选是具有与半导体装置80的存储器区域83的相同容量的存储装置。
[0120] 更具体地,在将传输数据HF2写入到缓冲器95时,选择器94通过与在半导体装置80的存储器控制器84利用摘要值DIw执行读取操作时相同的算法将信息写入到缓冲器95。例如,在写入装置90中,选择器94将传输数据HF2写入在缓冲器95的区域中的由摘要值DIw所指示的地址的区域中,并将伪值Dd写入到缓冲器95中的由另一地址所指示的区域。写入装置90通过合并存储在缓冲器95中的信息发布待发送到半导体装置80的指令。
[0121] 现在将说明根据第六实施例的半导体装置80和写入装置90的操作。图10是示出根据第六实施例的半导体装置80和写入装置90的操作的顺序图。
[0122] 如图10中所示,在根据第六实施例的数据写入系统6中,首先,写入装置90从半导体装置80获得标识信息ID(步骤S41)。写入装置90从存储单元21中的数据中选择与接收到的标识信息ID对应的比特掩码数据BM(步骤S42)。随后,写入装置90将所选择的比特掩码数据BM发送到半导体装置80(步骤S43)。
[0123] 半导体装置80利用从写入装置90接收的比特掩码数据BM对初始独有码UCp执行比特掩码处理,以生成中间独有码UCb(步骤S44)。在此之后,半导体装置80将中间独有码UCb发送到ECC电路15和写入装置90(步骤S46)。
[0124] 在半导体装置80中,ECC电路15将存储单元14中存储ECC码应用到中间独有码UCb,并执行校正所述中间独有码UCb中的错误的处理。ECC电路15生成第一确定独有码UCm(步骤S45)。
[0125] 另一方面,在写入装置90中,ECC电路23将存储单元22中存储的ECC码应用到中间独有码UCb,并执行校正所述中间独有码UCb中的错误的处理。ECC电路23生成第二确定独有码UCw(步骤S47)。随后,写入装置90通过利用存储单元22中存储的CRC码验证第二确定独有码UCw的有效性(步骤S48)。在步骤S48中确定第二确定独有码UCw有效的情况下,写入装置90利用第二确定独有码UCw加密散列函数HF1以生成传输数据HF2(步骤S49)。
[0126] 随后,写入装置90在伪值生成电路93中生成伪值Dd(步骤S50)。写入装置90还在摘要生成单元92中根据第二确定独有码UCw生成摘要值DIw(步骤S51)。写入装置90合并伪值Dd和传输数据HF2,并将合并的数据存储在缓冲器95中(步骤S52)。在此之后,写入装置90发送伪值Dd和传输数据HF2到半导体装置80(步骤S53)。
[0127] 随后,半导体装置80将写入装置90生成的传输数据HF2和伪值Dd存储到存储器区域83中(步骤S54)。在此之后,半导体装置80在摘要生成单元82中利用第一确定独有码UCm生成摘要值DIm(步骤S55)。半导体装置80从存储器区域83中由与摘要值DIm对应的地址指示的区域读取传输数据HF2,并利用在步骤S45中生成的第一确定独有码UCm解密传输数据HF2以生成散列函数HF1(步骤S56)。半导体装置80利用散列函数HF1开始与另一半导体装置的加密通信(步骤S57)。
[0128] 在根据第六实施例的半导体装置80中,加密的传输数据HF2存储在这样的区域中,该区域与根据第一确定独有码UCm生成的独有码对应信息(例如,摘要值DIm)相关联的区域有关。结果,在半导体装置80中,传输数据HF2存储在这样的区域中,该区域在装置之间改变,从而使得存储传输数据HF2的该区域本身可以相对于攻击者隐藏。因此,存储在根据第六实施例的半导体装置80中的传输数据HF2的安全性可以得到改善。在根据第六实施例的半导体装置80中,可以改善安全性而无需使用安全微型计算机。
[0129] 在根据第六实施例的半导体装置80中,传输数据HF2存储在作为可以由CPU(中央处理单元)等访问的区域的存储器区域中。然而,所存储的传输数据HF2是利用具有与第一确定独有码UCm相同的值的第二确定独有码UCw加密的信息。在根据第六实施例的半导体装置80中,根据需要生成散列函数HF1。因此,在维护等时,具有与作为传输数据HF2原始信息的散列函数HF1对应的加密密钥的维护人员可以分析散列函数HF1中的故障。另一方面,即使在攻击者能够读取传输数据HF2的情况下,攻击者也不能够理解传输数据HF2加密的算法,从而攻击者不能够从传输数据HF2解密出散列函数HF1。也即,在根据第六实施例的半导体装置80中,能够改善安全性而不牺牲对作为保密信息的散列函数HF1的保护性。
[0130] 在该根据第六实施例的数据写入系统6中,通过利用系统本身的独有码UCw加密散列函数HF1,生成传输数据HF2。因此,在解密该传输数据HF2时,对于根据第六实施例的半导体装置80仅使用自身的第一确定独有码UCm足以,并且不需要通过耦接到服务器的数据库等来获取加密密钥以用于解密。也即,根据第六实施例的半导体装置80不需要对于到服务器等的耦接的安全措施。
[0131] 另外,在根据第六实施例的半导体装置80中,作为存储传输数据HF2的存储器区域的容量,不需要确保大于写入装置90的缓冲器95的容量。因此,能够有效地使用根据第六实施例的半导体装置80中的存储器区域。
[0132] 在第六实施例中,在合并伪数据Dd和传输数据HF2的状态下执行从写入装置90到半导体装置80的写入。以这样的方式,即使在对从写入装置90到半导体装置80的通信路径进行攻击(诸如,侧信道攻击)的情况下,攻击者也不能够区分伪值Dd和传输数据HF2。在散列函数HF1的信息从写入装置90发送到半导体装置80时,发送通过加密该散列函数HF1获得的传输数据HF2。因此,即使在攻击者能够确定传输数据HF2时,只要加密算法未知,攻击者就不能获得散列函数HF1。从这样的观点来看,根据第六实施例的半导体装置80和写入装置90也能够改善对作为保密信息的散列函数HF1的安全性。
[0133] 第七实施例
[0134] 图11是根据第七实施例的半导体装置100和外部装置(例如,写入装置200)的框图。如图11中所示,根据第七实施例的数据写入系统7配置有半导体装置100和写入装置200。
[0135] 半导体装置100是通过将根据第一实施例的半导体装置1的加密单元17改变为通信处理单元101而获得的。由于半导体装置100中的解密单元解密写入数据,因此该解密单元被示出作为数据解密单元16。通信处理单元101具有存储单元。通过由数据解密单元16对接收数据执行解密处理而获得的写入数据DA1被存储在该存储单元中。通信处理单元101是使用存储在存储单元中的写入数据操作的电路。写入装置200使写入数据DA1代替散列函数HF1作为保密信息被写入。在图11中,示出了存储写入数据DA1的存储单元225。在图11中,数据加密单元226被示出为利用第二确定独有码UCw加密写入数据DA1以生成传输数据DA2的电路。由于数据加密单元226的操作与第一实施例中的散列函数加密单元26的操作基本上相同,因此将不对其进行说明。
[0136] 在第七实施例中,将说明使用写入在半导体装置中的信息的方法。更具体地,将说明使用存储的写入数据DA1操作的通信处理单元101(或半导体装置)的示例。图12示出了配置有半导体装置的加密通信系统8的示例,其中,通过图7中所示的数据写入系统7写入写入数据DA1。在图12中所示的示例中,假设被接收作为保密信息的写入数据包括独有的校正数据和算法表示信息,该独有的校正数据是对装置独有的值并且用于校正包含以随机比特形式的错误的独有码中的错误,所述算法表示信息用于从经受错误校正的初始独有码生成加密密钥。图12中所示的半导体装置的电路块的配置对应于通信处理单元101的配置的示例。
[0137] 如图12中所示,根据第七实施例的加密通信系统8具有半导体装置ICa(110)和半导体装置ICb(120)。半导体装置110具有独有码生成单元111、存储单元112、共用密钥生成单元113、和加密单元114。
[0138] 独有码生成单元111生成对于半导体装置110独有的独有码UC(a),并将其输出到共用密钥生成单元113。独有码生成单元111生成的独有码UC(a)具有与半导体装置1中的独有码生成单元12生成的初始独有码相同的性质。因此,可以使用独有码生成单元12代替该独有码生成单元111。
[0139] 存储单元112能够存储校正数据CD(a)、共用密钥生成单元113生成的共用密钥CK(a)、以及半导体装置120的公开密钥PK(b)。校正数据CD(a)对应于写入在半导体装置ICa中的写入数据。存储单元112具有例如易失性存储器和非易失性存储器。校正数据CD(a)和公开密钥PK(b)被存储在非易失性存储器中,而共用密钥CK(a)被存储在易失性存储器中。因此,存储单元112临时地存储共用密钥CK(a),并且在半导体装置110的电源被关断时,共用密钥CK(a)的信息丢失。
[0140] 共用密钥生成单元113利用从独有码生成单元111输出的独有码UC(a)和存储在存储单元112中的校正数据CD(a)生成共用密钥CK(a)。
[0141] 独有码生成单元111生成的独有码UC(a)是包含这样的比特的值的数据,该比特的值由于在生成该独有码时的外部因素(诸如,温度电压等)而波动。因此,独有码生成单元111生成的独有码UC(a)包括三种比特:(1)具有稳定值的比特,(2)以高的可能性波动的比特(也即,值中的波动相对大的比特),以及(3)以低的可能性波动的比特(也即,值中的波动相对小的比特)。以这样的方式,独有码生成单元111生成的独有码UC(a)包括(2)以高的可能性波动的比特以及(3)以低的可能性波动的比特。因此,该独有码UC(a)具有每次其被生成时都不同的值。
[0142] 可以在制造工艺中掌握以高的可能性波动的比特。通过在制造工艺中确定每一所述比特,可以生成用于对以高的可能性波动的比特进行掩码的掩码数据。通过利用掩码数据对独有码生成单元111生成的独有码UC(a)进行掩码,能够消除独有码UC(a)中包括的以高的可能性波动的比特。由于以高的可能性波动的比特的位置在半导体装置之间变化,因此掩码数据是对于半导体装置独有的数据。
[0143] 由于以低的可能性波动的比特由于外部因素、剩余电荷等而波动,因此难以预测该比特。因此,对于以低的可能性波动的比特,在制造时生成以例如BCH码或里德-所罗码等表示的ECC码,并利用该ECC码校正错误。下面,将具体地说明共用密钥生成单元113的操作。
[0144] 图14是用于解释共用密钥生成单元113的操作的流程图,图15是示出共用密钥生成单元113处理的独有码的示例的表。首先,共用密钥生成单元113从独有码生成单元111读取独有码UC(a)(步骤S71)。此时读取的独有码UC(a)是未经受错误校正的独有码。
[0145] 随后,共用密钥生成单元113利用校正数据CD(a)中包括的掩码数据对所读取的独有码UC(a)进行掩码(步骤S72)。该掩码数据是用于将独有码UC(a)的比特中的具有高错误率的比特掩码的数据。在图15中所示的示例中,由于独有码UC(a)中的第一和第六比特具有高错误率,因此掩码数据是“0”。由于其它比特具有低错误率或稳定的值,因此掩码数据是“1”。也即,用于必须被掩码的比特的掩码数据是“0”,而用于不必须被掩码的比特的掩码数据是“1”。通过利用掩码数据对独有码UC(a)进行掩码,能够获得经受了消除独有码UC(a)中的第一和第六比特的掩码处理的数据(通过掩码处理消除的比特以“X”指示)。在此之后,经受了掩码处理的独有码UC(a)被左对齐。
[0146] 利用校正数据CD(a)中包括的ECC码(错误校验和校正码),校正经受了掩码处理的独有码UC(a)中的错误(步骤S73)。在图15所示的示例中,通过利用ECC码的错误校正将第一比特从“0”校正为“1”。
[0147] 接着,利用校正数据CD(a)中包括的运算参数,对经受了错误校正的独有码UC(a)执行预定的操作(步骤S74)。在图15中所示的示例中,对错误校正了的独有码UC(a)执行“非”操作。经受该操作的独有码UC(a)成为共用密钥CK(a)。该非操作是一种示例。对错误校正了的独有码UC(a)执行的操作可以是任何操作。通过改变运算参数,可以根据需要改变共用密钥CK(a)。通过利用运算参数对错误校正了的独有码UC(a)执行预定的操作,可以使共用密钥CK(a)成为不与独有码UC(a)明显类似的码。因此,可以进一步改善安全级别。对错误校正了的独有码UC(a)执行的操作可以省略。在这种情况下,经受利用掩码数据和ECC码的错误校正的独有码UC(a)成为共用密钥CK(a)。以这样的方式生成的共用密钥CK(a)被输出到存储单元112和加密单元114。
[0148] 校正数据CD(a)中包括的运算参数、ECC码、和掩码数据被预先生成,作为对于半导体装置110独有的数据,并被存储在存储单元112中。
[0149] 如上所述的,共用密钥生成单元113不仅具有生成共用密钥CK(a)功能而且还具有利用校正数据CD(a)校正独有码UC(a)的功能。类同地,图12中所示的秘密密钥生成单元123作为利用校正数据CD校正独有码UC的独有码校正单元。尽管为了方便起见,对于本申请文件中生成的密钥,生成单元被表示为共用密钥生成单元、秘密密钥生成单元、和公开密钥生成单元,然而生成单元的配置和操作基本上彼此类似。
[0150] 图12中的加密单元114利用半导体装置120的公开密钥PK(b)对共用密钥生成单元113生成共用密钥CK(a)进行加密。用于该加密的公开密钥PK(b)可以被预先从半导体装置120发送到半导体装置110,并存储在存储单元112中。当在加密单元114中加密该共用密钥CK(a)时,可以将用于该加密的公开密钥PK(b)直接地从半导体装置120供应到加密单元114。
[0151] 半导体装置120具有独有码生成单元121、存储单元122、秘密密钥生成单元123、和加密单元124。独有码生成单元121生成对于半导体装置120独有的独有码UC(b),并将其输出到秘密密钥生成单元123。独有码生成单元121的配置和操作基本上与独有码生成单元111的类似。
[0152] 存储单元122可以存储校正数据CD(b)、公开密钥PK(b)、和通过解密单元解密的共用密钥CK(a)。校正数据CD(b)对应于要被根据第七实施例的数据写入系统7写入的写入数据。存储单元122具有例如易失性存储器和非易失性存储器。校正数据CD(b)和公开密钥PK(b)被存储在非易失性存储器中,而共用密钥CK(a)被存储在易失性存储器中。因此,存储单元122临时地存储共用密钥CK(a),并且在半导体装置120的电源被关断时,共用密钥CK(a)的信息丢失。
[0153] 秘密密钥生成单元123利用独有码UC(b)和校正数据CD(b)生成半导体装置120的秘密密钥SK(b)。在秘密密钥生成单元123中生成秘密密钥SK(b)的方法基本上与在共用密钥生成单元113中生成共用密钥CK(a)的方法类似。
[0154] 解密单元124利用秘密密钥SK(b)对半导体装置110的加密单元114加密的共用密钥CK(a)’进行解密,以生成共用密钥CK(a)。
[0155] 接着,将参考图13中所示的流程图说明根据该实施例的加密通信系统的操作。首先,半导体装置ICb(120)将该半导体装置ICb(120)的公开密钥PK(b)发送给半导体装置ICa(110)(步骤S61)。所发送的公开密钥PK(b)存储在半导体装置110的存储单元112中。
[0156] 半导体装置110的共用密钥生成单元113利用从独有码生成单元111输出的独有码UC(a)和存储在存储单元112中的校正数据CD(a)生成共用密钥CK(a)(步骤S62)。加密单元114利用半导体装置120的公开密钥PK(b)对共用密钥生成单元113生成的共用密钥CK(a)进行加密,以生成加密的共用密钥CK(a)’(步骤S63)。在此之后,加密的共用密钥CK(a)’被从半导体装置110发送到半导体装置120(步骤S64)。
[0157] 半导体装置120的秘密密钥生成单元123利用独有码UC(b)和校正数据CD(b)生成半导体装置120的秘密密钥SK(b)(步骤S65)。解密单元124利用秘密密钥SK(b)对加密的共用密钥CK(a)’进行解密以生成共用密钥CK(a)(步骤S66)。通过该处理,半导体装置110和120两者都可以保持共用密钥CK(a)。因此,半导体装置110和120可以利用该共用密钥CK(a)进行加密通信(步骤S67)。步骤的顺序可以适当地改变,除非有相反说明。例如,与半导体装置110的步骤S62和S63的执行并行地,半导体装置120可以执行步骤S65。
[0158] 在现有技术中,在半导体装置ICx和ICy之间利用共用密钥CK(x)执行加密通信的情况下,半导体装置ICx和ICy必须共享该共用密钥CK(x)。在半导体装置ICx具有共用密钥CK(x)时,半导体装置ICx利用预先获得的公开密钥PK(y)加密该共用密钥CK(x),并将其发送给半导体装置ICy。半导体装置ICy利用该半导体装置ICy的秘密密钥SK(y)对加密的共用密钥CK(x)’进行解密以获得共用密钥CK(x)。通过按照公开密钥加密方法将共用密钥CK(x)从半导体装置ICx发送到半导体装置ICy,半导体装置ICx和ICy可以共享共用密钥CK(x)而不被第三方知晓。以这样的方式,半导体装置ICx和ICy可以利用共用密钥加密方法进行加密通信。
[0159] 在将共用密钥CK(x)从ICx发送到ICy时,由于共用密钥CK(x)是加密的,因此共用密钥CK(x)的信息不被泄漏。然而,重要的数据(诸如,共用密钥CK(x)和秘密密钥SK(y))存储在半导体装置(半导体芯片)ICx和ICy的非易失性存储器(存储单元)中。因此存在这样的问题:在半导体装置被非法分析时,诸如共用密钥CK(x)和秘密密钥SK(y)的重要数据被泄漏。
[0160] 相反,在根据本实施例的加密通信系统中,半导体装置110的共用密钥生成单元113利用对于半导体装置110独有的独有码UC(a)和校正数据CD(a)生成共用密钥CK(a)。
半导体装置120的秘密密钥生成单元123利用对于半导体装置120独有的独有码UC(b)和校正数据CD(b)生成半导体装置120的秘密密钥SK(b)。因此,由于诸如共用密钥CK(a)和秘密密钥SK(b)的重要数据不是直接存储在存储单元112和122中,因此即使半导体装置被非法地分析,诸如共用密钥CK(a)和秘密密钥SK(b)的重要数据也不被泄漏。
[0161] 在根据第七实施例的加密通信系统8中,由于诸如共用密钥CK(a)和秘密密钥SK(b)的重要数据不是直接存储在存储单元112和122中,因此即使半导体装置被非法地分析,诸如共用密钥CK(a)和秘密密钥SK(b)的重要数据也不被泄漏。因此,即使在半导体装置110和120由安全级别相对低的一般性微型计算机配置时,也可以实现高安全级别。
[0162] 尽管用于生成共用密钥CK(a)和秘密密钥SK(b)的校正数据CD(a)和CD(b)具有比共用密钥CK(a)和秘密密钥SK(b)低的安全级别,但是校正数据CD(a)和CD(b)仍具有相对高的安全级别。因此,为了防止校正数据CD(a)和CD(b)被泄漏到第三方,对于其中存储校正数据CD(a)和CD(b)的半导体装置110和120,可以使用安全微型计算机。
[0163] 在根据第七实施例的加密通信系统8中,尽管校正数据CD(a)和CD(b)对于生成密钥信息是非常重要的。通过利用根据第七实施例的数据写入系统7,可以将所述重要数据写入在半导体装置中同时保持高的安全性。
[0164] 第八实施例
[0165] 在第八实施例中,将说明利用通过根据第七实施例的数据写入系统7将写入数据写入其中的半导体装置的另一示例。图16是根据第八实施例的加密通信系统9的框图。图16中所示的半导体装置的电路块对应于图11中所示的通信处理单元101中的电路。
[0166] 根据第八实施例的加密通信系统9具有半导体装置ICa(130)(第一半导体装置)和半导体装置ICz(140)(第二半导体装置)。半导体装置ICa(130)和另一半导体装置(未示出)形成安全网络。在该实施例中,将说明向包括半导体装置ICa(130)的安全网络新添加半导体装置ICz(140)的情况。
[0167] 半导体装置130具有独有码生成单元131、存储单元132、共用密钥生成单元(第一共用密钥生成单元)133、和校正数据生成单元134。
[0168] 独有码生成单元131生成对于半导体装置130独有的独有码UC(a)(第一独有码),并将其输出到共用密钥生成单元133。独有码生成单元131生成的独有码UC(a)具有与半导体装置1的独有码生成单元12生成的初始独有码相同的性质。因此,可以使用独有码生成单元12代替该独有码生成单元131。
[0169] 存储单元132可以存储共用密钥生成单元133生成的共用密钥CK(a)(第一共用密钥)和校正数据CD(a)(第一校正数据)。存储单元132具有例如易失性存储器和非易失性存储器。校正数据CD(a)存储在非易失性存储器中,而共用密钥CK(a)存储在易失性存储器中。因此,存储单元132临时地存储共用密钥CK(a),并且在半导体装置130的电源被关断时,共用密钥CK(a)的信息被擦除。
[0170] 共用密钥生成单元133利用从独有码生成单元131输出的独有码UC(a)和存储在存储单元132中的校正数据CD(a)生成共用密钥CK(a)。
[0171] 独有码生成单元131生成的独有码UC(a)具有与第七实施例的独有码生成单元111生成的独有码UC(a)相同的性质。因此,如同在第七实施例中那样,在生成密钥信息时,须通过掩码数据和ECC码校正错误。
[0172] 由于共用密钥生成单元133的操作基本上与第七实施例的共用密钥生成单元113的相同,因此在此将不重复说明。校正数据CD(a)中的包括的运算参数、ECC码和掩码数据被预先生成,作为对于半导体装置130独有的数据,并存储在存储单元132中。生成校正数据CD(a)的方法与在校正数据生成单元134(稍后将说明)生成校正数据CD(z)的情况下的方法类似。
[0173] 校正数据生成单元134利用半导体装置140的独有码UC(z)(第二独有码)和共用密钥CK(a)生成校正数据CD(z)(第二校正数据)。将参考图18详细说明在校正数据生成单元134生成校正数据的情况下执行的操作。
[0174] 首先,从半导体装置ICz(140)多次获得独有码UC(z)(步骤S91)。统计性地处理在步骤S91中获得的独有码UC(z),并且独有码UC(z)的比特被分类为三种比特:(1)具有稳定值的比特,(2)以高的可能性波动的比特(也即,值中的波动相对大的比特),以及(3)以低的可能性波动的比特(也即,值中的波动相对小的比特)。利用(2)以高的可能性波动的比特生成掩码数据(步骤S92)。例如,使用如下的信息作为掩码数据,该信息指示独有码UC(z)的比特中以比预定的阈值高的可能性波动的比特的位置。
[0175] 利用在步骤S92中生成的掩码数据对所述独有码UC(z)进行掩码,并且消除以高的可能性波动的比特。生成ECC码,通过该ECC码可以校正掩码的独有码UC(z)(也即,包括值稳定的比特以及以低的可能性波动的比特的独有码)中的错误(步骤S93)。所述ECC码是例如BCH码或里德-所罗门码。
[0176] 接着,利用步骤S92中生成的掩码数据,步骤S93中生成的经受了利用所述ECC码的错误校正的独有码UC(z)(也即,包括值稳定的比特的独有码),以及存储在存储单元132中的共用密钥CK(a),生成运算参数(步骤S94)。该运算参数是从校正的独有码UC(z)生成共用密钥CK(a)所必须的。通过上述处理生成的掩码数据、ECC码以及运算参数被作为校正数据CD(z)发送给半导体装置ICz(140)(步骤S95)。
[0177] 用于生成校正数据CD(z)的处理过程(步骤S91至S95)可以利用多个半导体装置分布式地执行。图19是示出利用多个半导体装置ICa、ICb、ICc以及ICd生成校正数据CD(z)的情况的图。半导体装置ICa、ICb、ICc、以及ICd构成安全网络。
[0178] 在图19中所示的示例中,半导体装置ICa执行步骤S91和S95。也即,半导体装置ICa作为对于半导体装置ICz的窗口。半导体装置ICb执行步骤S92(掩码数据的生成)。半导体装置ICc执行步骤S93(ECC码的生成)。半导体装置ICd执行步骤S94(运算参数的生成)。图19的配置是一种示例,并且可以将若干半导体装置任意地分配至若干步骤。通过使用于生成校正数据CD(z)的处理过程(步骤S91至S95)分布到多个半导体装置,可以改善加密通信系统的安全级别,并且可以防止负荷汇集在一个半导体装置上。
[0179] 图16中所示的半导体装置140具有独有码生成单元141、存储单元142、以及共用密钥生成单元(第二共用密钥生成单元)143。独有码生成单元141生成对于半导体装置140独有的独有码UC(z),并且将其输出至校正数据生成单元134和共用密钥生成单元143。独有码生成单元141的配置和操作操作与独有码生成单元131的基本上相同。
[0180] 存储单元142可以共用密钥生成单元143生成的共用密钥CK(a)。存储单元142将共用密钥CK(a)存储在易失性存储器中。因此,存储单元142临时地存储共用密钥CK(a),并且在半导体装置140的电源被关断时,共用密钥CK(a)的信息被擦除。
[0181] 共用密钥生成单元143利用从独有码生成单元141输出的独有码UC(z)以及从校正数据生成单元134输出的校正数据CD(z)生成共用密钥CK(a)(第一共用密钥)。共用密钥生成单元143生成共用密钥CK(a)的方法与共用密钥生成单元133生成共用密钥CK(a)的方法基本上类似。
[0182] 接着,将参考图17中所示的流程图说明根据本实施例的加密通信系统的操作。首先,半导体装置ICa(130)的共用密钥生成单元133利用从独有码生成单元131输出的独有码UC(a)以及存储在存储单元132中的校正数据CD(a)生成共用密钥CK(a)(步骤S81)。在此之后,半导体装置ICa(130)利用共用密钥CK(a)开始与其它半导体装置ICb至ICy(未示出)的通信(步骤S82)。
[0183] 半导体装置140将该半导体装置140的独有码UC(z)发送到半导体装置130的校正数据生成单元134(步骤S83)。半导体装置130的校正数据生成单元134利用半导体装置140的独有码UC(z)以及存储在存储单元132中的共用密钥CK(a)生成校正数据CD(z)(步骤S84)。为了生成校正数据CD(z),校正数据生成单元134须多次获得独有码UC(z)。为了多次获得独有码UC(z),重复步骤S83。
[0184] 所生成的校正数据CD(z)被发送到半导体装置140的共用密钥生成单元143(步骤S85)。半导体装置140的共用密钥生成单元143利用从独有码生成单元141输出的独有码UC(z)以及从校正数据生成单元134输出的校正数据CD(z)生成共用密钥CK(a)(步骤S86)。通过该处理过程,新增加的半导体装置140可以保持共用密钥CK(a)。因此,新增加的半导体装置(ICz)140可以利用共用密钥CK(a)进行与半导体装置(ICa)130以及其它半导体装置ICb至ICy的加密通信(步骤S87)。
[0185] 在将半导体装置ICz新添加至其中建立了安全通信的加密通信系统的情况下,须验证待增加的半导体装置ICz是否是正规的半导体装置。然而,为了验证半导体装置ICz是否是正规的半导体装置,例如须在加密通信系统中装配昂贵的安全服务器。这导致使得加密通信系统成本增加的问题。
[0186] 相反,在根据第八实施例的加密通信系统9中,半导体装置130的校正数据生成单元134利用对于半导体装置140独有的独有码UC(z)以及校正数据CD(z)生成校正数据CD(z)。半导体装置140中的共用密钥生成单元143利用校正数据CD(z)以及半导体装置140的独有码UC(z)生成共用密钥CK(a)。因此,由于不需要在加密通信系统中安装昂贵的安全服务器以验证待增加的半导体装置ICz是否是正规的半导体装置,因此可以容易地并且不昂贵地向进行安全通信的加密通信系统增加半导体装置。
[0187] 在根据第八实施例的加密通信系统9中,半导体装置130的共用密钥生成单元133利用对于半导体装置130独有的独有码UC(a)以及校正数据CD(a)生成共用密钥CK(a)。半导体装置140的共用密钥生成单元143利用对于半导体装置140独有的独有码UC(a)以及校正数据CD(z)生成共用密钥CK(a)。因此,由于作为重要数据的共用密钥CK(a)不直接存储在存储单元132和142中,因此即使半导体装置被非法分析,共用密钥CK(a)的数据也不泄漏。因此,通过根据该实施例的加密通信系统,在实现安全性的改善的同时,可以容易地且不昂贵地向执行安全通信的加密通信系统添加半导体装置。
[0188] 在根据第八实施例的加密通信系统9中,诸如共用密钥CK(a)的重要数据不直接存储在存储单元132和142中。即使半导体装置被非法分析,诸如共用密钥CK(a)的重要数据也不泄漏。因此,即使半导体装置130和140由具有相对低安全级别的一般性微型计算机配置成,也可以实现高安全级别。
[0189] 尽管用于在半导体装置130中生成共用密钥CK(a)的校正数据CD(a)具有比共用密钥CK(a)低的安全级别,但是其仍是具有相对高安全级别的信息。在根据第七实施例的数据写入系统7中,这样的具有相对高安全级别的信息可以存储在半导体装置中,同时保持高安全性。
[0190] 由于从半导体装置130发送到半导体装置140的校正数据CD(z)是与独有码UC(z)和共用密钥CK(a)有关的数据,因此其是具有相对高安全级别的信息。因此,在将校正数据CD(z)从半导体装置130发送到半导体装置140时,可以利用公开密钥加密方法加密并发送校正数据CD(z)。在这种情况下,例如,半导体装置140保持半导体装置140的秘密密钥,在发送校正数据CD(z)时半导体装置130利用半导体装置140的公开密钥加密校正数据CD(z)。半导体装置140利用秘密密钥对加密的校正数据CD(z)进行解密。以这样的方式,校正数据被加密并被从半导体装置130发送到半导体装置140。
[0191] 本发明并不限于前述的实施例,而是可以适当地进行改变而不偏离其要旨。本领域技术人员将容易理解,与多个实施例有关的事务可以组合到一个装置,以及例如将从第一实施例到第二实施例的改变应用到第三实施例。
QQ群二维码
意见反馈