日期:2014-05-16  浏览次数:20424 次

关于用javascript抵御重放攻击
本帖最后由 LonelyCoder2012 于 2013-09-13 10:00:48 编辑
昨天晚上纠结了一晚上重放攻击的事情,今天在看雪看了一篇贴子,但由于我是web开发新手,对具体实现细节还是不懂。。。

看雪上的帖子地址:http://bbs.pediy.com/showthread.php?t=156569
仿照他的解决方法,即那家韩国游戏公司的登录机制:
引用
一家韩国游戏公司的登陆设计可以用来参考。登陆地址https://nid.naver.com/nidlogin.login
他的登陆过程分为两步, 首先从www.nid.naver.com/login/ext/keys.nhn 获取公钥加密key
然后利用上一步得到的key加密用户名和密码,提交加密后的用户名和密码到www.nid.naver.com/nidlogin.login。由此得到的登陆信息是动态变化的,不可重放。


我想了一种实现方式,用户访问登录页面时服务器把随机生成的公钥通过cookie发送给用户,登录时,post加密后的用户名和密码,然后服务器端获取cookie以获得属于该用户的公钥。

问题:
(1)这样做是否还有安全隐患?
(2)针对那家韩国游戏公司的登陆机制,可以说说实现细节吗?

------解决方案--------------------
只要你发到到客户端的,没有什么加密可言的。。韩国那个也是一样。。

只要你对外提供登陆功能,别人就有办法模拟登陆,只是增加模拟登陆的的难度,如增加很难识别的验证码什么的