一种动态令牌安全生产和检测的方法及系统与流程

文档序号:17070402发布日期:2019-03-08 23:16阅读:175来源:国知局
一种动态令牌安全生产和检测的方法及系统与流程

本发明涉及信息安全领域,特别涉及一种动态令牌安全生产和检测的方法及系统。



背景技术:

在现有技术中,动态令牌出厂检测的流程,即一次性密码的生成和校验是在服务器中操作的。通过服务器解密种子数据,并根据种子数据计算动态密码值,与令牌内的动态密码值比较,返回校验结果。这种操作方式无法保证在动态令牌的生产和检测过程中为敏感数据提供一个安全的环境。



技术实现要素:

为解决以上技术问题,本发明提供了一种动态令牌安全生产和检测的方法及系统。本发明提供了一种动态令牌安全生产和检测的方法,包括烧写动态令牌的过程和检测动态令牌的过程,烧写动态令牌的过程包括如下步骤:

步骤a0,生产工具执行抓取动态令牌的操作,并将动态令牌放置在可读取位置;

步骤a1,生产工具查找与动态令牌的设备标识对应的第一密文种子;

步骤a2,生产工具将第一密文种子发送给硬件安全模块设备;

步骤a3,硬件安全模块设备对第一密文种子进行解密后得到明文种子,将明文种子发送给生产工具;

步骤a4,生产工具将明文种子写入动态令牌中;

检测动态令牌的过程包括如下步骤:

步骤b1,生产工具查找与动态令牌的设备标识对应的第一密文种子和接收动态令牌生成的第一一次性密码;

步骤b2,生产工具将第一密文种子和第一一次性密码发送给硬件安全模块设备;

步骤b3,硬件安全模块设备对接收到的第一密文种子进行解密后得到明文种子;

步骤b4,硬件安全模块设备根据明文种子生成第二一次性密码;

步骤b5,硬件安全模块设备将第一一次性密码和第二一次性密码进行比对,得到检测结果;

步骤b6,硬件安全模块设备将检测结果发送给生产工具;

步骤b7,生产工具根据检测结果将动态令牌放置到指定位置。

设备标识为令牌序列号。

步骤a1具体包括:

步骤a1-1,生产工具向动态令牌发送读取设备标识的指令;

步骤a1-2,动态令牌向生产工具发送动态令牌的设备标识;

步骤a1-3,生产工具接收设备标识;

步骤a1-4,生产工具根据设备标识查找与设备标识对应的第一密文种子;

步骤b1具体包括:

步骤b1-1,生产工具向动态令牌发送读取设备标识的指令;

步骤b1-2,动态令牌将设备标识发送给生产工具;

步骤b1-3,生产工具根据接收到的设备标识查找与设备标识对应的第一密文种子;

步骤b1-4,生产工具向动态令牌发送读取一次性密码的指令;

步骤b1-5,动态令牌根据指令生成第一一次性密码;

步骤b1-6,动态令牌将第一一次性密码发送给生产工具。

步骤a4之后还包括:

步骤a5,动态令牌将烧写结果发送给生产工具;

步骤a6,生产工具显示烧写结果;

步骤b6之后还包括:

步骤b7,生产工具显示检测结果。

b7具体包括,当检测结果为成功时,生产工具将动态令牌放置到第一指定位置;当检测结果为失败时,生产工具将动态令牌放置到第二指定位置。

步骤b7具体包括:生产工具根据检测结果判断动态令牌的放置位置,并判断放置位置是否可以放置动态令牌,如果是则将动态令牌放置在放置位置,如果否,则提示清空放置位置。

步骤b1还包括,生产工具获取动态令牌的当前时间和动态令牌的起始时间;

步骤b1之后还包括步骤c:生产工具根据当前时间和起始时间判断动态令牌的时效性是否有效,如果是,执行步骤b2,如果否,生产工具显示检测失败。

生产工具根据当前时间和起始时间判断动态令牌的时效性是否有效,具体包括:

步骤c1-1,生产工具将当前时间减去起始时间获得第一时间差值;

步骤c1-2,生产工具将获取的全球定位时间减去当前时间获得第二时间差值;

步骤c1-3,生产工具将第二时间差值除以第一时间差值获得第一结果;

步骤c1-4,生产工具判断第一结果是否小于预设值。

步骤b2具体包括,生产工具将第一密文种子,第一一次性密码和动态令牌的当前时间发送给硬件安全模块设备;

步骤b4具体为,硬件安全模块设备根据明文种子和动态令牌的当前时间生成第二一次性密码。

步骤b4具体包括:硬件安全模块设备根据明文种子,硬件安全模块设备的当前时间生成第二一次性密码组;

步骤b5具体为硬件安全模块设备比对第一一次性密码是否与第二一次性密码组中的一个一次性密码相同,获得比对结果,将比对结果作为检测结果。

步骤b7具体为生产工具显示检测结果为成功;

步骤b7之后还包括:生产工具向一次性密码令牌发送封闭端口的指令。

步骤a3中将明文种子发送给生产工具被替换为:

