一种NFC动态令牌及其工作方法与流程

文档序号:18800244发布日期:2019-10-08 19:20阅读:511来源:国知局
一种NFC动态令牌及其工作方法与流程

本发明涉及信息安全领域,特别是涉及一种NFC(Near Field Communication,近场通信)动态令牌及其工作方法。



背景技术:

动态令牌是一种用于生成动态口令的设备,广泛应用于网银、电信运营商和电子政务等应用领域。动态令牌所生成的动态口令可用于身份认证,能够有效提高身份认证的安全性。

现有技术中,动态令牌生成动态口令后,需要由用户将动态口令手动输入到网页或者客户端,容易出错,且安全性较差。



技术实现要素:

本发明提供了一种NFC动态令牌及其工作方法,以解决现有的动态令牌安全性较差的缺陷。

本发明提供了一种NFC动态令牌的工作方法,包括以下步骤:

所述NFC动态令牌检测到预设按键被触发后,开启NFC通信,通过NFC通道与移动设备建立连接;

所述NFC动态令牌接收来自所述移动设备的第三指令,使用自身保存的种子数据生成动态口令,并通过NFC通道将所述动态口令发送给所述移动设备。

本发明还提供了一种NFC动态令牌,包括:

检测模块,用于检测预设按键是否被触发;

连接模块,用于在所述检测模块检测到预设按键被触发后,开启NFC通信,通过NFC通道与移动设备建立连接;

接收模块,用于接收来自所述移动设备的第三指令;

生成模块,使用自身保存的种子数据生成动态口令;

发送模块,用于通过NFC通道将所述动态口令发送给所述移动设备。

本发明通过NFC通道将NFC动态令牌生成的动态口令发送给移动设备,避免用户在手动输入动态口令时出错和泄密,提高了动态令牌的安全性。

附图说明

图1为本发明实施例中的一种NFC动态令牌的工作方法流程图;

图2为本发明实施例中的另一种NFC动态令牌的工作方法流程图;

图3为本发明实施例中的又一种NFC动态令牌的工作方法流程图;

图4为本发明实施例中的再一种NFC动态令牌的工作方法流程图;

图5为本发明实施例中的一种NFC动态令牌的结构示意图。

具体实施方式

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

本发明实施例提供了一种NFC动态令牌的工作方法,如图1所示,包括以下步骤:

步骤101,NFC动态令牌检测到预设按键被触发后,开启NFC通信,通过NFC通道与移动设备建立连接。

步骤102,NFC动态令牌等待接收来自移动设备的NFC数据。

步骤103,当NFC动态令牌接收到来自移动设备的NFC数据后,NFC动态令牌对NFC数据进行校验,如果校验通过,则执行步骤105;否则,执行步骤104。

其中,NFC数据包括帧头、长度数据、指令数据和校验数据,长度数据的取值为指令数据和校验数据的长度之和;相应地,NFC动态令牌可以根据长度数据和指令数据进行计算,得到校验值,判断该校验值是否与校验数据的取值相同,如果相同,则确定NFC数据校验通过;否则,确定NFC数据校验未通过。

本实施例中,帧头的长度为1字节,长度数据的长度为1字节,校验数据的长度为1字节。

例如,NFC数据为“0x44020110”,包含帧头“0x44”、长度数据“0x02”、指令数据“0x01”和校验数据“0x10”,NFC动态令牌根据长度数据“0x02”和指令数据“0x01”进行计算,判断计算得到的校验值是否为“0x10”,如果是,则确定校验通过;否则,确定校验未通过。

步骤104,NFC动态令牌向移动终端发送错误码,并返回步骤102。

例如,NFC动态令牌向移动终端发送错误码“0xBB021E35”。

步骤105,NFC动态令牌对NFC数据进行判断,如果是第一指令,则执行步骤106;如果是第三指令,则执行步骤107;如果是第四指令,则执行步骤109。

具体地,NFC动态令牌获取指令数据中的命令代码,对该命令代码进行判断,如果该命令代码为第三预设值,则确定该NFC数据为第一指令;如果该命令代码为第四预设值,则确定该NFC数据为第三指令;如果该命令代码为第五预设值,则确定该NFC数据为第四指令。

