关于网络安全。我注意到,现在很多网吧都是使用的集线器。而网易通行证的登陆界面是使用的http协议,而非https 密码是明码在网络上传输。换句话说,只要在使用集线器的网吧的另一台电脑上就可以监视整个网络的所有数据。包括明码传输的密码。怎么解决这个问题
最简单的方法就是让对方设一个 cookie 或者别的随机码过来. 然后和密码连在一起传 md5 (或别的单向散列函数) 回去, 做密码认证.
这类方法我已经提了两年了. 由于工程浩大, 我们和 urs 部门开过两次会现在还没有做. 不过我已经想在游戏里加一种不要人输入的 2 次密码认证方案了. - 回复 | (565) | 云风 | 2004-11-24 04:35:30
不要人输入的2次密码认证??这个怎么实现啊?云风先生可以做详细一点的解释么?谢谢了! - 回复 | (597) | jason | 2005-01-16 10:25:05
在游戏里面也是一样的,不过稍微安全一点的在于,游戏中封包加密的。但是还是不够安全。
比如说,大话西游加密的密钥的种子还不是服务器传过 『More』 - 回复 | (567) | Atry | 2004-11-25 01:32:49
Atry??是叶子的Atry么??大话的密钥种子不是服务器传过来的??密钥种子是个什么东西啊??请讲解一下吧,谢谢了:) - 回复 | (595) | jason | 2005-01-16 10:10:03
md5 是一个非常简单的算法, 其他各种散列算法都不复杂. 用 javascript 非常容易实现, 不会超过 100 行.
加密有很多手段, 如果网易的游戏不采用网易通用的 urs 认证, 有很多方法可以做到从网络包无法分析出密码, 最简单的就是服务器使用一对公私匙,把公匙通过 client 发布给用户, 每次登陆, 服务器发过一个随机码过来,用户用公匙加密(密码+随机码)传回. 服务器可以用私匙解密.这就是最简单的安全认证系统.
现在之所以网易游戏没有用这种认证方法, 只是公司内部政策原因. 当然, 我们也可以通过技术手段绕过政策. 比如用公私匙方式密文安全传输密码.然后由 game server 解出密码发到 urs server 认证. 为什么不这样做呢?因为网易 urs 在太多地方用了. 单单把游戏这块做好了根本提高不了安全性.