CN101478400A - 基于动态密码表的动态密码生成和认证方法 - Google Patents
基于动态密码表的动态密码生成和认证方法 Download PDFInfo
- Publication number
- CN101478400A CN101478400A CNA2009100085653A CN200910008565A CN101478400A CN 101478400 A CN101478400 A CN 101478400A CN A2009100085653 A CNA2009100085653 A CN A2009100085653A CN 200910008565 A CN200910008565 A CN 200910008565A CN 101478400 A CN101478400 A CN 101478400A
- Authority
- CN
- China
- Prior art keywords
- password
- dynamic password
- dynamic
- user
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种基于动态密码表的动态密码生成和认证方法。其原理是:系统根据不同的用户分别产生一个由随机字符串组成的动态密码表,将该表绑定到对应的账户上并提供给用户,每次动态密码认证时,系统通过运算确定有效动态密码在密码表中的位置,系统将该位置传送给用户或用户自己计算出该位置,并确定应输入的动态密码,当用户输入的动态密码与系统中有效动态密码一致时动态密码认证成功,否则动态密码认证失败。有效动态密码认证一次后就失效。动态密码表可反复使用或循环使用,可根据需要随时更换。本发明掌握了动态密码“变”的精髓,安全可靠,费用低,易实现易推广易维护,可用于电子交易、电子支付和系统登录等各种密码认证系统。
Description
技术领域
本发明是一种基于动态密码表的动态密码生成和认证方法,可以广泛应用于证券业、金融业和电子商务领域的证券交易、电子支付、网上购物、业务操作、系统管理等各种系统的密码生成和认证,也可以用于一般单位内部的密码认证系统。
背景技术
目前,电子网络系统中的身份认证方法多采用帐户加静态密码的方法,用户在使用这种系统时,账户和密码容易泄露或被盗,尤其是在互联网上使用时,更容易被他人使用病毒、木马等技术手段截获,从而可能给用户带米损失。也有的系统采用非本发明的其它动态密码的认证方法,如以时间为基数产生动态密码的方法,这类方法需要专用的硬件设备,费用昂贵;用户端需要专用设备产生密码,并且设备的时钟要与服务端的设备时钟同步,设备的时间误差即所谓的时间漂移会直接影响密码的认证;设备还容易损坏或丢失,如果设备遗失,由于设备上显示的密码就是有效密码,很不安全;如果要更换设备,不仅要发生必要的费用,一般要亲自领取,非常不方便。这些缺点导致了这类系统费用高,安全性低,维护困难,不易推广。安全认证急需像本发明这样的费用低、安全性高、易实现、好推广、好维护的密码认证方法。
发明内容
本发明的目的是:提高身份认证的正确性和安全性,弥补静态密码认证方法安全性低的不足,克服其它动态密码认证方法安全性不高、费用昂贵、难推广、难维护等缺点。
本发明内容如下:一种基于动态密码表的动态密码生成和认证方法,该方法的特征是生成动态密码表,通过运算动态地产生有效动态密码,在需要时由用户输入系统进行比较认证,包括动态密码表生成、有效动态密码校准、有效动态密码确定、动态密码认证。本发明通过以下四个步骤实现:
1、动态密码表生成:服务方系统根据不同的用户分别产生一个由随机字符串组成的动态密码表,并将该密码表绑定到对应的用户账户上,密码的位数和密码表中密码的个数根据需要任意确定,理论上可以是1到无穷大。密码的位数和密码表中密码的个数越大,密码认证越安全。密码由计算机可以识别的任意字符组成。密码表被打印到纸上或存为电子文件的形式。用户当面领取或通过信件、电子邮件、手机短信等形式获得密码表。密码表可以根据服务方和用户的需要随时更换。动态密码表生成可以由程序设计语言中生成随机数的函数或自行编制的函数完成。
2、有效动态密码校准:服务方将动态密码表提供给用户后,与用户约定有效动态密码在动态密码表中的初始位置,有效动态密码在动态密码表中的位置随着动态密码的使用而改变,当用户忘记有效动态密码的位置时,通过各种通讯方式或到现场与服务方重新约定有效动态密码的位置。
3、有效动态密码确定:分两种情况,第一种情况是服务方系统不向用户传送有效动态密码在动态密码表中的位置,如果是有效动态密码校准后第一次登录,则使用约定的初始位置为有效动态密码的位置,否则系统经过运算产生出有效动态密码在动态密码表中的位置,用户使用服务方告知的运算方法自己计算出有效动态密码在动态密码表中的位置或者借助客户端程序协助计算出该位置,根据这一位置确定有效动态密码;第二种情况是服务方系统向用户传送有效动态密码在动态密码表中的位置,在这种情况下则不必进行有效动态密码校准,直接由服务方系统经过运算产生有效动态密码在动态密码表中的位置,并把该位置传送给用户,根据这一位置确定有效动态密码,有效动态密码被使用一次后即失效,下次使用动态密码则需要再次确定有效动态密码的位置。
4、动态密码认证:在需要动态密码认证的时,用户根据系统提示输入已知的有效动态密码作,如果输入的动态密码与服务方系统中的有效动态密码一致,则认证成功,否则认证失败,这里的认证成功或失败仅仅是指动态密码认证的成功或失败,在实际应用中服务方还应结合用户账户和静态密码、验证码等认证机制以提高身份认证的正确性和安全性。
本发明具有以下优点:
1、本发明掌握了动态密码“变”的精髓:通过某种运算方法计算出有效动态密码在动态密码表中的位置,如果使用的是可以重复的运算方法,则用户自己可以使用同样的运算方法计算出该位置或者由用户端系统协助计算出该位置,所用的运算方法可以是随机数生成方法,即这个位置可以随机产生而不是按照某一规律运算得出,无论是使用什么方法得到的这个位置,服务方系统都可以将这一位置提示给用户,从而确定有效动态密码,有效动态密码使用一次后即失效,有效动态密码的位置总在变化,密码表可以根据需要随时更换,也可以重复使用或循环使用。
2、安全性高:对于使用用户端动态密码发生器设备的系统,一旦发生器丢失,发生器上显示的当前密码就是有效密码;而对于本发明,非法获得他人密码表的用户,在不知道有效动态密码在密码表中的位置时,仍无法知道有效的密码,而且用户可以随时申请更换密码表且几乎不需要费用,密码表中密码的个数可以根据需要确定得很大。
2、费用极低:本发明的实现不需要专用的硬件设备,用户端只需要保存一张纸或一个电子文档或一条短信,服务方系统只需要做很简单的软件方面的编程或改动。
3、原理简单,容易实现,易于被普通老百姓接受,好推广。
4、便于维护:用户可以当面领取密码表,也可以通过信件、电子邮件、短信等通讯手段获得密码表或进行有效动态密码校准,很好地适应了电子网络的虚拟特性。
附图说明
图1基于动态密码表的动态密码生成及认证方法的基本原理流程图
具体实施方式
为更好地理解本发明的技术方案,以下结合附图及具体的实现作进一步描述。
服务方首先在系统上增加动态密码表生成功能、动态密码认证功能、有效动态密码确定功能,然后,修改用户端的登录界面,增加动态密码输入栏目,如果系统不向用户提示有效动态密码在动态密码表中的位置,则还要增加有效动态密码校准功能,否则要增加向用户提示有效动态密码在动态密码表中的位置的功能。
下面用标记性程序语言给出能够体现本发明的功能的一种实现方法:
设:L是希望动态密码表所含密码的个数,即动态密码表的表长;P是存放动态密码表的数组,其长度≥L,数组的元素顺序数即下标从0到L—1标识;I是有效动态密码在动态密码表中的位置,0≤I<L;N是有效动态密码移动的步长,1<=N<L;其中:L、I、N都是整数。那么
动态密码表生成功能如下实现:
设t是临时变量;
t=0;
WHILE t<L D0
BEGIN
P[t]=调用产生一个随机字符串函数;
t=t+1;
END;
有效动态密码校准功能如下实现:
设C是服务方与用户约定的有效动态密码的位置,即有效动态密码在动态密码表中的顺序数;
IF C<0 OR C≥L THEN
BEGIN
报告约定的位置超出边界;
退出服务;
END;
ELSE I=C;
有效动态密码确定和动态密码认证功能如下实现:
设P0是存放用户输入的动态密码;
IF(系统不向用户提示有效动态密码的位置并且有效动态密码校准后第一次认证)THEN
I=系统存储在对应账户里有效动态密码校准时约定的位置
ELSE/*推算有效动态密码的位置,可以使用各种运算规则产生或随机产生一个落在密码表里的位置数,本处以步长为N的移动规则计算,并且,如果是提示有效动态密码的位置,那么第一次认证也可计算出任意一个表中的位置并告知用户,I的初始值可以在编程序时设置*/
I=I+N;
IF I≥L THENI=I-L;/*如有效动态密码位置超出密码表,则回到表头循环计算*/END
IF(向用户提示有效动态密码的位置)THEN
提示用户:请输入动态密码表中第I个密码
ELSE/*有效动态密码的位置I由用户通过服务方告知的运算方法确定*/
提示用户:请输入动态密码
P0=用户输入的动态密码
IF P0=P[I]THEN/*判断P0和系统内的有效动态密码P[I]是否相同*/
反馈动态密码认证成功;
ELSE
反馈动态密码认证失败;
Claims (1)
1、一种基于动态密码表的动态密码生成和认证方法,其特征在于:利用动态密码表动态地产生不同的有效动态密码,该方法包括动态密码表生成、有效动态密码校准、有效密动态密码确定、动态密码认证,
a.动态密码表生成:服务方系统根据不同的用户分别产生一个由随机字符串作为密码组成的动态密码表,密码由计算机能识别的字符组成,单个密码的位数和动态密码表中密码的个数根据需要任意确定,将该动态密码表绑定到对应的用户账户上并提供给用户,
b.有效动态密码校准:服务方将动态密码表提供给用户后,与用户约定有效动态密码在动态密码表中的初始位置,有效动态密码在动态密码表中的位置随着动态密码的使用而改变,当用户忘记有效动态密码的位置时,通过各种通讯方式或到现场与服务方重新约定有效动态密码的位置,
c.有效动态密码确定:分两种情况,第一种情况是服务方系统不向用户传送有效动态密码在动态密码表中的位置,如果是有效动态密码校准后第一次登录,则使用约定的初始位置作为有效动态密码的位置,否则系统经过运算产生出有效动态密码在动态密码表中的位置,用户使用服务方告知的运算方法自己计算出有效动态密码在动态密码表中的位置或者借助客户端程序协助计算出该位置,根据这一位置确定有效动态密码,第二种情况是服务方系统向用户传送有效动态密码在动态密码表中的位置,在这种情况下则不必进行有效动态密码校准,直接由服务方系统经过运算产生有效动态密码在动态密码表中的位置,并把该位置传送给用户,根据这一位置确定有效动态密码,有效动态密码被使用一次后即失效,下次使用动态密码则需要再次确定有效动态密码的位置,
d.动态密码认证:在需要动态密码认证时,用户根据系统提示输入已知的有效动态密码作,如果输入的动态密码与服务方系统中的有效动态密码一致,则动态密码认证成功,否则动态密码认证失败。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100085653A CN101478400A (zh) | 2009-02-03 | 2009-02-03 | 基于动态密码表的动态密码生成和认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009100085653A CN101478400A (zh) | 2009-02-03 | 2009-02-03 | 基于动态密码表的动态密码生成和认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101478400A true CN101478400A (zh) | 2009-07-08 |
Family
ID=40839034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009100085653A Pending CN101478400A (zh) | 2009-02-03 | 2009-02-03 | 基于动态密码表的动态密码生成和认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101478400A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092541A (zh) * | 2013-04-01 | 2014-10-08 | 武永军 | 动态口令的加密方法 |
CN104537738A (zh) * | 2014-02-24 | 2015-04-22 | 袁磊 | 可以通过查表获得密码的动态密码锁系统 |
CN106530470A (zh) * | 2016-12-14 | 2017-03-22 | 余仁植 | 一种车辆解锁方法、锁定解锁装置、车辆及车辆系统 |
US9691066B2 (en) | 2012-07-03 | 2017-06-27 | Verifone, Inc. | Location-based payment system and method |
CN108769021A (zh) * | 2018-05-28 | 2018-11-06 | 徐州徐工挖掘机械有限公司 | 一种适用于挖掘机的动态密码控制方法 |
CN109035499A (zh) * | 2018-06-30 | 2018-12-18 | 恒宝股份有限公司 | 一种基于动态密码的电子密码锁认证方法 |
CN111836259A (zh) * | 2020-09-21 | 2020-10-27 | 蘑菇物联技术(深圳)有限公司 | 一种无线信号不稳定情况下的动态密码实现方法 |
-
2009
- 2009-02-03 CN CNA2009100085653A patent/CN101478400A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9691066B2 (en) | 2012-07-03 | 2017-06-27 | Verifone, Inc. | Location-based payment system and method |
CN104092541A (zh) * | 2013-04-01 | 2014-10-08 | 武永军 | 动态口令的加密方法 |
CN104537738A (zh) * | 2014-02-24 | 2015-04-22 | 袁磊 | 可以通过查表获得密码的动态密码锁系统 |
CN106530470A (zh) * | 2016-12-14 | 2017-03-22 | 余仁植 | 一种车辆解锁方法、锁定解锁装置、车辆及车辆系统 |
CN108769021A (zh) * | 2018-05-28 | 2018-11-06 | 徐州徐工挖掘机械有限公司 | 一种适用于挖掘机的动态密码控制方法 |
CN108769021B (zh) * | 2018-05-28 | 2021-06-04 | 徐州徐工挖掘机械有限公司 | 一种适用于挖掘机的动态密码控制方法 |
CN109035499A (zh) * | 2018-06-30 | 2018-12-18 | 恒宝股份有限公司 | 一种基于动态密码的电子密码锁认证方法 |
CN111836259A (zh) * | 2020-09-21 | 2020-10-27 | 蘑菇物联技术(深圳)有限公司 | 一种无线信号不稳定情况下的动态密码实现方法 |
CN111836259B (zh) * | 2020-09-21 | 2021-01-08 | 蘑菇物联技术(深圳)有限公司 | 一种无线信号不稳定情况下的动态密码实现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101166091B (zh) | 一种动态密码认证的方法及服务端系统 | |
CN101478400A (zh) | 基于动态密码表的动态密码生成和认证方法 | |
CN101414909B (zh) | 网络应用用户身份验证系统、方法和移动通信终端 | |
CN101496344B (zh) | 网上银钱支付和身份确认的带自设认证算式的方法和系统 | |
CN102148685B (zh) | 一种由用户自定义多密码种子动态密码认证系统 | |
CN101500011A (zh) | 实现动态口令安全保护的方法及系统 | |
CN101765108A (zh) | 基于移动终端的安全认证服务平台系统、装置和方法 | |
WO2008033065A1 (en) | Method and computer system for ensuring authenticity of an electronic transaction | |
CN101631022A (zh) | 一种签名方法和系统 | |
CN105528695A (zh) | 一种基于标记的移动支付方法及移动支付系统 | |
CN102238193A (zh) | 数据认证方法及使用该方法的系统 | |
CN102761533A (zh) | 用于网络交易的使用者身份识别方法与系统 | |
CN106096947A (zh) | 基于nfc的半离线匿名支付方法 | |
CN103347018A (zh) | 一种基于智能卡的多服务环境下远程身份认证方法 | |
CN101267296A (zh) | 一种无需认证中心的高效授权电子签名方法 | |
CN104301288B (zh) | 在线身份认证、在线交易验证、在线验证保护的方法与系统 | |
TW201601083A (zh) | 一次性密碼生成的方法、裝置及認證方法、認證系統 | |
CN111641605B (zh) | 基于动态口令的电子签章方法及系统 | |
CN104125230A (zh) | 一种短信认证服务系统以及认证方法 | |
CN101178753A (zh) | 身份验证的方法和装置 | |
CN101478547A (zh) | 对智能密码钥匙进行可信数字签名的装置及其工作方法 | |
CN101901306A (zh) | 网络交易加密方法及其所采用的动态密码设备 | |
CN103139210A (zh) | 一种安全认证方法 | |
CN1622508A (zh) | 基于动态密码表的动态密码生成和认证系统及方法 | |
KR20200064017A (ko) | 블록체인 기법을 이용한 fido2.0 암호키를 생성하는 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090708 |