没有合适的资源?快使用搜索试试~ 我知道了~
移动代理系统的安全挑战及应对对策
91网址:http://www.elsevier.nl/locate/entcs/volume58.html17页一种移动Agent系统W. A. Jansen美国国家标准与技术研究院100局博士,停止8930Gaithersburg,MD 20899(+1)(301)975 5148wjansen@nist.gov1介绍移动代理是代表个人或组织在一组网络主机上自主执行的程序。代理访问网络主机以执行其程序的部分,并且可以与驻留在该主机上或其他主机上的其他代理交互,同时朝着目标工作代理也可以在任何主机上固定一段时间。代理访问的主机的顺序可以在编写代理程序时预先确定,或者在启动代理程序时动态确定,或者通过代理程序在离开主机之前获取的信息来确定。例如,代理可能需要访问特定网络主机上的信息,或者更喜欢在各种类型的网络主机上执行其程序的一部分,以提供所需的服务。移动代理计算是分布式计算的一种基本形式,它对形成应用程序的代理及其执行的主机的安全性提出了重大挑战。 由移动性引入的一个困难类别的威胁是计算环境(即,主机和支持软件)可能试图破坏访问代理。其他威胁包括攻击计算环境的代理或访问主机的其他代理,以及攻击整个代理框架的外部实体。广泛的安全技术,传统的和新开发的这种范式,可作为技术对策,对部署基于代理的应用程序中遇到的安全威胁[1]。代理系统中常见的对策包括以下项目:• 从计算环境中隔离代理人,• 语言和代码安全,2002年由ElsevierScienceB出版。 诉 操作访问根据C CB Y-NC-N D许可证进行。92• 控制资源的使用和限制资源的消耗,• 代理商和平台的审核,• 经过认证和保护的通信,• 签名代码,以及• 部分结果封装。代理系统通常将此类对策纳入其设计中,其中内部数据结构反映是否、如何以及何时应用安全机制。这些数据结构通常包含授权信息或关于代理在分布式系统上的能力的特权,并且在概念上充当代理的内部通行证。虽然这些结构在语义上通常非常相似,但它们在实现上存在很大差异,这在很大程度上取决于用于保护其内容的机制。在回顾一些代理系统时,我们注意到使用内部数据结构来传达策略规则的几个缺点。• 在应用程序中,策略设置主体的数量和所需的信任关系可能会有很大的不同。然而,在代理系统中,这些表示通常是固定和不可更改的。这种二分法迫使基于代理的应用程序的开发人员遵守强加的方案,这可能会或可能不会很好地匹配其应用程序的预期安全策略。• 代理系统之间的策略表达在粒度、语言和资源实体方面各不相同,并且应用程序开发人员通常难以修改或扩展。当结合前面的缺点时,总体结果是将开发人员限制在一个严格的框架中,该框架可能需要精心设计的工作区来表达预期的策略,或者在最坏的情况下,可能完全不适合应用程序的需求• 保护策略的手段一旦被表达并驻留在内部数据结构中,在代理系统之间也会变化,特别是关于保护的强度。必须仔细审查每个代理系统,以确定所表达的策略是否能令人满意地保护应用程序的风险环境。• 由于内部政策相关的数据结构,信任关系,政策的表达,并作为一个整体的政策保护的强度在不同的代理系统开发的代理之间的差异很大,代理系统的互操作性的机会是非常有限的。为了克服这些缺点,我们设计了一个方案,allo- cates,管理,并强制执行安全策略,在一个灵活的方式,它允许自由地确定粒度,语言和实体的政策表达,以及相关的政策设置的原则和他们的优先关系。本文的其余部分描述了这一方案,首先是一个总体概述,然后是一些实际考虑93剂属性证书代理平台策略引擎政策证书介绍了它的应用,然后详细介绍了它在基于Java的代理系统中的使用,最后概述了相关的工作。2方案概述移动代理系统已经并将继续以各种方式实现。解释性脚本语言或基于虚拟机的解释性语言编译器经常用于适应异构平台以统一支持代理的固有可扩展性根据代理系统,各个代理可以表示为独立的进程或轻量级线程。类似地,代理的计算环境可以涉及单个主机计算机或多个主机。我们的计划是为了工作在各种代理系统,尽管这些类型的实现困难。所采用的方法还提供了一种独立于公钥基础设施(PKI)工作的方法,或者在可用的情况下与PKI结合使用,包括符合X.509认证标准的PKI。我们使用一个简单的模型的代理系统,其中包括两个主要组成部分:代理和代理平台,用于描述该计划。 代理代表执行某些计算所需的代码和状态信息。代理平台提供代理操作的计算环境。多个代理可以在一个代理平台,并使用该平台提供的服务,例如传输到另一个代理平台。代理被实例化并开始活动的平台被区分为主平台,并且通常是代理最受信任的环境。一个或多个主机可以组成代理平台,并且代理平台可以支持代理可以交互的多个地方。图1说明了代理和代理平台组件以及下面描述的权限管理增强所需的其他组件。Fig. 1.具有增强功能的942.1保单承载证书如果移动代理要代表人类进行操作,它们必须遵循由主体建立的预定安全策略。不是在代理中体现策略规则,而是可以将策略信息推送到外部对象-属性证书。存在属性证书的两种变体,以将颁发给代理代码的那些证书与颁发给代理实例的那些证书区分开(即,其代码和状态信息)。这种区别很微妙,但很重要,因为对于后者,证书包括代理系统认为不可变的代理的任何实例变量的值。至少,这必须包括由代理系统分配的代理属性证书的颁发者调整内容,以管理代理对计算资源和安全机制的使用。发行人必须签署授权证书,以保护代理人的安全相关信息不被更改。属性证书的元素如图2所示。它们包括所有者的身份(通过对代理代码和信息的安全散列形成)、发行者的身份、用于保护证书的算法的标识符、证书的生命期以及可以表示的主题属性简单的类型-值对或更复杂的语法表达式。这些元素可用于建立证书的有效性以及属性证书和代理之间的绑定。标准化属性证书的形式和内容的工作正在进行中(见相关工作部分)。然而,他们的重点主要是固定通信程序(例如,客户端-服务器系统)或具有有限移动性的程序(例如,从服务器到客户机的类似小应用程序的移动),并且不传送状态信息或计算数据。策略证书是属性证书的对应物,但表示分配给代理平台而不是代理的策略规则。策略证书遵循相同的属性证书结构。当属性证书传达与代理相关联的策略规则时,策略证书传达管理可能尝试访问代理平台或代理平台上的特定位置的所有代理的行为的策略规则,以及关于策略设置原则的优先关系的信息,该优先关系阻止模糊或矛盾规则的策略处理。由于许多代理系统利用了底层操作系统或虚拟机提供的安全机制,因此在通常驻留的系统访问控制和授权文件中维护与证书分离的平台策略规则可能是有利的。因此,策略证书经设计以在需要时通过将文件的位置及文件内容的加密散列包含到策略证书中以供稍后在证书处理期间存取及验证而容纳此等外部文件参考95版本发行人签名所有者发行人签名算法ID证书序列号有效期属性颁发者唯一ID扩展图二.属性证书元素虽然保单证书的格式及结构与属性证书的格式及结构紧密相连,但两者之间的一个重大区别是证书对发出证书的实体的约束力。虽然属性证书有一个明确和单一的主题-代理人分配的特权- 一般而言,政策证书可适用于比单个平台更广泛的主题。例如,由域权威机构颁发的策略证书适用于许多代理平台(即,包括域的实体名称)在某些情况下是期望的,并且通过为所有者选择实体名称来实现(例如,DNS域名)。通过平台管理员设置的配置参数,平台应用安装在那里的相关策略证书。策略证书也可以驻留在平台本身以外的其他地方,如果该位置不提供攻击途径。策略证书由代理平台在其初始化期间进行验证,并且可以由平台直接应用,或者稍后根据需要应用。2.2策略处理当代理在代理平台之间移动时,它会携带其颁发的属性证书。它可以可选地携带向该代理分配特权的发行者的属性证书和身份证书(例如,用户或其他策略设置主体)来简化平台处的处理。 接收代理的平台确定代理的证书的相关性,验证发行者的身份,可能在PKI的帮助下,并确定属性证书中传达的特权分配与通过其持有的策略证书建立的平台的现行策略之间是否存在合规性。策略设置主体可以通过权限管理证书来分配权限,方法是分别对权限管理证书进行签名并将其颁发给实体,然后由代理平台的策略引擎对其进行由多个政策制定主体联合签署和发布证书是一个此处未探讨的除了代理和代理平台之外,如果需要,还可以向指定的个人颁发权限管理证书,允许他们重新委派其分配的96通过颁发证书和形成可验证的授权链来获得特权Agent平台为Agent系统提供计算环境,承担着处理策略的任务。这是非常合理的,考虑到代理系统的安全性设计目标(例如,执行其他实体的必要认证和访问控制)。策略计算是一种与安全相关的机制,在经典的安全术语中,必须是可信计算基础的一部分。因此,策略引擎必须被实现为代理平台的可信组件,并且其结果,即为代理计算的特权集,必须由计算基础内的平台安全机制强制执行。大多数代理系统具有用于用广告程序组件扩展代理平台的手段,例如,以静态代理的形式,策略引擎的灵活实现需要。策略引擎证书链的验证可能是一个复杂的过程,涉及过期或撤销证书的可能性以及检索支持信息的必要性。除了证书验证之外,策略引擎还需要确定所涉及的主体、他们在流程中的角色(即,作为特定证书类型和变体的发行人)以及主体之间存在的优先关系。3适合程度及使用情况从概述中,我们看到该方案依赖于将策略规则放置在绑定到代理和代理平台的证书内,以及将策略处理能力放置在代理平台上。这种方法提供了足够的灵活性,涵盖了非常广泛的政策,适合大多数基于代理的应用程序。此方法的好处来自所支持的证书种类及其形式及内容,而该等证书均经审慎厘定。3.1证书表示资产管理证书可以以多种方式表示-通常使用抽象表示法1(ASN.1)区分编码规则[3]。虽然ASN.1编码确实工作得很好,但它有一个严重的缺点,即不是人类可读的表示。此外,ASN.1解析器工具既不广泛可用,也不独立于平台。为特权人员证书选择一种扩展标记语言(XML)表示[4]可以克服这些限制。XML表示也可以很容易地定制,以满足代理系统的特定需求。下面是97validityPeriod,属性,示例XML证书管理证书DTD:<?xml version='1.0'encoding ='us-ascii'?><!ELEMENTprivMgtCertificate(version,ownerID,issuerID,signatureAlgorithm,serialNumber,issuerUniqueID?,扩展?)><!ATTLIST privMgtCertificate签名CDATA #REQUIRED><!ELEMENT版本(#PCDATA)><!-- 三种方法来识别颁发(拥有)此证书的实体--><!元素所有者ID(baseCertificateID| entityName|objectDigestInfo)><!-- 识别颁发此证书的实体的两种方法--><!ELEMENTissuerID(baseCertificateID |issuerName)><!ELEMENT baseCertificateID(issuer,serial,issuerUID?)><!ELEMENTissuer(#PCDATA)><!ELEMENTserial(#PCDATA)><!ELEMENT issuerUID(#PCDATA)><!ELEMENTentityName(#PCDATA)><!ATTLIST实体名称键入CDATA#REQUIRED><!ELEMENTobjectDigestInfo(ObjectDigest)><!ELEMENTARISTAlgorithm(#PCDATA)><!ELEMENT objectDigest(#PCDATA)><!ELEMENT issuerName(#PCDATA)><!ELEMENT签名算法(#PCDATA)><!ELEMENT serialNumber(#PCDATA)><!ELEMENT validityPeriod(notBefore,notAfter)><!ELEMENT notBefore(#PCDATA)><!ELEMENT notAfter(#PCDATA)><!ELEMENT属性ANY><!ATTLIST属性语法CDATA#REQUIRED><!ELEMENT issuerUniqueID(#PCDATA)><!ELEMENT扩展ANY>主结构的XML数据类型定义(DTD)示例 特权管理证书。尽管权限管理证书的结构是固定的,但其中部分内容可供修改和替换。“属性”而“扩展”元素旨在分别传达以各种类型的规范语言表示的策略和证书处理信息。“attributes”元素的内容由语法标识符确定,这使得在不同形式的策略表示中进行选择变得容易。The “extensions” elementby its very nature supports adding additional elements to a privilegemanagement certificate to meet98约定规定每个扩展元素都包含一个关键性证书,并且处理平台在遇到它无法识别的关键扩展时拒绝该证书。通过考虑分布式系统管理中的相关影响,我们可以暗示在特权管理证书中可能传达的策略表达的可能丰富性。Matchmaker [5]使用一种复杂的策略表达形式,通过一个分类广告(或类)数据模型在服务提供者和消费者之间进行中介。类允许在属性中使用逻辑表达式来限定所请求或请求的服务,并且还支持在确定匹配时涉及实数的算术表达式和计算。Koch等人设计的一个更一般的方案需要使用策略定义语言(PDL)来指定适用于管理策略自动化的可执行规则[6]。PDL支持逻辑表达式,用作触发管理操作的前提条件。IETF这里,管理动作涉及应用于通信的保护形式。3.2策略设置原则现有代理系统中支持的政策制定主体的类型在数量和定义上都有所不同。然而,三种不同的策略设置主体是可以识别的:品牌,使用或托管类。品牌主体是那些参与证明代理代码特征的实体。例如,品牌负责人可以是开发代码的制造商、审查代码的评估者或购买代码的所有者。使用主体表示代理代表其操作的个人或组织,并导致启动代理。通常,对于每个代理存在单个使用主体,代理的用户,但是在需要第二个人的同意的情况下,例如在一些军事指挥和控制操作中,可能涉及多个用户。托管主体是那些对代理平台具有资源授权控制的实体。托管主体可以是例如系统管理员、系统安全管理员、平台的所有者或平台在其中操作的域的授权机构。根据我们的计划,政策制定主体为(例如)任何发出特权管理证书的实体。因此,现有代理人制度的政策制定负责人与该计划的政策制定负责人之间的关系必须通过负责人可以签发的证书类型来建立。具体来说,托管主体颁发政策证书,而品牌和使用主体颁发属性证书,这些证书的区别仅在于99由后者发出的信息传达了代理人的特定实例特有的附加信息。因此,大多数代理系统中涉及的政策制定主体的数量和类型都属于政策制定主体的类别,这些类别很容易通过证书发行进行说明。3.3链接授权与身份证书一样,特权管理证书可能涉及授权链,通过授权链,已发行证书的特权来自发行者以特权管理证书形式持有的特权因此,该方案可以支持许多不同风格的特权授权和委托,从推式,其中策略设置主体首先从授权机构获得特权,然后将其分配给代理,到拉式,其中访问平台联系授权机构以确认策略设置主体分配给代理的特权的合法性使用内部数据结构来传递策略信息的代理系统通常无法匹配通过权限管理证书和链接授权的能力来排序的灵活性这并不意味着特权管理证书应该无条件适用。策略设置主体应该被明智地指定,并且在该方案下有选择地应用其证书颁发,以最大限度地减少策略处理开销,同时满足预期的安全策略要求。例如,并非所有代理人都需要携带颁发的证书,只有那些需要特殊特权的代理人才需要。类似地,应用程序中不需要涉及所有三类策略设置主体,只需要涉及那些相关的。3.4标准将该方案应用于代理系统的标准有三个方面:• 在代理的整个生命周期中,代理的代码是否• 代理平台是否适合扩展新服务。• 全局唯一标识符是否被分配给或可以被分配给代理的实例。第一个标准通常可以作为代理人制度的现有选择或对其实施进行某些调整来满足。第二个通常作为大多数代理系统的一个功能,因为平台增强通常在基于代理的应用程序的开发中是有用的。最后一个标准在大多数代理系统中通常不是问题,因为代理本质上是唯一标识的实体。1004基于Java的Agent系统许多代理系统依赖于Java编程语言和运行时环境来实现。虽然Java本身不是一个代理系统,但它支持代码移动性、动态代码下载、数字签名代码、远程方法调用、对象序列化、平台异构性和其他特性,使其成为代理系统的理想基础。Java遵循所谓的沙箱安全模型,用于隔离内存和方法访问,并维护互斥的执行域。Java使用多种机制来强制执行强类型安全。字节码验证形式的静态类型检查用于检查下载代码的安全性。在运行时也会执行一些动态检查。 为不受信任的下载代码维护了一个独特的名称空间,并且不同名称空间中的模块之间的引用链接仅限于公共方法。安全管理器协调对系统资源的所有访问,充当引用监视器。Java语言编译器为称为Java虚拟机的抽象计算机产生字节码,Java虚拟机为它执行的主机解释代码。多个Java虚拟机(JVM)可以同时在主机上运行。通常,单个JVM用于支持多个代理的执行环境(例如,Aglets [8]),每个都作为一个独立的线程,而不是多个JVM(例如,No- mads [9])。JVM的动态类加载和方法调用特性提供了一种简单但有效的方法来支持代理平台扩展。Java支持的另一个特性是Java Archive(ZIP)file for- mat,它基于事实上的标准ZIP存档格式,用于管理Java类文件和资源的集合。这是一种方便的方式,用于打包代理的类,以便在访问的平台之间进行初始分发和后续移动。文件的内容亦可能被签署以作认证及完整性保护之用。因此,许多基于Java的移动代理系统在其设计中采用了这种格式,以保护和简化代理代码的管理。Java支持一个特殊的受密码保护的数据库,其中包含私钥及其相关的数字证书,称为密钥存储库,其内容在签名文件时使用。默认情况下,Java提供了一个系统范围的策略文件和一个可选的用户策略文件,以及一个指定其他策略的工具。图3说明了一个基于Java的移动代理系统以及处理权限管理证书所需的增强功能。以下各节将详细讨论这些增强功能的实现。4.1政策证书策略证书是与平台相关的策略规则的外部XML表示。平台通过Java安全属性101JAR文件代理平台策略引擎剂属性证书密钥存储JVM政策证书策略文件图三.增强基于Java的Agent系统代理系统的属性文件。策略证书中的信息需要解析并转换为适合策略引擎处理的内部形式。对于任何基于Java的代理系统,代理平台都是运行在JVM上的专用应用程序。这些系统通常依赖于JVM命令的安全策略机制,而不是发明一个策略规范和执行的解决方案。因此,策略证书的颁发者通过引用将相应的Java策略文件封装在证书中。Java策略文件中的每个条目都表示对指定代码源中的代码授权的权限集。策略规则使用授权风格的策略规范语言来表达,除非明确分配给代码源,否则拒绝所有权限。代表对系统对象的授权操作。加载程序使用分配的权限来管理名称空间,并为任何加载的代码形成保护域。代码尝试的操作通过安全管理器根据域权限进行检查。除了标准的Java权限外,开发人员还可以定义特定于应用程序的权限。Java策略本质上是以平台为中心的。标准策略规则不考虑任何策略设置主体,除了那些与平台相关联的主体,即系统管理员和家庭用户,它们是同义词。在Java的grant-style策略机制下,使与代理相关联的外部策略规则在平台上被接受和合并的最直接方法是定义允许授予这些外部权限的权限。这种授予特权的权限允许平台权威机构不仅控制代码源的特权,而且还控制颁发属性证书的一个或另一个变体的一组特定的策略设置主体的特权我们使用的证书授予权限的格式以其名称“证书调整”开头,后跟允许的证书颁发者的密钥存储别名(可以是任何一个,用“*”表示),并由以下之102“sealedBy”用于标记主体,“launchedBy”用于使用主体。简单地说,权限授予代理的代码源获得由某些策略设置主体向代理或代理的实例颁发的属性证书中表示的特权的权利。例如,为了允许由受信任的审阅者密封的任何代理的代码库(即,企业安全管理器(ESO))并由任何可信用户启动(即,一个在密钥存储器中具有条目),以调整其平台特权(即,接受特权调整处理),则Java策略规则将是授予{权限调整除了在政策文件中使用此新权限外,我们还使用“策略证书中的“tributes”元素指定哪些权限可以由哪类策略设置主体调整。这种约束机制使特权调整无法完全开放,并允许有限形式的政策分层。例如,用户可能受到限制,而制造商可能受限于某些虚拟机资源。类似地,策略设置主体之间的优先级及其证书的最小和最大出现次数在“extensions”元素中传达,以及相关的证书委托信息和可选的策略标识符。该信息允许策略引擎确定代理是否具有足够的证书来开始处理以及应用规则的顺序因此,标准Java策略机制可以以适合于满足大多数代理系统的安全策略需求的方式进行扩展。实现所描述的方案,并不影响Java策略文件的语法或结构,它们仍然是表达平台策略的主要手段。保单证明书并不取代保单文件,而是以参考方式纳入其内容。这种方法允许策略设置主体向任何标准Java策略文件颁发策略证书,其方式与向代理颁发属性证书的方式相同-通过策略文件内容4.2属性证书属性证书是与代理相关的策略规则的外部XML表示。代理人在平台间移动时,负责维护代理人的相关属性证书。基于Java的移动代理系统通常允许移动代码作为单独的类文件或子文件移动由于签名文件是Java框架中用于签名和验证代码的预定义方法,因此大多数具有安全意识的设计人员都将其合并到代理系统中。除了存档的代码之外,签名文件还包含一对文件,一个签名指令和一个数字签名文件,用于一个或多个103档案中包含的文件。这些文件保存在一个特殊的目录中-META-INF目录。META-INF目录中还可以包括附加的元信息,例如对代码进行签名的实体的身份证明,以简化接收方对数据库内容的验证处理。由于其传递元信息的可扩展性,代理一旦代理的代码驻留在META-INF目录中,它就可以被加密绑定到证书,并将证书放置在META-INF目录中以供后续使用。可以容纳多个证书以支持涉及多个策略设置主体的策略。不要混淆关于签名证书和属性证书的标准Java安全特性是很重要的。原则上,它们是不同的,可以单独或共同适用。所描述的扩展遵循这个原则。然而,在品牌主体除了签署其证书之外还为代理颁发属性证书的情况下存在一些冗余,因为证书的消息摘要在代理代码上具有类似的保护。使用属性证书的一个优点是,它们的到期日期可以设置得比签名密钥的有效期短得多,从而有效地将授权的生命周期限制在适当的时间段内。与策略证书一样,其他有用的信息,例如用于区分一组分配的策略规则与另一组分配的策略规则的可选策略标识符,可以出现在属性证书的“扩展”部分中。它们包括一个约束指标,以确定实体是否颁发了证书是一个终端策略设置主体或中间主体,能够为指定数量的死者重新分配权限,以及一个续订服务位置,以确定到期属性证书可以在何处延期,以及延期的期限和次数。在属性证书被颁发给代理的实例的情况下,属性证书的“扩展”部分用于传递不可变实例变量的值,从而通过证书的签名保护它们免受篡改。回想一下,一个主体的全局唯一标识符必须这样处理4.3策略引擎除了验证现行的策略证书和与其关联的策略文件的绑定之外,代理平台必须被扩展以在代理到达时为代理调用属性证书处理。 策略引擎是一个新的对象类,其工作是执行所需的计算并确定代理代码的允许权限特权由一组授权的Java权限组成特权意味着不允许处理(即,不授予许可一般来说,pol-104代理平台可以在初始化时通过代理系统的属性文件将ICE引擎定位和实例化为可信组件。因为策略引擎是一个Java对象类,所以它的实例化是微不足道的。 因此,如果需要支持多个地点或应用程序环境,则可以在一个平台上支持一个以上的策略引擎支持单个方法,调用该方法可验证相关属性证书并返回允许的权限集。由于标准Java策略机制保持不变,策略引擎可以在其处理中利用它们,这简化了策略引擎的实现例如,当策略引擎需要确定分配给特定保护域的基线权限时,它可以使用标准Java应用程序编程接口(API)向当前安装的Java策略对象询问该信息。类似地,通过现有的API,它可以确定属性证书中声明的权限是否隐含在这些基线权限中。对于授权式策略机制,策略引擎计算实质上变成基线许可与属性证书中传达的任何许可的逻辑联合,服从于发布证书的策略设置主体的优先级以及由主要平台策略施加的任何特权调整约束。虽然策略引擎确定了允许的特权,但它并不强制执行这些特权。强制执行由负责代码迁移和其他管理功能的代理平台程序组件负责。必须对该组件进行扩充,以便通过使用Java安全类加载器的特性在保护域内断言关联的安全权限来限制代理5相关工作标准化机构内的工作正在取得进展[10,11],X.509基于身份的认证标准和特权管理标准。权限管理的框架通常遵循X.509原则,根据该原则,被称为授权机构的受信任方向人类或机器实体颁发属性证书,这些实体可以反过来委托该授权。除了通过属性证书颁发和授权权限外,还在框架中解决了权限的撤销问题。该框架包括对特权管理基础设施所需的信息对象的定义,包括属性证书、特权策略格式和属性证书撤销列表。IETF [12]也在努力建立这些标准的互操作性概要,旨在用于通用应用程序,如电子邮件,这些应用程序具有有限的特殊用途要求。Anchor Toolkit是一个移动代理系统,提供移动代理的安全传输和管理[13]。该工具包保护通过加密通道在主机之间调度的代理。移动105代理的主机平台需要在将代理分派到下一个平台之前对代理的持久状态进行签名。 已签名的持久状态可以用于检测座席状态的潜在问题。该工具包使用另一个安全工具,称为Akenti,由作者开发,以提供对移动代理主机平台资源的访问控制。Akenti使用公钥/私钥签名证书来表达用户身份、资源使用条件和用户属性。条件用于表达平台策略,而用户属性通常表示由某个机构授予移动代码的单个权限。Akenti为每个受信任的代理做出访问控制决策,并且仅在对代理、派遣代理的服务器以及代理在达到其当前状态时访问的所有主机进行身份验证后才允许执行。该方案依赖于移动代理平台之间的信任水平,以作出访问控制决策,以减轻与接受移动代理相关的风险。SESSL是一种多域分布式系统安全架构,围绕身份验证和特权证书的使用而构建[14]。用户和应用程序在访问受保护的资源时都以相同的方式进行控制- 它们必须首先以授权委托证书(PAC)的形式获得其特权的证明,然后在请求资源访问时将其呈现给目标应用程序。目标应用程序又可以使用所委派的特权访问另一个目标。访问控制信息一般表示为便于映射到目标资源上的不同类型的访问控制。SEMPERATURE遵循仅授权模型。PAC撤销是通过短时间的授权来避免的。虽然SEARCH的重点仅仅是静态客户端-服务器类型的应用程序,但它提供了一个很好的例子,说明在为分布式系统安全应用基于证书的解决方案时所需的底层框架。Nikander和Partanen [15]描述了一种通过简单公钥基础设施(SPKI)证书来增强Java语言环境的方法。SPKI证书是使用X.509证书的替代方案,强调关键而不是个人身份。 增强的动机是使完全分发Java安全策略管理成为可能,而不会影响本地配置。他们通过将许可分配给捆绑在一个文件中的类文件,以类似于我们使用属性证书的方式使用SPKI证书来实现这一点。然而,在他们的方法中没有出现与政策证书相对应的东西。该方法基本上从一个极端(即,以平台为中心的策略规范)到另一个(即, 以代码为中心的策略规范),并且完全依赖于经验证的证书链的内容来确定给定类的保护域的权限。与SEARCH一样,这里的重点是客户机-服务器类型的应用程序。然而,由于该方法状态Ap-权限定义了一种保护移动代理的安全机制。目标106状态评估的目的是确保一个智能体不会因为其状态信息的改变而以某种方式被颠覆[16]。 作者和所有者产生评估函数,这些函数成为代理代码的一部分。评估函数用于根据条件因素和所识别的状态不变量是否成立来确定授予代理什么特权。一个状态违反不变量的代理不能被授予任何特权,而一个状态不满足某些条件的代理可以被授予一组受限的特权。当作者和所有者各自对代理人进行数字签名时,他们各自的评估功能受到保护,不会被检测到修改。与属性证书相比,看待这一点的一种方式是,国家评估既传达了政策引擎,以及代理商内部的规定策略。代理平台使用这些函数来验证传入代理的正确状态,并确定代理在执行期间可以拥有哪些特权。权限由平台根据评估功能的结果和平台的安全策略发布6总结属性证书是一种灵活的方式来表达与移动代理相关联的特权,符合最小特权原则。对于大多数代理系统中常见的内部数据结构,代理证书也提供了一种自然的替代方案。当与策略证书和大多数代理系统使用策略引擎扩展代理平台的能力相结合时,它们提供了一个有用的框架,可以满足应用程序的安全策略可定制性的程度包括定义各种策略设置主体、这些主体之间的优先关系、应用程序特定属性和策略处理算法的能力。引用[1] Wayne Jansen,Countermeasures for Mobile Agent Security,ComputerCommunications 23(2000),Elsevier,October 2000,pp.1667-1676年。[2] ITU-T Recommendation X.509 ( 1997 E ) : Information Technology -OpenSystemsInterconnection-TheDirectory:AuthenticationFramework,June 1997.[3] ITU-T Recommendation X.690 ( 1997 ) ISO/IEC 8825- 1 : 1998 ,Information Technology -ASN. 1 Encoding Rules:Specification of BasicEncoding Rules ( BER ) , Canonical Encoding Rules ( CER ) andDistinguished Encoding Rules(DER).[4] 可扩展标记语言(XML)1.0,第二版,W3C107建议,2000年10月,网址:http:www.w3.org/TR/2000/REC-xml-20001006 <$。[5] 王晓云,高性能分布式计算中的分布式资源管理,北京:计算机科学出版社,1998年10月。[6] 陈文,分布式系统的策略定义语言,北京:计算机科学出版社,1996。[7] 陈文,安全策略规范语言,互联网工程任务组(IETF),2000年3月10日。[8] 作者声明:Danny B.Lange和Mitsuru Oshima,Aglets的安全模型68-77,1997年8月。[9] N. Suri 等 人 , NOMADS : Toward a Strong and Safe Mobile AgentSystem , ProceedingsoftheFourthInternationalConferenceonAutonomous Agents(Agents 2000),2000年6月3日至7日。[10] 1998年9月10日至12日在加拿大不列颠哥伦比亚省温哥华举行的国际电联和国际标准化组织/国际电工委员会关于目录的合作会议上提出的[11] 使用数字签名和属性证书的增强管理控制,X9.45- 199 x,工作草案,美国国家标准协会X9委员会,1998年8月25日。[12] 王 志 荣 , http://www.ietf.org/internet-drafts/draft-ietf-pkix-ac509prof-06 。txt?[13] 陈文龙,一种基于网络的移动代理系统,北京大学出版社,1999年10月[14] Paul Ashley , Authorization for a Large Heterogeneous Multi-DomainSystem,Australian Unix and Open Systems Group National Conference,1997,pp.159比169[15] Pekka Niklander , Jonna Partanen , Distributed Policy Management forJDK 1.2 , Proceedings of the 1999 Network and Distributed SystemsSecurity Symposium,February 1999,pp. 91比102[16] William Farmer , Joshua Guttman , Vipin Swarup , Security for MobileAgents:Authentication and State Appraisal,Proceedings of the FourthEuropean Symposium on Research in Computer Security(ESORICS118-130
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功