前 言 本书主要介绍了如何将Web服务和信息安全技术相结合的方式。因为要想广泛部署Web服务,就必须考虑安全性问题,而安全技术又需要Web服务提供的简易部署,所以Web服务和安全性必须兼顾。至少从理论上看,这是一种双赢(win-win)的策略。但是该技术非常复杂,并且不易理解。本书将引用大量的实例并通过简洁的语言来帮助您理解Web服务的安全技术。 本书首先介绍Web服务的概念。Web服务是一项重要的新技术,它由于行业间支持而闻名于世。IBM、HP、Oracle、Microsoft、Novell和Sun都提供了Web Services架构。Gartner预测:在2004年,Web Services将为Fortune 2000公司支配新的应用程序解决方案的部署(Gartner, Inc., 2002)。本书由始至终都引用了诸如身份验证、授权和数据完整性等安全概念书。首先在前两章给出了这些安全概念,从而为后续的与WebServices相关的一些章节做准备。贯穿本书的线索是Web Services安全依赖于这些确定的安全概念和技术而这些概念和技术没有什么变化,(Web Services也没有废弃它们)。 前两个介绍性章节为‘讨论与Web安全相关的安全协议和过程的整个范围’的章节打下了基础。接下来的一章章不仅讨论了Web Services安全的方法,而且还讨论了Web Services安全的理由。Web Services安全技术(例如SAML和WS-Security)作用于应用层,但是即使这样,记住Web Service的完整的安全上下文是很重要的。包括合适配置的防火墙,使用修补和锁定的Web服务器以及(特别是如果使用数字证书)足够的安全策略文档。‘只解决Web Services提出的新的安全挑战,而使系统对传统方法的攻击敞开大门’是很愚蠢的。因此,本书除了介绍Web Services安全的理论知识之外,还试图成为部署安全的Web Services的实用向导。这听起来像有许多工作要做,但是一旦您熟悉基本的概念,这些工作就开始有意义了。 接下来的连续几章介绍了针对Web Services的新的安全技术,包括XML Signature、XML Encryption、SAML、XACML、XKMS和WS-Security。如果您已经了解了XML、Web Services和信息安全的基本概念,那么您可以直接阅读这些章节。除了讨论这些于开发商无关的技术之外,还讨论了由开发商控制的技术(例如Microsoft的.NET myServices和Project Liberty)。 尽管UDDI(Universal Description, Discovery, and Integration)安全领域仍然是假设的,并且充满了争论,但是很多人都对这一争论感兴趣。因此,专门有一章介绍了应用于UDDI的XML Signature和XML Encryption应用程序。可以将ebXML看作是WebServices的替换方案。但是,它包括许多与Web Services(XML,当然也有SOAP)重叠的技术。此外,ebXML有‘利用XML Signature和XML Encryption等技术’的安全模型。因此,本书要介绍ebXML。也许对于一本技术方面的书来说不太寻常的是,有一章专门介绍了Web Services安全的法律问题。这些法律问题包括应用于XML Signature的数字签名法律、实现SAML时的保密问题、以及应用程序到应用程序事务处理时产生的法律问题。法律考虑考虑了信息技术的所有方面,并且Web Services也不例外。在这一章可以找到以下问题的答案:“当一个应用程序连接到另一个应用程序以执行欺诈的事务处理时,应该怪谁?”以及“谁也不怪责现实吗认?” 尽管本书是关于保护Web Services的,但是常常会看到保护Web Services的另一面—— 攻击Web Services。虽然这是思辨的,但是却不难了解用于攻击Web应用程序的技术,并将它们扩充到Web Services。Web Services安全的未来不仅取决于研究出来的针对Web Services的攻击,还取决于所公布的攻击。正如其他各行各业中一样,“了解您的敌人”是重要的。本书旨在提供保护Web Services免遭攻击所需要的全部信息。 实例研究附录提取了本书主体中介绍的Web Services主题,并将它们放在实际的上下文中。每个附录都是以问题的声明开始,然后列出解决方案中使用的合适的Web Services安全技术。记住:必须考虑Web Service的完整的安全上下文—— 防火墙、修补和锁定的Web服务器、以及(在某此情况下)使用安全信道(SSL,VPN)或者消息级安全。 本书读者对象 程序员和负责部署Web Services的设计师都必须了解这个新技术的安全含义。此外,网络安全专业人员必须了解Web Services提出的新的应用程序层安全挑战,以及解决这些挑战的新的安全标准。这两群人——公司里实施Web Services的安全专业人员,和实际实施这些Web Services的的应用程序专业人员都是本书的读者。 主要读者 本书的主要读者是软件开发人员和实施XML Web Services的设计人员。 一般读者 本书的一般读者包括希望了解如何解决由于使用XML Web Services而带来的安全漏洞的信息安全专业人员。 本书是以直接方式编写的(使用简单的可行示例),所以希望一般的非技术读者也具备能够了解这个全新的领域。