CN103888243B - 一种种子密钥安全传输的方法 - Google Patents

一种种子密钥安全传输的方法 Download PDF

Info

Publication number
CN103888243B
CN103888243B CN201410149134.XA CN201410149134A CN103888243B CN 103888243 B CN103888243 B CN 103888243B CN 201410149134 A CN201410149134 A CN 201410149134A CN 103888243 B CN103888243 B CN 103888243B
Authority
CN
China
Prior art keywords
data
seed
certificate server
generates
file
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
CN201410149134.XA
Other languages
English (en)
Other versions
CN103888243A (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 CN201410149134.XA priority Critical patent/CN103888243B/zh
Publication of CN103888243A publication Critical patent/CN103888243A/zh
Application granted granted Critical
Publication of CN103888243B publication Critical patent/CN103888243B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种种子密钥安全传输的方法,属于信息安全领域。所述方法包括:认证服务器根据触发信息生成公私钥数据,将私钥数据保存,将公钥数据生成公钥文件并发送给种子生成系统,种子生成系统根据接收到的令牌号查找种子密钥,生成明文种子文件数据,生成随机数,根据公钥数据、明文种子文件数据和随机数生成处理数据,并发送给认证服务器,认证服务器根据处理数据得到第一数据、第二数据和第三数据,获取私钥数据,根据第一数据、第二数据计算得到第二摘要值,当第二摘要值与第三数据相同时,获取并保存第二解密数据的令牌号和种子密钥至数据库中,种子密钥传输成功。采用本发明的方案,保证了种子密钥在传输过程中的安全性。

Description

一种种子密钥安全传输的方法
技术领域
本发明涉及信息安全领域,尤其涉及一种种子密钥安全传输的方法。
背景技术
动态令牌是用来生成动态口令的终端,动态口令是根据专门算法对内置的种子密钥等进行计算,生成的一个不可预测的随机数组合,采用动态口令的认证方式就是每次在用户登录时除了输入常规的静态口令外,还需要输入一个每次都会变化的动态口令,保证了用户登录的安全性。
种子密钥是动态令牌的核心,是由种子生成系统生成后,传输并导入认证服务器中,现有技术无法保证种子密钥在传输过程中的安全性,因此种子密钥传输的安全性是亟待解决的问题。
发明内容
本发明为解决现有技术中存在的问题,提供了一种种子密钥安全传输的方法。
本发明采用的技术方案是:一种种子密钥安全传输的方法,应用于种子生成系统和认证服务器组成的系统中,包括以下步骤:
步骤A1:认证服务器根据接收到的触发信息,生成公钥数据和私钥数据,将所述私钥数据保存,并根据所述公钥数据生成公钥文件,并将所述公钥文件发送给种子生成系统;
步骤A2:所述种子生成系统根据接收到的用户选择的令牌号,查找对应的种子密钥,根据所述令牌号和所述种子密钥生成明文种子文件,从所述明文种子文件中获取明文种子文件数据;调用随机数生成函数,生成随机数;从所述公钥文件中获取所述公钥数据;
步骤A3:所述种子生成系统应用所述公钥数据,对生成的随机数进行加密,得到第二预设长度的密文随机数;根据所述生成的随机数对所述明文种子文件数据进行加密,得到密文种子文件数据;对所述明文种子文件数据进行摘要计算,得到第三预设长度的第一摘要值;
步骤A4:所述种子生成系统将所述第二预设长度的密文随机数、所述密文种子文件数据和所述第三预设长度的第一摘要值进行顺序拼接得到处理数据,并将所述处理数据发送给所述认证服务器;
步骤A5:所述认证服务器将所述处理数据的前第二预设长度的数据作为第一数据,将所述处理数据的后第三预设长度的数据作为第三数据,将所述处理数据中除第一数据和第三数据外的数据作为第二数据;
步骤A6:所述认证服务器获取保存的所述私钥数据,使用所述私钥数据对所述第一数据进行解密,得到第一解密数据;
步骤A7:所述认证服务器根据所述第一解密数据对所述第二数据进行解密,得到第二解密数据,对所述第二解密数据进行摘要计算,生成第二摘要值;
步骤A8:所述认证服务器判断所述第三数据与所述第二摘要值是否相同,如果是,则执行步骤A9,否则报错,结束;
步骤A9:所述认证服务器解析所述第二解密数据,获取所述第二解密数据中的令牌号和对应的种子密钥,并保存至数据库中,种子密钥传输成功,结束。
所述步骤A1中,所述根据接收到的触发信息,生成公钥数据和私钥数据,具体包括:认证服务器等待接收用户选择种子生成系统标识,当接收到用户选择的种子生成系统标识后,从预先保存的多条种子生成系统记录中获取对应的种子生成系统信息,根据所述种子生成系统信息,生成公钥数据和私钥数据。
所述根据所述种子生成系统信息,生成公钥数据和私钥数据,具体为:
步骤a1:所述认证服务器根据所述种子生成系统信息中的种子生成系统标识,生成密码;
步骤a2:所述认证服务器根据所述种子生成系统信息和密码,生成公私钥数据存储文件;
步骤a3:所述认证服务器从公私钥数据存储文件中获取私钥对象,对所述私钥对象进行编码生成私钥数据;
步骤a4:所述认证服务器解析所述公私钥数据存储文件中获取公钥数据。
所述步骤a1,具体为:所述认证服务器将所述种子生成系统信息中的种子生成系统标识作为加密因子,应用预设加密算法对所述加密因子进行加密,生成密码。
所述步骤a2,具体为:所述认证服务器调用cmd命令,将所述种子生成系统信息中的种子生成系统标识和种子生成系统名称、过期时间、域名和密码写入公私钥数据存储文件中,生成公私钥数据存储文件。
所述步骤A1中,所述根据所述公钥数据生成公钥文件,具体为:将所述公钥数据按照预设格式写入公钥文件中。
所述步骤A2中,所述根据接收到的用户选择的令牌号,查找对应的种子密钥,具体为:所述种子生成系统预先生成多条包括令牌号和对应种子密钥的令牌数据,根据需要选择的令牌号,从所述令牌数据中获取与所述令牌号对应的种子密钥。
所述步骤A2中,所述从所述公钥文件中获取公钥数据,具体包括:所述种子生成系统从所述公钥文件中获取公钥数据,判断是否能够获取到所述公钥数据,如果是,则执行步骤A3,否则报错,结束。
所述步骤A5之前还包括:所述认证服务器判断接收到的所述处理数据的长度是否不为空且大于第二预设长度与第三预设长度之和,如果是,则执行步骤A5,否则报错,结束。
所述步骤A4中,所述将所述处理数据发送给所述认证服务器,具体为:所述种子生成系统将所述处理数据提供给使用所述认证服务器的用户,当用户接收到所述处理数据后,通过访问所述认证服务器页面,将所述处理数据上传导入到所述认证服务器中。
所述步骤A2中,所述调用随机数生成函数,生成随机数,具体为:调用随机数生成函数,生成第一预设长度的随机数;
对应的,所述步骤A6,还包括:所述认证服务器判断所述第一解密数据的长度是否为所述第一预设长度,如果是,则执行步骤A7,否则报错,结束。
本发明取得的有益效果是:采用本发明的技术方案,保证了种子密钥在传输过程中的安全性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例1提供的一种种子密钥安全传输的方法流程图;
图2和图3是本发明实施例2提供的一种种子密钥安全传输的方法流程图;
图4是本发明实施例3提供的一种种子密钥安全传输的系统中认证服务器的工作流程图;
图5是本发明实施例4提供的一种种子密钥安全传输的系统中种子生成系统的工作流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例1提供了一种种子密钥安全传输的方法,如图1所示,包括:该方法应用于令牌认证服务器(以下简称认证服务器)和种子生成系统组成的系统中;
步骤101:认证服务器根据接收到的触发信息,生成公钥数据和私钥数据,将所述私钥数据保存,并根据所述公钥数据生成公钥文件;
步骤102:认证服务器将所述公钥文件发送给种子生成系统;
步骤103:所述种子生成系统根据接收到的用户选择的令牌号,查找对应的种子密钥,根据所述令牌号和所述种子密钥生成明文种子文件,从所述明文种子文件中获取明文种子文件数据;调用随机数生成函数,生成随机数;从所述公钥文件中获取所述公钥数据;
步骤104:所述种子生成系统应用所述公钥数据,对生成的随机数进行加密,得到第二预设长度的密文随机数;根据所述生成的随机数对所述明文种子文件数据进行加密,得到密文种子文件数据;对所述明文种子文件数据进行摘要计算,得到第三预设长度的第一摘要值;
步骤105:所述种子生成系将所述第二预设长度的密文随机数、所述密文种子文件数据和所述第三预设长度的第一摘要值进行顺序拼接得到处理数据;
步骤106:所述种子生成系统将所述处理数据发送给所述认证服务器;
步骤107:所述认证服务器将所述处理数据的前第二预设长度的数据作为第一数据,将所述处理数据的后第三预设长度的数据作为第三数据,将所述处理数据中除第一数据和第三数据外的数据作为第二数据;
步骤108:所述认证服务器获取保存的所述私钥数据,使用所述私钥数据对所述第一数据进行解密,得到第一解密数据;
步骤109:所述认证服务器根据所述第一解密数据对所述第二数据进行解密,得到第二解密数据,对所述第二解密数据进行摘要计算,生成第二摘要值;
步骤110:所述认证服务器判断所述第三数据与所述第二摘要值是否相同,如果是,则执行步骤111,否则报错,结束;
步骤111:所述认证服务器解析所述第二解密数据,获取所述第二解密数据中的令牌号和对应的种子密钥,并保存至数据库中,种子密钥传输成功,结束。
实施例2
本发明实施例2提供了一种种子密钥安全传输的方法,如图2和图3所示,包括:该方法应用于令牌认证服务器(以下简称认证服务器)和种子生成系统组成的系统中;
步骤201:认证服务器根据接收到的触发信息,生成公钥数据和私钥数据,将私钥数据保存在预设存储区中;
本实施例中,所述根据接收到的触发信息,生成公钥数据和私钥数据,具体为:认证服务器等待接收用户对种子生成系统标识的选择,当接收到用户选择的种子生成系统标识后,从预先保存的多条种子生成系统记录中获取对应的种子生成系统信息,根据所述种子生成系统信息,生成公钥数据和私钥数据;
其中,所述预先保存的多条种子系统记录,具体包括:种子生成系统标识和种子生成系统名称;例如,种子生成系统的信息包括:种子生成系统标识(1001)和种子生成系统的名称(ABCD);
进一步的,所述根据所述种子生成系统信息,生成公钥数据和私钥数据,具体为:
步骤a1:认证服务器根据种子生成系统的信息中的种子生成系统标识,生成密码;
具体为:认证服务器将种子生成系统标识作为加密因子,应用预设加密算法对加密因子进行加密,生成密码,优选的,预设加密算法RC4算法;
例如,认证服务器应用预设加密算法对加密因子,即种子生成系统标识1001进行加密,生成的密码为A77E71CD;
步骤a2:认证服务器根据种子生成系统的信息和密码,生成公私钥数据存储文件;
具体为:认证服务器调用cmd命令Runtime rt=Runtime.getRuntime();Processprocess=rt.exec(keytool-genkey-validity 3650-alias 1001-keyalg RSA-keystoreD:/1001.keystore-keysize 1024-dname"CN=ABCD,OU=ABCD,O=ABCD,L=BJ,ST=BJ,C=CN"-storepass A77E71CD-keypass A77E71CD);process.destroy();将种子生成系统标识(1001)、种子生成系统名称(ABCD)、过期时间(默认3650天)、域名(CN=ABCD,OU=ABCD,O=ABCD,L=BJ,ST=BJ,C=CN)和密码(A77E71CD)写入公私钥数据存储文件中,即生成公私钥数据存储文件;
步骤a3:认证服务器从公私钥数据存储文件中获取私钥对象,对所述私钥对象进行编码生成私钥数据;
优选的,认证服务器对所述私钥对象采用BASE64编码方式进行编码,生成私钥数据;
例如,本实施例中,生成的私钥数据为:MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALD29cy/aBEI4B71MXmyMxSHlvWcJwP2R3oF6BEG/59trHlOS7YoxD20OLNi……HuplAbYmA+f+vS1zC9LM1ycLHwp8VYNOTf 80BVfbYA1LoGlrIYLHQ==;
步骤a4:认证服务器解析公私钥数据存储文件,从公私钥存储文件中获取公钥数据;
例如,本实施例中,生成的公钥数据为:MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALD29cy/aBEI4B71MXmyMxSHlvWcJwP2R3oF6BEG/59trHlOS7YoxD20OLNi……HuplAbYmA+f+vS1zC9LM1ycLHwp8VYNOTf 80BVfbYA1LoGlrIYLHQ==;
步骤202:认证服务器将公钥数据按照预设格式写入到公钥文件中;
例如,本实施例中,公钥文件为:
---BEGIN CERTIFICATE-----
MIICdgIBADANBgkqhkiG9w0BAQ
EFAASCAmAwggJcAgEAAoGBALD29cy/aBEI4B71MXmyMxSHlvWcJwP2R3oF6BEG/59trHlOS7YoxD20OLNi……HuplAbYmA+f+vS1zC9LM1ycLHwp8VYNOTf 80BVfbYA1LoGlrIYLHQ==
-----END CERTIFICATE-----
步骤203:认证服务器将公钥文件发送给种子生成系统;
其中,本实施例中,认证服务器将公钥文件通过邮件或刻盘等的形式发送给种子生成系统;
步骤204:种子生成系统根据接收到的用户选择的令牌号,查找对应的种子密钥,根据令牌号和种子密钥生成明文种子文件,从明文种子文件中获取明文种子文件数据;
其中,种子生成系统预先生成多条令牌数据,包括令牌号和对应的种子密钥,当访问种子生成系统时,根据需要选择的令牌号,从令牌数据中查找与令牌号对应的种子密钥,根据种子密钥生成明文种子文件,当种子生成系统接收到用户点击导出种子文件按钮时,将明文种子文件导出;
例如,导出的明文种子文件数据为:
<?xml version="1.0"encoding="UTF-8"?>
<TokenXml>
<TokenHeader>
<Version>5.0</Version>
<Origin>FT</Origin>
<TokenType>0</TokenType>
<FirstToken>3000000003197</FirstToken>
<LastToken>3000000003198</LastToken>
<TokenNum>2</TokenNum>
<TokenBirth>2014-02-21 15:54:53</TokenBirth>
<TokenDeath>2019-02-21 15:54:01</TokenDeath>
<MacKey>1622D3388D13B3FE40DC34B22728E89BBEDEE125</MacKey>
</TokenHeader>
<TokenList>
<Token>
<SN>3000000003197</SN><Seed>gQANMzAwMDAwMDAwMzE5NyDYnLmKdPHSrcqQH23QcoI6Vw wB/k6TmHr/akhcYGonf8SyAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf///////wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAAAAoAAAAEk9UUC1TTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NC1UMU0OT1RQLVNNMy02OlFOMDYAAAAAAAAAAAAAAAAKvc=</Seed><MacKey>E72EFAC244EB6CA62E4B19D9421E1150FD2EE361</MacKey>
</Token>
<Token>
<SN>3000000003198</SN><Seed>gQANMzAwMDAwMDAwMzE5OCCsG6HMN8RjqGSgY+WP+7Y9O4+I8qJ/dIT9PbM8RPGDl11vAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf///////wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAAAAoAAAAEk9UUC1TTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NC1UMU0OT1RQLVNNMy02OlFOMDYAAAAAAAAAAAAAAAA0e4=</Seed><MacKey>CE88684EBFE2688417B281A9E07C9F5A0322B06C</MacKey>
</Token>
</TokenList>
<TokenXmlMac><MacKey>9A7F714405AEDB62D1B87D59B99C2492C1E97C25</MacKey>
</TokenXmlMac>
</TokenXml>
步骤205:种子生成系统调用随机数生成函数,生成第一预设长度的随机数;
优选的,第一预设长度为16字节;
例如,随机生成的第一预设长度的随机数为:-13,41,53,76,7,-114,-80,-104,-80,-10,0,-85,58,-10,37,-127;
步骤206:种子生成系统从所述公钥文件中获取公钥数据,判断是否能够获取到公钥数据,如果是,则执行步骤207,否则报错,结束;
例如,本实施例中,从所述公钥文件中获取到的公钥数据为:48,-127,-97,48,13,6,9,42,-122,72,-122,-9,13,1,1,1,5,0,3,-127,-115,0,48,-127,-119,2,-127,-127,0,-80,-10,-11,-52,-65,104,17,8,-32,30,-11,49,121,-78,51,20,-121,-106,-11,-100,39,3,-10,71,122,5,-24,17,6,-1,-97,109,-84,121,78,75,-74,40,-60,61,-76,56,-77,98,82,113,74,-79,119,17,-113,91,-84,7,-81,-49,98,-37,39,89,-89,40,-21,-91,-38,-94,-110,98,-70,-94,-57,-27,-62,-85,53,-109,-111,24,-100,-62,10,-96,-79,-49,-28,67,47,-10,90,-13,38,-58,63,-102,61,-31,111,-83,45,1,24,56,42,-30,-109,-21,-22,118,79,-98,114,-39,72,18,89,-108,-24,76,23,32,55,-27,-39,101,-12,83,-80,105,2,3,1,0,1;
本实施例中,步骤204、205和206执行顺序可以互相调换;
步骤207:种子生成系统使用公钥数据,对随机数进行加密,得到第二预设长度的密文随机数;
优选的,种子生成系统使用公钥数据,采用RSA_PKCS1_PADDING填充方式,对随机数进行加密,得到第二预设长度的密文随机数,其中,第二预设长度优选为128字节;
例如,生成的预设长度的密文随机数为:109,-49,-122,1,110,2,103,85,56,-14,123,74,64,19,-115,10,11,83,5,29,28,-10,56,-7,39,61,50,-117,-33,-121,-13,-86,127,-8,-51,-94,125,-91,102,20,56,-89,112,111,41,-34,116,-48,-92,12,-105,74,-122,-10,97,-94,-88,-120,123,63,-82,48,-30,26,81,-59,53,-60,88,80,96,64,101,-109,87,-126,-99,68,-54,0,62,-100,-107,-116,-123,-81,-99,-92,-52,-76,20,42,-60,-9,66,-79,-29,22,121,-78,-51,70,26,95,-116,63,-124,74,-48,71,-84,-71,-74,82,92,-123,123,107,115,110,-76,125,-42,31,-62,77,-28,88;
步骤208:种子生成系统使用随机数和预设加密算法,对明文种子文件数据进行加密,得到密文种子文件数据;
优选的,种子生成系统采用对称加密算法aes128-cbc,应用PKCS5Padding填充方式对明文种子文件数据进行加密;
本实施例中,得到的密文种子文件数据为:80,5,21,-35,-69,30,45,84,-4,-61,-79,100,-45,-39,41,-111,-40,-124,45,-37,124,82,80,68,31,66,42,79,87,-13,17,-26,32,103,-25,19,-50,21,67,54,49,-30,76,-126,-102,-120,49,-80,95,56,-95,-14,87,-73,-94,-61,1,-94,-94,41,-71,-76,-125,111,11,44,-17,-80,-88,-102,-9,-52,-50,21,83,-81,33,-124,-93,-1,42,14,96,103,47,……-2,123,-95,-99,18,90,-90,-39,11,45,-19,-115,-9,115,77,-38,-14,52,-12,-73,0,-22,54,-11,95,107,-9,74,68,32,-56,-28,93,15,30,46,69,-51,-98,10,-74,30,50,88,29,-79,-41,-94,-66,-29,-116,4,-36,-3,65,124,-12,94,-61,-120,-117,27,-107,-126,108,60,-34,-20,86,-117,100,-14,-99,95,-97,43,40,62,12,46,-95,-62,122,67,-4,-103,85,121,4,105,32,-29,4,73,49,-69,-11,7,24,33,-79,124,108,-81,99,36,-59,-64,-88,-62,49,4,87,70,20,-73,8,74,-18,109,49,106,-127,-40,-17,-75,121,-60,120,-126;
步骤209:种子生成系统使用预设摘要算法对明文种子文件数据进行摘要计算,得到第三预设长度的第一摘要值;
优选的,预设摘要算法为SHA1算法,除此之外,还可以为SHA256、MD5算法等,其中,第三预设长度优选为20字节;
本实施例中,得到的第一摘要值为:64,-91,-99,-1,45,-19,89,-99,90,-50,120,-126,97,-109,63,37,85,26,-56,-17;
本实施例中,步骤207、208和209顺序可以互换;
步骤210:种子生成系统根据第二预设长度的密文随机数、密文种子文件数据和第三预设长度的第一摘要值,生成处理数据;
优选的,种子生成系统将密文随机数、密文种子文件数据和第一摘要值进行顺序拼接,得到处理数据;除此之外,还可以将密文随机数、密文种子文件数据和第一摘要值进行预设运算,将得到的值作为处理数据;
本实施例中,生成的处理数据为:109,-49,-122,1,110,2,103,85,56,-14,123,74,64,19,-115,10,11,83,5,29,28,-10,56,-7,39,61,50,-117,-33,-121,-13,-86,127,-8,-51,-94,125,-91,102,20,56,-89,112,111,41,-34,116,-48,-92,12,-105,74,-122,-10,97,-94,-88,-120,123,63,-82,48,-30,26,81,-59,53,-60,88,80,96,64,101,-109,87,-126,-99,68,-54,0,62,-100,-107,-116,-123,-81,-99,……-62,122,67,-4,-103,85,121,4,105,32,-29,4,73,49,-69,-11,7,24,33,-79,124,108,-81,99,36,-59,-64,-88,-62,49,4,87,70,20,-73,8,74,-18,109,49,106,-127,-40,-17,-75,121,-60,120,-126,64,-91,-99,-1,45,-19,89,-99,90,-50,120,-126,97,-109,63,37,85,26,-56,-17;
步骤211:种子生成系统将处理数据发送给认证服务器;
本实施例中,所述将处理数据发送给认证服务器,具体为:种子生成系统将处理数据提供给使用认证服务器的用户,用户接收到该处理数据后,访问认证服务器页面,将该处理数据上传导入到认证服务器中;
步骤212:认证服务器根据接收到的处理数据,判断所述处理数据是否不为空且长度是否大于第四预设长度,如果是,则执行步骤213,否则报错,结束;
优选的,第四预设长度为第二预设长度与第三预设长度之和,本实施例优选为128字节+20字节=148字节;
步骤213:认证服务器根据所述处理数据,得到第一数据、第二数据和第三数据;
本实施例中,如果接收到的处理数据未被截取或篡改等,则从处理数据中获取到的第一数据为密文随机数、第二数据为密文种子文件数据、第三数据为第一摘要值;
优选的,认证服务器对接收到的处理数据进行拆分,将前第二预设长度即128字节的数据作为第一数据,将后第三预设长度即20字节的数据作为第三数据,将中间数据作为第二数据;
其中,如果传输过程没有错误,则拆分得到的第一数据为109,-49,-122,1,110,2,103,85,56,-14,123,74,64,19,-115,10,11,83,5,29,……-71,-74,82,92,-123,123,107,115,110,-76,125,-42,31,-62,77,-28,88;
第二数据为:80,5,21,-35,-69,30,45,84,-4,-61,-79,100,-45,-39,41,-111,-40,-124,45,-37,124,82,80,68,31,66,42,79,87,-13,17,-26,32,103,-25,19,-50,21,……121,4,105,32,-29,4,73,49,-69,-11,7,24,33,-79,124,108,-81,99,36,-59,-64,-88,-62,49,4,87,70,20,-73,8,74,-18,109,49,106,-127,-40,-17,-75,121,-60,120,-126;
第三数据为:64,-91,-99,-1,45,-19,89,-99,90,-50,120,-126,97,-109,63,37,85,26,-56,-17;
步骤214:认证服务器从预设存储区中获取私钥数据,使用私钥数据,对第一数据进行解密,得到第一解密数据;
优选的,认证服务器使用私钥数据,采用RSA_PKCS1_PADDING填充方式,去掉填充数据,得到第一解密数据,如果过程无误,则生成的第一解密数据即为随机数;
进一步的,还包括:认证服务器判断所述第一解密数据的长度是否为第一预设长度,如果是,则执行步骤215,否则显示错误信息,结束;
本实施例中,解密得到的第一解密数据为-13,41,53,76,7,-114,-80,-104,-80,-10,0,-85,58,-10,37,-127;
步骤215:认证服务器使用第一解密数据和预设解密算法,对第二数据进行解密,得到第二解密数据;
优选的,认证服务器应用对称解密算法aes128-cbc,采用PKCS5Padding填充方式,对第二数据进行解密;
本实施例中,得到的第二解密数据为:60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,63,……84,111,107,101,110,88,109,108,77,97,99,62,10,60,47,84,111,107,101,110,88,109,108,62,10;
步骤216:认证服务器使用预设摘要算法对第二解密数据进行摘要计算,得到第二摘要值;
优选的,预设摘要算法为SHA1算法,除此之外,还可以为SHA256、MD5算法等;
本实施例中,得到的第二摘要值为:64,-91,-99,-1,45,-19,89,-99,90,-50,120,-126,97,-109,63,37,85,26,-56,-17;
步骤217:认证服务器判断第三数据与第二摘要值是否相同,如果是,则执行步骤218,否则种子密钥传输失败,报错结束;
步骤218:认证服务器解析所述第二解密数据,判断是否能够解析成功,如果是,则从第二解密数据中获取令牌号和对应的种子密钥,并保存至数据库中,种子密钥传输成功,结束,否则报错,结束;
本实施例中,如果解析成功,得到的第二解密数据即为明文种子文件数据,对所述明文种子文件数据进行解析,得到令牌号和对应的种子密钥;
本实施例中,解析所述明文种子文件数据中<SN></SN>和<Seed></Seed>节点间的信息,即为令牌号和对应的种子密钥;
例如,记录到数据库中的信息为:
<SN>3000000003197</SN><Seed>gQANMzAwMDAwMDAwMzE5NyDYnLmKdPHSrcqQH23QcoI6VwwB/k6TmHr/akhcYGonf8SyAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf///////wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAAAAoAAAAEk9UUC1TTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NC1UMU0OT1RQLVNNMy02OlFOMDYAAAAAAAAAAAAAAAAKvc=</Seed>
<SN>3000000003198</SN><Seed>gQANMzAwMDAwMDAwMzE5OCCsG6HMN8RjqGSgY+WP+7Y9O4+I8qJ/dIT9PbM8RPGDl11vAkZUAA0GQgAAAAAAPAAAAAAAAAAAAABTBwZNXG5ZGf///////wEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADEgAAAAoAAAAEk9UUC1TTTMtNjpRTjA2LVQxTRJPVFAtU00zLTY6UU42NC1UMU0OT1RQLVNNMy02OlFOMDYAAAAAAAAAAAAAAAA0e4=</Seed>。
实施例3
参见图4,本发明实施例3提供了一种种子密钥安全传输的系统中认证服务器的工作流程,具体操作如下:
步骤301:认证服务器等待接收生成公私钥数据触发;
步骤302:当认证服务器接收到生成公私钥数据触发时,生成公钥数据和私钥数据,将私钥数据保存在预设存储区中;
步骤303:认证服务器将公钥数据按照预设格式写入到公钥文件中,并将所述公钥文件发送给种子生成系统;
步骤304:认证服务器等待接收种子生成系统返回的处理数据,当接收到处理数据后,判断所述处理数据是否不为空且长度大于第二预设长度与第三预设长度之和,如果是,则执行步骤305,否则报错,结束;
步骤305:认证服务器根据所述处理数据,得到第一数据、第二数据和第三数据;
具体为:认证服务器对所述处理数据进行拆分,将前第二预设长度的数据作为第一数据,将所述处理数据的后第三预设长度的数据作为第三数据,将第一数据和第三数据之间的数据作为第二数据;
步骤306:认证服务器从所述预设存储区中获取私钥数据,使用所述私钥数据对所述第一数据进行解密,得到第一解密数据,判断第一解密数据的长度是否为第一预设长度,如果是,则执行步骤307,否则报错,结束;
步骤307:认证服务器应用所述第一解密数据和预设解密算法,对所述第二数据进行解密,得到第二解密数据;
步骤308:认证服务器使用预设摘要算法对所述第二解密数据进行摘要计算,得到第二摘要值;
步骤309:认证服务器判断第三数据与第二摘要值是否相同,如果是,则执行步骤310,否则种子密钥传输失败,报错结束;
步骤310:认证服务器解析所述第二解密数据,判断是否能够解析成功,如果是,则执行步骤311,否则报错,结束;
步骤311:认证服务器从第二解密数据中获取令牌号和对应的种子密钥,并保存至数据库中,种子密钥传输成功,返回步骤304。
实施例4
参见图5,本发明实施例4提供了一种种子密钥安全传输的系统中种子生成系统的工作流程,具体操作如下:
步骤401:种子生成系统等待接收用户选择的令牌号;
步骤402:当种子生成系统接收到用户选择的令牌号时,根据所述令牌号获取对应的种子密钥,根据所述令牌号和所述种子密钥生成明文种子文件,从所述明文种子文件中获取明文种子文件数据;
步骤403:种子生成系统调用随机数生成函数,生成第一预设长度的随机数;
步骤404:种子生成系统判断是否能够获取到公钥文件,如果是,则执行步骤405,否则报错,结束;
步骤405:种子生成系统从所述公钥文件中获取公钥数据,判断是否能够获取到公钥数据,如果是,则执行步骤406,否则报错,结束;
步骤406:种子生成系统使用所述公钥数据,对所述随机数进行加密,得到第二预设长度的密文随机数;
步骤407:种子生成系统使用随机数和预设加密算法,对明文种子文件数据进行加密,得到密文种子文件数据;
步骤408:种子生成系统使用预设摘要算法对所述明文种子文件数据进行摘要计算,生成第三预设长度的第一摘要值;
步骤409:种子生成系统根据所述第二预设长度的密文随机数、密文种子文件数据和所述第三预设长度的第一摘要值,生成处理数据;
步骤410:种子生成系统将所述处理数据发送给认证服务器,返回执行步骤401;
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (11)

1.一种种子密钥安全传输的方法,其特征在于,应用于种子生成系统和认证服务器组成的系统中,包括以下步骤:
步骤A1:认证服务器根据接收到的触发信息,生成公钥数据和私钥数据,将所述私钥数据保存,并根据所述公钥数据生成公钥文件,并将所述公钥文件发送给种子生成系统;
步骤A2:所述种子生成系统根据接收到的用户选择的令牌号,查找对应的种子密钥,根据所述令牌号和所述种子密钥生成明文种子文件,从所述明文种子文件中获取明文种子文件数据;调用随机数生成函数,生成随机数;从所述公钥文件中获取所述公钥数据;
步骤A3:所述种子生成系统应用所述公钥数据,对生成的随机数进行加密,得到第二预设长度的密文随机数;根据所述生成的随机数对所述明文种子文件数据进行加密,得到密文种子文件数据;对所述明文种子文件数据进行摘要计算,得到第三预设长度的第一摘要值;
步骤A4:所述种子生成系统将所述第二预设长度的密文随机数、所述密文种子文件数据和所述第三预设长度的第一摘要值进行顺序拼接得到处理数据,并将所述处理数据发送给所述认证服务器;
步骤A5:所述认证服务器将所述处理数据的前第二预设长度的数据作为第一数据,将所述处理数据的后第三预设长度的数据作为第三数据,将所述处理数据中除第一数据和第三数据外的数据作为第二数据;
步骤A6:所述认证服务器获取保存的所述私钥数据,使用所述私钥数据对所述第一数据进行解密,得到第一解密数据;
步骤A7:所述认证服务器根据所述第一解密数据对所述第二数据进行解密,得到第二解密数据,对所述第二解密数据进行摘要计算,生成第二摘要值;
步骤A8:所述认证服务器判断所述第三数据与所述第二摘要值是否相同,如果是,则执行步骤A9,否则报错,结束;
步骤A9:所述认证服务器解析所述第二解密数据,获取所述第二解密数据中的令牌号和对应的种子密钥,并保存至数据库中,种子密钥传输成功,结束。
2.根据权利要求1所述的方法,其特征在于,所述步骤A1中,所述根据接收到的触发信息,生成公钥数据和私钥数据,具体包括:认证服务器等待接收用户选择种子生成系统标识,当接收到用户选择的种子生成系统标识后,从预先保存的多条种子生成系统记录中获取对应的种子生成系统信息,根据所述种子生成系统信息,生成公钥数据和私钥数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述种子生成系统信息,生成公钥数据和私钥数据,具体为:
步骤a1:所述认证服务器根据所述种子生成系统信息中的种子生成系统标识,生成密码;
步骤a2:所述认证服务器根据所述种子生成系统信息和密码,生成公私钥数据存储文件;
步骤a3:所述认证服务器从公私钥数据存储文件中获取私钥对象,对所述私钥对象进行编码生成私钥数据;
步骤a4:所述认证服务器解析所述公私钥数据存储文件,从所述公私钥数据存储文件中获取公钥数据。
4.根据权利要求3所述的方法,其特征在于,所述步骤a1,具体为:所述认证服务器将所述种子生成系统信息中的种子生成系统标识作为加密因子,应用预设加密算法对所述加密因子进行加密,生成密码。
5.根据权利要求3所述的方法,其特征在于,所述步骤a2,具体为:所述认证服务器调用cmd命令,将所述种子生成系统信息中的种子生成系统标识和种子生成系统名称、过期时间、域名和密码写入公私钥数据存储文件中,生成公私钥数据存储文件。
6.根据权利要求1所述的方法,其特征在于,所述步骤A1中,所述根据所述公钥数据生成公钥文件,具体为:将所述公钥数据按照预设格式写入公钥文件中。
7.根据权利要求1所述的方法,其特征在于,所述步骤A2中,所述根据接收到的用户选择的令牌号,查找对应的种子密钥,具体为:所述种子生成系统预先生成多条包括令牌号和对应种子密钥的令牌数据,根据需要选择的令牌号,从所述令牌数据中获取与所述令牌号对应的种子密钥。
8.根据权利要求1所述的方法,其特征在于,所述步骤A2中,所述从所述公钥文件中获取公钥数据,具体包括:所述种子生成系统从所述公钥文件中获取公钥数据,判断是否能够获取到所述公钥数据,如果是,则执行步骤A3,否则报错,结束。
9.根据权利要求1所述的方法,其特征在于,所述步骤A5之前还包括:所述认证服务器判断接收到的所述处理数据的长度是否不为空且大于第二预设长度与第三预设长度之和,如果是,则执行步骤A5,否则报错,结束。
10.根据权利要求1所述的方法,其特征在于,所述步骤A4中,所述将所述处理数据发送给所述认证服务器,具体为:所述种子生成系统将所述处理数据提供给使用所述认证服务器的用户,当用户接收到所述处理数据后,通过访问所述认证服务器页面,将所述处理数据上传导入到所述认证服务器中。
11.根据权利要求1所述的方法,其特征在于,所述步骤A2中,所述调用随机数生成函数,生成随机数,具体为:调用随机数生成函数,生成第一预设长度的随机数;
对应的,所述步骤A6,还包括:所述认证服务器判断所述第一解密数据的长度是否为所述第一预设长度,如果是,则执行步骤A7,否则报错,结束。
CN201410149134.XA 2014-04-15 2014-04-15 一种种子密钥安全传输的方法 Expired - Fee Related CN103888243B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410149134.XA CN103888243B (zh) 2014-04-15 2014-04-15 一种种子密钥安全传输的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410149134.XA CN103888243B (zh) 2014-04-15 2014-04-15 一种种子密钥安全传输的方法

Publications (2)

Publication Number Publication Date
CN103888243A CN103888243A (zh) 2014-06-25
CN103888243B true CN103888243B (zh) 2017-03-22

Family

ID=50956971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410149134.XA Expired - Fee Related CN103888243B (zh) 2014-04-15 2014-04-15 一种种子密钥安全传输的方法

Country Status (1)

Country Link
CN (1) CN103888243B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104092545B (zh) * 2014-06-30 2017-11-24 飞天诚信科技股份有限公司 一种集成多种动态口令的认证系统及其工作方法
CN106411506B (zh) * 2016-08-31 2019-04-16 飞天诚信科技股份有限公司 适用于数字货币的密钥派生方法及装置
CN108881269B (zh) * 2018-07-02 2020-10-13 飞天诚信科技股份有限公司 一种种子密钥的管理方法、系统及令牌厂商生产装置
EP3664362B1 (en) * 2018-10-12 2021-06-09 Shenzhen Goodix Technology Co., Ltd. Key generation method, acquisition method, private key update method, chip and server
CN109889344B (zh) * 2019-01-31 2020-06-16 深圳中兴飞贷金融科技有限公司 终端、数据的传输方法和计算机可读存储介质
CN112398655B (zh) * 2019-08-19 2022-06-03 中移(苏州)软件技术有限公司 一种文件传输方法、服务器及计算机存储介质
CN115277684A (zh) * 2022-09-29 2022-11-01 安徽华云安科技有限公司 文件传输方法、装置、设备以及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972237A (zh) * 2006-12-06 2007-05-30 胡祥义 基于动态加密算法的vpn系统
CN101005357A (zh) * 2006-12-28 2007-07-25 北京飞天诚信科技有限公司 一种更新认证密钥的方法和系统
CN101022337A (zh) * 2007-03-28 2007-08-22 胡祥义 一种网络身份证的实现方法
CN101355422A (zh) * 2008-07-16 2009-01-28 冯振周 一种新型矢量加密认证机制
CN101420300A (zh) * 2008-05-28 2009-04-29 北京易恒信认证科技有限公司 双因子组合公钥生成和认证方法
CN102364888A (zh) * 2011-09-30 2012-02-29 深圳市文鼎创数据科技有限公司 动态令牌密钥因子的设置方法、系统、终端及验证服务器
CN102571355A (zh) * 2012-02-02 2012-07-11 飞天诚信科技股份有限公司 一种不落地导入密钥的方法及装置
CN102651743A (zh) * 2012-05-02 2012-08-29 飞天诚信科技股份有限公司 一种令牌种子的生成方法
CN103220280A (zh) * 2013-04-03 2013-07-24 天地融科技股份有限公司 动态口令牌、动态口令牌数据传输方法及系统
CN103269266A (zh) * 2013-04-27 2013-08-28 北京宏基恒信科技有限责任公司 动态口令的安全认证方法和系统
CN103312519A (zh) * 2013-07-05 2013-09-18 飞天诚信科技股份有限公司 一种动态口令设备及其工作方法
CN103368975A (zh) * 2013-07-31 2013-10-23 飞天诚信科技股份有限公司 一种批量数据安全传输的方法及系统
CN103457739A (zh) * 2013-09-06 2013-12-18 北京握奇智能科技有限公司 一种动态令牌参数获取方法与设备
CN103647645A (zh) * 2013-11-05 2014-03-19 北京宏基恒信科技有限责任公司 多认证服务器的动态口令认证方法、系统和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799668B2 (en) * 2009-11-23 2014-08-05 Fred Cheng Rubbing encryption algorithm and security attack safe OTP token

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1972237A (zh) * 2006-12-06 2007-05-30 胡祥义 基于动态加密算法的vpn系统
CN101005357A (zh) * 2006-12-28 2007-07-25 北京飞天诚信科技有限公司 一种更新认证密钥的方法和系统
CN101022337A (zh) * 2007-03-28 2007-08-22 胡祥义 一种网络身份证的实现方法
CN101420300A (zh) * 2008-05-28 2009-04-29 北京易恒信认证科技有限公司 双因子组合公钥生成和认证方法
CN101355422A (zh) * 2008-07-16 2009-01-28 冯振周 一种新型矢量加密认证机制
CN102364888A (zh) * 2011-09-30 2012-02-29 深圳市文鼎创数据科技有限公司 动态令牌密钥因子的设置方法、系统、终端及验证服务器
CN102571355A (zh) * 2012-02-02 2012-07-11 飞天诚信科技股份有限公司 一种不落地导入密钥的方法及装置
CN102651743A (zh) * 2012-05-02 2012-08-29 飞天诚信科技股份有限公司 一种令牌种子的生成方法
CN103220280A (zh) * 2013-04-03 2013-07-24 天地融科技股份有限公司 动态口令牌、动态口令牌数据传输方法及系统
CN103269266A (zh) * 2013-04-27 2013-08-28 北京宏基恒信科技有限责任公司 动态口令的安全认证方法和系统
CN103312519A (zh) * 2013-07-05 2013-09-18 飞天诚信科技股份有限公司 一种动态口令设备及其工作方法
CN103368975A (zh) * 2013-07-31 2013-10-23 飞天诚信科技股份有限公司 一种批量数据安全传输的方法及系统
CN103457739A (zh) * 2013-09-06 2013-12-18 北京握奇智能科技有限公司 一种动态令牌参数获取方法与设备
CN103647645A (zh) * 2013-11-05 2014-03-19 北京宏基恒信科技有限责任公司 多认证服务器的动态口令认证方法、系统和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
物联网信息完整性保护方案;朱鹏飞等;《第27次全国计算机安全学术交流会论文集》;20120820(第8期);第1-2页 *

Also Published As

Publication number Publication date
CN103888243A (zh) 2014-06-25

Similar Documents

Publication Publication Date Title
CN103888243B (zh) 一种种子密钥安全传输的方法
EP3346633A1 (en) Permission information management system, user terminal, proprietor terminal, permission information management method, and permission information management program
CN110868287B (zh) 一种认证加密密文编码方法、系统、装置及存储介质
CN108880806A (zh) 加密、解密方法、芯片及可读存储介质
US20140331062A1 (en) System and apparatus for securely storing data
CN111967032B (zh) 基于混淆处理的文件加密方法及解密方法
CN112055004A (zh) 一种基于小程序的数据处理方法和系统
CN112035860B (zh) 文件加密方法、终端、装置、设备及介质
CN110929291A (zh) 一种存取文本文件的方法、装置和计算机可读存储介质
CN110417544B (zh) 一种根密钥的生成方法、装置和介质
CN109905233A (zh) 一种设备数据处理方法及系统
CN108830096A (zh) 数据处理方法、装置、电子设备及存储介质
CN106446697A (zh) 隐私数据的保存方法及装置
CN109510702A (zh) 一种基于计算机特征码的密钥存储及使用的方法
WO2014106149A1 (en) Techniques for validating cryptographic applications
CN105391677A (zh) 一种信息传递方法及移动终端
CN111585998B (zh) 一种审计数据安全传输方法和系统
US9152801B2 (en) Cryptographic system of symmetric-key encryption using large permutation vector keys
CN112199730A (zh) 一种终端上应用数据的处理方法、装置及电子设备
CN103703718A (zh) 用于模糊处理密码协议的初始值的系统和方法
CN116361833A (zh) 校验方法、装置及终端设备
US8897440B2 (en) Cryptographic system of symmetric-key encryption using large permutation vector keys
CN112597453A (zh) 程序代码加密解密方法和装置
CN104092537A (zh) 一种实现密钥信息编解码的装置及其工作方法
CN111669348B (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: 20170322