CN101065737A - 处理器和安全处理*** - Google Patents

处理器和安全处理*** Download PDF

Info

Publication number
CN101065737A
CN101065737A CNA2005800406635A CN200580040663A CN101065737A CN 101065737 A CN101065737 A CN 101065737A CN A2005800406635 A CNA2005800406635 A CN A2005800406635A CN 200580040663 A CN200580040663 A CN 200580040663A CN 101065737 A CN101065737 A CN 101065737A
Authority
CN
China
Prior art keywords
fragment
information
safety
data
attribute
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
Application number
CNA2005800406635A
Other languages
English (en)
Other versions
CN100489818C (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.)
Godo Kaisha IP Bridge 1
Original Assignee
松下电器产业株式会社
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36498052&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101065737(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 松下电器产业株式会社 filed Critical 松下电器产业株式会社
Publication of CN101065737A publication Critical patent/CN101065737A/zh
Application granted granted Critical
Publication of CN100489818C publication Critical patent/CN100489818C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • G06F21/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2137Time limited access, e.g. to a computer or data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

对于在处理器(10)的命令高速缓存(102)和数据高速缓存(104)中存储的命令代码和数据,该处理器(10)在命令管理单元(103)和数据属性管理单元(105)中管理安全属性,该安全属性指明所述命令代码和数据是保密信息,并且还管理当所述命令代码和数据是保密信息时所使用的安全处理标识信息,该安全处理标识信息指明使用这些保密信息的安全处理。当工作模式从安全模式切换到正常模式时,仅由存储器无效单元(108)使该保密信息无效。这防止处于正常模式的处理器分析保密信息。

Description

处理器和安全处理***
技术领域
本发明涉及处理器和执行安全处理的***,并更具体地,涉及在***LSI中实现安全机制的技术。
背景技术
最近几年,数字AV装置执行各种类型处理,例如经由网络下载内容、并存储和重放内容。所以用于在这样的装置中保护内容版权的机制已变得很重要。
存在一种用于实现处理器中的安全性的技术的公开,作为在数字AV装置中实现内容版权保护的方法。下面描述该技术。
处理器内核包括用于执行许可管理、内容解密等的安全模式,并包括用于执行正常处理的正常模式,并且当执行处理时,在所述安全模式和正常模式之间彼此切换。当处理器存取例如外部存储器的具有安全资源的总线从模块时,处理器内核向总线接口发送指明该处理器内核以安全或正常模式工作的模式状态信号,并且总线接口将该模式状态信号所指明的模式附加到对总线从模块的存取请求上作为安全属性。因此,总线从模块判断该安全属性,并且如果该安全属性指明“安全”,则允许存取安全资源。
专利文献1:日本专利申请公开号2002-202720
发明内容
本发明解决的问题
在如上所述工作的同时、处理器内核在安全和正常模式之间切换的情况下,为了防止在安全模式中工作时已取出的指令代码和数据在正常模式中被处理器内核所分析,禁止所取出的指令代码和数据,由此在复原到正常模式之前处于不可读的条件。
然而,在安全模式中工作时所取出的所有指令代码和数据不一定都是需要保密的信息,而可能也包括可在正常模式中使用的信息。换言之,由于即使存在于指令高速缓存中并在安全模式中被取出的指令代码是也将在正常模式中使用的指令代码,该指令模块在模式切换期间也被禁止,在复原到正常模式之前,这样的指令代码不能被读取,并且发生高速缓存未命中(miss-hit)。因此在复原到正常模式之后,处理器的处理性能降低。
考虑到以上问题已提出了本发明,并且本发明的目的是提供一种安全处理***和处理器,其在工作的同时在安全模式和正常模式之间切换,并且在从安全模式复原到正常模式之后,处理器的处理性能不会降低。
解决问题的手段
为了达到以上目的,本发明是一种处理器,在工作期间,在利用安全信息和非安全信息执行处理的安全模式与利用非安全信息执行处理的正常模式之间进行切换,该处理器包括:内部存储器,可操作为在其中存储从外部存储器获取的多个安全信息片段和多个非安全信息片段、多个属性信息片段、和多个处理标识信息片段,所述多个属性信息片段中的每一个对应于所存储的不同信息片段,并指明对应信息片段是所述安全信息片段之一还是非安全信息片段之一,而所述多个处理标识信息片段中的每一个对应于所存储的安全信息片段中的不同片段,并指定在多个安全处理中的哪一个处理中将使用对应的安全信息片段;和禁止单元,可操作为在从安全模式切换到正常模式的切换之前,根据属性信息片段来在内部存储器中存储的多个安全信息片段和非安全信息片段中指定安全信息片段,并禁止所指定的安全信息片段。
发明效果
根据该结构,该处理器在复原到正常模式之前仅指定和禁止安全信息,由此在内部存储器中仅剩余非安全信息的情况下复原到正常模式。因此,在复原到正常模式之后,该处理器可使用在内部存储器中存储的非安全信息,而无需存取该外部存储器,由此使得该处理器能够继续处理,而不会发生处理性能的降低。
此外,该结构使得该处理器能够利用属性信息指定安全信息。而且,当返回到正常模式时,该处理器可指定安全信息,而无需执行复杂处理,因为该属性信息与该内部存储器中存储的信息相关联,并指明该信息是安全信息还是非安全信息。
此外,该结构使得处理器能够根据该处理指定信息执行安全处理。
本发明还是一种处理器,包括:内部存储器,可操作为在其中存储从外部存储器获取的多个安全指令代码片段和非安全指令代码片段;运行单元,可操作为对所述安全指令代码片段和非安全指令代码片段进行解码,并执行其运行;和总线存取控制单元,可操作为在由于该运行单元运行安全指令代码而使得总线存取成为必须的情况下,向该总线存取附加存取请求安全属性,该存取请求安全属性指明该总线存取与该安全指令代码的运行有关。
根据该结构,即使没有提供用于执行安全处理的安全模式,该处理器也能向总线从模块发布具有存取请求安全属性的总线存取,该存取请求安全属性指明该总线存取与安全处理的运行有关。具有安全资源的总线从模块具有这样的机制,其中只有当从作为总线主设备的处理器接收到指明安全性的存取请求安全属性时,才允许存取该安全资源。这使得不包括安全模式的处理器能够使用该外部总线从模块的安全资源。
这里,该内部存储器还在其中存储多个属性信息片段,所述多个属性信息片段中的每一个对应于所存储的不同的指令代码片段,并指明对应指令代码片段是所述安全指令代码片段之一还是所述非安全指令代码片段之一,和该总线存取控制单元可从内部存储器中所存储的安全指令代码片段和非安全指令代码片段中读取指令代码片段和对应属性信息片段,并将所读取的属性信息片段附加到总线存取上作为存取请求安全属性。
该结构使得该处理器能够利用该属性信息来确定要运行的指令代码是安全指令代码还是非安全指令代码。
这里,该内部存储器可以是这样的高速缓冲存储器,其管理高速缓存线单元中的信息,并可管理高速缓冲存储器的不同高速缓存线单元中的每一属性信息片段。
根据该结构,假定在高速缓存线单元中管理安全指令代码和非安全指令代码,该处理器可向与该指令代码的运行有关的总线存取附加存取请求安全属性,使得该指令代码保持真正保密。
这里,该内部存储器还可在其中存储有多个处理指定信息片段,所述多个处理指定信息片段中的每一个对应于所存储的安全指令代码片段中的不同片段,并用于指定将在多个安全处理中的哪个安全处理中使用对应的安全指令代码片段,和在从内部存储器中的安全指令代码片段中读取安全指令代码片段的情况下,该总线存取控制单元还连同对应的属性信息片段一起读取与所读取的安全指令代码片段对应的处理指定信息片段,并将所读取的属性信息片段和处理指定信息片段附加到总线存取上作为存取请求安全属性。
该结构使得该处理器能够根据该处理指定信息执行安全处理。
而且,本发明是一种安全处理***,包括:外部存储器,包括由多个副安全区域组成的安全区域,并可操作为存储多个安全信息片段和非安全信息片段,所述安全信息片段被存储在该安全区域中;存储器接口,包括读取单元,可操作为从该外部存储器中读取信息片段,位置信息存储单元,可操作为在其中存储用于指定每一副安全区域的位置的副安全区域位置信息,判断单元,可操作为根据该副安全区域位置信息,而判断该读取单元所读取的信息片段是安全信息片段之一还是非安全信息片段之一,并且如果所读取的信息片段是安全信息片段之一,还判断该信息片段是从哪个副安全区域中读取的,和属性信息生成单元,可操作为如果已经判断出所读取的信息片段是安全信息片段之一,则生成用于指明安全性的属性信息,并且生成用于指定其中存储了所读取的信息片段的副安全区域的指定信息,并且如果已经判断出所读取的信息片段是非安全信息片段之一,则生成用于指明不安全性的属性信息;和处理器,在工作期间,在利用安全信息和非安全信息执行处理的安全模式与利用非安全信息执行处理的正常模式之间进行切换,该处理器包括内部存储器,可操作为在其中存储从外部存储器获取的多个安全信息片段和多个非安全信息片段,和禁止单元,可操作为在从安全模式切换到正常模式的切换之前,通过参考从存储器接口接收的属性信息来在内部存储器中存储的多个安全信息片段和非安全信息片段中指定安全信息片段,并禁止所指定的安全信息片段。
根据该结构,该处理器在复原到正常模式之前仅指定和禁止安全信息,由此在内部存储器中仅剩余非安全信息的情况下复原到正常模式。因此,在复原到正常模式之后,该处理器可使用在内部存储器中存储的非安全信息,而无需存取该外部存储器,由此使得该处理器能够继续处理,而不会发生处理性能的降低。
此外,该结构使得存储器接口能够容易地区分安全信息和非安全信息,因为安全信息在外部存储器上的存储位置是预先已知的。
此外,根据该结构,该处理器可根据存储器接口生成的用于指定副安全区域的信息,而识别出将在那个安全处理中使用该信息,因为该外部存储器的安全区域包括多个副安全区域,并且将在指定安全处理中使用的指令代码和数据片段被存储在不同副安全区域中。
而且,本发明是一种安全处理***,包括:外部存储器,可操作为在其中存储多个安全指令代码片段、安全数据片段、非安全指令代码片段、和非安全数据片段;存储器接口,可操作为从该外部存储器中读取指令代码片段,判断所读取的指令代码片段是安全指令代码片段之一还是非安全指令代码片段之一,根据判断结果生成属性信息,并将所读取的指令代码片段和所生成的属性信息输出到处理器;和该处理器包括内部存储器,可操作为在其中存储有从外部存储器获取的所述多个安全指令代码片段和非安全指令代码片段,运行单元,可操作为对所述安全指令代码片段和非安全指令代码片段进行解码,并执行其运行;和总线存取控制单元,可操作为在由于该运行单元运行安全指令代码而使得总线存取成为必须的情况下,向该总线存取附加存取请求安全属性,该存取请求安全属性指明该总线存取与该安全指令代码的运行有关。
根据该结构,即使不提供用于执行安全处理的安全模式,该处理器也能向总线从模块发布具有存取请求安全属性的总线存取,该存取请求安全属性指明该总线存取与安全处理的运行有关。具有安全资源的总线从模块具有这样的机制,其中只有当从作为总线主设备的处理器接收到指明安全性的存取请求安全属性时,才允许存取该安全资源。这使得不包括安全模式的处理器能够使用该外部总线从模块的安全资源。
这里,该外部存储器可包括由多个副安全区域组成的安全区域,并在该安全区域中存储安全指令代码片段和安全数据片段,并且该存储器接口可包括读取单元,可操作为从该外部存储器中读取指令代码片段,位置信息存储单元,可操作为在其中存储用于指定每一副安全区域的位置的副安全区域位置信息,判断单元,可操作为根据该安全区域位置信息,而判断该读取单元所读取的指令代码片段是安全指令代码片段之一还是非安全指令代码片段之一,并且如果所读取的指令代码片段是安全指令代码片段之一,还判断该指令代码片段是从哪个副安全区域中读取的,和属性信息生成单元,可操作为如果已经判断出所读取的指令代码片段是安全指令代码片段之一,则生成用于指明安全性的属性信息,并且生成用于指定其中存储了所取的指令代码片段的副安全区域的指定信息,并且如果已经判断出所读取的指令代码片段是非安全指令代码片段之一,则生成用于指明不安全性的属性信息。
该结构使得存储器接口能够容易地区分安全指令代码和非安全指令代码,因为安全指令代码在外部存储器上的存储位置是预先已知的。
此外,根据该结构,该处理器可根据存储器接口生成的用于指定副安全区域的信息,而识别出将在那个安全处理信息中使用该信息,因为该外部存储器的安全区域包括多个副安全区域,并且将在指定安全处理中使用的指令代码和数据片段被存储在不同副安全区域中。
附图说明
图1示出了安全处理***1的结构;
图2示出了指令高速缓存102;
图3示出了由指令属性管理单元103管理的属性管理表130的数据结构;
图4示出了在由存储器禁止单元108执行禁止处理之后的指令高速缓存102;
图5示出了由总线40在处理器10的总线接口109和存储器接口20之间传送和接收的数据;
图6示出了存储器接口20的功能结构;
图7是示出了在安全处理***1中的处理器内核101的操作的流程图;
图8是示出了和处理器内核101执行的指令取出有关的安全处理***1的总体操作的流程图,后接图9;
图9是示出了和处理器内核101执行的指令取出有关的安全处理***1的总体操作的流程图,前接图8;
图10是示出了在存储器接口20中的读取数据安全属性生成处理的操作的流程图;
图11是示出了和处理器内核101执行的指令取出有关的安全处理***1的总体操作的流程图,后接图12;
图12是示出了和处理器内核101执行的指令取出有关的安全处理***1的总体操作的流程图,前接图11;
图13是示出了从安全模式复原到正常模式的处理的操作的流程图;
图14示出了安全处理***2的结构;
图15是示出了安全处理***2的总体操作的流程图;
图16是示出了和处理器内核101a执行的指令取出有关的安全处理***2的总体操作的流程图;
图17是示出了和处理器内核101a执行的数据取出有关的安全处理***2的总体操作的流程图,后接图18;
图18是示出了和处理器内核101a执行的数据取出有关的安全处理***2的总体操作的流程图,前接图17;
图19是示出了安全模块60a的操作的流程图;和
图20图示了利用安全模块60a的具体示例的总线存取和安全属性。
附图标记描述
1    安全处理***
2    安全处理***
10   处理器
10a  处理器
20   存储器接口
20a  存储器接口
30   存储器
30a  存储器
40   总线
40a  总线
50a  总线
60a  安全模块
具体实施方式
下面参考附图来详细描述本发明的实施例。
实施例1
下面描述作为与本发明有关的实施例1的安全处理***1。
结构
图1示出了安全处理***1的结构。如图所示,安全处理***1包括处理器10、存储器接口20、存储器30、和总线40。安全处理***1特别安装在AV装置等之中。
1.处理器10
图1示出了处理器10的功能结构。如图所示,处理器10包括处理器内核101、指令高速缓存102、指令属性管理单元103、数据高速缓存104、数据属性管理单元105、指令存取确定单元106、数据存取确定单元107、存储器禁止单元108、和总线接口109。
(1)处理器内核101
处理器内核101具有两个工作模式,即正常模式和安全模式,并在执行处理的同时在这两个工作模式之间切换。安全模式是这样的模式,其中处理器10执行例如加密/解密处理、许可处理等的安全处理。另一方面,正常模式是其中处理器10执行所有其他非安全处理的模式。应注意,由于可通过先前已知的技术实现用于执行安全处理的安全模式,所以已省略了用于实现安全模式的技术的细节。
如图1所示,处理器内核101包括指令取出单元110、解码单元111、控制单元112、运算单元113、和存储器管理单元114。
指令取出单元110从控制单元112周期性地接收示出处理器内核101的工作模式的信号。指令取出单元110也向指令存取确定单元106发布指明取出指令代码的指令、包括指令代码的地址的存取请求、和存取请求安全属性。根据处理器内核101的工作模式生成该存取请求安全属性。特别是,当从控制单元112接收的工作模式指明信号指明“正常模式”时,指令取出单元110生成“正常”作为该存取请求安全属性,并且当从控制单元112接收的信号指明“安全模式”时,指令取出单元110生成“安全”作为该存取请求安全属性。
指令取出单元110还从存储器30或指令高速缓存102获取指令代码,并在预取队列中存储所获取的指令代码。应注意,存在将安全处理标识信息附加到指令取出单元110所获取的指令代码的情况。该安全处理标识信息指明在哪种类型安全处理中将使用所获取的指令代码。经由控制单元112向运算单元113通知附加到该指令代码的安全处理标识信息。
解码单元111包括解码器和指令队列。解码器从指令取出单元110的预取队列中读取指令代码,解码所读取的指令代码以生成低级码(low-levelcode)。指令队列存储所生成的低级码,直到从控制单元112接收到请求为止。
控制单元112从指令队列接收该低级码,对所接收的低级码进行解释,并将指令发送到处理器内核101的单元。
控制单元102也管理处理器内核101工作于安全模式还是正常模式,并将指明工作模式的信号周期性地输出到指令取出单元110和存储器管理单元114。此外,在处理器内核101的工作模式从安全模式切换到正常模式的情况下,控制单元112经由存储器管理单元114向存储器禁止单元108通知从安全模式到正常模式的复原。控制单元112一旦经由存储器管理单元114从存储器禁止单元108接收到已完成对高速缓存执行的禁止处理的通知,就将工作模式从安全模式切换到正常模式。
运算单元113运行指令并执行算术运算和逻辑运算。如果当运行指令时请求数据取出,则运算单元113计算地址,并将所计算的地址输出到存储器管理单元114。
应注意,如果将安全处理标识信息附加到运算单元113所获取的数据和指令代码上,则运算单元113基于所附加的安全处理标识信息而执行处理。特别是,在本实施例中,安全处理标识信息是值1或2,其中附加了值1的指令代码和数据将用于许可管理处理,而附加了值2的指令代码和数据将用于密钥生成处理。
存储器管理单元114从控制单元112周期性地接收指明处理器内核101的工作模式的信号。而且,一旦从运算单元113接收到数据地址,存储器管理单元114就向数据存取确定单元107发布指明数据取出的指令、包括数据地址的存取请求、和存取请求安全属性。根据处理器内核101的工作模式生成该存取请求安全属性。特别是,当从控制单元112接收的工作模式指明信号指明“正常模式”时,存储器管理单元114生成“正常”作为该存取请求安全属性,并且当从控制单元112接收的信号指明“安全模式”时,存储器管理单元114生成“安全”作为该存取请求安全属性。
存储器管理单元114还从存储器30或数据高速缓存104获取数据,并向运算单元113输出所获取的数据。应注意,存在其中将安全处理标识信息附加到存储器管理单元114所获取的数据的情况。该安全处理标识信息指明在哪种类型安全处理中将使用所获取的数据。
(2)指令高速缓存102
指令高速缓存102是由SRAM(静态RAM)构成的高速/低容量存储器,并存储从存储器30发送的指令代码。这里,指令代码包括安全指令代码和非安全指令代码,稍后将描述其细节。应注意,在本实施例中,指令高速缓存102包括高速缓存控制器。
图2示出了在处理器内核101工作于安全模式的情况下的指令高速缓存102。如图所示,在指令高速缓存102中,在线0中存储code_0,在线1中存储code_1,在线2中存储code_2,在线3中存储code_3,在线4中存储code_4,在线5中存储code_5,在线6中存储code_6,在线7中存储code_7。此外,如图所示,与地址相关联地管理从code_0到code_7的指令代码。
利用处理器内核101所执行的每一指令取出,指令高速缓存102从存储器30接收指令代码,并从存储器接口20接收读取数据安全属性。而且,一旦从存储器30接收到指令代码,指令高速缓存102就将对应的地址和读取数据安全属性输出到指令属性管理单元103。
(3)指令属性管理单元103
指令属性管理单元103管理在指令高速缓存102的每一高速缓存线中存储的指令代码的读取数据安全属性。
图3示出了当指令高速缓存102处于图2所示条件时、由指令属性管理单元103存储的属性管理表130的具体示例。如图所示,属性管理表130包括8个属性管理信息片段,每一属性管理信息片段对应于指令高速缓存102的不同高速缓存线,并且每一属性管理信息片段包括地址和读取数据安全属性。此外,每一读取数据安全属性包括安全属性和安全处理标识信息。
所述地址对应于在指令高速缓存102中存储的指令代码的地址。
每一安全属性被设置为“安全”或“正常”,其中“安全”指明安全指令代码,而“正常”指明非安全指令代码。这里,“安全指令代码”指的是仅当处理器内核101工作于安全模式时所使用的保密指令代码,而“非安全指令代码”指的是不管处理器内核101的工作模式所使用的非保密指令代码。
对于安全属性为“安全”的指令代码,安全处理保密信息被设置为值1或2,其中1指明处理器10将在许可管理处理中使用的指令代码,而2指明处理器10将在密钥生成处理中使用的指令代码。
具体来说,属性管理信息片段131对应于指令高速缓存102的线0,并指明地址“0x8000AAA0”所标识的code_0是将在许可管理处理中使用的安全指令代码。
属性管理信息片段132对应于指令高速缓存102的线1,并指明地址“0x80001000”所标识的code_1是非安全指令代码。
属性管理信息片段133对应于指令高速缓存102的线2,并指明地址“0x8000BBB0”所标识的code_2是将在许可管理处理中使用的安全指令代码。
属性管理信息片段134对应于指令高速缓存102的线3,并指明地址“0x80003000”所标识的code_3是非安全指令代码。
属性管理信息片段135对应于指令高速缓存102的线4,并指明地址“0x80004000”所标识的code_4是非安全指令代码。
属性管理信息片段136对应于指令高速缓存102的线5,并指明地址“0x8000CCC0”所标识的code_5是将在密钥生成处理中使用的安全指令代码。
属性管理信息片段137对应于指令高速缓存102的线6,并指明地址“0x80006000”所标识的code_6是非安全指令代码。
属性管理信息片段138对应于指令高速缓存102的线7,并指明地址“0x8000FFF0”所标识的code_7是将在密钥生成处理中使用的安全指令代码。
通过处理器内核101所执行的指令取出进行的指令高速缓存102的每一更新,指令属性管理单元103生成新属性管理信息,在属性管理表130中注册所生成的属性管理信息,并更新该属性管理表130。
(4)数据高速缓存104
与指令高速缓存102类似,数据高速缓存104由SRAM构成的高速/低容量存储器,并存储从存储器30发送的数据。应注意,与指令代码类似,数据包括安全数据和非安全数据。
(5)数据属性管理单元105
数据属性管理单元105管理在数据高速缓存104的每一高速缓存线中存储的数据的读取数据安全属性。
特别是,与指令属性管理单元103类似,数据属性管理单元105管理包括多个属性管理信息片段的属性管理表,每一属性管理信息片段对应于数据高速缓存104的不同线。每一属性管理信息片段包括地址以及由安全属性和安全处理标识信息组成的读取数据安全属性。
所述地址对应于数据高速缓存104中存储的数据的地址。
每一安全属性被设置为“安全”或“正常”,其中“安全”指明安全数据,而“正常”指明非安全数据。这里,“安全数据”指的是仅当处理器内核101工作于安全模式时所使用的保密数据,而“非安全数据”指的是不管处理器内核101的工作模式所使用的非保密数据。
对于安全属性为“安全”的数据,安全处理标识信息被设置为值1或2,其中1指明处理器10将在许可管理处理中使用的数据,而2指明处理器10将在密钥生成处理中使用的数据。
利用由处理器内核101执行的数据取出进行的数据高速缓存104的每次更新,数据属性管理单元105生成新属性管理信息,在属性管理表中注册所生成的属性管理信息,并更新该属性管理表。
(6)指令存取确定单元106
指令存取确定单元106判断在处理器内核101的指令取出单元110所执行的指令代码取出处理中存在高速缓存命中的指令代码、在高速缓存命中时在处理器内核101的工作模式中是否是可读的。
具体来说,仅当处理器内核101工作于安全模式时,才可读取安全指令代码。另一方面,无论处理器内核101工作于安全模式还是正常模式,都可读取非安全指令代码。
因此,指令存取确定单元106相对于存在高速缓存命中的指令代码而参考由指令属性管理单元103管理的属性管理信息,并判断在这样的指令代码的读取数据安全属性中包括的安全属性指明“安全”还是“正常”。指令存取确定单元106还判断从处理器内核101输出的存取请求安全属性被设置为“安全”还是“正常”。指令存取确定单元106根据两个判断结果而执行前述指令代码可读性确定。
(7)数据存取确定单元107
数据存取确定单元107判断在处理器内核101的存储器管理单元114所执行的数据取出处理中存在高速缓存命中的数据、在高速缓存命中时在处理器内核101的工作模式中是否是可读的。
具体来说,仅当处理器内核101工作于安全模式时,才可读取安全数据。另一方面,无论处理器内核101工作于安全模式还是正常模式,都可读取非安全数据。
因此,与指令存取确定单元106类似,数据存取确定单元107基于数据属性管理单元105管理的读取数据安全属性和指明处理器内核101的工作模式的存取请求安全属性而执行前述数据可读性确定。
(8)存储器禁止单元108
在处理器内核101的工作模式从安全模式切换到正常模式时,存储器禁止单元108保护指令高速缓存102所保持的安全指令代码和数据高速缓存104所保持的安全数据。
更具体地,一旦从处理器内核101的存储器管理单元114接收到指明处理器内核101的工作模式将从安全模式切换到正常模式的信号,存储器禁止单元108就参考指令属性管理单元103所管理的属性管理表130,并查找(finds)存储了其安全属性被设置为“安全”的指令代码的高速缓存线。根据图3所示的属性管理表130,存储器禁止单元108检测到高速缓存102的线0、线2、线5、和线7存储了安全指令代码,因为所述多个属性管理信息片段131、133、136和138全部包括指明“安全”的安全属性。存储器禁止单元108禁止在所找到的高速缓存线中存储的指令代码。这里,指令代码的禁止指的是禁止由处理器内核101对其进行存取,并且指令代码的禁止包括例如丢弃指令代码或者向高速缓存线写入“0”的方法。对于禁止方法没有限制,并且可使用其他方法。
图4示出了其中存储器禁止单元108已仅禁止了安全指令代码的指令高速缓存102的条件。图4所示指令高速缓存102以可读取条件存储其对应安全属性全部被设置为“正常”的code_1、code_3、code_4和code_6。
存储器禁止单元108对数据高速缓存104执行与指令高速缓存102类似的处理。存储器禁止单元108查找存储了其安全属性被设置为“安全”的数据的高速缓存线,并禁止在所找到的高速缓存线中存储的数据。
一旦完成了对指令高速缓存102和数据高速缓存104执行的禁止处理,存储器禁止单元108就将完成通知输出到处理器内核101。
(9)总线接口109
总线接口109控制处理器101对总线40的存取。
2.总线40
总线40是在处理器10和存储器接口20之间的通信路径。
图5示出了通过总线40传送和接收的信息。如图所示,经由总线40从处理器10的总线接口109向存储器接口20传送写入数据、指令、存取请求、和存取请求安全属性。而且,经由总线40从存储器接口20向处理器10的总线接口109传送读取数据和读取数据安全属性。
3.存储器30
存储器30是由SDRAM构成的存储设备,并且如图1所示,包括安全区域1(3001)和安全区域2(3002)。安全区域1(3001)是存储了在处理器10执行的许可管理处理中使用的保密指令代码和保密数据的区域。安全区域2(3002)是存储了在处理器10执行的密钥生成处理中使用的保密指令代码和保密数据的区域。应注意,本实施例中的安全区域1(3001)和安全区域2(3002)例如被固定为具有从0x8000AAA0到0x8000FFFF的地址的区域。
4.存储器接口20
存储器接口20控制对存储器30的外部存取。
图6是示出了存储器接口20的功能结构的功能框图。如图所示,存储器接口20包括总线主控器标识单元201、安全区域管理单元202、可存取性确定单元203、存取单元204、和读取数据安全属性生成单元205。
(1)总线主控器标识单元201
总线主控器标识单元201从处理器10接收存取请求和存取请求安全属性。应注意,在本实施例中,尽管处理器10被提及为总线主控器,但是总线主控器标识单元201可标识除了处理器10之外的两个或多个总线主控器,如果从这样的总线主控器接收到对存储器30的存取请求的话。可为总线主控器提供专用端口,作为其标识方法。
总线主控器标识单元201将所接收的存取请求和存取请求安全属性输出到可存取性确定单元203。
(2)安全区域管理单元202
安全区域管理单元202存储作为指定安全区域1(3001)的信息的安全区域1开始地址和安全区域1结束地址,并且还存储作为指定安全区域2(3002)的信息的安全区域2开始地址和安全区域2结束地址。
(3)可存取性确定单元203
一旦从总线主控器标识单元201接收到存取请求和存取请求安全属性,可存取性确定单元201就从存取请求中提取存取请求目的地址。可存取性确定单元203基于存取请求安全属性、存取请求目的地址、和在安全区域管理单元202中存储的信息,而判断处理器10是否可存取该存取请求目的地址。稍后描述该确定的细节。
如果处理器10确定该存取请求目的地址是可存取的,则可存取性确定单元203将该存取请求目的地址输出到存取单元204。如果处理器10确定该存取请求目的地址不是可存取的,则可存取性确定单元203结束处理。
(4)存取单元204
存取单元204从可存取性确定单元203接收存取请求目的地址,并从存储器30中由所接收的存取请求目的地址所指明的位置处读取指令代码或数据。存取单元204将所读取的指令代码或数据(称为“读取数据”)连同存取目的地址一起输出到读取数据安全属性生成单元205。应注意,存取目的地址是指明所读取的指令代码的存储地点的地址,并且与从可存取性确定单元203接收的存取请求目的地址相同。
(5)读取数据安全属性生成单元205
一旦从存取单元204接收到该读取数据和该存取目的地址,读取数据安全属性生成单元205就读取在安全区域管理单元202中存储的安全区域1开始地址、安全区域1结束地址、安全区域2开始地址、和安全区域2结束地址。
读取数据安全属性生成单元205基于从安全区域管理单元202读取的地址和从存取单元204接收的存取目的地址,而确定是从安全区域1(3001)、安全区域2(3002)、还是另一区域读取了该读取数据。
如果已从安全区域1(3001)读取了该读取数据,则读取数据安全属性生成单元205将安全属性设置为“安全”,将安全处理标识信息片段设置为1,并经由总线40将该读取数据以及由设置为“安全”的安全属性和设置为1的安全处理标识信息组成的读取数据安全属性发送到处理器10。
如果已从安全区域2(3002)读取了该读取数据,则读取数据安全属性生成单元205将安全属性设置为“安全”,将安全处理标识信息片段设置为2,并经由总线40将该读取数据以及由设置为“安全”的安全属性和设置为2的安全处理标识信息组成的读取数据安全属性发送到处理器10。
如果已从除了安全区域1(3001)和安全区域2(3002)之外的区域读取了该读取数据,则读取数据安全属性生成单元205将安全属性设置为“正常”,并经由总线40将该读取数据以及设置为“正常”的安全属性发送到处理器10,而不将安全处理标识信息片段设置为任何值。
操作
下面参考图7到图13所示的流程图来描述安全处理***1的操作。
这里,首先描述安全处理***1中的处理器内核101的操作,因为处理器10的其他构成元件的操作、以及作为安全处理***1的其他构成元件的存储器接口20、存储器30和总线40的操作都是根据处理器内核101的操作而确定的。下面描述基于处理器内核101的操作而进行的其他构成元件的操作。
1.处理器内核101的操作
图7是示出了处理器内核101的操作的流程图。
在正常模式中工作的同时,处理器内核101判断是否已接收到切换到安全模式的请求,并且如果还没有接收到这样的请求(步骤S101:否),则处理器内核101以正常模式执行步骤S102到步骤S107的操作。
首先,指令取出单元110取出指令代码(步骤S102),并将所取出的指令代码存储在预取队列中。
解码单元111从预取队列中恢复指令代码,并将所恢复的指令代码转换为低级码。将得到的低级码存储在指令队列中。控制单元112从该指令队列中接收该低级码,并解释所接收的低级码(步骤S103)。
运算单元113从寄存器堆中读取寄存器操作数(步骤S104)。运算单元113移位该操作数并生成ALU结果。如果该指令是装载或存储,则运算单元113通过计算存储地址等来运行该指令(步骤S105)。
如果数据存取是必须的,则存储器管理单元114存取数据高速缓存104或存储器30,并读取其中的数据(步骤S106)。
运算单元113然后将从数据高速缓存104或存储器30装载的数据和该指令生成的结果写回到寄存器堆中(步骤S107),并且处理器内核101返回到步骤S101并从那里开始继续处理。
如果在步骤S101中接收到从正常模式切换到安全模式的请求(步骤S101:是),则处理器内核101从正常模式切换到安全模式,并以安全模式执行从步骤S111到步骤S116的操作。
首先,指令取出单元110取出指令代码(步骤S111),并将取出的指令代码存储在预取队列中。
解码单元111从预取队列中恢复指令代码,并将所恢复的指令代码转换为低级码。将得到的低级码存储在指令队列中。控制单元112从该指令队列中接收该低级码,并解释所接收的低级码(步骤S112)。
运算单元113从寄存器堆中读取寄存器操作数(步骤S113)。运算单元113移位该操作数并生成ALU结果。如果该指令是装载或存储,则运算单元113通过计算存储地址等来运行该指令(步骤S114)。
如果数据存取是必须的,则存储器管理单元114存取数据高速缓存104或存储器30,并读取其中的数据(步骤S115)。
运算单元113然后将从数据高速缓存104或存储器30装载的数据和该指令生成的结果写回到寄存器堆中(步骤S116)。
其后,处理器内核101在安全模式中工作的同时,判断是否已接收到从安全模式复原到正常模式的请求(步骤S117)。如果还没有接收到复原到正常模式的请求(步骤S117:否),则处理器内核101返回到步骤S111并从那里开始继续处理。
如果已经接收到复原到正常模式的请求(步骤S117:是),则处理器内核101执行复原处理(步骤S118),返回到步骤S101,并从那里开始继续处理。
2.指令取出处理
图8和图9是示出了和处理器内核101执行的指令取出一同发生的安全处理***1的总体操作的流程图。
处理器内核101的指令取出单元110发布存取请求和存取请求安全属性(步骤S201),而指令存取确定单元106接收所发布的存取请求和存取请求安全属性(步骤S202)。
指令高速缓存102经由指令存取确定单元106接收该存取请求,并判断已请求存取的指令代码是否被存储在指令高速缓存102中(步骤S203)。
在高速缓存未命中的情况下(步骤S204:否),处理移动到步骤S211并从那里继续。在高速缓存命中的情况下(步骤S204:是),指令存取确定单元106从指令属性管理单元103所管理的属性管理表130中读取与存取目的地高速缓存线对应的读取数据安全属性中包括的安全属性。指令存取确定单元106判断所读取的安全属性被设置为“安全”还是“正常”。
如果安全属性被设置为“正常”(步骤S205:否),则处理移动到步骤S208。如果安全属性被设置为“安全”(步骤S205:是),则指令存取确定单元106判断在步骤S202中接收的存取请求安全属性被设置为“安全”还是“正常”。
如果存取请求安全属性被设置为“正常”(步骤S206:否),则安全处理***1结束处理。如果存取请求安全属性被设置为“安全”(步骤S206:是),则指令高速缓存102从存取目的地高速缓存线中读取指令代码,并还从指令属性管理单元103中读取与存取目的地高速缓存线对应的读取数据安全属性中包括的安全处理标识信息(步骤S207)。指令高速缓存102经由指令存取确定单元106向处理器内核101发送读取的指令代码、或指令代码和安全处理标识信息(步骤S208)。
在步骤S204中的否的情况下,经由总线40从总线接口109向存储器接口20发送存取请求和存取请求安全属性(步骤S211)。存储器接口20的可存取性确定单元203经由总线主控器标识单元201接收存取请求和存取请求安全属性。
可存取性确定单元203从存取请求中提取存取请求目的地址(步骤S212),并且还从安全区域管理单元202获取安全区域1开始地址、安全区域1结束地址、安全区域2开始地址、和安全区域2结束地址。
可存取性确定单元203判断该存取请求目的地址是否指明存储器30的安全区域1(3001)或安全区域2(3002)。如果该存取请求目的地址指明除了安全区域1(3001)和安全区域2(3002)之外的区域(步骤S213:否),则处理移动到步骤S215。如果该存取请求目的地址指明安全区域1(3001)或安全区域2(3002)(步骤S213:是),则可存取性确定单元203判断该存取请求安全属性被设置为“安全”还是“正常”。
如果该存取请求安全属性被设置为“正常”(步骤S214:否),则安全处理***1结束处理,因为拒绝了处理器内核101对存取请求目的地的存取。如果该存取请求安全属性被设置为“安全”(步骤S214:是),则可存取性确定单元203将存取请求目的地址输出到存取单元204。
存取单元204存取存储器30中由存取请求目的地址指明的位置,并读取该存取位置处的指令代码(步骤S215)。一旦读取了指令代码,存取单元204就将所读取的指令代码的存取目的地址输出到读取数据安全属性生成单元205。该存取目的地址是指明指令代码的存储地点的地址,并因此存取单元204输出从可存取性确定单元203接收的存取请求目的地址作为存取目的地址。
其后,读取数据安全属性生成单元205生成读取数据安全属性(步骤S216),并将指令代码和生成的读取数据安全属性发送到处理器10(步骤S217)。
处理器内核101的指令取出单元110获取所发送的指令代码(步骤S218),并且指令高速缓存102也获取所发送的指令代码(步骤S219)。应注意,如果将安全处理标识信息附加到从存储器接口20获取的读取数据安全属性上,则指令取出单元110在步骤S218连同指令代码一起获取安全处理标识信息。
指令属性管理单元103获取读取数据安全属性,并在属性管理表130中管理所获取的读取数据安全属性(步骤S220)。
3.读取数据属性生成处理
图10是示出了由存储器接口20的读取数据安全属性生成单元205执行的读取数据安全属性生成处理的操作的流程图。应注意这里所示操作是图9的步骤S216的细节。
读取数据安全属性生成单元205从存取单元204获取该读取数据和存取目的地址(步骤S231)。这里。读取数据指的是存取单元204已从存储器30中读取的指令代码和数据。
接下来,读取数据安全属性生成单元205从安全区域管理单元202获取安全区域1开始地址、安全区域1结束地址、安全区域2开始地址、和安全区域2结束地址(步骤S232)。读取数据安全属性生成单元205判断存取目的地址指明安全区域1(3001)、安全区域2(3002)、还是另一区域(步骤S233)。
如果存取目的地址指明除了安全区域1(3001)和安全区域2(3002)之外的区域(步骤S233:否),则读取数据安全属性生成单元205将安全属性设置为“正常”(步骤S235)。如果存取目的地址指明安全区域1(3001)或安全区域2(3002)(步骤S233:是),则读取数据安全属性生成单元205将安全属性设置为“安全”(步骤S234)。
此外,如果存取目的地址指明安全区域1(3001)(步骤S236:1),则读取数据安全属性生成单元205将安全处理标识信息设置为1(步骤237);而如果存取目的地址指明安全区域2(3002)(步骤S236:2),则读取数据安全属性生成单元205将安全处理标识信息设置为2(步骤238)。
4.数据取出处理
图11和图12是示出了与处理器内核101执行的指令取出一同发生的安全处理***1的总体操作的流程图。
处理器内核101的存储器管理单元114发布存取请求和存取请求安全属性(步骤S301),而数据存取确定单元107接收所发布的存取请求和存取请求安全属性(步骤S302)。
数据高速缓存104经由数据存取确定单元107接收存取请求,并判断已请求存取的数据是否被存储在数据高速缓存104中(步骤S303)。
在高速缓存未命中的情况下(步骤S304:否),处理移动到步骤S311并从那里继续。在高速缓存命中的情况下(步骤S304:是),数据存取确定单元107从数据属性管理单元105所管理的属性管理表中读取与存取目的地高速缓存线对应的读取数据安全属性中包括的安全属性。数据存取确定单元107判断所读取的安全属性被设置为“安全”还是“正常”。
如果安全属性被设置为“正常”(步骤S305:否),则处理移动到步骤S307。如果安全属性被设置为“安全”(步骤S305:是),则数据存取确定单元107判断在步骤S302中接收的存取请求安全属性被设置为“安全”还是“正常”。
如果存取请求安全属性被设置为“正常”(步骤S306:否),则安全处理***1结束处理。如果存取请求安全属性被设置为“安全”(步骤S306:是),则数据高速缓存104从存取目的地高速缓存线中读取数据,并还从数据属性管理单元105中读取与存取目的地高速缓存线对应的读取数据安全属性中包括的安全处理标识信息(步骤S307)。数据高速缓存104经由数据存取确定单元107向处理器内核101发送该读取数据、或数据和安全处理标识信息(步骤S308)。
在步骤S304中的否的情况下,经由总线40从总线接口109向存储器接口20发送存取请求和存取请求安全属性(步骤S311)。存储器接口20的可存取性确定单元203经由总线主控器标识单元201接收存取请求和存取请求安全属性。
可存取性确定单元203从存取请求中提取存取请求目的地址(步骤S312),并且还从安全区域管理单元202获取安全区域1开始地址、安全区域1结束地址、安全区域2开始地址、和安全区域2结束地址。
可存取性确定单元203判断该存取请求目的地址是否指明存储器30的安全区域1(3001)或安全区域2(3002)。如果该存取请求目的地址指明除了安全区域1(3001)和安全区域2(3002)之外的区域(步骤S313:否),则处理移动到步骤S315。如果该存取请求目的地址指明安全区域1(3001)或安全区域2(3002)(步骤S313:是),则可存取性确定单元203判断该存取请求安全属性被设置为“安全”还是“正常”。
如果该存取请求安全属性被设置为“正常”(步骤S314:否),则安全处理***1结束处理,因为拒绝了处理器内核101对存取请求目的地的存取。如果该存取请求安全属性被设置为“安全”(步骤S314:是),则可存取性确定单元203将存取请求目的地址输出到存取单元204。
存取单元204对存储器30中由存取请求目的地址指明的位置进行存取,并读取该存取位置处的数据(步骤S315)。一旦读取了数据,存取单元204就将该读取数据和该读取数据的存取目的地址输出到读取数据安全属性生成单元205。该存取目的地址是指明数据的存储地点的地址,并因此存取单元204输出从可存取性确定单元203接收的存取请求目的地址作为存取目的地址。
其后,读取数据安全属性生成单元205生成读取数据安全属性(步骤S316),并将数据和生成的读取数据安全属性发送到处理器10(步骤S317)。
处理器内核101的运算单元113经由存储器管理单元114获取所发送的数据(步骤S318),并且数据高速缓存104也获取所发送的数据(步骤S319)。应注意,如果将安全处理标识信息附加到从存储器接口20获取的读取数据安全属性上,则运算单元113在步骤S318连同数据一起获取安全处理标识信息。
数据属性管理单元105获取读取数据安全属性,并在属性管理表中管理所获取的读取数据安全属性(步骤S320)。
5.复原处理
图13是示出了与处理器内核101从安全模式复原到正常模式时执行的复原处理一同发生的安全处理***1的总体操作的流程图。
处理器内核101向存储器禁止单元108发送从安全模式复原到正常模式的通知(步骤S401)。存储器禁止单元108从处理器内核101接收该通知。
接下来,存储器禁止单元108对于每一高速缓存重复步骤S402到步骤S408的处理。具体来说,存储器禁止单元108对于指令高速缓存102和数据高速缓存104重复步骤S402到步骤S408的处理。
接下来,存储器禁止单元108对于每一高速缓存线重复步骤S403到步骤S407的处理。存储器禁止单元108参考指令属性管理单元103和数据属性管理单元105,并判断在作为目标的高速缓存线的读取数据安全属性中包括的相应安全属性被设置为“安全”还是“正常”(步骤S405)。如果安全属性被设置为“正常”(步骤S405:否),则处理移动到步骤S407。如果安全属性被设置为“安全”(步骤S405:是),则存储器禁止单元108禁止该高速缓存线将该高速缓存线中存储的指令代码或数据置为不可读条件(步骤S406)。
在结束了对于所有高速缓存线的处理(步骤S407)、并且结束了对于指令高速缓存102和数据高速缓存104的处理(步骤S408)之后,存储器禁止单元108向处理器内核101发布高速缓存禁止处理的完成通知(步骤S409)。
一旦从存储器禁止单元108接收到该完成通知,处理器内核101就将工作模式从安全模式切换到正常模式(步骤S410)。
实施例2
下面描述作为本发明实施例2的安全处理***2。实施例1基于处理器具有安全模式和正常模式的前提,并因此实施例1不能被应用到不具有安全模式的处理器。因此,下面描述的实施例2旨在提供一种可处置安全资源的处理器、存储器接口和安全处理***,而无需处理器具有安全模式。
图14示出了安全处理***2的结构。如图所示,安全处理***2包括处理器10a、存储器接口20a、存储器30a、总线40a、总线50a、和安全模块60a。
安全处理***2的特征在于处理器10a仅在正常模式中工作而不实现安全性,并且已提供了安全模块60a。
1.处理器10a
如图14所示,处理器10a包括处理器内核101a、指令高速缓存102a、指令属性管理单元103a、数据高速缓存104a、数据属性管理单元105a、数据存取确定单元107a、和总线接口109a。
处理器10a与实施例1中的处理器10的结构的不同之处在于没有提供指令存取确定单元和存储器禁止单元。没有提供指令存取确定单元是因为处理器10a仅在正常模式中工作,并因此在指令取出的情况下不发布存取请求安全属性。而且,没有提供存储器禁止单元是因为处理器10a仅在正常模式中工作,并因此不发生例如实施例1中的从安全模式复原到正常模式的处理。
(1)处理器内核101a
与实施例1公开的处理器内核101类似,处理器内核101a包括指令取出单元110a、解码单元111a、控制单元112a、运算单元113a、和存储器管理单元114a。然而,如上所述,与处理器内核101不同的是,处理器内核101a不具有用于执行安全处理的安全模式,并因此仅在正常模式中工作。
处理器内核101a的构成元件与处理器内核101的对应构成元件具有相同的功能,并因此已省略对相同功能的描述。下面的描述集中于与处理器内核101的差别。
处理器内核101a的指令取出单元110a从指令高速缓存102a或存储器30a获取指令代码和读取数据安全属性。与实施例1类似,所述读取数据安全属性是基于指令代码的记录位置而设置的信息,并和从存储器30a读取的指令代码一起通过存储器接口20a被发送到处理器10a。
与实施例1类似,指令取出单元110a所获取的指令代码由解码单元111a解码,并由控制单元112a解释。指令取出单元110a所获取的读取数据安全属性经由控制单元112a输出到存储器管理单元114a,而没有经过解码单元111a。
当由于运行指令的运算单元113a使得数据取出请求成为必须时,存储器管理单元114a将从控制单元112a接收的读取数据安全属性设置为与数据取出的存取请求对应的存取请求安全属性,将存取请求和存取请求安全属性输出到数据存取确定单元107a。
具体来说,如果指令代码的读取数据安全属性被设置为“安全”,则存储器管理单元114a将数据取出的存取请求安全属性设置为“安全”,而如果数据取出的读取数据安全属性被设置为“正常”,则存储器管理单元114a将数据取出的存取请求安全属性设置为“正常”。
(2)指令高速缓存102a和指令属性管理单元103a
与实施例1的指令高速缓存102类似,指令高速缓存102a是由SRAM构成的高速/低容量存储器,并存储从存储器30a发送的指令代码。
与实施例1中的指令属性管理单元103类似,指令属性管理单元103a管理在指令高速缓存102a的每一高速缓存线中存储的指令代码的读取数据安全属性。具体来说,指令属性管理单元103a存储与图3所示属性管理表130具有相同结构的属性管理表,并利用该属性管理表来管理读取数据安全属性。
(3)数据高速缓存104a和数据属性管理单元105a
与实施例1中的数据高速缓存104类似,数据高速缓存104a是由SRAM构成的高速/低容量存储器,并存储从存储器30a发送的数据。
与实施例1中的数据属性管理单元105类似,数据属性管理单元105a管理在数据高速缓存104a的每一高速缓存线中存储的数据的读取数据安全属性。
(4)数据存取确定单元107a
数据存取确定单元107a根据那时由处理器内核101a运行的指令,而确定在由处理器内核101a的存储器管理单元114a所执行的数据取出处理中存在高速缓存命中的数据是否是可读的。
具体来说,数据存取确定单元107a从存储器管理单元114a接收连同存取请求安全属性一起的存取请求。如上所述,该存取请求安全属性已被设置为“安全”或“正常”。
如果所接收的存取请求安全属性被设置为“安全”,则数据存取确定单元107a确定其读取数据安全属性被设置为“安全”的数据和其读取数据安全属性被设置为“正常”的数据两者都是可读的。
另一方面,如果所接收的存取请求安全属性被设置为“正常”,则数据存取确定单元107a仅确定其读取数据安全属性被设置为“正常”的数据是可读的。
(5)总线接口109a
总线接口109a控制处理器101a对总线40a和总线50a的存取。
2.存储器接口20a
与图6所示存储器接口20类似,存储器接口20a包括总线主控器标识单元、安全区域管理单元、可存取性确定单元、存取单元、和读取数据安全属性生成单元。存储器接口20a根据经由总线40a和总线50a接收的指令执行处理。
一旦从总线40a或总线50a接收到存取请求,总线主控器标识单元就对发布所接收的存取请求的总线主控器进行标识,并将标识结果输出到可存取性确定单元。应注意,在本实施例中,尽管仅将处理器10a提及为总线主控器,但是如果存储器接口20a从除了处理器10a之外的两个或多个总线主控器接收对存储器30a的存取请求,则总线主控器标识单元通过提供用于总线主控器的专用端口而标识总线主控器。
安全区域管理单元存储在存储器30a中提供的安全指令区域301a的安全指令区域开始地址和安全指令区域结束地址,并且还存储在存储器30a中提供的安全数据区域302a的安全数据区域开始地址和安全数据区域结束地址。
如果该指令指明指令取出,则可存取性确定单元根据总线主控器是否是处理器内核101a,而判断是否可执行对安全指令区域301a的存取。具体来说,如果从总线主控器标识单元接收的结果为总线主控器是处理器内核101a,则可执行对安全指令区域301a的存取,而如果从总线主控器标识单元接收的结果为总线主控器不是处理器内核101a,则不可执行对安全指令区域301a的存取。
而且,与实施例1类似,如果该指令指明数据取出,则可存取性确定单元从总线主控器接收存取请求安全属性,并因此根据所接收的存取请求安全属性,而判断是否可执行对安全数据区域302a的存取。具体来说,如果存取请求安全属性被设置为“安全”,则可执行对安全数据区域302a的存取,而如果存取请求安全属性被设置为“正常”,则不可执行对安全数据区域302a的存取。
已省略了对存取单元和读取数据安全属性生成单元的功能的描述,因为它们与实施例1中的相同。
3.存储器30a
与实施例1的存储器30类似,存储器30a由SDRAM构成。如图14所示,存储器30a包括安全指令区域301a和安全数据区域302a。
安全指令区域301a是存储保密指令代码的区域,并仅通过处理器内核101a执行的存取而是可存取的。安全数据区域302a是存储保密数据的区域,并仅通过处理器内核101a执行的附加了安全属性的存取而是可存取的。
4.总线40a和总线50a
总线40a是处理器10a和存储器接口20a之间的通信路径。经由总线40a从处理器10a的总线接口109a向存储器接口20a传送写入数据、指令和存取请求。而且,经由总线40a从存储器接口20a向处理器10a的总线接口109a传送读取数据和读取数据安全属性。
总线50a是处理器10a和安全模块60a之间的通信路径。经由总线50a从处理器10a的总线接口109a向安全模块60a传送写入数据、指令、存取请求、和存取请求安全属性。而且,经由总线50a从安全模块60a向处理器10a的总线接口109a传送读取数据。
5.安全模块60a
安全模块60a是与安全处理有关的模块,并且这样的模块的特定示例包括用于利用私钥信息加密和解密内容的加密/解密单元、和用于许可管理的管理安全时间段的定时器。
安全模块60a经由总线50a从处理器内核101a接收存取请求和存取请求安全属性。存取请求安全属性被设置为“安全”或“正常”,其中“安全”指明由于运行保密指令代码引起的存取请求,而“正常”指明由于运行非保密指令代码引起的存取请求。
为了确保安全性,仅当由于运行保密指令代码引起存取请求时,安全模块60a才允许存取。
因此,一旦从处理器内核101a接收到存取请求和存取请求安全属性,安全模块60a就判断存取请求安全属性的设置。如果存取请求安全属性被设置为“安全”,则安全模块60a使能从处理器内核101a接收的存取请求并执行处理。如果存取请求安全属性被设置为“正常”,则安全模块60a禁止从处理器内核101a接收的存取请求,并不执行处理。
操作
下面参考图15到图19的流程图来描述安全处理***2的操作。
1.***的总体操作
图15是示出了安全处理***2的总体操作的流程图。
首先,处理器内核101a的指令取出单元110a取出指令代码(步骤S501),由此获取该指令代码和读取数据安全属性。指令取出单元110a将所取出的指令代码存储在预取队列中。
解码单元111a从预取队列中恢复指令代码,并将所恢复的指令代码转换为低级码。将得到的低级码存储在指令队列中。控制单元112a从该指令队列中接收该低级码,并解释所接收的低级码(步骤S502)。
运算单元113a从寄存器堆中读取寄存器操作数(步骤S503)。运算单元113a移位该操作数并生成ALU结果。如果该指令是装载或存储,则运算单元113a通过计算存储地址等来运行该指令(步骤S504)。如果数据存取是必须的,则存储器管理单元114a发布存取请求和存取请求安全属性,并从数据高速缓存104a或存储器30a中读取数据(步骤S505)。
应注意,指令取出单元110a将在步骤S501的指令取出期间获取的读取数据安全属性经由控制单元112a输入到存储器管理单元114a中,而不经过解码单元111a。存储器管理单元114a将该读取数据安全属性设置为数据取出的存取请求安全属性,并向数据存取确定单元107a发布该数据取出的存取请求安全属性。
而且,作为步骤S504的指令运行结果,确定是否已请求了对安全模块60a的存取(步骤S506),并且如果还没有请求对安全模块60a的存取(步骤S506:否),则运算单元113a将从数据高速缓存104a或存储器30a装载的数据和该指令生成的结果写回到寄存器堆中(步骤S507),并且处理返回到步骤S501并从那里继续。
如果已请求了对安全模块60a的存取(步骤S506:是),则存储器管理单元114a从控制单元112a接收与步骤S504中运行的指令代码对应的读取数据安全属性,并判断所接收的读取数据安全属性被设置为“安全”还是“正常”(步骤S508)。如果读取数据安全属性被设置为“安全”(步骤S509:安全),则存储器管理单元114a将存取请求安全属性设置为“安全”(步骤S510)。如果读取数据安全属性被设置为“正常”(步骤S509:正常),则存储器管理单元114a将存取请求安全属性设置为“正常”(步骤S511)。
存储器管理单元114a经由总线接口109a和总线50a将在步骤S510或步骤S511生成的存取请求和存取请求安全属性发送到安全模块60a(步骤S512),并且安全模块60a根据所接收的存取请求执行处理(步骤S513)。其后,处理返回到步骤S501并从那里开始。
2.指令取出处理操作
图16是示出了和处理器内核101a执行的指令取出一同发生的安全处理***2的总体操作的流程图。
处理器内核101a的指令取出单元110a发布存取请求(步骤S601),而指令高速缓存102a接收该存取请求,并判断已请求存取的指令代码是否被存储在指令高速缓存102a中(步骤S602)。
在高速缓存命中的情况下(步骤S602:是),指令高速缓存102a从存取目的地高速缓存线中读取指令代码,并将读取的指令代码和对应的读取数据安全属性发送到处理器内核101a(步骤S603)。在高速缓存未命中的情况下(步骤S602:否),经由总线40a从总线接口109a向存储器接口20a发送存取请求(步骤S604)。
一旦接收到存取请求,存储器接口20a的总线主控器标识单元就对发布所接收的存取请求的总线主控器进行标识,并将标识结果输出到可存取性确定单元。
可存取性确定单元从存取请求中提取存取请求目的地址(步骤S605),并且还从安全区域管理单元中获取安全指令区域开始地址和安全指令区域结束地址。
可存取性确定单元判断该存取请求目的地址是否指明存储器30a的安全指令区域301a。如果该存取请求目的地址指明除了安全指令区域301a之外的区域(步骤S606:否),则处理移动到步骤S608。如果该存取请求目的地址指明该安全指令区域301a(步骤S606:是),则可存取性确定单元判断从总线主控器标识单元接收的标识结果是否为该总线主控器是处理器内核101a。
如果该总线主控器不是处理器内核101a(步骤S607:否),则安全处理***2结束处理。如果该总线主控器是处理器内核101a(步骤S607:是),则可存取性确定单元向该存取单元输出该存取请求目的地址。
该存取单元对存储器30a中的由该存取请求目的地址指明的位置进行存取,并读取该位置处的指令代码(步骤S608)。一旦读取了该指令代码,存取单元就向该读取数据安全属性生成单元输出所读取的指令代码和存取目的地址。该存取目的地址是指明指令代码的存储地点的地址,并因此存取单元输出从可存取性确定单元接收的存取请求目的地址作为存取目的地址。
其后,读取数据安全属性生成单元生成读取数据安全属性(步骤S609),并将指令代码和生成的读取数据安全属性发送到处理器10a(步骤S610)。
处理器内核101a的指令取出单元110a获取该指令代码和读取数据安全属性(步骤S611),并且指令高速缓存102a也获取该指令代码(步骤S612)。指令属性管理单元103a获取读取数据安全属性,并在属性管理表中管理所获取的读取数据安全属性(步骤S613)。
应注意,已省略了对存储器接口20a在步骤S609执行读取数据安全属性生成处理的操作的描述,因为它们与图10所示操作相同。
3.数据取出处理操作
图17和图18是示出了和处理器内核101a执行的数据取出一同发生的安全处理***2的总体操作的流程图。
处理器内核101a的存储器管理单元114a将指令代码的读取数据安全属性设置为数据取出的存取请求安全属性(步骤S701),并发布由数据存取确定单元107a接收的存取请求和存取请求安全属性(步骤S702)。
数据高速缓存104a经由数据存取确定单元107a接收存取请求,并判断已请求存取的数据是否被存储在数据高速缓存104a中(步骤S703)。
在高速缓存未命中的情况下(步骤S703:否),处理移动到步骤S711并从那里继续。在高速缓存命中的情况下(步骤S703:是),数据存取确定单元107a从数据属性管理单元105a所管理的属性管理表中读取与存取目的地高速缓存线对应的读取数据安全属性。数据存取确定单元107a判断该读取数据安全属性被设置为“安全”还是“正常”。
如果该读取数据安全属性被设置为“正常”(步骤S704:否),则处理移动到步骤S706。如果该读取数据安全属性被设置为“安全”(步骤S704:是),则数据存取确定单元107a判断从存储器管理单元114a接收的存取请求安全属性被设置为“安全”还是“正常”。
如果存取请求安全属性被设置为“正常”(步骤S705:否),则安全处理***2结束处理。如果存取请求安全属性被设置为“安全”(步骤S705:是),则数据高速缓存104a从存取目的地高速缓存线中读取数据,并经由数据存取确定单元107a向处理器内核101a发送该读取数据(步骤S706)。
在步骤S703中的否的情况下,经由总线40a从总线接口109a向存储器接口20a发送存取请求和存取请求安全属性(步骤S711)。存储器接口20a的可存取性确定单元经由总线主控器标识单元接收存取请求和存取请求安全属性。
可存取性确定单元从存取请求中提取存取请求目的地址,并且还从安全区域管理单元获取安全区域开始地址和安全区域结束地址。
可存取性确定单元判断该存取请求目的地址是否指明存储器30a的安全区域302a(步骤S712)。如果该存取请求目的地址指明除了安全数据区域302a之外的区域(步骤S713:否),则处理移动到步骤S715。如果该存取请求目的地址指明安全数据区域302a(步骤S713:是),则可存取性确定单元判断该存取请求安全属性被设置为“安全”还是“正常”。
如果该存取请求安全属性被设置为“正常”(步骤S714:否),则安全处理***2结束处理。如果该存取请求安全属性被设置为“安全”(步骤S714:是),则可存取性确定单元将存取请求目的地址输出到存取单元。
存取单元对存储器30a中由存取请求目的地址指明的位置进行存取,并读取该存取位置处的数据(步骤S715)。一旦读取了数据,存取单元就将该读取数据和该读取数据的存取目的地址输出到读取数据安全属性生成单元。该存取目的地址是指明数据的存储地点的地址,并且存取单元输出从可存取性确定单元接收的存取请求目的地址作为存取目的地址。
其后,读取数据安全属性生成单元生成读取数据安全属性(步骤S716),并将数据和生成的读取数据安全属性发送到处理器10a(步骤S717)。
处理器内核101a的运算单元113a经由存储器管理单元114a获取所发送的数据(步骤S718),并且数据高速缓存104a也获取所发送的数据(步骤S719)。数据属性管理单元105a获取该读取数据安全属性,并在属性管理表中管理所获取的读取数据安全属性(步骤S720)。
应注意,已省略了对在步骤S716中由存储器接口20a执行读取数据安全属性生成处理的操作的描述,因为它们与图10所示操作相同。
4.安全模块60a的操作
图19是示出了安全模块60a的操作的流程图。应注意这里所示操作是图15中步骤S513的细节。
一旦从处理器内核101a接收到指令、存取请求和存取请求安全属性,安全模块60a就判断所接收的存取请求安全属性被设置为“安全”还是“正常”(步骤S801)。如果存取请求安全属性被设置为“安全”(步骤S802:安全),则安全模块60a根据所接收的指令执行处理(步骤S803),并且如果存取请求安全属性被设置为“正常”,则安全模块60a拒绝存取(步骤S804),并结束处理。
利用加密DMA的特定示例
下面参考图20来描述在安全模块60a是加密DMA(直接存储器存取)的情况下的实施例2中的总线存取的特定操作。加密DMA是在加密功能块(未描绘)和存储器30a之间执行数据传递的模块,并且在该情况下,其包括DMA控制器。
而且,如前所述,存储器30a的安全指令区域301a仅通过处理器内核101a执行的存取而是可存取的,而安全数据区域302a仅通过处理器内核101a执行的附加了安全属性的存取而是可存取的。
(S1)处理器内核101a发布指明加密DMA注册配置的指令代码的取出的指令、和存取请求1001。由于处理器内核101a缺少安全模式,并因此仅在正常模式中工作,所以从处理器内核101a输出的存取请求1001是正常存取。应注意,用于加密DMA注册配置的指令代码是在安全指令区域301a中存储的安全指令代码。
(S2)一旦接收到指明对安全指令区域301a进行存取的指令和存取请求1001,存储器接口20a就促使总线主控器标识单元检查存取请求1001是从处理器内核101a发布的,并从安全指令区域301a获取用于加密DMA注册配置的指令代码。存储器接口20a的读取数据安全属性生成单元然后将读取数据安全属性1002设置为“安全”,并将该指令代码和读取数据安全属性1002发送到处理器内核101a。
(S3)接下来,在处理器内核101a中发布指明注册配置的数据取出的指令和存取请求1003。这时,存取请求安全属性被设置为由已在步骤S2从存储器接口20a接收的读取数据安全属性指明的同一“安全”,并且将该存取请求安全属性附加到存取请求1003上。换言之,处理器内核101a发布安全存取请求。
(S4)一旦接收到指明对安全数据区域302a进行存取的指令和存取请求1001,存储器接口20a就促使可存取性确定单元检查该存取请求安全属性被设置为“安全”,并从安全数据区域302a获取用于该注册配置的数据。接下来,存储器接口20a的读取数据安全属性生成单元将读取数据安全属性1004设置为“安全”,并将该数据和读取数据安全属性1004发送到处理器内核101a。
(S5)处理器内核101a向加密DMA发布请求注册配置的指令和存取请求1005。这时,存取请求安全属性被设置为由已在步骤(S4)从存储器接口20a获取的读取数据安全属性指明的同一“安全”,并且将该存取请求安全属性附加到存取请求1005上。
加密DMA接收请求注册配置的指令和存取请求1005,检查该存取请求安全属性被设置为“安全”,并基于从处理器内核101a接收的数据而执行注册配置。
其他变形
尽管上面基于实施例1和2进行了描述,但是本发明当然不限于前述实施例。例如以下所示情况也包括在本发明中。
(1)尽管实施例1和2中的处理器的内部存储器被描述为高速缓冲存储器,但是高速缓冲存储器仅是一个特定示例。本发明的内部存储器不限于高速缓冲存储器。
(2)尽管实施例1中的存储器30包括两个安全区域,即安全区域1(3001)和安全区域2(3002),但是本发明中的存储器可包括任意数目的安全区域。
(3)本发明也包括这样的情况,其中由作为集成电路的LSI实现以上实施例中的处理器10、处理器10a、存储器接口20、和存储器接口20a的部分或所有功能块。这些功能块中的每一个可以被制成单一和分离芯片,或者可以被制成包括其一部分或所有部分的单一芯片。这里的LSI取决于集成度也可被称为IC、***LSI、超LSI(super LSI)、或过LSI(ultra LSI)。
而且,集成不限于LSI实现,而且可以由专用电路实现。在LSI制造之后,其中可重构LSI中的电路单元的连接和设置的现场可编程门阵列(FPGA)或硅柔韧(flexible)处理器的使用是可能的。
此外,如果由于半导体技术的进步或演化而开发出替换LSI的集成技术,则利用该技术的功能块的集成自然是可能的。例如,生物工艺学的应用是可能的。
(4)本发明也包括以上实施例和以上变形的组合。
产业上的可利用性
本发明的处理器和安全处理***可在分发内容的产业中用作内容的版权保护机制。而且,所述处理器和安全处理***可用于制造和销售包括该处理器或安全处理***的音频/视频装置的产业中。

Claims (9)

1.一种处理器,在工作期间,在利用安全信息和非安全信息执行处理的安全模式与利用非安全信息执行处理的正常模式之间进行切换,该处理器包括:
内部存储器,可操作为在其中存储从外部存储器获取的多个安全信息片段和多个非安全信息片段、多个属性信息片段、和多个处理标识信息片段,所述多个属性信息片段中的每一个对应于所存储的不同信息片段,并指明对应信息片段是所述安全信息片段之一还是非安全信息片段之一,而所述多个处理标识信息片段中的每一个对应于所存储的安全信息片段中的不同片段,并指定在多个安全处理中的哪一个处理中将使用对应的安全信息片段;和
禁止单元,可操作为在从安全模式切换到正常模式的切换之前,根据属性信息片段来在内部存储器中存储的多个安全信息片段和非安全信息片段中指定安全信息片段,并禁止所指定的安全信息片段。
2.根据权利要求1的处理器,包括:
内部存储器,可操作为在其中存储从外部存储器获取的多个安全指令代码片段和多个非安全指令代码片段;
运行单元,可操作为对所述安全指令代码片段和非安全指令代码片段进行解码,并执行其运行;和
总线存取控制单元,可操作为在由于该运行单元运行安全指令代码而使得总线存取成为必须的情况下,向该总线存取附加存取请求安全属性,该存取请求安全属性指明该总线存取与该安全指令代码的运行有关。
3.根据权利要求2的处理器,其中
该内部存储器还在其中存储多个属性信息片段,所述多个属性信息片段中的每一个对应于所存储的不同的指令代码片段,并指明对应指令代码片段是所述安全指令代码片段之一还是所述非安全指令代码片段之一,和
该总线存取控制单元从内部存储器中所存储的多个安全指令代码片段和非安全指令代码片段中读取指令代码片段和对应属性信息片段,并将所读取的属性信息片段附加到总线存取上作为存取请求安全属性。
4.根据权利要求3的处理器,其中
该内部存储器是这样的高速缓冲存储器,其管理高速缓存线单元中的信息,并管理高速缓冲存储器的不同高速缓存线单元中的每一属性信息片段。
5.根据权利要求3的处理器,其中
该内部存储器还在其中存储有多个处理指定信息片段,所述多个处理指定信息片段中的每一个对应于所存储的安全指令代码片段中的不同片段,并用于指定将在多个安全处理中的哪个安全处理中使用对应的安全指令代码片段,和
在从内部存储器中的多个安全指令代码片段中读取安全指令代码片段的情况下,该总线存取控制单元还连同对应的属性信息片段一起读取与所读取的安全指令代码片段对应的处理指定信息片段,并将所读取的属性信息片段和处理指定信息片段附加到总线存取上作为存取请求安全属性。
6.一种安全处理***,包括:
外部存储器,包括由多个副安全区域组成的安全区域,并可操作为存储多个安全信息片段和多个非安全信息片段,所述安全信息片段被存储在该安全区域中;
存储器接口,包括
读取单元,可操作为从该外部存储器中读取信息片段,
位置信息存储单元,可操作为在其中存储用于指定每一副安全区域的位置的副安全区域位置信息,
判断单元,可操作为根据该安全区域位置信息,而判断该读取单元所读取的信息片段是安全信息片段之一还是非安全信息片段之一,并且如果所读取的信息片段是安全信息片段之一,还判断该信息片段是从哪个副安全区域中读取的,和
属性信息生成单元,可操作为如果已经判断出所读取的信息片段是安全信息片段之一,则生成用于指明安全性的属性信息,并且生成用于指定其中存储了所读取的信息片段的副安全区域的指定信息,并且如果已经判断出所读取的信息片段是非安全信息片段之一,则生成用于指明不安全性的属性信息;和
处理器,在工作期间,在利用安全信息和非安全信息执行处理的安全模式与利用非安全信息执行处理的正常模式之间进行切换,该处理器包括
内部存储器,可操作为在其中存储从外部存储器获取的所述多个安全信息片段和多个非安全信息片段,和
禁止单元,可操作为在从安全模式切换到正常模式的切换之前,通过参考从存储器接口接收的属性信息,来在内部存储器中存储的多个安全信息片段和非安全信息片段中指定安全信息片段,并禁止所指定的安全信息片段。
7.根据权利要求6的安全处理***,包括:
外部存储器,可操作为在其中存储多个安全指令代码片段、安全数据片段、非安全指令代码片段、和非安全数据片段;
存储器接口,可操作为从该外部存储器中读取指令代码片段,判断所读取的指令代码片段是安全指令代码片段之一还是非安全指令代码片段之一,根据判断结果生成属性信息,并将所读取的属性代码片段和所生成的属性信息输出到处理器;和
该处理器包括
内部存储器,可操作为在其中存储有从外部存储器获取的所述多个安全指令代码片段和多个非安全指令代码片段,
运行单元,可操作为对所述安全指令代码片段和非安全指令代码片段进行解码,并执行其运行;和
总线存取控制单元,可操作为在由于该运行单元运行安全指令代码而使得总线存取成为必须的情况下,向该总线存取附加存取请求安全属性,该存取请求安全属性指明该总线存取与该安全指令代码的运行有关。
8.根据权利要求7的安全处理***,其中
该外部存储器包括由多个副安全区域组成的安全区域,并在该安全区域中存储安全指令代码片段和安全数据片段,和
该存储器接口包括
读取单元,从该外部存储器中读取指令代码片段,
位置信息存储单元,可操作为在其中存储用于指定每一副安全区域的位置的副安全区域位置信息,
判断单元,可操作为根据该安全区域位置信息,而判断该读取单元所读取的指令代码片段是安全指令代码片段之一还是非安全指令代码片段之一,并且如果所读取的指令代码片段是安全指令代码片段之一,还判断该指令代码片段是从哪个副安全区域中读取的,和
属性信息生成单元,可操作为如果已经判断出所读取的指令代码片段是安全指令代码片段之一,则生成用于指明安全性的属性信息,并且生成用于指定其中存储了所读取的指令代码片段的副安全区域的指定信息,并且如果已经判断出所读取的指令代码片段是非安全指令代码片段之一,则生成用于指明不安全性的属性信息。
9.根据权利要求2的处理器,其中
该内部存储器、该运行单元和该总线存取控制单元已被构造在单一集成电路上。
CNB2005800406635A 2004-11-26 2005-11-24 处理器和安全处理*** Active CN100489818C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP342197/2004 2004-11-26
JP2004342197 2004-11-26

Publications (2)

Publication Number Publication Date
CN101065737A true CN101065737A (zh) 2007-10-31
CN100489818C CN100489818C (zh) 2009-05-20

Family

ID=36498052

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005800406635A Active CN100489818C (zh) 2004-11-26 2005-11-24 处理器和安全处理***

Country Status (4)

Country Link
US (1) US7793083B2 (zh)
JP (1) JP4750719B2 (zh)
CN (1) CN100489818C (zh)
WO (1) WO2006057316A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281805A (zh) * 2013-07-09 2015-01-14 晶心科技股份有限公司 安全保护方法和处理器
CN104463028A (zh) * 2013-09-25 2015-03-25 ***股份有限公司 安全模式提示方法和实现该方法的移动设备

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216027A (ja) * 2004-01-30 2005-08-11 Matsushita Electric Ind Co Ltd 暗号化装置及びこれを備えた暗号化システム並びに復号化装置及びこれを備えた半導体システム
GB2442023B (en) * 2006-09-13 2011-03-02 Advanced Risc Mach Ltd Memory access security management
EP2040192A4 (en) * 2006-12-22 2011-03-30 Panasonic Corp INFORMATION PROCESSING DEVICE, INTEGRATED CIRCUIT, METHOD, AND PROGRAM
US8775824B2 (en) * 2008-01-02 2014-07-08 Arm Limited Protecting the security of secure data sent from a central processor for processing by a further processing device
DE102010028231A1 (de) * 2010-04-27 2011-10-27 Robert Bosch Gmbh Speichermodul zur gleichzeitigen Bereitstellung wenigstens eines sicheren und wenigstens eines unsicheren Speicherbereichs
US8407783B2 (en) * 2010-06-17 2013-03-26 Mediatek Inc. Computing system providing normal security and high security services
US9041817B2 (en) * 2010-12-23 2015-05-26 Samsung Electronics Co., Ltd. Method and apparatus for raster output of rotated interpolated pixels optimized for digital image stabilization
US9117083B2 (en) * 2011-02-14 2015-08-25 Blackberry Limited Managing booting of secure devices with untrusted software
US8873747B2 (en) 2012-09-25 2014-10-28 Apple Inc. Key management using security enclave processor
US9047471B2 (en) * 2012-09-25 2015-06-02 Apple Inc. Security enclave processor boot control
US20140366131A1 (en) * 2013-06-07 2014-12-11 Andes Technology Corporation Secure bus system
JP5911835B2 (ja) * 2013-09-17 2016-04-27 株式会社東芝 情報処理装置
EP3098077B1 (en) * 2014-01-20 2021-09-22 Apex Microelectronics Co., Ltd Imaging cartridge memory chip parameter sending method, memory chip, and imaging cartridge
US10691838B2 (en) * 2014-06-20 2020-06-23 Cypress Semiconductor Corporation Encryption for XIP and MMIO external memories
US9547778B1 (en) 2014-09-26 2017-01-17 Apple Inc. Secure public key acceleration
US10223289B2 (en) 2015-07-07 2019-03-05 Qualcomm Incorporated Secure handling of memory caches and cached software module identities for a method to isolate software modules by means of controlled encryption key management
US10713272B1 (en) 2016-06-30 2020-07-14 Amazon Technologies, Inc. Dynamic generation of data catalogs for accessing data
US10963479B1 (en) 2016-11-27 2021-03-30 Amazon Technologies, Inc. Hosting version controlled extract, transform, load (ETL) code
US11481408B2 (en) 2016-11-27 2022-10-25 Amazon Technologies, Inc. Event driven extract, transform, load (ETL) processing
US11277494B1 (en) 2016-11-27 2022-03-15 Amazon Technologies, Inc. Dynamically routing code for executing
US11138220B2 (en) 2016-11-27 2021-10-05 Amazon Technologies, Inc. Generating data transformation workflows
US10621210B2 (en) 2016-11-27 2020-04-14 Amazon Technologies, Inc. Recognizing unknown data objects
US11036560B1 (en) * 2016-12-20 2021-06-15 Amazon Technologies, Inc. Determining isolation types for executing code portions
US10545979B2 (en) 2016-12-20 2020-01-28 Amazon Technologies, Inc. Maintaining data lineage to detect data events
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
GB201810662D0 (en) * 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
GB201810653D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
GB201810659D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
CN112527390B (zh) * 2019-08-28 2024-03-12 武汉杰开科技有限公司 数据获取方法、微处理器及具有存储功能的装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282657B1 (en) * 1997-09-16 2001-08-28 Safenet, Inc. Kernel mode protection
JP2001043139A (ja) 1999-07-29 2001-02-16 Pioneer Electronic Corp 信号処理装置及びそれに用いる情報記録媒体
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
JP4074057B2 (ja) 2000-12-28 2008-04-09 株式会社東芝 耐タンパプロセッサにおける暗号化データ領域のプロセス間共有方法
EP1329787B1 (en) * 2002-01-16 2019-08-28 Texas Instruments Incorporated Secure mode indicator for smart phone or PDA
EP1331539B1 (en) 2002-01-16 2016-09-28 Texas Instruments France Secure mode for processors supporting MMU and interrupts
RU2005115083A (ru) * 2002-11-18 2006-01-20 Арм Лимитед (Gb) Переключение процессора между защищенным и незащищенным режимами
GB2396713B (en) * 2002-11-18 2005-09-14 Advanced Risc Mach Ltd Apparatus and method for controlling access to a memory unit
WO2004046934A2 (en) * 2002-11-18 2004-06-03 Arm Limited Secure memory for protecting against malicious programs
US7370210B2 (en) 2002-11-18 2008-05-06 Arm Limited Apparatus and method for managing processor configuration data
US20050198442A1 (en) * 2004-03-02 2005-09-08 Mandler Alberto R. Conditionally accessible cache memory
JP2007264679A (ja) 2004-06-14 2007-10-11 Matsushita Electric Ind Co Ltd アクセス制御装置及びアクセス制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104281805A (zh) * 2013-07-09 2015-01-14 晶心科技股份有限公司 安全保护方法和处理器
CN104281805B (zh) * 2013-07-09 2017-09-15 晶心科技股份有限公司 安全保护方法和处理器
US10061940B2 (en) 2013-07-09 2018-08-28 Andes Technology Corporation Secure protection processor and method including comparing an instruction security attribute of an instruction and a security attribute of an operational event
CN104463028A (zh) * 2013-09-25 2015-03-25 ***股份有限公司 安全模式提示方法和实现该方法的移动设备
WO2015043444A1 (zh) * 2013-09-25 2015-04-02 ***股份有限公司 安全模式提示方法和实现该方法的移动设备
CN104463028B (zh) * 2013-09-25 2018-06-22 ***股份有限公司 安全模式提示方法和实现该方法的移动设备

Also Published As

Publication number Publication date
WO2006057316A1 (ja) 2006-06-01
JP4750719B2 (ja) 2011-08-17
US7793083B2 (en) 2010-09-07
JPWO2006057316A1 (ja) 2008-06-05
US20080052534A1 (en) 2008-02-28
CN100489818C (zh) 2009-05-20

Similar Documents

Publication Publication Date Title
CN101065737A (zh) 处理器和安全处理***
CN1266615C (zh) 微处理器
CN101048765A (zh) 机密信息处理设备
CN1301474C (zh) 电子设备网络***、数据发送目的地检索***和方法
CN1273902C (zh) 调试***,微处理器,以及调试器
CN1278245C (zh) 信息存储器件、存储器存取控制***及方法
CN1304964C (zh) 信息存储器件、存储器访问控制方法
CN1871568A (zh) 程序执行设备
CN1292357C (zh) 信息存储设备、存储器存取控制方法
CN1396568A (zh) 数字作品保护***、记录媒体装置、发送装置和重放装置
CN1252599C (zh) 信息处理设备
CN1969282A (zh) 数据处理装置
CN1276364C (zh) 数据管理设备,数据管理方法以及计算机程序
CN1175034A (zh) 存储器控制器和存储器控制***
CN101042682A (zh) 访问控制装置、***和方法,处理器
CN1313917C (zh) 数据处理装置以及数据处理方法
CN101047495A (zh) 用于传送数据的方法和***
CN101046837A (zh) 打印装置
CN1471005A (zh) 信息内容管理***
CN1868229A (zh) 用于对存储在记录载体上的数据进行条件存取的记录载体、***、方法和程序
CN1282071C (zh) 数据处理装置、数据处理方法和程序
CN1930834A (zh) 通信***、信息处理***、信息处理装置、隧道管理装置、信息处理方法、隧道管理方法及程序
CN1633649A (zh) 使用基于网络的输入装置的输入特征的个人鉴别方法、其程序以及程序的记录媒体
CN1257635C (zh) 数据通信方法以及数据处理设备
CN101061457A (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
ASS Succession or assignment of patent right

Owner name: INTELLECTUAL PROPERTY BRIDGE NO. 1 CO., LTD.

Free format text: FORMER OWNER: MATSUSHITA ELECTRIC INDUSTRIAL CO, LTD.

Effective date: 20150528

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150528

Address after: Tokyo, Japan

Patentee after: GODO KAISHA IP BRIDGE 1

Address before: Osaka Japan

Patentee before: Matsushita Electric Industrial Co., Ltd.