专利名称:安全信息封装系统、大规模集成电路及安全信息封装方法
技术领域:
本发明涉及一种安全信息封装系统、一种用于实现该系统的大规模集成电路(LSI)、一存储部和一种安全信息封装方法。
背景技术:
将解密加密信息所必需的密钥信息嵌入在存储了需要保护版权的内容的存储装置,如DVD(数字化通用盘)、SD卡(安全数字存储卡)等中,及播放或解调所述存储装置的终端设备的系统LSI等中。
为了版权保护和阻止非法使用,密钥信息对用户以及终端设备制造者来说是严格保密的内容。换句话讲,在嵌入了密钥信息的系统LSI的开发阶段中,在作为制造此系统LSI的步骤之一的熔凝(fuse)封装阶段和在系统LSI与存储器相组合的设备封装阶段中,这种密钥信息受到严格管理,以制造该终端设备。
此申请的申请人以前公开了一种密钥封装系统,它通过将安全信息分布到封装了密钥和使用LSI的系统中,而能够提高密钥的保密性和隐蔽性,还能够容易地封装各种安全密钥,并且也能够在不增加电路规模的情况下来测试所封装的值(例如见JP-A-2003-101527,图14)。
图19表示用于解释上述文献中所公开的密钥封装系统7的示意性结构的方框图。这里,在以下的描述中,将在对称密码系统的前提下对解密和加密过程进行说明。“对称密码系统”有这样的特征,如图20中所示,当使用输入B作为密钥时,通过加密电路50来加密输入A,得到输出C,随后,当使用输入B作为密钥时,通过解密电路51来解密输出C,得到输出A。同样,将通过利用密钥Y加密X而得到的加密信息表示为EX(Y)。
如图19所示,密钥封装系统7包括存储部分6a和LSI70。存储部分6a存储第一加密密钥EDK(MK),它是通过使用内部密钥MK加密最终密钥DK而得到的;第二加密密钥EMK(CK),它是通过使用转换密钥CK加密内部密钥MK而得到的,其中转换密钥CK是在使用单向函数的转换的基础上得到的;第三加密密钥EMKtst(CKtst),它是通过使用测试转换密钥CKtst作为密钥来加密测试内部密钥MKtst而得到的,此测试转换密钥CKtst通过单向函数转换而来的,此单向函数与用于生成转换密钥CK的单向函数相同。
LSI70具有第一选择器64,它接收第二和第三输入IN2、IN3,随后响应于测试信号TEST可选地输出任一输入。第一解密电路X33接收第一选择器64的输出作为其输入。而且,提供给LSI70种子(seed)生成部分71,该部分包括第一常数存储部分72、第二选择器73、第二常数存储电路74和第二单向函数电路B75。
第一常数存储部分72存储了作为转换种子IDfuse1的源的第一常数IDfuse,和作为用于测试的转换种子Idtst1的源的第二常数IDtst。将第一常数存储部分72构造成通过利用激光微调等的熔断(fuse cutting)任何数值都可封装为第一常数IDfuse和第二常数IDtst。
响应于测试信号TEST,第二选择器73可选地输出第一常数IDfuse和第二常数IDtst。第二常数存储电路74中存储了第三常数Const。在利用第二选择器73的输出的同时,第二单向函数电路B75通过单向函数来转换用作转换种子的第三常数Const。
LSI70具有第一单向函数电路A32,它利用第一输入IN1通过单向函数转换作为转换种子的第二单向函数电路B75的输出,来生成转换密钥CK或测试转换密钥CKtst;第一解密电路X33,它通过将第一单向函数电路A32的输出作为密钥来解密第一选择器64的输出;及第二解密电路Y34,它通过使用第一解密电路X33的输出作为密钥来解密第一输入IN1。
将用于检验第二选择器73输出的检验电路65提供给LSI70。检验电路65包括常数存储电路66,其熔凝封装了与常数IDfuse的冗余计算结果相等的常数CRCfuse;和比较电路67,其对第二选择器73的输出进行冗余计算、然后将结果同存储在常数存储电路66中的常数CRCfuse进行比较。
首先,将在下面说明在测试阶段的LSI70的操作。在此情况下,将测试信号TEST设为“1”。此时,第一选择器64接收“1”作为测试信号TEST,然后可选地将输入IN3输出,即第三加密密钥EMKtst(CKtst)。同样,第二选择器73接收“1”作为测试信号TEST,然后可选地输出存储在第一常数存储部分72中的第二常数IDtst。
通过利用第二选择器73的输出,即第二常数IDtst,第二单向函数电路B75通过单向函数来转换存储在第二常数存储电路74中的第三常数Const。也就是说,将用于测试的转换种子IDtst作为转换种子从种子生成部分71中输出。
然后,当使用第一输入IN1,即第一加密密钥EDK(MK)的同时,第一单向函数电路A32通过与用于生成测试转换密钥CKtst相同的单向函数,来转换从种子生成部分71中输出的用于测试的转换种子IDtSt1。相对应地,测试转换密钥CKtst从第一单向函数电路A32中生成/输出。
第一解密电路X33使用第一单向函数电路A32的输出,即测试转换密钥CKtst作为密钥,来解密第一选择器64的输出,即第三加密密钥EMKtst(CKtst)。相应地,测试内部密钥MKtst从第一解密电路X33中生成/输出。第二解密电路Y34使用第一解密电路X33中的输出,即测试内部密钥MKtst作为密钥,来解密第一输入IN1,即第一加密密钥EDK(MK)。相应地,测试最终密钥DKtst从第二解密电路Y34中生成。
接下来,将在下面对正常时间下的LSI70的操作进行说明。在此情况下,将测试信号TEST设为“0”。同时,第一选择器64接收“0”作为测试信号TEST,然后可选地将输入IN2输出,即第二加密密钥EMK(CK)。同样,第二选择器73接收“0”作为测试信号TEST,然后可选地输出存储在第一常数存储部分72中的第一常数IDfuse。
第二单向函数电路B75使用第二选择器73中的输出,即第一常数IDfuse,通过单向函数来转换存储在第二常数存储电路74中的常数Const。相应地,转换种子IDfuse1从种子生成部分71中输出。
然后,当使用第一加密密钥EDK(MK)的同时,第一单向函数电路A32通过用与生成转换密钥CK相同的单向函数,来转换从种子生成部分71输出的转换种子IDfuse1。相应地,转换密钥CK从第一单向函数电路A32中生成/输出。
第一解密电路X33通过将第一单向函数电路A32的输出,即转换密钥CK作为密钥,来解密第一选择器64的输出,即第二加密密钥EMK(CK)。相应地,内部密钥MK从第一解密电路X33中生成/输出。第二解密电路Y34将第一解密电路X33的输出,即内部密钥MK作为密钥,来解密第一输入IN1,即第一加密密钥EDk(MK)。相应地,最终密钥DK从第二解密电路Y34中生成。
这时,第二选择器73的输出也被输入给检验电路65中的比较电路67。比较电路67检验对第二选择器73输出进行的冗余计算的结果是否与在常数存储电路66中熔凝封装的常数CRCfuse相符。因此,可以检验存储在种子生成部分71中的第二常数IDfuse的有效性。
在上述现有技术的密钥封装系统中,存在这种情况,即通过非法泄露的装置、系统LSI或存储部分来确定生产终端设备、系统LSI或存储部分的制造者是不可行的。同样,在泄露特定安全信息的情况下,通过复制这种特殊安全信息,就可以生产大量的可正常工作的终端设 备或系统LSI。因此,就存在完保护版权是不可行的情况。
发明内容
本发明的目的是提供一种安全信息封装系统、一种LSI、一种存储部分和一种安全信息封装方法,它们通过使基于非法泄露装置、系统LSI或存储部分来确定制造终端设备、系统LSI或存储部分等的制造者成为可能,而能够实现对安全信息的严格管理。
本发明的安全信息封装系统包括存储部分,用于存储通过使用内部安全信息来加密最终安全信息而得到的第一加密安全信息、和通过使用转换安全信息来加密所述内部安全信息的而得到的第二加密安全信息;和LSI,其包括种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过从存储部分输入的第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密从存储部分输入的第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密从存储部分输入的第一加密安全信息。
本发明的一种LSI,将第一加密安全信息和第二加密安全信息输入在其中,第一加密信息是通过使用内部安全信息来加密最终安全信息而得到的,第二加密信息是通过使用转换安全信息来加密内部安全信息而得到的,它包括种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密第一加密安全信息。
本发明的一种存储设备,它为LSI提供第一加密安全信息和第二加密信息,所述LSI包括种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密第一加密安全信息。其中第一加密安全信息是通过使用内部安全信息来加密最终安全信息而得到的,第二加密安全信息是通过使用转换安全信息来加密内部安全信息而得到的。
本发明的一种将安全信息封装到包括存储部分和LSI的系统中的安全信息封装方法,该方法包括以下过程存储第一加密安全信息和第二加密安全信息到存储部分,第一加密安全信息是通过使用内部安全信息来加密最终安全信息而得到的,第二加密安全信息是通过使用转换安全信息来加密内部安全信息而得到的;和封装所述LSI到所述系统中,所述LSI包括种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密第一加密安全信息。
根据本发明,通过将加密安全信息与地址信息相关联,就可以通过非法泄露的装置、系统LSI或存储部分来确定制造终端设备、系统LSI或存储部分的制造者,而且还能够实现对安全信息的严格管理。
图1是表示将本实施例的安全信息封装系统封装到终端设备中为止所需的全过程的流程图。
图2是表示构建在本实施例的安全信息封装系统中的系统LSI开发过程的流程图。
图3是表示本实施例的安全信息封装系统的熔凝封装过程的流程图。
图4是表示封装进在其中构建有本实施例的安全信息封装系统的终端设备等的设备封装过程的流程图。
图5是表示应用在从安全信息许可公司220向负责系统LSI的开发和制造的LSI销售商A230给出许可的情况下的许可方案的图解。
图6是表示生成加密安全信息的加密安全信息生成器200的方框图。
图7是表示生成加密安全信息的加密安全信息生成器210的方框图。
图8是表示应用在从安全信息许可公司220向负责系统LSI的熔凝封装的熔凝封装销售商C240给出许可的情况下的许可方案的图解。
图9是表示应用在从安全信息许可公司220向负责系统LSI的设备封装的设备制造者B250给出许可的情况下的许可方案的图解。
图10是表示将本实施例的安全信息封装系统封装到终端设备中的全过程的许可方案的图解。
图11是表示在本实施例的LSI开发阶段中,安全信息封装系统120的示意结构的电路图。
图12是表示在本实施例的熔凝封装阶段中,安全信息封装系统120的示意结构的电路图。
图13是表示在封装进设备的安全信息封装阶段中,本实施例的安全信息封装系统120的示意结构的电路图。
图14是表示一种情况下的示意结构的方框图,在这种情况中,在本实施例的安全信息封装系统120中,将存储在存储部分120a中的第一加密安全信息EDK(MK)/地址用于产品检查中。
图15是表示在本实施例的安信息封装系统120中增加了可以选择用于测试的加密安全信息的第三和第四选择器64,65的结构的图解。
图16是表示在本实施例的安全信息封装系统120中增加了可以选择用于测试的加密安全信息的第三和第四选择器64,65的结构的图解。
图17是在表示本实施例的安全信息封装系统120中增加了可以选择用于测试的加密安全信息的第三和第四选择器64,65的结构的图解。
图18是表示在本实施例的安全信息封装系统120中给LSI 120b提供了用于接收从第二解密电路Y34输出的最终安全信息DK来作为其输入的加密模块141的结构的图解。
图19是表示说明密钥封装系统7的示意结构的方框图。
图20是表示对称隐密系统的特征的图解。
图21是表示在本实施例的安全信息封装系统120中,将可分离地连接到系统120上的外部记录介质130a用于代替存储部分120a的结构的图解。
具体实施例在下文中将参考附图对本发明的实施例进行说明。首先,将在下文中说明许可管理,即,分别在开发、制造、检查和封装本发明实施例的安全信息封装系统的阶段中,给制造者提供安全信息的许可所需的许可方案。在此情况下,诸如密钥、参数、加密算法或转换表等之类的需要保密的所有信息都包含在安全信息中。
图1是表示将本实施例的安全信息封装系统封装到终端设备中为止所需的全部过程的流程图。图2、图3和图4是分别表示系统LSI的开发过程、熔凝封装过程和设备封装过程的流程图,此系统LSI构建在本实施例的安全信息封装系统中。
图5是表示一种许可方案的图解,此许可方案用在这样的情况下,即在构建在本实施例的安全信息封装系统中的系统LSI的开发过程中,从安全信息许可公司220向负责系统LSI的开发和生产的LSI销售商A230给出许可。
图6和图7是表示加密安全信息生成器200、210生成图5中所示的安全信息许可公司220中加密安全信息的方框图。
图8是表示一种许可方案的图解,此许可方案用在这样的情况下,即在构建在本实施例的安全信息封装系统中的系统LSI的熔凝封装过程中,从安全信息许可公司220向负责系统LSI的熔凝封装的销售商C240给出许可,。
图9是表示一种许可方案的图解,此许可方案用在这样的情况下,即在构建在本实施例的安全信息封装系统中的系统LSI的设备封装阶段中,从安全信息许可公司220向负责系统LSI的设备封装的设备制造者B250给出许可,。结合图5、图8和图9,图10是表示将本实施例的安全信息封装系统封装到终端设备中所应用的全部过程的许可方案的图解。
接下来,将在下文中对在开发、生产、检验和封装本发明的实施例的安全信息封装系统的各个阶段中所应用的许可方案逐一进行说明。销售安装有本实施例的安全信息封装系统的终端设备、并管理在终端设备中所播放的的内容的版权等的主体为安全信息许可公司220。
首先,如图1和图5所示,安全信息许可公司220生成用于LSI开发的加密安全信息,以向LSI销售商A230给出LSI开发许可(图1中步骤S11)。如图6所示,安全信息许可公司220通过加密安全信息生成器200生成提供给LSI销售商A230的加密安全信息。换句话讲,加密电路201通过将用于测试的内部安全信息MKst作为密钥,来加密开发用的安全信息DKtst,以生成用于开发的第一加密安全信息EDKtst(MKtst)。
然后,单向函数电路203将用于测试的常数IDtst作为密钥,通过单向函数来转换LSI制造者密钥Const。然后,单向函数电路204将用于开发的第一加密安全信息EDKtst(MKtst)作为密钥,通过单向函数来转换转换后的结果以生成测试转换密钥CKtst,此第一加密安全信息EDKtst(MKtst)通过用于开发的第一加密安全信息EDKtst(MKtst)生成。
然后,加密电路205将从单向函数电路204中输出的测试转换密钥CKtst作为密钥,来加密用于测试的内部安全信息MKst,以生成用于开发的第二开发加密安全信息EMKtst(CKtst)。同样,循环冗余校验(CRC)生成电路202执行用于测试的常数IDtst的冗余计算(如CRC16),以生成用于检验-测试的常数CRCtst。
然后,如图5所示,安全信息许可公司220为LSI销售商A230提供用于开发的第一和第二加密安全信息EDKtst(MKtst)和EMKtst(CKtst)、用于测试的常数IDtst、用于检验-测试的常数CRCtst和LSI制造者密钥Const。
LSI制造者密钥Const具有例如(XXXX)+(LSI制造者确定位)的结构,并且具有能够确定谁是LSI的制造者的位。这样,由于只将用于测试的加密安全信息提供给LSI销售商A230,所以才能够提高加密安全信息的必要的隐蔽性。同样,由于能够确定谁是LSI的制造者的位包含在LSI制造者密钥Const中,那么即使泄露了用于测试的加密安全信息,也能够加强管理。
然后,LSI销售商A230,当收到所提供的开发加密安全信息时,就基于该开发加密安全信息来开发并制造LSI(图1中步骤S14)。
图2是表示在LSI销售商A230中执行的系统LSI的开发和制造过程的流程图。如图2所示,LSI销售商A230将LSI制造者密钥Const、用于测试的常数IDtst和用于检验-测试的常数CRCtst的值封装到设计数据中(步骤S21),然后接通稍后将描述的用于LSI检查的测试信号(步骤S22)。
然后,使用用于开发的第一和第二加密安全信息EDKtst(MKtst)、EMKtst(CKtst)来验证LSI函数(步骤S23),而后进行布图设计和掩膜排序(步骤S24)。
然后,使用开发用的第一和第二加密安全信息EDKtst(MKtst)、EMKtst(CKtst)来进行LSI的测试(步骤S25)。然后进行功能测试(步骤S26),而后如果在步骤S26中的结果为“可以”,就将LSI分到非缺陷单元中(步骤S27),同样如果在步骤S26中的结果为“不行”,就将其分到缺陷单元中(步骤S28)。
然后,安全信息许可公司220生成提供给熔凝封装销售商C240的加密安全信息,如IDfuse等(图1中步骤S12),并且也生成提供给设 备制造者B250的加密安全信息,如第一加密安全信息EDK(MK)/地址等(图1中步骤S13)。
在此情况下,如图7和图8所示,安全信息许可公司220使加密安全信息生成器210生成加密安全信息。换句话讲,加密电路211通过将内部安全信息MK和地址作为密钥来加密最终安全信息DK,并生成与地址相关的第一加密安全信息EDK(MK)/地址。
然后,单向函数电路213将对应于地址的常数IDfuse/地址作为密钥通过单向函数,来转换LSI制造者密钥Const。然后,单向函数电路214将通过加密电路211生成的第一加密安全信息EDK(MK)/地址作为密钥通过单向函数,来转换转换后的结果以生成转换密钥CK。
然后,加密电路215将由单向函数214生成的转换安全信息CK和地址作为密钥,加密内部安全信息MK,并生成第二加密安全信息EMK(CK)/地址。同样,CRC生成电路212对对应于地址的常数IDfuse/地址进行冗余计算(例如,CRC16),生成用于检验的常数CRCfuse。
然后,如图8所示,安全信息许可公司220将常数IDfuse/地址和用于检验的常数CRCfuse提供给熔凝封装销售商C240。熔凝封装销售商C240当收到所提供的用于封装的加密安全信息时,就基于用于封装的加密安全信息执行LSI检查和熔凝封装(图1步骤S15)。
图3是表示在熔凝封装销售商C240中执行的熔凝封装过程的流程图。熔凝封装销售商C240读取常数IDfuse/地址,这些常数IDfuse/地址由安全信息许可公司220提供(步骤S31),然后接通熔凝写入设备(步骤S32)。
然后,将常数IDfuse/地址加载到LSI上(步骤S33)。然后,切断测试信号(步骤S35)。然后,执行熔凝部分/CRC检查(步骤S36)。
然后,作为CRC检查的结果,如果常数IDfus/地址是正常加载的(可以),就将LSI分到非缺陷单元中(步骤S37)。相反,如果常数IDfuse/地址不是正常加载的(不行),就将LSI分到缺陷单元中(步骤S38)。
然后,对于非缺陷单元,接通测试信号(步骤S39)。然后,分别执行提供给LSI的加密电路、单向函数电路等的功能测试(步骤S40)。如果功能测试是正常的(可以),就将LSI分到非缺陷单元中(步骤S41),然而,如果功能测试是不正常的(不行),就将LSI分到缺陷单元中(步骤S42)。
在熔凝封装销售商C240中,那些性能测试正常和被分到非缺陷单元中的LSI被转交给设备制造者B250(图1中步骤S16)。然后,在设备制造者B250中执行设备的开发(图1中步骤S17)。
正相反,如上面所述,在安全信息许可公司220中,第一加密安全信息EDK(MK)/地址和第二加密安全信息EMK(CK)/地址由加密安全信息生成器210生成。然后,将这些加密安全信息提供给设备制造者B250(见图9)。
在收到所提供的加密安全信息的设备制造者B250中,将LSI封装在此设备中(图1中步骤S18)。在设备制造者B250申执行的LSI封装过程如图4的流程图中所示。
换句话讲,设备制造者B250读取与加密安全信息相关的地址(步骤S51),然后根据地址值选择第一加密安全信息EDK(MK)/地址和第二加密安全信息EMK(CK)/地址(步骤S52)。
然后,设备制造者B将所选择的第一加密安全信息EDK(MK)/地址和第二加密安全信息EMK(CK)/地址封装在此设备中(步骤S53)。然后,通过执行熔断或端子固定(terminal fixing),来关闭提供给LSI的开关(稍候将描述)(步骤S54)。然后,执行设备的最终性能测试(步骤S55)。
现在,内部安全信息MK和最终安全信息DK具有例如(YYYY)+(设备制造者确定位)的结构,并且具有通过其能够确定谁是封装LSI到设备中的设备制造者的位。在此情况下,作为内部安全信息MK和最终安全信息DK,每个Idfuse可使用不同值。这样,由于常数IDfuse是与地址相关并且是LSI特有的ID,设备制造者不能为其它目的而应用同一安全信息。同样,由于将允许用户确定生产LSI的设备制造者的位包括在内部安全信息MK和最终安全信息DK中,那么即使泄露了内部安全信息MK和最终安全信息DK,也可以加强管理。
(实施例1)接下来,将在下文中说明本实施例的安全信息封装系统的电路和操作的每个一处理阶段。
图11是表示在LSI开发阶段中的本实施例的安全信息封装系统120的示意结构的电路图。由于在LSI销售商A230的LSI开发阶段中,向在下面详细描述的熔凝和地址中什么都没有加载,因此使用测试值来执行此测试。如图11所示,安全信息封装系统120包括存储部分120a和LSI120b。
在存储部分120a中存储用于测试的第一加密安全信息EDKtst(MKtst),其是通过使用于测试的内部加密安全信息MKtst来加密测试最终安全信息DKtst而得到的;和用于测试的第二加密安全信息EMKtst(CKtst),其是通过使用用于测试的转换安全信息CKtst来加密用于测试的内部安全信息MKtst而得到的,此CKtst是使用单向函数通过转换而得到的。用于测试的转换安全信息CKtst是通过单向函数来转换的,此单向函数与用于生成转换安全信息CK的函数相同。提供给LSI120b第一种子生成部分131,此第一种子生成部分131包括第一常数存储电路132、第一选择器133、第二常数存储电路134和第二单向函数电路B135。
在第一常数存储电路132中存储作为用于测试的IDtst的转换种子的源的第二常数IDtst。在此情况下,当完成LSI的开发后,在熔凝封装阶段中,将作为转换种子IDfuse1的第一常数IDfuse和地址加载到一个区域中,将所述区域设置在第一常数存储电路132中。由于在此区域中的数据不用在LSI的开发阶段中,因此“xxx”、“yyy”作为图11中的第一常数进行存储。但是如果它们不用于产品中,能够使用任何值。第一常数存储电路132构成的方式要使第二常数IDtst、第一常数IDfuse和地址能够通过激光微调、电熔凝或通过其它非易失性存储器等熔断的引线或通过从外部设备中加载常数等来封装。
响应于测试信号TEST第一选择器133可选地输出第一和第二常数“xxx”、“yyy”及IDtst其中之一。第二常数存储电路134将第三常数Const作为LSI制造者密钥存储在其中。第二单向函数电路B135使用第一选择器133的输出,通过单向函数来转换作为转换种子的第三常数Const。
LSI120b具有第一单向函数电路A32,其使用第一输入IN1,即用于测试的第一加密安全信息EDKtst(MKtst),通过单向函数来转换作为转换种子的第二单向函数电路B135的输出以生成用于测试的转换安全信息CKtst;第一解密电路X33,其将第一单向函数电路A32的输出作为密钥来解密第二输入IN2,即用于测试的第二加密安全信息EMKtst(CKtst);及第二解密电路Y34,其将第一解密电路X33的输出作为密钥来解密第一输入IN1。
另外,将用于检验第一选择器133的输出的检验电路165提供给LSI120b。检验电路165具有第三常数存储电路166,它存储了与对用于测试的常数IDfuse进行冗余计算的结果相等的常数CRCtst,和比较器电路168,它将上述的冗余计算施加到第一选择器133的输出,然后将此结果与存储在第三常数存储电路166中的常数CRCtst进行比较。
在LSI开发阶段中,由于用于熔凝封装阶段或外部常数加载过程的第一常数IDfuse和地址没有加载到第一常数存储电路132中,那么对应于第一常数IDfuse和地址的数据没有加载到第三常数存储电路166中。因此,在图11中这种值用zzz表示。与xxx和yyy一样,如果这种数据没有用在产品中,任何值都可用作zzz。
下一步,将在下文中说明在检验中的LSI120b的操作。在此情况下,将测试信号TEST设为“1”。此时,第一选择器133接收作为测试信号TEST的“1”,并且可选地输出存储在第一常数存储电路132中的用于测试的第二常数IDtst。
第二单向函数电路B135使用第一选择器133的输出即用于测试的第二常数IDtst,通过单向函数来转换存储在第二常数存储电路134中的作为LSI制造者密钥的第三常数Const。也就是说,用于测试的转换种子IDtst作为转换种子从种子生成部分131中输出。
然后,当使用第一输入IN1,即用于测试的第一加密安全信息EDKtst(MKtst)的同时,第一单向函数电路A32通过单向函数来转换从种子生成部分131中输出的用于测试的转换种子IDtst,该单向函数对应于用来生成用于测试的转换安全信息CKtst的单向函数。相应地,用于测试的转换安全信息CKtst从第一单向函数电路A32中生成/输出。
第一解密电路X33将第一单向函数电路A32的输出,即用于测试的转换安全信息CKtst作为密钥,来解密第二输 入IN2,即用于测试的第二加密安全信息EMKtst(CKtst)。相对应地,用于测试的内部安全信息从第一解密电路X33中生成/输出。
第二解密电路Y34将第一解密电路X33的输出,即用于测试的内部安全信息MKtst作为密钥,来解密第一输入IN1,即用于测试的第一加密安全信息EDKtst(MKtst)。相应地,测试最终安全信息DKtst从第二解密电路Y34生成。
与此同时,检验电路165中的第二选择器167接收作为测试信号TEST的“1”,然后可选地输出存储在第三常数存储电路166中的测试检验常数CRCtst。
此时,第一选择器133的输出被输入到检验电路165的比较电路168中。比较电路168检查对第一选择器133的输出进行冗余计算的结果是否与存储在第三常数存储电路166中并且作为第二选择器167的输出的CRCtst相同。然后,如果比较电路168检测到不一致性,那么就停止第二解密电路Y34的操作。相应地,存储在种子生成部分131的用于测试的第二常数IDtst的有效性能够被检验。同样,由于在LSI开发阶段中是使用虚拟参数来执行测试,并且因此LSI开发商不能得到加密安全信息(参数),那么就能够提高加密安全信息的隐蔽性。另外,由于正常产品不是由测试值来操作的,那么即使加密安全信息被非法泄露出去,内容版权也能够得到保护。在此情况下,在LSI120b的正常操作中,将测试信号TEST设为“0”,但是此正常操作并不是在LSI开发阶段中执行的,因此在此省略对它们的说明。
图12表示在熔凝封装阶段中本实施例的安全信息封装系统120的示意性结构的电路图。在此过程中,熔凝封装销售商C240将IDfuse作为安全信息独立封装到任何LSI中,此安全信息是由安全信息许可公司220许可的。在此阶段中,当将测试信号TEST设为“1”时,也使用测试值来执行功能测试。当将测试信号TEST设为“0”后,通过与CRC值的比较测试来检查熔凝写入的有效性。
如图12所示,到LSI120b中的熔凝写入是由设在安全信息封装系统120的外部的IDfuse封装系统300执行的。也就是说,IDfuse/地址被写入到种子生成电路131的第一常数存储电路132中,并且CRCfuse被写入到检验电路165的第三常数存储部分166中。
与图11中所示的LSI开发阶段相同,在将测试信号TEST设为“1”后,LSI120b的功能测试由用于测试的第二常数IDtst和测试检验常数CRCtst来执行。
同时,通过将测试信号TEST设为“0”来检查熔凝写入的有效性。此时,第一选择器接收作为测试信号TEST的“0”,并可选地输出存储在第一常数存储电路132中的第一常数IDfuse/地址。同样,第二选择器167接收作为测试信号TEST的“0”,并可选地输出存储在第三常数存储部分166中的检验常数CRCfuse/地址。
将第一选择器133的输出输入到检验电路165中的比较电路168中。比较电路168检验对第一选择器133的输出进行冗余计算的结果是否与CRCfuse/地址相同,此CRCfuse/地址被熔凝封装在第三常数存储电路166中。接着,如果比较电路168检测到不一致性,就停止第二解密电路Y34的操作。相应地,存储在种子生成部分131中的第一常数IDfuse/地址的有效性也能够被验证。
图13是表示在本实施例的安全信息封装系统120中安全信息到设备的封装阶段的示意性结构的电路图。根据从LSI120b输出的地址,设备制造者B250封装由安全信息许可公司220许可的加密安全信息(参数)到存储部分120a中。
也就是说,如图13所示,加密安全信息封装系统301设在安全信息封装系统120的外部。同时,能够将地址输出给加密安全信息封装系统301的开关136设在LSI120b的内部,所述地址与种子生成部分131中的第一常数存储部分132中的第一常数IDfuse相关。
开关136只用在设备制造者B250中的这样的阶段中,即根据从LSI120b输出的地址将相应的加密安全信息封装到存储部分120a中。在将加密安全信息封装到存储部分120a后,希望不要通过由应用过电压来进行熔断、或端子固定等方式来将地址信息输出到外部。
加密安全信息封装系统301从开关136中读取与第一常数IDfuse相关的地址,然后写入加密安全信息到安全信息封装系统120的存储部分120a中,该加密安全信息位于加密安全信息封装系统301的数据库中的指定地址上。图13表示了第一加密安全信息EDK(MK)/地址和第二加密安全信息EMK(CK)/地址存储的状态。
然后,检查安装操作(在正常操作中)。在此情况下,将测试信号TEST设为“0”。同时,第一选择器133接收作为测试信号TEST的“0”,然后可选地输出存储在第一常数存储电路132中的第一常数IDfuse/地址。
第二单向函数电路B135使用第一选择器133的输出,即第一常数IDfuse/地址,通过单向函数来转换存储在第二常数存储部分134中的作为LSI制造者密钥的第三常数Const。相对应地,转换种子IDfuse1从种子生成部分131输出。
然后,当使用第一加密安全信息EDK(MK)/地址的同时,第一单向函数电路A32通过与用于生成转换安全信息CK相同的单向函数,来转换从种子生成部分131中输出的转换种子IDfuse1。相对应地,转换安全信息CK从第一单向函数电路A32中生成/输出。
第一解密电路X33使用第一单向函数电路A32的输出即转换安全信息CK作为密钥,来解密第二加密安全信息EMK(CK)/地址。相对应地,内部安全信息MK从第一解密电路X33中生成/输出。第二解密电路Y34使用第一解密电路X33的输出即内部安全信息MK作为密钥,来解密第一输入IN1即第一加密安全信息EDK(MK)/地址。相对应地,最终安全信息DK从第二解密电路Y34中生成/输出。
同时,第二选择器167接收作为测试信号TEST的“0”,然后可选地输出存储在第三常数存储部分166中的检验常数CRCfuse/地址。将第二选择器167的输出输入到比较电路168中。将第一选择器133的输出也输入到比较电路168中。比较电路168执行比较测试,如果结果不一致,就停止第二解密电路Y34的操作。相对应地,存储在种子生成部分131中的第一常数IDfuse/地址的有效性能够被验证。
(实施例2)图14是表示在本实施例的安全信息封装系统120中,当存储在存储部分120a中的第一加密安全信息EDK(MK)/地址用在产品检验中的情况下示意性结构的电路图。在本实施例的安全信息封装系统120中,除了与如图13所示的相同结构之外,还提供了加密安全信息输出部分120c,此加密安全信息输出部分120c能够输出存储在存储部分120a中的第一加密安全信息EDK(MK)/地址。
将例如无线发射部分提供给加密安全信息输出部分120c,此无线发射部分,以无线标签(tag)输出存储在存储部分120a中的第一加密安全信息EDK(MK)/地址。通过由设在外部无线标签读取器读取这种信息来执行有效的产品检验。
或者,可以将数据转换部分提供给加密安全信息输出部分120c,此数据转换部分将存储在存储部分120a中的第一加密安全信息EDK(MK)/地址转换为可发送到网络中的数据。在执行该操作时,终端设备的安全信息由安全信息许可公司220的服务器通过网络来管理,因此可以共同管理由终端设备播放的内容的版权。
同样,如果对应于作为LSI特有的常数的IDfuse的值的地址被输出到LSI的外部,就能够得到一对加密安全信息(参数)和地址,。结果是,作为泄露源的LSI能够由非法泄露的加密安全信息确定,并且因此就能够加强加密安全信息的管理。
另外,如果检验每片不同的第一加密安全信息EDK(MK)/地址,封装在LSI中的IDfuse值的随机数特征就能够得到保证。因为LSI销售商由于随机数特征的保证不能将相同的IDfuse值用于其它目的,许可费或版权费就可以加在个所制造的终端设备上,并且因此版权保护就能够得到加强。
(实施例3)图15、图16和图17分别表示各个制造过程中,加入能够选择用于测试的加密安全信息的第三和第一选择器65,64以便有效地测试本实施例中的安全信息封装系统120的的结构。
特别是,如图15所示,提供给LSI120b第三选择器65和第一选择器64。此第三选择器65对应于测试信号TEST选择存储在存储部分120a中的用于测试的第一加密安全信息EDKtst(MKtst)和由设备制造者B250加载的第一加密安全信息EDK(MK)/地址其中之一,然后输出已选择的信息到第一单向函数电路A32中。此第一选择器64对应于测试信号TEST选择存储在存储部分120a中的用于测试的第二加密安全信息EMKtst(CKtst)和由设备制造者B250加载的第二加密安全信息EMK(CK)/地址其中之一,然后输出已选择的信息到第一解密电路X33中。
然后,在由LSI销售商A230和熔凝封装销售商C240执行测试的情况下,将测试信号TEST设为“1”,然后第三和第一选择器65、64选择用于测试的的第一加密安全信息EDKtst(MKtst)和用于测试的第二加密安全信息EMKtst(CKtst)。
同样,如图17所示,在由设备制造者B250执行测试的情况下,将测试信号TEST设为“0”,然后第三和第一选择器65、64选择第一加密安全信息EDK(MK)/地址和第二加密安全信息EMK(CK)/地址。
照这样,根据本实施例的安全信息封装系统120,能够根据测试信号TEST的设定有效执行在各个过程中的测试。在这种情况下,由于在LSI120b中的操作与实施例中的那些操作相似,这里就省略其说明。
(实施例4)图18表示在本实施例的安全信息封装系统120中将加密模块141提供给LSI120b的结构,加密模块141接收从第二解密电路Y34输出的最终安全信息DK作为输入。
安全处理电路141依从与本实施例相同的加密算法或其它加密算法,来加密最终安全信息DK,然后输出可以/不行信号到封装了例如LSI120b的终端设备的其它模块中。
(实施例5)图21表示在本实施例的安全信息封装系统120中,将可分离地连接到系统120的外部记录介质130a用于代替存储部分120a的结构。
根据本实施例,由于最终安全信息DK没有输出到LSI120b的外部,或由于最终安全信息DK进一步被加密算法加密,最终安全信息DK的隐蔽性能够得到进一步提高。
本发明的安全信息封装系统、LSI、存储装置和安全信息封装方法具有这样的效果,即通过将地址信息与加密安全信息相关联,基于非法泄露的终端设备、系统LSI或存储部分,能够确定制造了终端设备、系统LSI或存储部分的制造者,并且还能够实现安全信息的严格管理。因此,它们可用作与封装了密钥并且在其中使用了LSI的系统相关的技术等等。
权利要求
1.一种安全信息封装系统,包括大规模集成电路,包括存储部分,用于存储通过使用内部安全信息来加密最终安全信息而得到的第一加密安全信息、和通过使用转换安全信息来加密所述内部安全信息的而得到的第二加密安全信息;种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过从存储部分输入的第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密从存储部分输入的第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密从存储部分输入的第一加密安全信息。
2.根据权利要求1所述的安全信息封装系统,其中,所述种子生成部分包括第一常数存储部分,用于存储第一常数和第二常数;第一选择器,用于响应于测试信号可选地输出第一常数或第二常数;第二常数存储部分,用于存储第三常数;及第二单向函数电路,它通过使用第一选择器输出的单向函数来转换第三常数,然后响应于测试信号输出转换种子或用于测试的转换种子。
3.根据权利要求2所述的安全信息封装系统,其中,大规模集成电路包括响应于测试信号检验存储在种子生成部分的第一常数或第二常数的检验电路。
4.根据权利要求3所述的安全信息封装系统,其中该验证电路包括第三常数存储部分,用于存储对应于第一常数的冗余计算结果的第四常数和对应于第二常数的冗余计算结果的第五常数;第二选择器,用于响应于测试信号选择性地输出第四常数或第五常数;及比较电路,用于将第一选择器的输出的冗余计算的结果与第二选择器的输出相比较。
5.根据权利要求4所述的安全信息封装系统,其中,当比较电路检测到不一致时,第二解密电路停止操作。
6.根据权利要求1所述的安全信息封装系统,其中,大规模集成电路包括开关电路,其用于响应于控制信号输出包含在第一常数中的地址信息。
7.根据权利要求6所述的安全信息封装系统,其中,在地址信息输出后,该开关电路禁止地址信息的输出。
8.根据权利要求6所述的安全信息封装系统,其中,存储在存储部分的第一加密安全信息和第二加密安全信息与从开关电路输出的地址信息相关。
9.根据权利要求1所述的安全信息封装系统,其中,最终安全信息和内部安全信息与地址信息相关。
10.根据权利要求1所述的安全信息封装系统,其中,存储部分包括加密安全信息输出部分,用于输出存储在存储部分中的第一加密安全信息。
11.根据权利要求1所述的安全信息封装系统,其中,大规模集成电路包括第三选择器,响应于测试信号选择存储在存储部分中的第一加密安全信息或用于测试的第一加密安全信息,并且输出所选择的信息到第一单向函数电路中;及第四选择器,响应于测试信号选择存储在存储部分中的第二加密安全信息或用于测试的第二加密安全信息,并且输出所选择的信息到第一解密电路中。
12.根据权利要求1所述的安全信息封装系统,进一步包括保密处理电路模块,它将诸如加密处理、篡改检测处理等之类的安全处理施加到第二解密电路的输出。
13.根据权利要求1所述的安全信息封装系统,其中,第一常数每一条都有随机数特征,并提供了由在权利要求10中所述的加密安全信息输出部分来测试随机数特征的函数。
14.根据权利要求1所述的安全信息封装系统,其中,第一常数对于大规模集成电路中的每一块或预定数量的块而言是特有的常数。
15.根据权利要求1所述的安全信息封装系统,其中,第三常数对于开发/制造该大规模集成电路的制造者而言是特有的常数。
16.根据权利要求1所述的安全信息封装系统,其中,最终安全信息对于开发/制造所述系统的制造者而言是特有的常数。
17.根据权利要求1所述的安全信息封装系统,其中,第一加密安全信息和第二加密安全信息存储在外部存储介质中。
18.一种大规模集成电路,将第一加密安全信息和第二加密安全信息输入在其中,第一加密信息是通过使用内部安全信息来加密最终安全信息而得到的,第二加密信息是通过使用转换安全信息来加密内部安全信息而得到的,它包括种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密第一加密安全信息。
19.根据权利要求18所述的大规模集成电路,进一步包括检验电路,它响应于测试信号,检验存储在种子生成部分中的第一常数或第二常数。
20.一种存储设备,它为大规模集成电路提供第一加密安全信息和第二加密信息,所述大规模集成电路包括种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密第一加密安全信息。其中第一加密安全信息是通过使用内部安全信息来加密最终安全信息而得到的,第二加密安全信息是通过使用转换安全信息来加密内部安全信息而得到的。
21.一种将安全信息封装到包括存储部分和大规模集成电路的系统中的安全信息封装方法,该方法包括以下步骤存储第一加密安全信息和第二加密安全信息到存储部分,第一加密安全信息是通过使用内部安全信息来加密最终安全信息而得到的,第二加密安全信息是通过使用转换安全信息来加密内部安全信息而得到的;和封装所述大规模集成电路到所述系统中,所述大规模集成电路包括种子生成部分,用于存储包括地址信息和作为转换种子的生成源的第一常数、作为用于测试的转换种子的生成源的第二常数、及第三常数,然后输出转换种子和用于测试的转换种子,所述转换种子和所述用于测试的转换种子是响应于测试信号基于使用第一常数或第二常数的单向函数来转换第三常数而得到的;第一单向函数电路,用于通过第一加密安全信息来转换从种子生成部分输出的转换种子和用于测试的转换种子,以生成转换安全信息或用于测试的转换安全信息;第一解密电路,用于通过将第一单向函数电路的输出作为密钥来解密第二加密安全信息;和第二解密电路,用于通过将第一解密电路的输出作为密钥来解密第一加密安全信息。
22.一种安全信息生成系统,它具有以下功能输入权利要求1中所述的第一常数、第三常数、最终安全信息和转换安全信息,然后输出与地址相关联的第一加密安全信息和第二加密安全信息。
23.根据权利要求22所述的安全信息生成系统,包括输出权利要求4中所述的第四常数的功能。
24.一种安全信息生成系统,具有以下功能输入权利要求1中所述的第二常数、第三常数、测试安全信息和用于测试的转换安全信息,然后输出第一加密安全信息和第二加密安全信息。
25.根据权利要求24所述的安全信息生成系统,具有输出权利要求4中所述的第五常数的功能。
26.一种安全信息生成方法,它输入权利要求1中所述的第一常数、第三常数、最终安全信息和转换安全信息,然后输出与地址相关联的第一加密安全信息和第二加密安全信息。
27.根据权利要求26所述的安全信息生成方法,它输出权利要求4中所述的第四常数。
28.一种安全信息生成方法,它输入权利要求1中所述的第二常数、第三常数、测试安全信息和转换安全信息,然后输出第一加密安全信息和第二加密安全信息。
29.如权利要求28所述的安全信息生成方法,它输出权利要求4中所述的第五常数。
30.一种安全信息分配方法,它通过使用从权利要求26到权利要求29的任何一个中提出安全信息生成方法,将相应的信息分散/分配给进行大规模集成电路开发/制造的制造者及进行系统开发/制造的制造者。
全文摘要
为了能够严格管理安全信息,提出一种安全信息封装系统120,该安全信息封装系统120包括存储部分120a,用于存储通过使用内部安全信息MK来加密最终安全信息DK而得到的第一加密安全信息EDK(MK)/地址和通过使用转换安全信息CK来加密内部安全信息MK而得到的第二加密安全信息EMK(CK)/地址;和LSI 120b,其包括种子生成部分131,用于存储包括地址信息和作为转换种子生成源的第一常数IDfuse/地址、作为用于测试的转换种子生成源的第二常数IDtst和第三常数Const,然后响应于测试信号输出转换种子或用于测试的转换种子。
文档编号H04L9/08GK1691577SQ20051007621
公开日2005年11月2日 申请日期2005年3月31日 优先权日2004年3月31日
发明者藤原睦, 根本佑辅 申请人:松下电器产业株式会社