CN1097772C - 在安全存储区中保护应用程序数据的方法和装置 - Google Patents

在安全存储区中保护应用程序数据的方法和装置 Download PDF

Info

Publication number
CN1097772C
CN1097772C CN98108393A CN98108393A CN1097772C CN 1097772 C CN1097772 C CN 1097772C CN 98108393 A CN98108393 A CN 98108393A CN 98108393 A CN98108393 A CN 98108393A CN 1097772 C CN1097772 C CN 1097772C
Authority
CN
China
Prior art keywords
program
title
safety
place
dpn
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 - Fee Related
Application number
CN98108393A
Other languages
English (en)
Other versions
CN1203394A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1203394A publication Critical patent/CN1203394A/zh
Application granted granted Critical
Publication of CN1097772C publication Critical patent/CN1097772C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption
    • 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/2115Third party

Landscapes

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

Abstract

公开了一种用于验证程序可靠性并用于安全地将其验证过程已经被核对的已验证的应用程序与它们所拥有的永久应用程序数据相关联的方法、装置以及计算机程序产品。本发明可以防止其它应用程序,包括其验证过程已经被核对的已验证的应用程序,访问不属于它们的数据。

Description

在安全存储区中保护应用程序数据的方法和装置
技术领域
本发明涉及一种用于控制从非安全存储器中接收到的应用程序的可靠性以及当这种程序在计算机的安全环境中运行时为保持***的安全性而控制这种程序的数据访问的方法和装置。
技术背景
在数据处理***中使用装置和程序控制的方法来防止应用程序访问和修改存储器的保护区是操作***技术中已有的。例如Richard P.Jones的美国专利5,144,659和5,289,540。Jones以位于磁盘驱动器适配卡上的可编程辅助存储器和控制单元的形式公开了其硬件,所述磁盘驱动器适配卡用于监听控制逻辑、地址以及中央处理器和文件存储器之间的数据信号通路。一旦Jones***的硬件和相关软件安装之后,操作***就不再控制和访问文件***。在Jones***中辅助存储器存储所有合法文件的签名。文件签名只是简单的循环冗余校验码(CRC)。所述签名可以通过检测最后一次计算CRC之后文件是否被病毒修改来防止病毒的攻击。但是所述签名不能防止黑客的攻击,因为在修改程序之后计算CRC并将新的CRC添加到文件中非常简单。
最近,硬件中央处理器(CPU)自身具有特权等级,例如,在此基础上可以防止以级别3运行的应用程序直接访问具有级别0的内存段。在Advanced Micro Devices 1994年一月出版的《Am486微处理器软件用户手册》A-28页到A-34页中有一个例子。虽然这种电路防止级别3的应用程序直接对超级用户级的存储器空间寻址,但是当必须进行这样的访问时,微处理器并没有相应的机制来确定该应用程序为可靠的而且要访问的数据确实被分配给此可靠程序。
使用加密技术来确认用户身份和程序或ID卡的可靠性的技术是已知的。这一技术的一个例子是IBM的4755加密适配卡。然而,在当前技术的教导中没有说明应用程序从非安全数据源中装入时如何保护安全区中的永久数据。
在运行多个应用程序并能存储这些程序的长期数据的计算机***中,需要防止除了创建该存储区的程序以外的其它程序对该存储区进行访问。术语“其它程序”既包括完全不同的程序也包括试图假装成创建该存储区的程序。然而,所有程序的新版本必须能够访问该程序的旧版本所创建的数据区。
在这特定的情况中,数据在计算机内存中永久保存,而应用程序本身则不然。当不再需要此应用程序时它就被从内存中删除,当以后再一次需要时它们将被重新加载。每一应用程序使用的数据区保留在计算机中,存储在一永久媒体中并由计算机操作***管理。当应用程序重新加载时,它必须对它所拥有的数据进行访问,但是不允许它访问其它应用程序所拥有的数据。与此相似,并发操作的应用程序必须不能互相访问彼此的数据。从中重新加载应用程序的程序存储媒体不必进行任何方式的保护,所以必须对应用程序进行组织使得它们能在改动时进行保护,并使它们包含用于与它们数据区安全地关联的保护信息。
发明内容
本发明提供了一种能有效地确认从非安全区加载到安全区的应用程序的可靠性并且将经过确认的应用程序与永久内存中已存在在数据区相关联的方法和装置,从而克服了上面所述技术的缺点与限制。
一种允许将来自外部的已验证的应用程序加载到计算机的安全模块中并执行的方法,包括:
在可靠性集中验证时验证应用程序的可靠性;
在该应用程序将要加载和执行的计算机中进行应用程序的可靠性核对;
将该应用程序加载到计算机的安全模块中;
比较该应用程序的唯一名称与所存储的与永久数据区相关联的名称;
只有在该应用程序的唯一名称与所存储的与永久数据区相关联的名称的比较匹配时,才允许应用程序访问该永久数据区。
一种验证应用程序P的可靠性,以使应用程序P可以存储在安全区之外并可以加载到安全区中且在其中执行的方法,该方法包括:
为程序P选择一个唯一的名称N;
将名称N和程序P合并为一个单独的相邻的对象PN;
使用一个私有-公共密钥对算法中的私有密钥从PN中计算得到一数字签名DPN;
将该数字签名DPN附加到对象PN来获得一已验证的程序CP;
建立一对应于此私有-公共密钥对算法中私有密钥的公共密钥,该密钥在此程序P所要加载和执行的每一个安全区中都是可用的。
一种从外部存储器中将一个已验证的程序CP加载到一个安全区以在该安全区中执行的方法,该已验证的程序CP具有相关联的数字签名DPN,该方法包括:
请求驻留在安全区中的操作***加载一个程序CP;
将该程序CP从外部存储器中检索到处于操作***保护模式的内存中;
在安全区处于保护模式的内存中将数字签名DPN从已验证程序CP的对象PN中分离出来;
使用对应于用来产生DPN的私有-公共密钥对算法中私有密钥的公共密钥来确认该数字签名DPN是否为对象PN的合法签名;
将程序P从对象PN的名称N分离出来;
将程序P加载到内存中执行;
将程序名称N存储到保护的操作***内存中供以后用来允许程序P访问安全区的内存中的数据文件。
一种验证程序可靠性以使应用程序可以存储于安全区外部并可以加载到安全区中执行的装置,包括:
为程序P选择一唯一名称N的装置;
将名称N和程序P合并为一个单独的相邻的对象PN的装置;
使用一个私有-公共密钥对算法中的私有密钥从PN中计算数字签名DPN的装置;
将该数字签名DPN附加到对象PN来获得一个已验证的程序CP的装置;
分配对应于此私有-公共密钥对算法中私有密钥的公共密钥的装置,该密钥在此程序P所要加载和执行的每一个安全区中都是可用的。
一种从外部存储器中加载一个已验证的程序CP到一安全区以在该安全区中执行的装置,此已验证的程序CP具有附加的数字签名DPN,包括:
请求驻留在安全区中的操作***加载程序CP的装置;
将该程序CP从外部存储器中检索到处于操作***保护模式的内存中的装置;
在安全区的处于保护模式的内存中将数字签名DPN从已验证程序CP的对象PN中分离出来的装置;
使用对应于用来产生DPN的私有-公共密钥对算法中私有密钥的公共密钥来确认该数字签名是否为对象PN的合法签名的装置;
将程序P与对象PN的名称N分离出来的装置;
将程序P加载到内存中以执行的装置;
将程序名称N存储到操作***保护内存中供以后用来允许程序P访问安全区的内存中的数据文件的装置。
如权利要求6所述的装置,其特征在于,进一步包括:
在操作***中接收程序P对一数据对象的访问请求的装置;
从处于保护模式的内存中获得程序P的名称N的装置;
从数据对象D中获得其拥有者名称n的装置;
将名称N和拥有者名称n进行比较的装置;
当名称N和拥有者名称n匹配时授权程序P访问数据对象D以及当名称N和拥有者名称n不匹配时不允许程序P访问数据对象D的装置。
所发明的永久数据区安全访问控制的一个优点是可以从一非安全区中加载应用程序并且该应用程序能得到对永久数据的访问而不会造成对安全的妨害。
本发明的另一个优点是当允许一个甚至没有驻留在永久存储器中的应用程序访问数据时可以利用处理器的特权优先级来保护永久数据。
下面对本发明更加详细的说明将使读者对这些优点以及其它的优点更加明了。
附图说明
附图1是本发明在其中发挥作用的计算机***的框图。
附图2是根据本发明改进的操作***的框图。
附图3是根据本发明的应用程序验证过程的流程图。
附图4是根据本发明加载并核对应用程序的流程图。
附图5是应用程序对一数据区进行访问的流程图。
具体实施方式
现在参看附图1,为了在一个特定实施例的环境中说明本发明,说明了一个典型的个人计算机结构,如在许多IBM个人计算机中采用的配置。本发明同样可以用于其它数字计算机结构,如小型机和大型机环境以及计算机本地和广域网环境。它只要求计算机在物理上是安全的,能够防止攻击者探察并改变该计算机的电路。在计算机自身在物理上不安全的情况下本发明的实施例可以采用具有美国专利5,159,629和5,027,397中所说明的具有安全模型13的安全卡11。
个人计算机结构的处理部件是微处理器15,例如INTEL的80486、Pentium以及其它相似的微处理器。微处理器15连到总线17上,总线17包括一组数据线、一组地址线以及一组控制线。包括内存以及存储设备的若干I/O设备通过各自的适配器连到总线17。这些I/O设备可以是个人计算机的标准件,也可以是可选的插件。例如,这些设备可以包括一个通过图形适配卡21连接的彩色显示器19、通过适配器25连接的键盘23以及通过一已知的用于IBM计算机和IBM兼容机的SCSI适配器29连接的硬盘驱动器27等。其它设备也同样作为个人计算机的一部分包括在其中或是作为可选插件可以从IBM公司或其它供应商处得到。
随机访问存储器(RAM)31和只读存储器(ROM)33作为个人计算机的标准配件包含在其中,而且辅助随机访问存储器作为RAM31的补充可以通过一可选扩展存储器插件来添加。
ROM33中存储了许多指令,即是基本的输入/输出操作***,或BIOS,这些指令通过微处理器15来执行。BIOS控制计算机的基本I/O操作。一个操作***如IBM公司的通常与IBM个人计算机一起使用的IBMOS/2操作***,被加载到RAM31并与存储在ROM33中的BIOS一起运行。本领域的技术人员可以理解个人计算机***可以进行设置,将BIOS的一部分或是全部都存储到RAM31中而不是ROM 33中,这样就可以允许通过对可加载到RAM 31中的BIOS程序进行修改来改动基本***操作。同样地,存储在RAM31中的程序、数据以及知识表示可以存储到ROM33中。
如附图1所示,实现本发明的方法的程序35通过刻录到光盘37或其它的媒体中作为制造商的产品得到有利的实施。媒体37可以用通过适配器41与总线相连的读入设备39来读取。进一步来说,可以通过在RAM31、ROM33或者两者的组合或是DASD27中存储程序35的可执行指令将该程序具体化成一特殊功能装置,微处理器15可以通过适配器29进行访问并执行。
除了与主微处理器15一起使用外,本发明还可以在特殊用途设备如保密卡11中有效地使用,也就是上面提及的与总线17相连的加密卡11。另一方面,具体实施本发明的方法的程序35可以通过将其可执行代码存储在RAM53或ROM55或是两者的组合或是如上面所述的从DASD27中加载到RAM53中来作为一特殊用途装置实现。加密卡11还包含一加密处理模块57用来有效地执行诸如数据加密标准(DES)算法、RSA(RivestShamir & Adleman)算法等可用的算法。
本发明的最佳实施例被合并到操作***中并成为操作***中的一部分,如附图2中以框图形式说明的IBM OS/2操作***。为了简化说明,本发明将作为安全加密卡11的一部分来具体加以说明,同样如附图1所示,一个依照本发明的已确认的应用程序的非安全应用程序源为DASD27。
在附图2中,操作***核心101在框图的中间部分。核心101实现许多用于允许在计算机中有效地编写和运行应用程序的***控制功能。
为应用程序分配内存是操作***所完成的最重要的控制功能之一。如1983年出版的Ed Iacobucci所著的《OS/2编程指南》中第四章内存管理中所说明的,OS/2操作***为每一个应用程序分配局部地址空间并将此局部地址空间根据局部描述符表映射到实际内存中。
所以,存储器段与应用程序自然地独立开来。也就是说,分配给一个应用程序的存储段对其它应用程序来说是不可见、不可修改的。
当应用程序和它对应的数据区只是短期地存在于内存中,并且每次加载一个应用程序到内存中都要建立局部描述符表并分配新的内在时,操作***所使用的上述方法在Intel 80286及更高级微处理器中可以很好地工作。当数据区必须保存在一永久存储器如闪速存储器中时,必须提供其它的方法来为一可靠性已经得到确认并已经重新加载到内存中的应用程序安全地重新分配连续的存储区。
在执行例如从一DASD设备中加载的应用程序之前,由于应用程序在安全环境之外,必须对它的可靠性进行确认。否则,有可能将一个冒名顶替的应用程序加载进来,该冒名顶替的应用程序可能会攻击安全环境。而且,为加载的程序重新分配连续的存储区时必须保持独立,并且不能允许将其它应用程序的存储区分配给此新加载的程序。
可靠性核对在加载设备111中依照本发明由首先进行的应用程序验证以及在它们加载到安全存储区之前的应用程序核对来完成。而实现独立的过程是由安全相关数据元素(SRDI)根据本发明通过对数据区表中的标志字段和应用程序标志进行比较来完成。数据区表由操作***的一个新的改进措施来进行维护,下面将再次参照附图2对该措施进行说明。
RAM53以及ROM55包括在安全模块13中,RAM53以及ROM55中包含有操作***,在本发明的加密卡版本中此操作***可能是OS/2的一个子集。核心101管理内存分配以及其它资源,如通过一DES资源管理器103管理数据加密标准算法(DES)以及通过一RSA资源管理器105管理Rivest Shamir & Adleman(RSA)。
一种永久内存如闪速存储器或依靠电池供电的内存在107处提供。107永久内存的实地址空间映射到全局描述符表,并从此可以为操作***所用,当使用内存107的应用程序在内存53中停止运行时也不会消失。将内存107中的地址分配给应用程序由本发明的SRDI管理器进行处理。
根据本发明的一个改进的程序加载设备提供于111处,其目的是为了从未保护的DASD113或其它未保护的外部媒体中载入或重新加载一个应用程序。
安全模型13中有理由为电路提供的物理保护,但此时从物理上来防止一个DASD设备受到攻击的代价或复杂性都是不实际的。因此,有必要确保一个从DASD27加载的应用程序没有被修改或替换为能对***进行攻击的一部分。这是由程序加载设备111使用操作***中可用的加密资源来完成的。
在一个应用程序加载和使用之前,由控制和确保***的安全性的计算机***的所有者或制造商或其它相应的中央部件来进行验证。验证工作是通过加密卡11的加密设备如附图3所示根据本发明完成的。
在附图3中,在框201中为程序A选择一个唯一的名字NA,并存储在框203中。该名字不必含有任何特殊字符,只要在将被验证的程序的名字域中是唯一的。名字NA以及程序PA作为205的输入在207中被合并成为单一、相邻的数据对象并存储在框209中。虽然还有其它可能的方法,但在最佳实施例中是通过将NA和PA连接在一起实现的。合并后的对象用PANA表示。
在框211中,用PANA计算一个散列值来得到H(PANA)。H(PANA)具有统一的长度,与PANA的大小无关。而且,公共密钥技术通常可以只将小于密钥系数大小,如一个典型的RSA密钥是1024位,的数据进行加密。
在框215中验证方要通过H(PANA)用在框213从安全永久存储器中得到的一个私有密钥KPR来计算数字签名DSIG。加密的结果就是此数字签名DSIG。KPR是一个公共/私有密钥对中的私有密钥。相应的公共密钥KPU在程序用KPR来验证的可靠性所要用到的每一计算机***中都是可用的。
数字签名的计算可以采用任何已知的技术,包括但并不限于数字签名算法RSA和DSA,以及散列算法SHA-1,MD5,MD4和MDC。
DSIG在框217中被附加到合并的程序/名称对象PANA中并存储在框219中。从而该数据签名可以在程序发送和加载到一计算机***中时与程序一起传输。最终发送的对象包括程序、名称和数字签名,即被称作已验证的程序A(CPA)。已验证的程序现在可以在框221中发送到具有一安全永久存储区和一依照本发明的操作***的最终用户的位置。
当依照本发明的操作***将一个程序加载到计算机***时,它通过核对所附的数字签名DSIG来核对程序本身以及程序名称的可靠性。如上面所说明的,公共密钥KPU在要用到程序PA的每一个计算机***中都是可用的。
参照附图4,当加载一个程序来运行时,计算机的操作***将依照本发明完成以下各步:
在框301中,已验证的程序对象CPA分成数字签名DSIG和合并的程序/名称对象PANA
依照下面各步,根据公共密钥KPU完成确认该数字签名是否该对象PANA中程序和名称的合法签名的工作。首先,在框303中使用公共密钥KPU将数字签名DSIG进行解密。如果数字签名确实是由相应的私有密钥所生成的,解密的结果应该是散列值H(PANA)′。
然后在框中用与验证过程中相同的方法计算散列值H(PANA)。在框307中对框303和305进行比较来看H(PANA)是否等于H(PANA)′。如果相等,数字签名核对并证明了PANA是由验证方时所形成的,并且能证明PANA没有被修改过。
如果该签名不正确,在框309中加载过程退出。如果签名正确,则在框311中将对象PANA分为程序PA和程序名NA。程序名NA保存在操作***存储器框313中的数据区分配表中,在其中除了操作***本身外的其它程序都不能对它进行修改。程序在框315中加载,并在框317中开始程序PA的执行。
所有程序占有的永久数据区由计算机的操作***进行管理。任何应用程序如果没有向操作***请求服务则都不能直接对它们进行访问。
当程序向操作***请求分配一个新的永久数据区时,操作***查找该程序的名称并将它以与永久数据区永久关联的方式存储。从而每一个永久数据区就附加有一永久、不可修改的拥有者名称域。
此后,当程序请求对一存在的数据区进行访问时,操作***核对请求的程序是该数据区的创建者,也就是该数据区的拥有者。它将加载时存储的程序名称与数据区本身所附加的拥有者名称进行比较。如果两者不是完全相同的话,程序将不会被允许对所请求的数据区进行访问。如果我们可以保证程序名称不能以任何方式伪造的话,这种机制就可以防止程序获得对任何其它程序的数据的访问。这种保证可以通过上面所述的程序验证和加载程序时的处理来提供。
可以理解,唯一的应用程序名称与数据区拥有者的名称的比较不必完全匹配,并且在一些***中,部分比较或全部的比较可以以更好的方式完成。例如,对于一组请求访问同一永久数据区并完成允许此访问的程序来说,所有的名称可以由性确认方指定为以相同的字母开始但以不同的后缀结束。一组XYZ系列程序可以包括XYZA、XYZB等等。在此例中,只要求名称中的XYZ部分与永久数据区的拥有者名称匹配。同样地,除了完全匹配之外,可以有其它的匹配方式进行补充而不会违背本发明的精神,如字符反序匹配以及其它的变化。
数据区访问控制在附图5的流程图中进行了举例说明,其中包括如下步骤。具有名称NA的应用程序A在框401中请求访问数据区D2。该请求在框409中随虚线表示的路径送到SRDI管理器109。SRDI管理器109寻找加载程序A时所保存的名称NA。SRDI管理器109接着检查与数据区D2相关联的拥有者名称。
SRDI管理器109在框405对这两个值进行比较,并在框407中发现请求者的名称(NA)与数据拥有者的名称(NA)相等,通过将数据区D2分配到程序A的局部描述符表来允许访问。
在实线表示的路径中,附图5还表示了试图访问其它程序拥有的数据区时的情况,此时将发生以下各步。具有名称NA的应用程序A在框402中请求访问数据区D1。该请求在框403中随实线表示的路径送到SRDI管理器。SRDI管理器寻找加载程序A时所保存的名称。同样该名称为NA。SRDI管理器接着检查与数据区D1相关联的拥有者名称,并且发现名称为NB。在框405中SRDI管理器对这两个值进行比较,既然请求者的名称(NA)不等于数据拥有者的名称(NA),则不分配内存所以访问被拒绝,从而程序A不能访问程序B拥有的数据。可以理解的是,虽然此最佳实施例中比较是采用完全相等的办法,为了匹配程序名和数据拥有者名称可以选用其它的比较方法。
可以理解的是,对永久存储器中的数据区的访问的允许可以通过上述的分配来完成或者是真正地从它的局部描述符表中分配的区域中将数据复制到保护级别为0的SRDI管理器,也就是RAM中的另一区域。此RAM中的区域由保护级别为0的SRDI管理器的局部描述符进行分配并通过应用程序的级别为3的局部描述符分配给发出请求的应用程序。
本发明提供了一种将安全区域中的永久数据与来自该安全区域之外的暂时应用程序相关联的安全的方法。当一个程序加载时,要对它的可靠性进行确认并自动地将程序与它所创建的数据区关联起来。任何程序不能获得对其它程序创建的任何数据区的访问。
当然,可以对本发明进行一些修改和适应来发挥其优势而不会背离本发明的精神。而且,本发明的一些特征的使用可以不必与其它特征的使用相一致。因此,本描述只应仅仅作为本发明原理的一个示例,而不应成为对它的限制。

