CN1266571A - 将程序读取到处理器的设备和方法 - Google Patents

将程序读取到处理器的设备和方法 Download PDF

Info

Publication number
CN1266571A
CN1266571A CN99800637.8A CN99800637A CN1266571A CN 1266571 A CN1266571 A CN 1266571A CN 99800637 A CN99800637 A CN 99800637A CN 1266571 A CN1266571 A CN 1266571A
Authority
CN
China
Prior art keywords
program
processor
deciphering
authenticity
authenticity validation
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
CN99800637.8A
Other languages
English (en)
Other versions
CN1270468C (zh
Inventor
迈克尔·W·布莱特
肯尼思·卡尔·弗克斯
凯利·乔·马夸德特
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.)
Motorola Solutions Inc
Original Assignee
Motorola 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 Motorola Inc filed Critical Motorola Inc
Publication of CN1266571A publication Critical patent/CN1266571A/zh
Application granted granted Critical
Publication of CN1270468C publication Critical patent/CN1270468C/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/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/1097Boot, Start, Initialise, Power
    • 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/2147Locking files

Abstract

下面描述了一种为从处理器(101)处部的装置(103)向处理器(101)下载程序提供安全方法的装置和方法。该程序在进入外部装置(103)之前可被加密(207)。该程序也可以被加入(203,207)真实性标识信息。真实性标识信息也提供给未加密的和/或加密的程序。在允许程序被处理器(101)执行之前,处理器(101)对程序解密(307)和/或成功地进行真实性确认(311)。

Description

将程序读取到处理器的设备和方法
本发明涉及处理器,包括但不限于为处理器的自引导模式增加安全性。
处理器,如微处理器、数字信号处理器、可编程逻辑阵列(PLAs)、域可编程门阵列(FPGAs)微控制器、和微计算机等等都是人们所熟知的。这些装置可以包括板上RAM(随机存取存储器),ROM(只读存储器)、EPROM、时钟、I/O接口,和串行接口。
处理器常常有一个自引导模式,也即所熟知的可编程的,仿真(debug),或测试模式,需要从一个外部源下载一个自引导程序(或其它数据),该程序由该处理器执行,以提供所需的功能,这样的功能是数不胜数的。像PLAs这样的装置以及其它可重配置的硬件装置也有一个自引导模式,用于从包含该装置的配置指令或蓝图的一个外部装置,提供内部硬件配置。
由于在自引导模式中下载的程序来自该处理器外部的一个源,所以,在下载一个外部程序时,会有潜在的安全性风险。如今,为微处理器设计的安全性是用于防止使用保险丝或可熔性连接物,它们在该程序进入到微处理器中时起作用,进一步读入和读出数据。这样的技术可在微芯片有限公司(Microchip,Inc.)的PICTM芯片中找到。然而,这类解决方案既不能防止对外部信息源的篡改,也不能防止不需要的程序进入处理器,但却阻止了一个有权的程序员在以后的时间对该装置进行编程,从而限制了该装置的灵活性。
因此,需要处理器具有一种更加安全的下载自引导程序的方法,允许对单一的装置进行多个自引导编程。
附图1是根据本发明的处理器的方框图。
附图2是一张流程图,显示根据本发明在一个自引导程序增加真实性标识和/或对该程序进行加密处理的方法。
附图3是一张流程图,显示根据本发明对一个自引导程序进行解密处理和/或鉴别的方法。
以下描述一种设备和方法,它提供了一种安全的方法,将程序从处理器外部的存储装置中下载到该处理器,尤其适用于自引导模式。该程序在进入外部装置之前,可以进行加密处理。该程序也可以有真实性标识信息加入其中。真实性标识信息可提供到一个未加密和/或加密的程序上。在允许该程序由处理器执行之前,该处理器对该程序进行解密和/或鉴别。
本发明的一种方法包括这样的步骤:进入处理器的自引导模式;将来自外部装置的程序读入该处理器内部的存储器;产生一个解密的程序;和执行该解密的程序。该方法还可进一步包括确定该程序是否经过适当的加密,以及当该程序未经过适当加密时,禁止处理器执行该程序的步骤。该方法还可包括以下步骤:在该解密的程序上执行真实性确认;如果该解密的程序是真实的,则执行该解密的程序;和如果该解密的程序不是真实的,则禁止处理器执行该程序。
本发明的一种方法包括这样的步骤:进入处理器的自引导模式;由该处理器内部的一个第一存储器从一个外部装置读取一个程序;在该程序上执行真实性确认;如果该程序是真实的,则执行该解密的程序;和如果该解密的程序不是真实的,则禁止处理器执行该程序。
禁止处理器执行该程序的步骤中可以包括这样的步骤:禁止处理器执行任何代码,直到处理器重新启动;使处理器进入一个不定循环;或重新启动处理器,从进入步骤开始。可以通过一条错误信息指出未通过真实性确认。此外,该方法还可包括禁止在未成功完成真实性确认步骤时开始该执行步骤的步骤。执行真实性确认的步骤可以包括在该解密的程序上执行校验;在该解密的程序上执行混编;在该解密的程序上执行加密的校验;或检查该解密的程序的数字签名等步骤。嵌在处理器内的密钥可以是一个公共解密钥,一个私有解密钥,或一个对称解密钥。嵌在处理器内的密钥可以被处理成另一个密钥,用于解密该程序。
根据本发明的一种过程包括布置和构建一个第一存储器装置(ROM),以便在自引导模式期间从处理器外部的装置得到程序;布置和构建一个可与该第一存储器装置耦合在一起的解密处理器,以便利用存储在该处理器内部的一个密钥对该程序进行解密;以及布置和构建一个第二存储器装置(RAM),以存储该解密的程序。该处理器也可被布置和构建成仅在对该解密的程序成功的真实性确认之后执行该解密的程序。
耦合到外部编程装置的处理器的框图被示于图1。处理器101,如基于ARM处理器结构的定制的集成电路,可从ARM有限公司得到,与一个外部装置103连接,如ROM,EPROM,EEPROM,RAM,或另一个处理器,如个人计算机或测试用固定设备连接。该处理器101包含一个自引导处理部件105,用于当该处理器101进入自引导模式时,进行自引导处理。该自引导处理部件105访问该外部装置103,并将其程序下载到RAM109中。从该外部装置下载的信息可被解密,其中解密处理部件107访问密钥113,以便解密该信息。该自引导处理部件105也可对从该外部装置103下载的程序进行真实性确认,如下面的附图3所示和描述。在该优选实施例中,该自引导处理部件105是处理器101的内部ROM的一部分,并与用于向处理器101提供其它功能的ROM111相分离。
本发明提供了三种不同的安全等级。在第一等级中,存储在该外部装置103中的程序被加密,最好是用这样的方法,即在该程序可被执行之前,只有处理器101可以解密该程序。在第二等级中,存储在该外部装置103中的程序已经加入了真实性标识信息,如校验,混编等等,在该程序可被执行之前,该真实性标识信息必须由处理器101进行真实性确认。在第三等级中,存储在该外部装置103中的程序既被加密,同时也加入了真实性标识信息,在该程序可被执行之前,对该程序既要进行解密,也要进行成功地真实性确认。三个不同安全等级的每一个都可以使用两种或更多种加密过程和/或两种或更多种真实性确认步骤,或者使用更安全的加密方法和/或更为需要的真实性确认过程,来进一步保证安全。
附图2显示了一种方法的流程图,用于对存储在一个外部装置103中,并在以后进入处理器101的程序进行处理。在步骤201,如果需要对所下载的程序加入真实性标识信息,则该过程从步骤203继续,其中真实性标识信息根据需要被加入到该程序。真实性标识信息的加入可以包括在该未加密的程序上执行一个校验或加密校验,也可是已知的一个消息真实性码。该未加密程序的数字签名也可用于提供真实性标识。
该过程以步骤205继续,其中要确定该处理器101是否从该外部装置103要求一个加密的程序。如果要进行加密处理,则该程序在步骤205被加密。加密方法包括数据的数字不规则性,公共密钥加密,私有密钥加密,对称密钥加密,等等。步骤207之后,该过程以步骤209继续,其中要确定是否要在过程的这个点加入真实性标识。如果答案肯定,则过程继续到步骤211,其中这种真实性标识被加入,否则过程终止。在步骤211加密之后加入的真实性标识信息可以包括混编,它是在一个加密程序上执行的单向校验,和/或在该加密的程序上执行的加密校验(消息真实性码)。该加密的程序的数字签名也可用于提供真实性标识。加入真实性标识可以是在加密之前(步骤203)和在加密之后(步骤209),当该程序要被加密时。
附图3显示了一种方法的流程图,用于对一个自引导程序进行解密和/或真实性确认。在该优选实施例中,附图3的方法的各个步骤由处理器101的该自引导处理部件105执行,但步骤307和317除外。在步骤301,处理器101进入自引导模式。在步骤303,一个程序从该外部装置103读取。在步骤305,确定从该外部装置读取的程序是否经过加密。如果该程序没有经过加密,则该过程从步骤309继续。或者,如果该没有经过加密,该过程可以从步骤315继续,其中程序的执行被禁止。当需要仅仅将加密的数据下载到处理器时,可以作出这样的选择,如当只需下载安全信息,或当在其被下载之前,防止该外部程序的改变。或者,在步骤305,可以确定该程序是否被适当加密。适当加密的数据就是尚未被改变或错误地解密/加密的数据。当该程序没有被适当加密时,该过程会从步骤315继续(经由该虚线),其中处理器执行该程序被禁止。
如果发现该程序要在步骤305进行加密,则在步骤307对该程序解密。在该优选实施例中,解密步骤由处理器101的解密处理部件107执行。该解密过程完全遵循用于加密在外部装置103中的程序的加密类型。例如,如果使用非对称加密钥来加密该外部装置103中的程序,则在步骤307使用相同的密钥来解密该程序。类似地,如果使用了公共加密钥系统,该程序由一个公共密钥加密,并放置在该外部装置103中,处理器101使用一个私有密钥来解密相同的消息。用于解密的密钥113在该优选实施例中是嵌入在该处理器内部。密钥113也可被存储在RAM,ROM,可编程非易失存储器,固定的硬件等之中。解密步骤也可以包括将一个密钥处理另一个密钥或者用于对程序进行解密的另一条信息。
在步骤309,确定从该外部装置103所要下载的程序是否要进行真实性确认。尽管在外部对要自引导到处理器101中的程序进行加密提供了安全性,但由于一个不希望的人不容易解密在外部装置103中的程序,通过在该程序上执行真实性确认可对加密的或未加密的程序提供附加的安全性。除其它优点之外,这种真实性确认可防止一个外部程序进入处理器101内部运行,并潜在导致该处理器101内部的敏感信息由该处理器101输出,从而危及处理器101内部信息的安全。真实性确认过程可以防止不希望的程序运行,该不希望的程序可能引起所希望的程序不正常,产生不希望的处理样式或路径,从所希望的处理器功能中攫取处理能量,等等。内部码和硬件(功能)可被远离未授权的访问或使用,并进一步防止数据的未授权的读入和读出,而对授权的读入和读出则没有限制。
在步骤311,该程序,可以是一个解密的程序,被真实性确认。例如,如果使用校验或混编来对该程序进行真实性确认,则应在步骤311在该(解密的)程序上执行校验或混编。如果在步骤313,该程序的真实性确认没有成功,则在步骤315禁止该程序的执行,过程终止。禁止该程序执行可以包括禁止处理器101执行任何所下载的代码,直到处理器101重新启动,包括刷新从外部装置103下载到处理器101中的(解密的)程序。此外,可以这样来设计和/或编程处理器101,以便防止处理器101在没有成功地完成真实性确认过程的情况下执行该程序,即不提供绕过真实性确认的后门(使真实性确认失效的方法)。使无效也可包括将处理器置于一个不定循环状态或以步骤301重新启动过程(经由虚线)。此外,可以通过处理器外部的一条错误消息来指出真实性确认失败,从而以一条显示通知用户该自引导下载失败。如果在步骤313,该(解密的)程序经过真实性确认,则该真实性确认的(解密的)程序在步骤317被执行,过程终止。
本发明提供了一种保证外部代码安全并防止反向工程的方法。本发明的其它实施例提供了三种不同的安全等级。本发明提供了防止不需要的代码在处理器中被执行的方法,该不需要的代码可能会泄露秘密或存储在该处理器中的敏感信息。内部代码和硬件可以受保护以免于未授权的访问或使用。还提供了附加的和进一步的对所下载的可能加密的和增加真实性确认的程序的授权读出。
本发明可以以其它特定形式体现,只要不背离其精神或基本特征。所描述的实施例应理解为在各个方面仅仅是示例性的,且不限于此。因此,本发明的范围是由所附权利要求指出,而不是前述说明。包含在权利要求的等同范围和意义内的一切变化均包容在其范围之中。

