有加密部分或外部接口的半导体器件及内容再生方法

文档序号:6461770阅读:128来源:国知局
专利名称:有加密部分或外部接口的半导体器件及内容再生方法
技术领域
本发明涉及一种提高象用于密钥安装系统的LSI那样的半导体器件的 安全性的技术。
背景技术
本案申请人在曰本国特愿(专利申请)2001 — 286881中,揭示了使 密钥安装系统中的密钥的机密性和隐匿性比现有技术下的高的技术。但因为所述这一技术不是公开了的发明,所述这里没有本来应该叙述 的现有技术。发明内容本发明的目的,在于提供一种安全性級别很高的半导体器件,提供 一种安全性级别^f艮高的内容再生方法。为解决上述问题,本发明提供一种半导体器件,包括执行对程序加 密及对程序解密中之至少一个的加密部分,所述加密部分,拥有能够执 行含有对程序进行加密处理及解密处理的多个顺序的加密运算部分及加密 控制部分,该加密控制部分,判断是否允许执行所述加密运算部分能够执 行的每一个顺序,对被判断为不允许执行的顺序,它就禁止所述加密运算 部分的操作。根据本发明,在加密部分,对加密控制部分判断出加密运算部分可执 行的每一个顺序中的不允许执行的顺序,就禁止加密运算部分的操作。换 句话说,加密运算部分仅执行由加密控制部分判断出的允许:汰行的顺序。 所以可预先防止顺序的不正当执行,提高安全性。在本发明所涉及的半导体器件中,所述多个顺序中最好含有密钥的加 密处理及解密处理。在本发明所涉及的半导体器件中,最好是,加密控制部分拥有用以存储模式ID的模式ID存储寄存器,而且,根据所述模式ID存储寄存器中 所存储的模式ID的值判断是否允许执行每一个顺序。最好是,所述加密控制部分拥有对应于所述每一个顺序而设且用以 存储其发行次数的寄存器,所述加密控制部分除了根据所述模式ID的值 以外,还根据存储在所述寄存器中的所述每一个顺序的发行次数判断是否 允许执行每一个顺序。再就是,最好是,拥有有不可改写区域的机密存储器,所述不可改写 区域中存储着所述模式ID,所述模式ID存储寄存器仅在起动该半导体器 件时可写入,而且起动时,写入的是从所述机密存储器的所述不可改写区 域读出的所述模式ID。还有,最好是,拥有存储引导程序的引导ROM, 将所述模式ID写到所述模式ID存储寄存器中这一操作由存储在所述引导 ROM中的引导程序来执行。再就是,最好是,拥有存储表示该半导体器件是否被第一次起动的安 装模式旗标的机密存储器,所述加密控制部分除根据所述模式ID值以外, 还根据所述安装模式旗标来判断是否允许执行每一个顺序。再就是,最好是,本发明所涉及的半导体器件,拥有存储与所述多个 顺序中的至少一个相对应的引导程序的引导ROM,所述加密运算部分通 过执行存储在所述引导ROM中的引导程序来执行顺序。再就是,最好是,本发明所涉及的半导体器件拥有控制部件,通过它 的控制做到不能从该半导体器件外部访问所述加密运算部分及加密控制 部分所拥有的寄存器。再就是,最好是,本发明提高一种半导体器件,在该半导体器件和外 部存储器之间,拥有用以进行程序、数据的输出入的外部接口,所述外部程序处理部分和数据处理部分相互独立。根据本发明,在外部接口中,程序处理部分和数据处理部分是独立的。 因此,程序遭到不正当执行的风险就被分散了 ,安全性提高。再就是,最好是,所述本发明所涉及的半导体器件中的程序处理部分, 拥有将程序原样输出入的通过部分及程序解密用密码引擎。该程序解密用密码引擎,接收存储在所迷外部存储器中的加密了的程序,将它解密为 明文程序,再供向该半导体器件内部。再就是,最好是,所述通过部分,拥有执行用通过部分和加密用通 过部分。在该半导体器件中执行通过所述执行用通过部分所输入的程序, 另一方面,通过所述加密用通过部分输入的程序被供向加密部分并被加密。再就是,最好是,拥有存储表示所述外部存储器中的各个区域和地址 之间的对应关系的地址管理信息的地址区分存储寄存器,当访问所述外部 存储器读入程序的时候,参考所述地址管理信息,决定使所述加密用通过 部分、所述执行用通过部分及所述程序解密用密码引擎中之莱一个有效。再就是,最好是,所述地址区分存储寄存器伩在该半导体器件起动时 可以写入。再就是,最好是,拥有有不可改写区域的机密存储器。所述不可改写 区域中存储着所述地址管理信息,起动该半导体器件时,所述地址区分存 储寄存器中写入从所述机密存储器的所述不可改写区域读出的所述地址管 理信息。再就是,最好是,拥有具有用以存储模式ID的模式ID存储寄存器的 模式定序器,另外还根据存储在所述模式ID存储寄存器中的模式ID的值 决定使所述加密用通过部分、所述执行用通过部分及所述程序解密用密码 引擎中之某一个有效。再就是,最好是,所述模式定序器拥有跳线值判断部分,另外还根据 由所述跳线值判断部分判断出的跳线值,决定使所述加密用通过部分、所 述执行用通过部分及所述程序解密用密码引擎中之某一个有效。再就是,最好是,在本发明所涉及的半导体器件中,数据处理部分拥 有将数据原样输出入的通过部分及在输出入数据时进行加密或者解密的 数据加密解密用密码引擎。为达到上述目的,本发明提供一种内容再生方法,包括将存储在外 部存储器的不可再生区域中的原来的内容取到LSI中的步骤;在所述LSI 中,使用存储在内部存储器中的固有ID生成数据固有密钥的步骤;在所 述LSI中,使用所述数据固有密钥对所述原来的内容加密的步骤;将已加 密了的内容存储到所述外部存储器的可再生区域中的步骤;将存储在所述可再生区域中的所述已加密了的内容取到所述LSI中,利用所述数据固有 密钥将该已加密了的内容解密并再生该已加密了的内容的步骤。根据本发明,在LSI中,用利用存储在内部存储器中的固有ID生成 的数据固有密钥,对存储在外部存储器的不可再生区域中的原来的内容加 密。已加密了的内容,被存储到外部存储器的可再生区域中,再生的时候 使用数据固有密钥将该加密了的内容解密。这样以来,因为外部存储器的 可再生区域中存储着用从固有ID生成的数据固有密钥加密了的内容,故 不能由没有相同的数据固有密钥的其他LSI来进行再生。结果是,可防止 内容被不正当地执行,提高安全性级别。最好是,在本发明所涉及的内容再生方法下,所述原来的内容为一由 数据共有密钥加密的内容,在使用所述数据固有密钥将所述原来的内容加 密之前,使用存储在内部存储器中的所述数据共有密钥将所述原来的内容 解密。发明的效果综上所述,根据本发明,加密运算部分仅执行由加密控制部分判断出 为允许执行的顺序。因此,可事先防止顺序的不正当执行。在外部接口, 程序处理部分和数据处理部分是独立的。因此,程序遭到不正当执行的风 险就分散了。还有,因为在外部存储器的可再生区域,存储着利用由固有 ID生成的数据固有密钥加密的内容,故不可能由不具有同一个数据固有密 钥的其他LSI再生这一内容。因此,防止了内容的不正当执行。结果是安 全性级别提高了 。


