用于智能卡芯片个性化的方法和系统.pdf

上传人:a**** 文档编号:1752176 上传时间:2018-07-09 格式:PDF 页数:8 大小:506.45KB
返回 下载 相关 举报
摘要
申请专利号:

CN201380049538.5

申请日:

2013.10.08

公开号:

CN104756123A

公开日:

2015.07.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 21/31申请日:20131008|||公开

IPC分类号:

G06F21/31; G06F21/44

主分类号:

G06F21/31

申请人:

耐瑞唯信有限公司

发明人:

罗恩·奥捷; 马克·马基; 杰尔姆·珀莱因

地址:

瑞士舍索

优先权:

12188097.5 2012.10.11 EP; 61/712,274 2012.10.11 US

专利代理机构:

北京银龙知识产权代理有限公司11243

代理人:

曾贤伟; 郝庆芬

PDF下载: PDF下载
内容摘要

一种被配置用于个性化至少一个芯片(IC)的方法和系统,芯片将被集成至智能卡内,包括与连接至该芯片(IC)的(现场可编程门阵列)FPGA设备(WB)关联的测试仪(T),该芯片(IC)是包括多个芯片的排列和用于检验晶片(W)上芯片(IC)存在的一次性的硬件模块(HM)的晶片的一部分。测试仪(T)发送第一密码(S1)至FPGA设备(WB),其发送命令(C)至芯片以初始化测试模式激活。FPGA设备(WB)通过使用由从芯片(IC)接收的真正随机数(R)和第一密码(S1)参数化的加密算法(E)加密第二密码(S2)以获取被发送至芯片(IC)的第一密文(M1)。芯片(IC)通过使用由随机数(R)和第一密码(S1)参数化的逆加密算法(E-)解密第一密文(M1)获取的结果上执行布尔函数(F)来确定第二密文(M2)。第二密文(M2)与通过在临时存储在芯片(IC)上的第二密码(S2)上执行布尔函数(F)获取的计算结果F(S2)进行比较。只有当芯片(IC)的测试模式由第二密文(M2)和计算的结果F(S2)之间成功的比较被使能,FPGA设备(WB)才执行芯片(IC)的个性化。

权利要求书

权利要求书
1.  一种用于个性化至少一个芯片(IC)的方法,芯片将被集成至智能卡内,包括与连接至芯片(IC)的FPGA设备(WB)关联的测试仪(T),该芯片(IC)是包括多个芯片的排列的晶片(W)的一部分,所述方法包括以下步骤:
由测试仪(T)发送第一密码(S1)至FPGA设备(WB),所述第一密码(S1)被永久地存储在测试仪(T)的存储器中,
由FPGA设备(WB)发送命令(C)至芯片(IC)以初始化测试模式激活的序列,
由芯片(IC)发送信号(s)至安置在晶片上的一次性硬件模块(HM),所述硬件模块(HM)返回指示晶片(W)上存在芯片(IC)的响应(r),
由芯片(IC)生成和发送随机数(R)至FPGA设备(WB),
由FPGA设备(WB)通过使用由随机数(R)和第一密码(S1)参数化的加密算法(E)加密第二密码(S2),获取第一密文M1=ER,S1(S2),
由FPGA设备(WB)发送第一密文M1=ER,S1(S2)至芯片(IC),
由芯片(IC)在通过使用由随机数(R)和第一密码(S1)参数化的逆(E-1)加密算法(E)解密第一密文(M1)获取的结果E-1R.S1(M1)上执行布尔函数F来确定第二密文M2=F(E-1R,S1(M1)),
由芯片(IC)比较第二密文(M2)和通过在临时存储在芯片(IC)上的第二密码(S2)上执行布尔函数F所获取的结果F(S2),
如果第二密文(M2)对应于由在第二密码(S2)上执行布尔函数F所获取的结果F(S2),则使能测试模式,由芯片(IC)发送响应消息(RES)至FPGA设备(WB),以及
如果消息(RES)包括肯定的响应(OK),由FPGA设备(WB)执行芯片(IC)的个性化。

