查看: 6515|回复: 53
打印 上一主题 下一主题

将军令原理猜想及新的6位密码验证(安全性提高,23楼更新解释)

[复制链接]
跳转到指定楼层
楼主
发表于 2007-8-1 10:54:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自:山东
今天二件高兴事,一是找回了这个id尽管本id也没高分,最起码可以发帖。
二是到梦想XX开云网页版,开云(中国)官方上找回了以前发的一篇帖子,那帖子是3月份发的,今天去看,竟然有人挖坟给挖到了第一页
废话不说,下面把我在梦想发的将军令原理猜想发出来,付上对老徐疑问的几点回答:
-------------借条分割线来用用-------------------
         网易将军令推出后,以账号+密码+动态密码的形式对游戏id进行保护,大大提高了账号的安全性。对于将军令的工作原理,很多人提出自己的猜想,本人也就自己的想法阐述一二.希望梦想可以做的更好.

         众所周知,将军令每隔一分钟变化一次6位数密码,俗称动态密码。由于用户端(将军令)在出厂之后,同服务器端就再没有物理上直接的联系,因而,如何与服务器端保持逻辑上的同步是最大的问题,即如何保证用户端产生的动态密码与服务器端验证的动态密码是一个密码?
          猜测:用户端产生的动态密码是一个与时间有关的动态密码,即密码M与时间T之间存在着关系:M=randTX),rand()为随机函数,TX为随机函数的种子,X为另一因素,比如将军令的序列号等。
          这里,X是一个服务器端已知的变量,出厂时就已经设定了,最大的可能是将军令的序列号、服务号或者序列号服务号所对应的一个因子,在生产将军令写入初始数据的时候,同时植入用户端和服务器端,由于每个将军令的序列号和服务号唯一,因而,拿不到将军令就无法知道X,也就无法知道动态密码M
    显然,只有因子X是不够的,M=randX),是产生了一个密码M,但显然无法动态变化,失去了意义。因而因子T不可缺少。
             说到这里,有人会说,那干脆一起植入T,不就得了。
            分析下,植入T之后,服务器端的T1受服务器端时钟影响,用户端T2受用户端时钟影响,问题出现了,如何保证在运行一段时间以后,T1=T2?一个方法是采用高精密的材料,保证在3年的时间里T1=T2,明显成本巨大,以市场上30元左右的电子手表为例,要保证成千上万个电子手表3年内的误差不超过1分钟,可以说是天方夜谈。
     因此,必然有一个关于T 的逻辑上的纠正。
      大胆假设:服务器端固定T0,引入因子△t,服务器端植入△t△t为用户端时钟同服务器端时钟之差,即△t=T2-T1。这样,用户端(将军令)端的密码M=randT2X),服务器端密码M=rand[T1+△tX],这样,对于成千上万的用户端(将军令)在服务器端只要记录了△t,就可以了。这个△t,可以在将军令生产的时候植入服务器端予以记录。
        这里,仍然没有解决双方同步的问题。
        同步的问题可以这样解决,服务器端动态的调整△t。在开通将军令的时候,在提交序列号和动态密码的时候,服务器端计算M=rand[T1+△tX],并且在△t的基础上,计算出...△t-5*60△t-4*60, t-3*60, △t-2*60, △t-1*60, △t, △t+1*60, △t+2*60, △t+3*60, △t+4*60, t+5*60,...这个数列。具体数列长度根据需要来定,由于是随机6位数的函数,在这个数列中是不会出现重复的M的。这样,就可以计算出△t附近前后相差n分钟所产生的密码M,只需要比对提交的动态密码与数列中的哪个值对应,就可以动态的调整△t。假设,动态密码与△t-2*60对应的密码相同,就可以调整△t=△t-2*60。这样,解决了用户端(将军令)从出厂到开通使用所产生的时间误差。这个n,根据实际需要制定,如果出厂1个月就差几个小时的话,那将军令的质量就忒差了。

[ 本帖最后由 云夕 于 2007-8-2 10:58 编辑 ]
收藏收藏 分享淘帖 支持支持 反对反对 赞赞(0)
【开云网页版,开云(中国)官方近期活动汇总】
回复

使用道具 举报

头像被屏蔽
沙发
 楼主| 发表于 2007-8-1 10:56:36 | 只看该作者 来自:山东
提示: 该帖被管理员或版主屏蔽
回复 支持 反对

使用道具 举报

3
 楼主| 发表于 2007-8-1 11:06:17 | 只看该作者 来自:山东
从上面所说来看,破译将军令是很难很难的事情。
但是,一些别有用心的人开始了下面的做法:他在玩家的电脑上种下了马,当玩家登陆游戏的时候,马将ZH、MM、还有将军令一起发送到指定的地方,同时切断玩家电脑与服务器的连接,接收到信息的人开始登陆,即清号。
有人说,不会有人专门等你登陆的时候守株待兔,但别忘了:一,极品号有等待的价值,二以中国玩家现在的编制WG的能力,完全可以编制出自动登陆的程序,如果是机器自动接收了你的ZH、MM、将军令,自动登陆的话,根本就部存在等的问题。
回复 支持 反对

使用道具 举报

4
发表于 2007-8-1 11:08:09 | 只看该作者 来自:湖南
看的头晕
回复 支持 反对

使用道具 举报

头像被屏蔽
5
 楼主| 发表于 2007-8-1 11:26:12 | 只看该作者 来自:山东
提示: 该帖被管理员或版主屏蔽
回复 支持 反对

使用道具 举报

6
 楼主| 发表于 2007-8-1 11:34:33 | 只看该作者 来自:山东
结论,这是网易好心做坏事的典型例子。
也没必要骂娘,人家也是好心,没功劳也有苦劳不是。
这里也回答下为什么不用六位密码了:因为用六位密码的话,盗号的还是知道你将军令上的六位数字是甚么,六位数字的排列方式不多,相比三位密码和盗将军的马来说,安全性上确实是三位的高。
----------最后借用的分割线------------
建议,将每次输入三位密码改成随机三-六(五)位密码,这样的组合方式会增加几个数量级,安全性能上会大大提升。
这是对网易的建议。
回复 支持 反对

使用道具 举报

7
发表于 2007-8-1 11:46:42 | 只看该作者 来自:北京
,你这理论不对,那改成9位不是比3位更安全,按照数组原理推断。
至于木马截流密码的话,你改多少位都一样,一样顶号。
回复 支持 反对

使用道具 举报

8
发表于 2007-8-1 12:10:43 | 只看该作者 来自:浙江
概率算法有问题
5个将军产生的3位MM是有可能相同的.可以减少一定概率
每分钟将军MM都在变,所以第一次试概率为你说的3/100的话,第二次输入不是6/100.依然还是3/100,不存在33次必破的说法.应该的算法是第一次失败概率为97/100.第二次依然失败的概率是97/100的平方,第N次试失败的概率是0.97^N.所以第N次成功的概率为1-0.97^N.家里没科学0计算器.谁有兴趣可以算下需要N=几,成功的概率可以大于50%甚至90%.而且如我前面所说,概率绝对没3/100这么高.
回复 支持 反对

使用道具 举报

9
发表于 2007-8-1 12:11:38 | 只看该作者 来自:上海
和我想的一样,就是出厂时候按时间更替将军也更新密的.
曾有好友发了将的密给我.
我过了几分钟上去还可以.
所以你提到的那个△T不可能是他们说的60秒.
有很多人说不按的话就不会有密0那是被WY蒙到了
密M任何时候都在 只是你不知道而已...
回复 支持 反对

使用道具 举报

10
发表于 2007-8-1 12:17:10 | 只看该作者 来自:江苏
高等数学吗
回复 支持 反对

使用道具 举报

11
发表于 2007-8-1 12:18:30 | 只看该作者 来自:上海
原帖由 li1167153 于 2007-8-1 11:46 发表
,你这理论不对,那改成9位不是比3位更安全,按照数组原理推断。
至于木马截流密码的话,你改多少位都一样,一样顶号。

WY 当初设计的是6位,没办法改成9位.
还有6位和9位设计的成本远远不一样.
至于木MA截流也是扯蛋,如果存在那也是获取WY将军服务器的信息.和拥护没关.
重要一点理论上6位也会被破.概率1/1000000
3位是1/1000
WY耗子位置
回复 支持 反对

使用道具 举报

12
 楼主| 发表于 2007-8-1 12:23:53 | 只看该作者 来自:山东
原帖由 li1167153 于 2007-8-1 11:46 发表
,你这理论不对,那改成9位不是比3位更安全,按照数组原理推断。
至于木马截流密码的话,你改多少位都一样,一样顶号。

9位肯定比3位安全度高。这我同意,关键是怎么去取这9位。如果是原6位+随即3位的话,没任何意义。
“至于木马截流密码的话,你改多少位都一样,一样顶号。”不敢苟同。你输入的是4.2.3位数字,盗号的要输入3.6.5位数字,木马截留是截不到3.6.5位的,因为没有输入微机系统。
但我现在担心,在“你的游戏端要求输入4.2.3,盗号的要求输入3.6.5”的情况下,如果盗号的输入4.2.3位,网易是否可以判定是错误的,如果没有这个判定机制,他输入4.2.3位数字仍能进入游戏的话,那也没任何意义。
回复 支持 反对

使用道具 举报

13
发表于 2007-8-1 12:24:37 | 只看该作者 来自:北京
,你3位的位置不过是网易动态生成的,那么从程序上讲9位也一样,举个例子,第2位,第5位,第1位,第2位,第4位,第6位,第2位,第1位,第4位,第6位。这不就是9位了吗,难道你能说3位 安全性比它高。
回复 支持 反对

使用道具 举报

14
 楼主| 发表于 2007-8-1 12:34:16 | 只看该作者 来自:山东
[quote]原帖由 星满楼 于 2007-8-1 12:10 发表
概率算法有问题
5个将军产生的3位MM是有可能相同的.可以减少一定概率
每分钟将军MM都在变,所以第一次试概率为你说的3/100的话,第二次输入不是6/100.依然还是3/100,不存在33次必破的说法.应该的算法是第一次失 ... [/quote
5个将军的3位MM有可能相同,同意。两个相同的几率应该就是你猜绑了一个将军的MM的几率。
第一次破解的几率是3%,第二次破解的几率还是3%,。。。。。第N次破解的几率仍是3%。我没有说第33次必破,只是说理论上33次会破。可能这个数据有问题。如果运气好的话,第一次就是3%,运气不好的话,100000000次的几率仍是3%,还是破不了。
另外,用你的算法,N=22的时候,成功几率>50%
回复 支持 反对

使用道具 举报

15
发表于 2007-8-1 12:43:41 | 只看该作者 来自:上海
这个可以考虑6位+随机3位。
可以杜绝强破法.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则