没有合适的资源?快使用搜索试试~ 我知道了~
全球计算系统中的安全策略与膜
理论计算机科学电子札记138(2005)23-42www.elsevier.com/locate/entcs安全策略作为全球计算系统中的膜1Daniele Gorla2文凭di Informatica,Univ. di Roma“La Sapienza”,意大利Dip. di Sistemi ed Informatica,意大利马修·轩尼诗3DEP. 信息学,大学英国布莱顿(Brighton)Vladimiro Sassone4DEP. 信息学,大学英国布莱顿(Brighton)摘要我们提出了一个简单的全球计算框架,其主要关注的是代码迁移。系统是以站点为单位构建的,每个站点分为两个部分:计算主体和调节计算主体与外部环境之间相互作用的膜。更确切地说,膜是控制相关位点的过滤器,它们也依赖于位点之间的信任概念。我们开发了一个基本的理论,通过膜表达和执行安全策略。最初,这些仅控制传入代理打算在本地执行的操作。然后,我们调整基本理论,以涵盖更复杂的政策,其中代理想要执行的动作的数量,以及它们的顺序,被认为是。关键词:全局计算,代码迁移,访问控制,安全策略,类型。1这项工作得到了欧盟FET-供资机构不负责对本文所列结果的任何使用2 电子邮件地址:gorla@di.uniroma1.it3 电子邮件地址:matthewh@susx.ac.uk4 电子邮件地址:vs@susx.ac.uk1571-0661 © 2005 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2005.05.00324D. Gorla等人/理论计算机科学电子笔记138(2005)231介绍计算越来越多地以应用程序的全球规模和移动组件之间无处不在的交互为特征在即将到来的这种系统在技术和概念上都存在巨大的困难,目前更多地处于令人兴奋的未来前景阶段,而不是建立工程实践。然而,有两个问题显然具有深远的意义:安全性和移动性控制,分别来自开放性和大规模代码和资源迁移。这是本文的重点。我们的目标是分类移动组件根据他们的行为,并授权网站的控制能力,使他们能够拒绝访问这些代理的行为不符合网站我们看到一个系统k [[M |P]]作为一个名为k的实体,结构分为两层:一个计算主体P,程序在其中运行代码–一个希望进入一个地点N的代理人P在被给予机会在N中执行之前必须被膜验证。如果初步检查成功,则允许代理执行,否则拒绝。换句话说,膜通过对传入代理的访问请求进行裁决来实现每个站点希望在本地执行的策略。这可以很容易地用以下形式的迁移规则来表示:k [[Mk|阿尔戈公司|Q]] l [[Ml|R]] → k [[Mk|Q]] |CUP |R]]如果MlkP这里的相关部分是P,希望从k迁移到l的代理,以及l,接收站点,它需要满足P后者由I判断Ml_k_P表示检查输入代码以验证其支持Ml。D. Gorla等人/理论计算机科学电子笔记138(2005)2325不不观察到,在上述公式中,MlkP表示所有传入代理的运行时检查。由于我们的基本假设是开放性的,这种检查尽管不可取,却无法避免。为了减少它们对系统性能的影响,并使运行时语义尽可能有效,我们采用了一种策略,允许有效的代理验证。确切地说,我们采用了信任的基本概念,因此从每个l的角度来看,站点集合始终被划分为然后,在类似于上述规则的情况下,我们假设l将愿意从可信站点k接受P行为的k-认证摘要T然后,我们修改原始go和判断rankk,如下面的细化迁移规则。k[[Mk|Tl.P.|Q]] l [[Ml|R]] → k [[Mk|Q]] |CUP |R]]如果MlkP值得注意的是,P. 在这里,l验证整个代码P,Ml仅当它不信任P的证书T的签名者k否则,l需要将Ml与go携带的摘要T以及来自k的P进行匹配,从而有效地将工作从l转移到P的发起者。我们在本文中主要关注的是把重点放在机械膜应执行不同种类的政策。我们首先提炼出最简单的微积分,它可以传达我们的想法,并且仍然支持一个重要的研究。重要的是要注意,我们是从代理这些可以用几个众所周知的并发模型中的任何一个来表示,例如CCS [13]或π相反,我们关心的是代理从一个站点迁移到另一个站点:我们的使用这种语言,我们检查四个概念的政策,并显示如何可以通过使用膜来执行我们从一个有趣的简单策略开始然后,我们开始计算动作发生的次数,然后是由确定性有限自动机表示的策略。请注意,这些政策只关注单个代理的行为,而不考虑“联盟”行为,即进入代理-显然是无辜的-加入常驻代理的集群-他们也显然是无辜的-合作执行可能有害的我们称那些旨在应用于一个地点所包含的代理人的联合、复合行为的政策为常驻政策。我们将居民政策作为我们的第四个也是最后一个政策概念在所有的情况下,该理论都能顺利地适应各种情况;我们只需要对储存在膜中的信息和检查机制进行细化。论文的结构 在第2节中,我们定义了其中使用的微积分。26D. Gorla等人/理论计算机科学电子笔记138(2005)23P、Q、R 特工::=零。a.P . 去吧。P|Q. !P系统N::=0。l [M| [2004年12月21日]]。N1N2Fig. 1. 一个简单的微积分文件,并从简单的策略开始,该策略仅规定代理在站点中运行时可以执行的操作在第3节中,我们加强了理论,以控制有多少(而不仅仅是哪种)行动的代理人想要在一个网站上执行,以及他们的执行顺序。最后,在第4节中,我们将理论扩展到控制在一个站点发生的整体计算,而不仅仅是单个代理的行为本文的结论是在第5节,与相关的工作也给出了比较理论结果在全文[8]中得到了证明2一个简单的微积分在这一节中,我们描述了一个简单的演算移动代理,这可能会迁移网站之间。每个站点都有一个膜,其任务是确保站点接受的每个代理都符合进入策略。2.1语法语法在图1中给出,并假设两个成对不相交的集合:基本代理动作ACT,范围为a,b,c,···,以及位置LOC,范围为l,k,h,···。代理是使用标准的动作预处理,并行组合和复制操作符从进程演算中构建的,[13]。一个新颖的操作符是迁移,去Tl.P.此代理寻求迁移为了执行代码P,它承诺遵守进入策略T.实际上,这可能包括一个传入代码P符合策略T的证明,站点l必须决定是否接受。在我们的框架中,这种证明是描述代理的(局部)行为的策略;因此,在goTl.P中,T将被称为P的摘要。一个系统由一组有限的并行运行的站点组成 站点采用l [[M]的形式|其中l是站点名称,P是当前在l处运行的代码,M是实现入口策略的膜。为了方便起见,我们假设站点名称在系统中是唯一因此,在给定的系统中,我们可以通过Ml识别与命名为l的位点相关的膜。我们从一个非常简单的政策开始,然后我们将逐步加强。D. Gorla等人/理论计算机科学电子笔记138(2005)2327定义2.1[政策]政策是政策的任何有限子集。对于两个策略T1和T2,我们写T1强制T2,只要T1≠T2.直觉上,如果代理在给定站点执行的每个操作都包含在T中,则它在该站点上符合策略T,并且它只会迁移到名称在T中的站点。例如,符合策略{info,req,HOME}(其中info,req是操作,HOME是位置)意味着将执行的唯一操作来自集合{info,req},并且迁移将仅发生(如果发生)到站点主目录。通过对策略的这种解释,我们对谓词强制执行的定义也是直观的;如果某个代码P符合策略T1,而T1强制执行T2,那么P也自动符合T2.膜的目的是对进入的代理执行这样的策略换句话说,在站点l [[M|希望强制执行策略T_in,膜M必须决定何时允许从另一个站点进入代理(诸如goT_l.P)。有两种可能。• 第一个是在语法上检查代码P与策略T的关系;一个实现实际上会期望代理带着这个事实的证明到达,并且这个证明会被检查。• 第二种是信任代理,它的代码P符合规定的T,因此只检查这是否符合中的进入策略T。假设检查一个策略与另一个策略的对比比代码分析更有效,那么这将使入境手续更加容易。决定何时应用第二种可能性的前提是系统的信任人框架,这是当前许多研究的主题为了简化问题,这里我们简单地假设每个站点包含作为其膜的一部分的它在其他站点中的信任级别的记录此外,我们假设只有三个可能的水平:lbad,loc和lgood。定义2.2[膜]膜M是一对(Mt,Mp),其中Mt是从LOC到{loc,lgood,lbad}的部分函数,Mp是一个策略。2.2操作语义在定义了策略和膜之后,我们现在给出了演算的操作语义,它形式化了上面关于如何管理代理迁移的讨论。这是一个二元关系N→NJ在sys上给出的。它被定义为满足图2中规则的最小关系。规则(R-ACT)表示代理a.P与站点l中的其他代码(如Q)并行运行,可以执行操作a;请注意,语义确实如此。28D. Gorla等人/理论计算机科学电子笔记138(2005)23111不不不p(R-ACT)l [[M |P. |Q]] →l [[M |CUP |Q]]N1→NJ(R-面值)N1<$N2→NJ<$N2(R-结构)NN1N1→NJN→NJNJNJ(R-MIG)k [[Mk|Tl. P.|Q]] l [[Ml|R]]→k[[Mk|Q]] |CUP|R]]如果 姆拉迪奇山口图二. 还原关系不记录a的发生。(R-PAR)和(R-STRUCT)是标准的。第一个允许在并行组件内进行约简,而第二个说约简是相对于结构等价的。定义这种等价性的精确规则并不令人惊讶,因此留给全文[8];它们指出,|'和' 0 '是monoidal运算符(分别以nil和0作为恒等式),并且复制的过程可以自由展开。有趣的归约规则是最后一个(R-MIG),它控制迁移;代理goTl.P可以从站点k迁移到站点l,前提是谓词MlkP是真的这个的膜Ml,并进而需要满足策略T的代码P的概念,► P:T有了这样的概念,我们就可以定义MlkP为:如果Ml(k)=lgood,则(T强制Ml)else|P:Ml(1)tp p换句话说,如果目标站点l信任源站点k,则它信任所宣称的策略T是进入代理P的行为的忠实反映,并且然后如果T执行进入策略,则Ml(即,在这种情况下为TM1)。 否则,如果k不可信,则p p必须检查整个传入代码P以确保其符合入口策略,如由谓词P:M1所表达的。在图3中,我们描述了一个简单的推理系统,用于检查代理是否符合策略,即推断出形式为T的判断。规则(TC-EMPTY)简单地说,空代理nil满足所有策略。(TC-ACT)也很简单;a.P满足策略T,如果T允许a,则剩余P满足T。规则(TC-PAR)指出,1D. Gorla等人/理论计算机科学电子笔记138(2005)2329Δppp(TC-空)(TC-ACT)► P:T(TC-MIG)► P:TJ(TC-REPL)► P:T(TC-PAR)► P:TQ:T► 零:Ta∈T► a.P:T► 去TJl∈Tl.P:T► !P:T► P|Q:T图三. 对进入的代理进行P|单独检查P和Q是足够的,对于复制的年龄也是如此。最大的检测规则是(tc-miG),其中k是g。P. 它不仅检查策略是否允许迁移到l,即l∈T,而且还检查在那里生成的代码P是否符合相关的教授,教授,教授。我是说,如果他再不去的话。P是所有owedaentryin到一个站点k,那么k对它所做的任何承诺承担责任,符合政策。2.3安全我们刚刚概述了一种归约语义,在这种语义中,站点试图通过直接检查传入代理的代码与入口策略,或者更简单地这种策略的效果取决于网站信任管理的质量,这并不奇怪例2.3让HOME成为具有以下信任函数ht审议该制度: {爱丽丝,鲍勃,安全}→好。S=HOME[[M H|CUPh]]BOB [[Mb|⟩P[[M]][[M]]一|CUPa]]安全的[[MS|CUPs]]其中,归属地Mh的进入策略是{info,req,SECURE},安全,Ms,是{give,HOME}。 由于Mh(BOB)=lgood,代理迁移pt从BOB到HOME的所有用户都是可信的,并且仅针对进入策略Mh来检查他们的用户名。所以,如果Pb包含代理人去我家。(take.Q)如果T1强制执行Mh,则将违反家乡这个例子中的问题是,家庭的信任知识是错误的;它信任那些不能适当确保所宣称的政策得到执行的网站被迫让我们把网站分为可信的和不可信的。这种二分性可以存储在一个外部记录中,说明哪些节点是可信的M30D. Gorla等人/理论计算机科学电子笔记138(2005)23不p(WF-空)► 0:好的(WF-G。地点)► P:Mp► l[M |[P]]:OK l值得信赖(WF-PAR)(WF-U)地点)► N1:好的, N2:好的,不值得信任100万美元 N2:okl [[M |[P]]:OK见图4。 良型系统(即:而那些人,却不是。然而,为了经济起见,我们更愿意将这些信息记录在膜中,要求可信站点的信任知识是这种划分的适当反映。如果我们假设以下信任级别的顺序,这就更容易定义了loc:lbad和loc:lgood这反映了一种直观的想法,即分类为LOC的网站可能随后被分类为lgood或lbad,也许有进一步的信息。另一方面,lgood或lbad不能进一步细化;被归类为任何一种的站点都不会被重新归类。定义2.4[可信站点和相干系统]在系统N中,如果Mk(k)=lgood,我们说站点k是可信的。N是相干的,如果对于每个对于可信站点k,它认为Mk(l):Ml(l)。t t因此,如果可信站点k相信站点l可以被信任(即,Mk(l)=lgood),则l确实是可信的(如由Ml(l)=t tlgood)。同样,如果它相信l是lbad,那么l确实是bad。唯一的不确定性是当k将l归类为loc时:那么l可能是lgood或lbad。当然,在一致性系统中,我们期望被分类为可信任的站点以可信任的方式运行,这相当于说,在这样的k下运行的代码必须通过满足入口策略而在某个时候获得入口。注意,通过使用定义2.1中的策略,如果P满足进入策略Mk,则它在k处运行时继续满足该策略(参见下面的定理2.7)。相干系统的这种性质,我们称之为良构性,因此可以从句法上加以检验。在图4中,我们给出了一组规则,用于导出N的良构性的判断<$N:ok。只有两个有趣的规则。首先,(WF-G. 网站)说,l [[M|当l是可信的并且[P]:M p时,[P ]是格式良好的。这里有一个微妙之处;这不仅意味着P符合策略Mp,而且P中的代理人提供的任何代理人也可以信任。第二个相关规则是(WF-U。站点),D. Gorla等人/理论计算机科学电子笔记138(2005)233111不ppp(LTS-REPL)(LTS-PAR)(LTS-ACT)(LTS-MIG)P|!P→αPJP→αPJ11a. P→aP去TL. P→l 无!P→α PJP1|P2→PJ|P2P2|P1→ P2|P J图五. 一个标记的转换系统对于输入未知站点:这里不需要检查驻留代码,因为从这样的站点移出的代理将不被信任。实施例2.5(继续实施例2.3。现在让我们重新考察例2.3中的系统S。假设家是可信的,即Mh(家)=lgood。然后,如果S是一致的,则每个站点BOB、ALICE和SECURE也必须是可信的。因此,S不可能是良构的。例如,要导出CNOMS:ok,必须导出► 去我家。(take.Q):MBp其中Mb是BOB的进入策略。但这需要法官的判断。取Q:T1,其中T1强制Mh。 因为取f ∈ Mh,这是不可能的。在良构系统中,我们知道进入策略是被尊重的。因此,证明我们的归约策略正确地执行这些策略的一种方法是证明两件事:系统的良构性通过归约得以保持第一个要求很容易形式化:定理2.6(主语归约)如果N→NJ,则N →NJ:好的.为了形式化第二个要求,我们需要一些关于主体计算的概念考虑到这一点,我们首先定义了代理之间的标记转换系统,该系统详细描述了代理可以执行的即时操作形式,以及软管活动的残留物。判别准则P→αQ,其中,我们让α的范围超过ACT<$LOC,如图5所示,这是为了战争。这种判断方法可推广到P→σQ,其中σ范围超过(A CT<$L OC)σ,以标准方式:σ = α1,...,αk,当那里 存在 P,...,P使得P=P→α1αk...P=PJ. 最后让0k0→kact(σ)表示ACT<$LOC在σ中的所有元素的集合。定理2.7(安全性)设N是良型系统。然后,对于每个trusto rthysitel[[M|N中的[P]],P→σ Pj蕴含t使act(σ)强制sM。pαα32D. Gorla等人/理论计算机科学电子笔记138(2005)23不pΔp3入境政策上一节的演算基于一个简单的入口策略概念,即动作和位置名称的有限集合如果一个代理在迁移到T中的某个位置之前只执行T中的动作,那么它在一个站点上遵守这样的策略T。然而,演算的语法和语义都是完全参数化的策略集合所需要的只是它们之间的二元关系T1强制T2关系P:T,指示代码P符合策略T。 与任何政策的集合,赋予两个这样的关系,我们可以定义谓词MkP如上面的(1)中那样,从而得到用于微积分在本节中,我们将研究进入策略概念的两种变体,并讨论我们可以在多大程度上证明归约策略正确地实现了它们。3.1作为入口策略上一节中的政策仅表示代理人可以在研究中心执行的法律行为然而,在许多情况下,更严格的政策是可取的。为了阐明这一点,考虑下面的例子。例3.1设MAILSERV为邮件服务器的站点名,其入口策略为Mms:{list,send,retr,del,reset,quit}。服务器接受客户端代理执行请求,列出邮件消息,发送/检索/删除消息,重置邮箱和退出。现在,考虑一下这个系统S=邮件服务[[Mms|⟩Pms ]] I'm sorry.垃圾邮件[[Ms|⟩goTMAILSERV. (!发送)]]其中T={send}。 根据图3的类型检查,► !发送:Mms。然而,该代理是一种垃圾邮件病毒,在实际实现中,应该被邮件服务器拒绝。在这种情况下,更适合的策略是能够固定发送的消息数量在我们的设置中,这可以通过将策略从代理动作集更改为多动作集来实现首先,让我们固定一些符号。我们可以把多重集看作是一个带有出现函数的集合,它把一个自然数与集合中的每个为了对永久资源进行建模,我们还允许出现函数将ω与多集中出现次数有限的元素相在符号上,eω代表一个元素e在一个多重集合中出现无限次这个符号被扩展到集合;对于任何集合E,我们让Eω表示多集{eω:e∈E}。D. Gorla等人/理论计算机科学电子笔记138(2005)2333p1 2见图6。 将策略作为多集进行实施例3.2(续实施例3.1)回到例3.1,将Mms定义为{...,sendK,.. . 其中K是合理常数。这样,代理在每个会话中最多只能发送K条消息;如果它想发送更多的消息,它必须断开与邮件服务器的连接(即,然后再重新连接(即,以后再移民在2.2节和2.3节中提出的理论可以适用于策略是多组动作的情况。在图6中重新定义了判断符P:T,其中运算符代表多集并。关键规则是(TC-ACT)、(TC-PAR)和(TC-REPL).前两种方法在检查子代理时第三个是必要的,因为递归代理可以,在一般情况下,自由展开,因此,他们在-往往在本地执行的行动可以任意多次迭代。比如说,Δ特工P=!Δ发送,满足策略T={发送ω}。 请注意,新政策-冰冷的满足判断防止了例3.1中的垃圾邮件病毒对例3.2中定义的邮件服务器策略进行类型检查。上一节的分析也可以在这里重复,但是一个适当的良构系统的概念更难表述。基本问题源于进入政策和居民政策之间的差异。事实上,所有曾经进入一个地点l的代理人都遵守一个进入政策Mp,这并不能保证与当前占据该地点l的代码的联合效应是否也满足Mp。例如,在例3.2中,邮件服务器确保每个传入代理最多只能发送K条消息。然而,两个这样的代理,已经获得进入,现在在邮件服务器上同时运行,可以合法地发送因此,有必要根据当前在站点上执行的代码的各个线程来制定格式良好性。我们说P是一根线,如果它不是P1的形式|P2.注意,每个代理P可以写成P 1 的形式|......这是什么? |Pn,n ≥ 1,其中每个Pi是一个线程。(TC-ACT)(TC-MIG)(TC-空)► P:T► P:TJ► 零:T► a.P:T{a}► 我的天P:T{l}(TC-PAR)► P:T1► Q:T2(TC-REPL)► P:Tω′► P|Q:T电子邮件► !P:TJTenforcesT34D. Gorla等人/理论计算机科学电子笔记138(2005)23p因此,良构性判断通过替换规则(wf-g)来修改。如图4所示。(WF-G。地点M)i。(Pia threadandPi:Mp)ltrustworthy► l [M|CIP1|......这是什么?|Pn]] : ok定理3.3(多集策略的主体归约如果是N:ok且N→NJ,则<$NJ:ok。安全性声明必须更改,以反映对单个线程而不是代理的关注定理3.4(多集策略的安全性)设N是良构系统。然后,对于每个可信的 站点l [[M |CIP1|......这是什么? |n]],其中每个Pi是head,P→σ Pj蕴涵t,act(σ)强制sM。伊伊普3.2作为进入策略的第2节中所述的设置的第二个限制是,政策有时需要规定执行法律行为的精确顺序这在客户端/服务器交互中非常常见,其中必须遵守精确的协议(即消息交换模式)。为此,我们将策略定义为确定性有限自动机(简称DFA)。例3.5让我们再次考虑例3.1。通常,邮件服务器需要一个初步的身份验证阶段才能访问邮件服务。为了表达这一事实,我们可以实现邮件服务器的入口策略Mms,是与下面的正则表达式相关联的自动机usr。pwd. (list + send + retr + del + reset)退出服务器只有在通过用户名/密码机制进行身份验证时才接受客户端请求。此外,该策略通过强制每个动作序列通过退出终止来强制每个会话定期提交。这可能是保存交易状态和避免不一致所必需的。我们现在给出适应第2节中所发展的理论所需的形式定义。我们首先定义DFA,与之相关的语言,DFA之间的强制谓词以及Agent满足DFA的方式。Δ通常[11],DFA是五元组A=(S,S,s0,F,δ),其中S是有限集其中,f是输入字母,s0∈S是起始状态,是最终态的集合,δ:S×S→S是跃迁关系InD. Gorla等人/理论计算机科学电子笔记138(2005)2335在我们的框架中,所考虑的DFA的字母表是ActLOC的有限子集。此外,为了简单起见,我们将始终假设本文中的DFA是最小的。定义3.6[DFA的接受和执行]设A是DFA。然后• Acps(A)包含所有的σ∈φ,使得σ使A从状态s到最终状态;• 定义Acp(A)为Acps0(A);• 当Acp(A1)≠Acp(A2)时,A1强制A2我们现在正式描述与代理相关联的语言 为此,我们利用[ 7 ]中引入的并发正则表达式(CRE,简称)的概念来建模并发进程。就我们的目的而言,CRE的以下子集:e::=0 |α |e1.e2|e1和e2|e表示空字符序列,α的范围为A ctL OC,".表示级联,是交织(或shu_e)运算符,并且是它的闭包。直觉上,如果e代表语言L,那么e代表{} LL.. . . 给定CREe,关联对于它,写lang(e),可以很容易地定义;在全文中给出了正式的定义现在,给定一个过程P,我们可以很容易地定义一个与之相关的CRE。Δ ΔCRE(nil)= CRE(a.P)= a. 综合招聘考试(专业)Δ ΔCRE(goA1.P)= 1CRE(P1|P2)= CRE(P1)<$CRE(P2)CRE(!PΔ)= CRE(P)定义3.7[DFA满意度]代理人P满足DFAA,► P:A,如果lang(CRE(P))<$Acp(A),对于P的每个子施事,我认为这是一个很好的例子。在全文中,我们证明了强制谓词可以有效地建立,而DFA满足是可判定的,但很难建立。这证实了我们的假设,即从计算复杂性的角度来看,验证测试程序比检查完整的代码我们现在准备说明这种变化的合理性它仅仅在于找到一个关于良构系统的适当概念。与3.1节一样,入口策略只能表示单个线程的属性,而不能表示联盟的属性36D. Gorla等人/理论计算机科学电子笔记138(2005)23在一个网站上托管的线程。我们将以“变”为“变”。如图4所示。(WF-G。A站点)i。P i是一个线,且S∈S. lang(CRE(Pi))<$Acps(Mp)► l[M|CIP1|......这是什么?|Pn]] : okl值得信赖这本质上要求与l中的每个线程相关联的语言是Mp接受的单词的子集(参见下面的定理3.9)。由于这可能看起来很弱,值得注意的是,良构谓词只是一个“一致性”检查,一种表示代理处于将遵守l的策略的状态的定理3.8(自动机策略的主题归约如果N:ok且N→NJ,则<$NJ:ok。定理3.9(自动机策略的安全性)设N是良型系统。然后,对于每个可信的站点l [[M |CIP1|......这是什么?|Pn]] in N, where each Piis a thread, itholds that σ ∈ lang(CRE (Pi)) implies that there ex-ists σJ ∈Acp (M p) suchthat σJ= σJJσ, for some σJJ.4居民政策在这里,我们改变了对政策的预期解释在上一节中,一个策略规定了代理在进入点执行之前这意味着格式良好的系统中的安全性是一种线程属性(请参见rules(WF-G。站点M)和(wf-g. 站点A))。在这里,我们专注于政策的目的是描述允许(联盟)的代理在执行过程中的行为在一个网站。尽管如此,这些驻留策略仍然用于确定是否允许新代理访问所讨论的站点;只有在将此传入代理添加到当前在站点上执行的代码不违反策略的情况下,才允许进入。让我们考虑一个例子来说明进入策略和驻留策略之间的区别例4.1设LICENCESERV为提供K个许可证以下载和安装软件产品的服务器的站点名称。分发策略基于队列:第一个登陆站点的K代理被授予许可证,以下代理被拒绝。服务器的策略应该是MsΔ{获取许可证K}。 但是,如果将此政策解释为P=进入政策,应用第3.1节的理论,那么系统授予D. Gorla等人/理论计算机科学电子笔记138(2005)2337不不最多的K许可证给每个传入代理。此外,这种情况无限期地继续下去,实际上是向所有入境代理人发放许可证。我们希望将上一节的政策重新解释为居民政策,在这里我们概述了执行此类政策的两种不同方案为了简单起见,我们把注意力集中在一种策略上,即多集策略4.1静态膜我们的第一个方案是保守的,因为在3.1节中为进入政策发展的许多概念可以重新部署。让我们重新考虑图2中的迁移规则:(R-MIG)k [[Mk|Tl.P.|Q]] l [[M]l|R]] →k[[Mk|Q]] |CUP|R]]如果 姆拉迪奇山口(二)这里膜Ml仅考虑输入码P,和它的摘要T,当决定条目时,通过谓词MlkP. 但如果膜要强制执行驻留策略,则它还必须考虑已经在l,R中运行的代码的贡献。要做到这一点,我们需要一种连接策略的机制,例如(2)中传入的P和驻留的R。因此,让我们假设具有关系强制的策略集是偏序,其中每对元素T1和T2具有最小上界,记为T1HT2。对于多集策略,这是因为H只是多集并。此外,我们还需要能够计算一个过程R满足的(最小)策略;让我们将其表示为pol(R)。对于多集策略,我们可以调整图6中的规则,基本上是通过消除弱化来执行这个计算;结果规则在图7中给出,带有形式为DP:T的判断。定义4.2定义闭项上的偏函数pol(·),pol(P)是唯一的策略,使得DP:T,如果它存在的话。有了这些额外的概念,我们现在可以改变(2)中的规则(R-MIG),以考虑当前的驻留代码换边就够了条件,从MlkP到Ml,RkP,其中后者被定义为T T如果Ml(k)= lgood,则(THpol(R))强制Ml 否则,|R:M1tp p这里,如果仅需要检查摘要,则我们将THpol(R)(即,将摘要添加到驻留代码R的策略的结果)与驻留策略Mp进行比较。另一方面,如果源站点不可信,38D. Gorla等人/理论计算机科学电子笔记138(2005)23nil:无T′强制T见图7。 策略为多集的则需要与驻留码R并行地分析输入码。应该清楚的是,在3.1节中发展的理论很容易适应于这个修改后的约简语义。特别是主体归约定理和安全定理仍然是正确的;我们省去了读者的细节。然而,还应该清楚的是,这种执行常驻政策的办法有严重的实际缺陷。实施工作需要:(i) 冻结并检索站点的当前内容,即代理R;(ii) 计算R满足的最小策略,将其与P的摘要合并,以检查谓词强制执行,或对组合代理P进行类型检查|R;(iii) 重新激活R,并根据检查阶段的结果,激活P.即使该语言配备了一个参数化操作符,如[17],整个操作仍然是计算密集型的。因此,我们在下面建议另一种方法。4.2动态膜在前面的方法中,我们必须在每次新代理请求进入时重复计算当前驻留代码的策略。在这里,我们允许膜中的策略因此,在任何特定时刻,当前在膜中的策略记录了剩余的资源,用于任何可能希望进入的未来代理;随着每个代理的进入,膜的策略中存在相应的减少。形式上,我们需要将迁移规则(2)更改为不仅检查传入代码或摘要,(TI-ACT)(TI-MIG)(TI-空)DDP: TDa.P:T{a}DP: TJDgoTl.P:{l}(TI-REPL)(TI-PAR)DP: TDP: T1 DQ: T2D!P:TωD P|Q:T 1T 2D. Gorla等人/理论计算机科学电子笔记138(2005)2339不不不pppp不不pp(WF-G。地点)l值得信赖(WF-空)θl [[M| k(pol(P)HM p)强制Θ(1)好的(WF-U。地点)θ l [[M |[P]]:OK我不值得信任(WF-PAR)好的,好的好的见图8。 Θ下的良型系统against(R-MIGJ)k [[Mk|Tl. P.|Q]] l [[M]l|R]] →k[[Mk|Q]]|CUP|R]]ifMlkP>M^l其中,判决MlkP>M^lisdefinedas令TJ=如果Ml(k)=lgood,则为其他情况下,阿利波尔(P)in(TJenforcesMlMl=M^lHTj=M^l)首先注意,如果发生这种迁移,则靶位点处的膜从Ml改变为Ml。后者是由前者通过消除分配给输入代码P的那些资源。如果源站点k被认为是lgood,则这是通过传入摘要T计算的;否则需要对代码P进行直接分析以计算pol(P)。从实现的角度来看,这种修改后的模式更合理随着计算的进行,在各个地点的原始居民保险单系统中不保留永久记录因此,良构性只能相对于系统启动时驻留策略的外部记录来定义。为此,我们使用函数Θ,将可信站点映射到策略;记录这些站点的原始策略就足够了,因为我们对其他地方的行为不感兴趣。然后我们可以定义良构系统的概念,相对于这样的Θ;这被写为Θ<$N:ok,形式定义在表8中给出。关键的规则是(WF-G)。网站),对于值得信赖的网站。如果l是这样一个站点,那么l [[M|如果M|Hpol(P),则相对于原始记录Θ,保证在l处的原始驻留策略,即Θ(l)。40D. Gorla等人/理论计算机科学电子笔记138(2005)23定理4.3(居民保险单的主体减少)如果Θ∈N:ok且N→NJ,则Θ<$NJ:ok。定理4.4(驻留策略的安全性)设N是良构系统,特姆·瓦特 Θ。 然后,对于每一个trus twor thysitell[[M|在N中,P→σPJ这意味着act(σ)强制执行Θ(l)。5结论和相关工作我们已经提出了一个框架来描述分布式计算的systems涉及迁移代理。进入/运行在我们已经描述了膜如何执行几种有趣的策略。为更简单的情况提出的基本理论已经在整个论文中进行了细化和调整,以增加框架的表达性显然,代理人的任何其他类型的行为例如,一个有前途的方向可能是考虑逻辑框架(通过利用模型检查或证明检查器)。我们提出的演算是非常基本的:它甚至比CCS [13]更简单,因为没有同步发生。显然,我们并没有以图灵完备性为目标,而是在一个非常基本的框架中,我们对膜的可操作性进行了研究。我们推测,通过适当地推进这里提出的理论,这里提出的所有想法都可以提升到更复杂的微积分(包括,例如,同步、值传递和/或名称限制)。相关工作。在过去的十年中,一些演算的分布式系统与代码的移动性出现在文献中。 特别是,将系统结构化为命名站点的(分级或分层)集合,引入了处理复杂具体特征的可能性。例如,站点可以被认为是故障[6,1]、移动性[6,3]或访问控制[10,16,9]的统一体。本工作可以看作是对最后一条研究路线的贡献与[9]类似,我们提出了一个膜可以进化的场景然而,第4节中所述的膜仅描述另一方面,[9]中站点的(动态演化的)类型总是约束站点中代理的整体行为,并且在通过计算获得/失去特权时进行我们借鉴了[16]站点之间信任的概念。In loc.前引书,接受来自受信任站点的代理,而不进行任何控制。在这里,我们通过检查来自可信站点的代理的摘要来放松这种选择D. Gorla等人/理论计算机科学电子笔记138(2005)2341此外,我们有一个固定的信任网络;我们相信,一旦通信被添加到我们的基础上,[16]的更丰富的场景(其中一个站点的部分知识可以在其计算过程中演变)可以恢复。相关文章[12]。作者开发了一个通用类型系统,可以顺利地实例化,以执行π它们处理一种类型,并修改子类型关系以产生几个相关的安全概念。我们的方法的主要区别在于,对于我们提出的任何变化,我们都有不同种类的类型(因此,不同的类型检查机制)将我们的工作提升到一个更接近他们的更一般的框架是很好的;我们把这个留给未来的工作。我们的工作也与[15]有关策略在那里被描述为确定性的有限自动机,并约束对并发函数语言中关键部分的访问提供了一个类型和效果系统,以保证系统与策略的一致性。特别地,保证每个线程的顺序行为遵守策略,并且线程的锁的交错与我们的论文不同的是,[15]没有代码迁移,也没有显式分发;因此,只使用一个集中式策略膜作为站点计算主体和外部环境之间的过滤器也在[5,2,17]中考虑在那里,膜是具有计算能力的对象,并且可以被认为是一种过程。它们可以进化并与相关节点的外部和内部部分通信,以调节节点的生命这与我们将膜作为验证传入代理的简单工具的概念不同总之,我们注意到我们对膜的理解与[4]中的政策概念完全不同。事实上,在LOC。前引书安全自动化通过内联监视来控制在站点中运行的代理的执行。这种技术包括无条件地接受传入的代码,但在运行时阻止那些不遵守网站策略的行为。显然,为了实施战略,每一个行动的执行都必须经过政策的过滤。这与我们的方法形成对比,在我们的方法中,膜是在位点内发生的计算不受膜的控制,因此不能依赖于在线监测。引用[1] R.阿玛迪奥 关于流动性的模型。 理论计算机科学,240(1):14742D. Gorla等人/理论计算机科学电子笔记138(2005)23[2] G.布多一个通用的膜模型。发表在Proc. of Global ComputingSpringer,2004.[3] L. Cardelli和A. D.戈登移动环境。理论计算机科学,240(1):177[4] 联合Erlingsson和F.施耐德 安全策略的SASI实施:回顾。在Proc. New Security Paradigms Workshop,第87-95页。ACM,1999年。[5] G.费拉里,E。Moggi和R.普利亚人高阶类型和全局计算的元编程。计算机科学中的数学结构,2003年。地出现。[6] C. 去你的,G。 去那边,J。 我很好,我。 Marannget,andD. 好的。计算多个数据类型。InProc. of CONCUR Springer,1996年。[7] V. Garg和M.拉古纳特并发正则表达式及其对Petri网的替换
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功