2.  如权利要求1的方法,其特征在于第一密码(S1)和第二密码(S2)构成全球密码(S)的部分,第一密码(S1)被存储在测试仪(T)的永久存储器和芯片(IC)的永久存储器中以及被存储在FPGA设备(WB)的非永久 随机存取存储器中,第二密码(S2)被存储在FPGA设备(WB)的永久存储器中以及被存储在芯片(IC)的非永久随机存取存储器中。

3.  如权利要求1或2的方法,其特征在于布尔函数(F)是SHA256类型的加密单向哈希函数。

4.  如权利要求1至3中任一项的方法,其特征在于随机数(R)是由硬件真随机数生成器(TRNG)产生的真随机数。

5.  如权利要求1至4中任一项的方法,其特征在于在继续测试模式序列激活之前,指示晶片上的芯片存在的状态指示符(ST)由硬件模块(HM)报告给FPGA设备(WB),所述状态指示符(ST)被包括在对初始化命令(C)的响应中。

6.  如权利要求1至5中任一项的方法,其特征在于为了分开芯片,在晶片切除期间硬件模块(HM)在个性化处理结束时被销毁。

7.  如权利要求1至6中任一项的方法,其特征在于测试模式的激活在晶片(W)的多个芯片(IC)上并行地执行。

8.  一种被配置用于个性化至少一个芯片(IC)的系统,芯片将集成至智能卡内,包括与连接至芯片(IC)的现场可编程门阵列(FPGA)设备(WB)关联的测试仪(T),该芯片(IC)是包括多个芯片的排列和一次性硬件模块(HM)的晶片的一部分,其特征在于:
-测试仪(T)被配置用于发送第一密码(S1)至FPGA设备(WB),所述第一密码(S1)被永久地存储在测试仪(T)的存储器中,
-FPGA设备(WB)被配置用于将命令(C)发送至初始化测试模式激活的序列的芯片,使用第一密码(S1)和由从芯片(IC)接收的随机数(R)参数化的加密算法(E)来加密第二密码(S2),和获取第一密文(M1)并将该第一密文(M1)发送至芯片(IC),
-一次性硬件模块(HM)被配置用于从芯片(IC)接收信号(s)并且返回表示晶片(W)上存在芯片(IC)的响应(r),
-芯片(IC)被配置用于通过使用由随机数(R)和第一密码(S1)参数化的逆加密算法(E-1)解密第一密文(M1)所获取的结果上执行布尔函数(F)以确定第二密文(M2),并且比较第二密文(M2)与通过在临时存储在芯片 (IC)上的第二密码(S2)上执行布尔函数(F)所获取的计算结果F(S2),
-FPGA设备(WB)还被配置用于只有当通过在第二密文(M2)和计算结果F(S2)之间的成功比较来使能芯片(IC)的测试模式时,才执行芯片(IC)的个性化。

9.  如权利要求8的系统,其特征在于FPGA设备(WB)还被配置用于在个性化阶段访问芯片(IC)的加密的非易失性存储器并且加载应用代码至芯片IC。

10.  如权利要求9的系统,其特征在于FPGA设备(WB)被配置用于从所述存储器FPGA中存储的多个版本的应用代码中选择加载在加密的非易失性存储器中的预定版本的应用代码。

11.  如权利要求9的系统,其特征在于FPGA设备(WB)被配置用于通过使用取决于由芯片(IC)预先产生的真随机数(R)的算法加密来以安全方式发送应用代码至芯片(IC)。

12.  如权利要求8至11中任一项的系统,其特征在于FPGA设备(WB)提供有防篡改的或防破坏的模块并且在芯片(IC)个性化阶段期间以测试仪(T)的用户不能物理访问的方式被机械地和电子地连接至测试仪(T)。

13.  如权利要求8至12中任一项的系统,其特征在于FPGA设备(WB)被配置用于发送包括用于可追溯的目的的个性化芯片(IC)的历史数据和所述FPGA设备(WB)的当前状态数据的信息至测试仪(T)。

说明书

