WebService安全解决方案—简单握手协议
? ? WebService安全解决方案—简单握手协议1、具体方案如下图:
2、解决方案分析???????A、SiteA每次向SiteB发送的请求参数都不一样,造成伪造者难以模仿和推敲里面的算法过程。 B、伪造者获得了SayHelloRequest的数据,它向SiteB发送请求,但是里面加密的IP与伪造者IP不符合的情况下,系统会否定;即使伪造者伪造了IP,获得了SiteB中SendResult中的数据,但是伪造者没有SKey,不能解密获取TempKey,就不能伪造GetDataRequest的数据。 C、 若是探测者从网络上获得了GetDataRequest的所有数据,并向SiteB发送相关信息,由于IP不同,时间戳的差异,数据库是否还有当时TempKey的记录,这三种判断都可以否定伪造者的获取请求。 综上所述,伪造者若想获得正确的数据,必须获得SKey和整个握手协议的算法过程。 3、算法特点对称密钥SKey无需在网络上传播,跟大多数握手协议一样,生成了临时会话密钥TempKey,主要依靠时间戳和临时密钥来保证整个会话的安全。 4、在WebService上的广泛应用若是在网站中有多个WebService,那么SiteB的数据库表就可以不以IP为主键,可以在加多个名称字段,使用复合主键。这样一张表就可以存储多个记录了,对应不同站点不同的WebService应用。 ? 4、解决方案的广泛应用在多数的安全领域,特别是像B/S架构中这种无状态的连接一般都使用类似的握手协议,可能它们的发送数据方式不一样,可能生成临时密钥的方式不一样,可能它们的加密方法不一样,但是本质都一致的。 ? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 作者:Ancky ??????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 日期:2009-11-26 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- scala – 如何在play-framework中运行测试时应用play-evolu
- scala – Tarjan的强关联组件算法的功能实现
- angularjs – 如果选中复选框,则需要输入值
- angularjs – 如何选择工作?
- angular – SafeValue必须使用[property] = binding,但它是
- vim – 如何设置Syntastic作为python3检查器而不是python2
- angularjs – Angular 1.5路由示例
- 为什么我需要vim在二进制模式为’noeol’工作?
- REST WebService与SOAP WebService的比较
- 为什么应该选择Scala中的异常处理选项?