英语原文共 19 页,剩余内容已隐藏,支付完成后下载完整资料
分布式文档生命周期约束
Sylvain Halleacute;a ,Raphaeuml;lKhoury, Quentin Betti,Antoine El-Hokayemb,Yliegrave;sFalcone
Univ.Grenoble Alpes,CNRS,Inria,Grenoble INP,LIG,38000 Grenoble,France
摘要:以工件为中心的工作流程通过从委托人之间交换文件的角度表达的约束条件来描述业务流程的可能执行。只要工作流程中的每个文档在其流程的所有步骤都遵循其生命周期的约束,那么操作序列就被认为是有效的。到目前为止,验证给定的工作流程符合工件生命周期的大部分方法是通过静态验证完成的,集中访问所有可以监视和执行这些约束条件的工件。我们在本文中提出了一个强制执行文档生命周期的替代方法,既不需要静态验证,也不需要单点访问。相反,文档本身被设计为携带历史碎片,避免使用哈希和公钥加密进行篡改。过程中涉及的任何主体都可以随时验证文档的历史是否符合给定的生命周期。此外,所提议的系统还强制执行每项任务的访问权限:并非所有的行动都对所有的主体都是可见的,而且只能修改和验证被允许观察的内容。这些概念已经在称为Artichoke的软件库中实现,并且经验性地测试了性能和可伸缩性。
关键词:人工业务; 业务流程; 文档生命周期; 生命周期规则; UML状态图; 业务流程模型语言;线性时间逻辑; 有限状态自动机; 跟踪验证; 规则执行; 加密公钥; 哈希函数; 防篡改历史; 保密性; 分散执行; 运行监控; 智能卡 可移植文件格式; Artichoke-X
- 介绍
业务流程的执行常被具象为文档中从一个媒介到下一个的成功操作。但是,文档也可能在被修改的途中被约束,我们称其为文档的生命周期。在过去的十年中,以工件为中心的业务流程被认为是一种建模范例,其中业务流程及工作流程仅用文档约束来表示:只要工作流程中的每个文档在过程的所有步骤都遵循其自己规定的生命周期,则操作序列就被认为是有效的 。在这个语境中,一个文档变成一个有状态的对象,用一个有限状态的机器来表达它可能的修改结果。正如我们在第二部分将会看到的,这种范式可以应用于各种不同的情况,从医疗文件处理到会计,甚至是智能卡等电子通行系统。
业务流程执行问题的核心是合规性检查的概念,或通过各种手段验证业务流程的给定实现方式与其相关的约束条件。转换为以工件为中心的业务流程,这意味着必须保证所涉及的每个工件的生命周期始终受到保护。
目前主要有两种解决方法来解决这个生命周期的问题,将在第三部分详细介绍。第一种可能性是参与操作的所有对等者相互信任,并假定他们只对文档执行有效的操作;这种信任可以通过测试或静态验证对等体的实现来评估。第二种,所有对等体都可以信任第三方 ,但是所有对文档的访问都需要完成;这个第三方负责执行文档的生命周期,并且必须防止发生无效的修改。 读者应该注意到这两种情况都需要某种形式的外部信任,这会成为攻击的入口。在第一种情况下,单个恶意用户可以阻止生命周期的执行,并且确保其他对等方不关注它。在第二种情况下,依靠第三方开辟了经典的基于不信任的攻击方式,如中间人攻击。
在本文中,我们提出了一个分布式执行文档生命周期的机制,每个等身份人都可以单独检查它正在传递的文档的生命周期是否被正确遵守。这是以前发表的机制的扩展版本。第4节首先展示了如何使用各种规范语言形式化的来表示文档生命周期的各个方面。我们在第5节中提出的系统不需要对文档进行集中式访问,也不需要信任其他被允许操作的对等节点。该文件本身被设计成携带其历史的片断,称为同伴行为序列。通过仔细使用哈希和公钥加密,防止该序列被篡改。通过使用这个系统,业务流程中涉及的任何对象都可以在任何时候验证文档状态是否符合给定的生命周期,并表现为有限状态自动机。另外,所提出的系统还执行访问控制:并非所有操作对于所有的操作者都是可见的,只有被允许观察的人才能修改和验证。
为了说明这个概念,在第6节重新讨论了本文开头描述的用例中的一个,并且展示了如何使用我们提出的模型来建模和实施生命周期约束。然后在第7节中用一个简单的命令行工具描述了通过操作动态PDF表单来实现这些原则的方法。通过隐藏字段将动作序列注入到PDF文件中,并在每次通过工具修改表单时进行更新。因此,可以随时检索文档的修改历史记录, 使用公共密钥环验证其真实性,并检查它是否符合给定的策略。
本文总结了几个讨论点。特别是,它突出了使用同伴行为序列,与给定生命周期规范的文档的一致性可以很容易地进行检查这一事实。事实证明,甚至可以只验证生命周期策略而根本不采用任何工作流程管理系统:只要文档被参与工作流程的每个对等参与者正确加密,交换的方式是否正确就变得无关紧要。这就极大地简化了以工件为中心的工作流程的实施操作, 减少了现有系统必须满足的许多假设。
- 文档生命周期
我们将首先从过去的文献中描述一些不同的情景,这些情景可以被模拟为一些文档的生命周期中的一组约束。在下文中,该术语将包含任何携带数据并进行修改。这可以代表物理存储卡,纸张或电子形式,或者更一般地,在一些圈子中通常被标记为“人造物”的任何物体。
“生命周期”的一个特殊情况是条件适用于单独的文档,而不考虑它们与本文档先前或后续版本的关系。例如,生命周期可以简单地表达为关于文档的各个元素的可用值和被比喻为完整性约束。然而,在下面,我们更关心生命周期,也涉及文件被允许移动的状态的顺序,以及每个修改的效应器的身份。
2.1、 医疗文件处理
我们首先用下面的例子来说明我们的方法,这个例子是根据文献改编的一个文件,该文件记录了与给定患者相关的医学相关信息。这样的医疗文件被分散执行将提供许多优点,因为它将促使产生多个卫生保健信息提供者,他们必须遵守他们自己有关保密信息的准则,并允许医疗数据在机构之间被安全地共享。
这样的医疗文件通常包括几条信息,特别是:
*患者身份信息
*一个医保号码
*专业医生要求的一系列测试
*由辅助患者的保险公司所认可的药剂师填写的药物处方
这些信息中的每一条都可以以原子值或字符串(保险号和个人信息)作为表单(测试)输入到文档中,作为映射(单个测试,包括它的请求被映射到测试的结果)。访问该文档的权利是由患者,医生和其他医务人员,保险公司和药剂师共享的,每个人都拥有不同等级的访问控制权。
鉴于此类文件中包含的信息的敏感性,不言而喻,不同的委托人为了确保其正确使用而使文件的每个部分进行读,写或修改的权限不尽相同。访问文件约束可以大致分为三类,即访问控制约束,完整性约束和生命周期约束。
访问控制约束是最直接的。它限制了每个主体可以读取,修改或写入的数据字段。下面我们举一个访问控制约束的例子:
*某些参与者不能看到文件的某些部分,比如医生看不到保险号码,保险公司看不到医疗敏感信息。
*一些参与者被不允许采取一些行动。例如,一名护士不被允许写一张处方。
*其他介入的参与者也可以限制访问文件。例如,在测试药物时,研究人员可以从文件中检索有关副作用的数据。此外,政府官员可以访问这个文件和其他文件来匿名报告某些疾病的传播。
完整性约束对可以在文档的每个字段中输入的值加以限制。完整性约束的示例包括要求从政府批准的药物列表中选择处方药的名称,或者要求每月剂量是每个人每日剂量的总和。
最后,生命周期约束是对其他可执行的有效操作顺序的限制。如果操作发生“乱序”,则文档仍然是可读的,但是对其历史的检查将显示出其不一致的状态。 生命周期约束包括必须在药剂师可以填写之前经过保险公司批准的处方,或者在对该文件采取另一个措施之前必须执行医生要求的任何测试。
我们假设可以使用少量的原子动作(包括写入,读取和更新)修改文档,这些原子动作可以在特定字段中为文档添加值,读取字段或分别更新(替换)给定字段中的值 。该文件还支持一些特定用途的行为,包括执行,批准和填写。行为执行表示已经进行了医生之前要求的医学检查,并允许承担该检查的护士将信息汇总到测试的数据结构中。保险公司员工执行行动批准,表明它将偿还处方费用。最后,药剂师在填写处方时执行填充行为。实际上,这些附加行为并不是绝对必要的。实际上, 可以使用基本动作写入,读取和更新来描述相同的行为,同时限制文档的哪一部分被操作,但是这些附加动作稍后将被允许以更简洁的方式陈述生命周期。
生命周期规定在文件初始化之前不能对文件执行任何操作,首先填写个人信息部分,然后输入保险编号。只有当这两个步骤完成后才能开始使用文件记录医疗信息。我们假定该文件最初是由医院创建的,并且由护士为每位患者初始化他的个人信息和保险号码。
在输入了患者的识别信息之后,医生可以采取两种行动:要么开药,要么要求进行医学检查。使用行动测试来进行测试,这表示将某个值v写入分段测试 。一旦完成,除了执行专门的动作执行之外,不能采取其他行动,指示包含将最后所请求测试的结果的值写入到测试数据结构中。另一方面,如果医生开药,必须先经过保险公司批准,才能由药师填补。在此过程中的任何一个步骤,患者可能会被反应写在文件上的副作用。如果任何副作用被报告,除非医生使用阅读行为检查了所报告的副作用,否则任何人都不可以采取其他措施。
2.2、 统计过程
文件操作的顺序特别敏感的另一个背景是银行业务。在这种情况下,限制文件操作的工作流程执行适当的银行法律法规以及确保谨慎管理货币的适当预防措施。最近研究了这种情况,并提出了一种新颖的形式来说明对文档工作流程的限制。他们的形式主义过程矩阵比BPMN严格得多,因为它允许用户对执行某些步骤的前提施加条件限制。
图1显示了他们使用的运行示例,这是一个贷款申请流程表单。图中的每一行都表示该流程的一个活动,序号列在第一列。接下来的三列指出了委托人在这个过程中可以拥有的三种角色(申请人,个案工作者和经理)的访问权。例如,申请人可以拥有写入权,然后可以同时拥有个案工作人员和经理的读取权,但只有经理可以申请二手贷款的需求。下一栏列出了活动之间的序列约束。如果活动A是活动B的逻辑前驱,则任何时候活动A被重新执行时,活动B也必须被重新执行。 最后一列描述可能使活动变得多余的可选布尔活动条件。在我们的例子中,如果谓词Rich持有,则可以省略第二个批准。
图1申请贷款的过程表单
图2.在伦敦用于公共交通的Oyster卡
2.3、 数据完整性策略
所考虑的方案在执行几类数据完整性策略方面也可能是有用的。所有这些都可以被称为有限自动机。
有保证的流水线通过在任何其他数据处理之前指定哪些数据转换必须发生,来促进在信任边界上的检测信息的安全转移。例如,可以指定保证的流水线以确保在公开散发之前保密机密数据或者格式化用户输入 在进入系统之前(见图2)。
中国长城政策可以被用来防止利益冲突的发生。例如,执行中国墙政策可以防止咨询顾问向两家竞争公司同时提供咨询意见,或者防止投资者在他所持有的公司中建议投标。 在此模型中,访问数据对象o的用户被禁止访问与o冲突的其他数据对象。
sobel和alves-foss提出了一种基于追踪的中国墙政策执行模式,丰富了数据征收和时间框架的有用概念,本文提出的数据管理方案是适合的。在框架中,每个对象都是 与动作 - 主体对列表关联,按顺序列出动作(创建或读取)在对象上执行的每个主体。在格式良好的对象上,列表以一个创建事件开始,然后是一系列读取。这个政策被说成是一系列的利益冲突Cisin;P(O)。每个对象Oi都与其间的Ci冲突相关联,并列出与其冲突的其他对象。通过阻止任何访问集Ci中的对象的用户访问对象Oi来保证中国墙政策的执行。
最后,由Biba设计的低水位策略是为了获得确保数据完整性的费用。在这个模型中,每个主题和每个数据对象完整地被映射到同一个水平,表明其可信度。一个主题只能写等于或低于其完整性级别地对象,并且只能读取高于或等于其自身完整性级别的对象。这样可以防止主体和对象受到不可靠(低完整性)数据的污染。
2.4、 其他例子
生命周期策略的概念可以应用于各种其他领域,我们在下面简要提及其中一些。
智能卡。例如经典的MIFARE ,用于授权访问公共交通。它们记录其运营商当前所持有的接入令牌的数量,以及他之前在系统中的行程。卡片由读卡器编辑。类似的卡片如图书馆卡,酒店钥匙卡,会员卡,社会福利,汽车租赁和进入游乐园或博物馆。
在这种情况下,“文件”是一个物理的存在,从一个读卡器到下一次乘客通过公共交通网络。然而,在这种情况下,不信任的来源不是读卡器,而是卡片的携带者。举例来说,不希望同一张卡从同一个入口进入两次,这可能表示试图使用同一张卡来通过两个人。这是一个生命周期属性的例子, 包含在MIFARE卡中的信息也可用于允许或禁止从一条公共交通路线转移到另一条公共交通路线,并在生命周期政策中获取任何适用的限制。
运动数据。Johansen和其他人在精英运动队开发了一个具体的解决方案用例。事实上,体育数据分析对竞争力的影响已得到公认,并且包含着越来越多的运动员技术,医疗和个人数据记录。为了保护这些数据, 与希望每一类人访问它们相关数据,为这些角色中的每一个角色定义规则集。这些规则可以明确谁应该访问什么数据,而且这些记录应该如何处理或者不能被处理。 例如,禁止教练访问运动员的原始医疗数据,但可以允许查看一周内的平滑数据。这里,生命周期的目标 - 角色和相关规则的集合 - 确保运动员数据的机密性并允许他们 保持对他们的数据的控制。
图3. Guard-Stage-Milestone生命周期范例
lt;
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[23482],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。