步骤d1,硬件安全模块设备向生产工具发送生成随机数的请求;

步骤d2,生产工具生成第一随机数并将第一随机数发送给硬件安全模块设备,

步骤d3,硬件安全模块设备使用第一随机数和预定的算法对明文种子进行加密得到第二密文种子,并将第二密文种子发送给生产工具;

步骤d4,生产工具使用第一随机数对第二密文种子进行解密得到明文种子。

步骤a3中将明文种子发送给生产工具被替换为:

步骤d1’,硬件安全模块设备向生产工具发送生成随机数的请求;

步骤d2’,生产工具向动态令牌发送生成随机数的请求;

步骤d3’,动态令牌生成第二随机数并将第二随机数发送给生产工具;

步骤d4’,生产工具将第二随机数发送给硬件安全模块设备;

步骤d5’,硬件安全模块设备根据预置的算法使用第二随机数对明文种子进行加密后得到第三密文种子,并将第三密文种子发送给生产工具;

步骤d6’,生产工具将第三密文种子发送给动态令牌;

步骤a4被替换为:动态令牌使用第二随机数对第三密文种子进行解密后得到明文种子并存储明文种子。

步骤a4被替换为如下步骤:步骤e1,生产工具向动态令牌发送生成随机数的请求;

步骤e2,动态令牌生成第三随机数,并将第三随机数发送给生产工具;

步骤e3,生产工具使用第三随机数对接收到的明文种子进行加密后得到第四密文种子,将第四密文种子发送给动态令牌;

步骤e4,动态令牌对接收到的第四密文种子使用第三随机数进行解密后存储。

步骤a1-a4被替换为如下步骤:

步骤a1’,生产工具向动态令牌发送获取设备标识和生成随机数的请求;

步骤a2’,动态令牌生成第四随机数,并将第四随机数和设备标识发送给生产工具;

步骤a3’,生产工具查找与令牌标识对应的第一密文种子;

步骤a4’,生产工具将第一密文种子和第四随机数发送给硬件安全模块设备;

步骤a5’,硬件安全模块设备对第一密文种子进行解密后得到明文种子,使用第四随机数对明文种子进行加密得到第五密文种子,并将第五密文种子发送给生产工具;

步骤a6’,生产工具将第五密文种子发送给动态令牌;

步骤a7’,动态令牌使用第四随机数对第五密文种子进行解密后得到明文种子,并存储明文种子。

本发明还提供了一种动态令牌安全生产和检测的系统,包括生产工具装置和硬件安全模块装置,生产工具装置包括:

抓取和放置模块,用于执行抓取动态令牌的操作;还用于将动态令牌放置在可读取位置;还用于根据检测结果将动态令牌放置到指定位置;

查找模块,用于查找与动态令牌的设备标识对应的第一密文种子;

第一接收模块,用于接收动态令牌生成的第一一次性密码;还用于接收硬件安全模块装置发送的明文种子;还用于接收硬件安全模块装置发送检测结果;

第一发送模块,用于将第一密文种子发送给硬件安全模块装置;还用于将第一密文种子和第一一次性密码发送给硬件安全模块设备;

写入模块,用于将第一接收模块接收的明文种子写入动态令牌中;

硬件安全模块装置包括:

第二接收模块,用于接收生产工具装置发送的第一密文种子;还用于接收生产工具发送的第一一次性密码;

第二解密模块,用于对第一密文种子进行解密后得到明文种子;

第二生成模块,用于根据明文种子生成第二一次性密码;

比对模块,用于将第一一次性密码和第二一次性密码进行比对得到检测结果;

第二发送模块,用于将明文种子发送给生产工具装置;还用于将比对模块得到的检测结果发送给生产工具装置。

设备标识为令牌序列号。

第一发送模块还用于向动态令牌发送读取设备标识的指令;还用于向动态令牌发送读取一次性密码的指令;

第一接收模块还用于接收动态令牌发送的设备标识;

查找模块具体用于,根据设备标识查找与设备标识对应的第一密文种子。

生产工具装置还包括显示模块,用于显示第一接收模块接收到的检测结果。

抓取和放置模块还用于当检测结果为成功时,将动态令牌放置到第一指定位置;当检测结果为失败时,生产工具将动态令牌放置到第二指定位置。

生产工具装置还包括第一判断模块,用于根据检测结果判断动态令牌的放置位置,还用于判断放置位置是否可以放置动态令牌;

抓取和放置模块具体用于,当第一判断模块判断放置位置可以放置动态令牌时,将动态令牌放置在放置位置;

生产工具装置还包括提示模块,用于当第一判断模块判断放置位置不可以放置动态令牌时,提示清空放置位置。

生产工具装置还包括获取模块,用于获取动态令牌的当前时间和动态令牌的起始时间;

生产工具装置还包括第二判断模块,用于根据当前时间和起始时间判断动态令牌的时效性是否有效;

第一发送模块具体用于,当第二判断模块判断动态令牌的时效性有效时,将第一密文种子和第一一次性密码发送给硬件安全模块设备;

