指定访问控制策略

阅读:944发布:2020-05-12

专利汇可以提供指定访问控制策略专利检索,专利查询,专利分析的服务。并且一种用于 指定 访问 控制策略的系统包括:用户 接口 (13),其用于使用户能够指定多个包括主体属性、客体、行动和授权的策略规则,所述策略规则定义访问控制策略(10)。转换模 块 (9),其用于将所述访问控制策略转换成机器可读数据访问控制策略语言以获得转换后的数据访问控制策略(14)。输出(11),其用于将所述转换后的数据访问控制策略提供给访问控制策略实施单元(50)。冲突检测模块(2),其用于检测分别指示可能的访问 请求 的拒绝和允许的至少两个冲突的策略规则。冲突指示模块(6),其用于向用户指示与所述冲突有关的信息。冲突解决输入(7),其用于从用户获取指示冲突解决的信息。,下面是指定访问控制策略专利的具体信息内容。

1.一种用于指定访问控制策略的系统,包括:
-用户接口(13),其用于使用户能够指定多个包括主体属性、客体、行动和授权的策略规则,所述策略规则定义访问控制策略(10);
-转换模(9),其用于将所述访问控制策略转换为机器可读数据访问控制策略语言,以获得转换后的数据访问控制策略(14);以及
-输出(11),其用于将所述转换后的数据访问控制策略提供给访问控制策略实施单元(50)。
2.根据权利要求1所述的系统,还包括:
冲突检测模块(2),其用于检测分别指示可能的访问请求的拒绝和允许的至少两个冲突的策略规则。
3.根据权利要求2所述的系统,其中,所述冲突检测模块(2)被设置用于检测分别指示由特定主体对特定客体的特定类型访问的拒绝和允许的冲突的策略规则。
4.根据权利要求2所述的系统,还包括:
冲突解决模块(5),其用于解决在所述至少两个冲突的策略规则中的所述冲突以获得校正的访问控制策略,所述冲突解决模块(5)包括:
-冲突指示模块(6),其用于向用户指示与所述冲突有关的信息,以及
-冲突解决输入(7),其用于从用户获取指示冲突解决的信息。
5.根据权利要求4所述的系统,所述冲突解决模块(5)还包括自动冲突解决模块(8),其用于将预定的一组冲突解决规则应用到所述冲突的策略规则以解决所述冲突,如果所述一组冲突解决规则不足以解决所述冲突,则应用所述冲突解决输入(7)。
6.根据权利要求4所述的系统,所述冲突解决输入(7)包括:
用于从所述用户获取指示一个冲突策略规则相对于另一个冲突策略规则具有优先权的信息的模块(12)。
7.根据权利要求6所述的系统,所述冲突检测模块(2)包括:
用于检测在由所述用户指示的策略规则的优先权中的不一致性的模块(4)。
8.根据权利要求1所述的系统,所述用户接口(13)被设置用于以决策表的形式表示所述访问控制策略(10)。
9.根据权利要求2所述的系统,在由所述用户增加或改变策略规则之后,激活所述冲突检测模块(2)。
10.根据权利要求2所述的系统,所述冲突检测模块(2)被设置用于基于在至少一个所述冲突的规则中涉及的主体属性,检验两个规则是否应用于相同的主体。
11.根据权利要求1所述的系统,所述机器可读安全策略语言包括可扩展访问控制标记语言XACML。
12.根据权利要求1所述的系统,还包括所述访问控制策略实施单元(50),所述访问控制策略实施单元(50)包括:
-访问控制策略输入(51),其用于接收所述转换后的访问控制策略;以及-策略实施模块(52),其用于实施所接收的访问控制策略。
13.根据权利要求12所述的系统,所述输出(11)被设置用于通过广域网将所述转换后的访问控制策略(14)发送到所述访问控制策略实施单元(50),所述访问控制策略实施单元(50)远离所述用户接口(13)、转换模块(9)和输出(11)。
14.一种用于指定访问控制策略的方法,包括:
-使用户能够(201)指定多个包括主体属性、客体、行动和授权的策略规则,所述策略规则定义访问控制策略;
-将所述访问控制策略转换(202)为机器可读数据访问控制策略语言,以获得转换后的数据访问控制策略;以及
-将所述转换后的数据访问控制策略提供(203)给访问控制策略实施单元。
15.一种计算机程序产品,其包括用于使处理器系统执行根据权利要求14所述的方法的步骤的计算机可执行指令。

说明书全文

指定访问控制策略

技术领域

[0001] 本发明涉及指定访问控制策略,更具体地涉及指定针对访问医疗患者数据的访问控制策略。

背景技术

[0002] 在过去,卫生保健机构使用基于纸件的系统来处理患者医疗信息。现代的消费者卫生保健组织趋向于是公开的、互联的和灵活的。在专业的医疗领域中,这促进了电子健康记录(EHR)系统的采用。EHR系统的目标是通过以下方面来提高护理质量:使医疗信息容易地获得;通过健康信息的电子交换增加卫生保健设施中服务的传送效率;因健康信息的增加的可用性和质量而产生的更安全的患者护理;以及节省与人工系统有关的成本。
[0003] EHR系统已经在世界范围的卫生保健机构中广泛地使用,这意味着可以从许多源访问个人的健康信息,因此增加了安全漏洞的险程度。这些原因导致越来越多的对于隐私和保密的侵犯的关注,这促使将患者许可(consent)机制引入到EHR系统中。许可来源于希波克拉提斯誓言(Hippocratic Oath),该希波克拉提斯誓言由对其患者宣誓保密的卫生保健提供者采用。许可的字典定义是允许(permission)或同意(agreement)。许可也被定义为根据行动所涉及方面的知识、其可能的后果和说不的选择而对行动的迅速的或默示的同意。仅可以通过患者明确的或默示的许可来揭示患者的医疗数据;其中通过患者口头地或书面地表达明确的许可,并且其中从个人的行为推断默示的许可。优选地,许可包括指定谁能够访问患者记录并且指定用于什么目的的授权。
[0004] 为了保护患者的隐私,EHR系统可以是访问受控的,并且当处理访问请求时,这些访问控制机制可以考虑个人的许可。当前,以在患者被要求签字的,并且文件描述患者和卫生保健机构的权利和义务(更具体地涉及隐私考虑)的标准文件中以书面的形式获得个人的明确许可(例如IHE基本患者隐私许可)。
[0005] 例如,可以以XACML策略的形式表达针对具体患者的在EHR系统中应用的隐私策略。XACML代表OASIS可扩展访问控制标记语言。然而,很难正确地指定XACML策略。在2006年5月的IPSJ Digital Courier的卷2第207-221页中作者为Hiroaki Kamoda等的
“Access control policy analysis using free variable tableaux”中已经公开了通过使用自由变量表分析访问控制策略的方法。

发明内容

[0006] 具有用于指定访问控制策略的改进的系统是有利的。为了更好地解决该问题,在本发明的第一方面中,提供一种系统,包括:
[0007] -用户接口,其用于使用户能够指定多个包括主体属性、客体、行动和授权的策略规则,所述策略规则定义访问控制策略;
[0008] -转换模,其用于将所述访问控制策略转换成机器可读数据访问控制策略语言以获得转换后的数据访问控制策略;以及
[0009] -输出,其用于将所述转换后的数据访问控制策略提供给访问控制策略实施单元。
[0010] 这允许用户以用户友好的方式通过用户接口指定策略规则。不需要具有数据访问控制策略语言的知识。相反,可以通过用户接口指定策略规则,之后它们被自动地转换成数据访问控制策略语言,并被提供给实施单元用于执行。由于自动地执行转换,所以在转换的创建中出现较少的错误。
[0011] 可以将冲突检测模块用于检测分别指示可能的访问请求的拒绝和允许的至少两个冲突的策略规则。因为在首次将规则应用于实际的访问请求之前的策略指定阶段中检测冲突,所以这有助于建立无错误的策略。可以将冲突检测模块设置用于在由用户输入新的策略规则时被激活,这能使用户在指定策略时获得立即的反馈。
[0012] 可以将所述冲突检测模块设置用于检测分别指示由特定主体对特定客体的特定类型访问的拒绝和允许的冲突的策略规则。由于一个策略规则将允许而另一个策略规则将拒绝,所以不能解决由该特定主体对该特定客体执行特定类型访问的访问请求的授权。因此这是检测冲突的策略规则的有效方式。
[0013] 系统还可以包括冲突解决模块,其用于解决在所述至少两个冲突的策略规则中的所述冲突以获得校正的访问控制策略,所述冲突解决模块包括用于向用户指示与所述冲突有关的信息的冲突指示模块和用于从用户获取指示冲突解决的信息的冲突解决输入。这提供了根据用户的希望解决冲突的有效方式。
[0014] 冲突解决模块可以包括自动冲突解决模块,其用于将预定的一组冲突解决规则应用到所述冲突策略规则以解决所述冲突,如果所述一组冲突解决规则不足以解决所述冲突,则应用所述冲突解决输入。这减少了用户被要求校正访问控制策略的次数。
[0015] 冲突解决输入可以包括用于从所述用户获取指示一个冲突策略规则相对于另一个冲突策略规则具有优先权的信息。在策略的实施期间,这允许用户指定在冲突将实际发生的情况下,哪一个冲突规则‘胜出’。
[0016] 冲突检测模块可以包括用于检测在由所述用户指示的策略规则的优先权中的不一致性的模块。通过校正一个冲突引入的优先权可能引入另一个冲突,即策略规则的优先权中的不一致性。本文的检测也允许解决该冲突。例如通过进一步改进优先权,可以要求用户解决该新的冲突。
[0017] 可以将用户接口设置用于以决策表的形式表示所述访问控制策略。决策表是用于指定访问控制策略的相对直观的方式。转换可以包括将决策表转换成访问控制策略语言。可以将冲突检测模块和冲突解决模块设置用于在转换成访问控制策略语言之前操作决策表。
[0018] 可以将所述冲突检测模块设置用于在由用户增加或改变策略规则之后被激活。通过该方式,可以将快速反馈提供给用户。
[0019] 可以将所述冲突检测模块设置用于基于在至少一个所述冲突规则中涉及的主体属性,检验两个规则是否应用于相同的主体。主体属性可以包括例如,色或组。然后可以将策略规则应用于具有特定角色的主体或为特定组的成员的主体。冲突策略具有至少一个公共主体,并且冲突规则之一可以拒绝访问,而另一个冲突规则可以允许由主体进行访问。
[0020] 机器可读安全策略语言可以包括所述可扩展访问控制标记语言XACML。XACML是合适的访问控制策略语言。
[0021] 访问控制策略实施单元可以包括用于接收所述转换后的访问控制策略的输入;和用于实施所接收的访问控制策略的策略实施模块。这允许策略的有效实施。
[0022] 可以将输出设置用于通过广域网将所述转换后的访问控制策略发送到所述访问控制策略实施单元,所述访问控制策略实施单元远离所述用户接口、转换模块和输出。这是适于远程客户的配置,该远程客户建立没有冲突的、转换成访问控制策略语言的策略,并将该策略传送到访问控制策略实施单元。
[0023] 一种将访问控制策略指定给医疗患者数据的方法可以包括:
[0024] -使用户能够指定多个包括主体属性、客体、行动和授权的策略规则,所述策略规则定义访问控制策略;
[0025] -将所述访问控制策略转换成机器可读数据访问控制策略语言以获得转换后的数据访问控制策略;以及
[0026] -将所述转换后的数据访问控制策略提供给访问控制策略实施单元。
[0027] 一种计算机程序产品可以包括用于使处理器系统执行已阐述方法的步骤的计算机可执行指令。附图说明
[0028] 将参考附图进一步阐明和描述本发明的这些和其它的方面,其中:
[0029] 图1是说明了用于指定访问控制策略的系统和访问控制策略实施单元的方面的框图
[0030] 图2是说明了指定访问控制策略的方法的步骤的框图;
[0031] 图3是说明了用于指定访问控制策略的系统的进一步方面的框图;以及
[0032] 图4是说明了冲突检测方法的步骤的框图。