说明书用于智能卡芯片个性化的方法和系统
技术领域
本发明涉及在独特的秘密和应用代码被植入期间智能卡芯片个性化的领域。特别地,个性化的步骤在受控的条件下执行以阻止在该领域复制和重新编程智能卡。
背景技术
安全芯片主要用在制造智能卡、安全模块、识别设备和其他用在需要高安全级别的应用中的集成电路里。
文献WO2010/130709A1公开了一种通过测试设备用于认证对安全芯片的访问的方法。一旦测试设备由该芯片认证,即,成功认证已经被由测试设备和芯片之间的控制数据交换做出,在硬件和软件功能和/或芯片上执行的程序上执行不同的操作测试或模拟。依照用于芯片所预见的应用需求,测试设备也可以通过使能、禁用或编程特征来包括芯片配置或自定义的功能。依照优选实施例,本方法的一个优点是最小化测试设备和安全芯片之间的数据转换。响应于由芯片产生的挑战,在认证测试设备在所述芯片上执行测试之前,测试设备发送将由芯片分析和验证的密文。
文献EP1441313在电子芯片和包括从电子芯片中的输入参数计算认证值的应用之间处理保护硬连线电子逻辑芯片的不对称加密方法以防止欺诈。该方法包括步骤:由芯片生成交易特定的随机数;在交易之前向应用发送由应用计算的第一参数,其由数学关系链接至随机数,并且被存储在芯片的数据存储器中;借助一系列函数由芯片计算构成认证值的第二参数,其中,函数的输入参数至少是交易特定的随机数以及属于不对称密钥对的私钥;发送认证值到应用,并且借助验证函数验证所述认证值,其输入参数仅由至少包括公钥的公共参数组成。
文献EP1983466描述了用于芯片上系统(SoC)的安全认证方法和装置。SoC可以使能认证尝试获得一个功能或系统的访问的外部实体。SoC和认证的 外部实体在认证尝试前,其每个可以知晓隐藏数据并且也可以在认证处理期间通信数据。使用类似数据,SoC和外部实体能够生成相同的密码并且获取系统访问。密码可以以两种方式唯一,例如:每个操作和每个SoC设备。在SoC上的随机数生成器可以使得密码对于认证处理的每个迭代改变。SoC的每个实例有其自己的密码字以允许密码对于每个设备是唯一的。
在制造后,智能卡集成电路或芯片需要被个性化以植入唯一的密码并且以非常安全的方式载入应用代码以阻止复制或重新编程由这些芯片制作的智能卡。经典的解决方案是基于专用计算机站,其允许受训人员编程个性化设施(室内或外部)处的这些卡。这个方法有许多薄弱的方面并且要克服这些问题需要考虑下列需求:
a)一旦晶片被切割以及该芯片被打包,使个性化仅仅在晶片级可能并且极难用物理方式重新激活。
b)个性化激活不应该仅仅依赖于单个密码或能由个性化设施处的工作人员掌握(和泄漏)的软件包。
c)为了复制要在智能卡上实施的芯片,使重现个性化序列不可能。
d)阻止智能卡芯片完整的逆向工程,其允许攻击者重新生成该芯片个性化。
发明内容
本发明的目的是为了最大化满足以上提及的关于智能卡芯片个性化的需求以及为了克服现有技术解决方案的缺点。
该目的通过用于个性化至少一个芯片的方法而获得,芯片将被集成至智能卡内,包括与连接至芯片的(现场可编程门阵列)FPGA设备关联的测试仪,该芯片是包括多个芯片的排列的晶片的一部分,包括步骤:
-由测试仪发送第一密码至FPGA设备,所述第一密码被永久地存储在测试仪的存储器中,
-由FPGA设备发送命令至芯片以初始化测试模式激活的序列,
-由芯片发送信号至安置在晶片上的一次性硬件模块,所述硬件模块返回指示晶片上存在芯片的响应,
-由芯片生成并发送一个随机数至FPGA设备,
-由FPGA设备通过使用由随机数和第一密码参数化的加密算法加密第二密码,获取第一密文,
-由FPGA设备发送第一密文至芯片,
-由芯片通过使用由随机数和第一密码参数化的逆加密算法解密第一密文获取的结果上执行布尔函数来确定第二密文,
-由芯片比较第二密文和通过在临时存储在芯片上的第二密码上执行布尔函数所获取的结果,
-如果第二密文对应于由在第二密码上执行布尔函数获取的结果,使能测试模式序列,
-由芯片发送响应消息至FPGA设备,
-如果消息包括一个肯定的响应,则由FPGA设备执行芯片的个性化。
本发明还涉及一种被配置用于个性化至少一个芯片的系统,芯片将被集成至智能卡内,包括与连接至芯片的(现场可编程门阵列)FPGA设备关联的测试仪,该芯片是包括多个芯片的排列和一次性的硬件模块的晶片的一部分,特征在于:
-测试仪被配置用于发送第一密码至FPGA设备,所述第一密码被永久地存储在测试仪的存储器中,
-FPGA设备被配置用于发送命令至芯片以初始化测试模式激活的序列,使用由从芯片接收的随机数和第一密码参数化的加密算法加密第二密码,以获取第一密文并将其发送至芯片,
-一次性硬件模块被配置用于从芯片接收信号并且返回表示晶片上存在芯片的响应,
-芯片被配置用于通过使用由随机数和第一密码参数化的逆加密算法解密第一密文获取的结果上执行布尔函数来确定第二密文,并且比较第二密文和通过在临时存储在芯片上的第二密码上执行布尔函数所获取的计算结果,
-只有通过第二密文和计算的结果之间的成功比较使能芯片的测试模式时,FPGA设备还被配置用于执行芯片的个性化。
通常,个性化仅仅当智能卡芯片处于特殊状态才有可能,称为“测试模式”。因此该解决方案主要是,但不仅仅是,专注于使测试模式的激活非常安全。
测试模式激活保护基于几个安全特征,即:
-基于在文档WO2010/130709A1中描述的方法,利用不可逆挑战-响应协议,
-利用硬件模块以校验晶片上存在芯片。这个硬件模块在晶片切除后被破坏,
-利用植入FPGA设备的电子板,被称为“晶片盒”,其在测试仪装备内被机械地和电子地集成,
-在智能卡芯片中实施真随机生成器(True Random Number Generator,TRNG),其使个性化交易统计上唯一。
附图说明
通过下述详细描述本发明将被更容易地理解,其参照作为非限制示例所给出的附图。
图1示出了表示本发明系统的方框示意图,包括与连接至晶片的至少一个芯片的FPGA设备关联的测试仪。在个性化之前,芯片以测试模式通过由测试仪和FPGA设备执行的校验设置以及安全数据交换来被设定。
具体实施方式
图1所示出的系统包括关联至也被称为“晶片盒”的FPGA设备WB的测试仪T,其配置文件以已知方法加密以阻止复制。测试模式激活和个性化处理优选地在晶片级执行,即,芯片被排列在用于其制造的晶片上。优选在晶片上实现的硬件模块HM,在FPGA设备WB和晶片W上的芯片IC之间扮演接口的角色并且在测试模式初始化后负责验证晶片W上芯片IC的存在。当芯片从晶片被切除或集成在现场服务的智能卡中时,这个校验阻止操作或尝试修改个性化参数。为了分开所有芯片,在晶片切除期间硬件模块HM在个性化处理结束时被销毁。除了这种物理安全方式,软件和通信安全方式也被用于保护敏感的个性化处理。物理和软件方式的组合阻止仅仅拥有必要的软件程序而与一次性物理硬件电路没有任何链接的第三方的个性化。
在个性化处理的开始,测试仪T以及FPGA设备和芯片IC开机。测试仪T读取并发送从测试仪T永久存储器取得的第一密码S1至FPGA设备WB。 为了初始化以测试模式进入芯片,FPGA设备发送命令C至芯片IC,其发送一个信号s至安置在晶片W上的硬件模块HM。硬件模块HM返回一个响应r至芯片以指示其在晶片上存在,即,并非孤立或集成在连接至FPGA设备WB的设备中。
如果芯片IC没有从硬件模块HM接收响应r,与硬件模块HM的连接可能是有缺陷的或者芯片IC从晶片W分离。FPGA设备WB分别与硬件模块HM通信的测试仪T停止处理并且可以显示一个错误信息。优选地,状态指示符ST(晶片上的芯片/晶片外的芯片)在测试模式序列激活持续之前可以被报告给FPGA设备WB。这个状态指示符ST可以被包括在对初始化命令C的响应中。
在与硬件模块HM成功通信后,芯片IC生成一个随机数R并且将其转送至FPGA设备WB。随机数R优选是一个真随机数,即,用硬件真随机数生成器(True Random Number Generator,TRNG)产生以改进结果的统计唯一性。
有两种原理方法用于生成随机数:第一种方法是基于某些物理现象测量方法(例如半导体元件中的噪音),其被期待是随机的并且随后补偿在测量过程中可能的偏差。第二种方法使用计算算法,其可以产生明显随机结果的长序列,其实际上完全由一个较短的初始化值确定,已知为种子或关键值。生成器的后一种类型通常被称为伪随机数字生成器。由于其输出是固有可预测的,所以一种仅基于确定性计算的“随机数生成器”不能被当作是“真”随机数字生成器。
FPGA设备WB通过使用由随机数R和第一密码S1参数化的加密算法E加密第二密码S2以获取发送给芯片IC的第一密文M1=ER,S1(S2)。
通过使用由随机数R和第一密码S1参数化的逆加密算法E-1解密所接收的第一密文M1获取的结果上应用布尔函数F,芯片IC计算第二密文M2=F(E-1R,S1(M1))。这个第二密文M2随后由芯片IC和通过在临时存储在芯片IC上的第二密码S2上应用布尔函数F获取的结果进行比较。如果比较是成功的,即,M2=F(S2),则测试模式序列被启用从而芯片IC准备好被个性化。否则,之前由新的随机数R生成所开始的步骤可以被重复或者由于安全失败或其他缺陷停止处理。受益于加密/解密算法E中使用以计算密文M1和M2的真随机数R,FPGA设备WB问的每个数据交换被统计地唯一。
布尔函数F可以优选是一种加密单向函数,诸如例如在文献WO2010/130709A1中所描述SHA256类型的哈希函数。即使函数F是已知的,从结果密文M2中恢复原始值E-1R,S1(M1)也是相当不可能的。
FPGA设备WB从芯片IC接收如OK或KO的响应消息RES以指示个性化步骤能或不能被执行。
依照优选的配置,第一密码S1和第二密码S2构成全球密码S的部分。第一密码S1被存储在测试仪T的永久存储器和芯片IC的永久存储器中以及被存储在FPGA设备WB的非永久随机存取存储器RAM中。第二密码S2被存储在FPGA设备WB的永久存储器中以及被存储在芯片IC的非永久随机存取存储器RAM中。当系统元件的连接被初始化时,通过在FPGA设备和芯片IC的各自存储器上存储密码S1和S2,密码S的共享可以在测试仪T的开始被执行。
FPGA设备WB还被配置用来在个性化阶段访问加密的非易失性存储器以用于加载应用代码至芯片IC。这个存储器可以包含多个应用代码的版本从而测试仪T使FPGA设备WB分别地选择存储在芯片(IC)的存储器中应用代码的预先定义的版本。依照一个实施例,以安全方式将应用代码由FPGA设备WB发送至芯片(IC),该应用代码通过使用一种取决于按上述测试模式激活处理类似方式的真实随机数的算法加密。
依照另一个实施例,FPGA设备WB以在芯片个性化阶段由测试仪T的用户物理地不可访问这种方式被机械和电子地连接至测试仪T。此外组成FPGA设备WB的电子模块被制成防篡改的或防破坏的。
FPGA设备WB发送包括用于可追溯目的的个性化芯片IC的当前状态数据和历史数据的信息至测试仪T。

用于智能卡芯片个性化的方法和系统.pdf_第1页
第1页 / 共8页
用于智能卡芯片个性化的方法和系统.pdf_第2页
第2页 / 共8页
用于智能卡芯片个性化的方法和系统.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《用于智能卡芯片个性化的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于智能卡芯片个性化的方法和系统.pdf(8页珍藏版)》请在专利查询网上搜索。

一种被配置用于个性化至少一个芯片(IC)的方法和系统,芯片将被集成至智能卡内,包括与连接至该芯片(IC)的(现场可编程门阵列)FPGA设备(WB)关联的测试仪(T),该芯片(IC)是包括多个芯片的排列和用于检验晶片(W)上芯片(IC)存在的一次性的硬件模块(HM)的晶片的一部分。测试仪(T)发送第一密码(S1)至FPGA设备(WB),其发送命令(C)至芯片以初始化测试模式激活。FPGA设备(WB)。

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

当前位置:首页 >


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