在数据处理系统中主体对对象的访问和一个安全策略的一致性的验证的制作方法

文档序号:6669839阅读:219来源:国知局
专利名称:在数据处理系统中主体对对象的访问和一个安全策略的一致性的验证的制作方法
技术领域
本发明一般来说涉及由第一单元访问第二单元的条件和定义一个安全策略的安全规则的一致性验证。第一单元是组成一个数据处理装置的用户或者软件模块的主体。第二单元是诸如在该数据处理装置中实现的应用的对象。尤其是,本发明涉及访问在一个智能卡,也称为微处理器卡或者集成电路卡中实现的应用的访问条件,这些卡包含很多与各个服务,诸如电子商务、电子钱包或者忠实服务应用等等有关的应用。
本发明因此尤其致力于与在一个多应用智能卡中的应用有关的任何操作和安全规则的一致性。该操作能够是应用的加载或者修改、或者访问该应用的条件修改、不然的话就是一个对访问该应用以便在其上执行一个动作的请求。
从安全性角度来看在同一张智能卡内多个应用的共存和协作会产生许多问题。尤其是,每个应用具有它自己的数据,这些应用的供应商为这些数据定义了这些应用特有的访问权限。访问权限是在能够是该卡的用户或者诸如用户界面的软件模块的外部访问和可能通过在该卡中的其他应用或者其他软件应用单元的中间物、对诸如应用的卡的内部访问之间的连接装置。
访问条件的控制基于诸如用户的主体验证,该用户是操作包含在诸如应用的对象中的信息的“主动”单元,其中应用是包含数据的“被动”单元。主体对对象的访问权限取决于在该主体和对象之间的访问控制规则。每个规则包含一个访问权限,这就是说以一个能够由一个主体在一个对象上执行的动作的形式的、在该主体和对象之间的链接。
用一个如

