CN102985930A - 信息处理装置以及信息处理方法 - Google Patents

信息处理装置以及信息处理方法 Download PDF

Info

Publication number
CN102985930A
CN102985930A CN2012800018930A CN201280001893A CN102985930A CN 102985930 A CN102985930 A CN 102985930A CN 2012800018930 A CN2012800018930 A CN 2012800018930A CN 201280001893 A CN201280001893 A CN 201280001893A CN 102985930 A CN102985930 A CN 102985930A
Authority
CN
China
Prior art keywords
data
cache
storage part
storage
written
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
CN2012800018930A
Other languages
English (en)
Other versions
CN102985930B (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.)
Solvingpeak Venture Capital Co ltd
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 CN102985930A publication Critical patent/CN102985930A/zh
Application granted granted Critical
Publication of CN102985930B publication Critical patent/CN102985930B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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
    • 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/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

信息处理装置,是处理保护对象数据的信息处理装置,具备:第一存储部(301);第二存储部(302);以及高速缓存器控制部(303),将第一存储部(301)中的存储数据高速缓存到第二存储部(302),高速缓存器控制部(303),以从被高速缓存到第二存储部(302)的存储数据的高速缓存区域中得到的高速缓存数据不会被写回到第一存储部(301)的方式,锁定第二存储部(302)中的高速缓存区域,在第二存储部(302)中的高速缓存区域被锁定之后,将与存储数据不同的保护对象数据写入到第二存储部(302)中的高速缓存区域。

Description

