半导体装置.pdf

上传人:柴****2 文档编号:4263195 上传时间:2018-09-12 格式:PDF 页数:30 大小:6.55MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210209584.4

申请日:

2012.06.20

公开号:

CN102842009A

公开日:

2012.12.26

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):G06F 21/24变更事项:申请人变更前:瑞萨电子株式会社变更后:瑞萨电子株式会社变更事项:地址变更前:日本神奈川变更后:日本东京|||实质审查的生效IPC(主分类):G06F 21/24申请日:20120620|||公开

IPC分类号:

G06F21/24

主分类号:

G06F21/24

申请人:

瑞萨电子株式会社

发明人:

押田大介; 广川祐之; 山崎晓; 藤森隆; 塩田茂雅; 古田茂

地址:

日本神奈川

优先权:

2011.06.20 JP 2011-136134

专利代理机构:

中国国际贸易促进委员会专利商标事务所 11038

代理人:

申发振

PDF下载: PDF下载
内容摘要

在相关领域内的半导体装置具有所存储的保密信息的安全性是不足的。本发明的半导体装置具有装置所独有的唯一码并且根据该唯一码来生成唯一码对应信息。该半导体装置具有其中通过加密保密信息而获得的特定信息被存储于与唯一码对应信息关联的区域内的存储区域。从存储区域中读取的特定信息用唯一码对应信息来加密以生成保密信息。

权利要求书

1.一种半导体装置,包括:
唯一码生成单元,用于生成装置所独有的唯一码;
唯一码对应信息生成单元,用于根据所述唯一码来生成唯一码对应
信息;
存储区域,在该存储区域中通过加密保密信息而获得的特定信息被
存储于与所述唯一码对应信息关联的区域内;以及
解密单元,用于解密通过使用所述唯一码对应信息从所述存储区域
中读取的所述特定信息以便生成所述保密信息。
2.根据权利要求1所述的半导体装置,
其中所述特定信息是通过使用所述唯一码对所述保密信息进行加密
而获得的信息,并且
其中所述解密单元通过使用所述唯一码来解密所述特定信息以生成
所述保密信息。
3.根据权利要求1或2所述的半导体装置,其中伪值被存储于所
述存储区域中与相关于所述唯一码对应信息的区域不同的区域内。
4.根据权利要求1到3中的任一权利要求所述的半导体装置,还
包括:存储控制器,用于执行通过使用所述唯一码对应信息来访问所述
存储区域的操作,
其中所述存储控制器生成与所述唯一码对应信息对应的地址,从所
述存储区域中与所述地址对应的区域内读取所述特定信息,并且将所读
取的特定信息供应给所述解密单元。
5.根据权利要求1到3中的任一权利要求所述的半导体装置,还
包括:存储控制器,用于计算根据所述唯一码对应信息存储于所述存储
区域中的一个区域内的所述特定信息的分割数并且访问所述存储区域,
其中所述存储区域被划分成数量与所述分割数对应的多个区域,并
且分割的所述保密信息和伪值被结合并存储于多个区域内,并且
其中所述存储控制器生成数量与所述分割数对应的读取地址,根据
通过使用所述读取地址从多个区域读取的信息来再生成所述特定信息,
并且将所述再生成的特定信息供应给所述解密单元。
6.根据权利要求1到3中的任一权利要求所述的半导体装置,还
包括:存储控制器,用于计算根据所述唯一码对应信息存储于所述存储
区域中的一个区域内的所述特定信息的位数并且访问所述存储区域,
其中所述特定信息根据所述位数来分割,分割的保密信息和伪值被
结合并存储于所述存储区域中的多个区域内,并且
其中所述存储控制器生成数量与通过按所述位数来划分所述特定信
息而获得的值对应的读取地址,根据通过使用所述读取地址从多个区域
中读取的信息来再生成所述特定信息,并且将所述再生成的特定信息供
应给所述解密单元。
7.根据权利要求1到6中的任一权利要求所述的半导体装置,
其中所述唯一码生成单元生成若干所述唯一码,从所述若干唯一码
中选择一个唯一码,将所选的唯一码供应给所述唯一码对应信息生成单
元和所述解密单元,并且
其中通过以多个唯一码来加密所述保密信息而获得的多个所述特定
信息被存储于所述存储区域中与所述若干唯一码关联的多个区域内。
8.根据权利要求1到7中的任一权利要求所述的半导体装置,其
中所述保密信息是用于加密过程中的加密密钥。
9.根据权利要求8所述的半导体装置,还包括:加密电路,用于
通过使用所述加密密钥来加密待发送的信息。
10.根据权利要求1到9中的任一权利要求所述的半导体装置,其
中所述唯一码是其中错误位的存在或不存在根据读取时序而变化的值。
11.根据权利要求1到9中的任一权利要求所述的半导体装置,其
中所述唯一码是物理不可复制功能PUF数据,该PUF数据包含由于在
所述半导体装置的元件中的制造变化而变得不确定的位。
12.根据权利要求1到11中的任一权利要求所述的半导体装置,
还包括:纠错电路,用于校正包含于所述唯一码内的错误。

说明书

半导体装置

相关申请的交叉引用

在此通过引用并入在2011年6月20日提交的日本专利申请No.
2011-136134的包括说明书、附图及摘要在内的全部公开内容。

技术领域

本发明涉及半导体装置,并且更特别地涉及其中对保持于内部存储
器等中的信息实施了安全措施的半导体装置。

背景技术

近年来,人们提出了使用加密技术来提高对半导体装置的非授权访
问的抵抗力或者防止模仿的许多安全技术。在加密技术中,使用了加密
密钥。专利文献1和2公开了使用加密密钥的安全措施的技术。

专利文献1公开了一种技术:在将数据写入记录介质时,通过在根
据加密密钥生成的伪地址中写入伪数据,正规数据和伪(dummy)数
据按照合并的状态记录于记录介质内。专利文献1的技术防止了诸如数
据复制之类的违法行为。专利文献2公开了一种技术:通过使用摘要表
来加密不变的信息块而生成加密值,将哈希函数(hash function)应用
于加密值以获得哈希值,以及将该哈希值用作在一对一的基础上与不变
的信息块对应的记录地址。在专利文献2中,在摘要表内有多个加密密
钥,以及记录地址在这些加密密钥间是不同的。因此,在专利文献2
中,能够提高对攻击(例如,使用生成相同哈希值的不变的信息块来尝
试的攻击的抵抗力)。

相关技术文献

专利文献

专利文献1:日本未经审查的专利申请No.Hei 11(1999)-045508

专利文献2:日本未经审查的专利申请No.2010-074355

发明内容

例如,在执行加密通信的半导体装置中,诸如用于通信的加密密钥
之类的保密信息在半导体装置制成之后被写入诸如闪存的非易失性存储
器之内。非易失性存储器能够由CPU(中央处理单元)访问,以及存
储于非易失性存储器内的信息能够被容易地读取。因此存在这样一个问
题:在半导体装置被分析的情况下,在其内存储了保密信息的存储区域
中的信息会被盗取。为了解决该问题,在专利文献1所公开的技术中,
通过将伪数据写入根据加密密钥唯一生成的伪地址内来提高安全级别。
但是,存在着这样一个问题:由于伪数据由装置写入同一地址内,通过
收集存储于非易失性存储区域内的大量数据,其内写入了伪数据的地址
被解密会被解密。在专利文献2所公开的技术中,用于存储其内写入了
伪数据的地址的装置被制备于半导体装置内,以防止伪数据写入相同的
地址内。但是,该技术具有这样的问题:响应由于识别在地址生成时被
写入数据的地址的序列的发生而减慢,以及因为用于存储地址的电路是
新需要的,所以成本会增加。它还有这样一个问题:由于保密信息和伪
数据被依次写入,因而每条保密信息受到诸如对半导体装置与写入装置
之间的信道非法访问的边信道攻击(side channel attack)之类的攻击而
被读取。

根据本发明的代表性半导体装置具有装置所独有的唯一码(unique 
code)并且由该唯一码生成唯一码对应信息。半导体装置具有存储区
域,在该存储区域中,通过加密保密信息而获得的特定信息被存储于与
唯一码对应信息关联的区域内。从存储区域内读出的特定信息通过使用
唯一码对应信息来解密,以生成保密信息。

在半导体装置中,存储保密信息的区域由装置所独有的唯一码来指
定。也就是说,在本发明的半导体装置中,用于存储保密信息的区域在
装置间是不同的。因此,即使在收集了非易失性存储区域内的大量数据
的情况下也难以指定存储保密信息的区域。由于使用了由装置所独有的
唯一码唯一确定的地址区域,因而用于存储其内写入了伪数据的地址的
装置是不必要的。此外,由于保密信息和伪数据被合并且被写入半导体
装置内,因而难以通过诸如边信道攻击之类的攻击来指定保密信息。因
而,在根据本发明的半导体装置中,抑制了通过分析来盗取保密信息,
并且提高了安全性。

在根据本发明的半导体装置中,提高了关于保密信息的安全级别。

附图说明

图1是根据第一实施例的半导体装置以及用于将特定信息写入半导
体装置的写入装置的框图。

图2是示出在第一实施例中的写入装置的操作程序的序列图。

图3是示出根据第一实施例的使用特定信息的半导体装置的操作程
序的序列图。

图4是根据第二实施例的半导体装置以及用于将特定信息写入半导
体装置的写入装置的框图。

图5是示出根据第二实施例的写入装置的操作的流程图。

图6是示出根据第二实施例的写入装置的操作程序的序列图。

图7是示出根据第二实施例的使用特定信息的半导体装置的操作程
序的序列图。

图8是根据第三实施例的半导体装置以及用于将特定信息写入半导
体装置的写入装置的框图。

图9是示出根据第三实施例的写入装置的操作程序的序列图。

图10是根据第四实施例的半导体装置以及用于将特定信息写入半
导体装置的写入装置的框图。

图11是示出根据第四实施例的写入装置的操作程序的序列图。

图12是示出根据第四实施例的使用特定信息的半导体装置的操作
程序的序列图。

图13是示出用于将特定信息存储于存储区域的方法的另一个实例
的示意图。

图14是示出用于将特定信息存储于存储区域的方法的另一个实例
的示意图。

具体实施方式

第一实施例

在下文中,本发明的实施例将参照附图来描述。图1是示出根据第
一实施例的半导体装置1以及用于将特定信息写入半导体装置1的写入
装置2的框图。

如图1所示,半导体装置1具有唯一码生成单元10、唯一码对应信
息生成单元(例如,摘要生成单元11)、存储区域12、存储控制器13、
解密单元(例如,哈希函数解密单元14)及加密单元15。

唯一码生成单元10生成装置所独有的唯一码。例如,唯一码生成
单元10在半导体装置1的存储装置(例如,SRAM(静态随机存取存
储器))启动时通过使用初始值来生成唯一码UC。唯一码UC是由相同
设计的电路生成的值,并且是通过利用被制造为半导体装置的电路具有
变化的特性来生成的码。该技术被称为PUF(Physical Unclonable 
Function(物理不可复制功能))并且能够在不需要专用硬件(例如,
称为PUF(物理不可复制功能)的防篡改芯片)的情况下实现数据的高
保密性。作为唯一码UC,除了PUF外,能够使用为半导体装置(例
如,CPU IC)所特有的信息。

摘要生成单元11根据唯一码来生成唯一码对应信息(例如,摘要
值DI)。在第一实施例中,摘要生成单元11被用作唯一码对应信息生
成单元。作为唯一码对应信息生成单元,可以使用根据唯一码UC无条
件地生成与地址值对应的信息的任意单元,以及除了摘要生成单元外,
能够使用按算法来操作的电路。在存储区域12内,存储着通过加密与
摘要值DI关联的区域(例如,在摘要值DI为待访问的地址的情况下,
由摘要值DI指示的区域)内的保密信息而获得的特定信息。存储区域
12可以是非易失性存储器(例如,闪存)的一部分或者非易失性存储器
的整个区域。存储区域12是用于存储通过加密保密信息获得的特定信
息的存储区域,并且是用于即使在电源中断时也保持所存储的信息的存
储器。

存储控制器13根据摘要值DI来生成用于访问存储区域的地址并且
从与该地址对应的区域内读取信息。在写入装置2发出写入指令的情况
下,存储控制器13根据该写入指令将信息写入存储区域12内。

更具体地,存储于半导体装置1内的特定信息HF2由写入装置2
来生成。在写入特定信息HF2时,写入装置2通过合并伪值Dd和特定
信息HF2来发出写入指令。此时,写入装置2将唯一码UC的摘要值
DI指定为特定信息HF2的写入地址,作为存储特定信息HF2的区域。
存储控制器13读取特定信息HF2,作为由半导体装置1的摘要生成单
元11根据唯一码UC生成的摘要值DI的读取地址。

哈希函数解密单元14接收由存储控制器13从与唯一码UC关联的
区域中读取的特定信息HF2。哈希函数解密单元14利用唯一码UC从
特定信息HF2中解密出保密信息(例如,哈希函数HF1)。保密信息
HF1是用于加密过程的哈希函数(例如,加密密钥)。加密单元15通过
使用哈希函数HF1来加密待传输的信息,以生成加密的信息。

如图1所示,写入装置2具有摘要生成单元21、存储单元22、哈
希函数加密单元23、伪值生成单元24、选择器25及缓冲器26。

摘要生成单元21通过与摘要生成单元11的算法相同的算法由唯一
码UC生成摘要值DI。被输入摘要生成单元21的唯一码UC与被输入
摘要生成单元11的唯一码UC相同,并且由半导体装置1来发送。也
就是说,在摘要生成单元21内生成的摘要值DI变为与由半导体装置1
内的摘要生成单元11生成的摘要值DI是相同的。

在存储单元22内,存储着用作半导体装置1内的加密密钥的保密
信息(例如,哈希函数HF1)。哈希函数加密单元23从存储单元22中
读取哈希函数HF1并且生成通过以唯一码UC来加密哈希函数HF1而
获得的特定信息HF2。

伪值生成单元24生成将要连同特定信息HF2一起写入半导体装置
1的存储区域12内的伪值Dd。例如,伪值Dd是由随机数发生器等给
出的信息,并且是通过加密与哈希函数HF1不同的值而获得的假信
息。

选择器25是用于选择待写入缓冲器26内的信息的电路。缓冲器26
是临时存储伪值Dd和特定信息HF2的存储装置。例如,缓冲器26是
非易失性存储器,例如,DRAM(动态随机存取存储器)。优选地,缓
冲器26是具有与半导体装置1的存储区域12的容量相同的容量的存储
装置。

更具体地,选择器25通过与由半导体装置1的存储控制器13使用
摘要值DI来执行读取操作的算法相同的算法将信息写入缓冲器26之
内。例如,在根据第一实施例的写入装置2内,选择器25将特定信息
HF2写入与由在缓冲器26的区域内的摘要值DI指示的地址对应的区域
内,并且将伪值Dd写入由缓冲器26中的另一地址指示的区域内。写
入装置2发出合并存储于缓冲器26内的信息并且将所合并的信息发送
给半导体装置1的指令。

现在将详细地描述根据第一实施例的写入装置2的操作。图2是示
出写入装置2的操作程序的序列图。

如图2所示,首先,写入装置2在摘要生成单元21内接收唯一码
UC(步骤S1)。摘要生成单元21生成摘要值DI(步骤S2)。摘要值被
发送给选择器25(步骤S3)。

随后,写入装置2在哈希函数加密单元23内接收唯一码UC(步骤
S4)。哈希函数加密单元23利用唯一码UC来加密哈希函数HF1以生
成特定信息HF2(步骤S5)。特定信息HF2被传送到选择器25(步骤
S6)。

写入装置2在伪值生成单元24内生成伪值Dd(步骤S7)。伪值
Dd被传送到选择器25(步骤S8)。伪值被生成以便填充与特定信息
HF2不同的缓冲器区域。至于该生成,由少量位构成的伪值可以多次来
生成,或者伪值可以立即生成。

选择器25使用摘要值DI作为地址将所收到的特定信息HF2写入
缓冲器26中的区域内,并且将伪值Dd写入缓冲器26的其他区域内
(步骤S9)。写入装置2将特定信息HF2与存储于缓冲器26内的伪值
Dd进行合并,并且将所合并的信息传送给半导体装置1(步骤S10)。

结果,在半导体装置1的存储区域12内,特定信息HF2被存储于
使用摘要值DI作为地址的区域内,以及伪值Dd被存储于其他区域
内。

随后,将描述使用特定信息HF2的半导体装置1的操作。图3是
示出根据第一实施例的使用特定信息HF2的半导体装置的操作程序的
序列图。

如图3所示,首先,半导体装置1将由唯一码生成单元10生成的
唯一码UC发送到摘要生成单元11和哈希函数解密单元14(步骤S11
和S17)。然后,摘要生成单元11根据所收到的唯一码UC来生成摘要
值DI(步骤S12)。摘要值DI被传送给存储控制器13(步骤S13)。

存储控制器13使用所收到的摘要值DI作为读取地址并且发出读取
指令RD[DI](步骤S14)。根据读取指令RD[DI],存储于存储区域12
中与摘要值DI关联的地址内的特定信息HF2被传送给存储控制器13
(步骤S15)。随后,存储控制器13将所收到的特定信息HF2传送给哈
希函数解密单元14(步骤S16)。

哈希函数解密单元14用所收到的唯一码UC来解密所收到的特定
信息HF2以生成哈希函数HF1(步骤S18)。哈希函数HF1被传送给加
密单元15(步骤S19)。半导体装置1通过使用哈希函数HF1来启动加
密的通信(步骤S20)。

用于分析通用的半导体装置以及非法获取数据的方法包括:(1)用
FIB(聚焦离子束)来处理半导体装置以及用探针来物理分析半导体装
置的方法,(2)通过用电磁波(例如,激光束)照射半导体装置以及在
电源端子中插入噪声来使CPU失控而非法获取数据的故障树分析,
(3)通过观察半导体装置的消耗电流量来分析密钥数据(key data)的
泄漏分析,以及(4)直接耦接至半导体装置的信号端子并且读取信号
信息的方法。

为了避免此类非法分析,在需要高安全级别的领域内,使用了具有
高安全级别的微型计算机(以下称为安全微型计算机)。安全微型计算
机设置有保护布线区的护罩、检测光和信号噪声的功能、通过将随机数
信号与信号结合来分散电流的功能等。

如上所述,通过使用安全微型计算机,能够防止第三方对半导体装
置的非法分析。但是,在使用安全微型计算机的情况下,虽然能够防止
非法分析,但是会出现这样的问题:半导体装置制造商等由于防篡改特
性而无法执行失效分析和故障分析。特别地,由于用于汽车内的车内微
型计算机(例如,ECU)需要高可靠性,因而对半导体装置的失效分析
和故障分析是必要的。由于该原因,其安全级别比安全微型计算机的安
全级别低的通用的微型计算机(以下称为通用微型计算机)被广泛作为
车内微型计算机来使用。但是,近年来,针对车内微型计算机的安全漏
洞(vulnerability)来攻击该目标的案例被报导了。因此,对于车内微
型计算机,在使用通用微型计算机时仍需要半导体装置的具有提高的安
全级别的加密通信系统。

在根据第一实施例的半导体装置中,所加密的特定信息HF2被存
储于与根据唯一码UC生成的唯一码对应信息(例如,摘要值DI)关
联的区域内。因此,在半导体装置1中,特定信息HF2被存储于在装
置间不同的区域内。因此,用于存储特定信息HF2的区域自身能够被
保持为保密的,以免被攻击者盗取。因此,在根据第一实施例的半导体
装置1中,能够提高存储于半导体装置1内的特定信息HF2的安全
性。在根据第一实施例的半导体装置1中,在没有使用安全微型计算机
的情况下,也能够提高安全性。

在根据第一实施例的半导体装置1中,特定信息HF2被存储于作
为能够由CPU(中央处理单元)等来访问的区域的存储区域内。但
是,所存储的特定信息HF2是以装置所独有的唯一码UC来加密的信
息。在根据第一实施例的半导体装置1中,哈希函数HF1在必要时每
次生成。因此,在维护等时,具有与作为特定信息HF2的原始信息的
哈希函数HF1对应的加密密钥的维护人员能够用哈希函数HF1来分析
问题。另一方面,即使在攻击者能够读取特定信息HF2的情况下,攻
击者也无法了解用以加密特定信息HF2的算法并且无法根据特定信息
HF2来解密出哈希函数HF1。也就是说,根据第一实施例的半导体装
置1能够在不牺牲对作为保密信息的哈希函数HF1的维护性能的情况
下提高安全性。

根据第一实施例的半导体装置1通过使用装置自身的唯一码UC来
加密哈希函数HF1而生成特定信息HF2。因此,在根据第一实施例的
半导体装置1中,在解密特定信息HF2时,仅使用唯一码UC就足够
了,并且没有必要通过耦接至服务器等的数据库来获得用于解密的加密
密钥。也就是说,根据第一实施例的半导体装置1在与服务器等耦接方
面不需要安全措施。