Claims (7)

1.一种允许将来自外部的已验证的应用程序加载到计算机的安全模块中并执行的方法,包括:
在可靠性集中验证时验证应用程序的可靠性;
在该应用程序将要加载和执行的计算机中进行应用程序的可靠性核对;
将该应用程序加载到计算机的安全模块中;
比较该应用程序的唯一名称与所存储的与永久数据区相关联的名称;
只有在该应用程序的唯一名称与所存储的与永久数据区相关联的名称的比较匹配时,才允许应用程序访问该永久数据区。
2.一种验证应用程序(P)的可靠性,以使应用程序(P)可以存储在安全区之外并可以加载到安全区中且在其中执行的方法,该方法包括:
为程序(P)选择一个唯一的名称(N);
将名称(N)和程序(P)合并为一个单独的相邻的对象(PN);
使用一个私有-公共密钥对算法中的私有密钥从(PN)中计算得到一数字签名(DPN);
将该数字签名(DPN)附加到对象(PN)来获得一已验证的程序(CP);
建立一对应于此私有-公共密钥对算法中私有密钥的公共密钥,该密钥在此程序(P)所要加载和执行的每一个安全区中都是可用的。
3.一种从外部存储器中将一个已验证的程序(CP)加载到一个安全区以在该安全区中执行的方法,该已验证的程序(CP)具有相关联的数字签名(DPN),该方法包括:
请求驻留在安全区中的操作***加载一个程序(CP);
将该程序(CP)从外部存储器中检索到处于操作***保护模式的内存中;
在安全区处于保护模式的内存中将数字签名(DPN)从已验证程序(CP)的对象(PN)中分离出来;
使用对应于用来产生(DPN)的私有-公共密钥对算法中私有密钥的公共密钥来确认该数字签名(DPN)是否为对象(PN)的合法签名;
将程序(P)从对象(PN)的名称(N)分离出来;
将程序(P)加载到内存中执行;
将程序名称(N)存储到保护的操作***内存中供以后用来允许程序P访问安全区的内存中的数据文件。
4.如权利要求3所述的方法,其特征在于,进一步包括:
在操作***中检索程序(P)对一数据对象的访问请求;
从处于保护的内存中获得程序(P)的名称(N);
从数据对象(D)中获得其拥有者名称(n);
将名称(N)和拥有者名称(n)进行比较;
如果名称(N)和拥有者名称(n)匹配,则授权程序(P)访问数据对象(D);
如果名称(N)和拥有者名称(n)不匹配,则不允许程序(P)访问数据对象(D)。
5.一种验证程序可靠性以使应用程序可以存储于安全区外部并可以加载到安全区中执行的装置,包括:
为程序(P)选择一唯一名称(N)的装置;
将名称(N)和程序(P)合并为一个单独的相邻的对象(PN)的装置;
使用一个私有-公共密钥对算法中的私有密钥从(PN)中计算数学签名(DPN)的装置;
将该数字签名(DPN)附加到对象(PN)来获得一个已验证的程序(CP)  的装置;
分配对应于此私有-公共密钥对算法中私有密钥的公共密钥的装置,该密钥在此程序(P)所要加载和执行的每一个安全区中都是可用的。
6.一种从外部存储器中加载一个已验证的程序(CP)到一安全区在该安全区中执行的装置,此已验证的程序(CP)具有附加的数字签字(DPN),包括:
请求驻留在安全区中的操作***加载程序(CP)的装置;
将该程序(CP)从外部存储器中检索到处于操作***保护模式的内存中的装置;
在安全区的处于保护模式的内存中将数字签名(DPN)从已验证程序(CP)的对象(PN)中分离出来的装置;
使用对应于用来产生(DPN)的私有-公共密钥对算法中私有密钥的公共密钥来确认该数字签名是否为对象(PN)的合法签名的装置;
将程序(P)与对象(PN)的名称(N)分离出来的装置;
将程序(P)加载到内存中以执行的装置;
将程序名称(N)存储到操作***保护内存中供以后用来允许程序(P)访问安全区的内存中的数据文件的装置。
7.如权利要求6所述的装置,其特征在于,进一步包括:
在操作***中接收程序(P)对一数据对象的访问请求的装置;
从处于保护模式的内存中获得程序(P)的名称(N)的装置;
从数据对象(D)中获得其拥有者名称(n)的装置;
将名称(N)和拥有者名称(n)进行比较的装置;
当名称(N)和拥有者名称(n)匹配时授权程序(P)访问数据对象(D)以及当名称(N)和拥有者名称(n)不匹配时不允许程序(P)访问数据对象(D)的装置。
CN98108393A 1997-06-20 1998-05-19 在安全存储区中保护应用程序数据的方法和装置 Expired - Fee Related CN1097772C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/877,776 US6175924B1 (en) 1997-06-20 1997-06-20 Method and apparatus for protecting application data in secure storage areas
US877776 1997-06-20

