论坛首页 Java企业应用论坛

三种保证URL地址可信的加密方式

浏览 13233 次
精华帖 (0) :: 良好帖 (6) :: 新手帖 (3) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-11-23   最后修改:2009-11-23
引用
3.同时使用非对称,对称加密算法保证HTTP通信可信。
Frontend Server随机生成key做为对称加密算法的公钥des(params|fskey|fstime),并使用Resource Server提供的公钥对key进行非对称加密rsa(key)
重定向地址链接:
http://res.com/fsid=***&rsamsg=rsa(key)&desmsg= des(params|fskey|fstime)
Resource Server收到该请求后

首先根据fsid判断该Frontend Server是否可信,如可信再根据服务器端保存的非对称加密私钥解密rsa(key)。
根据key解密des(params|fskey|fstime)。
通过fsid获得服务器端保存的fskey,对比解密后的fskey,如果不相同则认为是Frontend Server伪造的非法请求。
根据fstime判断是否过期,过期直接返回。




这个采用数字签名就可以 即(params|fskey|fstime)做摘要如SHA-1 然后用Frontend Server的私钥对摘要做加密 将(params|fskey|fstime) 和加密值发送给接收端
接收端 用Frontend Server的公钥解密出摘要值 与 (params|fskey|fstime)的摘要值对比 符合即通过

定期更换两台服务器的公私钥 可以防止密钥的泄漏

数字签名是很成熟的安全方案
0 请登录后投票
   发表时间:2009-11-23   最后修改:2009-11-23

恩,是这个意思吧,重定向地址前半部分是明文传递的参数,后半部分是使用非对称加密算法加密的参数摘要。

http://res.com/fsid=***&fstime=***&params=***&fskey=***&signmsg=RSA(SHA-1(fsid,fskey,fstime,params))

这个办法很不错,安全性更高了,多谢!

 

0 请登录后投票
   发表时间:2009-11-23  
有个叫HDIV的框架,应该能满足你的要求。
0 请登录后投票
   发表时间:2009-11-24   最后修改:2009-11-24
可是试试SSO(app sever都支持的),你这种case 根本不需要有额外的coding
0 请登录后投票
   发表时间:2009-11-24  
cszhz 写道
可是试试SSO(app sever都支持的),你这种case 根本不需要有额外的coding

sso不太适合大量部署吧,而且又会引起很多效率上的开销。
0 请登录后投票
   发表时间:2009-11-24  
这就是CA要解决的问题啦,加密解决了防篡改的问题,CA的引入则解决了防伪造的问题。所以建一个CA是技术上最完美的方案,不过代价也最昂贵。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics