CN101103584A - 安全及后向兼容处理器以及在其上的安全软件的执行 - Google Patents

安全及后向兼容处理器以及在其上的安全软件的执行 Download PDF

Info

Publication number
CN101103584A
CN101103584A CNA2004800037509A CN200480003750A CN101103584A CN 101103584 A CN101103584 A CN 101103584A CN A2004800037509 A CNA2004800037509 A CN A2004800037509A CN 200480003750 A CN200480003750 A CN 200480003750A CN 101103584 A CN101103584 A CN 101103584A
Authority
CN
China
Prior art keywords
processing unit
response
application software
processor
memory
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
CNA2004800037509A
Other languages
English (en)
Other versions
CN101103584B (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.)
Samsung Electronics Co Ltd
Original Assignee
BroadOn Communications Corp
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 BroadOn Communications Corp filed Critical BroadOn Communications Corp
Publication of CN101103584A publication Critical patent/CN101103584A/zh
Application granted granted Critical
Publication of CN101103584B publication Critical patent/CN101103584B/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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
    • G06F21/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • 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
    • G06F21/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode

Abstract

一种安全处理器(110),确保应用软件被安全执行,并确保只有授权的软件才可被执行,以监视模式或安全模式操作。在前者模式下,相对于软件透明地执行应用软件。在后者模式下,验证应用软件的执行是否被授权,执行由应用软件所需的任何额外业务,并验证所述处理器是否获得执行该内容的权利。所述安全处理器(110)在硬件上看起来与普通处理器相同,从而为普通处理器所编写的应用软件,无需实质上的改变,而可以在该安全处理器(110)上执行,在表现为与普通处理器硬件相同的那些部分上,只需要很少的附加硬件。所述安全处理器(110)实质上不降低速度或其它应用软件可用的资源。安全模式的功能可能驻留在芯片上的非易失存储器中,或可从外部存储器认证加载。

Description

安全及后向兼容处理器以及在其上的安全软件的执行
发明背景
1.发明领域
本发明涉及安全处理器,并涉及在其上的安全软件的执行,例如涉及能够安全执行应用软件的安全处理器。
2.相关技术
在已知的计算系统中,当考虑计算系统的价值时,处理能力的可用性不再是重要的限制,所述处理能力例如由微处理器和其它处理设备所提供。而由那些处理器来执行(并由那些处理器来呈现)的应用软件和多媒体内容的可用性,或者更准确地说,授权来使用该应用软件和多媒体内容已成为实际上的限制。这种情况的一个结果是许多计算系统的实际价值在于在该设备或平台上所执行的应用软件和多媒体内容。应用软件和多媒体内容变得更容易传播,例如使用通信网络,或通过使用廉价的CD-ROM介质进行传播,从而导致防止未授权复制和传播(有时称作“软件私有权”)具有经济上的重要意义。因此,现有技术中的一个问题是确保这种有价值的应用软件和多媒体内容只有在被授权时才可以在处理器上使用,例如已经对这种权利付费,或内容的真实性已经根据来自可信的内容发布实体的信息而得到验证。
现有技术的另一问题在于,希望向应用软件和多媒体内容提供这样的特性,使得在没有授权或更改的情况下不能在处理器上使用该应用软件和多媒体内容,而同时却不希望重新设计或重新编写该应用软件或多媒体内容以提供该特性。存在大量的可用应用软件和多媒体内容集,并且应用软件和多媒体内容的价值相当大,所以改变该应用软件或该多媒体内容的方案可能很昂贵,不可靠并且不实用。
因此,无需实质性地改变原应用软件或多媒体内容,而将应用软件和多媒体内容限制到那些授权有该应用软件和多媒体内容的处理器是很有利的。
发明内容
本发明提供了一种安全处理器,和一种使用该安全处理器的方法和系统,其能够确保应用软件安全地执行,并能够确保只执行被授权的应用软件和只显示被授权的多媒体内容。另外,确保被授权内容只能在已经购买该内容的权利或许可的设备上播放并能够被验证也是重要的。所述安全处理器包括两种工作模式,监视模式和安全模式。前者对该应用软件透明地执行应用软件。后者验证所述应用软件的执行(和多媒体内容的显示)是得到授权的,并执行由该应用软件所需的任何特别服务。所述安全处理器对于该应用软件可以呈现为与普通的处理器相同的硬件,从而,为普通处理器编写的应用软件无需实质改变就可以在该安全处理器上执行。所述安全处理器在其呈现为与普通处理器硬件相同的部分上只需要附加很少的硬件,从而该安全处理器可以运行而在实际上不会降低速度和对于应用软件可用的其它资源。在一个实施例中,所述安全处理器的一部分实际上与原普通处理器的半导体芯片相同(除了使用不同的芯片尺寸和制造技术的情况),从而实际上确保了所述应用软件在所述安全处理器上的执行就如同在原普通处理器上的执行一样。
在一个实施例中,安全处理器以安全模式加电启动执行。在该启动运行阶段,安全处理器以安全模式执行安全代码。该安全代码被保存在安全处理器芯片内部的永久存储器中并因此是可信的。该安全代码从一个或多个可信的源加载附加的源代码,从而参考也保存在安全处理器芯片内部的永久存储器中的并且是可信的安全信息,来验证这些源的可信性和附加源代码的真实性。所述安全信息可以包括但不必限于:加密密钥、安全散列值(secure hash value),或其它用来验证可信源和验证附加源代码的真实性的数据。
一旦被加载,所述附加源代码就能使安全处理器从可信源请求应用软件,验证该安全处理器是否有权执行所请求的应用软件,验证该应用软件是否已经被正确加载,并检查该应用软件的完整性。在本发明的环境中,并不特别要求所述永久存储器或是可信源具有在此所述的特定实现方式。例如,但不是为了以任何方式进行限定,永久存储器或一个或多个可信源可以使用连接到安全处理器的硬件设备来代替或补充(例如,由用户)。在该例子中,安全处理器在信任由该源加载的任何代码之前,将验证该连接的完整性,验证其真实性,并校正该硬件设备的操作。
所述安全处理器能够退出安全模式并执行已经以监视模式被正确加载的应用软件。应用软件无需进行实质性的改变就可以以该应用软件原来的代码执行,从而该应用软件处于实质上与普通处理器没有显著不同的处理器环境。当应用软件需要安全处理器监视的服务时,应用软件产生中断,从而使得重新进入安全模式,并将这些服务传送给应用软件,并退出安全模式,从而该应用软件可以继续以监视模式执行。例如,但不以任何方式限于,该应用软件可以请求要被请求、加载和执行的额外的应用软件模块。其它的服务还包括,安全处理器可以监视I/O操作,所述应用软件可以使用提供给可由安全处理器执行的安全代码的API(应用程序编程接口)来请求该I/O操作。
所述安全处理器还可以使用定时器来中断应用软件,进入安全模式,执行任何所希望的步骤,和重新进入监视模式。其中,可以使用不只一种技术来进入安全模式,所述安全处理器能够确定通过哪一种技术来进入安全模式。所述安全处理器还能够记录对外部存储器的访问,从而能够验证应用软件的正确执行。其它的特征还包括,安全处理器还具有监视(即,检查并确认其属性)I/O操作的能力,或者,安全处理器还具有在应用软件的请求下执行(优选地,在检查和确认其属性之后)安全操作的能力。
例如,但不是为了以任何方式进行限制,所述安全处理器能够检查在外部存储器中应用软件打算访问的那些位置。如果应用软件打算访问由安全处理器所允许的位置范围之外的任何位置,那么安全处理器对此做出响应,确定应用软件没有正确执行。例如,但不是为了以任何方式进行限制,在这种例子中,应用软件可能具有软件错误,或可能包括软件病毒,或可能是故意恶意设计的情况。响应于此,安全处理器可以采用合适的行动来限制任何这种不正确的影响。例如,但仍然不是为了以任何方式进行限制,在这种例子中,安全处理器可以采取行动限制应用软件访问到那些外部存储器位置,可能采取行动停止应用软件的操作,或可能采取行动对应用软件执行软件病毒检查或软件病毒清除。
所述安全处理器还能够代表应用软件执行加密或解密,从而应用软件无需知晓,对于其普通操作,正在执行加密、解密,或其它安全特征。作为第一个例子,但不是为了以任何方式进行限制,应用软件可以执行对从服务器、从外部海量存储器或从外部存储器所加载的附加代码或多媒体内容的真实性检查,而无需访问安全处理器的唯一的ID或密钥,但是仍然使用安全处理器的安全特征的全部能力。作为第二个例子,但仍然不是为了以任何方式进行限制,应用软件可以加密或解密其与外部实体通信的安全信息,仍然不需要访问安全处理器的唯一的ID或加密密钥或解密密钥,但是仍然使用安全处理器的安全特征的全部能力。
在一个实施例中,所述安全处理器包括唯一的ID,并能够使用该唯一的ID(以及与该唯一的ID相关的唯一的加密或解密密钥)来特定地识别安全处理器的特定情况。在这些实施例中,当代表应用软件执行加密或解密时,安全处理器使用该唯一的ID和唯一的加密或解密密钥。例如,但不是为了以任何方式进行限制,安全处理器可以代表应用软件执行加密或解密,从而在与外部实体进行通信时使用该唯一的ID和唯一的加密或解密密钥。在一个这样的例子中,安全处理器可以与外部实体进行通信来进行确认、交换、或获得DRM(数字版权管理)信息。
所述安全处理器在非易失性存储器(例如,NVROM)中保存着所述唯一的ID、代码签名或密码散列值(cryptographic hash),和唯一的加密或解密密钥,以及任何其他的安全处理器的特殊情况的特异性信息。所述NVROM包括一个非连接(non-bonded)的引脚,在制造或配置安全处理器期间使用,以记录安全处理器的特殊情况的特异性信息,该引脚在制造或配置安全处理器之后保持非连接,从而使NVROM不能被进行第二次擦写。
由于具有唯一的ID(和唯一的加密或解密密钥),包括安全处理器的系统具有多个优点:
*使用安全处理器与服务器进行通信是可以追踪的,因此,尝试未授权下载应用软件或多媒体内容的用户可以被通知进行付帐。
*由于安全嵌入了唯一的ID和唯一的加密或解密密钥,所以允许服务器信任安全处理器,而无需验证或信任安全处理器的尝试下载应用软件或多媒体内容的部分,例如其安全引导代码。服务器只需信任制造商来安全嵌入唯一的ID和唯一的加密或解密密钥。
*包括安全处理器的系统对于用户擅改以尝试截取发向和来自安全处理器的信号或在系统中出现的信号具有抵抗力,这是因为与安全处理器进行通信的敏感数据为了安全可以被加密。尝试危害敏感数据的安全将会涉及到对安全处理器芯片的困难的解构过程。
*在所述安全处理器中,执行应用软件或呈现多媒体内容的CPU基本上与原非安全处理器相同,因此,尝试使该安全处理器的安全特征失效也将使得该CPU的所需功能失效。
*所述安全处理器可以通过CPU安全地验证执行应用软件或显示多媒体内容的权利。例如,但不是为了以任何方式进行限制,可信的服务器(或其它可信的实体,例如认证机构)可能发布能够通过安全处理器验证其真实性的安全数字购买收据,例如通过使用唯一的ID和唯一的加密或加密密钥。在这些例子中,所述安全数字购买收据可唯一地识别有权执行应用软件或显示多媒体内容的特定设备(或设备种类)。
*所述安全处理器可以对应用软件和多媒体内容实施复制禁止或复制保护。例如,但不是为了以任何方式进行限制,这种内容可以包括(1)一组允许CPU执行的已购买的应用软件,或允许CPU呈现的已购买的多媒体内容,(2)能够使该执行或显示进行的数字版权,(3)用于CPU和其它设备之间的信息,例如,对等层消息,但不是为了限于特定的设备(或设备种类)。
附图简述
图1显示了一个系统框图,所述系统包括能够进行安全执行的安全处理器。
图2a和2b显示了操作能够进行安全执行的安全处理器的方法流程图。
图3显示了一个电路框图,所述电路包括用来以实际上非可擦除方式编程非易失性存储器的设备。
图4显示了操作电路的方法流程图,所述电路包括用来以实际上非可擦除方式编程非易失性存储器的设备。
优选实施例的详细描述
在此说明书中,描述了本发明的优选实施例,包括优选的处理步骤和数据结构。本领域的熟练技术人员将意识到,在熟读该申请之后,无需过多的实验或进一步的创新,有可能使用多种没有具体描述的其它技术来实现本发明的实施例,并且这些其它技术将落入本发明的范围和精神内。
词汇
下面的术语涉及或参考本发明或其实施例的多个方面。每个术语的一般意义的目的在于进行说明,而不是为了限制。
*短语“安全处理器”描述了一种设备,所述设备具有确保只有可信的软件才可以在子单元上执行的能力,所述子单元包括“处理器”或“处理单元”(在此有时称为“CPU”)。在所述安全处理器内,处理器或处理单元的概念是宽泛的,并且至少包括以下设备:具有通用指令集的通用处理器,具有有限指令集的专用处理器,一组能够执行或中断程序指令的专用电路,一组能够仿真任何类型的安全处理器的硬件程序指令,及其任何合理的概括,等等。
*短语“应用软件”描述了一组能够由处理器执行或中断的指令或参数。在此应注意,应用软件的概念是宽泛的,并且至少包括以下项目:软件或硬件程序指令,软件或硬件程序参数值,能够通过编程语言编译器编译或通过编程语言解释器解释的源代码,用于编译或解释编程语言的宏定义,由应用程序接收并对其采取行动的命令或请求,及其任何合理的概括,等等。
*短语“多媒体内容”描述了能够呈现给用户的一组信息或参数。在此应注意,多媒体内容的概念是宽泛的,并且至少包括以下项目:动画,视听电影,静态图片,或声音,其或者嵌入在用于通过软件或硬件程序指令进行解释和显示的数据中;或者嵌入在用来产生这些数据本身的软件或硬件程序指令中;或者嵌入在用于多媒体内容的标记语言中,例如DHTML、SGML、VRML、Macromedia Flash等等;由应用程序接收并对其进行动作的命令或请求;及其任何合理的概括;等等。
*短语“监视模式”和“安全模式”描述了安全处理器的可能的工作状态。在此应注意,监视模式和安全模式的概念是宽泛的,并且至少包括以下项目:任何可区别的状态,其中由安全处理器执行或解释的指令具有对处理器能力的可区别的访问度,并且其中安全处理器在处于安全模式时能够执行安全处理器处于监视模式时的任何类型的监视或限制,等等。
*(由安全处理器对应用软件)进行透明执行和(由处理器对应用软件)的明显硬件识别的概念描述了安全处理器执行应用软件的能力,就该应用软件来说,就像是该应用软件正在普通处理器上执行那样。这具有这样的效果,即,安全处理器可以执行该应用软件,而无需对该应用软件做任何修改,但是仍然能够保持如在此所描述的安全特征。仅仅作为一个例子,并不是以任何方式进行限制,安全处理器的一部分可能实际上与原普通处理器的半导体芯片相同,从而实际上确保了应用软件如同其在原普通处理器上那样在安全处理器上同样地执行。
*短语“加电”描述了处理单元的启动操作阶段,无论其在电源实际变化之后发生、在复位信号之后发生,或者在安全处理器的任何其它实际初始化状态之后发生。如在此所描述的那样,加电的概念是宽泛的,并且意图包括在此所描述的任何启动操作状态,及其概括。
*短语“安全代码”和“安全引导加载程序代码”描述了可以由安全处理器解释或执行的程序指令,并且安全处理器已知该指令是可信的。安全代码例如可能由于已经被保持在安全处理器芯片的永久存储器中而被认为是可信的,但不限于此。从这些可信的安全代码开始,由于已经从可信资源接收并被先前建立的“安全代码”或“安全引导加载程序代码”鉴别为正确,所以附加安全代码可以被建立为“安全代码”。在此应注意,安全代码的概念是宽泛的,并且意图包括安全处理器可以信任该代码的任何程序代码,该代码包括例如用来执行安全功能。
*短语“安全功能”和“安全核心软件”描述了可以由安全处理器解释或可执行的程序指令,该指令对安全处理器来说已知是可以验证的,并能够实现与安全、认证或验证相关的功能。例如,但不是为了以任何方式进行限制,包括数字签名、加密和解密、数字签名的验证等的功能可以通过安全功能或安全核心软件来实现。在一个实施例中,这种安全功能或安全核心软件可以使用API(应用程序编程接口)而可以由应用软件来使用。在一个实施例中,安全核心软件通过安全引导加载程序代码加载并在执行之前对完整性和/或真实性进行验证。与安全有关的软件部分包括在“安全代码”的概念内,所述软件部分已经被验证并保存在安全处理器芯片的存储器内(可能是易失的)。
*短语“安全处理器芯片”(在此有时称作“芯片”)描述了在其上实施安全处理器的物理硬件。如在此所描述的那样,安全处理器芯片包括硬件结构和程序指令,对于安全处理器来说已知是可信的,并且其他人难于干扰或破坏其安全性。
本发明的范围和精神并不局限于这些定义中的任何一种,也不局限于在此所提到的具体例子,相反,本发明意图包括由这些和其它术语所体现的最一般的概念。
系统单元
图1显示了一个系统框图,所述系统包括能够进行安全执行的安全处理器。
系统100包括安全处理器110、通信链路120、和至少一个软件或内容发布器130。可选地,软件或内容发布器130(在此有时称为可信的服务器130)可以包括可信的服务器,所述可信的服务器能够在线或离线传送附加内容到安全处理器110或到由安全处理器110所控制的设备。
在一个实施例中,系统100还包括应用设备140,包括至少一个输入设备141和至少一个输出设备142,这些设备在由安全处理器110执行的应用软件143的控制下进行工作。
当安全处理器工作在监视模式时,应用设备140可以执行任何所需的应用程序。作为一个例子,但不是以任何方式进行限制,应用设备140可以包括用来播放或参与实时视听游戏的设备,例如,可以安装在电玩机(arcade)或个人计算机中。然而,在本发明的上下文中对应用设备140并没有如此特定的要求。相反,应用设备140通常可以包括游戏设备;个人计算机或个人工作站;任何手持设备,例如寻呼机,PDA(个人数字助理)或其它手持计算机,笔记本或膝上计算机,电话,手表,位置或条件传感器,生物测定传感或报告设备,起博器,电话设备,或远程寻的设备(remote homing device)。
更概括地说,只要安全处理器110能够执行在此描述的功能,应用设备140可以包括遵循计算规范的任何设备。
为了向芯片附加传送真实的应用或内容,通信链路120可以包括从可信的服务器130到安全处理器110的通信链路。例如,但不是为了以任何方式进行限制,通信链路120可以包括使用因特网或其一部分的通信链路,或实时,或使用一个或多个存储和转发设备,或使用一个或多个中间缓存设备,或通过存储介质进行物理传送。然而,在可选实施例中,通信链路120可以包括到专用或公共交换电话网络的通信链路,租用线路或其它专用通信链路,射频收发信机,微波收发信机,无线或有线调制解调器,或其它能够代表安全处理器110与可信的服务器130进行通信的设备或系统。更概括地说,通信链路120可以包括任何用来传送内容的可想象到的技术,例如,从可信的服务器130物理运送并传送的存储介质(例如,CD-ROM)。
可信的服务器130包括例如作为电子分布系统的一部分的内容发布、传送或服务实体。在一个实施例中,可信的服务器130(可选地)能够为其分布的任何内容产生数字签名,所述内容例如应用软件或多媒体内容,从而安全处理器110能够验证该内容的真实性。在一个实施例中,可以使用数字签名技术来产生该数字签名,所述数字签名技术带有公用密钥密码系统,类似属性的系统,或能够产生可以用来验证内容的真实性的信息的其它类型的系统。
在可选实施例中,可信的服务器130可以包括能够接收包括信息请求的消息并产生包括对于那些信息请求的响应的消息的逻辑远程设备。例如,但不是为了以任何方式进行限制,可信的服务器130可以包括包含高端PC或工作站的因特网服务器。虽然在一个实施例中,可信的服务器130包括单机服务器,但是,在本发明的上下文中对可信的服务器130并没有如此特定的要求。相反,可信的服务器130通常可以包括能够如在此所描述那样进行动作的任何设备,并可以包括硬件元件或软件元件,或包括两者。而且,在本发明的上下文中,对可信的服务器130包括任何特定元件的组合,或对可信的服务器130是单个设备,或甚至其包括任何特定设备的全部,并没有如此特定的要求。相反,可信的服务器130通常可以包括另一个设备的一个或多个部分,并通常可以包括不只一个联合或合作工作的设备(或其部分)。更概括地说,如上所述,可信的服务器130可以包括任何用来产生或封装传送内容的可能想到的设备,例如用来写存储器介质(例如,CD-ROM)的设备,所述存储器介质有待于物理运送并传送到安全处理器110。
如上面所注意的那样,更概括地说,可信的服务器130可以包括用来传送内容的任何可能想到的技术。在本发明的上下文中,对于任何实际在线内容传送或甚至对于任何在安全处理器110和可信的服务器130之间的任何现场或实时链路来说,不存在特定要求。例如,但不是为了以任何方式进行限定,应用软件或多媒体内容可以通过任何下面的技术或它们的某些组合或联合,从可信的服务器130传送到安全处理器110:
*所述应用软件或多媒体内容可以使用交互或交换通信系统进行传送。
*所述应用软件或多媒体内容可以使用物理存储介质进行传送。
*所述应用软件或多媒体内容可以通过任何技术从第三方以编码或加密形式进行传送,并可以通过任何技术从可信的服务器130传送用来解密或解密的密钥。
*所述应用软件或多媒体内容可以通过任何技术从第三方进行传送,并且可以通过任何技术从可信的服务器130传送证书或其它真实性的保证。
*所述应用软件或多媒体内容可以通过任何技术,使用中间存储设备或其它类型的缓存设备,使用因特网或任何其它分布技术进行传送。
所述安全处理器110包括监视处理器111、一组安全逻辑112、和一组安全信息113。安全处理器110可以工作在监视模式或安全模式。当工作在监视模式时,安全处理器110使用包括监视处理器111的电路。当工作在安全模式时,安全处理器110使用包括监视处理器111和安全逻辑112的电路,并且还使用包括安全信息113的数据。
1.监视处理器
监视处理器111包括内部总线114、CPU A100、CPU存储器接口A103、海量存储器接口A135、存储器接口A140、一组专用电路A145、海量存储设备A150、一组RAMA155。
内部总线114在监视处理器111的各部分之间能够传输信号,该信号包括对于数据的请求和包括数据的响应。内部总线114连接到CPU存储器接口A103,海量存储器接口A135、存储器接口A140、专用电路A145、和海量存储设备A150。
CPU A100可以包括任何能够执行在此所述的功能的通用处理器或专用处理器。例如,CPU A100可以包括例如那些由AMD或Intel制造的通用处理器,或例如DSP或嵌入的微控制器那样的专用处理器。
CPU存储器接口A103连接到CPU A 100。CPU存储器接口A 103从CPU A 100接收存储器访问请求并记录CPUA 100对RAMA 155的访问。虽然在一个实施例中,CPU存储器接口A103记录所有的这些访问,在可选实施例中,CPU存储器接口A 103可以选择只记录这些访问中的一些,例如,只是那些在由安全逻辑112或安全信息113指定的选定组的存储器位置中指定的访问。
海量存储器接口A 135执行与海量存储器设备A 150相适合的接口功能。所述海量存储设备A 150可以包括硬盘,软盘,磁带,或其他类型的海量存储器。
存储器接口A 140执行与外部存储器相适合的接口功能(即,RAMA 155)。RAMA155包括所有形式的随机访问存储器,既可以是可擦写的也可以是不可擦写的,并且如果可擦写,既可以是可擦写多次,也可以是仅可擦写一次。
专用电路A 145执行任何其它对于具体的监视处理器111的特定的功能,而不是已经由CPU A100执行的功能。CPU A 100和专用电路A 145可以联合或合作执行所选的功能。
2.安全逻辑
安全逻辑112包括安全模式开关电路A 105、安全定时器电路A110、一组安全引导代码A115、访问控制电路A 133、安全模式激活信号A 160、一组访问控制信号A 163、NMI(不可屏蔽中断)信号A 165、和用来接收外部复位信号A 170的端口A 171。此外,带有安全功能的一组安全代码A 120可以保存在海量存储器A150中。
安全处理器110能够响应于外部复位信号A 170。响应于复位信号A 170,CPU A100传送控制到(即,开始在新的位置执行指令)安全引导代码A 115中的预先选择的复位位置。预先选择的复位位置以及安全引导代码A 115都不能被CPU A100或任何其它应用软件改变。
响应于复位信号A 170,安全模式开关电路A105产生安全模式激活信号A160,该信号建立访问权利以便允许CPU A100访问安全引导代码A115,执行其指令,并使用该安全信息113读写数据。一旦复位,安全处理器110就传送控制到复位位置,并执行所述安全引导代码A 115,并(所述安全模式激活信号A 160为逻辑TRUE)允许CPUA100访问芯片的限制安全部分。在一个实施例中,安全引导代码A115被保存在分离的非易失性存储器A 115中,其位置及其内容都不能由任何应用软件改变。
在执行完任何必需的安全检查之后,安全引导代码A115从外部海量存储器A150中查找并加载任何被包括在安全核心代码A120中的附加的软件和安全功能,并加载到内部RAM A 120中。
在查找并加载任何附加的安全代码A120之后,CPU A 100传送控制到该安全代码A120,并开始执行该安全代码。安全代码A120使得CPU A100准备鉴证并执行该应用程序代码143。一旦完成准备执行该应用程序代码143,安全代码A 120就使安全处理器110退出安全模式。
安全处理器110还能够响应于NMI信号A 165。NMI信号A165例如可以通过应用程序代码143产生(例如,通过由CPUA100可以执行的程序指令)来请求要以安全模式执行的业务。这种业务的例子可以是执行安全功能或其它只有安全代码A 120才有权执行的功能。为了请求这种业务,应用程序代码143在安全逻辑112中设置选定的比特。安全模式逻辑将安全模式激活信号A160设置为逻辑TRUE,从而使CPU A100能够访问安全处理器110的安全部分。同时,安全逻辑112发送NMI信号A 165给CPUA100,使得CPU A100传送控制给芯片内部的安全引导代码A 115。安全引导代码115执行应用程序的业务,将结果呈递给在RAMA155中的某些共享存储器位置,并使用安全逻辑112退出监视模式。预先选择的NMI处理器位置、安全引导代码A120和用来加载和验证安全核心软件的技术不能由CPUA100或任何应用软件来改变。
如上所述,安全核心代码A 120被保存在内部存储器中(非易失性存储器中,或易失性存储器中,在该情况下,其从外部储存器加载并验证)。安全代码开关电路A 105产生安全模式激活信号A 160,其使得CPU A 100能够访问包括安全引导代码A 115的非易失性存储器C 100,从而CPU A100可以执行其指令,并使用安全信息113读写数据。
安全定时器电路A110能够响应于由安全模式开关电路A 105设置的参数而产生CPU A100的定时器中断信号。安全逻辑112还可以响应于来自安全定时器的时间限制已到的信号(timeout)而产生到CPU A 100的NMI信号A 165。作为响应,CPU A100传送控制到安全核心代码A120中预先选择的定时器中断处理器位置。预先选择的定时器中断位置和安全核心代码A 120都不能由CPU A100或任何应用软件(或保存在外部存储器A150中的任何其它软件)来改变。
响应于定时器中断信号A 165,并类似于进入安全模式的其它方法,安全处理器110将安全模式激活信号A160设置为逻辑TRUE,从而能够访问安全芯片的安全部分。
访问控制电路A133响应于安全模式激活信号A 160,通过产生访问控制信号A 163来控制到安全处理器110的单元的访问,该控制电路连接到执行访问控制的安全处理器110的每一个单元。当安全模式激活信号A 160指示安全处理器110处于安全模式时,访问控制电路A 133允许CPU A 100访问安全处理器110的所有单元。当安全模式激活信号A 160指示安全处理器110处于监视模式时,访问控制电路A 133允许CPU A100只访问安全处理器110的后向兼容监视模式部分。在优选实施例中,这种后向兼容模式部分不包括安全逻辑112(除非指示进入安全模式)和安全数据113。
更具体来说,当安全模式激活信号A160指示安全处理器110处于监视模式时,访问控制电路A 133防止CPU A100访问安全模式开关电路A105(除非指示进入安全模式)、安全定时器电路A110,安全引导代码A115、安全核心代码A120、访问控制电路A 133本身、安全模式激活信号A 160、访问控制信号A 163、只读安全数据A125、R/W易失性安全状态值A 130、加密/解密键B101、和许可信息B102。
3、安全信息
安全信息113包括一组只读安全数据A125、R/W易失性安全状态值A 130、一组私密钥(例如来自公共密钥加密系统)、一组加密/解密密钥、一组可选的唯一的ID和一组签名信息B101。
只读安全数据A125包括一组安全代码,如上所述,例如响应于复位信号A170,可选地响应于NMI信号A 165,响应于定时器中断信号A 165,能够由CPU A100执行的可用的代码,或当进入安全模式时的能够由CPU A100执行的可用的代码。
在一个实施例中,只读安全数据A 125包括一组一个或多个私密钥,和一组加密/解密密钥B101,优选地对于各个安全处理器110来说是唯一的。在这种实施例中,安全处理器110使用加密/解密密钥B101通过使用公共密钥加密系统(例如通过使用在公共密钥加密系统中的私密/公共密钥对的私密密钥)来解密来自可信源的消息。可选地,安全处理器110可以具有另一组代码签名B103,其不同于加密/解密密钥B101,通过使用该代码,使用其它认证技术认证可信源。类似地,在这种实施例中,安全处理器110使用代码签名B101来验证要加载到存储器中的附加安全代码的准确性,例如当从已认证的可信源接收到附加安全代码时,通过标注与该附加安全代码相关的数字签名或安全散列值的正确性的方式来进行。
在一个实施例中,只读安全数据A125还包括一组密钥信息B102,通过该信息,各个安全处理器110能够认证源并验证各个安全处理器110是否有权接收并执行相关的应用软件。例如,许可信息B102可以包括来自可信权利机构的签署证明,指示许可各个安全处理器110执行相关的专用软件。在这些实施例中,响应于许可信息B102,所认证的可信源提供了安全处理器110可以加载并执行应用软件的相关能力。在一个实施例中,这些能力包括应用软件本身,或授权安全处理器110加载并执行应用软件的DRM(数字版权管理)证明。
R/W易失性安全状态值A 130包括安全处理器110需要来执行安全代码的任何读/写易失性存储器。在一个实施例中,安全处理器110在R/W易失性安全状态值A130中保存了其所有的易失状态,从而应用程序代码不能访问由安全代码所使用的任何状态信息。安全处理器110在安全核心代码A120中还包括可以由CPUA100执行的指令,来对将由CPUA100执行的任何软件进行相关的认证和有效检查。通过在R/W易失性安全状态值A130中保存安全处理器110的所有易失状态,还能够增加用户尝试读取该状态并违反安全处理器110的安全模式操作的安全性的工作因数。然而,在可选实施例中,安全处理器110可以至少将其易失状态的一些保存在普通存储器中,从而应用程序代码可以访问与该状态相关的某些值。
操作方法
图2显示了操作能够进行安全执行的安全处理器的方法流程图。
方法200由系统100来执行。虽然方法200以串行方式进行描述,但是方法200的流程点和步骤可以通过联合或并行的分离单元异步或同步地执行,以管道方式或其他方式进行。没有特定要求所述方法200必须以本说明书所列出的流程点或步骤相同的顺序来执行,除非有明确的指出。
1、加电
在流程点210,安全处理器110准备好加电。
在步骤211,安全处理器110被加电。
在步骤212,产生复位信号A170,从而指示安全处理器110已经刚刚被复位。当安全处理器110被复位时,产生安全模式激活信号A160(即,设置为逻辑TRUE),并且CPUA100跳转到(即,传送执行控制到)安全引导代码A 115。
在步骤213,安全模式开关电路A 105产生安全模式激活信号A 160,其指示非易失性存储器C100(图3)允许CPU A100访问安全引导代码A 115,执行其指令,并使用安全信息113读写数据。然后,CPUA100传送控制到安全引导代码A115中的预先选择的复位位置。
在步骤214,CPUA100执行来自安全引导代码A115的指令。
在步骤215,CPUA 100执行安全引导代码A 115。
在一个实施例中,一旦复位,下面在MIPS或MIPS兼容处理器上示例性的实现方式导致进入安全模式。该示例性实现方式开始于流程点250,并包含本应包括在步骤214和步骤215中的动作。
*在步骤251,复位信号产生进入安全模式的请求。
*在步骤252,如果并且只有做出到复位位置Oxlfbc0000的后续未缓存的读取,那么安全逻辑112就准备将安全模式信号A 165设置为逻辑TRUE。
*在步骤253,CPU A100中断正常执行来响应于复位信号。
*在步骤254,CPU A100尝试从位置Oxlfbc0000取回下一个指令,从而调用复位中断处理程序或NMI中断处理程序。
*在步骤255,安全逻辑112将安全模式信号A165设置为逻辑TRUE,从而能够访问芯片的安全部分并执行引导安全代码。
*在步骤256,CPU A 100继续执行在安全引导代码A 120中的复位中断处理程序或NMI中断处理程序。
在执行安全引导代码A 120之后,如果存在,下面的步骤就从海量存储器A150加载安全核心或安全功能。
安全引导代码A115读取安全信息113,接收附加密码签署或可验证的指令,并将那些附加指令记录在内部RAM A 155中。为了执行该步骤,CPU A100执行下面的子步骤:
*在子步骤215,工作在安全模式的CPU A 100,在已经加载并通过安全引导代码A120认证之后,执行来自外部海量存储器A150的软件(可以从服务器设备获得)。在一个实施例中,消息被使用来自只读安全数据A 125的加密/解密密钥B101加密,并在工作于安全模式时只有CPU A100能够访问。
虽然在一个实施例中,CPU A100使用通信链路120获得附加指令,在可选实施例中,系统100可以通过其它手段获得附加指令(它们的全部或部分)。在此所述的一些例子但不是为了以任何方式进行限制,包括获得此类附加指令的可能性,或者(1)通过物理介质,或(2)从第三方获得,具有DRM(数字版权管理)证明或从服务器设备获得的其它能力。
而且,虽然在一个实施例中,附近指令被以加密形式进行发送,但是在可选实施例中,系统100也可以非加密形式获得这些附加指令(它们的全部或部分),来实施使用那些附加指令的权利,所述附加指令使用DRM证书、其它能力或其它技术来管理。
*在子步骤216,工作于安全模式的CPU A100也认证所述的软件,并根据安全信息验证其完整性,所述安全信息或者来自芯片内,或已经根据来自可信的服务器的消息而被验证,所述可信的服务器的可信性已经通过安全软件或数据而建立。在一个实施例中,CPUA 100使用公共密钥加密系统执行该认证子步骤,所述加密系统包括来自只读安全数据A 125的加密密钥或代码签名B101,并使用包括在加密/解密密钥B101或其它只读安全数据A125中的有关可信的服务器130的信息(例如,可信的服务器130的公共密钥)。
*在子步骤216,可信的服务器130可选地验证安全处理器110是否有权从可信的服务器130接收应用软件或其它附加指令。在一个实施例中,CPU A100使用公共密钥加密系统,使用来自只读安全数据A125的加密/解密密钥B101,并使用来自只读安全数据A 125的许可信息B102或其它信息执行该认证子步骤。
本领域普通技术人员将认识到,在熟读本申请之后,可以使用很多其它的技术来使用加密签名和可信的根密钥来认证来自服务器的软件或数据。而且,并没有特定要求是否只需要对可信的服务器130进行认证。在可选实施例中,可以是服务器和客户相互进行认证。
*在子步骤217,工作在安全模式的CPU A100从可信的服务器130接收应用软件或其它附加指令,并验证该应用软件或那些附加指令的准确性。在一个实施例中,CPUA100使用公共密钥加密系统,使用来自只读安全数据A125的加密/解密密钥B101,或使用来自只读安全数据A125的应用软件或其它附加指令的安全散列值来执行该验证子步骤。
*在子步骤218,工作在安全模式的CPU A100将应用软件或其它附加指令记录在RAM A155中。该子步骤的结果是应用软件或其它附加指令准备好以由CPU A 100执行。
虽然在此描述了一个用来认证和加载应用软件的示例方法,但是其它和进一步的技术也可能完成这些任务。如上所述,在本发明的上下文中,对于应用软件的认证是否涉及任何特定的技术并无要求,尤其是,对于应用软件的认证是否涉及与可信的服务器130的交互通信更无要求。
在一个实施例中,通过安全处理器110获得至少安全核心代码A120自身的某些部分来作为这些附加指令。在一个实施例中,可以使用下面的技术:
*在启动(加电或接收到复位信号)时,CPUA100被迫执行安全核心代码A120,所述安全核心代码由安全引导代码验证为正确和安全的。
*在通过自举加载程序(bootstrap loader)加载程序代码之后,CPU A100执行安全核心代码A120,从而从海量存储器A150或其它外部设备向内部存储器加载并复制用来执行安全功能的代码。在一个实施例中,所述内部存储器是芯片上的易失性存储器,例如,SRAM存储器。
*非易失性可一次性擦写的存储器C110(图3)在制造安全处理器芯片时,使用强加密的签名值进行初始化,所述强加密的签名值例如为160比特的安全散列值或文摘值。在一个实施例中,安全散列值或文摘值可以包括SHAI安全散列值或其它已知的强加密签名值。如在此所描述的那样,非易失性可一次性擦写存储器的构造和初始化防止其在制造安全处理器芯片之后被应用软件修改。
*安全核心代码A 120的自举加载程序部分计算新加载程序代码的签名,并比较所计算的签名和已经内部存储在非易失性存储器C110中的预先计算的签名。如果所计算的签名和预先计算的签名匹配,那么安全核心代码A120的自举加载程序部分就得出结论,新加载的程序代码是正确可信的。一旦得到这样的结论,就允许CPUA100以安全模式执行新加载的程序代码。
*在一个实施例中,在每次尝试加载打算以安全模式执行的附加软件时,CPU A 100重新验证新加载的程序代码是否正确可信。例如,而不是以任何方式进行限制,这些情况可以包括(1)每次从RAMA155、海量存储器A150、或任何其它外部设备加载安全核心代码A 120的一部分时,(2)每次希望加载附加软件并添加到安全核心代码A 120时,例如需要由安全核心代码A120所提供的新的安全功能或新功能。
*如在此所注释的那样,在一个实施例中,CPU A100单独验证新加载的程序代码是否正确可信。例如,但不是以任何方式进行限制,这些情况可以包括(1)当从RAMA 155、海量存储器A 150、或任何其它外部设备加载多个模块时,为每个模块保存一个单独的预先计算的签名,(2)当希望在一系列模块中加载附加软件时,在每个模块中为下一个种模块找到新的预先计算的签名,(3)既为每个模块保存单独的预先计算的签名,又为一组这种模块保存预先计算的签名。
*在步骤219,安全处理器110从安全模式退出到监视模式。在此,后面将略述从安全模式退出的一般示例方法。
2.业务请求
在流程点220,安全处理器110以监视模式执行应用软件。该安全模式准备好从应用软件接收业务请求。
在步骤221,应用软件向安全处理器110提出业务请求。
在步骤222,在一个实施例中,应用软件将业务请求的参数放置在安全模式逻辑中的一组选定的寄存器中。
在步骤223,安全代码逻辑112将安全模式信号A 160设置为逻辑TRUE。
在步骤224,安全模式逻辑112产生到CPUA100的NMI中断信号A165,从而CPUA100传送控制到安全核心代码A120来满足业务请求。
在步骤225,类似于步骤213,CPUA100以安全模式跳转到预先选择的中断处理程序位置。安全模式开关电路负责A105产生安全模式激活信号A160,其使得CPUA100能够访问所述安全代码,执行其指令,并使用安全信息113读写数据。
在步骤226,类似于步骤214,CPUA100执行来自安全代码的指令。安全代码处理NMI中断。
在一个实施例中,下面在MIPS或MIPS兼容处理器上的示例性实现方式导致在应用程序代码143的请求下进入安全模式。该示例性实现方式开始于流程点250。
*所述应用程序对安全模式逻辑中的寄存器执行未缓存的读取。如果并且只要遇到来自NMI复位位置Oxlbfc0000的随后读取,那么这就“装备”了所述安全模式逻辑来条件性地进入安全模式。
*在步骤252,如果并且只要对复位位置Oxlfbc0000做出后续未缓存的读取,那么安全逻辑112就准备将安全模式信号A165设置为逻辑TRUE。
*在步骤253,安全逻辑112使得产生到CPUA100的NMI信号。
*在步骤254,CPU A100尝试从位置Oxlfbc0000取回下一个指令,从而调用复位中断处理程序或NMI中断处理程序。
*在步骤255,安全逻辑112将安全模式信号A165设置为逻辑TRUE,从而能够访问芯片的安全部分并执行引导安全代码。
*在步骤256,CPU A100继续执行安全代码A120中的复位中断处理程序或NMI中断处理程序。
在一个实施例中,安全模式逻辑中的寄存器被预定来指示进入安全模式的原因;例如,由于复位,由于来自应用程序代码的请求,等等。
安全核心确定进入安全模式的原因,并可能通过读取芯片的限制区域来执行由应用程序请求的业务,并将结果返回给与该应用程序共享的存储器区域。
在执行完所请求的操作之后,安全核心通过安全模式逻辑触发确定的退出顺序(如下面所述的那样),并返回到应用程序代码143。
在步骤227,安全处理器110将所请求操作的结果保存在共享的存储器中,例如RAMA155。
在一个实施例中,由应用软件提交的业务请求可以包括执行I/O操作的请求。在这些实施例中,安全处理器110保留至少一些I/O操作以在安全模式执行,从而在没有安全代码的帮助下,应用软件就不能执行那些I/O操作。
应用软件提出业务请求,由与该请求相关的参数指示所请求的业务是I/O操作。与该请求相关的参数遵循由其设计人员为安全处理器110所选择的API(应用程序编程接口),优选地与应用软件合作进行工作,而无需对应用软件进行实质性改变。
在一个实施例中,由应用软件所提出的业务请求可以包括加载附加软件的请求。在这些实施例中,安全处理器110执行类似于步骤214的步骤及其子步骤。从而,在系统100中,在类似于步骤214的那些子步骤中,CPU A100认证服务器设备作为可信的服务器130,CPUA100从海量存储器A150或从可信的服务器130接收或加载附加软件,并在验证这些软件的真实性和完整性之后,CPU A100将这些附加软件记录在RAMA155中。
可以通过安全模式逻辑以上面所示相同的机制来处理错误捕捉或I/O仿真。在这些情况下,安全模式逻辑迫使CPU进入安全模式,并根据需要执行预先认证的软件来处理错误捕捉或I/O请求。
在步骤228,安全处理器110从安全模式退出到监视模式。在此,后面略述从安全模式退出的一般示例方法。
3.定时器中断
在流程点230,安全处理器110设置可以中断在监视模式中执行的应用软件的定时器,并且定时器已准备好时间已到(go off)。
在步骤231,类似于步骤221,定时器时间已到,应用软件被中断。
在步骤232,类似于步骤222,产生定时器中断信号A 165,从而指示在安全处理器110上的处理刚刚被中断。
在MIPS或MIPS兼容处理器上的安全定时器捕捉的实现方式的一个示例性方法如下面那样。该示例方法类似于开始于流程点250的步骤。
*安全定时器被编程在CPU复位安全引导软件中来倒计时到零,并复位到确定安全时间捕捉周期的值。该机制不能被任何应用软件屏蔽或中断,并在应用程序继续执行时连续运行。
*定时器从已编程的设置开始倒计时,并且一旦达到零,就触发一个到CPU的NMI信号A 165(中断其执行路径),如果并且只要向NMI路径位置做出后续的未缓存读取请求,那么就装备安全模式逻辑来有条件地产生安全模式激活信号。
*一旦定时器中断,CPU就跳转来执行安全核心所驻留的NMI路径,以执行所需的动作。
*一旦知道了对NMI位置的读取,安全模式逻辑就将安全模式激活信号设置为真,并允许访问芯片的安全区域。
*负责处理定时器捕捉的安全核心路径执行其操作并再次通过安全模式逻辑最后退出安全模式。
在步骤236,CPU A100退出安全代码,并返回到应用软件执行点。安全模式开关电路A105取消产生安全模式激活信号A160,从而指示不再允许CPUA100访问安全代码,执行其指令,或使用安全信息113进行读写数据。
4.被监视的存储器访问
在流程点240,安全处理器110准备好通过在监视模式执行的应用软件来记录到外部存储器的访问。
在步骤241,CPU A100尝试从RAM A155进行读取或向其写入。为了执行该步骤,CPU A100发送存储器地址到CPU存储器接口A103。
在步骤242,CPU存储器接口A 103将该存储器地址连接到内部总线114,该总线将该存储器地址连接到存储器接口A140,并连接到安全逻辑112。
在步骤243,包含访问控制电路A133的安全逻辑112确定是否允许CPU A100访问在RAMA155中的该存储器地址。在一个实施例中,通常总是允许CPUA100访问在RAM A155中的任何存储器地址。然而,在可选实施例中,访问控制电路A133可以限制CPU A100访问所选的存储器地址,从而当CPU A100工作在监视模式时将RAM A155的所选部分隔离。
在步骤244,包括访问控制电路A133的安全逻辑112通过CPUA100来在RAMA155中记录对存储器地址的访问尝试。在一个实施例中,CPU A100只记录所选的这些存储器地址。例如,但不是以任何方式进行限制,当CPUA100工作在监视模式时,访问控制电路A133可以选择用来记录访问的RAMA155的一个或多个部分。然而,在可选实施例中,访问控制电路A133可以尝试记录所有的这些存储器访问,可以尝试记录响应于其模式的存储器访问,或可以尝试记录响应于由工作在安全模式的CPUA100所选择的某些其它标准的存储器访问。在随着对限制的通常认证检查而启动的应用期间,可以通过安全软件加载专用限制信息。
在一个实施例中,以上述任何一种机制来实现退出安全模式的方法。
*指示进入安全模式的原因的寄存器被清除。
*软件清除所有用来执行安全核心软件的缓存或内部存储器区域。
*安全核心软件从NMI路径返回。
非易失性存储器
图3显示了一个电路框图,所述电路包括用来以实际上非可擦除方式编程非易失性存储器的设备。
电路300包括非易失性存储器C100、无效逻辑电路C110、外部程序逻辑电路C120、非连接引脚C130、和一组外部编程引脚340。
在一个实施例中,非易失性存储器C100包括闪存或其它能够电编程并能够进行读取的存储器,从而电路300可以确定非易失性存储器C100是否已经用数据进行了编程。在本发明的上下文中,对于非易失性存储器C100包含什么样的特定存储器技术并没有特定要求,只要其可以执行在此所描述的功能就可以。
无效逻辑电路C11O被连接到外部编程逻辑电路C120,从而,当来自无效逻辑电路C110的程序使能信号(program enable signal)被关闭时,就不能输入到外部程序逻辑电路C120,并且非易失性存储器C100也不能从外部编程引脚进行电编程。
无效逻辑电路C110还连接到非易失性存储器C100,并能够从非易失性存储器C100读取值并将这些值与程序使能签名值进行比较,从而无效逻辑电路C110可以确定非易失性存储器C100是否已经被初始编程。如果非易失性存储器C100已经使用程序使能签名值进行初始编程,那么无效逻辑电路C110就能够使到外部程序逻辑电路C120的输入能够进行,从而可以电编程非易失性存储器C100。如果程序使能签名值没有出现,那么来自无效逻辑C110的程序使能输出将无效。
非连接引脚C130包括电可导垫,其位于安全处理器芯片上,并能够在封装芯片之前被探测,但是并未连接到任何外部线路或包装上。这具有这样的效果,当制造安全处理器芯片时,非连接引脚C130可以电连接到外部电路,但在制造和封装之后,非连接引脚C130实际上就不能再电连接到任何外部电路。因此,在制造安全处理器芯片之后和在封装安全处理器芯片之前,当编程非易失性存储器C100时,可以使用非连接引脚C130,但是当完成制造和封装之后,在编程非易失性存储器C100时,就不能够再使用非连接引脚C130,从而非易失性存储器C100就不能够被外部编程。
在制造之后进行晶片测试时,非连接引脚C130被连接到所选的电压(逻辑“0”),从而使能外部编程逻辑电路C120,并且非易失性存储器C100可以被电编程,而不管来自无效逻辑C110的程序使能输出的状态。
记录唯一信息的方法
图4显示了操作电路的方法流程图,所述电路包括用来以实际上非可擦除方式编程非易失性存储器的设备。
当构造安全处理器110时,根据电路300来执行方法400。虽然方法400被描述为串行的,但是方法400的流程点和步骤也可以联合或并行地由单独的单元异步或同步地执行,以管道方式或其他方式。并没有特别要求必须以与本说明书所列出的流程点或步骤相同的顺序来执行方法400,除非有明确指出。
在流程点410,在安全处理器110中的非易失性存储器C100准备好被编程。在一个实施例中,该方法的结果能使得对于该特定安全处理器110唯一的安全信息被记录在非易失性存储器中。
在步骤411,非连接引脚C130被连接到所选电压(逻辑“0”),从而外部程序逻辑电路C120能够工作,并可以电编程该非易失性存储器C100。
在步骤412,非易失性存储器C100使用初始程序使能签名值(设置在其最后的存储器位置中)进行电编程,从而,非易失性存储器C100准备好被进一步编程。
在步骤413,电路300被封装,从而非连接引脚C130不再能够用来连接到外部电路。
在步骤414,非易失性存储器C100被电编程。
在一个实施例中,当执行该步骤时,对于安全处理器110的特定情况为唯一的安全信息113被记录在非易失性存储器C100中。这具有这样的效果,安全处理器110的特定情况变得能够唯一地区别于安全处理器的每个其它情况,并可以唯一地将自身标示为可信的服务器130。
在步骤415,非易失性存储器C100进一步被电编程来擦除编程使能签名值。当编程使能签名值不再存在时,无效逻辑电路C110确定非易失性存储器C100不再能够用于编程,并使得外部程序逻辑电路C120无效。这具有这样的效果,非易失性存储器C100不再能够通过外部编程引脚被进一步电编程。
在流程点420,非易失性存储器C100不再包括程序使能签名值,无效逻辑电路C110确定非易失性存储器C100不再能够用于编程,并且无效逻辑电路C110能够使得外部编程逻辑电路C120无效。一旦对安全处理器110加电,非易失性存储器C100就不能再进一步从外部编程引脚被电编程。
可选实施例
虽然在此描述了优选的实施例,但是可能有多种变换,这些变换仍然处于本发明的原理、范围和精神之内。在熟读本申请之后,这些变体对于本领域熟练技术人员来说将变得清楚。
*对于所有可执行的代码、或甚至所有安全代码是否需要出现在集成了安全处理器110的芯片上并无特定要求。在可选实施例中,安全处理器110可以涉及保存在外部RAMA155、海量存储器A150、或其它外部设备中的安全代码或其它可执行代码。
*对于是否需要将安全处理器110作为单个集成芯片来实现并无特定要求。在可选实施例中,安全处理器110可以包括多个设备,这些设备使用加密或反监听或破坏保护的信号进行连接。
*对于是否需要同时加载所有安全代码并无特定要求。在可选实施例中,安全处理器110可以涉及多个片段的安全代码,这些代码以不同的时间进行加载和验证,例如按顺序,或例如根据需要而进行。作为第一个例子,但不是为了以任何方式进行限制,当工作在安全模式时,安全核心代码A120可以包括要加载并集成到由CPU A100执行的指令中的附加软件的一个或多个模块的签名。作为第二个例子,但不是为了以任何方式进行限制,所述安全核心代码A120可以包括要加载的附加软件的一个或多个模块的签名,其自身的每一个包括要加载的附加软件的一个或多个模块的签名。
*存储器和海量存储器访问检查可以响应于所选的事件来执行。作为第一个例子,但不是为了以任何方式进行限制,这种所选的事件可以包括应用软件对于加密/解密业务、I/O业务、或安全签名或验证业务的任何请求。作为第二个例子,但不是为了以任何方式进行限制,这些所选的事件可以包括海量存储器访问的周期性截取(例如,对于所选值为N来说,每隔N次的访问)、周期性定时器中断,等等。
*认证和验证检查可以响应于所选的事件来执行,这类似于存储器或海量存储器访问的检查。作为第一个例子,但不是为了以任何方式进行限制,这些所选的事件可以包括应用软件对加密/解密业务、I/O业务、或安全签名或验证业务的任何请求。作为第二个例子,但不是为了以任何方式进行限制,这些所选的事件可以包括对海量存储器方法的存储器的周期性截取(例如,对于所选值为N的情况,每隔N次的访问),周期性定时器中断,等等。
*除了在此上面所提到的那些之外,安全核心代码A120还可以提供附加的安全业务给应用软件。例如,但不是为了以任何方式进行限制,这些附加业务可以包括对来自服务器(而不是上面所描述的可信的服务器130)和其它消息方(例如在对等协议和应用软件具有服务器角色的协议中)的消息的认证和验证,对与服务器(而不是上面所描述的可信的服务器130)和其它消息方交换的消息进行加密/解密,对与服务器(而不是上面所描述的可信的服务器130)和其它消息方交换消息进行公共密钥签名,对从辅助的可信服务器130加载并执行的其它附加软件进行认证和验证,对DRM许可信息的管理,对由CPU A 100执行加载的软件的周期性(或响应于所选事件,如上所述)的认证和验证,等等。
*除了那些在此上面所提到的之外,安全核心代码A120还可以提供与安全相关的业务之外的附加业务给应用软件。例如,但不是为了以任何方式进行限制,这些附加业务可以包括应用软件被许可操作的特定设备驱动器或对特定硬件的操作,等等。
在熟读本申请之后,本领域熟练技术人员将认识到,那些可选实施例和变化仅仅是示例性的,而不是为了以任何方式进行限制。

Claims (115)

1、一种方法,包括以下步骤:
通过处理单元执行应用软件;
验证所述处理单元是否有权执行所述应用软件;和
在监视模式和安全模式之间区别所述处理单元;
其中,
在所述监视模式,所述处理单元能够相对于所述应用软件透明地执行所述应用软件,和
在所述安全模式,所述处理单元能够验证所述处理单元是否有权执行所述应用软件。
2、如权利要求1所述的方法,包括在所述监视模式中的步骤:通过所述处理单元的一部分来执行指令,所述指令实质上与那些可以由普通处理器的半导体芯片执行的指令相同,所述指令不响应于所述安全模式。
3、如权利要求1所述的方法,包括在所述安全模式中的步骤:通过所述处理单元来执行由所述应用软件请求并得到授权的额外业务。
4、如权利要求1所述的方法,包括以下步骤:
响应于多种技术中的至少一个,中断所述监视模式并进入所述安全模式;和
在所述安全模式时,确定采用哪一种技术进入所述安全模式。
5、如权利要求1所述的方法,包括以下步骤:响应于中断、复位信号或定时器中的至少一种,中断所述监视模式并进入所述安全模式。
6、如权利要求1所述的方法,包括以下步骤:在所述安全模式中,退出所述安全模式并以所述监视模式来执行所述应用软件。
7、如权利要求6所述的方法,包括以下步骤:
在实质上不改变该应用软件的源代码的情况下执行所述应用软件,
从而该应用软件得到与普通处理器实际上相同的处理器环境。
8、如权利要求6所述的方法,包括以下步骤:当所述应用软件需要安全处理器所监视的业务时,应用软件产生中断,从而使得重新进入安全模式,将所述业务传送到应用软件,并退出安全模式,从而该应用软件可以继续以监视模式执行。
9、如权利要求1所述的方法,包括在加电状态下以所述安全模式来执行指令的步骤。
10、如权利要求9所述的方法,包括响应于所述加电状态,执行保存在包括所述处理单元的芯片内部的永久存储器中的安全代码的步骤,所述执行安全代码的步骤包括以下步骤:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性。
11、如权利要求9所述的方法,包括响应于所述加电状态,执行保存在包括所述处理单元的芯片内部的永久存储器中的安全代码的步骤,所述执行安全代码的步骤包括以下步骤:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性;
其中所述验证真实性和内容完整性的步骤是响应于所述芯片内部的永久存储器而执行的。
12、如权利要求9所述的方法,包括响应于所述加电状态,执行保存在包括所述处理单元的芯片内部的永久存储器中的安全代码的步骤,所述执行安全代码的步骤包括以下步骤:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;
验证所述附加代码的内容完整性的步骤;
其中所述验证真实性和内容完整性的步骤是响应于所述芯片内部的永久存储器而执行的,并且
所述芯片内部的所述永久存储器的至少包括以下项的其中之一:加密密钥、安全散列值、或其它用来验证所述可信源和认证所述附加代码的其它数据。
13、如权利要求1所述的方法,其中所述应用软件包括至少一个以所述安全模式执行的指令。
14、如权利要求13所述的方法,其中所述至少一个以所述安全模式执行的指令包括可以由所述处理单元代表一组安全核心代码来执行的附加功能。
15、如权利要求13所述的方法,其中所述至少一个以所述安全模式执行的指令包括可以由所述处理单元代表一组安全核心代码来执行的附加功能,所述附加功能包括认证附加的安全核心代码。
16、如权利要求1所述的方法,其中所述验证步骤包括执行一组安全软件,该组安全软件包括确定所述处理单元是否有权执行一组以所述安全模式执行的附加安全软件。
17、如权利要求16所述的方法,其中所述附加安全软件包括:
至少一个用来加载附加安全软件的功能;和
至少一个用来验证所述处理器有权执行所述附加安全软件的功能。
18、如权利要求16所述的方法,其中所述附加安全软件包括:
至少一个用来加载应用软件的功能;和
至少一个用来验证所述处理单元有权执行所述应用软件的功能。
19、一种方法,包括以下步骤:
通过处理单元执行指令,所述处理单元包括至少具有安全模式和监视模式的安全信号;和
当所述安全信号指示所述安全模式时,响应于所述安全信号,由所述处理单元访问至少一个安全功能,和当所述安全信号指示所述监视模式时,拒绝响应于所述安全信号访问所述安全功能;
其中所述安全功能包括响应于外部源而记录外部指令的步骤,对所述外部源的可信性的测量是可以由所述处理单元验证的。
20、如权利要求19所述的方法,包括以下步骤:只有当所述安全信号指示所述安全模式时,才允许所述处理单元访问连接到所述处理单元的至少一个安全电路。
21、如权利要求19所述的方法,包括执行保存在存储器或海量存储器中的一组应用程序代码的步骤,所述存储器或海量存储器连接到所述处理单元,所述执行应用程序代码的步骤的进行,对比于所述应用代码在实质上相同的不响应于所述安全信号的非安全处理单元上被执行的情况,没有实质上的改变。
22、如权利要求19所述的方法,包括以下步骤:当所述处理单元工作在所述监视模式时,由所述处理单元执行一组保存在连接到所述处理单元的存储器或海量存储器中的应用程序代码。
23、如权利要求19所述的方法,其中所述一个安全功能包括以下步骤:
从所述外部源接收所述外部指令;和
验证所述外部指令实质上是准确的。
24、如权利要求19所述的方法,包括由所述处理单元监视到外部设备的访问的步骤;
所述监视步骤响应于所述安全信号并响应于一组访问规则,其中当所述处理单元尝试违反所述访问规则访问所述外部设备时,响应于此而执行至少一个安全功能。
25、如权利要求24的方法,其中,所述监视步骤响应于由所述处理单元的访问,响应于以下项的至少其中之一:
由所述处理单元请求的多个访问;
所述处理单元执行的多个指令;
由工作在所述安全模式的所述处理单元所设置的参数;或
所述处理单元正在工作的间隔。
26、如权利要求19所述的方法,包括由所述处理单元保存用于只读访问的一组安全信息的步骤。
27、如权利要求26所述的方法,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤。
28、如权利要求26所述的方法,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤,并包括当所述安全处理器被封装时,使得对所述非易失性存储器的写入无效的步骤。
29、如权利要求26所述的方法,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤,并包括当所述安全处理器被封装时,使得对所述非易失性存储器的写入无效的步骤,所述无效的步骤包括制作实质上不可访问的非连接引脚。
30、如权利要求26所述的方法,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤,并且其中所述安全信息组对于所述安全处理器是唯一的。
31、如权利要求19所述的方法,其中所述一个安全功能包括以下步骤:
从所述外部源接收所述外部指令;
构造响应于所述外部指令的数据;和
比较响应于所述外部指令的所述数据和至少一些所述安全信息,从而所述处理单元能够验证所述外部指令是准确的。
32、如权利要求31所述的方法,其中:
所述构造步骤包括响应于所述外部指令来确定一个计算的签名值;和
所述比较步骤包括尝试匹配所计算的签名值和包括在所述安全信息中的记录的签名值。
33、如权利要求31所述的方法,其中所述接收步骤包括以下步骤的至少其中之一:
接收一组消息,所述消息组整体包括所述外部指令;或
接收一组存储器介质,所述存储介质组整体包括所述外部指令。
34、如权利要求19所述的方法,其中所述一个安全功能包括以下步骤:
从所述外部源请求所述外部指令;
发送响应于所述安全信息的数据到所述外部源,从而所述外部源能够验证所述处理单元有权执行所述外部指令;和
从所述外部源接收所述外部指令。
35、如权利要求34所述的方法,其中所述外部指令至少包括应用软件、附加安全代码的其中一个。
36、一种方法,包括以下步骤:
在处理器上执行指令,所述处理器具有安全模式和监视模式;
其中当所述处理器以所述安全模式执行时,所述处理器具有到至少一个安全功能的入口,当所述处理器以所述监视模式执行时,所述处理器没有到该安全功能的入口;
其中,在启动状态、中断状态的至少其中一个状态期间,所述处理器以所述安全模式执行,所述中断状态响应于非屏蔽中断或定时器中断;
其中当所述处理器进入所述安全模式时,所述处理器传送控制到一组安全代码,当所述处理器以所述监视模式执行时,所述安全代码不能改变;和
其中与所述启动状态相关的一组所述安全代码包括可以由所述处理器执行的指令,并且所述指令响应于所述外部指令的外部源而引导所述处理器来向安全代码添加外部指令,所述外部源的可信性的测量可以由所述处理器响应于一组安全信息来验证。
37、一种装置,包括:
处理单元,所述处理单元能够执行应用软件,并能够验证所述处理器单元有权执行所述应用软件;
所述处理单元具有监视模式和安全模式,其中在所述监视模式,所述处理单元能够相对于所述应用软件透明地执行所述应用软件,和其中在所述安全模式,所述处理单元能够验证所述处理单元有权执行所述应用软件。
38、如权利要求37所述的装置,其中能够以所述监视模式执行指令的所述处理单元的一部分实质上与不响应于所述安全模式的普通处理器的半导体芯片相同。
39、如权利要求37所述的装置,其中在所述安全模式,所述处理单元能够执行由所述应用程序软件请求并得到授权的额外业务。
40、如权利要求37所述的装置,其中所述处理单元能够响应于多种技术中的至少一个来中断所述监视模式并进入所述安全模式,其中当处于所述安全模式时,所述处理单元能够确定通过哪种技术进入所述安全模式。
41、如权利要求37所述的装置,其中所述处理器单元能够响应于中断、复位信号、或定时器中的至少其中一个,来中断所述监视模式并进入所述安全模式。
42、如权利要求37所述的装置,其中在所述安全模式,所述处理单元能够退出所述安全模式,并以所述监视模式执行所述应用软件。
43、如权利要求42所述的装置,其中所述应用软件在不对该应用软件的源代码作实质改变的情况下执行,从而所述应用软件得到实质上与普通处理器相同的处理器环境。
44、如权利要求42所述的装置,其中当所述应用软件需要安全处理监视的业务时,应用软件产生中断,从而使得重新进入安全模式,将业务传送到应用软件,并退出所述安全模式,从而所述应用软件可以继续以监视模式执行。
45、如权利要求37所述的装置,其中所述应用软件包括至少一个以所述安全模式执行的指令。
46、如权利要求45的装置,其中所述至少一个以所述安全模式执行的指令包括可以由所述处理单元代表一组安全核心代码执行的附加功能。
47、如权利要求45的装置,其中所述至少一个以所述安全模式执行的指令包括可以由所述处理单元代表一组安全核心代码执行的附加功能,所述附近功能包括认证附加的安全核心代码。
48、如权利要求37所述的装置,其中所述处理单元能够执行安全软件,所述安全软件包括至少一个用来认证以所述安全模式执行的附加软件的功能。
49、如权利要求48所述的装置,其中所述安全软件包括:
至少一个用来加载附加安全软件的功能;和
至少一个用来验证所述处理单元有权执行所述附加安全软件的功能。
50、如权利要求48所述的装置,其中所述安全软件包括:
至少一个用来加载应用软件的功能;和
至少一个用来验证所述处理单元有权执行所述应用软件的功能。
51、如权利要求37所述的装置,其中所述处理单元在加电状态下以所述安全模式执行指令。
52、如权利要求51所述的装置,其中响应于所述加电状态,所述处理单元执行保存在包括所述处理单元的芯片的内部的永久存储器中的安全代码,其中所述安全代码包括引导所述处理单元执行以下步骤的指令,所述步骤如下:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性。
53、如权利要求51所述的装置,其中响应于所述加电状态,所述处理单元执行保存在包括所述处理单元的芯片的内部的永久存储器中的安全代码,其中所述安全代码包括引导所述处理单元执行以下步骤的指令,所述步骤如下:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性;
其中所述验证真实性和内容完整性的步骤是响应于所述芯片内部的所述永久存储器而执行的。
54、如权利要求51所述的装置,其中响应于所述加电状态,所述处理单元执行保存在包括所述处理单元的芯片的内部的永久存储器中的安全代码,其中所述安全代码包括引导所述处理单元执行以下步骤的指令,所述步骤如下:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性;
其中
所述验证真实性和内容完整性的步骤是响应于所述芯片内部的所述永久存储器而执行的,并且
所述芯片内部的所述永久存储器包括以下项中的至少其中之一:加密密钥、安全散列值、或其它用来验证所述可信源和认证所述附加代码的数据。
55、一种装置,包括:
能够执行指令的处理单元;和
至少具有安全模式和监视模式的安全信号;
所述处理单元响应于所述安全信号,其中当以所述安全模式执行指令时,所述处理单元具有到至少一个安全功能的入口,当以所述监视模式执行指令时,所述处理单元没有到安全功能的入口;
其中,至少一个所述安全功能包括引导所述处理单元响应于外部源而记录外部指令的指令,所述外部源的可信性的测量可以由所述处理单元进行验证。
56、如权利要求55所述的装置,包括响应于所述安全信号的安全单元,并且所述安全单元连接到连接于所述处理单元的至少一个安全电路,其中只有当所述安全信号指示所述安全模式时,所述安全单元才允许所述处理单元访问所述安全电路。
57、如权利要求55所述的装置,包括:
一组保存在连接到所述处理单元的存储器或海量存储器中的应用程序代码;
从而所述处理单元以所述监视模式执行所述应用代码。
58、如权利要求55所述的装置,包括:
一组保存在连接到所述处理单元的存储器或海量存储器中的应用程序代码,所述应用程序代码能够在不响应于所述安全信号的实质上相同的非安全处理器上被执行;
从而,所述处理单元能够在不进行实质改变的情况下执行所述应用代码,以响应指示所述安全模式的所述安全信号。
59、如权利要求55所述的装置,其中所述一个安全功能包括引导所述处理单元执行以下步骤的指令,所述步骤如下:
从所述外部源接收所述外部指令;和
验证所述外部指令是准确的。
60、如权利要求55所述的装置,包括:
连接到所述处理单元的监视电路,所述监视电路能够监视由所述处理单元到外部设备的访问;
所述监视电路响应于所述安全信号并响应于一组访问规则,其中当所述处理单元尝试以违反所述访问规则来访问所述外部设备时,所述监视电路能够响应于此而执行至少一个安全功能。
61、如权利要求60所述的装置,其中,所述监视电路响应于由所述处理单元的访问,响应于以下项的至少其中之一:
由所述处理单元请求的多个访问;
所述处理单元执行的多个指令;
由工作于所述安全模式的所述处理单元所设置的参数;或
所述处理单元运行期间的间隔。
62、如权利要求55所述的装置,包括能够由所述处理单元用于只读访问的一组安全信息。
63、如权利要求62所述的装置,其中所述安全信息组包括保存在非易失性存储器中的信息。
64、如权利要求62所述的装置,其中所述安全信息组包括保存在非易失性存储器中并对于所述安全处理器唯一的信息。
65、如权利要求62所述的装置,其中所述安全信息组包括保存在非易失性存储器中的信息,所述非易失性存储器具有能够使所述非易失性存储器能够进行写入的电路,当所述安全处理器被封装时,所述电路被无效。
66、如权利要求62所述的装置,其中所述安全信息组包括保存在非易失性存储器中的信息,所述非易失性存储器具有能够使所述非易失性存储器能够进行写入的电路,所述电路包括当所述安全处器被封装时实质上不可以被访问的引脚。
67、如权利要求66所述的装置,其中,所述安全信息组包括实质上对于所述芯片唯一的标识值,或实质上对于所述芯片唯一的一组私密密钥信息;从而,当所述芯片有权使用所述内容并执行所述软件时,所述芯片可以确保所选的一组内容或软件只可以由所述芯片执行。
68、如权利要求67所述的装置,其中所述芯片可以验证购买收据或许可或其它数字版权管理数据的真实性,从而所述芯片可以验证所选的内容或软件组是真实的,并且是所述芯片得到授权的。
69、如权利要求68所述的装置,其中所述安全芯片能够允许响应于对购买收据或许可或其它数字版权管理数据的真实性验证的尝试,而使用所述内容或执行所述软件。
70、如权利要求68所述的装置,其中所述收据包括:
足以实质上标识所述芯片的信息;
足以实质上识别标识值实质上对于所述内容或软件是唯一的信息。
71、如权利要求66所述的装置,包括用来组合所述密钥信息和所述实质上唯一的标识值的装置,从而可以为实施知识产权保护来实施数字版权管理方案。
72、如权利要求66所述的装置,其中所述安全信息的至少一部分使用公共密钥/秘密私钥系统或均衡加密/解密密钥来进行数字签名。
73、如权利要求72所述的装置,其中所述安全芯片能够响应于验证所述数字签名而允许使用所述内容或执行所述软件。
74、如权利要求66所述的装置,其中所述安全信息的至少一部分使用公共密钥/秘密私钥系统或均衡加密/解密密钥来加密。
75、如权利要求74所述的装置,其中所述安全芯片能够允许响应于加密所述安全信息的所述部分的尝试,来允许使用所述内容或执行所述软件。
76、如权利要求55所述的装置,其中所述一个安全功能包括引导所述处理单元来执行以下步骤的指令,所述步骤如下:
从所述外部源接收外部指令;
构造响应于所述外部指令的数据;和
比较响应于所述外部指令的所述数据和至少一些所述安全信息,从而所述处理单元能够验证所述外部指令是准确的。
77、如权利要求76所述的装置,其中:
所述构造步骤包括响应于所述外部指令来确定一个计算的签名值;和
所述比较步骤包括尝试匹配所计算的签名值和包括在所述安全信息中的记录的签名值。
78、如权利要求76所述的装置,其中所述接收步骤包括以下项的至少其中之一:
接收一组消息,所述消息组整体包括所述外部指令;或
接收一组存储器介质,所述存储介质组整体包括所述外部指令。
79、如权利要求55所述的装置,其中所述一个安全功能包括引导所述处理单元执行以下步骤的指令,所述步骤如下:
从所述外部源请求所述外部指令;
发送响应于所述安全信息的数据到所述外部源,从而所述外部源能够验证所述处理单元是否有权执行所述外部指令;和
从所述外部源接收所述外部指令。
80、如权利要求79所述的方法,其中所述外部指令包括应用软件、附加安全代码的至少其中一个。
81、如权利要求55所述的装置,其中:
所述安全信号响应于复位状态或中断状态,所述中断状态响应于非可屏蔽中断或定时器中断;和
响应于所述安全信号,所述处理单元传送控制到所述安全功能,当所述处理单元在所述监视模式执行指令时,所述安全功能不能被改变。
82、如权利要求81所述的装置,其中,响应于所述安全功能,所述处理单元传送控制到退出功能,所述退出功能能够在所述安全模式时,移除任何安全信息而不为所述处理单元所使用。
83、如权利要求81所述的装置,
其中所述处理单元能够传递所述安全功能的参数,
从而,响应于所述非可屏蔽中断,所述安全功能在应用软件的要求下执行至少一个所述的安全功能,所述应用软件由所述处理单元以所述监视模式来执行。
84、如权利要求81所述的装置,
其中所述处理单元能够传递所述安全功能的参数,
从而,响应于所述非可屏蔽中断,所述安全功能在应用软件的要求下执行至少一个所述的安全功能,所述应用软件由所述处理单元以所述监视模式来执行;和
其中所述安全功能包括以下功能的至少其中之一:密码认证功能、密码签名功能、密码安全功能、加密或解密功能、包括加密或解密密钥的功能,安全散列值功能。
85、一种存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
由处理单元执行应用软件;
验证所述处理单元是否有权执行所述应用软件;和
在监视模式和安全模式之间区别所述处理单元;其中,在所述监视模式,所述处理单元能够相对于所述应用软件透明地执行所述应用软件,和在所述安全模式,所述处理单元能够验证所述处理单元是否有权执行所述应用软件。
86、如权利要求85所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
在所述监视模式中,由所述处理单元的一部分来执行指令,所述指令实质上与那些可以由普通处理器的半导体芯片执行而不响应于所述安全模式的指令相同。
87、如权利要求85所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
在所述安全模式中,由所述处理单元执行由所述应用软件请求并得到授权的额外业务。
88、如权利要求85所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
响应于多种技术中的至少其中一个,来中断所述监视模式并进入所述安全模式;和
在所述安全模式时,确定采用哪一种技术进入所述安全模式。
89、如权利要求85所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
响应于中断、复位信号或定时器至少其中的一个,来中断所述监视模式并进入所述安全模式。
90、包括能够由计算设备解释来执行权利要求85中的步骤的指令的存储器或海量存储器,包括以下步骤:
在所述安全模式中,退出所述安全模式并以所述监视模式执行所述应用软件。
91、如权利要求90所述的存储器或海量存储器,包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
在实质上不改变应用软件的源代码的情况下执行所述应用软件,从而该应用软件可以得到实质上与普通处理器相同的处理器环境。
92、如权利要求90所述的存储器或海量存储器,包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
当所述应用软件需要安全处理器所监视的业务时,应用软件产生中断,从而使得重新进入安全模式,将业务传送到应用软件,并退出安全模式,从而应用软件可以继续以监视模式来执行。
93、如权利要求85所述的存储器或海量存储器,包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
在加电状态下以所述安全模式执行指令。
94、如权利要求93所述的存储器或海量存储器,包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
响应于所述加电状态,执行保存在包括所述处理单元的芯片内部的永久存储器中的安全代码,所述执行安全代码的步骤包括以下步骤:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性。
95、如权利要求93所述的存储器或海量存储器,包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
响应于所述加电状态,执行保存在包括所述处理单元的芯片内部的永久存储器中的安全代码,所述执行安全代码的步骤包括以下步骤:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性;
其中所述验证真实性和内容完整性的步骤是响应于所述芯片内部的永久存储器而执行的。
96、如权利要求93所述的存储器或海量存储器,包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
响应于所述加电状态,执行保存在包括所述处理单元的芯片内部的永久存储器中的安全代码,所述执行安全代码的步骤包括以下步骤:
从一个或多个可信源加载附加代码;
验证所述可信源的真实性;和
验证所述附加代码的内容完整性;
其中
所述验证真实性和内容完整性的步骤是响应于所述芯片内部的永久存储器而执行的;并且
所述芯片内部的所述永久存储器的包括以下项的至少其中之一:加密密钥、安全散列值、或用来验证所述可信源和认证所述附加代码的其他数据。
97、如权利要求85所述的存储器或海量存储器,其中所述应用软件包括至少一个用来在所述安全模式中执行的指令。
98、如权利要求97所述的存储器或海量存储器,其中所述至少一个用来在所述安全模式中执行的指令包括可以由所述处理单元代表一组安全核心代码来执行的附加功能。
99、如权利要求97所述的存储器或海量存储器,其中所述至少一个用来在所述安全模式中执行的指令包括可以由所述处理单元代表一组安全核心代码来执行的附加功能,所述附加功能包括认证附加安全核心代码。
100、一种存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
由处理单元执行指令,所述处理单元包括至少具有安全模式和监视模式的安全信号;和
当所述安全信号指示所述安全模式时,由所述处理单元响应于所述安全信号,访问至少一个安全功能,和当所述安全信号指示所述监视模式时,拒绝响应于所述安全信号访问所述安全功能;
其中所述安全功能包括响应于外部源而记录外部指令的步骤,所述外部源的可信性可以由所述处理单元验证。
101、如权利要求100所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
只有当所述安全信号指示所述安全模式时,才允许所述处理单元访问连接到所述处理单元的至少一个安全电路。
102、如权利要求100所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
执行保存在存储器或海量存储器中的一组应用程序代码,所述存储器或海量存储器连接到所述处理单元,所述执行应用程序代码的步骤的进行,对比于所述应用程序代码在实质上相同的非安全处理单元上被执行而不响应于所述安全信号,没有实质上的改变。
103、如权利要求100所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
当所述处理单元工作在所述监视模式时,由所述处理单元执行保存在连接到所述处理单元的存储器或海量存储器中的一组应用程序代码。
104、如权利要求100所述的存储器或海量存储器,其中所述一个安全功能包括以下步骤:
从所述外部源请求所述外部指令;
发送响应于所述安全信息的数据到所述外部源,从而所述外部源能够验证所述处理单元有权执行所述外部指令;并且
从所述外部源接收所述外部指令。
105、如权利要求100所述的存储器或海量存储器,其包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
由所述处理单元监视到外部设备的访问;
所述监视步骤响应于所述安全信号并响应于一组访问规则,其中当所述处理单元尝试违反所述访问规则而访问所述外部设备时,响应于此而执行至少一个安全功能。
106、如权利要求105所述的存储器或海量存储器,其中,所述监视步骤响应于由所述处理单元的访问,响应于以下项的至少其中之一:
由所述处理单元请求的多个访问;
所述处理单元执行的多个指令;
由工作在所述安全模式的所述处理单元所设置的参数;或
所述处理单元正在工作的间隔。
107、如权利要求100所述的存储器或海量存储器,其包括能够由计算设备解释来执行由所述处理单元保存用于只读访问的一组安全信息的步骤的指令。
108、如权利要求107所述的存储器或海量存储器,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤。
109、如权利要求107所述的存储器或海量存储器,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤,并包括当所述安全处理器被封装时使得对所述非易失性存储器的写入无效的步骤。
110、如权利要求107所述的存储器或海量存储器,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤,并包括当所述安全处理器被封装时使得对所述非易失性存储器的写入无效的步骤,所述无效的步骤包括制作实质上不可访问的非连接引脚。
111、如权利要求107所述的存储器或海量存储器,其中所述保存步骤包括从非易失性存储器读取所述安全信息组的步骤,并且其中所述安全信息组对于所述安全处理器是唯一的。
112、如权利要求100所述的存储器或海量存储器,其中所述一个安全功能包括以下步骤:
从所述外部源接收所述外部指令;
构造响应于所述外部指令的数据;和
比较响应于所述外部指令的数据和至少一些所述安全信息,从而所述处理单元能够验证所述外部指令是准确的。
113、如权利要求112所述的存储器或海量存储器,其中:
所述构造步骤包括响应于所述外部指令来确定一个计算的签名值;和
所述比较步骤包括尝试匹配所计算的签名值和包括在所述安全信息中的记录的签名值。
114、如权利要求112所述的存储器或海量存储器,其中所述接收步骤包括以下项的至少其中之一:
接收一组消息,所述消息组整体包括所述外部指令;或
接收一组存储器介质,所述存储介质组整体包括所述外部指令。
115、一种存储器或海量存储器,包括能够由计算设备解释来执行以下步骤的指令,所述步骤如下:
在处理器上执行指令,所述处理器具有安全模式和监视模式;
其中当所述处理器以所述安全模式执行时,所述处理器具有到至少一个安全功能的入口,其中当所述处理器以所述监视模式执行时,所述处理器没有到安全功能的入口;
其中在启动状态、中断状态的其中一个的期间,所述处理器以所述安全模式执行,所述中断状态响应于非可屏蔽中断或定时器中断;
其中当所述处理器进入所述安全模式时,所述处理器传送控制到一组安全代码,当所述处理器以所述监视模式执行时,所述安全代码不可以被改变;和
其中,与所述启动状态相关的一组所述安全代码包括可以由所述处理器执行的指令,并且所述指令引导所述处理器响应于所述外部指令的外部源,而将外部指令添加到安全代码,所述外部源的可信性可以由所述处理器响应于一组安全信息而进行验证。
CN2004800037509A 2003-02-07 2004-02-06 中央处理器向下兼容安全保密系统处理能力及安全保密系统运行 Expired - Lifetime CN101103584B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/360,827 2003-02-07
US10/360,827 US7322042B2 (en) 2003-02-07 2003-02-07 Secure and backward-compatible processor and secure software execution thereon
PCT/US2004/003413 WO2004072787A2 (en) 2003-02-07 2004-02-06 Secure and backward-compatible processor and secure software execution thereon

Publications (2)

Publication Number Publication Date
CN101103584A true CN101103584A (zh) 2008-01-09
CN101103584B CN101103584B (zh) 2012-05-02

Family

ID=32824069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004800037509A Expired - Lifetime CN101103584B (zh) 2003-02-07 2004-02-06 中央处理器向下兼容安全保密系统处理能力及安全保密系统运行

Country Status (5)

Country Link
US (2) US7322042B2 (zh)
EP (1) EP1625463B1 (zh)
JP (1) JP4646900B2 (zh)
CN (1) CN101103584B (zh)
WO (1) WO2004072787A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049694A (zh) * 2013-01-14 2013-04-17 上海慧银信息科技有限公司 一种智能金融交易终端的核心安全架构实现方法
WO2014153760A1 (en) * 2013-03-28 2014-10-02 Irdeto B.V. Detecting exploits against software applications
CN107438849A (zh) * 2016-03-29 2017-12-05 华为国际有限公司 用于验证电子设备的完整性的系统和方法
CN108369623A (zh) * 2015-12-15 2018-08-03 西门子股份公司 用于为设备提供安全功能的方法和安全模块
CN113766329A (zh) * 2020-02-17 2021-12-07 聚好看科技股份有限公司 播放请求处理方法及显示设备

Families Citing this family (143)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8393001B1 (en) * 2002-07-26 2013-03-05 Mcafee, Inc. Secure signature server system and associated method
WO2004046916A2 (en) * 2002-11-18 2004-06-03 Arm Limited Exception types within a secure processing system
GB2402785B (en) * 2002-11-18 2005-12-07 Advanced Risc Mach Ltd Processor switching between secure and non-secure modes
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity in a closed content distribution system
US7779482B1 (en) 2003-02-07 2010-08-17 iGware Inc Delivery of license information using a short messaging system protocol in a closed content distribution system
US8131649B2 (en) * 2003-02-07 2012-03-06 Igware, Inc. Static-or-dynamic and limited-or-unlimited content rights
US7370212B2 (en) 2003-02-25 2008-05-06 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US7305710B2 (en) * 2003-04-29 2007-12-04 Pitney Bowes Inc. Method for securely loading and executing software in a secure device that cannot retain software after a loss of power
US7334123B2 (en) * 2003-05-02 2008-02-19 Advanced Micro Devices, Inc. Computer system including a bus bridge for connection to a security services processor
TWI324875B (en) * 2003-12-31 2010-05-11 Green Packet Berhad Method of managing digital rights and a computer
US8028164B2 (en) * 2004-03-19 2011-09-27 Nokia Corporation Practical and secure storage encryption
US20050210274A1 (en) * 2004-03-22 2005-09-22 Frantz Gene A Apparatus and method for intellectual property protection using the microprocessor serial number
US8112618B2 (en) 2004-04-08 2012-02-07 Texas Instruments Incorporated Less-secure processors, integrated circuits, wireless communications apparatus, methods and processes of making
US7904775B2 (en) * 2004-04-21 2011-03-08 Stmicroelectronics Sa Microprocessor comprising signature means for detecting an attack by error injection
US8074287B2 (en) * 2004-04-30 2011-12-06 Microsoft Corporation Renewable and individualizable elements of a protected environment
US20060242406A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Protected computing environment
US20050283602A1 (en) * 2004-06-21 2005-12-22 Balaji Vembu Apparatus and method for protected execution of graphics applications
WO2005124606A1 (en) * 2004-06-22 2005-12-29 Ebooks Corporation Limited Lending system and method
US20090249085A1 (en) * 2004-06-29 2009-10-01 Nagracard S.A. Security module and personalization method for such a security module
EP1612637A1 (fr) * 2004-06-29 2006-01-04 Nagracard S.A. Module de sécurité et méthode de personnalisation d'un tel module de sécurité
US20060026417A1 (en) * 2004-07-30 2006-02-02 Information Assurance Systems L.L.C. High-assurance secure boot content protection
US20060047959A1 (en) * 2004-08-25 2006-03-02 Microsoft Corporation System and method for secure computing
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
US7702907B2 (en) * 2004-10-01 2010-04-20 Nokia Corporation System and method for safe booting electronic devices
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
US7502928B2 (en) * 2004-11-12 2009-03-10 Sony Computer Entertainment Inc. Methods and apparatus for secure data processing and transmission
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US7802294B2 (en) 2005-01-28 2010-09-21 Microsoft Corporation Controlling computer applications' access to data
US7810153B2 (en) * 2005-01-28 2010-10-05 Microsoft Corporation Controlling execution of computer applications
JP4601557B2 (ja) * 2005-02-07 2010-12-22 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサシステムにおいてプロセッサのセキュアな連携を行う方法および装置
JP4471937B2 (ja) * 2005-02-07 2010-06-02 株式会社ソニー・コンピュータエンタテインメント プロセッサのリソース管理によるコンテンツ制御方法および装置
JP4522372B2 (ja) * 2005-02-07 2010-08-11 株式会社ソニー・コンピュータエンタテインメント プロセッサと外部のデバイスとの間にセキュアセッションを実現する方法および装置
WO2006082985A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for providing a secure booting sequence in a processor
WO2006082988A2 (en) * 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for facilitating a secure processor functional transition
JP2006221629A (ja) * 2005-02-07 2006-08-24 Sony Computer Entertainment Inc プロセッサのリソース管理によるコンテンツ制御方法および装置
US8607328B1 (en) 2005-03-04 2013-12-10 David Hodges Methods and systems for automated system support
EP1703430A1 (en) * 2005-03-18 2006-09-20 Hewlett-Packard Development Company, L.P. Computer security method and system
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8725646B2 (en) 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US9436804B2 (en) 2005-04-22 2016-09-06 Microsoft Technology Licensing, Llc Establishing a unique session key using a hardware functionality scan
KR101238496B1 (ko) * 2005-04-22 2013-03-04 마이크로소프트 코포레이션 보호 컴퓨팅 환경
US9363481B2 (en) 2005-04-22 2016-06-07 Microsoft Technology Licensing, Llc Protected media pipeline
US7627807B2 (en) * 2005-04-26 2009-12-01 Arm Limited Monitoring a data processor to detect abnormal operation
US20060265758A1 (en) 2005-05-20 2006-11-23 Microsoft Corporation Extensible media rights
US7624111B2 (en) * 2005-06-27 2009-11-24 Microsoft Corporation Active content trust model
JP4846798B2 (ja) * 2005-07-05 2011-12-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ デジタルコンテンツ保護に関する方法、システム及び装置
US7748031B2 (en) * 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
US8769295B2 (en) * 2005-08-01 2014-07-01 Intel Corporation Computing system feature activation mechanism
US7536540B2 (en) * 2005-09-14 2009-05-19 Sandisk Corporation Method of hardware driver integrity check of memory card controller firmware
US20070061597A1 (en) * 2005-09-14 2007-03-15 Micky Holtzman Secure yet flexible system architecture for secure devices with flash mass storage memory
CN101283332A (zh) * 2005-10-04 2008-10-08 日本电气株式会社 信息处理装置、信息处理方法及程序
CN101313570A (zh) * 2005-11-29 2008-11-26 汤姆森特许公司 用于使得数字内容安全的方法和装置
US20070143223A1 (en) * 2005-12-16 2007-06-21 Microsoft Corporation Caching information for kernel and boot components
US20070162964A1 (en) * 2006-01-12 2007-07-12 Wang Liang-Yun Embedded system insuring security and integrity, and method of increasing security thereof
JP4795812B2 (ja) * 2006-02-22 2011-10-19 富士通セミコンダクター株式会社 セキュアプロセッサ
US8051299B2 (en) * 2006-03-20 2011-11-01 Hewlett-Packard Development Company, L.P. Computer security method and computer system
US8127145B2 (en) * 2006-03-23 2012-02-28 Harris Corporation Computer architecture for an electronic device providing a secure file system
US8041947B2 (en) * 2006-03-23 2011-10-18 Harris Corporation Computer architecture for an electronic device providing SLS access to MLS file system with trusted loading and protection of program execution memory
US8060744B2 (en) * 2006-03-23 2011-11-15 Harris Corporation Computer architecture for an electronic device providing single-level secure access to multi-level secure file system
EP2033350A2 (en) 2006-05-02 2009-03-11 Broadon Communications Corp. Content management system and method
US7979714B2 (en) * 2006-06-02 2011-07-12 Harris Corporation Authentication and access control device
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US8116455B1 (en) * 2006-09-29 2012-02-14 Netapp, Inc. System and method for securely initializing and booting a security appliance
US7624276B2 (en) * 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
FR2907930B1 (fr) * 2006-10-27 2009-02-13 Viaccess Sa Procede de detection d'une utilisation anormale d'un processeur de securite.
US7613915B2 (en) * 2006-11-09 2009-11-03 BroadOn Communications Corp Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed
US8423794B2 (en) * 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US20080189539A1 (en) * 2007-02-02 2008-08-07 Ming-Tso Hsu Computer system for authenticating requested software application through operating system and method thereof
US8108856B2 (en) 2007-03-30 2012-01-31 Intel Corporation Method and apparatus for adaptive integrity measurement of computer software
US7958371B2 (en) * 2007-05-09 2011-06-07 Sony Computer Entertainment Inc. Methods and apparatus for secure operating system distribution in a multiprocessor system
JP4956292B2 (ja) * 2007-06-25 2012-06-20 パナソニック株式会社 情報セキュリティ装置およびカウンタ制御方法
US8327363B2 (en) * 2007-07-24 2012-12-04 Microsoft Corporation Application compatibility in multi-core systems
US8544014B2 (en) * 2007-07-24 2013-09-24 Microsoft Corporation Scheduling threads in multi-core systems
US20090034734A1 (en) * 2007-07-31 2009-02-05 Viasat, Inc. Multi-Level Key Manager
US8375219B2 (en) * 2007-10-24 2013-02-12 Microsoft Corporation Program and operation verification
US8225404B2 (en) * 2008-01-22 2012-07-17 Wontok, Inc. Trusted secure desktop
US9122864B2 (en) * 2008-08-05 2015-09-01 International Business Machines Corporation Method and apparatus for transitive program verification
EP2172862A1 (en) * 2008-10-02 2010-04-07 Broadcom Corporation Secure virtual machine manager
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
US9065812B2 (en) 2009-01-23 2015-06-23 Microsoft Technology Licensing, Llc Protecting transactions
US9058491B1 (en) 2009-03-26 2015-06-16 Micron Technology, Inc. Enabling a secure boot from non-volatile memory
US20100269179A1 (en) * 2009-04-16 2010-10-21 Comcast Cable Communications, Llc Security Client Translation System and Method
CN102449634B (zh) 2009-07-01 2015-05-27 松下电器产业株式会社 安全引导方法和安全引导装置
US8880736B2 (en) * 2009-07-09 2014-11-04 Simon Cooper Methods and systems for archiving and restoring securely installed applications on a computing device
US20110010759A1 (en) * 2009-07-09 2011-01-13 Apple Inc. Providing a customized interface for an application store
JP5449905B2 (ja) * 2009-07-29 2014-03-19 フェリカネットワークス株式会社 情報処理装置、プログラム、および情報処理システム
US8732806B2 (en) * 2009-09-14 2014-05-20 Broadcom Corporation Method and system for hardware enforced virtualization in an integrated circuit
US9336410B2 (en) 2009-12-15 2016-05-10 Micron Technology, Inc. Nonvolatile memory internal signature generation
US8555059B2 (en) 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
US9448938B2 (en) 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
US8694737B2 (en) 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory
US8904189B1 (en) 2010-07-15 2014-12-02 The Research Foundation For The State University Of New York System and method for validating program execution at run-time using control flow signatures
US8613074B2 (en) * 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
US9094385B2 (en) * 2011-08-05 2015-07-28 Battelle Memorial Institute Intelligent sensor and controller framework for the power grid
US20130061328A1 (en) * 2011-09-06 2013-03-07 Broadcom Corporation Integrity checking system
US9262340B1 (en) * 2011-12-29 2016-02-16 Cypress Semiconductor Corporation Privileged mode methods and circuits for processor systems
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
US8938796B2 (en) 2012-09-20 2015-01-20 Paul Case, SR. Case secure computer architecture
CN102929674B (zh) * 2012-11-02 2016-02-10 威盛电子股份有限公司 电子装置以及开机方法
US8935781B1 (en) 2013-02-01 2015-01-13 Google Inc. Native code module security for arm 64-bit instruction set architectures
US9344747B2 (en) * 2013-02-21 2016-05-17 Broadcom Corporation Mobile payTV DRM architecture
EP2959417B1 (en) * 2013-02-25 2017-06-07 Intel Corporation Method, apparatus, system, and machine readable storage medium for providing software security
US9280655B2 (en) * 2013-03-13 2016-03-08 Samsung Electronics Co., Ltd Application authentication method and electronic device supporting the same
US9600291B1 (en) * 2013-03-14 2017-03-21 Altera Corporation Secure boot using a field programmable gate array (FPGA)
KR20140136166A (ko) * 2013-05-20 2014-11-28 삼성전자주식회사 관리자 권한 획득 방지 방법 및 장치
JP6117068B2 (ja) * 2013-09-20 2017-04-19 株式会社東芝 情報処理装置、およびプログラム
CN103577225B (zh) * 2013-10-22 2016-11-23 北京奇虎科技有限公司 一种软件安装方法和装置
DE102014214667A1 (de) 2014-07-25 2016-01-28 Bayerische Motoren Werke Aktiengesellschaft Anzeigen von dynamischen sicherheitsrelevanten dreidimensionalen Inhalten auf einer Anzeigeeinrichtung
CN104581094A (zh) * 2014-12-16 2015-04-29 河南铭视安防工程有限公司 一种视频光端机及其检测方法
US10318271B2 (en) * 2015-01-05 2019-06-11 Irdeto Canada Corporation Updating software components in a program
US10817609B2 (en) 2015-09-30 2020-10-27 Nvidia Corporation Secure reconfiguration of hardware device operating features
FR3043228B1 (fr) * 2015-11-03 2018-03-30 Proton World International N.V. Demarrage controle d'un circuit electronique
FR3043229B1 (fr) 2015-11-03 2018-03-30 Proton World International N.V. Demarrage securise d'un circuit electronique
CN105488924A (zh) * 2015-12-11 2016-04-13 福建新大陆支付技术有限公司 一种pos高端应用系统及解决方法
US10339299B1 (en) 2016-03-08 2019-07-02 Kashmoo, Inc. Runtime management of application components
US10523418B2 (en) 2016-06-03 2019-12-31 Cryptography Research, Inc. Providing access to a hardware resource based on a canary value
CN108206741A (zh) * 2016-12-16 2018-06-26 北京国双科技有限公司 服务的验证方法、装置及系统
US10482258B2 (en) * 2017-09-29 2019-11-19 Nxp Usa, Inc. Method for securing runtime execution flow
BR112020016601A2 (pt) 2018-03-21 2020-12-15 Precision Planting Llc Cartucho de reagente
US10942668B2 (en) 2018-05-29 2021-03-09 Seagate Technology Llc Storage device and verification thereof
US10839108B2 (en) 2018-05-29 2020-11-17 Seagate Technology Llc Storage device and verification thereof
US10776327B2 (en) 2018-08-29 2020-09-15 Seagate Technology Llc Storage device manufacturing and associated block chain generation thereof
US11886434B1 (en) 2019-08-05 2024-01-30 Bildr, Inc. Management of application entities
CN110659458A (zh) * 2019-10-10 2020-01-07 陈昶宇 支持软件代码数据保密可信执行的中央处理器设计方法
JP7249968B2 (ja) * 2020-03-09 2023-03-31 株式会社東芝 情報処理装置およびストレージ
FR3111441B1 (fr) 2020-06-10 2022-08-05 Proton World Int Nv Démarrage sécurisé d'un circuit électronique
GB2597082B (en) * 2020-07-14 2022-10-12 Graphcore Ltd Hardware autoloader
EP4211552A1 (en) * 2020-09-08 2023-07-19 Osom Products, Inc. Mobile device with secure private memory
FR3118219B1 (fr) * 2020-12-17 2024-03-15 Stmicroelectronics Grand Ouest Sas Procédé de protection d’un système, par exemple un microcontrôleur, et sytème correspondant
CN113468615B (zh) * 2021-06-24 2023-08-01 邦彦技术股份有限公司 可信度量方法、可信芯片、逻辑控制器及可信度量系统
CN113486353B (zh) * 2021-06-24 2023-08-01 邦彦技术股份有限公司 可信度量方法、系统、设备及存储介质
GB2621170A (en) * 2022-08-05 2024-02-07 Xmos Ltd Execution of Instructions from Trusted and Untrusted Memories

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715398A (en) 1989-06-16 1998-02-03 R.R. Donnelley & Sons Company System for distributing items from an origin to a plurality of destinations
GB2239810B (en) 1990-01-10 1994-06-22 Leung Yiu Choi Computer game control apparatus
US5261069A (en) 1990-08-13 1993-11-09 Hewlett-Packard Company Method of maintaining consistency of cached data in a database system
US5367698A (en) 1991-10-31 1994-11-22 Epoch Systems, Inc. Network file migration system
US5404505A (en) 1991-11-01 1995-04-04 Finisar Corporation System for scheduling transmission of indexed and requested database tiers on demand at varying repetition rates
US6026452A (en) 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US5400402A (en) 1993-06-07 1995-03-21 Garfinkle; Norton System for limiting use of down-loaded video-on-demand data
US5528513A (en) 1993-11-04 1996-06-18 Digital Equipment Corp. Scheduling and admission control policy for a continuous media server
US5586264A (en) 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5610839A (en) 1994-10-07 1997-03-11 Itt Corporation Communications management system architecture
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
JPH08263438A (ja) 1994-11-23 1996-10-11 Xerox Corp ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法
US6571279B1 (en) 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US5729279A (en) 1995-01-26 1998-03-17 Spectravision, Inc. Video distribution system
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5867223A (en) 1995-07-17 1999-02-02 Gateway 2000, Inc. System for assigning multichannel audio signals to independent wireless audio output devices
US5815662A (en) 1995-08-15 1998-09-29 Ong; Lance Predictive memory caching for media-on-demand systems
US5765152A (en) 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US5829046A (en) 1995-10-27 1998-10-27 Emc Corporation On-line tape backup using an integrated cached disk array
US5781901A (en) 1995-12-21 1998-07-14 Intel Corporation Transmitting electronic mail attachment over a network using a e-mail page
US5903723A (en) 1995-12-21 1999-05-11 Intel Corporation Method and apparatus for transmitting electronic mail attachments with attachment references
JP2000503154A (ja) 1996-01-11 2000-03-14 エムアールジェイ インコーポレイテッド デジタル所有権のアクセスと分配を制御するためのシステム
JPH09261617A (ja) 1996-01-19 1997-10-03 Matsushita Electric Ind Co Ltd オンデマンド通信システム
EP0794487B1 (en) 1996-03-08 2004-06-16 Matsushita Electric Industrial Co., Ltd. Image information processing system and microprocessor for the protected reproduction of AV data
DE19610010A1 (de) 1996-03-14 1997-09-18 Sel Alcatel Ag Einrichtung und Dienst zur Übertragung von Videobilddaten sowie Einrichtung zur Übertragung von Anforderungssignalen
US5905860A (en) 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5809242A (en) 1996-04-19 1998-09-15 Juno Online Services, L.P. Electronic mail system for displaying advertisement at local computer received from remote system while the local computer is off-line the remote system
JPH09284746A (ja) 1996-04-19 1997-10-31 Sony Corp 双方向情報伝送システムおよび双方向情報伝送方法
US6219708B1 (en) 1996-05-30 2001-04-17 Multi-Tech Systems, Inc. System for network resource management
US5928327A (en) 1996-08-08 1999-07-27 Wang; Pong-Sheng System and process for delivering digital data on demand
US6032200A (en) 1996-09-30 2000-02-29 Apple Computer, Inc. Process scheduling for streaming data through scheduling of disk jobs and network jobs and the relationship of the scheduling between these types of jobs
US6016348A (en) 1996-11-27 2000-01-18 Thomson Consumer Electronics, Inc. Decoding system and data format for processing and storing encrypted broadcast, cable or satellite video data
US6185625B1 (en) 1996-12-20 2001-02-06 Intel Corporation Scaling proxy server sending to the client a graphical user interface for establishing object encoding preferences after receiving the client's request for the object
US6049821A (en) 1997-01-24 2000-04-11 Motorola, Inc. Proxy host computer and method for accessing and retrieving information between a browser and a proxy
US6557104B2 (en) * 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US5983227A (en) 1997-06-12 1999-11-09 Yahoo, Inc. Dynamic page generator
US6219680B1 (en) 1997-06-19 2001-04-17 International Business Machines Corporation System and method for building a web site for use in E-commerce with user specific pricing
IL121230A (en) 1997-07-03 2004-05-12 Nds Ltd Intelligent electronic program guide
US6038601A (en) 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
FR2766942B1 (fr) * 1997-07-31 1999-10-01 Gemplus Card Int Lecteur de carte a puce avec microcontroleur et composant de securite
US6085193A (en) 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
JPH11120048A (ja) 1997-10-20 1999-04-30 Fujitsu Ltd クライアント/サーバ分散システムにおけるデータキャッシング装置及び方法並びにデータキャッシングプログラムを記録した媒体
US6594682B2 (en) 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6289452B1 (en) 1997-11-07 2001-09-11 Cybersource Corporation Method and system for delivering digital products electronically
US6167441A (en) 1997-11-21 2000-12-26 International Business Machines Corporation Customization of web pages based on requester type
US6170014B1 (en) 1998-03-25 2001-01-02 Community Learning And Information Network Computer architecture for managing courseware in a shared use operating environment
US6141756A (en) * 1998-04-27 2000-10-31 Motorola, Inc. Apparatus and method of reading a program into a processor
US6148340A (en) 1998-04-30 2000-11-14 International Business Machines Corporation Method and system for differencing container files
US6256637B1 (en) 1998-05-05 2001-07-03 Gemstone Systems, Inc. Transactional virtual machine architecture
US6389460B1 (en) 1998-05-13 2002-05-14 Compaq Computer Corporation Method and apparatus for efficient storage and retrieval of objects in and from an object storage device
US6052720A (en) 1998-05-14 2000-04-18 Sun Microsystems, Inc. Generic schema for storing configuration information on a server computer
EP1016960A4 (en) 1998-05-14 2002-04-03 Sega Enterprises Kk INFORMATION PROCESSOR, INFORMATION PROCESSING METHOD, INFORMATION RECORDING MEDIUM, AND INFORMATION PROCESSING SYSTEM
US6427238B1 (en) 1998-05-29 2002-07-30 Opentv, Inc. Module manager for interactive television system
DE69942712D1 (de) 1998-05-29 2010-10-14 Texas Instruments Inc Sichere Rechnervorrichtung
US6330566B1 (en) 1998-06-22 2001-12-11 Microsoft Corporation Apparatus and method for optimizing client-state data storage
US6256393B1 (en) * 1998-06-23 2001-07-03 General Instrument Corporation Authorization and access control of software object residing in set-top terminals
JP4634547B2 (ja) 1998-06-30 2011-02-16 株式会社東芝 リアルタイム情報配信方法
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6826593B1 (en) 1998-09-01 2004-11-30 Lucent Technologies Inc. Computer implemented method and apparatus for fulfilling a request for information content with a user-selectable version of a file containing that information content
US6412011B1 (en) 1998-09-14 2002-06-25 At&T Corp. Method and apparatus to enhance a multicast information stream in a communication network
US6338050B1 (en) 1998-11-16 2002-01-08 Trade Access, Inc. System and method for providing and updating user supplied context for a negotiations system
US6574605B1 (en) 1998-11-17 2003-06-03 Citibank, N.A. Method and system for strategic services enterprise workload management
US6377972B1 (en) 1999-01-19 2002-04-23 Lucent Technologies Inc. High quality streaming multimedia
US6892238B2 (en) 1999-01-27 2005-05-10 International Business Machines Corporation Aggregating and analyzing information about content requested in an e-commerce web environment to determine conversion rates
US6412008B1 (en) 1999-01-28 2002-06-25 International Business Machines Corporation System and method for cooperative client/server customization of web pages
US6321209B1 (en) 1999-02-18 2001-11-20 Wired Solutions, Llc System and method for providing a dynamic advertising content window within a window based content manifestation environment provided in a browser
US6691312B1 (en) 1999-03-19 2004-02-10 University Of Massachusetts Multicasting video
US6470378B1 (en) 1999-03-31 2002-10-22 Intel Corporation Dynamic content customization in a clientserver environment
JP3471654B2 (ja) 1999-04-06 2003-12-02 富士通株式会社 ライセンスサーバ、著作権者システム、利用者システム、システム、記録媒体およびコンテンツ利用制御方法
US6920567B1 (en) 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
US6654388B1 (en) 1999-05-26 2003-11-25 Larscom Incorporated Method and apparatus for automatically determining allocation of voice and data channels on T1/E1 line
US6704797B1 (en) 1999-06-10 2004-03-09 International Business Machines Corporation Method and system for distributing image-based content on the internet
US6446113B1 (en) 1999-07-19 2002-09-03 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager
US6526581B1 (en) 1999-08-03 2003-02-25 Ucentric Holdings, Llc Multi-service in-home network with an open interface
US6993557B1 (en) 1999-10-25 2006-01-31 Broadon Communications Corp. Creation of customized web pages for use in a system of dynamic trading of knowledge, goods and services
US6675350B1 (en) 1999-11-04 2004-01-06 International Business Machines Corporation System for collecting and displaying summary information from disparate sources
AU2278601A (en) 1999-12-23 2001-07-03 General Instrument Corporation Dual-mode processor
US6606644B1 (en) 2000-02-24 2003-08-12 International Business Machines Corporation System and technique for dynamic information gathering and targeted advertising in a web based model using a live information selection and analysis tool
US6901386B1 (en) 2000-03-31 2005-05-31 Intel Corporation Electronic asset lending library method and apparatus
US20020016818A1 (en) 2000-05-11 2002-02-07 Shekhar Kirani System and methodology for optimizing delivery of email attachments for disparate devices
JP2004503860A (ja) * 2000-06-12 2004-02-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ処理方法及び保護された命令の実行のための装置
US20020059384A1 (en) 2000-07-13 2002-05-16 Koninklijke Philips Electronics N.V. Substituting URL for attachment in forwarding electronic content
US7475398B2 (en) * 2000-08-01 2009-01-06 Wind River Systems, Inc. System and method for implementing a smart system call
US6805629B1 (en) 2000-09-13 2004-10-19 Casino Data System Gaming device and method
US6785712B1 (en) 2000-09-21 2004-08-31 Rockwell Collins, Inc. Airborne e-mail data transfer protocol
WO2002039640A2 (en) 2000-10-25 2002-05-16 Ngame Limited Electronic game programming system
US7127069B2 (en) 2000-12-07 2006-10-24 Igt Secured virtual network in a gaming environment
US7168089B2 (en) 2000-12-07 2007-01-23 Igt Secured virtual network in a gaming environment
US6811486B1 (en) 2000-12-20 2004-11-02 Sierra Design Group Method and apparatus for enhancing game play through savable game play state
US7092953B1 (en) 2000-12-28 2006-08-15 Rightlsline, Inc. Apparatus and methods for intellectual property database navigation
JP2004530185A (ja) 2001-02-01 2004-09-30 エイビーエヌ アムロ サービスィズ カンパニー,インコーポレイテッド 自動ライセンス設備のためのシステムおよび方法
US7134144B2 (en) 2001-03-01 2006-11-07 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
JP2002358460A (ja) 2001-03-27 2002-12-13 Art Connection:Kk ウェブサイト付加システム
US7584491B2 (en) 2001-04-25 2009-09-01 Sony Corporation System and method for managing interactive programming and advertisements in interactive broadcast systems
US6466048B1 (en) * 2001-05-23 2002-10-15 Mosaid Technologies, Inc. Method and apparatus for switchably selecting an integrated circuit operating mode
JP2002353960A (ja) * 2001-05-30 2002-12-06 Fujitsu Ltd コード実行装置およびコード配布方法
US8099364B2 (en) 2001-05-31 2012-01-17 Contentguard Holdings, Inc. Digital rights management of content when content is a future live event
US6976009B2 (en) 2001-05-31 2005-12-13 Contentguard Holdings, Inc. Method and apparatus for assigning consequential rights to documents and documents having such rights
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US20030028622A1 (en) 2001-08-06 2003-02-06 Mitsuhiro Inoue License management server, terminal device, license management system and usage restriction control method
WO2003031004A1 (en) 2001-10-10 2003-04-17 Sony Computer Entertainment America Inc. System and method for saving game data
US7974923B2 (en) 2001-11-20 2011-07-05 Contentguard Holdings, Inc. Extensible rights expression processing system
US20030120541A1 (en) 2001-12-21 2003-06-26 Siann Jonathan I. Storage and delivery of electronic media content with advertising
US20030225700A1 (en) 2002-03-14 2003-12-04 Guillermo Lao System and method for graphical rights expressions
US7322044B2 (en) 2002-06-03 2008-01-22 Airdefense, Inc. Systems and methods for automated network policy exception detection and correction
AUPS324802A0 (en) 2002-06-27 2002-07-18 Borthwick, Frederick Kevin Graphical user interface for data acquisition, retrieval and communication
US7228567B2 (en) 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US20040054923A1 (en) 2002-08-30 2004-03-18 Seago Tom E. Digital rights and content management system and method for enhanced wireless provisioning
US8332653B2 (en) * 2004-10-22 2012-12-11 Broadcom Corporation Secure processing environment
WO2007004219A2 (en) * 2005-07-04 2007-01-11 Discretix Technologies Ltd. System, device and method of verifying that a code is executed by a processor
US20070067826A1 (en) * 2005-09-19 2007-03-22 Texas Instruments Incorporated Method and system for preventing unsecure memory accesses
US8959339B2 (en) * 2005-12-23 2015-02-17 Texas Instruments Incorporated Method and system for preventing unauthorized processor mode switches

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049694A (zh) * 2013-01-14 2013-04-17 上海慧银信息科技有限公司 一种智能金融交易终端的核心安全架构实现方法
WO2014153760A1 (en) * 2013-03-28 2014-10-02 Irdeto B.V. Detecting exploits against software applications
CN108369623A (zh) * 2015-12-15 2018-08-03 西门子股份公司 用于为设备提供安全功能的方法和安全模块
CN107438849A (zh) * 2016-03-29 2017-12-05 华为国际有限公司 用于验证电子设备的完整性的系统和方法
US10659237B2 (en) 2016-03-29 2020-05-19 Huawei International Pte. Ltd. System and method for verifying integrity of an electronic device
CN107438849B (zh) * 2016-03-29 2020-09-04 华为国际有限公司 用于验证电子设备的完整性的系统和方法
CN113766329A (zh) * 2020-02-17 2021-12-07 聚好看科技股份有限公司 播放请求处理方法及显示设备
CN113766329B (zh) * 2020-02-17 2023-08-08 聚好看科技股份有限公司 播放请求处理方法及显示设备

