CN116032655B - 一种可抵御计时攻击的身份鉴别方法以及系统 - Google Patents
一种可抵御计时攻击的身份鉴别方法以及系统 Download PDFInfo
- Publication number
- CN116032655B CN116032655B CN202310106509.3A CN202310106509A CN116032655B CN 116032655 B CN116032655 B CN 116032655B CN 202310106509 A CN202310106509 A CN 202310106509A CN 116032655 B CN116032655 B CN 116032655B
- Authority
- CN
- China
- Prior art keywords
- key
- private key
- login
- identity
- user
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000009795 derivation Methods 0.000 claims abstract description 48
- 238000012795 verification Methods 0.000 claims abstract description 26
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 101100217298 Mus musculus Aspm gene Proteins 0.000 claims description 3
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种可抵御计时攻击的身份鉴别方法以及系统,方法包括身份的生成方法和验证方法。生成方法包括:生成第一私钥分量,第二私钥分量以及公钥,获取用户设置的PIN码;对PIN码进行密钥派生运算,得到第一派生密钥,使用第一派生密钥加密第一私钥分量,得到第一密文;对PIN码进行杂凑运算,得到杂凑值,对杂凑值进行密钥派生运算,得到第二派生密钥,使用第二派生密钥加密第二私钥分量,得到第二密文。身份验证方法根据身份生成方法的加密方法做相应的解密、签名以及利用公钥做相应的验证手段。本发明利用派生密钥加密用户端和服务端的私钥分量,达到无论用户登录时输入的口令是否正确,身份鉴别执行的流程相同、耗时相同的目的,从而抵御计时攻击。
Description
技术领域
本发明涉及现代密码技术,特别涉及抵御计时攻击的身份鉴别方法。
背景技术
身份鉴别技术是应用系统或平台对用户身份的合法性进行甄别的方式,允许通过甄别的合法用户进入,阻挡非法用户进入,是维护系统或平台安全的一道技术防线。目前常用的身份鉴别技术包括设置用户名及登录口令或采用UKey证书验签,但UKey证书需要向第三方机构申请,增加了额外的第三方成本。
计时攻击是一种通过不断地伪造用户的身份鉴别数据进行身份鉴别试探,并根据每次试探返回的时间差异,猜测出正确的身份鉴别数据的攻击方式,为一种常见的黑客攻击手段。计时攻击的攻击环节为应用系统或平台的用户身份鉴别环节。
口令鉴别为单因子鉴别,强度较弱,在使用用户名及登录口令进行身份鉴别时,容易被计时攻击破解,因为在通过对比口令的杂凑数据进行鉴别攻击时,对比函数遇到第一个不一致的数据就直接返回,通过不断的试探和返回可以达到最终破解的目的。
发明内容
为了解决用户登录时身份验证被计时攻击破解的问题,本申请提供一种可抵御计时攻击的身份鉴别方法以及系统。
一种可抵御计时攻击的身份鉴别方法,包括身份生成方法:
生成第一私钥分量,第二私钥分量以及公钥,获取用户设置的PIN码;
对所述PIN 码进行密钥派生运算,得到第一派生密钥,使用所述第一派生密钥加密所述第一私钥分量,得到第一密文;
对所述PIN码进行杂凑运算,得到杂凑值,对所述杂凑值进行密钥派生运算,得到第二派生密钥,使用所述第二派生密钥加密所述第二私钥分量,得到第二密文。
进一步地,还包括身份验证方法:
获取请求登录PIN码,生成认证参数;
对所述请求登录PIN码进行密钥派生运算,得到第一登录派生密钥;
使用所述第一登录派生密钥对所述第一密文进行解密,得到第一解密私钥,使用第一解密私钥对所述认证参数进行协同签名,得到第一签名结果;
对所述请求登录PIN码进行杂凑运算,得到登录杂凑值,对所述登录杂凑值进行密钥派生运算,得到第二登录派生密钥;
使用所述第二登录派生密钥对所述第二密文进行解密,得到第二解密私钥,使用第二解密私钥对所述认证参数进行协同签名,得到第二签名结果;
根据所述第一签名结果和所述第二签名结果得到最终签名结果,根据所述公钥验证所述最终签名结果是否正确。
用户端对PIN 码进行密钥派生,服务端对PIN码的杂凑值进行密钥派生,使得两方派生出的密钥不相同,具有较高的安全性和验证准确性。
进一步地,生成认证参数,具体包括:生成第一随机数和第二随机数,根据所述第一随机数和所述第二随机数计算认证参数。服务端和用户端各自生成随机数,能有效防止重放攻击。
进一步地,所述密钥派生运算包括循环迭代计算。
进一步地,生成第一私钥分量,第二私钥分量以及公钥,具体为使用门限SM2密码算法,在用户端和服务端分别生成第一私钥分量与第二私钥分量,并计算公钥。
SM2算法生成的私钥可以在用户端和服务端两方中分别独立生成,并计算出对应的完整公钥,签名时,两方分别使用自己的私钥分量进行签名,得到签名的中间结果,最终通过中间结果合并得到完整的签名。在这过程中,无论是密钥生成还是协同签名过程,都不会出现完整的SM2私钥,也不需要交换私钥分量,因此具有较高的安全性。
进一步地,其特征在于,所述密钥派生运算包括伪随机函数,所述伪随机函数包括HMAC-SM3、HMAC-SHA1、HMAC-SHA256或HMAC-SHA512。
进一步地,所述杂凑运算包括MD5、SHA1、SHA2或SM3。
进一步地,所述密钥派生运算最终得到对称密钥。利用对称密钥对私钥分量进行加解密,无论对称密钥是否正确,其解密运算的耗时均相同,使的整个身份鉴别过程的总耗时相同,从而来抵御计时攻击。
本发明还公开了一种,用于实现上述可抵御计时攻击的身份鉴别方法,包括身份生成系统,所述身份生成系统包括用户端和服务端;
所述用户端包括:
生成单元,用于生成第一私钥分量;
运算单元,用于获取用户设置的PIN码,对所述PIN 码进行密钥派生运算,得到第一派生密钥,使用所述第一派生密钥加密所述第一私钥分量,得到第一密文;并对所述PIN码进行杂凑运算,得到杂凑值,将所述杂凑值传输至所述服务端;
存储单元,用于存储所述第一密文;
所述服务端包括:
生成单元,用于生成第二私钥分量以及公钥;
运算单元,用于对所述杂凑值进行密钥派生运算,得到第二派生密钥,使用所述第二派生密钥加密所述第二私钥分量,得到第二密文;
存储单元,用于存储所述第二密文以及公钥。
还包括身份验证系统,所述身份验证系统包括用户端和服务端;
所述用户端包括:
生成单元,用于生成第一随机数以及认证参数;
运算单元,用于获取请求登录PIN码,对所述请求登录PIN码进行密钥派生运算,得到第一登录派生密钥;并对所述请求登录PIN码进行杂凑运算,得到登录杂凑值,将所述登录杂凑值传输至所述服务端;
签名单元,用于使用所述第一登录派生密钥对所述第一密文进行解密,得到第一解密私钥,使用第一解密私钥对所述认证参数进行协同签名,得到第一签名结果;
所述服务端包括:
生成单元,用于生成第二随机数,并将所述第二随机数返回至所述用户端;
运算单元,用于对所述登录杂凑值进行密钥派生运算,得到第二登录派生密钥;
签名单元,用于使用所述第二登录派生密钥对所述第二密文进行解密,得到第二解密私钥,使用第二解密私钥对所述认证参数进行协同签名,得到第二签名结果;
验证单元,用于根据所述第一签名结果和所述第二签名结果得到最终签名结果,根据所述公钥验证所述最终签名结果是否正确。
本发明的有益效果为:
本发明利用派生密钥加密用户端和服务端的私钥分量,达到无论用户登录时输入的口令是否正确,身份鉴别执行的流程相同、耗时相同的目的,从而抵御计时攻击。并且本方法不改变用户的使用习惯,仍旧使用口令注册和登录,也无需向第三方CA申请UKey证书,增加额外成本,就可以实现抵御计时攻击的目的,具有较为广泛的使用场景和推广使用的前景。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请用户身份注册流程图;
图2是本申请用户登录验证流程图。
具体实施方式
为使得本申请的申请目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下述实施例中的“第一”、“第二”等词汇为名词区分前缀,是为了更好地区分相同的名词,不作为执行顺序和生成顺序的限定。
下面结合附图和具体实施例,进一步阐明本发明。
实施例1
一种可抵御计时攻击的身份鉴别方法,包括身份生成方法,即用户身份注册;和身份验证方法,即用户登录验证。所有的方法流程中都包含用户端和服务端两方,用户端为应用系统或平台的前端程序,一般为C端程序、Web端页面或是移动端APP,生成了用户的私钥分量,也就是第一私钥分量d1,服务端为应用系统或平台的后台程序,是鉴别方,生成了第二私钥分量d2,并计算了公钥P。
在举例说明时从用户端和服务端分别进行说明。
身份生成方法,如图1所示,包括以下步骤:
S100,用户在用户端的应用系统或平台申请注册,设置初始口令PIN,即以后的登录口令。
S110,用户端对口令PIN使用密钥派生函数PBKDF进行密钥派生运算,得到第一派生密钥K1=PBKDF(PIN),K1为对称密钥。
S120,用户端对PIN进行杂凑运算,得到杂凑值H=HASH(PIN)。
S130,用户端使用门限SM2密码算法,生成第一私钥分量d1,并向服务端发起协同密钥生成请求,同时将杂凑值H发送至服务端。
S140,用户端使用第一派生密钥K1对第一私钥分量d1进行加密,得到第一密文C1,保存C1。
S150,服务端接收用户端的请求,使用门限SM2密码算法生成第二私钥分量d2,并计算完整的公钥P,保存公钥P。
S160,服务端对杂凑值H使用密钥派生函数PBKDF进行密钥派生运算,得到第二派生密钥K2=PBKDF(H),K2为对称密钥。使用PIN的杂凑值进行密钥派生计算可以使K1和K2不同,区别于用户端和服务端两种派生密钥。
S170,服务端使用第二派生密钥K2对第二私钥分量d2进行加密,得到第二密文C2,保存C2。
上述的步骤书写顺序并不代表执行顺序,例如步骤S100-S130可以并列执行。
步骤S120中的杂凑运算,是一种单向函数,是把任意长的输入数据转换成固定长度的输出串的一种函数,本实施例中可采用MD5、SHA1、SHA2或SM3的杂凑算法。
步骤S110和步骤S160中生成的密钥K1和密钥K2为对称密钥,在解密时使用的密钥与加密时的密钥相同,也就是说,当登录时输入的PIN码不能得出相同的密钥时无法得出正确的第一私钥分量和第二私钥分量。对称密钥在运算时,不管错与对耗时相同,不会被计时攻击破解。
步骤S140和步骤S170中采用对称密钥对私钥分量进行加密,可采用如DES、3DES、AES或SM4中的任意一种对称加密技术。
步骤S110和步骤S160中的密钥派生函数PBKDF,具体计算过程如下:
密钥派生函数PBKDF定义为:DK= PBKDF (P,S,c,dkLen)。
其中,
P:口令,任意长度的字符串,即用户设置的初始口令PIN,为ASCII或UTF8字符串;
S:盐值,增加密文多变性;
c:迭代次数,越大越好,一般要求不小于1024;
dklen:派生密钥DK的字节长度,要求不大于(232–1) × hLen,不超过运算承受值。
利用伪随机函数PRF对原始口令进行杂凑函数运算,可采用HMAC-SM3、HMAC-SHA1、HMAC-SHA256或HMAC-SHA512等运算方法, hLen为杂凑函数的输出字节长度,与伪随机函数PRF的类型有关。
执行步骤如下:
步骤1:如果dkLen >(232–1) × hLen,返回错误。
步骤2:计算分组数n和最后一块的长度r,如下:
n = dkLen / hLen (计算迭代次数,往前取整)
r = dkLen – (n-1)*hLen (字节余数)
步骤3:for i = 1,2,... n
3.1:Ti = 0,U0=S || Int(i) (Int(i)为i值的32比特大端表示)
3.2:for j = 1,2,...c
3.2.1:Uj= PRF (P,Uj-1)
3.2.2:Ti = Ti⊕Uj (⊕为异或运算)
步骤4:返回DK= MSB(T1 || T2 || ... || Tn, dkLen)
MSB(M, L)的意思为获取数据串M的前L个字节。c为用户设置的循环迭代次数,用于更好地保密原始数据。
用户注册完成后,在用户端存储有第一密文C1,正确的PIN码可以得到正确的密钥K1,解密C1得到正确的d1,在服务端存储有第二密文C2,正确的PIN码可以得到正确的杂凑值然后得到正确的密钥K2,解密C2得到正确的d2,服务端还存储有公钥P,用于验证是否是正确的私钥分量进行的签名。
身份验证方法,如图2所示,包括以下步骤:
S200,用户在用户端登录,输入请求登录口令,记为PIN’,用户端向服务端发送登录请求,向服务端申领作为鉴别参数的随机数,该随机数会生成认证参数。随机数用于认证请求的时效性或合法性等。
S210,服务端接受用户端的登录请求,生成第二随机数Rs,将第二随机数Rs返回至用户端。
S220,用户端生成自己的随机数Rc,即第一随机数,并根据Rs生成认证参数token=Rc||Rs。
S230,对请求登录口令PIN’使用与身份生成时一样的密钥派生函数PBKDF进行密钥派生运算,得到第一登录派生密钥K1’。
S240,用户端对请求登录口令PIN’使用身份生成时一样的杂凑函数进行杂凑运算,得到登录杂凑值H’。
S250,用户端读取第一密文C1,并使用第一登录派生密钥K1’对C1进行解密,得到第一解密私钥d1’。使用第一解密私钥d1’对认证参数token进行协同签名,得到第一签名结果S1。将登录杂凑值H’、认证参数token以及第一签名结果S1发送至服务端申请协同签名。
S260,服务端接受用户端的协同签名请求,对登录杂凑值H’使用与身份生成时一样的密钥派生函数PBKDF进行密钥派生运算,得到第二登录派生密钥K2’。
S270,服务端读取第二密文C2,并使用第二登录派生密钥K2’对C2进行解密,得到第二解密私钥d2’。使用第二解密私钥d2’对认证参数token进行协同签名,得到第二签名结果S2。将第二签名结果S2返回用户端。
S280,用户端结合第一签名结果S1和第二签名结果S2处理得到最终签名结果S。将最终签名结果S,认证参数token以及随机数Rs返回服务端。
S290,服务端通过随机数Rs认证此次登录是否有效,认证有效后,使用公钥P对认证参数token和最终签名进行验签运算,如果验签正常,则判定身份鉴别成功,否则为失败,并将验签结果返回给用户端。
上述的步骤书写顺序并不代表执行顺序,例如步骤S230-S250可以并列执行。
在用户登录时的身份鉴别过程中,如果用户输入的登录口令正确,则有,
PIN’=PIN
从而有,
K1’= K1和K2’= K2
进一步有,
d1’= d1和d2’= d2
所以,服务端最终能够对认证参数token和签名S验签成功。
如果,用户输入的登录口令不正确,则,
PIN’≠PIN
那么,
K1’ ≠ K1和K2’ ≠ K2
所以,
d1’ ≠ d1和d2’ ≠d2
所以,服务端最终对认证参数token和签名S验签失败。
从上述用户身份验证方法中可以看出,无论用户登录时输入的口令是否正确,都需要走遍所有步骤,验证失败与验证成功的执行流程相同。所以,计时无法利用验证的时间差来破解身份验证。
实施例2
一种可抵御计时攻击的身份鉴别系统,用于实现实施例1中的身份鉴别方法,包括身份生成系统和身份验证系统。
身份生成系统包括用户端和服务端。
用户端包括:
生成单元,用于使用门限SM2密码算法,生成第一私钥分量d1。
运算单元,用于获取用户设置的初始口令PIN,通过密钥派生函数PBKDF对PIN进行密钥派生运算,得到第一派生密钥K1,使用第一派生密钥K1加密第一私钥分量d1,得到第一密文C1;并对PIN进行杂凑运算,得到杂凑值H,将杂凑值H至服务端。
存储单元,用于存储运算单元加密得到的第一密文C1。
服务端包括:
生成单元,用于使用门限SM2密码算法,生成第二私钥分量d2以及公钥P。
运算单元,用于对从用户端获得的杂凑值H使用密钥派生函数PBKDF进行密钥派生运算,得到第二派生密钥K2,使用第二派生密钥K2加密第二私钥分量d2,得到第二密文C2;
存储单元,用于存储运算单元加密得到的第二密文C2以及生成单元生成的公钥P。
身份验证系统包括用户端和服务端。
用户端包括:
生成单元,用于响应登录请求,生成第一随机数Rc,并结合服务端返回的第二随机数Rs计算得到认证参数token。
运算单元,用于获取请求登录口令PIN’,使用与身份生成时一样的密钥派生函数PBKDF对PIN’进行密钥派生运算,得到第一登录派生密钥K1’;并对PIN’进行杂凑运算,得到登录杂凑值H’,将登录杂凑值H’传输至服务端。
签名单元,用于使用第一登录派生密钥K1’对第一密文C1进行对称解密,得到第一解密私钥d1’,使用第一解密私钥d1’对认证参数token进行协同签名,得到第一签名结果S1。
服务端包括:
生成单元,用于响应登录请求,生成第二随机数Rs,并将第二随机数Rs返回至用户端。
运算单元,用于使用与身份生成时一样的密钥派生函数PBKDF对登录杂凑值H’进行密钥派生运算,得到第二登录派生密钥K2’。
签名单元,用于使用所述第二登录派生密钥K2’对第二密文C2进行对称解密,得到第二解密私钥d2’,使用第二解密私钥d2’对认证参数token进行协同签名,得到第二签名结果S2。将第二签名结果返回至用户端。
验证单元,用于根据第一签名结果S1和第二签名结果S2得到最终签名结果S,根据公钥P验证第一解密私钥d1’和第二解密私钥d2’对token的协同签名的最终签名结果S是否正确。
上述身份生成系统和身份验证系统的用户端为同一个,其中的生成单元、运算单元可以合并为一个,也可以分成生成时的生成单元、运算单元和验证时的生成单元和运算单元。同理,身份生成系统和身份验证系统的服务端为同一个,其中的生成单元、运算单元可以合并为一个,也可以分成生成时的生成单元、运算单元和验证时的生成单元和运算单元。本实施例只是对其进行了功能区分,并非作为实际软硬件的分布限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现,以上所描述的系统实施例仅仅是示意性的。例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个单元,或一些特征可以忽略,或不执行。
所述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (8)
1.一种可抵御计时攻击的身份鉴别方法,其特征在于,包括身份生成方法和身份验证方法:所述身份生成方法包括:
用户端生成第一私钥分量,服务端生成第二私钥分量以及公钥,用户端获取用户设置的PIN码;
用户端对所述PIN码进行密钥派生运算,得到第一派生密钥,用户端使用所述第一派生密钥加密所述第一私钥分量,得到第一密文;
用户端对所述PIN码进行杂凑运算,得到杂凑值,服务端对所述杂凑值进行密钥派生运算,得到第二派生密钥,服务端使用所述第二派生密钥加密所述第二私钥分量,得到第二密文;
所述身份验证方法包括:
用户端获取请求登录PIN码,生成认证参数;
用户端对所述请求登录PIN码进行密钥派生运算,得到第一登录派生密钥;
用户端使用所述第一登录派生密钥对所述第一密文进行解密,得到第一解密私钥,使用第一解密私钥对所述认证参数进行协同签名,得到第一签名结果;
用户端对所述请求登录PIN码进行杂凑运算,得到登录杂凑值,服务端对所述登录杂凑值进行密钥派生运算,得到第二登录派生密钥;
服务端使用所述第二登录派生密钥对所述第二密文进行解密,得到第二解密私钥,服务端使用第二解密私钥对所述认证参数进行协同签名,得到第二签名结果;
用户端根据所述第一签名结果和所述第二签名结果得到最终签名结果,服务端根据所述公钥验证所述最终签名结果是否正确。
2.根据权利要求1所述的可抵御计时攻击的身份鉴别方法,其特征在于,生成认证参数,具体包括:生成第一随机数和第二随机数,根据所述第一随机数和所述第二随机数计算认证参数。
3.根据权利要求1所述的可抵御计时攻击的身份鉴别方法,其特征在于,所述密钥派生运算包括循环迭代计算。
4.根据权利要求1所述的可抵御计时攻击的身份鉴别方法,其特征在于,生成第一私钥分量,第二私钥分量以及公钥,具体为使用门限SM2密码算法,在用户端和服务端分别生成第一私钥分量与第二私钥分量,并计算公钥。
5.根据权利要求1所述的可抵御计时攻击的身份鉴别方法,其特征在于,所述密钥派生运算包括伪随机函数,所述伪随机函数包括HMAC-SM3、HMAC-SHA1、HMAC-SHA256或HMAC-SHA512。
6.根据权利要求1所述的可抵御计时攻击的身份鉴别方法,其特征在于,所述杂凑运算包括MD5、SHA1、SHA2或SM3。
7.根据权利要求1所述的可抵御计时攻击的身份鉴别方法,其特征在于,所述密钥派生运算最终得到对称密钥。
8.一种可抵御计时攻击的身份鉴别系统,其特征在于,包括身份生成系统和身份验证系统,所述身份生成系统和所述身份验证系统均包括用户端和服务端;
所述身份生成系统中用户端包括:
生成单元,用于生成第一私钥分量;
运算单元,用于获取用户设置的PIN码,对所述PIN码进行密钥派生运算,得到第一派生密钥,使用所述第一派生密钥加密所述第一私钥分量,得到第一密文;并对所述PIN码进行杂凑运算,得到杂凑值,将所述杂凑值传输至所述服务端;
存储单元,用于存储所述第一密文;
所述身份生成系统中服务端包括:
生成单元,用于生成第二私钥分量以及公钥;
运算单元,用于对所述杂凑值进行密钥派生运算,得到第二派生密钥,使用所述第二派生密钥加密所述第二私钥分量,得到第二密文;
存储单元,用于存储所述第二密文以及公钥;
所述身份验证系统包括用户端和服务端;
所述身份验证系统中用户端包括:
生成单元,用于生成第一随机数以及认证参数;
运算单元,用于获取请求登录PIN码,对所述请求登录PIN码进行密钥派生运算,得到第一登录派生密钥;并对所述请求登录PIN码进行杂凑运算,得到登录杂凑值,将所述登录杂凑值传输至所述服务端;
签名单元,用于使用所述第一登录派生密钥对所述第一密文进行解密,得到第一解密私钥,使用第一解密私钥对所述认证参数进行协同签名,得到第一签名结果;
所述身份验证系统中服务端包括:
生成单元,用于生成第二随机数,并将所述第二随机数返回至所述用户端;
运算单元,用于对所述登录杂凑值进行密钥派生运算,得到第二登录派生密钥;
签名单元,用于使用所述第二登录派生密钥对所述第二密文进行解密,得到第二解密私钥,使用第二解密私钥对所述认证参数进行协同签名,得到第二签名结果;
验证单元,用于根据所述第一签名结果和所述第二签名结果得到最终签名结果,根据所述公钥验证所述最终签名结果是否正确。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310106509.3A CN116032655B (zh) | 2023-02-13 | 2023-02-13 | 一种可抵御计时攻击的身份鉴别方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310106509.3A CN116032655B (zh) | 2023-02-13 | 2023-02-13 | 一种可抵御计时攻击的身份鉴别方法以及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116032655A CN116032655A (zh) | 2023-04-28 |
CN116032655B true CN116032655B (zh) | 2023-07-25 |
Family
ID=86091114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310106509.3A Active CN116032655B (zh) | 2023-02-13 | 2023-02-13 | 一种可抵御计时攻击的身份鉴别方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116032655B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116707804B (zh) * | 2023-08-07 | 2023-10-31 | 中电信量子科技有限公司 | 增强ff1格式保留加密安全性的方法及设备 |
CN117978365A (zh) * | 2024-03-12 | 2024-05-03 | 青岛青软晶尊微电子科技有限公司 | 一种des加密方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464301A (zh) * | 2020-04-28 | 2020-07-28 | 郑州信大捷安信息技术股份有限公司 | 一种密钥管理方法及系统 |
CN111865579A (zh) * | 2020-07-10 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | 基于sm2算法改造的数据加解密方法及装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961336B (zh) * | 2017-04-18 | 2019-11-26 | 北京百旺信安科技有限公司 | 一种基于sm2算法的密钥分量托管方法和系统 |
CN107948189B (zh) * | 2017-12-19 | 2020-10-30 | 数安时代科技股份有限公司 | 非对称密码身份鉴别方法、装置、计算机设备及存储介质 |
KR20240093786A (ko) * | 2018-01-17 | 2024-06-24 | 티제로 아이피, 엘엘씨 | 고객 지갑을 복원하기 위해 n개의 키 중 m개를 사용하는 다중 승인 시스템 |
CN108494551A (zh) * | 2018-03-16 | 2018-09-04 | 数安时代科技股份有限公司 | 基于协同密钥的处理方法、系统、计算机设备及存储介质 |
CN108471352B (zh) * | 2018-03-16 | 2022-03-04 | 数安时代科技股份有限公司 | 基于分布式私钥的处理方法、系统、计算机设备及存储介质 |
US11641278B2 (en) * | 2018-03-27 | 2023-05-02 | Workday, Inc. | Digital credential authentication |
CN110932850B (zh) * | 2019-11-29 | 2023-01-20 | 杭州安恒信息技术股份有限公司 | 通信加密方法及系统 |
CN112637131B (zh) * | 2020-12-01 | 2023-04-18 | 百果园技术(新加坡)有限公司 | 用户身份认证方法、装置、设备和存储介质 |
CN112241527B (zh) * | 2020-12-15 | 2021-04-27 | 杭州海康威视数字技术股份有限公司 | 物联网终端设备的密钥生成方法、系统及电子设备 |
CN114760046A (zh) * | 2020-12-26 | 2022-07-15 | 西安西电捷通无线网络通信股份有限公司 | 一种身份鉴别方法和装置 |
CN113271207A (zh) * | 2021-05-14 | 2021-08-17 | 福建瑞术信息科技有限公司 | 基于移动电子签名的托管密钥使用方法、系统、计算机设备及存储介质 |
CN113836506A (zh) * | 2021-09-30 | 2021-12-24 | 奇安信科技集团股份有限公司 | 身份认证方法、装置、系统、电子设备、存储介质 |
-
2023
- 2023-02-13 CN CN202310106509.3A patent/CN116032655B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464301A (zh) * | 2020-04-28 | 2020-07-28 | 郑州信大捷安信息技术股份有限公司 | 一种密钥管理方法及系统 |
CN111865579A (zh) * | 2020-07-10 | 2020-10-30 | 郑州信大捷安信息技术股份有限公司 | 基于sm2算法改造的数据加解密方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116032655A (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11757662B2 (en) | Confidential authentication and provisioning | |
CN109714167B (zh) | 适用于移动应用签名的身份认证与密钥协商方法及设备 | |
US9185111B2 (en) | Cryptographic authentication techniques for mobile devices | |
CN116032655B (zh) | 一种可抵御计时攻击的身份鉴别方法以及系统 | |
US10348706B2 (en) | Assuring external accessibility for devices on a network | |
US6996715B2 (en) | Method for identification of a user's unique identifier without storing the identifier at the identification site | |
US8775794B2 (en) | System and method for end to end encryption | |
TWI773199B (zh) | 安全運算裝置、安全運算方法、驗證器及裝置驗證方法 | |
CN110971411B (zh) | 一种基于sotp技术对私钥乘加密的sm2同态签名方法 | |
Chattaraj et al. | A new two-server authentication and key agreement protocol for accessing secure cloud services | |
CN101777983B (zh) | 交易签名方法、认证服务器及系统 | |
JP2014523192A (ja) | デバイス及びサーバの通信におけるファジーな認証情報を用いた暗号化によるセキュリティ | |
US20190327235A1 (en) | External accessibility for network devices | |
CN108471352A (zh) | 基于分布式私钥的处理方法、系统、计算机设备及存储介质 | |
CN108173648B (zh) | 基于私钥托管的数字安全处理方法、设备及存储介质 | |
US11595218B2 (en) | Authorization delegation | |
KR20120091618A (ko) | 연쇄 해시에 의한 전자서명 시스템 및 방법 | |
CN111245611B (zh) | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统 | |
KR20080005344A (ko) | 인증서버가 사용자단말기를 인증하는 시스템 | |
CN116155598A (zh) | 多服务器架构下的认证方法及系统 | |
CN116232716A (zh) | 一种基于puf的物联网ota升级方法及存储介质 | |
CN115604034A (zh) | 一种通信连接的加解密方法、系统及电子设备 | |
KR100986980B1 (ko) | 생체 인증 방법, 클라이언트 및 서버 | |
AU2017412654B2 (en) | Assuring external accessibility for devices on a network | |
CN112235105B (zh) | 一种抗中间人攻击的动态口令认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |