网乐原科技

直播中

news center新闻中心
首页 > 资讯中心 > 软件技术

探索网格安全领域前沿技术

发布时间:2008-09-12     阅读数: 次       来源:网乐原科技

网格计算很快将成为您的企业网络策略的核心。但是它的安全性如何呢?本文作者 anne zieger 带我们探索了网格安全领域内的前沿技术,人们正开始用这些技术解决迫在眉睫的安全问题。

  直到最近,很多企业对待网格计算技术的态度依然是袖手旁观,而没有进行投资。虽然有极少数经理试图说服人们相信,对空闲计算能力的开发能够获益,并且重要的应用程序也可以构建于网格基础设施之上,但是很多人还是认为,潜在的害处依然比益处更大一些。

  不过,最近情况开始发生了一些变化。研究人员和企业管理人员纷纷关注大规模的网格应用,他们正在开发新一代的网格计算安全技术,以适应企业的需要。

  chris crafford 是总部设在得克萨斯州奥斯汀的商用网格计算公司 united devices 的副总工程师,他说,“迄今为止,从一般意义上讲,人们致力于发展的大多数网格标准都根本没有去做解决安全性问题的广泛工作。不过我相信随着我们的不断努力,这些标准都会开始将安全问题考虑进来的,因为安全性对于业务而言是至关重要的需求。”

  过去的几代网格安全技术都或多或少直接构建在知名的身份管理(identity management)和访问控制(access control)等技术的基础之上,其中值得一提的便是基于公钥基础设施(public key infrastructure)的安全工具。

  现在,新的网格安全技术不断出现,并开始解决应用程序和基础设施的安全性问题,其中包括对应用程序的保护和节点到节点的通信。在取得其他进展的同时,出现了一些将 kerberos 安全性与 pki/x.509 机制相结合的网格安全技术,可以使网络节点之间的对等连接变得安全,从而更好地保护网格用户及应用程序免遭恶意或拙劣代码的侵害。

    globus toolkit

  globus toolkit 是一组用于构建网格的组件,应用十分广泛,其中包含一种最流行的网格计算安全机制。

  这个工具集由 globus project 开发,它通过其中的网格安全基础设施(grid security infrastructure, gsi),提供认证、授权和安全通信。gsi 通过使用公钥密码系统,特别是公钥/私钥和 x.509 证书,为创建安全网格提供了基础。

  x.509 也许是应用最为广泛的数字证书定义标准,企业 it 管理人员对它都十分熟悉,并且也具备支持它的基础设施。与此同时,这种标准相当灵活,可以很巧妙地在网格中使用。

  gsi 的主要目标是:为多个网格系统和应用程序提供单点登录;提供可以在多个组织之间使用,而不要求集中管理授权的安全技术;以及在同一网格中的多个不同元素之间提供安全的通信机制。

  gsi 认证

  gsi 基于用户的私钥创建时间戳代理,从而为用户提供了一种安全认证的方法。用户如果没有创建这个代理,就不能提交作业,也不能传输数据。这个代理一经创建,就可以用于授权或者拒绝对整个网格内所有资源的访问。因为这个代理可以在整个系统中使用,这就使得最终用户可以只登录一次。

  另外一种认证方法是使用具有 gsi 功能的 openssh,其中也使用了相同的认证机制。但是这种方法就是在 globus toolkit 核心功能之外实现的了。

  gsi 授权

  gsi 处理用户授权的方法是将用户映射为所访问系统的本地用户。在启用了 gsi 的网格中,接收请求的系统从代理中读取用户的名字,然后根据一个本地文件将这个名字映射为本地用户名。

  为了避免在不同的网格系统中创建很多额外的用户 id,管理员可以将用户划分为虚拟的组。某个特定域下面的所有用户在访问某项特定的网格资源时,都可以映射到一个公用的用户 id 上。gsi 的这种设计方式有助于管理员将运行网格计算的外部用户和需要本地管理与支持的本地用户区分开来。

  gsi 安全通信

  缺省条件下,gsi 用数字证书进行相互认证,并通过 ssl/tls 实现对数据的加密,以保证通信的安全。globus toolkit 中包含 openssl,用于在网格客户机和服务器之间创建加密的管道。

  如果某些用户不具备到网格客户机和服务器的物理连接,而要实现对网格的安全远程访问,那么 globus 建议使用具有 gsi 功能的 openssh。安全 shell(secure shell, ssh)可以在用户的客户机和网格服务器之间建立加密的会话。
