CN101394284B - 一次性口令认证方法 - Google Patents
一次性口令认证方法 Download PDFInfo
- Publication number
- CN101394284B CN101394284B CN2008103055369A CN200810305536A CN101394284B CN 101394284 B CN101394284 B CN 101394284B CN 2008103055369 A CN2008103055369 A CN 2008103055369A CN 200810305536 A CN200810305536 A CN 200810305536A CN 101394284 B CN101394284 B CN 101394284B
- Authority
- CN
- China
- Prior art keywords
- result
- user side
- server end
- primitive element
- adopt
- 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及加密认证技术,提供一种基于RSA加密的一次性口令认证方法。在本发明一次性口令认证方法中引入随机数,具有一次性口令认证机制的优点,基于RSA非对称密钥加密方法,具有离散对数的难解性,能有效抵抗重放攻击,还克服了常见的基于HASH链算法的一次性口令认证机制的弱点,不用每个一段时间就必须重新初始化系统。本发明的有益效果是,相比现有技术的一次性口令认证方法,本发明安全性能提高,运算复杂度降低。
Description
技术领域
本发明涉及加密认证技术。
背景技术
一次性口令OTP(One-Time Password)的原理是在登陆过程中加入不确定因素,使每次的密码都不相同,系统接收到登陆口令后,以同样的算法做一次运算即可验证用户的身份。OTP是一种摘要认证,可以抵抗重放攻击和外部被动攻击,是一种切实可行、安全有效的认证方案。常见的基于hash链算法的一次性口令身份认证机制可以克服重放攻击等弱点,因为登录口令是以不可逆的hash函数形式发给服务器,每登录一次,登录口令的哈希次数减1。因此,可以有效的抵抗重放攻击。然而,基于哈希运算的一次性口令机制很容易遭受小数攻击。服务器或用户端在每次认证中需要做多次的哈希运算,运算量大;而且,登录次数有限,每隔一段时间之后,需要重新初始化系统。
RSA算法(以发明者的名字命名:Ron Rivest,AdiShamir和Leonard Adleman。)是第一个能同时用于加密和数字签名的算法,从1978提出到现在已近三十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解。公钥和私钥都是两个大素数(大于100个十进制位)的函数。
密钥对的产生:先选择两个大素数,p和q。计算:n=p*q;然后随机选择加密密钥e,要求e和(p-1)*(q-1)互质。最后,利用Euclid算法计算解密密钥d,满足e*d=1(mod(p-1)*(q-1));其中n和d也要互质。得到的e是公钥,d是私钥。加密信息m(二进制表示)时,首先把m分成等长数据块m1,m2,...,mi,块长s,其中2^s≤n,s尽可能的大。对应的密文是:ci=mi^e(mod n)。解密时作计算:mi=ci^d(mod n)。显然,敌方可以截获到加密密文。但即使敌方借火到密文,因为离散对数的难解性,也无法获得密文mi。RAS的缺点在于,由于产生密钥很麻烦,受到素数产生技术的限制,难以做到一次一密。
发明内容
本发明所要解决的技术问题是,提供一种基于RSA加密的一次性口令认证方法。
本发明为解决上述技术问题所采用的技术方案是,一次性口令认证方法,包括以下步骤:
a、用户端产生一对RSA密钥对以及一个认证依据,将公钥、认证依据发送至服务器端;
b、用户端在登录时,产生并保存一个用户端秘密随机数,采用该用户端秘密随机数对认证依据进行第一处理,得到第一结果;并将第一结果发送至服务器端;
c、服务器端产生一个服务器端秘密随机数,采用该服务器端秘密随机数对第一结果进行第二处理,得到第二结果,并将第二结果发送至用户端;服务器端将得到认证依据采用服务器端秘密随机数进行第二处理后,得到并保存第四结果;
d、用户端采用保存的用户端秘密随机数对第二结果进行逆第一处理,得到第三结果,并用私钥对第三结果进行加密,将加密后的第三结果发送至服务器端;
e、服务端得到加密后的第三结果,采用公钥对所述加密后的第三结果进行解密,第三结果与保存的第四结果是否相同,如是,则通过认证;若否,则认证失败。
本发明引入随机数,具有一次性口令认证机制的优点,基于RSA非对称密钥加密方法,具有离散对数的难解性,能有效抵抗重放攻击,还克服了常见的基于HASH链算法的一次性口令认证机制的弱点,不用每个一段时间就必须重新初始化系统。步骤d中逆第一处理,意为将输入的数据处理成没有经第一处理的效果。如输入一个数a,对a*b,其中*b为对a进行第一处理,那么逆第一处理为对/b,即对(a*b)/b,逆处理后的结果与原始输入a相同,即逆处理后的结果与没有经过第一处理的输入a相同。
进一步的,为了提高安全性能,认证依据在设定时间内更新;用户端在登录时,还传送用户端ID至服务器端;服务器端对用户端ID的合法性进行验证。
优选的,为了减小运算量,认证过程用尽量采用采用幂指数和异或运算。
具体的,步骤a中,用户端还传送RSA密钥对产生过程中一个随机的本原元至服务器端;步骤d中,用私钥对第三结果进行加密,具体为,采用私钥对所述本原元加密后与第三结果进行异或运算;步骤e中,采用公钥对第三结果进行解密,判断第三结果与保存的第四结果是否相同,具体为,将第三结果、第四结果、加密后的本原元进行异或运算,得到第五结果,再用公钥对第五结果进行解密处理,判断是否能成功解密得到本原元,若是,则表示第三结果与保存的第四结果相同;若否,则表示第三结果与保存的第四结果不相同。
或者,步骤a中,用户端在RSA密钥对产生过程中生成一个随机的本原元;
步骤b中,还包括采用用户端采用用户端秘密随机数对本原元进行处理,得到加密本原元,并将加密本原元传送至服务器端;步骤d中,用私钥对第三结果进行加密,具体为,采用私钥对所述加密本原元再加密后与第三结果进行异或运算;步骤e中,采用公钥对第三结果进行解密,判断第三结果与保存的第四结果是否相同,具体为,将第三结果、第四结果、加密后的加密本原元进行异或运算,得到第五结果,再用公钥对第五结果进行解密处理,判断是否能成功解密得到加密本原元,若是,则表示第三结果与保存的第四结果相同;若否,则表示第三结果与保存的第四结果不相同。
本发明的有益效果是,相比现有技术的一次性口令认证方法,本发明安全性能提高,运算复杂度降低。
具体实施方式
实施例采用的符号如表所示:
认证方法主要步骤如下:
A、注册阶段(Registration)
(1)基于RSA算法产生密钥对e、d;
a)用户端随机选择两个大素数p、q,计算n=pq,¢(n)=(p-1)(q-1),且p、q、¢(n)用户保密;
b)选公钥e:1<e<¢(n),满足gcd(e,¢(n))=1;
c)求私钥d:使得de=1 mod ¢(n),d用户保密;
则有:任意g∈Zn,g是Zn的一个本原元,有ged=g modn成立。
(2)基于有限域上的离散对数难题生成认证依据t;
a)用户端再产生一个大素数u,t∈Zu是一个本原元;
b)随机选取自己的秘密种子s(1≤s≤u-1),s用户保密;
c)计算ts mod u,然后向服务器发送注册请求和下所示注册信息:
其中s为用户的秘密种子。服务器收到注册请求后,存储该用户的信息(ID,g,ts,e,n,u,t)。
B、登录和验证阶段(Login and Authentication)
(1)登录时,用户端随机产生一个x∈Zu,计算gx modn、tx mod u,根据Zu的定义,x为(0,u-1)之间的一个整数,而tx则不一定在这个范围,对u取模运算后,保证了tx为0,u-1之间的数值,传送的tx(tx modu重新赋给了tx)是(0,u-1)之间的值,本实施例中,其他的取模运算也是类似的,传送的gx为gx modn重新赋值给gx,与用户ID和登录请求一起发给服务器:(x用户保密)
其中x为用户本次登录产生的秘密随机数。
(2)服务器接收到用户登录请求消息和(gx,tx,ID)后,首先比对数据库中存储的用户ID,若找不到该用户,则中断通信;ID若为合法用户名,则产生随机数y∈Zu,并计算t(x+s)y作为本次质询消息:(y服务器保密)
其中t(x+s)y=(txts)y,y为服务器本次质询产生的秘密随机数。
其中d为RSA算法产生的用户私钥。
(4)服务器验证用户登录口令:若等式成立,则验证通过,否则拒绝登录。因为g∈Zn,所以此处对n取模。这个mod n是为了让最后的结果在(0,n-1)之间。因为只有合法用户才知道d和(x+s)-1,才能计算出:
ty’=t(x+s)y。(x+s)-1=ty。
下面等式才成立:
C、更改认证依据阶段
当用户想要更改认证依据时,只需要重新选取一个秘密种子s’即可。具体步骤如下:
(1)用户成功登录后,向服务器发送更改认证依据的请求信息,并将生成的新的认证依据ts’发送给服务器。
(2)服务器接收到用户的更改请求信息和新的认证依据ts’后,将ts’代替ts存储在该用户的记录中。
本方法优点在于服务器无法泄露用户登录口令,因为d只有用户知道,且x是用户每次随机产生,故gdx从服务器处无法得知。
本实施例在本发明原有思路的基础上才增加了加密种子s对认证依据t进行处理,另外增加了用户端随机数x对认证依据t进行处理;当然,仅采用t在认证过程总也是可行的。当然,基于本发明的思路,对上述实施的认证方法可以做进一步的简化,或增加一些数据增加其运算复杂度。
Claims (6)
1.一次性口令认证方法,其特征在于,包括以下步骤:
a、用户端产生一对RSA密钥对以及一个认证依据,将公钥、认证依据发送至服务器端;
b、用户端在登录时,产生并保存一个用户端秘密随机数,采用该用户端秘密随机数对认证依据进行第一处理,得到第一结果;并将第一结果发送至服务器端;
c、服务器端产生一个服务器端秘密随机数,采用该服务器端秘密随机数对第一结果进行第二处理,得到第二结果,并将第二结果发送至用户端;服务器端将得到认证依据采用服务器端秘密随机数进行第二处理后,得到并保存第四结果;
d、用户端采用保存的用户端秘密随机数对第二结果进行逆第一处理,得到第三结果,并用私钥对第三结果进行加密,将加密后的第三结果发送至服务器端;
e、服务器端得到加密后的第三结果,采用公钥对所述加密后的第三结果进行解密,第三结果与保存的第四结果是否相同,如是,则通过认证;若否,则认证失败。
2.如权利要求1所述一次性口令认证方法,其特征在于,所述认证依据在设定时间内更新。
3.如权利要求1所述一次性口令认证方法,其特征在于,所述步骤b中,用户端在登录时,还传送用户端ID至服务器端;
步骤c中,服务器端还对用户端ID进行验证,判断是否合法,如是,则进入步骤c;如否,则认证失败。
4.如权利要求1所述一次性口令认证方法,其特征在于,所述第一处理、第二处理为幂指数运算。
5.如1-4任一项权利要求所述一次性口令认证方法,其特征在于,步骤a中,用户端还传送RSA密钥对产生过程中一个随机的本原元至服务器端;
步骤d中,用私钥对第三结果进行加密,具体为,采用私钥对所述本原元加密后与第三结果进行异或运算;
步骤e中,采用公钥对第三结果进行解密,判断第三结果与保存的第四结果是否相同,具体为,将第三结果、第四结果、加密后的本原元进行异或运算,得到第五结果,再用公钥对第五结果进行解密处理,判断是否能成功解密得到本原元,若是,则表示第三结果与保存的第四结果相同;若否,则表示第三结果与保存的第四结果不相同。
6.如1-4任一项权利要求所述一次性口令认证方法,其特征在于,步骤a中,用户端在RSA密钥对产生过程中生成一个随机的本原元;
步骤b中,还包括采用用户端秘密随机数对本原元进行处理,得到加密本原元,并将加密本原元传送至服务器端;
步骤d中,用私钥对第三结果进行加密,具体为,采用私钥对所述加密本原元再加密后与第三结果进行异或运算;
步骤e中,采用公钥对第三结果进行解密,判断第三结果与保存的第四结果是否相同,具体为,将第三结果、第四结果、加密后的加密本原元进行异或运算,得到第五结果,再用公钥对第五结果进行解密处理,判断是否能成功解密得到加密本原元,若是,则表示第三结果与保存的第四结果相同;若否,则表示第三结果与保存的第四结果不相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103055369A CN101394284B (zh) | 2008-11-13 | 2008-11-13 | 一次性口令认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008103055369A CN101394284B (zh) | 2008-11-13 | 2008-11-13 | 一次性口令认证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101394284A CN101394284A (zh) | 2009-03-25 |
CN101394284B true CN101394284B (zh) | 2011-01-19 |
Family
ID=40494382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008103055369A Expired - Fee Related CN101394284B (zh) | 2008-11-13 | 2008-11-13 | 一次性口令认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101394284B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101699820B (zh) * | 2009-10-30 | 2013-02-13 | 飞天诚信科技股份有限公司 | 动态口令的认证方法和装置 |
WO2011121566A1 (en) * | 2010-03-31 | 2011-10-06 | Paytel Inc. | A method for mutual authentication of a user and service provider |
CN101958913B (zh) * | 2010-10-29 | 2013-05-08 | 四川长虹电器股份有限公司 | 基于动态口令和数字证书的双向身份认证方法 |
CN102271042B (zh) * | 2011-08-25 | 2013-10-09 | 北京神州绿盟信息安全科技股份有限公司 | 数字证书认证方法、系统、USB Key设备和服务器 |
CN102739659B (zh) * | 2012-06-16 | 2015-07-08 | 华南师范大学 | 一种防重放攻击的认证方法 |
CN102882882B (zh) * | 2012-10-10 | 2015-11-04 | 深圳数字电视国家工程实验室股份有限公司 | 一种用户资源授权方法 |
KR101451639B1 (ko) * | 2014-02-18 | 2014-10-16 | 주식회사 시큐브 | 일회용 랜덤키를 이용한 본인 확인 및 도용 방지 시스템 및 방법 |
WO2015184358A1 (en) * | 2014-05-30 | 2015-12-03 | Good Technology Corporation | Controlling access to a resource via a computing device |
CN104469767B (zh) * | 2014-10-28 | 2017-12-26 | 杭州电子科技大学 | 一套移动办公系统中集成式安全防护子系统的实现方法 |
CN109257630B (zh) * | 2018-11-14 | 2020-12-11 | 苏州科达科技股份有限公司 | 视频点播中的数据传输系统、方法、装置及存储介质 |
CN111275858B (zh) * | 2020-01-22 | 2022-07-01 | 广东快车科技股份有限公司 | 一种声纹识别的授信方法及系统 |
CN111767532A (zh) * | 2020-06-12 | 2020-10-13 | 上海橙群微电子有限公司 | 编程器鉴权方法和鉴权系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230269B1 (en) * | 1998-03-04 | 2001-05-08 | Microsoft Corporation | Distributed authentication system and method |
US6363152B1 (en) * | 1998-09-09 | 2002-03-26 | Koninklijke Philips Electronics N.V. (Kpenv) | Hybrid one time pad encryption and decryption apparatus with methods for encrypting and decrypting data |
CN1474310A (zh) * | 2002-08-05 | 2004-02-11 | 梁志伟 | 一种用于信息完整性校验的报文特征摘提方法 |
-
2008
- 2008-11-13 CN CN2008103055369A patent/CN101394284B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6230269B1 (en) * | 1998-03-04 | 2001-05-08 | Microsoft Corporation | Distributed authentication system and method |
US6363152B1 (en) * | 1998-09-09 | 2002-03-26 | Koninklijke Philips Electronics N.V. (Kpenv) | Hybrid one time pad encryption and decryption apparatus with methods for encrypting and decrypting data |
CN1474310A (zh) * | 2002-08-05 | 2004-02-11 | 梁志伟 | 一种用于信息完整性校验的报文特征摘提方法 |
Non-Patent Citations (1)
Title |
---|
JP特开2006-67412A 2006.03.09 |
Also Published As
Publication number | Publication date |
---|---|
CN101394284A (zh) | 2009-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101394284B (zh) | 一次性口令认证方法 | |
WO2020087805A1 (zh) | 基于双密值和混沌加密的可信测控网络认证方法 | |
US10708072B2 (en) | Mutual authentication of confidential communication | |
CN108886468B (zh) | 用于分发基于身份的密钥资料和证书的系统和方法 | |
US11431487B2 (en) | Adaptive attack resistant distributed symmetric encryption | |
US10027654B2 (en) | Method for authenticating a client device to a server using a secret element | |
KR100843081B1 (ko) | 보안 제공 시스템 및 방법 | |
CN110268676A (zh) | 基于身份的自认证签名方案的私有密钥计算系统和方法 | |
US8983064B2 (en) | Strengthened public key protocol | |
WO2017147503A1 (en) | Techniques for confidential delivery of random data over a network | |
CN101129018A (zh) | 基于公钥的认证用小数字签名 | |
CN111277412B (zh) | 基于区块链密钥分发的数据安全共享系统及方法 | |
CN109951276B (zh) | 基于tpm的嵌入式设备远程身份认证方法 | |
CN110999202B (zh) | 用于对数据进行高度安全、高速加密和传输的计算机实现的系统和方法 | |
EP2945347B1 (en) | Methods and devices for securing keys when key-management processes are subverted by an adversary | |
Dharminder et al. | Security analysis and application of Chebyshev Chaotic map in the authentication protocols | |
CN115336224A (zh) | 自适应抗攻击分布式对称加密 | |
Wu et al. | Cryptanalysis and enhancements of efficient three‐party password‐based key exchange scheme | |
Shakiba | Security analysis for chaotic maps-based mutual authentication and key agreement using smart cards for wireless networks | |
KR20120107326A (ko) | 임의성을 강화시킨 일회용 패스워드 등록 및 인증 방법과 시스템 | |
KR20080005344A (ko) | 인증서버가 사용자단말기를 인증하는 시스템 | |
WO2018097797A1 (en) | Method and system for deriving deterministic prime number | |
JP5393594B2 (ja) | 効率的相互認証方法,プログラム,及び装置 | |
KR20070035342A (ko) | 패스워드 기반의 경량화된 상호 인증 방법 | |
CN102487321B (zh) | 一种签密方法和系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110119 Termination date: 20201113 |