专利名称:加密指令处理设备的制作方法
技术领域:
本发明涉及加密指令处理设备,诸如结合到所谓的数字家用电器中的处理器,用于处理需要版权保护的数字数据,并执行加密指令代码。所谓的数字家用电器诸如数字AV(音频视频)装置、蜂窝电话(移动通信装置)等。
背景技术:
在数字AV装置等中,对诸如商业视频和音乐数据之类其版权必须要保护的数字数据进行处理。为了保护这样的数字数据免于未被授权的使用等,例如,已经实际使用了一种技术,即与诸如DVD(数字多功能光盘)和SD存储卡(安全数字存储卡)之类的记录介质的格式相关联,对数据进行加密来保护。
然而,在其中通过执行程序进行对要保护的数据的加密和解密的情况下,如果程序执行的处理过程被分析,则不能可靠地保护数据。因此,除了通过加密来保护要保护的数据之外,还必须保护加密/解密程序本身不被分析等处理。
作为一种用于保护程序不被分析等处理的技术,已知有这样的技术,其中预先对程序进行加密并存储在ROM中,由部署于CPU和指令加密密钥电路的外部的指令加密解密器对加密程序进行解密,并且然后在CPU中执行指令(例如,参见日本特许公开公布No.62-171031,图1)。
此外,在另一种用于保护程序不被分析等处理的技术中,对具有机密性的程序部分进行加密并存储在外部存储器中,以及部署用于装载程序并解密程序的装入程序(loader)和存储管理部分。通过存储管理部分的管理将解密程序写入存储器中,并且然后仅当CPU执行指令时,指令管理部分允许读出解密部分,以及执行存储管理使得限制数据整个的读出(例如,参见日本特许公开公布No.4-310128,图1)。
另外,还有另一种技术,其中使用通过虚拟存储机制的存储管理,以及对于虚拟存储机制的每页(多数处理器中4K字节的大小或更多),对其中具有高机密性的程序部分进行加密并存储在存储器中,以及将指示加密部分是否存在的标记添加到虚拟存储机制的页表中,从而控制对要执行的指令的解密(例如,参见日本特许公开公布No.2001-230770,图1)。
然而,在其中在部署于CPU外部的指令加密解密器中对加密程序进行解密的配置中,当把解密程序发送到CPU时,容易不正当地读出程序。因此,不能保证保护程序免于被非法分析等。
以相同方式,在其中在部署于CPU外部的装入程序中对加密程序进行解密并存储在由存储管理部分管理的存储器中的配置中,当把程序从装入程序发送到存储器中时以及当经由管理部分把程序从存储器发送到CPU时,也容易不正当地读出解密的程序。因此,不能保证保护程序免于被非法分析等。此外,为了限制作为数据从存储器读出具有机密性的指令,存储管理部分是必需的。因此,出现硬件规模和制作成本增加的问题。
此外,同样在其中使用通过虚拟存储机制的存储管理的配置中,需要大的硬件规模。因此,如果对于由虚拟存储机制管理的存储器的每页(多数处理器中4K字节或更多),判断加密的部分是否存在,则不能实现对加密部分的存在与不存在的精确设置。因此,对不必加密的程序部分进行了加密,从而由于这种不希望的加密,指令执行速度往往降低。
发明内容
鉴于上述问题,构思了本发明,并因此本发明的目的在于提供一种加密指令处理设备,使得能够可靠地防止对程序的非法分析,仅对需要保护的程序部分进行加密,以便以简单的方式减少解密时间,并抑制硬件规模的增加。
为了解决上述问题,本发明提出了一种加密指令处理设备,用于执行由包括加密指令代码的多个指令代码所形成的程序,并且该设备特征在于,包括读入部分,用于在指令代码中读取指示各指令代码是否加密的指令加密信息;以及指令解密部分,用于当指令加密信息指示至少一个指令代码加密时,对加密指令代码进行解密。
因而,即使形成的程序包括加密指令代码和未加密指令代码二者,也根据指令加密信息对加密指令代码进行解密,并然后执行。
此外,根据本发明的一个实施方式,该发明的加密指令设备还包括用于存储多个解密密钥的解密密钥存储部分,读入部分形成为在指令代码中读取各指令代码是否加密以及指示要用于解密的解密密钥的指令加密信息,以及指令解密部分形成为利用由指令加密信息指示的解密密钥之一对加密指令代码进行解密。
因而,能够灵活地使用多种解密密钥。也就是说,根据指令加密信息可选择性地使用多种解密密钥,以解密至少一个指令代码以及执行该加密代码。
根据本发明的另一个实施方式,本发明的加密指令设备形成为在解密密钥存储部分中存储有彼此具有不同长短的解密密钥。
因而,能够灵活地使用彼此具有不同长短的解密密钥。也就是说,根据指令加密信息可选择性地使用彼此具有不同长短的解密密钥,以解密至少一个指令代码以及执行加密代码。
根据本发明的又一个实施方式,在本发明的加密指令处理设备中,读入部分形成为在指令代码中读取各指令代码是否加密以及指示要用于解密的算法的指令加密信息,以及指令解密部分形成为利用由指令加密信息指示的算法对加密指令代码进行解密。
因而,能够灵活地使用多种加密算法。也就是说,根据指令加密信息可选择性地使用多种算法,以解密至少一个指令代码以及执行加密代码。
根据另一实施方式,在本发明的加密指令处理设备中,指令代码是加密AV处理指令代码,用于进行AV内容的加密/解密和AV编码/解码,以及在程序中,对不需要实时处理且需要高度机密性的至少一个加密AV处理指令代码进行加密,以及需要实时处理和低级机密性的至少一个加密AV处理指令代码处于未加密形式。
因而,能够把指令代码的解密范围限制为不需要实时处理且需要高度机密性的至少一个指令代码,从而减少用于指令代码的解密处理时间。因此,能够高速进行加密AV内容的加密/解密和AV编码/解码。
图1是说明根据本发明的实施方式1的加密指令处理设备的配置的方框图;图2是说明在本发明的实施方式1的加密指令处理设备中使用的加密扩展指令代码的配置的示图;图3是说明由本发明的实施方式1的加密指令处理设备执行的程序的加密的一个实施例的示图;图4是说明根据本发明的实施方式2的加密指令处理设备的配置的方框图;图5是说明在本发明的实施方式2的加密指令处理设备中使用的加密扩展指令代码的配置的示图;图6是说明由本发明的实施方式2的加密指令处理设备执行的程序的加密的一个实施例的示图;
图7是说明根据本发明的实施方式3的加密指令处理设备的配置的方框图;图8是说明在本发明的实施方式3的加密指令处理设备中使用的加密扩展指令代码的配置的示图;图9是说明由本发明的实施方式3的加密指令处理设备执行的程序的加密的一个实施例的示图;图10是说明根据本发明的实施方式4的加密指令处理设备的配置的方框图;图11是说明在本发明的实施方式4的加密指令处理设备中使用的加密扩展指令代码的配置的示图;图12是说明由本发明的实施方式4的加密指令处理设备执行的程序的加密的一个实施例的示图;图13是说明由本发明的实施方式5的加密指令处理设备执行的程序的加密的一个实施例的示图。
具体实施例方式
以下,将参照附图描述本发明的实施方式。
(实施方式1)-加密指令处理设备的配置-图1是说明根据本发明的实施方式1的加密指令处理设备的配置的方框图,并且外部存储器300作为连接到加密指令处理设备100的存储介质。
例如,在外部存储器300中,如图2所示,存储用于处理数据的程序等,其中该数据的版权要受到保护。该程序包括多个加密扩展指令代码310,每个具有指令加密标识符311和指令代码312。指令代码312指示将由加密指令处理设备100实际执行的指令。根据要处理的内容的机密性程度,以指令代码312为单位进行加密。此外,指令加密标识符311是指示指令代码312是否加密的信息。例如,如果指令代码312没有加密,则指令加密标识符311设置为0,以及如果指令代码312加密,则指令加密标识符311设置为1。在这种情况下,可以使用各种算法作为加密算法。在这种情况下使用的加密算法并不特别地受到限定,例如,可以使用在下列文献中所描述的DES加密算法Shigeo Tujii and Masao Kasahara,Encryption andinformation security,Shoko-sha(ISBN4-7856-3057-2C3055P4326E)。
将具体描述用于执行上述程序的加密指令处理设备100。
加密指令处理设备100包括外部总线控制单元110、指令寄存器120、指令加密判断部分130、指令解密部分140、指令解码器150和解密密钥存储单元400。
外部总线控制单元110经由外部总线200连接到外部存储器300。通过控制外部总线200和访问外部存储器300,外部总线控制单元110依次读出存储在外部存储器300中的加密扩展指令代码310,并把加密扩展指令代码310输出到指令寄存器120。
指令寄存器120保存加密扩展指令代码310,并把加密扩展指令代码310输出到指令加密判断部分130。
指令加密判断部分130分析各加密扩展指令代码310的指令加密标识符311,并按照指令代码312是否加密,把信号(加密判断信号)输出到解密密钥存储部分400。如果指令代码312加密,则指令代码312输出到指令解密部分140,以及如果指令代码312没有加密,则指令代码312输出到指令解码器150。
解密密钥存储部分400存储用于解密加密的指令代码312的解密密钥401,并且根据加密判断信号,将解密密钥401输出到指令解密部分140。
指令解密部分140包括解密器141,对加密指令代码312进行解密,并将指令代码312输出到指令解码器150。
根据从指令加密判断部分130输出的加密判断信号,指令解码器150将由指令解密部分140解密的指令代码312,或由指令加密判断部分130输出的、没有加密的指令代码312解码成一个可由执行部分(未示出)执行的信号,然后输出该信号。
-加密指令处理设备的操作-接下来,将描述形成为具有上述配置的加密指令处理设备的操作。在这个实施方式中,将描述一种情况,其中存储有一种程序,该程序包括这样的加密扩展指令代码310,其中位于从(n+1)地址至(n+4)地址的指令代码312没有加密,以及这样的加密扩展指令代码310,其中位于从(n+6)地址至(n+9)地址的指令代码312加密。
当开始执行n地址时,通过外部总线控制单元110依次读出多个加密扩展指令代码310,存储在指令寄存器120中并输出到指令加密判断部分130。在各加密扩展指令代码310中,指令加密标识符311设置为0(即,没有加密),并因而指令加密判断部分130把指令代码312输出到指令解码器150。然后,指令解码器150对指令代码312进行解码,并将解码后的指令代码312输出到执行部分。然后,执行部分执行解码后的指令代码312。
当程序的执行转移到(n+5)地址时,在(n+5)地址中的指令加密标识符311设置为1。因而,指令加密判断部分130向解密密钥存储部分400输出指示指令代码312加密的加密判断信号,以使解密密钥存储部分400输出解密密钥401,并且向指令解密部分140输出指令代码312。在指令解密部分140中,利用解密密钥401,解密器141向指令解码器150输出解密后的指令代码312。指令解码器150对解密的指令代码312进行解码,并向执行部分(未示出)输出解码后的解密指令代码312。然后,执行部分执行解码后的指令代码312。
如上所述,如果在加密指令处理设备的内部进行加密程序的解密和解密密钥的管理,则不从外部读取解密的程序、在信号处理期间的中间数据以及解密密钥。因此,能够防止程序的非法分析。此外,通过允许以程序的指令代码为单位设置存在与不存在,能够仅对需要保护的程序部分进行加密。因而,即使当解密器141花费较长时间来处理信号时,也能抑制执行速度的降低。
此外,仅通过分析预定逻辑值(指令加密标识符311),就能够判断指令代码312是否加密。因此,与其中判断方法需要虚拟存储机制和存储管理功能的配置相比,能够抑制硬件规模的增加。
(实施方式2)图4是说明根据本发明的实施方式2的加密指令处理设备500的配置的方框图。在这个实施方式中,具有与实施方式1中基本上相同功能的各部件由相同的参考标记标识,并因此将省略其描述。
作为实施方式1的解密密钥存储部分400的代替,加密指令处理设备500包括图4中所示的解密密钥存储部分600,以及还包括密钥号码判断部分510。
根据从指令加密判断部分130输入的加密判断信号,密钥号码判断部分510向解密密钥存储部分600输出与密钥号码标识符321对应的信号(密钥号码识别信号),该密钥号码标识符321包括在稍后将描述的加密扩展指令代码320中。
此外,解密密钥存储部分600存储诸如解密密钥1、2和3(即,解密密钥401)的多个解密密钥和解密密钥表610。解密密钥表610示出在密钥号码识别信号与指示解密密钥1、2和3的存储位置(例如,地址)的信息之间的对应关系。对应于密钥号码识别信号的解密密钥1、2和3之一输出到指令解密部分140。
如图5所示,例如,将由加密指令处理设备500执行的程序包括多个加密扩展指令代码320,每个具有密钥号码标识符321、指令加密标识符311和指令代码312。当需要按照机密性程度的加密保护时,对各加密扩展指令代码320的指令代码312进行加密,使得可由三个解密密钥401之一解密。对于密钥号码标识符321设置信息,指示哪个解密密钥用于解密指令代码312。例如,当指令代码312由解密密钥1解密时,密钥号码标识符321设置为01。当指令代码312由解密密钥2解密时,密钥号码标识符321设置为10。以及当指令代码312由解密密钥3解密时,密钥号码标识符321设置为11。
将描述形成为具有上述配置的加密指令处理设备500的操作。例如,如图6所示,将描述一种情况,其中执行一种程序,该程序包括这样的加密扩展指令代码320,其中位于从(n+1)地址至(n+4)地址的指令代码312没有加密,以及这样的加密扩展指令代码320,其中位于从(n+6)地址至(n+9)地址的指令代码312这样加密,使得可由解密密钥1解密,以及这样的加密扩展指令代码320,其中位于从(n+11)地址至(n+14)地址的指令代码312这样加密,使得可由解密密钥2解密。
在(n+1)地址的指令代码312没有加密,并因此以与实施方式1中基本上相同的操作方式执行。当程序的执行转移到(n+5)地址时,指令加密标识符311在(n+5)地址中设置为1。因而,指令加密判断部分130向指令解密部分140输出指令代码312,以及向密钥号码判断部分510输出密钥号码标识符321。由于密钥号码标识符设置为01,所以密钥号码判断部分510向解密密钥存储部分600输出与解密密钥1对应的密钥号码识别信号。
利用密钥号码识别信号和解密密钥表610,解密密钥存储部分600获得解密密钥1存储其中的地址,并将读出的解密密钥1的数据输出到指令解密部分140。在指令解密部分140中,利用解密密钥401,解密器141向指令解码器150输出解密的指令代码312。指令解码器150对解密的指令代码进行解码,并向执行部分输出解码后的指令代码312。然后,执行部分执行解码后的指令代码312。
在(n+10)地址,使用解密密钥2解密指令代码312,该解密密钥2对应于其中密钥号码标识符321为10的情况,从而以与(n+5)地址情况下相同的方式执行由解密的指令代码312所示的指令。
如上所述,在这个实施方式中,多个解密密钥存储在加密指令处理设备的内部,并选择性地用于各指令代码。因而,与实施方式1相比,能够实现更高安全级的程序保护。
(实施方式3)
图7是说明根据本发明实施方式3的加密指令处理设备700的配置的方框图。
作为实施方式2的密钥号码判断部分510的代替,加密指令处理设备700包括密钥长短判断部分710,用于根据稍后将描述的密钥长短标识符331的值,输出用于识别解密密钥的长短的信号(密钥长短识别信号)。解密密钥存储部分600保存彼此具有不同长短的解密密钥621,并向指令解密部分140输出具有与密钥长短识别信号对应长短的解密密钥621之一。例如,解密密钥存储部分600保存具有128位的长短的解密密钥1、具有192位的长短的解密密钥2和具有256位的长短的解密密钥3作为解密密钥621。此外,在指令解密部分140中,提供有解密器142,该解密器142能够利用具有不同长短的解密密钥1、2和3进行解密。作为能使用具有不同长短的解密密钥的解密算法,例如,可以使用AES加密。然而,解密算法不限于此,也可以使用一些其他利用具有两个或多个不同长短的解密密钥的算法。
如图8所示,例如,由加密指令处理设备700执行的程序包括多个加密扩展指令代码330,每个具有指令加密标识符311、指令代码312和密钥长短标识符331,提供的该密钥长短标识符331作为指示在对指令代码进行加密中使用的加密密钥的长短的信息(即,用于解密的解密密钥的长短)。也就是说,利用具有与机密性程度对应的长短的加密密钥对各指令代码312进行加密。具体地,例如,当使用解密密钥1(128位)时,密钥长短标识符331设置为01,当使用解密密钥2(192位)时,密钥长短标识符331设置为10,以及当使用解密密钥3(256位)时,密钥长短标识符331设置为11。
如图9所示,例如,包括上述加密扩展指令代码330的程序形成为包括这样的加密扩展指令代码330,其中位于从(n+1)地址至(n+4)地址的指令代码312没有加密,以及这样的加密扩展指令代码330,其中从(n+6)地址至(n+9)地址的指令代码312由对应于加密密钥1(128位)的加密密钥加密,以及这样的加密扩展指令代码330,其中位于从(n+11)地址至(n+14)地址的指令代码312由对应于加密密钥2(192位)的加密密钥加密。
处理单元的操作基本上与实施方式2的处理单元的操作相同。具体地,如在实施方式2中对应于密钥号码识别信号的解密密钥从解密密钥存储部分600输出那样,具有与密钥长短识别信号对应长短的解密密钥从解密密钥存储部分600输出,并由解密器142进行解密。
如上所述,可选择性地使用彼此具有不同长短的解密密钥,从而,除了实施方式2的那些效果之外,还能以更简单的方式维持机密性和执行速度这二者。
(实施方式4)如图10所示,作为实施方式2中的密钥号码判断部分510和指令解密部分140的代替,根据本发明的实施方式4的加密指令处理设备800包括加密算法判断部分810和指令解密部分820。此外,作为解密密钥表610的代替,解密密钥存储部分600包括解密密钥表620。
根据包含在稍后将描述的加密扩展指令代码340中的加密算法标识符341,加密算法判断部分810向解密密钥存储部分600和指令解密部分820输出用于识别加密算法的信号(加密算法标识符信号)。
指令解密部分820包括多个解密器821(例如,解密器1即DES加密解密器,解密器2即AES加密解密器,和解密器3即三重DES加密解密器)和解密器表822,该解密器表822指示了在各解密器821和加密算法标识符信号之间的对应关系。根据加密算法标识符信号,选择多个解密器821之一,以解密指令代码312,以及将解密的指令代码312输出到指令解码器150。例如,作为用于各解密器的加密算法,可以使用下列算法Federal Information Processing StandardsPublication 197,November 26,2001,Announcing the ADVANCEDENCRYPTION STANDARD (AES),http//csrc.nist.gov/publications/fips/fips197/fips-197.pdf(September24,2003);和FIPS PUB46-3,FEDERAL INFORMATIONPROCESSING STANDARDS PUBLICATION,Reaffirmed October 25,1999,U.S.Department of Commerce/National Institute of Standards andTechnology,DATA ENCRYPTION STANDARD (DES),http//cs-www.ncsl.nist.gov/publications/fips/fips46-3/fips46-3.pdf(September 24,2003)。
此外,解密密钥存储部分600包括解密表620,该表类似于实施方式2的解密密钥表610。解密密钥存储部分600向指令解密部分820输出对应于加密算法标识符信号的多个解密密钥1、2和3(解密密钥401)之一。
如图11所示,例如,由加密指令处理设备800执行的程序包括多个加密扩展指令代码340,每个具有加密算法标识符341、指令加密标识符311和指令代码312。根据程序的机密性程度对指令代码312进行加密,使得可以利用解密密钥401之一,由多个解密器821之一解密各指令代码312。
在加密算法标识符341中存储有这样的信息,该信息指示通过哪个解密算法(解密器1、2和3)对指令代码312进行解密。例如,当由解密器2对指令代码312进行解密时,加密算法标识符341设置为01,当由解密器3对指令代码312进行解密时,加密算法标识符341设置为10,以及当不对指令代码312进行解密时,加密算法标识符341设置为00。
如图12所示,例如,包括加密扩展指令代码340的上述程序形成为包括这样的加密扩展指令代码340,其中位于从(n+1)地址至(n+4)地址的指令代码312没有加密,以及这样的加密扩展指令代码340,其中位于从(n+6)地址至(n+9)地址的指令代码312由对应于加密密钥1的加密密钥和解密器1(DES加密解密器)加密,以及这样的加密扩展指令代码340,其中位于从(n+11)地址至(n+14)地址的指令代码312由对应于加密密钥2的加密密钥和解密器2(AES加密解密器)加密。
在根据实施方式4的加密指令处理设备中,利用根据加密算法标识符信号从解密密钥存储部分600输出的解密密钥,根据加密算法标识符信号选择的解密器解密指令代码312。
如上所述,在这个实施方式中,可选择性地使用多个加密算法。因而,除了实施方式1的那些效果之外,还能以更简单的方式实现机密性和执行速度。此外,如果特定加密算法万一被不正当地分析,则可以使用没有被不正当分析的另一种加密算法,从而,与其中仅使用单个加密算法的加密指令处理设备的情况相比,能实现具有较高操作性的程序保护。
(实施方式5)在实施方式1的加密指令处理设备100中,作为图3的加密程序的代替,可执行图13的程序,用于进行加密AV内容的解密和解码。用于进行加密AV内容的解密和解码的图13的程序包括多个加密扩展指令代码350,每个具有指令加密标识符311和指令代码312。
在加密AV内容的解密和解码中,指令代码可分成两种类型的指令代码,即,第一类型的指令代码,其不需要实时处理、需要高度机密性以及进行加密AV内容解密密钥的设置,和第二类型的指令代码,其需要实时处理、需要低级机密性以及执行加密AV内容的解密和AV解码。在图13所示的实施例中,对用于进行加密AV内容解密密钥的设置的指令代码进行加密,并在外部存储器300从n地址至(n+4)地址中存储。此外,用于执行加密AV内容的解密和AV解码的指令代码没有加密,并在外部存储器300从(n+5)地址至(n+9)地址中存储。
当开始执行图13的程序中的n地址时,在指令加密标识符311在n地址中设置为1的情况下,指令加密判断部分130向解密密钥存储部分400输出指示指令代码312加密的加密判断信号,以使解密密钥存储部分400输出解密密钥401。此外,指令加密判断部分130向指令解密部分140输出指令代码312。在指令解密部分140中,使用解密密钥401,解密器141向指令解码器150输出解密的指令代码312。指令解码器150对解密的指令代码312进行解码,并将解码后的指令代码312输出到执行部分(未示出)。然后,执行部分执行解码后的指令代码312。在这种情况下,在指令解密部分140中的解密器141执行处理,以使用解密密钥401解密指令代码312。因此,用于该处理的处理时间大于处理指令加密标识符为0、没有加密的指令代码的处理时间。然而,作为设置用于加密AV内容的解密密钥的过程,上述处理不需要实时处理且执行次数少。因此,对于加密AV内容的解密和AV解码的实时处理没有施加影响。
当开始执行程序中的(n+5)地址时,由外部总线控制单元110依次读出加密扩展指令代码310。加密扩展指令代码310保存在指令寄存器120中,以及然后输出到指令加密判断部分130。在加密扩展指令代码310中,指令加密标识符311设置为0(即,没有加密),并因而指令加密判断部分130向解码器150输出指令代码312。指令解码器150对指令代码312进行解码并将解码后的指令代码312输出到执行部分(未示出)。然后,执行部分执行解码后的指令代码312。在这种情况下,没有进行由指令解密部分140中的解密器141对指令代码312的解密。因此,可高速地执行指令,并且加密AV内容的解密和AV解码的实时处理成为可能。
注意,加密、解密算法、指令加密标识符和密钥号码标识符的位数、在各设置值和由设置值表达的内容(加密与否,或密钥的区别)之间的对应关系、指令代码和加密扩展指令代码的位数、以及加密算法的种类数,这些在上述实施方式中已进行描述,但仅作为实施例,本发明并不限于这些实施例。
此外,在上述实施方式中,使用指令加密标识符判断指令代码是否加密。然而,本发明并不限于此。如果密钥号码标识符等的值设置为00,则可以判断为指令代码没有加密。
在实施方式2、实施方式3和实施方式4中,描述了这样的实施例,其中使用密钥号码标识符信号、密钥长短标识符信号等和诸如解密密钥表610的表,选择多个解密密钥之一和解密器之一。然而,本发明不限于此,可以对密钥号码标识符信号和密钥号码标识符的值等进行解码,以选择解密密钥等。
此外,在实施方式3中,描述了这样的实施例,其中解密密钥的长短彼此不同。然而,可以包括具有相同长短的解密密钥。
此外,在实施方式4中,描述了这样的实施例,其中以与解密密钥一对一的对应关系选择各解密器。然而,例如,可以独立地选择解密密钥和解密器,使得根据加密扩展指令代码,通过分配密钥号码标识符、密钥长短标识符和加密算法标识符,形成各种组合。
此外,所提供的解密器数目不必为复数(即,算法数目),且可以提供能够根据算法标识符信号使用多个不同算法进行解密的解密器。
此外,实施方式5描述了这样的实施例,其中作为存储在外部存储器300中的程序,使用了用于进行加密AV内容的解密和AV解码的程序,并且该程序这样配置,对不需要实时处理、需要高度机密性且进行加密AV内容解密密钥的设置的指令代码进行加密,以及对需要实时处理和低级机密性且执行加密AV内容的解密和AV解码的指令代码不进行加密。然而,例如,作为存储在外部存储器300中的程序,可以使用用于进行AV内容的编码和加密的程序,且该程序可这样配置,对不需要实时处理、需要高度机密性且进行AV内容的加密密钥的设置的指令代码进行加密,以及对需要实时处理和低级机密性且执行AV内容的编码和加密的指令代码不进行加密。
如上已描述,在根据本发明的加密指令处理设备中,仅对程序中需要保护的程序部分进行加密。因而,加密指令处理设备具有防止程序被非法分析的效果、减少解密时间的效果和抑制硬件规模增加的效果。因此,作为诸如被结合到所谓的数字家用电器中并执行加密指令代码的处理器之类的加密指令处理设备等,本发明的加密指令处理设备是有用的,其中数字家用电器诸如数字AV(音频视频)装置、蜂窝电话(移动通信装置)等。
权利要求
1.一种加密指令处理设备,用于执行由包括加密指令代码的多个指令代码所形成的程序,该设备包括读入部分,用于在所述指令代码中读取指示各所述指令代码是否加密的指令加密信息;以及指令解密部分,用于当所述指令加密信息指示至少一个所述指令代码加密时,解密所述加密的指令代码。
2.根据权利要求1的加密指令设备,还包括解密密钥存储部分,用于存储多个解密密钥,其中所述读入部分形成为在所述指令代码中读取各所述指令代码是否加密以及指示要用于解密的解密密钥的指令加密信息,以及其中所述指令解密部分形成为利用由所述指令加密信息指示的所述解密密钥之一,解密所述加密的指令代码。
3.根据权利要求2的加密指令设备,其中所述设备形成为在所述解密密钥存储部分中存储有彼此具有不同长短的解密密钥。
4.根据权利要求1的加密指令设备,其中所述读入部分形成为在所述指令代码中读取各所述指令代码是否加密以及指示要用于解密的算法的指令加密信息,以及其中所述指令解密部分形成为使用由所述指令加密信息指示的所述算法,解密所述加密的指令代码。
5.根据权利要求1的加密指令设备,其中所述指令代码是加密AV处理指令代码,用于进行AV内容的加密/解密和AV编码/解码,以及其中在所述程序中,对不需要实时处理且需要高度机密性的至少一个所述加密AV处理指令代码进行加密,以及需要实时处理和低级机密性的至少一个所述加密AV处理指令代码处于未加密形式。
全文摘要
为了提供加密指令处理设备,使得可以可靠地防止程序的非法分析,仅加密需要保护的程序部分,以便以简单方式减少解密时间,并抑制硬件规模的增加,形成了这样的加密指令处理设备,该设备包括指令解密部分和解密密钥存储部分,并且解密密钥存储在解密密钥存储部分中。要由加密指令处理设备处理的各加密扩展指令代码包括指令代码和指示指令代码是否加密的指令加密标识符。根据各指令代码的机密性程度对指令代码进行加密。在执行程序中,根据指令加密标识符的值,指令解密部分利用解密密钥对指令代码进行解密。
文档编号H04L27/00GK1737879SQ20051009098
公开日2006年2月22日 申请日期2005年8月22日 优先权日2004年8月20日
发明者奥村康男, 府川幸太郎 申请人:松下电器产业株式会社