手机话费充值游戏点卡卡话费去哪充值的最好

一直很奇怪,话费和游戏充值卡那种只有一串... | 问答 | 问答 | 果壳网 科技有意思
一直很奇怪,话费和游戏充值卡那种只有一串纯数字的密码是怎么保证加密性的?
充话费的卡刮开后只有一串纯数字的序列号。游戏的点卡也类似。有点好奇啊。这类型的充值卡。如何保证不被别有心机的人冒用?假设这串数字是10位。即使是弄个穷举的软件不停的尝试往某个帐号里充值所有组合。除掉已经被用过的、还没有生产(录入系统)的,会不会也总有能猜中的有效组合?这样等于那些还没卖出去的卡,在刮开前就被别人充掉了?可是却从来没有发生过这种现象。这究竟是为啥。。。
+ 加入我的果篮
根据中国移动2012年报,中国移动2012年的收入是5604亿人民币,即5.604*10^11元。最常用的充值卡面额是100元的,还有一部分人使用的营业厅缴费和银行账户直接扣费等,所以估算一下还要在少2~3个数量级,即每年用掉10^9这个数量级别的充值卡。08年的一则新闻中,也提到中国移动每年销售的充值卡在10亿(10^9)张左右,当时的移动年收入为4千多亿。移动充值卡的密码是18位的,如果是完全随机使用的话,即可能的密码数量是10^18这个级别的。两个数量的差距如此知道,直接猜中密码的几率有多小10^9/10^18 = 1/10^9。对于暴力破解,运营商是有防范的。即使不加防范,数据库查询的时延,网络传输的时延都会让暴力破解的成本大的不可接受。如果1秒钟能完成一个密码的比对的话,10^9/.7,一晃儿30多年过去了。。。另外补充一下,双色球一等奖的中奖概率是1700万分之1左右,蒙中充值卡密码有多难就可想而知了。
有这么几个事:1、主观感受:概率上的结果不一定和人的直观相同,尤其是小概率的东西,量级这个概念能难直观感受。例:总有人觉得彩票号码是可以根据趋势算出来的。2、时间成本:每试一次是需要时间的,而时间是有成本的(时间就是金钱)。为什么有验证码和输错几次就禁一段时间这两类设置。3、时间上的概率:比如一个号码只有我发行出去之后,被输入才有效。否则即使提前猜到也没用。而大部分充值卡之类的卖得很快。例:设每年发10^9张卡,而每张卡在发行到被别人买走可能中间就十几天一个月,所以猜中的概率又少了一个量级。4、空间上的概率:我指样本空间,就是序列的所有可能。就算是纯数字,每多一位就多10倍,厂家一高兴多印5位,你猜到了概率就要是原来的十万分之一。而厂家这一举动基本没有增加多少成本,而你要破解就悲剧了(参见上一条时间成本)。5、编码规律:如果它是连着往下出号码,比如一开始是,然后是。这样相当于所有可能的序列都会被利用,直到。这样增加了你随便猜的命中率(比如市面上的号都是不到,就赶紧试附近的号码)。而事实上,通过一定的算法,比如这个10位数能被9整除。这样在所有序列组合中只有1/9是有用的,大大降低了猜的命中率。虽然增加了序列的冗余,但是前面第4条说了,多印几位无压力。例:图书ISBN码,商品条形码,***号都有验证码的设计(最后一位验证,基本思想是运算后被11整除)。
其实这个东西完全没有涉及到加密性,简单想想就知道了充值卡需要防范重复使用,所以在卡号和卡密之间建立完全互相对应的密码学关系其实是没有意义的,完全可以采用真正的随机数在里面。所以卡密应该是用卡号加随机数加密出来的,随机数保留在计费系统内部,充值时输入卡密,系统先解码算出卡号和随机数,然后查询系统是否正确,是否使用过,然后完成交易。这样的系统首先你无法解开卡密,因为你不掌握密钥,其次你即使买下所有充值卡做穷举,有本事破解解密甚至加密过程(这两个可以分开的,分开也是很高级的玩法),你也无法用这个过程,仅凭卡号生成新的卡密,因为计费系统里的随机数你不知道,穷举随机数又是难上加难还有一点就是概率与投入产出比,假设你能靠撞码撞出18位的充值卡密,那么,恭喜你:....................................................................................中奖100元,10^18的概率,你觉得划算么?参考一下,双色球一等奖的概率是1/^10以上的概率,已经可以中奖500w了,去撞一百元一张的充值卡,你觉得你有多大出息....
卡号和被封住的数字都是包含信息的,就好像密语那样,所以并不是所有的数字组合都会出现,只是其中特定的一小部分。如果是既需要卡号又需要密码的那么卡号和密码里面的信息是对应的。如果只需要密码那就是密码内部的数字是对应的。当然这个信息是怎么对应的只有造卡的人知道,否则就会被仿制出来了。当然如果你有足够的时间穷举的话必然是能穷举出来的,不过因为位数很多所以现实中你是穷举不出来的...如果你真的弄好多台电脑来穷举这个肯定那边也会有反应的吧
福建某地曾经有个SB的运营商在983***卡上使用规则适配,结果大家都能猜到……
电子工程学士;证券、气象、交通、美术爱好者
N久不用充值卡了不知道移动那些具体规则是什么但可以有这样的设计:十八个字符,前面10位是卡号,后面8位是密码。所以与那些卡+密的区别可能仅仅是把卡号也做在密码区里了而已,而发卡单位可能会在此基础上将18位字符再加密。
10^18的几率除以10^9的张数 破解的几率大概是 10^9 如果黑客掌握十万级的木马机器,10^6(高级黑客十几万的应该差不多吧)那么综合下来就是 千分之一的几率啊??一千次就有可能 100元 一次的时间设定是10秒的话 1快?一天好几百 好高的收入啊
看了半天,怎么就没个懂安全策略的人来说说呢?这种充值码一般是序列号和密码一体的,比如其中12位是序列号,6位是密码(我可没说这6位是连续的,所以你就别猜是哪6位了)。接下来我们开始尝试修改其中一位数字,这事有两种可能----修改了序列号、修改了密码。如果你修改的是序列号,那又有两种可能----序列号存在、序列号不存在。如果序列号存在,那就验证密码。6位密码有一百万种组合,所以此种情况下你蒙对的概率是一百万分之一。如果序列号不存在,那就直接告诉你“输入错误”。如果你修改的那一位是密码,也直接告诉你“输入错误”。这件事的关键在于----我不会告诉你是哪里错了,统一回复“输入错误”。还有一个更关键的----密码输入错误次数是有限制的,输错10次这个序列号就被锁定了,你再怎么尝试都只能收到“输入错误”。你问锁定以后怎么办?人工解除或策略解除都可以。比如24小时以后自动解锁,连续锁定三次以后就只能人工解锁……总之让你不能连续尝试就可以了。
后回答问题,你也可以用以下帐号直接登录
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号&&&&
违法和不良信息举报邮箱:&&&&举报***:

参考资料

 

随机推荐