CN1252599C - 信息处理设备 - Google Patents

信息处理设备 Download PDF

Info

Publication number
CN1252599C
CN1252599C CNB2004100037337A CN200410003733A CN1252599C CN 1252599 C CN1252599 C CN 1252599C CN B2004100037337 A CNB2004100037337 A CN B2004100037337A CN 200410003733 A CN200410003733 A CN 200410003733A CN 1252599 C CN1252599 C CN 1252599C
Authority
CN
China
Prior art keywords
data
security information
space
general
storage space
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.)
Expired - Fee Related
Application number
CNB2004100037337A
Other languages
English (en)
Other versions
CN1521638A (zh
Inventor
南木秀宪
吉冈志郎
川口谦一
甲斐俊也
深井慎一郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1521638A publication Critical patent/CN1521638A/zh
Application granted granted Critical
Publication of CN1252599C publication Critical patent/CN1252599C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种信息处理设备,其中在将数据从用户存储空间传送到通用寄存器的情况下,将安全信息单元的值设置为不需要保密的状态,而在将数据从安全存储空间传送到通用寄存器的情况下,将安全信息单元的值设置为需要保密的状态。通过利用设置为需要保密的状态的安全信息单元的值,禁止将数据从通用寄存器传送到用户存储空间,防止了安全存储空间中的加密密钥被盗用。

Description

信息处理设备
技术领域
本发明涉及一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备。
背景技术
例如,在维护SD卡的安全性时,由硬件利用SD卡中的加密数据和加密密钥将口令解码为解密数据。将来,为了满足多个加密事件的要求,针对如PDA(个人数字助理)等内容服务,解密必须由软件执行。
作为防止解密软件外泄的技术,存在一种按照OS(操作系统)的特权模式和通常模式区分用户可访问区域的方法。还存在一种通过如存储管理单元等硬件存储保护功能来防止解密软件外泄的方法。
在利用如Linus等开放源码的OS的PDA中,向用户广泛地公开了软件开发环境。结果,便于应用程序的开发。另一方面,通过利用OS的特权模式将其传送到用户存储空间或者外部空间,可以容易地盗取在用户模式下不能访问的、存储在安全存储空间中的加密密钥、数据和指令。
在日本,自从2000年12月开始,当启用BS数字广播时,广播领域的数字化就一直处于进行中。自那以后,遇到了侵犯数据内容广播的版权的问题。一些广播内容提供商已经开始寻求在提供内容时的严格版权保护。为了促进广播媒体的数字化和数字内容的平稳销售,必须采取一些行动来保护广播内容的版权。
发明内容
因此,本发明的主要目的是提出一种信息处理设备,其中,利用准予开放式开发环境的特权模式无法简单地读取安全存储空间中的加密密钥、数据或者指令,而与解密算法的透明性无关。
通过以下详细描述,上述和其他目的、特征和优点将变得显而易见。
下面将描述多个组件,每个方案都可以由硬件或软件、或者硬件和软件的组合来构成。
为了解决上述问题,本发明提供了以下方案:
(1)作为第一解决方案,根据本发明,提出了一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备,包括具有通用寄存器、安全信息单元、数据控制单元和地址控制单元功能的组件。通用寄存器用于CPU操作,并且具有接收、传送和存储数据的功能。在将数据从用户存储空间传送到通用寄存器的数据单元的情况下,将添加到通用寄存器上的安全信息单元设置为不需要保密的状态,而在将数据从安全存储空间传送到通用寄存器的数据单元的情况下,将该安全信息单元设置为需要保密的状态。当将通用寄存器的数据写入到用户存储空间中时,数据控制单元确定安全信息单元的值是处于需要保密的状态还是处于不需要保密的状态,并确定是否禁止将数据传送到用户存储空间。地址控制单元具有确定地址信息表示用户存储空间和安全存储空间中的哪一个,并选择安全信息单元的值的功能。
下面将描述上述结构的操作。在数据由CPU操作存储在通用寄存器中的情况下,地址控制单元检查数据与哪一个存储空间相关。在从用户存储空间中读取数据的情况下,地址控制单元将安全信息单元设置为不需要保密的状态。另一方面,在从安全存储空间中读取数据的情况下,将安全信息单元设置为需要保密的状态。当将通用寄存器的数据传送到用户存储空间时,数据控制单元检查安全信息单元,并在不需要保密的状态占优势的情况下,允许数据传送。另一方面,在需要保密的状态占优势的情况下,禁止数据传送。
如上所述,可以禁止由用户程序通过寄存器将数据从安全存储空间复制到用户存储空间上。换句话说,通过将构成安全信息单元的位添加到通用寄存器上而不改变CPU的指令集,简单地防止了对安全程序的解码(侵入)。也不需要在特权模式和通常模式之间进行切换。
(2)在执行安全存储空间中的安全程序时,假定对输入内容进行解码并将其传送到用户存储空间。从安全存储空间到用户存储空间发生了数据传送。此外,在需要访问用于执行程序的功能以便将所需数据暂时地保存在用户存储空间中的情况下,也发生从安全存储空间到用户存储空间的数据传送。如果在这样的情况下禁止数据传送,则将会限制安全程序的特定操作。因此,需要对由用户程序进行的传送和由安全程序进行的传送进行相互区分。该保护措施由以下所述的第二解决方案提供。
为了提供第二解决方案,除了上述第一解决方案的组件之外,根据本发明的信息处理设备还包括包含指令提取地址控制单元、指令缓冲器、用户程序和安全程序的功能。指令提取地址控制单元具有当存储从数据控制单元输入的指令代码时,确定地址信息表示用户存储空间和安全存储空间中的哪一个的功能,以及具有通知数据控制单元执行用户程序和安全程序中的哪一个的功能。指令缓冲器用于处理由CPU进行的指令提取(fetch),并具有在其中存储从数据控制单元输入的指令代码的功能。用户程序设置在用户存储空间中,并主要由用户产生。安全程序设置在安全存储空间中,并主要由开发人员产生且不对用户公开。此外,在根据传送指令将数据从通用寄存器的数据单元传送到存储空间时,在指令提取地址控制单元确定指令是从用户存储空间中提取的并且安全信息单元的值处于需要保密的状态的情况下,数据控制单元禁止将数据传送到用户存储空间。
下面解释上述结构的操作。当将通用寄存器中的数据传送到用户存储空间时,指令提取控制单元检查已经从哪一个存储空间提取了特定传送指令。在从安全存储空间中提取了指令的情况下,指令提取地址控制单元通知数据控制单元,该数据控制单元依次允许从通用寄存器向用户存储空间的数据传送。另一方面,当从用户存储空间中提取指令的情况下,指令提取地址控制单元通知数据控制单元,该数据控制单元依次禁止从通用寄存器向用户存储空间的数据传送。
如上所述,在开发人员开发安全存储空间中的安全程序的情况下,准予特权在用户存储空间和安全存储空间之间自由地加载/存储数据。另一方面,在用户开发用户存储空间中的用户程序的情况下,可以禁止从安全存储空间向用户存储空间的数据传送。换句话说,可以根据安全程序和用户程序来区分自由处理安全存储空间中的数据的权利。
(3)按照上述第一解决方案,能够禁止由用户程序通过通用寄存器将数据从安全存储空间传送到用户存储空间。然而,没有禁止其中将诸如可能在通用寄存器之间执行的运算的结果等存储在新寄存器中并进一步存储在用户存储空间中的处理。因此,存在以下的可能性,即,通过其中将从安全存储空间读入寄存器的数据和全“1”数据之间的“与”运算的结果存储在另一寄存器中的伪操作,可以容易地估计安全存储空间中的数据。因此,需要限制能够用于用户程序操作的数据。由以下所述的第三解决方案提供了该保护措施。
在第三解决方案中,除了第二解决方案的组件之外,根据本发明的信息处理设备还包括包含多个通用寄存器、多个安全信息单元和通用寄存器堆的功能。多个通用寄存器用来进行CPU的操作,并且从和向数据控制单元接收和传送数据,以及将数据存储在其中。将多个安全信息单元分别添加到相应的一个通用寄存器上,并且在地址控制单元的控制下,设置以下值:需要保密的状态、不需要保密的状态、以及保密无效的状态。通用寄存器堆具有以下功能:在根据运算指令利用每个通用寄存器执行两个或多个通用寄存器之间的运算时,在至少一个通用寄存器的安全信息单元的值处于需要保密的状态的情况下,将用于存储算术运算结果的通用寄存器的安全信息单元设置为保密无效的状态。此外,对数据控制单元进行配置,从而在安全信息单元将运算指令发布到处于保密无效状态的通用寄存器时,指令提取地址控制单元确定从用户存储空间中提取了运算指令的情况下,禁止算术运算。
以下将描述前述结构的操作。具体地,根据存储在通用寄存器中的用于算术运算的数据是从安全存储空间还是从用户存储空间中获得的,将安全信息单元设置为需要保密的状态或者不需要保密的状态。在当发布运算指令时,将至少一个安全信息单元设置为需要保密的状态的情况下,通用寄存器堆将用于存储运算结果的安全信息单元设置为保密无效状态,并通知数据控制单元。这样被通知的数据控制单元禁止算术运算。
如上所述,针对存储了安全存储空间的数据的寄存器的内容,防止了由于根据用户程序的操作而造成的不希望的处理(例如,其中将从安全存储空间读取的数据和全“1”数据之间的“与”运算的结果存储在另一寄存器中的伪操作)。结果,防止了对安全存储空间中所存储的内容的估计,从而,防止了对安全程序的解码(侵入)。
(4)在由用户程序对两个或者更多值的寄存器进行相互比较的情况下,通过访问保存了比较运算结果的状态寄存器,可以容易地估计安全存储空间中的数据,而无需知道运算结果。许多CPU通常具有状态寄存器。因此,需要限制根据用户程序利用状态寄存器的操作。由以下所述的第四解决方案提供了该保护措施。
作为第四解决方案,除了上述第二解决方案的组件之外,根据本发明的信息处理设备还包括具有以下功能的状态寄存器。具体地,状态寄存器用于CPU的算术运算,并具有保存比较运算结果的值作为比较标记的功能。在根据运算指令执行两个或者更多通用寄存器之间的运算时,在至少一个通用寄存器的安全信息单元中的值处于需要保密的状态,并且指令提取地址控制单元确定已经从用户存储空间中提取了运算指令的情况下,使每一个标记的值保持不变。
该结构的操作如下。具体地,根据存储在通用寄存器中的用于比较的数据是从安全存储空间还是从用户存储空间中得到,将安全信息单元设置为需要保密的状态或者不需要保密的状态。在发布比较指令之后,在至少一个安全信息单元处于需要保密的状态的情况下,状态寄存器禁止比较标记发生改变。
如上所述,即使用户程序使具有两个或者更多值的寄存器利用将比较运算的结果值保存为比较标记的状态寄存器,仍然防止了通过比较存储了安全存储空间的数据的寄存器内容来进行估计,从而防止了对安全程序的解码。
(5)在上述(1)到(4)中,在开发人员利用用户系统调试安全程序的情况下,需要在用户存储空间中对安全程序进行监控。在该处理中,如果禁止了从安全存储空间到用户存储空间的数据传送,则将不能够进行调试。因此,需要取消禁止通过寄存器传送数据的功能。由以下所述的第五解决方案提供了该保护措施。
在第五解决方案中,除了第二解决方案的组件之外,根据本发明的信息处理设备还包括包含用户IO空间,安全IO空间、IC卡和调试键的功能。用户IO空间是用于从外部访问用户存储空间的读取/写入IO空间。安全IO空间是用于从外部访问安全存储空间的读取/写入IO空间。IC卡用于连接安全IO空间,并具有将包括调试键在内的数据存储在其中的功能。将调试键存储在IC卡中,而且该调试键具有以下功能:当开发人员调试针对用户系统的安全程序并通过安全IO空间将程序读入到CPU中时,停用指令提取地址控制单元和地址控制单元的地址确定功能。此外,对数据控制单元进行配置,从而在当响应传送指令,将数据从通用寄存器的数据单元传送到存储空间时,将调试键读取到CPU中的情况下,不禁止将数据传送到用户存储空间,而与从用户存储空间和安全存储空间中的哪一个提取指令无关。
该结构的操作如下。具体地,在CPU利用与安全IO空间连接的IC卡开始调试操作的情况下,从IC卡中读取调试键,并将其通过安全IO空间加载到CPU中。一旦加载了调试键,则停用指令提取地址控制单元和地址控制单元的地址区分功能。因此,在未加载调试键而从用户存储空间中提取指令的情况下,禁止将数据从通用寄存器传送到用户存储空间。然而,在加载调试键并停用地址区分功能的情况下,上述禁止操作不能工作,并且允许将数据从通用寄存器传送到用户存储空间,而与从安全存储空间和用户存储空间中的哪一个提取指令无关。
如上所述,在开发人员利用用户系统调试安全程序的情况下,停用通用寄存器的安全信息的附加位的功能,并且能够在用户存储空间和安全存储空间之间进行自由的数据传送,从而能够对安全程序进行监控。具体地,即使在用户环境下,开发人员也能够利用其中存储了调试键的IC卡容易地调试安全程序,从而可以获得等价于传统特权模式的权利。
(6)作为第六解决方案,适合于访问包括用户存储空间和安全存储空间在内的存储空间的、根据本发明的信息处理设备包括具有安全信息产生单元、具有安全信息单元的通用寄存器、具有安全信息单元的内置RAM空间和数据输出控制单元的功能的组件。安全信息产生单元确定地址信息表示用户存储空间和安全存储空间中的哪一个,并将具有安全信息的数据传送到通用寄存器。所述通用寄存器具有接收和保存具有安全信息的数据的功能。内置RAM空间一方面接收和保存来自通用寄存器的具有安全信息的数据,同时将这样保存的数据传送给通用寄存器。数据输出控制单元具有根据安全信息控制向外部空间的传送数据的功能。数据输出控制单元还具有根据设置在通用寄存器中的安全信息的值,确定是否禁止将数据传送到外部空间的功能。
该结构的操作如下。具体地,当将数据从存储空间传送到通用寄存器时,安全信息产生单元检查用户存储空间和安全存储空间中的哪一个与地址信息相关,产生相应的安全信息,并将其与数据一起存储在通用寄存器中。当将通用寄存器的数据写入到内置RAM空间中时,将特定数据与安全信息同时写入。此外,针对特定数据,将内置RAM空间中的数据写入具有安全信息单元的通用寄存器中。结果,保存了数据的安全信息。当将通用寄存器的数据传送到外部空间时,数据控制单元检查特定数据的安全信息,并在安全信息表示从用户存储空间获得该数据的情况下,允许传送特定数据。另一方面,在安全信息表示从安全存储空间中获得该数据的情况下,禁止数据传送。
如上所述,可以禁止由用户程序通过寄存器将数据从安全存储空间传送到外部空间。按照这种方式,防止了对安全程序的解码(侵入)。在这种情况下,只需将位添加到通用寄存器上作为安全信息,并不需要改变CPU的指令集。此外,不需要特权模式和通常模式之间的切换操作。
另外,能够进行通过内置RAM空间的安全管理,并且由于将安全信息添加到数据上,允许安全存储空间的数据和用户存储空间的数据共存在内置RAM空间中。根据用户存储空间的指令,允许对内置RAM空间上的安全数据进行重写。因此,在不影响通常使用的情况下,能够进行内置RAM空间的安全管理。
(7)作为第七解决方案,用于访问包括用户存储空间和安全存储空间在内的存储空间的、根据本发明的信息处理设备包括具有下述功能的组件。具体地,信息处理设备包括安全信息产生单元、具有安全信息单元的通用寄存器、具有安全信息单元的指令解码器、具有安全信息单元的内置RAM空间、具有安全信息单元的中断保存信息单元、以及数据输出控制单元。安全信息产生单元确定地址信息表示用户存储空间和安全存储空间中的哪一个,并且将其上添加了安全信息的数据和指令传送到通用寄存器。通用寄存器具有接收和保存具有安全信息的数据的功能。指令解码器具有确定执行的指令是从用户存储空间获得的指令还是从安全存储空间获得的指令的功能。内置RAM空间具有接收和保存来自通用寄存器的具有安全信息的数据,并且还将这样保存的数据传送到通用寄存器的功能。中断保存信息单元具有将指令解码器的安全信息添加到保存在内置RAM空间的栈区域中的数据上的功能。数据输出控制单元具有根据安全信息控制向外部空间的数据传送的功能。此外,对数据输出控制单元进行配置,根据设置在通用寄存器中的安全信息的值,确定是否要禁止将数据传送到外部空间。
上述结构的操作如下。具体地,当将数据和/或指令从存储空间传送到通用寄存器时,安全信息产生单元检查以查明地址信息从用户存储空间或者安全存储空间中的哪一个获得,产生与每个空间相对应的安全信息,并将具有安全信息的数据存储在通用寄存器中。此外,指令解码器保存具有安全信息的已解码指令。在执行指令期间发生中断等事件的情况下,中断保存信息单元将数据保存在内置RAM空间的栈区域中。在该处理中,将指令解码器的安全信息添加到所保存的数据上。按照这种方式,保持了所保存数据的安全信息。当将通用寄存器的数据传送到外部空间时,数据输出控制单元检查特定数据的安全信息,并在安全信息表示数据从用户存储空间中获得的情况下,允许数据传送,而另一方面,在安全信息表示数据从安全存储空间中获得的情况下,禁止该数据传送。
如上所述,通过将安全信息添加到由中断等造成的、保存在内置RAM空间中的数据上,在读取自动保存在内置RAM空间中的数据时,能够进行安全管理。因此,能够实现防止对安全存储空间的侵入的重要任务。
(8)作为第八解决方案,用于访问包括用户存储空间和安全存储空间在内的存储空间的、根据本发明的信息处理设备包括具有下述功能的组件。所述组件包括安全信息产生单元、具有安全信息单元的通用寄存器、具有安全信息单元的指令解码器、具有安全信息单元的内置RAM空间、具有安全信息单元的中断保存信息单元、栈指针和保存信息重写控制单元。安全信息产生单元确定地址信息表示用户存储空间和安全存储空间中的哪一个,并将具有安全信息的数据和指令传送到通用寄存器。通用寄存器具有接收和保存具有安全信息的数据的功能。指令解码器具有确定所执行的指令是从用户存储空间获得的指令还是从安全存储空间获得的指令的功能。内置RAM空间具有接收和保存来自通用寄存器的具有安全信息的数据,并还将这样保存的数据传送到通用寄存器的功能。中断保存信息单元具有在发生中断等事件时,将指令解码器的安全信息添加到保存在内置RAM空间的栈区域中的数据上的功能。栈指针将部分内置RAM空间定义为栈区域。保存信息重写控制单元控制内置RAM空间的栈区域的重写操作。此外,在指令解码器的指令从用户存储空间中获得,并且需要重写内置RAM空间的栈区域的情况下,所述保存信息重写控制单元禁止重写操作。
该结构的操作如下。具体地,保存信息重写控制单元检查指令解码器的指令,并在指令解码器的指令从用户存储空间中获得,并且需要重写内置RAM空间的栈区域的情况下,禁止重写操作。
如上所述,在执行安全存储空间的指令期间,禁止响应由用户中断等造成的用户存储空间的指令,将返回地址重写到保存在内置RAM空间中的安全存储空间。结果,确保了安全存储空间的正常恢复,而同时限制了由用户存储空间的指令对安全存储空间的访问。此外,通过由栈指针表示的空间来切换重写控制操作,能够进行栈区域的安全管理,而无需实际划分内置RAM空间的通常区域和栈区域。
(9)作为第九解决方案,用于访问包括用户存储空间和安全存储空间在内的、存储空间的根据本发明的信息处理设备包括具有下述功能的组件。具体地,信息处理设备包括具有安全信息单元的DMA、安全信息产生单元、具有安全信息单元的内置RAM空间和数据输出控制单元。安全信息产生单元确定地址信息表示用户存储空间和安全存储空间中的哪一个,并将具有安全信息的数据传送到DMA。内置RAM空间具有接收和保存来自DMA的具有安全信息的数据,并还将这样保存的数据传送到DMA的功能。数据输出控制单元具有根据安全信息控制向外部空间的数据传送的功能。此外,对数据输出控制单元进行配置,以便根据设置在DMA中的安全信息的值,确定是否禁止将数据传送到外部空间。
上述结构的操作如下。具体地,通过使安全信息跟随不通过CPU传送的DMA数据,能够进行对通过DMA的数据的安全管理。此外,在通过DMA在内置RAM空间中开发而使用安全存储空间中的数据和指令的情况下,能够进行安全存储空间中的数据和指令的安全管理。另外,在通过DMA将内置RAM空间中的数据和指令传送到外部空间的情况下,能够进行安全存储空间中的数据和指令的安全管理。
(10)作为第十解决方案,用于访问包括用户存储空间和安全存储空间在内的存储空间的、根据本发明的信息处理设备包括具有下述功能的组件。具体地,信息处理设备包括安全信息产生单元、具有安全信息单元的通用寄存器、具有安全信息单元的指令解码器、具有安全信息单元的运算单元和数据输出控制单元。安全信息产生单元确定地址信息表示用户存储空间和安全存储空间中的哪一个,并且将具有安全信息的数据和指令传送到通用寄存器。通用寄存器具有接收和保存具有安全信息的数据的功能。指令解码器具有确定所执行的指令是从用户存储空间获得的指令还是从安全存储空间获得的指令的功能。运算单元具有根据在指令解码器中进行解码的指令,将指令解码器的安全信息反映到所执行的算术运算中的功能。数据输出控制单元具有根据安全信息控制向外部空间的数据传送的功能。此外,对数据输出控制单元进行配置,以便根据设置在通用寄存器中的安全信息和设置运算单元中的安全信息,确定是否禁止将数据传送到外部空间。
上述结构的操作如下。具体地,该结构提供了针对算术运算结果泄漏到外部空间中而采取的保护措施。在执行用于进行算术运算的安全存储空间的指令而在算术运算结果中不存在任何安全信息的情况下,特定算术运算结果容易被读出到外部空间中。因此,即使在要进行算术运算的所有数据都从用户存储空间中获得或者安全数据未明确地表示在安全信息单元中的情况下,仍然将添加到安全存储空间指令上的安全信息反映到运算单元的安全信息中。通过这样做,防止了算术运算结果向外流入到外部空间,并且防止了根据算术运算结果来估计安全存储空间中的指令的内容。
当结合附图考虑时,通过本发明的以下描述,前述和其他方面将变得显而易见。
附图说明
图1是示出了根据本发明第一实施例的信息处理设备的结构的示意图;
图2是示出了根据本发明第一实施例的信息处理设备的操作的流程图;
图3是示出了根据本发明第二实施例的信息处理设备的结构的示意图;
图4是示出了根据本发明第二实施例的信息处理设备的操作的流程图;
图5是示出了根据本发明第三实施例的信息处理设备的结构的示意图;
图6是示出了根据本发明第三实施例的信息处理设备的操作的流程图;
图7是示出了根据本发明第四实施例的信息处理设备的结构的示意图;
图8是示出了根据本发明第四实施例的信息处理设备的操作的流程图;
图9是示出了根据本发明第五实施例的信息处理设备的结构的示意图;
图10是示出了根据本发明第五实施例的信息处理设备的操作的流程图;
图11是示出了根据本发明第六实施例的信息处理设备的结构的示意图;
图12A是示出了根据本发明第六到第十实施例的具有安全信息单元的内置RAM空间的示意图;以及图12B是示出了具有安全信息单元的通用寄存器的示意图;
图13A和13B是示出了根据本发明第六到第九实施例,对内置RAM空间进行访问的状态图;
图14是示出了根据本发明第七实施例的信息处理设备的结构的示意图;
图15A是示出了根据本发明的第七、第八和第十实施例具有安全信息单元的指令解码器的示意图;以及图15B是示出了具有安全信息单元的中断保存信息单元的示意图;
图16是示出了根据本发明第八实施例的信息处理设备的结构的示意图;
图17A和17B是根据本发明的第八实施例的位于具有安全信息单元的内置RAM空间中的栈区的状态图;
图18是示出了根据本发明第九实施例的信息处理设备的结构的示意图;
图19是示出了根据本发明第九实施例的具有安全信息单元的DMA的示意图;
图20是示出了根据本发明第十实施例的信息处理设备的结构的示意图;以及
图21是示出了根据本发明第十实施例的具有安全信息单元的运算单元的示意图。
在所有这些图中,相同组件由相同参考数字来表示。
具体实施方式
下面将参考附图来解释根据本发明优选实施例的信息处理设备。
(第一实施例)
图1是示出了根据本发明第一实施例的信息处理设备的结构的示意图。在图1中,参考数字100表示信息处理设备,数字101表示CPU,数字102表示通用寄存器堆,数字103表示通用寄存器,数字104表示安全信息单元,数字105表示数据控制单元,数字106表示地址控制单元,数字107表示数据/地址总线,数字110表示用户存储空间(RAM),以及数字120表示安全存储空间(ROM)。在这些组成部分中,信息处理设备100表示与用户存储空间110和安全存储空间120外部连接的整块设备。
CPU 101具有通用寄存器堆102,并通过访问用户存储空间110和安全存储空间120,从和向通用寄存器103中读取和写入数据。通用寄存器堆102具有通用寄存器103和与其相对应的安全信息单元104。通用寄存器103用于由CPU 101进行算术处理,并具有从和向数据控制单元105接收和传送数据、以及将数据存储在其中的功能。将安全信息单元104添加到通用寄存器103上,并且可以在地址控制单元106的控制下,将安全信息单元104设置为需要保密的状态或者不需要保密的状态的值。
数据控制单元105将从数据/地址总线107输入的数据写入到通用寄存器堆102中,并且将从通用寄存器堆102中接收到的数据输出到数据/地址总线107,以及将特定数据写入到用户存储空间110中。数据控制单元105具有在执行该写入操作时,检查安全信息单元104的值并执行关于是否要禁止写入操作的控制操作的功能。
地址控制单元106具有确定从数据/地址总线107输入的地址信息表示用户存储空间110和安全存储空间120中的哪一个,并选择通用寄存器堆102中的安全信息单元104的值的功能。
数据/地址总线107使数据控制单元105、地址控制单元106、外部存储器数据总线130和外部存储器地址总线140相互连接,并且具有从和向与其连接的这些组件接收和发送数据或者地址的功能。
用户存储空间110是读/写存储器,并且具有根据从外部存储器地址总线140输入的地址信息,从和向外部存储器数据总线130输入或者输出数据的功能。
安全存储空间120是只读存储器,并且具有根据从外部存储器地址总线140输入的地址信息,向外部存储器数据总线130输出数据的功能。
外部存储器数据总线130具有接收和发送信息处理设备100和用户存储空间110或者安全存储空间120之间的数据的功能。
外部存储器地址总线140具有向用户存储空间110或者安全存储空间120发送从信息处理设备100接收到的地址信息的功能。
接下来,将解释具有该结构的根据第一实施例的信息处理设备的操作。
图2是示出了第一实施例的操作的流程图。在图2中,数字601表示发布加载指令的步骤,数字602表示识别加载地址的步骤,数字603表示设置需要保密的状态的步骤,数字604表示设置不需要保密的状态的步骤,数字605表示将数据存储在通用寄存器中的步骤,数字606表示发布存储指令的步骤,数字607表示确定安全状态的步骤,数字608表示将数据存储在用户存储空间中的步骤,以及数字609表示禁止存储在用户存储空间中的步骤。
发送加载指令的步骤601是从CPU 101向外部存储器发布加载指令。在完成该步骤之后,处理进行到识别加载地址的步骤602。
在确定加载地址的步骤602,地址控制单元106确定从数据/地址总线107输入的地址信息是否与安全存储空间120相关。这是确定要从安全存储空间120或者用户存储空间110中的哪一个中读取要存储在通用寄存器103中的数据。在确定从安全存储空间120中获得数据的情况下,处理进行到设置需要保密的状态的步骤603。否则(即,在从用户存储空间110中获得数据的情况下),处理进行到设置不需要保密的状态的步骤604。
设置需要保密的状态的步骤603使得地址控制单元106将安全信息单元104中的值设置为需要保密的状态。在从安全存储空间120中读取要存储在通用寄存器103中的数据的情况下,执行该步骤,在这种情况下,需要将操作设置为需要保密的状态。在完成该步骤之后,处理进行到将数据存储在通用寄存器中的步骤605。
设置不需要保密的状态的步骤604使得地址控制单元106将安全信息单元104的值设置为不需要保密的状态。在从用户存储空间110中读取要存储在通用寄存器103中的数据的情况下,执行该步骤,在这种情况下,将操作设置为不需要保密的状态。在完成该步骤之后,处理进行到将数据存储在通用寄存器中的步骤605。
将数据存储在通用寄存器中的步骤605使得CPU 101将通过外部存储器数据总线130、数据/地址总线107和数据控制单元105从外部存储器接收到的数据存储到通用寄存器103中。在完成该步骤之后,处理进行到发布存储指令的步骤606。
在存储指令发布步骤606中,CPU 101向外部存储器发布存储指令。在完成该步骤之后,处理进行到安全状态确定步骤607。
安全状态确定步骤607使数据控制单元105确定安全信息单元104的值是处于需要保密的状态还是不需要保密的状态。在确定结果显示为不需要保密的状态的情况下,过程进行到将数据存储在用户存储空间中的步骤608。否则(即,在需要保密的状态的情况下),处理进行到禁止存储在用户存储空间中的步骤609。
将数据存储在用户存储空间中的步骤608使CPU 101将通过数据控制单元105、数据/地址总线107和外部存储器数据总线130从通用寄存器103中接收到的数据存储在用户存储空间110中。在完成该步骤之后,操作结束。
禁止将数据存储在用户存储空间中的步骤609使CPU 101禁止将通过数据控制单元105、数据/地址总线107和外部存储器数据总线130从通用寄存器103接收到的数据存储在用户存储空间110中。在完成该步骤时,操作结束。
具体地,使数据从用户存储空间或者从安全存储空间传送到通用寄存器。使从用户存储空间接收到的数据从通用寄存器传送到用户存储空间,而禁止将从安全存储空间中接收到的数据从通用寄存器传送到用户存储空间。
前述结构能够禁止用户程序通过寄存器将数据从安全存储空间复制到用户存储空间。按照这种方式,可以防止对安全程序的解码(侵入)。在这种情况下,该实施例的特征在于:只需要在寄存器中提供额外的位来表示安全信息单元,而不需要改变CPU的指令集。也不需要在特权模式和通常模式之间切换,从而表现出以极简单的方式提供保护措施的显著效果。
(第二实施例)
上述第一实施例避免了以下问题。具体地,在安全存储空间中执行安全程序的情况下,将数据从安全存储空间传送到用户存储空间。例如,在收费音乐分布服务中,对所分布的MP3内容进行解码,并将解码后的WAVE数据传送到用户存储空间。在访问执行程序时所使用的函数并且需要将所需数据暂时保存在用户存储空间中的情况下,也会需要将数据从安全存储空间传送到用户存储空间。如果存在,在这样的情况下,禁止数据传送将造成基于安全程序的操作受到限制的问题。因此,需要新的机制,以便对基于用户程序的传送和基于安全程序的传送进行相互区分。本发明的第二实施例提出了针对此问题的保护措施。下面将解释根据第二实施例的信息处理设备的结构。
图3是示出了根据本发明第二实施例的信息处理设备的结构的示意图。在图3中,与图1所示的第一实施例相同的块分别以相同的参考数字表示,并不再对其进行描述。
数字108表示指令提取地址控制单元,数字109表示指令缓冲器,数字110p表示用户程序,以及数字120p表示安全程序。
指令提取地址控制单元108具有指令缓冲器109,并且在将从数据控制单元105输入的指令代码存储在指令缓冲器109中时,确定从数据/地址总线107输入的地址信息表示用户存储空间110和安全存储空间120中的哪一个。作为确定的结果,指令提取地址控制单元108通知数据控制单元105,执行用户程序110p和安全程序120p中的哪一个。
指令缓冲器109用于由CPU 101进行的指令提取处理,并具有将从数据控制单元105输入的指令代码存储在其中的功能。
将用户程序110p设置在用户存储空间110中,并主要由用户产生。
将安全程序120p设置在安全存储空间120中,并主要由开发人员产生。安全程序120p的内容并不对用户公开。
接下来,将解释具有上述结构的根据第二实施例的信息处理设备的操作。
图4是示出了第二实施例的操作的流程图。在图4中,与第一实施例所解释的相同步骤分别由相同的参考数字表示,并且不再对其进行描述。
在从安全存储空间120中读取要存储在通用寄存器103中的数据的情况下,在步骤603,将安全信息单元104设置为需要保密的状态。另一方面,在从用户存储空间110中读取要存储在通用寄存器103中的数据的情况下,在步骤604,将安全信息单元104设置在不需要保密的状态。
数字701表示加载地址确定步骤。在该步骤中,指令提取地址控制单元108确定从数据/地址总线107输入的地址信息是否与安全存储空间120相关。通过确定指令与安全存储空间120中的安全程序120p和用户存储空间110中的用户程序110p中的哪一个相关,执行该步骤。在该确定显示从安全存储空间120中得到地址信息的情况下,处理进行到将数据存储在用户存储空间中的步骤608。否则,处理进行到禁止存储在用户存储空间中的步骤609。
具体地,在从安全存储空间读入通用寄存器中的数据主要是安全程序,并且特定安全程序尝试使用用户存储空间的情况下,允许对用户存储空间的尝试使用。然而,在读取的数据主要是用户程序,并且特定用户程序尝试使用用户存储空间的情况下,禁止对用户存储空间的尝试使用。
在开发人员利用上述结构在安全存储空间中开发安全程序的情况下,可以准予任意地加载/存储在用户存储空间和安全存储空间的区域中的特权。另一方面,在用户在用户存储空间中开发用户程序的情况下,可以禁止将数据从安全存储空间传送到用户存储空间。换句话说,实现了其中在安全程序和用户程序之间对任意处理安全存储空间中的数据的权利进行了区分的显著效果。
(第三实施例)
上述的第一实施例还造成了以下的问题。具体地,可以禁止根据用户程序通过通用寄存器将数据从安全存储空间传送到用户存储空间。然而,在通用寄存器之间的相互算术运算中,不禁止将算术运算的结果存储在新寄存器中并将其存储在用户存储空间中的处理。作为示例,问题在于:可以容易地由伪操作来估计安全存储空间中的数据,其中,将从安全存储空间中读取到寄存器中的数据和全“1”数据进行“与”运算,并将“与”运算的结果存储在另一寄存器中。因此,需要提供新的机制,通过该机制,对于用户程序操作不可用的数据进行限制。本发明的第三实施例提出了针对该问题的保护措施。下面将解释根据第三实施例的信息处理设备的结构。
图5是示出了根据本发明第三实施例的信息处理设备的结构的示意图。在图5中,与第一和第二实施例所描述的图1和3中相同的块分别以相同的参考数字表示,并不再对其进行描述。
数字300表示第一通用寄存器,数字301表示第二通用寄存器,数字302表示第三通用寄存器,数字303表示第一安全信息单元,数字304表示第二安全信息单元,而数字305表示第三安全信息单元。
第一通用寄存器300、第二通用寄存器301和第三通用寄存器302用于由CPU 101进行的算术运算,以便从和向数据控制单元105接收和发送数据,并具有将数据存储在其中的功能。
将第一安全信息单元303、第二安全信息单元304和第三安全信息单元305分别添加到第一通用寄存器300、第二通用寄存器301和第三通用寄存器302上,并可以在地址控制单元106的控制下,将这些安全信息单元设置为需要保密的状态、不需要保密的状态或者保密无效的状态。
接下来,将解释具有上述结构的根据第三实施例的信息处理设备的操作。
图6是示出了第三实施例的操作的流程图。在图6中,与第一和第二实施例所描述的图2和4中相同的步骤分别以相同的参考数字表示,并不再对其进行描述。
在从安全存储空间120中读取要存储在通用寄存器之一中的数据的情况下,在步骤603,将相应的安全信息单元设置为需要保密的状态。另一方面,在从用户存储空间110中读取要存储在通用寄存器之一中的数据的情况下,在步骤604,将安全信息单元设置为不需要保密的状态。
数字801表示将数据存储在第一和第二通用寄存器中的步骤,数字802表示CPU发布利用第一和第二通用寄存器进行算术运算指令的步骤,数字803表示确定第一安全信息单元是否处于需要保密的状态,数字804表示确定第二安全信息单元是否处于需要保密的状态,数字805表示将第三安全信息单元设置为保密无效的值的步骤,数字806表示将第三安全信息单元设置为不需要保密的状态的步骤,数字807表示存储第三通用寄存器的算术运算结果的步骤,数字808表示CPU发布利用第三通用寄存器进行算术运算的指令的步骤,数字809表示确定第三安全信息单元是否处于需要保密的状态,数字810表示禁止算术运算的步骤,数字811表示CPU将清除指令发布到第三通用寄存器的步骤,而数字812表示将第三安全信息单元设置为不需要保密的状态的步骤。
将数据存储在第一和第二通用寄存器中的步骤801使CPU 101将通过外部存储器数据总线130、数据/地址总线107和数据控制单元105从外部存储器中接收到的数据存储在第一通用寄存器300和第二通用寄存器301中。在完成该步骤之后,处理进行到CPU发布利用第一和第二通用寄存器进行算术运算指令的步骤802。
CPU发布利用通用寄存器(1和2)进行算术运算指令的步骤802使CPU 101利用第一通用寄存器300和第二通用寄存器301执行一些算术运算(加、减等)。在完成该步骤之后,处理进行到确定第一安全信息单元是否处于需要保密的状态的步骤803。
在步骤803,数据控制单元105确定第一安全信息单元303的值是否处于需要保密的状态。在该确定结果显示第一信息单元303处于需要保密的状态的情况下,处理进行到将第三安全信息单元设置为保密无效的状态的步骤805。否则(即,在不需要保密的状态的情况下),处理进行到确定第二安全信息单元是否处于需要保密的状态的步骤804。
在步骤804,数据控制单元105确定第二安全信息单元304的值是否处于需要保密的状态。在该确定结果显示为需要保密的状态时,处理进行到将第三安全信息单元设置为保密无效的状态的步骤805。否则(即,在不需要保密的状态的情况下),处理进行到将第三安全信息单元设置在不需要保密的状态的步骤806。
在步骤805,地址控制单元106将第三安全信息单元305的值设置为保密无效的状态。在完成该步骤之后,处理进行到将算术运算结果存储在第三通用寄存器中的步骤807。
在步骤803到805,在从安全存储空间120中读取存储在第一通用寄存器300中的数据和存储在第二通用寄存器301中的数据中的至少一个的情况下,将第三安全信息单元305的值设置为保密无效的状态。
在步骤806,地址控制单元106将第三安全信息单元305的值设置为不需要保密的状态。在完成该步骤之后,处理进行到将算术运算结果存储在第三通用寄存器中的步骤807。
在步骤803到806的处理中,在从用户存储空间110中同时读取存储在第一通用寄存器300中的数据和存储在第二通用寄存器301中的数据的情况下,将第三安全信息单元305的值设置为不需要保密的状态。
在步骤807,将第一通用寄存器300的算术运算结果和第二通用寄存器301的算术运算结果存储在第三通用寄存器302中。在完成该步骤之后,处理进行到CPU发布运算指令的步骤808。
发布CPU运算指令利用第三通用寄存器的步骤808使CPU 101利用第三通用寄存器302执行针对算术运算的一些处理(存储、跳过等)。在完成该步骤之后,处理进行到确定第三安全信息单元是否处于需要保密的状态的步骤809。
在步骤809,数据控制单元105确定第三安全信息单元305的值是否处于保密无效的状态。在确定结果为处于保密无效的状态的情况下,处理进行到禁止算术运算的步骤810。否则(即,在不需要保密的状态或者需要保密的状态的情况下),处理进行到其中CPU向第三通用寄存器发布清除指令的步骤811。
在步骤811,CPU 101执行清除(CLR)第三通用寄存器302的处理。在完成该步骤之后,处理进行到将第三通用寄存器设置为不需要保密的状态的步骤812。
在步骤812,地址控制单元106将第三安全信息单元305的值设置为不需要保密的状态。在完成该步骤之后,操作结束。
具体地,在将数据从安全存储空间读取到通用寄存器中,并且还要利用特定数据执行算术运算的情况下,通过将安全信息单元305的值设置为保密无效状态,来禁止算术运算。
按照上述结构,存储了从安全存储空间中获得的数据的寄存器的内容不能够根据用户程序进行算术运算(即,包括加(+)、减(-)、乘(×)、除(÷)的四则算术运算)。结果,防止了对安全存储空间中存储的内容的估计。假定允许伪操作,其中,将从安全存储空间读入寄存器中的数据和全“1”数据之间进行“与”运算(例如8′b11010011& 8′11111111=8′b1010011)的结果存储在另一寄存器中,然后,通过对安全存储空间中的数据的估计,可以解码(侵入)安全程序。然而,根据该实施例,表现出防止了对安全程序的解码的显著效果。
(第四实施例)
上述第一实施例还造成了以下问题。具体地,根据用户程序按照二进制或者更多数位对寄存器进行比较,通过访问保存比较算术运算的结果的状态寄存器而无需知道算术运算的结果,就可以容易地估计安全存储空间中的数据。实际上,当前的许多CPU都具有状态寄存器。因此,需要新的机制,以便限制根据用户程序,利用状态寄存器的算术运算。本发明的第四实施例提出了一种保护措施。下面将解释根据第四实施例的信息处理设备的结构。
图7是示出了根据本发明第四实施例的信息处理设备的结构的示意图。在图7中,与图1、3和5所示的第一到第三实施例相似的块分别以相同的参考数字表示,并不再对其进行描述。
数字400表示用于由CPU 101进行算术运算的状态寄存器,并具有保存比较算术运算的结果值作为比较标记的功能。
接下来,将解释具有此结构的根据第四实施例的信息处理设备的操作。
图8是示出了第四实施例的操作的流程图。在图8中,与图2、4和6所示的第一到第三实施例相似的步骤分别以相同的参考数字表示,并不再对其进行描述。
在从安全存储空间120中读取要存储在通用寄存器之一中的数据的情况下,在步骤603,将相应的安全信息单元设置为需要保密的状态。在从用户存储空间110中读取要存储在给定通用寄存器中的数据的情况下,在步骤604,将安全信息单元设置为不需要保密的状态。
数字901表示第一和第二通用寄存器的比较算术运算的步骤,数字902表示禁止状态寄存器的比较标记改变的步骤,而数字903表示改变状态寄存器的比较标记的步骤。
在步骤901中,CPU 101利用第一通用寄存器300和第二通用寄存器301,执行比较算术运算(CMP等)的处理。在完成该步骤之后,处理进行到确定将第一安全信息单元设置为需要保密的状态还是设置为不需要保密的状态的步骤803。
在确定步骤803,数据控制单元105确定第一安全信息单元303的值是否处在需要保密的状态,并根据确定结果,使处理进行到步骤902或804。在确定步骤804,数据控制单元105确定第二安全信息单元304的值是否处于需要保密的状态,并根据确定结果,使处理进行到步骤902或者903。
在步骤902,禁止根据第一和第二通用寄存器的比较算术运算处理901的比较算术运算结果来改变状态寄存器400的比较标记的值。在完成该步骤之后,操作结束。
在步骤803、804和902,在从安全存储空间120中读取了存储在第一通用寄存器300中的数据和存储在第二通用寄存器301中的数据中的至少一个的情况下,禁止改变状态寄存器400的比较标记的值。
在步骤903,根据第一和第二通用寄存器之间比较算术运算的步骤901中的比较算术运算的结果,改变状态寄存器400中的比较标记的值。在完成该步骤之后,操作结束。
在步骤803、804和903中,在从用户存储空间110中同时读取了存储在第一通用寄存器300中的数据和存储在第二通用寄存器301中的数据的情况下,改变状态寄存器400的比较标记的值,并允许比较算术运算。
具体地,在将数据从安全存储空间读取到通用寄存器中的情况下,禁用可能利用特定数据而尝试的比较。
按照这种结构,即使在利用保存比较算术运算结果作为比较标记的状态寄存器比较二进制或数位寄存器的情况下,也防止了通过比较,对存储在安全存储空间中的寄存器内容的估计。换句话说,表现出防止了对安全程序进行解码的显著效果。
(第五实施例)
在开发人员在上述第一到第四实施例中调试用户系统的安全程序的情况下,需要在用户存储空间中监控安全程序。禁用数据从安全存储空间传送到用户存储空间造成了不能进行调试的问题。因此,需要新的机制来取消禁止通过寄存器传送数据的功能。第五实施例提出了针对该问题的保护措施。下面将描述根据第五实施例的信息处理设备的结构。
图9是示出了根据第五实施例的信息处理设备的结构的示意图。在图9中,与图1、3、5和7所示的第一到第四实施例中所描述的相似的块分别以相同的参考数字表示,并不再对其进行描述。
数字500表示终端PC,数字501表示用户IO空间(RAM),数字502表示安全IO空间(RAM),数字503表示IC卡,而符号S503表示调试键。
当调试安全程序120p并与用户IO空间501连接时,由开发人员所使用终端PC 500。该终端PC 500具有调试要在用户存储空间110中进行调试的程序的功能。
用户IO空间501是用于从外部访问用户存储空间110的读取/写入空间。
安全IO空间502是用于从外部访问安全存储空间120的读取/写入空间。
IC卡503用于与安全IO空间502连接,并且具有将如调试键S503等数据存储在其中的功能。
将调试键S503存储在IC卡503中,当开发人员调试用户系统的安全程序120p时,在由CPU 101通过安全IO空间502读出该调试键S503的情况下,停用指令提取地址控制单元108和地址控制单元106的地址确定功能。
接下来,将解释具有上述结构的根据第五实施例的信息处理设备的操作。
图10是示出了第五实施例的操作的流程图。在图10中,与图2、4、6和8所示的第一到第四实施例所描述的相似的步骤分别以相同的参考数字表示,并不再对其进行描述。
数字1001表示输入调试键的步骤,数字1002表示加载调试键的步骤,数字1003表示停用指令提取地址控制单元的步骤,以及数字1004表示停用地址控制单元的步骤。
调试键输入步骤1001将调试键S503从IC卡503输入到安全IO空间502中。在完成该步骤之后,处理进行到调试键加载步骤1002。
调试键加载步骤1002使CPU 101通过外部存储数据总线130、数据/地址总线107和数据控制单元105从安全IO空间502中读取调试键S503。在完成该步骤之后,处理进行到停用指令提取地址控制单元的步骤1003。
指令提取地址控制单元停用步骤1003停用指令提取地址控制单元108确定地址的功能。在完成该步骤之后,处理进行到地址控制单元停用步骤1004。
地址控制单元停用步骤1004停用地址控制单元106确定地址的功能。在完成该步骤之后,处理进行到加载指令发布步骤601。
随后,如同第一实施例那样,通过步骤601到606执行步骤608。第一实施例中的步骤607和609未被包括在第五实施例中。当从相连的IC卡中加载调试键时,在从安全存储空间将数据读取到通用寄存器中,并且这样读取的数据的主要部分由用户程序构成的情况下,使用户程序利用用户存储空间。
按照这种结构,当开发人员调试用户系统的安全程序时,通过连接其中存储有调试键的IC卡并且加载该调试键,停用通用寄存器的安全信息的附加位的功能。结果,在用户存储空间和安全存储空间的区域之间能够进行自由的数据传送,从而可以对安全程序进行监控。具体地,即使在用户环境中,通过其中存储有调试键的IC卡,开发人员仍然能够容易地调试安全程序。简而言之,表现出由此可以获得等价于现有技术中的特权模式的权利的显著效果。
(第六实施例)
图11是示出了根据本发明第六实施例的信息处理设备的结构的示意图。根据该实施例的信息处理设备包括:安全存储空间201、用户存储空间202、数据总线203、地址总线204、安全信息产生单元205、具有安全信息单元的内置RAM空间206、CPU 208、具有安全信息单元的通用寄存器209、数据输出控制单元211和外部空间212。
此外,如图12A和12B所示,内置RAM空间206包括内部安全信息单元207,而通用寄存器209包括内部安全信息单元210。
当从安全存储空间201或者用户存储空间202中读取数据时,CPU208通过地址总线204指定地址。
安全存储空间201或者用户存储空间202输出与地址总线204所指定的地址信息相一致的数据。
安全信息产生单元205接收与指定地址信息相一致的数据,并且确定所指定的地址信息表示用户存储空间202和安全存储空间201中的哪一个。在确定结果显示数据与用户存储空间202相关的情况下,将其上添加了“0”作为安全信息的数据传送到通用寄存器209。另一方面,在从安全存储空间201中得到数据的情况下,将其上添加了“1”作为安全信息的数据传送到通用寄存器209。将安全信息存储在通用寄存器209的安全信息单元210中。
将参考图13A和13B来解释将通用寄存器209的数据传送到内置RAM空间206和外部空间212中的操作。
数字206a表示内置RAM空间206的第一状态,数字206b表示内置RAM空间206的第二状态,数字207a表示安全信息单元207的第一状态,数字207b表示安全信息单元207的第二状态,数字209a表示通用寄存器209的第一状态,数字209b表示通用寄存器209的第二状态,数字210a表示安全信息单元210的第一状态,数字210b表示安全信息单元210的第二状态。
CPU 208将通用寄存器209的第一状态209a的数据写入到内置RAM空间206的第一状态206a中。同时,将安全信息单元210的第一状态210a的值写入到安全信息单元207的第一状态207a中。结果,将这些值转换为内置RAM空间206的第二状态206b以及安全信息单元207的第二状态207b,从而保存了安全信息。
当由CPU 208读取时,内置RAM空间206的第二状态206b的数据被传送给通用寄存器209的第二状态209b。同时,将安全信息的第二状态207b传送给安全信息单元210的第二状态210b。结果,保存了通过内置RAM空间206传送的数据的安全信息。
当CPU 208将通用寄存器209的数据输出到外部空间212时,在通用寄存器中的安全信息单元210的值为“1”的情况下,数据输出控制单元211禁止将数据输出到外部空间212中。
按照这种结构,可以禁止根据用户程序通过寄存器将数据从安全存储空间传送到外部空间。换句话说,防止了对安全程序的解码(侵入)。在这种情况下,本实施例的特征在于:只将附加位插入到寄存器中,而不需要改变CPU的指令集。也不需要在特权模式和通常模式之间切换。
此外,使安全信息也跟随内置RAM空间,从而能够对通过内置RAM空间的数据进行安全管理。在这种情况下,由于将安全信息添加到数据自身,安全存储空间的数据和用户存储空间的数据共存在内置RAM空间中。因此,表现出的显著效果在于:依照用户存储空间的指令,允许将安全数据重写在内置RAM空间上,并能够进行内置RAM空间的安全管理,而对通常操作没有影响。
(第七实施例)
图14是示出了根据本发明第七实施例的信息处理设备的结构的示意图。在图14中,与图11所示的第六实施例相似的块分别以相同的参考数字表示,并不再对其进行描述。
在图14中,数字213表示中断控制单元,数字214表示具有安全信息单元的中断保存信息单元,而数字216表示具有安全信息单元的指令解码器。
如图15A和15B所示,中断保存信息单元214具有内部安全信息单元215,而指令解码器216具有内部安全信息单元217。
当从安全存储空间201或者用户存储空间202中读取数据或提取指令时,CPU 208通过地址总线204指定地址。
安全存储空间201或者用户存储空间202输出与地址总线204上所指定的地址信息相一致的数据和指令。
安全信息产生单元205接收与指定地址信息相一致的数据和指令,并确定指定地址信息表示用户存储空间202和安全存储空间201中的哪一个。在确定结果显示数据与用户存储空间202相关的情况下,将其上添加了“0”作为安全信息的数据传送到通用寄存器209。另一方面,在数据与安全存储空间201相关的情况下,将其上添加了“1”作为安全信息的数据传送到通用寄存器209。将安全信息存储在通用寄存器209的安全信息单元210中(见图12)。
在由安全信息产生单元205确定的结果表示指令与用户存储空间202相关时,将其上添加了“0”作为安全信息的指令传送到指令解码器216。另一方面,在指令与安全存储空间201相关的情况下,将其上添加了“1”作为安全信息的指令传送到指令解码器216。将安全信息存储在安全信息单元217中。
将通用寄存器209的数据传送到内置RAM空间206的操作与第六实施例所解释的相应操作类似,因此不再对其进行描述。
假定中断处理由中断控制单元213产生。为了对自动保存在部分内置RAM空间206中的数据的安全性进行管理,根据用户存储空间202和安全存储空间201中的哪一个与执行的指令相关,将安全信息添加到所保存的数据上。
正在执行的指令可以根据指令解码器216中的安全信息单元217的值来确定。在指令与用户存储空间202相关的情况下,安全信息为“0”,而在指令与安全存储空间201相关的情况下,安全信息为“1”。
为了清楚地表示在产生中断时自动保存的信息是否为安全信息,将指令解码器216的安全信息单元217中的值传送到中断保存信息单元214的安全信息单元215。
此外,将中断保存信息单元214的数据保存在部分内置RAM空间206中,而同时将中断保存信息单元214中的安全信息215的值传输到内置RAM空间206中的安全信息单元207(见图12)。结果,保持了所保存数据的安全信息。
将内置RAM空间206的数据传送到通用寄存器209的操作等价于第六实施例中所解释的相应操作,并且不再对其进行描述。
当CPU 208将通用寄存器209的数据输出到外部空间212时,在通用寄存器209中的安全信息单元210的值为“1”的情况下,数据输出控制单元211禁止将数据传输到外部空间212。
该结构通过使安全信息跟随由于中断等所造成的栈保存信息,能够在读取自动保存在构成了部分内置RAM空间的栈区域中的数据时进行安全管理。按照这种方式,实现了以下显著的效果:例如,由于执行PC(程序计数器)执行被读入到外部空间中的安全存储空间的指令而可能引起的对重要任务的侵入。
(第八实施例)
图16是示出了根据本发明第八实施例的信息处理设备的结构的示意图。在图16中,与图11和14所示的第六和第七实施例的相应块相似的块分别以相同的参考数字表示,并不再对其进行描述。
在图16中,数字218表示栈指针,而数字219表示保存信息重写控制单元。
当从安全存储空间201或者用户存储空间202读取数据或者提取指令时,CPU 208通过地址总线204指定地址。
安全存储空间201或者用户存储空间202输出与地址总线204所指定的地址信息相一致的数据和指令。
安全信息产生单元205接收与指定地址信息相一致的数据和指令,并确定指定地址信息表示用户存储空间202和安全存储空间201中的哪一个。在确定结果显示数据与用户存储空间202相关的情况下,将其上添加了“0”作为安全信息的数据传送到通用寄存器209。另一方面,在数据与安全存储空间201相关的情况下,将其上添加了“1”作为安全信息的数据传送到通用寄存器209。将安全信息存储在通用寄存器209的安全信息单元210中(见图12)。同时,在指令与用户存储空间202相关的情况下,安全信息产生单元205将其上添加了“0”作为安全信息的指令传送到指令解码器216。另一方面,在指令与安全存储空间201相关的情况下,将其上添加了“1”作为安全信息的指令传送到指令解码器216。将安全信息存储在指令解码器216的安全信息单元217中(见图15)。
在中断控制单元213产生中断或者类似处理的情况下,对自动保存在由内置RAM空间206的栈指针218表示的栈区域中的数据进行安全管理。出于这个目的,依据用户存储空间202和安全存储空间201中的哪一个与执行的指令相关,将安全信息添加到保存的数据。添加安全信息的操作与第七实施例中的相应操作相似,不再对其进行描述。
同时,将内置RAM空间的通常区域和栈区域中的数据传送到通用寄存器209的操作与第六实施例的相应操作相似,因此不再对其进行描述。
该结构通过将安全信息添加到由中断等造成的保存在栈区域中的信息,能够在读取自动保存在构成了部分内置RAM空间的栈区域中的数据时,进行安全管理。
此外,将通用寄存器209的数据传送(写入)到内置RAM空间206的通常区域的操作与第六实施例中的相应操作相似,不再对其进行描述。
在将通用寄存器209的数据传送(写入)到内置RAM空间206的栈区域的情况下,保存信息重写控制单元219根据指令解码器216中的安全信息单元217(见图15)的值,确定用户存储空间202和安全存储空间201中的哪一个与所执行的指令相关。此外,将传送目的地空间的地址与栈指针218进行比较。在结果显示指令与用户存储空间202相关并且传送目的地为栈区域的情况下,则禁止数据传送。
参考图17A和17B来解释将数据保存和恢复到构成了部分内置RAM空间206的栈区域的操作。
数字206c表示内置RAM空间206的第一状态,数字206d表示内置RAM空间206的第二状态,数字207c表示安全信息单元207的第一状态,数字218c表示栈指针218的第一状态,数字218d表示栈指针218的第二状态,数字701c表示栈区域的第一状态,数字701d表示栈区域的第二状态,数字702c表示通常区域的第一状态,数字702d表示通常区域的第二状态,而数字703c表示栈保存信息。
将内置RAM空间206的第二状态206d定义为初始状态。在执行针对安全存储空间201的指令期间发生中断并且处理进行到用户存储空间202的情况下,将中断保存信息单元214的数据保存在内置RAM空间206的第二状态206d中,并因而成为内置RAM空间206的第一状态206c中的栈保存信息703c。
在这种条件下,将安全信息添加到栈保存信息上,因此在读取保存在栈区域中的数据时能够进行安全管理。同时,由于禁止保存信息重写控制单元219根据用户存储空间202的指令重写栈区域的第一状态701c,因此,在写入保存在栈区域中的数据时能够进行安全管理。
一旦通过根据中断的恢复,恢复了栈保存信息703c,则栈指针的第一状态218c变为栈指针的第二状态218d。不再需要的栈保存信息703c的区域对通常区域的第一状态702c开放,并成为通常区域的第二状态702d。
按照这种结构,在执行安全存储空间的指令期间,禁止用户中断等根据用户存储空间的指令重写保存在内置RAM空间中的去往安全存储空间的返回目的地地址。结果,确保了对安全存储空间的正常恢复,而同时限制了对不允许用户存储空间的指令的安全存储空间进行访问。此外,实现了以下显著的效果:通过切换以栈指针表示的空间的重写控制操作,能够进行栈区域的安全管理,而不需要将内置RAM空间实际划分为通常区域和栈区域。
(第九实施例)
图18是示出了根据本发明第九实施例的信息处理设备的结构的示意图。在图18中,与图11所示的第六实施例中相应块相似的块分别以相同的参考符号表示,并不再对其进行描述。
在图18中,数字220表示具有安全信息单元的DMA。如图19所示,DMA 220具有内部安全信息单元221。
在从安全存储空间201或者用户存储空间202传送数据时,DMA 220通过地址总线204指定地址。
安全存储空间201或用户存储空间202输出与地址总线204所指定的地址信息相一致的数据。
安全信息产生单元205接收与指定地址信息相一致的数据,并确定指定地址信息表示用户存储空间202和安全存储空间201中的哪一个。在确定结果显示数据与用户存储空间202相关情况下,将其上添加了“0”作为安全信息的数据传送到DMA 220。另一方面,在确定数据与安全存储空间201相关的情况下,将其上添加了“1”作为安全信息的数据传送到DMA 220。将安全信息存储在DMA 220的安全信息单元221中。
将DMA 220的数据传送到内置RAM空间206和外部空间212的操作与第六实施例的相应操作相似,因此不再对其进行描述。
在从内置RAM空间206传送数据时,DMA 220通过地址总线204指定地址。
根据地址总线204所指定的地址信息,内置RAM空间206输出其上已经添加了安全信息单元207的安全信息的数据(见图12)。
DMA 220接收与指定地址信息一致的数据。同时,通过将安全信息单元207的安全信息反映在安全信息单元221中,保存通过了DMA 220的数据的安全信息。
按照这种结构,使安全信息跟随向和从DMA传送的每一个数据,而无需CPU的介入,因此,能够对通过了DMA的数据进行安全管理。此外,当在内置RAM空间中进行开发而由DMA使用时,可以对安全存储空间的数据和指令进行安全管理。同时,表现出以下显著的效果:在通过DMA将内置RAM空间的数据和指令传送到外部空间的情况下,能够对安全存储空间的数据和指令进行安全管理。
(第十实施例)
图20是示出了根据本发明第十实施例的信息处理设备的结构的示意图。在图20中,与图11所示的第六实施例中的相应块相似的块分别以相同的参考数字表示,并不再对其进行描述。
在图20中,数字216表示具有安全信息单元的指令解码器,而数字222表示具有安全信息单元的运算单元。如图21所示,运算单元222具有内部安全信息单元223。
在从安全存储空间201或者用户存储空间202读取数据或者提取指令时,CPU 208通过地址总线204指定地址。
安全存储空间201或者用户存储空间202输出与地址总线204所指定的地址信息相一致的数据和指令。
安全信息产生单元205接收与指定地址信息相一致的数据,并确定指定地址信息表示用户存储空间202和安全存储空间201中的哪一个。在确定结果显示数据与用户存储空间202相关的情况下,将其上添加了“0”作为安全信息的数据传送到通用寄存器209。另一方面,在确定数据与安全存储空间201相关的情况下,将其上添加了“1”作为安全信息的数据传送到通用寄存器209。将安全信息存储在通用寄存器209的安全信息单元210中(见图12)。此外,在指令与用户存储空间202相关的情况下,安全信息产生单元205将其上添加了“0”作为安全信息的指令传送到指令解码器216。另一方面,在指令与安全存储空间201相关的情况下,将其上添加了“1”作为安全信息的指令传送到指令解码器216。将安全信息存储在指令解码器216的安全信息单元217中(见图15)。
一旦安全存储空间201的运算指令由指令解码器216解码,则将通用解码器209的数据传送到运算单元222,从而开始算术运算。
在该处理中,假定添加到构成了算术运算目标的一个或多个通用寄存器209的数据上的安全信息单元210的至少一个安全信息为“1”。将安全信息单元210的安全信息“1”传送到运算单元222的安全信息单元223,从而保存了从运算单元222输出的算术运算结果的安全信息。
另一方面,在添加到构成算术运算目标的至少一个通用寄存器209的数据上的安全信息单元210的所有安全信息为“0”的情况下,将指令解码器216中的安全信息单元217的安全信息“1”传送到运算单元222中的安全信息单元223,从而保持了由运算单元222输出的运算结果的安全信息。
作为指令解码器216对用户存储空间202的算术运算指令进行解码的结果,将通用寄存器209的数据传送到运算单元222,从而开始算术运算。
在该处理中,假定添加到构成了算术运算目标的至少一个通用寄存器209的数据上的安全信息单元210的至少一个安全信息为“1”。将安全信息单元210的安全信息“1”传送到运算单元222的安全信息单元2223,从而保持了从运算单元222输出的算术运算结果的安全信息。
另一方面,在添加到构成了算术运算目标的至少一个通用寄存器209的数据上的安全信息单元210的所有安全信息为“0”的情况下,将指令解码器216中的安全信息单元217的安全信息“0”传送到运算单元222中的安全信息单元223,从而将表示保密缺失的信息添加到从运算单元222输出的运算结果上。
将运算单元222的数据传送到外部空间212的操作与第六实施例的相应操作相似,不再对其进行描述。
按照前述结构,假定执行与安全存储空间相关的运算指令,并且构成了算术运算目标的所有数据与用户存储空间相关,或者数据是安全数据的事实未清楚地表示在安全信息单元中。通过将添加到安全存储空间的指令上的安全信息反映在运算单元的安全信息中,防止了运算结果外流到外部空间。因此,实现了以下显著的效果:防止了根据算术运算结果来估计与安全存储空间相关的指令的内容。
以上详细地描述了本发明的实施例。根据本发明,在数据从用户存储空间传送到通用寄存器的情况下,将安全信息单元的值设置为不需要保密的状态,而在数据从安全存储空间传送到通用寄存器的情况下,将安全信息的值设置为需要保密的状态,从而禁止将数据从具有处于需要保密的状态的安全信息单元的值的通用寄存器传送到用户存储空间。按照这种方式,防止了对安全存储空间上的安全程序和诸如加密密钥等安全数据的读取。
按照相似的方式,可以禁止将数据从安全存储空间传送到外部空间,而无需在特权模式和通常模式之间切换。另外,使安全信息还跟随内置RAM空间,从而能够对通过了内置RAM空间的数据进行安全管理。此外,防止了可能通过读取安全存储空间的中断保存数据而造成的其他侵入。而且,限制了对不允许与用户存储空间相关的指令的安全存储空间的访问。另外,使安全信息跟随DMA传送数据,而无需CPU的介入,从而能够对通过了DMA的数据进行安全管理。此外,还使安全信息跟随算术运算结果,从而防止泄漏到外部空间和对与安全存储空间相关的指令的内容的估计。
具体地,提供该安全信息单元的造成的优点在于:由传统操作系统执行的特权模式和通常模式之间的切换控制操作完全由仅具有较小硬件变化的附加位所替代。特别地,本发明有望有效地应用于与PAD、数字电视和内容服务相关的产品开发。
从以上描述中,本发明所提供的方面显而易见。

Claims (10)

1.一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备,包括:
通用寄存器,用于CPU的算术运算,并具有接收、传送和存储数据的功能;
安全信息单元,将其添加到通用寄存器上,并且在将数据从用户存储空间传送到通用寄存器的数据单元的情况下,适合将其设置为不需要保密的状态,而在将数据从安全存储空间传送到通用寄存器的数据单元的情况下,适合将其设置为需要保密的状态;
数据控制单元,具有当将通用寄存器的数据写入到用户存储空间中时,确定安全信息单元的值是处于需要保密的状态还是处于不需要保密的状态的功能,从而确定是否禁止将数据传送到用户存储空间;以及
地址控制单元,具有地址信息表示用户存储空间和安全存储空间中的哪一个,并选择安全信息单元的值的功能。
2.根据权利要求1所述的信息处理设备,其特征在于还包括:
指令提取地址控制单元,具有当存储从数据控制单元输入的指令代码时,确定地址信息表示用户存储空间和安全存储空间中的哪一个的功能,以及具有通知数据控制单元正在执行用户程序和安全程序中的哪一个的功能;
指令缓冲器,由CPU使用来提取指令,并具有将从数据控制单元输入的指令代码存储在其中的功能;
用户程序,设置在用户存储空间中,并适合于主要由用户产生;以及
安全程序,设置在安全存储空间中,并且适合于主要由开发人员产生,安全程序的内容不对用户公开;
其中,数据控制单元根据传送指令,执行从通用寄存器的数据单元向存储空间的数据传送,从而在指令提取地址控制单元确定指令从用户存储空间中提取并且安全信息单元的值处于需要保密的状态的情况下,禁止将数据传送到用户存储空间。
3.根据权利要求2所述的信息处理设备,其特征在于还包括:
多个通用寄存器,用于CPU的算术运算,并且具有从和向数据控制单元接收和传送数据,以及将数据存储在其中的功能;
多个安全信息单元,分别添加到通用寄存器上,并在地址控制单元的控制下,适合于将其设置为需要保密的状态、不需要保密的状态、以及保密无效的状态中所选择的一个;以及
通用寄存器堆,具有以下功能:根据运算指令执行至少两个通用寄存器之间的算术运算,在至少一个通用寄存器的安全信息单元的值处于需要保密的状态的情况下,将用于存储算术运算结果的一个通用寄存器的安全信息单元设置为保密无效的状态;
其中,数据控制单元利用,将运算指令发布到具有保密无效状态的安全信息单元的通用寄存器,从而在指令提取地址控制单元确定已经从用户存储空间中提取了运算指令的情况下,禁止算术运算。
4.根据权利要求2所述的信息处理设备,其特征在于还包括状态寄存器,用于CPU的算术运算,并且具有保存比较算术运算结果的值作为比较标记的功能,所述状态寄存器还具有在当根据运算指令,在至少两个通用寄存器之间执行算术运算时,至少一个通用寄存器具有处于需要保密的状态的安全信息单元的值,并且指令提取地址控制单元确定已经从用户存储空间中提取了运算指令的情况下,使每个标记的值保持不变的功能。
5.根据权利要求2所述的信息处理设备,其特征在于还包括:
读取/写入用户IO空间,用于从外部访问用户存储空间;
读取/写入安全IO空间,用于从外部访问安全存储空间;
IC卡,用于与安全IO空间连接,并具有将包括调试键的数据存储在其中的功能;以及
调试键,存储在IC卡中,并具有以下功能:当在开发人员利用用户系统调试安全程序的情况下,由CPU通过安全IO空间读出时,停用指令提取地址控制单元和地址控制单元的地址确定功能;
其中,数据控制单元具有以下功能:在当根据传送指令,将数据从通用寄存器的数据单元传送到存储空间时,由CPU读取调试键的情况下,同时在指令从用户存储空间和安全存储空间的任一个中提取的情况下,不禁止将数据传送到用户存储空间。
6.一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备,包括:
安全信息产生单元,用于确定地址信息表示用户存储空间和安全存储空间中的哪一个,并且将具有安全信息的数据传送到具有安全信息单元的通用寄存器,所述通用寄存器具有接收和保存具有安全信息的数据的功能;
内置RAM空间,用于接收和保存来自通用寄存器的、具有安全信息的数据,以及将这样保存的数据传送到通用寄存器;以及
数据输出控制单元,具有根据安全信息,控制向外部空间的数据传送的功能;
其中,数据输出控制单元执行控制操作,以便根据设置在通用寄存器中的安全信息的值,确定是否禁止将数据传送到外部空间。
7.一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备,包括:
安全信息产生单元,用于确定地址信息表示用户存储空间和安全存储空间中的哪一个,并将具有安全信息的数据传送到具有安全信息单元的通用寄存器,并将具有安全信息的指令传送到具有安全信息单元的指令解码器,其中所述通用寄存器具有接收和保存具有安全信息的数据的功能,所述指令解码器具有确定用户存储空间和安全存储空间中的哪一个与执行的指令相关的功能;
具有安全信息单元的内置RAM空间,用于接收和保存来自通用寄存器的、具有安全信息的数据,以及将这样保存的数据传送到通用寄存器;以及
具有安全信息单元的中断保存信息单元,具有在产生中断处理时,将指令解码器的安全信息添加到保存在内置RAM空间的栈区域中的数据上的功能;以及
数据输出控制单元,具有根据安全信息,控制向外部空间的数据传送的功能;
其中,数据输出控制单元执行控制操作,以根据设置在通用寄存器中的安全信息的值,确定是否禁止将数据传送到外部空间。
8.一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备,包括:
安全信息产生单元,用于确定地址信息表示用户存储空间和安全存储空间中的哪一个,并且将具有安全信息的数据传送到具有安全信息单元的通用寄存器中,并将具有安全信息的指令传送到具有安全信息单元的指令解码器,其中所述通用寄存器具有接收和保存具有安全信息的数据的功能,所述指令解码器具有确定用户存储空间和安全存储空间中的哪一个与执行的指令相关的功能;
具有安全信息单元的内置RAM空间,具有接收和保存来自通用寄存器的、具有安全信息的数据,以及将这样保存的数据传送到通用寄存器的功能;
具有安全信息单元的中断保存信息单元,具有在产生中断处理时,将指令解码器的安全信息添加到保存在内置RAM空间的栈区域中的数据上的功能;
栈指针,用于将部分内置RAM空间定义为栈区域;以及
保存信息重写控制单元,用于控制重写内置RAM空间的栈区域的操作;
其中,在指令解码器的指令与用户存储空间相关,并需要重写内置RAM空间的栈区域的情况下,所述保存信息重写控制单元禁止重写操作。
9.一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备,包括:
具有安全信息单元的DMA,具有保存安全信息的功能;
安全信息产生单元,用于确定地址信息表示用户存储空间和安全存储空间中的哪一个,并将具有安全信息的数据传送到DMA;
内置RAM空间,用于接收和保存来自DMA的、具有安全信息的数据,以及将这样保存的数据传送到DMA;以及
数据输出控制单元,具有根据安全信息,控制向外部空间的数据传送的功能;
其中,数据输出控制单元执行控制操作,以便根据设置在DMA中的安全信息的值,确定是否禁止将数据传送到外部空间。
10.一种用于访问包括用户存储空间和安全存储空间在内的存储空间的信息处理设备,包括:
安全信息产生单元,用于确定地址信息表示用户存储空间和安全存储空间中的哪一个,并将具有安全信息的数据传送到具有安全信息单元的通用寄存器,并将具有安全信息的指令传送到具有安全信息单元的指令解码器,其中所述通用寄存器具有接收和保存具有安全信息的数据的功能,所述指令解码器具有确定用户存储空间和安全存储空间中的哪一个与执行的指令相关的功能;
具有安全信息单元的运算单元,具有根据由指令解码器解码的指令,将指令解码器的安全信息反映到所执行的算术运算中的功能;以及
数据输出控制单元,具有根据安全信息,控制向外部空间的数据传送的功能;
其中,数据输出控制单元执行控制操作,以便根据设置在通用寄存器中的安全信息和设置在运算单元中的安全信息,确定是否禁止将数据传送到外部空间。
CNB2004100037337A 2003-02-04 2004-02-04 信息处理设备 Expired - Fee Related CN1252599C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003026810A JP4347582B2 (ja) 2003-02-04 2003-02-04 情報処理装置
JP2003026810 2003-02-04

Publications (2)

Publication Number Publication Date
CN1521638A CN1521638A (zh) 2004-08-18
CN1252599C true CN1252599C (zh) 2006-04-19

Family

ID=32954703

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100037337A Expired - Fee Related CN1252599C (zh) 2003-02-04 2004-02-04 信息处理设备

Country Status (3)

Country Link
US (1) US7523279B2 (zh)
JP (1) JP4347582B2 (zh)
CN (1) CN1252599C (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048643A (ja) * 2004-07-08 2006-02-16 Namco Ltd 端末装置、プログラム、情報記憶媒体およびデータ処理方法
US7496753B2 (en) * 2004-09-02 2009-02-24 International Business Machines Corporation Data encryption interface for reducing encrypt latency impact on standard traffic
US7457960B2 (en) * 2004-11-30 2008-11-25 Analog Devices, Inc. Programmable processor supporting secure mode
US7904943B2 (en) * 2004-12-28 2011-03-08 O'connor Dennis M Secure controller for block oriented storage
JP4850830B2 (ja) * 2005-06-01 2012-01-11 パナソニック株式会社 コンピュータシステム及びプログラム生成装置
JP4738068B2 (ja) * 2005-06-17 2011-08-03 富士通セミコンダクター株式会社 プロセッサ及びシステム
EP1986122A1 (fr) * 2007-04-23 2008-10-29 Stmicroelectronics Sa Unite de traitement securisee
WO2009028144A1 (ja) * 2007-08-30 2009-03-05 Panasonic Corporation Dma制御装置およびデータ転送方法
JP4976991B2 (ja) 2007-11-22 2012-07-18 株式会社東芝 情報処理装置、プログラム検証方法及びプログラム
JP5322620B2 (ja) 2008-12-18 2013-10-23 株式会社東芝 情報処理装置、プログラム開発システム、プログラム検証方法及びプログラム
JP2010160765A (ja) * 2009-01-09 2010-07-22 Oki Semiconductor Co Ltd システムlsi及びこのデバッグ方法
US20100324981A1 (en) * 2009-06-22 2010-12-23 Etchegoyen Craig S System and Method for Media Distribution on Social Networks
US8301856B2 (en) * 2010-02-16 2012-10-30 Arm Limited Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag
JP5171907B2 (ja) 2010-09-13 2013-03-27 株式会社東芝 情報処理装置、情報処理プログラム
US8943330B2 (en) * 2011-05-10 2015-01-27 Qualcomm Incorporated Apparatus and method for hardware-based secure data processing using buffer memory address range rules
CN102521535A (zh) * 2011-12-05 2012-06-27 苏州希图视鼎微电子有限公司 通过特定指令集来进行相关运算的信息安全协处理器
GB2513727B (en) * 2012-06-27 2015-06-24 Nordic Semiconductor Asa Memory protection
CN103942499B (zh) * 2014-03-04 2017-01-11 中天安泰(北京)信息技术有限公司 基于移动存储器的数据黑洞处理方法及移动存储器
CN103942492B (zh) * 2014-03-04 2016-09-21 中天安泰(北京)信息技术有限公司 单机版数据黑洞处理方法及计算设备
CN104408509A (zh) * 2014-08-27 2015-03-11 北京中电华大电子设计有限责任公司 一种增强智能卡芯片敏感操作安全启动的装置
JP7233961B2 (ja) * 2019-02-25 2023-03-07 シャープ株式会社 画像処理装置、画像形成装置、画像処理方法及び画像処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4523271A (en) * 1982-06-22 1985-06-11 Levien Raphael L Software protection method and apparatus
US4590552A (en) * 1982-06-30 1986-05-20 Texas Instruments Incorporated Security bit for designating the security status of information stored in a nonvolatile memory
JPH0353328A (ja) * 1989-07-20 1991-03-07 Hitachi Ltd レジスタ退避回復方法ならびに処理装置
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
JP3520102B2 (ja) * 1993-12-28 2004-04-19 株式会社東芝 マイクロコンピュータ
US5737760A (en) * 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JPH10228421A (ja) * 1997-02-14 1998-08-25 Nec Ic Microcomput Syst Ltd メモリアクセス制御回路
US6557104B2 (en) 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US7444476B2 (en) * 2001-07-24 2008-10-28 Texas Instruments Incorporated System and method for code and data security in a semiconductor device

Also Published As

Publication number Publication date
US20040187019A1 (en) 2004-09-23
US7523279B2 (en) 2009-04-21
CN1521638A (zh) 2004-08-18
JP4347582B2 (ja) 2009-10-21
JP2004240536A (ja) 2004-08-26

Similar Documents

Publication Publication Date Title
CN1252599C (zh) 信息处理设备
CN1189819C (zh) 抗干预微处理器
CN1656434A (zh) 用于解密已加密数据并在存储器空间中定位用于执行的解密数据的方法和设备
CN1266615C (zh) 微处理器
CN100351788C (zh) 嵌入式设备的驱动方法
CN1197014C (zh) 内部存储器型抗篡改处理器及保密方法
CN1947082A (zh) 控制对外设进行访问的方法和设备
CN1109983C (zh) 病毒清除方法和信息处理设备
CN1410876A (zh) 微处理机
CN1690971A (zh) 中断控制装置
CN101034424A (zh) 一种数据安全存储系统和装置及方法
CN1961275A (zh) 执行装置
CN1248106C (zh) 半导体集成电路装置
CN1758178A (zh) 非法分析/伪造预防系统
CN1871568A (zh) 程序执行设备
CN1630849A (zh) 安全执行模式下信任客户使用安全核心系统
CN1760836A (zh) 信息处理系统、信息处理方法和程序
CN1273902C (zh) 调试系统,微处理器,以及调试器
CN1795439A (zh) 计算机操作系统的安全系统与方法
CN1315062C (zh) 处理器装置、使用它的信息处理装置、编译装置及其方法
CN1684412A (zh) 利用安全散列演算法的装置与方法
CN1684050A (zh) 半导体装置和电子装置
CN1869952A (zh) 指令执行设备、调试方法、调试设备以及调试程序
CN101038489A (zh) 可编程控制器的编程设备
CN1771483A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060419

Termination date: 20180204

CF01 Termination of patent right due to non-payment of annual fee