信息处理装置以及信息处理方法
技术领域
本发明涉及处理保护对象数据的信息处理装置。
背景技术
以往,存在处理保护对象数据的各种各样的信息处理装置。例如,专利文献1以及非专利文献1中示出,有关这样的信息处理装置的技术。
(现有技术文献)
(专利文献)
专利文献1:日本特开2004-288155号公报
(非专利文献)
非专利文献1:ARM Security Technology(http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/PRD29-GENC-009492C_trustzone_security_whitepaper.pdf)
然而,在以往的信息处理装置中,会有保护对象数据的保护不充分的情况。
发明内容
于是,本发明的目的在于提供能够适当保护保护对象数据的信息处理装置。
为了实现所述目的,本发明的实施方案之一涉及的信息处理装置,是处理保护对象数据的信息处理装置,该信息处理装置具备:第一存储部;第二存储部;以及高速缓存器控制部,将所述第一存储部中的存储数据高速缓存到所述第二存储部,所述高速缓存器控制部,以从被高速缓存到所述第二存储部的所述存储数据的高速缓存区域中得到的高速缓存数据不会被写回到所述第一存储部的方式,锁定所述第二存储部中的所述高速缓存区域,在所述第二存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
而且,它们的全方面或具体的实施方案,可以由系统、方法、集成电路、计算机程序或记录介质来实现,也可以由系统、方法、集成电路、计算机程序或记录介质的任意的组合来实现。
本发明的实施方案之一涉及的信息处理装置,在处理保护对象数据时,能够适当保护保护对象数据。
附图说明
图1是实施例1涉及的内容分发系统的整体结构图。
图2是实施例1涉及的内容显示装置的硬件结构图。
图3是实施例1涉及的高速缓存器的结构图。
图4是实施例1涉及的内容显示装置的软件结构图。
图5是实施例1涉及的加密隐藏数据的结构图。
图6是实施例1涉及的包生成部的结构图。
图7是实施例1涉及的安全应用程序的结构图。
图8是实施例1涉及的安全引导处理的序列图。
图9是实施例1涉及的隐藏数据的加载处理的序列图。
图10是实施例1涉及的隐藏数据的卸载处理的序列图。
图11是实施例2涉及的安全操作系统的结构图。
图12是实施例2涉及的应用程序主体的结构图。
图13是实施例2涉及的安全应用程序的加载处理的流程图。
图14A是实施例3涉及的高速缓存器的锁定处理的序列图。
图14B是实施例3涉及的高速缓存器的解锁处理的序列图。
图15A是实施例4涉及的信息处理装置的硬件结构图。
图15B是示出实施例4涉及的信息处理装置的工作的流程图。
图16是实施例5涉及的信息处理装置的硬件结构图。
图17是其他的变形例涉及的内容显示装置的硬件结构图。
图18是其他的变形例涉及的安全的软件执行环境的结构图。
具体实施方式
(成为本发明的基础的知识)
用于管理著作权的程序等被进行非法的解析等的非法行为是不理想的。因此,保护这样的程序(以下,称为“保护对象程序”)的技术被广泛地利用。这是因为,若不充分保护,则不仅对程序的权利者而在各种各样的方面会发生损失的缘故。
例如,若非法者能够对用于将加密后的数字内容解密并再生的程序进行非法解析并篡改,则会有数字内容被非法利用的情况。
具体而言,非法者有可能,通过对用于将加密后的数字内容解密的程序进行解析,获得用于数字内容的解密的解密密钥,从而非法再生数字内容。并且,即使在数字内容的复制次数或再生次数等受限制的情况下,非法者也有可能,通过窜改用于检查数字内容的复制次数或再生次数等的程序,从而使该限制无效化。
非专利文献1公开,保护程序等的数据不受非法者的非法解析的技术。在非专利文献1所公开的技术中,构建了具有防止来自外部的非法访问的机构的安全域。而且,LSI(Large Scale Integration:大规模集成电路),具有由安全域进行处理的安全模式、和不利用安全域而进行处理的正常模式,切换正常模式和安全模式来进行工作。
该技术,通过以安全模式使保护对象程序工作,从而保护保护对象程序不受非法的解析等。据此,保护用于解密处理的解密密钥不被非法获得,保护用于检查再生次数的程序不被非法篡改。
更具体地说,作为防止非法访问的机构,在LSI内部,对连接处理器和周边电路的总线附加称为NS-bit(Non Secure bit:不安全比特)的信号。该NS-bit,在核处理器的模式为正常模式时被设定为High,在核处理器的模式为安全模式时被设定为Low。
而且,与该总线连接的存储器控制部(存储器控制器)、高速缓存器以及DMA控制部(DMA控制器)等周边电路,按照该NS-bit,进行访问控制。例如,存储器控制部,按存储器的每一定区域(例如,每个4KB大小),设定NS-bit。据此,在核处理器访问存储器时,存储器控制部,对总线的NS-bit的值和存储器的NS-bit的值进行比较,进行访问控制。
具体而言,在核处理器的模式为正常模式(总线的NS-bit为High)、且核处理器将要访问安全模式用的存储区域(存储器的NS-bit为Low)的情况下,存储器控制部禁止该访问。而且,存储器控制部允许其他的访问。
信息处理装置,通过利用这样的非法访问防止机构,从而能够禁止以正常模式工作的程序,访问安全的存储区域、以及限定为安全模式而利用的功能等。也就是说,信息处理装置,将用于解密处理的解密密钥存储到安全模式用的存储区域,以安全模式执行解密处理,以安全模式执行检查再生次数的处理。据此,信息处理装置,能够防止由非法者的非法的解析以及篡改。
然而,根据非专利文献1的结构,只不过是,核处理器以及周边电路这双方准确地处理NS-bit,从而实现针对程序的访问控制,防止利用了攻击用的程序的解析以及篡改。因此,例如,在LSI中执行的程序利用LSI外部的存储器(SDRAM等)的情况下,根据非专利文献1的结构,存在不能防止对连接LSI和存储器的信号线的攻击的问题。
具体而言,非法者有可能,通过利用示波器或逻辑分析器等,捕获(探测)信号线上流动的数据,从而直接获得被写入到安全的存储区域的数据。而且,非法者有可能,通过解析获得的数据,获得保护数字内容的密钥等,从而非法复制数字内容。
信息处理装置需要,适当保护保护对象数据,不受这样的攻击、即因利用逻辑分析器等的硬件来探测信号线等而会发生的数据流出。
于是,本发明的实施方案之一涉及的信息处理装置,是处理保护对象数据的信息处理装置,该信息处理装置具备:第一存储部;第二存储部;以及高速缓存器控制部,将所述第一存储部中的存储数据高速缓存到所述第二存储部,所述高速缓存器控制部,以从被高速缓存到所述第二存储部的所述存储数据的高速缓存区域中得到的高速缓存数据不会被写回到所述第一存储部的方式,锁定所述第二存储部中的所述高速缓存区域,在所述第二存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
据此,保护对象数据,不被写入到SDRAM等的存储器(第一存储部),而被写入到存储器中的用于高速缓存数据的高速缓存器(第二存储部)。外部的装置访问被写入到高速缓存器的数据是困难的。并且,保护对象数据,被写入到被锁定的高速缓存区域,因此不会被写回到存储器。因此,能够适当保护保护对象数据。
例如,也可以是,所述高速缓存器控制部,通过以从处理器输出的所述保护对象数据不会由外部的装置获得的方式被物理保护的电路,将从所述处理器输出的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域,以所述高速缓存区域中的所述保护对象数据不会由外部的装置获得的方式,所述第二存储部被物理保护。
据此,外部的装置物理获得保护对象数据是困难的。因此,能够适当保护保护对象数据。
并且,例如,也可以是,所述高速缓存器控制部,在所述保护对象数据被处理时,针对所述保护对象数据,分配所述第一存储部中的数据区域,将被分配的所述数据区域中的所述存储数据高速缓存到所述第二存储部,以从被高速缓存到所述第二存储部的所述存储数据的所述高速缓存区域中得到的所述高速缓存数据不会被写回到所述第一存储部的方式,锁定所述第二存储部中的所述高速缓存区域,在所述第二存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
据此,在保护对象数据被处理时,用于保护对象数据的数据区域,在存储器中被分配。因此,维持存储器的区域与高速缓存器的区域的适当的对应关系。
并且,例如,也可以是,所述高速缓存器控制部,在所述保护对象数据被处理之后,清除所述第二存储部中的所述高速缓存区域,以从清除后的所述高速缓存区域中得到的所述高速缓存数据能够被写回到所述第一存储部的方式,解除所述高速缓存区域的锁定。
据此,保护对象数据,在从高速缓存器被写回到存储器之前,被消除。因此,能够适当保护保护对象数据。
并且,例如,也可以是,所述信息处理装置还具备处理器,该处理器生成所述保护对象数据,并输出生成的所述保护对象数据,所述高速缓存器控制部,在所述第二存储部中的所述高速缓存区域被锁定之后,将从所述处理器输出的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
据此,由处理器生成的保护对象数据被写入到高速缓存器。因此,能够适当保护由处理器生成的保护对象数据。
并且,例如,也可以是,所述信息处理装置还具备集成电路,所述第二存储部、所述高速缓存器控制部以及所述处理器,被包含在所述集成电路中。
据此,高速缓存器以及处理器构成一个集成电路。外部的装置访问集成电路内的数据是困难的。因此,能够适当保护保护对象数据。
并且,例如,也可以是,所述处理器,通过对加密数据进行解密,从而生成所述保护对象数据,并输出生成的所述保护对象数据。
据此,能够适当保护由加密数据的解密得到的保护对象数据。
并且,例如,也可以是,所述高速缓存器控制部,将由程序预定为将要被写入到所述第一存储部的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
据此,程序将要写入到存储器的保护对象数据,不被写入到存储器,而被写入到高速缓存器。因此,能够适当保护保护对象数据。
并且,例如,也可以是,所述高速缓存器控制部,将可执行的程序作为所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
据此,能够保护保护对象程序不被篡改。因此,能够适当执行保护对象程序。
并且,例如,也可以是,所述处理器,以安全模式执行安全程序,以正常模式执行正常程序,所述第一存储部具有第一存储区域以及第二存储区域,所述第一存储区域是用于存储所述正常程序的区域,所述第二存储区域是用于存储所述安全程序的区域,且是禁止由所述正常程序访问的区域。
据此,以适当的安全水平执行程序,根据与程序对应的安全水平执行访问控制。
并且,例如,也可以是,所述高速缓存器控制部,将由所述安全程序预定为将要被写入到所述第二存储区域的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
据此,程序将要写入到存储器的保护对象数据,不被写入到存储器,而被写入到高速缓存器。因此,能够以更高的水平保护保护对象数据。
并且,例如,也可以是,所述信息处理装置还具备访问控制部,该访问控制部禁止由所述正常程序访问所述第二存储区域。
据此,能够适当控制对存储器中的多个存储区域的访问。因此,能够适当限制非法程序的执行。
进而,它们的全方面或具体的形态,可以由系统、方法、集成电路、计算机程序或记录介质来实现,也可以由系统、方法、集成电路、计算机程序或记录介质的任意的组合来实现。
以下,对于本发明的实施方案之一涉及的信息处理装置,参照附图进行具体说明。
而且,以下说明的实施例,都示出本发明的一个具体例子。以下的实施例所示的数值、形状、材料、构成要素、构成要素的配置位置以及连接形态、步骤、步骤的顺序等,是一个例子,而不是限定本发明的宗旨。并且,对于以下的实施例的构成要素中的、示出最上位概念的独立请求项中没有记载的构成要素,作为任意的构成要素进行说明。
(实施例1)
本实施例涉及的信息处理装置是,从记录由天线接收的广播波的内容记录装置接收内容,并显示内容的内容显示装置。
<内容分发系统的结构>
图1是本实施例涉及的内容分发系统的结构图。如图1,内容分发系统100包括,内容显示装置110、内容记录装置120、以及天线121。
内容显示装置110是本实施例涉及的信息处理装置。内容显示装置110,经由网络与内容记录装置120连接。而且,内容显示装置110,接收内容记录装置120所记录的内容,显示接收的内容。
内容记录装置120,与天线121连接。而且,内容记录装置120,记录由天线121接收的内容。并且,内容记录装置120,按照来自内容显示装置110的请求,向内容显示装置110发送记录的内容。内容记录装置120也可以,从具有便携性的记录介质读出内容,向内容显示装置110发送读出的内容。
内容显示装置110以及内容记录装置120具有,共同的加解密密钥。而且,内容记录装置120,使用加解密密钥来加密内容,向内容显示装置110发送加密后的内容。据此,防止捕获连接内容显示装置110以及内容记录装置120的网络上流动的数据,从而非法获得内容的情况。
需要适当保护内容显示装置110以及内容记录装置120共同具有的加解密密钥。要保护加解密密钥,当然不受由使用了调试程序或非法应用程序(以下,将应用程序也称为应用)的软件的攻击,也不受由总线探头等的硬件的攻击,否则会被泄漏。
而且,在该加解密密钥、和网络上流动的加密后的内容被获得的情况下,内容会被非法解密。因此,优选的是,在内容显示装置110的内部,也适当保护加解密密钥,以作为隐藏数据。
<内容显示装置110的硬件结构>
图2是图1所示的内容显示装置110的硬件结构图。如图2,内容显示装置110包括,系统LSI1000、存储器1020、以及非易失性存储装置1050。
系统LSI1000包括,CPU(Central Processing Unit:中央处理器)1001、IPL(Initial Program Loader:初始程序加载程序)1002、存储器控制部(存储器控制器)1003、高速缓存器1004、以及密钥保持部1006。
CPU1001,执行存储器1020所存放的通用操作系统(通用OS)1031或播放应用1032等中包含的指令码。据此,CPU1001,控制内容显示装置110整体的工作。并且,CPU1001,具有安全模式以及正常模式这两个模式。
引导加载器1041、安全操作系统(安全OS)1042以及内容再生应用1043,以安全模式工作。以安全模式工作的程序,能够访问安全模式的程序所使用的存储区域(安全区域1040),也能够访问正常模式的程序所使用的存储区域(正常区域1030)。进而,以安全模式工作的程序,也能够利用以安全模式能够利用的周边电路(加密引擎等)。
另一方面,通用操作系统1031、播放应用1032以及内容接收应用1033,以正常模式工作。以正常模式工作的程序,能够访问正常模式的程序所使用的正常区域1030,但是,不能访问安全模式的程序所使用的安全区域1040。
并且,安全模式以及正常模式各自,还具有特权模式以及非特权模式这两个模式。引导加载器1041、安全操作系统1042以及通用操作系统1031,以特权模式工作。它们,能够自由访问存储器1020、网络I/F以及输入输出I/F等的各种资源。
另一方面,内容再生应用1043,以非特权模式工作,能够访问安全操作系统1042设定的范围内的资源。并且,播放应用1032以及内容接收应用1033,以非特权模式工作,能够访问通用操作系统1031设定的范围内的资源。
CPU1001,在访问存储器控制部1003等的周边电路时,输出NS-bit(Non Secure bit)的信号。在CPU1001以安全模式作工作中的情况下,CPU1001将NS-bit设定为Low。另一方面,在CPU1001以正常模式作工作中的情况下,CPU1001将NS-bit设定为High。如存储器控制部1003等的与总线连接的周边电路,按照该NS-bit的状态,进行访问控制。
IPL1002是,内容显示装置110的电源接通后,最初启动的程序。IPL1002,进行总线、存储器控制部1003、存储器1020以及非易失性存储装置1050等的硬件的初始设定。此时,IPL1002,针对存储器1020展开引导加载器1041并执行。IPL1002,以没有被窜改的状态被存放在系统LSI1000的掩模ROM等中。
存储器控制部1003,也被称为存储器控制器,控制从与总线连接的其他的电路向存储器1020的访问。存储器控制部1003,将存储器1020的内部划分为正常区域1030以及安全区域1040这两个区域来管理。
而且,在CPU1001以正常模式工作中(NS-bit为High)、且CPU1001将要访问安全区域1040的情况下,存储器控制部1003,禁止该访问。而且,在CPU1001以正常模式工作中(NS-bit为High)、且CPU1001将要访问正常区域1030的情况下,存储器控制部1003,允许该访问。
并且,在CPU1001以安全模式工作中(NS-bit为Low)、且CPU1001将要访问正常区域1030或安全区域1040的情况下,存储器控制部1003,允许该访问。
在CPU1001将要访问存储器1020时,高速缓存器1004,将包含CPU1001将要访问的存储器1020中的数据的一定的大小的数据,读入到高速缓存器1004的内部。然后,高速缓存器1004,在CPU1001将要读入数据的情况下,向CPU1001返回数据,在CPU1001将要写入数据的情况下,改写读入到高速缓存器1004的内部的数据。
此时,在CPU1001将要访问的存储器1020中的数据已经被读入到高速缓存器1004的内部的情况下,高速缓存器1004,不从存储器1020读入数据,而利用高速缓存器1004的内部的数据进行处理。据此,在CPU1001,对存储器1020中的连续的数据进行访问时,访问速度提高。
高速缓存器1004,在高速缓存器1004的内部的用于存储数据的区域已满时,以被读入到高速缓存器1004的内部的新的数据来重写已经存储的数据。
在CPU1001将要写入数据的情况下,高速缓存器1004,更新高速缓存器1004的内部的数据,并且,以适当的定时将该更新反映到存储器1020。将更新反映的方法有,直写方式(Write Through Algorithm)以及回写方式(Write Back Algorithm)这两个方式。
根据直写方式,在CPU1001将要写入数据时,更新高速缓存器1004的内部的数据,并且,该更新反映到存储器1020。
根据回写方式,在CPU1001将要写入数据时,更新高速缓存器1004的内部的数据。而且,即将以读入到高速缓存器1004的内部的新的数据来重写该更新后的数据之前,该更新反映到存储器1020。
在本实施例中,为了防止隐藏数据被写入到存储器1020,高速缓存器1004被设定为,以回写方式反映更新。
高速缓存器1004,在有来自CPU1001的数据的访问请求时,需要瞬间检索在高速缓存器1004的内部是否存在该数据。因此,高速缓存器1004,在高速缓存器1004的内部存储数据时,以特殊的数据构造存储数据。
例如,高速缓存器1004,以称为“线(Line)”的统一的单位管理内部所存储的数据。具体而言,高速缓存器1004,根据与高速缓存器1004的内部所存放的数据对应的存储器1020中的地址的低位数比特(以下,集索引:SetIndex),限定存放位置。
在各个线中,存放地址的集索引以外的部分(标签)、以及数据。高速缓存器1004,根据存放位置以及标签的信息,识别该线中存放的数据是存储器1020的何处存储过的数据。
高速缓存器1004能够,向具有同一的集索引的存放位置存放多个标签和数据。这样的存放场所,分别被称为路(Way)。能够存放四个标签和数据的高速缓存器,被称为4路高速缓存器。
高速缓存器1004,在将存储器1020中的数据读入到高速缓存器1004的内部时,也将用于识别该数据是正常区域1030以及安全区域1040的哪一方的区域中被记录的数据的信息(NS-bit),与数据一起记录。
高速缓存器1004,在从正常区域1030读入数据的情况下,与该数据一起记录High的NS-bit。另一方面,高速缓存器1004,在从安全区域1040读入数据的情况下,与该数据一起记录Low的NS-bit。在CPU1001将要访问高速缓存器1004时,高速缓存器1004,与存储器控制部1003同样,参照CPU1001的模式、和与数据一起被记录的NS-bit的值,进行访问控制。
具体而言,在CPU1001以正常模式工作中的情况下,高速缓存器1004,禁止向NS-bit被设定为Low的高速缓存数据(从安全区域1040读入的数据)的访问。而且,在除此以外的情况下,高速缓存器1004,允许访问。
高速缓存器1004具有,数据、数据的地址、Dirty标志、以及Valid标志。数据,从存储器1020被读入。地址是,存储器1020的数据的地址。Dirty标志是,高速缓存器1004的数据被改写时设定的标志。Valid标志是,示出高速缓存器1004中存放了有效的数据的情况的标志。
密钥保持部1006,保持加解密密钥。该加解密密钥,用于加密隐藏数据1051、加密引导加载器1052、加密安全操作系统1053、以及加密内容再生应用1054的解密。并且,该加解密密钥,用于解密后的隐藏数据、引导加载器1041、安全操作系统1042、以及内容再生应用1043的加密。
进而,也可以对其他的数据的加解密,利用该加解密密钥。并且,也可以对用于数据以及程序等的加解密的其他的密钥的加解密,利用该加解密密钥。
并且,密钥保持部1006,也可以保持与多个程序对应的多个加解密密钥。并且,密钥保持部1006,也可以保持基于公开密钥加密方式的互不相同的加密密钥以及解密密钥。或者,密钥保持部1006,也可以保持基于共同密钥加密方式的共同的加解密密钥。
存储器1020是,挥发性的RAM(Random Access Memory:随机访问存储器),包括正常区域1030和安全区域1040。
在正常区域1030中,存放CPU1001以正常模式工作中执行的程序。具体而言,存放通用操作系统1031、播放应用1032以及内容接收应用1033。并且,在正常区域1030中,存放以正常模式工作的程序、和以安全模式工作的程序这双方访问的共享数据1034。
在安全区域1040中,存放CPU1001以安全模式工作中执行的程序。具体而言,存放引导加载器1041、安全操作系统1042以及内容再生应用1043。
在CPU1001以安全模式工作中的情况下,以及在以正常模式工作中的情况下,CPU1001都能够访问正常区域1030。在CPU1001以安全模式工作中的情况下,CPU1001能够访问安全区域1040。但是,在CPU1001以正常模式工作中的情况下,CPU1001不能访问安全区域1040。这样的访问控制,由存储器控制部1003实现。
而且,在应用不会由用户安装的环境下,调试程序或非法应用不被安装。在这样的环境下,也可以不区别正常区域1030和安全区域1040。而且,也可以以正常模式进行所有的处理。
非易失性存储装置1050是,闪存等的存储元件,内置在内容显示装置110中。而且,在非易失性存储装置1050中,存放加密隐藏数据1051。对于加密隐藏数据1051的构造,在后面进行说明。并且,在非易失性存储装置1050中,存放加密引导加载器1052、加密安全操作系统1053、加密内容再生应用1054、以及存储器1020所存放的其他的安全应用(不图示)。
在非易失性存储装置1050中,也可以还存放播放应用1032,内容接收应用1033以及内容再生应用1043等的应用。安全区域1040中存放的程序,像加密引导加载器1052、加密安全操作系统1053以及加密内容再生应用1054那样,加密后被存放在非易失性存储装置1050中。对于加密后的程序的构造,在后面进行说明。
内容显示装置110,还具备图2中没有示出的输入输出部等。但是,由于它们不是本技术的本质,因此省略说明。并且,系统LSI1000,还具备图2中没有示出的周边电路等。但是,由于它们也不是本技术的本质,因此省略说明。
<高速缓存器1004的硬件结构>
图3是图2所示的高速缓存器1004的结构图。如图3,高速缓存器1004包括,存储区域1011、以及高速缓存器控制部(高速缓存器控制器)1012。
存储区域1011是,用于将存储器1020中的数据高速缓存的区域。也就是说,存储器1020中的数据被高速缓存到存储区域1011。
高速缓存器控制部1012,也被称为高速缓存器控制器,对高速缓存器1004的工作进行控制。例如,高速缓存器控制部1012,将存储器1020中的数据高速缓存到高速缓存器1004中的存储区域1011。
更具体地说,高速缓存器控制部1012,接受来自CPU1001的数据的请求,将被高速缓存到存储区域1011的数据发送给CPU1001。在被请求的数据没有被高速缓存到存储区域1011的情况下,高速缓存器控制部1012,经由存储器控制部1003等,将存储器1020中的数据高速缓存到存储区域1011。而且,高速缓存器控制部1012,将被高速缓存到存储区域1011的数据发送给CPU1001。
而且,图3的结构是一个例子。例如,高速缓存器控制部1012也可以是,独立于高速缓存器1004的构成要素。并且,高速缓存器1004也可以是,被称为L2高速缓存器(Level 2 Cache)的高速缓存器、被称为L1高速缓存器(Level 1 Cache)的高速缓存器、其他的高速缓存器。
<内容显示装置110的软件结构>
图4是图1所示的内容显示装置110的软件结构图。如图4,内容显示装置110包括,通常的软件执行环境(以下,称为“正常环境(NormalWorld)”)1100、以及安全的软件执行环境(以下,称为“安全环境(SecureWorld)”)1200。
内容显示装置110,切换正常环境1100和安全环境1200,执行程序。而且,对于切换正常环境1100和安全环境1200的方法,可以利用例如专利文献1所记载的方法。
<正常环境1100的软件结构>
正常环境1100包括,通用操作系统1031、播放应用1032、内容接收应用1033、以及共享数据1034。
通用操作系统1031,管理以正常环境1100工作的应用(播放应用1032以及内容接收应用1033等)。并且,通用操作系统1031,进行以正常环境1100工作的应用利用网络等的硬件时的访问管理以及资源管理。
播放应用1032是,控制内容的再生的应用,向用户提供用于进行内容的选择、再生或停止等的接口。并且,播放应用1032,在用户委托内容的再生时,对内容接收应用1033以及内容再生应用1043进行指示。而且,内容接收应用1033,从内容记录装置120接收内容,内容再生应用1043,进行被接收了的内容的再生处理。
内容接收应用1033,在有来自播放应用1032的委托时,将被委托的内容,经由网络从内容记录装置120接收。
正常环境1100也可以,还包括图4中没有示出的应用。
<安全环境1200的软件结构>
安全环境1200包括,引导加载器1041、安全操作系统1042、以及内容再生应用1043。
引导加载器1041,在内容显示装置110的启动时,由IPL1002启动。而且,引导加载器1041,进行安全环境1200的初始化、安全区域1040的设定处理、以及安全操作系统1042的向存储器1020的加载处理等。
安全操作系统1042,管理以安全环境1200工作的安全应用(内容再生应用1043等)。并且,安全操作系统1042,在安全应用的启动时将安全应用加载到安全区域1040。据此,安全操作系统1042,针对以正常环境1100工作的应用保护安全应用。
进而,安全操作系统1042包括,隐藏数据加载部1044和高速缓存器锁定部1045。
例如,作为安全应用的内容再生应用1043,委托安全操作系统1042,将非易失性存储装置1050所记录的加密隐藏数据1051作为隐藏数据1010来加载。安全操作系统1042,委托高速缓存器锁定部1045,锁定用于将隐藏数据1010加载到高速缓存器1004的区域。
然后,安全操作系统1042,委托隐藏数据加载部1044,将加密隐藏数据1051作为隐藏数据1010来加载。据此,加载到高速缓存器1004的隐藏数据1010被控制为,不会被写出到存储器1020。
隐藏数据加载部1044,按照来自安全操作系统1042的委托,进行非易失性存储装置1050所记录的加密隐藏数据1051的解密以及验证。而且,隐藏数据加载部1044,将隐藏数据1010加载到指定的区域。并且,隐藏数据加载部1044,按照来自安全操作系统1042的委托,计算隐藏数据1010的验证值(Verification Value),对隐藏数据1010进行加密,生成加密隐藏数据1051。
高速缓存器锁定部1045,按照来自安全操作系统1042的委托,将存储器1020中指定的区域的数据读入到高速缓存器1004。而且,高速缓存器锁定部1045,锁定高速缓存器1004(高速缓存器1004的一部分),以使高速缓存器1004的内部的数据不会被写出到存储器1020。
在此,高速缓存器1004的锁定意味着,控制为高速缓存器1004中的数据不会被回写到存储器1020。例如,根据高速缓存器1004的锁定,使用频度高的数据被维持在高速缓存器1004的内部,数据处理的性能提高。
作为典型的高速缓存器1004的工作,在存储器1020中的数据被读入到高速缓存器1004的状态下进行锁定。因此,本实施例的高速缓存器锁定部1045,在锁定高速缓存器1004之前,将存储器1020中的数据读入到高速缓存器1004。此时被读入到高速缓存器1004的数据,不被使用。
并且,高速缓存器锁定部1045,按照来自安全操作系统1042的委托,向高速缓存器1004中解锁的区域写入0值(0的值)。然后,高速缓存器锁定部1045,进行高速缓存器1004的解锁处理。
在此,若0值不被写入而高速缓存器1004照原样被解锁,则导致被写入到高速缓存器1004的隐藏数据被写入到存储器102。因此,高速缓存器锁定部1045,在进行高速缓存器1004的解锁处理之前,向解锁的区域写入0值。
锁定高速缓存器1004的方法有,例如,锁定高速缓存器1004的整体(所有的路)的方法、锁定所有的路之中的几个路的方法、以及锁定几个线的方法等。
在CPU1001能够读取高速缓存器1004的标签的信息的情况下,在锁定几个路或线的方法等中,高速缓存器锁定部1045,获得标签的信息。而且,高速缓存器锁定部1045,确定与由安全操作系统1042指定的区域对应的路或线等,锁定被确定的路或线等。
在CPU1001不能读取高速缓存器1004的标签的信息的情况下,根据锁定几个路或线的方法等,如下,路或线等被锁定。
首先,高速缓存器锁定部1045,将高速缓存器1004的内部的没有被锁定的路或线等所存放的数据反映到存储器1020。而且,高速缓存器锁定部1045,在高速缓存器1004中,将这样的数据无效化。据此,成为由安全操作系统1042指定的区域的数据没有被存放在高速缓存器1004中的状态。
接着,高速缓存器锁定部1045,保留最后锁定的路或线等,锁定其他的路或线等。在该状态下,高速缓存器锁定部1045,进行由安全操作系统1042指定的区域的数据的读入处理。
而且,高速缓存器锁定部1045,解除锁定了的其他的路或线等的锁定。另一方,高速缓存器锁定部1045,锁定由安全操作系统1042指定的区域的数据被读入的路或线等。高速缓存器锁定部1045,在解除锁定了的路或线等的锁定的处理中,不解除从最初就锁定了的路或线等的锁定。
据此,与由安全操作系统1042指定的区域对应的路或线等被锁定。
对于隐藏数据1010的加载处理和卸载处理,利用序列图在后面进行详细说明。
内容再生应用1043,接受来自播放应用1032的委托,进行内容接收应用1033从内容记录装置120接收的内容的再生处理。但是,内容接收应用1033从内容记录装置120接收的内容已经被加密。于是,内容再生应用1043,为了对加密后的内容进行解密,向安全操作系统1042委托包含解密密钥的隐藏数据1010的加载。
安全环境1200也可以,还包含图4中没有示出的安全应用。
<加密隐藏数据1051>
图5是图2所示的加密隐藏数据1051的结构图。如图5,加密隐藏数据1051包括,头信息1061、隐藏数据主体1062、以及验证值1063。头信息1061,以没有被加密的状态被存放,隐藏数据主体1062以及验证值1063,以被加密的状态被存放。
头信息1061包括,隐藏数据主体1062的开始位置及大小、验证值1063的开始位置及大小、加密方式、以及标识符等。加密方式是,在隐藏数据主体1062以及验证值1063的加密中利用了的加密方式。并且,标识符是,用于识别验证值1063的验证算法的标识符。
隐藏数据主体1062包含,用于对从内容记录装置120接收的加密内容进行解密的密钥、以及解密算法中利用的参数的信息。这样的信息是,针对由总线探头等的硬件的攻击、以及由使用了非法应用的软件的攻击,需要保护的信息。因此,隐藏数据主体1062,在非易失性存储装置1050中,以被加密的状态被记录。
而且,隐藏数据主体1062,在由内容再生应用1043等的安全应用利用时被解密,被加载到高速缓存器1004。之前,与用于加载隐藏数据主体1062的区域对应的存储区域的数据被读入到高速缓存器1004。而且,高速缓存器1004被锁定,以使隐藏数据主体1062不会被写出到存储器1020。然后,隐藏数据主体1062,被加载到高速缓存器1004。
验证值1063是,用于验证隐藏数据主体1062没有被窜改的值。具体而言,验证值1063是,通过将加密前的隐藏数据主体1062输入到散列函数而得到的散列值。而且,验证值1063,与隐藏数据主体1062一起被加密。
而且,隐藏数据1010,不仅限于用于对加密内容进行解密的密钥、以及解密算法中使用的参数的信息。隐藏数据1010也可以包括,需要隐藏的其他的数据(例如,内容显示装置110以及同类的装置的每个分别具有的设备密钥等)。并且,隐藏数据1010也可以是,需要隐藏的算法的代码、或者用于处理需要隐藏的数据的代码等。
而且,示出了包括一个隐藏数据主体1062的加密隐藏数据1051,但是,加密隐藏数据1051不仅限于这样的结构。加密隐藏数据1051也可以包括多个隐藏数据主体。此时,多个隐藏数据主体可以被加密为一连串的数据,也可以分别被加密为个别的数据。并且,多个隐藏数据主体也可以,利用分别不同的加密方式、以及分别不同的加密密钥来被加密。
并且,加密隐藏数据1051,可以包括与多个隐藏数据主体对应的多个验证值,也可以包括多个验证值汇集为一个的验证值列表。并且,加密隐藏数据1051也可以,针对加密隐藏数据1051包括的所有的隐藏数据主体,包括一个验证值1063。
并且,如上所述,加密隐藏数据1051包括验证值1063,但是,加密隐藏数据1051不仅限于这样的结构。验证值1063,可以另外独立于加密隐藏数据1051,也可以不存在。并且,如上所述,验证值1063被加密,但也可以不被加密。并且,验证值1063,可以与隐藏数据主体1062一起被加密,也可以另外独立于隐藏数据主体1062而被加密。
并且,对于隐藏数据主体1062的加密,可以利用像DES或AES那样的共同密钥加密方式,也可以利用RSA或ElGamal等的公开密钥加密方式,还可以组合它们。
并且,如上所述,隐藏数据主体1062以及验证值1063被汇集加密,但是,加密的形态不仅限于此。可以隐藏数据主体1062和验证值1063分别被加密,也可以验证值1063不被加密而隐藏数据主体1062被加密。
并且,验证值1063,可以不位于隐藏数据主体1062的后面,而位于隐藏数据主体1062的前面。并且,验证值1063,可以包含在头信息1061中。进而,验证值1063,可以不包含在加密隐藏数据1051中,而与加密隐藏数据1051分开,被存放在加密隐藏数据1051的多个验证值汇集的验证值列表中。
而且,对于散列函数,可以利用MD4、MD5、SHA-1以及SHA-2等的算法。并且,验证值1063也可以,不是散列值,而是数字签名(DigitalSignature)、消息认证码(MAC:Message Authentication Code)值、错误检测码值、或错误校正码值。
对于计算MAC值的算法,能够利用CBC-MAC以及HMAC等。对于计算错误检测码值的算法,能够利用循环冗余检测(CRC:Cyclic RedundancyCheck)以及校验总和(checksum)等。对于计算错误校正码值的算法,能够利用里德-所罗门码以及Turbo码等。
加密隐藏数据1051,在内容显示装置110的工厂制造时被存放到非易失性存储装置1050中。此时,隐藏数据主体1062的初始数据,被生成,并以每个设备的个别的密钥被加密。据此,加密隐藏数据1051被生成。在加密上使用了的密钥,被存放到系统LSI1000中的密钥保持部1006。
而且,加密隐藏数据1051也可以,经由网络等的通信路被分发到内容显示装置110。此时,对于加密隐藏数据1051,也可以以每个设备的个别的密钥加密后的加密隐藏数据1051被分发。或者,也可以以所有的设备共同的密钥加密后的加密隐藏数据1051被分发。而且,内容显示装置110也可以,接收加密隐藏数据1051后,以每个设备的个别的密钥对加密隐藏数据1051进行加密,并保存。
并且,加密隐藏数据1051也可以,不利用网络,而利用具有便携性的记录介质被存放到内容显示装置110中。
<包生成部的结构>
图6是本实施例涉及的用于生成安全应用的包生成部的结构图。如图6,包生成部3000包括,编译器3100、链接器3101、以及包生成工具3102。包生成部3000,利用秘密密钥3112、公开密钥证书(Public KeyCertificate)3113、以及设定文件3114,根据源码(程序码)3110生成安全应用3111。
编译器3100,编译输入后的源码3110,生成对象文件。
链接器3101,使库(library)与编译器3100生成的对象文件链接。而且,链接器3101,生成内容显示装置110能够执行的文件(程序文件)。
包生成工具3102,根据链接器3101生成的程序文件,利用设定文件3114、秘密密钥3112、以及公开密钥证书3113,生成安全应用3111。
包生成部3000,被包含在与内容显示装置110不同的安全应用开发装置中。而且,由安全应用开发装置的包生成部3000生成的安全应用3111,作为加密内容再生应用1054等,被存放到内容显示装置110的非易失性存储装置1050中。
<安全应用3111的结构>
图7是本实施例涉及的安全应用3111的结构图。如图7,安全应用3111包括,应用头信息3201、应用主体3202、设定文件3203、应用签名列表(Application Signature List)3204、公开密钥证书3205、以及签名(Signature)3206。
在图7中,示出了安全应用3111的构造,但是,不仅限于内容再生应用1043的构造,引导加载器1041以及安全操作系统1042的构造也可以与图7示出的构造同样。
应用头信息3201包括,用于识别安全应用3111的标识符。并且,应用头信息3201,针对应用主体3202、设定文件3203、应用签名列表3204以及公开密钥证书3205各自,包括开始地址、大小以及文件数等。并且,应用头信息3201包括,与对应用主体3202、设定文件3203以及应用签名列表3204进行加密时使用了的加密方式有关的信息等。
应用主体3202是,根据源码3110,使用编译器3100和链接器3101生成的程序文件。
设定文件3203,与输入到包生成工具3102的设定文件3114相同。
应用签名列表3204是,应用主体3202以及设定文件3203这双方的签名排列的列表。包生成工具3102,在生成安全应用3111时,根据输入后的应用主体3202以及设定文件3203,生成各个签名,生成应用签名列表3204。对于签名的生成,使用秘密密钥3112。
公开密钥证书3205,与输入到包生成工具3102的公开密钥证书3113相同。
签名3206是,由应用头信息3201、应用主体3202、设定文件3203、应用签名列表3204以及公开密钥证书3205构成的一连串的数据的签名。在此,以应用主体3202、设定文件3203以及应用签名列表3204被加密的状态,签名3206被生成。
而且,所述的安全应用3111被构成为,包括应用主体3202、设定文件3203、应用签名列表3204以及公开密钥证书3205各自的每一个,但是,安全应用3111的结构,不仅限于这样的结构。对于应用主体3202、设定文件3203、应用签名列表3204以及公开密钥证书3205的某个,可以是多个文件,也可以不存在。
并且,如上所述,安全应用3111包括,应用主体3202以及设定文件3203这双方的签名排列的应用签名列表3204,但是,安全应用3111的结构,不仅限于这样的结构。安全应用3111也可以,分别包括与应用主体3202以及设定文件3203对应的两个签名。
<安全引导处理>
内容显示装置110,在内容显示装置110的启动时,验证以安全环境1200工作的引导加载器1041以及安全操作系统1042没有被窜改的情况。
以下,对于内容显示装置110的电源接通后,直到通用操作系统103启动为止的方法(安全引导处理),利用图8的序列图进行说明。
内容显示装置110的电源接通后,CPU1001,以安全模式且特权模式的状态,执行系统LSI1000中的IPL1002。而且,会有将CPU1001根据IPL1002执行处理这情况表现为IPL1002执行处理的情况。并且,会有将CPU1001根据程序等执行处理这情况表现为程序等执行处理的情况。
IPL1002,首先进行内容显示装置110的硬件的初始化处理(S1000)。在初始化处理中,IPL1002,进行存储器1020的工作检查、存储器控制部1003的初始化、以及周边电路(不图示的)的初始化等的处理。而且,IPL1002,在存储器控制部1003的初始化时,在存储器1020,设定正常区域1030以及安全区域1040。
IPL1002,初始化处理后,将引导加载器1041从非易失性存储装置1050加载到安全区域1040(S1001)。IPL1002,进行加载到安全区域1040的引导加载器1041的篡改验证(S1002)。此时,IPL1002,利用引导加载器1041中附加的签名和公开密钥证书,进行引导加载器1041的篡改验证。
IPL1002,在根据验证的结果,判定为引导加载器1041没有被窜改的情况下(S1002的OK),启动引导加载器1041(S1003)。另一方面,IPL1002,在根据验证的结果,判定为引导加载器1041被窜改的情况下(S1002的NG),结束内容显示装置110的启动。
引导加载器1041,由IPL1002启动后(S1003),进行安全环境1200的初始设定(S1004)。引导加载器1041,在初始设定中(S1004),进行用于以安全环境1200执行安全操作系统1042以及安全应用3111等的各种设定。
引导加载器1041,初始设定的结束后,将安全操作系统1042从非易失性存储装置1050加载到安全区域1040(S1005)。引导加载器1041,进行加载到安全区域1040的安全操作系统1042的篡改验证(S1006)。此时,引导加载器1041,利用安全操作系统1042中附加的签名以及公开密钥证书,进行安全操作系统1042的篡改验证。
引导加载器1041,在根据验证的结果,判定为安全操作系统1042没有被窜改的情况下(S1006的OK),启动安全操作系统1042(S1007)。另一方面,引导加载器1041,在根据验证的结果,判定为安全操作系统1042被窜改的情况下(S1006的NG),不启动安全操作系统1042。
安全操作系统1042,在由引导加载器1041启动的情况下(S1007),进行用于执行安全操作系统1042本身、以及以该环境执行安全应用3111等的初始设定(S1008)。安全操作系统1042,初始设定结束后,向引导加载器1041通知初始化结束(S1009)。
引导加载器1041,在判定为安全操作系统1042被窜改的情况下(S1006的NG),设定安全引导失败标志(S1010)。安全引导失败标志,在软件执行环境从正常环境1100转变为安全环境1200时被检查。
而且,在安全引导失败了的情况下,引导加载器1041,利用安全引导失败标志,向正常环境1100通知处理错误。并且,以正常环境1100工作的应用,也能够以读入专用(Read-Only)访问安全引导失败标志。也就是说,以正常环境1100执行的应用能够参照安全引导失败标志。
引导加载器1041,初始化结束通知(S1009)或标志设定(S1010)之后,将通用操作系统1031从非易失性存储装置1050加载到正常区域1030(S1011)。然后,引导加载器1041,将CPU1001变更为正常模式,执行通用操作系统1031(S1012)。
而且,如上所述,引导加载器1041,加载通用操作系统1031,但是,处理的形态,不仅限于此。
安全操作系统1042也可以,初始化处理结束后,不将处理返回到引导加载器1041,而加载通用操作系统1031。而且,安全操作系统1042也可以,通用操作系统1031的加载后,将CPU1001变更为正常模式,执行通用操作系统1031。
并且,如上所述,通用操作系统1031被加载后,CPU1001被变更为正常模式,通用操作系统1031被执行,但是,处理的形态,不仅限于此。
也可以是,通用操作系统1031被加载后,检查通用操作系统1031没有被窜改的情况。而且,也可以是,在通用操作系统1031没有被窜改的情况下,CPU1001被变更为正常模式,通用操作系统1031被执行。
而且,也可以是,在通用操作系统1031被窜改的情况下,结束内容显示装置110的启动。或者,也可以是,在通用操作系统1031被窜改的情况下,安全引导失败标志被设定。而且,也可以是,在安全引导失败标志被设定的状态下,CPU1001被变更为正常模式,通用操作系统1031被执行。
<隐藏数据1010的加载处理>
安全操作系统1042,在从安全应用3111受到隐藏数据1010的加载处理的委托时,加载隐藏数据1010。此时,安全操作系统1042,利用隐藏数据加载部1044以及高速缓存器锁定部1045,将隐藏数据1010加载到系统LSI1000的内部。
据此,安全操作系统1042,保护隐藏数据1010,不受由总线探头等的硬件的攻击,也不受由调试程序或非法应用等的软件的攻击。
以下,对于将隐藏数据1010加载到被设定为安全区域1040的数据用的高速缓存器1004的内部的处理,利用图9的序列图进行说明。
在从内容再生应用1043等的安全应用3111受到隐藏数据1010的加载的委托时,安全操作系统1042,在安全区域1040中确保用于隐藏数据1010的存储区域(S1100)。
而且,安全操作系统1042,将确保的存储区域的信息(地址以及大小)通知给高速缓存器锁定部1045,向高速缓存器锁定部1045委托高速缓存器1004的锁定(S1101)。
高速缓存器锁定部1045,以从安全操作系统1042通知的存储区域(安全区域1040的一部分)的数据被读入到高速缓存器1004的方式,进行数据的读入处理(S1102)。该处理(S1102)的目的是,使高速缓存器1004读入数据,因此,实际读入后的数据不被使用。因此,高速缓存器锁定部1045也可以进行不具有值的空数据的读入处理。
高速缓存器锁定部1045进行锁定,以使在前处理(S1102)中被读入到高速缓存器1004的数据,不会从高速缓存器1004中被除外,不会被写出到系统LSI1000的外部的存储器1020(S1103)。根据该处理,即使在被锁定的区域的数据被变更的情况下,该变更后的数据也不会被写入到存储器1020。
高速缓存器锁定部1045,将锁定处理结束的情况,通知给安全操作系统1042(S1104)。
接着,安全操作系统1042,向隐藏数据加载部1044委托,将隐藏数据1010加载到高速缓存器1004的被锁定的区域(S1105)。此时,安全操作系统1042,将要加载的高速缓存区域的信息(地址以及大小),通知给隐藏数据加载部1044。
隐藏数据加载部1044,从非易失性存储装置1050读入加密隐藏数据1051(S1106)。此时,隐藏数据加载部1044也可以,将加密隐藏数据1051加载到存储器1020的安全区域1040。
而且,隐藏数据加载部1044,利用由密钥保持部1006保持的密钥,对加密隐藏数据1051进行解密,从而获得隐藏数据1010(S1107)。而且,隐藏数据加载部1044,将解密后的隐藏数据1010写入到从安全操作系统1042通知的区域(S1108)。
隐藏数据加载部1044,写入完成后,利用加密隐藏数据1051中附加的验证值1063,验证数据没有被窜改的情况(S1109)。隐藏数据加载部1044,在验证的结果为被窜改的情况下,以0来重写加载后的数据的全部。
然后,隐藏数据加载部1044,向安全操作系统1042通知加载处理的结束(S1110)。在隐藏数据1010被正常加载,验证的结果为没有被窜改的情况下,隐藏数据加载部1044,向安全操作系统1042通知正常结束。另一方面,在隐藏数据1010被窜改的情况下,隐藏数据加载部1044,向安全操作系统1042通知错误。
如上所述,在隐藏数据1010的加载之前,进行高速缓存器1004的锁定处理。据此,即使隐藏数据1010被写入到高速缓存器1004,隐藏数据1010也不会流出到系统LSI1000的外部。因此,能够保护隐藏数据1010,不受由总线探头等的硬件的攻击。
并且,与隐藏数据1010对应的存储区域,被确保在安全区域1040中。因此,能够保护隐藏数据1010,也不受由以正常环境1100工作的调试程序或非法应用等的软件的攻击。
而且,如上所述,高速缓存器锁定部1045,以从安全操作系统1042通知的存储区域的数据被读入到高速缓存器1004的方式,进行数据的读入处理(S1102)。但是,处理的形态,不仅限于此。
例如,高速缓存器锁定部1045也可以,判定从安全操作系统1042通知的存储区域的数据是否已经被读入到高速缓存器1004。而且,高速缓存器锁定部1045也可以,在该数据没有被读入的情况下,执行读入处理(S1102)。或者,安全操作系统1042也可以进行读入处理(S1102)。在数据已经被读入的情况下,可以不执行读入处理(S1102)。
并且,例如,也可以是,在高速缓存器1004中已经存在能够重写的高速缓存区域的情况下,将该高速缓存区域用于隐藏数据1010的加载。也就是说,也可以是,高速缓存器锁定部1045,锁定可重写的高速缓存区域,隐藏数据加载部1044,将隐藏数据1010加载到该高速缓存区域。
并且,如上所述,安全操作系统1042,在安全区域1040中确保用于隐藏数据1010的存储区域,但是,被确保的存储区域,不仅限于安全区域1040。在不受到由调试程序或非法应用等的软件的攻击的环境下,保护隐藏数据1010不受由硬件的攻击即可的情况下,安全操作系统1042也可以,在正常区域1030中确保用于隐藏数据1010的存储区域。
<隐藏数据1010的卸载处理>
安全操作系统1042,在从安全应用3111受到隐藏数据1010的卸载处理的委托时,利用隐藏数据加载部1044以及高速缓存器锁定部1045,卸载隐藏数据1010。高速缓存器锁定部1045,以隐藏数据1010不会被写出到系统LSI1000的外部的方式,以0数据(0的值)来重写高速缓存区域。然后,高速缓存器锁定部1045,解除加载处理中被锁定的高速缓存区域的锁定。
以下,对于委托隐藏数据1010的卸载之后,直到隐藏数据1010被卸载为止的处理,利用图10的序列图进行说明。
安全操作系统1042,在从安全应用3111受到隐藏数据1010的卸载处理的委托时,向隐藏数据加载部1044委托隐藏数据1010的保存处理(S1120)。
隐藏数据加载部1044,从隐藏数据1010计算验证值1063(S1121)。并且,隐藏数据加载部1044,利用由密钥保持部1006保持的密钥对隐藏数据1010进行加密,生成加密隐藏数据1051(S1122)。而且,隐藏数据加载部1044,将生成的加密隐藏数据1051保存到非易失性存储装置1050(S1123)。然后,隐藏数据加载部1044,将保存结果通知给安全操作系统1042(S1124)。
接着,安全操作系统1042,向高速缓存器锁定部1045委托被锁定的高速缓存器1004的解锁(S1125)。
高速缓存器锁定部1045,将0的值写入到记录有隐藏数据1010的高速缓存区域的全部(S1126)。而且,高速缓存器锁定部1045,解除隐藏数据1010的加载处理中被锁定的高速缓存器1004的锁定(S1127)。然后,高速缓存器锁定部1045,将解锁处理的结束通知给安全操作系统1042(S1128)。
安全操作系统1042,开放与隐藏数据1010被加载的高速缓存区域对应的安全区域1040中的存储区域(S1129)。
在隐藏数据1010的卸载中,在不进行写入0的值的处理(S1126)而解除高速缓存器1004的锁定的情况下,高速缓存器1004中剩余的隐藏数据1010,被写出到存储器1020。通过进行写入0的值的处理(S1126),不是隐藏数据1010,而是0的值被写出到存储器1020。
因此,即使高速缓存器1004的锁定被解除,高速缓存器1004中的数据被写出到存储器1020,隐藏数据1010也不会被写出到存储器1020。
如上所述,本实施例涉及的内容显示装置110,在系统LSI1000的内部处理再生内容时利用的密钥等的隐藏数据1010。据此,内容显示装置110,能够保护隐藏数据1010不受由硬件的攻击。并且,内容显示装置110,在安全区域1040中确保用于隐藏数据1010的存储区域,从而能够保护隐藏数据1010也不受由软件的攻击。
据此,内容显示装置110,能够具有安全强度(保护强度)互不相同的三种区域。第一区域是,没有被保护的正常区域1030。第二区域是,针对由软件的攻击保护的安全区域1040。第三区域是,针对由硬件的攻击、以及由软件的攻击这双方保护的区域。
并且,隐藏数据加载部1044,以安全环境1200,加载隐藏数据1010。据此,防止由以正常环境1100工作的调试程序或非法程序等,隐藏数据1010被非法获得的情况。
并且,在本实施例中,系统LSI1000中的高速缓存器1004的一部分被利用。因此,系统LSI1000也可以,在系统LSI1000的内部不具有专用存储器。而且,共用存储器高效率地被利用。并且,由于高速缓存器1004本来具有的功能被利用,因此,对于本实施例所示的处理,不追加新的硬件,而能够适用于现有系统。
并且,通过加载处理或卸载处理,能够避免高速缓存器1004的一部分总是被占有(锁定)这状态。而且,隐藏数据1010被处理时,高速缓存器1004被锁定。因此,在高速缓存器1004中,缓冲数据的功能也被有效利用。
而且,如上所述,在隐藏数据1010的处理开始时,高速缓存器1004的锁定开始。但也可以是,利用隐藏数据1010的应用开始时,高速缓存器1004的锁定开始。而且,也可以是,利用隐藏数据1010的应用结束时,高速缓存器1004的锁定被解除。
据此,在利用隐藏数据1010的应用的工作中,隐藏数据1010被维持在高速缓存器1004中。因此,因隐藏数据1010的加载以及卸载而发生的处理量减少。
并且,在高速缓存器1004中存在充分的容量的情况下也可以,在内容显示装置110的启动时,高速缓存器1004的锁定开始。例如,也可以是,在安全操作系统1042的启动时,高速缓存器锁定部1045,为了隐藏数据1010,开始高速缓存器1004的锁定。而且,高速缓存器1004的锁定也可以不被解除。即使根据这样的处理,也能够适当保护隐藏数据1010。
(实施例2)
在实施例1中,安全操作系统1042,按照来自内容再生应用1043等的安全应用3111的请求,将隐藏数据1010加载到高速缓存器1004。在本实施例中,安全应用3111的应用主体3202的内部包括,加载到安全区域1040的部分、和加载到高速缓存器1004的部分。而且,在安全应用3111的加载时,这样的部分各自分别被加载。
以下,说明本实施例涉及的安全操作系统1042、包生成部3000、安全应用3111以及应用主体3202的结构,说明安全应用3111的加载处理。而且,对于与实施例1同样的构成要素,利用相同的符号,并省略说明。
<安全操作系统1042的结构>
图11是本实施例涉及的安全操作系统1042的结构图。如图11,安全操作系统1042包括,隐藏数据加载部1044、高速缓存器锁定部1045、以及应用加载部1046。
应用加载部1046,在安全应用3111的加载时,获得安全应用3111中包含的应用头信息3201。而且,应用加载部1046,根据应用头信息3201,判定针对由硬件的攻击也需要隐藏的代码或数据是否被包含在应用主体3202中。
在需要隐藏的代码或数据被包含的情况下,应用加载部1046,向高速缓存器锁定部1045委托,锁定用于加载需要隐藏的代码或数据的高速缓存器1004的区域。然后,应用加载部1046,对安全应用3111进行解密并加载。
隐藏数据加载部1044以及高速缓存器锁定部1045是,与实施例1的隐藏数据加载部1044以及高速缓存器锁定部1045同样的构成要素。
而且,也可以是,应用主体3202的整体,被加载到高速缓存器1004中被锁定的区域。并且,也可以是,应用主体3202被加载到高速缓存器1004的所有的区域被锁定,进行解密以及加载处理后,针对不需要隐藏的数据,一部分的区域的锁定被解除。在此情况下,与隐藏数据1010的卸载处理不同,不会以0值来重写数据。
<包生成部3000的结构>
本实施例涉及的包生成部3000,具备与实施例1的包生成部3000同样的构成要素,但是,工作的一部分不同。对于进行与实施例1同样的工作的构成要素,省略说明。
编译器3100,编译输入后的源码3110,生成对象文件。此时,编译器3100,将源码3110中的、附上表示隐藏数据1010的标识符的数据、处理隐藏数据1010的函数、或附上表示要隐藏这情况的标识符的代码等,存放到特定的段。
在该特定的段中,附上表示是隐藏数据1010或与隐藏数据1010有关的代码的标识符。对于段,在后面进行详细说明。
链接器3101以及包生成工具3102是,与实施例1的链接器3101以及包生成工具3102同样的构成要素。
而且,在本实施例中,编译器3100,将隐藏数据1010以及与隐藏数据1010有关的代码存放到特定的段。但是,将隐藏数据1010以及与隐藏数据1010有关的代码存放到特定的段的处理部,不仅限于编译器3100。
例如,编译器3100也可以,将源码3110中包含隐藏数据1010或与隐藏数据1010有关的代码这情况通知给链接器3101。而且,链接器3101也可以,在链接处理时,将隐藏数据1010或与隐藏数据1010有关的代码存放到特定的段。
并且,链接器3101也可以,将源码3110中包含隐藏数据1010或与隐藏数据1010有关的代码这情况通知给包生成工具3102。而且,包生成工具3102也可以,在包的生成处理时,将隐藏数据1010或与隐藏数据1010有关的代码存放到特定的段。
<安全应用3111的结构>
本实施例涉及的安全应用3111包括,应用头信息3201、应用主体3202、设定文件3203、应用签名列表3204、公开密钥证书3205以及签名3206。
应用头信息3201具有,表示应用主体3202中是否包含需要隐藏的代码或数据的标志。对于其他的信息,由于与实施例1同样,因此省略说明。
对于应用主体3202、设定文件3203、应用签名列表3204、公开密钥证书3205以及签名3206,由于与实施例1同样,因此省略说明。
<应用主体3202的结构>
图12是本实施例涉及的应用主体3202的结构图。如图12,应用主体3202包括,头部3210、.text段3211、.hctext段3212、.rodata段3213、.data段3214、.bss段3215、以及.hcdata段3216。
头部3210,具有后续于头部3210的多个段各自的种类、开始地址以及大小等的信息。
.text段3211是,用于存放程序的代码的段,被设定为读取专用且可执行。
.hctext段3212是,用于存放包括与隐藏数据1010有关的代码的程序的代码的段,被设定为读取专用且可执行。
.rodata段3213是,用于存放常数数据的段,被设定为读取专用且不可执行。
.data段3214是,用于存放设定有初始值的数据的段,被设定为可读写且不可执行。
.bss段3215是,用于存放没有设定初始值的数据的段,被设定为可读写且不可执行。
.hcdata段3216是,存放隐藏数据1010的段,被设定为可读写且不可执行。
如上构成的应用主体3202中,应用加载部1046,将.hctext段3212以及.hcdata段3216,加载到高速缓存器1004的被锁定的区域。应用加载部1046,将其他的段,加载到安全区域1040。
而且,如上所述,示出.hctext段3212以及.hcdata段3216,以作为被加载到被锁定的区域的段的种类。可是,对于被加载到被锁定的区域的段的种类,不仅限于此。
头部3210也可以包括,示出将.text段3211以及.data段3214的数据加载到高速缓存器1004的被锁定的区域、还是加载到安全区域1040的标志。而且,应用加载部1046也可以,根据该标志,判定将数据加载到高速缓存器1004的锁定的区域、还是将数据加载到安全区域1040。
并且,如上所述,在应用主体3202中示出,加载到高速缓存器1004的被锁定的区域的部分、与加载到安全区域1040的部分混在一起的结构。但是,安全应用3111的结构,不仅限于这样的结构。安全应用3111,可以包括两个应用主体3202、3202a(不图示)。而且,也可以是,应用主体3202被加载到安全区域1040,应用主体3202a被加载到高速缓存器1004的被锁定的区域。
<安全应用3111的加载处理>
安全操作系统1042,在加载安全应用3111时,判定安全应用3111中是否包含需要隐藏的代码或数据。而且,安全操作系统1042,将安全应用3111的需要隐藏的代码以及数据加载到高速缓存器1004,将其他加载到安全区域1040。
以下,对于加载安全应用3111的处理,利用图13的流程图进行说明。
安全操作系统1042,读入安全应用3111,验证签名3206(S1200)。安全操作系统1042,在签名3206的验证失败的情况下,停止安全应用3111的加载处理。
安全操作系统1042,在签名的验证(S1200)成功的情况下,读入安全应用3111的应用头信息3201(S1201)。
安全操作系统1042,从读入后的应用头信息3201,获得示出应用主体3202中是否包含需要隐藏的代码或数据的标志。而且,安全操作系统1042,根据标志,判定应用主体3202中是否包含需要隐藏的代码或数据(S1202)。
安全操作系统1042,在判定为需要隐藏的代码或数据被包含在应用主体3202中的情况下(S1202的“是”),对应用主体3202的头部3210进行解密。而且,安全操作系统1042,计算需要隐藏的代码以及数据的大小,进行加载处理(S1203)。对于加载处理,由于与图9的隐藏数据1010的加载处理同样,因此省略详细说明。
安全操作系统1042,根据头部3210中描述的各个段的开始地址以及大小的信息,对需要隐藏的代码以及数据进行解密,加载到被锁定的高速缓存器1004。
安全操作系统1042,在判定为需要隐藏的代码或数据没有被包含在应用主体3202中的情况下(S1202的“否”),对不需要隐藏的代码或数据进行解密。或者,安全操作系统1042,将需要隐藏的代码或数据加载到高速缓存器1004之后(S1203),对不需要隐藏的代码或数据进行解密。
而且,安全操作系统1042,将不需要隐藏的解密后的代码或数据加载到安全区域1040(S1204)。
而且,如上所述,安全操作系统1042,判定需要隐藏的代码或数据是否被包含在应用主体3202中,将需要隐藏的代码或数据加载到高速缓存器1004的锁定的区域。但是,处理的形态,不仅限于这样的形态。
首先,安全操作系统1042也可以,将所有的数据视为需要隐藏的代码或数据,加载到高速缓存器1004的被锁定的区域(S1203)。
而且,安全操作系统1042也可以,读入头部3210(S1201),根据头部3210的信息,判定被锁定的区域中的、需要隐藏的代码或数据的区域(S1202)。而且,安全操作系统1042也可以,解除被锁定的区域中的、需要隐藏的代码或数据没有被包含的区域的锁定。
如上所述,根据本实施例,能够将需要隐藏的代码或数据包含在内容再生应用1043等的安全应用3111中。据此,安全应用3111也可以,不需要向安全操作系统1042个别委托隐藏数据1010的加载处理。
并且,也可以不将隐藏数据1010的加载处理以及卸载处理作为程序来嵌入到安全应用3111中。通过适当设定需要隐藏的代码或数据的段,安全操作系统1042将需要隐藏的代码或数据加载到适当的区域。因此,即使在由硬件的结构变更了加载目的地的情况下,也可以不变更安全应用3111。因此,安全应用3111的移植性提高。
(实施例3)
在实施例1中,安全操作系统1042,按照来自内容再生应用1043等的安全应用3111的请求,将隐藏数据1010加载到高速缓存器1004。并且,在实施例2中,安全应用3111的应用主体3202,在其内部具有,被加载到安全区域1040的部分、和被加载到高速缓存器1004的部分,在安全应用3111的加载时,分别加载两个部分。
在本实施例中,安全操作系统1042,在处理隐藏数据1010时,将处理隐藏数据1010以及其他的数据的函数所使用的堆栈区域,在高速缓存器1004中锁定。据此,隐藏数据1010安全地被处理。并且,安全操作系统1042,在不处理隐藏数据1010时,将高速缓存器1004解锁。据此,高速缓存器1004的利用效率提高。
以下,说明本实施例涉及的高速缓存器1004的锁定处理和解锁处理。而且,对于与实施例1同样的处理以及构成要素,利用相同的符号,并省略说明。
<高速缓存器1004的锁定处理>
即使在安全应用3111将针对硬件的攻击以及针对由软件的攻击都需要保护的隐藏数据1010加载到高速缓存器1004的被锁定的区域的情况下,也会有不充分保护的情况。
例如,在以与隐藏数据1010不同的值进行运算,该运算结果,被重写并保存到存放有隐藏数据1010的区域的情况下,不会发生问题。但是,在向被配置在存储器1020中的堆栈区域的局部变量存放运算结果的情况下等,会发生问题。这是因为,会有根据运算结果能够求出原来的隐藏数据1010本身的情况的缘故。
于是,安全应用3111,在处理隐藏数据1010时,在高速缓存器1004中锁定堆栈区域,从而保护隐藏数据1010以及与其有关的数据。
以下,对于在高速缓存器1004中锁定堆栈区域的处理,利用图14A的序列图进行说明。
安全操作系统1042,按照来自安全应用3111的委托,求出安全应用3111的堆栈正在使用的地址(S2000)。
安全操作系统1042,将堆栈区域的信息(地址以及大小)通知给高速缓存器锁定部1045,委托高速缓存器1004的锁定(S2001)。
高速缓存器锁定部1045,锁定高速缓存器1004中的堆栈区域,以使堆栈区域的数据,不会从高速缓存器1004中被除外,不会被写出到系统LSI1000的外部的存储器1020(S1103)。锁定的处理本身,与实施例1同样。在本实施例中,作为锁定的对象的堆栈区域,在函数的执行中已经读入到高速缓存器1004。因此,并不需要进行读入数据的处理(S1102)。
高速缓存器锁定部1045,将锁定处理结束的情况通知给安全操作系统1042(S1104)。
以上,处理结束。然后,安全应用3111,利用隐藏数据1010进行运算处理,将其结果或中途结果等存放到堆栈区域。
但是,在新的存储区域被分配为堆栈区域的情况下,安全操作系统1042,判定在高速缓存器1004中是否锁定安全应用3111的堆栈区域。在堆栈区域已经被锁定的情况下,安全操作系统1042,在高速缓存器1004中还锁定被追加分配到堆栈的区域。
而且,如上所述,安全操作系统1042,按照来自安全应用3111的委托,锁定高速缓存器1004中的堆栈区域。但是,处理的定时,不仅限于这样的定时。安全操作系统1042也可以,在被委托隐藏数据1010的加载处理时,在高速缓存器1004中锁定委托了加载处理的安全应用3111的堆栈区域。
并且,也可以是,在安全应用3111访问预先设定的特定的区域时,在高速缓存器1004中锁定安全应用3111的堆栈区域。
并且,如上所述,安全操作系统1042,锁定高速缓存器1004中的堆栈区域。但是,被锁定的区域,不仅限于堆栈区域。安全操作系统1042,可以锁定存放有其他的数据的区域。对于被锁定的区域,例如,可以是使用malloc函数等而动态地确保的区域,也可以是包含由安全应用3111中的任意的函数能够访问的全局变量的区域。
<高速缓存器1004的解锁处理>
安全应用3111,在利用了隐藏数据1010的处理结束时,消除与隐藏数据1010有关的堆栈区域内的数据。而且,安全应用3111,向安全操作系统1042委托高速缓存器1004中的堆栈区域的解锁。安全操作系统1042,接受委托,解锁高速缓存器1004中的堆栈区域。
据此,其他的程序或其他的数据能够利用高速缓存器1004中的锁定过的区域。因此,高速缓存器1004被有效利用。
以下,对于在高速缓存器1004中解锁堆栈区域的处理,利用图14B的序列图进行说明。
安全应用3111,向安全操作系统1042委托高速缓存器1004中的堆栈区域的解锁。接受了委托的安全操作系统1042,向高速缓存器锁定部1045委托,高速缓存器1004中被锁定的堆栈区域的解锁(S1125)。
高速缓存器锁定部1045,解除高速缓存器1004中被锁定的堆栈区域的锁定(S2010)。而且,高速缓存器锁定部1045,将解锁处理的结束通知给安全操作系统1042(S1128)。
以上,处理结束。然后,安全应用3111通常工作,堆栈区域的数据被读入到高速缓存器1004,或者,高速缓存器1004的数据被写出到存储器1020。据此,高速缓存器1004高效率地被利用。
如上所述,根据本实施例,存放有数据的堆栈区域等,在程序的执行中,在高速缓存器1004中,被锁定,并被解锁。据此,不仅限于隐藏数据1010本身,由处理隐藏数据1010的程序生成的数据、以及根据隐藏数据1010计算的结果也被保护。
(实施例4)
本实施例涉及的信息处理装置具备,实施例1至3所示的内容显示装置110的具有特征性的构成要素。
图15A是本实施例涉及的信息处理装置的硬件结构图。图15A所示的信息处理装置300是处理保护对象数据的装置。而且,信息处理装置300具备,两个存储部301、302、以及高速缓存器控制部303。
存储部301,与图2所示的存储器1020对应。存储部302,与图3所示的存储区域1011对应。高速缓存器控制部303,与图3所示的高速缓存器控制部1012对应。
图15B是示出图15A所示的信息处理装置300的工作的流程图。首先,高速缓存器控制部303,将存储部301中的存储数据高速缓存到存储部302(S301)。
接着,高速缓存器控制部303,锁定存储部302中的高速缓存区域,以使从被高速缓存到存储部302的存储数据的高速缓存区域得到的高速缓存数据不会被写回到存储部301(S302)。接着,高速缓存器控制部303,在存储部302中的高速缓存区域被锁定后,向存储部302中的高速缓存区域写入与存储数据不同的保护对象数据(S303)。
据此,保护对象数据,被写入到高速缓存器(存储部302)。外部的装置访问被写入到高速缓存器的数据是困难的。因此,能够适当保护保护对象数据。
接着,高速缓存器控制部303,在保护对象数据被处理后,清除存储部302中的高速缓存区域(S304)。接着,高速缓存器控制部303,解除高速缓存区域的锁定,以使从被清除的高速缓存区域得到的高速缓存数据能够被写回到存储部301(S305)。据此,保护对象数据,在从高速缓存器被写回到存储器之前,被消除。因此,能够适当保护保护对象数据。
而且,高速缓存器控制部303也可以,在保护对象数据被处理时,针对保护对象数据,分配存储部301中的数据区域。而且,高速缓存器控制部303也可以,将被分配的数据区域中的存储数据高速缓存到存储部302(S301)。据此,用于保护对象数据的数据区域,被分配到SDRAM等的存储器(存储部301)中。因此,维持存储器的区域与高速缓存器的区域之间的适当的对应关系。
并且,可以省略保护对象数据被处理后的处理(S304、S305)。若保护对象数据不会被写回,则能够适当保护保护对象数据。
并且,高速缓存器控制部303也可以,通过以不使处理器输出的保护对象数据由外部的装置获得的方式被物理保护的电路,将保护对象数据写入到存储部302中的高速缓存区域。而且,存储部302也可以被物理保护,以不使高速缓存区域中的保护对象数据由外部的装置获得。
例如,也可以是,以不使保护对象数据由外部的装置获得的方式,处理器、存储部302、以及处理器与存储部302之间的电路,由一个集成电路构成。据此,外部的装置获得保护对象数据是物理上困难的。因此,能够适当保护保护对象数据。
并且,高速缓存器控制部303也可以,将由程序预定为将要被写入到存储部301的保护对象数据写入到存储部302中的高速缓存区域。据此,程序将要写入到存储器的保护对象数据,不被写入到存储器,而被写入到高速缓存器。因此,能够适当保护保护对象数据。
并且,高速缓存器控制部303也可以,将可执行的程序作为保护对象数据来写入到存储部302中的高速缓存区域。据此,能够保护保护对象程序不被篡改。因此,能够适当执行保护对象程序。
(实施例5)
本实施例涉及的信息处理装置具备,实施例1至3所示的内容显示装置110的具有特征性的构成要素。并且,在本实施例中,除了实施例4所示的构成要素以外,还示出能够任意追加的构成要素。
图16是本实施例涉及的信息处理装置的硬件结构图。图16所示的信息处理装置400是,处理保护对象数据的装置。而且,信息处理装置400具备,存储部401以及集成电路405。
存储部401是,与图2所示的存储器1020、以及图15A所示的存储部301对应的存储装置。并且,存储部401包括,两个存储区域411、412。存储区域411,与图2所示的正常区域1030对应,存储区域412,与图2所示的安全区域1040对应。存储区域411是,用于存储正常程序的区域。存储区域412是,用于存储安全程序的区域,也是禁止由正常程序访问的区域。
集成电路405,与图2所示的系统LSI1000对应。并且,集成电路405包括,存储部402、高速缓存器控制部403、处理器404以及访问控制部406。
存储部402,与图3所示的存储区域1011、以及图15A所示的存储部302对应。高速缓存器控制部403,与图3所示的高速缓存器控制部1012、以及图15A所示的高速缓存器控制部303对应。处理器404,与图2所示的CPU1001对应。访问控制部406,主要,与图2所示的存储器控制部1003对应。
存储部402、高速缓存器控制部403以及处理器404,被包含在集成电路405中。外部的装置访问集成电路405的内部的数据是困难的。因此,能够适当保护保护对象数据。
处理器404也可以,生成保护对象数据,输出生成的保护对象数据。而且,高速缓存器控制部403也可以,在存储部402中的高速缓存区域被锁定后,将从处理器404输出的保护对象数据,写入到存储部402中的高速缓存区域。据此,由处理器生成的保护对象数据,被写入到高速缓存器。因此,能够适当保护由处理器生成的保护对象数据。
例如,处理器404也可以,对加密数据进行解密,生成保护对象数据,从而输出生成的保护对象数据。据此,能够适当保护通过加密数据的解密而获得的保护对象数据。
并且,处理器404也可以,以安全模式执行安全程序,以正常模式执行正常程序。据此,以适当的安全水平执行程序,根据与程序对应的安全水平执行访问控制。
并且,高速缓存器控制部403也可以,将由安全程序预定为将要被写入到存储区域412的保护对象数据写入到存储部402中的高速缓存区域。据此,安全程序将要写入到存储器的保护对象数据,不被写入到存储器,而被写入到高速缓存器。因此,保护对象数据,以更高的水平被保护。
并且,访问控制部406也可以,禁止由正常程序访问存储区域412。据此,能够适当控制对两个存储区域411、412的访问。因此,能够适当限制非法程序的执行。
(其他的变形例)
本公开涉及的信息处理装置,不仅限于实施例1至5。信息处理装置也可以如下构成。
(1)根据所述的结构,安全区域1040所存放的程序(加密引导加载器1052,加密安全操作系统1053以及加密内容再生应用1054),分别被存放到非易失性存储装置1050。但是,存放的形态,不仅限于这样的形态。
安全区域1040所存放的程序也可以被汇集为一个。也就是说,也可以是,引导加载器1041、安全操作系统1042、以及内容再生应用1043被汇集为一个文件并被加密,被存放到非易失性存储装置1050。
在安全区域1040所存放的程序被汇集为一个的情况下,IPL1002也可以,在进行引导加载器1041的加载以及验证时(图8的S1001以及S1002),进行汇集为一个的文件整体的加载以及验证。并且,在此情况下,引导加载器1041也可以,不进行安全操作系统1042的加载以及验证(图8的S1005和S1006)。
或者,也可以是,所有的程序不被汇集为一个文件。也可以是,引导加载器1041和安全操作系统1042被汇集为一个文件,其他的所有的安全应用被汇集为一个文件。或者,也可以是,引导加载器1041由一个文件构成,安全操作系统1042和其他的所有的安全应用被汇集为一个文件。或者,也可以利用其他的汇集方法。
而且,在安全操作系统1042和所有的安全应用被汇集为一个文件的情况下,安全操作系统1042也可以不将这样的安全应用加载到安全区域1040。因此,安全操作系统1042也可以不具有,将这样的安全应用加载到安全区域1040的功能。
(2)根据所述的结构,在隐藏数据1010的卸载处理时,高速缓存器1004被解锁之前,以0的值重写隐藏数据1010,但是,处理的形态,不仅限于这样的形态。也可以是,不是以0的值重写隐藏数据1010,而是以其他的值重写隐藏数据1010。并且,也可以是,不是以相同的值重写隐藏数据1010。也就是说,也可以是,以多个值重写隐藏数据1010。
并且,也可以清除高速缓存器1004中的数据被改写时被设定的Dirty标志、或示出对高速缓存器1004有效的数据被存放这情况的Valid标志。据此,隐藏数据1010被控制为,不会被写出到存储器1020。在此情况下,也可以是,不是以规定的值重写隐藏数据1010。
(3)根据所述的结构,隐藏数据1010,被加载到系统LSI1000的内部的高速缓存器1004。但是,隐藏数据1010的加载目的地,不仅限于系统LSI1000的内部。例如,隐藏数据1010也可以,被加载到被设置在系统LSI1000的外部的、且针对由总线探头等的硬件的攻击保护的存储器。
为了以针对由总线探头等的硬件的攻击保护的方式设置存储器,有几种方法。例如,也可以是,系统LSI1000和存储器之间的信号线、系统LSI1000、以及存储器的端子,被埋入在基板的内部。并且,也可以是,信号线以及端子上涂抹粘贴剂。据此,在粘贴剂被剥下时,信号线或端子被破坏。并且,也可以是,系统LSI1000和存储器,被封入到同一包内。
并且,如图17示出,隐藏数据1010也可以,被加载到被配置在系统LSI1000的内部的OCM(On Chip Memory:片上存储器)1005。
(4)根据所述的结构,安全操作系统1042包括,隐藏数据加载部1044、以及高速缓存器锁定部1045。或者,安全操作系统1042包括,隐藏数据加载部1044、高速缓存器锁定部1045、以及应用加载部1046。但是,安全操作系统1042的结构,不仅限于这样的结构。也可以是,它们的全部不被包含在安全操作系统1042中。
例如,它们可以是以后能够加载到安全操作系统1042的可加载模块,也可以是设备驱动器。并且,它们也可以是如图18示出独立于安全操作系统1042的固件。
并且,它们,可以不被包含在安全操作系统1042中,而被包含在引导加载器1041中,也可以被包含在安全操作系统1042以及引导加载器1041这双方。隐藏数据加载部1044、高速缓存器锁定部1045、以及应用加载部1046,在哪个结构中,在CPU1001以安全模式且特权模式工作时,都能够工作。
(5)例如,所述的各个装置也可以是,具体而言,微处理器、ROM、RAM、硬盘组件、显示器组件、键盘以及鼠标等构成的计算机系统。
具体而言,RAM或硬盘组件存储有计算机程序。而且,微处理器根据计算机程序进行工作,据此,各个装置实现其功能。在此,计算机程序是,为了实现规定的功能,组合分别表示对计算机的命令的多个指令码而构成的。
(6)并且,例如,构成所述的各个装置的多个构成要素的一部分或全部,也可以由一个系统LSI构成。系统LSI是,将多个构成部集成在一个芯片上而制造的超多功能LSI,具体而言,由微处理器、ROM以及RAM等构成的计算机系统。RAM存储有计算机程序。微处理器根据计算机程序进行工作,据此,系统LSI实现其功能。
并且,对于构成所述的各个装置的多个构成要素,可以将它们分别单芯片化,也可以将它们单芯片化,使得包含一部分或全部。
并且,在此,示出了系统LSI,但是根据集成度的不同,系统LSI有时被称为IC(Integrated Circuit:集成电路)、LSI、超LSI、特大LSI。
并且,对于集成电路化的方法,不仅限于LSI,也可以以专用电路或通用处理器来实现集成电路化。也可以利用在制造LSI后能够编程的FPGA(FieldProgrammable Gate Array:现场可编程门阵列)、或可重构LSI内部的电路单元的连接以及设定的可重构处理器。
进而,当然,若因半导体技术的进步或导出的其它的技术而出现代替LSI的集成电路化的技术,则可以利用其技术对功能框进行集成化。存在生物技术的应用等的可能性。
(7)并且,例如,构成所述的各个装置的多个构成要素的一部分或全部,也可以由与各个装置可装卸的IC卡或单体的模块构成。IC卡或模块是,由微处理器、ROM、RAM等构成的计算机系统。
IC卡或模块也可以,包含所述的超多功能LSI。微处理器根据计算机程序进行工作,据此,IC卡或模块实现其功能。该IC卡或该模块也可以,具有防篡改性。
(8)本公开涉及的概念,也可以作为多个实施例以及多个变形例所示的方法来实现。并且,本公开涉及的概念,可以作为以计算机实现这样的方法的计算机程序来实现,也可以作为构成计算机程序的数字信号来实现。
并且,本公开涉及的概念,也可以作为计算机程序或数字信号被记录的非暂时的计算机可读取的记录介质来实现。该记录介质也可以是,例如,软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)Disc)、或半导体存储器等。并且,本公开涉及的概念,也可以作为该记录介质所记录的数字信号来实现。
并且,也可以将计算机程序或数字信号,经由电通信线路、无线通信线路、有线通信线路、以互联网为代表的网络、或数据广播等传输。
并且,本公开涉及的概念,也可以作为具备微处理器以及存储器的计算机系统来实现。而且,存储器,可以存储计算机程序,微处理器,可以根据计算机程序工作。
并且,计算机程序或数字信号可以被记录到记录介质来输送,计算机程序或数字信号也可以经由网络等输送。而且,本公开涉及的概念,也可以由独立的其他的计算机系统实施。
(9)也可以组合所述的多个实施例、以及所述的多个变形例。某构成要素执行的处理,也可以由其他的构成要素执行。并且,可以变更处理的顺序,也可以并行进行多个处理。
(补充)
而且,在所述各个实施例中也可以,各个构成要素,由专用的硬件构成、或通过执行适于各个构成要素的软件程序来实现。各个构成要素,也可以通过CPU或处理器等的程序执行部,读出并执行硬盘或半导体存储器等的记录介质所记录的软件程序来实现。在此,实现所述各个实施例的信息处理装置等的软件是,如下的程序。
也就是说,该程序,使计算机执行处理保护对象数据的信息处理方法,在该信息处理方法中:将第一存储部中的存储数据高速缓存到第二存储部;以从被高速缓存到所述第二存储部的所述存储数据的高速缓存区域中得到的高速缓存数据不会被写回到所述第一存储部的方式,锁定所述第二存储部中的所述高速缓存区域;在所述第二存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
以上,对于本发明的一个或多个实施方案涉及的信息处理装置,根据实施例进行了说明,但是,本发明,不仅限于该实施例。只要不脱离本发明的宗旨,对本实施例施行本领域的技术人员想到的各种变形的形态、或组合不同的实施例中的构成要素而构成的形态,也包含在本发明的一个或多个实施方案的范围内。
本发明的实施方案之一涉及的信息处理装置,有用于处理隐藏数据的信息处理装置,例如,能够适用于执行用于再生著作权被保护的内容的软件的移动电话或个人电脑等的信息处理装置。
符号说明
100 内容分发系统
110 内容显示装置
120 内容记录装置
121 天线
300、400 信息处理装置
301、302、401、402 存储部
303、403、1012 高速缓存器控制部(高速缓存器控制器)
404 处理器
405 集成电路
406 访问控制部
411、412、1011 存储区域
1000 系统LSI
1001 CPU
1002 IPL
1003 存储器控制部(存储器控制器)
1004 高速缓存器
1005 OCM
1006 密钥保持部
1010 隐藏数据
1020 存储器
1030 正常区域
1031 通用操作系统(通用OS)
1032 播放应用
1033 内容接收应用
1034 共享数据
1040 安全区域
1041 引导加载器
1042 安全操作系统(安全OS)
1043 内容再生应用
1044 隐藏数据加载部
1045 高速缓存器锁定部
1046 应用加载部
1050 非易失性存储装置
1051 加密隐藏数据
1052 加密引导加载器
1053 加密安全操作系统
1054 加密内容再生应用
1061 头信息
1062 隐藏数据主体
1063 验证值
1100 通常的软件执行环境(正常环境)
1200 安全的软件执行环境(安全环境)
3000 包生成部
3100 编译器
3101 链接器
3102 包生成工具
3110 源码(程序源码)
3111 安全应用
3112 秘密密钥
3113、3205 公开密钥证书
3114、3203 设定文件
3201 应用头信息
3202 应用主体
3204 应用签名列表
3206 签名
3210 头部
3211.text段
3212.hctext段
3213.rodata段
3214.data段
3215.bss段
3216.hcdata段