例如,第三预设值为“0x01”,第四预设值为“0x03”,第五预设值为“0x04”,NFC动态令牌对指令数据中的命令代码进行判断,如果该命令代码为“0x01”,则确定该NFC数据为第一指令;如果该命令代码为“0x03”,则确定该NFC数据为第三指令;如果该命令代码为“0x04”,则确定该NFC数据为第四指令。

步骤106,NFC动态令牌通过NFC通道向移动设备发送加密随机数,保存该加密随机数,并返回步骤102。

其中,加密随机数可以是从UTC秒数中截取的部分数据,例如,“0x1326”。

需要说明的是,移动设备接收到来自NFC动态令牌的加密随机数后,对该加密随机数进行保存。

步骤107,NFC动态令牌使用最近一次保存的加密随机数对自身保存的种子密文进行解密,得到种子明文,使用该种子明文生成动态口令,并对该动态口令进行显示。

例如,NFC动态令牌使用最近一次保存的加密随机数“0x1326”对种子密文“0xAFCC4F6EAC971346E6”进行解密,得到种子明文“0x8D5828922FEBFC8597”,根据上述种子明文生成动态口令“355569”,并显示动态口令“355569”。

步骤108,NFC动态令牌通过NFC通道将动态口令发送给移动设备,并返回步骤102。

例如,NFC动态令牌通过NFC通道将动态口令“355569”发送给移动设备。

步骤109,NFC动态令牌通过NFC通道向移动设备发送令牌序列号,并返回步骤102。

例如,NFC动态令牌通过NFC通道将自身保存的令牌序列号“15357”发送给移动设备。

需要说明的是,NFC动态令牌开启NFC通信之后,还包括:NFC动态令牌检测到预设按键被触发后,清除屏幕显示,并关闭NFC通信。

相应地,NFC动态令牌清除屏幕显示,并关闭NFC通信之后,还包括:NFC动态令牌检测到预设按键被触发后,开启NFC通信,并执行步骤102及后续步骤。

本发明实施例通过NFC通道将NFC动态令牌生成的动态口令发送给移动设备,避免用户在手动输入动态口令时出错和泄密,提高了动态令牌的安全性。

本发明实施例还提供了另一种NFC动态令牌的工作方法,如图2所示,包括以下步骤:

步骤201,NFC动态令牌检测到预设按键被触发后,开启NFC通信,通过NFC通道与移动设备建立连接。

步骤202,NFC动态令牌等待接收来自移动设备的NFC指令。

步骤203,当NFC动态令牌接收到来自移动设备的NFC指令后,NFC动态令牌对NFC指令进行校验,如果校验通过,则执行步骤205;否则,执行步骤204。

其中,NFC指令包括帧头、长度数据、指令数据和校验数据,长度数据的取值为指令数据和校验数据的长度之和;相应地,NFC动态令牌可以根据长度数据和指令数据进行计算,得到校验值,判断该校验值是否与校验数据的取值相同,如果相同,则确定NFC指令校验通过;否则,确定NFC指令校验未通过。

本实施例中,帧头的长度为1字节,长度数据的长度为1字节,校验数据的长度为1字节。

例如,NFC指令为“0x44020110”,包含帧头“0x44”、长度数据“0x02”、指令数据“0x01”和校验数据“0x10”,NFC动态令牌根据长度数据“0x02”和指令数据“0x01”进行计算,判断计算得到的校验值是否为“0x10”,如果是,则确定校验通过;否则,确定校验未通过。

步骤204,NFC动态令牌向移动终端发送错误码,并返回步骤202。

例如,NFC动态令牌向移动终端发送错误码“0xBB021E35”。

步骤205,NFC动态令牌使用自身保存的种子明文生成动态口令。

例如,NFC动态令牌使用自身保存的种子明文“0x8D5828922FEBFC8597”生成动态口令“355569”。

步骤206,NFC动态令牌通过NFC通道将动态口令发送给移动设备,并返回步骤202。

例如,NFC动态令牌通过NFC通道将动态口令“355569”发送给移动设备。

需要说明的是,NFC动态令牌开启NFC通信之后,还包括:NFC动态令牌检测到预设按键被触发后,清除屏幕显示,并关闭NFC通信。