生产工具装置还包括显示模块,用于当第二判断模块判断动态令牌的时效性无效时,显示检测失败。

生产工具还包括计算模块,用于将当前时间减去起始时间获得第一时间差值,将获取的全球定位时间减去当前时间获得第二时间差值,生产工具将第二时间差值除以第一时间差值获得第一结果;

第二判断模块具体用于判断第一结果是否小于预设值来判断动态令牌的时效性是否有效。

第一发送模块,具体用于将第一密文种子,第一一次性密码和动态令牌的当前时间发送给硬件安全模块设备;

第一生成模块具体用于,根据明文种子和动态令牌的当前时间生成第二一次性密码。

第一生成模块具体用于根据明文种子,硬件安全模块装置的当前时间生成第二一次性密码组;

比对模块具体用于比对第一一次性密码是否与第二一次性密码组中的一个一次性密码相同,获得比对结果,将比对结果作为检测结果。

显示模块显示检测结果为成功;

第一发送模块还用于当显示模块显示检测结果为成功时,向一次性密码令牌发送封闭端口的指令。

第二发送模块还用于向生产工具装置发送生成随机数的请求;

生产工具装置还包括第一生成模块,用于生成第一随机数;

第一发送模块还用于将第一随机数发送给硬件安全模块装置;

硬件安全模块装置还包括第二加密模块,用于使用第一随机数和预定的算法对明文种子进行加密得到第二密文种子,并将第二密文种子发送给生产工具装置;

生产工具装置还包括第一解密模块,用于使用第一随机数对第二密文种子进行解密得到明文种子。

第二发送模块还用于向生成工具装置发送生成随机数的请求;还用于将第三密文种子发送给生产工具装置;

第一接收模块,用于接收第二发送模块发送的生成随机数的请求;还用于接收动态令牌发送的第二随机数;

第一发送模块,用于将生成随机数的请求发送给动态令牌;还用于将动态令牌发送的第二随机数发送给硬件安全模块装置;还用于将第三密文种子发送给动态令牌;

硬件安全模块装置还包括第二加密模块,用于根据预置的算法使用第二随机数对明文种子进行加密后得到第三密文种子;

写入模块被替换为:动态令牌,用于使用第二随机数对第三密文种子进行解密后得到明文种子并存储明文种子;

动态令牌还用于生成第二随机数。

系统还包括:动态令牌,用于生成第三随机数,还用于将第三随机数发送给生产工具装置;还用于对接收到第四密文种子使用第三随机数进行解密后存储;

生产工具装置还包括:第一加密模块,用于对接收到的明文种子进行加密后得到第四密文种子;

第一发送模块,还用于向动态令牌发送生成随机数的请求;还用于将第四密文种子发送给动态令牌。

第一发送模块,用于向动态令牌发送获取设备标识和随机数的请求;还用于将第一密文种子和第四随机数发送给硬件安全模块装置;还用于将第五密文种子发送给动态令牌;

系统还包括动态令牌,用于生成第四随机数,还用于将第四随机数和设备标识发送给生产工具装置;还用于使用第四随机数对第五密文种子进行解密后得到明文种子,并存储明文种子;

查找模块,用于查找与令牌标识对应的第一密文种子;

第二解密模块,用于对第一密文种子进行解密后得到明文种子;

硬件安全模块装置还包括第二加密模块,用于使用第四随机数对明文种子进行加密得到第五密文种子;

第二发送模块,还用于将第五密文种子发送给生产工具装置。本发明的有益效果为:本发明提供了一种动态令牌安全生产和检测的方法及系统,涉及敏感数据的解密操作和校验操作在硬件安全模块设备内部进行,使得动态令牌的生产和检测过程中数据传输和存储更为安全。

附图说明

为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1-1为本发明实施例1提供的一种otp令牌安全生产和检测的方法的烧写otp令牌的过程流程图;

图1-2为本发明实施例1提供的一种otp令牌安全生产和检测的方法的检测otp令牌的过程流程图;

图2为本发明实施例2提供的一种otp令牌安全生产和检测的方法的烧写otp令牌的过程流程图;

图3为本发明实施例2提供的一种otp令牌安全生产和检测的方法的检测otp令牌的过程流程图;

图4为本发明实施例2提供的一种otp令牌安全生产和检测的方法中生产工具验证otp令牌的时效性是否有效的流程图;

图5为本发明实施例2提供的一种otp令牌安全生产和检测的方法中步骤308-311的替换步骤308’-311’流程图;

图6为本发明实施例3提供的一种otp令牌安全生产和检测的系统的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

本实施例提供了一种otp令牌(动态令牌)安全生产和检测的方法,包括烧写otp令牌的过程和检测otp令牌的过程,如图1-1所示,烧写otp令牌的过程包括如下步骤:

步骤a0,生产工具执行抓取otp令牌的操作,并将otp令牌放置在可读取位置;

步骤a1,生产工具查找与otp令牌的设备标识对应的第一密文种子;

在本实例中,设备标识可以为令牌序列号。

步骤a2,生产工具将第一密文种子发送给hsm设备(硬件安全模块设备);