具体实施方式

[0033] 在现代的卫生保健IT系统中,通过管理对患者健康数据的访问的安全机制可以将患者许可考虑进去。XACML是日益增长地用于指定访问控制策略的XML语言。然而由于其复杂性,指定正确的XACML策略是有挑战性的。在本文描述了用于针对患者许可的高级隐私策略到机器可读策略语言(诸如XACML)的自动转换的方法。然而,XACML仅是非限制性的示例。该方法可以包括潜在冲突的检测以及它们的解决。
[0034] 在消费者健康和卫生保健领域中,信息和通信技术的发展已经使包括远距离医学和远程患者监控的远程卫生保健服务(远程医疗)成为可能。许多服务已经配置了远程医疗基础设施,其中,通过家用网络集线器将测量设备连接到远程后端服务器。卫生保健提供者使用该架构远程地访问测量数据并且帮助患者。示例是疾病管理服务或急诊响应服务。
[0035] 测量设备、家用网络集线器和后端服务的互操作性对于使服务的成功操作成为可能是重要的。可以使测量设备、家用网络集线器(应用主机)设备、在线卫生保健/健康服务和健康记录系统(PHR/EHR)之间的协议标准化。在数据格式和交换问题之后,可以解决保密和安全问题。
[0036] 在这种包括家用网络集线器和后端服务的架构中,测量设备和应用主机设备应能够以或多或少的点对点(ad hoc)方式连接到不同的服务。通过患者的生活收集敏感的患者数据,并且可以将通过疾病管理、健康与健身和老年独立服务执行的测量包括在患者的健康记录中。在其移动中,虽然有许多开放的和能够互操作的系统,但仅可以将敏感的健康数据用于患者已经许可的目的,即根据他的隐私策略。
[0037] 在规范的卫生保健领域的实践中使用的书面许可是静态的并且不是针对每个单独的患者定制的,因此,其不能充分地获得消费者健康与卫生保健方案中的许可和患者隐私策略。对于要在访问控制机制中考虑的患者许可而言,优选地以电子形式表达访问控制策略。另外,需要以由访问控制机制识别的形式表达许可(为了使其实施容易)。
[0038] 实现其的一种方式是指定机器可读格式的策略。存在表示机器可读格式策略的具体的安全策略语言。XACML是由在卫生保健领域已经得到重要应用(HL-7,HITSP)的OASIS发展的一种这样的策略语言。然而,由于访问控制策略管理的信息的数量和复杂性使得访问控制策略是复杂的,从而,指定正确的XACML策略是有挑战性的。因此,获得高级的患者许可/隐私策略并将其转换成机器可读的XACML策略是有利的,该机器可读的XACML策略可以由访问控制和DRM(数字权限管理)机制使用。优选地,将测量用于检查转换后的访问控制策略是如预期的并且不具有冲突。
[0039] 图1说明了用于指定访问控制策略10的系统1。例如,可以在诸如移动电话或个人计算机或膝上型计算机等家用设备中实施系统1。也可以例如在医院的终端上实施系统1,其中患者或护士控制系统1的操作。通过使用其它硬件也可以实施系统1,例如作为患者监控设备的一部分的硬件。系统1包括用户接口13。用户接口13可以是例如图形用户接口或文本接口。用户接口13提供例如按钮和/或文本输入区的用户接口元素,用户可以使用该用户接口元素来指定多个策略规则。这种策略规则可以定义针对访问与患者有关的医疗或个人数据的许可。策略规则可以包括例如主体属性、客体、行动和授权。在本文中,主体属性定义了策略规则应用到哪些主体。更具体地,主体属性定义了主体需要的以能够访问数据的属性。其可以是姓名、角色、位置、证书、执照等。主体可以是关于其要实施策略规则的人或实体。同时,通过用户接口输入的一组策略规则可以定义高级访问控制策略10。
这种高级访问控制策略可以是人类可读的,但其可能不是机器容易使用的格式。这种访问控制策略可以涉及策略规则的集合,该集合定义某块数据的访问限制,例如与特定患者有关的数据。因此,至少部分地根据通过用户接口的用户输入来建立访问控制策略10。也可以部分地通过具有涉及数据的职责的机构的策略来定义或限制访问控制策略10,例如存储数据或根据数据向患者提供护理的机构可以限制患者可以并入他或她的个人访问控制策略10中的可能的策略规则。
[0040] 系统1可以包括转换模块9,其用于将访问控制策略10转换成机器可读数据访问控制策略语言以获得转换后的数据访问控制策略14。在用户已经通过用户接口13指定访问控制策略10之后,用户例如按压指示访问控制策略10完成和确定的按钮。之后,转换模块9将访问控制策略10中的策略规则转换成可以由标准策略实施模块处理的语言描述,该标准策略实施模块被配置来处理由访问控制策略语言定义的转换后的访问控制策略14。替代地,在通过用户接口13定义访问控制策略的过程期间,可以将转换模块9设置为对转换14进行更新。例如,每次用户增加、修改或删除策略规则时,转换模块9分别增加、修改或删除转换后的访问控制策略14的文本。
[0041] 系统1还可以包括用于将转换后的数据访问控制策略14提供给访问控制策略实施单元50的输出11。例如,将输出设置为通过系统1可以连接到的网络传送数据。这种网络可以是广域网(例如因特网)或局域网。在另一配置中,系统1可以部分地或完全地与访问控制策略实施单元集成。在这种情况中,可以将输出设置为通过内部系统消息或者例如通过将其存储在特定位置而将转换后的访问控制策略14提供给访问控制策略实施单元50。
[0042] 系统1可以包括冲突检测模块2。将冲突检测模块2设置为检测在访问控制策略中是否存在冲突的策略规则。将冲突检测模块2设置为检测至少两个分别指示可能的访问请求的拒绝和允许的冲突的策略规则。因为通常所有的访问请求应该被决定为允许或者拒绝,所以这些策略是冲突的。可以将冲突检测模块2设置为通过寻找分别指示由特定主体对特定客体的特定类型访问的拒绝和允许的规则来检测冲突的策略规则。通过策略规则可以隐含地定义这种类型的访问、客体和主体。例如,根据主体属性可以在策略规则中定义主体(例如几个主体可以具有的角色或一组主体)。如果两个规则的主体属性不同,则通过不同的策略规则涵盖一个或多个相同的主体仍然是可能的,这可能引起冲突的许可。
[0043] 冲突检测模块2的输入(由用户接口13提供)可以是属性表的形式,该属性表可以示出在属性(诸如主体属性等)之间可能的重叠。在检测这种重叠时,可以使用附加信息,例如可以从外部的属性当局或身份管理系统获得该附加信息。这种外部的属性信息可以包括例如关于主体的角色的信息。
[0044] 可以提供冲突解决模块5以用于解决在至少两个冲突策略规则中的冲突。通过该方式,获得了校正后的的访问控制策略。在附图中,在访问控制策略和校正后的访问控制策略之间没有做出区别。都以10表示。冲突解决模块可以包括用于向用户指示与冲突有关的信息的冲突指示模块6。例如,可以高亮冲突的策略规则。而且,可以将其中规则为冲突的主体或情况指示给用户以弄清楚确切的冲突是什么。可以提供冲突解决输入7以用于从用户获取指示冲突解决的信息。用户可以例如决定增加与冲突情况有关的附加的策略规则以及调整现有的策略规则使得它们不再应用于冲突情况。
[0045] 冲突解决模块5可以包括自动冲突解决模块8。该模块8能够自动地处理至少一些冲突的规则并且或者将自动产生的解决提议给用户或者完全自动地实施该冲突解决而不牵涉用户。将自动冲突解决模块8设置为用于将一组预定的冲突解决规则应用于冲突的策略规则以解决冲突。如果该组预定的冲突解决规则未解决该冲突,则可以应用冲突解决指示模块6和/或冲突解决输入7以允许用户人工地纠正冲突。
[0046] 冲突解决输入7包括模块12,其用于从用户获取指示一个冲突策略规则相对于另一个冲突策略规则具有优先权的信息。这意味着在实施期间,如果冲突情况出现,则应用具有优先权的策略规则以支持其它策略规则。
[0047] 冲突检测模块2可以包括模块4,其用于检测在由用户指示的策略规则的优先权中的不一致性。如果优先权必须被提供不止一次,则产生优先权中的不一致性是可能的。由于在策略实施阶段期间这种不一致性导致在其中不能建立正确授权的新情况,所以优选地解决这种不一致性。
[0048] 可以将用户接口设置为用于以决策表的形式表示访问控制策略10。这种决策表可以在每行中包含策略规则,而每列可以涉及策略规则的特定属性。例如,列可以包含每个策略规则的主体属性。这种列控制了通过策略规则哪些主体被准予授权或被拒绝授权。另一列可以包含客体。客体定义被准予或被拒绝访问的数据。另一列可以包含结果,或者是否允许或拒绝访问。可以在决策表中定义更多的列;在该说明书中的其他地方给出了示例。
[0049] 可以将冲突检测模块2设置为在用户增加或改变策略规则之后被激活。通过该方式,使冲突的检测和/或校正成为交互式的:在冲突的规则被创建之后,可以立即识别它们。
[0050] 可以将冲突检测模块2设置为根据在至少一个冲突规则中提到的主体属性来检验两个规则是否应用于相同的主体。主体属性控制策略规则应用于哪些主体。原则上,仅当存在冲突策略规则都涉及的至少一个主体时,规则才是冲突的。
[0051] 机器可读安全策略语言可以包括可扩展访问控制标记语言XACML。可以将转换模块9设置为将访问控制策略10转换成XACML策略。可以将转换模块9设置为将来自决策表的访问控制策略10转换成XACML策略。
[0052] 另外,可以提供访问控制策略实施单元50。其可以结合输出11通过以上描述的通信模块与系统1连接。访问控制策略实施单元50可以包括用于通过输出11从系统1接收转换后的访问控制策略的访问控制策略输入51。此外,作为示例,访问控制策略实施单元
50可以包括用于实施接收的访问控制策略的策略实施模块52。该策略实施模块52可以处理转换后的访问控制策略14并且应用其中表示的规则以允许和/或拒绝特定的访问请求。
策略实施单元50还可以包括访问请求处理模块53,该访问请求处理模块53用于接收访问请求、通过策略实施模块52检验授权、并且依赖于策略实施模块52的输出如所请求的那样执行访问或者拒绝访问请求。然而,这仅是架构的示例。还可能参考例如XACML参考访问控制系统架构。
[0053] 可以将系统1的输出11设置为通过广域网将转换后的访问控制策略传送到访问控制策略实施单元,访问控制策略实施单元50远离系统1,该系统1包括例如用户接口13、转换模块9和输出11。通过该方式,访问控制策略由系统1准备并且被发送到访问控制策略实施单元50,在此,其可以被容易地应用。
[0054] 图2说明了指定访问控制策略的方法。该方法包括使得用户能够指定包括主体属性、客体、行动和授权的多个策略规则(201),该策略规则定义访问控制策略。该方法还包括将访问控制策略转换成机器可读数据访问控制策略语言以获得转换后的数据访问控制策略(202)。该方法还包括将转换后的数据访问控制策略提供给访问控制策略实施单元(203)。可以将该方法实施为包括计算机可执行指令的计算机程序产品,所述计算机可执行指令用于使处理器系统执行该方法的步骤。
[0055] 图3说明了用于将高级隐私策略转换成诸如XACML策略等机器可读策略的方法,包括潜在冲突的检测和它们的解决,该方法可以包括以下步骤:
[0056] -通过图形用户接口在决策表302中指定301隐私策略;
[0057] -通过使用决策表302和属性表303(根据诸如医院或国家EHR基础设施等外部信息而创建)来检测304潜在冲突;
[0058] -通过使用冲突解决策略306和/或用户输入307进行的检测的冲突305的交互式解决308,产生决策表的策略规则的优先化列表309;以及
[0059] -将来自决策表的策略规则的优先列表309转换310成XACML策略311。
[0060] 可以根据如下在决策表中通过图形用户接口实施隐私策略的指定。患者许可表达授权,该授权指定实体是否被授权或被拒绝访问部分或全部的患者医疗信息,以对所述信息执行某个行动以及执行其中其应该被进行的条件。因此,患者必须将许可的这些元素指定为在访问控制期间将被实施的授权。可以确定以下的许可元素:
[0061] 授予人:这是授予许可的人(患者或患者的法定监护人)。
[0062] 受让人:这是许可被授予的个人、角色或组。
[0063] 患者:这是正在讨论的患者,其中,受让人将访问该患者的数据。
[0064] 行动:这是受让人被允许或不被允许在数据上执行的行动或操作。这种操作的示例包括读取、写入、收集、访问、使用、公开、修改或删除。
[0065] 数据:表示全部或部分患者医疗信息的表达。
[0066] 结果:这可以是“允许”或“拒绝”。
[0067] 目的:这指定受让人可以访问数据的目的。这些可以包括例如“治疗”、“支付”、“操作”、“研究”、“公共健康”、“规划”、“质量测量”、“由第三方进行的健康状态评估”和“销售”。可以根据需要定义其它目的。
[0068] 背景:这指定策略规则应用的背景。已经确定了两个示例性背景;在“正常”或“急诊”情况下,受让人可以访问患者的数据。可以根据需要定义其它背景。
[0069] 有效期:这是策略规则有效的时期。
[0070] 通过使用帮助患者填充决策表的图形用户接口可以指定许可。在以下的决策表中,指定了许可的示例。决策表的前两行包含缺省授权,而剩下的行包含特别授权,该特别授权是对于缺省授权的例外。缺省授权可以是允许访问的一般许可,除非例外应用。在表1的示例中,缺省授权指定通常访问不被允许(在前两行中的结果‘-’)。
[0071] 表1:决策表(在第一行中,ac t.代表行动,V代表以年为单位的有效期,而T代表授权类型。在最右边的列中,A代表访问,D代表委托。‘结果’表示授权,‘+’表示允‘-’表示拒绝)
[0072]
[0073] 由于应用于相同客体的肯定授权和否定授权所致,当两个或更多个授权的目的不能被同时满足时,策略中的冲突可能发生。通常,冲突检测的目标是确定已经发生的实际冲突和/或预测未来可能发生的潜在冲突。然后,可以将实际的或潜在的冲突传送到解决过程。冲突可能由具有相反授权的授权策略中的主体、资源、行动和条件元素的重叠导致。
[0074] 对于冲突检测,可以使用属性表。属性表确定在患者许可策略的决策表中指定的受让人、在患者的策略中指定的那些之中的受让人可以具有的其他可能的角色或组(例如,医生也可以具有私人医生的角色,特定的卫生保健提供者可以具有几个角色等)。可以由医院或国家EHR基础设施的身份管理提供者提供该表。
[0075] 可以将角色看作用户的属性。例如,两个规则可以为:
[0076] 规则1:属性.主体名称=“约翰”,客体=O1,行动=观察,拒绝;
[0077] 规则2:属性.角色=“急诊.医生”,客体=O1,行动=“观察”,允许。
[0078] 如果约翰采用急诊医生的角色,则这两个规则可能是冲突的。可以使用不同属性的组合。其它规则可以使用例如基于位置或部的属性。这种规则也可能产生冲突,诸如在以下的示例中,其中规则涉及重叠的位置:
[0079] 规则1:属性.位置=“医院1”,客体=O1,行动=观察,拒绝;
[0080] 规则2:属性.位置=“医院1.急诊.诊室”,客体=O1,行动=“观察”,允许。
[0081] 访问策略规则可以涉及一些数据。借助于XPath表达式可以表示数据。XPath本身是在现有技术中已知的格式。然而,这仅是在该说明书中使用的示例。可以使用指定数据的其它方式来代替。
[0082] 冲突检测可以涉及以下。
[0083] 检测(潜在的)主体重叠:对于被比较的两个授权,如果受让人元素具有相同的值,或者如果一个授权的受让人元素在属性表中的其‘可能的角色/组’列中具有其它授权规则的受让人元素,则可能存在主体重叠。
[0084] 现在在授权中表示患者医疗信息的XPath表达式中检查数据重叠。在文献中,已经出现了检测XPath之间的包含或交叉的许多算法。对于数据重叠的检测,对授权规则的数据元素运行优选的交叉算法。如果XPath表达式交叉,则数据重叠存在并且冲突是可能的。否则,如果XPath表达式没有重叠,则由于它们涉及不同的数据项,所以授权不互相冲突。
[0085] 检查行动重叠:如果两个授权的行动不同,则这两个授权不冲突。这是因为这两个规则涉及不同的操作,因此不能都应用于相同的访问请求。然而,如果行动是相同的,则冲突潜在地存在。仅比较行动,如果它们是相等的,则行动重叠存在。
[0086] 检查条件重叠:在条件重叠检查期间比较的授权的元素是目的(条件1)和背景(条件2)元素。两个授权规则的条件对可以具有以下关系之一:
[0087] -条件1和条件2交叉
[0088] -条件1和条件2是不相交的
[0089] -条件1和条件2是相等的
[0090] 当两个条件对对于目的或背景元素之一具有相同的值,而对于另一个元素具有不同的值时,认为它们交叉。或者当一个授权在目的或背景元素中具有值‘全部’时,由于值‘全部’将包括在其它授权的目的或背景元素中指定的任何一个值,认为两个条件对交叉。另一方面,当所有的目的和背景值不同并且两个授权的目的或背景元素中没有一个具有值‘全部’时,两个条件对是不相交的。最后,当两个授权的目的和背景值都相同时;当一个授权对于目的元素具有值‘全部’而两个授权的背景元素都包含相同的值或反之亦然时;当一个授权对于目的和背景元素都具有值‘全部’时;或者当一个授权对于目的元素具有值‘全部’而另一个授权对于背景元素具有值‘全部’或反之亦然时,认为两个条件对是相等的。
[0091] 当条件对相等时,取决于授权规则中其它元素的状态,存在冲突的可能。这是因为条件可以应用于同样的访问请求。当两个条件对交叉或不相交时,通常没有冲突的可能。这是因为不管条件对可能具有一些共同元素的事实,条件对在整体上是不同的。这样的结果是其条件交叉或不相交的授权规则通常将不应用于相同的访问请求。由于它们的条件是不同的,所以它们不是互相冲突的。
[0092] 签名、行动、主体、数据和条件重叠检查是冲突检测算法的一部分,这在以下示出的冲突检测表中进行概括。
[0093] 表2:行动、签名和条件重叠表(-表示对于结果、行动和条件的组合,冲突是不可能的)
[0094]
[0095] 表3:主体重叠表
[0096]
[0097] 表4:数据重叠表
[0098]
[0099] 可以比较授权并且可以将结果存储在冲突矩阵中(如果在相关的规则之间存在冲突,则将单元加标记)。
[0100] 图4说明了检验两个策略规则是否处于冲突的过程。在401开始该过程。当针对冲突比较两个授权时,可以首先查阅表2。在步骤402比较两个授权的签名。如果它们相同,则冲突检测算法返回‘无冲突’响应并且在408过程结束。否则,随后在步骤403比较两个授权的行动。如果它们不同则冲突检测算法发送‘无冲突’响应,并且在408过程结束,否则在步骤404比较两个规则的条件。如果两个授权规则的条件相等,则冲突是可能的,其取决于分别在步骤405和406检查的受让人和数据元素是否重叠。当条件交叉或不相交时,则冲突检测算法返回‘无冲突’响应并且在408过程结束。在数据重叠表之前可以查阅主体重叠表。如果没有主体重叠,则冲突检测返回‘无冲突’响应并且在408过程结束,否则可以在步骤406检查数据重叠表。如果在例如XPath表达式中没有重叠,则冲突检测算法返回‘无冲突’响应并且在408过程结束,该XPath表达式是两个授权规则的数据元素。如果在XPath表达式中检测到重叠,则在步骤407冲突检测算法返回‘冲突’响应。
[0101] 冲突解决可以涉及如下。
[0102] 可以针对冲突的存在检查冲突检测矩阵。如果发现没有冲突,则可以跳过冲突解决。另一方面,如果发现冲突,则可以将两个冲突的策略规则用作冲突解决算法的输入。
[0103] 通过使用局域性(特异性)冲突解决策略,优选地以自动的方式进行冲突解决。然而,这不是限制。对于授权的特异性,可以检测是否:
[0104] -一个授权的数据是另一个的子集(XPath包含)
[0105] -一个行动包含在另一个中(行动具有行动层级)
[0106] -受让人是具有角色/组层级的角色/组
[0107] -一个授权的条件比另一个更具体
[0108] 如果该策略没解决冲突,或如果患者不喜欢使用该策略,则通过人工地将优先权分配给规则,可以由患者自己解决冲突。通过允许患者决定两个冲突规则中的哪一个应该具有优先权而支持该过程。然而,当以该方式解决更多的冲突时,在某一时刻可能发生规则冲突。在具有三个冲突规则的示例中:首先规则A和B冲突(用户解决B具有优先权);然后规则B和C冲突(用户决定C具有优先权);随后规则A和C冲突(用户决定A具有优先权)。在该示例中,由于该三个规则中没有单独一个可以被建立为具有最高优先权,所以在这三个规则之间的冲突没有被充分地解决。这可以通过分析作为有向图表的优先权而发现。在这种图表中的顶点表示策略规则。在这种图表中的有向边表示一个策略规则具有比另一个策略规则更高的优先权。优选地,该系统帮助患者不在图表中引入循环。为了防止循环的引入,在冲突解决期间,可以逐步增加地创建和检查有向非循环图表。可以针对刚刚被解决的两个冲突规则的存在搜索图表。如果这些规则之一或全部不作为图表中的顶点而存在,或者存在于图表的不连续的部分中,则没有优先权冲突。在该情况中,可以继续进行冲突解决。否则,向授予人通知存在的授权的优先权。系统可以向患者建议规则的优先权(例如基于患者指定规则的最初顺序的缺省冲突解决策略)。
[0109] 最后可以以如下方式将优先权值分配给规则,以实现非冲突的规则:
[0110] 首先向缺省授权规则分配优先权。以随机的方式向它们分配低值优先权。
[0111] 然后向特别授权分配优先权。分配给特别授权的优先权高于分配给缺省授权的优先权,并且随机地分配该优先权。
[0112] 随后,通过在针对缺省和特别授权的两个有向非循环图表上实现拓扑排序,向有冲突的那些规则分配更高的优先权值。首先可以遍历表示缺省授权的图表,而其次可以遍历表示特别授权的图表。可以以由拓扑排序产生的列表的升序分配优先权值。向缺省授权给予比特别授权低的优先权。在实施期间,首先处理较高优先权的规则。实施最高优先权应用的规则。
[0113] 向诸如XACML等的访问策略语言的转换可以涉及如下。
[0114] 转换算法可以将来自冲突解决算法的优先化的决策表作为输入。授权的每个元素已经被确认为主体、行动、资源或环境属性。然后将这些元素映射到策略和规则目标。将策略目标用于确定策略对访问请求的适用性并且因此可以包含所有授权规则的所有主体、行动和资源元素。这可以通过包括授权规则的所有受让人和患者身份作为主体属性,所有行动作为行动属性并且通过使用将所有的患者医疗信息表示为资源属性的XPath表达式而实施。
[0115] 策略目标的资源属性是表示所有的患者医疗信息的XPath表达式并且可以从任何一个缺省授权提取。患者的唯一身份被从决策表中提取并且被包括为策略目标的主体属性。
[0116] 处理每个授权以得出其受让人和行动元素。以以下方式将这些元素用在策略目标中:
[0117] 授权规则的受让人包括在目标的主体属性中。
[0118] 授权规则的行动被包括为目标的行动属性。
[0119] 规则目标是更具体的并且涉及特定的受让人、行动并且可选地涉及在XPath表达式中表示的患者数据的一些部分或者甚至元素。
[0120] 可以以如下方式建立XACML规则目标:
[0121] 规则的资源属性将是授权的数据元素。然而,如果数据元素是表示所有的患者医疗信息的XPath表达式,则由于与策略的资源属性类似,所以可以从规则的目标省略资源属性。
[0122] 由于在策略中提及的受让人被包括为策略的目标的主体属性,所以规则目标对于规则应用于哪一个受让人必须是具体的。因此,规则目标的主体属性是授权的受让人。
[0123] 与策略的目标中的主体属性类似,策略的目标的行动属性由策略中提及的行动构成。因此规则目标必须指定哪一个行动具体地应用于规则。
[0124] 可以用项‘全部’表示目的和背景元素。通过与目的和/或背景元素的组合一样多的规则可以表示在背景和/或目的元素中具有值‘全部’的授权。这些规则可以具有相同的优先权值,其是给予这些规则被得出的所述授权的优先权值。由于在它们的目的和背景元素中的不同的值,它们全部是不相交的,并且没有冲突,所以它们可以具有相同的优先权值。
[0125] 访问控制机制可以支持优先化的XACML规则。在XACML标准中,不指定表示针对策略规则的优先权值的方式,因此不直接使用具有优先权的XACML规则。为了解决该问题,将在策略规则中指定的优先权值转换成策略中的规则的实际排序。以优先权的降序将规则排列在XACML策略中。在策略的顶部写入具有最高优先权的规则,而规则的剩余部分遵循优先权的降序排列。这使得能够使用在XACML中定义的第一适用规则组合算法。该规则组合算法以规则已经被写入策略的顺序来评估这些规则。如果规则评估为‘允许’或‘拒绝’,则策略的评估停止并且将决策作为策略的响应返回。相反地,如果规则评估为‘不适用的’则评估下一个规则,并且如果达到策略的末尾则算法返回不适用的决策。通过该方式,将具有最高优先权的规则应用于访问请求。这允许使用已公开方法而不需要XACML标准的任何改变。
[0126] 应该意识到,本发明也扩展到计算机程序,特别是适用于将本发明付诸实施的、在载体上或载体中的计算机程序。程序可以是源代码、目标代码、诸如部分编译形式等的代码中间源和目标代码的形式,或可以是适于在根据本发明的方法的实施中使用的任何其它形式。还应该意识到,这种程序可以具有许多不同的架构设计。例如可以将实施根据本发明的方法或系统的功能的程序代码再分成一个或多个子例程。用于在这些子例程中分配功能的许多不同的方式对本领域的普通技术人员将是显而易见的。这些子例程可以一起存储在一个可执行文件中以便形成自包含的程序。这种可执行文件可以包括计算机可执行指令,例如处理器指令和/或解译器指令(例如Java解译器指令)。可以代替地,一个或多个或全部子例程可以存储在至少一个外部库文件中并且可以静态地或者动态地与主程序链接,例如在运行时期。主程序包含对至少一个子例程的至少一个调用。而且,子例程可以包括互相的函数调用。与计算机程序产品有关的实施例包括对应于至少一个已阐述方法的每个处理步骤的计算机可执行指令。这些指令可以被再分为子例程和/或被存储在可以静态或动态链接的一个或多个文件中。与计算机程序产品有关的另一个实施例包括对应于至少一个已阐述的系统和/或产品的每个模块的计算机可执行指令。这些指令可以被再分为子例程和/或被存储在可以静态或动态链接的一个或多个文件中。
[0127] 计算机程序的载体可以是能够承载程序的任何实体或设备。例如,载体可以包括诸如ROM(例如CD ROM或半导体ROM)等的存储介质,或者磁记录介质,例如软盘硬盘。而且,载体可以是诸如电信号光信号等的可传送的载体,其可以经由电缆或光缆或通过无线电或其它方式传送。当程序被体现在这种信号中时,可以通过这种电缆或其它设备或模块来构成载体。可以代替地,载体可以是其中程序被嵌入的集成电路,该集成电路适合执行相关方法,或适合以执行相关方法的方式使用。
[0128] 应该注意到,以上涉及的实施例用于说明而不是限制本发明,并且在不脱离所附权利要求的范围的情况下,本领域的普通技术人员将能够设计许多可代替的实施例。在权利要求中,在括号之间放置的任何参考符号不应该被解释为限制权利要求。动词“包括”及其词形变化的使用不排除与权利要求中陈述的元素或步骤不同的元素或步骤的存在。在元素之前的冠词“一个(“a”或“an”)”不排除多个这种元素的存在。借助于包括几个不同元素的硬件,并借助于合适编程的计算机可以实施本发明。在列举了几个模块的设备权利要求中,可以通过一个硬件或硬件的同一产品来体现这些模块中的几个。在互相不同的从属权利要求中描述某些测量的唯一事实不表示不能将这些测量的组合用于利用。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