相应地,NFC动态令牌清除屏幕显示,并关闭NFC通信之后,还包括:NFC动态令牌检测到预设按键被触发后,开启NFC通信,并执行步骤202及后续步骤。

本发明实施例通过NFC通道将NFC动态令牌生成的动态口令发送给移动设备,避免用户在手动输入动态口令时出错和泄密,提高了动态令牌的安全性。

本发明实施例还提供了又一种NFC动态令牌的工作方法,如图3所示,包括以下步骤:

步骤301,NFC动态令牌检测到预设按键被触发后,开启NFC通信,通过NFC通道与移动设备建立连接。

步骤302,NFC动态令牌等待接收来自移动设备的NFC指令。

步骤303,当NFC动态令牌接收到来自移动设备的NFC指令后,NFC动态令牌使用最近一次保存的加密随机数对自身保存的种子密文进行解密,得到种子明文,并使用该种子明文生成动态口令。

例如,NFC指令为“0x44020110”,NFC动态令牌使用最近一次保存的加密随机数“0x1326”对种子密文“0xAFCC4F6EAC971346E6”进行解密,得到种子明文“0x8D5828922FEBFC8597”,并根据上述种子明文生成动态口令“355569”。

步骤304,NFC动态令牌通过NFC通道将动态口令发送给移动设备,并返回步骤302。

例如,NFC动态令牌通过NFC通道将动态口令“355569”发送给移动设备。

需要说明的是,NFC动态令牌开启NFC通信之后,还包括:NFC动态令牌检测到预设按键被触发后,清除屏幕显示,并关闭NFC通信。

相应地,NFC动态令牌清除屏幕显示,并关闭NFC通信之后,还包括:NFC动态令牌检测到预设按键被触发后,开启NFC通信,并执行步骤302及后续步骤。

本发明实施例通过NFC通道将NFC动态令牌生成的动态口令发送给移动设备,避免用户在手动输入动态口令时出错和泄密,提高了动态令牌的安全性。

本发明实施例还提供了再一种NFC动态令牌的工作方法,如图4所示,包括以下步骤:

步骤401,NFC动态令牌上电,设置系统运行时钟,初始化外设中断。

步骤402,NFC动态令牌判断是否有事件发生,如果是,则执行步骤405;否则,执行步骤403。

具体地,NFC动态令牌判断事件标识是否置位,如果是,则确定有事件发生,否则,确定没有事件发生。

步骤403,NFC动态令牌关闭系统运行时钟,进入休眠状态,并在有事件发生时,从休眠状态中唤醒,执行步骤404。

步骤404,NFC动态令牌设置系统运行时钟,并执行步骤405。

步骤405,NFC动态令牌判断是否有按键事件发生,如果是,则执行步骤406;否则,执行步骤409。

具体地,NFC动态令牌判断按键中断标识是否置位,如果是,则确定有按键事件发生,否则,确定没有按键事件发生。

需要说明的是,NFC动态令牌判断按键中断标识置位之后,还会对按键中断标识复位。

步骤406,NFC动态令牌对流程标识进行判断,如果是第一预设值,则执行步骤407;如果是第二预设值,则执行步骤408。

例如,第一预设值为“01”,第二预设值为“02”。

步骤407,NFC动态令牌对保存的种子密文进行解密,使用解密得到的种子明文生成动态口令,显示该动态口令,开启NFC通信,通过NFC通道与移动设备建立连接,将流程标识设置为第二预设值,并执行步骤409。

具体地,NFC动态令牌使用最近一次保存的加密随机数,对自身保存的种子密文进行解密,得到种子明文,并用该种子明文生成动态口令。

例如,NFC动态令牌使用最近一次保存的加密随机数“0x1326”对种子密文“0xAFCC4F6EAC971346E6”进行解密,得到种子明文“0x8D5828922FEBFC8597”,并根据上述种子明文生成动态口令“355569”,显示动态口令“355569”,将流程标识设置为“02”。

步骤408,NFC动态令牌清除屏幕显示,关闭NFC通信,将流程标识设置为第一预设值,并执行步骤409。

例如,NFC动态令牌将流程标识设置为“01”。

