快速业务通道

Java Web服务 - Axis2 WS-Security签名和加密 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

Java Web服务 - Axis2 WS-Security签名和加密

时间:2011-02-02 IBM Dennis Sosnoski

安全性对于使用 Web 服务交换业务数据至关重要。如果数据被第三方截取,或者欺骗性数据被当作有效数据接收,那么会引起严重的财务或法律后果。为 Web 服务(任何形式的数据交换)设计和实现应用程序的安全处理始终是可行的,但是这种方法比较冒险,因为即使是一个小错误和疏漏都会导致严重的安全漏洞。与其他更简单的数据交换相比,SOAP 的优势之一是它支持模块化扩展。自 SOAP 首次发布以来,安全性一直是扩展的主要关注点,促使了 WS-Security 和相关技术的标准化,允许针对每一个服务相应地配置安全性。

信息交换对安全性的需求通常包含三个方面:

机密性:只有消息的目标接收者有权访问消息内容。

完整性:接收到的消息没有发生任何修改。

真实性:可以对消息的来源进行检验。

WS-Security 可以让您轻松地满足这三个方面的要求。在本文中,您将理解如何通过使用 Axis2 和 Rampart WS-Security 扩展实现这点。但是,我们首先将扼要概述一下公开密匙加密的原理 — 这是 WS-Security 的加密和签名特性的主要基础。

公开密匙加密

纵观历史,安全消息交换一直以来都基于某种形式的共享秘密。这个秘密可能采用代码的形式,交换的双方使用经过商定的内容替换词语或操作。或者可以是密码的形式,通过某种算法将某种文本转换为其他文本。秘密甚至可以采用其他形式,比如对于可能访问消息的其他方未知的语言。共享秘密可以使消息交换非常安全。但是,如果其他方发现了这个秘密,那么消息交换就会泄漏,并会为消息交换方带来潜在的破坏性结果。(比如,想一想二战时期 Enigma 和 German 的军事通信)。

公开密匙加密是一种与其他加密有着本质区别的安全方法,它不需要共享的秘密。它所基于的理念是数学上的 “trap-door” 函数,它可以沿着一个方向轻松地进行计算,但是很难从相反的方向进行计算。比如,可以很容易找到两个质数的乘积(如果使用电脑的话,甚至可以是非常大的质数),但是很难通过分析乘积来找到原始的两个因数。如果围绕某个函数的简单方向构造一个加密算法,那么想要破解加密的任何人都需要从相反的方向来解密。和任何精心挑选的算法一样,破解加密的尝试将非常困难,以至于无法在可以对消息交换产生威胁的时间期限内完成(至少要等到有人开发了可用的量子计算机,或真正有效的特异功能)。

使用了公开密匙加密后,希望接收已加密消息的一方将创建一对密匙值。每个密匙值都可以单独用于加密消息,但是不能用于解密由它本身加密的消息。相反,这对密匙值的另外一个密匙必须用于解密。只要密匙的所有者将其中的一个密匙保密,另一个密匙就可以公开给他人。任何访问这个公开密匙的人都可以用它加密消息,而只有密匙所有者才能够对消息解密。由于使用了不同的密匙进行加密和解密消息,因此这种形式的加密被称为不对称加密。

消息签名

当使用您的公开密匙对消息进行加密,那么只有您(即私有密匙的持有者)才能够解密消息。这可以确保机密性,满足了安全消息交换三个方面的其中一个方面。但是也可以使用您的私有 密匙来加密消息,这样做之后,任何具有您的公开 密匙的人都可以解密这个消息。乍看上去这似乎没什么用 — 任何人都可以读取的加密消息有什么用?— 但是这种方法可以很好地充当一种检验真实性的机制。据称从您那里收到已加密消息的人可以使用您的公共密匙来解密消息并与预期值进行比较。如果值匹配的话,那么他们就知道是您 创建了这条消息。

在实际中,消息签名的过程不仅仅是使用私有密匙加密消息。首先,您需要使用某种方法为解密消息确立预期值。这通常使用另一种经过变化的数学

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号