CN102752110B - 一种动态密码生成方法及系统 - Google Patents
一种动态密码生成方法及系统 Download PDFInfo
- Publication number
- CN102752110B CN102752110B CN201110098297.6A CN201110098297A CN102752110B CN 102752110 B CN102752110 B CN 102752110B CN 201110098297 A CN201110098297 A CN 201110098297A CN 102752110 B CN102752110 B CN 102752110B
- Authority
- CN
- China
- Prior art keywords
- dynamic password
- dynamic
- module
- password
- signature
- 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.)
- Active
Links
Landscapes
- Document Processing Apparatus (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种动态密码生成方法及系统,所述方法包括:将多种动态异构信息拼接形成明文S,对明文S进行N次数字签名得到加密字节流S2;从S2中选取一个字节,转换为数值a;执行取余操作:i=a%动态密码字符库的长度;从动态密码字符库中选取第i个字符,补进动态密码;重复上述动态密码生成过程,直至动态密码长度达到要求;所述系统包括明文拼接模块、签名模块、转换模块、动态密码字符库、取余模块、密码拼接模块和判别模块。本发明提供的动态密码生成方集中了随机数算法和数字签名算法的优点,使得同样的交易、同样的操作员不同时间来操作,所获得动态密码绝不一样;且动态密码仅在使用时产生,重复率极低,具备较高的安全性。
Description
技术领域
本发明属于信息安全技术领域,特别涉及一种动态密码生成方法及系统。
背景技术
随着互联网应用服务的普及,用户在网络上进行的交易越来越多。由于互联网的开放性、不可靠性及对等性,使得信息安全成为一个关键问题。尤其对基于互联网的网上银行服务来说,信息安全是最基础、最关键、最需要关注的部分。
用户在使用网上银行的高风险业务时,如转账业务、支付业务等,必须输入正确的密码,银行才会为用户提供服务。通常,用户输入的密码是其账户的固有密码,因为用户输入的固有密码必须通过互联网传送给业务中心的服务器,所以输入固有密码会降低交易的安全性,非法攻击者很容易通过网络攻击等方式盗取用户的固有密码。
为了防止因用户的固有密码被盗而带来的危险,目前增加了动态密码进行验证的方式来进行交易,即用户不仅需要输入固有密码,还需要输入每次交易均会变化的动态密码,如现有技术的动态口令牌就提供了这样一种动态密码。
现有技术的动态口令牌主要使用N位种子和时间生成密码,黑客获知N位种子和动态口令的生成算法,就能破解密码;此外动态口令牌生成密码所采用的密码库中的字符主要为数字,使得生成的动态密码的值域范围很小,降低了破解的难度。
发明内容
为了解决现有技术的上述问题,本发明的目的是提供一种结合了随机数算法的难以破解的动态密码生成方法及系统。
为了实现上述目的,本发明提供了一种动态密码生成方法,其特征在于,包括:
步骤A:将多种动态异构信息拼接形成明文S,对明文S进行数字签名得到加密字节流S’,将S’与S移位拼接后再进行数字签名得到加密字节流S”,重复上述签名过程直至数字签名次数等于预先设定的签名次数N,得到加密字节流S2;
步骤B:从所述加密字节流S2中选取一个字节,转换为数值a,并将该字节从S2中删除;
步骤C:执行取余操作:i=a%动态密码字符库的长度,其中所述动态密码字符库包括用于生成动态密码的多个字符;
步骤D:从所述动态密码字符库中选取第i个字符,补进动态密码;
步骤E:判断动态密码的长度是否达到要求,如果达到要求,则结束动态密码的生成,如果未达到要求,则重复步骤B至步骤E的过程。
作为优选,所述步骤A中,所述多种动态异构信息包括交易信息、操作员信息、时间、随机数、预留文本库中的随机字段和高斯随机数,其中,所述预留文本库中存储公开网页,所述预留文本库中的随机字段的长度的最小值为10位。
作为优选,所述步骤C和步骤D中,所述动态密码字符库中的字符为数字、英文字母和标点符号。
作为进一步地优选,所述步骤C和步骤D中,所述动态密码字符库不包括数字0和字母o,数字1和字母l,数字2和字母z。
作为优选,所述步骤C和步骤D中,所述动态密码字符库中的字符的排列顺序定期进行调整。
作为优选,所述步骤E中,所述动态密码的长度要求的范围是6-10位。
作为优选,所述步骤A中,所述数字签名的方法为MD5或SHA。
本发明同时还提供了一种动态密码生成系统,包括明文拼接模块、签名模块、转换模块、动态密码字符库、取余模块、密码拼接模块和判别模块,其中:
所述明文拼接模块,用于将多种动态异构信息拼接形成明文S;
所述签名模块,用于对明文S进行数字签名得到加密字节流S’,将S’与S移位拼接后再进行数字签名得到加密字节流S”,重复上述签名过程直至数字签名次数等于预先设定的签名次数N,得到加密字节流S2;
所述转换模块,用于从所述加密字节流S2中选取一个字节,转换为数值a,并将该字节从S2中删除;
所述动态密码字符库,包括用于生成动态密码的多个字符;
所述取余模块,用于执行取余操作:i=a%动态密码字符库的长度;
所述密码拼接模块,用于从所述动态密码字符库中选取第i个字符,补进动态密码;
所述判别模块,用于判断动态密码的长度是否达到要求,如果达到要求,则结束动态密码的生成,如果未达到要求,则继续动态密码的生成。
作为优选,所述多种动态异构信息包括交易信息、操作员信息、时间、随机数、预留文本库中的随机字段和高斯随机数,其中,所述预留文本库中存储公开网页,所述预留文本库中的随机字段的长度的最小值为10位。
作为优选,所述签名模块是MD5加密系统或SHA加密系统。
与现有技术相比,本发明具有以下有益效果:
(1)动态密码字符库包括数字、英文字母和标点符号,较动态口令牌大为扩展,使得动态密码的值域范围扩大,动态密码难于理解,增加了破解的难度;
(2)结合了交易独特性和操作员身份唯一性,集中了随机数算法和数字签名算法的优点,使得同样的交易、同样的操作员不同时间来操作,所获得动态密码绝不一样;且动态密码仅在使用时产生,一次有效,重复率极低,具备较高的安全性;
(3)动态密码生成过程中使用了数字签名,具备较高的加密强度、计算复杂性和不可倒推性,因此很难从密码本身推导出明文,很难掌握动态密码的生成规律,密码生成算法在保密性上不逊色于动态口令牌;
(4)签名所使用的明文中加入了随机数,即使黑客获知签名所用的明文和签名算法,还需同步随机数发生器才有可能破解密码,破解难度大为增加。
附图说明
图1为本发明的动态密码生成方法的流程示意图。
图2为本发明的动态密码生成系统的结构示意图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
图1为本发明的动态密码生成方法的流程示意图。如图1所示,本发明提供的动态密码生成方法包括:
步骤A:将多种动态异构信息拼接形成明文S,对明文S进行数字签名得到加密字节流S’,将S’与S移位拼接后再进行数字签名得到加密字节流S”,重复上述签名过程直至数字签名次数等于预先设定的签名次数N,得到加密字节流S2;
步骤B:从所述加密字节流S2中选取一个字节,转换为数值a,并将该字节从S2中删除;
步骤C:执行取余操作:i=a%动态密码字符库的长度,其中所述动态密码字符库包括用于生成动态密码的多个字符;
步骤D:从所述动态密码字符库中选取第i个字符,补进动态密码;
步骤E:判断动态密码的长度是否达到要求,如果达到要求,则结束动态密码的生成,如果未达到要求,则重复步骤B至步骤E的过程。
所述步骤A中,所述明文S可以通过以下方法拼接形成:
1、从预留文本库中随机截取三个不同的字符串R1、R2和R3;
所述预留文本库为自建字符串库,其中存储着大量公开网页,截取的字符串R1、R2和R3的长度最小值为10位;
2、将操作员信息、R1、时间值、R2、随机数、交易信息、R3与高斯随机数组合拼接在一起,形成明文S。
由于签名所使用的明文中加入了随机数,即使黑客获知签名所用的明文和签名算法,还需同步随机数发生器才有可能破解密码,破解难度大为增加。
所述步骤A中,所采用的数字签名的算法不唯一,签名的主要目的是以字符串明文为输入,产生一个看似与明文毫无关系并极为混乱的加密字节流,可供选择的数字签名算法有MD5(Message DigestAlgorithm MD5,消息摘要算法第五版)、SHA(Secure Hash Algorithm,安全散列算法)等。
所述步骤B中,所述数值a是指选取的字节在计算机中对应的数值。
所述步骤C和步骤D中,所述动态密码字符库中的字符有数字、英文字母和标点符号,并且删去容易混淆的数字和英文字母,如数字0和字母o,数字1和字母l,数字2和字母z等,以免用户在使用动态密码时弄错;动态密码字符库中的字符举例如下:c,x,~,%,7,/,8,v,!,e,6,a,h,},n,:,;,#,,9,g,*,<,f,p,>,,5,(,),-,=,w,i,u,+,\,d,q,&,[,k,r,],{等。
由于所述动态密码字符库包括数字、英文字母和标点符号,较动态口令牌大为扩展,使得动态密码的值域范围扩大,动态密码难于理解,增加口了破解的难度。
因为动态密码的生成依赖于动态密码字符库中的字符的排列顺序,所以,为了确保本发明的动态密码生成方法的安全,需要定期对动态密码字符库中字符的排列顺序进行调整,如一年调整一次,以防范破解者进行共谋破解。
所述步骤E中,生成动态密码时,动态密码的初始长度设为0,生成的所述动态密码的长度要求的范围是6-10位,该长度范围内的动态密码不但能保证安全性,而且使用起来比较方便。
本发明提供的动态密码生成方法结合了交易独特性和操作员身份唯一性,集中了随机数算法和数字签名算法的优点,使得同样的交易、同样的操作员不同时间来操作,所获得动态密码绝不一样,增加了破解的难度。
由于动态密码生成过程中使用了数字签名,具备较高的加密强度、计算复杂性和不可倒推性,因此很难从密码本身推导出明文,很难掌握动态密码的生成规律,密码生成算法在保密性上不逊色于动态口令牌。
图2为本发明的动态密码生成系统的结构示意图。如图2所示,本发明提供的动态密码生成系统包括明文拼接模块、签名模块、转换模块、动态密码字符库、取余模块、密码拼接模块和判别模块,其中:
所述明文拼接模块,用于将多种动态异构信息拼接形成明文S;所述多种动态异构信息包括交易信息、操作员信息、时间、随机数、预留文本库中的随机字段和高斯随机数,其中,所述预留文本库中存储公开网页,所述预留文本库中的随机字段的长度的最小值为10位;
所述签名模块,用于对明文S进行数字签名得到加密字节流S’,将S’与S移位拼接后再进行数字签名得到加密字节流S”,重复上述签名过程直至数字签名次数等于预先设定的签名次数N,得到加密字节流S2;所述签名模块采用的数字签名的算法不唯一,签名的主要目的是以字符串明文为输入,产生一个看似与明文毫无关系并极为混乱的加密字节流,可供选择的签名系统有MD5加密系统(Message DigestAlgorithm MD5,消息摘要算法第五版)、SHA加密系统(Secure HashAlgorithm,安全散列算法)等;
所述转换模块,用于从所述加密字节流S2中选取一个字节,转换为该字节在计算机中的数值a,并将该字节从S2中删除;
所述动态密码字符库,包括用于生成动态密码的多个字符,如数字、英文字母和标点符号,并且为了避免用户在使用动态密码时弄错,删去容易混淆的数字和英文字母,如数字0和字母o,数字1和字母l,数字2和字母z等;动态密码字符库中的字符举例如下:c,x,~,%,7,/,8,v,!,e,6,a,h,},n,:,;,#,,9,g,*,<,f,p,>,,5,(,),-,=,w,i,u,+,\,d,q,&,[,k,r,],{等;并且由于动态密码的生成依赖于动态密码字符库中的字符的排列顺序,所以,为了确保本发明的动态密码生成系统的安全性,需要定期对动态密码字符库中字符的排列顺序进行调整,如一年调整一次,以防范破解者进行共谋破解;
所述取余模块,用于执行取余操作:i=a%动态密码字符库的长度,得到数值a对动态密码字符库的长度取余的结果i;
所述密码拼接模块,用于从所述动态密码字符库中选取第i个字符,补进动态密码;
所述判别模块,用于判断动态密码的长度是否达到要求,如果达到要求,则结束动态密码的生成,如果未达到要求,则继续动态密码的生成。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (10)
1.一种动态密码生成方法,其特征在于,包括:
步骤A:将多种动态异构信息拼接形成明文S,对明文S进行数字签名得到加密字节流S’,将S’与S移位拼接后再进行数字签名得到加密字节流S”,重复上述签名过程直至数字签名次数等于预先设定的签名次数N,得到加密字节流S2;
步骤B:从所述加密字节流S2中选取一个字节,转换为数值a,并将该字节从S2中删除;
步骤C:执行取余操作:i=a%动态密码字符库的长度,其中所述动态密码字符库包括用于生成动态密码的多个字符;
步骤D:从所述动态密码字符库中选取第i个字符,补进动态密码;
步骤E:判断动态密码的长度是否达到要求,如果达到要求,则结束动态密码的生成,如果未达到要求,则重复步骤B至步骤E的过程。
2.根据权利要求1所述的动态密码生成方法,其特征在于,所述步骤A中,所述多种动态异构信息包括交易信息、操作员信息、时间、随机数、预留文本库中的随机字段和高斯随机数,其中,所述预留文本库中存储公开网页,所述预留文本库中的随机字段的长度的最小值为10位。
3.根据权利要求1所述的动态密码生成方法,其特征在于,所述步骤C和步骤D中,所述动态密码字符库中的字符为数字、英文字母和标点符号。
4.根据权利要求3所述的动态密码生成方法,其特征在于,所述步骤C和步骤D中,所述动态密码字符库不包括数字0和字母o,数字1和字母l,数字2和字母z。
5.根据权利要求1所述的动态密码生成方法,其特征在于,所述步骤C和步骤D中,所述动态密码字符库中的字符的排列顺序定期进行调整。
6.根据权利要求1所述的动态密码生成方法,其特征在于,所述步骤E中,所述动态密码的长度要求的范围是6-10位。
7.根据权利要求1所述的动态密码生成方法,其特征在于,所述步骤A中,所述数字签名的方法为MD5或SHA。
8.一种动态密码生成系统,其特征在于,包括明文拼接模块、签名模块、转换模块、动态密码字符库、取余模块、密码拼接模块和判别模块,其中:
所述明文拼接模块,用于将多种动态异构信息拼接形成明文S;
所述签名模块,用于对明文S进行数字签名得到加密字节流S’,将S’与S移位拼接后再进行数字签名得到加密字节流S”,重复上述签名过程直至数字签名次数等于预先设定的签名次数N,得到加密字节流S2;
所述转换模块,用于从所述加密字节流S2中选取一个字节,转换为数值a,并将该字节从S2中删除;
所述动态密码字符库,包括用于生成动态密码的多个字符;
所述取余模块,用于执行取余操作:i=a%动态密码字符库的长度;
所述密码拼接模块,用于从所述动态密码字符库中选取第i个字符,补进动态密码;
所述判别模块,用于判断动态密码的长度是否达到要求,如果达到要求,则结束动态密码的生成,如果未达到要求,则继续动态密码的生成。
9.根据权利要求8所述的动态密码生成系统,其特征在于,所述多种动态异构信息包括交易信息、操作员信息、时间、随机数、预留文本库中的随机字段和高斯随机数,其中,所述预留文本库中存储公开网页,所述预留文本库中的随机字段的长度的最小值为10位。
10.根据权利要求8所述的动态密码生成系统,其特征在于,所述签名模块是MD5加密系统或SHA加密系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110098297.6A CN102752110B (zh) | 2011-04-19 | 2011-04-19 | 一种动态密码生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110098297.6A CN102752110B (zh) | 2011-04-19 | 2011-04-19 | 一种动态密码生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102752110A CN102752110A (zh) | 2012-10-24 |
CN102752110B true CN102752110B (zh) | 2015-04-15 |
Family
ID=47032023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110098297.6A Active CN102752110B (zh) | 2011-04-19 | 2011-04-19 | 一种动态密码生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102752110B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425797B (zh) * | 2013-09-02 | 2015-05-06 | 北京通付盾科技有限公司 | 一种短动码的实现方法及其应用 |
CN103501225B (zh) * | 2013-10-20 | 2016-09-14 | 福建今日特价网络有限公司 | 一种新型动态点阵密保卡系统 |
CN104253693A (zh) * | 2014-06-19 | 2014-12-31 | 于甫 | 交互式动态密码验证方法 |
CN106612249B (zh) * | 2015-10-21 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 一种令牌的验证方法、令牌终端及令牌服务器 |
CN105376264A (zh) * | 2015-12-24 | 2016-03-02 | 中国建设银行股份有限公司 | 认证方法及设备 |
CN106817217B (zh) * | 2017-01-22 | 2019-06-28 | 石家庄科林电气股份有限公司 | 一种分级时效的动态口令加密算法 |
CN109636553B (zh) * | 2018-11-13 | 2024-05-07 | 平安科技(深圳)有限公司 | 凭证管理方法、装置、计算机设备及存储介质 |
CN109739081A (zh) * | 2019-01-25 | 2019-05-10 | 北京戴纳实验科技有限公司 | 一种主动式智能化通风柜系统 |
CN110048834A (zh) * | 2019-03-12 | 2019-07-23 | 深圳壹账通智能科技有限公司 | 动态密码发送方法、装置及计算机可读存储介质 |
CN110675199A (zh) * | 2019-10-08 | 2020-01-10 | 四川长虹电器股份有限公司 | 一种基于hash算法生成不重复优惠码的方法 |
CN110941817B (zh) * | 2019-12-10 | 2022-02-22 | 中国银行股份有限公司 | 一种密码加密及密文解密的方法和装置 |
CN111865573A (zh) * | 2020-06-22 | 2020-10-30 | 上海上实龙创智能科技股份有限公司 | 一种动态密码生成系统、生成方法、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869997A (zh) * | 1995-02-13 | 2006-11-29 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
CN101577917A (zh) * | 2009-06-16 | 2009-11-11 | 深圳市星龙基电子技术有限公司 | 一种安全的基于手机的动态密码验证方法 |
CN101777983A (zh) * | 2010-01-13 | 2010-07-14 | 北京飞天诚信科技有限公司 | 交易签名方法、认证服务器及系统 |
CN101777158A (zh) * | 2010-01-13 | 2010-07-14 | 北京飞天诚信科技有限公司 | 一种安全交易的方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2003252595A1 (en) * | 2002-10-07 | 2004-04-23 | Kobayashi, Akira | Pseudo-random number generation method and pseudo-random number generator |
-
2011
- 2011-04-19 CN CN201110098297.6A patent/CN102752110B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1869997A (zh) * | 1995-02-13 | 2006-11-29 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
CN101577917A (zh) * | 2009-06-16 | 2009-11-11 | 深圳市星龙基电子技术有限公司 | 一种安全的基于手机的动态密码验证方法 |
CN101777983A (zh) * | 2010-01-13 | 2010-07-14 | 北京飞天诚信科技有限公司 | 交易签名方法、认证服务器及系统 |
CN101777158A (zh) * | 2010-01-13 | 2010-07-14 | 北京飞天诚信科技有限公司 | 一种安全交易的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102752110A (zh) | 2012-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102752110B (zh) | 一种动态密码生成方法及系统 | |
US11880831B2 (en) | Encryption system, encryption key wallet and method | |
CN102075522B (zh) | 一种结合数字证书和动态密码的安全认证与交易方法 | |
CN107979584B (zh) | 区块链信息分级共享方法及系统 | |
CN101777158B (zh) | 一种安全交易的方法和系统 | |
CN108737374A (zh) | 一种区块链中数据存储的隐私保护方法 | |
CN105184181B (zh) | 文件的加密方法、解密方法及装置 | |
CN101132281A (zh) | 一种防止密钥被窃取的网络安全认证系统 | |
CN103051459B (zh) | 安全卡的交易密钥的管理方法和装置 | |
CN105656862A (zh) | 认证方法及装置 | |
He et al. | Weaknesses of a Remote User Password Authentication Scheme Using Smart Card. | |
CN106610995A (zh) | 一种创建密文索引的方法、装置及系统 | |
CN109687977A (zh) | 基于多个密钥池的抗量子计算数字签名方法和抗量子计算数字签名系统 | |
CN102404120A (zh) | 电子文档的加密方法及系统 | |
Zhao et al. | Safety Protection of E-Commerce Logistics Information Data Under The Background Of Big Data. | |
CN101132276A (zh) | 一种通过sam卡进行的终端数据对称加密方法及系统 | |
CN107733936B (zh) | 一种移动数据的加密方法 | |
CN102882675A (zh) | 社交网站用的密码加密方法 | |
CN102185696A (zh) | 基于笔迹特征的无可信第三方手机用户认证方法 | |
CN105790928B (zh) | 一种基于数字摘要的文件分割方法 | |
CN109412799A (zh) | 一种生成本地密钥的系统及其方法 | |
CN107465510A (zh) | 一种业务安全复用的处理方法及处理系统 | |
CN106408298A (zh) | 一种授权对终端清除攻击报警方法和系统 | |
Hossain et al. | An algorithm for securing user credentials by combining Encryption and Hashing method | |
Priyanka et al. | A hybrid encryption method handling big data vulnerabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |