CN1210637C - 保护静态和动态数据免遭未授权操作的系统 - Google Patents

保护静态和动态数据免遭未授权操作的系统 Download PDF

Info

Publication number
CN1210637C
CN1210637C CNB018162185A CN01816218A CN1210637C CN 1210637 C CN1210637 C CN 1210637C CN B018162185 A CNB018162185 A CN B018162185A CN 01816218 A CN01816218 A CN 01816218A CN 1210637 C CN1210637 C CN 1210637C
Authority
CN
China
Prior art keywords
hashed value
dynamic
data object
examination
active data
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.)
Expired - Lifetime
Application number
CNB018162185A
Other languages
English (en)
Other versions
CN1466710A (zh
Inventor
B·斯梅茨
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN1466710A publication Critical patent/CN1466710A/zh
Application granted granted Critical
Publication of CN1210637C publication Critical patent/CN1210637C/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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/106Packet or message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Circuits Of Receivers In General (AREA)
  • Bidet-Like Cleaning Device And Other Flush Toilet Accessories (AREA)
  • Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

通过把动态数据对象和动态授权数据存储在存储器中来确保包括一个或多个动态数据项的动态数据对象的完整性。例如,动态授权数据可以是为获得授权进行了多少次失败尝试的记数,并且在任何时候进行了另一次失败尝试至少要修改所述记数。无论何时都可以修改动态数据对象和动态授权数据,其对应的散列值就要重新计算并存回到存储器中。只有新产生的两个散列特征值与预先存储在存储器中的值匹配时,动态数据对象才被看作为可信的。对动态数据对象的修改只能在用户已经执行并通过授权程序后才能进行。

Description

保护静态和动态数据免遭未授权操作的系统
技术领域
本发明涉及防止电子存储器操作的系统,更具体地说,涉及防止对电子设备中需要保密的存储器内容的未授权操作的方法和装置。
背景技术
本文中公开的本发明涉及所有需要维护存储器内容的安全或不允许改变其状态的电子设备。这种需求可能是出于安全考虑提出的,例如,防止蜂窝式电话存储器的欺诈性操作,或者在一些重要应用中,例如航空控制或医药设备的操作,维护电子设备运行的整体性目的。正如本文中公开的和说明的,本发明的示范性方面是从用于加密蜂窝式电话中的一个或多个电子存储器的系统和方法方面着手的。本文中还说明一种系统,所述系统允许在访问电子存储器之前,利用经过鉴别的数据传送设备访问和操作电子设备中的一个或多个电子存储器。后一种系统也在蜂窝式电话的应用中说明。即使本文说明的本发明的示范性实施例,在保密蜂窝式电话存储器以及用于安全访问和修改蜂窝式电话存储器内容的装置方面作了说明,本专业的技术人员容易理解,本发明的系统也可以用于具有一个或多个存储器的任何电子系统,这些存储器内容要保持不变,或者其存储器只有通过授权装置才能被访问和修改。所以,本发明的范围不局限于本文中给出的示范性实施例,而是由后附的权利要求书和等价内容规定。
在许多固定的和移动的计算和通信系统中,例如个人数字助理(PDA)和蜂窝式电话,需要保护某些存储在系统存储器中的数据。这些数据可能是与文档、数据库或程序对应的数据。在蜂窝式电话的内容中,这些数据可能表示有关信息,例如,国际移动式设备身份码(IMEI)编号(由ETSI GSM规范确定),无线电校正数据以及加密访问代码。一旦存入存储器中,这类数据就不想改变,因此,本文中将它称作为静态数据。其它类型数据也可以存储在存储器中,例如,表示GSM电话是否被锁定在规定的操作员网络的状态标记的数据。这类数据(本文中将它称作为动态数据)具有被用户修改的可能,但是只有用户被授权才可能修改。在所有其它情况下,动态数据是不允许修改的。
已经对确保静态数据完整性的技术(即,防止静态数据被窜改)作了说明,例如在美国专利No.5442645和No.6026693中给出的说明,所述专利通过引用被全部包括在本文中。这些方法广泛应用密码技术,用于从静态数据产生所谓“特征”。密码技术已众所周知,并在象《应用密码学手册》(A.Menezes,P.C.an Orrshot和S.A.Vanstone,CRC出版社,1996)一类的出版物中作了说明,所述内容通过引用被全部包括在本文中。当已知所述静态数据为可信的时,则产生特征同时保存。然后,在允许用户使用静态数据之前,再次计算特征,并与前一次保存的版本进行比较。如果发现任何不匹配,则证明静态数据发生了变化就不使用所述静态数据。
在美国专利5442645中,需要保存秘密密钥以便实现整体性保护。在美国专利6026293中说明了一种更完善的技术。现在,参照图1的方框图简要说明。在所述系统中,包括处理电路100的ASIC与快速程序存储器101、随机访问存储器(RAM)103和电可擦可编程只读存储器(EEPROM)105通过系统总线107相互连接在一起。处理电路100包括微处理器109、定时器和控制器逻辑电路111以及两种形式的存储器:保护静态RAM(PSRAM)113和内部只读存储器(IROM)115。除了传统的引导代码117外,IROM 115存储公开密钥119、散列算法的程序代码(用散列码121表示)和设备验证代码123的程序代码。静态数据125存储在EEPROM 105中。静态数据125由存储在EEPROM 105中的审查散列值127保护。审查散列值127由存储在处理电路的IROM115中的散列码121实现的散列算法计算得到。外部数据传送设备对EEPROM的内容的访问是利用存储在IROM 115中的公开密钥119和验证代码123、通过使用验证程序来控制的。验证程序要求数据传送设备占有对应的公用/专用加密方案的秘密密钥,所述秘密密钥用于实现验证程序。由定时器和控制逻辑电路111实现的定时机制用于触发处理电路的性能,以便在一组计数器确定的某一瞬间实现整体性检查。
现有方法的缺点在于,由于任何修改整体性检查软件的方法可以用来饶过加密机制,因此,实现整体性检查的软件本身必须加密。在美国专利6026293说明的技术中,通过固定处理电路ASIC的IROM中的软件代码可以满足这种要求。然而,为了能够应用所述技术,系统开发者必须能够定义一部分ASIC。这种能力会增加所述部件的成本。
这些现有技术的另一个缺点在于,不适合用来确保动态数据的完整性。
在美国专利5606315中描述了一种机制,对动态数据对象的访问是通过存储在EEPROM中的口令控制的。然而,用户很容易从EEPROM中读取口令并获得对动态数据的修改权力。而且,在该文件描述的系统中,不对动态数据进行完整性检查。
发明内容
应该强调,当在本说明书中使用术语“包括”和“包含”时,意指存在确定的特征、整体、步骤或部件;但是使用这些术语并不排除存在或附加一个或多个特征、整体、步骤、部件或它们的组合。
根据本发明的一个方面,在确保包括一个或多个数据项的动态数据对象完整性的方法和装置中实现前述的和其它目的。完成这一点包括将动态数据对象和动态授权数据存储在存储器中。分别产生动态数据对象和动态授权数据的不同散列特征,并将其存储在存储器中。当用户希望修改动态数据对象时,必须确定所述用户是否被授权修改动态数据对象。如果所述用户被授权,那么,动态授权数据被修改(例如,失败尝试计数器加1),并产生新的动态授权数据的散列特征。然后,存回到存储器中。
如果所述用户被授权修改动态数据对象,那么,就允许进行修改。然后重新计算对应的散列特征并将其存回到存储器中。只有新产生的两个散列特征值与预先存入存储器中的值相匹配时,才认为所述动态数据对象是可信的。
根据本发明的一种确保动态数据对象完整性的方法,所述动态数据对象包括一个或多个数据项,所述方法包括:
将所述动态数据对象存入存储器中;
将动态授权数据存入所述存储器中;
应用第一动态散列算法、从包括所述动态数据对象的一个或多个参数产生初始的第一动态审查散列值;
应用第二动态散列算法、从包括所述动态授权数据的一个或多个参数产生初始的第二动态审查散列值;
将所述初始的第一动态审查散列值存入所述存储器中;
将所述初始的第二动态审查散列值存入所述存储器中;
确定用户是否被授权修改所述动态数据对象;
如果用户未被授权修改所述动态数据对象,那么:
调整所述动态授权数据;
将所述调整后的动态授权数据存入所述存储器中;
应用第二动态散列算法、从包括所述调整后的动态授权数据的一个或多个参数产生调整后的第二动态审查散列值;以及
将所述调整后的第二动态审查散列值存入所述存储器中;以及
如果用户被授权修改动态数据对象,那么:
允许用户修改所述动态数据对象;
将所述修改后的动态数据对象存入所述存储器中;
应用第一动态散列算法、从包括所述修改后的动态数据对象的一个或多个参数产生调整后的第一动态审查散列值;以及
将所述调整后的第一动态审查散列值存入所述存储器中。
根据本发明的一种确定存储在存储器中的动态数据对象是否为未授权修改结果的方法,所述方法包括:
从所述存储器检索初始的第一动态审查散列值;
从所述存储器检索初始的第二动态审查散列值;
应用第一动态散列算法、从包括所述动态数据对象的一个或多个参数产生期望的第一动态审查散列值;
应用第二动态散列算法、从包括所述动态授权数据的一个或多个参数产生期望的第二动态审查散列值;
将所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值进行比较,如果所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值不匹配,那么,表明所述动态数据对象是未授权的修改结果;以及
将所述期望的第二动态审查散列值与从所述存储器中检索的所述初始的第二动态审查散列值进行比较,如果所述期望的第二动态审查散列值与从所述存储器中检索的所述初始的第二动态审查散列值不匹配,那么,表明所述动态数据对象是未授权的修改结果。
根据本发明的一种用于确保包括一个或多个动态数据项的动态数据对象完整性的装置,所述装置包括:
将所述动态数据对象存入存储器的逻辑部件;
将动态授权数据存入所述存储器的逻辑部件;
应用第一动态散列算法、从包括所述动态数据对象的一个或多个参数产生初始的第一动态审查散列值的逻辑部件;
应用第二动态散列算法、从包括所述动态授权数据的一个或多个参数产生初始的第二动态审查散列值的逻辑部件;
将所述初始的第一动态审查散列值存入所述存储器的逻辑部件;
将所述初始的第二动态审查散列值存入所述存储器的逻辑部件;
确定用户是否被授权修改所述动态数据对象的逻辑部件;
如果所述用户未被授权修改所述动态数据对象、则执行以下操作的逻辑部件:
调整所述动态授权数据;
将所述调整后的动态授权数据存入所述存储器中;
应用第二动态散列算法、从包括所述调整后的动态授权数据的一个或多个参数产生调整后的第二动态审查散列值;以及
将所述调整后的第二动态审查散列值存入所述存储器中;以及
如果所述用户被授权修改所述动态数据对象,则执行以下操作的逻辑部件:
允许所述用户修改所述动态数据对象;
将所述修改后的动态数据对象存入所述存储器中;
应用所述第一动态散列算法、从包括所述修改后的动态数据对象的一个或多个参数产生调整后的第一动态审查散列值;以及
将所述调整后的第一动态审查散列值存入所述存储器中。
根据本发明的一种用于确定存储在存储器中的动态数据对象是否为未授权的修改结果的装置,所述装置包括:
从存储器中检索初始的第一动态审查散列值的逻辑部件;
从存储器中检索初始的第二动态审查散列值的逻辑部件;
应用第一动态散列算法从包括所述动态数据对象的一个或多个参数产生期望的第一动态审查散列值的逻辑部件;
应用第二动态散列算法从包括所述动态授权数据的一个或多个参数产生期望的第二动态审查散列值的逻辑部件;
将所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值进行比较、如果所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值不匹配、则指示所述动态数据对象是未授权的修改结果的逻辑部件;以及
将所述期望的第二动态审查散列值与从所述存储器中检索的初始的第二动态审查散列值进行比较、如果所述期望的第二动态审查散列值与从所述存储器中检索的所述初始的第二动态审查散列值不匹配、则指示所述动态数据对象是未授权的修改结果的逻辑部件。
附图说明
参照附图,阅读以下详细说明将理解本发明的目的和优点,附图中:
图1是保护存储在存储器中的静态数据完整性的传统装置的方框图;
图2是说明根据本发明的一个实施例、确保只能对动态数据对象进行授权的修改的技术的流程图;
图3是根据本发明的一个实施例、保护存储在存储器中的动态数据完整性的装置的方框图;
图4是根据本发明的可供选择的实施例、保护存储在存储器中的动态数据完整性的装置的方框图;以及
图5是根据本发明的可供选择的实施例、保护存储在存储器中的动态数据完整性的装置的方框图。
具体实施方式
现在将参照附图说明本发明的各种特征,其中,用相同的参考符号来标识相同的部件。
现在将结合几个示范性实施例更详细说明本发明的各个方面。为了便于理解本发明,我们借助于用计算机系统单元执行一系列操作来说明本发明的许多方面。在每一个实施例中将可以看出,各种操作可以通过专用电路(例如,实现专用功能的互连的分立逻辑门)、通过由一个或多个处理器执行的程序指令、或者通过两者组合来完成。而且,本发明还可以考虑在任何形式的计算机可读载体、例如固体存储器、磁盘、光盘或载波(例如,无线电频率,音频或光频载波)中完整地实施,这些载体包含可以使处理器实现所述技术的相应的计算机指令集。因此,本发明的各个方面可以用许多不同形式实现,并且所有这些形式都属于本发明的范围。对于本发明的每一方面,任何这种形式的实施例都可以称为“配置”成完成所述操作的“逻辑”,或者称为完成所述操作的“逻辑”。
在本发明的一个方面,提供使系统免遭对存储在系统内部存储器中的数据的未授权修改的方法和装置。具体地说,本发明的技术针对为两类数据(静态数据和动态数据)提供保护的问题。如前所述,静态数据是装入系统后不应该修改的数据。(在某些例子中,可能期望允许修改静态数据,例如,所讨论的设备的授权的服务中心。这种可能性不改变设备的用户决不允许修改所述数据这一事实。)相反,动态数据则是设备用户可能允许修改的数据,但是只有他或她被赋予修改数据的权利(例如,系统操作员)时才能这样做。两类数据都应该防止未授权的修改。然而,当授权后,数据完整性机制不应该防止用户修改动态数据。此外,可能还希望防止两类数据被复制(即,克隆)到其它设备上。
为了便于说明本发明的各种基本原理,我们用Ms表示一个或多个需要保护的静态数据项,用Md表示一个或多个需要保护的动态数据项。一种授权机制应该是允许对动态数据Md进行授权修改。在这样一种授权机制的示范性实施例中,要求用户正确提供访问代码,以便允许修改动态数据。在所述示范性实施例中,访问代码以不可读形式作为静态数据存储在系统的存储器中。访问代码本身是一个随机选取的字符串。可以通过借助于加密算法E、利用秘密秘密密钥Ke对其数据加密来使访问代码成为不可读的。E的合适选择可以是例如上面引用的书(A.Menezes等著)所描述的三模式数据加密标准(DES)算法。但是,也可以选择应用任何其它加密算法。秘密密钥Ke的大小应足够长,以便防止穷举密钥搜索。使用当前技术至少要应用64位。对于三重DES,密钥的大小为112位。由于访问代码可以通过系统用户手工输入,所以其大小(用输入的符号数目表示)可以比较小。例如,在由GSM确定的动态数据的情况下,这种代码可以由最多8个十进制数字组成。
由于访问代码比较小,所以,所述授权方法可能容易受到穷举猜试的攻击。为了防止这种野蛮的攻击,最好还要提供一种限制用户连续输入不正确访问代码次数的机制。这可以通过提供一种保持跟踪输入错误访问代码次数的伪尝试计数器(false-attempt counter)实现。设TryCnt表示输入正确访问代码的失败次数。系统可以设计成当计数器达到预定的限制时则锁定。系统能否从所述锁定状态退出取决于设计的系统所需的安全等级。例如,用户可以使系统接入专门的服务中心,在那里,系统可以在安全控制条件下执行解锁。
在上述讨论中,确保静态数据Ms完整性的某些机制不仅需要保护确定系统参数属性(例如,在GSM中的IMEI)的静态数据部分,而且还要保护构成动态数据授权方法的不变数据单元,例如,表示将允许输入访问代码不成功的最大次数(“预定的限制”),以及授权方法本身的程序代码的执行。
也可以看到,保护动态数据完整性的某些机制不仅需要保护确定系统参数属性的动态数据部分(例如,GSM电话是否锁定到操作员网络上的状态标记),而且还要保护过时变化的授权机制方面的数据,例如,必须随每一次输入访问代码尝试失败而调整的失败尝试计数器TryCnt(例如,加1)。如果变量TryCnt没有被保护,不守纪律的用户可能相当容易对计数器复位,由此达到能够无限次输入尝试代码。存储在扩展存储器中的失败尝试计数器(TryCnt)和所有其它变量是随访问次数变化的,统称为动态授权数据,并用Md_auth表示。
可以按如下方法实现数据对象Ms,Md和Md_auth的完整性。首先讨论数据对象Ms,我们把静态审查散列值或特征Ss与数据对象Ms联系在一起。审查散列值Ss是对Ms(或者至少对其一部分)利用表示为Hs的散列算法计算出来的。Ss值存储在非易失性存储器中。在某些实施例中,Ss值可以与数据对象Ms一起在生产过程期间存储在快速程序存储器中。在另一些实施例中,正如在后面的说明中将假设,数据对象Ms和Ss存储在EEPROM中。这样做的优点是使得有可能在生产过程结束后安装保护的数据对象Ms。
为了使用户免于执行相同操作,系统的处理电路最好包括验证机制,例如,上面认定的美国专利No.6026293中公开的一种验证机制与美国专利No.4748668中公开的算法相结合,所述专利通过引用被全部包括在本文中。因此,根据本发明的一个方面,验证机制不仅用于控制对存储器内容的访问(正如美国专利No.6026293中指出的),而且也用于控制执行散列算法Hs的能力。
如前所述,还需要防止数据从一台设备复制(即,克隆)到另一台设备。为了实现这方面的保护,进一步使通过算法Hs从数据对象Ms计算出来的Ss值是静态参数的函数,所述静态参数最好是存储在处理电路或快速存储器中的设备序列号(用SerNo表示)。在最佳实施例中,系统的每一种实现方案被给予唯一的SerNo值。在另一些实施例中,可以给系统的有限数目的实现方案分配相同的SerNo值,同时,将唯一的SerNo值分配给许多不同系统。把SerNo值作为散列算法Hs的输入参数之一实际上不可能防止数据被系统重使用或者被克隆到另一个相似的系统中。应当指出,实现数据完整性保护的这种方法不需要存储秘密密钥。这是一个重要的优点,因为以保密方式存储秘密密钥要求用昂贵的技术实现反窜改。
现在,转到动态数据的保护,这里使用了两种动态审查散列值。第一动态审查散列值(用Sd表示)保护动态数据对象Md,并用第一动态散列算法(用Hd表示)计算。第二审查动态散列值(用S’d表示)保护动态授权数据(用Md_auth表示)并用第二动态散列算法(用Hd_auth表示)计算。对于Hd和Hd_auth可以使用不同的散列算法。因此,在其它实施例中,只要它们产生不同的特征值,它就可以更有效地应用相同算法(Hd=Hd_auth)。所述最新结果可以利用不同的输入参数产生第二动态审查散列值(S’d)而不是产生第一动态审查散列值(Sd)来实现。例如,第一动态审查散列值可以由确定的Sd=Hd(Md)产生,而第二动态审查散列值可以由确定的S’d=Hd(Md_auth)产生。本发明的这一方面还将在下面结合一些示范性实施例加以说明。
具有两个完全不同的审查散列值的目的如下。每一次,一个用户试图获得对非组合动态数据Md的修改权利时,他或她需要输入所要求的访问代码。但是,在可以使用授权机制前,Md和Md-auth值的完整性(例如,TryCnt)必须首先确认。如果Md和Md_auth通过了这一检查但是用户输入的访问代码错误,则数据对象Md_auth将调整(例如,变量TryCnt可以加1)。由于第二动态审查散列值S’d是Md_auth的函数,那么,就必须重新计算并将计算结果存储回到非易失性存储器中。如果它不是动态数据对象Md_auth的函数,那么,第一动态审查散列值Sd就不必重新计算。
另外,如果Md和Md_auth通过了完整性检查,用户输入了正确的访问代码,那么,用户就可以修改Md构成的动态数据。由于第一动态审查散列值Sd是Md的函数,因此必须重新计算Sd。正如下面将看到的,在某些实施例中,第二动态审查散列值S’d也是Md的函数,因而在这些情况下,也必须重新计算这时的S’d。
不知道访问代码就想修改Md值的恶意用户可能试图通过反复访问尝试并记录在动态数据Md、动态授权数据Md_auth以及它们相关的动态审查散列值(Sd和S’d)中出现的任何变化来绕过完整性机制。用这些知识,这类用户可能能了解保护机制的特征。然而,极大多数这类用户将看到与第二动态审查散列值S’d的产生相关联的特征,但是,不能看到第一动态审查散列值Sd中的任何变化,因为这种情况直到输入正确的访问代码才会出现。(假设用户被授权输入正确的访问代码,因此不会知到第一动态审查散列值Sd是如何变化的任何事情。)本发明的这一方面添加到保护机制的安全性中并且是既设置动态数据对象Md的审查散列值又设置动态授权数据Md_auth的审查散列值的原因。
图2是说明根据本发明的实施例、确保只有授权才能对动态数据对象Md进行修改的技术的流程图。在所述示范性实施例中,不允许做任何修改,如果未授权就对动态数据对象进行修改,那么要做的第一件事情就是产生第一和第二动态审查散列值的期望值,将这些值分别与存储值Sd和S’d进行比较(步骤201)。如果期望值中的任何一个与对应的存储值不匹配(判定模块203中的“NO”路径),则表明是未授权的修改并采取相应的步骤,例如锁定系统(步骤205)。
或者,如果两个期望动态审查散列值都与对应的存储值匹配(判定模块203中的“YES”路径),那么,动态数据对象Md和动态授权数据Md_auth(例如,TryCnt)都通过了完整性检查,并允许修改例程继续进行。
下面,例程确定用户是否被授权进行修改。在所述实施例中,它包括确定前面进行的失败尝试的次数,获得修改动态数据对象的授权是否超过预先确定的限制(决策模块207)。因此,动态授权数据Md_auth在本发明中包括计数器的值TryCnt。如果TryCnt的当前值比预先确定的限制大(决策模块207中的“YES”路径),那么不允许再进行尝试,并使系统进入锁定状态(步骤205)。
如果访问失败尝试的次数没有超过预定的限制(决策模块207中的“NO”路径),则通过确定用户是否被授权修改使授权例程继续(决策模块209)。这可以以任何方式进行。例如,如上所述,用户可以提供一个与预先存入值进行比较的访问代码。然而,使用的具体授权技术不是本发明的实质方面,可以选择应用其它技术。例如,可以要求用户插入一张有效的密钥卡或其它硬件保密卡。在其它选择中,可以检查用户的一些物理属性,例如指纹,以便确认所述用户已被授权。
如果用户没有通过授权检查(判定模块209中的“NO”路径),就调整动态授权数据Md_auth,这时,失败尝试计数器(TryCnt)加1(步骤211),因此它表示已经进行了另一次失败的尝试。由于第二个动态审查散列值S’d是失败尝试计数器的函数,所以它也将重新计算并存回到存储器中(步骤213)。
如果用户通过了授权检查(判定模块209中的“YES”路径),那么,就允许修改动态数据对象Md(步骤215)。在所述修改之后,由于它是动态数据对象Md的函数,所以重新计算第一动态审查散列值Sd并存回到存储器中(步骤217)。在某些实施例中,最好第二动态审查散列值S’d不仅是动态授权数据的函数、而且也是动态数据对象Md的函数。这可能是有用的,例如,它将使恶意的用户确定动态授权数据和第二动态审查散列值之间的映射更加困难。在这种情况下,或者如果TryCnt被调整(例如,复位到初始值),那么,每当对动态数据对象Md进行授权的修改,第二动态审查散列值S’d就需要重新计算并且将结果存回到存储器中(选择步骤219)。
上述技术仅仅是参照本发明所有实施例的许多可能的实施例中的一个。例如,在确定用户是否授权进行修改之前对动态数据对象Md和动态授权数据Md_auth的完整性进行检查不是必不可少的。可以产生另一个实施例,在所述实施例中,完整性的检查可以在进行确定用户所需的修改前的那一刻执行,例如,在用户已经证明自己被授权之后、或者在发现TryCnt还没有达到其预定限制之后而用户已经证明自己被授权之前。
上述技术可以用一些不同方法实现。下面将结合图3的方框图说明第一个实施例。在所述系统中,包括处理电路300的ASIC通过系统总线307与快速程序存储器301、RAM 303和EEPROM 305互连。处理电路300包括微处理器309、定时器和控制器的逻辑电路311以及两种形式的存储器:PSRAM 313和IROM 315。IROM 315存储引导代码317以及在下面将更详细说明的其它数据。
现在将集中讨论本实施例与确保静态数据Ms完整性相关的那些方面,其中Ms与其它相关的静态审查散列值Ss一起存储在EEPROM305中。如前所述,静态审查散列值Ss由静态散列算法Hs产生,其程序代码319存储在IROM 315中。存储在EEPROM 305中的静态审查散列值Ss的值可以在系统外、在将静态数据Ms转移到EEPROM 305中之前产生,或者,在静态数据对象Ms首先转移到EEPROM 305时通过处理电路300产生。在后一种情况下,最好通过授权程序对访问执行散列算法Hs的程序代码319并且将其计算值存储到处理电路300外面的非易失性存储器(例如,EEPROM 305)中的能力进行控制。公用/专用密钥加密方案可用于此目的。程序代码323和用于授权程序的公开密钥321存储在处理电路300的IROM 315中。
如前所述,通过静态散列算法Hs计算的静态审查散列代码Ss的值不仅仅随使用哪一种静态散列算法而变而且与输入参数的值有关。可以以静态数据Ms的函数的形式严格计算Ss。但是,在本实施例中,最好还有防止复制的保护。为了实现这种保护,向静态散列算法Hs输入的参数为静态数据Ms和唯一的(或几乎是唯一的)静态参数,例如,上述参数SerNo。这可以表示为以下形式:
       Ss=Hs(Ms,SerNo)
SerNo的值可以在生产快速程序存储器301时存储到快速程序存储器301中,并要用不能改变其值的方法完成。
在静态审查散列值Ss被存储到EEPROM 305中后,执行静态散列算法Hs的程序代码319,无论何时都需要确保存储在EEPROM 305中的静态数据Ms不被修改。例如,这可以在定时器和控制器逻辑电路311的指导下定期地进行。将静态数据Ms和SerNo作为输入信号提供给静态散列算法Hs。新产生的绝不会出现在处理电路300外的静态审查散列值与存储在EEPROM 305中的静态审查散列值进行比较。任何不匹配都表示静态数据Ms被修改了。
现在,集中讨论包含在确保动态数据Md完整性的那些方面。动态数据对象Md与动态授权数据(此时为失败尝试计数器(TryCnt))、以及第一和第二动态审查散列值Sd和S’d一起存储在EEPROM 305中。其程序代码325存储在IROM 315中的单个动态散列算法Hd根据接收的输入参数计算预期的第一或第二动态审查散列值Sd或S’d。
在将动态数据Md转移到系统存储器(例如,EEPROM 305)中之前,可以在系统外面计算第一第二动态审查散列值Sd和S’d的初始值,或者当动态数据对象Md被转移到系统的存储器中、但是在静态数据对象Ms和Ss也已经保存之后,可以在处理电路300内计算。
通过动态散列算法Hd计算的第一动态审查散列值Sd的值是动态数据对象Md的函数,但最好不是失败尝试计数器值TryCnt的函数。在最佳实施例中,第一动态审查散列值Sd取决于Hd本身和Md以及Ss的值。这可以表示为以下形式:
          Sd=Hd(Md,Ss)
将可以看到,由于Ss是SerNo本身的函数,所以Sd也是SerNo的函数。
类似地,通过动态散列算法Hd来计算第二动态审查散列值S’d,后者至少是动态授权数据Md_auth的函数,在此情况下所述动态授权数据Md_auth是失败尝试计数器值TryCnt。然而,为了使保护方案更难反演,第二动态审查散列值S’d最好依赖于Hd本身和Md、SerNo以及TryCnt的值。这可以表示为以下形式:
    S’d=Hd(Md,SerNo,TryCnt)
为了表明其有效性,动态数据Md必须通过两种测试。一种测试是,保存的数据由处理电路300通过计算给定控制瞬间的期望的第一审查散列值来检查。把决不会出现在处理电路300外的所述计算值与预先存储在EEPROM 305中的第一动态审查散列值Sd进行比较。如果两个值相互不同,那么,表明动态数据Md已被修改。
在第二种测试中,存储的数据由处理电路300通过计算给定瞬间的期望的第二动态审查散列值来检查。把也决不会出现在处理电路300外的所述计算值与预先存储在EEPROM 305中的第二动态审查散列值S’d进行比较。同样,如果两个值相互不同,那么,表明动态数据Md已被修改。应当指出,即使第二动态审查散列值S’d不是动态数据对象Md的函数,所述不匹配也表示动态授权数据(例如,失败尝试计数器值TryCnt)被窜改。因此,也可以设想,动态数据对象Md已经在未授权的情况下被修改。
只有两种测试都成功地通过时动态数据对象Md才看作为可信的(即没有出现未授权的修改)。如果动态数据对象Md已被证实为可信的,那么,用户可以通过成功地完成访问过程来获得通向修改动态数据对象Md的权力的入口。在这里说明的示范性实施例中,访问过程包括用户通过输入设备,例如键盘(未示出),输入访问代码。期望的访问代码327以加密形式被存储在EEPROM 305中并且随后在处理电路300内利用秘密密钥Ke 329和解密算法进行加密,,所述解密算法的程序代码331存储在IROM 315中。
如果用户成功地完成了访问过程并修改了动态数据对象Md,那么,就执行动态散列算法325,计算第一和第二动态审查散列值Sd和S’d的新值。(在第二动态审查散列值不是动态数据对象Md的函数的实施例中,如果动态授权数据—例如,失败尝试计数器的值TryCnt—还没有被修改,那么,仅仅需要计算第一动态审查散列值的新值。)然后,将这些新值存储到EEPROM 305中,供以后的动态数据完整性检查使用。如前所述,由于用户已经确认,他或她被授权,因而没有恶意,因此总线307上的这些值的表示被看作是安全的。
如果用户的访问尝试失败了,就需要修改存储在EEPROM 305中的动态授权数据(在本实施例中为失败尝试计数器TryCnt)。在进行这种修改时,由于S’d是TryCnt的函数,所以,保存的第二动态审查散列值S’d将不再有效。因此,必须执行动态散列算法Hd以便重新计算第二动态审查散列值S’d的新值。然后,将所述新值存入EEPROM305中。在进行这些操作时,把第二动态审查散列值S’d送入总线307,因此有可能把第二动态审查散列值暴露给恶意用户,由于他或她仍将没有足够的信息指明如何可以计算第一动态审查散列值Sd,这时,用户将没有足够的信息去确定如何绕过动态数据完整性检查机制。由于第一和第二动态审查散列值都需要成功地完成动态数据完整性检查机制,因此系统是安全的。
在图4的方框图中说明了本发明的可供选择的实施例。在所述实施例中,与使用秘密密钥Ke相关联的有价值的加密配置方案避免使用公用/专用密码系统保护访问代码。所述实施例不同于图3所示的实施例之处在于:第二公开密钥401存储在IROM 215中。允许将第二公开密钥401存储在IROM 215中是第二公开密钥401的公开特征。相反,保持图3的秘密密钥Ke 329的秘密需要将所述密钥存储在安全的不希望读出的地方。
可以在不泄漏由生产厂家使用的匹配的秘密密钥的的情况下使第二公开密钥401成为公开的。因此,在所述实施例中,有可能避免为安全地存储秘密密钥需要的昂贵技术。
一种系统和方法(例如,在美国专利No.4405829的中公开的)可以用来有效地对图4所示实施例的访问系统进行加密。美国专利No.4405829通过引用而被全部包括在本文中。
由于要求使用非标准的处理电路(例如,所述电路不仅包括标准的微处理器,而且还包括特殊的程序代码和存储在ASIC的IROM中的参数),上述实施例可能要承担一些附加的费用才能实现。在图5的方框图中说明的另一个可选择的实施例中可避免所述成本。在所述实施例中,所有的程序代码和与静态和动态数据完整性机制相关联的参数都存储在快速程序存储器501中,而不是IROM 315中。为了消除恶意用户在快速程序存储器中对所述数据进行简单编程的可能性,在编程后,应对快速程序存储器的内容使用部分冻结或琐定(即设置为非重编程的)功能。在图5中,示出了存储在快速程序存储器501的可锁定部分503中的所述程序代码和相关参数。
已经参考具体的实施例对本发明进行了说明。但是,本专业的技术人员将容易明白,用特殊形式而不是上述最佳实施例能够实现本发明。可以在不脱离本发明精神的情况下这样做。最佳实施例仅仅是说明,并没有考虑任何限制。本发明的范围由所附权利要求书限定,而不是前面的描述,所有属于所述权利要求书范围内的修改和等价内容都包括在内。

Claims (36)

1.一种确保动态数据对象完整性的方法,所述动态数据对象包括一个或多个数据项,所述方法包括:
将所述动态数据对象存入存储器中;
将动态授权数据存入所述存储器中;
应用第一动态散列算法、从包括所述动态数据对象的一个或多个参数产生初始的第一动态审查散列值;
应用第二动态散列算法、从包括所述动态授权数据的一个或多个参数产生初始的第二动态审查散列值;
将所述初始的第一动态审查散列值存入所述存储器中;
将所述初始的第二动态审查散列值存入所述存储器中;
确定用户是否被授权修改所述动态数据对象;
如果用户未被授权修改所述动态数据对象,那么:
调整所述动态授权数据;
将所述调整后的动态授权数据存入所述存储器中;
应用第二动态散列算法、从包括所述调整后的动态授权数据的一个或多个参数产生调整后的第二动态审查散列值;以及
将所述调整后的第二动态审查散列值存入所述存储器中;以及
如果用户被授权修改动态数据对象,那么:
允许用户修改所述动态数据对象;
将所述修改后的动态数据对象存入所述存储器中;
应用第一动态散列算法、从包括所述修改后的动态数据对象的一个或多个参数产生调整后的第一动态审查散列值;以及
将所述调整后的第一动态审查散列值存入所述存储器中。
2.如权利要求1所述的方法,其特征在于:所述从其中产生所述第二动态审查散列值的一个或多个参数还包括与所述动态数据对象有关的参数;以及
所述方法还包括:
如果用户被授权修改所述动态数据对象,那么:
利用所述第二动态散列算法,从包括所述修改后的动态数据对象、预先确定的值以及静态参数的一个或多个参数产生调整后的第二动态审查散列值;以及
将所述调整后的第二动态审查散列值存入所述存储器中。
3.如权利要求1所述的方法,其特征在于还包括:
在允许所述用户修改所述动态数据对象之前,确定所述动态数据对象是否为未授权的修改结果,其中,进行所述确定的方法是:
利用所述第一动态散列算法、从包括所述动态数据对象的所述一个或多个参数产生期望的第一动态审查散列值;
应用第二动态散列算法、从包括所述动态授权数据的所述一个或多个参数产生期望的第二动态审查散列值;
将所述期望的第一动态审查散列值与存储在所述存储器中的所述初始的第一动态审查散列值进行比较,如果所述期望的第一动态审查散列值与存储在所述存储器中的所述初始的第一动态审查散列值不匹配,则表明所述动态数据对象是未授权的修改结果;以及
将所述期望的第二动态审查散列值与存储在所述存储器中的所述初始的第二动态审查散列值进行比较,如果所述期望的第二动态审查散列值与存储在所述存储器中的所述初始的第二动态审查散列值不匹配,则表明所述动态数据对象是未授权的修改结果。
4.如权利要求3所述的方法,其特征在于:所述动态数据对象是否为未授权的修改结果的所述确定是在确定所述用户是否被授权修改所述动态数据对象之前进行的。
5.如权利要求1所述的方法,其特征在于:所述第一动态散列算法与第二动态散列算法相同。
6.如权利要求1所述的方法,其特征在于:所述动态授权数据包括失败尝试计数器值,后者表示为获得修改所述动态数据对象的授权已经进行了多少次失败尝试。
7.如权利要求1所述的方法,其特征在于:
所述方法在第一设备中实现;以及
从其中产生所述第一动态审查散列值的所述一个或多个参数还包括静态参数。
8.如权利要求7所述的方法,其特征在于:所述静态参数是把所述第一设备与第二设备区别开的序列号。
9.如权利要求8所述的方法,其特征在于:从其产生中所述第二动态审查散列值的所述一个或多个参数还包括静态参数。
10.如权利要求1所述的方法,其特征在于:
所述方法在第一设备中实现;以及
从其中产生所述第二动态审查散列值的所述一个或多个参数还包括静态参数。
11.如权利要求10所述的方法,其特征在于:所述静态参数是把所述第一设备与第二设备区别开的序列号。
12.如权利要求1所述的方法,其特征在于:从其中产生所述第一动态审查散列值的所述一个或多个参数还包括通过静态散列算法产生作为静态数据对象的函数的静态审查散列值。
13.如权利要求12所述的方法,其特征在于:所述静态散列算法与所述第一动态散列算法相同。
14.如权利要求13所述的方法,其特征在于:所述第一动态散列算法与所述第二动态散列算法相同。
15.如权利要求1所述的方法,其特征在于:确定所述用户是否被授权修改所述动态数据对象的操作包括:
接收所述用户的访问代码;以及
确定所述访问代码是否为授权的访问代码。
16.如权利要求15所述的方法,其特征在于:所述确定访问代码是否为授权的访问代码的操作包括:
从存储器检索加密的授权访问代码;
将所述加密的授权访问代码解密;以及
将所述解密的授权访问代码与从所述用户接收到的所述访问代码比较。
17.如权利要求15所述的方法,其特征在于:所述确定访问代码是否为授权的访问代码的操作包括:
从存储器检索被加密的授权访问代码;
对从所述用户接收到的所述访问代码加密;以及
将所述检索的加密的授权访问代码与从所述用户接收到的加密的访问代码进行比较。
18.一种确定存储在存储器中的动态数据对象是否为未授权修改结果的方法,所述方法包括:
从所述存储器检索初始的第一动态审查散列值;
从所述存储器检索初始的第二动态审查散列值;
应用第一动态散列算法、从包括所述动态数据对象的一个或多个参数产生期望的第一动态审查散列值;
应用第二动态散列算法、从包括所述动态授权数据的一个或多个参数产生期望的第二动态审查散列值;
将所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值进行比较,如果所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值不匹配,那么,表明所述动态数据对象是未授权的修改结果;以及
将所述期望的第二动态审查散列值与从所述存储器中检索的所述初始的第二动态审查散列值进行比较,如果所述期望的第二动态审查散列值与从所述存储器中检索的所述初始的第二动态审查散列值不匹配,那么,表明所述动态数据对象是未授权的修改结果。
19.一种用于确保包括一个或多个动态数据项的动态数据对象完整性的装置,所述装置包括:
将所述动态数据对象存入存储器的逻辑部件;
将动态授权数据存入所述存储器的逻辑部件;
应用第一动态散列算法、从包括所述动态数据对象的一个或多个参数产生初始的第一动态审查散列值的逻辑部件;
应用第二动态散列算法、从包括所述动态授权数据的一个或多个参数产生初始的第二动态审查散列值的逻辑部件;
将所述初始的第一动态审查散列值存入所述存储器的逻辑部件;
将所述初始的第二动态审查散列值存入所述存储器的逻辑部件;
确定用户是否被授权修改所述动态数据对象的逻辑部件;
如果所述用户未被授权修改所述动态数据对象、则执行以下操作的逻辑部件:
调整所述动态授权数据;
将所述调整后的动态授权数据存入所述存储器中;
应用第二动态散列算法、从包括所述调整后的动态授权数据的一个或多个参数产生调整后的第二动态审查散列值;以及
将所述调整后的第二动态审查散列值存入所述存储器中;以及
如果所述用户被授权修改所述动态数据对象,则执行以下操作的逻辑部件:
允许所述用户修改所述动态数据对象;
将所述修改后的动态数据对象存入所述存储器中;
应用所述第一动态散列算法、从包括所述修改后的动态数据对象的一个或多个参数产生调整后的第一动态审查散列值;以及
将所述调整后的第一动态审查散列值存入所述存储器中。
20.如权利要求19所述的装置,其特征在于:从其中产生所述第二动态审查散列值的所述一个或多个参数还包括与所述动态数据对象有关的参数;以及
所述装置还包括:
如果所述用户被授权修改所述动态数据对象,则执行以下操作的逻辑部件:
应用所述第二动态散列算法、从包括所述修改后的动态数据对象、预先确定的值以及静态参数的一个或多个参数产生调整后的第二动态审查散列值;以及
将所述调整后的第二动态审查散列值存入所述存储器中。
21.如权利要求19所述的装置,其特征在于还包括:
逻辑部件,它在允许所述用户修改所述动态数据对象之前运行、以便确定所述动态数据对象是否为未授权的修改结果,其中,执行所述确定操作的步骤如下:
应用所述第一动态散列算法、从包括所述动态数据对象的所述一个或多个参数产生期望的第一动态审查散列值;
应用所述第二动态散列算法,从包括所述动态授权数据的所述一个或多个参数产生期望的第二动态审查散列值;
将所述期望的第一动态审查散列值与存储在所述存储器中的所述初始的第一动态审查散列值进行比较,如果所述期望的第一动态审查散列值与存储在所述存储器中的所述初始的第一动态审查散列值不匹配,那么,表明所述动态数据对象是未授权的修改结果;以及
将所述期望的第二动态审查散列值与存储在所述存储器中的所述初始的第二动态审查散列值进行比较,如果所述期望的第二动态审查散列值与存储在所述存储器中的所述初始的第二动态审查散列值不匹配,那么,表明所述动态数据对象是未授权的修改结果。
22.如权利要求21所述的装置,其特征在于:所述动态数据对象是否为未授权的修改结果的确定是在确定所述用户是否被授权修改所述动态数据对象之前进行的。
23.如权利要求19所述的装置,其特征在于:所述第一动态散列算法与所述第二动态散列算法相同。
24.如权利要求19所述的装置,其特征在于:所述动态授权数据包括失败尝试计数器值,后者表示为获得修改所述动态数据对象的授权已经进行了多少次失败尝试。
25.如权利要求19所述的装置,其特征在于:
所述装置在第一设备中实现;以及
从其中产生所述第一动态审查散列值的所述一个或多个参数还包括静态参数。
26.如权利要求25所述的装置,其特征在于:所述静态参数是将所述第一设备与第二设备区别开的序列号。
27.如权利要求26所述的装置,其特征在于:从其中产生所述第二动态审查散列值的所述一个或多个参数还包括所述静态参数。
28.如权利要求19所述的装置,其特征在于:
所述装置在第一设备中实现;以及
从其中产生所述第二动态审查散列值的所述一个或多个参数还包括静态参数。
29.如权利要求28所述的装置,其特征在于:所述静态参数是将所述第一设备与第二设备区别开的序列号。
30.如权利要求19所述的装置,其特征在于:从其中产生所述第一动态审查散列值的所述一个或多个参数还包括静态审查散列值,所述静态审查散列值是通过静态散列算法、作为静态数据对象的函数产生的。
31.如权利要求30所述的装置,其特征在于:所述静态散列算法与所述第一动态散列算法相同。
32.如权利要求31所述的装置,其特征在于:所述第一动态散列算法与所述第二动态散列算法相同。
33.如权利要求19所述的装置,其特征在于:确定所述用户是否被授权修改所述动态数据对象的所述逻辑部件包括:
从所述用户接收访问代码的逻辑部件;以及
确定所述访问代码是否为授权的访问代码的逻辑部件。
34.如权利要求33所述的装置,其特征在于:确定所述访问代码是否为所述授权的访问代码的所述逻辑部件包括:
从存储器检索加密的授权访问代码的逻辑部件;
对所述加密的授权访问代码进行解密的逻辑部件;以及
将所述解密的授权访问代码与从所述用户接收到的所述访问代码进行比较的逻辑部件。
35.如权利要求33所述的装置,其特征在于:确定所述访问代码是否为所述授权的访问代码的所述逻辑部件包括:
从存储器检索加密的授权访问代码的逻辑部件;
对从所述用户接收到的所述访问代码加密的逻辑部件;以及
将所述检索的加密的授权访问代码与从所述用户接收到的所述加密的访问代码进行比较的逻辑部件。
36.一种用于确定存储在存储器中的动态数据对象是否为未授权的修改结果的装置,所述装置包括:
从存储器中检索初始的第一动态审查散列值的逻辑部件;
从存储器中检索初始的第二动态审查散列值的逻辑部件;
应用第一动态散列算法从包括所述动态数据对象的一个或多个参数产生期望的第一动态审查散列值的逻辑部件;
应用第二动态散列算法从包括所述动态授权数据的一个或多个参数产生期望的第二动态审查散列值的逻辑部件;
将所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值进行比较、如果所述期望的第一动态审查散列值与从所述存储器中检索的所述初始的第一动态审查散列值不匹配、则指示所述动态数据对象是未授权的修改结果的逻辑部件;以及
将所述期望的第二动态审查散列值与从所述存储器中检索的初始的第二动态审查散列值进行比较、如果所述期望的第二动态审查散列值与从所述存储器中检索的所述初始的第二动态审查散列值不匹配、则指示所述动态数据对象是未授权的修改结果的逻辑部件。
CNB018162185A 2000-09-26 2001-09-25 保护静态和动态数据免遭未授权操作的系统 Expired - Lifetime CN1210637C (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US23493500P 2000-09-26 2000-09-26
US60/234,935 2000-09-26
US09/951,676 US7043636B2 (en) 2000-09-26 2001-09-14 Data integrity mechanisms for static and dynamic data
US09/951,676 2001-09-14

Publications (2)

Publication Number Publication Date
CN1466710A CN1466710A (zh) 2004-01-07
CN1210637C true CN1210637C (zh) 2005-07-13

Family

ID=26928409

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018162185A Expired - Lifetime CN1210637C (zh) 2000-09-26 2001-09-25 保护静态和动态数据免遭未授权操作的系统

Country Status (9)

Country Link
US (1) US7043636B2 (zh)
EP (1) EP1325401B1 (zh)
CN (1) CN1210637C (zh)
AT (1) ATE355551T1 (zh)
AU (1) AU2002212279A1 (zh)
DE (1) DE60126968T2 (zh)
ES (1) ES2278793T3 (zh)
MY (1) MY127742A (zh)
WO (1) WO2002027441A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7043636B2 (en) 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
US20030159047A1 (en) * 2000-09-26 2003-08-21 Telefonaktiebolaget L M Ericsson (Publ) Method of securing and exposing a logotype in an electronic device
JP3980327B2 (ja) * 2001-11-01 2007-09-26 富士通株式会社 改ざん検出システム、改ざん検出方法、およびプログラム
US20030188180A1 (en) * 2002-03-28 2003-10-02 Overney Gregor T. Secure file verification station for ensuring data integrity
EP1509830A2 (en) * 2002-05-02 2005-03-02 Shieldip, Inc. Method and apparatus for protecting information and privacy
GB0212318D0 (en) * 2002-05-28 2002-07-10 Symbian Ltd Tamper evident removable media storing executable code
US7296156B2 (en) * 2002-06-20 2007-11-13 International Business Machines Corporation System and method for SMS authentication
US20040003265A1 (en) * 2002-06-26 2004-01-01 International Business Machines Corporation Secure method for BIOS flash data update
WO2004006071A1 (en) * 2002-07-02 2004-01-15 Telefonaktiebolaget Lm Ericsson (Publ) Method of securing and exposing a logotype in an electronic device
US7877607B2 (en) * 2002-08-30 2011-01-25 Hewlett-Packard Development Company, L.P. Tamper-evident data management
JP2004302921A (ja) * 2003-03-31 2004-10-28 Toshiba Corp オフライン情報を利用したデバイス認証装置及びデバイス認証方法
JP4036838B2 (ja) * 2004-03-12 2008-01-23 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュリティ装置、情報処理装置、セキュリティ装置が実行する方法、情報処理装置が実行する方法、該方法を実行させるための装置実行可能なプログラムおよびチケット・システム
US7287159B2 (en) * 2004-04-01 2007-10-23 Shieldip, Inc. Detection and identification methods for software
JP4783112B2 (ja) * 2005-10-11 2011-09-28 株式会社日立製作所 署名履歴保管装置
US7681050B2 (en) * 2005-12-01 2010-03-16 Telefonaktiebolaget L M Ericsson (Publ) Secure and replay protected memory storage
US8356178B2 (en) * 2006-11-13 2013-01-15 Seagate Technology Llc Method and apparatus for authenticated data storage
US20080134321A1 (en) * 2006-12-05 2008-06-05 Priya Rajagopal Tamper-resistant method and apparatus for verification and measurement of host agent dynamic data updates
TWI402715B (zh) * 2007-03-23 2013-07-21 Via Tech Inc 應用程式保護系統及方法
US8209550B2 (en) * 2007-04-20 2012-06-26 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for protecting SIMLock information in an electronic device
US9497028B1 (en) 2007-05-03 2016-11-15 Google Inc. System and method for remote storage auditing
US8074103B2 (en) * 2007-10-19 2011-12-06 Oracle International Corporation Data corruption diagnostic engine
EP2071898A1 (en) * 2007-12-10 2009-06-17 Telefonaktiebolaget LM Ericsson (publ) Method for alteration of integrity protected data in a device, computer program product and device implementing the method
US20090193265A1 (en) * 2008-01-25 2009-07-30 Sony Ericsson Mobile Communications Ab Fast database integrity protection apparatus and method
FR2930065A1 (fr) * 2008-04-11 2009-10-16 Thales Sa Procede de securisation de donnees d'une carte a puce
US9348790B2 (en) * 2011-04-01 2016-05-24 Facebook, Inc. Method for efficient use of content stored in a cache memory of a mobile device
US9559868B2 (en) 2011-04-01 2017-01-31 Onavo Mobile Ltd. Apparatus and methods for bandwidth saving and on-demand data delivery for a mobile device
US20140173294A1 (en) * 2012-12-14 2014-06-19 Broadcom Corporation Techniques for emulating an eeprom device
US20150292985A1 (en) * 2014-04-11 2015-10-15 Stride Tool, Inc. Smart hvac manifold system
US9690922B2 (en) * 2014-07-28 2017-06-27 Avago Technologies General Ip (Singapore) Pte. Ltd. System, apparatus, and method for anti-replay protection of data stored in a non-volatile memory device
US10015015B1 (en) * 2014-09-30 2018-07-03 EMC IP Holding Company LLC Method and apparatus for verifying system log integrity
US10223294B2 (en) * 2015-09-01 2019-03-05 Nxp Usa, Inc. Fast secure boot from embedded flash memory
CN108234491B (zh) * 2018-01-02 2021-01-01 武汉斗鱼网络科技有限公司 协议关联验证方法、装置及电子设备
US10693641B2 (en) * 2018-01-12 2020-06-23 Blackberry Limited Secure container based protection of password accessible master encryption keys
CN111417926A (zh) * 2018-12-13 2020-07-14 深圳市大疆软件科技有限公司 无人飞行器及其固件升级方法
US11907402B1 (en) 2021-04-28 2024-02-20 Wells Fargo Bank, N.A. Computer-implemented methods, apparatuses, and computer program products for frequency based operations

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4405829A (en) 1977-12-14 1983-09-20 Massachusetts Institute Of Technology Cryptographic communications system and method
US4748668A (en) 1986-07-09 1988-05-31 Yeda Research And Development Company Limited Method, apparatus and article for identification and signature
US5442645A (en) 1989-06-06 1995-08-15 Bull Cp8 Method for checking the integrity of a program or data, and apparatus for implementing this method
EP0485462B1 (en) * 1989-08-01 1998-09-09 Silicon Graphics, Inc. File alteration monitor for computer operating and file management systems
US5050212A (en) * 1990-06-20 1991-09-17 Apple Computer, Inc. Method and apparatus for verifying the integrity of a file stored separately from a computer
US5606609A (en) * 1994-09-19 1997-02-25 Scientific-Atlanta Electronic document verification system and method
US5629980A (en) * 1994-11-23 1997-05-13 Xerox Corporation System for controlling the distribution and use of digital works
US5606315A (en) 1994-12-12 1997-02-25 Delco Electronics Corp. Security method for protecting electronically stored data
US5689565A (en) 1995-06-29 1997-11-18 Microsoft Corporation Cryptography system and method for providing cryptographic services for a computer application
EP0753816A1 (en) 1995-07-07 1997-01-15 Thomson Consumer Electronics, Inc. A method and apparatus for storing sensitive information securely in a relatively insecure storage medium
US5933851A (en) * 1995-09-29 1999-08-03 Sony Corporation Time-stamp and hash-based file modification monitor with multi-user notification and method thereof
US6467085B2 (en) 1995-10-17 2002-10-15 Telefonaktiebolaget L M Ericsson (Publ) System and method for reducing coupling in an object-oriented programming environment
US5774545A (en) 1996-03-28 1998-06-30 Lucent Technologies Inc. Method and apparatus for enhancing security in and discouraging theft of VLSI and ULSI devices
US5802592A (en) 1996-05-31 1998-09-01 International Business Machines Corporation System and method for protecting integrity of alterable ROM using digital signatures
US6026293A (en) 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
WO1998019239A1 (en) 1996-10-25 1998-05-07 Raytheon Systems Canada Ltd. Distributed virtual software interface or machine
US5949882A (en) 1996-12-13 1999-09-07 Compaq Computer Corporation Method and apparatus for allowing access to secured computer resources by utilzing a password and an external encryption algorithm
AUPO704097A0 (en) 1997-05-29 1997-06-19 Griffits, John Philip Priority display of advertising on a personal computer
US5919257A (en) 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
JP4565740B2 (ja) 1997-12-12 2010-10-20 アルカテル・ユー・エス・エイ・ソーシング、エル・ピー ネットワークマネージメント
US6098079A (en) * 1998-04-02 2000-08-01 Mitsubishi Electric Information Technology Center America, Inc. (Ita) File version reconciliation using hash codes
US6285985B1 (en) 1998-04-03 2001-09-04 Preview Systems, Inc. Advertising-subsidized and advertising-enabled software
US6808111B2 (en) 1998-08-06 2004-10-26 Visa International Service Association Terminal software architecture for use with smart cards
US6463535B1 (en) 1998-10-05 2002-10-08 Intel Corporation System and method for verifying the integrity and authorization of software before execution in a local platform
EP1169679A2 (en) 1999-04-12 2002-01-09 Silanis Technology Inc. Secure electronic document creation, approval and distribution method in an open and distributed network environment
US6373498B1 (en) 1999-06-18 2002-04-16 Phoenix Technologies Ltd. Displaying images during boot-up and shutdown
KR20000030060A (ko) 1999-06-23 2000-06-05 주진용 소프트웨어를 이용한 광고방법
US6467086B1 (en) 1999-07-20 2002-10-15 Xerox Corporation Aspect-oriented programming
JP2003527778A (ja) 1999-08-21 2003-09-16 ケント・リッジ・デジタル・ラブス 電子文書及びその印刷コピーの正当性保護
WO2001014960A2 (en) 1999-08-23 2001-03-01 Koninklijke Philips Electronics N.V. Generic interface for a software module
US6317659B1 (en) 1999-12-09 2001-11-13 Honeywell International Inc. Layered subsystem architecture for a flight management system
CA2403733C (en) 2000-03-20 2010-11-09 At&T Corp. Method for dynamically displaying brand information in a user interface
GB0011954D0 (en) 2000-05-17 2000-07-05 Univ Surrey Protocol stacks
US7139709B2 (en) 2000-07-20 2006-11-21 Microsoft Corporation Middleware layer between speech related applications and engines
US7043636B2 (en) 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
TW548535B (en) 2000-10-17 2003-08-21 Ericsson Telefon Ab L M Security system
US7353494B2 (en) 2000-10-26 2008-04-01 Microsoft Corporation System and method supporting configurable object definitions
US7536181B2 (en) 2002-02-15 2009-05-19 Telefonaktiebolaget L M Ericsson (Publ) Platform system for mobile terminals
US7415270B2 (en) 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals

Also Published As

Publication number Publication date
AU2002212279A1 (en) 2002-04-08
DE60126968D1 (de) 2007-04-12
ATE355551T1 (de) 2006-03-15
EP1325401B1 (en) 2007-02-28
EP1325401A1 (en) 2003-07-09
ES2278793T3 (es) 2007-08-16
MY127742A (en) 2006-12-29
CN1466710A (zh) 2004-01-07
US7043636B2 (en) 2006-05-09
US20020038429A1 (en) 2002-03-28
WO2002027441A1 (en) 2002-04-04
DE60126968T2 (de) 2007-07-05

Similar Documents

Publication Publication Date Title
CN1210637C (zh) 保护静态和动态数据免遭未授权操作的系统
AU2012205457B2 (en) System and method for tamper-resistant booting
US20200236097A1 (en) Message authentication with secure code verification
JP4912879B2 (ja) プロセッサの保護された資源へのアクセスに対するセキュリティ保護方法
US7694121B2 (en) System and method for protected operating system boot using state validation
US10771467B1 (en) External accessibility for computing devices
US10348706B2 (en) Assuring external accessibility for devices on a network
US20100023777A1 (en) System and method for secure firmware update of a secure token having a flash memory controller and a smart card
US20060107047A1 (en) Method, device, and system of securely storing data
US20060005046A1 (en) Secure firmware update procedure for programmable security devices
JP2007512787A (ja) トラステッド・モバイル・プラットフォーム・アーキテクチャ
CN1914849A (zh) 受信移动平台体系结构
Lee et al. A study on a secure USB mechanism that prevents the exposure of authentication information for smart human care services
AU2017412654B2 (en) Assuring external accessibility for devices on a network
US10970407B2 (en) Processes and related apparatus for secure access control
Rudd et al. Caliper: continuous authentication layered with integrated PKI encoding recognition
JP2024045374A (ja) 排他的自己エスクロー方法及び機器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term

Granted publication date: 20050713

CX01 Expiry of patent term