此外,在根据第一实施例的半导体装置1中,没有必要使写入装置
2的缓冲器26确保更多的容量作为用于存储特定信息HF2的存储区域
的容量。因此,在根据第一实施例的半导体装置1中,能够有效地使用
设置于半导体装置1内的存储区域。

在第一实施例中,伪值和特定信息HF2由写入装置2按照合并的
阶段写入半导体装置1。因此,即使在对从写入装置2延伸到半导体装
置1的通信路径进行攻击(例如,边信道攻击)时,攻击者也无法区分
伪值和特定信息HF2。在由写入装置2给半导体装置1传送哈希函数
HF1的信息时,哈希函数HF1被加密为特定信息HF2。即使攻击者能
够确定特定信息HF2,只要加密算法是未知的,攻击者就无法获得哈希
函数HF1。根据该观点,同样地,根据第一实施例的半导体装置1和写
入装置2能够提高哈希函数HF1作为保密信息的安全性。

第二实施例

图4是根据第二实施例的半导体装置3以及用于将特定信息写入半
导体装置3的写入装置4的框图。如图4所示,半导体装置3通过将存
储用于对装置所独有的唯一码进行纠错的数据的存储单元31及纠错电
路(例如,ECC电路32)添加至根据第一实施例的半导体装置1而获
得。写入装置4通过将存储用于对装置的唯一码进行纠错的数据(例
如,ECC码)以及用于比较并确认错误码于其上执行的装置的唯一码
的数据(例如,CRC码表)的存储单元41、纠错电路(例如,ECC电
路42)以及用于比较并确认唯一码的CRC电路43添加至第一实施例
的写入装置2而获得。

半导体装置3的ECC电路32校正包含于由唯一码生成单元10生
成的唯一码UC内的错误以生成校正的唯一码CUC。更具体地,ECC
电路32从存储单元31中读取与唯一码UC对应的ECC码,并且根据
ECC码来校正唯一码UC中的错误以生成已纠错的唯一码CUC。

在半导体装置3中,根据已纠错的唯一码CUC,摘要生成单元11
生成摘要值DI。在半导体装置3中,哈希函数解密单元14根据已纠错
的唯一码CUC来执行解密过程。

写入装置4内的ECC电路42校正包含于由唯一码生成单元10生
成的唯一码UC内的错误以生成校正的唯一码CUC。更具体地,ECC
电路42从存储单元41中读取与唯一码UC对应的ECC码,并且根据
ECC码来校正唯一码UC内的错误以生成已纠错的唯一码CUC。存储
于存储单元41内的ECC码与存储于半导体装置3中的存储单元31内
的ECC码是相同的。在相同的ECC码保存于两个装置中的情况下,能
够确认写入装置4和半导体装置3的有效性。

在写入装置4中的CRC电路43将已纠错的唯一码CUC与存储于
存储单元41内的CRC码表进行比较以确定已纠错的唯一码CUC的有
效性。CRC码表是用于记录与ECC码关联的有效唯一码的表格的数
据。在CRC电路43确定已纠错的唯一码CUC为有效的情况下,它将
已纠错的唯一码CUC供应给摘要生成单元21和哈希函数加密单元
23。另一方面,在CRC电路43确定已纠错的唯一码CUC为无效的情
况下,写入装置4停止写入哈希函数HF1的过程。

现在将描述根据第二实施例的写入装置4的操作。图5是示出根据
第二实施例的写入装置4的操作的流程图。

首先,写入装置4接收来自半导体装置3的未校正的唯一码UC
(步骤S21)。随后,写入装置4将ECC码从存储单元41传送到ECC
电路42(步骤S22)。ECC电路42校正未校正的唯一码UC中的错误
以生成已纠错的唯一码CUC(步骤S23)。

写入装置4将CRC码表从存储单元41传送到CRC电路43(步骤
S24)。写入装置4将CRC码表与CRC电路43内的已纠错的唯一码
CUC进行比较(步骤S25)。在CRC码与已纠错的唯一码CUC于步骤
S25的比较中不匹配的情况下(步骤S26中的否),写入装置4停止写
入特定信息HF2的过程。另一方面,在CRC码与已纠错的唯一码
CUC匹配的情况下(步骤S26中的是),写入装置4进入到写入特定信
息HF2的过程。

在步骤S26确定CRC码与已纠错的唯一码CUC相匹配的情况
下,写入装置4根据已纠错的唯一码CUC来生成摘要值DI(步骤
S27)。在步骤S27之后,写入装置4以已纠错的唯一码CUC来加密哈
希函数HF1以生成特定信息HF2(步骤S28)。

写入装置4将特定信息HF2和伪值Dd存储于缓冲器26内(步骤
S29)。更具体地,在步骤S29中,将特定信息HF2存储于其地址是在
缓冲器26的区域中的摘要值DI的区域内,以及将伪值Dd存储于其地
址不是在缓冲器26的区域中的摘要值DI的区域内。随后,写入装置4
将特定信息HF2与伪值Dd进行合并,并且将所合并的信息发送给半导
体装置3(步骤S30)。

在图5的流程图中,当CRC电路43确定已纠错的唯一码CUC不
是正规的唯一码时,写入装置4不将特定信息HF2传送到半导体装置
3。使用该方法和CRC码,在半导体装置3不是正规的半导体装置的情
况下,能够防止特定信息HF2被传送给不正规的半导体装置3。

图6是示出根据第二实施例的写入装置4的操作程序的序列图。如
图6所示,首先,写入装置4接收来自半导体装置3的未校正的唯一码
UC(步骤S31)。随后,写入装置4通过使用ECC电路42中的ECC
码来校正唯一码UC内的错误以生成已纠错的唯一码CUC(步骤
S32)。已纠错的唯一码CUC被传送到CRC电路43(步骤S33)。

在写入装置4中,CRC电路43应用来自CRC码表41的对应的
CRC码,将已纠错的唯一码CUC与CRC码进行比较,并确定已纠错
的唯一码CUC的有效性(步骤S34)。在步骤S34确定已纠错的唯一码
CUC为无效的情况下,过程停止。另一方面,当步骤S34确定已纠错
的唯一码CUC为有效时,过程继续进行。

在步骤S34的过程之后,执行特定信息HF2和伪值Dd的生成以及
特定信息HF2和伪值Dd的传送。具体地,在写入装置4中,已纠错的
唯一码UC由CRC电路43传送到摘要生成单元21和哈希函数加密单
元23(步骤S35和S38)。摘要生成单元21根据已纠错的唯一码CUC
来生成摘要值DI(步骤S36)。摘要值DI被传送到选择器25(步骤
S37)。

随后,写入装置4用已纠错的唯一码UC来加密哈希函数HF1以
在哈希函数加密单元23中生成特定信息HF2(步骤S39)。特定信息
HF2被传送给选择器25(步骤S40)。

写入装置4在伪值生成单元24中生成伪值Dd(步骤S41)。伪值
Dd被传送给选择器25(步骤S42)。伪值Dd被生成使得缓冲器区域除
了特定信息HF2外都被占用。少量位的伪值Dd能够多次来生成,或者
伪值Dd能够立即生成。

选择器25将所收到的特定信息HF2写入其地址是缓冲器26内的
摘要值DI的区域,以及将伪值Dd写入缓冲器26中的其他区域内(步
骤S43)。写入装置4将存储于缓冲器26内的特定信息HF2和伪值Dd
进行合并,并且将所合并的信息传送给半导体装置3(步骤S44)。

随后,将描述使用特定信息的半导体装置3的操作HF2。图7是示
出根据第三实施例的使用特定信息HF2的半导体装置的操作程序的序
列图。

如图7所示,首先,半导体装置1将由唯一码生成单元10生成的
未校正的唯一码UC发送到ECC电路32(步骤S51)。ECC电路32读
取来自存储单元31的ECC码并且校正唯一码UC内的错误以生成已纠
错的唯一码UCU(步骤S52)。ECC电路32将已纠错的唯一码CUC传
送给摘要生成单元11和哈希函数解密单元14(步骤S53和S59)。随
后,摘要生成单元11根据所收到的已纠错的唯一码CUC来生成摘要值
DI(步骤S54)。摘要值DI被传送到存储控制器13(步骤S55)。

存储控制器13将所收到的摘要值DI用作读取地址并且发出读取指
令RD[DI](步骤S56)。根据读取指令RD[DI],存储于与摘要值DI关
联的地址内的特定信息HF2从存储区域12中传送到存储控制器13(步
骤S57)。随后,存储控制器13将所收到的特定信息HF2传送给哈希函
数解密单元14(步骤S58)。

哈希函数解密单元14用所收到的已纠错的唯一码CUC来解密所收
到的特定信息HF2以生成哈希函数HF1(步骤S60)。哈希函数HF1被
传送给加密单元15(步骤S61)。半导体装置1通过使用哈希函数HF1
来启动加密通信(步骤S62)。

如上所述,通过提供纠错电路(例如,ECC电路32),即使在唯一
码UC是例如由于生成原理而在随机位内包含错误的PUF时,根据第
二实施例的半导体装置3也能够通过使用经由校正错误而获得的校正的
唯一码CUC来执行与根据第一实施例的半导体装置1的操作类似的操
作。PUF是装置所独有的值,并且即使在电路相同时,具有相同值的码
也无法生成。因此,通过使用PUF,能够提高安全性。

由于在生成唯一码时没有必要由半导体装置3和写入装置4发送/
接收ECC码来生成唯一码UC,因而保持了ECC码的保密性。由于写
入装置4具有与存储于半导体装置3的存储单元31内的ECC码相同的
ECC码,因而能够确定半导体装置3对于写入装置4的有效性或者写
入装置4对于半导体装置3的有效性。在写入装置4和半导体装置3中
的任意一个装置为无效的情况下,存储于半导体装置3内的ECC码以
及存储于写入装置4内的ECC码不匹配。另一方面,在半导体装置3
中经过了纠错的唯一码UC以及在写入装置4中经过了纠错的唯一码
UC是相同的。在将不同的ECC码应用于相同的唯一码的情况下,没
有进行适当的纠错。因此,对其执行与原始纠错不同的纠错的已纠错的
唯一码CUC具有与CRC码表内的值不同的值。也就是说,根据第二
实施例的写入装置4能够通过在CRC电路43内的CRC过程来确定半
导体装置3的有效性或者写入装置4对于半导体装置3的有效性。

此外,在根据第二实施例的写入装置4中,在半导体装置3和写入
装置4中的任何一个的有效性有可疑的情况下,特定信息HF2的生成
过程和发送过程就停止。因此,根据第二实施例的写入装置4能够防止
特定信息HF2(和哈希函数HF1)泄漏到无效的半导体装置3(例如,
模仿)。也就是说,根据第二实施例的写入装置4能够提高半导体装置3
的安全性。

尽管CRC电路43在第二实施例中被用来确认已纠错的唯一码
CUC的有效性,但是已纠错的唯一码CUC的有效性不一定通过CRC
电路来确认,而是能够通过别的电路来确认,只要该电路具有能够检测
奇偶等错误以及防止错误的校正的功能。

根据第二实施例的半导体装置3将待进行纠错的码作为发送给写入
装置4的唯一码UC来发送。也就是说,在半导体装置3与写入装置4
之间的通信路径内,传输着包含错误的唯一码UC。因此,在根据第二
实施例的半导体装置3内,在对通信路径进行攻击(例如,边信道攻
击)的情况下同样被分接(tap)的唯一码UC包括错误,使得攻击者
无法从所分接的信息中确定有效的唯一码UC。也就是说,通过使用根
据第二实施例的半导体装置3,能够提高通信路径的安全性。

第三实施例

图8是根据第三实施例的半导体装置3以及将特定信息写入半导体
装置3的写入装置4a的框图。如图8所示,在第三实施例中,将描述
具有通过从根据第二实施例的写入装置4中去除CRC电路而获得的写
入装置4a的配置。

如图8所示,在写入装置4a中,在没有由CRC电路执行的CRC
过程的情况下,已纠错的唯一码CUC被传送给摘要生成单元21和哈希
函数加密单元23。如上所述,在第三实施例中的半导体装置3及写入装
置4a与第二实施例中的半导体装置3及写入装置4之间的差异只是
CRC电路的存在/不存在。因此,下面将只描述写入装置4a的操作。

图9是示出根据第三实施例的写入装置4a的操作程序的序列图。
在图9中,为了使写入装置4a的操作对应于写入装置4的操作,用相
同的参考数字来指示与写入装置4的操作基本上相同的操作。

如图9所示,首先,写入装置4a接收来自半导体装置3的待进行
纠错的唯一码UC(S31)。随后,ECC电路42通过使用ECC码来校正
唯一码UC内的错误以生成已纠错的唯一码CUC(步骤S32)。已纠错
的唯一码CUC被传送给摘要生成单元21和哈希函数加密单元23(步
骤S35和S38)。摘要生成单元21根据已纠错的唯一码CUC来生成摘
要值DI(步骤S36)。摘要值DI被传送给选择器25(步骤S37)。

随后,写入装置4a通过哈希函数加密单元23用已纠错的唯一码
CUC来加密哈希函数HF1,以生成特定信息HF2(步骤S39)。特定信
息HF2被传送给选择器25(步骤S40)。

写入装置4在伪值生成单元24中生成伪值Dd(步骤S41)。伪值
Dd被传送给选择器25(步骤S42)。伪值Dd被生成以便填充与特定信
息HF2不同的缓冲区。至于该生成,由少量位构成的伪值可以多次来
生成,或者伪值可以立即生成。

选择器25将所收到的特定信息HF2写入使用摘要值DI作为缓冲
器26中的地址的区域内,并且将伪值Dd写入缓冲器26的其他区域内
(步骤S43)。写入装置4将存储于缓冲器26内的特定信息HF2与伪值
Dd进行合并,并且将所合并的信息传送给半导体装置3(步骤S44)。

如上所述,在根据第三实施例的写入装置4a中,在CRC电路没有
执行CRC过程的情况下,写入特定信息HF2。即使在这种情况下,当
半导体装置3和写入装置4a中的任意一个为无效时,写入半导体装置3
内的特定信息HF2无法通过半导体装置3的已纠错的唯一码CUC来读
取。原因是,由写入装置4a生成的摘要值DI与由半导体装置3生成的
摘要值DI是不同的值。在半导体装置3中,例如,即使在能够从存储
区域12中读取特定信息HF2的情况下,由于用来生成特定信息HF2
的已纠错的唯一码CUC与由半导体装置3生成的已纠错的唯一码CUC
不匹配,哈希函数HF1无法由哈希函数解密单元14来解密。

因此,根据第三实施例的半导体装置3和写入装置4a只能够在装
置为有效的情况下解密哈希函数HF1。在根据第三实施例的半导体装置
3和写入装置4a中的任意一个为无效的情况下,能够防止对哈希函数
HF1的解密。也就是说,根据第三实施例的半导体装置3和写入装置
4a能够在不使用CRC电路的情况下实现高安全性。

第四实施例

图10是根据第四实施例的半导体装置5和写入装置6的框图。如
图10所示,半导体装置5具有代替了根据第一实施例的半导体装置1
的唯一码生成单元10的唯一码生成单元50。在半导体装置5中,在存
储区域12内,没有存储伪值Dd,而是存储了特定信息HF21到HF2n
(n表示指出所存储的特定信息的个数的值)。

唯一码生成单元50生成多个唯一码UC1到UCn(n表示指出所生
成的唯一码的数量的值),并且从唯一码UC1到UCn选出一个唯一码
UCx(x表示指出所选唯一码的编号的值)。唯一码生成单元50将所选
的唯一码UCx给到摘要生成单元11和哈希函数解密单元14。

更具体地,唯一码生成单元50具有唯一码UC1到UCn和选择电
路52。唯一码通过例如PUF(例如,SRAM电路的初始值)来配置。
选择电路52选择唯一码UC1到UCn中的任意一个并且将其作为唯一
码UCx来输出。选择电路52接收模式信号MD。在模式信号MD指示
正常的操作模式的情况下,选择电路52输出从唯一码UC1到UCn选
出的任意唯一码UCx。此时,选择电路52每当需要选择唯一码时就随
机地选择唯一码。另一方面,在模式信号MD指示写入模式的情况下,
选择电路52依次选择唯一码UC1到唯一码UCn并且输出它。

写入装置6具有存储单元22、哈希函数加密单元61及缓冲器62。
哈希函数加密单元61以由半导体装置5依次发送的唯一码来加密哈希
函数HF1以依次生成特定信息HF21到HF2n,并且将特定信息HF21
到HF2n存储于缓冲器62内。也就是说,特定信息HF2n是通过以唯
一码UCn来加密哈希函数HF1而获得的。特定信息HF21到HF2n被
存储于缓冲器62内。写入装置6将存储于缓冲器62内的特定信息
HF21到HF2n进行合并,并且将所合并的信息传送给半导体装置5。

在半导体装置5中,由写入装置6发送的特定信息HF21到HF2n
被存储于存储区域12内。在半导体装置5中,生成了与唯一码UC1到
UCn对应的摘要值DI1到DIn,以及特定信息HF21到HF2n被存储于
其地址是与用于加密过程的唯一码对应的摘要值的区域内。也就是说,
在存储区域12内,通过使用多个唯一码来加密哈希函数HF1而获得的
特定信息HF21到HF2n被存储于与唯一码UC1到UCn关联的多个区
域内。在图10中,摘要值DIx被示出作为摘要值DI1到Din之一。

图11是示出根据第四实施例的写入装置6的操作程序的序列图。
下面将参照图11来描述根据第四实施例的装置电路6的操作程序。

如图11所示,在写入装置6内的哈希函数加密单元61接收唯一码
UC1到UCn(步骤S71)。哈希函数加密单元61用唯一码UC1到UCn
来加密哈希函数HF1以生成特定信息HF21到HF2n(步骤S72)。特定
信息HF21到HF2n被传送给缓冲器62(步骤S73)。写入装置6将存
储于缓冲器62内的特定信息HF21到HF2n进行合并,并且将所合并
的信息传送给半导体装置5(步骤S74)。在半导体装置5中,特定信息
HF21到HF2n被存储于存储区域12中的与唯一码UC1到UCn关联的
多个区域内。

现在将描述使用特定信息HF21到HF2n的半导体装置5的操作。
图12是示出根据第四实施例的使用特定信息HF21到HF2n的半导体
装置5的操作程序的序列图。

如图12所示,半导体装置5将由唯一码生成单元10生成的唯一码
UC1到UCn中的一个作为唯一码UCx来输出,该唯一码是随机选择的
(步骤S81)。所选的唯一码UCx被传送给摘要生成单元11和哈希函数
解密单元14(步骤S82和S88)。随后,摘要生成单元11根据所收到的
唯一码UCx来生成摘要值DIx(步骤S83)。摘要值DIx被传送给存储
控制器13(步骤S84)。

存储控制器13使用所收到的摘要值Dix作为读取地址并且发出读
取指令RD[DIx](步骤S85)。根据读取指令RD[DIx],存储于与摘要值
DI关联的地址内的特定信息HF2x被从存储区域12中传送到存储控制
器13(步骤S86)。随后,存储控制器13将所收到的特定信息HF2传
送给哈希函数解密单元14(步骤S87)。

哈希函数解密单元14用所收到的唯一码UCx来解密所收到的特定
信息HF2x以生成哈希函数HF1(步骤S89)。哈希函数HF1被传送给
加密单元15(步骤S90)。半导体装置5通过使用哈希函数HF1来启动
加密通信(步骤S91)。

在以上的描述中,在根据第四实施例的半导体装置5内,存储区域
12由以唯一码UC1到UCn加密的特定信息HF21到HF2n填充。半导
体装置5根据联系唯一码UC1到UCn而生成的摘要值DI1到Din来读
取能够以唯一码UC1到UCn来解密的特定信息HF21到HF2n,以解
密哈希函数HF1。

通常,存储于存储区域12内的特定信息HF2的个数是1。因此,
即使在攻击者对根据第四实施例的半导体装置5进行分析时,攻击者也
无法确定存储于任意区域内的特定信息是否是真正的特定信息。通过使
用半导体装置5,能够提高哈希函数HF1作为保密信息的安全性。

存储于存储区域12内的特定信息以唯一码UC1到UCn中的任意
唯一码来加密。因此,攻击者仅参照存储于存储区域12内的特定信息
无法了解加密的算法。同样能够通过使用根据第四实施例的半导体装置
5来提高哈希函数HF1作为保密信息的安全性。

第五实施例

在第五实施例中,将描述用于将特定信息HF2存储于存储区域12
内的方法的另一种形式。图13是示出用于存储特定信息HF2的方法的
另一种形式的概念图。在图13所示的实例中,特定信息HF2被分割
(split)并存储于存储区域12中的多个区域内。在图13所示的实例
中,摘要值DI用作指定特定信息HF2的分割数的值,并且还用作存储
摘要值DI的区域的头地址。