图1为显示本发明的实施例所涉及的作为半导体器件的机密LSI的结 构的方框图。图2为显示使用了图1的机密LSI的开发及产品化的整个流程的图。 图3为显示引导程序的整个处理流程的流程图。 图4为初始值设定处理SZ1的流程图。图5为显示图1中的机密LSIl中的加密部分及其周边的结构的图。 图6为显示图1中的机密LSI1中的共用总线与私用总线的设定方法的图。图7为显示图1中的机密LSIl中的外部主接口与其周边的结构的图。图8为显示商品操作模式中外部主接口的搡作的图。图9为显示机密存储器的存取控制的图。图10为商品操作模式中的通常引导程序的一个数据流。图11为商品操作模式中的通常引导程序的又一个数据流。符号说明1 —机密LSI(半导体器件);2 —加密部分;10 —机密存储器;11 — 不可改写区域;20 —秘密密钥运算处理部分(加密运算部分);30—密钥 生成/更新定序器(加密控制部分);31 —模式ID存储寄存器;33 —顺序 发行次数存储寄存器;35 —存储部分;40 —模式定序器;41 —模式ID存 储寄存器;45 —跳线值判断部分;50—外部接口; 51 —程序处理部分;52 一通过部分;52a —执行用通过部分;52b —加密用通过部分;53 —程序加 解密用密码引擎;55 —数据处理部分;56—通过部分;58 —数据加密/解 密用密码引擎;60—引导ROM; 81 —地址区分存储寄存器;82 —共用总 线地址存储部分;83 —外部存取地址判断部分;100 —外部存储器。
具体实施方式
下面,参考附图,说明本发明的实施例。图1为表示本实施例所涉及的作为半导体器件的机密LSI的内部结构 的方框图。图l中的结构是这样的,即机密LSI1可通过外部总线120和 外部存储器100 (闪烁存储器101及RAM102)等连接。而且,可通过施 加模式ID来设定操作模式。对本实施例所涉及的主要的结构要素进行简单的说明。 首先,机密LSI 1包括含不可改写区域11的机密存储器(机密Flash) 10。该不可改写区域11中设有不可改写区域写入旗标12。 一旦模式ID 写到机密存储器10中,不可改写区域写入旗标12的旗标值就会从"可写 入"变成"已经写完",之后就不能向不可改写区域11写入了 。需提一下, 在本实施例中,机密存储器10由闪烁存储器构成,当然并不限于此,只 要是非易失性存储器什么都行。还有,加密部分2是对程序进行加密、解密的部分,拥有作为加密 运算部分的秘密密钥运算处理部分20、作为加密控制部分的密钥生成/更 新定序器30、存储程序加密种子的存储部分35。秘密密钥运算处理部分 20拥有存储各种密钥等的寄存器,它能够执行包括程序的加密处理或者解 密处理的多个顺序(sequences)。密钥生成/更新定序器30判断是否允 许执行秘密密钥运算处理部分20可执行的各种顺序,针对已经判断出为 不允许执行的顺序,便让秘密密钥运算处理部分20停止操作。密钥生成 /更新定序器30拥有模式ID存储寄存器31,根据存储在该模式ID存储 寄存器31中的模式ID的值,判断是否允许执行每一个顺序。密钥生成/ 更新定序器30还拥有存储表示密钥或者程序由什么算法、密钥长加密的 加密种类标识符的加密种类标识符存储寄存器32。加密部分2的结构和搡 作的详细情况后述。模式定序器40也拥有模式ID存储寄存器41。该模式定序器40根据 存储在模式ID存储寄存器41中的模式ID和跳线43的值控制外部主接 口 (1/F)50的操作,换句话说,是控制通过哪一个主接口来将存储在外 部存储器100中的程序、数据读进来。由此可控制是否可执行存储在外部 存储器100中的明文程序。模式定序器40还拥有存储了表示用什么方 法将密钥加密的加密种类标识符的加密种类标识符存储寄存器42。外部主接口 50,在模式定序器40的控制下,通过程序处理部分51 所拥有的通过部分52和程序解密用密码引擎53、数据处理部分55所拥 有的通过部分56及数据加密/解密用密码引擎58中之任一个,在它和外 部存储器IOO之间进行程序、数据的输出入。这里,除后述的管理模式及应用程序开发模式以外,通过通过部分52 输入的程序不会在机密LSI1内部执行。换句话说,通过部分52,是一在 明文程序的加密、或者是用其他的密钥对已经加密了的程序再次加密时有 效的部分。机密LSI1的结构是这样的,除了后述的管理模式及应用程序 开发模式以外,不让操作移向通过通过部分52输入的程序。因此,即使 例如已经成为商品的机密LSI1通过通过部分52取进了明文程序,也不能 执行该明文程序。《1导ROM60存储控制机密LSI 1的启动操作的引导程序。HASH运算部分70,为验证读到机密LSIl中的程序的正当性而计算HASH值。还有,在外部存储器100中,程序存储在闪烁存储器101中;数据(内 容)存储在RAM102中。外部工具110中存储了一开始启动机密LSIl时 存储在机密存储器10中的各种初始值。该初始值的种类随着所设定的操 作模式的不同而不同。图2为显示使用了图1中的机密LSI1的开发及产品化的整个流程的 图。如图2所示,机密LSI1在管理模式(模式ID:OO)、密钥生成模式(模 式ID: 01)、开发模式(模式ID: 10)及商品操作模式(模式ID: 11)这 4种操作模式下操作。首先,被设定为管理模式的机密LSI1作为管理者用LSI操作。在管 理者用LSI中,开发密钥生成程序(PA1),而且,使用任意的密钥生成 密钥对该密钥生成程序加密(PA2)。被设定为密钥生成模式的机密LSI1作为密钥生成用LSI操作,在密 钥生成用LSI中,安装在管理者用LSI中生成的> 加密的密钥生成程序 (PB1)。执行该密钥生成程序以后,就生成了各种密钥(PB2)。被设定为开发模式的机密LSI1作为开发用LSI4喿作,在开发用LSI 中,开发在实际的产品中执行的应用程序(PC1)。而且,使用程序共有密 钥对该应用程序加密(PC2)。被设定为商品操作模式的机密LSI1作为实际的商品LSI操作。在商 品LSI中,安装了在开发用LSI中生成的由程序共有密钥加密的应用程序, 在其内部,用程序固有密钥将所安装的应用程序变换成加密了的的应用程 序(PD1)。在通常的商品操作下执行由程序固有密钥加密了的应用程序。 需提一下,在开发用LSI中也可为调试应用程序(PC4)来执行该变换处 理(PC3)。机密LSI1,通过执行存储在引导ROM60中的引导程序而进行以下 操作。图3为显示引导程序的整个处理过程的流程图。 一给机密LSI1通上 电以后,就由CPU65来执行存储在引导ROM60中的引导程序。如图3 所示,首先,将每一个硬件初始化(SZO)。然后,从外部工具110读入各 种各样的初始值,并将该读入的初始值设定在机密存储器10中(SZ1)。图4为初始值设定处理SZ1的流程图。首先,在跳线44,判断机密 存储器10是否安装在LSI内(SZll)。接着,判断不可改写区域写入旗 标12是否为"已写完"(SZ12),因为当为"已写完"(SZ12为"是") 时,初始值就已经设定在机密存储器10中,故结束处理SZ1。当不可改 写区域写入旗标12为"可写入"(SZ12为"否")时,就将初始值写到机 密存储器10中。不仅将模式ID写到机密存储器10的不可改写区域11 中,还将加密的程序固有密钥、地址管理信息、数据固有密钥写到机密存 储器10的不可改写区域11中(SZ13、 SZ16 SZ18)。需提一下,在一 开始的判断结果为机密存储器10在LSI的外部的时候(SZ14为"否"), 就将模式ID写在表示商品操作模式的值上(SZ15)。这样以来,机密存 储器10在LSI包外那样的产品,就只可在商品操作模式下搡作。接下来,将不可改写区域写入旗标12设定为"已写完"(SZ19)。这 样以来,以后的不可改写区域11就不能再改写了。而且,还将加密种类标识符及安装模式旗标写到通常区域13、 14中(SZ1A)。而且,当模式 ID显示管理模式以外的模式的时候(SZ1B为"否"),除了将加密了的种 类标识符及安装模式旗标写到通常区域13、 14中以外,还将已加密的共 有密钥/密钥生成密钥写到通常区域13、 14中(SZ1C)。之后,回到图3,执行前处理SZ2。这里,设定在机密存储器10的不 可改写区域11中的模式ID,被设定在密钥生成/更新定序器30的模式 ID存储寄存器31及模式定序器40的模式ID存储寄存器41中;设定在 机密存储器10的第1通常区域13中的加密种类标识符被设定在密钥生成 /更新定序器30的加密种类标识符存储寄存器32及模式定序器40的加 密种类标识符存储寄存器42中;机密存储器10的不可改写区域11中所 存储的地址管理信息被设定在MEMC80的地址区分存储寄存器81中。 到这里为止的操作,和图2中的初始值设定阶段PAO、 PBO、 PCO、 PDO 相对应。之后,根据模式ID的值来进行每一个模式下的操作(SZ3)。 当模式ID为"00"时,机密LSI1成为管理模式,根据跳线43的值 (SAO)执行明文程序执行处理SA1或者是程序加密处理SA2。在密钥生 成程序开发阶段PA1,进行明文程序执行处理SA1,生成密钥生成程序。该密钥生成程序存储在外部存储器100中。在密钥生成程序加密阶段PA2, 由任意的密钥生成密钥对密钥生成程序加密。当模式ID为"01"时,机密LSI1成为密钥生成模式,根据安装模 式旗标的值(SB0)来执行密钥生成器制造处理SB1或者是密钥管理/发 行处理SB2。在密钥生成器制造阶段PB1,执行密钥生成器制造处理SB1, 用程序固有密钥对由任意的密钥生成密钥加密的密钥生成程序再次加密。 在密钥管理/发行阶段PB2,执行由程序固有密钥加密了的密钥生成程 序,即可执行密钥管理/发行处理SB2,而生成密钥。当模式ID为"10"时,机密LSI1成为开发模式,根据跳线43的值 (SCO)来执行程序加密处理SC1、明文程序执行处理SC2、程序安装处 理SC3或者是加密程序执行处理SC4。在应用程序开发阶段PC1,执行 明文程序执行处理SC2,开发出应用程序。所开发的应用程序存储在外部 存储器100中。在应用程序加密阶段PC2,执行程序加密处理SC1。在应 用程序安装阶段PC3,执行程序安装处理SC3;在应用程序调试阶段PC4, 执行加密程序执行处理SC4。 SC3、 SC4这些处理和商品操作模式中的各 个处理SD1、 SD2—样。当模式ID为"11"时,机密LSI1成为商品操作模式,根据安装模式 旗标的值(SD0)来执行程序安装处理SD1或者通常引导处理SD2。在 商品安装阶段PD1,执行程序安装处理SD1。在商品操作阶段PD2,执 行通常引导处理SD2。图5为显示加密部分2及其周边部分的结构的图。如图5所示,密钥 生成/更新定序器30,除具有模式ID存储寄存器31及加密种类标识符 存储寄存器32外,还拥有对应于利用秘密运算处理部分20执行的每一个 顺序而设、用于存储其发行次数的寄存器33,以及参考存储器31、 33, 判断是否可以执行各个顺序(是否可以执行引导ROM60中的每一个程序 及外部程序),而控制秘密密钥运算处理部分20的操作的控制部分34。在 机密LSI1中,每一个顺序每发行一次,与之对应的存储器33就加1。程序加密种子35,为在对密钥解密时或者生成密钥时所用的种子,包 括共有密钥用和固有密钥用种子。在上述商品操作模式、开发模式下,由控制部分34施加制约,做到将存储在机密存储器10中的值设定在加密部分2中的每一个寄存器中的 顺序(机密Flash取得器/程序(loader))、生成密钥及对密钥解密的顺 序(密钥定序器)分别只能发行一次。例如,若起动机密LSI时, 一旦由 引导程序将存储在机密存储器中的模式ID存储到模式ID存储寄存器31 中,就不能再对模式ID进行改写了 。还有,若在起动机密LSI时,对共 有密钥和固有密钥解密,而将它们存储到秘密秘钥运算处理部分20内部 的寄存器中,就不能再生成密钥,也不能对密钥解密了。因此,即使外部 存储器100中安装了密钥生成程序,也不能生成密钥。曾经解密的固有密 钥存储在外部接口 50内的固有密钥存储寄存器中,加密了的程序用该周 有密钥执行。使用存储在秘密秘钥运算处理部分20内部的寄存器中的共 有密钥、固有密钥更新程序。需提一下,在上述密钥生成模式、管理模式中,因为解除了对密钥定 序器的限制,故能够生成密钥。这里,可设置对应于程序加密种子而设的、存储其使用次数的程序加 密种子使用次数存储寄存器,来代替顺序发行次数存储寄存器33。因为在 生成密钥及对密钥解密的时候使用程序加密种子,故例如只要用模式ID 限制其使用次数,即使计算程序加密种子的使用次数,也能限制密钥的生 成及对密钥的解密。还有,程序加密种子并不一定非要包括共有密钥用及固有密钥用种子。图6为显示共用总线及私用总线的设定方法的图。这里,"私用总线" 指的是,不能从外部存取(外部存取)的总线;外部接口 50物理上也并 非一定要独立。换句话说,被设定为接在私用总线91上的寄存器等,不 能通过外部存取进行读出和写入。地址分别施加给了机密LSI1内部的寄存器等,共用总线地址存储部 分82存储地址中接在共用总线92上的寄存器等的地址(在图6中,为 "0X00000" "0X10000")。当有外部存取时,外部存取地址判断部分 83就参考共用总线地址存储部分82判断是否要访问共用总线92,如果是 这样,就接收它。另一方面,因外部存取不是对共用总线92的存取的时 候,是对私用总线91的存取,故拒绝存取。需提一下,在为来自CPU65的存取(内部存取)的时候,不进行这样的判断,接收内部存取。图7为显示外部接口 50及其周边的结构的图。在图7中,地址区分 存储寄存器81,存储表示外部存储器100中的各个区域和地址的对应关 系的地址管理信息。这里,外部存储器100分为第l区域(设定范围内 的程序)、第2区域(设定范围外的程序)、第3区域(设定区域内的数据) 及第4区域(设定范围外的数据)这四个区域,存储各自的地址。比较器85,参考存储在地址区分存储寄存器81中的地址管理信息, 判断要输入输出的信息的地址属于上述第l 第4区域中的哪一个区域, 并将该判断结果送到输出入控制信号生成部分84。输出入控制信号生成部分84,根据从模式定序器40输出的模式ID 及跳线判断结果、比较器85的输出等,判断让外部接口 50所拥有的哪一 个接口有效,并将该判断结果作为输出入控制信号送到外部输出入模式控制部分54。外部输出入模式控制部分54根据所接收的输出入控制信号使 某一个接口有效。需提一下,当模式ID显示商品操作模式时, 一定不让 执行通过部分52有效。这样以来,存储在外部存储器100中的明文程序 就受到了限制,而不能执行。在调试管理模式及开发模式的时候,通过程序处理部分51的执行用 通过部分52b读入存储在第1区域的程序;在除了密钥生成模式、商品操 作模式或者开发模式调试以外的其他时候,通过程序解码用密码引擎53 读入存储在第l区域的程序。这些程序可执行。另一方面,通过程序处理 部分51的加密用通过部分52a读入存储在第2区域的程序,供给到加密 部分2加密或者是再加密。这些程序不可执行。通过数据处理部分55的数据加密解密用密码引擎58读入存储在第3 区域的数据;通过数据处理部分55的通过部分56读入存储在第4区域的 数据。通过加密用通过部分52a取入的程序,在加密部分2的秘密秘钥运算 处理20中被加密或者再加密,之后又通过加密用通过部分52a被读到外 部存储器100的第1区域中。这样以来,以后就成为可执行的程序。需提一下,在地址区分存储寄存器81及模式ID存储寄存器41的数 据是通过私用总线设定的。换句话说,数据是通过来自内部的存取设定的。还有,该数据是设定在机密LSI1的重新设定之后,且仅可执行一次。图8为显示外部接口 50的操作的图。假设是一个商品操作模式。如 图8所示,安装前,由共有密钥加密了的应用程序存储在外部存储器100 的第2区域(设定范围外)中,因此这种状态是不能执行的。换句话说, 存储在第2区域的由共有密钥加密的应用程序安装时通过加密用通过部分 52a取到机密LSI1中,该应用程序由共有密钥解密后,又由固有密钥再 次加密,再次通过加密用通过部分52a存储到外部存储器100的第1区域 (设定范围内)。于是,存储在该第1区域中由固有密钥加密的应用程序 通过程序解密用密码引擎53被取到机密LSI1内部,并得以在机密LSI1 内部执行。需提一下,在开发模式执行以下操作。首先,调试时,将想要执行的 程序事先写到第1区域(设定区域内)中准备好。于是,即使是明文程序, 也能通过执行用通过部分52b取入并得以执行。加密时,将想加密的程序 事先写到第2区域(设定范围外)中准备好。于是,若起动机密LSIl, 就执行加密的顺序,由共有密钥加密并存储到外部存储器100中。在安装 调试程序时,将要再次加密的程序事先写到第2区域(设定范围外)中准 备好。而且,在调试已加密的程序时,将已调试的加密程序事先写到第1 区域(设定范围内)中准备好。这样就解密、执行了。图9为显示机密存储器10的存取控制的图。如图9所示,存取控制 部分95拥有存储不可改写区域11的地址的寄存器96、存储不可改写区 域写入旗标12的地址的寄存器97、可写入/不可写入判断部分98。这样 构成寄存器96、 97,数据一旦写到寄存器96、 97中,就可通过旗标管理 等禁止再次写入。存取控制如下所述。从CPU65到机密存储器10的存取一定要通过存 取控制部分95来执行。在指令为"读"的时候,不管存取地的地址是不 可改写区域还是通常区域的地址,机密存储器10中的数据都被输出到私 用总线91中。另一方面,当指令为"写"的时候,可写入/不可写入判 断部分98参考存储地的地址、存储在寄存器96中的地址以及不可改写区 域写入旗标12的值,判断是否写入。具体而言,判断如下所述。 (旗标"已写完"且不可写入区域)"'不可写入(旗标"已写完"且通常区域) 可写入(旗标"未写入"且不可写入区域)...可写入 (旗标"未写入"且通常区域) 可写入需提一下,也为机密存储器10准备了 "区域消去"、"芯片消去"等指令。在不可改写区域11旗标12为"已写完"时,通常区域接收"区域 消去",而不可写入区域却不接收。不接收"芯片消去"。还有,在再生内容(数据)的时候,采用以下方法能提高安全性。数据一开始放在外部RAM102的第4区域(设定范围外),在数据被 放在第4区域的时候,数据或是处于由数据共有密钥(和程序共有密钥不 同)加密的状态或是处于明文状态。因此就有被其他的LSI不正当利用的 可能性,而存在安全性问题。为解决这一问题,对于那些特別想防止被不正当利用的图像、音乐等 内容而言,是这样来制造再生内容的程序的,即只能再生存储在外部 RAM102的第3区域(设定范围内)内的内容。在将放在第3区域内的数 据取到机密LSI1时,该数据在数据加密解密用密码引擎58中被解密。因 为进行这一解密时所使用的数据固有密钥由固有ID和随机数组成,所以 该数据固有密钥不仅随机密LSI1的不同而不同,而且每起动一次该数据 固有密钥也不同。因此,数据不容易被不正当利用,安全性也得到提高。 需提一下,因为再生内容的程序也由固有密钥加密,故很难被窜改。图10及图11为商品操作模式下的通常引导处理的数据流程图。在图 10中,首先,将存储在机密存储器10的不可改写区域11中且加密了的 程序固有密钥Enc (程序固有密钥,MKO)、 Enc(MKO, CK)设定在秘 密密钥运算处理部分20的加密密钥存储寄存器中。用所安装的程序加密 种子对该已加密了的程序固有密钥解密而得到程序固有密钥。所得到的程 序固有密钥设定在外部主接口 50的程序解密用密码引擎53的程序固有密 钥存储寄存器中。之后,将存储在机密存储器10的不可改写区域11中的 数据固有ID设定在秘密密钥运算处理部分20的固有ID存储寄存器中。 由CPU65产生随机数,并将该随机数设定在秘密密钥运算处理部分20 的随机数存储寄存器中。由秘密密钥运算处理部分20从数据固有ID和随 机数生成数据固有密钥。已生成的数据固有密钥设定在外部主接口 50的数据加密解密用密码引擎58的数据固有密钥存储寄存器中。之后,在图11中,通过外部主接口 50所拥有的程序处理部分51的 程序解密用密码引擎53,对存储在外部存储器100中且由程序固有密钥 加密了的应用程序Enc(应用程序,程序固有密钥)解密并将它取到HASH 运算部分70中,计算HASH值。接着,对该计算出的HASH值和存储 在机密存储器10的通常区域13中的HASH值进行比较,检查应用程序 是否被窜改。当HASH值一致时,处理将移到存储在外部存储器100的 应用程序Eric(应用程序,程序固有密钥),执行应用。需提一下,当HASH 值不一致时,就推测是有不正当行为,而执行不正当存取控制处理。由CPU65执行应用程序。换句话说,因为由机密LSI1内部的CPU65 作为主体(master)进行存方又控制,故外部存取地址判断部分83就和以 后的操作即内部存取无关。通过应用程序,由数据共有密钥加密的内容(原 来的内容)被从外部RAM102的第4区域(不可再生区域)取到机密LSI1 中。利用已写到机密存储器10中的数据共有密钥在秘密秘钥运算处理部 分20中将所,又入的内容解密。之后,再通过外部"^妄口 50的数据处理部分 55中的数据加密解密用密码引擎58利用数据固有密钥对所取入的内容加 密,并写到外部RAM102的第3区域(可再生区域)。之后,由该数据固 有密钥加密了的内容便可再生,再生时,通过外部接口 50的数据处理部 分55中的数据加密解密用密码引擎58由数据固有密钥解密。
权利要求
1、一种信息处理装置,其特征在于所述信息处理装置的操作状态有实装处理状态和商品操作状态,所述实装处理状态,是对规定的信息进行变换而生成起动所述信息处理装置的所述商品操作状态所需要的变换信息的操作状态,所述商品操作状态,是利用所述变换信息使所述信息处理装置起动的操作状态;所述信息处理装置,包括存储部,用以存储所述规定的信息与所述变换信息,读出部,从所述存储部读出所述规定的信息,变换部,对所述规定的信息进行变换而生成所述变换信息,写入部,将已生成的所述变换信息写入所述存储部,起动部,利用已存储在所述存储部的所述变换信息使所述信息处理装置起动,以及状态控制部,在所述信息处理装置处于所述实装处理状态时所述信息处理装置的电源被接通的情况下,该状态控制部使所述读出部、所述写入部以及所述变换部进行操作,而在所述信息处理装置处于所述商品操作状态时所述信息处理装置的电源被接通的情况下,该状态控制部使所述起动部进行操作。
2、 根据权利要求1所述的信息处理装置,其特征在于所述变换部利用所述密钥信息进行所述规定的信,色的变换; 所述信息处理装置还包括将所述密钥信息记录下来的密钥记录部; 所述密钥记录部,在所述密钥信息被保护而拒绝来自所述信息处理装 置以外的访问的状态下将所述密钥信息记录下来。
3、 根据权利要求1所述的信息处理装置,其特征在于 还包括状态设定部,当由所迷写入部完成了所迷变换信息的写入时,该状态设定部将所述信息处理装置的操作状态设定为所迷商品操作状态。
4、 根据权利要求3所述的信息处理装置,其特征在于所述状态设定部包括状态记录部,该状态记录部将显示所述信息处理装置的操作状态是否 是所述商品搡作状态的状态信息记录下来,以及状态更新部,当由所述写入部完成了所述变换信息的写入时,该状态 更新部将所迷状态信息更新为显示是所述商品操作状态的信息。
5、 根据权利要求4所迷的信息处理装置,其特征在于 所述状态记录部是设置在所述信息处理装置内的机密存储器。
6、 根据权利要求l所述的信息处理装置,其特征在于 还包括删除部,当由所述写入部完成了所述变换信息的写入时,该删除部从所述存储部将所述规定的信息删除。
全文摘要
本发明的目的在于提供一种安全性级别很高的半导体器件。机密LSI1,拥有对程序加密的加密部分2,及用以在它和外部存储器100之间输出入程序、数据的外部接口50。在加密部分2中,针对由密钥生成/更新定序器30判断出的不允许执行的顺序禁止秘密秘钥运算处理20的操作。在外部接口50中,程序处理部分51和数据处理部分55是相互独立的。
文档编号G06F21/24GK101241533SQ20081008615
公开日2008年8月13日 申请日期2003年8月27日 优先权日2002年9月4日
发明者井上信治, 伊藤孝幸, 前田卓治, 安井纯一, 山田泰司, 根本祐辅, 藤原睦 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1