动态口令基本原理

动态口令,又叫动态令牌、动态密码。它的主要原理是: 用户登录前,依据用户私人身份信息,并引入随机数产生随机变化的口令,使每次登录过程中传送的口令信息都不同,以提高登录过程中用户身份认证的安全性。

  银行通常提供给用户两种动态口令: 一种是固定数量的动态口令,最常见的就是刮刮卡。用户每次根据银行提示,刮开卡上相应区域的涂层,即可获得一个口令。刮刮卡成本低廉,使用方法简单,因此很多银行采用这种方法,如工商银行; 另一种是硬件形式的动态口令,即电子令牌,它采用专用硬件,每次可以用自带的密码生成芯片得到一个当前可用的一次性动态密码,交通银行等就采用这种方式。一般来讲,每个客户端的电子令牌都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时令牌与服务器分别根据同样的密钥,同样的随机数和同样的算法计算出认证时的动态口令,从而确保口令的一致性和认证的成功。因每次认证时,随机数的参数不同,所以每次产生的动态口令也不同。每次计算时参数的随机性保证了每次口令不可预测,以保证系统安全。

  这些随机数是怎样产生的呢?动态口令随机数分为以下几类。

  1. 口令为一个单向的前后相关的序列,系统只记录第N个口令。用户用第N—1个口令登录时,系统用单向算法算出第N个口令与自己保存的第N个口令匹配,以判断用户的合法性。由于N是有限的,用户登录N次后必须重新初始化口令序列。

  2. 时间同步: 以用户登录时间作为随机因素。这种方式对双方的时间准确度要求较高,一般采取以分钟为时间单位的折中办法。在这种动态口令中,对时间误差的容忍可达±1分钟。

  3. 事件同步: 通过某一特定的事件次序及相同的种子值作为输入,使用相同的算法运算出一致的密码,其运算机理决定了其整个工作流程同时钟无关,不受时钟的影响。它节省了用户每次输入挑战信息的麻烦,但当用户的挑战序列与服务器产生偏差后,需要重新同步。

  4. 挑战/应答: 也叫异步认证方式。它比时间/事件同步方式操作相对烦琐,实现相对复杂,一般用于对安全性要求更高的场合,比如登录网上银行等,需要附加认证的情形。当用户需要访问系统时,远程认证服务器根据用户的电子令牌资料产生一个随机的数字串,即“挑战码”,用户将该数字串输入到电子令牌中。电子令牌利用内置的种子密钥和算法计算出相应的应答数(通常也是一个数字串)。

  5. 用户将该应答数输入系统。 系统根据所保存的该用户相应电子令牌信息(种子密钥和算法)计算出应答数,并与用户输入的应答数进行比较。如果两者相同,则认证通过。由于每个电子令牌的种子密钥不同,因此不同用户的电子令牌对同样的挑战数计算出应答数也并不相同。只有用户持有指定的电子令牌才能计算出正确的应答数以通过系统认证。从而可以保证该用户是持有指定电子令牌的合法用户。

    由于口令每次都变化,即使得到密码也没用,而且这种动态口令由专用算法生成,随机性高,不太容易被破解。传统的木马程序即使窃取到用户个人信息,拿去登录银行网页,也已经过期。因此,动态口令极大地提高了用户身份认证的安全性。

时间: 2024-08-31 01:40:47

动态口令基本原理的相关文章

阿里云风云令如何验证动态口令?

  在访问需要验证动态口令的页面时(以阿里云为例,在解绑风云令或者手机时),页面会要求输入动态口令,此时打开手机风云令,输入风云令展示的6位数字并提交即可. 请注意操作时间,风云令主界面有时间提示,每隔30秒会重新生成动态口令.如遇验证失败,请重新尝试.

给你的网站“加把锁” 动态口令轻松实现

中介交易 SEO诊断 淘宝客 云主机 技术大厅 随着网络的全面普及,网络安全问题也日趋严峻.暨著名的技术交流社区CSDN爆出600余万用户明文密码暴露事件之后,天涯社区4000万用户明文密码也泄漏于世,紧跟着人人网.开心网.猫扑等,甚至京东商城.当当网.支付宝这样的电商网站都相继爆出密码泄露问题,几百万上千万的用户资料赤裸裸的暴露在公开的网络平台之上,让我们不由的担心起网络日益严峻的安全问题. 现如今,很多电商及银行的网站都采用了动态密码服务,大大的保障了用户的信息和资金安全,主要方式有: 1.

