Web Service安全保障之SSL应用(一)

日期: 2007-12-22 作者:岑文初 来源:TechTarget中国

  SCA框架规范并不是一个具体的业务场景解决实施规范,它是一种框架结构性规范,它的精华部分主要在于:一.将抽象和封装由对象提升到了业务组件模块 二.框架的可扩展性(也就是因为没有实现的约束,才会能够易于扩展)。当然这两点所带来的好处那就是在这么一个精炼的框架核心规范下,不断融入了外界的各种好的技术和理念,就好比现在的Web2.0最重要的一点特质,规范的只是接口(用于统一交互的管理),开放的是接口下的任何贡献,主动参与和主动的集成将会使得框架越来越有活力,Spring就是很好的例子。而SCA和Spring的差异我也早在前面的文章中说过,SCA和其他的规范一样,并不是一个横空出世的规范,是积累在过去的失败中沉积的产物。最后打了个比方,SCA规范好比一本菜谱,至于采用什么锅子,用哪里产的材料都是由厨师自己掌握,这也是架构师和程序员需要共同努力将这个规范实践的原动力,正确的做事和做正确的事是成败的两个关键。言归正传,继续这次的主题。

  在前面的服务框架工作中,对于Web Service的支持成为了这段时间的重点工作,从开始的压力测试,Java客户端的兼容性测试到.net,php客户端的兼容性测试,WS-Security的集成,服务框架对于Web Service的支持在需求中逐渐增强。AEP第一期基本完成准备上线,第二期的需求也已经在酝酿中,ASF的第二期功能需求也逐渐的被提出来了,有一点看上去优先级比较高,因此我就开始动手先做,那就是SSL。一开始的时候对于SSL需求有些误解,以为是要做Web 服务器端的SSL,其实我们需要做的是硬件的SSL,只不过“首架”的意思是需要对SSL模式下的客户端调用作准备(的确,客户端在SSL不论是硬件还是软件模式下都需要作一定的工作)。后续将讲述一下我在做Web 服务器端SSL平台集成的工作和SA专家交流了解的硬件SSL的架构策略。

  What is SSL

  虽然以前也对SSL有所闻,也常看到IE突然蹦出一个安全提示框,但是对于SSL的具体原理以及结构没有仔细看过。既然要用了,还是那个原则,先把原理搞清楚,然后再去实践。

  SSL(Secure Socket Layer)是一种通信交互协议,由Netscape公司在1994年制定,主要目的就是确保在web 服务器和浏览器之间数据传输安全。SSL协议层是在TCP/IP层和应用层之间。当前TLS(Transport Layer Security)正在逐渐替代SSL(最新版本v3)。

  SSL协议分成以下几部分:

  Record Protocal是SSL的基础层,SSL所有的上层操作都是基于这个层次,这层主要负责消息内容的分段,压缩,加密和数字摘要等操作。

  Handshake Protocal故名思义就是握手协议,也是在正式应用数据传输前双方交换加密设置以及认证的流程规范协议。

  Change Cipher Spec Protocol是基于record协议层通知远端服务器修改record协议层中安全设置的协议。

  Alert Protocol是基于record协议发送警告到远端服务器的协议。

  SSL的具体流程图:

  SSL的流程也体现了对于对称性密钥和非对称性密钥的使用,由于对称性密钥加密比非对称性密钥加密要快1000倍,那么对称性密钥被用来做对内容的加密,而非对称性密钥用来做传递对称性密钥的加密手段。

  服务端所需要具备的是一个拥有服务端的标示,公钥私钥对的证书。在握手的流程中,服务端将带有公钥的证书抽取出来发送给客户端,客户端就首先可以判断证书颁发者是否属于本机受信的CA,如果不是,就会类似于IE跳出提示,如果通过了这部分CA认证,双方就可以通过非对称性加密算法来交换客户端生成的临时对称密码,进行安全加密信息交互。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