CN1527173A - 信息处理装置以及信息处理方法 - Google Patents
信息处理装置以及信息处理方法 Download PDFInfo
- Publication number
- CN1527173A CN1527173A CNA2004100082120A CN200410008212A CN1527173A CN 1527173 A CN1527173 A CN 1527173A CN A2004100082120 A CNA2004100082120 A CN A2004100082120A CN 200410008212 A CN200410008212 A CN 200410008212A CN 1527173 A CN1527173 A CN 1527173A
- Authority
- CN
- China
- Prior art keywords
- data
- key data
- enciphered
- decrypted
- encryption key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
一种信息处理装置,保存在存储器(120)中的各数据块,包括将原程序分割后分别采用不同的密钥数据进行加密后的执行块、和包含用于对下一读入的数据块解密的加密后的密钥数据的解密信息。将上述数据块读入到微计算机(100)中后,由解密部(102)解密的解密信息中的密钥数据保持在密钥数据临时保持部(106a)中,然后在读入下一数据块时保持在密钥数据保持部。为此,采用上述解密后所保持的密钥数据,对下一数据块的解密信息以及执行块进行解密。这样,在不会对解密密钥的管理复杂化的情况下,可以提高保存数据的保密性。
Description
技术领域
本发明涉及一种用于防止存储在存储器、IC卡或者硬盘等存储介质上的数据容易向第三者泄漏的技术。
背景技术
以往,为了防止存储在存储器等存储介质上的数据、特别是由CPU执行的一系列命令代码所构成的作为程序的数据向第三者泄漏,公知采用数据的加密技术。具体讲,周知的数据保护装置,例如在专利文献1所记载的那样,构成为采用预先针对读出在存储介质中存储的数据的装置而固定设定的、并且针对每个存储数据任意设定的密钥(解密密钥),对从存储介质中读出的加密后的数据依次解密后,输入到装置内的CPU中。
专利文献1:日本国特开平7-129473号公报。
但是,在上述那样的现有技术的装置中,所存在的问题是,作为对加密后的数据进行解密的密钥由于采用单一的密钥,如果1个密钥与解密方法(算法)一起泄漏,在存储在存储介质中的所有数据就会泄漏。
此外,为了防止象上述那样所有的数据泄漏,可以想象将存储在存储介质中的数据分割成多个块,对各块采用分别的密钥进行加密、解密的方法,为此,多个密钥需要与各程序建立对应关系后进行处理,从而导致加密、解密处理与密钥的管理复杂化。
发明内容
针对上述问题,本发明的目的在于,在不导致密钥的管理复杂化的情况下,可以防止存储在存储介质中的数据容易向第三者泄漏。
为解决上述课题,本发明之一的信息处理装置,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及上述密钥数据按照分别采用其它密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入上述加密数据以及上述加密密钥数据并进行解密,具有:控制上述加密数据、以及上述加密密钥数据的读入的读入控制部;对通过上述读入控制部的控制读入的加密数据、以及加密密钥数据进行解密的解密部;和保持由上述解密部从上述加密密钥数据解密后的密钥数据的密钥数据保持部;上述解密部构成为,根据保持在上述密钥数据保持部中的密钥数据,对上述加密数据以及加密密钥数据进行解密。
这样,各分割数据,由于按照采用分别不同的密钥数据进行解密那样进行加密,即使万一一部分密钥数据被泄漏,也不会容易知道存储介质中的整体存储内容。并且,各密钥数据,由于按照分别由其它密钥数据进行解密那样进行加密后保存在存储介质中,没有必要管理多个密钥数据,不会导致管理的复杂化。
本发明之二的信息处理装置,是在本发明之一的信息处理装置中,上述读入控制部构成为,按照给定的唯一确定的顺序依次读入:分别对所有上述分割数据加密后保存在上述存储介质中的各加密数据、分别对上述加密数据解密的密钥数据被加密后保存在上述存储介质中的各加密密钥数据;上述解密部构成为,根据在上述密钥数据保持部中保持的密钥数据,对从上述存储介质中读入的第1加密数据以及第1加密密钥数据进行解密,输出第1分割数据以及第1密钥数据,同时根据解密后保持在上述密钥数据保持部中的上述第1密钥数据,对在上述第1加密数据以及第1加密密钥数据之后续读入的、第2加密数据以及第2加密密钥数据进行解密。
这样,保存在存储介质中的各加密数据和各加密密钥数据通过按照给定顺序读入,由于对各加密数据以及用于解密下一加密数据的加密密钥数据依次读入后进行解密,可以容易获得加密前的原来的数据。
本发明之三的信息处理装置,是在本发明之一的信息处理装置中,上述读入控制部构成为,按照给定的唯一确定的顺序依次读入:上述多个分割数据中的一部分分割数据被加密后保存在上述存储介质中的加密数据、不对其它分割数据进行加密而保存在上述存储介质中的非加密数据、以及与上述各加密数据以及非加密数据分别对应保存在上述存储介质中的加密密钥数据;上述解密部构成为,当从上述存储介质中读入第1加密密钥数据和第1加密数据时,根据保持在上述密钥数据保持部中的密钥数据对这些数据进行解密后,输出第1分割数据以及第1密钥数据,而另一方面当从上述存储介质中读入第1加密密钥数据和第1非加密数据时,根据保持在上述密钥数据保持部中的密钥数据对上述第1加密密钥数据进行解密后,输出第1密钥数据,对在上述第1加密密钥数据和第1加密数据、或者上述第1加密密钥数据和第1非加密数据之后续读入的、第2加密密钥数据、或者第2加密密钥数据和第2加密数据,根据上述第1密钥数据进行解密。
这样,通过读入混合保存的加密数据和非加密数据,可以最小限度减少解密动作,容易防止读入速度的降低。
本发明之四的信息处理装置,是在本发明之一的信息处理装置中,上述读入控制部构成为,按照给定的唯一确定的顺序依次读入:上述多个分割数据中的一部分分割数据被加密后保存在上述存储介质中的加密数据、不对其它分割数据进行加密而保存在上述存储介质中的非加密数据、以及与上述各加密数据对应保存在上述存储介质中的加密密钥数据;上述解密部构成为,当从上述存储介质中读入第1加密密钥数据和第1加密数据时,根据保持在上述密钥数据保持部中的密钥数据对这些数据进行解密后,输出第1分割数据以及第1密钥数据,同时对在上述第1加密密钥数据和第1加密数据之后读入的、第2加密密钥数据以及第2加密数据,根据上述第1密钥数据进行解密。
这样,由于各密钥数据,在下一读入的加密数据以及与此对应的加密密钥数据的解密中使用,没有必要对与非加密数据对应加密密钥数据解密,可以进一步防止读入速度的降低,减少存储数据量的增加。
本发明之五的信息处理装置,是在本发明之一的信息处理装置中,上述读入控制部构成为,在保存在上述存储介质中的第1加密数据之后续,与上述第1加密数据对应预先确定的1个以上的第2加密数据所构成的后续候补群中读入任一个第2加密数据,同时与上述第1加密数据对应,读入分别包含用于将上述后续候补群的各第2加密数据进行解密的密钥数据被加密后的1个以上的加密密钥数据的加密密钥数据群;上述密钥数据保持部,对从上述存储介质中读入的上述加密密钥数据群的各加密密钥数据进行解密后的1个以上的密钥数据;上述解密部构成为,根据保持在密钥数据保持部中的上述1个以上的密钥数据中在上述第1加密数据之后续实际读入的第2加密数据所对应的密钥数据,对上述第2加密数据、以及与第2加密数据对应读入的加密密钥数据群的各加密密钥数据进行解密。
这样,通过执行条件跳转命令等,即使各加密数据的读入顺序没有唯一确定的情况下,由于对用于各加密数据的下一可读入的各加密数据进行解密的密钥数据解密后并保持,即使读入任何一个加密数据也可以适当尽心解密。这样,可以按灵活的顺序读入加密数据,因此,可以灵活进行保存在存储介质中的数据的制作和分割。
本发明之六的信息处理装置,是在本发明之一的信息处理装置中,应保存在上述存储介质中的数据,包含在上述信息处理装置中执行的命令,上述加密数据的读入顺序由上述命令中的跳转命令确定。
这样,通过执行跳转命令依次读入的程序模块等,可以采用分别不同的密钥数据进行保护。
本发明之七的信息处理装置,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及上述密钥数据按照分别采用共同的共同密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入上述加密数据以及上述加密密钥数据并进行解密,具有:控制上述加密数据、以及上述加密密钥数据的读入的控制部;对通过上述读入控制部的控制读入的加密数据、以及加密密钥数据进行解密的解密部;和保持由上述解密部从上述加密密钥数据解密后的密钥数据、以及上述共同密钥数据的密钥数据保持部;上述解密部构成为,根据保持在上述密钥数据保持部中的上述密钥数据或者上述共同密钥数据,对上述加密数据以及加密密钥数据进行解密。
这样,各加密密钥数据,由于采用共同密钥数据进行解密,可以不依赖于加密数据或者加密密钥数据的读入顺序而进行解密。这样,仍然可以采用灵活的顺序读入加密数据。
本发明之八的信息处理装置,是在本发明之七的信息处理装置中,上述密钥数据保持部,包括保持从上述加密密钥数据解密后的密钥数据的第1密钥数据保持部、和保持上述共同密钥数据的第2密钥数据保持部;上述解密部包括,根据保持在上述第1密钥数据保持部中的密钥数据对上述加密数据进行解密的第1解密部、根据保持上述第2密钥数据保持部中的共同密钥数据对上述加密密钥数据进行解密的第2解密部。
这样,通过分别设置用于对加密数据或者加密密钥数据进行解密的解密部和密钥数据保持部,由于可以采用不同的算法对加密数据和加密密钥数据进行解密,可以容易在加密强度和读入速度方面取得平衡。
本发明之九的信息处理装置,是在本发明之八的信息处理装置中,进一步包括,在由上述第2解密部对上述加密密钥数据进行解密的期间,对上述存储介质输出和读入在与下一要读入的数据不同的区域中保存的数据相同的信号的伪读入信号输出部。
这样,对加密密钥数据进行解密时,即使在读出利用由该解密获得的密钥数据解密的下一数据之前出现时间间歇时等,通过根据例如随机数输出伪地址信号等,从信息处理装置的外部不容易察觉在对加密密钥数据进行解密。这样,要想恶意解析获得存储内容将更加困难。
本发明之十的信息处理方法,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及上述密钥数据按照分别采用其它密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入上述加密数据以及上述加密密钥数据并进行解密,具有:读入上述加密数据、以及上述加密密钥数据的读入步骤;和对由上述读入步骤读入的加密数据、以及加密密钥数据进行解密,将从上述加密密钥数据解密后的密钥数据保持在密钥数据保持部中的解密步骤;上述解密步骤,根据保持在上述数据保持部中的上述密钥数据,对上述加密数据以及加密密钥数据进行解密。
本发明之十一的信息处理方法,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及上述密钥数据按照分别采用共同的共同密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入上述加密数据以及上述加密密钥数据并进行解密,具有:读入上述加密数据、以及上述加密密钥数据的读入步骤;和对由上述读入步骤读入的加密数据、以及加密密钥数据进行解密,将从上述加密密钥数据解密后的密钥数据保持在密钥数据保持部中的解密步骤;上述解密步骤,根据保持在上述密钥数据保持部中的上述密钥数据或者上述共同密钥数据,对上述加密数据以及加密密钥数据进行解密。
这样,如在本发明之一和本发明之七中说明的那样,在不导致密钥数据的管理的复杂化的情况下,可以容易提高存储内容的保密性。
附图说明
图1表示实施方式1的微计算机100的主要部位构成的方框图。
图2表示实施方式1的存储器120的存储内容的例的说明图。
图3表示实施方式1的数据块201的数据结构的例的说明图。
图4表示向实施方式1的存储器120保存数据的过程的例的流程图。
图5表示将存储在存储器120中的程序读入到微计算机100中后执行时的动作流程图。
图6表示实施方式2的微计算机300的主要部位构成的方框图。
图7表示实施方式2的密钥表306a的存储内容的例的说明图。
图8表示实施方式2的数据块401的数据结构的例的说明图。
图9表示实施方式2的命令代码序列中的数据块跳转命令的例的说明图。
图10表示向实施方式2的存储器120保存数据的过程的例的流程图。
图11表示将存储在存储器120中的程序读入到微计算机300中后执行时的动作流程图。
图12表示实施方式3的数据块701的数据结构的例的说明图。
图13表示实施方式3的微计算机600的主要部位构成的方框图。
图14表示向实施方式3的存储器120保存数据的过程的例的流程图。
图15表示将存储在存储器120中的程序读入到微计算机600中后执行时的动作流程图。
图16表示实施方式4的微计算机800的主要部位构成的方框图。
图中:100-微计算机,101-CPU,101a-解密控制部,102-解密部,103-密钥数据保持部,104-选择部,105-选择指示保持部,106-解密信息管理部,106a-密钥数据临时保持部,106b-选择指示临时保持部,120-存储器,201~205-数据块,211~215-解密信息,210a~215a-密钥数据,211b~215b-加密有无信息,221~225-执行块,221a~225a命令代码序列,230-执行结束代码,300-微计算机,301-CPU,301a-解密控制部,304-选择部,306-解密信息管理部,306a-密钥表,306b-控制部,401~407-数据块,411~417-解密信息,421~427-数据块编号,431~437-密钥数据数,441~447-密钥信息,440a~447a-密钥编号,440b~447b-密钥数据,441c~447c-加密有无信息,451~457-执行块,501-条件跳转命令,502-无条件数据块跳转命令,503-条件数据块跳转命令,504-条件数据块内外跳转命令,600-微计算机,601-CPU,601′-CPU,601a-解密控制部,604-选择部,606-解密信息管理部,606′-解密信息管理部,606a-密钥数据解密部,606a′-密钥数据解密部,606c-加密有无判定部,606d-比较数据保持部,701~703-数据块,710-虚设密钥数据,711-密钥数据,711′~713′-解密信息,721~723-执行块,721a~723a-命令代码序列,740-公共密钥数据,800-微计算机,811-伪地址产生部,811a-随机数生成部,811b-递增部,811c-输出控制部。
具体实施方式
以下参照附图说明本发明的实施方式。
(实施方式1)
(装置的构成)
图1表示有关本发明的实施方式1的信息处理装置的一例的微计算机100的主要部位的构成,以及与上述微计算机100连接的作为存储介质的存储器120的方框图。
上述存储器120,例如由ROM或者RAM所构成,保存将由微计算机100执行的命令的命令代码所构成的程序加密后的数据,向地址总线输出由地址总线表示的地址所对应的数据。在该存储器120中,例如如图2所示,由一系列命令代码构成的程序(数据)作为5个数据块201~205进行存储,其存储形式将在后面详细说明。
在微计算机100中,设置有CPU101(读入控制部)、解密部102、密钥数据保持部103、选择部104、选择指示保持部105、和解密信息管理部106。
上述CPU101,进行命令代码的执行处理。在该CPU101中,设置解密控制部101a。上述解密控制部101a,在读入保存在存储器120中的各数据块201~205时,读入包含在各数据块201~205中的解密信息211~215,进行向解密信息管理部106输出密钥数据(解密密钥)等的控制。
解密部102,采用在密钥数据保持部103中设定的密钥数据,对从存储器120输出的加密数据进行解密。
选择部104,根据在选择指示保持部105中设定的选择指示,选择由上述解密部102解密后所输出的数据、或者从存储器120直接输出的(明文)数据中的某一方,通过内部总线向CPU101输入。但是,当从CPU101输入了例如H(High)电平的解密信息读入信息时,则无论在上述选择指示保持部105中设定的选择指示如何,均选择解密部102的输出。
解密信息管理部106,管理在上述密钥数据保持部103中设定的密钥数据,以及在选择指示保持部105中设定选择指示。更详细讲,将从CPU101(伴随图中未画出的输出时序信号)输出的密钥数据临时保持在密钥数据临时保持部106a中,同时将所保持的密钥数据,在从存储器120读入各数据块201~205的解密信息211~215之前,设定在密钥数据保持部103中。在将从CPU101(伴随图中未画出的输出时序信号)输出的对选择部104的选择指示临时保持在选择指示临时保持部106b中,同时将该保持的选择指示,在读入包含在各数据块201~205中的执行块221~225之前,设定在选择指示保持部105中。(再有,上述设定结束后,向CPU101输出设定结束信号,可以进行下一地址的输出等的动作。此外,上述设定例如在1时钟周期内进行时,由于CPU101容易在适当的时刻进行下一动作,也可以并不一定要输出象上述那样的设定结束信号)。在上述密钥数据临时保持部106a、以及选择指示临时保持部106b中,除了临时保持上述那样的从CPU101输出的密钥数据等以外,进一步保持在读入最初的数据库时从微计算机100的外部输入的密钥数据等。
在此,作为保存在存储器120中的数据的加密方式,可以采用各种方式,而并没有特别限定,例如可以采用象DES加密方式那样利用1个密钥进行加密以及解密的可以进行可逆变换的共同密钥方式,或者以密钥作为初始值,对依次输出的数据进行异或运算的方式等。
此外,在微计算机100中,通常,除了上述构成以外,还包括临时保存数据的RAM、与外部装置进行输入输出的接口、或者存储器120是可以进行数据写入的存储介质时的写入控制部等,但这些不是本发明的着眼点,在此对其省略。
再有,微计算机100,例如由1片LSI构成时,要分析上述各部之间的信号变得更加困难,可以更加提供保密性,但并不限定于此。
(保存在存储器120中的数据形式)
在存储器120中,如图2所示,保存分别包含解密信息211~215和执行块221~225的多个(在该图的例子中为5个)的数据块201~205。这些数据块201~205的向CPU101的读入,根据包含在数据块201~205中的指针等,按照预先设定的一定顺序进行。(在此为了简化说明,按照数据块201~205的顺序进行读入的情况进行说明。)
上述执行块221~225,例如如图3所示,通过在将一系列命令代码构成的程序(数据)分割成5个执行单位后的命令代码序列221a~225a中附加执行结束代码230所构成。作为上述执行结束代码230,具体讲,可以采用特定跳转目标的数据块的跳转专用命令,或者将通常的跳转命令、和设置表示跳转目标是其它数据块的标志的命令组合后使用,或者采用通常的跳转命令,通过跳转目标的地址等可以由CPU检测出是到其它数据块的跳转。进一步,也可以在由通常的跳转命令跳转到其它数据块的地址后,在跳转目标的数据块或者执行块的先头,设置表示数据块已经改变(解密信息的读入等处理)的命令。此外,跳转目标的数据块由地址特定时,作为其地址,也可以指定解密信息的先头的地址,或者也可以指定执行块的先头地址,根据解密信息的数据长度求出解密信息的先头的地址。
再有,在解密信息211~215中,分别包含密钥数据211a~215a和加密有无信息211b~215b。(此外,解密信息211~215并不限定于在数据块201~205的先头。或者当数据块205的下一次读入的数据块没有时,即反复执行数据块205内的命令,不转移到其它数据块时,密钥数据215a以及加密有无信息215b的内容也可以不确定,进一步这些信息也可以省略。
上述解密信息211~215全部加密,并且根据需要对执行块221~225(例如执行块222、224)也加密。为对上述加密后的数据进行解密的密钥数据,对于各数据块201~205分别不同,对各数据块202~205加密的密钥数据,分别包含在就要读入数据块202~205之前的数据块201~204的解密信息211~214中。即,例如利用包含在数据块201的解密信息211中的密钥数据211a,可以对下一读入的数据块202的解密信息212以及执行块222进行解密。此外,用于对最初执行的数据块201(的至少解密信息211)进行解密的密钥数据210a,不保存在存储器120中,而在执行时从微计算机100的外部给出。(在此,上述密钥数据,也可以并不一定全部都相互不同。即,例如也可以采用从有限个密钥数据中选择的密钥数据,一部分数据块采用相同的密钥数据。)
再有,包含在解密信息211~214中的加密有无信息211b~214b,表示下一数据块202~205的执行块222~225是否已被加密,例如,当各数据块的下一执行数据块的执行块已被加密时,设定成值0x0010(“0x”后面的数值表示16进制数),而没有加密时设定成值0x0001。更具体讲,如上述那样当数据块202、204的执行块222、224已被加密时,在这些之前读入的数据块201、203的加密有无信息211b、213b中设定成0x0010,而在其它数据块202、204的加密有无信息212b、214b中设定成0x0001。
上述那样生成数据并保存在存储器120中的顺序并没有特别限定,例如可以按照图4那样进行。首先,将一系列命令代码构成的程序(例如按照给定的数据长度,或者以其前后的跳转命令作为区分)分割成5个命令列221a~225a(S101),用于对各数据块201~205的解密信息211~215等以及执行块222、224进行加密的密钥数据210a~215a采用随机数自动确定,或者人为确定(S102),将上述密钥数据210a~215a和加密有无信息211b~215b分别连接后生成解密信息211~215(S103),在上述分割的命令列221a~225a中附加执行结束代码230后生成执行块221~225,同时分别将这些执行块221~225和解密信息211~215连接生成数据块201~205(S104),将所有的解密信息211~215采用密钥数据210a~214a进行加密,对执行块222、204采用密钥数据211a、213a进行加密(S105),然后保存在存储器120中(S106)。
(在存储器120中保存的数据的读入和执行动作)
根据图5对将上述那样保存在存储器120中的程序读入到微计算机100中并执行时的动作进行说明。
(S201)如果从微计算机100的外部,输入最初读入的数据块201的密钥数据210a,以及选择指示(图1),将这些保持在解密信息管理部106的密钥数据临时保持部106a、以及选择指示临时保持部106b。
(S202)通过解密控制部101a的控制,CPU101向解密信息管理部106以及选择部104输出H电平的解密信息读入信号。与此对应,保持在解密信息管理部106的密钥数据临时保持部106a、以及选择指示临时保持部106b中的密钥数据以及选择指示,分别设定到由密钥数据保持部103以及选择指示保持部105中。并且,选择部104,与设定在上述选择指示保持部105中的选择指示无关,都切换成选择来自解密部102的输出并向CPU101输出。
(S203)通过解密控制部101a的控制,CPU101输出用于将解密信息读入到存储器120中的地址(以及图中未画出的读出控制信号)。与此对应,存储器120输出解密信息。
(S204)解密部102根据设置在密钥数据保持部102中设定的密钥数据将从存储器120输出的解密信息进行解密,选择部104选择上述解密部102的输出并输入到CPU101。
(S205)解密控制部101a,售出包含在上述解密信息中的密钥数据后向解密信息管理部106输出,临时保持在密钥数据临时保持部106a中。并且,根据包含在解密信息中的加密有无信息,即,根据下一数据块的执行块是否被加密,在解密信息管理部106的选择指示临时保持部106b中临时保持表示选择部104选择解密部102或者存储器120中的那一个输出的选择指示。(这些密钥数据以及选择指示,在为读入下一数据块而再次执行(S202)时被设定在密钥数据保持部103以及选择指示保持部105中)。
(S206)当由CPU101输出的解密信息读入信号为L(Low)电平时,选择部104,根据在选择指示保持部105中设定的选择指示,切换成向CPU101选择性输入解密部102的输出或者存储器120的输出。
(S207)CPU101输出与执行块的各命令代码对应的地址,从存储器120输出的命令代码,通过选择部104,根据加密的有无,即当被加密时由解密部102进行解密后,或者当是明文是直接,向CPU101输入。
(S208)如果从存储器120输出的是执行结束代码230,返回到(S202)对下一数据块重复相同的处理。(即,临时保持在密钥数据临时保持部106a以及选择指示临时保持部106b中的密钥数据以及选择指示被设定在密钥输出保持部103以及选择指示保持部105中,根据这些进行下一数据块的读入等。)
(S209),另一方面,如果从存储器120输出的是执行结束代码230,CPU101执行读入命令代码的命令,在执行结束代码230读入之前,反复执行(S207)~(S209)。
通过进行上述那样的动作,从外部向微计算机100给出的必要的密钥数据,由于只是有关最初读入的数据块201的一个密钥数据,不会导致密钥数据的管理的复杂化,而且即使万一上述一个密钥数据出现泄漏,由该密钥数据能解密的只是最初的数据块201,为解密其它数据块的密钥数据由于分别进一步被其它密钥数据所加密,不会容易知道保存在存储器120中的所有数据。即,理论上,知道一个密钥数据后,据此通过解密信息的解密、下一密钥数据的抽出而获得所有的数据虽然并不是不可能的事情,为此需要指定加密算法,并且解析执行块221~225等,需要在判断各数据块201~205的区分和读入顺序等的基础上,还需要识别出解密信息211~215的格式以及在数据块201~205内的位置(并不一定配置在各数据块201~205的前头。)等,这样要解读存储器120的存储内容是相当困难的。并且,其困难性越高,解读所需劳力或者费用、时间就会增大,实际上,可以容易防止存储内容的泄漏。
上述那样由于可以提高保存在存储介质中的内容的保密性,通过将这样的信息处理装置适用于通过网络进行通信的机器中,可以防止对进行收发数据的加密处理或者为确认通信对方是否正当的识别处理等的程序(算法或者协议)进行解读,可以容易确保通信的保密性。
此外,在上述例中,虽然例示了指示对执行块221~223中的那一块进行加密,但并不限定于此,也可以将所有进行加密。这时,不设置选择部104以及选择指示保持部105,或者解密信息管理部106的选择指示临时保持部106b等,可以始终将存储器120的输出通过解密部102向CPU101输入,并且也可以在解密信息211~215中不包含加密有无信息211b~215b。为此,可以实现微计算机100的构成的简化。另一方面,如上述例那样只是将一部分执行程序加密时,即,例如进行标准化后的流程的处理的程序(例程)等,对即使向第三者泄漏也不成为问题的部分不进行加密,可以容易缩短解密所需要的处理时间。
再有,当只对一部分执行块加密时,也可以只由包含加密后的执行块的数据块(加密数据块)包含密钥数据。即,在加密数据块中,其后,只要在最初读入的加密数据程序的密钥数据以及执行块解密的密钥数据,对于没有包含加密的执行块的数据块,可以不包含密钥数据,而且不需要由解密部102进行的解密动作。(此外,即使没有必要包含密钥数据,通过设定随机数等,也可以让解密信息的长度成为一定)。
再有,虽然例示了在各数据块中包含将下一数据块(或者下一加密数据块)的密钥数据和执行块解密的密钥数据,也可以包含在该数据块本身中包含的执行块、和在下一数据块(或者下一加密数据块)中包含的密钥数据进行解密的密钥数据。即,在读入包含在各数据块中的密钥数据结束之前,采用和在密钥数据保持部103中保持的之前的数据块的执行块进行解密相同的密钥数据进行解密,其解密结束后,开始执行块的读入的时刻,上述解密后的新密钥数据设定在密钥数据保持部103中进行采用即可。再有,在这样的情况等中,刚对新密钥数据解密后,采用其新密钥数据时,也可以并不一定要设置密钥数据临时保持部106a和选择指示临时保持部106b。
(第2实施方式)
相对于上述实施方式1的微计算机,是按照数据块的读入顺序固定那样读入存储内容,在此,对例如通过执行条件转移命令等,即使某一数据块之后读入的数据块并不一定固定时也可以适当读入存储内容的微计算机的例进行说明。即,在该微计算机中,通过对包含在数据块中的有关下一可读入的所有数据块的密钥数据读入并保持,可以按灵活的顺序读入数据块。此外,在以下的实施方式中,对于具有和上述实施方式1等同样功能的构成要素采用相同的标号并省略其说明。
(装置的构成)
图6表示本发明的实施方式2的微计算机300的主要部分的构成和存储器12的方框图。该微计算机300,与实施方式1(图1)的微计算机100相比,不同点在于采用CPU301、选择部304、以及解密信息管理部306替代了CPU101、选择部104、以及解密信息管理部106。
在CPU301中,设置有对保存在存储器120中的数据块中的解密信息的读入动作进行控制的解密控制部301a。该机密控制部301a和实施方式1的解密控制部101a之间差异在于,如后所述保存在存储器120中的数据块的形式和实施方式1不同。
选择部304,根据在选择指示保持部105中设定的选择指示104,选择存储器120或者解密部102的输出,这一点和实施方式1的选择部104相同,但是与上述选择指示无关,例如当从CPU301输入的数据块编号·密钥数据数读入信号为H电平时,直接选择存储器120的输出,而另一方面当密钥信息读入信号为H电平时,选择解密部102的输出。
机密信息管理部306,包括密钥表306a和控制部306b。上述密钥表306a,当从CPU301输入密钥编号、密钥数据、以及选择指示时,例如如图7所示,与上述密钥编号相对应,保持密钥数据和选择指示。再有,控制部306b,根据从CPU301输入的数据块编号,与该数据块编号一致的密钥编号相对应,输出保持在密钥表306a中的密钥数据和选择指示。
(保存在存储器120中的数据形式)
在存储器120中,和实施方式1同样保存多个(例如7个)数据块401~407,各数据块401~407,例如具有图8所示的结构。即,如果例如主要以数据块401为代表进行说明,在数据块401中,包含数据块编号421、包括密钥数据数431以及1个以上的密钥信息441的解密信息411、和执行块451。各数据块401~407的密钥信息441~447全部被加密,而另一方面根据需要将执行块451~457(例如只将数据块401、402的执行块451、452)加密。
上述解密信息411的数据块编号421用于特定数据块,与数据块401唯一对应进行设定。
密钥数据数431,表示包含在解密信息411中的密钥信息441的数(即如后所述在数据块401之后可读入的数据块的数),用于让CPU301读入数据块401中的所有密钥信息441。此外,也可以在解密信息411的末尾设置表示是解密信息411的末尾的结束码,而结束密钥信息441的读入处理,由此替代密钥数据数431。
密钥信息441,与数据块401之后可以由CPU301读入的1个以上的数据块对应进行设置,分别包含密钥编号441a、密钥数据441b、加密有无信息441c。具体讲,例如在数据块401之后,通过后述的数据跳转命令,选择性执行数据块402的执行块452和数据块403的执行块453,如上所述假定数据块402的执行块452被加密,而数据块403的执行块453没有加密,则在解密信息411中设置如下2个密钥信息441。
即,在一方的密钥信息441中,
(a)作为密钥编号441a,设定和数据块402的数据块编号422相等的值;
(b)作为密钥数据441b,设定用于将数据块402的密钥信息442和执行块452加密的密钥数据;
(c)作为加密有无信息441c,设定表示执行块452已被加密的值(例如0x10)。
而在另一方的密钥信息441中,
(a)作为密钥编号441a,设定和数据块403的数据块编号423相等的值;
(b)作为密钥数据441b,设定用于将数据块403的密钥信息443加密的密钥数据;
(c)作为加密有无信息441c,设定表示执行块453没有加密的值(例如0x01)。
此外,上述密钥信息441,按照不仅与下一可读入的数据块对应,而且例如与所有的数据块对应进行设定,也可以如后所述在生成密钥信息441时,对数据块的读入顺序进行分析等。
再有,数据块401的执行块451,由将由一系列命令代码构成的程序(数据)分割后的、包含向其它数据块的数据块跳转命令的命令代码序列所构成。上述数据块跳转命令,具体讲,例如如图9所示,在条件跳转命令501之后,设置向数据块402、403无条件数据块跳转命令502,由上述条件跳转命令501根据判定条件跳转后,转移到对数据块402、403的任一个进行控制(换言之,预先没有确定下一个要跳转到的数据块,跳转到那一个上都有可能。)。再有,也可以采用根据条件判断,直接跳转到数据块402、403的条件数据块跳转命令503、或者跳转到数据块401的内外的条件数据块内外跳转命令504。
上述那样将数据向存储器120的保存,例如,和上述实施方式1(图4)相同,可以按照图10所示进行。即,在图10中的(S301)(S302)(S305)以及(S306),实质上和图4的(S101)(S102)(S105)以及(S106)大致相同。在(S303)中,向各数据块401~407分配数据块编号421~427,对命令序列进行解析,求出从各数据块401~407可以跳转的数据块,根据与跳转目标的数据块对应的密钥编号441a~447a、密钥数据441b~447b和加密有无信息441c~447c生成密钥信息441~447,同时通过连接上述所分配的数据块编号421~427、与跳转目标数相等的值的密钥数据数431~437、以及密钥信息441~447,生成解密信息411~417。再有,在(S304)中,在包含各命令代码序列的跳转命令中,将跳转到其它数据块的命令置换成数据块跳转命令后,生成执行块451~457,根据执行块451~457和解密信息411~417生成数据块401~407。此外,也可以不进行上述那样的跳转命令的置换,在生成原来的程序时,预先采用数据块跳转命令。
(存储器120中保存的数据的读入和执行动作)
如上所述,对存在存储器120中的程序由微计算机300读入并执行时的动作,根据图11进行说明。
(S401)当从计算机300的外部,有关最初读入的数据块例如数据块401的密钥数据440b、表示该密钥数据440b是针对数据块401的密钥编号440a(即与数据块401的数据块编号421相等的值)、和在加密后的执行块451读入时表示由选择部304选择了解密部102的输出的选择指示被输入时,将这些保持在解密信息管理部306的密钥表306a中。
(S402)当由解密控制部301a的控制,CPU301向选择部304输出例如H电平的数据块编号·密钥数据数读入信号时,选择部304,与从选择指示保持部105输出的选择指示无关,切换成直接选择来自存储器120的输出。
(S403)通过解密控制部301a的控制,CPU301依次向存储器120输出为读入解密信息中的数据块编号和密钥数据数的地址(以及图中未画出的读出控制信号)。据此,存储器120输出数据块编号和密钥数据数。该数据块编号和密钥数据数直接(不由解密部102解密)通过选择部304向CPU301输入。
(S404)当CPU301向解密信息管理部306(与图中未画出的输出时序信号一起)输出上述数据块编号时,控制部306b分别向密钥数据保持部103以及选择指示保持部105输出设定保持在密钥表306a中的密钥编号中与上述数据块编号一致的密钥编号对应保持的密钥数据以及选择指示。在此,上述数据块编号和保持在密钥表306a中的各密钥编号是否一致的判定,例如可以对各密钥编号同时进行,也可以在检测到一致之前依次进行比较。但是,特别对于后者,当检测所需要的时间不定时,优选向CPU301输出表示已经检测的检测信号或者表示向密钥数据保持部103以及选择指示保持部105的设定已经结束的设定结束信号,并且CPU301在输入上述信号之前不开始对密钥信息441的读入(地址的输出等)。
(S405)CPU301让数据块编号·密钥数据数读入信号成L电平,让密钥信息读入信号成H电平,选择部304切换成选择解密部102的输出。
(S406)CPU301依次从存储器120通过选择部304读入与上述密钥数据对应的数的密钥信息,将密钥编号、密钥数据、与加密有无信息对应的选择指示(与图中未画出的输出时序信号一起)向机密信息管理部306输出,保持在密钥表306a中。
(S407)当对与密钥数据数对应的数的密钥信息的处理结束后,CPU301让密钥信息读入信号成L电平。为此,选择部304根据设定在选择指示保持部105中的选择指示,切换成向CPU301选择性输入解密部102的输出或者存储器120的输出。
(S408)CPU301输出根据执行块的各命令代码的地址,从存储器120输出的命令代码,通过选择部304,根据加密的有无,即在被加密时通过解密部102进行解密之后被输入到CPU301中,或者是明文时直接被输入到CPU301中。
(S409)输入到CPU301的命令代码的命令如果是数据块跳转命令,返回到(S402)对下一数据块重复相同的处理。
(S410)另一方面,如果不是数据块跳转命令,CPU301执行所读入的命令代码的命令,在读入数据块跳转命令之前重复执行(S408)~(S410)。
如上述那样,通过在各数据块中包含与跳转目标的数据块对应的1个以上密钥数据,即使数据块的读入顺序不固定的情况下也可以适当读入各数据块的内容,和实施方式1同样,在提高存储内容的保密性的基础上,可以容易灵活进行程序的作成或者分割。
此外,如上述那样,也可以替代在各数据块中包含(被加密后的)可以成为跳转目标的数据块用的密钥数据,在成为跳转目标的数据块中,包含该数据块用的多个相同密钥数据分别和可以成为跳转的该数据块的跳转源的数据块相同进行被加密后的密钥数据。即,跳转目标的数据块中读入的多个加密后的密钥数据中与跳转源的数据块对应的密钥数据,如果采用和跳转源的数据块相同的密钥数据进行解密,可以获得该数据块用的适当的密钥数据。
(实施方式3)
对和上述实施方式2同样,可以按任意的顺序读入数据块的微计算机的另一例进行说明。
(保存在存储器120中的数据形式)
首先,对由该微计算机读入的数据在存储器120中保存的形式,根据图12进行说明。在存储器120中,保存多个(例如3个)数据块701~703,各数据块701~703,由解密信息711′~713′、和执行块721~723构成。上述执行块721~723,和实施方式1同样,是在将由一系列命令代码构成的程序(数据)分割成3个执行单位后的命令代码例721a~723a上附加执行结束代码230后所构成,根据需要(例如执行块721)被加密。
包含上述加密后的执行块721的数据块701的解密信息711′,是由给定的共同密钥数据740将用于对执行块721解密的密钥数据711加密后的数据。另一方面,包含没有加密的执行块722、723的数据块702、703的解密信息712′、713′,是由和数据块701相同的共同密钥数据740将给定的虚设密钥数据710加密后的数据。(此外,在解密信息711′~713′中,没有象实施方式1、2那样包含加密有无信息,对于这一点将在后面说明。)上述共同密钥数据740,没有特别限定,如果各个***之间不相同,则可以容易提高数据的保密性。再有,由上述共同密钥数据对密钥数据711加密的方法,也和执行块721同样,可以适用共同密钥加密方式等各种方法。
(装置的构成)
读入上述那样的存储内容的微计算机600,如图13所示,和实施方式1(图1)的微计算机100相比,不同点在于采用CPU601、选择部604、以及解密信息管理部606替代了CPU101、选择部104、以及解密信息管理部106。
CPU601中设置的解密控制部601a和实施方式1的解密控制部101a之间的差异在于,如上述那样在存储器120中保存的数据块的形式与实施方式1不同。
选择部604,例如当输入H电平的解密信息读入信号时,与在选择指示保持部105中设定的选择指示无关,而选择存储器120的输出。
解密信息管理部606,包括密钥数据解密部606a(第2解密部)、共同密钥数据保持部606b(第2密钥数据保持部)、加密有无判定部606c、和比较数据保持部606d。
密钥数据解密部606a,将CPU601从存储器120读入并输出的解密信息711′~713′(加密后的密钥数据711或者虚设密钥数据710)进行解密,输出原来的密钥数据711或者虚设密钥数据710。上述密钥数据的解密,采用从微计算机600的外部输入的保持在共同密钥数据保持部606b中的共同密钥数据740。
加密有无判定部606c,将上述密钥数据解密部606a的输出、和从微计算机600的外部输入的保持在比较数据保持部606d中的虚设密钥数据710进行比较,向选择部604,当一致时输出选择来自存储器120的输出的选择指示,而另一方面当不一致时输出选择来自解密部102(第1解密部)的输出的选择指示。即,由于没有对执行块722、723加密的数据块702、703的解密信息712′、713′解密后,从密钥数据解密部606a输出虚设密钥数据710,通过判断与保持在比较数据保持部606d中的虚设密钥数据710的一致,可以判定没有对执行块722、723加密,可以让选择部604选择存储器120的输出。(此外,这时即使在密钥数据保持部103(第1密钥数据保持部)中保持上述密钥数据,由于由选择部604没有选择解密部102的输出,所以对输入到CPU601的数据没有影响。)
上述那样的数据向存储器120的保存,例如可以如图14所示那样进行。在该图中,(S502)、(S505)、(S507)实质上和上述实施方式1(图4)的(S101)、(S104)、(S106)大致相同。在(S501)中,确定用于对数据块701~703的解密信息711′~713′解密而获得密钥数据711或者虚设密钥数据710的共同密钥数据740,在(S503)中,确定数据块701用的密钥数据711同时确定数据块702、703用的虚设密钥数据710,在(S504)中,密钥数据711或者虚设密钥数据710由共同密钥数据740解密后获得解密信息711′~713′。再有,在(S506)中,只有执行块721由密钥数据711加密。
(存储器120中保存的数据的读入和执行动作)
如上所述,对存在存储器120中的程序由微计算机800读入并执行时的动作,根据图15进行说明。
(S601)当从计算机300的外部,共同密钥数据740、以及虚设密钥数据710被输入时,将这些保持在解密信息管理部306的共同密钥数据保持部606b、以及比较数据保持部606d中。
(S402)通过解密控制部601a的控制,CPU601向选择部604输出例如H电平的解密信息读入信号时,选择部304,与从选择指示保持部105输出的选择指示无关,切换成直接选择来自存储器120的输出。
(S603)当由解密控制部601a的控制,CPU601输出用于从存储器120读入解密信息的地址(以及图中未画出的读出控制信号)。据此,存储器120输出解密信息。该解密信息,直接(不由解密部102解密)通过选择部304向CPU601输入。在此,解密信息不由解密部102解密,是因为之后由密钥数据解密部606a进行解密。
(S604)CPU601向解密信息管理部606的密钥数据解密部606a(与图中未画出的输出时序信号一起)输出所输入的解密信息。
(S605)密钥数据解密部606a,采用保持在共同密钥数据保持部606b中的共同密钥数据740,将从CPU601输入的解密信息进行解密,将所获得的密钥数据711(或者虚设密钥数据740)设定在密钥数据保持部103中,同时也向加密有无判定部606c输出。
(S606)加密有无判定部606c,将密钥数据解密部606a的输出和保持在比较数据保持部606d的虚设密钥数据710进行比较,当一致时,向选择部604输出选择来自存储器120的输出的选择指示,另一方面当不一致时,输出选择来自解密部102的输出的选择指示,并设定在选择指示保持部105中。即,如果由密钥数据解密部606a解密后的是虚设密钥数据710,则该数据块的执行块没有被加密,让选择部601选择来自存储器120的输出,直接输入到CPU601。再有,如果由密钥数据解密部606a解密后的不是虚设密钥数据710,由于这时密钥数据,让选择部604选择解密部102的输出,采用在上述(S605)中设定在密钥数据保持部103中的密钥数据711进行解密后的数据被输入到CPU601中。
(S607),当从CPU601输出的解密信息读入信号成为L电平时,选择部604根据设定在选择指示保持部105中的选择指示,切换成向CPU601选择性输入解密部102的输出或者存储器120的输出。
(S608)CPU601输出与执行块的各命令代码对应的地址,从存储器120输出的命令代码,通过选择部604,根据加密的有无,即在被加密时通过解密部102进行解密之后被输入到CPU301中,或者是明文时直接被输入到CPU301中。
(S609)如果从存储器120输出的是执行结束代码230,返回到(S602)对下一数据块重复相同的处理。
(S410)另一方面,如果从存储器120输出的不是执行结束代码230,CPU301执行所读入的命令代码的命令,在读入到执行截获速代码230之前重复执行(S608)~(S610)。
如上述那样,通过将对各执行块解密的密钥数据包含在和各执行块相同的数据块中,上述密钥数据的获取与数据块的读入顺序无关,可以按任意顺序进行读入。再有,由于从微计算机600的外部给出的必要(管理上必要)的密钥数据,只有(对用于解密各执行块的密钥数据进行解密的)上述共同密钥数据,仍然可以简化密钥数据的管理。在此,上述共同密钥数据万一泄漏,虽然有可能解读多个密钥数据,这样所知道的只不过是密钥数据,要获取存储数据,需要进一步采用该密钥数据进行解密。为此,除了密钥数据以外,还需要知道加密算法,各数据块701~703的区分或者解密信息711′~713′和执行块721的区分、解密信息711′~713′的配置等,要解读存储器120的存储内容依然是非常困难的,实际上,可以容易防止存储内容的泄漏。
此外,在上述例中,加密有无判定表606c虽然是将密钥数据解密部606a的输出和比较数据保持部606d的输出进行比较,也可以对密钥数据保持部103的输出进行比较。这时,在密钥数据保持部103中保持相同的值,加密有无判定表606c的输出也相同保持,可以省略选择指示保持部105。
进一步,也可以将从CPU601输出(由密钥数据解密部606a解密前的)解密信息711′~713′与比较数据保持部606d的输出进行比较。这时,生成数据块701~703的解密信息712′、713′时也可以不加密虚设密钥数据710。
再有,在上述例中,虽然例示了解密信息711′~713′的解密由密钥数据解密部606a进行,执行块721~723的解密由解密部102进行的构成,但并不限定于此,例如在分别进行解密时,将共同密钥数据740以及密钥数据711设定在密钥数据保持部103中,任何解密均由解密部102进行。这样兼用解密部可以缩小硬件规模。另一方面,上述那样将解密部分开设置时,与兼用的情况相比,可以容易采用不同算法分别进行解密。特别是,密钥数据的解密对各数据块只进行1次,微计算机600的处理时间不会带来大的影响,也可以容易适用加密强度高的加密方法。
在此,例如,密钥数据解密部606a的解密所需要的时钟数,由于循环处理需要多个时钟时,或者不定的情况等时,由密钥数据解密部606a解密结束后在将密钥数据设定在密钥数据保持部103中的时刻从解密信息管理部606输出设定结束信号,该信号输入到CPU601之前的期间,可以容易将由解密部102解密后的数据可靠向CPU601输入。
(第4实施方式)
如在上述实施方式3的变形例中说明的那样,CPU601将从存储器120读入的解密信息711′~713′向密钥数据解密部606a输出后,由密钥数据解密部606a进行的解密结束而将密钥数据711设定在密钥数据保持部103中之前的期间,定制CPU601的动作,如果监视微计算机300和存储器120之间传送的信号,容易推测微计算机600进行与通常的存储器存取的情况不同的动作。为此,如果由要想不正当获取存储器120的存储内容的人,在不输出地址的期间推测到在CPU601的内部进行解密处理的情况,则容易捕捉这之前输出的地址的区域。这时,所捕捉的区域并不限于保持密钥数据,并且如上所述如果不知道加密算法,解读存储器120的存储内容仍然是困难的,但为了让上述那样捕捉特定区域的事情也不容易发生,也可以从微计算机600输出伪地址。
具体讲,例如图16所示的微计算机800,和实施方式3的微计算机600(图12)相比,采用CPU601′、和具有密钥数据解密部606a′的解密信息管理部606′,替代CPU601和解密信息管理部606,同时进一步包括伪地址产生部811(伪读出信号输出部),在这一点上不同。
在上述密钥数据解密部606a′,在解密结束而在密钥数据保持部103中设定密钥数据的时刻,例如向CPU601′输出H电平的设定结束信号。
CPU601′,其基本动作和CPU601相同,由解密信息管理部606′的密钥数据解密部606a′,在对加密后的密钥数据进行解密的期间(即,与解密信息711′~713′一起向密钥数据解密部606a′输出例如H电平的输出时序信号后,从密钥数据解密部606a′向CPU601′输入H电平的设定结束信号之前的期间),停止下一地址输出等的数据读入动作。
伪地址产生部811,在从CPU601′输出的解密信息711′~713′的输出时序信号成为H电平后,从密钥数据解密部606a′输出的设定结束信号成为H电平之前的期间,输出伪地址。更详细讲,从CPU601′输出的输出时序信号成为H电平时,随机数生成部811a产生随机数,作为初始值设定(保持)在递增部811b,递增部811b,根据图中未画出的时钟信号依次递增所保持的值,作为伪地址输出。再有,输出控制部811c,在从上述输出时序信号成为H电平开始到设定结束信号成为H电平的期间,输出从上述递增部811b输出的值(以及图中未画出的读出控制信号),另一方面在其它情况下,直接输出从CPU601′输出的地址。(如果象上述那样输出伪地址,从存储器120输出无效数据,这时,CPU601′由于停止上述那样的数据读出动作,这样的无效数据不会由CPU601′读入)。
此外,在上述各实施方式中,虽然示出了存储器120的存储内容为程序的例子,但并不限定于此,通过给定程序(读入程序)的执行读入的仅仅是数据等,也可以同样分割、加密后进行保存。这时,各数据块的读入顺序,可以由上述读入程序预先确定,也可以由包含在数据块中的指针或者管理信息等控制。即,任何情况下,只要确定在那一个数据块之后读入那一个数据,据此将密钥数据保存在各数据块中即可。在此,上述那样仅仅将数据加密保存时,如果将其读入的读入程序也同样进行加密,可以更加提高保密性,即使读入程序不加密,由此读入的内容本身的解读也依然是相当困难的。
再有,在上述例中,在密钥数据保持部103中设定的密钥数据等的初始值虽然例示了从微计算机100的外部输入,但并不限定于此,也可以采用预先设定在微计算机100的内部中的值。
图3等所示的数据结构只是逻辑上的结构,并不一定需要在存储器120中的物理存储区域的关系也具有该图所示的结构。
再有,在上述实施方式或者变形例中说明的构成要素等,在各自逻辑可能的范围内也可以进行各种组合。具体讲,例如,在实施方式2~4中,如实施方式1的变形例中说明的那样,不设置选择部,而读入对所有执行块加密后的数据块,或者也可以替代在实施方式1、2中根据加密有无信息进行选择部的切换,而象实施方式3、4中说明的那样采用虚设密钥数据进行切换,或者相反在实施方式3、4中根据加密有无信息进行切换,或者在实施方式1、2中,包含各加密信息的密钥数据和实施方式3、4同样由共同密钥数据进行解密。
如上所述,依据本发明,将应保存在存储介质中的数据分割成多个,按照由分别相互不同的密钥数据进行解密那样进行加密,同时上述密钥数据,按照也分别由其它密钥数据进行解密那样进行加密后保存在存储介质中,在读入该存储内容时,通过采用对加密后的密钥数据进行解密后的密钥数据,依次进行加密数据以及下一密钥数据的解密,可以提高第三者不正当获取存储介质的存储内容的困难性,同时没有必要管理多个密钥数据,因此,在不导致密钥的管理的复杂化等的情况下,防止保存在存储介质中的数据容易向第三者的泄漏。
Claims (11)
1.一种信息处理装置,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照可采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及所述密钥数据按照可分别采用其它密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入所述加密数据以及所述加密密钥数据并进行解密,其特征在于:具有:
控制所述加密数据以及所述加密密钥数据的读入的读入控制部;
对通过所述读入控制部的控制读入的加密数据以及加密密钥数据进行解密的解密部;和
保持由所述解密部从所述加密密钥数据解密后的密钥数据的密钥数据保持部,
所述解密部构成为,根据保持在所述密钥数据保持部中的密钥数据,对所述加密数据以及加密密钥数据进行解密。
2.根据权利要求1所述的信息处理装置,其特征在于:所述读入控制部构成为,按照给定的唯一确定的顺序依次读入:分别对所有所述分割数据加密后保存在所述存储介质中的各加密数据、和分别对所述加密数据解密的密钥数据被加密后保存在所述存储介质中的各加密密钥数据,
所述解密部构成为,根据在所述密钥数据保持部中保持的密钥数据,对从所述存储介质中读入的第1加密数据以及第1加密密钥数据进行解密,输出第1分割数据以及第1密钥数据,同时
根据解密后保持在所述密钥数据保持部中的所述第1密钥数据,对在所述第1加密数据以及第1加密密钥数据之后续读入的、第2加密数据以及第2加密密钥数据进行解密。
3.根据权利要求1所述的信息处理装置,其特征在于:所述读入控制部构成为,按照给定的唯一确定的顺序依次读入:所述多个分割数据中的一部分分割数据被加密后保存在所述存储介质中的加密数据、其它分割数据没有被加密而保存在所述存储介质中的非加密数据、以及与所述各加密数据以及非加密数据分别对应保存在所述存储介质中的加密密钥数据;
所述解密部构成为,当从所述存储介质中读入第1加密密钥数据和第1加密数据时,根据保持在所述密钥数据保持部中的密钥数据对这些数据进行解密后,输出第1分割数据以及第1密钥数据,
而当从所述存储介质中读入第1加密密钥数据和第1非加密数据时,根据保持在所述密钥数据保持部中的密钥数据对所述第1加密密钥数据进行解密后,输出第1密钥数据,
对在所述第1加密密钥数据和第1加密数据、或者所述第1加密密钥数据和第1非加密数据之后续读入的、第2加密密钥数据、或者第2加密密钥数据和第2加密数据,根据所述第1密钥数据进行解密。
4.根据权利要求1所述的信息处理装置,其特征在于:所述读入控制部构成为,按照给定的唯一确定的顺序依次读入:所述多个分割数据中的一部分分割数据被加密后保存在所述存储介质中的加密数据、不对其它分割数据没有被加密而保存在所述存储介质中的非加密数据、以及与所述各加密数据对应保存在所述存储介质中的加密密钥数据;
所述解密部构成为,当从所述存储介质中读入第1加密密钥数据和第1加密数据时,根据保持在所述密钥数据保持部中的密钥数据对这些数据进行解密后,输出第1分割数据以及第1密钥数据,同时
对在所述第1加密密钥数据和第1加密数据之后读入的、第2加密密钥数据以及第2加密数据,根据所述第1密钥数据进行解密。
5.根据权利要求1所述的信息处理装置,其特征在于:所述读入控制部构成为,从保存在所述存储介质中的第1加密数据之后续的、与所述第1加密数据对应预先确定的1个以上的第2加密数据所构成的后续候补群中读入任一个第2加密数据,同时
与所述第1加密数据对应,读入包含分别用于将所述后续候补群的各第2加密数据进行解密的密钥数据被加密后的1个以上的加密密钥数据的加密密钥数据群;
所述密钥数据保持部,保持对从所述存储介质中读入的所述加密密钥数据群的各加密密钥数据进行解密后的1个以上的密钥数据;
所述解密部构成为,根据保持在密钥数据保持部中的所述1个以上的密钥数据中在所述第1加密数据之后续实际读入的第2加密数据所对应的密钥数据,对所述第2加密数据、以及与第2加密数据对应读入的加密密钥数据群的各加密密钥数据进行解密。
6.根据权利要求1所述的信息处理装置,其特征在于:应保存在所述存储介质中的数据,包含在所述信息处理装置中执行的命令,所述加密数据的读入顺序由所述命令中的跳转命令确定。
7.一种信息处理装置,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照可采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及所述密钥数据按照可分别采用共同的共同密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入所述加密数据以及所述加密密钥数据并进行解密,其特征在于:具有:
控制所述加密数据、以及所述加密密钥数据的读入的读入控制部;
对通过所述读入控制部的控制读入的加密数据、以及加密密钥数据进行解密的解密部;和
保持由所述解密部从所述加密密钥数据解密后的密钥数据、以及所述共同密钥数据的密钥数据保持部,
所述解密部构成为,根据保持在所述密钥数据保持部中的所述密钥数据或者所述共同密钥数据,对所述加密数据以及加密密钥数据进行解密。
8.根据权利要求7所述的信息处理装置,其特征在于:所述密钥数据保持部包括:保持从所述加密密钥数据解密后的密钥数据的第1密钥数据保持部、和保持所述共同密钥数据的第2密钥数据保持部;
所述解密部包括:根据保持在所述第1密钥数据保持部中的密钥数据对所述加密数据进行解密的第1解密部、和根据保持在所述第2密钥数据保持部中的共同密钥数据对所述加密密钥数据进行解密的第2解密部。
9.根据权利要求8所述的信息处理装置,其特征在于:进一步包括:在由所述第2解密部对所述加密密钥数据进行解密的期间,对所述存储介质输出和读入在与下一要读入的数据不同的区域中保存的数据相同的信号的伪读入信号输出部。
10.一种信息处理方法,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照可采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及所述密钥数据按照可分别采用其它密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入所述加密数据以及所述加密密钥数据并进行解密,其特征在于:具有:
读入所述加密数据、以及所述加密密钥数据的读入步骤;和
对由所述读入步骤读入的加密数据、以及加密密钥数据进行解密,将从所述加密密钥数据解密后的密钥数据保持在密钥数据保持部中的解密步骤,
所述解密步骤,根据保持在所述数据保持部中的所述密钥数据,对所述加密数据以及加密密钥数据进行解密。
11.一种信息处理方法,从保存了将应保存的数据分割成多个分割数据而其中的至少一部分分割数据按照可采用分别不同的密钥数据进行解密那样进行加密后的加密数据、以及所述密钥数据按照可分别采用共同的共同密钥数据进行解密那样进行加密后的加密密钥数据的存储介质中,读入所述加密数据以及所述加密密钥数据并进行解密,其特征在于:具有:
读入所述加密数据、以及所述加密密钥数据的读入步骤;和
对由所述读入步骤读入的加密数据、以及加密密钥数据进行解密,将从所述加密密钥数据解密后的密钥数据保持在密钥数据保持部中的解密步骤,
所述解密步骤,根据保持在所述密钥数据保持部中的所述密钥数据或者
所述共同密钥数据,对所述加密数据以及加密密钥数据进行解密。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003055626A JP2004265194A (ja) | 2003-03-03 | 2003-03-03 | 情報処理装置、および情報処理方法 |
JP2003055626 | 2003-03-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1527173A true CN1527173A (zh) | 2004-09-08 |
CN1254726C CN1254726C (zh) | 2006-05-03 |
Family
ID=32923503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200410008212.0A Expired - Fee Related CN1254726C (zh) | 2003-03-03 | 2004-03-01 | 信息处理装置以及信息处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20040177257A1 (zh) |
JP (1) | JP2004265194A (zh) |
CN (1) | CN1254726C (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100346255C (zh) * | 2005-10-19 | 2007-10-31 | 北京飞天诚信科技有限公司 | 提取部分代码至加密装置中的软件版权保护方法 |
CN100446019C (zh) * | 2006-07-19 | 2008-12-24 | 北京飞天诚信科技有限公司 | 一种软件版权保护方法 |
CN101138194B (zh) * | 2005-03-08 | 2011-10-05 | 恩克利普特株式会社 | 数据处理设备 |
CN101471942B (zh) * | 2007-12-26 | 2012-12-05 | 冲电气工业株式会社 | 加密装置、解密装置、数据提供装置、数据接收装置 |
CN104754155A (zh) * | 2015-02-12 | 2015-07-01 | 杭州晟元芯片技术有限公司 | 一种分布式网络电话*** |
CN105912305A (zh) * | 2010-05-25 | 2016-08-31 | 威盛电子股份有限公司 | 微处理器以及相关的操作方法、以及加密方法 |
CN109309656A (zh) * | 2017-07-27 | 2019-02-05 | 京瓷办公信息***株式会社 | 信息处理装置和信息处理装置的控制方法 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10142498A1 (de) * | 2001-08-30 | 2003-03-27 | Siemens Ag | Verfahren zur Ver- und Entschlüsselung von Kommunikationsdaten |
US7162647B2 (en) | 2004-03-11 | 2007-01-09 | Hitachi, Ltd. | Method and apparatus for cryptographic conversion in a data storage system |
US7657756B2 (en) * | 2004-10-08 | 2010-02-02 | International Business Machines Corporaiton | Secure memory caching structures for data, integrity and version values |
US8954751B2 (en) * | 2004-10-08 | 2015-02-10 | International Business Machines Corporation | Secure memory control parameters in table look aside buffer data fields and support memory array |
US8266438B2 (en) | 2004-10-25 | 2012-09-11 | Security First Corp. | Secure data parser method and system |
JP2006185347A (ja) * | 2004-12-28 | 2006-07-13 | Fujitsu Ltd | 情報処理装置及び情報処理方法 |
WO2006115217A1 (ja) * | 2005-04-21 | 2006-11-02 | Matsushita Electric Industrial Co., Ltd. | プログラム変換装置及び秘密保持プログラム |
WO2007027427A2 (en) * | 2005-08-29 | 2007-03-08 | Wms Gaming Inc. | On-the-fly encryption on a gaming machine |
US8306918B2 (en) | 2005-10-11 | 2012-11-06 | Apple Inc. | Use of media storage structure with multiple pieces of content in a content-distribution system |
EP1826697A1 (en) * | 2006-02-24 | 2007-08-29 | Giga Games System, SL | Method for booting and using software for AWP and B type amusing gaming machines, and for C type casino machines |
JP2007318514A (ja) * | 2006-05-26 | 2007-12-06 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP4946245B2 (ja) * | 2006-08-02 | 2012-06-06 | 凸版印刷株式会社 | 電子データ分割保持装置、電子データ分割保持システム、及び電子データ分割保持方法 |
JP5183279B2 (ja) * | 2008-04-03 | 2013-04-17 | ルネサスエレクトロニクス株式会社 | 情報処理装置、命令コードの暗号化方法および暗号化命令コードの復号化方法 |
JP5477994B2 (ja) * | 2010-04-13 | 2014-04-23 | Kddi株式会社 | 自己書き換え処理装置、自己書き換え処理方法、およびプログラム |
US9967092B2 (en) | 2010-05-25 | 2018-05-08 | Via Technologies, Inc. | Key expansion logic using decryption key primitives |
US9911008B2 (en) | 2010-05-25 | 2018-03-06 | Via Technologies, Inc. | Microprocessor with on-the-fly switching of decryption keys |
US9892283B2 (en) | 2010-05-25 | 2018-02-13 | Via Technologies, Inc. | Decryption of encrypted instructions using keys selected on basis of instruction fetch address |
US9798898B2 (en) | 2010-05-25 | 2017-10-24 | Via Technologies, Inc. | Microprocessor with secure execution mode and store key instructions |
EP2564343B1 (en) * | 2010-10-21 | 2016-11-09 | NDS Limited | Code diversity method and system |
US8611532B2 (en) * | 2011-10-27 | 2013-12-17 | Verizon Patent And Licensing Inc. | Managing media content decryption keys in encrypted media content distribution systems and methods |
KR101416685B1 (ko) * | 2013-01-18 | 2014-07-09 | 어보브반도체 주식회사 | 비휘발성 메모리의 바이너리 데이터 보호 방법 및 그 장치 |
WO2014127147A1 (en) | 2013-02-13 | 2014-08-21 | Security First Corp. | Systems and methods for a cryptographic file system layer |
US9021163B1 (en) * | 2014-04-17 | 2015-04-28 | OPSWAT, Inc. | Determining whether a data storage is encrypted |
US9298647B2 (en) * | 2014-08-25 | 2016-03-29 | HGST Netherlands B.V. | Method and apparatus to generate zero content over garbage data when encryption parameters are changed |
CN107256363B (zh) * | 2017-06-13 | 2020-03-06 | 杭州华澜微电子股份有限公司 | 一种由加解密模块阵列组成的高速加解密装置 |
US11151265B2 (en) * | 2019-04-29 | 2021-10-19 | International Business Machines Corporation | Secure data storage based on obfuscation by distribution |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5999629A (en) * | 1995-10-31 | 1999-12-07 | Lucent Technologies Inc. | Data encryption security module |
US6069957A (en) * | 1997-03-07 | 2000-05-30 | Lucent Technologies Inc. | Method and apparatus for providing hierarchical key system in restricted-access television system |
US6014745A (en) * | 1997-07-17 | 2000-01-11 | Silicon Systems Design Ltd. | Protection for customer programs (EPROM) |
US6587948B1 (en) * | 1998-02-13 | 2003-07-01 | Sony Corporation | Recording apparatus, recording medium, playback apparatus, recording method and playback method |
US6735313B1 (en) * | 1999-05-07 | 2004-05-11 | Lucent Technologies Inc. | Cryptographic method and apparatus for restricting access to transmitted programming content using hash functions and program identifiers |
JP4622064B2 (ja) * | 2000-04-06 | 2011-02-02 | ソニー株式会社 | 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体 |
GB0023409D0 (en) * | 2000-09-22 | 2000-11-08 | Integrated Silicon Systems Ltd | Data encryption apparatus |
US6976166B2 (en) * | 2001-02-06 | 2005-12-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus for partial encryption of content |
US7127619B2 (en) * | 2001-06-06 | 2006-10-24 | Sony Corporation | Decoding and decryption of partially encrypted information |
US20030002668A1 (en) * | 2001-06-30 | 2003-01-02 | Gary Graunke | Multi-level, multi-dimensional content protections |
-
2003
- 2003-03-03 JP JP2003055626A patent/JP2004265194A/ja active Pending
-
2004
- 2004-03-01 CN CN200410008212.0A patent/CN1254726C/zh not_active Expired - Fee Related
- 2004-03-03 US US10/790,711 patent/US20040177257A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101138194B (zh) * | 2005-03-08 | 2011-10-05 | 恩克利普特株式会社 | 数据处理设备 |
CN100346255C (zh) * | 2005-10-19 | 2007-10-31 | 北京飞天诚信科技有限公司 | 提取部分代码至加密装置中的软件版权保护方法 |
CN100446019C (zh) * | 2006-07-19 | 2008-12-24 | 北京飞天诚信科技有限公司 | 一种软件版权保护方法 |
CN101471942B (zh) * | 2007-12-26 | 2012-12-05 | 冲电气工业株式会社 | 加密装置、解密装置、数据提供装置、数据接收装置 |
CN105912305A (zh) * | 2010-05-25 | 2016-08-31 | 威盛电子股份有限公司 | 微处理器以及相关的操作方法、以及加密方法 |
CN105912305B (zh) * | 2010-05-25 | 2018-11-16 | 威盛电子股份有限公司 | 微处理器以及相关的操作方法、以及加密方法 |
CN104754155A (zh) * | 2015-02-12 | 2015-07-01 | 杭州晟元芯片技术有限公司 | 一种分布式网络电话*** |
CN109309656A (zh) * | 2017-07-27 | 2019-02-05 | 京瓷办公信息***株式会社 | 信息处理装置和信息处理装置的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1254726C (zh) | 2006-05-03 |
JP2004265194A (ja) | 2004-09-24 |
US20040177257A1 (en) | 2004-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1254726C (zh) | 信息处理装置以及信息处理方法 | |
CN1324831C (zh) | 加密/解密***和加密/解密方法 | |
CN1172244C (zh) | 著作权保护***、记录设备及解密设备 | |
CN113193950B (zh) | 数据加密方法、数据解密方法及存储介质 | |
CN1303777C (zh) | 无状态接收机的广播加密和密钥撤销方法 | |
JP5866460B2 (ja) | ファイルをパックする/アンパックするための方法および装置 | |
CN1897517A (zh) | 加密、解密电路 | |
CN1758178A (zh) | 非法分析/伪造预防*** | |
CN1909450A (zh) | 用于处理信息的方法、设备和程序 | |
CN101034424A (zh) | 一种数据安全存储***和装置及方法 | |
CN1961370A (zh) | 基于数字权限管理重放内容的方法和设备及便携式存储器 | |
CN1910923A (zh) | 用于内容保护的方法和条件存取*** | |
CN1236132A (zh) | 应用块链接和块重新排序的带有外部存储器的安全处理器 | |
CN1410876A (zh) | 微处理机 | |
CN1503503A (zh) | 数据加密、解密方法及装置 | |
CN1841255A (zh) | 保护数据存储的机密性与完整性的方法和装置 | |
US10803195B2 (en) | Control method of image communication apparatus, data distribution system, export apparatus, and import apparatus | |
CN1734475A (zh) | 半导体集成电路和信息处理设备 | |
JP2018502524A (ja) | 情報に対する暗号化制御、情報解析の方法、システム及び端末 | |
CN103366132A (zh) | 用于加密数据的设备和方法 | |
CN1949235A (zh) | 税控设备软件版本智能升级加密验证方法 | |
CN1852432A (zh) | 一种对直播流媒体数据进行加密和解密的方法 | |
JP2020022057A (ja) | 暗号化データ生成装置、デジタル署名生成装置、デジタル署名付きデータ生成装置、およびデジタル署名付きデータ生成システム | |
CN1991870A (zh) | 数据删改防止方法及数据删改防止*** | |
JP2008306395A5 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060503 Termination date: 20120301 |