Also Published As

Publication number Publication date
CN101103584B (zh) 2012-05-02
EP1625463A2 (en) 2006-02-15
WO2004072787A3 (en) 2007-08-09
WO2004072787A2 (en) 2004-08-26
US7380275B2 (en) 2008-05-27
US20040158742A1 (en) 2004-08-12
US7322042B2 (en) 2008-01-22
EP1625463B1 (en) 2018-12-19
JP2007524883A (ja) 2007-08-30
EP1625463A4 (en) 2011-08-03
US20050132217A1 (en) 2005-06-16
JP4646900B2 (ja) 2011-03-09

Similar Documents

Publication Publication Date Title
CN101103584B (zh) 中央处理器向下兼容安全保密系统处理能力及安全保密系统运行
White ABYSS: ATrusted Architecture for Software Protection
JP4073913B2 (ja) 開放型汎用耐攻撃cpu及びその応用システム
CN103221961B (zh) 包括用于保护多用户敏感代码和数据的架构的方法和装置
JP4689945B2 (ja) リソースアクセス方法
JP4689946B2 (ja) 安全なデータを使用して情報処理を実行するシステム
CN101026455B (zh) 安全处理器
JP5636371B2 (ja) 汎用コンピューティングデバイスにおけるコード実行制御および再帰的セキュリティプロトコルでのコード実行制御のための方法およびシステム
KR20170095163A (ko) 하드웨어 디바이스 및 그 인증 방법
US20030120938A1 (en) Method of securing software against reverse engineering
CN101305333A (zh) 防篡改可信任虚拟机
WO2013142517A1 (en) Method and system for process working set isolation
JPS63128434A (ja) ソフトウエアの保護方法
CA2308755A1 (en) Reconfigurable secure hardware apparatus and method of operation
JP2006522387A (ja) コンピュータソフトウェアの実行を管理するためのシステムおよび方法
CN115580413B (zh) 一种零信任的多方数据融合计算方法和装置
US20030217280A1 (en) Software watermarking for anti-tamper protection
CA2446489A1 (en) Sequence numbering mechanism to ensure execution order integrity of inter-dependent smart card applications
EP2517140B1 (en) Securing execution of computational resources
CN117337435A (zh) 用于交易数字资产的方法
JPH10312277A (ja) ソフトウェア配給方法
Biermann A Framework for the Protection of Mobile Agents Against Malicious Hosts
CN117278276A (zh) 基于tpcm的控制器数据防护方法、装置、存储介质和设备
TW202305583A (zh) 軟體利用系統及軟體利用方法
CN116467755A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Us cloud Co.

Address before: California, USA

Patentee before: BROADON COMMUNICATIONS Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210309

Address after: California, USA

Patentee after: ACER CLOUD TECHNOLOGY (US), Inc.

Address before: California, USA

Patentee before: Us cloud Co.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210330

Address after: Han Guojingjidao

Patentee after: Samsung Electronics Co.,Ltd.

Address before: California, USA

Patentee before: ACER CLOUD TECHNOLOGY (US), Inc.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20120502