在本实例中,hsm设备可以为加密机。

步骤a3,hsm设备对第一密文种子进行解密后得到明文种子;步骤a4,将明文种子发送给生产工具;

步骤a5,生产工具将明文种子写入otp令牌中;

如图1-2所示,检测otp令牌的过程包括如下步骤:

步骤b1,生产工具查找与otp令牌的设备标识对应的第一密文种子和接收otp令牌生成的第一一次性密码;

步骤b2,生产工具将第一密文种子和第一一次性密码发送给hsm设备;

步骤b3,hsm设备对接收到的第一密文种子进行解密后得到明文种子;

步骤b4,hsm设备根据明文种子生成第二一次性密码;

步骤b5,hsm设备将第一一次性密码和第二一次性密码进行比对,得到检测结果;

步骤b6,hsm设备将检测结果发送给生产工具;

步骤b7,生产工具根据检测结果将otp令牌放置到指定位置。

在本实施中,步骤a1具体包括:

步骤a1-1,生产工具向otp令牌发送读取设备标识的指令;

步骤a1-2,otp令牌向生产工具发送otp令牌的设备标识;

步骤a1-3,生产工具接收设备标识;

步骤a1-4,生产工具根据设备标识查找与设备标识对应的第一密文种子;

步骤b1具体包括:

步骤b1-1,生产工具向otp令牌发送读取设备标识的指令;

步骤b1-2,otp令牌将设备标识发送给生产工具;

步骤b1-3,生产工具根据接收到的设备标识查找与设备标识对应的第一密文种子;

步骤b1-4,生产工具向otp令牌发送读取一次性密码的指令;

步骤b1-5,otp令牌根据指令生成第一一次性密码;

步骤b1-6,otp令牌将第一一次性密码发送给生产工具。

在本实施例中,步骤a5之后还包括:

步骤a6,otp令牌将烧写结果发送给生产工具;

步骤a7,生产工具显示烧写结果;

步骤b6之后还包括:

步骤b7,生产工具显示检测结果。

在本实施例中,b7具体包括,当检测结果为成功时,生产工具将otp令牌放置到第一指定位置;当检测结果为失败时,生产工具将otp令牌放置到第二指定位置。

在本实施例中,步骤b7具体包括:生产工具根据检测结果判断otp令牌的放置位置,并判断放置位置是否可以放置otp令牌,如果是则将otp令牌放置在放置位置,如果否,则提示清空放置位置。

在本实施例中,步骤b1还包括,生产工具获取otp令牌的当前时间和otp令牌的起始时间;

步骤b1之后还包括步骤c:生产工具根据当前时间和起始时间判断otp令牌的时效性是否有效,如果是,执行步骤b2,如果否,生产工具显示检测失败。

在本实施例中,生产工具根据当前时间和起始时间判断otp令牌的时效性是否有效,具体包括:

步骤c1-1,生产工具将当前时间减去起始时间获得第一时间差值;

步骤c1-2,生产工具将获取的全球定位时间减去当前时间获得第二时间差值;

步骤c1-3,生产工具将第二时间差值除以第一时间差值获得第一结果;

步骤c1-4,生产工具判断第一结果是否小于预设值。

在本实施例中,步骤b2具体包括,生产工具将第一密文种子,第一一次性密码和otp令牌的当前时间发送给hsm设备;

步骤b4具体为,hsm设备根据明文种子和otp令牌的当前时间生成第二一次性密码。

在本实施例中,步骤b4具体包括:hsm设备根据明文种子,hsm设备的当前时间生成第二一次性密码组;

步骤b5具体为hsm设备比对第一一次性密码是否与第二一次性密码组中的一个一次性密码相同,获得比对结果,将比对结果作为检测结果。

在本实施例中,步骤b7具体为生产工具显示检测结果为成功;

步骤b7之后还包括:生产工具向一次性密码令牌发送封闭端口的指令。

在本实施例中,步骤a3中将明文种子发送给生产工具可以被替换为:

步骤d1,hsm设备向生产工具发送生成随机数的请求;

步骤d2,生产工具生成第一随机数并将第一随机数发送给hsm设备,

步骤d3,hsm设备使用第一随机数和预定的算法对明文种子进行加密得到第二密文种子,并将第二密文种子发送给生产工具;

步骤d5,生产工具使用第一随机数对第二密文种子进行解密得到明文种子。

在本实施例中,步骤a3-a4中将明文种子发送给生产工具可以被替换为:

步骤d1’,hsm设备向生产工具发送生成随机数的请求;

步骤d2’,生产工具向otp令牌发送生成随机数的请求;

步骤d3’,otp令牌生成第二随机数并将第二随机数发送给生产工具;

步骤d4’,生产工具将第二随机数发送给hsm设备;

步骤d5’,hsm设备根据预置的算法使用第二随机数对明文种子进行加密后得到第三密文种子,并将第三密文种子发送给生产工具;

步骤d6’,生产工具将第三密文种子发送给otp令牌;

