论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机应用论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
关于“将军令”工作原理与算法思想的研究

  摘要:“将军令”是每隔1min产生一个全新的、不能重复使用的密码(6位),用来保护网易通行证(游戏账号)、直销商账号的密码。文章根据作者的研究,阐述了几种可行的“将军令”的工作原理与算法思想。
  关键词:将军令;动态密码;原理;算法
  
  “将军令”是广州网易互动娱乐有限公司自主研发的、具有完全知识产权的高科技身份认证产品,专门用来保护网易通行证(游戏账号)、直销商账号的密码。“将军令”是每隔1min(60s)产生一个全新的、不能重复使用的密码(6位),俗称“动态密码”。采用“将军令”后,网易以“账号+密码+动态密码”的形式对游戏id进行保护,大大提高了账号的安全性。对于将军令的工作原理,很多人提出自己的设想,笔者也就自己的研究,进行如下阐述。
  “将军令”的实际工作流程很简单:即用户端(“将军令”本身)产生一个动态密码,然后将这个动态密码和服务器端进行匹配。由于用户端在出厂之后,同服务器端就再没有物理上直接的联系,因而,如何与服务器端保持逻辑上的同步是最大的问题,即如何保证用户端产生的动态密码与服务器端验证的动态密码是一个密码。
  
  1 第一种设想
  在“将军令”内置微型芯片,里面保存大量“以6位数字为一组”的预定数组(6位数字动态码),每60s自动读取下一组新数组,数组的排列顺序无规律并无一相同,但全部已经预先存放好,利用循环模式,当读完最后一组数后便从头再开始读取第一组数组。主机服务器端也同样预先存放好同样的数组列,启用“将军令”时以序列号来识别该取用哪一条数组列。WWW.11665.CoM这种方法是一种最易实现的方法,但这也是一种最易被破解的方法,安全性较低。
  
  2 第二种设想
  
  这种设想是利用算法来实现动态密码的产生。
  算法思想1:用户端在出厂时就植入一个算法,这个算法同样会被保存在服务器端。这个算法不一定要很复杂,比如f(x)=ax+b,x最好是一些独特的,各个“将军令”都不重复的数字,比如“将军令”的序列号等。a可以是一个固定的数字,而b可以是一个动态变化的数字,如第1次产生动态密码,b就为“1”;第2次产生动态密码,b就为“2”……
  算法思想2:用户端产生的动态密码是一个与时间有关的动态密码,即密码m与时间t之间存在着关系:m=rand(tx),rand()为随机函数,tx为随机函数的种子,x为另一因素,比如“将军令”的序列号等。
  这里,x是一个服务器端已知的变量,出厂时就已经设定了,最大的可能是“将军令”的序列号所对应的一个因子,在生产“将军令”写入初始数据的时候,同时被植入用户端和服务器端,由于每个“将军令”的序列号是唯一的,因而,拿不到“将军令”就无法知道x,也就无法知道动态密码m。
  显然,只有因子x是不够的,m=rand(x)是可以产生一个密码m,但这个密码m显然无法动态变化,也就失去了意义,因而时间因子t也同样不可缺少。但是,引入时间因子t之后,又将产生一个问题:就是用户端和服务器端时间同步的问题。
  时间同步的同题,笔者认为可以这样解决:服务器端固定t0,引入因子△t,服务器端植入△t,△t为用户端时钟同服务器端时钟之差,即△t=t3-t1这样,用户端的密码m=rand(t3x),服务器端密码m=rand((t1+△t)x)。对于成千上万的用户端在服务器端只要记录了△t就可以了。这个△t,可以在“将军令”生产的时候植入服务器端予以记录。开通“将军令”后,在提交序列号和动态密码的时候,服务器端动态的调整△t,服务器端计算m=rand[(t2+△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,根据实际需要制定。
  在使用“将军令”的时候,采用同样的方法可以同步。在确定了at后,服务器端在每次验证的时候,只要算出m1=rand[(ti+△t-y)x],m=rand[(ti+at)x],m2=rand[(t)+△t+y)x],就可以算出at附近y秒的时间的密码m,就是允许“将军令”有y秒的时间误差。利用上面的算法来实现动态密码的产生显然要比第一种方法的安全性要高很多。

  3 第三种设想
  
  这种设想利用一个相对复杂的映射来实现动态密码的产生。
  它可能是根据:年,月,日,时,分,秒。这样的话,可以把“将军令”看成是一个计算器,计算出用户所需要的数字,然后与服务器通过同样方法对计算出来的数字进行比对。
  假设:“将军令”出现的6位数字,我们分别设为a,b,c,d,e,f,将军令的序列号为x。
  a=年*x
  b=月*2x
  c=日*3x
  d=时*4x
  e=分*5x
  f=秒*6x
  但是,如果通过这个映射来计算出动态密码的话,同样也会有时间同步的问题需要解决,这就可以参照上面的算法思想进行处理。
  
  4 结束语
  
  以上3种方案就是笔者认为比较可行的方案,但通过研究“将军令”内部结构可以发现,将军令是不允许更换电池的,一般使用时间在30个月左右。不允许更换电池。可能就是为了在最大程度上保持时间的同步。因此,综合来看,笔者认为设想二的第二个算法思想是最切实可行的一种方案。
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:王欣 韩毅强 [标签: 将军 原理 算法 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    关于推进非物质文化遗产保护工作转型升级的
    关于10kV配网馈线故障定位解决方案的探讨
    关于寿险公司营运资金管理模式选择的思考
    关于安阳方言人称代词的浅层次分析
    关于3G移动通信技术及其应用
    关于电子通信技术的创新研究
    关于配网通信中无线通信技术的探讨
    关于推动风险投资持续健康发展的提案
    关于完善高校知识产权教育,加强知识产权专
    关于小微企业发展的突出问题的提案
    关于进一步完善“营改增”试点政策,切实为
    基于“3S”技术在城镇变更地籍测绘中的探讨
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有