Publications (2)

Publication Number Publication Date
CN1203394A CN1203394A (zh) 1998-12-30
CN1097772C true CN1097772C (zh) 2003-01-01

Family

ID=25370695

Family Applications (1)

Application Number Title Priority Date Filing Date
CN98108393A Expired - Fee Related CN1097772C (zh) 1997-06-20 1998-05-19 在安全存储区中保护应用程序数据的方法和装置

Country Status (6)

Country Link
US (1) US6175924B1 (zh)
EP (1) EP0886202B1 (zh)
JP (1) JP3363379B2 (zh)
KR (1) KR100309535B1 (zh)
CN (1) CN1097772C (zh)
DE (1) DE69815599T2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802110B2 (en) 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
CN103824032A (zh) * 2005-12-08 2014-05-28 艾格瑞***有限公司 在微控制器中用于数据安全性处理的方法和装置

Families Citing this family (127)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5014796A (en) * 1996-03-22 1997-10-17 Hitachi Limited Method and device for managing computer network
US7058822B2 (en) 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
JPH11296423A (ja) * 1998-04-06 1999-10-29 Matsushita Electric Ind Co Ltd ファイル管理システム、ファイル管理装置および媒体
US7711714B2 (en) * 1998-09-22 2010-05-04 Hitachi, Ltd. Method and a device for sterilizing downloaded files
US6321238B1 (en) * 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
FI990461A0 (fi) 1999-03-03 1999-03-03 Nokia Mobile Phones Ltd Menetelmä ohjelmiston lataamiseksi palvelimelta päätelaitteeseen
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
US6748592B1 (en) * 2000-02-14 2004-06-08 Xoucin, Inc. Method and apparatus for protectively operating a data/information processing device
JP2001243079A (ja) * 2000-03-02 2001-09-07 Omron Corp 情報処理システム
US6934817B2 (en) * 2000-03-31 2005-08-23 Intel Corporation Controlling access to multiple memory zones in an isolated execution environment
US6957332B1 (en) * 2000-03-31 2005-10-18 Intel Corporation Managing a secure platform using a hierarchical executive architecture in isolated execution mode
US20060064596A1 (en) * 2000-05-09 2006-03-23 Microsoft Corporation Restricted software and hardware usage on a computer
FR2810138B1 (fr) * 2000-06-08 2005-02-11 Bull Cp8 Procede de stockage securise d'une donnee sensible dans une memoire d'un systeme embarque a puce electronique, notamment d'une carte a puce, et systeme embarque mettant en oeuvre le procede
US6976162B1 (en) 2000-06-28 2005-12-13 Intel Corporation Platform and method for establishing provable identities while maintaining privacy
US7793111B1 (en) 2000-09-28 2010-09-07 Intel Corporation Mechanism to handle events in a machine with isolated execution
KR20020034862A (ko) * 2000-11-02 2002-05-09 권문상 컴퓨터의 응용프로그램의 비밀값 제어방법
US6988196B2 (en) * 2000-12-22 2006-01-17 Lenovo (Singapore) Pte Ltd Computer system and method for generating a digital certificate
US7225441B2 (en) * 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US7035963B2 (en) * 2000-12-27 2006-04-25 Intel Corporation Method for resolving address space conflicts between a virtual machine monitor and a guest operating system
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US7818808B1 (en) 2000-12-27 2010-10-19 Intel Corporation Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor
JP2002208922A (ja) * 2001-01-12 2002-07-26 Ntt Docomo Inc 暗号化装置および復号装置ならびに認証情報付与装置、暗号化方法、復号方法、認証情報付与方法
US20020133702A1 (en) * 2001-03-16 2002-09-19 Stevens Curtis E. Methods of granting access to a protected area
US7272831B2 (en) * 2001-03-30 2007-09-18 Intel Corporation Method and apparatus for constructing host processor soft devices independent of the host processor operating system
EP1388061A4 (en) * 2001-05-17 2010-11-03 Decru Inc ENCRYPTION BASED SAFETY SYSTEM FOR NETWORK STORAGE
US7925894B2 (en) * 2001-07-25 2011-04-12 Seagate Technology Llc System and method for delivering versatile security, digital rights management, and privacy services
US7036020B2 (en) 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US7257844B2 (en) * 2001-07-31 2007-08-14 Marvell International Ltd. System and method for enhanced piracy protection in a wireless personal communication device
US7463739B2 (en) * 2001-08-02 2008-12-09 Safenet, Inc. Method and system providing improved security for the transfer of root keys
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US20030059049A1 (en) * 2001-09-24 2003-03-27 Mihm Thomas J. Method and apparatus for secure mobile transaction
US7103529B2 (en) * 2001-09-27 2006-09-05 Intel Corporation Method for providing system integrity and legacy environment emulation
US7024555B2 (en) 2001-11-01 2006-04-04 Intel Corporation Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US20030105830A1 (en) * 2001-12-03 2003-06-05 Duc Pham Scalable network media access controller and methods
US20030126454A1 (en) * 2001-12-28 2003-07-03 Glew Andrew F. Authenticated code method and apparatus
JP2003216448A (ja) * 2002-01-17 2003-07-31 Ntt Docomo Inc 移動通信端末及びデータ送信方法
US20030154372A1 (en) * 2002-02-12 2003-08-14 Barszcz Chester J. Secure remote data acquisition method and system
US7124273B2 (en) 2002-02-25 2006-10-17 Intel Corporation Method and apparatus for translating guest physical addresses in a virtual machine environment
US7631196B2 (en) * 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
JP2003271457A (ja) * 2002-03-14 2003-09-26 Sanyo Electric Co Ltd データ記憶装置
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
US7127548B2 (en) * 2002-04-16 2006-10-24 Intel Corporation Control register access virtualization performance improvement in the virtual-machine architecture
US7139890B2 (en) 2002-04-30 2006-11-21 Intel Corporation Methods and arrangements to interface memory
US8335915B2 (en) * 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US6820177B2 (en) 2002-06-12 2004-11-16 Intel Corporation Protected configuration space in a protected environment
US7142674B2 (en) * 2002-06-18 2006-11-28 Intel Corporation Method of confirming a secure key exchange
US6996748B2 (en) * 2002-06-29 2006-02-07 Intel Corporation Handling faults associated with operation of guest software in the virtual-machine architecture
US7124327B2 (en) * 2002-06-29 2006-10-17 Intel Corporation Control over faults occurring during the operation of guest software in the virtual-machine architecture
US6678828B1 (en) * 2002-07-22 2004-01-13 Vormetric, Inc. Secure network file access control system
US6931530B2 (en) 2002-07-22 2005-08-16 Vormetric, Inc. Secure network file access controller implementing access control and auditing
US7334124B2 (en) * 2002-07-22 2008-02-19 Vormetric, Inc. Logical access block processing protocol for transparent secure file storage
US7509683B2 (en) * 2002-08-26 2009-03-24 Hewlett-Packard Development Company, L.P. System and method for authenticating digital content
US7143288B2 (en) 2002-10-16 2006-11-28 Vormetric, Inc. Secure file system server architecture and methods
US7165181B2 (en) * 2002-11-27 2007-01-16 Intel Corporation System and method for establishing trust without revealing identity
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US7073042B2 (en) * 2002-12-12 2006-07-04 Intel Corporation Reclaiming existing fields in address translation data structures to extend control over memory accesses
US20040117318A1 (en) * 2002-12-16 2004-06-17 Grawrock David W. Portable token controlling trusted environment launch
US20040128345A1 (en) * 2002-12-27 2004-07-01 Robinson Scott H. Dynamic service registry
US7900017B2 (en) 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US20040128528A1 (en) * 2002-12-31 2004-07-01 Poisner David I. Trusted real time clock
US7076802B2 (en) 2002-12-31 2006-07-11 Intel Corporation Trusted system clock
JP3880933B2 (ja) * 2003-01-21 2007-02-14 株式会社東芝 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
JP4338989B2 (ja) * 2003-02-20 2009-10-07 パナソニック株式会社 メモリデバイス
DE10331874A1 (de) * 2003-07-14 2005-03-03 Robert Bosch Gmbh Fernprogrammieren eines programmgesteuerten Geräts
US20050044292A1 (en) * 2003-08-19 2005-02-24 Mckeen Francis X. Method and apparatus to retain system control when a buffer overflow attack occurs
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7739521B2 (en) * 2003-09-18 2010-06-15 Intel Corporation Method of obscuring cryptographic computations
US7610611B2 (en) * 2003-09-19 2009-10-27 Moran Douglas R Prioritized address decoder
US20050080934A1 (en) 2003-09-30 2005-04-14 Cota-Robles Erik C. Invalidating translation lookaside buffer entries in a virtual machine (VM) system
US7237051B2 (en) * 2003-09-30 2007-06-26 Intel Corporation Mechanism to control hardware interrupt acknowledgement in a virtual machine system
US7177967B2 (en) * 2003-09-30 2007-02-13 Intel Corporation Chipset support for managing hardware interrupts in a virtual machine system
US20050086471A1 (en) * 2003-10-20 2005-04-21 Spencer Andrew M. Removable information storage device that includes a master encryption key and encryption keys
US8352726B2 (en) * 2003-11-07 2013-01-08 Netapp, Inc. Data storage and/or retrieval
US7636844B2 (en) * 2003-11-17 2009-12-22 Intel Corporation Method and system to provide a trusted channel within a computer system for a SIM device
JP4578088B2 (ja) * 2003-11-20 2010-11-10 大日本印刷株式会社 情報処理装置、情報処理システム及びプログラム
US8156343B2 (en) 2003-11-26 2012-04-10 Intel Corporation Accessing private data about the state of a data processing machine from storage that is publicly accessible
EP1538509A1 (fr) * 2003-12-04 2005-06-08 Axalto S.A. Procédé de sécurisation de l'éxécution d'un programme contre des attaques par rayonnement
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US20050152539A1 (en) * 2004-01-12 2005-07-14 Brickell Ernie F. Method of protecting cryptographic operations from side channel attacks
JP4335707B2 (ja) * 2004-02-06 2009-09-30 Necエレクトロニクス株式会社 プログラム改竄検出装置、及びプログラム改竄検出プログラムおよびプログラム改竄検出方法
US7802085B2 (en) 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US20050216920A1 (en) * 2004-03-24 2005-09-29 Vijay Tewari Use of a virtual machine to emulate a hardware device
US7356735B2 (en) * 2004-03-30 2008-04-08 Intel Corporation Providing support for single stepping a virtual machine in a virtual machine environment
US7620949B2 (en) * 2004-03-31 2009-11-17 Intel Corporation Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment
US8024730B2 (en) 2004-03-31 2011-09-20 Intel Corporation Switching between protected mode environments utilizing virtual machine functionality
US7305592B2 (en) * 2004-06-30 2007-12-04 Intel Corporation Support for nested fault in a virtual machine environment
CN1324471C (zh) * 2004-08-18 2007-07-04 中兴通讯股份有限公司 对指定进程私有数据区和堆栈区实施保护的方法
US7516495B2 (en) * 2004-09-10 2009-04-07 Microsoft Corporation Hardware-based software authenticator
US7840962B2 (en) * 2004-09-30 2010-11-23 Intel Corporation System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
KR100589541B1 (ko) * 2004-11-25 2006-06-14 소프트캠프(주) 접근이 통제되는 가상디스크들 간의 온라인을 통한데이터의 보안전송시스템과 이를 통한 보안전송방법
US8924728B2 (en) * 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US8533777B2 (en) 2004-12-29 2013-09-10 Intel Corporation Mechanism to determine trust of out-of-band management agents
US7395405B2 (en) * 2005-01-28 2008-07-01 Intel Corporation Method and apparatus for supporting address translation in a virtual machine environment
US20060236100A1 (en) * 2005-04-19 2006-10-19 Guruprasad Baskaran System and method for enhanced layer of security to protect a file system from malicious programs
US8898452B2 (en) * 2005-09-08 2014-11-25 Netapp, Inc. Protocol translation
US7617541B2 (en) * 2005-09-09 2009-11-10 Netapp, Inc. Method and/or system to authorize access to stored data
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
US9177176B2 (en) * 2006-02-27 2015-11-03 Broadcom Corporation Method and system for secure system-on-a-chip architecture for multimedia data processing
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
US8429724B2 (en) 2006-04-25 2013-04-23 Seagate Technology Llc Versatile access control system
US7539890B2 (en) * 2006-04-25 2009-05-26 Seagate Technology Llc Hybrid computer security clock
US8028166B2 (en) * 2006-04-25 2011-09-27 Seagate Technology Llc Versatile secure and non-secure messaging
JP4902294B2 (ja) * 2006-08-18 2012-03-21 クラリオン株式会社 カーナビゲーション装置、並びに、データベース管理方法およびプログラム
US8042155B1 (en) 2006-09-29 2011-10-18 Netapp, Inc. System and method for generating a single use password based on a challenge/response protocol
US8190905B1 (en) 2006-09-29 2012-05-29 Netapp, Inc. Authorizing administrative operations using a split knowledge protocol
US8245050B1 (en) 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
US8607046B1 (en) 2007-04-23 2013-12-10 Netapp, Inc. System and method for signing a message to provide one-time approval to a plurality of parties
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
KR20080104591A (ko) * 2007-05-28 2008-12-03 삼성전자주식회사 메모리 보호 방법 및 장치
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
FR2926381A1 (fr) * 2008-01-11 2009-07-17 Sagem Securite Sa Methode de transfert securise de donnees
EP2256658A1 (en) * 2009-05-26 2010-12-01 Gemalto SA Method of executing an application embedded in a portable electronic device
KR20120067136A (ko) * 2010-12-15 2012-06-25 삼성전자주식회사 전자 장치 및 이에 적용되는 파일 삭제 방지 방법
JP5583857B2 (ja) * 2011-11-04 2014-09-03 エスケー プラネット カンパニー、リミテッド セキュアドメインとノーマルドメインとの間の保安連動方法及び保安アプリケーションダウンロードの管理方法、管理サーバー、端末機、及びこれを適用した管理システム
US9069955B2 (en) 2013-04-30 2015-06-30 International Business Machines Corporation File system level data protection during potential security breach
JP2014235326A (ja) * 2013-06-03 2014-12-15 富士通セミコンダクター株式会社 システム、情報処理装置、セキュアモジュール、および検証方法
CN107070665B (zh) * 2017-04-28 2018-06-12 北京海泰方圆科技股份有限公司 一种数字签名的方法及装置
CN109190411A (zh) * 2018-07-25 2019-01-11 百富计算机技术(深圳)有限公司 一种操作***的主动安全防护方法、***及终端设备
CN110929304A (zh) * 2019-12-04 2020-03-27 四川虹微技术有限公司 一种基于risc-v的内存保护方法
CN110909391A (zh) * 2019-12-04 2020-03-24 四川虹微技术有限公司 一种基于risc-v的安全存储方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4328542A (en) * 1979-11-07 1982-05-04 The Boeing Company Secure implementation of transition machine computer
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5182770A (en) * 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
US5412718A (en) * 1993-09-13 1995-05-02 Institute Of Systems Science Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information
EP0754999A1 (en) * 1995-02-08 1997-01-22 Sega Enterprises, Ltd. Information processor having security check function
EP0778520A2 (en) * 1995-12-08 1997-06-11 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148461A (en) * 1988-01-06 1992-09-15 Jupiter Toy Co. Circuits responsive to and controlling charged particles
US5144659A (en) * 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
US5027397A (en) 1989-09-12 1991-06-25 International Business Machines Corporation Data protection by detection of intrusion into electronic assemblies
US5048085A (en) * 1989-10-06 1991-09-10 International Business Machines Corporation Transaction system security method and apparatus
JP2886969B2 (ja) * 1990-10-29 1999-04-26 株式会社日立製作所 プログラム変換方法
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
JPH0612251A (ja) * 1992-06-24 1994-01-21 Nec Shizuoka Ltd プログラム起動装置
JPH0628264A (ja) * 1992-07-10 1994-02-04 Mitsubishi Electric Corp 半導体記憶装置及びそのアクセス方法
US5526428A (en) * 1993-12-29 1996-06-11 International Business Machines Corporation Access control apparatus and method
US5724425A (en) 1994-06-10 1998-03-03 Sun Microsystems, Inc. Method and apparatus for enhancing software security and distributing software
US5579393A (en) * 1994-06-21 1996-11-26 Escan, Inc. System and method for secure medical and dental record interchange
US5604800A (en) * 1995-02-13 1997-02-18 Eta Technologies Corporation Personal access management system
US5727061A (en) * 1995-02-13 1998-03-10 Eta Technologies Corporation Personal access management systems
JP3624971B2 (ja) * 1995-10-02 2005-03-02 松下電器産業株式会社 ソフトウエア利用制御方法
JP3580333B2 (ja) * 1996-04-10 2004-10-20 日本電信電話株式会社 暗号認証機能の装備方法
JPH09288503A (ja) * 1996-04-22 1997-11-04 Fuji Electric Co Ltd Plc用サポートシステム導入方法
US5778070A (en) * 1996-06-28 1998-07-07 Intel Corporation Method and apparatus for protecting flash memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4328542A (en) * 1979-11-07 1982-05-04 The Boeing Company Secure implementation of transition machine computer
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US5182770A (en) * 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
US5412718A (en) * 1993-09-13 1995-05-02 Institute Of Systems Science Method for utilizing medium nonuniformities to minimize unauthorized duplication of digital information
EP0754999A1 (en) * 1995-02-08 1997-01-22 Sega Enterprises, Ltd. Information processor having security check function
EP0778520A2 (en) * 1995-12-08 1997-06-11 Sun Microsystems, Inc. System and method for executing verifiable programs with facility for using non-verifiable programs from trusted sources

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802110B2 (en) 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
CN103824032A (zh) * 2005-12-08 2014-05-28 艾格瑞***有限公司 在微控制器中用于数据安全性处理的方法和装置

