CN101072097A - 用于受信数据处理的方法和系统 - Google Patents

用于受信数据处理的方法和系统 Download PDF

Info

Publication number
CN101072097A
CN101072097A CNA2007101049829A CN200710104982A CN101072097A CN 101072097 A CN101072097 A CN 101072097A CN A2007101049829 A CNA2007101049829 A CN A2007101049829A CN 200710104982 A CN200710104982 A CN 200710104982A CN 101072097 A CN101072097 A CN 101072097A
Authority
CN
China
Prior art keywords
memory
encrypted
cpu
key
symmetric key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101049829A
Other languages
English (en)
Other versions
CN101072097B (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.)
Broadcom Corp
Zyray Wireless Inc
Original Assignee
Zyray Wireless Inc
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 Zyray Wireless Inc filed Critical Zyray Wireless Inc
Publication of CN101072097A publication Critical patent/CN101072097A/zh
Application granted granted Critical
Publication of CN101072097B publication Critical patent/CN101072097B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42692Internal components of the client ; Characteristics thereof for reading from or writing on a volatile storage medium, e.g. Random Access Memory [RAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • 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/2149Restricted operating environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种用于受信数据处理的系统和方法。所述系统包括具有加密数据区和明文数据区的存储器,和包含非易失性存储器、非对称加密引擎、对称加密引擎的中央处理单元(CPU)。所述加密数据区包括有可由用户定义的地址范围。所述系统接收经加密的程序指令和经加密的对称密钥。经加密的程序指令存储在加密数据区中,经加密的对称密钥存储在明文数据区中。CPU使用其非对称私有密钥解密该经加密的对称密钥。当CPU访问分配给加密数据区的地址范围内的地址时,将在CPU中调用对称解密处理,该对称解密处理使用所述被解密的对称密钥。本发明还提供了一种安全写入和获取中间数据的方法。

Description

用于受信数据处理的方法和系统
技术领域
本发明涉及用于受信数据处理(trusted data processing)的安全中央处理单元,更具体地说,涉及一种用于处理加密指令和数据的安全中央处理单元。
背景技术
终端用户正越来越多的通过数据网络将内容和应用程序直接下载到位于住宅和办公室中的电脑上。一种用于接收内容和程序的常用方法是使用电视机机顶盒。这些电视机机顶盒扮演着家庭娱乐中心的角色,提供音频盒视频内容、计算机游戏、软件升级和其他应用。由于所提供的内容和软件很有价值,机顶盒已经成为黑客眼中的重要目标。
在应对早期的黑客威胁时,内容和软件在从内容/应用服务器到机顶盒的传输过程中,由提供商对其进行加密。然而,这些技术只能保护服务器和机顶盒之间的数据路径。在接收之后,内容和软件以明文方式存储在位于机顶盒中央处理单元(CPU)外部的存储器中。在面对狡猾的黑客时,以明文方式存储在可读存储器中的内容和/或软件是极易受到攻击的。一旦读取到内容或者获得了主要的代码,恶意黑客便可绕过访问控制机制,接收信道和/或内容,而无需付费,并有可能开发蠕虫、病毒或其他恶意代码来中断提供给合法用户的服务。
因此,需要一种系统和方法来保护存储在终端设备上的内容和软件,并还需要一种安全CPU架构来为各种应用高效地处理加密后的软件程序。
发明内容
根据本发明的一个方面,提供了一种在具有非对称公共和私有密钥对的处理器中进行受信处理的方法,包括:
从第一存储器的明文数据区中获取经加密的对称密钥;
使用非对称解密算法解密所述经加密的对称密钥,其中所述非对称解密算法将所述处理器的非对称私有密钥用作解密密钥;
从所述第一存储器的加密数据区中获取经加密的指令;
使用对称解密算法解密所述经加密的指令,其中所述对称解密算法将所述被解密的对称密钥用作解密密钥。
优选地,所述方法还包括:
将所述处理器的所述非对称私有密钥存储在位于所述处理器内的第二存储器中。
优选地,所述方法还包括:
将所述被解密的对称密钥存储在位于所述处理器内的第二存储器中。
优选地,所述方法还包括:
将所述处理器的所述非对称私有密钥存储在一次性可编程存储器中。
优选地,所述方法还包括:
通过通信接口接收对所述非对称解密算法的更新;
将更新后的所述非对称解密算法存储在位于所述处理器内的第二存储器中。
优选地,所述方法还包括:
通过通信接口接收对所述对称解密算法的更新;
将更新后的所述对称解密算法存储在位于所述处理器内的第二存储器中。
优选地,所述方法还包括:
在处理所述被解密的指令的过程中生成中间数据;
加密所述中间数据;
将加密后的所述中间数据存储在所述第一存储器中。
优选地,所述方法还包括:
生成随机数。
优选地,加密所述中间数据的步骤还包括:
将所述中间数据与生成的随机数进行异或运算。
优选地,加密所述中间数据的步骤还包括:
使用对称加密算法加密所述中间数据,其中所述对称加密算法将所述被解密的对称密钥用作加密密钥。
优选地,所述方法还包括:
在处理所述被解密的指令的过程中获取中间数据;
解密所述中间数据。
优选地,所述方法还包括:
生成随机数。
优选地,解密所述中间数据的步骤还包括:
将所述被解密的中间数据与所述生成的随机数进行异或运算。
优选地,解密所述中间数据的步骤还包括:
使用所述对称解密算法解密所述中间数据,其中所述对称解密算法将所述被解密的对称密钥用作解密密钥。
根据本发明的一个方面,提供了一种用于受信数据处理的系统,包括:
第一存储器,所述第一存储器包含加密数据区和明文数据区;
中央处理单元,所述中央处理单元包括:
非易失性存储器,其中包括有所述中央处理单元的非对称公共和私有密钥对以及被解密的对称密钥;
非对称加密引擎,用于将所述中央处理单元的私有密钥用作解密密钥,来对从所述第一存储器中获取的经加密的对称密钥进行解密;
对称加密引擎,用于使用所述被解密的对称密钥对从所述第一存储器的所述加密数据区内的地址中获取的经加密的指令进行解密。
优选地,所述加密数据区包括用户可定义的地址范围。
优选地,所述中央处理单元还包括:
随机数生成器。
优选地,所述非易失性存储器为一次性可编程存储器。
优选地,所述非对称加密引擎由硬件实现。
优选地,所述非对称加密引擎由软件实现。
优选地,所述对称加密引擎由硬件实现。
优选地,所述对称加密引擎由软件实现。
优选地,所述系统还包括:
数字签名引擎,用于使用服务器的非对称公共密钥对来自所述服务器的消息中附加的数字签名进行验证。
根据本发明的一个方面,提供了一种在具有非对称公共和私有密钥对的处理器中进行受信处理的方法,包括:
从服务器接收经加密的程序和经加密的对称密钥,其中所述经加密的程序是使用所述对称密钥进行加密的,所述对称密钥是使用所述处理器的非对称私有密钥进行加密的;
将所述经加密的程序存储在存储器的加密数据区中;
将所述经加密的对称密钥存储在所述存储器的明文数据区中;
使用所述处理器的私有密钥解密所述经加密的对称密钥;
当访问到所述存储器的加密数据区内的地址时,使用所述被解密的对称密钥调用所述处理器中的对称解密算法。
优选地,所述方法还包括:
接收包含有所述经加密的程序的消息中的数字签名;
使用所述服务器的公共密钥来验证所述数字签名。
附图说明
图1是典型的处理系统的示意图;
图2是典型的取指周期(fetch cycle)内的数据流示意图;
图3是典型的间接周期(indirect cycle)中的数据流示意图;
图4是典型的中断周期(interrupt cycle)中的数据流示意图;
图5是依据本发明实施例的用于受信数据处理的安全系统的结构示意图;
图6是依据本发明实施例的安全系统500的工作环境的示意图;
图7是依据本发明实施例的用于受信数据处理的方法的流程图;
图8是依据本发明实施例从存储器中获取安全指令的方法的流程图;
图9A为将中间数据写入存储器的方法的流程图;
图9B为从存储器中获取中间数据的方法的流程图;
图10是依据本发明实施例的中断处理方法的流程图;
图11是依据本发明实施例的取指周期内数据流的示意图;
图12是依据本发明实施例的间接周期内数据流的示意图;
图13是依据本发明实施例的中断周期内数据流的示意图。
具体实施方式
下面将结合附图及实施例对本发明作进一步说明,附图中相似的标号表示相同或功能相似的部件。此外,图中标号最左边的一位数字表示该标号第一次出现的附图序号。
1、概要
1.1CPU结构
图1是典型的处理系统100的结构示意图。系统100包括中央处理单元(CPU)110、存储器170和总线结构160。存储器170可与CPU 110位于同一芯片上,也可安装在包含CPU 110的芯片的外部。
在更高一层上,典型的CPU如CPU 110执行下列任务:从存储器中读取指令(取指令);对指令解码确定需要进行何种动作(解释指令);在执行指令过程中从存储器或I/O模块中读取数据(取数据);对数据执行某种算法或逻辑操作(处理数据);将数据写入存储器或I/O模块中(写数据)。为执行这些任务,CPU 110需要临时存储一些数据。此外,CPU 110必须记住最近一条指令的位置,以便获知在何处读取下一指令。在执行指令的过程,CPU 110必须临时存储指令和数据。
图1中展示了CPU 110的简化结构。CPU 110包括算法和逻辑单元(ALU)120、内部CPU总线130、一个或多个寄存器140、控制单元150和内部CPU存储器155。由于ALU 120只对内部CPU存储器中的数据进行操作,因此使用内部CPU总线130在一个或多个寄存器140和ALU 120之间传送数据。除其他部件外,ALU 120可包括移位器122、累加器124、状态标志126和算法一逻辑电路128。
CPU 110在工作过程中会使用多种寄存器。例如,程序计数器142中包含将要读取的指令的地址。通常,程序计数器142由CPU 110在每次取指令后进行更新,以便使其总是指向将要执行的下一条指令。指令寄存器148包含最近读取的指令。读取的指令将加载到指令寄存器148中,在这里对操作码和操作数描述符进行分析。存储器地址寄存器146包含存储器中位置的地址。存储器缓冲寄存器144包含将要写入存储器的数据的字和最近读取的字。通常,使用存储器地址寄存器146和存储器缓冲寄存器144来与存储器170交换数据。本领域的技术人员应当明白,寄存器组织是由处理器决定的,因此,不同的处理器还可包含不同的或其他的寄存器。
CPU 110通过总线结构160与存储器170通信。总线结构160可包含地址总线162、数据总线164和控制总线166。
存储器170中存储有CPU 110将要执行的程序的指令和数据。数据通常视为CPU 110在其上执行计算的数据。指令通常视为将要解释为代码以便生成控制信号的数据。
1.2指令周期
本领域的技术人员应当明白,指令周期内事件的准确顺序由CPU的设计决定。如图2所示,典型的CPU 110使用了存储器地址寄存器146、存储器缓冲寄存器144、程序计数器142和指令寄存器148。
在取指周期内,将从存储器170中读取指令。图2是典型的取指周期内数据流的示意图。程序计数器142包含有将要读取的下一指令的地址。该地址将被装入存储器地址寄存器146,并放到地址总线162上。控制单元请求读取存储器。读取的结果将放到数据总线164上,并复制到存储器缓冲寄存器144中,然后装入指令寄存器148中。同时,程序计数器142将增1,为下一次取指操作做准备。
在取指周期结束之后,控制单元150检查指令寄存器148中的内容,判断其中是否包含有使用间接寻址的操作数描述符。若是,则由CPU执行间接周期(indirect cycle)。图3描述了典型的间接周期中的数据流。
在间接周期过程中,存储器缓冲寄存器144中包含地址引用的最右边的N位将被发往存储器地址寄存器146。控制单元150随后请求读取存储器,以将操作数的期望地址装入存储器缓冲寄存器144中。
取指周期和间接周期很简单并且可以预测。指令周期可以采用多种形式,这是由指令寄存器中的机器指令的类型决定的。在这个周期包括在寄存器之间传送数据、从存储器端口I/O进行读写操作和/或ALU 120的激活。
与取指周期和间接周期一样,中断周期也是很简单并且可以预测的。图4描述了典型的中断周期中的数据流。在中断周期中,程序计数器142的当前内容必须进行保存,以便CPU 110能够在中断后恢复正常的活动。因此,程序计数器142中的内容将被传送到存储器缓冲寄存器144中,以便写入到存储器中。为此目的而保留的特定存储器位置将从控制单元150加载到存储器地址寄存器146中。例如,该存储器位置可能是栈指针。在程序计数器142中加载中断程序的地址。这样一来,便可通过读取对应的指令来开始下一周期。
2、受信数据处理架构
图5是依据本发明实施例的用于守信数据处理的安全系统500的结构示意图。图5展示的安全系统在CPU中提供有用的信任和安全功能,而成本仍然低于现有加密协处理器。此外,通过为多种应用处理加密软件程序,图5中的架构还可提供一种机制来保护平台中的软件环境。
系统500包括CPU 510、存储器570和总线结构560。总线结构560包括地址总线562、数据总线564和控制总线566。总线结构560用于在CPU 510和存储器570之间传送指令和/或数据。本领域的技术人员应当明白,在本发明中还可使用其他架构来在CPU 510和存储器570之间传送指令和/或数据。存储器570可与CPU 510位于同一芯片上,也可安装在包含CPU 510的芯片的外部。
存储器570包括加密数据区572和明文数据区574。加密数据区572是这样一个存储器地址范围,当CPU 510访问这一范围内的地址时,将导致调用解密处理。一个实施例中,加密数据区572存储有一个或多个程序的指令,这些指令已使用对称密钥算法进行了加密。明文数据区574也是一个存储器地址范围,但当CPU 510访问这一范围内的地址时将不会调用解密处理。一个实施例中,与存储在加密数据区572中的程序指令相关联的、由CPU 510的公共密钥进行了加密的对称密钥,存储在明文数据区574中。在一个实施例中,在经加密的对称密钥被解密并存储到非易失性存储器(NVM)582中之后,该经加密的对称密钥将从存储器570中擦除。若在加密数据区572中存储了多个程序,则明文数据区574中将存储有多个经加密的对称密钥,一个密钥对应一个程序。
图5中展示了CPU 510的简化结构示意图。CPU 510包括ALU 520、内部CPU总线530、一个或多个寄存器540以及控制单元550。ALU 520、内部CPU总线530和寄存器540已经在上文中结合图1进行了讨论。
CPU 510还包括有密钥保护单元580、非易失性存储器582、非对称加密引擎584、对称加密引擎586和可选的随机数生成器588。非易失性存储器582中存储有CPU 510的非对称公共/私有密钥对、一个或多个被解密的对称密钥,可选的,还可存储有由随机数生成器588生成的随机数。非易失性存储器582可以是一次性可编程(OTP)存储器阵列。本领域的技术人员应当明白,本发明还可使用其他结构的非易失性存储器582。
每个CPU 510都具有非对称密钥(公共/私有)密钥对。在一个实施例中,该非对称密钥对对于CPU而言是唯一的。CPU的非对称密钥对可以在制造过程中生成,或者由用户或系统集成商输入。该非对称密钥对中的私有密钥是CPU 510的根标识。因此,私有密钥必须以高度安全的方式来操作,这一点非常关键。在CPU 510中,只有密钥保护单元580能够读取私有密钥。此外,私有密钥永远不会离开CPU 510的安全边界。也就是说,私有密钥无法由用户或者CPU 510外部的组件读取。相比之下,公共密钥则可由用户或者外部组件通过控制总线566从CPU中读出。
非对称加密引擎584提供CPU 510所需的非对称加密和解密处理。例如,非对称加密引擎584将CPU 510的私有密钥用作解密密钥来解密明文数据区574中经加密的对称密钥。非对称加密引擎584可使用RSA加密算法。本领域的技术人员应当明白,非对称加密引擎584中还可使用其他非对称加密算法。在一个实施例中,还可对非对称加密引擎584所使用的非对称加密算法进行更新(例如升级或者下载)或者替换。
非对称公共/私有密钥对的格式与非对称加密引擎所使用的加密算法兼容。例如,若使用的是RSA加密算法,则CPU 510的根密钥将是一个2048位(或者等效的格式)的RSA私有密钥。非对称加密引擎584可设置在密钥保护单元580中。或者,非对称加密引擎584也可独立于密钥保护单元580。
对称加密引擎586提供CPU 510所需的对称加密和解密处理。例如,对称加密引擎586使用由非对称加密引擎584解密的对称密钥作为解密密钥来解密存储在加密数据区572中的指令/数据。本领域的技术人员应当明白,在本发明中还可使用其他合适的对称加密算法,包括但不限于DES、3DES或者高级加密标准(AES)。在一个实施例中,还可对称加密引擎586所使用的对称加密算法进行更新(例如升级或者下载)或者替换。
CPU 510还可包含有随机数生成器588。随机数生成器588具有生成加密处理过程中使用的随机数的功能。在一个实施例中,随机数生成器588在上电后生成随机数。在断电之前,生成的随机数一直存储在非易失性存储器582中。在断电后,存储的随机数将被擦除。再次上电后,将生成一个新的随机数。本领域的技术人员应当明白,本发明还可使用其他技术来生成加密过程中使用的随机数。
CPU 510还可包含有存储器范围检查器,其中存储有加密数据区572和明文数据区574的存储器边界地址。在一个实施例中,存储器范围检查器包含在密钥保护单元580中。系统500的用户通过设置每个区域的存储器范围来对受信数据处理过程进行配置。例如,若要禁用加密/解密功能,则用户可不为加密数据区572分配存储器地址。
图6是依据本发明实施例的安全系统500的工作环境600的示意图。工作环境包括一个或多个设备602a-n、通信网络604和内容/应用服务器690。在一个实施例中,设备602a-n为机顶盒,服务器690为头端设备。
设备602a-n和服务器690通过通信网络604交换信息。通信网络604可以是能够传输数据流的任意网络。通信网络604可以是公共数据网例如互联网、私有数据网、公共交换电话网(PSTN)、无线通信网、有线网或类似的网络。
服务器690中存储有设备602所使用的内容和应用,还具有与设备602进行安全通信的功能。服务器690包括存储器694、对称加密引擎691、非对称加密引擎692和可选的数字签名引擎693。存储器694存储有服务器690的非对称(公共/私有)密钥对695、一个或多个安全应用程序696a-n以及由应用服务器690提供服务的设备的公共密钥698a-n。每个安全应用程序696a-n都与一个对称加密密钥697a-n相关联。在一个实施例中,安全程序696的一部分将使用其关联的对称密钥697进行加密,并以加密格式存储在存储器中。或者,在将程序发往用户设备602时,服务器690使用该程序相关联的对称密钥来加密这个安全应用程序。
在需要时,设备602向服务器690请求安全应用程序696。一个安全程序696可由多个设备602访问。当设备602请求安全程序时,服务器690使用请求该安全程序的设备的公共密钥来加密该安全程序相关联的对称密钥。例如,若设备602a请求程序696A,则服务器使用设备602a的公共密钥来加密对称密钥697A。经加密的对称密钥与经加密的安全程序一起发往发出请求的设备。
非对称加密引擎692提供服务器690所需的非对称加密和解密处理。例如,非对称加密引擎692使用设备的公共密钥698作为加密密钥来加密该设备请求的应用程序的对称密钥。非对称加密引擎692可使用RSA加密算法。本领域的技术人员应当明白,非对称加密引擎692还可使用其他非对称加密算法。非对称加密引擎692使用的非对称加密算法与CPU 510的非对称加密引擎584所使用的算法相同或由其赠送。
对称加密引擎691提供服务器690所需的对称加密和解密处理。例如,对称加密引擎691使用安全应用程序相关联的对称密钥作为加密密钥来加密安全应用程序。本领域的技术人员应当明白,本发明还可使用任何合适的对称加密算法,包括但不限于DES、3DES或高级加密标准(AES)。对称加密引擎691使用的对称加密算法与CPU 510的对称加密引擎586所使用的算法相同或由其赠送。
数字签名引擎693具有对将要发往设备602的消息进行数字签名的功能。数字签名引擎693使用服务器690的私有密钥来对发往设备602的消息进行数字签名。在一个实施例中,数字签名引擎693对经加密的消息进行散列(hash)操作和签名。本领域的技术人员应当明白,本发明还可使用任何合适的散列/签名算法,例如密钥散列消息认证码(HMAC)、消息认证码(MAC)、安全散列算法(SHA)或加密块锁链消息认证码协议(CCMP)。
设备602包括上述图5中描述的系统500。设备602还可包含有用于验证接收自服务器或其他实体的签名的数字签名引擎。如上文及图6所示,每个设备都存储有其CPU 510的非对称密钥对,可选的,还可存储有服务器690的公共密钥。服务器690的公共密钥通常用于验证附加在来自服务器690的消息中的数字签名。
3、用于受信数据处理的方法
图7是依据本发明实施例的受信数据处理所使用方法的流程图。图7的描述过程中继续引用图5和图6中的系统和环境。但是流程图700并不仅限于上述实施例。应注意,流程图700中的一些步骤并非必须按照下文中的顺序进行。
在步骤710,服务器690收到来自设备602的安全程序请求。
在步骤715,服务器690获取发出请求的设备602的公共密钥698。在一个实施例中,设备602的公共密钥698存储在服务器690。或者,公共密钥698可从设备602中请求获得。
在步骤720,收到请求的安全程序696和相关联的对称密钥697。应注意,在步骤720之前,安全程序696可能已经使用其关联的对称密钥697进行了加密,并以加密的形式存储在存储器692中。在这种情况下,收到的安全程序696是经过加密的。
在步骤725,所请求的安全程序696将由对称加密引擎691使用与所请求的安全程序696相关联的对称密钥697进行加密。这一步骤是可选的。若安全程序是以加密形式存储在692之中的,则无需执行步骤725。
在步骤730,与所请求的安全程序696相关联的对称密钥697由非对称加密引擎692使用发出请求的设备602的公共密钥698进行加密。经加密的对称密钥可以包含在包括有经加密后的所请求安全程序的消息的包头中。或者,该经加密的对称密钥还可通过独立于包含经加密的所请求安全程序的消息以外的另一条消息发送。
在步骤735,经加密的安全程序和/或经加密的对称密钥由数字签名引擎693进行数字签名。步骤735是可选的。在使用步骤735时,数字签名方式使得接收消息的设备602能够验证消息发起方的身份,并验证消息内容的真实性。在一个实施例中,为了生成数字签名,首先通过对文件数据(例如经加密的安全程序)进行散列操作(hashing)生成消息摘要。随后使用应用服务器690的私有密钥对该消息摘要进行加密。加密后的消息摘要便是将要附在消息之中的签名。本领域的技术人员应当明白,数字签名引擎693还可使用任何数字签名算法来生成该签名。典型的数字签名算法包括SHA、数字签名算法(DSA)或ElGamal签名。
在步骤740,设备602收到经加密的安全程序和经加密的对称密钥。
在步骤745,将经加密的安全程序写入存储器570的加密数据区572,将经加密的对称密钥写入存储器570的明文数据区574。
在步骤750,对附加在消息中的数字签名进行验证。步骤750是可选的,只在收到数字签名的时候才需要执行。应注意,步骤750可在步骤745之前执行。步骤750包括步骤752和步骤754。
在步骤752,获取应用服务器690的公共密钥。在一个实施例中,设备602将应用服务器690的公共密钥存储在本地。或者,设备602还可从应用服务器690或其他安全公共数据存储器中获取应用服务器690的公共密钥。
在步骤754,对附加的签名进行验证。如上所述,应用服务器690和设备602中的数字签名引擎均使用相同或一致的数字签名算法。例如,为验证数字签名,设备602使用应用服务器690的公共密钥来解密签名后的消息摘要,以此来获取第一消息摘要。设备602随后对该消息进行散列运算,生成第二消息摘要。如果第二消息摘要与第一消息摘要匹配,则设备602便有理由确信该消息是来自应用服务器690的,并且没有经过修改。
在流程图700完成之后,安全程序696的指令和/或数据便可由CPU 510来执行了。
图8是依据本发明实施例从存储器中获取安全指令的方法的流程图。流程图800中读取操作之前和之后事件的准确顺序由CPU的设计决定。流程图800中的方法可应用在任何CPU架构中,包括但不限于顺序处理、并行处理和指令流水线架构。流程图800继续引用图5中描述的系统。但是流程图800并不仅限于该实施例。应注意,流程图800中的一些步骤并非必须按照下文中的顺序进行。
在步骤810,从存储器570中获取与经加密的指令相关联的经加密的对称密钥。
在步骤820,由非对称加密引擎584使用CPU 510的私有密钥作为解密密钥来解密该经加密的对称密钥。被解密后的对称密钥存储在非易失性存储器582中。
步骤810和步骤820可在开始执行经加密的安全程序时执行。在一个实施例中,步骤810和步骤820在安全程序的执行过程中只执行一次。步骤830到步骤880(描述获取和处理经加密的指令的过程)将对安全程序执行过程中获取的每条指令和/或经加密的数据重复执行。
在步骤830,从存储器570中读取一条指令。
在步骤840,判断该指令的地址是否处于存储器570的加密数据区572之中。例如,在步骤840,CPU 510读取加密数据区572和/或明文数据区574的存储器边界地址。若上述地址位于加密数据区572中,操作转向步骤850,开始执行解密处理。若上述地址没在加密数据区572之中,则操作将转到步骤895,跳过解密处理步骤。
在步骤850,由对称加密引擎586使用存储的对称密钥作为解密密钥来解密收到的经加密的指令。
在步骤860,将被解密的指令装入适当的寄存器或存储器位置,以由CPU510解码和执行。
在步骤865,判断被解密的指令是否包含有使用间接寻址的操作数描述符。若包含有使用间接寻址的操作数描述符,则操作继续进行步骤870。若不包含使用间接寻址的操作数描述符,则操作继续进行步骤890。
在步骤870,读取地址引用,然后从存储器570中读取该地址上的指令或数据。
在步骤875,判断该地址引用是否处于存储器570的加密数据区572之中。例如,在步骤875,CPU 510读取加密数据区572和/或明文数据区574的存储器边界地址。若该地址引用位于加密数据区572中,操作转向步骤880,开始执行解密处理。若上述地址引用没在加密数据区572之中,则操作将转到步骤895,跳过解密处理步骤。
在步骤880,由对称加密引擎586使用存储的对称密钥作为解密密钥来解密收到的经加密的指令。
在步骤885,将被解密的指令装入适当的寄存器中,以由CPU 510执行。
在步骤890,CPU 510继续正常的处理过程。
在步骤895,CPU 510执行正常的处理过程。
在执行指令的过程中,CPU可能会生成将要写入存储器中以供将来指令的执行过程中使用的数据。该数据在这里称为“中间数据”。此外,在指令的执行过程中,CPU可能要求读取存储的中间数据。图9A和图9B分别描述了将中间数据写入存储器和从存储器中读取中间数据的方法的流程图900和950。流程图900和950中操作之前和之后事件的准确顺序由CPU的设计决定。流程图900和950中的方法可应用在任何CPU架构中,包括但不限于顺序处理、并行处理和指令流水线架构。流程图900和950中的描述将继续引用图5中的系统。但是流程图900和950并不仅限于该实施例。应注意,流程图900和950中的一些步骤并非必须按照下文中的顺序进行。
图9A开始于步骤910,判断是否要将中间数据写入存储器570。若要将中间数据写入存储器570,则操作转到步骤920。若没有中间数据将要写入存储器570,则操作转到步骤990,CPU 510继续进行正常的处理。
在步骤920,CPU 510加密中间数据。在一个实施例中,CPU 510将生成的中间数据与随机数生成器588生成的随机数进行异或运算,以此来加密中间数据。例如,随机数可在CPU 510上电时生成。当CPU 510保持上电的过程中,将生成的随机数进行存储并应用于所有的本地异或加密。在断电后,该随机数将被擦除。或者,CPU 510通过对称加密引擎586将存储的对称密钥用作加密密钥来加密中间数据。本领域的技术人员应当明白,本发明还可使用其他技术来加密中间数据。
在步骤930,将经加密的中间数据存储在存储器570中的指定位置。
图9B开始于步骤960,判断是否要从存储器570中读取中间数据。若要从存储器570中读取中间数据,则操作转到步骤970。若没有中间数据要从存储器570中读取,则操作转到步骤990,CPU 510继续正常的处理。
在步骤960,从存储器570中的指定位置读取经加密的中间数据。
在步骤970,CPU 510解密该中间数据。在一个实施例中,CPU 510将经加密的中间数据与随机数生成器588生成的随机数进行异或运算,以此来得到原始的中间数据。或者,CPU 510通过对称加密引擎586将存储的对称密钥用作解密密钥来解密该中间数据。本领域的技术人员应当明白,本发明还可使用其他技术来解密中间数据。
图10是依据本发明实施例的中断处理的方法的流程图1000。流程图1000中中断操作之前和之后事件的准确顺序由CPU的设计决定。流程图1000中的方法可应用在任何CPU架构中,包括但不限于顺序处理、并行处理和指令流水线架构。流程图1000继续引用图5中描述的系统。但是流程图1000并不仅限于该实施例。应注意,流程图1000中的一些步骤并非必须按照下文中的顺序进行。
在步骤1010之前,随机数可由随机数生成器588生成。在一个实施例中,该随机数可在CPU 510上电时生成。然后将该随机数存储起来,并在CPU 510保持上电的过程中应用于所有的本地异或加密。在断电后,该随机数将被擦除。
在步骤1020,CPU 510接收中断信号或请求。在收到中断时,CPU 510必须保存当前正在执行的安全程序的状态。这一过程包括存储一个或多个寄存器540中的内容。
在步骤1030,CPU 510加密一个或多个寄存器中的内容。例如,CPU 510可加密将要读取的下一指令的地址。在一个实施例中,CPU 510将寄存器数据与生成的随机数进行异或运算,以此来对数据进行加密。或者,CPU 510还可通过对称加密引擎586将存储的对称密钥用作加密密钥来加密中间数据。本领域的技术人员应当明白,本发明还可使用其他方法来加密寄存器数据。
在步骤1040,将经加密的寄存器数据存储在存储器570为此目的而保留的位置中。
在步骤1050,恢复安全程序指令的处理。
在步骤1060,CPU 510从保留的存储器位置中读取经加密的寄存器数据。
在步骤1070,对经加密的寄存器数据进行解密。在一个实施例中,CPU 510将经加密的寄存器数据与随机数生成器588生成的随机数进行异或运算,得到原始的寄存器数据。或者,CPU 510还可通过对称加密引擎586将存储的对称密钥用作解密密钥来解密该寄存器数据510。本领域的技术人员应当明白,本发明还可使用其他技术来解密寄存器数据。
在步骤1080,将被解密的数据重新装入合适的寄存器中,以便恢复正在执行的安全程序的状态。
在步骤1090,继续进行安全程序指令的处理。
图11是依据本发明实施例的取指周期内的数据流的示意图。在取指周期内,从存储器570的加密数据区572中读取经加密的指令。然后由对称加密引擎586将该程序的对称密钥用作解密密钥来解密该经加密的指令。
程序计数器542中包含有由将要读取的下一指令的地址。该地址被装入存储器地址寄存器546中,并放到地址总线562上。控制单元550请求读取存储器,然后将结果放到数据总线564上。该指令由对称加密引擎586进行解密,然后被复制到存储器缓冲寄存器544中,并装入指令寄存器548中。同时,程序计数器542增1,为下一次取操作做准备。
一旦取指周期结束,控制单元550便检查指令寄存器548中的内容,判断其中是否包含有使用间接寻址的操作数描述符。若是,则执行间接周期。图12是依据本发明实施例的间接周期内的数据流的示意图。包含有地址引用的存储器缓冲寄存器544中最右边的N位将发往存储器地址寄存器546。随后,控制单元550请求读取存储器,然后将结果放到数据总线564上。该结果将由对称加密引擎586进行解密,以将操作数的地址存入存储器缓冲寄存器544中。
指令周期可以采用多种形式,这是由指令寄存器548中的机器指令的类型决定的。这个周期包括在寄存器之间传送数据、从存储器端口I/O进行读取解密操作或者加密写入操作,和/或ALU120的激活。
图13是依据本发明实施例的中断周期内的数据流的示意图。在中断周期内,必须保存程序计数器542中的内容,以便CPU 510能够在中断后恢复正常的活动。因此,程序计数器542中的内容将传送到存储器缓冲寄存器544中进行加密,然后写入到存储器中。为此目的而保留的特定存储器位置将从控制单元550加载到存储器地址寄存器546中。它可以是例如栈指针。在程序计数器142中加载中断程序的地址。这样一来,便可通过读取适当的指令来开始进行下一周期。
4、结论
虽然上文中描述了本发明的多个实施例,但本领域的技术人员应当明白,这些实施例仅是举例,不起限定作用。相关领域的技术人员应当明白,在不脱离本发明主旨和范围的情况下,可对形式和细节进行许多改变。因此,本发明的范围不应仅限于上文描述的示范性实施例,而是由权利要求及其等同方案来定义的。

Claims (10)

1、一种在具有非对称公共和私有密钥对的处理器中进行受信处理的方法,其特征在于,包括:
从第一存储器的明文数据区中获取经加密的对称密钥;
使用非对称解密算法解密所述经加密的对称密钥,其中所述非对称解密算法将所述处理器的非对称私有密钥用作解密密钥;
从所述第一存储器的加密数据区中获取经加密的指令;
使用对称解密算法解密所述经加密的指令,其中所述对称解密算法将所述被解密的对称密钥用作解密密钥。
2、根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述处理器的所述非对称私有密钥存储在位于所述处理器内的第二存储器中。
3、根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述被解密的对称密钥存储在位于所述处理器内的第二存储器中。
4、根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述处理器的所述非对称私有密钥存储在一次性可编程存储器中。
5、根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过通信接口接收对所述非对称解密算法的更新;
将更新后的所述非对称解密算法存储在位于所述处理器内的第二存储器中。
6、一种用于受信数据处理的系统,其特征在于,包括:
第一存储器,所述第一存储器包含加密数据区和明文数据区;
中央处理单元,所述中央处理单元包括:
非易失性存储器,其中包括有所述中央处理单元的非对称公共和私有密钥对以及被解密的对称密钥;
非对称加密引擎,用于将所述中央处理单元的私有密钥用作解密密钥,来对从所述第一存储器中获取的经加密的对称密钥进行解密;
对称加密引擎,用于使用所述被解密的对称密钥对从所述第一存储器的所述加密数据区内的地址中获取的经加密的指令进行解密。
7、根据权利要求6所述的系统,其特征在于,所述加密数据区包括用户可定义的地址范围。
8、根据权利要求6所述的系统,其特征在于,所述中央处理单元还包括:随机数生成器。
9、根据权利要求6所述的系统,其特征在于,所述非易失性存储器为一次性可编程存储器。
10、一种在具有非对称公共和私有密钥对的处理器中进行受信处理的方法,其特征在于,包括:
从服务器接收经加密的程序和经加密的对称密钥,其中所述经加密的程序是使用所述对称密钥进行加密的,所述对称密钥是使用所述处理器的非对称私有密钥进行加密的;
将所述经加密的程序存储在存储器的加密数据区中;
将所述经加密的对称密钥存储在所述存储器的明文数据区中;
使用所述处理器的私有密钥解密所述经加密的对称密钥;
当访问到所述存储器的加密数据区内的地址时,使用所述被解密的对称密钥调用所述处理器中的对称解密算法。
CN2007101049829A 2006-05-11 2007-05-11 用于受信数据处理的方法和系统 Expired - Fee Related CN101072097B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43166806A 2006-05-11 2006-05-11
US11/431,668 2006-05-11

Publications (2)

Publication Number Publication Date
CN101072097A true CN101072097A (zh) 2007-11-14
CN101072097B CN101072097B (zh) 2011-04-13

Family

ID=38460998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101049829A Expired - Fee Related CN101072097B (zh) 2006-05-11 2007-05-11 用于受信数据处理的方法和系统

Country Status (3)

Country Link
EP (1) EP1855476A3 (zh)
CN (1) CN101072097B (zh)
TW (1) TW200816767A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075802A (zh) * 2011-03-08 2011-05-25 广东爱科数字科技有限公司 一种机顶盒和智能卡安全通信的方法
CN101582765B (zh) * 2009-06-29 2012-02-15 北京交通大学 绑定用户的便携式可信移动装置
CN102447559A (zh) * 2010-10-06 2012-05-09 国际商业机器公司 针对复合资源文档创建数字签名的方法和系统
CN104135470A (zh) * 2014-07-11 2014-11-05 宇龙计算机通信科技(深圳)有限公司 一种对目标数据的存储完整性进行验证的方法及系统
CN108496159A (zh) * 2016-01-21 2018-09-04 惠普发展公司,有限责任合伙企业 数据密码引擎
CN111159783A (zh) * 2019-12-31 2020-05-15 山东方寸微电子科技有限公司 一种便携式高速流加密硬件装置及方法
CN113408013A (zh) * 2021-05-29 2021-09-17 国网辽宁省电力有限公司辽阳供电公司 多种算法规则混合的加解密芯片构架

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2796331A1 (en) * 2010-04-12 2011-10-20 Interdigital Patent Holdings, Inc. Staged control release in boot process
RU2541196C2 (ru) * 2010-07-22 2015-02-10 Награвисьон С.А. Способ обеспечения целостности программного обеспечения
US10049057B2 (en) * 2015-12-18 2018-08-14 Intel Corporation Instruction and logic for secure instruction execution pipeline
CN106250767A (zh) * 2016-08-16 2016-12-21 北京兰云科技有限公司 一种数据检测方法和装置
FR3071122B1 (fr) 2017-09-14 2019-09-13 Commissariat A L'energie Atomique Et Aux Energies Alternatives Procede d'execution d'un code binaire d'une fonction securisee par un microprocesseur
FR3071121B1 (fr) 2017-09-14 2020-09-18 Commissariat Energie Atomique Procede d'execution d'un code binaire d'une fonction securisee par un microprocesseur
CN113391119B (zh) * 2021-06-15 2022-06-14 浙江东鸿电子股份有限公司 内置数据加密的多功能电表及其加密方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
US6378072B1 (en) * 1998-02-03 2002-04-23 Compaq Computer Corporation Cryptographic system
US7194633B2 (en) * 2001-11-14 2007-03-20 International Business Machines Corporation Device and method with reduced information leakage
GB2401293B (en) * 2002-01-17 2004-12-22 Toshiba Res Europ Ltd Data transmission links
TWI235303B (en) * 2003-07-22 2005-07-01 Yuen Foong Paper Co Ltd Digital content management system, method and application method thereof
US7734932B2 (en) * 2003-11-10 2010-06-08 Broadcom Corporation System and method for securing executable code

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101582765B (zh) * 2009-06-29 2012-02-15 北京交通大学 绑定用户的便携式可信移动装置
CN102447559A (zh) * 2010-10-06 2012-05-09 国际商业机器公司 针对复合资源文档创建数字签名的方法和系统
US8856532B2 (en) 2010-10-06 2014-10-07 International Business Machines Corporation Digital signatures of composite resource documents
CN102447559B (zh) * 2010-10-06 2015-01-28 国际商业机器公司 针对复合资源文档创建数字签名的方法和系统
CN102075802A (zh) * 2011-03-08 2011-05-25 广东爱科数字科技有限公司 一种机顶盒和智能卡安全通信的方法
CN102075802B (zh) * 2011-03-08 2012-12-12 广东爱科数字科技有限公司 一种机顶盒和智能卡安全通信的方法
CN104135470A (zh) * 2014-07-11 2014-11-05 宇龙计算机通信科技(深圳)有限公司 一种对目标数据的存储完整性进行验证的方法及系统
CN104135470B (zh) * 2014-07-11 2017-07-14 宇龙计算机通信科技(深圳)有限公司 一种对目标数据的存储完整性进行验证的方法及系统
CN108496159A (zh) * 2016-01-21 2018-09-04 惠普发展公司,有限责任合伙企业 数据密码引擎
CN111159783A (zh) * 2019-12-31 2020-05-15 山东方寸微电子科技有限公司 一种便携式高速流加密硬件装置及方法
CN111159783B (zh) * 2019-12-31 2024-03-26 山东方寸微电子科技有限公司 一种便携式高速流加密硬件装置及方法
CN113408013A (zh) * 2021-05-29 2021-09-17 国网辽宁省电力有限公司辽阳供电公司 多种算法规则混合的加解密芯片构架

Also Published As

Publication number Publication date
CN101072097B (zh) 2011-04-13
EP1855476A3 (en) 2010-10-27
TW200816767A (en) 2008-04-01
EP1855476A2 (en) 2007-11-14

Similar Documents

Publication Publication Date Title
CN101072097B (zh) 用于受信数据处理的方法和系统
CN1985466B (zh) 使用分发cd按签署组向设备传递直接证据私钥的方法
JP4912921B2 (ja) セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
US7788487B2 (en) Data processing apparatus
CN101661544B (zh) 在主显示器内提供安全显示窗口的方法和设备
US10142101B2 (en) Hardware enforced one-way cryptography
KR100692348B1 (ko) 휴면 보호
CN105095696B (zh) 对应用程序进行安全认证的方法、系统及设备
CN104581214B (zh) 基于ARM TrustZone系统的多媒体内容保护方法和装置
CN109840436A (zh) 数据处理方法、可信用户界面资源数据的应用方法及装置
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
EP2711859B1 (en) Secured computing system with asynchronous authentication
JP2014089652A (ja) 情報処理装置
US9367700B2 (en) System and method for establishing a shared secret for communication between different security domains
US20120054499A1 (en) System and method for executing encrypted binaries in a cryptographic processor
US11783091B2 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
US7979628B2 (en) Re-flash protection for flash memory
JP7331714B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6741236B2 (ja) 情報処理装置
US20210111901A1 (en) Executing entity-specific cryptographic code in a trusted execution environment
JP7385025B2 (ja) 暗号化コプロセッサにおけるエンティティ固有の暗号化コードの実行
KR20110064458A (ko) 암호화된 동적 라이브러리를 이용한 안전한 응용 프로그램 실행 장치 및 방법
EP3451214A1 (en) Computing device with computer program bounded thereto
JP2006165874A (ja) 電子制御装置及びデータ保護システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110413

Termination date: 20120511