图1所示,列对应于主体以及行对应于对象的访问矩阵MA来表示主体对对象的访问权限是为人所知的。例如,矩阵MA涉及三个诸如三个用户主体S1、S2和S3,以及诸如文件和程序的三个对象O1、O2和O3。该矩阵在一行和一个列交点处的每个单元包含访问权限,这就是说能够由相应的主体在相应的对象上执行的特权动作。
该访问权限能够是肯定的以便授权一个主体在一个对象上预定动作,或者是否定的以便禁止止一个主体在一个对象上的预定动作。例如,主体S2能够读取和执行对象O2但是不能写入到这个对象中,以及主体S3能够记录和读取对象O3但是不能执行对象O3。
如已知的那样,访问控制规则通常依据两种方法来处理。
第一种方法包含对应于访问矩阵MA的行的访问控制列表(ACL)而且每个指定了主体对与该行相关联的对象的访问权限。举例来说,在一个Windows(注册商标)类型的多应用智能卡中,访问控制列表ACL定义了用户对被包含在该卡中的文件的访问。
相反地,第二种方法包含对应于矩阵MA列的性能并且每个指定了与该列相关联的主体在该对象上的访问权限。例如,访问控制涉及用于JavaCard类型多应用智能卡的小程序技术,在该智能卡中已经写入了以Java语言形式的程序。该性能是以在组成主体的预定小程序中、允许进行对对象调用的指针的形式。
在微控制器卡领域中,通常省略了安全策略的概念。这是因为,对于直到那时通常仍是单一应用的卡,这规定了适当规模的单个安全策略,用于保证该访问权限正确地对应于负责定义该访问权限的开发者意愿。
如已经说明的那样,访问权限以访问控制规则的形式表达。然后验证和保证访问权限相对于一个策略是完整的以及是一致的是必要的,这就是说它们提供至少两个属性,完整性和一致性。访问权限完整性保证,对于任何主体和任何对象,存在至少一个说明该主体是否被授权来访问该对象的访问权限。访问权限的一致性保证,对于任何主体和任何对象,如果定义了对该对象的多个访问权限,则该访问权限所有都指定了相同类型、肯定或者否定的权限。相对于一个安全策略的访问权限完整性确保该访问权限定义了所有由该安全策略指定的权限。相对于一个策略的访问权限一致性确保该访问权限被限制在由安全策略定义的那些中,而不定义更多的权限。
当前在多应用卡中,访问权限和一个安全策略的完整性和一致性属性不能被验证。负责定义访问权限的开发者因此不能够验证指定的访问权限对应于期望安全策略的规则。
多应用卡的引入弄复杂了多个应用共存以及因此多个安全性策略共存的问题,在应用之间的协作进一步增加了策略复杂度。
本发明的目的是提供一种用于验证多个主体对多个对象诸如在一个多应用卡中的应用的访问权限和一个全局安全策略的一致性的方法,而全局安全策略由能够是一个不同于每一个应用开发者的人的卡管理者实现。这个方法因此保证该访问权限相对于一个安全策略的完整性和一致性依据该完整性属性该访问权限定义了由该安全策略指定的所有权限,而且依据该一致性属性该访问权限被限制于这些安全策略权限。
为了实现这个目的,一种用于验证一组用于在一个数据处理系统中的第一单元访问第二单元的规则的方法,其中每个规则定义了一个第一单元在一个第二单元上执行一个动作的权利,该方法的特征在于它包含用于第一单元对第二单元的访问的安全性规则的一个定义,而且对于每个与一个给定第二单元有关的操作,把用于访问给定第二单元的至少一个给定规则和该安全性规则进行比较以便当该访问规则遵循所有安全性规则时接受该操作以及当访问规则不遵循一个安全性规则时发信号该操作不符合。
如随后将要看见的那样,第一单元例如是诸如用户的主体,以及第二单元例如是对象、诸如被包含在该数据处理系统内的多应用智能卡中的应用。
依据第一实施例,该数据处理系统包含一个至少第二单元位于其中的便携式电子对象,以及一个在该便携式电子对象以外的安全性装置,安全规则位于其中并且其执行比较。
依据第二实施例,该数据处理系统是一个便携式电子对象,至少第二单元和安全规则位于其中并且其执行比较。
通过阅读以下参考相应附图的本发明的多个最佳实施例的描述,本发明的其他特征和优点将显现得更加清楚,其中附图为图1是一个框图,显示了一个依据现有技术、早已对其进行评论的用于在三个主体和三个对象之间的控制的矩阵;图2是一个用于依据本发明的第一实施例实现该一致性控制方法的数据处理系统的示意框图;以及图3是依据本发明的一致性验证方法的算法。
一个如图2中说明电子数据处理系统包含一个诸如智能卡CA的便携式电子对象以及装备有键盘CL的终端TE以及一个用于读取在该卡中的数据的阅读器LE。卡CA的“芯片”是一个包含一个微处理器PR和三个存储器MO、MNV和MA的微控制器。ROM类型存储器MO包含一个用于该卡的操作系统OS。存储器MNV是一种可编程和可擦除类型的非易失性存储器,诸如一个EEPROM存储器。存储器MNV包含特别地、和该卡的持有人和供应商有关的数据,以及特别地、组成在本发明意义上的对象的应用AP,以及和访问该应用AP有关的数据,诸如访问规则R和主体Su。存储器MA是RAM类型而且用于特别地接收来自该卡的终端TE的数据。所有部件PR、MO、MNV和MA都由一条内部总线BU互连。当卡CA是被插入到终端TE的阅读器LE中时,当该卡是具有电接触点的类型时,总线BU通过一条接触链接LI连接到终端TE。
依据这个第一实施例,一个由与所有在该智能卡CA中的应用AP有关的安全规则RS定义的安全策略被预存在终端TE中。例如,终端TE属于该智能卡的经销商,其能够不同于每个负责定义用于访问至少一个相应应用的规则的应用开发者。
在一个变体中,包含安全规则并且验证访问规则和该安全规则的一致性的终端是一台通过一个无线电通讯网络连接到该智能卡的一个接收终端的服务器。
依据第二实施例,代之以该安全策略PS位于终端TE中,定义安全策略的安全规则位于构成数据处理系统的智能卡CA的ROM存储器MO中。
以下依据本发明的一致验证方法的描述对于上面给出的这两个用于验证主体对对象的访问和一个安全策略的一致性的方法的、如下所述的实施例涉及以下五个集合-对象集合EO={O1,...Ob,...OB},其中1≤b≤B;-一个主体集合ES={SI,...Su,...SU},具有1≤u≤U,其涉及每个都具有对一个给定对象Ob的至少一个访问的主体;-主体组集合EG={G1,...Gp,...GP},其涉及每个都具有对对象Ob的至少一个访问的主体,在一个组中的一个主体具有授予这个组的所有访问权限,而且一个主体能够属于一个或多个组;-一个访问权限规则集合ER={R1,...Re,...RE},其中1≤e≤E,其控制集合ES的主体和集合EG的组对给定对象Ob的访问;以及-一组可应用于在给定对对象Ob访问的集合中的所有主体的安全规则RS,以及一组分别可应用于组G1到GP用于访问对象Ob的安全规则RS1到RSP。
如果R(或者RS)指定了一个权限,也就是说一个诸如读取、写入、执行或者记录的动作,其能够由任何Su主体在任何给定对象Ob上执行,访问控制取决于以下的肯定权限规则-(SuROb)主体Su具有在对象Ob上的权限R,也就是被授权在给定对象Ob上执行动作R;-(GpROb)在组Gp中的主体具有在对象Ob上的权限R;以及取决于以下否定权限规则-no(SuROb)主体Su不具有在给定对象Ob上的权限R,也就是被禁止在对象Ob上执行动作R;-no(GpROb)在组Gp中的主体不具有在对象Ob上的权限R。
其后,直接通过该规则(SuROb)、也就是不通过一个组的中间物获得的一个权限,将称为主体Su在对象Ob上的“直接权限”;以及一个由规则(GpROb)通过一个主体Su被包含在其中的组Gp获得的权限将称为主体Su在对象Ob上的一个“间接权限”。
现在参见图3,该一致性验证方法包含主要步骤ET1到ET8。
在该方法开始处,第一初始步骤ET1定义了一个包含为集合EO的所有对象O1到OB都共用的安全性规则RS的安全策略PS,以及分别用于预定主体组和预定对象、以及尤其用于与给定对象Ob相关联的组G1到GP的安全规则。该安全策略位于终端TE中,或者位于智能卡CA的存储器MNV中。
第二个初始步骤ET2定义了四个组ES、EO、EG和ER以便在智能卡CA的存储器MO和MNV中实现它们。
以下的步骤ET3涉及启动在给定对象Ob上的操作。这个操作能够是把给定对象Ob,例如作为一个新的应用,加载到卡CA的EEPROM存储器MNV中,其包含为在先前步骤ET2处定义的应用所特有的访问规则以及写入到存储器MNV中,或者一个与给定对象Ob有关的访问规则修改。该访问规则修改能够是一条与主体Su或者组Gp有关并且自然和给定对象Ob有关的访问规则的删除或者添加。在给定对象Ob上的操作能够简单地是一个由(SuROb)或者(GpROb)类型的主体Su或者组Gp对给定对象的访问权限的请求,或者是具有对给定对象Ob的访问的一个或多个主体或者组的修改,也就是一个或多个主体或者组的删除或者添加。
通过把与给定对象Ob有关的访问规则和所有安全性规则进行比较的恰当一致性验证从步骤ET4开始。在一个变体中,这个一致性验证在当智能卡CA被使用时例如每二十四个小时定期执行,或者在每个与给定对象Ob有关的M操作时定期执行,其中M指定一个等于至少2的整数。
一般地说,依据第一实施例,所有与给定对象Ob以及任何用于一个直接权限的主体Sq或者与任何用于间接权限的组Gp有关的肯定和否定访问规则Re已经相对于所有安全性规则RS和RSp验证了它们的一致性,而不管由用于对象Ob的安全策略定义的索引p,如在接着步骤ET4、直接通过在中间步骤ET6处的否定答复或者在步骤ET7之后的步骤ET81、ET82、ET83和ET9处指示的那样。实际上,一个访问规则一致性的验证是这个规则和每一个安全规则比较的结果。例如,一条为与对象Ob有关的所有主体和所有组共用的安全规则能够是禁止写入到对象Ob中,以及一条用于组Gp的安全规则RSp能够是一个用于由所有属于组Gp的主体对给定对象Ob的读取的授权。
然而,依据其他实施例,该方法区分仅仅和主体Su有关的操作,诸如在步骤ET5处,用于由主体Su对对象Ob的直接访问或者主体Su的添加的请求,以及仅仅和一个给定组Gp相关的操作,诸如在步骤ET6处指示的那样,对与组Gp有关的、对给定对象Ob的间接权限访问、或者主体添加或者删除、或者权限修改的请求。如果不满足步骤ET5和ET6中的条件,则方法直接从步骤ET4前进到早已在其上进行讨论的步骤ET81。
当该操作仅仅和一个主体Su以及和对象Ob相关时,在步骤ET5之后继之以步骤ET7,在步骤ET7期间检测所有包含主体Su的组Gp。在这个实施例中,步骤ET81由步骤ET82所替代,该步骤ET82验证与给定对象Ob有关、以及直接与主体Su有关或者间接与包含主体Su的组Gp有关的所有肯定和否定访问规则的一致性。在步骤ET9处,这些访问规则和所有的共用安全规则RS以及安全规则RS1到RSp进行比较而且尤其涉及组Gp。借助于步骤ET7和ET82,该方法因此验证与给定对象Ob有关的主体Su的性能遵循安全策略PS。
当步骤ET6处,在给定对象Ob上的操作仅仅涉及一个主体组Gp时,在步骤ET83处,所有肯定(GpROb)和否定no(GpROb)类型的访问权限规则都已经通过同和与所有组有关、以及尤其与给定组Gp有关的所有共用安全规则RS以及安全规则RS1到RSp进行比较来验证它们的一致性。通过步骤ET6和ET83,该方法因此验证与在一个给定组Gp中的主体的所有访问权限有关的访问控制列表遵循安全策略PS。
如果,在步骤ET81、或者ET82或者ET83之后,该访问规则正确地遵循和安全规则的比较,则在步骤ET10处接受在步骤ET3处请求的操作,而且该方法返回到步骤ET3,以用于与在对象Ob上的另一个操作有关、或者与在另一个对象上的操作有关的一致性验证。
在另一方面,如果在步骤ET81、ET82和ET83中的一个处定义和比较的至少一个访问权限规则在步骤ET9处不遵循一个安全规则,则步骤ET11拒绝在步骤ET3处请求的操作,而且该方法然后返回到步骤ET3。在步骤ET11处拒绝请求的操作能够伴随有拒绝智能卡CA,或者伴随有删除不遵循安全规则的一个或者多个访问权限规则。
举例来说,假定包含主体S1和S2的第一组G1仅仅具有在给定对象Ob上的读访问权限,包含主体S2和S3的第二组G2仅仅具有在对象Ob上的写入访问权限,并且两个组G1和G2被授权执行诸如一个应用的对象Ob。此外,步骤ET1定义了两个安全规则RS1和RS2。依据第一规则RS1,组G1不被授权写在集合EO中的对象,而且因此包含不被授权写给定的对象Ob。依据第二安全规则RS2,组G2不被授权读取在集合EO中的对象。
对于这个示例,执行依据图3的方法中的步骤ET6和ET83。一个对组G1的读取访问请求在步骤ET9处揭示了用于仅仅属于组G1的主体S1、在组G1的读取访问规则和禁止写入组G1的安全规则之间的一致性,以及一个用于主体S3、在组G2的写访问权限规则和禁止组G2的读取的安全规则之间的一致性。在另一方面,步骤ET9发信号用于同属于组G1和G2的主体S2的一致性失败。对于主体S2,与组G1有关的读访问权限规则不遵循用于组G2的禁止读取安全规则,以及用于组G2的写访问权限规则不遵循禁止写入组G的安全规则。步骤ET11然后删除主体S2的读和写访问权限,主体S2仅仅保持与其它主体S1和S3相同的执行访问权限。
虽然图3涉及在一个给定对象Ob上操作的一致性,一般地说,任何与在集合E0中的对象01到OB任何一个有关的操作能够导致一个与所有对象01到OB有关的所有访问控制列表和性能相对于所有安全策略中的安全规则的通用一致性验证。这样一个通用的一致性验证更可取地是至少在智能卡CA的委托和个性化期间执行。
权利要求
1.一种用于验证分别定义了授权和/或禁止诸如用户之类的第一单元(Su)执行/不能执行在诸如位于一个便携式电子对象(CA)中的应用之类的第二单元(Ob)上的动作的权限的访问规则(Re),和限制用于让第一单元访问第二单元的规则的安全规则(RS)的一致性的方法,其特征在于因为它包含,为每个与一个给定第二单元(Ob)有关的操作(ET3),诸如特别地给定第二单元(Ob)的加载或者与在便携式电子对象(CA)中的给定第二对象有关的访问规则修改,把用于访问(Su/GpROb)给定第二单元的至少一个规则和安全规则(RS)进行比较(ET81、ET82、ET83、ET9),以便当所述访问规则(R)遵循所有安全规则时接受(ET10)该操作以及当所述访问规则不遵循一个安全规则时发信号该操作的不一致性。
2.如权利要求1所述的方法,依据其,所述操作(ET3)要么是一条与给定第二单元有关的访问规则(R)的删除或者添加、或者是具有对给定对象(Ob)的访问的第一单元(Su)或者多个第一单元(Gp)的删除或者添加,或者是一个第一单元(Su)或者第一单元组(Gp)对给定对象(Ob)的访问的请求。
3.如权利要求1所述的方法,依据其,当操作(ET5)仅仅和一个给定的第一单元(Su)以及给定的第二单元(Ob)有关时,该比较(ET82)包含与给定第一单元(Su)以及给定第二单元(Ob)有关的所有访问规则(SuROb,Gp(Su)ROb)和所有安全规则(RS)进行比较。
4.如权利要求1所述的方法,依据其,确信第一单元每个都属于一个或多个第一单元组(Gp),在一个组中的第一单元具有所有授予该组的访问权限,其特征在于,当操作(ET6)涉及一个给定第一单元组(Gp)时,比较(ET83)包含把所有与给定组有关以及和给定第二单元(Ob)有关的访问规则(GpROb)和所有安全规则(RS)进行比较。
5.如权利要求1到4中任何一个所述的方法,依据其,定期执行比较(ET81、ET82、ET83、ET9)。
6.如权利要求1到5中任何一个所述的方法, 依据其,安全规则(RS)位于在该便携式电子对象(CA)之外并且执行该比较(ET81、ET82、ET83、ET9)的一个安全性装置(TE)中。
7.如权利要求1到5中任何一个所述的方法,依据其,安全规则(RS)位于执行该比较(ET81、ET82、ET83、ET9)的便携式电子对象(CA)中。
全文摘要
本发明涉及在一个诸如芯片卡的数据处理系统中、主体(Su)以及对象(Ob)和一个预定的安全策略(PS)的一致性的访问规则(R)。每条访问规则定义了一个主体在一个对象上执行一个动作的权限。该安全策略定义了用于让主体访问对象的安全规则(RS)。对于和一个给定对象(Ob)有关的操作,和给定对象有关的至少一条访问规则和该安全规则进行比较,以便当该访问规则与所有安全规则一致时接收该操作;如果不是这样的话则拒绝该操作。操作能够是一个诸如应用的对象的加载、该访问规则的修改、一个主体(多个)的删除或者添加或者一个主体或者主体组访问一个给定对象的请求。
文档编号G07F7/10GK1507608SQ02809455
公开日2004年6月23日 申请日期2002年3月8日 优先权日2001年3月13日
发明者C·比丹, M·保利亚克, C 比丹, 强 申请人:格姆普拉斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1