在图13所示的实例中,4被生成作为摘要值DI,以及特定信息
HF2被表示为128位。在图13所示的实例中,特定信息HF2的第一个
32位被存储于地址4的区域内,从第33位到第64位的特定信息HF2
被存储于地址5的区域内,从第65位到第96位的特定信息HF2被存
储于地址6的区域内,以及从第97位到第128位的特定信息HF2被存
储于地址7的区域内。由于同样存在分割次数为1的情形,因而在存储
区域12内的一个区域具有大到足以存储没有分割的特定信息HF2的容
量。因此,在分割特定信息HF2以及存储分割信息的情况下,空闲空
间存在于一个区域内。如图13所示,优选的是将伪值存储于空闲空间
内,原因是由于对攻击者隐藏了特定信息HF2。

如上所述,为了从特定信息HF2存储于其内的存储区域12中读取
特定信息HF2,存储控制器13生成用于从摘要值DI中读取特定信息
HF2的读取指令。更具体地,存储控制器13根据摘要值DI来计算存储
于存储区域12中的一个区域内的特定信息的分割次数并且访问存储区
域12。存储控制器13生成数量与与分割次数对应的读取地址,根据使
用读取地址从多个区域读取的信息再生成特定信息HF2,并且将所再生
成的特定信息HF2给到哈希函数解密单元14。在图13所示的实例中,
摘要值DI被用作特定信息HF2存储于其内的区域的头地址,使得存储
控制器13根据摘要值DI来生成数量与分割次数对应的读取地址,包括
头地址以及在头地址之后的读取地址。作为存储分割特定信息的位置,
可以指定根据摘要值DI计算出的另一地址。

图14是示出用于存储特定信息HF2的方法的另一种形式的概念
图。在图14所示的实例中,特定信息HF2被分割并存储于存储区域12
中的多个区域之内。在图14所示的实例中,摘要值DI被用作用于指定
存储于存储区域12中的一个区域内的特定信息HF2的位数的值(分割
位数),并且被用作用于存储摘要值DI的区域的头地址。

在图14所示的实例中,“4”被生成为摘要值DI,以及特定信息
HF2被表示为128位。在图14所示的实例中,特定信息HF2被分割成
4个位,以及所分割的特定信息HF2中的每一个都存储于一个区域内。
由于同样存在分割位数为128位的情形,因而在存储区域12中的一个
区域具有大到足以存储没有分割的特定信息HF2的容量。因此,在特
定信息HF2被分割的情况下,空闲空间存在于一个区域内。如图14所
示,优选的是将伪值存储于空闲空间内以使特定信息HF2对于攻击者
是隐藏的。在其中存储了特定信息HF2的地址区域1到n内,其内写
入特定信息HF2的位置并没有受到限制。更具体地,本发明能够在将
写入图14中的地址4内的HF2[0:3]写入如图14所示的从地址4的头位
开始的区域内或者写入其他区域内时实现。

如上所述,为了从特定信息HF2存储于其内的存储区域12中读取
特定信息HF2,存储控制器13生成用于根据摘要值DI来读取特定信息
HF2的读取指令。更具体地,存储控制器13根据摘要值DI来计算存储
于存储区域12中的一个区域内的特定信息HF2的位数并且访问存储区
域12。存储控制器13生成数量与通过根据分割次数来分割特定信息
HF2而获得的值对应的读取地址,根据使用读取地址从多个区域中读取
的信息来再生成特定信息HF2,以及将所再生成的特定信息HF2给到
哈希函数解密单元14。在图14所示的实例中,摘要值DI被用作其内
存储了特定信息HF2的区域的头地址,使得存储控制器13根据摘要值
DI生成数量与通过根据分割位数来分割特定信息HF2而获得的值对应
的读取地址,包括头地址和在头地址之后的读取地址。作为存储分割特
定信息的位置,可以指定根据摘要值DI计算出的另一地址。

如上所述,通过根据摘要值DI来分割特定信息HF2以及将分割信
息存储于存储区域12内,特定信息HF2被按照在装置间不同的记录长
度存储。因此,即使在攻击者对存储区域12进行分析时,由于存储于
一个区域内的特定信息HF2的记录长度在装置间是不同的,因而攻击
者无法识别出哪些信息是特定信息HF2。也就是说,通过根据依据在装
置间不同的唯一码UC而生成的摘要值DI来改变特定信息HF2的记录
长度,能够提高哈希函数HF1作为保密信息的安全性。

在上述实施例的写入装置中,通过使用与数据被写入其内的半导体
装置的唯一码相同的唯一码UC,生长与半导体装置的摘要值相同的摘
要值DI。通过使写入装置执行上述分割算法,能够正常地执行写入特
定信息HF2的过程。

本发明并不限定于上述实施例,而是能够在不脱离本发明主旨的情
况下适当地改变。本领域技术人员应当理解,与多个实施例相关的内容
可与一个装置结合,例如,将从第一实施例到第二实施例的变化应用于
第四实施例。

半导体装置.pdf_第1页
第1页 / 共30页
半导体装置.pdf_第2页
第2页 / 共30页
半导体装置.pdf_第3页
第3页 / 共30页
点击查看更多>>
资源描述

《半导体装置.pdf》由会员分享,可在线阅读,更多相关《半导体装置.pdf(30页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102842009 A (43)申请公布日 2012.12.26 C N 1 0 2 8 4 2 0 0 9 A *CN102842009A* (21)申请号 201210209584.4 (22)申请日 2012.06.20 2011-136134 2011.06.20 JP G06F 21/24(2006.01) (71)申请人瑞萨电子株式会社 地址日本神奈川 (72)发明人押田大介 广川祐之 山崎晓 藤森隆 塩田茂雅 古田茂 (74)专利代理机构中国国际贸易促进委员会专 利商标事务所 11038 代理人申发振 (54) 发明名称 半导体装置 (57) 摘要 在相。

2、关领域内的半导体装置具有所存储的保 密信息的安全性是不足的。本发明的半导体装置 具有装置所独有的唯一码并且根据该唯一码来生 成唯一码对应信息。该半导体装置具有其中通过 加密保密信息而获得的特定信息被存储于与唯一 码对应信息关联的区域内的存储区域。从存储区 域中读取的特定信息用唯一码对应信息来加密以 生成保密信息。 (30)优先权数据 (51)Int.Cl. 权利要求书2页 说明书13页 附图14页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 13 页 附图 14 页 1/2页 2 1.一种半导体装置,包括: 唯一码生成单元,用于生成装置所独有的唯一码。

3、; 唯一码对应信息生成单元,用于根据所述唯一码来生成唯一码对应信息; 存储区域,在该存储区域中通过加密保密信息而获得的特定信息被存储于与所述唯一 码对应信息关联的区域内;以及 解密单元,用于解密通过使用所述唯一码对应信息从所述存储区域中读取的所述特定 信息以便生成所述保密信息。 2.根据权利要求1所述的半导体装置, 其中所述特定信息是通过使用所述唯一码对所述保密信息进行加密而获得的信息,并 且 其中所述解密单元通过使用所述唯一码来解密所述特定信息以生成所述保密信息。 3.根据权利要求1或2所述的半导体装置,其中伪值被存储于所述存储区域中与相关 于所述唯一码对应信息的区域不同的区域内。 4.根据。

4、权利要求1到3中的任一权利要求所述的半导体装置,还包括:存储控制器,用 于执行通过使用所述唯一码对应信息来访问所述存储区域的操作, 其中所述存储控制器生成与所述唯一码对应信息对应的地址,从所述存储区域中与所 述地址对应的区域内读取所述特定信息,并且将所读取的特定信息供应给所述解密单元。 5.根据权利要求1到3中的任一权利要求所述的半导体装置,还包括:存储控制器,用 于计算根据所述唯一码对应信息存储于所述存储区域中的一个区域内的所述特定信息的 分割数并且访问所述存储区域, 其中所述存储区域被划分成数量与所述分割数对应的多个区域,并且分割的所述保密 信息和伪值被结合并存储于多个区域内,并且 其中所。

5、述存储控制器生成数量与所述分割数对应的读取地址,根据通过使用所述读取 地址从多个区域读取的信息来再生成所述特定信息,并且将所述再生成的特定信息供应给 所述解密单元。 6.根据权利要求1到3中的任一权利要求所述的半导体装置,还包括:存储控制器,用 于计算根据所述唯一码对应信息存储于所述存储区域中的一个区域内的所述特定信息的 位数并且访问所述存储区域, 其中所述特定信息根据所述位数来分割,分割的保密信息和伪值被结合并存储于所述 存储区域中的多个区域内,并且 其中所述存储控制器生成数量与通过按所述位数来划分所述特定信息而获得的值对 应的读取地址,根据通过使用所述读取地址从多个区域中读取的信息来再生成。

6、所述特定信 息,并且将所述再生成的特定信息供应给所述解密单元。 7.根据权利要求1到6中的任一权利要求所述的半导体装置, 其中所述唯一码生成单元生成若干所述唯一码,从所述若干唯一码中选择一个唯一 码,将所选的唯一码供应给所述唯一码对应信息生成单元和所述解密单元,并且 其中通过以多个唯一码来加密所述保密信息而获得的多个所述特定信息被存储于所 述存储区域中与所述若干唯一码关联的多个区域内。 8.根据权利要求1到7中的任一权利要求所述的半导体装置,其中所述保密信息是用 权 利 要 求 书CN 102842009 A 2/2页 3 于加密过程中的加密密钥。 9.根据权利要求8所述的半导体装置,还包括:。

7、加密电路,用于通过使用所述加密密钥 来加密待发送的信息。 10.根据权利要求1到9中的任一权利要求所述的半导体装置,其中所述唯一码是其中 错误位的存在或不存在根据读取时序而变化的值。 11.根据权利要求1到9中的任一权利要求所述的半导体装置,其中所述唯一码是物理 不可复制功能PUF数据,该PUF数据包含由于在所述半导体装置的元件中的制造变化而变 得不确定的位。 12.根据权利要求1到11中的任一权利要求所述的半导体装置,还包括:纠错电路,用 于校正包含于所述唯一码内的错误。 权 利 要 求 书CN 102842009 A 1/13页 4 半导体装置 0001 相关申请的交叉引用 0002 在此。

8、通过引用并入在2011年6月20日提交的日本专利申请No.2011-136134的 包括说明书、附图及摘要在内的全部公开内容。 技术领域 0003 本发明涉及半导体装置,并且更特别地涉及其中对保持于内部存储器等中的信息 实施了安全措施的半导体装置。 背景技术 0004 近年来,人们提出了使用加密技术来提高对半导体装置的非授权访问的抵抗力或 者防止模仿的许多安全技术。在加密技术中,使用了加密密钥。专利文献1和2公开了使 用加密密钥的安全措施的技术。 0005 专利文献1公开了一种技术:在将数据写入记录介质时,通过在根据加密密钥生 成的伪地址中写入伪数据,正规数据和伪(dummy)数据按照合并的状。

9、态记录于记录介质内。 专利文献1的技术防止了诸如数据复制之类的违法行为。专利文献2公开了一种技术:通 过使用摘要表来加密不变的信息块而生成加密值,将哈希函数(hash function)应用于加 密值以获得哈希值,以及将该哈希值用作在一对一的基础上与不变的信息块对应的记录地 址。在专利文献2中,在摘要表内有多个加密密钥,以及记录地址在这些加密密钥间是不同 的。因此,在专利文献2中,能够提高对攻击(例如,使用生成相同哈希值的不变的信息块来 尝试的攻击的抵抗力)。 0006 相关技术文献 0007 专利文献 0008 专利文献1:日本未经审查的专利申请No.Hei 11(1999)-045508 。

10、0009 专利文献2:日本未经审查的专利申请No.2010-074355 发明内容 0010 例如,在执行加密通信的半导体装置中,诸如用于通信的加密密钥之类的保密信 息在半导体装置制成之后被写入诸如闪存的非易失性存储器之内。非易失性存储器能够由 CPU(中央处理单元)访问,以及存储于非易失性存储器内的信息能够被容易地读取。因此 存在这样一个问题:在半导体装置被分析的情况下,在其内存储了保密信息的存储区域中 的信息会被盗取。为了解决该问题,在专利文献1所公开的技术中,通过将伪数据写入根据 加密密钥唯一生成的伪地址内来提高安全级别。但是,存在着这样一个问题:由于伪数据由 装置写入同一地址内,通过收。

11、集存储于非易失性存储区域内的大量数据,其内写入了伪数 据的地址被解密会被解密。在专利文献2所公开的技术中,用于存储其内写入了伪数据的 地址的装置被制备于半导体装置内,以防止伪数据写入相同的地址内。但是,该技术具有这 样的问题:响应由于识别在地址生成时被写入数据的地址的序列的发生而减慢,以及因为 说 明 书CN 102842009 A 2/13页 5 用于存储地址的电路是新需要的,所以成本会增加。它还有这样一个问题:由于保密信息和 伪数据被依次写入,因而每条保密信息受到诸如对半导体装置与写入装置之间的信道非法 访问的边信道攻击(side channel attack)之类的攻击而被读取。 001。

12、1 根据本发明的代表性半导体装置具有装置所独有的唯一码(unique code)并且由 该唯一码生成唯一码对应信息。半导体装置具有存储区域,在该存储区域中,通过加密保密 信息而获得的特定信息被存储于与唯一码对应信息关联的区域内。从存储区域内读出的特 定信息通过使用唯一码对应信息来解密,以生成保密信息。 0012 在半导体装置中,存储保密信息的区域由装置所独有的唯一码来指定。也就是说, 在本发明的半导体装置中,用于存储保密信息的区域在装置间是不同的。因此,即使在收集 了非易失性存储区域内的大量数据的情况下也难以指定存储保密信息的区域。由于使用了 由装置所独有的唯一码唯一确定的地址区域,因而用于存。

13、储其内写入了伪数据的地址的装 置是不必要的。此外,由于保密信息和伪数据被合并且被写入半导体装置内,因而难以通过 诸如边信道攻击之类的攻击来指定保密信息。因而,在根据本发明的半导体装置中,抑制了 通过分析来盗取保密信息,并且提高了安全性。 0013 在根据本发明的半导体装置中,提高了关于保密信息的安全级别。 附图说明 0014 图1是根据第一实施例的半导体装置以及用于将特定信息写入半导体装置的写 入装置的框图。 0015 图2是示出在第一实施例中的写入装置的操作程序的序列图。 0016 图3是示出根据第一实施例的使用特定信息的半导体装置的操作程序的序列图。 0017 图4是根据第二实施例的半导体。

14、装置以及用于将特定信息写入半导体装置的写 入装置的框图。 0018 图5是示出根据第二实施例的写入装置的操作的流程图。 0019 图6是示出根据第二实施例的写入装置的操作程序的序列图。 0020 图7是示出根据第二实施例的使用特定信息的半导体装置的操作程序的序列图。 0021 图8是根据第三实施例的半导体装置以及用于将特定信息写入半导体装置的写 入装置的框图。 0022 图9是示出根据第三实施例的写入装置的操作程序的序列图。 0023 图10是根据第四实施例的半导体装置以及用于将特定信息写入半导体装置的写 入装置的框图。 0024 图11是示出根据第四实施例的写入装置的操作程序的序列图。 00。

15、25 图12是示出根据第四实施例的使用特定信息的半导体装置的操作程序的序列 图。 0026 图13是示出用于将特定信息存储于存储区域的方法的另一个实例的示意图。 0027 图14是示出用于将特定信息存储于存储区域的方法的另一个实例的示意图。 具体实施方式 0028 第一实施例 说 明 书CN 102842009 A 3/13页 6 0029 在下文中,本发明的实施例将参照附图来描述。图1是示出根据第一实施例的半 导体装置1以及用于将特定信息写入半导体装置1的写入装置2的框图。 0030 如图1所示,半导体装置1具有唯一码生成单元10、唯一码对应信息生成单元(例 如,摘要生成单元11)、存储区域。

16、12、存储控制器13、解密单元(例如,哈希函数解密单元14) 及加密单元15。 0031 唯一码生成单元10生成装置所独有的唯一码。例如,唯一码生成单元10在半导 体装置1的存储装置(例如,SRAM(静态随机存取存储器)启动时通过使用初始值来生成唯 一码UC。唯一码UC是由相同设计的电路生成的值,并且是通过利用被制造为半导体装置 的电路具有变化的特性来生成的码。该技术被称为PUF(Physical Unclonable Function (物理不可复制功能)并且能够在不需要专用硬件(例如,称为PUF(物理不可复制功能)的 防篡改芯片)的情况下实现数据的高保密性。作为唯一码UC,除了PUF外,能。

17、够使用为半导 体装置(例如,CPU IC)所特有的信息。 0032 摘要生成单元11根据唯一码来生成唯一码对应信息(例如,摘要值DI)。在第一 实施例中,摘要生成单元11被用作唯一码对应信息生成单元。作为唯一码对应信息生成单 元,可以使用根据唯一码UC无条件地生成与地址值对应的信息的任意单元,以及除了摘要 生成单元外,能够使用按算法来操作的电路。在存储区域12内,存储着通过加密与摘要值 DI关联的区域(例如,在摘要值DI为待访问的地址的情况下,由摘要值DI指示的区域)内 的保密信息而获得的特定信息。存储区域12可以是非易失性存储器(例如,闪存)的一部分 或者非易失性存储器的整个区域。存储区域1。

18、2是用于存储通过加密保密信息获得的特定 信息的存储区域,并且是用于即使在电源中断时也保持所存储的信息的存储器。 0033 存储控制器13根据摘要值DI来生成用于访问存储区域的地址并且从与该地址对 应的区域内读取信息。在写入装置2发出写入指令的情况下,存储控制器13根据该写入指 令将信息写入存储区域12内。 0034 更具体地,存储于半导体装置1内的特定信息HF2由写入装置2来生成。在写入 特定信息HF2时,写入装置2通过合并伪值Dd和特定信息HF2来发出写入指令。此时,写 入装置2将唯一码UC的摘要值DI指定为特定信息HF2的写入地址,作为存储特定信息HF2 的区域。存储控制器13读取特定信息。

19、HF2,作为由半导体装置1的摘要生成单元11根据唯 一码UC生成的摘要值DI的读取地址。 0035 哈希函数解密单元14接收由存储控制器13从与唯一码UC关联的区域中读取的 特定信息HF2。哈希函数解密单元14利用唯一码UC从特定信息HF2中解密出保密信息(例 如,哈希函数HF1)。保密信息HF1是用于加密过程的哈希函数(例如,加密密钥)。加密单元 15通过使用哈希函数HF1来加密待传输的信息,以生成加密的信息。 0036 如图1所示,写入装置2具有摘要生成单元21、存储单元22、哈希函数加密单元 23、伪值生成单元24、选择器25及缓冲器26。 0037 摘要生成单元21通过与摘要生成单元1。

20、1的算法相同的算法由唯一码UC生成摘 要值DI。被输入摘要生成单元21的唯一码UC与被输入摘要生成单元11的唯一码UC相 同,并且由半导体装置1来发送。也就是说,在摘要生成单元21内生成的摘要值DI变为与 由半导体装置1内的摘要生成单元11生成的摘要值DI是相同的。 0038 在存储单元22内,存储着用作半导体装置1内的加密密钥的保密信息(例如,哈希 说 明 书CN 102842009 A 4/13页 7 函数HF1)。哈希函数加密单元23从存储单元22中读取哈希函数HF1并且生成通过以唯一 码UC来加密哈希函数HF1而获得的特定信息HF2。 0039 伪值生成单元24生成将要连同特定信息HF。

21、2一起写入半导体装置1的存储区域 12内的伪值Dd。例如,伪值Dd是由随机数发生器等给出的信息,并且是通过加密与哈希函 数HF1不同的值而获得的假信息。 0040 选择器25是用于选择待写入缓冲器26内的信息的电路。缓冲器26是临时存储 伪值Dd和特定信息HF2的存储装置。例如,缓冲器26是非易失性存储器,例如,DRAM(动 态随机存取存储器)。优选地,缓冲器26是具有与半导体装置1的存储区域12的容量相同 的容量的存储装置。 0041 更具体地,选择器25通过与由半导体装置1的存储控制器13使用摘要值DI来执 行读取操作的算法相同的算法将信息写入缓冲器26之内。例如,在根据第一实施例的写入 。

22、装置2内,选择器25将特定信息HF2写入与由在缓冲器26的区域内的摘要值DI指示的地 址对应的区域内,并且将伪值Dd写入由缓冲器26中的另一地址指示的区域内。写入装置 2发出合并存储于缓冲器26内的信息并且将所合并的信息发送给半导体装置1的指令。 0042 现在将详细地描述根据第一实施例的写入装置2的操作。图2是示出写入装置2 的操作程序的序列图。 0043 如图2所示,首先,写入装置2在摘要生成单元21内接收唯一码UC(步骤S1)。摘 要生成单元21生成摘要值DI(步骤S2)。摘要值被发送给选择器25(步骤S3)。 0044 随后,写入装置2在哈希函数加密单元23内接收唯一码UC(步骤S4)。

23、。哈希函数 加密单元23利用唯一码UC来加密哈希函数HF1以生成特定信息HF2(步骤S5)。特定信 息HF2被传送到选择器25(步骤S6)。 0045 写入装置2在伪值生成单元24内生成伪值Dd(步骤S7)。伪值Dd被传送到选择 器25(步骤S8)。伪值被生成以便填充与特定信息HF2不同的缓冲器区域。至于该生成, 由少量位构成的伪值可以多次来生成,或者伪值可以立即生成。 0046 选择器25使用摘要值DI作为地址将所收到的特定信息HF2写入缓冲器26中的区 域内,并且将伪值Dd写入缓冲器26的其他区域内(步骤S9)。写入装置2将特定信息HF2 与存储于缓冲器26内的伪值Dd进行合并,并且将所合。

24、并的信息传送给半导体装置1(步骤 S10)。 0047 结果,在半导体装置1的存储区域12内,特定信息HF2被存储于使用摘要值DI作 为地址的区域内,以及伪值Dd被存储于其他区域内。 0048 随后,将描述使用特定信息HF2的半导体装置1的操作。图3是示出根据第一实 施例的使用特定信息HF2的半导体装置的操作程序的序列图。 0049 如图3所示,首先,半导体装置1将由唯一码生成单元10生成的唯一码UC发送到 摘要生成单元11和哈希函数解密单元14(步骤S11和S17)。然后,摘要生成单元11根据 所收到的唯一码UC来生成摘要值DI(步骤S12)。摘要值DI被传送给存储控制器13(步 骤S13)。

25、。 0050 存储控制器13使用所收到的摘要值DI作为读取地址并且发出读取指令RDDI (步骤S14)。根据读取指令RDDI,存储于存储区域12中与摘要值DI关联的地址内的特 定信息HF2被传送给存储控制器13(步骤S15)。随后,存储控制器13将所收到的特定信 说 明 书CN 102842009 A 5/13页 8 息HF2传送给哈希函数解密单元14(步骤S16)。 0051 哈希函数解密单元14用所收到的唯一码UC来解密所收到的特定信息HF2以生成 哈希函数HF1(步骤S18)。哈希函数HF1被传送给加密单元15(步骤S19)。半导体装置1 通过使用哈希函数HF1来启动加密的通信(步骤S2。

26、0)。 0052 用于分析通用的半导体装置以及非法获取数据的方法包括:(1)用FIB(聚焦离子 束)来处理半导体装置以及用探针来物理分析半导体装置的方法,(2)通过用电磁波(例如, 激光束)照射半导体装置以及在电源端子中插入噪声来使CPU失控而非法获取数据的故障 树分析,(3)通过观察半导体装置的消耗电流量来分析密钥数据(key data)的泄漏分析,以 及(4)直接耦接至半导体装置的信号端子并且读取信号信息的方法。 0053 为了避免此类非法分析,在需要高安全级别的领域内,使用了具有高安全级别的 微型计算机(以下称为安全微型计算机)。安全微型计算机设置有保护布线区的护罩、检测 光和信号噪声的。

27、功能、通过将随机数信号与信号结合来分散电流的功能等。 0054 如上所述,通过使用安全微型计算机,能够防止第三方对半导体装置的非法分析。 但是,在使用安全微型计算机的情况下,虽然能够防止非法分析,但是会出现这样的问题: 半导体装置制造商等由于防篡改特性而无法执行失效分析和故障分析。特别地,由于用于 汽车内的车内微型计算机(例如,ECU)需要高可靠性,因而对半导体装置的失效分析和故障 分析是必要的。由于该原因,其安全级别比安全微型计算机的安全级别低的通用的微型计 算机(以下称为通用微型计算机)被广泛作为车内微型计算机来使用。但是,近年来,针对车 内微型计算机的安全漏洞(vulnerability。

28、)来攻击该目标的案例被报导了。因此,对于车 内微型计算机,在使用通用微型计算机时仍需要半导体装置的具有提高的安全级别的加密 通信系统。 0055 在根据第一实施例的半导体装置中,所加密的特定信息HF2被存储于与根据唯一 码UC生成的唯一码对应信息(例如,摘要值DI)关联的区域内。因此,在半导体装置1中, 特定信息HF2被存储于在装置间不同的区域内。因此,用于存储特定信息HF2的区域自身 能够被保持为保密的,以免被攻击者盗取。因此,在根据第一实施例的半导体装置1中,能 够提高存储于半导体装置1内的特定信息HF2的安全性。在根据第一实施例的半导体装置 1中,在没有使用安全微型计算机的情况下,也能够。

29、提高安全性。 0056 在根据第一实施例的半导体装置1中,特定信息HF2被存储于作为能够由CPU(中 央处理单元)等来访问的区域的存储区域内。但是,所存储的特定信息HF2是以装置所独有 的唯一码UC来加密的信息。在根据第一实施例的半导体装置1中,哈希函数HF1在必要时 每次生成。因此,在维护等时,具有与作为特定信息HF2的原始信息的哈希函数HF1对应的 加密密钥的维护人员能够用哈希函数HF1来分析问题。另一方面,即使在攻击者能够读取 特定信息HF2的情况下,攻击者也无法了解用以加密特定信息HF2的算法并且无法根据特 定信息HF2来解密出哈希函数HF1。也就是说,根据第一实施例的半导体装置1能够。

30、在不牺 牲对作为保密信息的哈希函数HF1的维护性能的情况下提高安全性。 0057 根据第一实施例的半导体装置1通过使用装置自身的唯一码UC来加密哈希函数 HF1而生成特定信息HF2。因此,在根据第一实施例的半导体装置1中,在解密特定信息HF2 时,仅使用唯一码UC就足够了,并且没有必要通过耦接至服务器等的数据库来获得用于解 密的加密密钥。也就是说,根据第一实施例的半导体装置1在与服务器等耦接方面不需要 说 明 书CN 102842009 A 6/13页 9 安全措施。 0058 此外,在根据第一实施例的半导体装置1中,没有必要使写入装置2的缓冲器26 确保更多的容量作为用于存储特定信息HF2的。

31、存储区域的容量。因此,在根据第一实施例 的半导体装置1中,能够有效地使用设置于半导体装置1内的存储区域。 0059 在第一实施例中,伪值和特定信息HF2由写入装置2按照合并的阶段写入半导体 装置1。因此,即使在对从写入装置2延伸到半导体装置1的通信路径进行攻击(例如,边信 道攻击)时,攻击者也无法区分伪值和特定信息HF2。在由写入装置2给半导体装置1传送 哈希函数HF1的信息时,哈希函数HF1被加密为特定信息HF2。即使攻击者能够确定特定 信息HF2,只要加密算法是未知的,攻击者就无法获得哈希函数HF1。根据该观点,同样地, 根据第一实施例的半导体装置1和写入装置2能够提高哈希函数HF1作为保。

32、密信息的安全 性。 0060 第二实施例 0061 图4是根据第二实施例的半导体装置3以及用于将特定信息写入半导体装置3的 写入装置4的框图。如图4所示,半导体装置3通过将存储用于对装置所独有的唯一码进 行纠错的数据的存储单元31及纠错电路(例如,ECC电路32)添加至根据第一实施例的半导 体装置1而获得。写入装置4通过将存储用于对装置的唯一码进行纠错的数据(例如,ECC 码)以及用于比较并确认错误码于其上执行的装置的唯一码的数据(例如,CRC码表)的存储 单元41、纠错电路(例如,ECC电路42)以及用于比较并确认唯一码的CRC电路43添加至第 一实施例的写入装置2而获得。 0062 半导体。

33、装置3的ECC电路32校正包含于由唯一码生成单元10生成的唯一码UC 内的错误以生成校正的唯一码CUC。更具体地,ECC电路32从存储单元31中读取与唯一码 UC对应的ECC码,并且根据ECC码来校正唯一码UC中的错误以生成已纠错的唯一码CUC。 0063 在半导体装置3中,根据已纠错的唯一码CUC,摘要生成单元11生成摘要值DI。在 半导体装置3中,哈希函数解密单元14根据已纠错的唯一码CUC来执行解密过程。 0064 写入装置4内的ECC电路42校正包含于由唯一码生成单元10生成的唯一码UC 内的错误以生成校正的唯一码CUC。更具体地,ECC电路42从存储单元41中读取与唯一码 UC对应的。

34、ECC码,并且根据ECC码来校正唯一码UC内的错误以生成已纠错的唯一码CUC。 存储于存储单元41内的ECC码与存储于半导体装置3中的存储单元31内的ECC码是相同 的。在相同的ECC码保存于两个装置中的情况下,能够确认写入装置4和半导体装置3的 有效性。 0065 在写入装置4中的CRC电路43将已纠错的唯一码CUC与存储于存储单元41内的 CRC码表进行比较以确定已纠错的唯一码CUC的有效性。CRC码表是用于记录与ECC码关 联的有效唯一码的表格的数据。在CRC电路43确定已纠错的唯一码CUC为有效的情况下, 它将已纠错的唯一码CUC供应给摘要生成单元21和哈希函数加密单元23。另一方面,。

35、在 CRC电路43确定已纠错的唯一码CUC为无效的情况下,写入装置4停止写入哈希函数HF1 的过程。 0066 现在将描述根据第二实施例的写入装置4的操作。图5是示出根据第二实施例的 写入装置4的操作的流程图。 0067 首先,写入装置4接收来自半导体装置3的未校正的唯一码UC(步骤S21)。随后, 说 明 书CN 102842009 A 7/13页 10 写入装置4将ECC码从存储单元41传送到ECC电路42(步骤S22)。ECC电路42校正未校 正的唯一码UC中的错误以生成已纠错的唯一码CUC(步骤S23)。 0068 写入装置4将CRC码表从存储单元41传送到CRC电路43(步骤S24)。

36、。写入装置 4将CRC码表与CRC电路43内的已纠错的唯一码CUC进行比较(步骤S25)。在CRC码与已 纠错的唯一码CUC于步骤S25的比较中不匹配的情况下(步骤S26中的否),写入装置4停 止写入特定信息HF2的过程。另一方面,在CRC码与已纠错的唯一码CUC匹配的情况下(步 骤S26中的是),写入装置4进入到写入特定信息HF2的过程。 0069 在步骤S26确定CRC码与已纠错的唯一码CUC相匹配的情况下,写入装置4根据 已纠错的唯一码CUC来生成摘要值DI(步骤S27)。在步骤S27之后,写入装置4以已纠错 的唯一码CUC来加密哈希函数HF1以生成特定信息HF2(步骤S28)。 007。

37、0 写入装置4将特定信息HF2和伪值Dd存储于缓冲器26内(步骤S29)。更具体地, 在步骤S29中,将特定信息HF2存储于其地址是在缓冲器26的区域中的摘要值DI的区域 内,以及将伪值Dd存储于其地址不是在缓冲器26的区域中的摘要值DI的区域内。随后, 写入装置4将特定信息HF2与伪值Dd进行合并,并且将所合并的信息发送给半导体装置3 (步骤S30)。 0071 在图5的流程图中,当CRC电路43确定已纠错的唯一码CUC不是正规的唯一码时, 写入装置4不将特定信息HF2传送到半导体装置3。使用该方法和CRC码,在半导体装置3 不是正规的半导体装置的情况下,能够防止特定信息HF2被传送给不正规。

38、的半导体装置3。 0072 图6是示出根据第二实施例的写入装置4的操作程序的序列图。如图6所示,首 先,写入装置4接收来自半导体装置3的未校正的唯一码UC(步骤S31)。随后,写入装置 4通过使用ECC电路42中的ECC码来校正唯一码UC内的错误以生成已纠错的唯一码CUC (步骤S32)。已纠错的唯一码CUC被传送到CRC电路43(步骤S33)。 0073 在写入装置4中,CRC电路43应用来自CRC码表41的对应的CRC码,将已纠错的 唯一码CUC与CRC码进行比较,并确定已纠错的唯一码CUC的有效性(步骤S34)。在步骤 S34确定已纠错的唯一码CUC为无效的情况下,过程停止。另一方面,当。

39、步骤S34确定已纠 错的唯一码CUC为有效时,过程继续进行。 0074 在步骤S34的过程之后,执行特定信息HF2和伪值Dd的生成以及特定信息HF2和 伪值Dd的传送。具体地,在写入装置4中,已纠错的唯一码UC由CRC电路43传送到摘要 生成单元21和哈希函数加密单元23(步骤S35和S38)。摘要生成单元21根据已纠错的 唯一码CUC来生成摘要值DI(步骤S36)。摘要值DI被传送到选择器25(步骤S37)。 0075 随后,写入装置4用已纠错的唯一码UC来加密哈希函数HF1以在哈希函数加密单 元23中生成特定信息HF2(步骤S39)。特定信息HF2被传送给选择器25(步骤S40)。 007。

40、6 写入装置4在伪值生成单元24中生成伪值Dd(步骤S41)。伪值Dd被传送给选 择器25(步骤S42)。伪值Dd被生成使得缓冲器区域除了特定信息HF2外都被占用。少量 位的伪值Dd能够多次来生成,或者伪值Dd能够立即生成。 0077 选择器25将所收到的特定信息HF2写入其地址是缓冲器26内的摘要值DI的区 域,以及将伪值Dd写入缓冲器26中的其他区域内(步骤S43)。写入装置4将存储于缓冲器 26内的特定信息HF2和伪值Dd进行合并,并且将所合并的信息传送给半导体装置3(步骤 S44)。 说 明 书CN 102842009 A 10 8/13页 11 0078 随后,将描述使用特定信息的半。

41、导体装置3的操作HF2。图7是示出根据第三实施 例的使用特定信息HF2的半导体装置的操作程序的序列图。 0079 如图7所示,首先,半导体装置1将由唯一码生成单元10生成的未校正的唯一码 UC发送到ECC电路32(步骤S51)。ECC电路32读取来自存储单元31的ECC码并且校正 唯一码UC内的错误以生成已纠错的唯一码UCU(步骤S52)。ECC电路32将已纠错的唯一 码CUC传送给摘要生成单元11和哈希函数解密单元14(步骤S53和S59)。随后,摘要生 成单元11根据所收到的已纠错的唯一码CUC来生成摘要值DI(步骤S54)。摘要值DI被 传送到存储控制器13(步骤S55)。 0080 存。

42、储控制器13将所收到的摘要值DI用作读取地址并且发出读取指令RDDI(步 骤S56)。根据读取指令RDDI,存储于与摘要值DI关联的地址内的特定信息HF2从存储区 域12中传送到存储控制器13(步骤S57)。随后,存储控制器13将所收到的特定信息HF2 传送给哈希函数解密单元14(步骤S58)。 0081 哈希函数解密单元14用所收到的已纠错的唯一码CUC来解密所收到的特定信息 HF2以生成哈希函数HF1(步骤S60)。哈希函数HF1被传送给加密单元15(步骤S61)。半 导体装置1通过使用哈希函数HF1来启动加密通信(步骤S62)。 0082 如上所述,通过提供纠错电路(例如,ECC电路32。

43、),即使在唯一码UC是例如由于生 成原理而在随机位内包含错误的PUF时,根据第二实施例的半导体装置3也能够通过使用 经由校正错误而获得的校正的唯一码CUC来执行与根据第一实施例的半导体装置1的操作 类似的操作。PUF是装置所独有的值,并且即使在电路相同时,具有相同值的码也无法生成。 因此,通过使用PUF,能够提高安全性。 0083 由于在生成唯一码时没有必要由半导体装置3和写入装置4发送/接收ECC码来 生成唯一码UC,因而保持了ECC码的保密性。由于写入装置4具有与存储于半导体装置3 的存储单元31内的ECC码相同的ECC码,因而能够确定半导体装置3对于写入装置4的有 效性或者写入装置4对于。

44、半导体装置3的有效性。在写入装置4和半导体装置3中的任意 一个装置为无效的情况下,存储于半导体装置3内的ECC码以及存储于写入装置4内的ECC 码不匹配。另一方面,在半导体装置3中经过了纠错的唯一码UC以及在写入装置4中经过 了纠错的唯一码UC是相同的。在将不同的ECC码应用于相同的唯一码的情况下,没有进行 适当的纠错。因此,对其执行与原始纠错不同的纠错的已纠错的唯一码CUC具有与CRC码 表内的值不同的值。也就是说,根据第二实施例的写入装置4能够通过在CRC电路43内的 CRC过程来确定半导体装置3的有效性或者写入装置4对于半导体装置3的有效性。 0084 此外,在根据第二实施例的写入装置4。

45、中,在半导体装置3和写入装置4中的任何 一个的有效性有可疑的情况下,特定信息HF2的生成过程和发送过程就停止。因此,根据第 二实施例的写入装置4能够防止特定信息HF2(和哈希函数HF1)泄漏到无效的半导体装置 3(例如,模仿)。也就是说,根据第二实施例的写入装置4能够提高半导体装置3的安全性。 0085 尽管CRC电路43在第二实施例中被用来确认已纠错的唯一码CUC的有效性,但是 已纠错的唯一码CUC的有效性不一定通过CRC电路来确认,而是能够通过别的电路来确认, 只要该电路具有能够检测奇偶等错误以及防止错误的校正的功能。 0086 根据第二实施例的半导体装置3将待进行纠错的码作为发送给写入装。

46、置4的唯一 码UC来发送。也就是说,在半导体装置3与写入装置4之间的通信路径内,传输着包含错 说 明 书CN 102842009 A 11 9/13页 12 误的唯一码UC。因此,在根据第二实施例的半导体装置3内,在对通信路径进行攻击(例如, 边信道攻击)的情况下同样被分接(tap)的唯一码UC包括错误,使得攻击者无法从所分接 的信息中确定有效的唯一码UC。也就是说,通过使用根据第二实施例的半导体装置3,能够 提高通信路径的安全性。 0087 第三实施例 0088 图8是根据第三实施例的半导体装置3以及将特定信息写入半导体装置3的写入 装置4a的框图。如图8所示,在第三实施例中,将描述具有通过。

47、从根据第二实施例的写入 装置4中去除CRC电路而获得的写入装置4a的配置。 0089 如图8所示,在写入装置4a中,在没有由CRC电路执行的CRC过程的情况下,已纠 错的唯一码CUC被传送给摘要生成单元21和哈希函数加密单元23。如上所述,在第三实施 例中的半导体装置3及写入装置4a与第二实施例中的半导体装置3及写入装置4之间的 差异只是CRC电路的存在/不存在。因此,下面将只描述写入装置4a的操作。 0090 图9是示出根据第三实施例的写入装置4a的操作程序的序列图。在图9中,为了 使写入装置4a的操作对应于写入装置4的操作,用相同的参考数字来指示与写入装置4的 操作基本上相同的操作。 00。

48、91 如图9所示,首先,写入装置4a接收来自半导体装置3的待进行纠错的唯一码UC (S31)。随后,ECC电路42通过使用ECC码来校正唯一码UC内的错误以生成已纠错的唯一 码CUC(步骤S32)。已纠错的唯一码CUC被传送给摘要生成单元21和哈希函数加密单元 23(步骤S35和S38)。摘要生成单元21根据已纠错的唯一码CUC来生成摘要值DI(步骤 S36)。摘要值DI被传送给选择器25(步骤S37)。 0092 随后,写入装置4a通过哈希函数加密单元23用已纠错的唯一码CUC来加密哈希 函数HF1,以生成特定信息HF2(步骤S39)。特定信息HF2被传送给选择器25(步骤S40)。 009。

49、3 写入装置4在伪值生成单元24中生成伪值Dd(步骤S41)。伪值Dd被传送给选择 器25(步骤S42)。伪值Dd被生成以便填充与特定信息HF2不同的缓冲区。至于该生成, 由少量位构成的伪值可以多次来生成,或者伪值可以立即生成。 0094 选择器25将所收到的特定信息HF2写入使用摘要值DI作为缓冲器26中的地址 的区域内,并且将伪值Dd写入缓冲器26的其他区域内(步骤S43)。写入装置4将存储于 缓冲器26内的特定信息HF2与伪值Dd进行合并,并且将所合并的信息传送给半导体装置 3(步骤S44)。 0095 如上所述,在根据第三实施例的写入装置4a中,在CRC电路没有执行CRC过程的 情况下,写入特定信息HF2。即使在这种情况下,当半导体装置3和写入装置4a中的任意一 个为无效时,写入半导体装置3内的特定信息HF2无法通过半导体装置3的已纠错的唯一 码CUC来读取。原因是,由写入装置4a。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1