Also Published As

Publication number Publication date
KR19990006432A (ko) 1999-01-25
US6175924B1 (en) 2001-01-16
DE69815599D1 (de) 2003-07-24
CN1203394A (zh) 1998-12-30
EP0886202A3 (en) 1999-11-10
EP0886202B1 (en) 2003-06-18
KR100309535B1 (ko) 2001-11-15
JP3363379B2 (ja) 2003-01-08
EP0886202A2 (en) 1998-12-23
DE69815599T2 (de) 2004-05-13
JPH1124919A (ja) 1999-01-29

Similar Documents

Publication Publication Date Title
CN1097772C (zh) 在安全存储区中保护应用程序数据的方法和装置
CN1148645C (zh) 执行加密程序的装置
US8799651B2 (en) Method and system for encrypted file access
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
US7802110B2 (en) System and method for secure execution of program code
CN1308832C (zh) 防御恶意代码而对计算机程序和数据进行保护的方法和装置
EP1469369B1 (en) Verbose hardware identification for binding a software package to a computer system having tolerance for hardware changes
US7565685B2 (en) Operating system independent data management
TWI441024B (zh) 用於處理器主記憶體之記憶體內容之安全保護的方法及系統
CN102227733B (zh) 用于基于用户身份来提供对文件的访问的方法和装置
CN1745377A (zh) 使用隐含中间密钥来认证软件的***和方法
EP1934879B1 (en) Secure yet flexible system architecture for secure devices with flash mass storage memory
US20070061597A1 (en) Secure yet flexible system architecture for secure devices with flash mass storage memory
US20080077807A1 (en) Computer Hard Disk Security
CN1647443A (zh) 初始化、维护、更新和恢复利用数据访问控制功能的集成***中的安全操作
EP2264640B1 (en) Feature specific keys for executable code
CN1421000A (zh) 生成用在隔离执行环境中的密钥层组
US9129098B2 (en) Methods of protecting software programs from unauthorized use
US20060015860A1 (en) System and method for storing attributes in a file for processing an operating system
KR20110080121A (ko) 컴퓨터 파일이 복사되었는지를 검출하는 방법 및 디바이스와, 이러한 검출을 가능하게 하는 방법 및 디바이스
CN113127141B (zh) 一种容器***管理方法、装置、终端设备及存储介质
KR102631080B1 (ko) 동형 암호화를 사용한 도커 이미지 인증 장치 및 방법
JP2023136601A (ja) ソフトウェア管理装置、ソフトウェア管理方法、及びプログラム

Legal Events

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

Granted publication date: 20030101