|
帖子有点长 希望大家花点时间仔细看一下 .会对你有好处的
网易将军令推出后,以账号+密码+动态密码的形式对游戏ID进行保护,大大提高了账号的安全性。对于将军令的工作原理,很多人提出自己的猜想,本人也就自己的想法阐述一二.希望梦想可以做的更好.
众所周知,将军令每隔一分钟变化一次6位数密码,俗称动态密码。由于用户端(将军令)在出厂之后,同服务器端就再没有物理上直接的联系,因而,如何与服务器端保持逻辑上的同步是最大的问题,即如何保证用户端产生的动态密码与服务器端验证的动态密码是一个密码?
猜测:用户端产生的动态密码是一个与时间有关的动态密码,即密码M与时间T之间存在着关系:M=rand(TX),rand()为随机函数,TX为随机函数的种子,X为另一因素,比如将军令的序列号等。
这里,X是一个服务器端已知的变量,出厂时就已经设定了,最大的可能是将军令的序列号、服务号或者序列号服务号所对应的一个因子,在生产将军令写入初始数据的时候,同时植入用户端和服务器端,由于每个将军令的序列号和服务号唯一,因而,拿不到将军令就无法知道X,也就无法知道动态密码M。
显然,只有因子X是不够的,M=rand(X),是产生了一个密码M,但显然无法动态变化,失去了意义。因而因子T不可缺少。
说到这里,有人会说,那干脆一起植入T,不就得了。
分析下,植入T之后,服务器端的T1受服务器端时钟影响,用户端T2受用户端时钟影响,问题出现了,如何保证在运行一段时间以后,T1=T2?一个方法是采用高精密的材料,保证在3年的时间里T1=T2,明显成本巨大,以市场上30元左右的电子手表为例,要保证成千上万个电子手表3年内的误差不超过1分钟,可以说是天方夜谈。
因此,必然有一个关于T 的逻辑上的纠正。
大胆假设:服务器端固定T0,引入因子△t,服务器端植入△t,△t为用户端时钟同服务器端时钟之差,即△t=T2-T1。这样,用户端(将军令)端的密码M=rand(T2X),服务器端密码M=rand[(T1+△t)X],这样,对于成千上万的用户端(将军令)在服务器端只要记录了△t,就可以了。这个△t,可以在将军令生产的时候植入服务器端予以记录。
这里,仍然没有解决双方同步的问题。
同步的问题可以这样解决,服务器端动态的调整△t。在开通将军令的时候,在提交序列号和动态密码的时候,服务器端计算M=rand[(T1+△t)X],并且在△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个月就差几个小时的话,那将军令的质量就忒差了。
在使用将军令的时候,采用同样的方法可以同步。在确定了△t后,服务器端在每次验证的时候,只要算出M1=rand[(T1+△t-y)X],M=rand[(T1+△t)X],M2=rand[(T1+△t+y)X],就可以算出△t附近y秒的时间的密码M,就是允许将军令有y秒的时间误差。在具体使用中,有人已经测试证明将军令是有时间误差的。如果服务器端的M与将军令的M不一样,而是服务器端的M1与将军令的M一样,就可以实时的进行动态调整△t=△t-y了,实现将军令同服务器端时间上的同步。
有人尝试破解将军令,看来较难。首先不知道X,其次不知道△t,因而将军令的保密性还是比较高的。
----------------------------------------下面是重点 ----------------------------------------------------------------------
假如说将军令是一个时间函数的话,那么将军令函数可以,用薛定额方程或者距阵力学算出来!
前者要简单一些,后者太难,一般人无法接受.!
为了让家好理解,我把我以前所发的一篇关于将军令原理的帖子复制到下面!
将军令简单说就是一个TOKEN卡,里面的动态密码是按照时间来加以变换的,因此可以大胆推测,时间是将军令的明文,或者是经过某个固定的简单算法将时间变换成明文 其次,将军绑定账号的时候记录了什么?对,记录了SN,每一个将军令都有一个独一无二的SN,而且相同的时间内不同的将军出来的动态密码是不一样的,由此我有了第二大胆推测,SN是将军令加密里面的私钥! 用数学公式表示就是 密文=函数(时间,SN,其他); 至于其他这个选项,可能有也可能没有,将军令上还有一个什么什么号的,可能是确定将军令用的,也有可能加密相关,这个函数究竟是什么算法就不得而知了,可能是RSA,DES之类的对称加密算法。
----------------------------------------说明了什么 ---------------------------------------------------------------
最后截取密文的某几个位置的字符出来就凑成了将军令上你看到的动态MM,比如123456789abcdefghijk是密文,将军令就显示其中的2,4,6,8,10,12做密码组成2468ac 基于上面的猜想,破解将军令几乎不可能,因为加密/解密的密钥SN只有将军令持有者才知道,而且就算木马记录了一组将军令的值,很可能这些显示值只是原始密文的一部分,无法还原成密文进行暴力破解的05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" />05" /> 以上是刚才看见的一个关于技术帖,我把他转到这里,并且只用一些数学常识对他上面的叙述加以解释:解释如下:
他的意思是,将军令其实是一个函数计算器,只要将军令有电,将军令都是在不停的在工作------进行函数计算.他的函数为:F(T) 也就是以时间T为自变量的一个函数,具体函数表达式,只有开发将军令的人才知道(有可能每个将军令的函数表达式都有细小的差别,但是大体原理是一样的),当将军令绑定运行后,WY服务器就跟你的将军令开始利用这个函数进行以时间为自变量的同步运算,网络延迟必须控制在一定时间内(60秒动态密码,也就是说这个网络延迟一定要控制在60秒之内,并一定要小于60秒). 但破解将军令并不是不可能,绑上将军令后有两种可能被盗(这两个可能性比较大,也比较容易) 1 就是WY内部人员把这个函数表达式卖给了盗号者.补充一下,我上面提到的每个将军令的函数表达式可能有细微的差别,也就是说在生产的时候每个将军令精细具体函数已经利用将军令背后的那个编码进行了分类并记录在案.所以WY内部人员可以不出卖整个将军令系统的原始函数,而是只卖几个将军令的具体函数.因为毕竟买将军令的号上面肯定有好东西. 2 就是利用键盘记录器,长时间的记录你 的将军令的动态码,再用一些函数计算器,也就是所谓的破解器,得出你的将军令里面的函数.这就是所谓的强行破解. 从以上原理可以知道,如果知道了将军令的这个时间函数表达式,就能破解了.今天突然想到化学中经典的薛定额方程: 这是一个非定态的薛定额方程,对于大多本科生而言都很少接触,我在这里就不详细说这到底是个什么东西了!
---------------------------------------------------------最后---------------------------------------------------------------
只是告诉大家,薛定额方程是描述物质的一个波函数的偏微方程.这里有一个学术上的比喻说,每个物质波的信息就是薛定额方程下的蛋.我们可以想到,将军令给出的动态MIMA也是将军令下的蛋,所以我就借助薛定额方程,把其中的其它3个函数的解试着换了一下,然后拿我自己的将军令按照薛定额方程推倒出的函数算了一下(用程序算的,这种量子力学用的程序很多地方都有下载)符合的比较好,但是不是每次都对. 从以上我算出的结果我总结出几点注意事项: 1绑了将军令的号,也要注意自己的电脑,有没有中木马.这是因为木马除了会把你的账号MIMA 交给盗号者,还把大量你用过的动态MIMA告诉盗号者,这样盗号者就可以推算出函数来(传说第二代将军令每个的运算函数不一样) 2一定不要轻易把自己的将军令后面那个编码告诉人,那样要是碰见高手你的将军令就是个摆设!
自己的话 .此帖结论如下 .
理论上(注意是理论上)将军令是可以被破解的 ..
但是。工作强度大概相当于计算圆周率后1万位吧 ...
而且还是手动的
-----------------------------------那啥--------------------------------------------
那啥 ..写的好累啊 ...有没有人给两分安慰安慰我 ..
帖子有点长 但是绝对不至于看不懂 .
仔细看一遍的话 .初中文化的人就可以大概明白原理
[ 本帖最后由 刺刺 于 2008-5-6 20:37 编辑 ] |
评分
-
查看全部评分
|