步骤a5被替换为:otp令牌使用第二随机数对第三密文种子进行解密后得到明文种子并存储明文种子。

在本实施例中,步骤a5可以被替换为如下步骤:

步骤e1,生产工具向otp令牌发送生成随机数的请求;

步骤e2,otp令牌生成第三随机数,并将第三随机数发送给生产工具;

步骤e3,生产工具使用第三随机数对接收到的明文种子进行加密后得到第四密文种子,将第四密文种子发送给otp令牌;

步骤e4,otp令牌对接收到的第四密文种子使用第三随机数进行解密后存储。

在本实施例中,步骤a1-a5可以被替换为如下步骤:

步骤a1’,生产工具向otp令牌发送获取设备标识和生成随机数的请求;

步骤a2’,otp令牌生成第四随机数,并将第四随机数和设备标识发送给生产工具;

步骤a3’,生产工具查找与令牌标识对应的第一密文种子;

步骤a4’,生产工具将第一密文种子和第四随机数发送给hsm设备;

步骤a5’,hsm设备对第一密文种子进行解密后得到明文种子,使用第四随机数对明文种子进行加密得到第五密文种子,并将第五密文种子发送给生产工具;

步骤a6’,生产工具将第五密文种子发送给otp令牌;

步骤a7’,otp令牌使用第四随机数对第五密文种子进行解密后得到明文种子,并存储明文种子。

实施例2

本实施例提供了一种otp令牌安全生产和检测的方法,包括烧写otp令牌的过程和检测otp令牌的过程,其中,如图2所示,烧写otp令牌的过程包括如下步骤:

步骤201,生产工具向otp令牌发送读取令牌序列号的指令;

具体的,读取令牌序列号的指令为:0x86022525。

在本实施中,令牌序列号也可以为其他可以唯一的标识otp令牌身份的设备标识。

具体的,otp令牌为时间型otp令牌。

在本实施例中,步骤201之前还可以包括步骤200:生产工具执行抓取所述otp令牌的操作,并将抓取到的otp令牌放置在可读取位置。

具体的,生产工具可以包括一个机械手或者吸盘装置,用于将otp令牌抓取后,将otp令牌放置到读取位置。

步骤202,otp令牌向生产工具发送令牌序列号;

otp令牌的令牌序列号为唯一的。具体的,令牌序列号为:2600827800001。

步骤203,生产工具根据接收到的令牌序列号在密文种子文件中查找与令牌序列号对应的密文种子;

具体的,查找到的密文种子为:327c27407e2d916a1a9d455bd79f8e4737f5b99adcbaa242740e3bd2dff37c09

步骤204,生产工具将查找到的与令牌序列号对应的密文种子数据发送给hsm设备(硬件安全模块,可以为加密机);

步骤205,hsm设备根据自身内部存储的密钥和解密算法对密文种子数据进行解密,得到明文种子;

具体的,hsm设备根据自身存储的密钥:11111111111111111111111111111111和sm4算法,对上述密文种子数据进行解密,得到明文种子:613b236b80e75ea1267a7e8cbaca0aba809cd326

步骤206,hsm设备将明文种子数据发送给生产工具;

在本实施例中,步骤206还可以被替换为如下步骤:

步骤206’-1,hsm设备向生产工具发送生成随机数的请求;

具体的,生成随机数的请求为:0x0006474501000000。

步骤206’-2,生产工具生成随机数并将随机数发送给hsm设备,

步骤206’-3,hsm设备使用随机数和预定的算法对明文种子进行加密得到密文种子,并将密文种子发送给生产工具;

具体的,第一随机数为0x31,预定的算法可以为异或算法,

加密后得到的密文种子为:

500a125ab1d66f90174b4fbd8bfb3b8bb1ade217。

步骤206’-4,生产工具使用随机数对密文种子进行解密得到明文种子。

步骤207,生产工具将明文种子作为种子烧写到otp令牌中。

在本实施例中,,步骤206还可以被替换为如下步骤:

步骤d1’,所述hsm设备向所述生产工具发送生成随机数的请求;

步骤d2’,所述生产工具向所述otp令牌发送生成随机数的请求;

步骤d3’,所述otp令牌生成随机数并将随机数发送给所述生产工具;

步骤d4’,所述生产工具将随机数发送给所述hsm设备;

步骤d5’,所述hsm设备根据预置的算法使用随机数对所述明文种子进行加密后得到新的密文种子,并将所述新的密文种子发送给所述生产工具;

步骤d6’,所述生产工具将所述新的密文种子发送给所述otp令牌;

步骤207被替换为:所述otp令牌使用随机数对所述新的密文种子进行解密后得到明文种子并存储所述明文种子。

在本实施例中,步骤207还可以被替换为如下步骤:

步骤207’-1,生产工具向otp令牌发送生成随机数的请求;

具体的,生成随机数的请求为:0x86021010。

步骤207’-2,otp令牌生成随机数,并将随机数发送给生产工具;

步骤207’-3,生产工具使用随机数对接收到的明文种子进行加密后得到密文种子,将密文种子发送给otp令牌;

