CN101394284B - 一次性口令认证方法 - Google Patents

一次性口令认证方法 Download PDF

Info

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
Application number
CN2008103055369A
Other languages
English (en)
Other versions
CN101394284A (zh
Inventor
王艳艳
刘贤洪
康红娟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN2008103055369A priority Critical patent/CN101394284B/zh
Publication of CN101394284A publication Critical patent/CN101394284A/zh
Application granted granted Critical
Publication of CN101394284B publication Critical patent/CN101394284B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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,然后向服务器发送注册请求和下所示注册信息:
Figure GDA0000024286410000032
其中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用户保密)
Figure GDA0000024286410000041
其中x为用户本次登录产生的秘密随机数。
(2)服务器接收到用户登录请求消息和(gx,tx,ID)后,首先比对数据库中存储的用户ID,若找不到该用户,则中断通信;ID若为合法用户名,则产生随机数y∈Zu,并计算t(x+s)y作为本次质询消息:(y服务器保密)
Figure GDA0000024286410000042
其中t(x+s)y=(txts)y,y为服务器本次质询产生的秘密随机数。
(3)用户收到服务器发送的质询信息后,计算ty’=t(x+s)y.(x+s)-1(此步骤为一个逆处理过程),并计算登录口令
Figure GDA0000024286410000043
发送给服务器:
Figure GDA0000024286410000044
其中d为RSA算法产生的用户私钥。
(4)服务器验证用户登录口令:若
Figure GDA0000024286410000045
等式成立,则验证通过,否则拒绝登录。因为g∈Zn,所以此处对n取模。这个mod n是为了让最后的结果在(0,n-1)之间。因为只有合法用户才知道d和(x+s)-1,才能计算出:
ty’=t(x+s)y。(x+s)-1=ty
下面等式才成立:
t y , ⊕ g dx ⊕ t y = g dx
( t y , ⊕ g dx ⊕ t y ) e = g dex = g x mod n (ged=g modn)
C、更改认证依据阶段
当用户想要更改认证依据时,只需要重新选取一个秘密种子s’即可。具体步骤如下:
(1)用户成功登录后,向服务器发送更改认证依据的请求信息,并将生成的新的认证依据ts’发送给服务器。
(2)服务器接收到用户的更改请求信息和新的认证依据ts’后,将ts’代替ts存储在该用户的记录中。
本方法优点在于服务器无法泄露用户登录口令,因为d只有用户知道,且x是用户每次随机产生,故gdx从服务器处无法得知。
该方案还具有一次性和单向性。即使攻击者截获了某一次登录口令也无法推知下一次登录口令。因为攻击者没有获得用户的秘密s、d,而且x和y都是用户和服务器每次随机产生的,故每次登录的口令
Figure GDA0000024286410000051
都不相同且无法预知。
本实施例在本发明原有思路的基础上才增加了加密种子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中,采用公钥对第三结果进行解密,判断第三结果与保存的第四结果是否相同,具体为,将第三结果、第四结果、加密后的加密本原元进行异或运算,得到第五结果,再用公钥对第五结果进行解密处理,判断是否能成功解密得到加密本原元,若是,则表示第三结果与保存的第四结果相同;若否,则表示第三结果与保存的第四结果不相同。
CN2008103055369A 2008-11-13 2008-11-13 一次性口令认证方法 Expired - Fee Related CN101394284B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 梁志伟 一种用于信息完整性校验的报文特征摘提方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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