Claims (16)

1.一种信息处理装置,是处理保护对象数据的信息处理装置,该信息处理装置具备:
第一存储部;
第二存储部;以及
高速缓存器控制部,将所述第一存储部中的存储数据高速缓存到所述第二存储部,
所述高速缓存器控制部,
以从被高速缓存到所述第二存储部的所述存储数据的高速缓存区域中得到的高速缓存数据不会被写回到所述第一存储部的方式,锁定所述第二存储部中的所述高速缓存区域,
在所述第二存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
2.如权利要求1所述的信息处理装置,
所述高速缓存器控制部,通过以从处理器输出的所述保护对象数据不会由外部的装置获得的方式被物理保护的电路,将从所述处理器输出的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域,
以所述高速缓存区域中的所述保护对象数据不会由外部的装置获得的方式,所述第二存储部被物理保护。
3.如权利要求1或2所述的信息处理装置,
所述高速缓存器控制部,
在所述保护对象数据被处理时,针对所述保护对象数据,分配所述第一存储部中的数据区域,
将被分配的所述数据区域中的所述存储数据高速缓存到所述第二存储部,
以从被高速缓存到所述第二存储部的所述存储数据的所述高速缓存区域中得到的所述高速缓存数据不会被写回到所述第一存储部的方式,锁定所述第二存储部中的所述高速缓存区域,
在所述第二存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
4.如权利要求1至3的任一项所述的信息处理装置,
所述高速缓存器控制部,
在所述保护对象数据被处理之后,清除所述第二存储部中的所述高速缓存区域,
以从清除后的所述高速缓存区域中得到的所述高速缓存数据能够被写回到所述第一存储部的方式,解除所述高速缓存区域的锁定。
5.如权利要求1至4的任一项所述的信息处理装置,
所述信息处理装置还具备处理器,该处理器生成所述保护对象数据,并输出生成的所述保护对象数据,
所述高速缓存器控制部,在所述第二存储部中的所述高速缓存区域被锁定之后,将从所述处理器输出的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
6.如权利要求5所述的信息处理装置,
所述信息处理装置还具备集成电路,
所述第二存储部、所述高速缓存器控制部以及所述处理器,被包含在所述集成电路中。
7.如权利要求5或6所述的信息处理装置,
所述处理器,通过对加密数据进行解密,从而生成所述保护对象数据,并输出生成的所述保护对象数据。
8.如权利要求1至7的任一项所述的信息处理装置,
所述高速缓存器控制部,将由程序预定为将要被写入到所述第一存储部的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
9.如权利要求1至8的任一项所述的信息处理装置,
所述高速缓存器控制部,将可执行的程序作为所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
10.如权利要求5至7的任一项所述的信息处理装置,
所述处理器,以安全模式执行安全程序,以正常模式执行正常程序,
所述第一存储部具有第一存储区域以及第二存储区域,
所述第一存储区域是用于存储所述正常程序的区域,
所述第二存储区域是用于存储所述安全程序的区域,且是禁止由所述正常程序访问的区域。
11.如权利要求10所述的信息处理装置,
所述高速缓存器控制部,将由所述安全程序预定为将要被写入到所述第二存储区域的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
12.如权利要求10或11所述的信息处理装置,
所述信息处理装置还具备访问控制部,该访问控制部禁止由所述正常程序访问所述第二存储区域。
13.一种信息处理方法,是处理保护对象数据的信息处理方法,在该信息处理方法中,
将第一存储部中的存储数据高速缓存到第二存储部,
以从被高速缓存到所述第二存储部的所述存储数据的高速缓存区域中得到的高速缓存数据不会被写回到所述第一存储部的方式,锁定所述第二存储部中的所述高速缓存区域,
在所述第二存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述第二存储部中的所述高速缓存区域。
14.一种程序,用于使计算机执行权利要求13所述的信息处理方法。
15.一种非暂时的计算机可读取的记录介质,记录有用于使计算机执行权利要求13所述的信息处理方法的程序。
16.一种集成电路,是处理保护对象数据的集成电路,该集成电路具备:
存储部;以及
高速缓存器控制部,将存储装置中的存储数据高速缓存到所述存储部,
所述高速缓存器控制部,
以从被高速缓存到所述存储部的所述存储数据的高速缓存区域中得到的高速缓存数据不会被写回到所述存储装置的方式,锁定所述存储部中的所述高速缓存区域,
在所述存储部中的所述高速缓存区域被锁定之后,将与所述存储数据不同的所述保护对象数据写入到所述存储部中的所述高速缓存区域。
CN201280001893.0A 2011-05-25 2012-05-02 信息处理装置以及信息处理方法 Expired - Fee Related CN102985930B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011117255 2011-05-25
JP2011-117255 2011-05-25
PCT/JP2012/002965 WO2012160760A1 (ja) 2011-05-25 2012-05-02 情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
CN102985930A true CN102985930A (zh) 2013-03-20
CN102985930B CN102985930B (zh) 2016-11-30

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016095506A1 (zh) * 2014-12-19 2016-06-23 深圳市中兴微电子技术有限公司 密文数据解密方法、系统及计算机存储介质
CN108780424A (zh) * 2016-03-30 2018-11-09 高通股份有限公司 提供用于动态随机存取存储器dram高速缓存标记的空间高效存储

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678026A (en) * 1995-12-28 1997-10-14 Unisys Corporation Multi-processor data processing system with control for granting multiple storage locks in parallel and parallel lock priority and second level cache priority queues
US20040187117A1 (en) * 2002-11-18 2004-09-23 Arm Limited Handling interrupts in data processing
US20070118693A1 (en) * 2005-11-19 2007-05-24 International Business Machines Cor Method, apparatus and computer program product for cache restoration in a storage system
US20080052537A1 (en) * 2006-08-22 2008-02-28 Fujitsu Limited Storage device, write-back method, and computer product

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678026A (en) * 1995-12-28 1997-10-14 Unisys Corporation Multi-processor data processing system with control for granting multiple storage locks in parallel and parallel lock priority and second level cache priority queues
US20040187117A1 (en) * 2002-11-18 2004-09-23 Arm Limited Handling interrupts in data processing
US20070118693A1 (en) * 2005-11-19 2007-05-24 International Business Machines Cor Method, apparatus and computer program product for cache restoration in a storage system
US20080052537A1 (en) * 2006-08-22 2008-02-28 Fujitsu Limited Storage device, write-back method, and computer product

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016095506A1 (zh) * 2014-12-19 2016-06-23 深圳市中兴微电子技术有限公司 密文数据解密方法、系统及计算机存储介质
CN105760719A (zh) * 2014-12-19 2016-07-13 深圳市中兴微电子技术有限公司 一种密文数据解密方法及系统
CN105760719B (zh) * 2014-12-19 2019-11-15 深圳市中兴微电子技术有限公司 一种密文数据解密方法及系统
CN108780424A (zh) * 2016-03-30 2018-11-09 高通股份有限公司 提供用于动态随机存取存储器dram高速缓存标记的空间高效存储
CN108780424B (zh) * 2016-03-30 2022-10-28 高通股份有限公司 提供用于动态随机存取存储器dram高速缓存标记的空间高效存储

Also Published As

Publication number Publication date
US9158924B2 (en) 2015-10-13
JP5879527B2 (ja) 2016-03-08
EP2717186A1 (en) 2014-04-09
WO2012160760A1 (ja) 2012-11-29
US20130111605A1 (en) 2013-05-02
JPWO2012160760A1 (ja) 2014-07-31
EP2717186A4 (en) 2015-05-13

Similar Documents

Publication Publication Date Title
JP5879527B2 (ja) 情報処理装置および情報処理方法
CN101894224B (zh) 保护客户端平台上的内容
CN111723383B (zh) 数据存储、验证方法及装置
CN101946252B (zh) 信息处理装置及其控制方法
CN102279760B (zh) 利用初始保护组件来进行设备引导
CN101176100B (zh) 提供基于软件的安全协处理器的方法和装置
US7934049B2 (en) Methods used in a secure yet flexible system architecture for secure devices with flash mass storage memory
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
US20090307783A1 (en) Data processing device, method, program, integrated circuit, and program generating device
US20110289294A1 (en) Information processing apparatus
US8370935B1 (en) Auditing a device
CN102656561A (zh) 信息处理装置、虚拟机生成方法及应用发布系统
CN102171704A (zh) 用硬件加密存储设备进行外部加密和恢复管理
US8745735B2 (en) Monitoring system, program-executing device, monitoring program, recording medium and integrated circuit
CN101228531A (zh) 执行装置
WO2007033321A2 (en) Secure yet flexible system architecture for secure devices with flash mass storage memory
CN105612715A (zh) 具有可配置访问控制的安全处理单元
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
US8972745B2 (en) Secure data handling in a computer system
KR101761799B1 (ko) 단말의 보안 데이터 관리 장치 및 그 방법
JP2009064126A (ja) Icカードシステム、その端末装置、プログラム
CN102985930B (zh) 信息处理装置以及信息处理方法
CN111639353A (zh) 一种数据管理方法、装置、嵌入式设备及存储介质
US11977760B1 (en) Secure data and instruction loading
Yashiro et al. T-Kernel/SS: a secure filesystem with access control protection using tamper-resistant chip

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160331

Address after: Osaka Japan

Applicant after: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT Co.,Ltd.

Address before: Osaka Japan

Applicant before: Matsushita Electric Industrial Co.,Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200217

Address after: Texas, USA

Patentee after: Solvingpeak Venture Capital Co.,Ltd.

Address before: Osaka Japan

Patentee before: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT Co.,Ltd.

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

Granted publication date: 20161130

Termination date: 20200502