Claims (10)

1、一种方法,其步骤包括:
进入处理器的自引导模式;
从一个外部装置将一个程序读入该处理器内部的一个存储器;
使用嵌入该处理器的一个密钥对该程序进行解密,产生解密的程序;
执行该解密的程序。
2、根据权利要求1的方法,还包括以下步骤:
确定该程序是否被适当加密;
如果该程序没有被适当加密,禁止由该处理器执行该程序。
3、根据权利要求1的方法,其中该执行步骤包括以下步骤:
在该解密的程序上执行真实性确认;
如果该程序通过真实性确认,则执行该解密的程序;
如果该程序没有通过真实性确认,则禁止由处理器执行该程序。
4、根据权利要求3的方法,其中禁止由处理器执行该程序的步骤包括禁止处理器执行任何代码,直到处理器重新启动的步骤。
5、根据权利要求3的方法,其中禁止由处理器执行该程序的步骤包括从该进入步骤开始重新启动该处理器的步骤。
6、根据权利要求3的方法,还包括防止该执行步骤在没有成功地完成真实性确认步骤的情况下发生的步骤。
7、一种处理器,包括:
一个第一存储器,布置和构建成在自引导模式期间从该处理器外部的一个装置获得一个程序;
一个解密处理器,与该第一存储器可操作性耦合,布置和构建成利用该处理器内部存储的一个密钥,对该程序进行解密;
一个第二存储器,布置和构建成存储该解密的程序。
8、根据权利要求7的处理器,其中处理器被布置和构建成只有在对解密的程序的成功的真实性确认之后才执行解密的程序。
9、一种方法,包括下述步骤:
进入处理器的自引导模式;
从一个外部装置将一个程序读入该处理器内部的一个存储器;
对程序进行真实性确认;
当程序的真实性被确性,执行该解密的程序;
当解密的程序没有通过真实性确认,处理器禁止该程序的执行。
10、根据权利要求9的方法,进一步包括未成功完成真实性确认步骤时,防止执行步骤发生的步骤。
CN99800637.8A 1998-04-27 1999-03-11 将程序读取到处理器的设备和方法 Expired - Lifetime CN1270468C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/067,110 1998-04-27
US09/067,110 US6141756A (en) 1998-04-27 1998-04-27 Apparatus and method of reading a program into a processor

Publications (2)

Publication Number Publication Date
CN1266571A true CN1266571A (zh) 2000-09-13
CN1270468C CN1270468C (zh) 2006-08-16

Family

ID=22073768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN99800637.8A Expired - Lifetime CN1270468C (zh) 1998-04-27 1999-03-11 将程序读取到处理器的设备和方法

Country Status (10)

Country Link
US (1) US6141756A (zh)
EP (1) EP0990326A4 (zh)
JP (1) JP2002507307A (zh)
CN (1) CN1270468C (zh)
AU (1) AU3183499A (zh)
BR (1) BR9906398A (zh)
CA (1) CA2292667C (zh)
HK (1) HK1029470A1 (zh)
IL (1) IL133247A0 (zh)
WO (1) WO1999056428A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100374970C (zh) * 2003-02-03 2008-03-12 诺基亚有限公司 用于在设备中执行测试的方法、系统及设备
CN101944034A (zh) * 2009-07-03 2011-01-12 群联电子股份有限公司 档案执行方法及系统以及可程序存储装置
CN103326862A (zh) * 2013-06-20 2013-09-25 天地融科技股份有限公司 电子签名方法及系统
CN114996725A (zh) * 2022-05-06 2022-09-02 北京中科昊芯科技有限公司 一种保护开发程序的方法以及处理器

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7236610B1 (en) * 1998-04-30 2007-06-26 Fraunhofer Gesellschaft Authenticating executable code and executions thereof
US6565443B1 (en) * 1999-09-14 2003-05-20 Innovative Gaming Corporation System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device
US20070288765A1 (en) * 1999-12-22 2007-12-13 Kean Thomas A Method and Apparatus for Secure Configuration of a Field Programmable Gate Array
GB9930145D0 (en) * 1999-12-22 2000-02-09 Kean Thomas A Method and apparatus for secure configuration of a field programmable gate array
US6496971B1 (en) * 2000-02-07 2002-12-17 Xilinx, Inc. Supporting multiple FPGA configuration modes using dedicated on-chip processor
US7240218B2 (en) * 2000-02-08 2007-07-03 Algotronix, Ltd. Method of using a mask programmed key to securely configure a field programmable gate array
JP2001318768A (ja) * 2000-03-02 2001-11-16 Sony Computer Entertainment Inc エンタテインメント装置及びその部品、エンタテインメント装置によるディジタル情報のローディング方法、コンピュータプログラム
JP3949341B2 (ja) 2000-03-03 2007-07-25 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置及び記録媒体
US6775776B1 (en) * 2000-06-27 2004-08-10 Intel Corporation Biometric-based authentication in a nonvolatile memory device
US6986052B1 (en) 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
SE517116C2 (sv) 2000-08-11 2002-04-16 Ericsson Telefon Ab L M Metod och anordning för säkra kommunikationstjänster
CA2420889A1 (en) * 2000-09-01 2002-03-07 Conleth Buckley Method and system for preventing unwanted alterations of data and programs stored in a computer system
US20020108054A1 (en) * 2001-02-02 2002-08-08 Moore Christopher S. Solid-state memory device storing program code and methods for use therewith
GB2373604B (en) * 2001-03-23 2004-10-27 Ibm A method and system for controlling use of software programs
US20020147918A1 (en) * 2001-04-05 2002-10-10 Osthoff Harro R. System and method for securing information in memory
US7469341B2 (en) * 2001-04-18 2008-12-23 Ipass Inc. Method and system for associating a plurality of transaction data records generated in a service access system
US7921290B2 (en) * 2001-04-18 2011-04-05 Ipass Inc. Method and system for securely authenticating network access credentials for users
US20030065919A1 (en) * 2001-04-18 2003-04-03 Albert Roy David Method and system for identifying a replay attack by an access device to a computer system
US20040015958A1 (en) * 2001-05-15 2004-01-22 Veil Leonard Scott Method and system for conditional installation and execution of services in a secure computing environment
GB0114317D0 (en) * 2001-06-13 2001-08-01 Kean Thomas A Method of protecting intellectual property cores on field programmable gate array
DE10142537A1 (de) * 2001-08-30 2003-03-20 Adp Gauselmann Gmbh Verfahren zur Aktivierung einer in einem Gehäuse angeordneten Steuereinheit, die gegen ein Ausspähen von Daten geschützt ist
JP2003122442A (ja) * 2001-10-16 2003-04-25 Sony Corp ソフトウェア・ダウンロードシステムのための無線データ通信方法および装置
US20030135744A1 (en) * 2002-01-11 2003-07-17 International Business Machines Corporation Method and system for programming a non-volatile device in a data processing system
US7254720B1 (en) * 2002-02-13 2007-08-07 Lsi Corporation Precise exit logic for removal of security overlay of instruction space
JP2004007472A (ja) * 2002-03-22 2004-01-08 Toshiba Corp 半導体集積回路、データ転送システム、及びデータ転送方法
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
DE10235380B4 (de) * 2002-08-02 2014-10-09 Robert Bosch Gmbh Verfahren zur dynamischen Speicherverwaltung
US20040034785A1 (en) * 2002-08-15 2004-02-19 Horng-Ming Tai Hardware and firmware encryption mechanism using unique chip die identification
ATE350872T1 (de) * 2002-10-07 2007-01-15 Ericsson Telefon Ab L M Sicherheits- und privatsphärenverbesserungen für sicherheitseinrichtungen
DK1556992T3 (en) * 2002-10-31 2017-01-09 ERICSSON TELEFON AB L M (publ) Safety performance and use of device-specific safety data
US7322042B2 (en) * 2003-02-07 2008-01-22 Broadon Communications Corp. Secure and backward-compatible processor and secure software execution thereon
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity 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
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
JP4501349B2 (ja) * 2003-03-13 2010-07-14 ソニー株式会社 システムモジュール実行装置
US7725740B2 (en) * 2003-05-23 2010-05-25 Nagravision S.A. Generating a root key for decryption of a transmission key allowing secure communications
US8606885B2 (en) * 2003-06-05 2013-12-10 Ipass Inc. Method and system of providing access point data associated with a network access point
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
US7539862B2 (en) * 2004-04-08 2009-05-26 Ipass Inc. Method and system for verifying and updating the configuration of an access device during authentication
JP2006050148A (ja) * 2004-08-03 2006-02-16 Yamatake Corp 電文通信方法および電文通信装置
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
JP4593207B2 (ja) * 2004-08-31 2010-12-08 株式会社日立国際電気 ソフトウェア無線システム
US20060059373A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation Integrated circuit chip for encryption and decryption using instructions supplied through a secure interface
US20060059372A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation Integrated circuit chip for encryption and decryption having a secure mechanism for programming on-chip hardware
US20060059574A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation System for securely configuring a field programmable gate array or other programmable hardware
US20060059368A1 (en) * 2004-09-10 2006-03-16 International Business Machines Corporation System and method for processing by distinct entities securely configurable circuit chips
US7818574B2 (en) * 2004-09-10 2010-10-19 International Business Machines Corporation System and method for providing dynamically authorized access to functionality present on an integrated circuit chip
US7478247B2 (en) * 2004-11-10 2009-01-13 Hillcrest Laboratories, Inc. Methods and systems for securing data processing devices
EP1825342A1 (en) 2004-11-22 2007-08-29 Nokia Corporation Method and device for verifying the integrity of platform software of an electronic device
US8234638B2 (en) * 2004-12-28 2012-07-31 Hercules Software, Llc Creating a relatively unique environment for computing platforms
CN100412796C (zh) * 2005-05-29 2008-08-20 鸿富锦精密工业(深圳)有限公司 嵌入式系统及其安全开机方法
JP4448800B2 (ja) * 2005-07-07 2010-04-14 株式会社ソニー・コンピュータエンタテインメント デバイス制御装置
US7406711B2 (en) * 2005-09-02 2008-07-29 Motorola, Inc. Method and apparatus for enforcing independence of processors on a single IC
US8127144B2 (en) * 2005-10-12 2012-02-28 Panasonic Corporation Program loader operable to verify if load-destination information has been tampered with, processor including the program loader, data processing device including the processor, promgram loading method, and integrated circuit
JP4931542B2 (ja) * 2005-10-12 2012-05-16 パナソニック株式会社 ロード先情報に対する改ざん検証機能を備えたプログラムローダ、プログラムローダを含むプロセッサ、プロセッサを含むデータ処理装置、プログラムロード方法、及び集積回路
US10664575B2 (en) 2006-05-02 2020-05-26 Acer Cloud Technology, Inc. Virtual vault of licensed content
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US20080077749A1 (en) * 2006-09-22 2008-03-27 Daniel Scott Cohen Access control of memory space in microprocessor systems
US20080077805A1 (en) * 2006-09-26 2008-03-27 Catherman Ryan C Securing Data Exchanged in Memory
US7624276B2 (en) 2006-10-16 2009-11-24 Broadon Communications Corp. Secure device authentication system and method
US7870395B2 (en) * 2006-10-20 2011-01-11 International Business Machines Corporation Load balancing for a system of cryptographic processors
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
US8200961B2 (en) * 2006-11-19 2012-06-12 Igware, Inc. Securing a flash memory block in a secure device system and method
US7890559B2 (en) * 2006-12-22 2011-02-15 International Business Machines Corporation Forward shifting of processor element processing for load balancing
CN101606164B (zh) * 2007-02-09 2013-03-27 株式会社Ntt都科摩 终端装置以及软件检查方法
JP4392672B2 (ja) 2007-08-01 2010-01-06 Necシステムテクノロジー株式会社 ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム
US8515080B2 (en) * 2007-12-19 2013-08-20 International Business Machines Corporation Method, system, and computer program product for encryption key management in a secure processor vault
US8661234B2 (en) * 2008-01-31 2014-02-25 Microsoft Corporation Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
TWI497414B (zh) * 2009-06-23 2015-08-21 Phison Electronics Corp 檔案執行方法及系統
EP2362314A1 (en) * 2010-02-18 2011-08-31 Thomson Licensing Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code
US8627097B2 (en) 2012-03-27 2014-01-07 Igt System and method enabling parallel processing of hash functions using authentication checkpoint hashes
US9881161B2 (en) 2012-12-06 2018-01-30 S-Printing Solution Co., Ltd. System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof
KR20140073384A (ko) * 2012-12-06 2014-06-16 삼성전자주식회사 보안 부팅을 수행하는 칩 시스템과 이를 이용하는 화상형성장치 및 그 보안 부팅 방법
US10616197B2 (en) * 2016-04-18 2020-04-07 Atmel Corporation Message authentication with secure code verification
EP3293978A1 (en) * 2016-09-09 2018-03-14 Nagravision S.A. Method for implementing a new default configuration in a host device and system therefor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748940A (en) * 1995-08-17 1998-05-05 Compaq Computer Corporation Secure updating of non-volatile memory
US5937063A (en) * 1996-09-30 1999-08-10 Intel Corporation Secure boot
US5844986A (en) * 1996-09-30 1998-12-01 Intel Corporation Secure BIOS
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100374970C (zh) * 2003-02-03 2008-03-12 诺基亚有限公司 用于在设备中执行测试的方法、系统及设备
CN101944034A (zh) * 2009-07-03 2011-01-12 群联电子股份有限公司 档案执行方法及系统以及可程序存储装置
CN103326862A (zh) * 2013-06-20 2013-09-25 天地融科技股份有限公司 电子签名方法及系统
CN114996725A (zh) * 2022-05-06 2022-09-02 北京中科昊芯科技有限公司 一种保护开发程序的方法以及处理器
CN114996725B (zh) * 2022-05-06 2023-07-28 北京中科昊芯科技有限公司 一种保护开发程序的方法以及处理器

Also Published As

Publication number Publication date
EP0990326A4 (en) 2007-05-02
CA2292667A1 (en) 1999-11-04
CA2292667C (en) 2004-01-27
JP2002507307A (ja) 2002-03-05
CN1270468C (zh) 2006-08-16
EP0990326A1 (en) 2000-04-05
HK1029470A1 (en) 2001-03-30
IL133247A0 (en) 2001-04-30
BR9906398A (pt) 2000-09-26
WO1999056428A1 (en) 1999-11-04
AU3183499A (en) 1999-11-16
US6141756A (en) 2000-10-31

Similar Documents

Publication Publication Date Title
CN1270468C (zh) 将程序读取到处理器的设备和方法
KR100851631B1 (ko) 보안 모드 제어 메모리
DE102006046456B4 (de) Schaltkreis-Anordnung, Verfahren zum Hochfahren einer Schaltkreis-Anordnung, Verfahren zum Betreiben einer Schaltkreis-Anordnung und Computerprogrammprodukte
KR100851623B1 (ko) 암호 코프로세서를 포함하는 장치
JP4267065B2 (ja) 無許可使用に対するソフトウェアの保護
US7600166B1 (en) Method and system for providing trusted access to a JTAG scan interface in a microprocessor
JP4461145B2 (ja) Sim装置用コンピュータシステム及び方法
ES2275075T3 (es) Proteccion de un dispositivo contra un uso involuntario en un entorno protegido.
JPH03152653A (ja) スマートカードの認証手段を具えるデータ処理システムとそれに使用する電子回路、およびそのような認証の実現手順
JP2004213216A (ja) 情報セキュリティマイクロコンピュータ、そのプログラム開発装置およびそれらを含んだプログラム開発システム
EP1785902A1 (en) Decryption key table access control on ASIC or ASSP
CN106537407A (zh) 可信根
US20070237325A1 (en) Method and apparatus to improve security of cryptographic systems
JP2001060173A (ja) メモリ機密保護システム
CN106067205B (zh) 一种门禁鉴权方法和装置
CN110020561A (zh) 半导体装置和操作半导体装置的方法
ES2201038T3 (es) Mecanismo de enumeracion secuencial para asegurar la integridad del orden de ejecucion de aplicaciones de tarjetas interdependientes.
JP4062604B2 (ja) データ処理デバイス
JP2006514321A (ja) 暗号化されたアプリケーションをインストールするためのアーキテクチャ
BRPI0212257B1 (pt) Método para leitura dos dados de inicialização em um cartão de microplaqueta, cartão de microplaqueta, método para geração de um registro, portador de dados legível e método para inicialização de um cartão de microplaqueta.
CN111708293A (zh) 带主动防御功能的在线调试的mcu设计方法
KR100198825B1 (ko) 전자지갑 단말장치
KR100730708B1 (ko) 암호화된 어플리케이션 설치를 위한 구조
CN117473529A (zh) 触控ic工作模式加载方法、pin输入方法及输入系统
AU777158B2 (en) Centralised cryptographic system and method with high cryptographic rate

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
C56 Change in the name or address of the patentee

Owner name: MOTOROLA SOLUTIONS INC.

Free format text: FORMER NAME: MOTOROLA INC.

CP03 Change of name, title or address

Address after: Illinois State

Patentee after: Motorala Solutions

Address before: Illinois Instrunment

Patentee before: Motorola Inc.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20060816