没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记128(2005)3-16www.elsevier.com/locate/entcs基于元组空间的移动Agent系统中的数据隐私1洛伦佐·贝蒂尼DipartimentodiSistemieInformatica,Universita`diFirenzeViaLombroso 6/17,50134 Firenze,Italybettini@dsi.unifi.it摘要最近,已经提出了元组空间的分布式变体,以利用Linda模型在广域网上编程分布式应用程序,可能利用代码移动性。然而,共享元组空间模型的可扩展性打开了可能的安全漏洞;它基本上不提供对共享数据的访问保护。在本文中,我们调查了一些可能的情况下,移动代理可以受益于我们的加密元组空间为基础的框架,CRYPTO KLAVA,并勾勒出如何可能实现这样的代理,以保持隐私的项目收集的移动代理在其行程。该框架的功能足够通用,可以应用于其他使用多个分布式元组空间的Java框架,这些空间可能用于处理代码移动性。关键词:移动卫星,广域网,琳达,Java,移动模式1介绍互联网从早期就受到入侵和攻击的诅咒[23,30,22]。这种入侵通常利用现有软件中的漏洞来访问计算机,复制自己并传播到其他计算机。因此,蠕虫和病毒可以依赖于移动代码的概念。事实上,移动代理和移动代码的高灵活性并不是没有代价的。从网络下载代码以供本地执行1这项工作得到了欧盟在FET----供资机构不负责对本文所列结果的任何使用。1571-0661 © 2005 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2004.11.0384L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3暴露于相对于孤立上下文的更高级别的可能威胁[26,8]。分布式和移动代码系统提出了新的安全问题,主要是因为它们当执行场景扩展到开放网络时,可以安全地接受孤立计算机的假设注定会下降。移动代理的有趣功能,例如,Auton-omy也有缺点,因为系统的所有者可能忽略远程代码正在他的机器上执行。一个成功的并发编程方法是依赖于Linda协调模型[17]。进程通过在称为元组空间的共享内存中读写元组进行通信。 通过要求元组选择是关联的,借助于模式匹配来保证访问的控制。通信模型是异步的、匿名的和生成的,即,元组Linda模型已经在许多通信框架中被采用,例如,JavaSpaces[2]和TSpaces[16],并将元组空间通信模型添加到现有的编程语言中。最近,已经提出了元组空间的分布式变体,以利用Linda模型在广域网上编程分布式应用程序[12,4],可能利用代码移动性[13,27]。如[15]所示,在检查移动代理的几个消息传递模型时,黑板方法是最有利和最灵活的方法之一,元组空间模型是其中的一个变体。在广域网(如Internet)上共享数据需要非常强大的安全机制。计算机和数据暴露于窃听和操纵。处理这些问题在代码移动性的上下文中甚至更加重要,其中代码或代理可以在网络的不同站点上移动。恶意代理可能会严重损害主机并损害其完整性,并可能篡改和洗脑其他代理。另一方面,恶意主机可能会从代理中提取敏感数据,更改其执行或修改其文本[36,28]。共享元组空间模型的可扩展性打开了可能的安全漏洞;它基本上不提供对共享数据的访问保护。事实上,没有办法确定对元组空间的操作的发布者,也没有办法保护数据:一个进程可能(即使不是故意的)检索/擦除不属于它的数据,共享数据很容易被修改和破坏。尽管如此,在Linda的方法中,很少关注保护和访问控制。在[6]中,我们介绍了CRYPTO KLAVA,一个用于构建分布式系统的Java中间件。L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)35通过密码学,通过元组空间进行交互的专用和移动代码应用程序。在这个中间件中,经典的Linda操作扩展到处理加密数据。还提供了用于加密和解密元组内容的原语。所提出的扩展,虽然针对我们的移动代理通过分布式元组空间进行交互的中间件,KLAVA[7],但仍然足够通用,可以应用于其他使用多个分布式元组空间的Java框架,[27、2、12]。事实上,这种扩展代表了Linda和移动代码的可扩展性和开放性与分布式环境中数据的隐私性之间的妥协。CRYPTOKLAVA提供的更精细的粒度允许移动代理(在迁移时不应该携带私钥)在远程站点上执行时收集使用公钥加密的数据,并在返回主站点时使用私钥安全地解密它们。在本文中,我们调查了一些可能的情况下,移动代理可以受益于我们的加密元组空间为基础的框架和草图如何可能实现这样的代理,以保持隐私的项目收集的移动代理在其行程。这 里 介 绍 的 所 有 软 件 都 可 以 在 www.example.com 上 免 费 获 得http://music.dsi.unifi.it。该文件的组织如下:如下:在第2节中,我们描述了我们框架的设计问题,第三节简要回顾了氪K熔岩第4节介绍了移动代理的情况下实现的CRYPTOK熔岩和第5节比较我们的方法,一些相关的作品。2分布式私有生成通信Linda通信模型[17]基于元组空间的概念,元组空间是元组的多重集合。这些只是项目的序列,称为场,有两种类型:实际场,即,值和标识符,以及正式字段,即,变量在语法上,一个正式的字段表示为!ide,其中ide是标识符。可以使用out操作将元组插入元组空间,并使用in和read(读)操作从元组空间中检索元组不从元组空间撤回元组 如果没有匹配的元组如果找到了匹配的元组,则in和read都会阻塞执行它们的进程,直到找到匹配的元组。模式匹配用于从元组空间中选择元组;如果两个元组具有相同数量的字段并且对应的字段匹配,则两个元组匹配:形式字段匹配相同类型,两个实际字段只有在它们相同时才匹配(但两个形式字段永远不匹配)。例如,如果Val是一个整数变量,那么元组(Val)和( 匹配后,6L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3变量获取匹配字段的值;在前面的例子中,匹配后,Val将包含整数值300。我们在[6]中提出的中间件CRYPTO KLAVA是基于KLAVA[7]的,Klava是一个实现KLAIM(Agent Interaction and Mobility的内核语言)[13]的Java框架,它提供了使用移动代码和移动代理编程分布式应用程序的功能,依赖于通过多个分布式元组空间的通信。KLAIM通过处理多个分布式元组空间来扩展Linda:元组空间被放置在节点(或站点)上,这些节点是网络的一部分。每个节点包含一个元组空间和一组进程,并且可以通过其局部性进行访问。因此,经典的Linda操作是用它们必须执行的节点的局部性来索引的一个保留的局部性self可以用来访问当前的执行站点。此外,在KLAIM过程是第一类数据,因为它们可以传输和交换移动代码和移动代理应用程序可以很容易地编程。为了保证存储在元组空间中的数据的隐私,我们扩展了KLAVA与一些密码原语。在我们看来,这个扩展是Linda(和移动代码)的开放性和数据隐私之间的一个很好的权衡特别是,我们的目标是使这个扩展尽可能平滑,使原始模型不被扭曲。基本思想是元组可以包含明文字段和加密字段。一个特定元组的所有加密字段都是用一个密钥加密的。这种选择简化了整体设计,并且不会损害系统的可用性;使用不同的密钥加密同一元组的不同字段是不寻常的。加密字段完全隐藏了它们所包含的加密内容:它们甚至隐藏了内容的类型。这加强了数据的保密性(甚至不可能知道敏感信息的类型)。与Linda模型的开放性相一致,我们的主要意图是不禁止进程检索属于其他进程的数据,但以保证这些数据只能由授权的进程读取和修改。共享元组空间基本上是一个共享的通信信道:在这样的信道中,信息可以自由地读取和修改。与此同时,我们的目标之一是避免错误的数据被错误地检索。元组的明文字段可以用作过滤元组的标识符(如Linda哲学中),但如果匹配的元组包含进程无法解密的加密字段,则该元组也可以被加密。如果它是用in撤回的,就放回元组空间。此外,在这种情况下,进程可能想要尝试检索另一个匹配元组,直到检索到正确的一个(即, 一个元组,它具有相应的L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)37解密密钥),并且在没有找到这样的元组的情况下被阻止直到一个元组可用在我们的框架内,• 将元组字段用于加密数据;• 使用特定密钥加密元组字段;• 用加密字段解密元组;• 使用操作in和read的变体(ink和readk)来原子地检索元组并解密其内容。检索操作的修改版本,ink和readk,基于以下过程:(i) 查找并可能检索匹配的元组,(ii) 尝试解密所检索的元组的加密字段(iii) 如果解密失败:(a) 如果该操作是一个插入,则将检索到的元组放回元组空间,(b) 寻找替代匹配元组,(iv) 如果所有这些尝试都失败,则阻塞直到另一个匹配元组可用。因此,程序员从执行所有这些内部任务的负担中解脱出来,并且当readk或ink操作成功时,可以保证检索到的元组已被正确解密。基本上,原始的Linda模式匹配机制没有修改:加密字段被视为具有KCipher类型的普通字段(如第3节所示)。它可以被看作是一种扩展的模式匹配机制,在结构匹配之后,它还尝试解密加密字段。在使用移动代码的情况下,上述方法可能不安全。事实上,对称和非对称密钥加密技术依赖于密钥的保密性(在非对称加密中,私钥必须保密)。因此,一个基本要求是移动代码和移动代理在迁移到远程站点时不能携带私钥(这意味着上面介绍的操作ink和readk不能被在远程站点上执行的移动代理使用,因为它们需要携带密钥进行解密。对于移动代理,则有必要提供更细粒度的检索机制。出于这个原因,我们还引入了显式解密元组的操作:一个包含加密字段的元组将被8L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3移动代理通过标准的输入和读取操作,并且不会尝试自动解密。当代理在主站点上执行时,可以对检索到的元组进行实际解密,在主站点上可以获得用于解密的密钥,并且可以安全地使用该密钥。典型的移动代理系统由固定代理和移动代理组成,固定代理不迁移,移动代理访问网络中的其他站点,并且在到达主站点时可以与固定代理通信。因此,其基本思想是移动代理在远程站点收集加密数据,并将这些数据传递给固定代理,固定代理可以安全地解密其内容。显然,如果错误地检索了某些数据,则由代理商将其放回其被撤回的网站。如果想要避免私钥泄露的风险,那么对获取元组的协议的这种限制是必要的。相反,公钥可以安全地传输和通信。通过使用公共密钥,移动代理能够加密沿其行程收集的数据请注意,不能保证即使数据可以被窃取,它仍然不能被读取。如果这是不可接受的,则应该求助于基于安全通道的通信模型,并放弃Linda共享元组空间模型。事实上,我们的框架的功能与所提供的功能类似,例如,PGP[37]并没有避免电子邮件被窃听和窃取,但它们的内容仍然是私有的,因为它们对于那些不拥有正确解密密钥的人来说是不可读的。另一种方法可以是物理地删除一个加密的元组,只有当执行in的代理的主站点通知解密已经成功发生时,才用in如果确认解密失败或在特定超时过期之后,这样然而,这种方法使得元组时间依赖于移动代理的时间,移动代理本身是独立和自治的:代理将被期望在特定的时间内完成其任务。此外,如果在超时已经到期之后成功的解密请求到达,则可能出现不一致3中间件CryptoKlavaK LAVA[7]被部署为一个可扩展的Java包Klava,它定义了类和运行时系统,用于根据K laim的编程模型开发分布式和移动代码应用程序。在K中,lava过程是类KlavaProcess的子类的实例,可以使用访问节点的元组空间的方法:out(t,l),用于插入元组tL. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)39read(t,l)和in(t,l),分别用于从位置l处的节点的元组空间读取和提取与t匹配的元组。 此外,方法eval(P,l)可以用于生成KlavaProcess P,以便在站点l上远程执行。 一些包装器类是为元组字段提供的,如KString,KString等。这个包的扩展名为CRYPTO KLAVA,它提供了上一节中描述的我们使用了Java Cryptography Extension(JCE)[31],这是一组包,提供了加密、密钥生成和密钥协商以及消息认证码(MAC)算法的框架和实现。JCE定义了一组标准API,这样不同的加密算法就可以插入到系统或应用程序中,而无需修改现有的代码。密钥和证书可以安全地存储在密钥库中,这是一种加密的存档。CRYPTO KLAVA是作为Klava包的子包实现的,即Klava.crypto,因此它是自包含的,并且不包含主包。在本节的其余部分中,我们将简要描述Klava.crypto包的主要类,实现与我们的上下文相关的加密功能。我们建议感兴趣的读者参考[5],更详细的描述。引入KCipher类是为了处理包含加密数据的形式和实际字段。它可以被看作是一个包装标准K熔岩元组字段。一个实际的加密元组字段可以通过首先创建一个标准的KLAVA元组字段(在示例中是字符串),然后将该字段传递给KCipher类的实例来创建:KString s =new KString(“foo”); KCipher ks =newKCipher(s);类似地,下面的代码创建了一个加密的字符串形式元组字段(在KLAVA中,形式字段是通过从元组字段的KLAVAKString s =new KString();KCipher ks =new KCipher(s);类Tuplex扩展了标准KLAVA类Tuple,以便除了标准元组字段之外还包含KCipher类的字段;除了pro-Cipher字段之外,还包含KCipher类的字段。作为加密原语的viding方法,它还在匹配过程中充当第一过滤器:它将避免普通元组(仅包含明文数据)与加密元组匹配。一旦元组字段被插入到Tuplex对象中,KCipher字段就可以通过以下方法进行加密:编码。 例如,下面的代码10L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3KString s =new String s(“new KString s”);KCipher ks =new KCipher(newKString(“secret”)); Tuplex t =new Tuplex();t.add(ps); t.add(ks); t.encode();创建一个元组,其中第一个字段是明文字符串,第二个字段是是一个要加密的字段,然后通过调用encode来实际加密KCipher字段。encode也可以接收指定密钥和加密算法的参数;否则使用默认值的方法确保元组中的所有加密字段都依赖于相同的密钥和算法。至于检索操作,如果在本地站点上执行,则可以使用新引入的操作ink和readk来KString s =new KString();KString sec =new KString();KCipher ks =new KCipher(sec); Tuplex t =newTuplex(); t.add(s); t.add(ks);int i(i,i);Print(“加密数据是:“+sec);或者先检索元组,然后手动解码加密字段:... //如上所述int i(i,i);...t. remove();Print(“加密数据是:“+sec);请注意,在这两种情况下,包含在加密字段(如sec)中的引用在解密过程中会自动更新。前一个示例中的墨水是在远程站点执行的,但这并不意味着密钥在网络中传输:如前一节所述该机制被隐式地分为检索阶段(远程发生)和解密阶段(本地发生最后,让我们观察一下,由于JCE提供的抽象,所有引入的操作都独立于特定的加密机制,因此可以使用对称和非对称加密方案。在下一节中,我们将展示一个使用这些新的加密原语的编程示例;更多示例可以在[5]中找到。L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3114利用加密技术此示例依赖于一个众所周知的场景,即迁移代理访问某些站点并代表所有者收集信息。在其行程期间,代理暴露于来自站点本身或来自其他站点上的可能窃听过程的代理收集的信息由于这些信息可能是合理的数据,因此重要的是,除了代理的所有者和代理本身之外,任何人都出于这个原因,代理将使用其所有者的公钥代理人可以安全地使用公钥旅行,一旦代理人回家,收集的数据可以由所有者通过他的私钥解密。不幸的是,这并不是没有代价的:这是一个众所周知的问题(参见,例如,[36])代理人无法根据在其行程中收集的信息采取行动,因为它无法解密数据(它不持有私钥):String s1 =new String();KStringfString 1 = new KString();//获取明文数据.in(s1,fString1,self,1000); Tuplex txf1 =newTuplex(); txf1.add(s1);txf1.add(newKCipher(fString1));txf1.encode(my public key);//.transmittedData.add(transmittedData);如果(!done){//我想...迁移到下一个站点}否则{return(data,data);}一旦所有者收到这些数据,他就可以尝试解密它们,一旦它们安全地存储在其本地元组空间中://解密存储在//本地元组空间...而(true){Tuplex txf2 =new Tuplex( ) ; KString s1 =newKString ( ) ;txf2.add(s1);KString fString 1 =new KString();KCipher k =new KCipher(fString1); txf2.add(k);if(int n(n,n,n)){return(s1,s2,s3,s4);}否则{12L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3Print(“所有可能的数据已解码”);破碎;}}在前面的代码中,ink_nb是ink的非阻塞版本(如果没有匹配的元组可用,则进程不会阻塞现在让我们考虑一个稍微不同的场景:移动代理访问的站点即使在这种情况下,非对称加密也有助于解决这个问题:站点使用A的公钥为A加密数据。这样,即使移动代理能够检索不属于其所有者的数据,这些数据也将是无用的,因为它们无法被解密。我们在这里展示的例子实现了这个场景:移动代理根据一个特定的标识符(在这里用字符串s1表示)检索数据。 的与该标识符相关的数据被加密。一旦代理人的行程结束后,代理将收集到的所有数据发送给其所有者。int findDuplicate =new Duplicate();String s1 =new String(“item1”);txf1.add(s1);KString fString 1 =new KString();KCipher k =new KCipher(fString1); txf1.add(k);int findDuplicate(intfindDuplicate);如果(!done){//我想...迁移到下一个站点}否则{return(data,data);}注意,前面的代理不是通过元组(“item 1”,!k)的也可以读取元组(!s,!k)的这样,它也能够检索与“item1”无关的数据(可能是不属于其所有者的数据)。然而,代理所有者将不能解密不属于他的元组,因为他不拥有解密它们的密钥。此外,出于安全和隐私的考虑,加密数据的类型是隐藏的,因此代理也可以远程检索形式为(“item 1”,!其中k不包含字符串。在这种情况下,在L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)313所有者站点,这样的元组将不会被检索,因为在ink或readk期间,一旦加密字段被解码,其类型将用于实际匹配。5结论和相关工作由于元组空间操作可以使用本地进程和移动代理,扩展的操作地址主机和移动代理的隐私。我们没有明确地处理密钥分配,这可以被视为正交问题。数字签名可以顺利地集成在我们的框架和相应的模式匹配扩展。我们目前正在努力将所提出的密码学原语添加到内核语言KLAIM和基于KLAVA的编程语言X-KLAIM[5]中。与我们的工作更接近的是[9],它引入了安全对象空间(SEC OS)模型。该模型旨在用细粒度的访问控制语义扩展Linda。在SECOS中,所有元组字段都用一个密钥锁定,每个字段都必须用不同的密钥锁定。其基本思想一个进程在检索一个元组时,只能看到他拥有相应键的字段。元组的结构不会影响模式匹配:由于引入了包含规则,模板也可以匹配更大的元组,并且字段可以在匹配过程中重新排序[10] 提出了一个类似的,但更丰富的框架,SecSpaces,其中还提供了资源访问控制和元组空间分区设施(正交和补充我们的方法)。所有这些特征倾向于改变原始Linda模型,并且实际上SEC OS演算基于异步π演算[1,21],利用其基于通道的通信机制。 相反,我们的主要目标是提供Linda通信模型的扩展,可以顺利地集成到现有功能中,而不会显著改变原始模型。至于站点之间的通信,我们依赖于KLAIM模型,它可以被看作是分布式元组空间的实现此外,SEC OS和SecSpaces都不处理代码移动性,这是我们主要关注的问题之一。移动性对底层模型施加了额外的限制,例如,要求代理在迁移期间不携带私钥,并要求诸如显式加密和解密之类的替代方案和两阶段模式匹配。在[29]中研究了移动场景中的密码学问题。在那里,提出了实现“具有加密函数的非交互式评估”的技术,以避免携带明文密钥。利用加密函数,代理能够安全地执行加密原语,14L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3即使在不可信的执行环境中也是如此。该方法利用同态加密方案和函数组合技术。然而,目前还没有找到实现这一点的通用方案,因此这些技术的有效实现是不可用的。另一种安全方法是基于资源访问控制的方法。这与我们的方法完全正交,并且可以被视为对其的补充。在这里,我们想提到基于根据特定策略授予或拒绝对敏感资源的访问的访问控制机制(例如,基于请求的源、数字签名等)。基于类型系统的解决方案已经可用于分布式和移动场景中的访问控制[14,19]。Java [3]依赖于安全策略(可能利用数字签名)来实现访问控制,特别是对于下载的代码[18]。Proof-CarryingCode[24]强制移动代码也提供一个主机可以轻松验证的证明,以检查代码是否符合本地安全策略。然而,在具体化和有效地编码证明中的困难使得该方法目前在实践中无法实现。基本上,上面提到的解决方案处理保护问题,主机免受移动代理的攻击,而不是保护移动代理免受恶意主机和其他代理的攻击的问题:当移动代理在远程主机上执行时,它几乎完全没有防御能力,实际上,保护代理免受恶意主机攻击的问题甚至比以前的问题更复杂[20,25,28,32,33,34,35,36]。然而,由于问题的固有性质,所提供的解决方案要么限制了移动代理的可扩展性,要么只允许对代理的执行进行后验致谢。我要感谢《CRYPTO KLAVA》的合著者Rocco De Nicola,他对移动代理场景进行了有益的讨论。引用[1] R.阿马迪奥岛Castellani和D.桑吉奥吉 关于异步π-演算Theoretical Computer Science,195(2):291[2] K. Arnold,E. Freeman和S.胡普弗JavaSpaces原则、模式和实践艾迪生-韦斯利,1999年.[3] K. Arnold,J. Gosling,and D.福尔摩斯Java编程语言。Addison-Wesley,第3版,2000年。[4] K.阿诺德湾奥沙利文河Schei Scheier,J. Waldo,and A.沃拉斯Jini规格。Addison-Wesley,1999年。L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)315[5] L.贝蒂尼面向对象移动代码编程的语言构造&及其实现。 PhDthesis,Dip. diMatematica,Universit`adiSiena,2003. 一个在www.example.com上http://music.dsi.unifi.it。[6] L. Bettini和R.德·尼古拉。一个保证分布式元组空间隐私的Java中间件。在N. Guel fi,E.Astesiano和G. Reggio,编辑,Proc. of FIDJI[7] L.贝蒂尼河De Nicola和R.普利亚人KLAVA:一个用于分布式和移动应用程序的Java包。软件[8] B. Bhargava和M.哈菲达关于移动代码安全。CERIAS技术报告,普渡大学,2001年。[9] C. 布莱斯,M。Oriol和J.维泰克一种基于安全空间的Agent协调模型在P. Ciancarini和A.Wolf,editors,Proc. 第三届国际Conf. 《协调模式和语言》,LNCS第1594号,第4-20页。Springer,1999年。[10] N.布西河戈列里河Lucchi和G.萨瓦塔罗SecSpaces:一个数据驱动的协调模型,用于对不可信代理开放的环境 在proc 的FOCLASA'02,ENTCS的第68(3)卷。Elsevier,2002年。[11] D. M. 象棋移动代码系统中的安全问题In Vigna [34],pages 1[12] P. Ciancarini和D.罗西 Java Agent的协调和通信在J. Vitek和C.Tschudin,编辑,移动对象系统-走向可编程互联网,LNCS第1222期,第213-228页Springer,1997年。[13] R. De Nicola,G. Ferrari和R.普利亚人KLAIM:一种用于Agent交互和移动的核心语言。IEEE软件工程学报,24(5):315[14] R. De Nicola,G.费拉里河,巴西-地Pugliese和B.文内里访问控制的类型。TheoreticalComputer Science,240(1):215[15] D. 杜格选择移动代理消息传递模型。 在proc ISADS 2001,第278-286页。IEEE,2001年。[16] D. Ford,T. Lehman,S. McLaughry,and P. Wycko. T空间。IBM Systems Journal,第454-474页[17] D.格勒恩特琳达的生成通信。ACM Transactions on Programming Languages andSystems,7(1):80[18] L.龚Java 2平台安全性:架构、API设计和实现。Addison-Wesley,1999年。[19] M. Hennessy和J. Riely。移动代理系统中的资源访问控制在联合Nestmann和B.C. Pierce,编辑,Proc. HLCL '98:高级并发语言,ENTCS的第16.3卷,第3-17页。Elsevier,1998年。[20] F.霍尔限时黑盒安全:保护移动代理免受恶意攻击。In Vigna [34],pages 92[21] K. Honda和M. 时郎 异步通信语义。 在p. 韦格纳,M. Tokoro和O. Nierstrasz,编辑,Proc. of the ECOOPSpringer,1992年。[22] S. A. 库兹班病毒和ACM SIG Security,Audit,Control,7(1),1989.[23] 麦克莱伦 计算机系统被围攻。 纽约时报,1988年1月。[24] G. Necula 携带证明代码。在POPL '97会议录ACM,1997年。16L. Bettini/Electronic Notes in Theoretical Computer Science 128(2005)3[25] R. Oppliger。与移动代码和基于代理的系统相关的安全问题。计算机通信,22(12):1165[26] J·奥迪尔当特工四处游荡时,你能相信谁?第一届通信新兴技术和应用会议论文集,1996年。[27] G.皮科角墨菲和G.- C.罗曼林达会见流动性。In D.加兰,编辑,Proc. ICSEACM,1999年。[28] T. Sander和C.楚丁保护移动代理免受恶意攻击。In Vigna [34],pages 44[29] T. Sander 和 C. 楚 丁走 向移 动 密码 学。 IEEESymposium on Research in Security andPrivacy,第215IEEE,1998年。[30] E. H. 温泉浴场。互联网蠕虫程序:分析。计算机通信评论,19(1):17-57,1989年1月。另见普渡技术报告,普渡大学计算机科学系,编号CSD-TR-823。[31] 太阳微系统公司Java Cryptography Extension(JCE),参考指南,2001年。[32] H. K. Tan和L.莫罗移动Agent系统中的信任关系。In G. P. Picco,editor,MobileAgents,number 2240 in LNCS,pages 15-30. Springer,2001年。[33] G. 维格纳移动代理的加密跟踪移动代理和安全[34],第137-153页[34] G.维格纳编辑 移动代理和安全 LNCS的1419号。Springer,1998年。[35] Vitek 和 C. 詹 森, 编 辑 。 Secure Internet Programming : Security Issues for Mobile andDistributed Objects,LNCS第1603期。Springer,1999年。[36] B. Yee. 移动代理的避难所见Vitek和Jensen [35],第261[37] P·齐默尔曼 官方PGP用户 MIT Press,1995.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功