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