密令将军令-手机令牌动态口令密码的账号安全身份认证,防木马撞库?

问题描述 手机令牌动态口令密码的账号安全身份认证,防木马撞库? 我们是一家网络公司,本身公司想自己开发手机令牌.突然看到这个http://apistore.baidu.com/astore/serviceinfo/28430.html 我现在就不想再自己码代码,我感觉不错,用号令功能强大,用他们的SDK,可能我还得做点什么功能才好. 大家给点意见~~在线等 解决方案 基本不用做什么了,不过你也可以用google的二次验证(有公开算法),也可以达到你要的效果,具体可以下载一个google身份验证器

我是一个菜鸟~问大家一个关于动态口令的问题

问题描述 大家好!我的毕业设计题目是"信息系统动态口令设计",到现在只大概明白了啥是动态口令,可如何开发还是一点眉目都没..请好心的各位兄弟姐妹给俺出了主意,究竟用什么语言或者软件比较好做(俺只学过C++,JAVA,ASP.NET,但很明显都不精通..),用VB.NET好做么?谢谢各位了!!!! 解决方案 解决方案二:和开发工具没啥关系,主要是算法,动态口令也不好定义举个例子吧,比如网易的将军令,还有一些游戏或银行的密保卡都可以说是一种动态密码至于算法:比如网易的将军令,用时间和将军令

php集成动态口令认证_php实例

大多数系统目前均使用的静态密码进行身份认证登录,但由于静态密码容易被窃取,其安全性无法满足安全要求. 动态口令采用一次一密.用过密码作废的方式防止了密码被窃取带来的安全问题. 动态口令分为HOTP(基于事件计数的动态口令,RFC4226).TOTP(基于时间计数的动态口令,RFC6238).OCRA(挑战应答式动态口令,RFC6287)等方式. 本文介绍了集成TOTP方式的动态口令认证的方案,PHP框架采用Thinkphp3.2.3,动态口令生成器使用的是google authtication.

支付宝动态口令在哪取消?

  1.进入"我的淘宝"-"账号管理"去取消您的动态密码登录功能,点此进入设置页面. 2.到"您的安全服务"中找到手机动态密码登录的选项,点击取消; 3.系统会向您绑定的手机发送一条短信,输入短信中的校验码,即可取消该功能;

建立Apache+PHP3+MySQL驱动的动态网站

Apache是目前应用最广的Web服务器,PHP3是一种类似ASP的脚本语言,目前的发展趋势大有超过Perl之势,而MySQL是一个轻量级的数据库系统,特别是用于网站建设,这3个软件均是自由软件,是架设数据库驱动的动态网站的最佳排档. 本文只介绍这3个软件的安装,有关PHP和MySQL的编程和使用请见其他资料. 一.如何获得软件? 获得这3个软件包的方法很多,目前大多数Linux分发都捆绑了这3个软件包,如RedHat.本文介绍的安装方法是基于从这些软件的官方站点上下载获得的软件包进行的,针对R

建立Apache+PHP3+MySQL驱动动态网站

Apache是目前应用最广的Web服务器,PHP3是一种类似ASP的脚本语言,目前的发展趋势大有超过Perl之势,而MySQL是一个轻量级的数据库系统,特别是用于网站建设,这3个软件均是自由软件,是架设数据库驱动的动态网站的最佳排档. 本文只介绍这3个软件的安装,有关PHP和MySQL的编程和使用请见其他资料. 一.如何获得软件? 获得这3个软件包的方法很多,目前大多数Linux分发都捆绑了这3个软件包,如RedHat.本文介绍的安装方法是基于从这些软件的官方站点上下载获得的软件包进行的,针对R

spring学习笔记(7)AOP前夕[2]CGLib动态代理实例解析

CGLib动态代理基本原理 CGLib--Code Generation Library,它是一个动态字节代码生成库,基于asm.使用CGLib时需要导入asm相关的jar包.而asm又是何方神圣? asm是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能.ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为.Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称