[page]与 kerberos 集成

  前面大致介绍了一下 globus 中使用的方法,这种方法已经足够成为开展网格应用的坚实基础,特别是对于金融服务以及医药行业而言更是如此。

  然而,毕竟还是有一些组织被排斥在外。比如说,gsi 并不与 kerberos 认证机制直接兼容,而后者的应用十分广泛且与已有的 x.509 机制有很大区别。

  现在出现了一种网格安全技术,试图通过将 kerberos 基础设施与 x.509 证书相融合来回避这一问题。美国密歇根大学开发的 kx.509 ,其设计目标就是在 kerberos 和 pki 之间架起一座桥梁。

  kx.509 是一种“kerberos 化”的客户端程序,它用现有的 kerberos 票据获取 x.509 证书。合法登录到 kerberos 领域、kerberos 客户机软件及进入 kerberos 认证机构(kerberos certificate authority)服务器系统的用户可以参与。

  通常情况下,用户要使用 globus 工具,就必须通过使用长期 x.509 证书的机器的认证。长期 x.509 证书用于生成短期代理,然后这个代理将用于网格中的认证。这个代理在预先设置的时间期限之后就会过期。

  kx.509 就其自身来说,可以用来代替永久性的长期证书。kx.509 通过用用户已经拥有的 kerberos 票据创建 x.509 凭证(包括证书与私钥)来做到这一点。然后,用这些凭证生成 globus 代理证书。运行 globus 软件的系统(标准 globus 客户机或 condor-g)可以设置成识别 kx.509 证书,就好像它是标准的 x.509 事务一样。

  kx.509 生成的证书和私钥通常与 kerberos 凭证存储在同一个缓冲区中。netscape 或 internet explorer 随后会加载 pksc11 库,以确保所有 web 活动的安全。

  不过,kx.509 并不是完全自动的。对于想利用 xk.509 凭证的用户而言,目标机器的管理员必须特别指明可以接受 kx.509 凭证。

  管理员还必须修改客户机系统中的一些文件,为运行 kx.509 的可执行文件,必须设置若干环境变量。可能会要求用户在他们个人的初始化文件中放入所需的脚本,或者由管理员在系统级的启动文件中放入一些脚本。
    sharp:安全资源共享

  目前还出现了另外一组网格安全技术,致力于安全的网格资源管理,以便帮助使用网格的公司更高效地共享系统。

  在这方面有一个例子,即所谓的 sharp 研究项目(secure highly available resource peering,安全高可用资源直连),这是杜克大学开发的一个项目,目标是为共享网格资源和委托授权使用这些资源定义新的方法。

  sharp 提出了一种新的网格安全基础设施,称为“策略服务器(policy server)”,负责控制用户访问网格资源的时间、地点、以及范围。这些策略服务器给用户一个票据,用于向资源的所有者证明这台经过授权的服务器已经给予他访问权限。

  杜克大学计算机科学系副教授兼 sharp 程序组长 jeff chase 说,“我们过去使用的安全方法一直是在资源孤岛的周围创建一个边界,但是那样的方法不适合网格。其中一点就是,它没有提供控制资源的方式。新的模型为全世界的用户创建了一种流体结构,可以将控制什么人访问什么资源的策略广泛分布在其中。”

  sharp 有一项重要特性,可以不创建集中的认证机构来管理对资源的请求,就能实现安全共享。sharp 网格内的有效主站通过获取“声明(claim)”来控制对网格资源的共享;不同的主站可以像 isp 在路由时交换网络带宽那样相互交换声明。

  在 sharp 模型内部,每一个站点都作为一个中央认证机构来验证密钥、签名、以及检测对其本地资源的声明冲突。声明经过密码签名,可以保证不可更改性、不可否认性,并能够由第三方机构进行验证。

  声明一旦建立,就可以通过“代理(agent)” 对其进行管理。所谓代理,是一些可插入的模块,能够对声明进行细分,并将其分配给相应的客户机。设计这些代理能够使对资源声明的处理更加高效。

  为了避免过度使用系统资源,这些声明被设置了时间限制,在某段特定期限之后就会过期,因此如果声明持有者没有进行操作,系统就可以将资源恢复。

  在某些情形下,代理可能会给资源超额分配额外的声明,这样即便某些声明不能成功使用资源或是超时,也可以保证资源池被充分利用。

  这些技术的最终目标是实现按需计算。尽管网格技术对于研究者而言十分重要,sharp 的开发人员关注的焦点却是有效的计算。“目前,网格被看作是实现这一目标的一种手段”,chase 说道。