具体的,第二随机数为:0x81;预定的算法可以为:异或算法;

加密后得到的密文种子为:

e0baa2ea0166df20a7fbff0d3b4b8b3b011d52a7。

步骤207’-4,otp令牌对接收到的密文种子使用随机数进行机密后得到明文种子并存储明文种子。

步骤208,otp令牌将烧写结果发送给生产工具;

具体的,烧写结果为烧写种子成功或者失败。

具体的,如果烧写结果为成功,则返回数据aa02aaaa给生产工具;如果烧写失败,则返回数据aa03001313给生产工具。

步骤209,生产工具显示烧写结果。

具体的,生产工具显示烧写种子成功或者失败。

具体的,生产工具显示:烧写成功或者烧写失败。

在步骤209中,如果生产工具显示烧写种子失败,还包括生产工具显示烧写失败的原因,如非接通信故障,掉电等等。

在本步骤之后,还包括,生产工具根据烧写结果,将otp令牌放置到指定的位置。

具体的,如果生产工具显示成功的烧写结果,用生产工具的机械手或者吸盘装置,将otp令牌放置到指定的第一位置,如果生产工具显示失败的烧写结果,则将otp令牌放置到指定的第二位置。

具体的,生产工具还包括传感器,具体用于在将otp令牌放置到指定的第一位置或者第二位置之前,生产工具还会通过传感器的判断第一位置或者第二位置是否可以放置otp令牌,如果可以则将otp令牌放置第一位置或者第二位置,如果不可以,则提示清空第一位置或者第二位置。

在本实施例中,步骤201-207可以被替换为如下步骤01-07:

步骤01,生产工具向otp令牌发送获取设备标识和随机数的请求;

步骤02,所述otp令牌生成第四随机数,并将所述第四随机数和所述设备标识发送给所述生产工具;

步骤03,所述生产工具查找与所述令牌标识对应的第一密文种子;

步骤04,所述生产工具将所述第一密文种子和所述第四随机数发送给所述hsm设备;

步骤05,所述hsm设备对所述第一密文种子进行解密后得到明文种子,使用所述第四随机数对所述明文种子进行加密得到第五密文种子,并将所述第五密文种子发送给所述生产工具;

步骤06,所述生产工具将所述第五密文种子发送给所述otp令牌;

步骤07,所述otp令牌使用所述第四随机数对所述第五密文种子进行解密后得到所述明文种子,并存储所述明文种子。

如图3所示,检测otp令牌的过程包括如下步骤:

步骤301,生产工具向otp令牌发送读取令牌序列号的指令;

具体的,otp令牌为时间型otp令牌。

具体的,读取令牌序列号的指令为:0x86022525。

步骤302,otp令牌将自身的令牌序列号发送给生产工具;

步骤303,生产工具根据接收到的令牌序列号在密文种子文件中查找与令牌序列号对应的密文种子;

具体的,密文种子为:327c27407e2d916a1a9d455bd79f8e4737f5b99adcbaa242740e3bd2dff37c09。

在本步骤中,密文种子也可以存储在数据库中。

步骤304,生产工具向otp令牌发送读取otp值的指令;

具体的,读取otp值的指令为:0x8603420042。

步骤305,otp令牌接收读取otp值的指令,生成第一otp值;

具体的,otp令牌使用预置的算法根据令牌当前时间,种子进行计算,生成第一otp值。

在本步骤中,otp令牌使用预置的sha1算法,根据令牌的当前时间2018-07-1314:11:11和种子613b236b80e75ea1267a7e8cbaca0aba809cd326进行计算,生成第一otp值:630842。

步骤306,otp令牌将生成的第一otp值,令牌的当前时间和令牌的起始时间发送给生产工具。

具体的,令牌的起始时间是指为otp令牌烧写种子的时间。

例如,在本步骤中,otp令牌烧写种子的时间为:2018-07-1310:10:11。

步骤307,生产工具验证otp令牌的时效性是否有效,如果是,执行步骤308,如果否,则执行步骤314。

具体的,本步骤中,生产工具根据接收到令牌的当前时间,令牌的起始时间和获取的gps时间验证otp令牌的时效性,如图4所示,具体步骤如下:

307-1,生产工具将令牌的当前时间减去令牌的起始时间获得第一时间差值;

步骤307-2,生产工具将获取的gps时间减去令牌的当前时间获得第二时间差值;

步骤307-3,生产工具将第二时间差值除以第一时间差值获得第一结果;

步骤307-4,生产工具判断第一结果是否小于预设值,如果是,执行步骤308,如果否,执行步骤314。

具体的,在本步骤中,生产工具判断第一结果是否小于预设值,如果是,则令牌的时效性为有效,执行步骤308,如果否,则令牌的时效性为无效,令牌的检测结果为检测失败,执行步骤314。

具体的,在本实施例中,预设值为0.3秒。

步骤308,生产工具将第一otp值,令牌当前时间和查找到的与令牌序列号对应的密文种子发送给hsm设备;

