管理计算机应用程序安全性的系统和方法

文档序号:6418890阅读:185来源:国知局
专利名称:管理计算机应用程序安全性的系统和方法
技术领域
本发明涉及数据处理系统,尤其是这样的系统,对其中由这些数据处理系统实现的各种不同类型的应用程序的访问条件,给出一种管理系统和方法。该发明首选地应用于包括医疗、银行、交通工具、移动通讯等多种领域的计算机智能卡的微处理器,但并非仅限于这方面的应用。
已知的多种安全性管理方法存在如下主要缺点-第一个缺点是必须分级选择一个应用程序,也就是说为了进入“子辈”应用程序,必须通过一种强制的选择,类似于在硬盘上一个目录下选择一个文件那样,由“祖辈”应用程序开始,经“父辈”应用程序,最后到达“子辈”应用程序;另外,对安全问题并无任何防备。
因此,选择目录级别和安全级别毫无关系。
-第二个缺点是限制安全级别数目,或应用程序的数目。这是由于专为每一应用程序保存着一个安全记录,存储该应用程序的密码便可获得的权利。为了增加n个级别,即具有一个多应用程序系列(multiapplication series),就必须使每一应用程序有一安全记录,从而导致使用大量的高速存储器保存安全记录。由于高速存储器的容量有限,如此存储许多安全记录是不合适的。因而在某些系统中,分级的数目或应用程序的数目限制在三个,也就是说只限于三级安全记录。
-第三个缺点是不许应用程序的简单“释放”,即“子辈”应用程序不能独立于“父辈”应用程序。这是因为当创建一个新的应用程序时,必须使用仅有的、“父辈”应用程序的权利和密码,直至为该“子辈”应用程序创建特有的密码。
本发明的目的是要提供一种方法,用以管理数据处理应用程序的安全问题,该方法没有以上所揭示的缺点,因而可能-使得分级的数目或应用程序的数目不受限制;-使“子辈”应用程序独立于“父辈”应用程序,在安全性方面,前者勿需通过后者。
因此本发明涉及一个管理数据处理应用程序安全性的系统,其特征在于-数据处理应用程序记录在n级树状结构的目录文件中,第一级目录是最高级;-共有r个安全记录,其中每一个安全记录都可以分配给一个单一的目录,而每一个安全记录包含一个目录下所授予的所有权利或密码S1至Sp。
本发明还涉及上述管理系统中数据处理应用程序安全性的一种管理方法,其特征在于它包含如下各步骤(a)在一个安全记录中存储在一个目录下根据特定的规则所授予的数种权利;(b)在树中搜寻示出的密码;以及(c)在数据处理应用程序所处目录级中验证等同于一种或多种权限知识,以便满足访问条件。
该发明其它的特征和优点将在后面给出的详细实施范例的描述中看到,这些描述伴以附图进行说明,其中

图1是一个目录树结构的例子;图2.1至2.14表明一个安全记录分配给一个目录或从一个目录释放的三种应用规则的实例;图3.1a至3.6a和图3.1b至3.6b是出示密码的规则的应用实例;以及图4.1至4.6显示验证授权的规则的应用的实例。
本发明的详细描述,在将其应用于一个计算机智能卡,更精确地说,用于一个智能卡的微处理器的例子中给出。但是,它也适用于任何数据处理系统,其中系统所提供的某些服务或功能,必须或者仅仅是只对某些用户或操作员开放。
在智能卡的例子中,例如银行卡或移动电话卡,用户可用的服务或功能受到预订类型特权的控制,用户通过提供密码授予这些特权,得以访问那些使用服务或功能所必要的文件。
本说明书的其余部分,将采用到下列若干定义-文件是指能受到读写条件保护的一组数据;
-目录Rep是指一组树状组织的文件和/或目录(图1);通常一个目录只是专门用于一个应用程序;-访问一个文件或目录Rep的条件,规定了需要满足的准则,诸如输入一个密码或提交一个外部的身份鉴定,以便能够实现该文件或目录中某类或某一项功能。
-文件和目录组织成具有几个级别的树,其中最高级目录(第一级)称之为“根”目录,或该目录树的根。级是具有同样分层目录的特征。运用若干目录才有可能将数据构筑在智能卡上。图1中,仅示出了目录Rep1,Rep2,Rep31,Rep32,Rep41,Rep42,Rep51和Rep52,每一目录可以包含一个或多个文件。目录Rep1是根目录,包含n=5级目录,目录Rep41和Rep42属于i=4级。
-一个安全记录R包含在一个目录下所授予的所有权利,而一项权利是证明你知道秘密的证据,通过提供一个名字、一个数字或一条标识符得以鉴别。证明知道秘密有多种方法,例如通过终端和智能卡之间交换秘密的数值,或者通过交换该秘密能够计算出来的数据等;这种操作称之为出示秘密。
一般地说,在一个智能卡上建立安全系统的目的是要通过证明你知道一个或更多的秘密才能使用智能卡的服务或功能。因此,为了使用智能卡的一种功能,必须-对智能卡来说,将知道这一个或数个秘密的证据事先存储在一个安全记录中;-对智能卡或终端的持有人来说,证明他知道保护该功能的这一个或数个秘密;-当使用这一功能时,智能卡要验证用者确实知道这些秘密。
本发明所提供的方法包括如下各步(a)根据某一目录下安全记录的分配和释放规则,将知晓一个或多个秘密的信息即所授予的权利,存储在智能卡中;(b)在目录树中搜寻所给出的秘密;(c)验证确实知道秘密以满足访问条件。
要把知晓一个秘密的信息存储在一个智能卡中(步骤(a)),必须正确地给出该秘密,相当于证明外部,例如一个终端或一个持卡人,知道该秘密,以便授予终端或持卡人使用智能卡提供的功能的权利。这种权利正是以一个应用程序对应一条记录地存储在一个安全记录中。
安全记录R包含p个数字或位置,其中每一位置被分配一个秘密知识,相应于所授予的一种权利。对于一个具有p=8位的记录,它可以记录S1至S8个秘密的知识,相应于所授予的8项权利。
安全记录R的数目r可以任意,在即将叙述的例子中r=3。与已有技术不同,安全记录不再专属某单一级别或目录,而一个目录和一条安全记录之间的连接是动态的,也就是说,按照该发明所提供方法的规则这种连接可以不时地建立或破坏。
为了将一项权利存储在某一目录,首先必须按照如下RG1至RG3三条规则从一个目录分配或释放安全记录规则RG1一旦当前目录授予一项权利,例如一条密码或一则身份鉴别,那么该目录便分配给一个记录。如果该目录下已经授予过一项权利,那么更新该目录专有的记录。
规则RG2选择一个新目录导致该目录与它原有安全记录的连接遭到破坏,除非如果所选的是它的子目录。
规则RG3如果安全记录数r已经饱和,也就是说在所述的例子中已使用了R=3个安全记录,那么按照规则RG1,就将最先分配的记录即目录树中的最高级,分配给新的当前目录。
应该指出,应用规则RG2使我们可能将两个安全记录分配给同一级目录,因此将一个安全记录分配给某一目录,可以用一个分配给有关安全记录的分级结构Ni来描述,其中i为1至n.图2.1至2.14说明规则RG1,RG2和RG3的应用情况。在这些附图和后边其它的附图中,实心圆表示一个目录,阴影圆表示所选的目录,而空心圆表示所选的一个释放了权利的目录。
图2.1表示没有选目录,而图2.2和2.3分别表示选择了目录Rep1和Rep2。
规则RG1的应用情况表示在图2.4,2.6,2.8,2.10,2.12和2.14中。图2.4表示处于N2级的目录Rep2下,一个出示秘密的情况。图2.6表示处于N3级的目录Rep31下,出示秘密的情况。图2.8表示处于N4级的目录Rep41下,出示权利的情况。图2.10表示处于N5级的目录Rep51下,出示权利的情况。图2.12表示处于目录Rep41下,出示权利的情况。图2.14表示目录Rep42下,出示权利的情况。
规则RG2的应用情况表示在图2.5,2.7和2.9中,示出当一个新的“子”目录被选时,如何在一个安全记录和它的目录之间维持连接。
图2.5,2.7和2.9分别表示选择目录Rep31,Rep41和Rep51。
规则RG2的应用表示在图2.11和2.13中,是说明一个安全记录与其所对应的目录之间的连接被破坏的情况。图2.11表示选择目录Rep41,而图2.1 3表示选择目录Rep42。
图2.10说明规则RG3的应用,其中分配最早的记录R1现在分配给新选的目录Rep51.
步骤(a)包括存储与知道秘密有关的权利,而步骤(b)包括在目录树中搜索由持卡人或由终端提供的秘密。
在应用程序所处目录级提供的一个秘密,授予该同样应用程序在该级的使用权利。这样,在处于Ni级的应用程序中成功地出示一个秘密,根据规则RG1将更新该级专有的安全记录,即使所提供的秘密物理上处于一个较高级的目录,情况也是如此。
出示一个秘密的规则如下规则RG4出示一个参考秘密S,等于验证智能卡或终端的持有者知道从当前应用程序沿分级轴线直到根目录发现的第一个参考秘密S的值。
出示处于Ni级的当前应用程序的参考秘密S,是由如下的中间步骤实现的,它们包括(b1)在当前目录即Ni级中,用一个安全管理系统的手段,搜索参考秘密S,并验证该秘密存在于应用程序之中;(b2)如果该秘密存在,那么验证出示秘密可否取得成功,例如密码的值是否正确,密钥号码是否相符等。
如果出示秘密的手续成功,那么与参考秘密S相联系的权利在Ni级的当前应用程序的目录下被授予。
如果出示秘密的手续失败,那么与参考秘密S相联系的权利未能授予,而试图出示秘密的过程也就终止。
(b3)如果参考秘密S在处于Ni级的当前应用程序中不存在,搜寻处于当前应用程序上一级N(i-1)的父辈应用程序中是否存在具有同样参考信息的秘密。
(b4)如果处于N(i-1)级的父辈应用程序中存在该秘密,证明出示秘密的工作取得成功。
如果出示成功,那么与参考秘密S相联系的权利就在当前应用程序所处的Ni级下被授予。
如果出示失败,那么与参考秘密S相联系的权利便没有得到认可,而试图出示秘密的过程也就终止。
(b5)如果参考秘密S不存在于N(i-1)级的父辈应用程序之中,沿着分级轴线在N(i-2)级进行搜索,如此等等,直至无从发现参考秘密S的存在。
(b6)如果没有找到参考秘密S,试图出示秘密的过程终止。
图3.1a至3.6a和图3.1b至3.6b给出几个例子,说明规则RG4的应用情况。图3.1a和3.1b,3.2a和3.2b,3.3a和3.3b对应授予权利的例子,而图3.4a和3.4b,3.5a和3.5b,3.6a和3.6b对应未能授权的例子。
图3.1a中,秘密S3在本地存在于目录Rep41之下,而没有给目录Rep41分配任何记录。图3.1b中,知道秘密S3得以证实;处于N4级的目录Rep41分配了一个记录R3,并授予了权利。
图3.2a中,秘密S3在本地存在于目录Rep41之下,而且记录R3已经分配给目录Rep41。因此知道秘密S3得以证实,分配给目录Rep41的安全记录得以更新,从而授权工作完成(图3.2b)。
图3.3a中,秘密S2没有在本地存在于目录Rep41之下;记录R3已经分配给目录Rep41,而同时一个秘密S2存在于目录Rep2,Rep1,Rep42和Rep51之下。因此知道秘密S2得以证实,分配给目录Rep41的安全记录得以更新,从而授权工作完成(图3.3b)。
图3.4a中,秘密S2没有在本地存在于目录Rep41之下;记录R3已经分配给目录Rep41,而秘密S2存在于目录Rep2,Rep1,Rep42和Rep51之下。因此知道秘密S2未得到证实,分配给目录Rep41的安全记录未得以更新,从而授权工作未能完成(图3.4b)。
图3.5a中,秘密S2没有在本地存在于目录Rep41之下;记录R3已经分配给目录Rep41,而同时一个秘密S2存在于目录Rep2,Rep1,Rep42和Rep51之下。因此知道秘密S2未能得到证实,从而分配给目录Rep41的安全记录R3未能得到更新,授权工作未能完成(图3.5b)。
图3.6a中,秘密S2没有在本地存在于目录Rep41之下;记录R3已经分配给目录Rep41,而一个秘密S2同时存在于目录Rep2,Rep1,Rep42和Rep51之下。知道秘密S2未能得到证实,从而分配给目录Rep41的安全记录未得以更新,授权工作未能完成(图3.6b)。
步骤(c)包括验证确实知道一个或数个秘密以满足访问条件,亦即验证外界确实知道保护使用智能卡一种功能和服务的秘密,也就是说确实授予了必要的权利。
为此,本发明给出第五条规则RG5,其内容陈述如下规则RG5要求知道某一秘密S从而取得某种功能的授权,如果和只有如果,由属于有当前应用程序和包含秘密S作为它的分隔符的应用程序的树段的至少一个应用程序,从当前应用程序开始,沿目录分级轴线直到根目录应用程序,所碰到的第一个秘密是已知的,即当前被示出的,如果秘密S存在于当前应用程序,这些应用程序可以被合并。
为了完成步骤(c),管理系统必须执行下列步骤,包括(c1)验证一个安全记录与处于Ni级的当前应用程序相联系;(c2)如果该安全记录包含所必需的权利,便授权使用有关功能并结束验证工作;(c3)如果没有与当前的应用程序相联系的安全记录,或者如果有联系的记录不包括必需的权利,那么便在处于Ni级的当前应用程序中搜寻是否存在参考秘密S;(c4)如果当前应用程序中存在该秘密,就拒绝使用有关功能并终结验证工作;(c5)如果处于Ni级的当前应用程序中不存在参考秘密S,验证是否存在一个安全记录与当前应用程序的处于N(i-1)级的父辈应用程序相联系;(c6)如果与其父辈应用程序相联系的安全记录包括使用功能的必要权利,便授权使用该功能并终结验证工作。
(c7)如果没有安全记录与父辈应用程序相联系,或如果有关联的安全记录不包括必需的权利,便在当前应用程序的处于N(i-1)级的父辈应用程序中搜寻是否存在参考秘密S;(c8)如果处于N(i-1)级的父辈应用程序中存在该参考秘密S,就拒绝使用有关功能并终结验证工作;(c9)如果处于N(i-1)级的父辈应用程序中不存在该参考秘密S,以及发现不了参考秘密S的其它情况,验证沿着当前应用程序的分级轴线直至跟目录应用程序,是否存在一个安全记录与当前应用程序的处于N(i-2)级的祖辈应用程序相联系;(c10)如果发现不了秘密,就拒绝使用有关功能并终结验证工作;图4.1和4.2说明两个授权功能的例子,而图4.3,4.4,4.5和4.6给出拒绝使用某功能的四个例子。
图4.1中,接受使用功能,因为秘密S3是本地的并在目录Rep41下是已知的。
图4.2中,接受使用功能,因为秘密S1虽然不是本地存在的,但在目录Rep2下是已知的。
图4.3中,拒绝使用功能,因为秘密S3本地存在于目录Rep41下,但本目录下没有授权。
图4.4中,拒绝使用功能,因为秘密S3本地存在于目录Rep41下,虽然一个安全记录分配给目录Rep41,但是不能证明知道秘密S 3。
图4.5中,拒绝使用功能,因为秘密S2既不是本地存在于目录Rep41,也不是本地存在于目录Rep31,却存在于目录Rep2,但没有安全记录分配给目录Rep2。应注意到虽然秘密S2在目录Rep1是知道的,但依然拒绝使用功能。
图4.6中,拒绝使用功能,因为沿分级轴线从目录Rep41到目录Rep1找不到秘密S1,虽然秘密S1存在于目录Rep51和Rep32。
权利要求
1.一种管理数据处理应用程序安全性的系统,其特征在于-数据处理应用程序记录在目录文件中(Rep1,Rep2,Rep31,Rep32,Rep41,Rep42,Rep51,Rep52),目录文件组成一个n-级树,第一级目录(Rep1)是最高级;以及-r个安全记录(R),每个安全记录(R)可以分配给一个单一的目录,和每个记录包括在某目录下所授予的所有的S1至Sp条权利或秘密。
2.一种在权利要求1所述系统中管理数据处理应用程序安全性的方法,其特征在于包括在下面各步骤(a)根据所给出的规则(RG1,RG2,RG3),将某目录下授予的权利(S1至Sp)存储在若干安全记录(R)中;(b)在目录树中搜寻所示出的秘密;以及(c)在数据处理应用程序所处目录级验证知道一种或多种权利。
3.如权利要求2的方法,其特征在于步骤(a)所说的存储规则如下(RG1)当前目录一旦授予某种权利便立即分配给该目录一个安全记录,或者如果当前目录授予某种权利,那么该目录的安全记录便进行更新;(RG2)当选择一个新目录时,便丢失原目录与它的安全记录之间的联系,除非被选目录是原目录的子目录;(RG3)如果所有安全记录被分配,将最早分配的安全记录分配一个新目录。
4.如权利要求2或3的方法,其特征在于步骤(b)运用如下的规则(RG4)验证所给出的秘密(S)可在当前目录(Ni)或较高级的目录是已知的。
5.如权利要求2,3或4的方法,其特征在于步骤(b)包含如下中间步骤(b1)在处于(Ni)级的当前目录中搜寻秘密,并验证该秘密存在于应用程序之中;(b2)如果该秘密(S)存在,验证秘密出示成功;如果出示秘密成功,与秘密(S)相联系的权利在当前应用程序所处的(Ni)级目录上被授予;如果出示秘密失败,与秘密(S)相联系的权利没有承认,终止出示秘密的尝试;(b3)如果当前应用程序所处的(Ni)级不存在该秘密(S),搜寻处于N(i-1)级的父辈应用程序中是否存在该秘密(S);(b4)如果N(i-1)级的父辈应用程序中存在该秘密(S),验证出示秘密成功;如果出示秘密成功,与秘密(S)相联系的权利在(Ni)级的当前应用程序中被授予;如果出示秘密失败,与秘密(S)相联系的权利没有承认,终止出示秘密的尝试;(b5)如果处于N(i-1)级的父辈应用程序中不存在该秘密,沿分级轴线搜寻是否N(i-1)级的应用程序中存在该秘密(S),并验证出示秘密是否成功;如此等等,直到发现最高级不存在秘密(S)为止;(b6)如果秘密(S)没有找到,终止出示秘密的尝试。
6.如权利要求2至5中任一个的方法,其特征在于步骤(c)应用如下规则(RG5)要求知道某一秘密从而取得某种功能的授权,如果和只有如果,从当前应用程序沿目录分级轴线直到根目录应用程序,对属于当前应用程序和包含秘密(S)的应用程序在其中是分隔符的树段的至少一个应用程序是已知的。
7.如权利要求2至6中任一个的方法,其特征在于步骤(c)包括如下步骤(c1)验证处于Ni级的当前应用程序与某一安全记录相联系;(c2)如果安全记录包括所要求的权利,授权有关的功能并终止验证手续;(c3)如果没有安全记录与当前应用程序相联系,或如果虽有记录但其中不包括所要求的权利,搜寻处于Ni级的当前应用程序中是否存在参考秘密S;(c4)如果当前应用程序中存在该秘密,拒绝授权功能,终止验证手续;(c5)如果处于Ni级的当前应用程序中不存在参考秘密S,验证安全记录与处于N(i-1)级的当前应用程序的父辈应用程序相联系;(c6)如果与父辈应用程序相关的安全记录包含使用某功能所必需的权利,授权使用该功能并终止验证手续;(c7)如果没有安全记录与父辈应用程序相联系,或者如果有关的安全记录中不包含必需的权利,当前程序的在处于N(i-1)级的父辈应用程序中进行搜索,看是否存在参考秘密S;(c8)如果N(i-1)级的父辈应用程序中存在参考秘密S,拒授有关功能,终止验证手续;(c9)如果N(i-1)级的父辈应用程序中不存在参考秘密S,沿着从当前应用程序到根目录应用程序的分级轴线,验证当前应用程序的处于N(i-2)级的祖辈应用程序是否与某安全记录相联系;如果未发现参考秘密S,一直持续下去;(c10)如果找不到该秘密,拒授有关功能并终止验证手续。
全文摘要
本发明给出一个管理计算机应用程序安全性的系统,其特征在于:计算机应用程序记录在目录文件中(Rep1,Rep2,Rep31,Rep32,Rep41,Rep42,Rep51,Rep52),目录文件组成一个具有n级的树状结构,第一级目录(Rep1)是最高级;r个安全记录(R)的每一个分配给一个单一的目录,而每一个安全记录包括一个目录下所赋予的一组权利或秘密Sl至Sp。
文档编号G06F21/62GK1295683SQ99804589
公开日2001年5月16日 申请日期1999年1月20日 优先权日1998年1月29日
发明者C·库利尔, P·布伦 申请人:格姆普拉斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1