设为首页收藏本站language 语言切换
查看: 1446|回复: 0
收起左侧

Web Service的安全

[复制链接]
发表于 2010-2-25 10:24:28 | 显示全部楼层 |阅读模式
<p >本部分我们将对安全和Web Service予以介绍并加以评论。这个话题是有争议的,因为开发人员是第一次采用Web Service技术,安全问题就成了它们经常提到的话题。首先,我们回顾一些基本的概念,然后再看一看一些公共安全技术,例如SSL(Secure Socket Layer)。然后,我们将分析鉴别和授权所涉及的过程,还有数据保密性。 <p ><center><font color="#000099"><strong>Web Services 安全简介</strong></font></center><p >首先,我们将简要地介绍一些概念和体系结构,这些概念和体系结构是Web Service 安全的基础。 <p ><b>非对称密码技术——私钥和公钥</b><p >第二次世界大战期间,美国海军发现无线传输加密的最好形式之一就是用Najavo Indian语言进行交流。这种语言和其他语言天生就没有关联。这一简单的技术从来没失败过,甚至胜过更复杂的代码书和计算机制。<p >从那时起,现代密码技术就得到飞速发展。为了便于在此进行讨论,介绍两种基本的密码术算法:对称(常规)和非对称(也就是所熟知的公开-秘密密钥密码技术)。在对称密码技术中,对文件或者报文进行加密的密钥(或者编码)与对文件或者报文进行解密的密钥是完全相同的。而在非对称密码技术中,对文件或者报文进行加密和解密所使用的密钥是不同的。从算术角度看,这两个密钥是相关联的,但是由其中的一个密钥导出另一个密钥却很难实现。一个用户可以将公开密钥分配给其他用户,并对这些用户发送给自己的报文进行加密。这个用户将对私钥严格保密并利用它对使用公钥发送的报文进行解密。 <p >从计算复杂性角度来看,使用对称加密技术传送报文比使用计算复杂性更强的非对称技术效率更高。由于可以自由分配公开密钥,非对称技术在大型团体中更具优势。<p ><b>身份认证</b><p >身份认证是实现Web service集中工作的关键。现在大多数Web Service处于单独工作状态,但是大家都在谈论将Web Service聚集在一起,创建更加强大且更加复杂的业务服务。然而,Web Service 的集中要求服务能够共享信息,这一点在我们开始考虑在服务中添加安全时显得尤为重要。 <p >请考虑大多数Web Service是如何实现安全的?提供安全Web Service的每一种业务都维护有授权用户列表,其中每一位用户使用userid/password(用户ID/口令)来进行身份鉴别。但是这对于复杂的服务来说并没有太多意义。而且这也是我们之所以听到象微软这样的大公司宣布Passport(护照)将使用Kerberos V5.0支持联合鉴别,还有Sun 启动Liberty Alliance (自由联盟工程)的理由。<p >对等的通信实体进行鉴别期间将使用身份特性。它将辨别、授权和审核等考虑在内。当前最常用的方法就是每一种安全身份特性将具有名称、私钥和X.509证书。X.509 证书包含特定身份特性的公共特征(aka credentials) ,这其中包括公钥。 <p ><b>数据签名</b><p >数据签名只能校对数据来源。如果使用私钥对数据加密,那么能够正确解密的任何人都可以很容易的校对数据的来源:正确解密就是说数据是使用相应的私钥加密的。由于私钥总是需要保密,而且只有生成私钥的主人唯一占有它,正确的数据解密当然就证明了它的来源。 <p >不幸的是,非对称算法速度太慢,因此要使用特定的散列函数(例如MD5或者 SHA)。这些特定的散列函数首先将计算数据的手印(例如, MD5是16 字节而SHA是20 字节)加以符号表示。接收方使用相同的函数计算手印,使用公开密钥对采用符号表示的手印进行解密,最后将计算所得的手印和解密所得的手印进行比较。如果两者能够完全匹配,那么数据的来源就得到了证实。<p ><b>认证证书</b><p >我们首先来看看证书是如何创建的。首先,生成密钥对(公钥和私钥)。接下来,创建一个所谓的证书签名请求Certificate Signing Request (CSR)。CSR只不过是一个数据集,其中包含了证书中所包括的全部信息(包括公开密钥) 并且使用所生成的私钥对其进行签名。下一步, CSR将被发送到证明授权机构(Certification Authority)由其根据CSR创建证书并用私钥签署证书。通过签署证书,证明授权机构(Certification Authority)将核实证书包含的有效数据。信任这个证明授权机构的任何人都可以使用它的证书(更准确的公开密钥)并可以核实所签署的证书。将证书存储到一个专门的可信赖的存储之处能够表明我们信任某一身份特性这一事实。证书核实可以扩展到更高的级别。因此,可以使用某一身份特性签署证书,而这一身份特性是由另一身份特性签署的。如果我们信任这一串中的所有证书,这就意味着我们也信任这一串中其它更高级别的证书。                                 <p align="center"><font color="FF0000" >1</font>23<span class="content01">下一页&gt;&gt;</span></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-10 15:14 , Processed in 0.057633 second(s), 22 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表