具体的,生产工具将第一otp值630842,令牌的当前时间2018-07-1314:11:11和找到的密文种子327c27407e2d916a1a9d455bd79f8e4737f5b99adcbaa242740e3bd2dff37c09发送给hsm设备。

步骤309,hsm设备根据预置的算法和密文种子进行解密得到明文种子;

具体的,hsm设备使用sm4算法,对密文种子327c27407e2d916a1a9d455bd79f8e4737f5b99adcbaa242740e3bd2dff37c09进行解密,得到明文种子613b236b80e75ea1267a7e8cbaca0aba809cd326。

步骤310,hsm设备使用预置的算法根据明文种子,令牌的当前时间生成第二otp值;

在本步骤中,hsm设备使用的预置算法与步骤305中的令牌生成第一otp值的预置的算法相同。

具体的,在本步骤中,hsm设备使用sha1算法,根据明文种子613b236b80e75ea1267a7e8cbaca0aba809cd326和令牌当前时间2018-07-1314:11:11生成第二otp值:630842。

步骤311,hsm设备判断第一otp值和第二otp值是否相同,如果相同,执行步骤312,如果不同,执行步骤313;

步骤312,hsm设备向生产工具发送检测成功的令牌检测结果,执行步骤314;

具体的,检测成功的令牌检测结果为:检测成功。

步骤313,hsm设备向生产工具发送检测失败的令牌检测结果,执行步骤314;

具体的,检测失败的令牌检测结果为:检测失败。

步骤314,生产工具显示接收到的令牌检测结果。

当步骤314中生产工具显示接收到的令牌结果为检测成功时,步骤314之后还包括:生产工具向otp令牌发送封闭端口的指令。

当步骤314中生产工具显示接收到的令牌结果为检测失败时,步骤314还包括:生产工具显示检测失败的原因,如时间漂移过大,非接通信故障或者掉电等。

在本实施例中,步骤301-步骤303和步骤304-步骤305两部分的执行顺序可以互换。

在本实施例的检测otp令牌的过程中,当hsm设备设置有计时器时,如图5所示,步骤308-311可以被如下步骤308’-311’替换:

步骤308’,生产工具将第一otp值和查找到的与令牌序列号对应的密文种子发送给hsm设备;

步骤309’,hsm设备根据预置的算法和密文种子进行解密得到明文种子;

步骤310’,hsm设备使用预置的算法根据明文种子,hsm设备的当前时间生成第二otp值组;

在本步骤中,hsm设备使用的预置算法与步骤305中的令牌生成第一otp值的预置的算法相同。

在本步骤中,具体的,hsm设备将hsm设备的当前时间作为基准时间,以预定的时间间隔向前和向后分别计算时间,获得一组时间因子,hsm设备使用预置的算法根据明文种子,获得的一组时间因子进行计算生成第二otp值组。

优选的,预定的时间间隔为60秒。

例如,根据将hsm设备的当前时间作为基准时间,以预定的时间间隔10秒向前和向后分别计算时间,获得一组时间因子:1531462211、1531462271、1531462331。

hsm设备使用sha1算法根据明文种子613b236b80e75ea1267a7e8cbaca0aba809cd326,获得的上述一组时间因子进行计算生成第二otp值组:038399、630842、720090。

步骤311’,hsm设备判断第一otp值是否与第二otp值组中的一个otp值相同,如果是,则执行步骤312,如果不同,执行步骤313。

在本实施例中,步骤310’之前还可以包括:hsm设备判断hsm设备的当前时间是否与gsm时间一致,如果一致,则执行步骤310’,如果不一致,则将根据gsm时间校准hsm设备的当前时间。

实施例3

如图6所示,本实施例提供了一种otp令牌安全生产和检测的系统600,包括生产工具装置601和hsm装置602,生产工具装置601包括:

抓取和放置模块6011,用于执行抓取otp令牌的操作;还用于将otp令牌放置在可读取位置;还用于根据检测结果将otp令牌放置到指定位置;

查找模块6012,用于查找与otp令牌的设备标识对应的第一密文种子;

第一接收模块6013,用于接收otp令牌生成的第一一次性密码;还用于接收hsm装置602发送的明文种子;还用于接收hsm装置602发送检测结果;

第一发送模块6014,用于将第一密文种子发送给hsm装置602;还用于将第一密文种子和第一一次性密码发送给hsm设备;

写入模块6015,用于将第一接收模块6013接收的明文种子写入otp令牌中;

hsm装置602包括:

第二接收模块6021,用于接收生产工具装置601发送的第一密文种子;还用于接收生产工具发送的第一一次性密码;

第二解密模块6022,用于对第一密文种子进行解密后得到明文种子;

第二生成模块6023,用于根据明文种子生成第二一次性密码;

比对模块6024,用于将第一一次性密码和第二一次性密码进行比对得到检测结果;

第二发送模块6025,用于将明文种子发送给生产工具装置601;还用于将比对模块6024得到的检测结果发送给生产工具装置601。

在本实施例中,设备标识为令牌序列号。

在本实施例中,第一发送模块6014还用于向otp令牌发送读取设备标识的指令;还用于向otp令牌发送读取一次性密码的指令;