步骤409,NFC动态令牌判断是否有自动清屏事件发生,如果是,则执行步骤410;否则,执行步骤411。

具体地,NFC动态令牌判断自动清屏标识是否置位,如果是,则确定有自动清屏事件发生,否则,确定没有自动清屏事件发生。

需要说明的是,NFC动态令牌判断自动清屏标识置位之后,还会对自动清屏标识复位。

步骤410,NFC动态令牌清除屏幕显示,关闭NFC通信,并执行步骤411。

步骤411,NFC动态令牌判断是否有NFC通信事件发生,如果是,则执行步骤412;否则,返回步骤402。

具体地,NFC动态令牌判断NFC通信中断标识是否置位,如果是,则确定有NFC通信事件发生,否则,确定没有NFC通信事件发生。

需要说明的是,NFC动态令牌判断NFC通信中断标识置位之后,还会对NFC通信中断标识复位。

此外,当按键中断标识、NFC通信中断标识和自动清屏标识均被复位后,NFC动态令牌将事件标识复位。

步骤412,NFC动态令牌从NFC缓存区中获取NFC数据,对NFC数据进行校验,如果校验通过,则执行步骤414;否则,执行步骤413。

其中,NFC数据包括帧头、长度数据、指令数据和校验数据,长度数据的取值为指令数据和校验数据的长度之和;相应地,NFC动态令牌可以根据长度数据和指令数据进行计算,得到校验值,判断该校验值是否与校验数据的取值相同,如果相同,则确定NFC数据校验通过;否则,确定NFC数据校验未通过。

本实施例中,帧头的长度为1字节,长度数据的长度为1字节,校验数据的长度为1字节。

例如,NFC数据为“0x44020110”,包含帧头“0x44”、长度数据“0x02”、指令数据“0x01”和校验数据“0x10”,NFC动态令牌根据长度数据“0x02”和指令数据“0x01”进行计算,判断计算得到的校验值是否为“0x10”,如果是,则确定校验通过;否则,确定校验未通过。

步骤413,NFC动态令牌向移动终端发送错误码,并返回步骤402。

例如,NFC动态令牌向移动终端发送错误码“0xBB021E35”。

步骤414,NFC动态令牌对NFC数据进行判断,如果是第一指令,则执行步骤415;如果是第三指令,则执行步骤416;如果是第四指令,则执行步骤418。

具体地,NFC动态令牌获取指令数据中的命令代码,对该命令代码进行判断,如果该命令代码为第三预设值,则确定该NFC数据为第一指令;如果该命令代码为第四预设值,则确定该NFC数据为第三指令;如果该命令代码为第五预设值,则确定该NFC数据为第四指令。

例如,第三预设值为“0x01”,第四预设值为“0x03”,第五预设值为“0x04”,NFC动态令牌对指令数据中的命令代码进行判断,如果该命令代码为“0x01”,则确定该NFC数据为第一指令;如果该命令代码为“0x03”,则确定该NFC数据为第三指令;如果该命令代码为“0x04”,则确定该NFC数据为第四指令。

步骤415,NFC动态令牌通过NFC通道向移动设备发送加密随机数,保存该加密随机数,并返回步骤402。

其中,加密随机数可以是从UTC秒数中截取的部分数据,例如,“0x1326”。

步骤416,NFC动态令牌使用最近一次保存的加密随机数对自身保存的种子密文进行解密,得到种子明文,并使用该种子明文生成动态口令。

例如,NFC动态令牌使用最近一次保存的加密随机数“0x1326”对种子密文“0xAFCC4F6EAC971346E6”进行解密,得到种子明文“0x8D5828922FEBFC8597”,并根据上述种子明文生成动态口令“355569”。

步骤417,NFC动态令牌通过NFC通道将动态口令发送给移动设备,并返回步骤402。

例如,NFC动态令牌通过NFC通道将动态口令“355569”发送给移动设备。

步骤418,NFC动态令牌通过NFC通道向移动设备发送令牌序列号,并返回步骤402。

例如,NFC动态令牌通过NFC通道将自身保存的令牌序列号“15357”发送给移动设备。

需要说明的是,本发明实施例还包括以下步骤:

NFC动态令牌判断是否有EPD(Electronic Paper Displays,电子纸显示)错误事件发生,并在有EPD错误事件发生时,对电子纸进行初始化。具体地,NFC动态令牌判断EPD错误标识是否置位,如果是,则确定有EPD错误事件发生,否则,确定没有EPD错误事件发生。NFC动态令牌判断EPD错误标识置位之后,还会对EPD错误标识复位。

相应地,当EPD错误标识、按键中断标识、NFC通信中断标识和自动清屏标识均被复位后,NFC动态令牌将事件标识复位。

此外,NFC动态令牌在显示信息或清除屏幕显示之前,NFC动态令牌中的主控芯片向电子纸发送上电(power-on)指令,并检测Busy信号是否在第一预设时长内由低电平切换到高电平,如果没有,则置位EPD错误标识;NFC动态令牌在显示信息或清除屏幕显示之后,NFC动态令牌中的主控芯片向电子纸发送下电(power-off)指令,并检测Busy信号是否在第二预设时长内由高电平切换到低电平,如果没有,则置位EPD错误标识和事件标识。

NFC动态令牌检测到按键中断后,将按键中断标识和事件标识置位;NFC动态令牌检测到NFC通信中断后,将通过NFC通道接收到的NFC数据存储到NFC缓存区,将NFC通信中断标识和事件标识置位;NFC动态令牌检测到RTC中断后,更新秒计数,并判断秒计数是否达到预设次数,如果是,则更新动态因子,置位自动清屏标识和事件标识,并对RTC中断次数进行初始化。

本实施例中,RTC中断每秒钟发生一次,预设次数为60次。NFC动态令牌检测到RTC中断后,将秒计数加1;秒计数达到60次后,NFC动态令牌将秒计数初始化为零;NFC动态令牌从NFC数据中获取第一指令后,可以将秒计数作为加密随机数发送给移动设备。

本发明实施例通过NFC通道将NFC动态令牌生成的动态口令发送给移动设备,避免用户在手动输入动态口令时出错和泄密,提高了动态令牌的安全性。

基于上述NFC动态令牌的工作方法,本发明实施例还提供了一种NFC动态令牌,如图5所示,包括:

检测模块510,用于检测预设按键是否被触发;

连接模块520,用于在检测模块510检测到预设按键被触发后,开启NFC通信,通过NFC通道与移动设备建立连接;

接收模块530,用于接收来自移动设备的第三指令;

生成模块540,使用自身保存的种子数据生成动态口令;

发送模块550,用于通过NFC通道将动态口令发送给移动设备。

进一步地,上述NFC动态令牌,还包括:

显示模块,用于显示动态口令。

其中,NFC动态令牌保存的种子数据可以为种子密文;

相应地,上述生成模块540,具体用于使用最近一次保存的加密随机数对自身保存的种子密文进行解密,得到种子明文,并使用种子明文生成动态口令。

上述接收模块530,还用于接收来自移动设备的第一指令;

上述发送模块550,还用于通过NFC通道向移动设备发送加密随机数,保存所述加密随机数。

进一步地,上述接收模块530,还用于接收来自移动设备的第四指令;

上述发送模块550,还用于通过NFC通道向移动设备发送令牌序列号。

进一步地,上述检测模块510,具体用于判断是否有按键事件发生,如果是,则确定预设按键被触发;否则,确定预设按键没有被触发;

进一步地,上述NFC动态令牌,还包括:

判断模块,用于在检测模块510判断出有按键事件发生之后,对流程标识进行判断;

连接模块520,具体用于在判断模块判断出所述流程标识为第一预设值时,开启NFC通信,通过NFC通道与移动设备建立连接。

进一步地,上述NFC动态令牌,还包括:

设置模块,用于在判断模块判断出所述流程标识为第一预设值之后,将流程标识设置为第二预设值;

清除模块,用于在判断模块判断出流程标识为第二预设值之后,清除屏幕显示,关闭NFC通信,将流程标识设置为第一预设值。

本发明实施例通过NFC通道将NFC动态令牌生成的动态口令发送给移动设备,避免用户在手动输入动态口令时出错和泄密,提高了动态令牌的安全性。

结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

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

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