CN102651743B - 一种令牌种子的生成方法 - Google Patents

一种令牌种子的生成方法 Download PDF

Info

Publication number
CN102651743B
CN102651743B CN201210134173.3A CN201210134173A CN102651743B CN 102651743 B CN102651743 B CN 102651743B CN 201210134173 A CN201210134173 A CN 201210134173A CN 102651743 B CN102651743 B CN 102651743B
Authority
CN
China
Prior art keywords
value
result
splicing
server
data
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
CN201210134173.3A
Other languages
English (en)
Other versions
CN102651743A (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.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies 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 Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201210134173.3A priority Critical patent/CN102651743B/zh
Publication of CN102651743A publication Critical patent/CN102651743A/zh
Application granted granted Critical
Publication of CN102651743B publication Critical patent/CN102651743B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开一种令牌种子的生成方法,包括:终端获取动态令牌模块中的第一计算结果并将其发送给服务器;服务器根据第一计算结果、生成的第二随机数、服务器证书信息生成第三拼接值,将第三拼接值发送给终端;终端接收第三拼接值,并将其下发给所述动态令牌模块进行验证,验证通过则从动态令牌模块中获取第三拼接结果,并将其发送给服务器;服务器接收所述第三拼接结果并进行解析和验证,解析成功并验证通过时根据令牌种子生成第五拼接值,并将其发送给终端;终端接收第五拼接值,并将其下发给动态令牌模块进行验证,如验证通过则动态令牌模块从第五拼接值中获取令牌种子并存储。本发明的方法具有方便安全的特点。

Description

一种令牌种子的生成方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种令牌种子的生成方法。
背景技术
随着电子政务、电子商务等应用系统的飞速发展,动态密码技术作为替换静态密码的有效方式,由于其使用简便、安全性好,使得动态密码系统也得到了广泛应用。
动态密码是一次性密码,每个密码只能使用一次,它随着时间或使用次数的变化而不断变化。动态令牌是一种密码设备,用于产生动态密码。动态密码的产生依赖于种子密钥,每个令牌都内置一个不同的种子密钥。这个种子密钥结合时间、使用次数值和/或挑战信息,用于产生动态密码。种子密钥是动态密码的安全基础。如果种子密钥外泄,将极大的影响动态密码的安全性。
在实际的动态令牌应用中,一般是由令牌的制造商产生种子密钥,并注入到令牌中。同时,需要令牌制造商提供种子文件给客户,并将其导入动态密码认证系统,以便完成动态密码的认证。有些情况下,种子密钥也由客户产生,然后提供给令牌制造商用于生产动态密码。不管在哪种情况下,令牌的种子密钥必须由令牌制造商掌握。
对于上述情况,种子密钥的保密成为一个关键问题。尤其是令牌用量特大的金融、电子商务类客户,对种子的安全非常敏感,非常担心由于种子密钥外泄所带来的巨大损失。因此,如何安全地生成种子、防止种子外泄是本领域亟待解决的问题。
发明内容
本发明的目的是为了克服现有技术的不足,提供一种令牌种子的生成方法,其具有方便安全的特点。
本发明提供一种令牌种子的生成方法,包括:
步骤A:终端获取动态令牌模块中的第一计算结果,判断是否与服务器连接,是则执行步骤B,否则输出错误提示信息,结束;
步骤B:所述终端将所述第一计算结果发送给所述服务器;
步骤C:所述服务器接收所述第一计算结果,生成第二随机数,根据所述第一计算结果和所述第二随机数生成第一会话密钥和第一认证码密钥,根据所述第二随机数生成第一计算值;
步骤D:所述服务器使用所述第一认证码密钥对服务器证书信息进行计算生成服务器证书信息计算值;使用证书私钥对所述第一计算结果和第二随机数进行签名生成第一签名值;
步骤E:所述服务器判断是否存储有第一待加密数据和/或第一待签名数据,如存储有第一待加密数据和第一待签名数据则执行步骤F1,如只存储有第一待加密数据则执行步骤F2,如只存储有第一待签名数据则执行步骤F3,如两者都未存储则执行步骤F4;
步骤F1:所述服务器获取第一待加密数据和第一待签名数据,使用所述第一会话密钥对所述第一待加密数据进行加密生成第一加密值,根据所述第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一加密值、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F2:所述服务器获取第一待加密数据,使用所述第一会话密钥对所述第一待加密数据进行加密生成第一加密值,根据所述第一计算值、服务器证书信息、服务器证书信息计算值、第一加密值、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F3:所述服务器获取第一待签名数据,根据所述第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F4:所述服务器根据所述第一计算值、服务器证书信息、服务器证书信息计算值和第一签名值生成第二拼接值,顺序执行步骤G,
步骤G:使用所述第一认证码密钥对所述第二拼接值进行计算生成第三计算值,根据所述第二拼接值和第三计算值生成第三拼接值,并将所述第三拼接值发送给所述终端;
步骤H:所述终端接收所述第三拼接值,并将所述第三拼接值下发给所述动态令牌模块进行验证,如验证通过,则执行步骤I,如验证未通过则结束;
步骤I:所述终端从所述动态令牌模块中获取第三拼接结果,并将其发送给所述服务器;
步骤J:所述服务器接收所述第三拼接结果并进行解析,判断解析是否成功,是则执行步骤K,否则给所述终端发送错误提示信息,结束;
步骤K:所述服务器对解析结果进行验证,如验证通过,则执行步骤L,如验证未通过则给终端返回错误提示信息,结束;
步骤L:所述服务器根据令牌种子生成第三待加密数据,使用所述第一会话密钥对第三待加密数据进行加密生成第二加密值;
步骤M:所述服务器判断是否存储有第三待签名数据,是则执行步骤N,否则执行步骤O;
步骤N:所述服务器获取第三待签名数据,根据所述第三待签名数据、第二加密值和解析结果中的临时随机数生成第四拼接值,使用所述第一认证码密钥对所述第四拼接值进行计算生成第四计算值;根据所述第四拼接值和所述第四计算值生成第五拼接值,将所述第五拼接值发送给所述终端,顺序执行步骤P;
步骤O:所述服务器根据所述第二加密值和解析结果中的临时随机数生成第四拼接值,使用所述第一认证码密钥对所述第四拼接值进行计算生成第四计算值;根据所述第四拼接值和第四计算值生成第五拼接值,将所述第五拼接值发送给所述终端,顺序执行步骤P;
步骤P:所述终端接收所述第五拼接值,并将所述第五拼接值下发给所述动态令牌模块进行验证,如验证通过,则所述动态令牌模块从所述第五拼接值中获取所述令牌种子并存储,如验证未通过,则结束。
其中,所述步骤A中终端获取动态令牌模块中的第一计算结果,具体包括:所述终端通过给所述动态令牌模块下发第一指令,获取所述动态令牌模块生成的第一计算结果。
其中,在所述终端下发第一指令和获取第一计算结果之间还包括:
所述动态令牌模块在接收到所述第一指令时,按照第一预设算法对生成的第一随机数进行计算生成所述第一计算结果。
其中,所述第一随机数是动态令牌模块接收到第一指令时生成的或之前生成。
其中,所述步骤C中生成第一会话密钥和第一认证码密钥,具体包括:
根据所述第一计算结果和所述第二随机数生成第二计算值;
对所述第二计算值进行掩膜运算得到第三中间值,将所述第三中间值的前半部分数据作为所述第一会话密钥,将所述第三中间值的后半部分数据作为所述第一认证码密钥。
其中,所述步骤C中根据所述第二随机数生成第一计算值,具体包括:
按照所述第一预设算法对所述第二随机数进行计算生成所述第一计算值。
其中,所述步骤D中生成第一签名值,具体包括:
对所述第一计算结果和第一计算值拼接生成第一拼接值;
使用所述证书私钥对所述第一拼接值进行签名生成第一签名值。
其中,所述步骤F1、步骤F2、步骤F3和步骤F4中生成第二拼接值的方式具体为:顺序拼接。
其中,所述步骤H和步骤I之间包括:所述动态令牌模块接收所述第三拼接值并对其进行验证,验证过程具体包括:
步骤H1:所述动态令牌模块接收所述第三拼接值并对其进行解析,判断解析是否成功,是则执行步骤H2,否则给终端返回错误提示信息,结束;
步骤H2:所述动态令牌模块根据解析得到的第一计算值和所述第一随机数生成第二计算结果,对所述第二计算结果进行掩膜运算得到第三中间结果,将所述第三中间结果的前半部分数据作为所述第二会话密钥,将所述第三中间结果的后半部分数据作为所述第二认证码密钥;
步骤H3:所述动态令牌模块使用所述第二认证码密钥对解析得到的第二拼接值进行计算,生成第一验证结果,判断所述第一验证结果与解析得到的第三计算值是否相同,是则执行步骤H4,否则结束;
步骤H4:所述动态令牌模块使用所述第二认证码密钥对解析得到的服务器证书信息进行计算,生成服务器证书信息计算结果,判断所述服务器证书信息计算结果与解析得到的服务器证书信息计算值是否相同,是则执行步骤H5,否则结束;
步骤H5:所述动态令牌模块判断解析结果中是否有第一加密值,是则执行步骤H6,否则验证通过;
步骤H6:所述动态令牌模块使用所述第二会话密钥对解析得到的第一加密值进行解密,如解密成功则验证通过,否则验证未通过。
其中,所述验证通过后、步骤I之前包括:
步骤H-1:所述动态令牌模块使用所述第二认证码密钥对令牌证书信息进行计算,生成令牌证书信息计算结果,对所述第一计算结果和解析得到的第一计算值拼接生成第一拼接结果,使用证书私钥对所述第一拼接结果进行加密生成第一加密结果;
步骤H-2:所述动态令牌模块生成临时随机数并获取动态令牌序列号;
步骤H-3:所述动态令牌模块对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果;
步骤H-4:所述动态令牌模块使用所述第二认证码密钥对所述第二拼接结果进行计算生成第三计算结果,对所述第二拼接结果和所述第三计算结果拼接生成第三拼接结果。
其中,在步骤H-2和步骤H-3之间包括:
所述动态令牌模块判断是否存储第二待加密数据和/或第二待签名数据,如存储有第二待加密数据和第二待签名数据则执行步骤H-3-1,如只存储有第二待加密数据则执行步骤H-3-2,如只存储有第二待签名数据则执行步骤H-3-3;如两者都未存储则执行步骤H-3;
步骤H-3-1:所述动态令牌模块获取所述第二待加密数据和第二待签名数据,使用所述第二会话密钥对所述第二待加密数据进行加密生成第二加密数据,对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、第二待签名数据、第二加密数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤H-4;
步骤H-3-2:所述动态令牌模块获取所述第二待加密数据,使用所述第二会话密钥对所述第二待加密数据进行加密生成第二加密数据,对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、第二加密数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤H-4;
步骤H-3-3:所述动态令模块获取所述第二待签名数据,对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、第二待签名数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤H-4。
其中,所述步骤K包括:
步骤K1:所述服务器根据解析得到的动态令牌序列号,查找对应的令牌证书信息,如找到,则执行步骤K2,否则给终端返回错误信息,结束;
步骤K2:所述服务器使用所述第一认证码密钥对所述令牌证书信息进行计算,生成令牌证书信息计算值,并判断所述令牌证书信息计算值与解析得到的令牌证书信息计算结果是否相同,是则执行步骤K3,否则给终端返回错误信息,结束;
步骤K3:所述服务器从所述令牌证书信息中获取证书公钥,使用所述证书公钥对解析得到的第一加密结果进行解密,判断解密结果与所述第一拼接值是否相同,是则执行步骤K4,否则给终端返回错误信息,结束;
步骤K4:所述服务器使用所述第一认证码密钥对解析得到的第二拼接结果进行计算得到第一验证值,判断所述第一验证值与解析得到的第三计算结果是否相同,是则验证通过,否则验证未通过。
其中,所述步骤L中生成第三待加密数据具体包括:
所述服务器对软件版本号、动态口令算法标识、动态口令长度、哈希算法标识、时间步长、起始时间、服务器时间、固定字节、所述令牌种子、认证数据顺序拼接生成第三待加密数据。
其中,所述生成所述第四拼接值和所述第五拼接值的方式均为顺序拼接。
其中,所述步骤P包括:所述终端接收所述第五拼接值,并将所述第五拼接值下发给所述动态令牌模块;
所述动态令牌模块接收所述第五拼接值并对其进行验证,如验证通过,则所述动态令牌模块从所述第五拼接值中获取所述令牌种子并存储,如验证未通过,则结束;
其中,所述动态令牌模块对所述第五拼接值进行验证,具体包括:
步骤P1:所述动态令牌模块对所述第五拼接值进行解析,判断解析是否成功,是则执行步骤P2,否则结束;
步骤P2:使用所述第二认证码密钥对解析得到的第四拼接值进行计算,生成第二验证结果,并判断所述第二验证结果与解析得到的第四计算值是否相同,是则执行步骤P3,否则结束;
步骤P3:判断解析得到的临时随机数和所述临时随机数是否相同,是则执行步骤P4,否则结束;
步骤P4:使用所述第二会话密钥对解析得到的第二加密值进行解密,如解密成功则得到动态令牌种子,进行存储,如解密失败则结束。
本发明与现有技术相比,具有以下优点:
本发明中的终端中设置动态令牌模块,对于联机终端而言,通过终端与服务器进行交互的过程中生成并同步更新种子密钥,不需要提前生成令牌种子,有利于生产流程的简化;且动态令牌模块中存储的令牌种子不出终端,进一步的提高了令牌种子的安全性,还可以完成生产和检测的连续进行;令牌动态模块中的种子和服务器中的种子可以采用不同的数据形式保存,即无法通过服务器中的种子推导出令牌中的令牌种子,且动态令牌模块设置在终端中,与终端合为一体,保证了动态令牌模块中保存的令牌种子的安全性。
附图说明
图1为本发明实施例一提供的一种令牌种子到的生成方法流程图;
图2和图3为本发明实施例二提供的另一种令牌种子的生成方法流程图。
具体实施方式
为更近一步阐述本发明为达成预订目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据发明提出的一种令牌种子生成方法,其具体实施方式、结构、特征及其功效,说明如后。
实施例一
本发明实施例一提供一种令牌种子的生成方法,适用于时间型或事件型的动态口令,终端内设置有动态令牌模块,终端和认证服务器相互连接进行通信,如图1所示,包括:
步骤A:终端获取动态令牌模块中的第一计算结果,判断是否与服务器连接,是则执行步骤B,否则输出错误提示信息,结束;
步骤B:终端将第一计算结果发送给服务器;
步骤C:服务器接收第一计算结果,生成第二随机数,根据第一计算结果和所述第二随机数生成第一会话密钥和第一认证码密钥,根据第二随机数生成第一计算值;
步骤D:服务器使用第一认证码密钥对服务器证书信息进行计算生成服务器证书信息计算值;使用证书私钥对第一计算结果和第二随机数进行签名生成第一签名值;
步骤E:服务器判断是否存储有第一待加密数据和/或第一待签名数据,如存储有第一待加密数据和第一待签名数据则执行步骤F1,如只存储有第一待加密数据则执行步骤F2,如只存储有第一待签名数据则执行步骤F3,如两者都未存储则执行步骤F4;
步骤F1:服务器获取第一待加密数据和第一待签名数据,使用第一会话密钥对第一待加密数据进行加密生成第一加密值,根据第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一加密值、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F2:服务器获取第一待加密数据,使用第一会话密钥对第一待加密数据进行加密生成第一加密值,根据第一计算值、服务器证书信息、服务器证书信息计算值、第一加密值、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F3:服务器获取第一待签名数据,服务器根据第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F4:服务器根据第一计算值、服务器证书信息、服务器证书信息计算值和第一签名值生成第二拼接值,顺序执行步骤G,
步骤G:服务器使用第一认证码密钥对第二拼接值进行计算生成第三计算值,根据第二拼接值和第三计算值生成第三拼接值,并将第三拼接值发送给终端;
步骤H:终端接收第三拼接值,并将第三拼接值下发给动态令牌模块进行验证,如验证通过,则执行步骤I,如验证未通过则结束;
本实施例中,动态令牌模块接收到第三拼接值先对其解析,解析成功得到第二拼接值和第三计算值,在对第二拼接值解析得到第一计算值、服务器证书信息、服务器证书信息计算值、第一签名值,对第二拼接值解析还可以得到第一待签名数据和/或第一加密值,然后对第三计算值和服务器证书信息计算值进行验证,当解析结果中还包括第一加密值时还对第一加密值进行解密操作;
步骤I:终端从动态令牌模块中获取第三拼接结果,并将其发送给服务器;
本实施例中动态令牌模块对第三拼接值验证通过时,动态令牌模块根据令牌证书信息、证书私钥、生成的临时随机数、获取的动态令牌序列号生成第三拼接结果;
步骤J:服务器接收第三拼接结果并进行解析,判断解析是否成功,是则执行步骤K,否则给终端发送错误提示信息,结束;
本实施中解析成功时的解析结果包括:第二拼接结果、第三计算结果、令牌证书信息、令牌证书信息计算结果、第一加密结果、动态令牌序列号和临时随机数;其中令牌证书信息、令牌证书信息计算结果、第一加密结果、动态令牌序列号和临时随机数由第二拼接结果解析得到;
步骤K:服务器对解析结果进行验证,如验证通过,则执行步骤L,如验证未通过则给终端返回错误提示信息,结束;
本实施例中步骤K包括:服务器对令牌证书信息计算结果和第三计算结果进行验证,对第一加密结果进行解密;
步骤L:服务器根据令牌种子生成第三待加密数据,使用所述第一会话密钥对第三待加密数据进行加密生成第二加密值;
本实施例中的第三待签名数据还可包括:软件版本号、动态口令算法标识、动态口令长度、哈希算法标识、时间步长、起始时间、服务器时间、固定字节、认证数据;其中令牌种子设置在固定字节和认证数据之间;
步骤M:服务器判断是否存储有第三待签名数据,是则执行步骤N,否则执行步骤O;
步骤N:服务器获取第三待签名数据,根据第三待签名数据、第二加密值和解析结果中的临时随机数生成第四拼接值,使用第一认证码密钥对第四拼接值进行计算生成第四计算值;根据第四拼接值和第四计算值生成第五拼接值,顺序执行步骤P’;
步骤O:服务器根据第二加密值和解析结果中的临时随机数生成第四拼接值,使用第一认证码密钥对第四拼接值进行计算生成第四计算值;根据第四拼接值和第四计算值生成第五拼接值,顺序执行步骤P’;
步骤P’:服务器将第五拼接值发送给终端;
步骤P:终端接收第五拼接值,并将第五拼接值下发给所述动态令牌模块进行验证,如验证通过,则动态令牌模块从第五拼接值中获取令牌种子并存储,如验证未通过,则结束;
本实施例中动态令牌接收到第五拼接值先对其进行解析,解析成功得到四拼接值、第四计算值,在从第四拼接值中解析得到第二加密值和和临时随机数或第三待签名数据、第二加密值和和临时随机数,然后对第四拼接值和临时随机数进行验证,验证成功对第二加密值进行解密,解密成功得到令牌种子。
本发明实施例一提供的方法中,动态令牌模块设置在终端里面,通过终端与服务器进行交互,在对终端和服务器的身份认证安全后,服务器同步生成种子通过终端发送给动态令牌模块,不需要提前生成令牌种子,有利于生产流程的简化;动态令牌模块对接收到的数据进行解析和解密最后获得令牌种子进行保存,进一步的提高了令牌种子的安全性。
实施例二
本发明实施例二提供一种令牌种子的生成方法,适用于时间型或事件型的动态口令,终端内设置有动态令牌模块,终端和认证服务器相互连接进行通信,如图2和图3所示,具体步骤如下:
步骤101:终端获取动态令牌模块生成的第一计算结果,并将第一计算结果发送给与之连接的服务器;
本实施例中,终端通过给动态令牌模块下发第一指令,获取动态令牌模块生成的第一计算结果;动态令牌模块在接收到终端下发的第一指令时,按照第一预设算法对生成的第一随机数进行计算生成第一计算结果;动态令牌模块生成第一随机数可以在接收到第一指令时生成,或在接收到第一指令之前生成;具体的,第一预设算法为加密算法;
优选的,本实施例中第一计算结果为:93ce eb214b c02c cc da f3ed5226d746e0b2d01484b376f8a1f498ad11fa85e7ab6564795a5a7a6b6c8af3c880472f f907c4b0e3a337c89e31d4b9d7897b8528a5;
步骤102:服务器接收第一计算结果,并生成第二随机数;
步骤103:服务器对第二随机数进行计算生成第一计算值,根据第二随机数和第一计算结果生成第二计算值;
本实施例中生成第一计算结果和第一计算值的方法相同,第二计算值具体为:将第一计算结果作为底数,第二随机数作为幂数进行计算得到的结果;
优选的,本实施例中的第一计算值为:9a166b e7a55b533b69b9f57c4c16b589a99d8c b69b a1b652d4846b d0800323522a c8b561fd19745b07b23916486d c25d25f6841a9b a60a441f f07037f148bd1a;
步骤104:服务器根据第二计算值生成第三中间值,将第三中间值的前半部分作为第一会话密钥,将第三中间值的后半部分作为第一认证码密钥;
本实施例中,对第二计算值进行掩膜运算(KDF(SHA256)算法)得到第三计算值;其中,第三计算值为256bit,其中前128bit为第一会话密钥,后128bit为第一认证码密钥;
步骤105:服务器获取服务器证书信息,并使用第一认证码密钥对服务器数字证书信息进行计算生成服务器证书信息计算值;
本实施例中服务器证书信息中包含证书私钥;优选的,本实施例中的服务器证书信息为:00000000000000000000000000000000000000000000000c0000000c15dc db fa9a bd df5c797c29d078d55b506c690d cb5e9117ff2c7e0a e46e45e675fb52b3bc5d b094cb f51a63d1e8292640347a934139d06f4c c55d3e dd0f ea57451b09fe1022e685ae3f74df e824f192e1c2f95c532b259798364526048038699f e15c ee ac dc e44a d37c4f63354278106624c42a a0d8e0ff13951296e487d67367000100000000000000000000000000000000000215dc db fa9a bd df5c797c29d078d55b506c690d cb5e9117ff2c7e0a e46e45e675fb52b3bc5d b094cb f51a63d1e8292640347a934139d06f4c c55d3e dd0f ea574500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;相应的,服务器证书信息计算值为:2a9942a32a f2128743c7afe66c22845182f60b64fc8d9d7e256b342c f8c40b31;
步骤106:服务器将第一计算结果和第一计算值进行拼接生成第一拼接值,使用证书私钥对第一拼接值进行签名操作,生成第一签名值;
本实施例中的签名算法为具体为ECDSA,还可有为其他算法,在此不做限定;
优选的,本实施例中的第一签名值为:f14a1942412002387c066a a28580c5344376db32b0e3c77654ed2a6f5d89b9de5f a9a2516760df03aaf70890b24f6c08a34011a68d449f02a0b3c1fe ac7079eb;
步骤107:服务器将第一计算值、服务器证书信息、服务器证书信息计算值、第一签名值进行拼接,生成第二拼接值;
优选的,本实施例中第三计算值为:5b3e fd73243d3d8b7e ae cd e74b9d987b eb49ca29de389e cc fa592b7f f74190ee;
本实施例中,在步骤106和步骤107之间还包括:
步骤106’:服务器判断是否存储有第一待加密数据和/或第一待签名数据,如存储有第一待加密数据和第一待签名数据则执行步骤107’,如只存储有第一待加密数据则执行步骤107”,如只存储有第一待签名数据则执行步骤107”’,如两者都未存储则执行步骤107;
步骤107’:服务器获取第一待加密数据和第一待签名数据,使用第一会话密钥对第一待加密数据进行加密生成第一加密值,根据第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一加密值、第一签名值生成第二拼接值,顺序执行步骤108;
步骤107”:服务器获取第一待加密数据,使用第一会话密钥对第一待加密数据进行加密生成第一加密值,根据第一计算值、服务器证书信息、服务器证书信息计算值、第一加密值、第一签名值生成第二拼接值,顺序执行步骤108;
步骤107”’:服务器获取第一待签名数据,根据所述第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一签名值生成第二拼接值,顺序执行步骤108;
步骤108:服务器使用第一认证码密钥对第二拼接值进行计算生成第三计算值,将第二拼接值与第三计算值进行拼接生成第三拼接值,并将第三拼接值发送给终端;
步骤109:终端接收第三拼接值并将其下发给动态令牌模块;
步骤110:动态令牌模块接收第三拼接值并对其进行解析,判断解析是否成功,是则执行步骤111,否则结束;
本实施例中,具体的,动态令牌模块对第三拼接值进行拆分,拆分成功得到第二拼接值、第三计算值,再对第二拼接值拆分得到第一计算值、服务器证书信息、服务器证书信息计算值、第一签名值;对第二拼接值拆分还可以得到第一待签名数据和第一加密值;
步骤111:动态令牌模块对解析得到的第一计算值和生成的第一随机数进行计算,生成第二计算结果;
本实施例中,第二计算结果和第二计算值的生成方法相同,在此不再赘述;
步骤112:动态令牌模块对第二计算结果进行计算生成第三中间结果,将第三中间结果的前半部分作为第二会话密钥,将第三中间结果的后半部分作为第二认证码密钥;
本实施例中,对第二计算结果进行掩膜运算得到第三中间结果;其中,第三中间结果为256bit,其中前128bit为第二会话密钥,后128bit为第二认证码密钥;
步骤113:动态令牌模块使用第二认证码密钥对解析得到的第二拼接值进行计算,生成第一验证结果,判断第一验证结果与解析得到的第三计算值是否相同,是则执行步骤114,否则结束;
步骤114:动态令牌模块使用第二认证码密钥对解析得到的服务器证书信息进行计算,生成服务器证书信息计算结果,判断服务器证书信息计算结果与解析得到的服务器证书信息计算值是否相同,是则执行步骤115,否则结束;
步骤115:动态令牌模块判断解析结果中是否有第一加密值,是则执行步骤116,否则执行步骤117;
步骤116:动态令牌模块使用第二会话密钥对第一加密值进行解密,如解密成功则执行步骤117,否则结束;
步骤117:获取令牌证书信息,使用认证码密钥对令牌证书信息进行计算,生成令牌证书信息计算结果;
优选的,本实施例中的令牌证书信息为:0001000c0000000007cd ae09bb3d a5be06097a be350a dc2927b93559fa b3ff ff fe7c bb d3b685d76a080d a20a8d678a835474c9ac4b33d48f ee aa051c a97c54f68518a3ed57367d6c0118cd9c a7ab d981938f46d35e53a98e e8392b b042a682eb3c7e3a2b45425b0f0856de2e9f ea9c5d cc f6683d ea d34e b118d763667fcc75c0f571ca593e95728605ac e0269287ba47095e81b9180a fa0d44094797d6193600fc e00b ac c57f dc a300142b566a4e a6e8d15c0c15eb08651e19c4ac91de db ff86d1b0bc868d74399705dd24d415f0222d c7a29b00e18c ee c2351989cf c9d4b8280c f9069d59732d c8009d4057a65e55a28942bf e4c7a2194e9d d5d819904f06039e a7bd4882c206f1044c4e4c4f8e f020da ff e44577be840c2d1205927c fd ed16760f f2f412f072a507760a cf5f cf ae784601e2bc82eb5d ab f0de b77554f2a018b8c9f8e3d120a182a9915383167f a5be ca c54e ba e958b9456d f250d82d c3766c1e0a286b b5dd df3c902512095d979f5b5377308f6f6a303f eb78c9638d fd5c c34b9440f02a3555bf;相应的,令牌证书信息计算结果为:943834ec97308b34332281550c c3d8479c b2b4ab1296a1d44769dd09c94a507d;
步骤118:动态令牌模块将第一计算结果和第一计算值进行拼接生成第一拼接结果,使用令牌私钥对第一拼接结果进行加密,生成第一加密结果;
优选的,本实施例中的第一加密结果为:92D169F194990B CD D5456393D04D3E BD D10175F628A27E117A5761BE EB D71489;
步骤119:动态令牌模块获取动态令牌序列号,并生成临时随机数;
优选的,本实施例中的动态令牌序列号为:00000000;生成的临时随机数为:ac39b54b9f078210e447;
步骤120:动态令牌模块将令牌证书信息、令牌证书信息计算结果、第一加密结果、动态令牌序列号、临时随机数进行拼接,生成第二拼接结果;
本实施例中,在步骤119和步骤120之间还可以包括:
119’:动态令牌模块判断是否存储有第二待加密数据和/或第二待签名数据,如存储有第二待加密数据和第二待签名数据则执行步骤120-1,如只存储有第二待加密数据则执行步骤120-2,如只存储有第二待签名数据则执行步骤120-3;如两者都未存储则执行步骤120;
步骤120-1:动态令牌模块获取第二待加密数据和第二待签名数据,使用第二会话密钥对第二待加密数据进行加密生成第二加密数据,对令牌证书信息、令牌证书信息计算结果、第一加密结果、第二待签名数据、第二加密数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤121;
步骤120-2:动态令牌模块获取所述第二待加密数据,使用所述第二会话密钥对所述第二待加密数据进行加密生成第二加密数据,对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、第二加密数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤121;
步骤120-3:动态令牌模块获取第二待签名数据,对令牌证书信息、令牌证书信息计算结果、第一加密结果、第二待签名数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤121;
步骤121:动态令牌模块使用第二认证码密钥对第二拼接结果进行计算生成第三计算结果,将第二拼接结果和第三计算结果进行拼接生成第三拼接结果;
优选的,本实施例中的第三计算结果为:66b0314613ba d692bf5d4c4439bf2909f3ae703e b5c5737e e0d75338db39098f
本实施例中,当动态令牌模块接收到终端下发的第二指令时,将第三拼接结果发送给终端;
步骤122:终端将通过第二指令从动态令牌模块中获取的第三拼接结果发送给服务器;
步骤123:服务器接收第三拼接结果并对其进行解析,并判断解析是否成功,是则执行步骤124,否则给终端返回错误提示信息,结束;
具体的,本实施例中服务器对第三拼接结果进行拆分,拆分成功得到第二拼接结果和第三计算结果,再对第二拼接结果拆分得到令牌证书信息、令牌证书信息计算结果、第一加密结果、动态令牌序列号、临时随机数;
步骤124:服务器根据解析得到的动态令牌序列号,查找对应的令牌证书信息,如找到,则执行步骤125,如未找到则给终端返回错误信息,结束;
步骤125:服务器使用第一认证码密钥对令牌证书信息进行计算,生成令牌证书信息计算值,并判断令牌证书信息计算值与解析得到的令牌证书信息计算结果是否相同,是则执行步骤126,否则给终端返回错误信息,结束;
步骤126:服务器从令牌证书信息中获取证书公钥,使用证书公钥对解析得到的第一加密结果进行解密,判断解密结果与第一拼接值是否相同,是则执行步骤127,否则给终端返回错误信息,结束;
步骤127:服务器使用第一认证码密钥对解析得到的第二拼接结果进行计算得到第一验证值,判断所述第一验证值与解析得到的第三拼接结果是否相同,是则执行步骤128,否则给终端返回错误信息,结束;
步骤128:服务器根据软件版本号、动态口令算法标识、动态口令长度、哈希算法标识、时间步长、起始时间、服务器时间、固定字节、令牌种子、认证数据生成第三待加密数据,使用第一会话密钥对第三待加密数据进行加密生成第二加密值;
本实施例中,起始时间和服务器时间为4bit,固定字节为19bit,种子为20Bit,认证数据为4bit,本实施例中的固定字节和认证数据均为0;
优选的,本实施例中的第三待加密数据为:0038010206023c000000004f6a a2b100000000000000000000000000000000000000ee34cc751984b09594c0359a14d860ff725662c100000000;对应的,第二加密值为:aa a733f047c87a5e188d65b14e4246f822cf40cb0591e0657f5c675a0e ad788d5b6d319c5e56d2ef a9145084df eb803e46f30725585e0458b765c93635b06127;
步骤129:服务器将第二加密值和解析得到的临时随机数进行拼接生成第四拼接值,使用第一认证码密钥对第四拼接值进行计算,生成第四计算值,顺序执行步骤130;
优选的,本实施例中的第四计算值为:458b ef1c a5948e8f376165ee d8a01a df84c288959d4b fa0d ed31510627049b ae;
本实施例中,在步骤129之前还包括:判断是否存在第三待签名数据,是则执行步骤129’,否则执行步骤129;
步骤129’:服务器获取第三待签名数据,将第三待签名数据、第二加密值和解析得到的临时随机数进行拼接生成第四拼接值,使用第一认证码密钥对第四拼接值进行计算,生成第四计算值,顺序执行步骤130;
步骤130:服务器将第四拼接值和第四加密值进行拼接生成第五拼接值,并将第五拼接值发送给终端;
步骤131:终端接收服务器发送的第五拼接值,并将其下发给动态令牌模块;
步骤132:动态令牌模块接收第五拼接值,并对其进行解析,判断解析是否成功,是则执行步骤133,否则结束;
具体的,在本实施例中动态令牌模块对第五拼接值进行拆分,拆分成功得到第四拼接值和第四计算值;对第四拼接值拆分得到第二加密值和解析得到的临时随机数,对第四拼接值拆分还可以得到第三待签名数据;
步骤133:动态令牌模块使用生成的第二认证码密钥对解析得到的第四拼接值进行计算,生成第二验证结果,并判断第二验证结果与解析得到的第四计算值是否相同,是则执行步骤134,否则结束;
步骤134:动态令牌模块判断解析得到的临时随机数和生成的临时随机数是否相同,是则执行步骤135,否则结束;
步骤135:动态令牌模块使用第二会话密钥对解析得到的第二加密值进行解密,如解密成功则执行步骤136,如解密失败则结束;
步骤136:动态令牌模块存储解密成功得到令牌种子并存储。
对于联机动态口令产品而言,通过联机与服务器进行交互的过程中生成并同步更新种子密钥,不需要提前生成令牌种子,有利于生产流程的简化;且令牌内存储的种子不出令牌,能进一步的提高了令牌种子的安全性,还可以完成生产和检测的连续进行;令牌中的种子和服务器中的种子可以采用不同的数据形式保存,即无法通过服务器中的种子推导出令牌中的种子,从而保证了令牌中保存的种子和服务器中的种子的安全性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (15)

1.一种令牌种子的生成方法,其特征在于,包括:
步骤A:终端获取动态令牌模块中的第一计算结果,判断是否与服务器连接,是则执行步骤B,否则输出错误提示信息,结束;
步骤B:所述终端将所述第一计算结果发送给所述服务器;
步骤C:所述服务器接收所述第一计算结果,生成第二随机数,根据所述第一计算结果和所述第二随机数生成第一会话密钥和第一认证码密钥,根据所述第二随机数生成第一计算值;
步骤D:所述服务器使用所述第一认证码密钥对服务器证书信息进行计算生成服务器证书信息计算值;使用证书私钥对所述第一计算结果和第二随机数进行签名生成第一签名值;
步骤E:所述服务器判断是否存储有第一待加密数据和/或第一待签名数据,如存储有第一待加密数据和第一待签名数据则执行步骤F1,如只存储有第一待加密数据则执行步骤F2,如只存储有第一待签名数据则执行步骤F3,如两者都未存储则执行步骤F4;
步骤F1:所述服务器获取第一待加密数据和第一待签名数据,使用所述第一会话密钥对所述第一待加密数据进行加密生成第一加密值,根据所述第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一加密值、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F2:所述服务器获取第一待加密数据,使用所述第一会话密钥对所述第一待加密数据进行加密生成第一加密值,根据所述第一计算值、服务器证书信息、服务器证书信息计算值、第一加密值、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F3:所述服务器获取第一待签名数据,根据所述第一计算值、服务器证书信息、服务器证书信息计算值、第一待签名数据、第一签名值生成第二拼接值,顺序执行步骤G;
步骤F4:所述服务器根据所述第一计算值、服务器证书信息、服务器证书信息计算值和第一签名值生成第二拼接值,顺序执行步骤G,
步骤G:使用所述第一认证码密钥对所述第二拼接值进行计算生成第三计算值,根据所述第二拼接值和第三计算值生成第三拼接值,并将所述第三拼接值发送给所述终端;
步骤H:所述终端接收所述第三拼接值,并将所述第三拼接值下发给所述动态令牌模块进行验证,如验证通过,则执行步骤I,如验证未通过则结束;
步骤I:所述终端从所述动态令牌模块中获取第三拼接结果,并将其发送给所述服务器;
步骤J:所述服务器接收所述第三拼接结果并进行解析,判断解析是否成功,是则执行步骤K,否则给所述终端发送错误提示信息,结束;
步骤K:所述服务器对解析结果进行验证,如验证通过,则执行步骤L,如验证未通过则给终端返回错误提示信息,结束;
步骤L:所述服务器根据令牌种子生成第三待加密数据,使用所述第一会话密钥对第三待加密数据进行加密生成第二加密值;
步骤M:所述服务器判断是否存储有第三待签名数据,是则执行步骤N,否则执行步骤O;
步骤N:所述服务器获取第三待签名数据,根据所述第三待签名数据、第二加密值和解析结果中的临时随机数生成第四拼接值,使用所述第一认证码密钥对所述第四拼接值进行计算生成第四计算值;根据所述第四拼接值和所述第四计算值生成第五拼接值,将所述第五拼接值发送给所述终端,顺序执行步骤P;
步骤O:所述服务器根据所述第二加密值和解析结果中的临时随机数生成第四拼接值,使用所述第一认证码密钥对所述第四拼接值进行计算生成第四计算值;根据所述第四拼接值和第四计算值生成第五拼接值,将所述第五拼接值发送给所述终端,顺序执行步骤P;
步骤P:所述终端接收所述第五拼接值,并将所述第五拼接值下发给所述动态令牌模块进行验证,如验证通过,则所述动态令牌模块从所述第五拼接值中获取所述令牌种子并存储,如验证未通过,则结束。
2.如权利要求1所述的方法,其特征在于,所述步骤A中终端获取动态令牌模块中的第一计算结果,具体包括:所述终端通过给所述动态令牌模块下发第一指令,获取所述动态令牌模块生成的第一计算结果。
3.如权利要求2所述的方法,其特征在于,在所述终端下发第一指令和获取第一计算结果之间还包括:
所述动态令牌模块在接收到所述第一指令时,按照第一预设算法对生成的第一随机数进行计算生成所述第一计算结果。
4.如权利要求3所述的方法,其特征在于,所述第一随机数是动态令牌模块接收到第一指令时生成的或之前生成。
5.如权利要求3所述的方法,其特征在于,所述步骤C中生成第一会话密钥和第一认证码密钥,具体包括:
根据所述第一计算结果和所述第二随机数生成第二计算值;
对所述第二计算值进行掩膜运算得到第三中间值,将所述第三中间值的前半部分数据作为所述第一会话密钥,将所述第三中间值的后半部分数据作为所述第一认证码密钥。
6.如权利要求5所述的方法,其特征在于,所述步骤C中根据所述第二随机数生成第一计算值,具体包括:
按照所述第一预设算法对所述第二随机数进行计算生成所述第一计算值。
7.如权利要求6所述的方法,其特征在于,所述步骤D中生成第一签名值,具体包括:
对所述第一计算结果和第一计算值拼接生成第一拼接值;
使用所述证书私钥对所述第一拼接值进行签名生成第一签名值。
8.如权利要求7所述的方法,其特征在于,所述步骤F1、步骤F2、步骤F3和步骤F4中生成第二拼接值的方式具体为:顺序拼接。
9.如权利要求8所述的方法,其特征在于,所述步骤H和步骤I之间包括:所述动态令牌模块接收所述第三拼接值并对其进行验证,验证过程具体包括:
步骤H1:所述动态令牌模块接收所述第三拼接值并对其进行解析,判断解析是否成功,是则执行步骤H2,否则给终端返回错误提示信息,结束;
步骤H2:所述动态令牌模块根据解析得到的第一计算值和所述第一随机数生成第二计算结果,对所述第二计算结果进行掩膜运算得到第三中间结果,将所述第三中间结果的前半部分数据作为第二会话密钥,将所述第三中间结果的后半部分数据作为第二认证码密钥;
步骤H3:所述动态令牌模块使用所述第二认证码密钥对解析得到的第二拼接值进行计算,生成第一验证结果,判断所述第一验证结果与解析得到的第三计算值是否相同,是则执行步骤H4,否则结束;
步骤H4:所述动态令牌模块使用所述第二认证码密钥对解析得到的服务器证书信息进行计算,生成服务器证书信息计算结果,判断所述服务器证书信息计算结果与解析得到的服务器证书信息计算值是否相同,是则执行步骤H5,否则结束;
步骤H5:所述动态令牌模块判断解析结果中是否有第一加密值,是则执行步骤H6,否则验证通过;
步骤H6:所述动态令牌模块使用所述第二会话密钥对解析得到的第一加密值进行解密,如解密成功则验证通过,否则验证未通过。
10.如权利要求9所述的方法,其特征在于,所述验证通过后、步骤I之前包括:
步骤H-1:所述动态令牌模块使用所述第二认证码密钥对令牌证书信息进行计算,生成令牌证书信息计算结果,对所述第一计算结果和解析得到的第一计算值拼接生成第一拼接结果,使用证书私钥对所述第一拼接结果进行加密生成第一加密结果;
步骤H-2:所述动态令牌模块生成临时随机数并获取动态令牌序列号;
步骤H-3:所述动态令牌模块对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果;
步骤H-4:所述动态令牌模块使用所述第二认证码密钥对所述第二拼接结果进行计算生成第三计算结果,对所述第二拼接结果和所述第三计算结果拼接生成第三拼接结果。
11.如权利要求10所述的方法,其特征在于,在步骤H-2和步骤H-3之间包括:
所述动态令牌模块判断是否存储第二待加密数据和/或第二待签名数据,如存储有第二待加密数据和第二待签名数据则执行步骤H-3-1,如只存储有第二待加密数据则执行步骤H-3-2,如只存储有第二待签名数据则执行步骤H-3-3;如两者都未存储则执行步骤H-3;
步骤H-3-1:所述动态令牌模块获取所述第二待加密数据和第二待签名数据,使用所述第二会话密钥对所述第二待加密数据进行加密生成第二加密数据,对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、第二待签名数据、第二加密数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤H-4;
步骤H-3-2:所述动态令牌模块获取所述第二待加密数据,使用所述第二会话密钥对所述第二待加密数据进行加密生成第二加密数据,对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、第二加密数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤H-4;
步骤H-3-3:所述动态令模块获取所述第二待签名数据,对所述令牌证书信息、令牌证书信息计算结果、第一加密结果、第二待签名数据、动态令牌序列号、临时随机数顺序拼接生成第二拼接结果,顺序执行步骤H-4。
12.如权利要求10所述的方法,其特征在于,所述步骤K包括:
步骤K1:所述服务器根据解析得到的动态令牌序列号,查找对应的令牌证书信息,如找到,则执行步骤K2,否则给终端返回错误信息,结束;
步骤K2:所述服务器使用所述第一认证码密钥对所述令牌证书信息进行计算,生成令牌证书信息计算值,并判断所述令牌证书信息计算值与解析得到的令牌证书信息计算结果是否相同,是则执行步骤K3,否则给终端返回错误信息,结束;
步骤K3:所述服务器从所述令牌证书信息中获取证书公钥,使用所述证书公钥对解析得到的第一加密结果进行解密,判断解密结果与所述第一拼接值是否相同,是则执行步骤K4,否则给终端返回错误信息,结束;
步骤K4:所述服务器使用所述第一认证码密钥对解析得到的第二拼接结果进行计算得到第一验证值,判断所述第一验证值与解析得到的第三计算结果是否相同,是则验证通过,否则验证未通过。
13.如权利要求11或12所述的方法,其特征在于,所述步骤L中生成第三待加密数据具体包括:
所述服务器对软件版本号、动态口令算法标识、动态口令长度、哈希算法标识、时间步长、起始时间、服务器时间、固定字节、所述令牌种子、认证数据顺序拼接生成第三待加密数据。
14.如权利要求13所述的方法,其特征在于,所述生成所述第四拼接值和所述第五拼接值的方式均为顺序拼接。
15.如权利要求14所述的方法,其特征在于,所述步骤P包括:所述终端接收所述第五拼接值,并将所述第五拼接值下发给所述动态令牌模块;
所述动态令牌模块接收所述第五拼接值并对其进行验证,如验证通过,则所述动态令牌模块从所述第五拼接值中获取所述令牌种子并存储,如验证未通过,则结束;
其中,所述动态令牌模块对所述第五拼接值进行验证,具体包括:
步骤P1:所述动态令牌模块对所述第五拼接值进行解析,判断解析是否成功,是则执行步骤P2,否则结束;
步骤P2:使用所述第二认证码密钥对解析得到的第四拼接值进行计算,生成第二验证结果,并判断所述第二验证结果与解析得到的第四计算值是否相同,是则执行步骤P3,否则结束;
步骤P3:判断解析得到的临时随机数和所述临时随机数是否相同,是则执行步骤P4,否则结束;
步骤P4:使用所述第二会话密钥对解析得到的第二加密值进行解密,如解密成功则得到动态令牌种子,进行存储,如解密失败则结束。
CN201210134173.3A 2012-05-02 2012-05-02 一种令牌种子的生成方法 Expired - Fee Related CN102651743B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210134173.3A CN102651743B (zh) 2012-05-02 2012-05-02 一种令牌种子的生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210134173.3A CN102651743B (zh) 2012-05-02 2012-05-02 一种令牌种子的生成方法

Publications (2)

Publication Number Publication Date
CN102651743A CN102651743A (zh) 2012-08-29
CN102651743B true CN102651743B (zh) 2014-07-30

Family

ID=46693637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210134173.3A Expired - Fee Related CN102651743B (zh) 2012-05-02 2012-05-02 一种令牌种子的生成方法

Country Status (1)

Country Link
CN (1) CN102651743B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102891753B (zh) * 2012-09-25 2016-08-03 深圳市文鼎创数据科技有限公司 动态令牌初始化的方法及装置
CN104079407A (zh) * 2013-03-29 2014-10-01 北京千橡网景科技发展有限公司 令牌生成和验证方法以及设备
CN103312515B (zh) * 2013-06-21 2016-04-20 百度在线网络技术(北京)有限公司 授权令牌的生成方法、生成装置、认证方法和认证系统
CN103888243B (zh) * 2014-04-15 2017-03-22 飞天诚信科技股份有限公司 一种种子密钥安全传输的方法
CN103973455B (zh) * 2014-05-28 2018-09-18 天地融科技股份有限公司 一种信息交互方法
SE538304C2 (sv) * 2014-10-09 2016-05-03 Kelisec Ab Improved installation of a terminal in a secure system
CN104579677B (zh) * 2014-11-18 2017-12-19 飞天诚信科技股份有限公司 一种安全快速的数据签名方法
CN105812395B (zh) * 2016-05-24 2020-05-15 飞天诚信科技股份有限公司 一种nfc动态令牌以及在nfc动态令牌中烧写种子密钥的方法
CN106100830B (zh) * 2016-05-24 2019-06-18 飞天诚信科技股份有限公司 一种在nfc动态令牌中写入种子密钥的方法和设备
CN106411506B (zh) * 2016-08-31 2019-04-16 飞天诚信科技股份有限公司 适用于数字货币的密钥派生方法及装置
CN106656481B (zh) * 2016-10-28 2019-08-30 美的智慧家居科技有限公司 身份认证方法、装置以及系统
CN108881269B (zh) * 2018-07-02 2020-10-13 飞天诚信科技股份有限公司 一种种子密钥的管理方法、系统及令牌厂商生产装置
CN111541542B (zh) * 2019-12-31 2023-09-15 远景智能国际私人投资有限公司 请求的发送和验证方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719826A (zh) * 2009-05-13 2010-06-02 北京宏基恒信科技有限责任公司 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法
CN101741852A (zh) * 2009-12-31 2010-06-16 北京飞天诚信科技有限公司 认证方法、系统和认证装置
CN101777158A (zh) * 2010-01-13 2010-07-14 北京飞天诚信科技有限公司 一种安全交易的方法和系统
CN102025716A (zh) * 2010-06-29 2011-04-20 北京飞天诚信科技有限公司 一种对动态口令令牌的种子进行更新的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060750B2 (en) * 2007-06-29 2011-11-15 Emc Corporation Secure seed provisioning

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719826A (zh) * 2009-05-13 2010-06-02 北京宏基恒信科技有限责任公司 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法
CN101741852A (zh) * 2009-12-31 2010-06-16 北京飞天诚信科技有限公司 认证方法、系统和认证装置
CN101777158A (zh) * 2010-01-13 2010-07-14 北京飞天诚信科技有限公司 一种安全交易的方法和系统
CN102025716A (zh) * 2010-06-29 2011-04-20 北京飞天诚信科技有限公司 一种对动态口令令牌的种子进行更新的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种新的基于PKI的动态身份认证系统的设计;张秋余,等;《计算机应用研究》;20061107;第23卷(第10期);第116-118页 *
张秋余,等.一种新的基于PKI的动态身份认证系统的设计.《计算机应用研究》.2006,第23卷(第10期),第116-118页.

Also Published As

Publication number Publication date
CN102651743A (zh) 2012-08-29

Similar Documents

Publication Publication Date Title
CN102651743B (zh) 一种令牌种子的生成方法
US11757662B2 (en) Confidential authentication and provisioning
TWI749061B (zh) 區塊鏈身份系統
Limbasiya et al. Advanced formal authentication protocol using smart cards for network applicants
US9106426B2 (en) Username based authentication and key generation
CN106850207B (zh) 无ca的身份认证方法和系统
EP3001598B1 (en) Method and system for backing up private key in electronic signature token
CN103236931B (zh) 一种基于tpm的身份验证方法及系统以及相关设备
US9443068B2 (en) System and method for preventing unauthorized access to information
CN103888251A (zh) 一种云环境中虚拟机可信保障的方法
CN103095456A (zh) 交易报文的处理方法和系统
CN103873440A (zh) 一种应用程序的升级方法和系统
US20200344075A1 (en) Secure provisioning of keys
US10050789B2 (en) Kerberos preauthentication with J-PAKE
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN107135070A (zh) Rsa密钥对和证书的注入方法、架构及系统
CN108551391B (zh) 一种基于USB-key的认证方法
JP5436323B2 (ja) 通信装置、通信システム、通信方法及び通信プログラム
WO2011152084A1 (ja) 効率的相互認証方法、プログラム、及び装置
CN110750303B (zh) 基于fpga的流水线式指令读取方法及装置
Sadqi et al. A cryptographic mutual authentication scheme for web applications
KR20100052668A (ko) 온라인으로 에이티엠과 호스트 사이의 티엠케이를 공유하는방법
CN116827560B (zh) 一种基于异步口令的动态密码认证方法及系统
KR101686157B1 (ko) 인증 비밀번호 생성기 및 이를 이용한 금융거래 시스템 및 방법
Wu et al. Lightweight mutual authentication scheme for protecting identity in insecure environment

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

Granted publication date: 20140730