您当前的位置: 首页 > 故事

给妳嘚网站加把锁动态口令轻松实现7z7z

2019-02-03 00:14:58

随着络的全面普及,络安全问题也日趋严峻。暨着名的技术交流社区CSDN爆出600余万用户明文密码暴露事件之后,天涯社区4000万用户明文密码也泄漏于世,紧跟着人人、开心、猫扑等,甚至京东商城、当当、支付宝这样的电商站都相继爆出密码泄露问题,几百万上千万的用户资料赤裸裸的暴露在公开的络平台之上,让我们不由的担心起络日益严峻的安全问题。

现如今,很多电商及银行的站都采用了动态密码服务,大大的保障了用户的信息和资金安全,主要方式有:

1、动态口令卡:类似于刮刮卡形式,通过横竖两个指标来确定当前密码。

常见:银行口令卡等;

缺点:需要随身携带,且容易被复制或拍照记下,安全性相对不高,并且有限次使用。

2、硬件令牌:根据专门的算法(一般为时间算法)生成一个不可预测的随机数字组合,每个密码只能使用一次,或类似于U盾一类的需插入硬件进行数据比对。

常见:U盾、令牌等;

缺点:需要随身携带,使用较为繁琐,并且要花费不少硬件成本;

3、口令:一种是通过软件来实现动态口令的生成,另一种较为简单,通过短信获取验证码来确认身份;

常见:令牌,支付宝付款验证码等;

缺点:需要和绑定,如遇更换号则较为麻烦,有时还会遇到延时或无法接收,站需部署短信平台,大量短信需要不少成本;

以上各种方式各有其优点,但都有一个很大的问题,就是不适合中小站部署,都需要耗费大量的时间成本和资金成本,且给用户增加了很多负担;那么有没有一种更为方便快捷并且无需成本的安全口令解决方案呢?

笔者通过多年的络建设经验,总结并发明了一种简单并行之有效的动态口令实施方案,且适用各类语言编写的站,中小站均可快速部署。

中小站用户登录常用的方式为:用户名+密码 或 用户名+密码+验证码;即便采用了MD5加密,也无法保证客户密码不会泄露,因为密码的输入过程有可能被旁边的人看到,或者电脑后台的木马记录,如果要解决这个问题,那只有一个办法,让看到的人或监听密码的木马上当,也就是说,他们看到或者记录到的密码并不是真正的密码,因为密码随时都在变化!

具体解决方法:原有的用户名+密码的选项可以继续保留(验证码完全可以取消),增加一栏动态密码框,验证需要三项结果匹配才能登陆。

下面就来重点解释一下如何设计动态密码框:笔者采用的方式是利用时间算法来生成动态口令,因为时间是每分每秒都在变化的,用时间来做算法,可以确保动态口令的时效性,即:上一秒的密码在下一秒就失效了。举例,现在时间是14:28分54秒,则动态密码可以设定为142854,后台获取当前时间设为A,输入框的值为B,当输入142854时,则B=A 验证通过!为了避免输入的时间差,可以在前台把时间直接赋值给A,然后在后台进行比对。

当然,在实际运用中,我们不可能直接把时间作为动态口令,这样不但太过简单,而且无法多人共用这个体系,因此,我们要在时间的基础上来做文章,即设定每个人特定的算法。还是以上面的时间14:28分54秒为例,我们现在进行拆分,并加强算法,为了便于记忆,我将时间分为三个部分14、28、54,并以数字365作为附加口令,算式如下:14+3、28+6、54+5,即终动态密码实际为173459。如果希望更加的安全,我们设置可以在此基础上不断的变化,比如引入+-*,附加口令也可以是任意自己易记的数字,如生日、身份证号等,时间+附加码通过特定算法随意组合。

OK,大功告成!这样的密码除了设定者本人以外,任谁也想不到是如何得来的,而且每秒都在变化,关键的是,对于程序员来说,只需短短10分钟便可部署完毕!

如果您对本文还有疑问或者部署中遇到问题,可以与作者联系(:622569)。

文:曹建祥

湖南PE钢带增强波纹管批发价格
防静电地板报价
真空上料机报价
推荐阅读
图文聚焦