第一接收模块6013还用于接收otp令牌发送的设备标识;

查找模块6012具体用于,根据设备标识查找与设备标识对应的第一密文种子。

在本实施例中,生产工具装置601还包括显示模块,用于显示第一接收模块6013接收到的检测结果。

在本实施例中,抓取和放置模块6011还用于当检测结果为成功时,将otp令牌放置到第一指定位置;当检测结果为失败时,生产工具将otp令牌放置到第二指定位置。

在本实施例中,生产工具装置601还包括第一判断模块,用于根据检测结果判断otp令牌的放置位置,还用于判断放置位置是否可以放置otp令牌;

抓取和放置模块6011具体用于,当第一判断模块判断放置位置可以放置otp令牌时,将otp令牌放置在放置位置;

生产工具装置601还包括提示模块,用于当第一判断模块判断放置位置不可以放置otp令牌时,提示清空放置位置。

在本实施例中,生产工具装置601还包括获取模块,用于获取otp令牌的当前时间和otp令牌的起始时间;

生产工具装置601还包括第一判断模块,用于根据当前时间和起始时间判断otp令牌的时效性是否有效;

第一发送模块6014具体用于,当第一判断模块判断otp令牌的时效性有效时,将第一密文种子和第一一次性密码发送给hsm设备;

生产工具装置601还包括显示模块,用于当第一判断模块判断otp令牌的时效性无效时,显示检测失败。

在本实施例中,生产工具还包括计算模块,用于将当前时间减去起始时间获得第一时间差值,将获取的全球定位时间减去当前时间获得第二时间差值,生产工具将第二时间差值除以第一时间差值获得第一结果;

第一判断模块具体用于判断第一结果是否小于预设值来判断otp令牌的时效性是否有效。

在本实施例中,第一发送模块6014,具体用于将第一密文种子,第一一次性密码和otp令牌的当前时间发送给hsm设备;

第一生成模块具体用于,根据明文种子和otp令牌的当前时间生成第二一次性密码。

在本实施例中,第一生成模块具体用于根据明文种子,hsm装置602的当前时间生成第二一次性密码组;

比对模块6024具体用于比对第一一次性密码是否与第二一次性密码组中的一个一次性密码相同,获得比对结果,将比对结果作为检测结果。

在本实施例中,显示模块显示检测结果为成功;

第一发送模块6014还用于当显示模块显示检测结果为成功时,向一次性密码令牌发送封闭端口的指令。

在本实施例中,第二发送模块6025还用于向生产工具装置601发送生成随机数的请求;

生产工具装置601还包括第一生成模块,用于生成第一随机数;

第一发送模块6014还用于将第一随机数发送给hsm装置602;

hsm装置602还包括第二加密模块,用于使用第一随机数和预定的算法对明文种子进行加密得到第二密文种子,并将第二密文种子发送给生产工具装置601;

生产工具装置601还包括第一解密模块,用于使用第一随机数对第二密文种子进行解密得到明文种子。

在本实施例中,第二发送模块6025还用于向生成工具装置发送生成随机数的请求;还用于将第三密文种子发送给生产工具装置601;

第一接收模块6013,用于接收第二发送模块6025发送的生成随机数的请求;还用于接收otp令牌发送的第二随机数;

第一发送模块6014,用于将生成随机数的请求发送给otp令牌;还用于将otp令牌发送的第二随机数发送给hsm装置602;还用于将第三密文种子发送给otp令牌;

hsm装置602还包括第二加密模块,用于根据预置的算法使用第二随机数对明文种子进行加密后得到第三密文种子;

写入模块6015被替换为:otp令牌,用于使用第二随机数对第三密文种子进行解密后得到明文种子并存储明文种子;

otp令牌还用于生成第二随机数。

在本实施例中,系统700还包括:otp令牌,用于生成第三随机数,还用于将第三随机数发送给生产工具装置601;还用于对接收到第四密文种子使用第三随机数进行解密后存储;

生产工具装置601还包括:第一加密模块,用于对接收到的明文种子进行加密后得到第四密文种子;

第一发送模块6014,还用于向otp令牌发送生成随机数的请求;还用于将第四密文种子发送给otp令牌。

在本实施例中,第一发送模块6014,用于向otp令牌发送获取设备标识和随机数的请求;还用于将第一密文种子和第四随机数发送给hsm装置602;还用于将第五密文种子发送给otp令牌;

系统还包括otp令牌,用于生成第四随机数,还用于将第四随机数和设备标识发送给生产工具装置601;还用于使用第四随机数对第五密文种子进行解密后得到明文种子,并存储明文种子;

查找模块6012,用于查找与令牌标识对应的第一密文种子;

第二解密模块6022,用于对第一密文种子进行解密后得到明文种子;

hsm装置602还包括第二加密模块,用于使用第四随机数对明文种子进行加密得到第五密文种子;

第二发送模块6025,还用于将第五密文种子发送给生产工具装置601。

以上所述,仅为本发明较佳的具体实施方法,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1