[page]构建沙盒

  另外一类发展中的网格安全技术是用来帮助公司保护网格免受恶意代码、病毒以及其他基于网格基础设施之上的有意无意的攻击。

  其中一个例子来自位于得克萨斯州奥斯汀的商业网格计算公司 united devices。united devices 跟商业网格计算领域内的其他公司一样,一直致力于创建安全的共享环境,不仅能保护用户设备不受网格代理的干扰,而且能保护网格设备不受用户应用程序的干扰。其中的思想是保证用户和网格应用程序都只能访问一组适当的系统资源。

  ud 的技术与一些类似公司的技术相同,都是将运行在最终用户环境上的网格应用程序放到一个“沙盒(sand box)”中。这个沙盒是一个受保护的代码包装器,遍布于整个网格应用程序环境,并捕获所有的调用。沙盒的功能通常是网格代理的一部分,这个代理也位于用户的机器上。

  沙盒设计用于保证只有安全的调用才能在主机/用户环境中执行。在 ud 的安全模型中,网格系统截获每一个文件系统调用,并在沙盒中对其进行检验,如果该调用是不允许执行的,那么网格安全系统就不让其继续执行。这样就保护了网格用户不会受到恶意代码或应用程序中的拙劣代码的攻击。

  “如果有什么人向网格中插入了一个恶意程序,并企图访问用户的 pc,那么沙盒会阻止它。”crafford 说,“比如说,在 windows 环境中,您可能不希望外来应用程序对注册表进行修改,因此您不会让这样的调用走出沙盒。”

  ud 一直与 microsoft 进行合作,即在沙盒中使用增强版本的 windows 系统调用,以确保微软的技术能与他们的网格协调工作。他们也针对 .net 平台进行了微调。“如果您使用的是 .net 环境,您可以通过 .net 运行库中的大量控件来捕获不希望从网格应用程序中执行的功能。”crafford 强调说。

  ud 还采取了一些措施来保护网格应用程序中使用的数据。该技术在这一方面的设计目标是保证网格应用程序的用户不能在数据返回网格中央服务器之前查看或者修改网格数据。

  ud 使用了一组标准的数据保护技术,如在数据写出到磁盘上之后进行加密,以及用基于 pki 的认证来保证对方的数据交换。系统使用用于数字签名与认证的 pki 和 x.509 证书对网格用户和应用程序进行验证。

  作为 ud 系统安装过程的一部分,用户可以用他们自己已有的密钥组为所有的网格应用程序创建一个签名。当代理启动时,会与中央服务通信,并请求工作。在这个过程中,代理会被认证,以证明它是网格中的合法组成部分。然后,用户的系统就通过检查数字签名,判断网格应用程序的可信性。

  未来发展方向

  前面的概要介绍表明,网格安全性的研究正开始解决企业 it 经理所关注的可操作性和策略问题。然而下一步,网格安全工作应该趁它依然是主流社团开发中的前沿技术时,迅速转向技术方面。

  比如说,在最近几个月中,globus grid forum 已经开始在基于网格的 web 服务环境中尝试安全技术。与 ggf 合作的是开放网格服务架构(open grid services architecture, ogsa),意在结合网格和 web 服务的概念与技术,提出一种网格服务架构。

  ogsa 安全工作组的成员计划利用由 ibm、微软和 verisign inc 支持的 ws-security 标准,来实现 ogsa 安全性。ws-security 除了其他特性之外,还提供针对 soap 消息的安全性增强机制,以及对 x.509 证书与 kerberos 票据进行编码的方法。

  虽然 ogsa 安全工作组的工作仍然处于早期阶段,其最终工作产品还是能为网格在企业界的逐渐发展与广泛接受作出一定的贡献。随着 web 服务等关键技术安全地启用网格技术,网格技术应该很快就能成为任意企业网络策略的核心。

网乐原科技

客服热线:0771-5761507

QQ:53290011

QQ邮箱:53290011@qq.com

工作时间:周一到周五 9:00-18:00

地址:广西南宁市江南万达写字楼C16栋1309室

物联网开发

关注我们

微信小商店 腾讯QQ客服 微信客服