CN104579680B - 一种安全分发种子的方法 - Google Patents
一种安全分发种子的方法 Download PDFInfo
- Publication number
- CN104579680B CN104579680B CN201410802304.XA CN201410802304A CN104579680B CN 104579680 B CN104579680 B CN 104579680B CN 201410802304 A CN201410802304 A CN 201410802304A CN 104579680 B CN104579680 B CN 104579680B
- Authority
- CN
- China
- Prior art keywords
- equipment
- key
- encryption
- seed
- factor
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开一种安全分发种子的方法,涉及信息安全领域;可以解决在种子生成和分发的过程中,采用软件对种子进行加密易被破译,导致种子存在安全隐患的问题;该方法包括:采用专用的加密机生成第一密钥,根据第一密钥生成第二密钥,根据第二密钥生成第一种子加密密钥,根据第一种子加密密钥对种子数据进行加密,得到第一种子密文,保存第一种子密文;在导出第二密钥时,加密机生成第一传输密钥,用第一传输密钥对第二密钥加密,得到加密后的第二密钥;采用同样的方式得到第二种子密文和加密后的第三密钥。采用上述方法,能够保证生成种子数据安全和传输安全。
Description
技术领域
本发明涉及信息安全领域,特别涉及一种安全分发种子的方法。
背景技术
目前,动态口令作为最安全的身份认证技术之一,目前已经被广泛应用于企业、网游、金融等领域,动态口令是令牌根据自身内部存储的种子,采用预设的算法生成的;本发明技术人员发现,现有技术中,生成种子以及分发种子的过程中,采用软件对种子进行加密,由于软件容易被破译,导致种子存在安全隐患。
发明内容
为解决现有技术的缺陷,本发明提供一种安全分发种子的方法,包括:
当第一设备接收到用户输入的第一密钥合成因子时,调用所述第一设备的加密机,所述第一设备的加密机根据所述第一密钥合成因子,生成第一密钥;
当所述第一设备接收到用户输入的第二设备名称时,执行步骤T1;
步骤T1:所述第一设备生成第二密钥分散因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第一密钥和所述第二密钥分散因子,生成第二密钥和第二密钥索引号并保存;所述第一设备从所述第一设备的加密机中获取所述第二密钥索引号,并保存所述第二设备名称、所述第二密钥分散因子和所述第二密钥索引号;
步骤T2:所述第一设备生成第一传输密钥合成因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第一传输密钥合成因子,生成第一传输密钥,用所述第一传输密钥对所述第二密钥加密,得到加密后的第二密钥;所述第一设备从所述第一设备的加密机中获取所述加密后的第二密钥;
当所述第一设备接收到用户输入的第三设备名称时,执行步骤U1;
步骤U1:所述第一设备生成第三密钥分散因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第一密钥和所述第三密钥分散因子,生成第三密钥和第三密钥索引号并保存;所述第一设备从所述第一设备的加密机中获取所述第三密钥索引号,并保存所述第三设备名称、所述第三密钥分散因子和所述第三密钥索引号;
步骤U2:所述第一设备生成第二传输密钥合成因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第二传输密钥合成因子生成第二传输密钥,然后,根据所述第二传输密钥对所述第三密钥进行加密,得到加密后的第三密钥;所述第一设备从所述第一设备的加密机中获取所述加密后的第三密钥;
当所述第一设备获取到用户选择的第二设备名称、第三设备名称、令牌序列号生成规则时,执行步骤V1;
步骤V1:所述第一设备根据所述令牌序列号生成规则设置令牌序列号,调用所述第一设备的加密机;所述第一设备的加密机生成种子数据,得到生成种子响应;所述第一设备从所述第一设备的加密机中获取所述生成种子响应;
步骤V2:所述第一设备根据所述第二设备名称获取第二密钥索引号,调用所述第一设备的加密机;所述第一设备的加密机根据所述第二密钥索引号获取第二密钥,并且用所述第二密钥对所述令牌序列号进行分散,得到第一种子加密密钥;所述第一设备根据所述第三设备名称获取第三密钥索引号,调用所述第一设备的加密机;所述第一设备的加密机根据第三密钥索引号获取第三密钥,并且用所述第三密钥对所述令牌序列号进行分散,得到第二种子加密密钥;
步骤V3:所述第一设备调用所述第一设备的加密机;所述第一设备的加密机根据所述第一种子加密密钥对所述种子数据加密,得到第一种子密文,根据所述第二种子加密密钥对所述种子数据加密,得到第二种子密文;
步骤V4:所述第一设备从所述第一设备的加密机中获取第一种子密文,并保存所述第一种子密文和所述令牌序列号,从所述第一设备的加密机中获取所述第二种子密文,并保存所述第二种子密文和所述令牌序列号,结束。
所述步骤T2之后,还包括:所述第一设备将所述加密后的第二密钥存储在第二密钥存储卡中,将所述第一传输密钥合成因子存储在第一传输密钥存储卡中;
所述步骤U2之后,还包括:所述第一设备将所述加密后的第三密钥存储在第三密钥存储卡中,将所述第二传输密钥合成因子存储在第二传输密钥存储卡中;
所述步骤V4之后,还包括:第一设备将所述第一种子密文和所述令牌序列号保存至第一光盘中,将所述第二种子密文和所述令牌序列号保存至第二光盘中。
第二设备从所述第一传输密钥存储卡中获取第一传输密钥合成因子,调用所述第二设备的加密机;
所述第二设备的加密机根据所述第一传输密钥合成因子和预设的第一传输密钥合成算法,生成第一传输密钥和第一传输密钥索引号;
所述第二设备从所述第二设备的加密机中获取所述第一传输密钥索引号;
所述第二设备从所述第二密钥存储卡中获取加密后的第二密钥,调用所述第二设备的加密机;
所述第二设备的加密机根据预设的第二密钥解密算法和所述第一传输密钥,对所述加密后的第二密钥解密,得到第二密钥;
所述第二设备从所述第一光盘中获取第一种子密文和令牌序列号,调用所述第二设备的加密机;
所述第二设备的加密机用所述第二密钥采用预设的第二密钥分散算法对所述令牌序列号进行分散,得到第一种子解密密钥,根据所述第一种子解密密钥和预设的第一种子解密算法,对所述第一种子密文解密,得到种子明文;
所述第二设备从所述第二设备的加密机中获取所述种子明文,根据所述种子明文和预设的生成口令算法,生成otp口令,组织包含所述otp口令和令牌序列号的认证请求,将认证请求发送给第三设备,结束。
所述第三设备管理中心从所述第二传输密钥存储卡中获取所述第二传输密钥合成因子,调用所述第三设备的加密机;
所述第三设备的加密机根据所述第二传输密钥合成因子和预设的第二传输密钥合成算法,生成第二传输密钥和第二传输密钥索引号;
所述第三设备管理中心从所述第三设备的加密机中获取所述第二传输密钥索引号,从所述第三密钥存储卡中获取加密后的第三密钥,调用所述第三设备的加密机;
所述第三设备的加密机根据预设的第三密钥解密算法和所述第二传输密钥,对所述加密后的第三密钥解密,得到第三密钥;
所述第三设备管理中心从所述第二光盘中获取第二种子密文和令牌序列号,保存所述第二种子密文和所述令牌序列号;
当所述第三设备接收到认证请求时,从所述认证请求中获取令牌序列号,根据所述令牌序列号获取第二种子密文,调用所述第三设备的加密机;
所述第三设备的加密机用所述第三密钥采用预设的第三密钥分散算法对所述令牌序列号进行分散,得到第二种子解密密钥,根据所述第二种子解密密钥和预设的第二种子解密算法,对所述第二种子密文解密,得到种子明文;
所述第三设备从所述第三设备的加密机中获取种子明文,根据所述种子明文和预设的生成口令算法,生成待认证口令数据,从所述认证请求中获取otp口令,判断所述待认证口令数据和所述otp口令是否相同,是则向所述第三设备管理中心发送校验成功,结束;否则向第三设备管理中心发送校验失败,结束。
所述第三设备管理中心保存所述第二种子密文和所述令牌序列号之后,还包括:
所述第三设备管理中心判断是否成功保存所述第二种子密文和所述令牌序列号,是则结束;否则提示未成功保存第二种子密文,结束。
本发明的有益效果,采用专用的加密机生成第一密钥,根据第一密钥生成第二密钥,根据第二密钥生成第一种子加密密钥,对第一种子加密密钥对种子数据进行加密,得到第一种子密文,将第一种子密文导入第一光盘中;在导出第二密钥时,加密机生成第一传输密钥,用第一传输密钥对第二密钥加密,得到加密后的第二密钥,将加密后的第二密钥导入到第二密钥存储卡中,并且将合成第一传输密钥的每个第一传输密钥因子分别导入到不同的第一传输密钥存储卡中;采用上述方式保证生成种子数据安全和传输安全。
附图说明
图1为本发明实施例提供的一种第一设备生成第一密钥的方法流程图;
图2为本发明实施例提供的一种第一设备生成第二密钥的方法流程图;
图3为本发明实施例提供的一种第一设备生成第三密钥的方法流程图;
图4为本发明实施例提供的一种第一设备生成种子数据和导出种子数据的方法流程图;
图5为本发明实施例提供的一种将种子数据导入到第二设备的方法流程图;
图6为本发明实施例提供的一种将种子数据导入到第三设备的方法流程图;
图7为本发明实施例提供的一种第三设备管理中心解密第三密钥的方法流程图。
具体实施方式
本实施例中,第一设备生成第一密钥,根据第一密钥生成第二密钥并导出,根据第一密钥生成第三密钥并导出,第一设备生成种子数据,根据第二密钥和第三密钥分别对种子数据进行加密,得到第一种子密文和第二种子密文,分发第一种子密文给第二设备,分发第二种子密文给第三设备,第二设备根据第二密钥对第一种子密文解密,得到种子明文,第三设备根据第三密钥对第二种子密文解密,得到种子明文;其中,
第一设备生成第一密钥,具体方法包括:
当第一设备接收到用户输入的若干个第一密钥合成因子时,调用第一设备的加密机根据第一密钥合成因子生成第一密钥并保存,生成第一密钥索引号并保存,返回第一密钥索引号,第一设备将每个第一密钥合成因子分别导入到不同的第一密钥存储卡中备份,将第一密钥索引号保存至第一设备数据库中;
第一设备生成第一密钥之后,可以生成第二密钥并导出,具体方法包括:
当第一设备接收到用户输入的第二设备名称时,生成第二密钥分散因子,调用第一设备的加密机根据第一密钥和第二密钥分散因子,生成第二密钥并保存,生成第二密钥索引号并保存,返回第二密钥索引号,第一设备将第二设备名称、第二密钥分散因子和第二密钥索引号保存至第一设备数据库中;
第一设备生成3个第一传输密钥合成因子,调用第一设备的加密机根据3个第一传输密钥合成因子,生成第一传输密钥,根据第一传输密钥对第二密钥加密,得到加密后的第二密钥,返回加密后的第二密钥,第一设备将加密后的第二密钥存储在第二密钥存储卡中,将3个第一传输密钥合成因子分别存储在3张第一传输密钥存储卡中,结束。
第一设备生成第一密钥之后,可以生成第三密钥并导出,具体方法包括:
当第一设备接收到用户输入的第三设备名称时,第一设备生成第三密钥分散因子,调用第一设备的加密机根据第一密钥对第三密钥分散因子进行分散,生成第三密钥并保存,生成第三密钥索引号并保存,返回第三密钥索引号,第一设备将第三设备名称、第三密钥分散因子和第三密钥索引号保存至第一设备数据库中,第一设备生成3个第二传输密钥合成因子,调用第一设备的加密机根据第二传输密钥合成因子,生成第二传输密钥,根据第二传输密钥对第三密钥进行加密,得到加密后的第三密钥,返回加密后的第三密钥,第一设备将加密后的第三密钥存储在第三密钥存储卡中,将3个第二传输密钥合成因子分别存储在3张第二传输密钥存储卡中,结束。
第一设备生成第二密钥和第三密钥之后,可以生成种子数据,并对种子数据进行加密,具体方法包括:
当第一设备获取到用户选择的第二设备名称、第三设备名称、令牌序列号生成规则时,根据令牌序列号生成规则获取种子数量,根据令牌序列号生成规则设置当前令牌序列号,调用第一设备的加密机生成种子数据,返回生成种子响应,第一设备根据第二设备名称从第一设备数据库中,获取第二密钥索引号,调用第一设备的加密机根据第三设备名称从第一设备数据库中,获取第三密钥索引号,调用第一设备的加密机根据第二密钥索引号获取第二密钥,用第二密钥对令牌序列号进行分散,得到第一种子加密密钥,根据第三密钥索引号获取第三密钥,用第三密钥对令牌序列号进行分散,得到第二种子加密密钥,根据第一种子加密密钥,对种子数据加密,得到第一种子密文,根据第二种子加密密钥,对种子数据加密,得到第二种子密文,返回第一加密种子响应,返回第二加密种子响应,第一设备从第一加密种子响应中获取第一种子密文,将第一种子密文和令牌序列号保存至第一设备数据库中,从第二加密种子响应中获取第二种子密文,将第二种子密文和令牌序列号保存至第一设备数据库中,第一设备组织待显示信息,显示待显示信息,将第一种子密文和令牌序列号保存至第一光盘中,将第二种子密文和令牌序列号保存至第二光盘中,结束。
本实施例中,将加密后的种子导入到第二设备中,获取种子明文的方法,具体包括:
当第二设备分别从3张第一传输密钥存储卡中获取3个第一传输密钥合成因子时,调用第二设备的加密机根据3个第一传输密钥合成因子,生成第一传输密钥,生成第一传输密钥索引号,返回第一传输密钥索引号,第二设备从第二密钥存储卡中获取加密后的第二密钥,调用第二设备的加密机根据预设的第二密钥解密算法和第一传输密钥,对加密后的第二密钥解密,得到第二密钥,第二设备从第一光盘中获取第一种子密文和令牌序列号,调用第二设备的加密机用第二密钥对令牌序列号进行分散,得到第一种子解密密钥,根据第一种子解密密钥,对第一种子密文解密,得到种子明文,返回种子明文,第二设备接收种子明文,根据种子明文和预设的生成口令算法,生成otp口令,组织包含otp口令和令牌序列号的认证请求,将认证请求发送给第三设备,结束;
本实施例中,将加密后的种子导入到第三设备中,获取种子明文的方法,具体包括:
第三设备管理中心分别从3张第二传输密钥存储卡中获取3个第二传输密钥合成因子,调用第三设备的加密机根据3个第二传输密钥合成因子,生成第二传输密钥,生成第二传输密钥索引号,返回第二传输密钥索引号,第三设备管理中心从第三密钥存储卡中获取加密后的第三密钥,调用第三设备的加密机根据第二传输密钥,对加密后的第三密钥解密,得到第三密钥,第三设备管理中心从第二光盘中获取第二种子密文和令牌序列号,将第二种子密文和令牌序列号保存到第三设备数据库中;
当第三设备接收到认证请求时,从认证请求中获取令牌序列号,根据令牌序列号从第三设备数据库中获取第二种子密文,调用第三设备的加密机用第三密钥对令牌序列号进行分散,得到第二种子解密密钥,根据第二种子解密密钥对第二种子密文解密,得到种子明文,返回种子明文,第三设备根据种子明文生成待认证口令数据,从认证请求中获取otp口令,第三设备判断待认证口令数据和otp口令是否相同,是则向第三设备发送校验成功,结束;否则向第三设备管理中心发送校验失败,结束。
本实施例提供一种第一设备生成第一密钥的方法,如图1所示,包括:
步骤101:第一设备等待接收用户输入的第一密钥合成因子;
本实施例中,第一密钥合成因子可以为一个或者多个,可以是由一个或者多个用户输入的。
本实施例,以第一设备接收到3个用户分别输入的第一密钥合成因子进行举例说明。
步骤102:当第一设备接收到用户输入的第一密钥合成因子时,判断第一密钥合成因子是否合法,是则执行步骤104;否则执行步骤103;
本实施例中,当第一设备接收到多个用户输入第一密钥合成因子时,对每个用户输入的第一密钥合成因子判断,如果每个用户输入的第一密钥合成因子的长度均为第一预设长度,则第一密钥合成因子合法,执行步骤104;否则第一密钥合成因子不合法,执行步骤103;其中,第一预设长度为16字节。
当第一设备接收到一个用户输入的第一密钥合成因子时,对第一密钥合成因子判断,如果第一密钥合成因子的长度为第一预设长度,则第一密钥合成因子合法,执行步骤104;否则第一密钥合成因子不合法,执行步骤103;其中,第一预设长度为16字节。
例如:第一设备接收到3个用户输入的第一密钥合成因子,分别为第一密钥合成因子1、第一密钥合成因子2、第一密钥合成因子3;其中,
第一密钥合成因子1为:4F12FE71E26C73B1062DF7570EC0E9B5;
第一密钥合成因子2为:25229969BEF71E26C73B1DE43A203CEF;
第一密钥合成因子3为:1EE1C054625D4FA25BA61AA0371E7AEC;
每个第一密钥合成因子的长度均为16字节,即第一密钥合成因子合法。
步骤103:第一设备提示第一密钥合成因子不合法,返回步骤101;
步骤104:第一设备将第一密钥合成因子保存入第一密钥存储卡中;
本实施例中,第一设备将每个用户输入的第一密钥合成因子存储至不同的第一密钥存储卡中。
具体地,第一设备将第一密钥合成因子1存储至第一密钥存储卡1中,第一设备将第一密钥合成因子2存储至第一密钥存储卡2中,第一设备将第一密钥合成因子3存储至第一密钥存储卡3中。
当第一设备的加密机损毁时,第一设备可以获取每张第一密钥存储卡中的第一密钥合成因子,恢复第一密钥;当几张甚至全部第一密钥存储卡被不法分子获得时,由于缺少其他的第一密钥存储卡或者不知晓这些第一密钥存储卡的顺序,所以无法生成正确的第一密钥,从而保障第一密钥安全。
例如:第一密钥存储卡1中存储的数据为:4F12FE71E26C73B1062DF7570EC0E9B5;
第一密钥存储卡2中存储的数据为:25229969BEF71E26C73B1DE43A203CEF;
第一密钥存储卡3中存储的数据为:1EE1C054625D4FA25BA61AA0371E7AEC。
步骤105:第一设备向第一设备的加密机发送合成第一密钥指令;
步骤106:第一设备的加密机接收合成第一密钥指令,根据第一密钥合成因子、内部保存的根密钥和预设的算法生成第一密钥,生成第一密钥索引号,保存第一密钥和第一密钥索引号,返回第一密钥索引号;
本实施例中,第一设备的加密机生成第一密钥后,返回第一密钥索引号,建立第一密钥和第一密钥索引号的对应关系,第一密钥不离开加密机,提高第一密钥的安全性。
例如:第一设备的加密机返回第一密钥索引号为1;
步骤107:第一设备接收第一密钥索引号,将第一密钥索引号保存至第一设备数据库中。
本步骤之后还包括:第一设备判断是否成功将第一密钥索引号保存至第一设备数据库中,是则结束;否则第一设备提示未成功保存第一密钥,结束。
例如,第一设备接收第一密钥索引号1,将第一密钥索引号1保存至第一设备数据库中。
本实施例中,还提供一种第一设备生成第二密钥的方法,如图2所示,包括:
步骤201:当第一设备接收到用户输入的第二设备名称时,判断第一设备数据库中是否存在第一密钥索引号,是则执行步骤203;否则执行步骤202;
本步骤还可以为:当第一设备接收到用户输入的第二设备名称时,第一设备向第一设备的加密机发送检测第一密钥指令,根据第一设备的加密机返回的检测结果,判断第一设备的加密机中是否存在第一密钥,是则执行步骤203;否则执行步骤202;
例如:第一设备接收到用户输入的第二设备名称时,判断第一设备数据库中存在第一密钥索引号1。
步骤202:第一设备提示不存在第一密钥,结束;
步骤203:第一设备生成随机数,将生成的随机数作为第二密钥分散因子,向第一设备的加密机发送生成第二密钥指令,执行步骤204;
具体地,第一设备生成长度与第一预设长度相同的随机数,作为第二密钥分散因子。
例如:
第一设备生成长度为16字节的随机数,将其作为第二密钥分散因子,第二密钥分散因子为:366FD043A6EFD64954F7D062DF7570E3。
步骤204:第一设备的加密机接收生成第二密钥指令,根据第一密钥和预设的第二密钥分散算法对第二密钥分散因子进行分散,生成第二密钥,生成第二密钥索引号,保存第二密钥和第二密钥索引号,返回第二密钥索引号;
本实施例中,生成第二密钥所采用的第一密钥是保存在第一设备的加密机中的,即生成第二密钥所用的第一密钥是安全的,并且第二密钥生成之后保存在第一设备的加密机中,不离开第一设备的加密机,进一步保证第二密钥的安全。
例如:第一设备的加密机生成第二密钥之后,生成第二密钥索引号11,保存第二密钥和第二密钥索引号11,返回第二密钥索引号11;
步骤205:第一设备接收第二密钥索引号,将第二设备名称、第二密钥分散因子和第二密钥索引号保存至第一设备数据库中;
本实施例中,第一设备将第二设备名称、第二密钥分散因子和第二密钥索引号保存至第一设备数据库中,使第二密钥索引号和第二密钥分散因子以及第二密钥建立对应关系。
例如:第一设备将接收到的第二密钥索引号11,以及第二设备名称、第二密钥分散因子366FD043A6EFD64954F7D062DF7570E3保存至第一设备数据库中;
步骤206:第一设备判断是否成功将第二设备名称、第二密钥分散因子和第二密钥索引号保存至第一设备数据库中,是则执行步骤207;否则第一设备提示保存第二密钥分散因子失败,结束;
步骤207:第一设备生成第一传输密钥合成因子,向第一设备的加密机发送生成第一传输密钥指令;
本实施例中,第一传输密钥合成因子可以为1个或多个;
本实施例中,以生成3个第一传输密钥合成因子为例,进行举例说明:
第一设备生成3个长度均为第一预设长度的随机数,分别作为第一传输密钥合成因子1、第一传输密钥合成因子2、第一传输密钥合成因子3;
例如:第一传输密钥合成因子1为:09F05BA61AA0371EBEF71E26C73B1DE5;
第一传输密钥合成因子2为:7DBA75D38FA99411C054625D4FA25BA6;
第一传输密钥合成因子3为:0AF949F2172D79A6D0893B4031B5AECF;
步骤208:第一设备的加密机接收生成第一传输密钥指令,根据第一传输密钥合成因子和预设的第一传输密钥合成算法,生成第一传输密钥;
例如:第一设备的加密机接收生成第一传输密钥指令,根据第一传输密钥合成因子1、第一传输密钥合成因子2、第一传输密钥合成因子3和预设的第一传输密钥合成算法,生成第一传输密钥;
步骤209:第一设备的加密机根据第一传输密钥和预设的第二密钥加密算法,对第二密钥加密,得到加密后的第二密钥,返回加密后的第二密钥;
本实施例中,第一设备的加密机根据随机产生的第一传输密钥合成因子和预设的第一传输密钥合成算法,生成第一传输密钥,用第一传输密钥对第二密钥加密,得到加密后的第二密钥,采用密文传输的方式,导出加密后的第二密钥,保证第二密钥传输过程中的安全性。
例如:
加密后的第二密钥为:476FF1580DED8DC53F8A31FB1B855A88;
步骤210:第一设备接收加密后的第二密钥,将加密后的第二密钥存储在第二密钥存储卡中,将第一传输密钥合成因子存储在第一传输密钥存储卡中。
本实施例中,当存在多个第一传输密钥合成因子时,将每个第一传输密钥合成因子分别存储在不同的第一传输密钥存储卡中;
第一设备将每个第一传输密钥合成因子分别存储在不同的第一传输密钥存储卡中,以供第二设备在合成第一传输密钥时使用,每张第一传输密钥存储卡缺一不可,并且从每张第一传输密钥存储卡中读取到的数据,拼接顺序唯一,这样即使其中任意一张甚至全部第一传输密钥存储卡被不法分子获得,仍旧不能够合成正确的第一传输密钥。
本实施例以存在3个第一传输密钥合成因子,进行说明:
将第一传输密钥合成因子1、第一传输密钥合成因子2、第一传输密钥合成因子3分别存储在第一传输密钥存储卡1、第一传输密钥存储卡2、第一传输密钥存储卡3中。
例如:第二密钥存储卡中的数据为:476FF1580DED8DC53F8A31FB1B855A8899B15C1029A4C746676224DF7E00E68B。
第一传输密钥存储卡1中的数据为:09F05BA61AA0371EBEF71E26C73B1DE5;
第一传输密钥存储卡2中的数据为:7DBA75D38FA99411C054625D4FA25BA6;
第一传输密钥存储卡3中的数据为:0AF949F2172D79A6D0893B4031B5AECF。
本实施例中,还提供一种第一设备生成第三密钥的方法,如图3所示,包括:
步骤301:当第一设备接收到用户输入的第三设备名称时,判断第一设备数据库中是否存在第一密钥索引号,是则执行步骤303;否则执行步骤302;
本步骤还可以为:当第一设备接收到用户输入的第三设备名称时,第一设备向第一设备的加密机发送检测第一密钥指令,根据第一设备的加密机返回的检测结果,判断第一设备的加密机中是否存在第一密钥,是则执行步骤303;否则执行步骤302;
例如:第一设备接收到用户输入的第三设备名称时,判断第一设备数据库中存在第一密钥索引号1。
步骤302:第一设备提示不存在第一密钥,结束;
步骤303:第一设备生成随机数,将生成的随机数作为第三密钥分散因子,向第一设备的加密机发送生成第三密钥指令,执行步骤304;
具体地,第一设备生成长度与第一预设长度相同的随机数,作为第三密钥分散因子;
第一设备生成长度为16字节的随机数,将其作为第三密钥分散因子,第三密钥分散因子为:BE9427A4ADE31F5B893B4031B0BA9829。
步骤304:第一设备的加密机接收生成第三密钥指令,根据第一密钥和预设的第三密钥分散算法对第三密钥分散因子进行分散,生成第三密钥,生成第三密钥索引号,保存第三密钥和第三密钥索引号,返回第三密钥索引号;
本实施例中,生成第三密钥所采用的第一密钥是保存在第一设备的加密机中的,即生成第三密钥所用的第一密钥是安全的,并且第三密钥生成之后保存在第一设备的加密机中,不离开第一设备的加密机,进一步保证第三密钥的安全。
例如:第一设备的加密机生成第三密钥之后,生成第三密钥索引号12,保存第三密钥和第三密钥索引号12,返回第三密钥索引号12;
步骤305:第一设备接收第三密钥索引号,将第三设备名称、第三密钥分散因子和第三密钥索引号保存至第一设备数据库中;
本实施例中,第一设备将第三设备名称、第三密钥分散因子和第三密钥索引号保存至第一设备数据库中,使第三密钥索引号和第三密钥分散因子以及第三密钥建立对应关系。
例如:第一设备将接收到的第三密钥索引号12,以及第三设备名称、第三密钥分散因子BE9427A4ADE31F5B893B4031B0BA9829保存至第一设备数据库中;
步骤306:第一设备判断是否成功将第三设备名称、第三密钥分散因子和第三密钥索引号保存至第一设备数据库中,是则执行步骤307;否则第一设备提示保存第三密钥分散因子失败,结束。
步骤307:第一设备生成第二传输密钥合成因子,向第一设备的加密机发送生成第二传输密钥指令;
本实施例中,第二传输密钥合成因子可以为1个或多个;
以生成3个第二传输密钥合成因子为例,进行举例说明:第一设备生成3个长度均为第一预设长度的随机数,分别作为第二传输密钥合成因子1、第二传输密钥合成因子2、第二传输密钥合成因子3;
例如:第二传输密钥合成因子1为:09F05BA61AA0371EBEF71E26C73B1DE5;
第二传输密钥合成因子2为:7DBA75D38FA99411C054625D4FA25BA6;
第二传输密钥合成因子3为:0AF949F2172D79A6D0893B4031B5AECF;
步骤308:第一设备的加密机接收生成第二传输密钥指令,根据第二传输密钥合成因子和预设的第二传输密钥合成算法,生成第二传输密钥;
例如:第一设备的加密机接收生成第二传输密钥指令,根据第二传输密钥合成因子1、第二传输密钥合成因子2、第二传输密钥合成因子3和预设的第二传输密钥合成算法,生成第二传输密钥;
步骤309:第一设备的加密机根据第二传输密钥和预设的第三密钥加密算法,对第三密钥进行加密,得到加密后的第三密钥,返回加密后的第三密钥;
本实施例中,第一设备的加密机根据随机生成的第二传输密钥合成因子和预设的第二传输密钥合成算法,生成第二传输密钥,用第二传输密钥对第三密钥加密,得到加密后的第三密钥,采用密文传输的方式,导出加密后的第三密钥,保证第三密钥传输过程中的安全性。
例如:
加密后的第三密钥为:01CADBF5F019C0D230B15B6A4B049BCF;
步骤310:第一设备接收加密后的第三密钥,将加密后的第三密钥存储在第三密钥存储卡中,将第二传输密钥合成因子存储在第二传输密钥存储卡中,结束。
本实施例中,当存在多个第二传输密钥合成因子时,将每个第二传输密钥合成因子分别存储在不同的第二传输密钥存储卡中;
第一设备将每个第二传输密钥合成因子分别存储在不同的第二传输密钥存储卡中,以供第三设备在合成第二传输密钥时使用,每张第二传输密钥存储卡缺一不可,并且从每张第一传输密钥存储卡中读取到的数据,拼接顺序唯一,这样即使其中任意一张甚至全部第二穿上密钥存储卡被不法分子获得,人就不能够合成正确的第二传输密钥。
例如:第三密钥存储卡中的数据为:01CADBF5F019C0D230B15B6A4B049BCF1B1859085B01F9679B77413704EBCACF;
第二传输密钥存储卡1中的数据为:09F05BA61AA0371EBEF71E26C73B1DE5;
第二传输密钥存储卡2中的数据为:7DBA75D38FA99411C054625D4FA25BA6;
第二传输密钥存储卡3中的数据为:0AF949F2172D79A6D0893B4031B5AECF。
本实施例中,还提供一种第一设备生成种子数据和导出种子数据的方法,如图4所示,包括:
步骤401:第一设备等待获取用户选择的第二设备名称、第三设备名称、令牌序列号生成规则;
本实施例中,第一设备显示预先保存的第二设备名称、第三设备名称、令牌序列号生成规则,等待用户选择。
步骤402:第一设备根据令牌序列号生成规则,获取种子数量,将种子计数值置为初始值,将重复序列号计数值置为初始值;
步骤403:第一设备根据令牌序列号生成规则设置当前令牌序列号,判断第一设备数据库中是否存在当前令牌序列号,是则执行步骤404;否则执行步骤407;
其中,令牌序列号生成规则中包含种子数量。
例如:令牌序列号为:201014019727;
步骤404:第一设备更新重复序列号计数值,执行步骤405;
步骤405:第一设备更新种子计数值,判断种子计数值与种子数量是否相同,是则执行步骤406;否则返回步骤403;
优选地,第一设备将种子计数值加1的结果作为更新后的种子计数值。
步骤406:第一设备判断是否存在第一种子密文和第二种子密文,是则第一设备根据重复序列号计数值和种子数量组织待显示信息,显示待显示信息,清除重复序列号计数值和种子计数值,将第一种子密文和令牌序列号保存至第一光盘中,将第二种子密文和令牌序列号保存至第二光盘中,结束。
本实施例中,第一设备将第一种子密文和令牌序列号整理成xml格式的文件,保存至第一光盘中,将第二种子密文和令牌序列号整理成xml格式的文件,保存至第二光盘中。
例如:第一设备判断存在第一种子密文和第二种子密文,并且重复序列号计数值为0,种子数量为1;组织待显示信息为:生成种子数量:1;重复序列号为0;然后清除重复序列号计数值和种子计数值,保存第一种子密文和令牌序列号的第一光盘中的数据为:
第一种子密文为:
5A4AC1B9281B40833A01D7A4560717E85585B1EC3BF74761569CA79CB034F616;
令牌序列号为:201014019727;
保存第二种子密文和令牌序列号的第二光盘中的数据为:
第二种子密文为:
CDE6281F6F60FC90C5EE878047F10295178AF17500AB82488E62E13F0C54921E;
令牌序列号为:201014019727。
步骤407:第一设备向第一设备的加密机发送生成种子数据指令;
步骤408:第一设备的加密机接收生成种子数据指令,生成种子数据,返回生成种子响应;
本实施例中,第一设备接收生成种子数据指令,生成长度为第二预设长度的随机数,将其作为种子数据;优选的,第二预设长度为32字节。
例如:种子数据为:
91B064B31AECC22F764C98F8E09298C192BA040EFEE5D08510EC8938CB4ACB4F;
步骤409:第一设备接收生成种子响应,根据生成种子响应判断是否成功生成种子,是则执行步骤410;否则第一设备提示生成种子错误,返回步骤403;
本实施例中,第一设备根据生成种子响应中的响应码判断是否成功生成种子,如果响应码为9000,则执行步骤410;否则第一设备提示生成种子错误,返回步骤403;
步骤410:第一设备根据第二设备名称从第一设备数据库中,获取第二密钥索引号,向第一设备的加密机发送第一加密种子指令,根据第三设备名称从第一设备数据库中,获取第三密钥索引号,向第一设备的加密机发送第二加密种子指令,执行步骤411;
例如:获取到的第二密钥索引号为11;获取到的第三密钥索引号为12;
步骤411:第一设备的加密机接收第一加密种子指令和第二加密种子指令,根据第二密钥索引号获取第二密钥,用第二密钥采用预设的第二密钥分散算法对令牌序列号进行分散,得到第一种子加密密钥,根据第三密钥索引号获取第三密钥,用第三密钥采用预设的第三密钥分散算法对令牌序列号进行分散,得到第二种子加密密钥;
例如:第一设备的加密机根据第二密钥索引号11获取第二密钥,用第二密钥采用预设的第二密钥分散算法对令牌序列号201014019727进行分散,得到第一种子加密密钥;根据第三密钥索引号12获取第三密钥,用第三密钥采用预设的第三密钥分散算法对令牌序列号201014019727进行分散,得到第二种子加密密钥;
步骤412:第一设备的加密机根据预设的第一种子加密算法和第一种子加密密钥,对种子数据加密,得到第一种子密文,根据预设的第二种子加密算法和第二种子加密密钥,对种子数据加密,得到第二种子密文,返回第一加密种子响应,返回第二加密种子响应,执行步骤413;
例如,第一种子密文为:
5A4AC1B9281B40833A01D7A4560717E85585B1EC3BF74761569CA79CB034F616;
第二种子密文为:
CDE6281F6F60FC90C5EE878047F10295178AF17500AB82488E62E13F0C54921E;
步骤413:第一设备接收第一加密种子响应和第二加密种子响应,判断是否成功加密种子数据,是则执行步骤414;否则第一设备提示加密种子数据失败,返回步骤403;
具体地,
步骤b1:第一设备接收第一加密种子响应和第二加密种子响应;
步骤b2:第一设备根据第一加密种子响应判断是否成功加密种子数据,是则执行步骤b3;否则提示加密种子数据失败,返回步骤403;
步骤b3:第一设备根据第二加密种子响应判断是否成功加密种子数据,是则执行步骤414;否则提示加密种子数据失败,返回步骤403;
步骤414:第一设备从第一加密种子响应中获取第一种子密文,将第一种子密文和令牌序列号保存至第一设备数据库中,从第二加密种子响应中获取第二种子密文,将第二种子密文和令牌序列号保存至第一设备数据库中;
例如:将第一种子密文
5A4AC1B9281B40833A01D7A4560717E85585B1EC3BF74761569CA79CB034F616和令牌序列号201014019727保存至第一设备数据库中,将第二种子密文
CDE6281F6F60FC90C5EE878047F10295178AF17500AB82488E62E13F0C54921E和令牌序列号201014019727保存至第一设备数据库中;
步骤415:第一设备判断是否成功将第一种子密文和令牌序列号保存至第一设备数据库中,并且将第二种子密文和令牌序列号保存至第一设备数据库中,是则返回步骤405;否则第一设备提示保存失败信息,返回步骤414。
本实施例中,第一设备将第一种子密文和令牌序列号保存至第一设备数据库中之后,能够获取到第一响应码,第一设备将第一种子密文和令牌序列号保存至第一设备数据库中之后,能够获取到第二响应码;根据第一响应码和第二响应码判断是否成功将第一种子密文和令牌序列号保存至第一设备数据库中,并且将第二种子密文和令牌序列号保存至第一设备数据库中,如果第一响应码和第二响应码均为9000,则返回步骤405;否则第一设备提示保存失败信息,返回步骤414。
本实施例,还提供一种将种子数据导入到第二设备的方法,如图5所示,包括:
步骤501:第二设备从第一传输密钥存储卡中获取第一传输密钥合成因子,向第二设备的加密机发送生成第一传输密钥指令;
以存在3张第一传输密钥存储卡为例进行说明:第二设备分别从第一传输密钥存储卡1、第一传输密钥存储卡2、第一传输密钥存储卡3中分别获取第一传输密钥合成因子1、第一传输密钥合成因子2、第一传输密钥合成因子3,向第二设备的加密机发送生成第一传输密钥指令;
例如:从第一传输密钥存储卡1中获取到第一传输密钥合成因子1为:09F05BA61AA0371EBEF71E26C73B1DE5;
从第一传输密钥存储卡2中获取到第一传输密钥合成因子2为:7DBA75D38FA99411C054625D4FA25BA6;
从第一传输密钥存储卡3中获取到第一传输密钥合成因子3为:0AF949F2172D79A6D0893B4031B5AECF。
步骤502:第二设备的加密机接收生成第一传输密钥指令,根据第一传输密钥合成因子和预设的第一传输密钥合成算法,生成第一传输密钥,生成第一传输密钥索引号,返回第一传输密钥索引号;
本实施例中,第二设备的加密机接收生成第一传输密钥指令,根据第一传输密钥合成因子1、第一传输密钥合成因子2、第一传输密钥合成因子3和预设的第一传输密钥合成算法,生成第一传输密钥,生成第一传输密钥索引号,返回第一传输密钥索引号;将第一传输密钥索引号返回给第二设备,以便于第二设备进行下一步操作。
步骤503:第二设备从第二密钥存储卡中获取加密后的第二密钥,向第二设备的加密机发送解密第二密钥指令;
例如:第二设备从第二密钥存储卡中获取到加密后的第二密钥为:476FF1580DED8DC53F8A31FB1B855A88;
步骤504:第二设备的加密机接收解密第二密钥指令,根据预设的第二密钥解密算法和第一传输密钥,对加密后的第二密钥解密,得到第二密钥;
步骤505:第二设备从第一光盘中获取第一种子密文和令牌序列号,向第二设备的加密机发送解密第一种子密文指令;
本实施例中,从第一光盘中获取到的第一种子密文为xml格式的文件,该xml文件中包含一个或多个第一种子密文,每个第一种子密文对应一个令牌序列号;
例如:第二设备从第一光盘中获取到的第一种子密文为:5A4AC1B9281B40833A01D7A4560717E85585B1EC3BF74761569CA79CB034F616;
第二设备从第一光盘中获取到的令牌序列号为:201014019727;
步骤506:第二设备的加密机接收解密第一种子密文指令,用第二密钥采用预设的第二密钥分散算法对令牌序列号进行分散,得到第一种子解密密钥,根据第一种子解密密钥和预设的第一种子解密算法,对第一种子密文解密,得到种子明文,返回种子明文;
例如:得到的种子明文为:
91B064B31AECC22F764C98F8E09298C192BA040EFEE5D08510EC8938CB4ACB4F;
步骤507:第二设备接收种子明文,根据种子明文和预设的生成口令算法,生成otp口令,组织包含otp口令和令牌序列号的认证请求,将认证请求发送给第三设备,结束;
本实施例中,还提供一种将种子数据导入到第三设备的方法,如图6所示,包括:
步骤601:当第三设备接收到认证请求时,从认证请求中获取令牌序列号,根据令牌序列号从第三设备数据库中获取第二种子密文,向第三设备的加密机发送解密第二种子密文指令;
例如:第三设备从认证请求中到的令牌序列号为:201014019727,根据令牌序列号从第三设备数据库中获取到的第二种子密文为:CDE6281F6F60FC90C5EE878047F10295178AF17500AB82488E62E13F0C54921E;
本实施例中,在第三设备将种子数据导入到第三设备之前,还包括第三设备管理中心解密第三密钥,如图7所示,包括:
步骤601’:第三设备管理中心从第二传输密钥存储卡中获取第二传输密钥合成因子,向第三设备的加密机发送生成第二传输密钥指令;
本实施例中,第三设备分别从第二传输密钥存储卡1、第二传输密钥存储卡2、第二传输密钥存储卡3中分别获取第二传输密钥合成因子1、第二传输密钥合成因子2、第二传输密钥合成因子3,向第三设备的加密机发送生成第二传输密钥指令;
例如:从第二传输密钥存储卡1中获取到第二传输密钥合成因子1为:09F05BA61AA0371EBEF71E26C73B1DE5;
从第二传输密钥存储卡2中获取到第二传输密钥合成因子2为:7DBA75D38FA99411C054625D4FA25BA6;
从第二传输密钥存储卡3中获取到第二传输密钥合成因子3为:0AF949F2172D79A6D0893B4031B5AECF。
步骤602’:第三设备的加密机接收生成第二传输密钥指令,根据第二传输密钥合成因子和预设的第二传输密钥合成算法,生成第二传输密钥,生成第二传输密钥索引号,返回第二传输密钥索引号;
本实施例中,将第二传输密钥索引号返回给第三设备管理中心,以便于第三设备管理中心进行下一步操作。
步骤603’:第三设备管理中心接收第二传输密钥索引号,从第三密钥存储卡中获取加密后的第三密钥,向第三设备的加密机发送解密第三密钥指令;
例如:从第三密钥存储卡中获取到的加密后的第三密钥为:01CADBF5F019C0D230B15B6A4B049BCF;
步骤604’:第三设备的加密机接收解密第三密钥指令,根据预设的第三密钥解密算法和第二传输密钥,对加密后的第三密钥解密,得到第三密钥;
步骤605’:第三设备管理中心从第二光盘中获取第二种子密文和令牌序列号,将第二种子密文和令牌序列号保存到第三设备数据库中;
具体地,第三设备管理中心从第二光盘中获取种子文件,遍历种子文件中的第二种子密文和令牌序列号,将第二种子密文和令牌序列号保存到第三设备数据库中,其中,种子文件可以是以后缀为.zip格式存在;
例如:第三设备管理中心从第二光盘中获取到的第二种子密文为:CDE6281F6F60FC90C5EE878047F10295178AF17500AB82488E62E13F0C54921E;第三设备管理中心从第二光盘中获取到的令牌序列号为:201014019727;
步骤606’:第三设备管理中心判断是否成功将第二种子密文和令牌序列号保存到第三设备数据库中,是则结束;否则第三设备管理中心提示未成功保存第二种子密文,结束。
本实施例中,第三设备管理中心将第二种子密文和令牌序列号保存到第三设备数据库中之后,能够获取到响应码;根据响应码判断是否成功将将第二种子密文和令牌序列号保存到第三设备数据库中,如果响应码为9000,则结束;否则第三设备管理中心提示未成功保存第二种子密文,结束。
步骤602:第三设备的加密机接收解密第二种子密文指令,用第三密钥采用预设的第三密钥分散算法对令牌序列号进行分散,得到第二种子解密密钥,根据第二种子解密密钥和预设的第二种子解密算法,对第二种子密文解密,得到种子明文,返回种子明文;
例如:得到的种子明文为:
91B064B31AECC22F764C98F8E09298C192BA040EFEE5D08510EC8938CB4ACB4F;
步骤603:第三设备接收种子明文,根据种子明文和预设的生成口令算法,生成待认证口令数据,从认证请求中获取otp口令;
步骤604:第三设备判断待认证口令数据和otp口令是否相同,是则执行步骤605;否则执行步骤606;
步骤605:第三设备向第三设备管理中心发送校验成功,结束;
本实施例中,第三设备管理中心收到校验成功时,提示校验成功。
步骤606:第三设备向第三设备管理中心发送校验失败,结束。本实施例中,第三设备管理中心收到校验失败时,提示校验失败。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (23)
1.一种安全分发种子的方法,其特征在于,包括:
当第一设备接收到用户输入的第一密钥合成因子时,调用所述第一设备的加密机,所述第一设备的加密机根据所述第一密钥合成因子,生成第一密钥;
当所述第一设备接收到用户输入的第二设备名称时,执行步骤T1;
步骤T1:所述第一设备生成第二密钥分散因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第一密钥和所述第二密钥分散因子,生成第二密钥和第二密钥索引号并保存;所述第一设备从所述第一设备的加密机中获取所述第二密钥索引号,并保存所述第二设备名称、所述第二密钥分散因子和所述第二密钥索引号;
步骤T2:所述第一设备生成第一传输密钥合成因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第一传输密钥合成因子,生成第一传输密钥,用所述第一传输密钥对所述第二密钥加密,得到加密后的第二密钥;所述第一设备从所述第一设备的加密机中获取所述加密后的第二密钥;
当所述第一设备接收到用户输入的第三设备名称时,执行步骤U1;
步骤U1:所述第一设备生成第三密钥分散因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第一密钥和所述第三密钥分散因子,生成第三密钥和第三密钥索引号并保存;所述第一设备从所述第一设备的加密机中获取所述第三密钥索引号,并保存所述第三设备名称、所述第三密钥分散因子和所述第三密钥索引号;
步骤U2:所述第一设备生成第二传输密钥合成因子,调用所述第一设备的加密机;所述第一设备的加密机根据所述第二传输密钥合成因子生成第二传输密钥,然后,根据所述第二传输密钥对所述第三密钥进行加密,得到加密后的第三密钥;所述第一设备从所述第一设备的加密机中获取所述加密后的第三密钥;
当所述第一设备获取到用户选择的第二设备名称、第三设备名称、令牌序列号生成规则时,执行步骤V1;
步骤V1:所述第一设备根据所述令牌序列号生成规则设置令牌序列号,调用所述第一设备的加密机;所述第一设备的加密机生成种子数据,得到生成种子响应;所述第一设备从所述第一设备的加密机中获取所述生成种子响应;
步骤V2:所述第一设备根据所述第二设备名称获取第二密钥索引号,调用所述第一设备的加密机;所述第一设备的加密机根据所述第二密钥索引号获取第二密钥,并且用所述第二密钥对所述令牌序列号进行分散,得到第一种子加密密钥;所述第一设备根据所述第三设备名称获取第三密钥索引号,调用所述第一设备的加密机;所述第一设备的加密机根据第三密钥索引号获取第三密钥,并且用所述第三密钥对所述令牌序列号进行分散,得到第二种子加密密钥;
步骤V3:所述第一设备调用所述第一设备的加密机;所述第一设备的加密机根据所述第一种子加密密钥对所述种子数据加密,得到第一种子密文,根据所述第二种子加密密钥对所述种子数据加密,得到第二种子密文;
步骤V4:所述第一设备从所述第一设备的加密机中获取第一种子密文,并保存所述第一种子密文和所述令牌序列号,从所述第一设备的加密机中获取所述第二种子密文,并保存所述第二种子密文和所述令牌序列号,结束。
2.如权利要求1所述的方法,其特征在于,当所述第一设备接收到用户输入的第一密钥合成因子时,还包括:
所述第一设备判断所述第一密钥合成因子是否合法,是则所述第一设备调用所述第一设备的加密机,所述第一设备的加密机根据所述第一密钥合成因子,生成第一密钥;否则所述第一设备提示第一密钥合成因子不合法。
3.如权利要求2所述的方法,其特征在于,所述第一设备判断所述第一密钥合成因子是否合法,具体包括:当所述第一设备接收到一个或者多个用户输入第一密钥合成因子时,对每个用户输入的第一密钥合成因子判断,如果每个用户输入的第一密钥合成因子的长度均为第一预设长度,则所述第一密钥合成因子合法;否则所述第一密钥合成因子不合法。
4.如权利要求1所述的方法,其特征在于,所述第一设备调用所述第一设备的加密机,所述第一设备的加密机根据所述第一密钥合成因子,生成第一密钥,具体包括:
所述第一设备向所述第一设备的加密机发送合成第一密钥指令;
所述第一设备的加密机接收所述合成第一密钥指令,根据所述第一密钥合成因子、内部保存的根密钥和预设的算法生成第一密钥,生成第一密钥索引号,保存所述第一密钥和所述第一密钥索引号,将所述第一密钥索引号返回给所述第一设备;
所述第一设备接收所述第一密钥索引号。
5.如权利要求4所述的方法,其特征在于,所述第一设备保存所述第一密钥索引号之后,还包括:
所述第一设备判断是否成功保存所述第一密钥索引号,是则结束当前操作;否则提示未成功保存第一密钥,结束。
6.如权利要求1所述的方法,其特征在于,所述第一设备调用所述第一设备的加密机,所述第一设备的加密机根据所述第一密钥和第二密钥分散因子,生成第二密钥和第二密钥索引号并保存,所述第一设备从所述第一设备的加密机中获取所述第二密钥索引号,具体包括:
所述第一设备向所述第一设备的加密机发送生成第二密钥指令;
所述第一设备的加密机接收所述生成第二密钥指令,根据所述第一密钥和预设的第二密钥分散算法对所述第二密钥分散因子进行分散,生成第二密钥,生成第二密钥索引号,保存第二密钥和第二密钥索引号,将所述第二密钥索引号返回给所述第一设备;
所述第一设备接收所述第二密钥索引号。
7.如权利要求1所述的方法,其特征在于,所述第一设备保存所述第二设备名称、所述第二密钥分散因子和所述第二密钥索引号之后,还包括:
所述第一设备判断是否成功保存所述第二设备名称、所述第二密钥分散因子和所述第二密钥索引号,是则执行步骤T2;否则提示保存第二密钥分散因子失败,结束。
8.如权利要求1所述的方法,其特征在于,所述步骤T2,具体包括:
所述第一设备生成随机数,将其作为第一传输密钥合成因子,向所述第一设备的加密机发送生成第一传输密钥指令;
所述第一设备的加密机接收所述生成第一传输密钥指令,根据所述第一传输密钥合成因子和预设的第一传输密钥合成算法,生成第一传输密钥;
所述第一设备的加密机根据所述第一传输密钥和预设的第二密钥加密算法,对所述第二密钥加密,得到加密后的第二密钥,将所述加密后的第二密钥返回给所述第一设备;
所述第一设备接收所述加密后的第二密钥。
9.如权利要求1所述的方法,其特征在于,所述第一设备调用所述第一设备的加密机,所述第一设备的加密机根据所述第一密钥和所述第三密钥分散因子,生成第三密钥和第三密钥索引号并保存,所述第一设备从所述第一设备的加密机中获取所述第三密钥索引号,具体包括:
所述第一设备向所述第一设备的加密机发送生成第三密钥指令;
所述第一设备的加密机接收所述生成第三密钥指令,根据第一密钥和预设的第三密钥分散算法对第三密钥分散因子进行分散,生成第三密钥,生成第三密钥索引号,保存所述第三密钥和所述第三密钥索引号,将所述第三密钥索引号返回给所述第一设备;
所述第一设备接收所述第三密钥索引号。
10.如权利要求1所述的方法,其特征在于,所述第一设备保存所述第三设备名称、所述第三密钥分散因子和所述第三密钥索引号之后,还包括:
所述第一设备判断是否成功保存所述第三设备名称、所述第三密钥分散因子和所述第三密钥索引号,是则执行步骤U2;否则提示保存第三密钥分散因子失败,结束。
11.如权利要求1所述的方法,其特征在于,所述步骤U2,具体包括:
所述第一设备生成随机数,将其作为第二传输密钥合成因子,向所述第一设备的加密机发送生成第二传输密钥指令;
所述第一设备的加密机接收所述生成第二传输密钥指令,根据所述第二传输密钥合成因子和预设的第二传输密钥合成算法,生成第二传输密钥;
所述第一设备的加密机根据所述第二传输密钥和预设的第三密钥加密算法,对所述第三密钥进行加密,得到加密后的第三密钥,将所述加密后的第三密钥返回给所述第一设备;
所述第一设备接收所述加密后的第三密钥。
12.如权利要求1所述的方法,其特征在于,所述第一设备调用所述第一设备的加密机,所述第一设备的加密机生成种子数据,得到生成种子响应,所述第一设备从所述第一设备的加密机中获取所述生成种子响应,具体包括:
所述第一设备向所述第一设备的加密机发送生成种子数据指令;
所述第一设备的加密机接收所述生成种子数据指令,生成种子数据,将所述生成种子响应返回给所述第一设备;
所述第一设备接收所述生成种子响应。
13.如权利要求1所述的方法,其特征在于,所述步骤V1之后,还包括:
所述第一设备根据所述生成种子响应判断是否成功生成种子,是则执行步骤V2;否则提示生成种子错误,重新根据所述令牌序列号生成规则设置令牌序列号。
14.如权利要求1所述的方法,其特征在于,所述第一设备调用所述第一设备的加密机,所述第一设备的加密机根据所述第二密钥索引号获取第二密钥,并且用所述第二密钥对所述令牌序列号进行分散,得到第一种子加密密钥,具体包括:
所述第一设备向所述第一设备的加密机发送第一加密种子指令;
所述第一设备的加密机接收第一加密种子指令,根据所述第二密钥索引号获取第二密钥,用所述第二密钥采用预设的第二密钥分散算法对所述令牌序列号进行分散,得到第一种子加密密钥。
15.如权利要求1所述的方法,其特征在于,所述第一设备调用所述第一设备的加密机,所述第一设备的加密机根据第三密钥索引号获取第三密钥,并且用所述第三密钥对所述令牌序列号进行分散,得到第二种子加密密钥,具体包括:
所述第一设备向所述第一设备的加密机发送第二加密种子指令;
所述第一设备的加密机接收所述第二加密种子指令,根据所述第三密钥索引号获取第三密钥,用所述第三密钥采用预设的第三密钥分散算法对所述令牌序列号进行分散,得到第二种子加密密钥。
16.如权利要求1所述的方法,其特征在于,所述步骤V3,具体包括:
所述第一设备的加密机根据预设的第一种子加密算法和所述第一种子加密密钥,对所述种子数据加密,得到第一种子密文,根据预设的第二种子加密算法和所述第二种子加密密钥,对所述种子数据加密,得到第二种子密文,向所述第一设备返回第一加密种子响应和第二加密种子响应。
17.如权利要求16所述的方法,其特征在于,所述步骤V3之后,还包括:
所述第一设备接收所述第一加密种子响应和所述第二加密种子响应,判断是否成功加密种子数据,是则执行步骤V4;否则提示加密种子数据失败,重新根据所述令牌序列号生成规则设置令牌序列号。
18.如权利要求1所述的方法,其特征在于,所述步骤V4之后,还包括:
所述第一设备判断是否成功保存所述第一种子密文、所述令牌序列号和所述第二种子密文,是则结束;否则提示保存失败,返回步骤V4。
19.如权利要求1所述的方法,其特征在于,所述根据所述令牌序列号生成规则设置令牌序列号,具体包括:
所述第一设备根据所述令牌序列号生成规则,获取种子数量,将种子计数值置为初始值,将重复序列号计数值置为初始值,根据所述令牌序列号生成规则设置令牌序列号;
所述第一设备根据所述令牌序列号生成规则设置令牌序列号之后,还包括:
步骤m1:所述第一设备判断是否存在令牌序列号,是则所述第一设备更新所述重复序列号计数值,执行步骤m2;否则调用所述第一设备的加密机,所述第一设备的加密机生成种子数据,得到生成种子响应,所述第一设备从所述第一设备的加密机中获取所述生成种子响应,执行步骤V2;所述步骤V4之后,还包括:返回步骤m2;
步骤m2:所述第一设备更新所述种子计数值,判断所述种子计数值与所述种子数量是否相同,是则结束;否则重新根据所述令牌序列号生成规则设置令牌序列号,执行步骤m1。
20.如权利要求1所述的方法,其特征在于,
所述步骤T2之后,还包括:所述第一设备将所述加密后的第二密钥存储在第二密钥存储卡中,将所述第一传输密钥合成因子存储在第一传输密钥存储卡中;
所述步骤U2之后,还包括:所述第一设备将所述加密后的第三密钥存储在第三密钥存储卡中,将所述第二传输密钥合成因子存储在第二传输密钥存储卡中;
所述步骤V4之后,还包括:第一设备将所述第一种子密文和所述令牌序列号保存至第一光盘中,将所述第二种子密文和所述令牌序列号保存至第二光盘中。
21.如权利要求20所述的方法,其特征在于,还包括:
第二设备从所述第一传输密钥存储卡中获取第一传输密钥合成因子,调用所述第二设备的加密机;
所述第二设备的加密机根据所述第一传输密钥合成因子和预设的第一传输密钥合成算法,生成第一传输密钥和第一传输密钥索引号;
所述第二设备从所述第二设备的加密机中获取所述第一传输密钥索引号;
所述第二设备从所述第二密钥存储卡中获取加密后的第二密钥,调用所述第二设备的加密机;
所述第二设备的加密机根据预设的第二密钥解密算法和所述第一传输密钥,对所述加密后的第二密钥解密,得到第二密钥;
所述第二设备从所述第一光盘中获取第一种子密文和令牌序列号,调用所述第二设备的加密机;
所述第二设备的加密机用所述第二密钥采用预设的第二密钥分散算法对所述令牌序列号进行分散,得到第一种子解密密钥,根据所述第一种子解密密钥和预设的第一种子解密算法,对所述第一种子密文解密,得到种子明文;
所述第二设备从所述第二设备的加密机中获取所述种子明文,根据所述种子明文和预设的生成口令算法,生成otp口令,组织包含所述otp口令和令牌序列号的认证请求,将认证请求发送给第三设备,结束。
22.如权利要求21所述的方法,其特征在于,还包括:
第三设备管理中心从所述第二传输密钥存储卡中获取所述第二传输密钥合成因子,调用所述第三设备的加密机;
所述第三设备的加密机根据所述第二传输密钥合成因子和预设的第二传输密钥合成算法,生成第二传输密钥和第二传输密钥索引号;
所述第三设备管理中心从所述第三设备的加密机中获取所述第二传输密钥索引号,从所述第三密钥存储卡中获取加密后的第三密钥,调用所述第三设备的加密机;
所述第三设备的加密机根据预设的第三密钥解密算法和所述第二传输密钥,对所述加密后的第三密钥解密,得到第三密钥;
所述第三设备管理中心从所述第二光盘中获取第二种子密文和令牌序列号,保存所述第二种子密文和所述令牌序列号;
当所述第三设备接收到认证请求时,从所述认证请求中获取令牌序列号,根据所述令牌序列号获取第二种子密文,调用所述第三设备的加密机;
所述第三设备的加密机用所述第三密钥采用预设的第三密钥分散算法对所述令牌序列号进行分散,得到第二种子解密密钥,根据所述第二种子解密密钥和预设的第二种子解密算法,对所述第二种子密文解密,得到种子明文;
所述第三设备从所述第三设备的加密机中获取种子明文,根据所述种子明文和预设的生成口令算法,生成待认证口令数据,从所述认证请求中获取otp口令,判断所述待认证口令数据和所述otp口令是否相同,是则向所述第三设备管理中心发送校验成功,结束;否则向第三设备管理中心发送校验失败,结束。
23.如权利要求22所述的方法,其特征在于,所述第三设备管理中心保存所述第二种子密文和所述令牌序列号之后,还包括:
所述第三设备管理中心判断是否成功保存所述第二种子密文和所述令牌序列号,是则结束;否则提示未成功保存第二种子密文,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410802304.XA CN104579680B (zh) | 2014-12-19 | 2014-12-19 | 一种安全分发种子的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410802304.XA CN104579680B (zh) | 2014-12-19 | 2014-12-19 | 一种安全分发种子的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104579680A CN104579680A (zh) | 2015-04-29 |
CN104579680B true CN104579680B (zh) | 2018-03-09 |
Family
ID=53094959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410802304.XA Active CN104579680B (zh) | 2014-12-19 | 2014-12-19 | 一种安全分发种子的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104579680B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102015225651A1 (de) * | 2015-12-17 | 2017-06-22 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Übertragen einer Software |
CN105812127B (zh) * | 2016-05-24 | 2019-10-08 | 飞天诚信科技股份有限公司 | 一种nfc动态令牌及其工作方法 |
CN105897405B (zh) * | 2016-06-02 | 2019-04-05 | 北京赛思信安技术股份有限公司 | 一种128位对称密钥生成及保护装置 |
CN110351292B (zh) * | 2019-03-05 | 2020-08-25 | 腾讯科技(深圳)有限公司 | 私钥管理方法、装置、设备和存储介质 |
CN110084051A (zh) * | 2019-04-29 | 2019-08-02 | 京工博创(北京)科技有限公司 | 一种数据加密方法和*** |
CN111586023B (zh) * | 2020-04-30 | 2022-05-31 | 广州市百果园信息技术有限公司 | 一种认证方法、设备和存储介质 |
CN112272095B (zh) * | 2020-12-24 | 2021-03-16 | 飞天诚信科技股份有限公司 | 一种实时通信的分布式密钥分发方法及*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404119A (zh) * | 2011-10-27 | 2012-04-04 | 深圳市文鼎创数据科技有限公司 | 动态令牌密钥因子的设置方法、动态令牌及服务器 |
CN102891753A (zh) * | 2012-09-25 | 2013-01-23 | 深圳市文鼎创数据科技有限公司 | 动态令牌初始化的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002207427A (ja) * | 2001-01-10 | 2002-07-26 | Sony Corp | 公開鍵証明書発行システム、公開鍵証明書発行方法、および情報処理装置、情報記録媒体、並びにプログラム記憶媒体 |
-
2014
- 2014-12-19 CN CN201410802304.XA patent/CN104579680B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404119A (zh) * | 2011-10-27 | 2012-04-04 | 深圳市文鼎创数据科技有限公司 | 动态令牌密钥因子的设置方法、动态令牌及服务器 |
CN102891753A (zh) * | 2012-09-25 | 2013-01-23 | 深圳市文鼎创数据科技有限公司 | 动态令牌初始化的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104579680A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104579680B (zh) | 一种安全分发种子的方法 | |
CN105553662B (zh) | 基于标识密码的动态数字版权保护方法和*** | |
CN106161402B (zh) | 基于云环境的加密机密钥注入***、方法及装置 | |
US10089627B2 (en) | Cryptographic authentication and identification method using real-time encryption | |
CN106101150B (zh) | 加密算法的实现方法和*** | |
CN109543434B (zh) | 区块链信息加密方法、解密方法、存储方法及装置 | |
CN1921395B (zh) | 提高网络软件安全性的方法 | |
JP2009103774A (ja) | 秘密分散システム | |
CN102484638A (zh) | 经由多个中间客户端在线递送的身份数据的分层保护和验证 | |
CN105184181B (zh) | 文件的加密方法、解密方法及装置 | |
US6640303B1 (en) | System and method for encryption using transparent keys | |
KR20080025121A (ko) | 비대칭 개인키로부터 비밀키 생성 | |
CN110474908A (zh) | 交易监管方法与装置、存储介质及计算机设备 | |
CN103378971A (zh) | 一种数据加密***及方法 | |
CN101325483B (zh) | 对称密钥更新方法和对称密钥更新装置 | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
CN111262852B (zh) | 基于区块链实现的名片签发方法及*** | |
CN100431297C (zh) | 采用双重认证协议来防止用户口令被盗用的方法 | |
CN106027252A (zh) | 一种身份证认证***中的云认证平台 | |
CN104253692B (zh) | 基于se的密钥管理方法和装置 | |
CN108551391A (zh) | 一种基于USB-key的认证方法 | |
CN107682156A (zh) | 一种基于sm9算法的加密通信方法及装置 | |
CN102571341B (zh) | 一种基于动态图像的认证***及认证方法 | |
CN111327415A (zh) | 一种联盟链数据保护方法及装置 | |
CN114499825A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |