CN103957196B - 一种信息安全设备的同步方法和系统 - Google Patents
一种信息安全设备的同步方法和系统 Download PDFInfo
- Publication number
- CN103957196B CN103957196B CN201410140971.6A CN201410140971A CN103957196B CN 103957196 B CN103957196 B CN 103957196B CN 201410140971 A CN201410140971 A CN 201410140971A CN 103957196 B CN103957196 B CN 103957196B
- Authority
- CN
- China
- Prior art keywords
- module
- synchronization
- data
- client
- code
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000001360 synchronised effect Effects 0.000 claims abstract description 106
- 238000012795 verification Methods 0.000 claims description 44
- 238000000605 extraction Methods 0.000 claims description 23
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Lock And Its Accessories (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开一种信息安全设备的同步方法和系统,该系统包括信息安全设备、主机和认证服务器,信息安全设备包括智能密钥模块和动态令牌模块,信息安全设备中的动态令牌模块根据种子密钥生成第一临时密钥,根据第一临时密钥生成第一同步码和第二同步码,并通过主机中的客户端将第一同步码和第二同步码发送给认证服务器;认证服务器对接收到的第一同步码和第二同步码进行认证,并在认证成功后执行同步操作,能够有效避免同步码在传输过程中被篡改或假冒而引起的安全风险,且不需要用户手动输入同步码,提高了使用的方便性,同时解决了由于用户输入出错而导致同步失败的问题,提高了同步的成功率以及同步的安全性。
Description
技术领域
本发明涉及信息安全领域,特别涉及一种信息安全设备的同步方法和系统。
背景技术
信息安全设备可用于生成动态口令,广泛应用于网银、电信运营商和电子政务等领域。信息安全设备所生成的动态口令可用于身份认证,能够有效提高身份认证的安全性。
当信息安全设备在磁场、高温、高压、震荡或浸水等环境下工作时,信息安全设备容易发生时钟脉冲的偏移,进而失去与认证服务器之间的时间同步。
现有技术中,信息安全设备在失步后生成同步码,用户通过客户端将该同步码传送给认证服务器,认证服务器根据用户输入的同步码进行同步操作。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
现有技术通过非联机的方式对信息安全设备进行同步,需要由用户手工输入同步码,当用户手工输入出错时,也会造成同步失败,导致同步成功率低,安全性差。
发明内容
本发明提供了一种信息安全设备的同步方法和系统,以解决现有技术中同步成功率低以及安全性差的缺陷。
本发明提供了一种信息安全设备的同步方法,应用于包括信息安全设备、主机和认证服务器的系统中,所述信息安全设备包括智能密钥模块和动态令牌模块,所述方法包括以下步骤:
A1、所述动态令牌模块生成动态口令;
A2、所述主机中的客户端获取所述动态口令,将所述动态口令发送给所述认证服务器;
A3、所述认证服务器根据与所述动态令牌模块对应的令牌偏移量,对接收到的动态口令进行匹配,
如果所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令匹配,则执行步骤A4;
如果所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令均不匹配,且与所述认证服务器在同步窗口内生成的动态口令匹配,则执行步骤A5;
如果所述接收到的动态口令与所述认证服务器在同步窗口内生成的动态口令均不匹配,则执行步骤A6;
A4、所述认证服务器向所述客户端返回认证成功消息;
A5、所述认证服务器将与所述动态令牌模块对应的失步标识置位,向所述客户端返回令牌失步消息;
A6、所述认证服务器向所述客户端返回认证失败消息;
当所述信息安全设备与所述客户端建立连接后,所述方法还包括:
B1、所述认证服务器判断与所述动态令牌模块对应的失步标识是否置位,如果置位,则执行步骤B2;否则,结束流程;
B2、所述认证服务器向所述客户端发送失步状态信息;
B3、所述客户端向所述智能密钥模块发送同步指令;
B4、所述智能密钥模块将所述同步指令发送给所述动态令牌模块;
B5、所述动态令牌模块生成随机数,根据所述随机数和自身保存的种子密钥生成第一临时密钥;
B6、所述动态令牌模块根据所述随机数、所述第一临时密钥和第一时间信息生成第一同步码,将所述第一时间信息与预设时长相加,得到更新后的第一时间信息,根据所述随机数、所述第一临时密钥和更新后的第一时间信息生成第二同步码,将所述随机数、所述第一同步码和所述第二同步码发送给所述智能密钥模块;
B7、所述智能密钥模块将所述随机数、所述第一同步码和所述第二同步码发送给所述客户端;
B8、所述客户端将所述随机数、所述第一同步码、所述第二同步码以及与所述动态令牌模块对应的身份信息发送给所述认证服务器;
B9、所述认证服务器根据所述身份信息检索与所述动态令牌模块对应的种子密钥,根据检索到的种子密钥和所述随机数生成第二临时密钥;
B10、所述认证服务器根据所述随机数、所述第二临时密钥和第二时间信息,对所述第一同步码和所述第二同步码进行认证,如果认证通过,则获取令牌偏移时间、所述第一同步码的认证成功时间和所述第二同步码的认证成功时间,并执行步骤B12;否则,执行步骤B11;
B11、所述认证服务器向所述客户端返回同步失败消息,结束流程;
B12、所述认证服务器判断所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔是否为所述预设时长,如果是,则执行步骤B13;否则,返回步骤B11;
B13、所述认证服务器将所述令牌偏移时间保存为与所述动态令牌模块对应的令牌偏移量,向所述客户端返回同步成功消息,将与所述动态令牌模块对应的失步标识复位。
本发明还提供了一种信息安全设备的同步系统,包括信息安全设备、主机和认证服务器,所述信息安全设备包括智能密钥模块和动态令牌模块,所述主机包含客户端;
其中,所述动态令牌模块,包括:
第一生成子模块,用于生成动态口令;
第一接收子模块,用于接收来自所述智能密钥模块的同步指令;
第二生成子模块,用于在所述第一接收子模块接收到所述同步指令后,生成随机数,根据所述随机数和自身保存的种子密钥生成第一临时密钥;根据所述随机数、所述第一临时密钥和第一时间信息生成第一同步码,将所述第一时间信息与预设时长相加,得到更新后的第一时间信息,根据所述随机数、所述第一临时密钥和所述更新后的第一时间信息生成第二同步码;
第一发送子模块,用于将所述第二生成子模块生成的所述随机数、所述第一同步码和所述第二同步码发送给所述智能密钥模块;
所述智能密钥模块,包括:
第二接收子模块,用于接收来自所述客户端的所述同步指令,接收来自所述动态令牌模块的所述随机数、所述第一同步码和所述第二同步码;
第二发送子模块,用于将所述第二接收子模块接收到的所述同步指令发送给所述动态令牌模块,将所述第二接收子模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述客户端;
所述客户端,包括:
第一获取模块,用于获取所述动态令牌模块生成的所述动态口令;
第一发送模块,用于将所述第一获取模块获取到的所述动态口令发送给所述认证服务器;将与所述动态令牌模块对应的身份信息和第一接收模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述认证服务器;在所述第一接收模块接收到来自所述认证服务器的失步状态信息后,向所述智能密钥模块发送所述同步指令;
所述第一接收模块,用于接收来自所述认证服务器的认证成功消息、令牌失步消息、认证失败消息、所述失步状态信息、同步失败消息和同步成功消息,接收来自所述智能密钥模块的所述随机数、所述第一同步码和所述第二同步码;
所述认证服务器,包括:
第二接收模块,用于接收来自所述客户端的所述动态口令;接收来自所述客户端的所述随机数、所述第一同步码、所述第二同步码以及与所述动态令牌模块对应的身份信息;
匹配模块,用于根据与所述动态令牌模块对应的令牌偏移量,对所述第二接收模块接收到的动态口令进行匹配;
第二发送模块,用于在所述匹配模块确定所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令匹配时,向所述客户端发送所述认证成功消息;在所述匹配模块确定所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令均不匹配,且与所述认证服务器在同步窗口内生成的动态口令匹配时,向所述客户端发送所述令牌失步消息;在所述匹配模块确定所述接收到的动态口令与所述认证服务器在同步窗口内生成的动态口令均不匹配时,向所述客户端发送所述认证失败消息;在第一判断模块判断出与所述动态令牌模块对应的失步标识置位时,向所述客户端发送所述失步状态信息;在认证模块对所述第一同步码和所述第二同步码未认证通过时,向所述客户端发送所述同步失败消息;在第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔为所述预设时长时,向所述客户端返回所述同步成功消息;在所述第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔不是所述预设时长时,向所述客户端返回所述同步失败消息;
设置模块,用于在所述匹配模块确定所述接收到的动态口令与所述认证服务器在所述认证窗口内生成的动态口令均不匹配,且与所述认证服务器在所述同步窗口内生成的动态口令匹配时,将与所述动态令牌模块对应的失步标识置位;在所述第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔为所述预设时长时,将与所述动态令牌模块对应的失步标识复位;
所述第一判断模块,用于在所述信息安全设备与所述客户端建立连接后,判断与所述动态令牌模块对应的失步标识是否置位;
检索模块,用于根据所述第二接收模块接收到的所述身份信息检索与所述动态令牌模块对应的种子密钥;
生成模块,用于根据所述检索模块检索到的种子密钥和所述随机数生成第二临时密钥;
所述认证模块,用于根据所述第二接收模块接收到的所述随机数、所述生成模块生成的所述第二临时密钥和第二时间信息,对所述第二接收模块接收到的所述第一同步码和所述第二同步码进行认证;
第二获取模块,用于在所述认证模块对所述第一同步码和所述第二同步码认证通过时,获取令牌偏移时间、所述第一同步码的认证成功时间和所述第二同步码的认证成功时间;
所述第二判断模块,用于在所述认证模块对所述第一同步码和所述第二同步码认证通过时,判断所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔是否为所述预设时长;
第一更新模块,用于在所述第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔为所述预设时长时,将所述第二获取模块获取到的所述令牌偏移时间保存为与所述动态令牌模块对应的令牌偏移量。
本发明达到的有益效果:信息安全设备中的动态令牌模块根据种子密钥生成第一临时密钥,根据第一临时密钥生成第一同步码和第二同步码,并通过主机中的客户端将第一同步码和第二同步码发送给认证服务器;认证服务器对接收到的第一同步码和第二同步码进行认证,并在认证成功后执行同步操作,能够有效避免同步码在传输过程中被篡改或假冒而引起的安全风险,且不需要用户手动输入同步码,提高了使用的方便性,同时解决了由于用户输入出错而导致同步失败的问题,提高了同步的成功率以及同步的安全性。
附图说明
图1为本发明实施例中的信息安全设备的同步系统的结构示意图;
图2和图3为本发明实施例中的信息安全设备的同步方法流程图;
图4为本发明实施例中的信息安全设备的结构示意图;
图5为本发明实施例中的客户端的结构示意图;
图6为本发明实施例中的认证服务器的结构示意图;
图7为本发明实施例中的生成模块670和认证模块680的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的信息安全设备的同步方法应用于包括信息安全设备、主机和认证服务器的系统中,如图1所示,信息安全设备包括智能密钥模块和动态令牌模块,主机中安装有客户端,用户可登录主机中的客户端。动态令牌模块可生成并显示动态口令;客户端获取用户输入的上述动态口令,将该动态口令发送给认证服务器;认证服务器根据与动态令牌模块对应的令牌偏移量,对接收到的动态口令进行匹配,如果接收到的动态口令与认证服务器在认证窗口内生成的动态口令匹配,则向客户端返回认证成功消息;如果接收到的动态口令与认证服务器在认证窗口内生成的动态口令均不匹配,且与认证服务器在同步窗口内生成的动态口令匹配,则将与动态令牌模块对应的失步标识置位,向客户端返回令牌失步消息;如果所述接收到的动态口令与所述认证服务器在同步窗口内生成的动态口令均不匹配,则向客户端返回认证失败消息。
此外,信息安全设备还可以与主机连接,连接方式可以是有线连接,例如,USB连接和串口连接等;也可以是无线连接,例如,蓝牙、WIFI和NFC等方式。
如图2所示,为本发明实施例中的一种信息安全设备的同步方法流程图,包括以下步骤:
步骤201,客户端与信息安全设备中的智能密钥模块建立连接。
具体地,主机中的客户端启动后,通过执行连接函数与信息安全设备中的智能密钥模块建立连接,其中,主机中的客户端与信息安全设备中的智能密钥模块之间的接口可以是有线接口,如USB接口和串口;也可以是无线接口,如蓝牙接口、WIFI接口和NFC接口。
步骤202,客户端提示用户输入PIN码。
步骤203,客户端获取用户输入的PIN码,根据获取到的PIN码生成验PIN指令,将该验PIN指令发送给信息安全设备中的智能密钥模块。
步骤204,智能密钥模块从接收到的验PIN指令中获取PIN码,对PIN码进行验证,如果验证通过,则执行步骤207;否则,执行步骤205。
具体地,智能密钥模块从验PIN指令中获取PIN码后,可以判断获取到的PIN码是否与自身预置的PIN码相同,如果相同,则确定验证通过;否则,确定验证未通过。
步骤205,智能密钥模块向客户端返回验PIN失败消息。
步骤206,客户端显示登录失败信息,并返回步骤202。
步骤207,智能密钥模块将验PIN标识置位,向客户端返回验PIN成功消息。
需要说明的是,当客户端与信息安全设备中的智能密钥模块断开连接后,智能密钥模块将验PIN标识复位。
步骤208,客户端向智能密钥模块发送签名数据。
步骤209,智能密钥模块对接收到的签名数据进行签名,将得到的签名结果返回给客户端。
步骤210,客户端将签名数据和签名结果发送给认证服务器。
步骤211,认证服务器根据接收到的签名数据对接收到的签名结果进行验证,如果验证通过,则执行步骤212;否则,认证服务器向客户端发送验证失败消息,结束流程。
步骤212,认证服务器判断动态令牌模块对应的失步标识是否置位,如果是,则执行步骤213;否则,向客户端发送验证成功消息,结束流程。
步骤213,认证服务器向客户端发送失步状态信息。
步骤214,客户端判断信息安全设备是否支持动态口令功能,如果是,则执行步骤216;否则,执行步骤215。
具体地,客户端可以获取信息安全设备的设备标识,根据该设备标识判断信息安全设备是否支持动态口令功能。
本实施例中,客户端可以从信息安全设备中读取证书序列号,根据该证书序列号或者与该证书序列号关联的用户账号,在本地查询对应的设备标识;也可以从信息安全设备中读取该信息安全设备的设备标识。
客户端获取信息安全设备的设备标识后,可以判断该设备标识的前缀是否为第一预设值,如果是,则确定该信息安全设备支持动态口令功能;否则,确定该信息安全设备不支持动态口令功能。客户端也可以判断信息安全设备的设备标识是否为第二预设值,如果是,则确定该信息安全设备支持动态口令功能;否则,确定该信息安全设备不支持动态口令功能。
例如,第一预设值为“57”,客户端获取到的信息安全设备的设备标识为“5740000006”,判断出该设备标识中包含前缀“57”,与第一预设值相等,进而确定该信息安全设备支持动态口令功能。
步骤215,客户端显示同步失败信息,结束流程。
步骤216,客户端对同步次数进行更新。
具体地,客户端可以将同步次数的取值与预设步长相加,将得到的结果作为更新后的同步次数;也可以将同步次数的取值减去预设步长,将得到的结果作为更新后的同步次数。
例如,同步次数为零,预设步长为1时,客户端将同步次数加1,将同步次数更新为1。
本实施例中,同步次数用于记录自主机中的客户端与信息安全设备中的智能密钥模块建立连接后,客户端中的同步按钮被触发过的次数。当主机中的客户端与信息安全设备中的智能密钥模块断开连接后,客户端将同步次数设置为第三预设值,例如,将同步次数设置为零。
步骤217,客户端判断同步次数是否等于预设阈值,如果是,则执行步骤218;否则,执行步骤219。
例如,同步次数为1,预设阈值为3时,动态令牌模块判断出同步次数不等于预设阈值。
步骤218,客户端显示同步失败信息,结束流程。
步骤219,客户端向智能密钥模块发送同步指令。
步骤220,智能密钥模块判断验PIN标识是否置位,如果是,则执行步骤223;否则,执行步骤221。
步骤221,智能密钥模块向客户端返回错误码。
步骤222,客户端显示同步失败信息,结束流程。
步骤223,智能密钥模块将同步指令发送给动态令牌模块。
其中,同步指令中可以包含随机数长度、第一同步码长度和第二同步码长度。
例如,同步指令中包含随机数长度“4”、第一同步码长度“6”和第二同步码长度“6”。
步骤224,动态令牌模块生成随机数,根据随机数和自身保存的种子密钥生成第一临时密钥。
具体地,动态令牌模块可以根据同步指令中包含的随机数长度,生成相应长度的随机数,并根据该随机数和自身保存的种子密钥分散出第一临时密钥。
本实施例中,动态令牌模块可以将生成的随机数与自身保存的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;对上述多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将上述多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与上述多个分组数据对应的分组密文,对所有分组密文进行组合,得到第一临时密钥。
其中,随机数可以是长度为4字节的数据,种子密钥可以是长度为32字节的数据,第一临时密钥可以是长度为32字节的数据。
例如,随机数长度为“4”,动态令牌模块生成的随机数为“1047”,种子密钥为“65201D80CB58ADE3DD236CAEF6925010”,分散出的第一临时密钥为“C69E38C481FE784214E782909A56E3B5”。
步骤225,动态令牌模块根据随机数、第一临时密钥和第一时间信息,生成第一同步码,将第一时间信息与预设时长相加,得到更新后的第一时间信息,根据随机数、第一临时密钥和更新后的第一时间信息生成第二同步码。
具体地,动态令牌模块可以对预设字符、随机数、第一临时密钥和第一时间信息进行散列,得到第一散列数据,对第一散列数据进行截位,得到第一同步码;动态令牌模块将第一时间信息和预设时长相加,得到更新后的第一时间信息,对预设字符、随机数、第一临时密钥和更新后的第一时间信息进行散列,得到第二散列数据,对第二散列数据进行截位,得到第二同步码。其中,随机数、第一同步码和第二同步码可以均为可见的ASCII码数字。
本实施例中,动态令牌模块可以将预设字符、随机数、第一临时密钥和第一时间信息组合成第一数据,对第一数据进行填充,得到第一消息,并对第一消息进行分组,对得到的分组数据进行迭代压缩,得到第一散列数据,对第一散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将上述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第一同步码。
其中,第一散列数据是长度为32字节的数据,动态令牌模块可以将第一散列数据分为8个字节组,每个字节组包含4个字节,通过对各个字节组中的4个字节进行移位和组合,可将8个字节组转换为8个二进制数。进一步地,动态令牌模块获取上述8个二进制数相加得到的结果,使用该结果对第四预设值取模,再使用得到的取模值对第五预设值取模,得到第一同步码。
类似地,动态令牌模块将第一时间信息和预设时长相加,得到更新后的第一时间信息后,将预设字符、随机数、第一临时密钥和更新后的第一时间信息组合成第二数据,对第二数据进行填充,得到第二消息,并对第二消息进行分组,对得到的分组数据进行迭代压缩,得到第二散列数据,对第二散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将上述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第二同步码。
其中,第二散列数据是长度为32字节的数据,动态令牌模块可以将第二散列数据分为8个字节组,每个字节组包含4个字节,通过对各个字节组中的4个字节进行移位和组合,可将8个字节组转换为8个二进制数。进一步地,动态令牌模块获取上述8个二进制数相加得到的结果,使用该结果对第四预设值取模,再使用得到的取模值对第五预设值取模,得到第二同步码。
例如,预设字符为“A”,随机数为“1047”,第一临时密钥为“C69E38C481FE784214E782909A56E3B5”,预设时长为1分钟,第一时间信息为“1313999189”,第四预设值为“232”,第五预设值为“1000000”,更新后的第一时间信息为“1313999190”,动态令牌模块生成的第一同步码为“645176”,第二同步码为“251294”。
步骤226,动态令牌模块将随机数、第一同步码和第二同步码发送给智能密钥模块。
例如,动态令牌模块将随机数“1047”、第一同步码“645176”和第二同步码“251294”发送给智能密钥模块。
步骤227,智能密钥模块将随机数、第一同步码和第二同步码发送给客户端。
例如,智能密钥模块将随机数“1047”、第一同步码“645176”和第二同步码“251294”发送给客户端。
步骤228,客户端将接收到的随机数、第一同步码、第二同步码以及与信息安全设备对应的身份信息发送给认证服务器。
其中,与信息安全设备对应的身份信息可以是信息安全设备的设备标识或证书序列号,也可以是与信息安全设备关联的用户账号。
例如,客户端将随机数“1047”、第一同步码“645176”、第二同步码“251294”和信息安全设备的设备标识“5740000006”发送给认证服务器。
步骤229,认证服务器根据接收到的身份信息检索与信息安全设备中的动态令牌模块对应的种子密钥,根据检索到的种子密钥和接收到的随机数生成第二临时密钥。
具体地,认证服务器可以根据接收到的身份信息检索与信息安全设备中的动态令牌模块对应的种子密钥,根据检索到的种子密钥和接收到的随机数分散出第二临时密钥;也可以根据用户证书号或信息安全设备的设备标识检索与信息安全设备中的动态令牌模块对应的种子密钥,根据检索到的种子密钥和接收到的随机数分散出第二临时密钥。
本实施例中,认证服务器可以将接收到的随机数与检索到的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;对上述多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将上述多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与上述多个分组数据对应的分组密文,对所有分组密文进行组合,得到第二临时密钥。
其中,接收到的随机数可以是长度为4字节的数据,检索到的种子密钥可以是长度为32字节的数据,第二临时密钥可以是长度为32字节的数据。
例如,认证服务器接收到的随机数为“1047”,接收到的信息安全设备的设备标识为“5740000006”,根据设备标识“5740000006”检索到的种子密钥为“65201D80CB58ADE3DD236CAEF6925010”,分散出的第二临时密钥为“C69E38C481FE784214E782909A56E3B5”。
步骤230,认证服务器根据随机数、第二临时密钥和第二时间信息,对接收到的第一同步码和第二同步码进行认证,如果认证通过,则执行步骤233;否则,执行步骤231;
具体地,认证服务器可以对预设字符、随机数、第二临时密钥和第二时间信息进行散列,得到第三散列数据,对第三散列数据进行截位,得到第三同步码,判断第三同步码是否与接收到的第一同步码匹配,如果不匹配,则确认接收到的第一同步码和第二同步码认证未通过;如果匹配,则将第二时间信息和预设时长相加,得到更新后的第二时间信息,对预设字符、随机数、第二临时密钥和更新后的第二时间信息进行散列,得到第四散列数据,对第四散列数据进行截位,得到第四同步码,判断第四同步码是否与接收到的第二同步码匹配,如果不匹配,则确认接收到的第一同步码和第二同步码认证未通过;如果匹配,则确认接收到的第一同步码和第二同步码认证通过。
本实施例中,认证服务器可以将预设字符、随机数、第二临时密钥和第二时间信息组合成第三数据,对第三数据进行填充,得到第三消息,并对第三消息进行分组,对得到的分组数据进行迭代压缩,得到第三散列数据,对第三散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将上述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第三同步码。
其中,第三散列数据是长度为32字节的数据,认证服务器可以将第三散列数据分为8个字节组,每个字节组包含4个字节,通过对各个字节组中的4个字节进行移位和组合,可将8个字节组转换为8个二进制数。进一步地,认证服务器获取上述8个二进制数相加得到的结果,使用该结果对第四预设值取模,再使用得到的取模值对第五预设值取模,得到第三同步码。上述第二时间信息可以是一个数值,相应地,认证服务器计算得到的第三同步码也是一个数值,认证服务器可以判断第三同步码是否与接收到的第一同步码相同,如果是,则确定第三同步码与第一同步码匹配;否则,确定第三同步码与第一同步码不匹配。上述第二时间信息也可以是认证窗口内的时刻对应的多个数值,相应地,认证服务器计算得到的第三同步码也是多个数值,认证服务器还可以判断第三同步码中是否包含接收到的第一同步码,如果是,则确定第三同步码与第一同步码匹配;否则,确定第三同步码与第一同步码不匹配。
类似地,认证服务器将第二时间信息和预设时长相加,得到更新后的第二时间信息后,将预设字符、随机数、第二临时密钥和更新后的第二时间信息组合成第四数据,对第四数据进行填充,得到第四消息,并对第四消息进行分组,对得到的分组数据进行迭代压缩,得到第四散列数据,对第四散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将上述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第四同步码。
其中,第四散列数据是长度为32字节的数据,认证服务器可以将第四散列数据分为8个字节组,每个字节组包含4个字节,通过对各个字节组中的4个字节进行移位和组合,可将8个字节组转换为8个二进制数。进一步地,动态令牌模块获取上述8个二进制数相加得到的结果,使用该结果对第四预设值取模,再使用得到的取模值对第五预设值取模,得到第四同步码。上述第二时间信息可以是一个数值,相应地,认证服务器计算得到的第四同步码也是一个数值,认证服务器可以判断第四同步码是否与接收到的第二同步码相同,如果是,则确定第四同步码与第二同步码匹配;否则,确定第四同步码与第二同步码不匹配。上述第二时间信息也可以是认证窗口内的时刻对应的多个数值,相应地,认证服务器计算得到的第四同步码也是多个数值,认证服务器还可以判断第四同步码中是否包含接收到的第二同步码,如果是,则确定第四同步码与第二同步码匹配;否则,确定第四同步码与第二同步码不匹配。
例如,预设字符为“A”,随机数为“1047”,第二临时密钥为“C69E38C481FE784214E782909A56E3B5”,预设时长为1分钟,系统时间为“1313999191”,认证窗口为±2分钟,则第二时间信息为“1313999191±2”,即“[1313999189,1313999193]”,更新后的第二时间信息为“[1313999190,1313999194]”。第四预设值为“232”,第五预设值为“1000000”,认证服务器生成的第三同步码中包含与接收到的第一同步码“645176”相同的数值,生成的第四同步码中包含与接收到的第二同步码“251294”相同的数值,判断出第三同步码与接收到的第一同步码匹配,第四同步码与接收到的第二同步码匹配,确定接收到的第一同步码和第二同步码认证通过。
步骤231,认证服务器向客户端返回错误码。
步骤232,客户端显示同步失败信息,结束流程。
步骤233,认证服务器获取令牌偏移时间、第一同步码的认证成功时间和第二同步码的认证成功时间。
具体地,认证服务器可以获取系统时间与第一同步码的认证成功时间之间的差值,将该差值作为令牌偏移时间。
例如,系统时间为“1313999191”,第一同步码的认证成功时间为“1313999189”,令牌偏移时间为1313999191-1313999189=2分钟。
步骤234,认证服务器判断第一同步码的认证成功时间和第二同步码的认证成功时间之间的间隔是否为预设时长,如果是,则执行步骤235;否则,返回步骤231。
例如,预设时长为1分钟,第一同步码的认证成功时间为“1313999189”,第二同步码的认证成功时间为“1313999190”时,认证服务器判断出第一同步码的认证成功时间和第二同步码的认证成功时间之间的间隔为预设时长。
步骤235,认证服务器将令牌偏移时间保存为与动态令牌模块对应的令牌偏移量,向客户端返回同步成功消息,将动态令牌模块对应的失步标识复位。
步骤236,客户端显示同步成功信息。
本发明实施例中,信息安全设备中的动态令牌模块根据种子密钥生成第一临时密钥,根据第一临时密钥生成第一同步码和第二同步码,并通过主机中的客户端将第一同步码和第二同步码发送给认证服务器;认证服务器对接收到的第一同步码和第二同步码进行认证,并在认证成功后执行同步操作,能够有效避免同步码在传输过程中被篡改或假冒而引起的安全风险,且不需要用户手动输入同步码,提高了使用的方便性,同时解决了由于用户输入出错而导致同步失败的问题,提高了同步的成功率以及同步的安全性。
另外,在本发明的其他实施方式中,主机中的客户端判断出信息安全设备支持动态口令功能之后,还可以判断同步次数是否等于预设阈值,如果是,则显示同步失败信息,结束流程;否则,对同步次数进行更新,并执行步骤219,同样可以实现本发明的发明目的。
本发明实施例还提供了一种信息安全设备的同步系统,包括信息安全设备、主机和认证服务器,上述信息安全设备如图4所示,包括动态令牌模块410和智能密钥模块420,其中,动态令牌模块410,包括:
第一生成子模块411,用于生成动态口令;
第一接收子模块412,用于接收来自智能密钥模块420的同步指令;
第二生成子模块413,用于在第一接收子模块412接收到同步指令后,生成随机数,根据随机数和自身保存的种子密钥生成第一临时密钥;根据随机数、第一临时密钥和第一时间信息生成第一同步码,将第一时间信息与预设时长相加,得到更新后的第一时间信息,根据随机数、第一临时密钥和更新后的第一时间信息生成第二同步码;
第一发送子模块414,用于将第二生成子模块413生成的随机数、第一同步码和第二同步码发送给智能密钥模块420;
智能密钥模块420,包括:
第二接收子模块421,用于接收来自客户端的同步指令,接收来自动态令牌模块410的随机数、第一同步码和第二同步码;
第二发送子模块422,用于将第二接收子模块421接收到的同步指令发送给动态令牌模块410,将第二接收子模块421接收到的随机数、第一同步码和第二同步码发送给客户端;
其中,上述第二生成子模块413根据随机数和自身保存的种子密钥生成第一临时密钥,具体为:
第二生成子模块413将随机数与自身保存的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;第二生成子模块413对多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与上述多个分组数据对应的分组密文,对所有分组密文进行组合,得到第一临时密钥;
上述第二生成子模块413根据随机数、第一临时密钥和第一时间信息生成第一同步码,具体为:
第二生成子模块413对预设字符、随机数、第一临时密钥和第一时间信息进行散列,得到第一散列数据,对第一散列数据进行截位,得到第一同步码;
上述第二生成子模块413根据随机数、第一临时密钥和更新后的第一时间信息生成第二同步码,具体为:
第二生成子模块413对预设字符、随机数、第一临时密钥和更新后的第一时间信息进行散列,得到第二散列数据,对第二散列数据进行截位,得到第二同步码;
本发明实施例中,上述第二生成子模块413对预设字符、随机数、第一临时密钥和第一时间信息进行散列,得到第一散列数据,具体为:
第二生成子模块413将预设字符、随机数、第一临时密钥和第一时间信息组合成第一数据,对第一数据进行填充,得到第一消息,并对第一消息进行分组,对得到的分组数据进行迭代压缩,得到第一散列数据;
上述第二生成子模块413对预设字符、随机数、第一临时密钥和更新后的第一时间信息进行散列,得到第二散列数据,具体为:
第二生成子模块413将预设字符、随机数、第一临时密钥和更新后的第一时间信息组合成第二数据,对第二数据进行填充,得到第二消息,并对第二消息进行分组,对得到的分组数据进行迭代压缩,得到第二散列数据;
上述第二生成子模块413对第一散列数据进行截位,得到第一同步码,具体为:
第二生成子模块413对第一散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第一同步码;
上述第二生成子模块413对第二散列数据进行截位,得到第二同步码,具体为:
第二生成子模块413对第二散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第二同步码。
本发明实施例中的信息安全设备的同步系统中,主机包含客户端,该客户端如图5所示,包括:
第一获取模块510,用于获取动态令牌模块生成的动态口令;
第一发送模块520,用于将第一获取模块510获取到的动态口令发送给认证服务器;将与动态令牌模块410对应的身份信息和第一接收模块530接收到的随机数、第一同步码和第二同步码发送给认证服务器;在第一接收模块530接收到来自认证服务器的失步状态信息后,向智能密钥模块420发送同步指令;
第一接收模块530,用于接收来自认证服务器的认证成功消息、令牌失步消息、认证失败消息、失步状态信息、同步失败消息和同步成功消息,接收来自智能密钥模块420的随机数、第一同步码和第二同步码;
进一步地,上述智能密钥模块420中的第二接收子模块421,还用于接收来自客户端的验PIN指令;
相应地,上述智能密钥模块420,还包括:
获取子模块423,用于从第二接收子模块421接收到的验PIN指令中获取PIN码;
验证子模块424,用于对获取子模块423获取到的PIN码进行验证;
设置子模块425,用于在验证子模块424对PIN码验证通过后,将验PIN标识置位;当客户端与信息安全设备断开连接后,将验PIN标识复位;
上述第二发送子模块422,还用于在验证子模块424对PIN码未验证通过后,向客户端发送验PIN失败消息;在验证子模块424对PIN码验证通过后,向客户端发送验PIN成功消息;
上述第一接收模块530,还用于接收来自智能密钥模块420的验PIN失败消息和验PIN成功消息;
上述智能密钥模块420,还包括:
第一判断子模块426,用于在第二接收子模块421接收到来自客户端的同步指令后,判断验PIN标识是否置位;
第二发送子模块422,具体用于将第二接收子模块421接收到的随机数、第一同步码和第二同步码发送给客户端;在第一判断子模块426判断出验PIN标识置位后,将同步指令发送给动态令牌模块410;在第一判断子模块426判断出验PIN标识未置位后,向客户端发送错误码。
进一步地,上述客户端,还包括:
第三获取模块540,用于在第一接收模块530接收到来自认证服务器的失步状态信息后,获取信息安全设备的设备标识;
具体地,上述第三获取模块540,具体用于在第一接收模块530接收到来自认证服务器的失步状态信息后,从信息安全设备中读取证书序列号,根据证书序列号或者与证书序列号关联的用户账号,在本地查询对应的设备标识;
或者,从信息安全设备中读取信息安全设备的设备标识。
第三判断模块550,用于根据第三获取模块540获取到的设备标识判断信息安全设备是否支持动态口令功能;
具体地,上述第三判断模块550,具体用于判断第三获取模块540获取到的信息安全设备的设备标识的前缀是否为第一预设值,如果是,则确定信息安全设备支持动态口令功能;否则,确定信息安全设备不支持动态口令功能;
或者,
判断第三获取模块540获取到的信息安全设备的设备标识是否为第二预设值,如果是,则确定信息安全设备支持动态口令功能;否则,确定信息安全设备不支持动态口令功能。
相应地,上述第一发送模块520,具体用于将第一获取模块510获取到的动态口令发送给认证服务器;将与动态令牌模块410对应的身份信息和第一接收模块530接收到的随机数、第一同步码和第二同步码发送给认证服务器;在第三判断模块550判断出信息安全设备支持动态口令功能后,向智能密钥模块420发送同步指令;
上述客户端,还包括:
显示模块560,用于在第三判断模块550判断出信息安全设备不支持动态口令功能后,显示同步失败信息。
进一步地,上述客户端,还包括:
第二更新模块570,用于在第一接收模块530接收到来自认证服务器的失步状态信息后,对同步次数进行更新;当客户端与智能密钥模块420断开连接后,将同步次数设置为第三预设值;
第四判断模块580,用于判断第二更新模块570更新后的同步次数是否等于预设阈值;
相应地,上述显示模块560,还用于在第四判断模块580判断出同步次数等于预设阈值时,显示同步失败信息;
上述第一发送模块520,具体用于将第一获取模块510获取到的动态口令发送给认证服务器;将与动态令牌模块410对应的身份信息和第一接收模块530接收到的随机数、第一同步码和第二同步码发送给认证服务器;在第四判断模块580判断出同步次数不等于预设阈值时,向智能密钥模块420发送同步指令。
需要说明的是,本发明的其他实施方式中,客户端还可以包括:
第五判断模块,用于在第一接收模块530接收到来自认证服务器的失步状态信息后,判断同步次数是否等于预设阈值;
第三更新模块,用于在第五判断模块判断出同步次数不等于预设阈值时,对同步次数进行更新,当客户端与智能密钥模块420断开连接后,将同步次数设置为第三预设值;
相应地,上述显示模块560,还用于在第五判断模块判断出同步次数等于预设阈值时,显示同步失败信息;
上述第一发送模块520,具体用于将第一获取模块510获取到的动态口令发送给认证服务器;将动态令牌模块410对应的身份信息和第一接收模块530接收到的随机数、第一同步码和第二同步码发送给认证服务器;在第五判断模块判断出同步次数不等于预设阈值时,向智能密钥模块420发送同步指令。
本发明实施例中的信息安全设备的同步系统中,认证服务器如图6所示,包括:
第二接收模块610,用于接收来自客户端的动态口令;接收来自客户端的随机数、第一同步码、第二同步码以及与动态令牌模块410对应的身份信息;
匹配模块620,用于根据与动态令牌模块410对应的令牌偏移量,对第二接收模块610接收到的动态口令进行匹配;
第二发送模块630,用于在匹配模块620确定接收到的动态口令与认证服务器在认证窗口内生成的动态口令匹配时,向客户端发送认证成功消息;在匹配模块620确定接收到的动态口令与认证服务器在认证窗口内生成的动态口令均不匹配,且与认证服务器在同步窗口内生成的动态口令匹配时,向客户端发送令牌失步消息;在匹配模块620确定接收到的动态口令与认证服务器在同步窗口内生成的动态口令均不匹配时,向客户端发送认证失败消息;在第一判断模块650判断出与动态令牌模块410对应的失步标识置位时,向客户端发送失步状态信息;在认证模块680对第一同步码和第二同步码未认证通过时,向客户端发送同步失败消息;在第二判断模块710判断出第一同步码的认证成功时间和第二同步码的认证成功时间之间的间隔为预设时长时,向客户端返回同步成功消息;在第二判断模块710判断出第一同步码的认证成功时间和第二同步码的认证成功时间之间的间隔不是预设时长时,向客户端返回同步失败消息;
设置模块640,用于在匹配模块620确定接收到的动态口令与认证服务器在认证窗口内生成的动态口令均不匹配,且与认证服务器在同步窗口内生成的动态口令匹配时,将与动态令牌模块410对应的失步标识置位;在第二判断模块710判断出第一同步码的认证成功时间和第二同步码的认证成功时间之间的间隔为预设时长时,将与动态令牌模块410对应的失步标识复位;
第一判断模块650,用于在信息安全设备与客户端建立连接后,判断与动态令牌模块410对应的失步标识是否置位;
检索模块660,用于根据第二接收模块610接收到的身份信息检索与动态令牌模块410对应的种子密钥;
生成模块670,用于根据检索模块660检索到的种子密钥和随机数生成第二临时密钥;
认证模块680,用于根据第二接收模块610接收到的随机数、生成模块670生成的第二临时密钥和第二时间信息,对第二接收模块610接收到的第一同步码和第二同步码进行认证;
第二获取模块690,用于在认证模块680对第一同步码和第二同步码认证通过时,获取令牌偏移时间、第一同步码的认证成功时间和第二同步码的认证成功时间;
第二判断模块710,用于在认证模块680对第一同步码和第二同步码认证通过时,判断第一同步码的认证成功时间和第二同步码的认证成功时间之间的间隔是否为预设时长;
第一更新模块720,用于在第二判断模块710判断出第一同步码的认证成功时间和第二同步码的认证成功时间之间的间隔为预设时长时,将第二获取模块690获取到的令牌偏移时间保存为与动态令牌模块410对应的令牌偏移量。
其中,上述生成模块670如图7所示,包括:
分组子模块671,用于将随机数与检索到的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;
组合子模块672,用于对分组子模块671得到的多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与多个分组数据对应的分组密文,对所有分组密文进行组合,得到第二临时密钥。
上述认证模块680如图7所示,包括:
第一散列子模块681,用于对预设字符、随机数、第二临时密钥和第二时间信息进行散列,得到第三散列数据;
具体地,上述第一散列子模块681,具体用于将预设字符、随机数、第二临时密钥和第二时间信息组合成第三数据,对第三数据进行填充,得到第三消息,并对第三消息进行分组,对得到的分组数据进行迭代压缩,得到第三散列数据;
第一截位子模块682,用于对第一散列子模块681得到的第三散列数据进行截位,得到第三同步码;
具体地,上述第一截位子模块682,具体用于对第三散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第三同步码;
第二判断子模块683,用于判断第一截位子模块682得到的第三同步码是否与第一同步码匹配,如果不匹配,则确认第一同步码和第二同步码认证未通过;
更新子模块684,用于在第二判断子模块683判断出第三同步码与第一同步码匹配时,将第二时间信息和预设时长相加,得到更新后的第二时间信息;
第二散列子模块685,用于对预设字符、随机数、第二临时密钥和更新子模块684更新后的第二时间信息进行散列,得到第四散列数据;
具体地,上述第二散列子模块685,具体用于将预设字符、随机数、第二临时密钥和更新后的第二时间信息组合成第四数据,对第四数据进行填充,得到第四消息,并对第四消息进行分组,对得到的分组数据进行迭代压缩,得到第四散列数据;
第二截位子模块686,用于对第二散列子模块685得到的第四散列数据进行截位,得到第四同步码;
具体地,上述第二截位子模块686,具体用于对第四散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到第四同步码。
第三判断子模块687,用于判断第二截位子模块686得到的第四同步码是否与第二同步码匹配,如果不匹配,则确认第一同步码和第二同步码认证未通过;如果匹配,则确认第一同步码和第二同步码认证通过。
进一步地,上述客户端中的第一发送模块520,还用于在第一接收模块530接收到来自智能密钥模块420的验PIN成功消息后,向智能密钥模块420发送签名数据;
上述智能密钥模块420中的第二接收子模块421,还用于接收来自客户端的签名数据;
相应地,上述智能密钥模块420,还包括:
签名子模块427,用于对第二接收子模块421接收到的签名数据进行签名;
上述第二发送子模块422,还用于将签名子模块427得到的签名结果返回给客户端;
上述客户端中的第一接收模块530,还用于接收来自智能密钥模块420的签名结果;
上述客户端中的第一发送模块520,还用于将签名数据和第一接收模块530接收到的签名结果发送给认证服务器;
上述认证服务器中的第二接收模块610,还用于接收来自客户端的签名数据和签名结果;
相应地,上述认证服务器,还包括:
验证模块730,用于根据第二接收模块610接收到的签名数据对第二接收模块610接收到的签名结果进行验证;
第一判断模块650,具体用于在验证模块730对签名结果验证通过后,判断与动态令牌模块410对应的失步标识是否置位;
第二发送模块630,还用于在验证模块730对签名结果未验证通过后,向客户端发送验证失败消息。
本发明实施例中,信息安全设备中的动态令牌模块410根据种子密钥生成第一临时密钥,根据第一临时密钥生成第一同步码和第二同步码,并通过主机中的客户端将第一同步码和第二同步码发送给认证服务器;认证服务器对接收到的第一同步码和第二同步码进行认证,并在认证成功后执行同步操作,能够有效避免同步码在传输过程中被篡改或假冒而引起的安全风险,且不需要用户手动输入同步码,提高了使用的方便性,同时解决了由于用户输入出错而导致同步失败的问题,提高了同步的成功率以及同步的安全性。
结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (24)
1.一种信息安全设备的同步方法,其特征在于,应用于包括信息安全设备、主机和认证服务器的系统中,所述信息安全设备包括智能密钥模块和动态令牌模块,所述方法包括以下步骤:
A1、所述动态令牌模块生成动态口令;
A2、所述主机中的客户端获取所述动态口令,将所述动态口令发送给所述认证服务器;
A3、所述认证服务器根据与所述动态令牌模块对应的令牌偏移量,对接收到的动态口令进行匹配,
如果所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令匹配,则执行步骤A4;
如果所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令均不匹配,且与所述认证服务器在同步窗口内生成的动态口令匹配,则执行步骤A5;
如果所述接收到的动态口令与所述认证服务器在同步窗口内生成的动态口令均不匹配,则执行步骤A6;
A4、所述认证服务器向所述客户端返回认证成功消息;
A5、所述认证服务器将与所述动态令牌模块对应的失步标识置位,向所述客户端返回令牌失步消息;
A6、所述认证服务器向所述客户端返回认证失败消息;
当所述信息安全设备与所述客户端建立连接后,所述方法还包括:
B1、所述认证服务器判断与所述动态令牌模块对应的失步标识是否置位,如果置位,则执行步骤B2;否则,结束流程;
B2、所述认证服务器向所述客户端发送失步状态信息;
B3、所述客户端向所述智能密钥模块发送同步指令;
B4、所述智能密钥模块将所述同步指令发送给所述动态令牌模块;
B5、所述动态令牌模块生成随机数,根据所述随机数和自身保存的种子密钥生成第一临时密钥;
B6、所述动态令牌模块根据所述随机数、所述第一临时密钥和第一时间信息生成第一同步码,将所述第一时间信息与预设时长相加,得到更新后的第一时间信息,根据所述随机数、所述第一临时密钥和更新后的第一时间信息生成第二同步码,将所述随机数、所述第一同步码和所述第二同步码发送给所述智能密钥模块;
B7、所述智能密钥模块将所述随机数、所述第一同步码和所述第二同步码发送给所述客户端;
B8、所述客户端将所述随机数、所述第一同步码、所述第二同步码以及与所述动态令牌模块对应的身份信息发送给所述认证服务器;
B9、所述认证服务器根据所述身份信息检索与所述动态令牌模块对应的种子密钥,根据检索到的种子密钥和所述随机数生成第二临时密钥;
B10、所述认证服务器根据所述随机数、所述第二临时密钥和第二时间信息,对所述第一同步码和所述第二同步码进行认证,如果认证通过,则获取令牌偏移时间、所述第一同步码的认证成功时间和所述第二同步码的认证成功时间,并执行步骤B12;否则,执行步骤B11;
B11、所述认证服务器向所述客户端返回同步失败消息,结束流程;
B12、所述认证服务器判断所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔是否为所述预设时长,如果是,则执行步骤B13;否则,返回步骤B11;
B13、所述认证服务器将所述令牌偏移时间保存为与所述动态令牌模块对应的令牌偏移量,向所述客户端返回同步成功消息,将与所述动态令牌模块对应的失步标识复位。
2.如权利要求1所述的方法,其特征在于,还包括:
C1、所述智能密钥模块接收来自所述客户端的验PIN指令,从所述验PIN指令中获取PIN码,对所述PIN码进行验证,如果验证通过,则执行步骤C3;否则,执行步骤C2;
C2、所述智能密钥模块向所述客户端发送验PIN失败消息;
C3、所述智能密钥模块将验PIN标识置位,向所述客户端发送验PIN成功消息;
所述步骤B3之后,还包括:
所述智能密钥模块判断所述验PIN标识是否置位,如果是,则执行步骤B4;否则,向所述客户端发送错误码;
所述方法,还包括:
当所述客户端与所述信息安全设备断开连接后,所述智能密钥模块将所述验PIN标识复位。
3.如权利要求2所述的方法,其特征在于,所述智能密钥模块向所述客户端发送验PIN成功消息之后,还包括:
D1、所述客户端向所述智能密钥模块发送签名数据;
D2、所述智能密钥模块对所述签名数据进行签名,将得到的签名结果返回给所述客户端;
D3、所述客户端将所述签名数据和所述签名结果发送给所述认证服务器;
D4、所述认证服务器根据所述签名数据对所述签名结果进行验证,如果验证通过,则执行步骤B1;否则,向所述客户端发送验证失败消息。
4.如权利要求1所述的方法,其特征在于,所述步骤B2之后,还包括:
所述客户端获取所述信息安全设备的设备标识,根据所述设备标识判断所述信息安全设备是否支持动态口令功能,如果是,则执行步骤B3;否则,显示同步失败信息,结束流程。
5.如权利要求4所述的方法,其特征在于,所述客户端获取所述信息安全设备的设备标识,具体为:
所述客户端从所述信息安全设备中读取证书序列号,根据所述证书序列号或者与所述证书序列号关联的用户账号,在本地查询对应的设备标识;
或者,从所述信息安全设备中读取所述信息安全设备的设备标识。
6.如权利要求4所述的方法,其特征在于,所述客户端根据所述设备标识判断所述信息安全设备是否支持动态口令功能,具体为:
所述客户端判断所述信息安全设备的设备标识的前缀是否为第一预设值,如果是,则确定所述信息安全设备支持动态口令功能;否则,确定所述信息安全设备不支持动态口令功能;
或者,
所述客户端判断所述信息安全设备的设备标识是否为第二预设值,如果是,则确定所述信息安全设备支持动态口令功能;否则,确定所述信息安全设备不支持动态口令功能。
7.如权利要求1所述的方法,其特征在于,所述步骤B2之后,还包括:
所述客户端对同步次数进行更新,判断所述同步次数是否等于预设阈值,如果是,则显示同步失败信息,结束流程;否则,执行步骤B3;
所述方法,还包括:
当所述客户端与所述智能密钥模块断开连接后,所述客户端将所述同步次数设置为第三预设值。
8.如权利要求1所述的方法,其特征在于,所述步骤B2之后,还包括:
所述客户端判断同步次数是否等于预设阈值,如果是,则显示同步失败信息,结束流程;否则,对所述同步次数进行更新,并执行步骤B3;
所述方法,还包括:
当所述客户端与所述智能密钥模块断开连接后,所述客户端将所述同步次数设置为第三预设值。
9.如权利要求1所述的方法,其特征在于,所述动态令牌模块根据所述随机数和自身保存的种子密钥生成第一临时密钥,具体为:
所述动态令牌模块将所述随机数与所述自身保存的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;
所述动态令牌模块对所述多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将所述多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与所述多个分组数据对应的分组密文,对所有分组密文进行组合,得到所述第一临时密钥;
所述认证服务器根据检索到的种子密钥和所述随机数生成第二临时密钥,具体为:
所述认证服务器将所述随机数与所述检索到的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;
所述认证服务器对所述多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将所述多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与所述多个分组数据对应的分组密文,对所有分组密文进行组合,得到所述第二临时密钥。
10.如权利要求1所述的方法,其特征在于,所述动态令牌模块根据所述随机数、所述第一临时密钥和第一时间信息生成第一同步码,具体为:
所述动态令牌模块对预设字符、所述随机数、所述第一临时密钥和所述第一时间信息进行散列,得到第一散列数据,对所述第一散列数据进行截位,得到所述第一同步码;
所述动态令牌模块根据所述随机数、所述第一临时密钥和更新后的第一时间信息生成第二同步码,具体为:
所述动态令牌模块对所述预设字符、所述随机数、所述第一临时密钥和所述更新后的第一时间信息进行散列,得到第二散列数据,对所述第二散列数据进行截位,得到所述第二同步码;
所述认证服务器根据所述随机数、所述第二临时密钥和第二时间信息,对所述第一同步码和所述第二同步码进行认证,具体为:
所述认证服务器对所述预设字符、所述随机数、所述第二临时密钥和所述第二时间信息进行散列,得到第三散列数据,对所述第三散列数据进行截位,得到第三同步码,判断所述第三同步码是否与所述第一同步码匹配,如果不匹配,则确认所述第一同步码和所述第二同步码认证未通过;如果匹配,则将所述第二时间信息和所述预设时长相加,得到更新后的第二时间信息,对所述预设字符、所述随机数、所述第二临时密钥和所述更新后的第二时间信息进行散列,得到第四散列数据,对所述第四散列数据进行截位,得到第四同步码,判断所述第四同步码是否与所述第二同步码匹配,如果不匹配,则确认所述第一同步码和所述第二同步码认证未通过;如果匹配,则确认所述第一同步码和所述第二同步码认证通过。
11.如权利要求10所述的方法,其特征在于,所述动态令牌模块对预设字符、所述随机数、所述第一临时密钥和所述第一时间信息进行散列,得到第一散列数据,具体为:
所述动态令牌模块将所述预设字符、所述随机数、所述第一临时密钥和所述第一时间信息组合成第一数据,对所述第一数据进行填充,得到第一消息,并对所述第一消息进行分组,对得到的分组数据进行迭代压缩,得到所述第一散列数据;
所述动态令牌模块对所述预设字符、所述随机数、所述第一临时密钥和所述更新后的第一时间信息进行散列,得到第二散列数据,具体为:
所述动态令牌模块将所述预设字符、所述随机数、所述第一临时密钥和所述更新后的第一时间信息组合成第二数据,对所述第二数据进行填充,得到第二消息,并对所述第二消息进行分组,对得到的分组数据进行迭代压缩,得到所述第二散列数据;
所述认证服务器对所述预设字符、所述随机数、所述第二临时密钥和所述第二时间信息进行散列,得到第三散列数据,具体为:
所述认证服务器将所述预设字符、所述随机数、所述第二临时密钥和所述第二时间信息组合成第三数据,对所述第三数据进行填充,得到第三消息,并对所述第三消息进行分组,对得到的分组数据进行迭代压缩,得到所述第三散列数据;
所述认证服务器对所述预设字符、所述随机数、所述第二临时密钥和所述更新后的第二时间信息进行散列,得到第四散列数据,具体为:
所述认证服务器将所述预设字符、所述随机数、所述第二临时密钥和所述更新后的第二时间信息组合成第四数据,对所述第四数据进行填充,得到第四消息,并对所述第四消息进行分组,对得到的分组数据进行迭代压缩,得到所述第四散列数据。
12.如权利要求10所述的方法,其特征在于,所述动态令牌模块对所述第一散列数据进行截位,得到所述第一同步码,具体为:
所述动态令牌模块对所述第一散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第一同步码;
所述动态令牌模块对所述第二散列数据进行截位,得到所述第二同步码,具体为:
所述动态令牌模块对所述第二散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第二同步码;
所述认证服务器对所述第三散列数据进行截位,得到第三同步码,具体为:
所述认证服务器对所述第三散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第三同步码;
所述认证服务器对所述第四散列数据进行截位,得到第四同步码,具体为:
所述认证服务器对所述第四散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第四同步码。
13.一种信息安全设备的同步系统,其特征在于,包括信息安全设备、主机和认证服务器,所述信息安全设备包括智能密钥模块和动态令牌模块,所述主机包含客户端;
其中,所述动态令牌模块,包括:
第一生成子模块,用于生成动态口令;
第一接收子模块,用于接收来自所述智能密钥模块的同步指令;
第二生成子模块,用于在所述第一接收子模块接收到所述同步指令后,生成随机数,根据所述随机数和自身保存的种子密钥生成第一临时密钥;根据所述随机数、所述第一临时密钥和第一时间信息生成第一同步码,将所述第一时间信息与预设时长相加,得到更新后的第一时间信息,根据所述随机数、所述第一临时密钥和所述更新后的第一时间信息生成第二同步码;
第一发送子模块,用于将所述第二生成子模块生成的所述随机数、所述第一同步码和所述第二同步码发送给所述智能密钥模块;
所述智能密钥模块,包括:
第二接收子模块,用于接收来自所述客户端的所述同步指令,接收来自所述动态令牌模块的所述随机数、所述第一同步码和所述第二同步码;
第二发送子模块,用于将所述第二接收子模块接收到的所述同步指令发送给所述动态令牌模块,将所述第二接收子模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述客户端;
所述客户端,包括:
第一获取模块,用于获取所述动态令牌模块生成的所述动态口令;
第一发送模块,用于将所述第一获取模块获取到的所述动态口令发送给所述认证服务器;将与所述动态令牌模块对应的身份信息和第一接收模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述认证服务器;在所述第一接收模块接收到来自所述认证服务器的失步状态信息后,向所述智能密钥模块发送所述同步指令;
所述第一接收模块,用于接收来自所述认证服务器的认证成功消息、令牌失步消息、认证失败消息、所述失步状态信息、同步失败消息和同步成功消息,接收来自所述智能密钥模块的所述随机数、所述第一同步码和所述第二同步码;
所述认证服务器,包括:
第二接收模块,用于接收来自所述客户端的所述动态口令;接收来自所述客户端的所述随机数、所述第一同步码、所述第二同步码以及与所述动态令牌模块对应的身份信息;
匹配模块,用于根据与所述动态令牌模块对应的令牌偏移量,对所述第二接收模块接收到的动态口令进行匹配;
第二发送模块,用于在所述匹配模块确定所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令匹配时,向所述客户端发送所述认证成功消息;在所述匹配模块确定所述接收到的动态口令与所述认证服务器在认证窗口内生成的动态口令均不匹配,且与所述认证服务器在同步窗口内生成的动态口令匹配时,向所述客户端发送所述令牌失步消息;在所述匹配模块确定所述接收到的动态口令与所述认证服务器在同步窗口内生成的动态口令均不匹配时,向所述客户端发送所述认证失败消息;在第一判断模块判断出与所述动态令牌模块对应的失步标识置位时,向所述客户端发送所述失步状态信息;在认证模块对所述第一同步码和所述第二同步码未认证通过时,向所述客户端发送所述同步失败消息;在第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔为所述预设时长时,向所述客户端返回所述同步成功消息;在所述第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔不是所述预设时长时,向所述客户端返回所述同步失败消息;
设置模块,用于在所述匹配模块确定所述接收到的动态口令与所述认证服务器在所述认证窗口内生成的动态口令均不匹配,且与所述认证服务器在所述同步窗口内生成的动态口令匹配时,将与所述动态令牌模块对应的失步标识置位;在所述第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔为所述预设时长时,将与所述动态令牌模块对应的失步标识复位;
所述第一判断模块,用于在所述信息安全设备与所述客户端建立连接后,判断与所述动态令牌模块对应的失步标识是否置位;
检索模块,用于根据所述第二接收模块接收到的所述身份信息检索与所述动态令牌模块对应的种子密钥;
生成模块,用于根据所述检索模块检索到的种子密钥和所述随机数生成第二临时密钥;
所述认证模块,用于根据所述第二接收模块接收到的所述随机数、所述生成模块生成的所述第二临时密钥和第二时间信息,对所述第二接收模块接收到的所述第一同步码和所述第二同步码进行认证;
第二获取模块,用于在所述认证模块对所述第一同步码和所述第二同步码认证通过时,获取令牌偏移时间、所述第一同步码的认证成功时间和所述第二同步码的认证成功时间;
所述第二判断模块,用于在所述认证模块对所述第一同步码和所述第二同步码认证通过时,判断所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔是否为所述预设时长;
第一更新模块,用于在所述第二判断模块判断出所述第一同步码的认证成功时间和所述第二同步码的认证成功时间之间的间隔为所述预设时长时,将所述第二获取模块获取到的所述令牌偏移时间保存为与所述动态令牌模块对应的令牌偏移量。
14.如权利要求13所述的系统,其特征在于,
所述第二接收子模块,还用于接收来自所述客户端的验PIN指令;
所述智能密钥模块,还包括:
获取子模块,用于从所述第二接收子模块接收到的所述验PIN指令中获取PIN码;
验证子模块,用于对所述获取子模块获取到的所述PIN码进行验证;
设置子模块,用于在所述验证子模块对所述PIN码验证通过后,将验PIN标识置位;当所述客户端与所述信息安全设备断开连接后,将所述验PIN标识复位;
所述第二发送子模块,还用于在所述验证子模块对所述PIN码未验证通过后,向所述客户端发送验PIN失败消息;在所述验证子模块对所述PIN码验证通过后,向所述客户端发送验PIN成功消息;
所述第一接收模块,还用于接收来自所述智能密钥模块的所述验PIN失败消息和所述验PIN成功消息;
所述智能密钥模块,还包括:
第一判断子模块,用于在所述第二接收子模块接收到来自所述客户端的所述同步指令后,判断所述验PIN标识是否置位;
所述第二发送子模块,具体用于将所述第二接收子模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述客户端;在所述第一判断子模块判断出所述验PIN标识置位后,将所述同步指令发送给所述动态令牌模块;在所述第一判断子模块判断出所述验PIN标识未置位后,向所述客户端发送错误码。
15.如权利要求14所述的系统,其特征在于,
所述第一发送模块,还用于在所述第一接收模块接收到来自所述智能密钥模块的所述验PIN成功消息后,向所述智能密钥模块发送签名数据;
所述第二接收子模块,还用于接收来自所述客户端的所述签名数据;
所述智能密钥模块,还包括:
签名子模块,用于对所述第二接收子模块接收到的所述签名数据进行签名;
所述第二发送子模块,还用于将所述签名子模块得到的签名结果返回给所述客户端;
所述第一接收模块,还用于接收来自所述智能密钥模块的所述签名结果;
所述第一发送模块,还用于将所述签名数据和所述第一接收模块接收到的所述签名结果发送给所述认证服务器;
所述第二接收模块,还用于接收来自所述客户端的所述签名数据和所述签名结果;
所述认证服务器,还包括:
验证模块,用于根据所述第二接收模块接收到的所述签名数据对所述第二接收模块接收到的所述签名结果进行验证;
所述第一判断模块,具体用于在所述验证模块对所述签名结果验证通过后,判断与所述动态令牌模块对应的失步标识是否置位;
所述第二发送模块,还用于在所述验证模块对所述签名结果未验证通过后,向所述客户端发送验证失败消息。
16.如权利要求13所述的系统,其特征在于,
所述客户端,还包括:
第三获取模块,用于在所述第一接收模块接收到来自所述认证服务器的失步状态信息后,获取所述信息安全设备的设备标识;
第三判断模块,用于根据所述第三获取模块获取到的所述设备标识判断所述信息安全设备是否支持动态口令功能;
所述第一发送模块,具体用于将所述第一获取模块获取到的所述动态口令发送给所述认证服务器;将与所述动态令牌模块对应的身份信息和所述第一接收模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述认证服务器;在所述第三判断模块判断出所述信息安全设备支持动态口令功能后,向所述智能密钥模块发送所述同步指令;
所述客户端,还包括:
显示模块,用于在所述第三判断模块判断出所述信息安全设备不支持动态口令功能后,显示同步失败信息。
17.如权利要求16所述的系统,其特征在于,
所述第三获取模块,具体用于在所述第一接收模块接收到来自所述认证服务器的失步状态信息后,从所述信息安全设备中读取证书序列号,根据所述证书序列号或者与所述证书序列号关联的用户账号,在本地查询对应的设备标识;
或者,从所述信息安全设备中读取所述信息安全设备的设备标识。
18.如权利要求16所述的系统,其特征在于,
所述第三判断模块,具体用于判断所述第三获取模块获取到的所述信息安全设备的设备标识的前缀是否为第一预设值,如果是,则确定所述信息安全设备支持动态口令功能;否则,确定所述信息安全设备不支持动态口令功能;
或者,
判断所述第三获取模块获取到的所述信息安全设备的设备标识是否为第二预设值,如果是,则确定所述信息安全设备支持动态口令功能;否则,确定所述信息安全设备不支持动态口令功能。
19.如权利要求13所述的系统,其特征在于,
所述客户端,还包括:
第二更新模块,用于在所述第一接收模块接收到来自所述认证服务器的所述失步状态信息后,对同步次数进行更新;当所述客户端与所述智能密钥模块断开连接后,将所述同步次数设置为第三预设值;
第四判断模块,用于判断所述第二更新模块更新后的同步次数是否等于预设阈值;
显示模块,用于在所述第四判断模块判断出所述同步次数等于所述预设阈值时,显示同步失败信息;
所述第一发送模块,具体用于将所述第一获取模块获取到的所述动态口令发送给所述认证服务器;将与所述动态令牌模块对应的身份信息和所述第一接收模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述认证服务器;在所述第四判断模块判断出所述同步次数不等于所述预设阈值时,向所述智能密钥模块发送所述同步指令。
20.如权利要求13所述的系统,其特征在于,
所述客户端,还包括:
第五判断模块,用于在所述第一接收模块接收到来自所述认证服务器的所述失步状态信息后,判断同步次数是否等于预设阈值;
显示模块,用于在所述第五判断模块判断出所述同步次数等于所述预设阈值时,显示同步失败信息;
第三更新模块,用于在所述第五判断模块判断出所述同步次数不等于所述预设阈值时,对所述同步次数进行更新,当所述客户端与所述智能密钥模块断开连接后,将所述同步次数设置为第三预设值;
所述第一发送模块,具体用于将所述第一获取模块获取到的所述动态口令发送给所述认证服务器;将与所述动态令牌模块对应的身份信息和所述第一接收模块接收到的所述随机数、所述第一同步码和所述第二同步码发送给所述认证服务器;在所述第五判断模块判断出所述同步次数不等于所述预设阈值时,向所述智能密钥模块发送所述同步指令。
21.如权利要求13所述的系统,其特征在于,所述第二生成子模块根据所述随机数和自身保存的种子密钥生成第一临时密钥,具体为:
所述第二生成子模块将所述随机数与所述自身保存的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;
所述第二生成子模块对所述多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将所述多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与所述多个分组数据对应的分组密文,对所有分组密文进行组合,得到所述第一临时密钥;
所述生成模块,包括:
分组子模块,用于将所述随机数与所述检索到的种子密钥进行组合,将组合得到的数据进行分组,得到多个分组数据;
组合子模块,用于对所述分组子模块得到的所述多个分组数据中的第一分组数据与预设的初始化变量进行异或,得到第一分组密文,并将所述多个分组数据中的其他分组数据依次与各自的上一分组数据对应的分组密文进行异或,得到与所述多个分组数据对应的分组密文,对所有分组密文进行组合,得到所述第二临时密钥。
22.如权利要求13所述的系统,其特征在于,
所述第二生成子模块根据所述随机数、所述第一临时密钥和第一时间信息生成第一同步码,具体为:
所述第二生成子模块对预设字符、所述随机数、所述第一临时密钥和所述第一时间信息进行散列,得到第一散列数据,对所述第一散列数据进行截位,得到所述第一同步码;
所述第二生成子模块根据所述随机数、所述第一临时密钥和所述更新后的第一时间信息生成第二同步码,具体为:
所述第二生成子模块对所述预设字符、所述随机数、所述第一临时密钥和所述更新后的第一时间信息进行散列,得到第二散列数据,对所述第二散列数据进行截位,得到所述第二同步码;
所述认证模块,包括:
第一散列子模块,用于对所述预设字符、所述随机数、所述第二临时密钥和所述第二时间信息进行散列,得到第三散列数据;
第一截位子模块,用于对所述第一散列子模块得到的所述第三散列数据进行截位,得到第三同步码;
第二判断子模块,用于判断所述第一截位子模块得到的所述第三同步码是否与所述第一同步码匹配,如果不匹配,则确认所述第一同步码和所述第二同步码认证未通过;
更新子模块,用于在所述第二判断子模块判断出所述第三同步码与所述第一同步码匹配时,将所述第二时间信息和所述预设时长相加,得到更新后的第二时间信息;
第二散列子模块,用于对所述预设字符、所述随机数、所述第二临时密钥和所述更新子模块更新后的第二时间信息进行散列,得到第四散列数据;
第二截位子模块,用于对所述第二散列子模块得到的所述第四散列数据进行截位,得到第四同步码;
第三判断子模块,用于判断所述第二截位子模块得到的所述第四同步码是否与所述第二同步码匹配,如果不匹配,则确认所述第一同步码和所述第二同步码认证未通过;如果匹配,则确认所述第一同步码和所述第二同步码认证通过。
23.如权利要求22所述的系统,其特征在于,
所述第二生成子模块对预设字符、所述随机数、所述第一临时密钥和所述第一时间信息进行散列,得到第一散列数据,具体为:
所述第二生成子模块将所述预设字符、所述随机数、所述第一临时密钥和所述第一时间信息组合成第一数据,对所述第一数据进行填充,得到第一消息,并对所述第一消息进行分组,对得到的分组数据进行迭代压缩,得到所述第一散列数据;
所述第二生成子模块对所述预设字符、所述随机数、所述第一临时密钥和所述更新后的第一时间信息进行散列,得到第二散列数据,具体为:
所述第二生成子模块将所述预设字符、所述随机数、所述第一临时密钥和所述更新后的第一时间信息组合成第二数据,对所述第二数据进行填充,得到第二消息,并对所述第二消息进行分组,对得到的分组数据进行迭代压缩,得到所述第二散列数据;
所述第一散列子模块,具体用于将所述预设字符、所述随机数、所述第二临时密钥和所述第二时间信息组合成第三数据,对所述第三数据进行填充,得到第三消息,并对所述第三消息进行分组,对得到的分组数据进行迭代压缩,得到所述第三散列数据;
所述第二散列子模块,具体用于将所述预设字符、所述随机数、所述第二临时密钥和所述更新后的第二时间信息组合成第四数据,对所述第四数据进行填充,得到第四消息,并对所述第四消息进行分组,对得到的分组数据进行迭代压缩,得到所述第四散列数据。
24.如权利要求22所述的系统,其特征在于,所述第二生成子模块对所述第一散列数据进行截位,得到所述第一同步码,具体为:
所述第二生成子模块对所述第一散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第一同步码;
所述第二生成子模块对所述第二散列数据进行截位,得到所述第二同步码,具体为:
所述第二生成子模块对所述第二散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第二同步码;
所述第一截位子模块,具体用于对所述第三散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第三同步码;
所述第二截位子模块,具体用于对所述第四散列数据进行分组,得到多个字节组,通过对各个字节组包含的字节进行移位和组合,将所述各个字节组分别转换为对应的二进制数,使用转换得到的所有二进制数的和对第四预设值进行取模,并使用得到的取模值对第五预设值进行取模,得到所述第四同步码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410140971.6A CN103957196B (zh) | 2014-04-10 | 2014-04-10 | 一种信息安全设备的同步方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410140971.6A CN103957196B (zh) | 2014-04-10 | 2014-04-10 | 一种信息安全设备的同步方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103957196A CN103957196A (zh) | 2014-07-30 |
CN103957196B true CN103957196B (zh) | 2017-03-22 |
Family
ID=51334422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410140971.6A Expired - Fee Related CN103957196B (zh) | 2014-04-10 | 2014-04-10 | 一种信息安全设备的同步方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103957196B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852800B (zh) * | 2015-05-25 | 2018-12-25 | 小米科技有限责任公司 | 数据传输方法及装置 |
CN107294705B (zh) * | 2016-04-01 | 2020-09-11 | 中国移动通信集团辽宁有限公司 | 一种密钥生成和验证的方法、设备及系统 |
CN105812127B (zh) * | 2016-05-24 | 2019-10-08 | 飞天诚信科技股份有限公司 | 一种nfc动态令牌及其工作方法 |
CN106789010B (zh) * | 2016-12-19 | 2020-01-21 | 青岛博文广成信息安全技术有限公司 | Cfl去中心化应用方法 |
US10405291B2 (en) * | 2017-01-12 | 2019-09-03 | Google Llc | Base station time offset adjustment |
CN109829290A (zh) * | 2019-01-17 | 2019-05-31 | 阳江核电有限公司 | 一种核电站工业计算机的登录系统及登录方法 |
CN109905384B (zh) * | 2019-02-19 | 2020-11-20 | 北京纬百科技有限公司 | 数据迁移方法及系统 |
CN113194465B (zh) * | 2021-04-20 | 2023-11-24 | 歌尔股份有限公司 | 终端间的ble连接验证方法、装置及可读存储介质 |
CN118400186B (zh) * | 2024-06-25 | 2024-09-06 | 浙江之江数安量子科技有限公司 | 一种安全的密钥交换方式 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255917A (zh) * | 2011-08-15 | 2011-11-23 | 北京宏基恒信科技有限责任公司 | 动态令牌的密钥更新及同步方法、系统及装置 |
CN102307193A (zh) * | 2011-08-22 | 2012-01-04 | 北京宏基恒信科技有限责任公司 | 动态令牌的密钥更新及同步方法、系统及装置 |
CN102833220A (zh) * | 2011-06-17 | 2012-12-19 | 同方股份有限公司 | 一种基于动态口令的密钥同步方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292670B2 (en) * | 2012-02-29 | 2016-03-22 | Infosys Limited | Systems and methods for generating and authenticating one time dynamic password based on context information |
-
2014
- 2014-04-10 CN CN201410140971.6A patent/CN103957196B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833220A (zh) * | 2011-06-17 | 2012-12-19 | 同方股份有限公司 | 一种基于动态口令的密钥同步方法及系统 |
CN102255917A (zh) * | 2011-08-15 | 2011-11-23 | 北京宏基恒信科技有限责任公司 | 动态令牌的密钥更新及同步方法、系统及装置 |
CN102307193A (zh) * | 2011-08-22 | 2012-01-04 | 北京宏基恒信科技有限责任公司 | 动态令牌的密钥更新及同步方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103957196A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103957196B (zh) | 一种信息安全设备的同步方法和系统 | |
US10084602B2 (en) | Dynamic token and a working method thereof | |
CN103067402B (zh) | 数字证书的生成方法和系统 | |
JP2002259344A (ja) | ワンタイムパスワード認証システム及び携帯電話及びユーザ認証サーバ | |
CN112989426B (zh) | 授权认证方法及装置、资源访问令牌的获取方法 | |
CN111884811B (zh) | 一种基于区块链的数据存证方法和数据存证平台 | |
EP2854331A1 (en) | Method and System for Authenticating a User of a Device | |
CN112615834B (zh) | 一种安全认证方法及系统 | |
KR20160003796A (ko) | 사용자 인증 | |
CN104038486A (zh) | 一种基于标识型密码实现用户登录鉴别的系统及方法 | |
CN101964789A (zh) | 安全访问受保护资源的方法及系统 | |
CN112600831B (zh) | 一种网络客户端身份认证系统和方法 | |
US20170300677A1 (en) | Security Mode Prompt Method and Apparatus | |
CN105553667A (zh) | 一种动态口令的生成方法 | |
CN111800276B (zh) | 业务处理方法及装置 | |
CN114244530A (zh) | 资源访问方法及装置、电子设备、计算机可读存储介质 | |
CN106790138A (zh) | 一种政务云应用用户登录双因子验证的方法 | |
CN107483580A (zh) | 一种云存储系统的动态数据记录方法及云存储系统 | |
CN103746802A (zh) | 一种基于协商密钥的数据处理方法和手机 | |
CN103813321B (zh) | 一种基于协商密钥的数据处理方法和手机 | |
US20190280876A1 (en) | Token-based authentication with signed message | |
CN115694833A (zh) | 一种协同签名方法 | |
CN108599936A (zh) | 一种OpenStack开源云用户的安全认证方法 | |
CN115086090A (zh) | 基于UKey的网络登录认证方法及装置 | |
CN111817851B (zh) | Otp生成方法、验证方法、终端、服务器、芯片和介质 |
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: 20170322 |
|
CF01 | Termination of patent right due to non-payment of annual fee |