CN103873256A - 一种nfc令牌的工作方法 - Google Patents
一种nfc令牌的工作方法 Download PDFInfo
- Publication number
- CN103873256A CN103873256A CN201410101322.5A CN201410101322A CN103873256A CN 103873256 A CN103873256 A CN 103873256A CN 201410101322 A CN201410101322 A CN 201410101322A CN 103873256 A CN103873256 A CN 103873256A
- Authority
- CN
- China
- Prior art keywords
- time
- preset
- field communication
- communication chip
- control unit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004891 communication Methods 0.000 claims abstract description 184
- 238000012790 confirmation Methods 0.000 claims description 40
- 238000010200 validation analysis Methods 0.000 claims description 36
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000004088 simulation Methods 0.000 claims description 22
- 238000007689 inspection Methods 0.000 claims description 11
- 230000000630 rising effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 6
- 239000003086 colorant Substances 0.000 description 6
- 241001269238 Data Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000010437 gem Substances 0.000 description 2
- 229910001751 gemstone Inorganic materials 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0838—Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
- H04L63/0846—Network architectures or network communication protocols for network security for authentication of entities using passwords using time-dependent-passwords, e.g. periodically changing passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
- H04W12/47—Security arrangements using identity modules using near field communication [NFC] or radio frequency identification [RFID] modules
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种NFC令牌的工作方法,属于信息安全领域。所述方法包括:令牌中的微控制单元进行系统初始化,复位令牌中的近场通信芯片并向近场通信芯片发送设置近场通信芯片指令,等待接收设置近场通信芯片指令返回值,待接收到设置近场通信芯片指令返回值时发送第一预设指令给近场通信芯片,等待接收第一预设指令返回值,待接收到第一预设指令返回值时发送包含动态口令的第二预设指令给近场通信芯片。本发明的有益效果在于:令牌对移动平台兼容性好,且使用方便,简化了用户的操作流程。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种NFC令牌的工作方法。
背景技术
在信息安全领域,由于智能手机等智能终端的快速发展,作为一种结合了货币电子化与移动通信的崭新服务,移动银行业务使人们可以在任何时间、任何地点处理多种金融业务。为了保证移动银行业务的安全性,各个银行开始将挑战应答令牌或者耳机Key等设备应用于移动银行,但耳机Key的兼容性较差,而挑战应答令牌虽不存在兼容性的问题,但需要较多的人为干预,使用不方便。
近场通信(Near Field Communication,NFC),又称近距离无线通信,是一种短距离的高频无线通信技术,允许电子设备之间进行非接触式点对点的数据传输,由于NFC相比于其他无线通讯技术具有更好的安全性,因此被认为在手机支付等领域具有很大的应用前景。
发明内容
本发明的目的是为了克服现有技术的缺陷,提出一种NFC令牌的工作方法。
本发明方法是通过下述技术方案实现的:
一种NFC令牌的工作方法,其基本实施过程如下:
步骤S1:令牌中的微控制单元进行系统初始化;
步骤S2:所述微控制单元复位所述令牌中的近场通信芯片;
步骤S3:所述微控制单元向所述近场通信芯片发送设置近场通信芯片指令;
步骤S4:所述微控制单元等待所述近场通信芯片返回的设置近场通信芯片指令返回值;
步骤S5:当所述微控制单元读取到所述近场通信芯片返回的设置近场通信芯片指令返回值时,发送第一预设指令给所述近场通信芯片;
步骤S6:所述微控制单元等待所述近场通信芯片返回的第一预设指令返回值;
步骤S7:当所述微控制单元读取到所述近场通信芯片返回的第一预设指令返回值时,发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片;
所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:所述微控制单元计算生成动态口令。
所述步骤S2中还可以包括:
步骤S2':所述微控制单元等待用户输入确认开始信息,当接收到用户输入的确认开始信息时执行步骤S3,否则继续等待用户输入确认开始信息;
其中,所述步骤S2'可以具体包括:所述微控制单元检查按键中断引脚的电平,当所述按键中断引脚的电平为高电平时表示接收到用户输入的确认开始信息,执行步骤S3,当所述按键中断引脚的电平为低电平时表示没有接收到用户输入的确认开始信息,继续检查所述按键中断引脚的电平;进一步地,所述微控制单元发送第一预设指令给所述近场通信芯片之前和/或所述微控制单元发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:检查所述按键中断引脚的电平,若为高电平则继续执行,若为低电平则返回步骤S2;
或者,所述步骤S2'具体包括:所述微控制单元开启按键中断,检查开始标志,当所述开始标志置位时表示接收到用户输入的确认开始信息,执行步骤S3,当所述开始标志未置位时表示没有接收到用户输入的确认开始信息,继续检查所述开始标志;相应地,所述步骤S1中还包括所述微控制单元初始化按键中断;当所述微控制单元接收到按键中断时,检查所述开始标志是否置位,是则退出按键中断,否则将所述开始标志置位,退出按键中断;
或者,所述步骤S2'具体包括:所述微控制单元开启按键中断,检查开始标志,当所述开始标志置位时表示接收到用户输入的确认开始信息,执行步骤S3,当所述开始标志未置位时表示没有接收到用户输入的确认开始信息,继续检查所述开始标志;相应地,所述步骤S1中还包括所述微控制单元初始化按键中断,并设置按键中断为上升沿触发;当所述微控制单元接收到按键中断时,检查所述开始标志是否置位,是则退出按键中断,否则将所述开始标志置位,并设置按键中断为下降沿触发,退出按键中断。
所述步骤S3中还包括:所述微控制单元设置所述近场通信芯片的超时时间;
其中,所述微控制单元设置所述近场通信芯片的超时时间可以具体包括:所述微控制单元发送设置超时时间指令给所述近场通信芯片,所述设置超时时间指令中包含上电应答超时时间和通信超时时间。
所述步骤S3具体包括:所述微控制单元设置令牌的序列号,根据所述令牌的序列号生成配置目标设备指令,发送所述配置目标设备指令给所述近场通信芯片;相应地,所述第一预设指令为接收数据指令,所述第二预设指令为发送数据指令。
或者,所述步骤S3具体包括:所述微控制单元设置模拟卡片参数,根据所述模拟卡片参数生成配置目标设备指令,发送所述配置目标设备指令给所述近场通信芯片,所述模拟卡片参数包括模拟卡片类型和模拟卡片ID;相应地,当所述微控制单元读取到所述近场通信芯片返回的设置近场通信芯片指令返回值时,所述发送第一预设指令给所述近场通信芯片之前还包括:所述微控制单元发送第二预设指令给所述近场通信芯片,当所述微控制单元读取到所述近场通信芯片返回的第二预设指令返回值时,发送第一预设指令给所述近场通信芯片;所述第一预设指令为获取数据指令,所述第二预设指令为回复发起者指令。
或者,所述步骤S3具体包括:所述微控制单元设置寻卡类型和寻卡速率,根据所述寻卡类型和寻卡速率生成配置发起者指令,发送所述配置发起者指令给所述近场通信芯片;相应地,所述第一预设指令和所述第二预设指令均为数据交换指令。
所述步骤S4至步骤S7具体包括:
步骤A1:所述微控制单元等待接收数据中断,当所述微控制单元接收到数据中断时执行步骤A2;
步骤A2:所述微控制单元读取所述近场通信芯片的返回数据,检查读取到的数据,若为所述设置近场通信芯片指令返回值,则发送第一预设指令给所述近场通信芯片,返回步骤A1,若为所述第一预设指令返回值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片;
相应地,所述步骤S1中还包括:初始化数据中断。
或者,所述步骤S4至步骤S7具体包括:
步骤B1:所述微控制单元检查触发标志,若所述触发标志未置位,则等待接收数据中断,返回步骤B1,若所述触发标志置位,则执行步骤B2;
当所述微控制单元接收到数据中断时,读取所述近场通信芯片的返回数据,检查读取到的数据,若为所述设置近场通信芯片指令返回值,则更新令牌的工作状态为第一预设状态,并将所述触发标志置位,若为所述第一预设指令返回值,则更新令牌的工作状态为第二预设状态,并将所述触发标志置位;
步骤B2:所述微控制单元将所述触发标志复位,检查令牌的工作状态,若为第一预设状态则发送第一预设指令给所述近场通信芯片,返回步骤B1,若为第二预设状态则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片;
相应地,所述步骤S1中还包括:初始化数据中断;所述步骤S2中还包括:初始化令牌的工作状态为初始状态。
或者,所述步骤S4至步骤S7具体包括:
步骤C1:所述微控制单元查询数据中断引脚的电平,当所述数据中断引脚的电平为高电平时执行步骤C2;
步骤C2:所述微控制单元读取所述近场通信芯片的返回数据,检查读取到的数据,若为所述近场通信芯片指令返回值,则发送第一预设指令给所述近场通信芯片,返回步骤C1,若为所述第一预设指令返回值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片;
相应地,所述步骤S1中还包括:初始化数据中断。
所述计算生成动态口令之前还包括:所述微控制单元提示用户输入确认生成口令信息,并判断在第一预设时间内是否接收到用户输入的确认生成口令信息,是则计算生成动态口令,否则返回步骤S2;
其中,所述判断在第一预设时间内是否接收到用户输入的确认生成口令信息具体包括:所述微控制单元检查按键中断引脚的电平,并判断在第一预设时间内按键中断引脚的电平是否变为高电平,是则在第一预设时间内接收到用户输入的确认生成口令信息,否则在第一预设时间内没有接收到用户输入的确认生成口令信息;
或者,所述判断在第一预设时间内是否接收到用户输入的确认生成口令信息具体包括:所述微控制单元等待接收按键中断,并判断在第一预设时间内是否接收到按键中断,是则在第一预设时间内接收到用户输入的确认生成口令信息,否则在第一预设时间内没有接收到用户输入的确认生成口令信息;相应地,所述步骤S1中还包括:初始化按键中断。
当所述微控制单元读取到所述近场通信芯片返回的第一预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:所述微控制单元提示用户输入确认发送口令信息,并判断在第二预设时间内是否接收到用户输入的确认发送口令信息,是则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片,否则返回步骤S2;
其中,所述判断在第二预设时间内是否接收到用户输入的确认发送口令信息具体包括:所述微控制单元检查按键中断引脚的电平,并判断在第二预设时间内按键中断引脚的电平是否变为高电平,是则在第二预设时间内接收到用户输入的确认发送口令信息,否则在第二预设时间内没有接收到用户输入的确认发送口令信息;
或者,所述判断在第二预设时间内是否接收到用户输入的确认发送口令信息具体包括:所述微控制单元等待接收按键中断,并判断在第二预设时间内是否接收到按键中断,是则在第二预设时间内接收到用户输入的确认发送口令信息,否则在第二预设时间内没有接收到用户输入的确认发送口令信息,相应地,所述步骤S1中还包括:初始化按键中断。
所述计算生成动态口令具体包括:根据预置的密钥和事件因子计算生成动态口令;
或者,所述计算生成动态口令具体包括:根据所述挑战值、预置的密钥和事件因子计算生成动态口令;相应地,所述计算生成动态口令之前还包括:从所述近场通信芯片返回的第一预设指令返回值中获取挑战值,并显示所述挑战值;
或者,所述计算生成动态口令具体包括:根据所述挑战值以及预置的密钥、事件因子和时间因子计算生成动态口令;相应地,所述计算生成动态口令之前还包括:从所述近场通信芯片返回的第一预设指令返回值中获取挑战值,并显示所述挑战值;
或者,所述计算生成动态口令具体包括:根据预置的密钥和时间因子计算生成动态口令;
或者,所述计算生成动态口令具体包括:根据所述挑战值、预置的密钥和时间因子计算生成动态口令;相应地,所述计算生成动态口令之前还包括:从所述近场通信芯片返回的第一预设指令返回值中获取挑战值,并显示所述挑战值。
所述步骤S7之后还包括:所述微控制单元等待所述近场通信芯片返回的第二预设指令返回值,当所述微控制单元读取到所述近场通信芯片返回的第二预设指令返回值时,发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片;
当所述微控制单元读取到所述近场通信芯片返回的第一预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:检查所述第一预设指令返回值中的状态参数,若所述状态参数为预设值,则返回步骤S2,若所述状态参数不为预设值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片;
当所述微控制单元读取到所述近场通信芯片返回的第二预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:检查所述第二预设指令返回值中的状态参数,若所述状态参数为预设值,则返回步骤S2,若所述状态参数不为预设值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片。
本发明方法的有益效果在于,本发明提供的令牌对移动平台具有良好的兼容性,并且本发明提供的令牌在使用时,减少了用户的手动操作,简化了用户的操作流程。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一中提供的一种NFC令牌的工作方法的流程图;
图2为本发明实施例二中提供的一种NFC令牌的工作方法的流程图;
图3为本发明实施例三中提供的一种NFC令牌的工作方法的流程图;
图4为本发明实施例四中提供的一种NFC令牌的工作方法的流程图;
图5为本发明实施例五中提供的一种NFC令牌的工作方法的流程图;
图6为本发明实施例六中提供的一种NFC令牌的工作方法的流程图;
图7为本发明实施例七中提供的一种NFC令牌的工作方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的NFC令牌为支持NFC的设备,可以在主动或被动模式下与其他支持NFC的设备交换数据。
实施例一
本发明实施例一提供一种NFC令牌的工作方法,所述令牌中包括MCU(Micro Control Unit,微控制单元)和NFC(Near Field Communication,近场通信)芯片。参见图1,所述令牌的工作方法具体包括:
步骤S1:令牌中的MCU进行系统初始化;
步骤S2:所述MCU复位所述令牌中的NFC芯片;
步骤S3:所述MCU向所述NFC芯片发送设置NFC芯片指令;
本实施例中,步骤S3中还可以包括:步骤S3':所述MCU设置所述NFC芯片的超时时间;
步骤S3'具体包括:所述MCU发送设置超时时间指令给所述NFC芯片,所述设置超时时间指令中包含上电应答超时时间和通信超时时间。
步骤S4:所述MCU等待所述NFC芯片返回的设置NFC芯片指令返回值;
步骤S5:当所述MCU读取到所述NFC芯片返回的设置NFC芯片指令返回值时,发送第一预设指令给所述NFC芯片;
步骤S6:所述MCU等待所述NFC芯片返回的第一预设指令返回值;
步骤S7:当所述MCU读取到所述NFC芯片返回的第一预设指令返回值时,发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片;
本实施例中,当所述MCU读取到所述NFC芯片返回的第一预设指令返回值时,发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片之前还包括:检查所述第一预设指令返回值中的状态参数,若所述状态参数为预设值,则返回步骤S2,若所述状态参数不为预设值,则发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片;
所述发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片之前还包括:所述MCU计算生成动态口令。
本实施例中,步骤S2中还可以包括:步骤S2':所述MCU等待用户输入确认开始信息,当接收到用户输入的确认开始信息时执行步骤S3,否则继续等待用户输入确认开始信息;
步骤S2'具体包括:所述MCU检查按键中断引脚的电平,当所述按键中断引脚的电平为高电平时表示接收到用户输入的确认开始信息,执行步骤S3,当所述按键中断引脚的电平为低电平时表示没有接收到用户输入的确认开始信息,继续检查所述按键中断引脚的电平;
相应地,所述MCU发送第一预设指令给所述NFC芯片之前和/或所述MCU发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片之前还可以包括:检查所述按键中断引脚的电平,若为高电平则继续执行,若为低电平则返回步骤S2;
或者,步骤S2'具体包括:所述MCU开启按键中断,检查开始标志,当所述开始标志置位时表示接收到用户输入的确认开始信息,执行步骤S3,当所述开始标志未置位时表示没有接收到用户输入的确认开始信息,继续检查所述开始标志;
相应地,所述步骤S1中还包括所述MCU初始化按键中断;并且当所述MCU接收到按键中断时,检查所述开始标志是否置位,是则退出按键中断,否则将所述开始标志置位,退出按键中断;
或者,步骤S2'具体包括:所述MCU开启按键中断,检查开始标志,当所述开始标志置位时表示接收到用户输入的确认开始信息,执行步骤S3,当所述开始标志未置位时表示没有接收到用户输入的确认开始信息,继续检查所述开始标志;
相应地,所述步骤S1中还包括所述MCU初始化按键中断,并设置按键中断为上升沿触发;并且当所述MCU接收到按键中断时,检查所述开始标志是否置位,是则退出按键中断,否则将所述开始标志置位,并设置按键中断为下降沿触发,退出按键中断。
本实施例中,计算生成动态口令之前还可以包括:
步骤30:所述MCU提示用户输入确认生成口令信息;
步骤40:所述MCU判断在第一预设时间内是否接收到用户输入的确认生成口令信息,是则计算生成动态口令,否则返回步骤S2。
步骤40具体包括:所述MCU检查按键中断引脚的电平,并判断在第一预设时间内按键中断引脚的电平是否变为高电平,是则在第一预设时间内接收到用户输入的确认生成口令信息,否则在第一预设时间内没有接收到用户输入的确认生成口令信息;
或者,步骤40具体包括:所述MCU等待接收按键中断,并判断在第一预设时间内是否接收到按键中断,是则在第一预设时间内接收到用户输入的确认生成口令信息,否则在第一预设时间内没有接收到用户输入的确认生成口令信息;
相应地,所述步骤S1中还包括:初始化按键中断。
本实施例中,当所述MCU读取到所述NFC芯片返回的第一预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片之前还可以包括:
步骤50:所述MCU提示用户输入确认发送口令信息;
步骤60:所述MCU判断在第二预设时间内是否接收到用户输入的确认发送口令信息,是则发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片,否则返回S2。
步骤60具体包括:所述MCU检查按键中断引脚的电平,并判断在第二预设时间内按键中断引脚的电平是否变为高电平,是则在第二预设时间内接收到用户输入的确认发送口令信息,否则在第二预设时间内没有接收到用户输入的确认发送口令信息;
或者,步骤60具体包括:所述MCU等待接收按键中断,并判断在第二预设时间内是否接收到按键中断,是则在第二预设时间内接收到用户输入的确认发送口令信息,否则在第二预设时间内没有接收到用户输入的确认发送口令信息;
相应地,所述步骤S1中还包括:初始化按键中断。
本实施例中,步骤S7之后还可以包括:所述MCU等待所述NFC芯片返回的第二预设指令返回值,当所述MCU读取到所述NFC芯片返回的第二预设指令返回值时,发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片;
进一步地,当所述MCU读取到所述NFC芯片返回的第二预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片之前还包括:检查所述第二预设指令返回值中的状态参数,若所述状态参数为预设值,则返回步骤S2,若所述状态参数不为预设值,则发送包含令牌生成的动态口令的第二预设指令给所述NFC芯片。
实施例二
本发明实施例二提供一种NFC令牌的工作方法,所述令牌中包括MCU和NFC芯片,所述令牌在主动模式下作为目标设备与发起者进行通信。参见图2,所述令牌的工作方法具体包括令牌的MCU执行以下步骤:
步骤101:进行系统初始化;
步骤102:复位NFC芯片;
具体地,本实施例中,复位NFC芯片包括:MCU控制其MCU_SPI_RST引脚输出低电平,延时预设时间后,控制其MCU_SPI_RST引脚输出高电平;
优选地,本实施例中,步骤102之前还可以包括:检查电池电量,且当电池电量低于预设电量时提示电量过低;具体地,可以通过屏幕显示电量过低和/或通过变换指示灯颜色提示电量过低和/或通过蜂鸣提示电量过低和/或通过语音提示电量过低。
步骤103:设置NFC芯片的超时时间;
具体地,本实施例中,设置NFC芯片的超时时间包括:MCU发送设置超时时间指令给NFC芯片,超时时间指令中包括上电应答超时时间和通信超时时间;
优选地,本实施例中,设置超时时间指令为Cfqlten参数为0x02的RFConfiguration指令。
步骤104:判断在预设时间内是否接收到NFC芯片返回的设置超时时间应答,是则继续执行步骤105,否则通信失败,返回步骤102;
步骤105:根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功,是则执行步骤106,否则通信失败,返回步骤102;
具体地,本实施例中,根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功包括:判断接收到的设置超时时间应答的预设字节上的数据是否为预设字符串,是则设置NFC芯片的超时时间成功,否则设置NFC芯片的超时时间失败;
优选地,本实施例中,判断接收到的设置超时时间应答的前三个字节上的数据是否为0x 00 00FF。
步骤106:设置NFC芯片为主动模式的目标形态,设置并发送令牌的序列号给NFC芯片;
具体地,本实施例中,步骤106包括:设置令牌序列号,并根据设置的令牌序列号生成配置目标设备指令,发送生成的配置目标设备指令给NFC芯片;
优选地,本实施例中,令牌序列号为10个字节的数据,配置目标设备指令为Mode参数为0x02的TgInitAsTarget指令。
步骤107:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则继续执行步骤108,否则通信失败,返回步骤102;
步骤108:判断是否有NFC芯片的返回数据,是则执行步骤109,否则返回步骤108;
本实施例中,步骤108具体包括:等待数据中断,当接收到数据中断时执行步骤109,否则继续等待数据中断;
或者,本实施例中,步骤108具体包括:查询数据中断引脚的电平,当数据中断引脚的电平为高电平时执行步骤109,否则继续查询数据中断引脚的电平。
步骤109:读取NFC芯片的返回数据,并检查读取到的数据,若为设置NFC芯片工作模式、形态和令牌参数的返回值则执行步骤110,若为获取数据请求的返回值则执行步骤113;
本实施例中,设置NFC芯片工作模式、形态和令牌参数的返回值具体为配置目标设备指令的应答;获取数据请求的返回值具体为接收数据指令的应答;
优选地,本实施例中,配置目标设备指令为Mode参数为0x02的TgInitAsTarget指令,接收数据指令为TgGetData指令。
步骤110:检查设置NFC芯片工作模式、形态和令牌参数的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤102,否则执行步骤111;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤111:发送获取数据请求给NFC芯片;
本实施例中,步骤111具体包括:生成并发送接收数据指令给NFC芯片;
优选地,本实施例中,接收数据指令为TgGetData指令。
步骤112:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤108,否则通信失败,返回步骤102;
步骤113:检查获取数据请求的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤102,否则执行步骤114;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤114:发送动态口令给NFC芯片;
本实施例中,步骤114具体包括:生成并发送包含动态口令的发送数据指令给NFC芯片;
优选地,本实施例中,发送数据指令为TgSetData指令。
本实施例中,步骤114之前还包括:计算生成动态口令;
计算生成动态口令具体包括:根据令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据令牌中预置的密钥和所述事件因子计算生成动态口令;
进一步地,本实施例中,当MCU读取到NFC芯片返回的获取数据请求的返回值时,还包括从获取数据请求的返回值中获取挑战值,并显示挑战值;
相应地,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥以及所述事件因子计算生成动态口令。
更进一步地,本实施例中,步骤101中还可以包括:开启定时器中断,并设置定时器中断的中断优先级最高;
相应地,在本实施例中,当MCU接收到定时器中断时,更新令牌中预置的时间因子;
计算生成动态口令具体包括:根据令牌中预置的密钥和所述时间因子计算生成动态口令。
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和所述时间因子计算生成动态口令;
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥、事件因子和所述时间因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥、所述时间因子以及所述事件因子计算生成动态口令。
本实施例中,计算生成动态口令之前还可以包括:提示用户输入确认生成口令信息,检查按键中断引脚的电平,并判断在第一预设时间内按键中断引脚的电平是否变为高电平,是则计算生成动态口令,否则返回步骤102;或者包括:提示用户输入确认生成口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则计算生成动态口令,否则返回步骤102。
本实施例中,步骤114之前还可以包括:提示用户输入确认发送口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则执行步骤114,否则返回步骤102;或者包括:提示用户输入确认发送口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则执行步骤114,否则返回步骤102。
步骤115:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则通信成功,返回步骤102,否则通信失败,返回步骤102。
进一步地,本实施例中,步骤109中还可以包括:若读取到的数据为发送动态口令的返回值则检查发送动态口令的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤102,否则执行步骤114;本实施例中,状态参数具体为status,预设值具体为0x29。
相应地,步骤115替换为,判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤108,否则通信失败,返回步骤102。
实施例三
本发明实施例三提供一种NFC令牌的工作方法,所述令牌在主动模式下作为目标设备与发起者进行通信。参见图3,所述令牌的工作方法具体包括令牌的MCU执行以下步骤:
步骤201:进行系统初始化;
步骤202:复位NFC芯片,设置令牌的工作状态为初始状态,并复位触发标志;
具体地,本实施例中,复位NFC芯片包括:MCU控制其MCU_SPI_RST引脚输出低电平,延时预设时间后,控制其MCU_SPI_RST引脚输出高电平;
优选地,本实施例中,步骤202之前还可以包括:检查电池电量,且当电池电量低于预设电量时提示电量过低;具体地,可以通过屏幕显示电量过低和/或通过变换指示灯颜色提示电量过低和/或通过蜂鸣提示电量过低和/或通过语音提示电量过低。
步骤203:设置NFC芯片的超时时间;
具体地,本实施例中,设置NFC芯片的超时时间包括:MCU发送设置超时时间指令给NFC芯片,超时时间指令中包括上电应答超时时间和通信超时时间;
优选地,本实施例中,设置超时时间指令为Cfqlten参数为0x02的RFConfiguration指令。
步骤204:判断在预设时间内是否接收到NFC芯片返回的设置超时时间应答,是则继续执行步骤205,否则通信失败,返回步骤202;
步骤205:根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功,是则执行步骤206,否则通信失败,返回步骤202;
具体地,本实施例中,根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功包括:判断接收到的设置超时时间应答的预设字节上的数据是否为预设字符串,是则设置NFC芯片的超时时间成功,否则设置NFC芯片的超时时间失败;
优选地,本实施例中,判断接收到的设置超时时间应答的前三个字节上的数据是否为0x 00 00FF。
步骤206:设置NFC芯片为主动模式的目标形态,设置并发送令牌的序列号给NFC芯片;
具体地,本实施例中,步骤206包括:设置令牌序列号,并根据设置的令牌序列号生成配置目标设备指令,并发送给NFC芯片;
优选地,本实施例中,令牌序列号为10个字节的数据,配置目标设备指令为Mode参数为0x02的TgInitAsTarget指令。
步骤207:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则继续执行步骤208,否则通信失败,返回步骤202;
步骤208:检查触发标志是否置位,是则执行步骤210,否则执行步骤209;
步骤209:等待接收数据中断,返回步骤208;
本实施例中,当MCU接收到数据中断时,读取NFC芯片的返回数据,检查读取到的数据,若为设置所述NFC芯片的工作模式、形态和令牌参数的返回值,则更新令牌的工作状态为第一预设状态,并将所述触发标志置位,若为获取数据请求的返回值,则更新令牌的工作状态为第二预设状态,并将所述触发标志置位;
步骤210:检查令牌的工作状态,若为第一预设状态则执行步骤211,若为第二预设状态则执行步骤214;
步骤211:将触发标志复位,检查读取到的数据中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤202,否则执行步骤212;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤212:发送获取数据请求给NFC芯片;
本实施例中,步骤212具体包括:生成并发送接收数据指令给NFC芯片;
优选地,本实施例中,接收数据指令为TgGetData指令。
步骤213:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤208,否则通信失败,返回步骤202;
步骤214:将触发标志复位,检查接收到的数据中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤202,否则执行步骤215;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤215:发送动态口令给NFC芯片;
本实施例中,步骤215具体包括:生成并发送包含动态口令的发送数据指令给NFC芯片;
优选地,本实施例中,发送数据指令为:TgSetData指令。
本实施例中,步骤215之前还包括:计算生成动态口令;
计算生成动态口令具体包括:根据令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据令牌中预置的密钥和所述事件因子计算生成动态口令;
进一步地,本实施例中,当MCU读取到NFC芯片返回的获取数据请求的返回值时,还包括从获取数据请求的返回值中获取挑战值;
相应地,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥以及所述事件因子计算生成动态口令。
更进一步地,本实施例中,步骤201中还可以包括:开启定时器中断,并设置定时器中断的中断优先级最高;
相应地,在本实施例中,当MCU接收到定时器中断时,更新令牌中预置的时间因子;
计算生成动态口令具体包括:根据令牌中预置的密钥和所述时间因子计算生成动态口令。
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和所述时间因子计算生成动态口令;
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥、事件因子和所述时间因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥、所述时间因子以及所述事件因子计算生成动态口令。
本实施例中,计算生成动态口令之前还可以包括:提示用户输入确认生成口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则计算生成动态口令,否则返回步骤202;或者包括:提示用户输入确认生成口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则计算生成动态口令,否则返回步骤202。
本实施例中,步骤215之前还可以包括:提示用户输入确认发送口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则执行步骤215,否则返回步骤202;或者包括:提示用户输入确认发送口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则执行步骤215,否则返回步骤202。
步骤216:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则通信成功,返回步骤202,否则通信失败,返回步骤202。
进一步地,本实施例中,当MCU接收到数据中断时,还可以包括,若读取到的数据为发送动态口令的返回值,则将所述触发标志置位;
相应地,步骤216替换为:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤208,否则通信失败,返回步骤202。
实施例四
本发明实施例四提供一种NFC令牌的工作方法,所述令牌在被动模式下作为目标设备与发起者进行通信。参见图4,所述令牌的工作方法具体包括令牌的MCU执行以下步骤:
步骤301:进行系统初始化;
步骤302:复位NFC芯片;
具体地,本实施例中,复位NFC芯片包括:MCU控制其MCU_SPI_RST引脚输出低电平,延时预设时间后,控制其MCU_SPI_RST引脚输出高电平;
优选地,本实施例中,步骤302之前还可以包括:检查电池电量,且当电池电量低于预设电量时提示电量过低;具体地,可以通过屏幕显示电量过低和/或通过变换指示灯颜色提示电量过低和/或通过蜂鸣提示电量过低和/或通过语音提示电量过低。
步骤303:设置NFC芯片的超时时间;
具体地,本实施例中,设置NFC芯片的超时时间包括:MCU发送设置超时时间指令给NFC芯片,超时时间指令中包括上电应答超时时间和通信超时时间;
优选地,本实施例中,设置超时时间指令为Cfqlten参数为0x02的RFConfiguration指令。
步骤304:判断在预设时间内是否接收到NFC芯片返回的设置超时时间应答,是则继续执行步骤305,否则通信失败,返回步骤302;
步骤305:根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功,是则执行步骤306,否则通信失败,返回步骤302;
具体地,本实施例中,根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功包括:判断接收到的设置超时时间应答的预设字节上的数据是否为预设字符串,是则设置NFC芯片的超时时间成功,否则设置NFC芯片的超时时间失败;
优选地,本实施例中,判断接收到的设置超时时间应答的前三个字节上的数据是否为0x 00 00FF。
步骤306:设置NFC芯片为被动模式的目标形态,设置并发送模拟卡片参数给NFC芯片;
具体地,本实施例中,步骤306包括:设置模拟卡片参数,并根据设置的模拟卡片参数生成配置目标设备指令,发送配置目标设备指令给NFC芯片;
优选地,本实施例中,配置目标设备指令为Mode参数为0x04的TgInitAsTarget指令,模拟卡片参数包括模拟卡片类型和模拟卡片ID,模拟卡片类型如Felica卡、Mifare卡等。
步骤307:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则继续执行步骤308,否则通信失败,返回步骤302;
步骤308:判断是否有NFC芯片的返回数据,是则执行步骤309,否则返回步骤308;
本实施例中,步骤308具体包括:等待数据中断,当接收到数据中断时执行步骤309,否则继续等待数据中断;
或者,本实施例中,步骤308具体包括:查询数据中断引脚的电平,当数据中断引脚的电平为高电平时执行步骤309,否则继续查询数据中断引脚的电平。
步骤309:读取NFC芯片的返回数据,并检查读取到的数据,若为设置NFC芯片工作模式、形态和令牌参数的返回值则执行步骤310,若为发送令牌参数的返回值则执行步骤313;若为获取数据请求的返回值则执行步骤316;
本实施例中,设置NFC芯片工作模式、形态和令牌参数的返回值具体为配置目标设备指令的应答;发送令牌参数的返回值具体为包含令牌参数的回复发起者指令的应答;获取数据请求的返回值具体为获取数据指令的应答;
优选地,本实施例中,配置目标设备指令为Mode参数为0x04的TgInitAsTarget指令;回复发起者指令为TgResponseToInitiator指令;获取数据指令为TgGetInitiator指令。
步骤310:检查设置NFC芯片工作模式、形态和令牌参数的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤302,否则执行步骤311;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤311:发送令牌参数给NFC芯片;
本实施例中,步骤311具体包括:生成并发送包含令牌参数的回复发起者指令给NFC芯片;
优选地,本实施例中,回复发起者指令为TgResponseToInitiator指令。
步骤312:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤308,否则通信失败,返回步骤302;
步骤313:检查发送令牌参数的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤302,否则执行步骤314;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤314:发送获取数据请求给NFC芯片;
本实施例中,步骤314具体包括:生成并发送获取数据指令给NFC芯片;
优选地,本实施例中,获取数据指令为TgGetInitiator指令。
步骤315:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤308,否则通信失败,返回步骤302;
步骤316:检查获取数据请求的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤302,否则执行步骤317;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤317:发送动态口令给NFC芯片;
本实施例中,步骤317具体包括:生成并发送包含动态口令的回复发起者指令给NFC芯片;
优选地,本实施例中,回复发起者指令为TgResponseToInitiator指令;
本实施例中,步骤317之前还包括:计算生成动态口令;
计算生成动态口令具体包括:根据令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据令牌中预置的密钥和所述事件因子计算生成动态口令;
进一步地,本实施例中,当MCU读取到NFC芯片返回的获取数据请求的返回值时,还包括从获取数据请求的返回值中获取挑战值;
相应地,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥以及所述事件因子计算生成动态口令。
更进一步地,本实施例中,步骤301中还可以包括:开启定时器中断,并设置定时器中断的中断优先级最高;
相应地,在本实施例中,当MCU接收到定时器中断时,更新令牌中预置的时间因子;
计算生成动态口令具体包括:根据令牌中预置的密钥和所述时间因子计算生成动态口令。
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和所述时间因子计算生成动态口令;
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥、事件因子和所述时间因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥、所述时间因子以及所述事件因子计算生成动态口令。
本实施例中,计算生成动态口令之前还可以包括:提示用户输入确认生成口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则计算生成动态口令,否则返回步骤302;或者包括:提示用户输入确认生成口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则计算生成动态口令,否则返回步骤302。
本实施例中,步骤317之前还可以包括:提示用户输入确认发送口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则执行步骤317,否则返回步骤302;或者包括:提示用户输入确认发送口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则执行步骤317,否则返回步骤302。
步骤318:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则通信成功,返回步骤302,否则通信失败,返回步骤302。
进一步地,本实施例中,步骤309中还可以包括:若读取到的数据为发送动态口令的返回值则检查发送动态口令的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤302,否则执行步骤317;
本实施例中,状态参数具体为status,预设值具体为0x29。
相应地,步骤318替换为,判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤308,否则通信失败,返回步骤302。
实施例五
本发明实施例五提供一种NFC令牌的工作方法,所述令牌在被动模式下作为目标设备与发起者进行通信。参见图5,所述令牌的工作方法具体包括令牌的MCU执行以下步骤:
步骤401:进行系统初始化;
步骤402:复位NFC芯片,设置令牌的工作状态为初始状态,并复位触发标志;
具体地,本实施例中,复位NFC芯片包括:MCU控制其MCU_SPI_RST引脚输出低电平,延时预设时间后,控制其MCU_SPI_RST引脚输出高电平;
优选地,本实施例中,步骤402之前还可以包括:检查电池电量,且当电池电量低于预设电量时提示电量过低;具体地,可以通过屏幕显示电量过低和/或通过变换指示灯颜色提示电量过低和/或通过蜂鸣提示电量过低和/或通过语音提示电量过低。
步骤403:设置NFC芯片的超时时间;
具体地,本实施例中,设置NFC芯片的超时时间包括:MCU发送设置超时时间指令给NFC芯片,超时时间指令中包括上电应答超时时间和通信超时时间;
优选地,本实施例中,设置超时时间指令为Cfqlten参数为0x02的RFConfiguration指令。
步骤404:判断在预设时间内是否接收到NFC芯片返回的设置超时时间应答,是则继续执行步骤405,否则通信失败,返回步骤402;
步骤405:根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功,是则执行步骤406,否则通信失败,返回步骤402;
具体地,本实施例中,根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功包括:判断接收到的设置超时时间应答的预设字节上的数据是否为预设字符串,是则设置NFC芯片的超时时间成功,否则设置NFC芯片的超时时间失败;
优选地,本实施例中,判断接收到的设置超时时间应答的前三个字节上的数据是否为0x 00 00FF。
步骤406:设置NFC芯片为被动模式的目标形态,设置并发送模拟卡片参数给NFC芯片;
具体地,本实施例中,步骤406包括:设置模拟卡片参数,并根据设置的模拟卡片参数生成配置目标设备指令,并发送给NFC芯片;
优选地,本实施例中,配置目标设备指令为Mode参数为0x04的TgInitAsTarget指令,模拟卡片参数包括模拟卡片类型和模拟卡片ID,模拟卡片类型如Felica卡、Mifare卡等。
步骤407:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则继续执行步骤408,否则通信失败,返回步骤402;
步骤408:检查触发标志是否置位,是则执行步骤410,否则执行步骤409;
步骤409:等待接收数据中断,返回步骤408;
本实施例中,当MCU接收到数据中断时,读取NFC芯片的返回数据,检查读取到的数据,若为设置所述NFC芯片的工作模式、形态和令牌参数的返回值,则更新令牌的工作状态为第三预设状态,并将所述触发标志置位,若为发送令牌参数的返回值,则更新令牌的工作状态为第一预设状态,并将所述触发标志置位,若为获取数据请求的返回值,则更新令牌的工作状态为第二预设状态,并将所述触发标志置位;
本实施例中,设置所述NFC芯片的工作模式、形态和令牌参数的返回值具体为配置目标设备指令的应答,发送令牌参数的返回值具体为包含令牌参数的回复发起者指令的应答,获取数据请求的返回值具体为获取数据指令的应答;
优选地,本实施例中,配置目标设备指令为TgInitAsTarget指令,回复发起者指令为TgResponseToInitiator指令,获取数据请求的返回值为TgGetInitiator指令的应答。
步骤410:检查令牌的工作状态,若为第三预设状态则执行步骤411,若为第一预设状态则执行步骤414,若为第二预设状态则执行步骤417;
步骤411:将触发标志复位,检查接收到的数据中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤402,否则执行步骤412;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤412:发送令牌参数给NFC芯片;
本实施例中,步骤412具体包括:生成并发送包含令牌参数的回复发起者指令给NFC芯片;
优选地,本实施例中,回复发起者指令为TgResponseToInitiator指令。
步骤413:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤408,否则通信失败,返回步骤402;
步骤414:将触发标志复位,检查接收到的数据中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤402,否则执行步骤415;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤415:发送获取数据请求给NFC芯片;
本实施例中,步骤415具体包括:生成并发送获取数据指令给NFC芯片;
优选地,本实施例中,获取数据指令为TgGetInitiator指令
步骤416:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤408,否则通信失败,返回步骤402;
步骤417:将触发标志复位,检查接收到的数据中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤402,否则执行步骤418;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤418:发送动态口令给NFC芯片;
本实施例中,步骤418具体包括:生成并发送包含动态口令的回复发起者指令给NFC芯片;
优选地,本实施例中,回复发起者指令为TgResponseToInitiator指令;
本实施例中,步骤418之前还包括:计算生成动态口令;
计算生成动态口令具体包括:根据令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据令牌中预置的密钥和所述事件因子计算生成动态口令;
进一步地,本实施例中,当MCU读取到NFC芯片返回的获取数据请求的返回值时,还包括从获取数据请求的返回值中获取挑战值;
相应地,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥以及所述事件因子计算生成动态口令。
更进一步地,本实施例中,步骤401中还可以包括:开启定时器中断,并设置定时器中断的中断优先级最高;
相应地,在本实施例中,当MCU接收到定时器中断时,更新令牌中预置的时间因子;
计算生成动态口令具体包括:根据令牌中预置的密钥和所述时间因子计算生成动态口令。
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和所述时间因子计算生成动态口令;
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥、事件因子和所述时间因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥、所述时间因子以及所述事件因子计算生成动态口令。
本实施例中,计算生成动态口令之前还可以包括:提示用户输入确认生成口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则计算生成动态口令,否则返回步骤402;或者包括:提示用户输入确认生成口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则计算生成动态口令,否则返回步骤402。
本实施例中,步骤418之前还可以包括:提示用户输入确认发送口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则执行步骤418,否则返回步骤402;或者包括:提示用户输入确认发送口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则执行步骤418,否则返回步骤402。
步骤419:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则通信成功,返回步骤402,否则通信失败,返回步骤402。
进一步地,本实施例中,当MCU接收到数据中断时还可以包括:若读取到的数据为发送动态口令的返回值,则将所述触发标志置位;
相应地,步骤419替换为,判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤408,否则通信失败,返回步骤402。
实施例六
本发明实施例六提供一种NFC令牌的工作方法,所述令牌在被动模式下作为发起者与目标设备进行通信。参见图6,所述令牌的工作方法具体包括令牌的MCU执行以下步骤:
步骤501:进行系统初始化;
步骤502:复位NFC芯片;
具体地,本实施例中,复位NFC芯片包括:MCU控制其MCU_SPI_RST引脚输出低电平,延时预设时间后,控制其MCU_SPI_RST引脚输出高电平;
优选地,本实施例中,步骤502之前还可以包括:检查电池电量,且当电池电量低于预设电量时提示电量过低;具体地,可以通过屏幕显示电量过低和/或通过变换指示灯颜色提示电量过低和/或通过蜂鸣提示电量过低和/或通过语音提示电量过低。
步骤503:设置NFC芯片的超时时间;
具体地,本实施例中,设置NFC芯片的超时时间包括:MCU发送设置超时时间指令给NFC芯片,超时时间指令中包括上电应答超时时间和通信超时时间;
优选地,本实施例中,设置超时时间指令为Cfqlten参数为0x02的RFConfiguration指令。
步骤504:判断在预设时间内是否接收到NFC芯片返回的设置超时时间应答,是则继续执行步骤505,否则通信失败,返回步骤502;
步骤505:根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功,是则执行步骤506,否则通信失败,返回步骤502;
具体地,本实施例中,根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功包括:判断接收到的设置超时时间应答的预设字节上的数据是否为预设字符串,是则设置NFC芯片的超时时间成功,否则设置NFC芯片的超时时间失败;
优选地,本实施例中,判断接收到的设置超时时间应答的前三个字节上的数据是否为0x 00 00FF。
步骤506:设置NFC芯片为被动模式的发起者形态,设置并发送要寻的卡片的类型和速率给NFC芯片;
具体地,本实施例中,步骤506包括:初始化配置发起者指令,设置要寻的卡片的类型和速率,根据要寻的卡片的类型和速率设置发起者指令中的寻卡参数,发送配置发起者指令给NFC芯片;
优选地,本实施例中,配置发起者指令为InLisPassiveTarget指令,步骤506包括:初始化InLisPassiveTarget指令,设置要寻的卡片的类型和速率,根据要寻的卡片的类型和速率设置InLisPassiveTarget指令的BrTy参数,发送InLisPassiveTarget指令给NFC芯片;
例如,如果设置的要寻的卡片的类型和速率分别为符合ISO/IEC14443协议的A型卡和106kbps,则设置InLisPassiveTarget指令的BrTy参数为0x00;
如果设置的要寻的卡片的类型和速率分别为FeliCa polling卡和212kbps,则设置InLisPassiveTarget指令的BrTy参数为0x01;
如果设置的要寻的卡片的类型和速率分别为FeliCa polling卡和424kbps,则设置InLisPassiveTarget指令的BrTy参数为0x02;
如果设置的要寻的卡片的类型和速率分别为符合ISO/IEC14443-3协议的B型卡和106kbps,则设置InLisPassiveTarget指令的BrTy参数为0x03;
如果设置的要寻的卡片的类型和速率分别为Innovision Jewel tag卡和106kbps,则设置InLisPassiveTarget指令的BrTy参数为0x04。
步骤507:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则继续执行步骤508,否则通信失败,返回步骤502;
步骤508:判断是否有NFC芯片的返回数据,是则执行步骤509,否则返回步骤508;
本实施例中,步骤508具体包括:等待数据中断,当接收到数据中断时执行步骤509,否则继续等待数据中断;
或者,本实施例中,步骤508具体包括:查询数据中断引脚的电平,当数据中断引脚的电平为高电平时执行步骤509,否则继续查询数据中断引脚的电平。
步骤509:读取NFC芯片的返回数据,并检查读取到的数据,若为设置NFC芯片工作模式、形态和令牌参数的返回值则执行步骤510,若为获取数据请求的返回值则执行步骤513;
本实施例中,设置NFC芯片工作模式、形态和令牌参数的返回值具体为配置发起者指令的应答,获取数据请求的返回值具体为数据交换指令的返回值;
优选地,本实施例中,配置发起者指令为InLisPassiveTarget指令,数据交换指令为InDataExchange指令。
步骤510:检查设置NFC芯片工作模式、形态和令牌参数的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤502,否则执行步骤511;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤511:发送获取数据请求给NFC芯片;
本实施例中,步骤511具体包括:生成并发送数据交换指令给NFC芯片;
优选地,本实施例中,数据交换指令为InDataExchange指令。
步骤512:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤508,否则通信失败,返回步骤502;
步骤513:检查数获取数据请求的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤502,否则执行步骤514;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤514:发送动态口令给NFC芯片;
本实施例中,步骤514具体包括:生成并发送包含动态口令的数据交换指令给NFC芯片;
优选地,本实施例中数据交换指令为InDataExchange指令。
本实施例中,步骤514之前还包括:计算生成动态口令;
计算生成动态口令具体包括:根据令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据令牌中预置的密钥和所述事件因子计算生成动态口令;
进一步地,本实施例中,当MCU读取到NFC芯片返回的获取数据请求的返回值时,还包括从获取数据请求的返回值中获取挑战值;
相应地,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥以及所述事件因子计算生成动态口令。
更进一步地,本实施例中,步骤501中还可以包括:开启定时器中断,并设置定时器中断的中断优先级最高;
相应地,在本实施例中,当MCU接收到定时器中断时,更新令牌中预置的时间因子;
计算生成动态口令具体包括:根据令牌中预置的密钥和所述时间因子计算生成动态口令。
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和所述时间因子计算生成动态口令;
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥、事件因子和所述时间因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥、所述时间因子以及所述事件因子计算生成动态口令。
本实施例中,计算生成动态口令之前还可以包括:提示用户输入确认生成口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则计算生成动态口令,否则返回步骤502;或者包括:提示用户输入确认生成口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则计算生成动态口令,否则返回步骤502。
本实施例中,步骤514之前还可以包括:提示用户输入确认发送口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则执行步骤514,否则返回步骤502;或者包括:提示用户输入确认发送口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则执行步骤514,否则返回步骤502。
步骤515:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则通信成功,返回步骤502,否则通信失败,返回步骤502。
进一步地,本实施例中,步骤509中还可以包括:若读取到的数据为发送动态口令的返回值则检查发送动态口令的返回值中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤502,否则执行步骤514;
本实施例中,状态参数具体为status,预设值具体为0x29。
相应地,步骤515替换为,判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤508,否则通信失败,返回步骤502。
实施例七
本发明实施例七提供一种NFC令牌的工作方法,所述令牌在被动模式下作为发起者与目标设备进行通信。参见图7,所述令牌的工作方法具体包括令牌的MCU执行以下步骤:
步骤601:进行系统初始化;
步骤602:复位NFC芯片,设置令牌的工作状态为初始状态,并复位触发标志;
具体地,本实施例中,复位NFC芯片包括:MCU控制其MCU_SPI_RST引脚输出低电平,延时预设时间后,控制其MCU_SPI_RST引脚输出高电平;
优选地,本实施例中,步骤602之前还可以包括:检查电池电量,且当电池电量低于预设电量时提示电量过低;具体地,可以通过屏幕显示电量过低和/或通过变换指示灯颜色提示电量过低和/或通过蜂鸣提示电量过低和/或通过语音提示电量过低。
步骤603:设置NFC芯片的超时时间;
具体地,本实施例中,设置NFC芯片的超时时间包括:MCU发送设置超时时间指令给NFC芯片,超时时间指令中包括上电应答超时时间和通信超时时间;
优选地,本实施例中,设置超时时间指令为Cfqlten参数为0x02的RFConfiguration指令。
步骤604:判断在预设时间内是否接收到NFC芯片返回的设置超时时间应答,是则继续执行步骤605,否则通信失败,返回步骤602;
步骤605:根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功,是则执行步骤606,否则通信失败,返回步骤602;
具体地,本实施例中,根据接收到的设置超时时间应答判断设置NFC芯片的超时时间是否成功包括:判断接收到的设置超时时间应答的预设字节上的数据是否为预设字符串,是则设置NFC芯片的超时时间成功,否则设置NFC芯片的超时时间失败;
优选地,本实施例中,判断接收到的设置超时时间应答的前三个字节上的数据是否为0x 00 00FF。
步骤606:设置NFC芯片为被动模式的发起者形态,设置并发送要寻的卡片的类型和速率给NFC芯片;
具体地,本实施例中,步骤606包括:初始化配置发起者指令,设置要寻的卡片的类型和速率,根据要寻的卡片的类型和速率设置发起者指令中的寻卡参数,发送配置发起者指令给NFC芯片;
优选地,本实施例中,配置发起者指令为InLisPassiveTarget指令,步骤506包括:初始化InLisPassiveTarget指令,设置要寻的卡片的类型和速率,根据要寻的卡片的类型和速率设置InLisPassiveTarget指令的BrTy参数,发送InLisPassiveTarget指令给NFC芯片;
例如,如果设置的要寻的卡片的类型和速率分别为符合ISO/IEC14443协议的A型卡和106kbps,则设置InLisPassiveTarget指令的BrTy参数为0x00;
如果设置的要寻的卡片的类型和速率分别为FeliCa polling卡和212kbps,则设置InLisPassiveTarget指令的BrTy参数为0x01;
如果设置的要寻的卡片的类型和速率分别为FeliCa polling卡和424kbps,则设置InLisPassiveTarget指令的BrTy参数为0x02;
如果设置的要寻的卡片的类型和速率分别为符合ISO/IEC14443-3协议的B型卡和106kbps,则设置InLisPassiveTarget指令的BrTy参数为0x03;
如果设置的要寻的卡片的类型和速率分别为Innovision Jewel tag卡和106kbps,则设置InLisPassiveTarget指令的BrTy参数为0x04。
步骤607:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则继续执行步骤608,否则通信失败,返回步骤602;
步骤608:检查触发标志是否置位,是则执行步骤610,否则执行步骤609;
步骤609:等待接收数据中断,返回步骤608;
本实施例中,当MCU接收到数据中断时,读取NFC芯片的返回数据,检查读取到的数据,若为设置所述NFC芯片的工作模式、形态和令牌参数的返回值,则更新令牌的工作状态为第一预设状态,并将所述触发标志置位,若为获取数据请求的返回值,则更新令牌的工作状态为第二预设状态,并将所述触发标志置位;
本实施例中,设置所述NFC芯片的工作模式、形态和令牌参数的返回值具体为配置发起者指令的应答,获取数据请求的返回值具体为数据交换指令的应答;
优选地,本实施例中,配置发起者指令为InLisPassiveTarget指令,数据交换指令为InDataExchange指令。
步骤610:检查令牌的工作状态,若为第一预设状态则执行步骤611,若为第二预设状态则执行步骤614;
步骤611:将触发标志复位,检查接收到的数据中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤602,否则执行步骤612;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤612:发送获取数据请求给NFC芯片;
本实施例中,步骤612具体包括:生成并数据交换指令给NFC芯片;
优选地,本实施例中,数据交换指令为InDataExchange指令。
步骤613:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤608,否则通信失败,返回步骤602;
步骤614:将触发标志复位,检查接收到的数据中的状态参数是否为预设值,是则通信终端移出,通信结束,返回步骤602,否则执行步骤615;
本实施例中,状态参数具体为status,预设值具体为0x29。
步骤615:发送动态口令给NFC芯片;
本实施例中,步骤615具体包括:生成并发送包含动态口令的数据交换指令给NFC芯片;
优选地,本实施例中,数据交换指令为InDataExchange指令。
本实施例中,步骤615之前还包括:计算生成动态口令;
计算生成动态口令具体包括:根据令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据令牌中预置的密钥和所述事件因子计算生成动态口令;
进一步地,本实施例中,当MCU读取到NFC芯片返回的获取数据请求的返回值时,还包括从获取数据请求的返回值中获取挑战值;
相应地,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和事件因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥以及所述事件因子计算生成动态口令。
更进一步地,本实施例中,步骤601中还可以包括:开启定时器中断,并设置定时器中断的中断优先级最高;
相应地,在本实施例中,当MCU接收到定时器中断时,更新令牌中预置的时间因子;
计算生成动态口令具体包括:根据令牌中预置的密钥和所述时间因子计算生成动态口令。
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥和所述时间因子计算生成动态口令;
或者,计算生成动态口令具体包括:根据获取到的挑战值、令牌中预置的密钥、事件因子和所述时间因子计算生成动态口令,并更新所述事件因子;
或者,计算生成动态口令具体包括:更新令牌中预置的事件因子,根据获取到的挑战值、令牌中预置的密钥、所述时间因子以及所述事件因子计算生成动态口令。
本实施例中,计算生成动态口令之前还可以包括:提示用户输入确认生成口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则计算生成动态口令,否则返回步骤602;或者包括:提示用户输入确认生成口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则计算生成动态口令,否则返回步骤602。
本实施例中,步骤615之前还可以包括:提示用户输入确认发送口令信息,检查按键中断引脚的电平,并判断在预设时间内按键中断引脚的电平是否变为高电平,是则执行步骤615,否则返回步骤602;或者包括:提示用户输入确认发送口令信息,等待接收按键中断,并判断在预设时间内是否接收到按键中断,是则执行步骤615,否则返回步骤602。
步骤616:判断在预设时间内是否接收到NFC芯片返回的确认字符,是则通信成功,返回步骤602,否则通信失败,返回步骤602。
进一步地,本实施例中,当MCU接收到数据中断时还可以包括:若读取到的数据为发送动态口令的返回值,则将所述触发标志置位;
相应地,步骤616替换为,判断在预设时间内是否接收到NFC芯片返回的确认字符,是则返回步骤608,否则通信失败,返回步骤602。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (32)
1.一种NFC令牌的工作方法,其特征在于,包括:
步骤S1:令牌中的微控制单元进行系统初始化;
步骤S2:所述微控制单元复位所述令牌中的近场通信芯片;
步骤S3:所述微控制单元向所述近场通信芯片发送设置近场通信芯片指令;
步骤S4:所述微控制单元等待所述近场通信芯片返回的设置近场通信芯片指令返回值;
步骤S5:当所述微控制单元读取到所述近场通信芯片返回的设置近场通信芯片指令返回值时,发送第一预设指令给所述近场通信芯片;
步骤S6:所述微控制单元等待所述近场通信芯片返回的第一预设指令返回值;
步骤S7:当所述微控制单元读取到所述近场通信芯片返回的第一预设指令返回值时,发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片;
所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:所述微控制单元计算生成动态口令。
2.根据权利要求1所述的方法,其特征在于,所述步骤S2中还包括:
步骤S2':所述微控制单元等待用户输入确认开始信息,当接收到用户输入的确认开始信息时执行步骤S3,否则继续等待用户输入确认开始信息。
3.根据权利要求2所述的方法,其特征在于,所述步骤S2'具体包括:所述微控制单元检查按键中断引脚的电平,当所述按键中断引脚的电平为高电平时表示接收到用户输入的确认开始信息,执行步骤S3,当所述按键中断引脚的电平为低电平时表示没有接收到用户输入的确认开始信息,继续检查所述按键中断引脚的电平。
4.根据权利要求3所述的方法,其特征在于,所述微控制单元发送第一预设指令给所述近场通信芯片之前和/或所述微控制单元发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:检查所述按键中断引脚的电平,若为高电平则继续执行,若为低电平则返回步骤S2。
5.根据权利要求2所述的方法,其特征在于,所述步骤S1中还包括所述微控制单元初始化按键中断;
所述步骤S2'具体包括:所述微控制单元开启按键中断,检查开始标志,当所述开始标志置位时表示接收到用户输入的确认开始信息,执行步骤S3,当所述开始标志未置位时表示没有接收到用户输入的确认开始信息,继续检查所述开始标志;
所述方法还包括:当所述微控制单元接收到按键中断时,检查所述开始标志是否置位,是则退出按键中断,否则将所述开始标志置位,退出按键中断。
6.根据权利要求2所述的方法,其特征在于,所述步骤S1中还包括所述微控制单元初始化按键中断,并设置按键中断为上升沿触发;
所述步骤S2'具体包括:所述微控制单元开启按键中断,检查开始标志,当所述开始标志置位时表示接收到用户输入的确认开始信息,执行步骤S3,当所述开始标志未置位时表示没有接收到用户输入的确认开始信息,继续检查所述开始标志;
所述方法还包括:当所述微控制单元接收到按键中断时,检查所述开始标志是否置位,是则退出按键中断,否则将所述开始标志置位,并设置按键中断为下降沿触发,退出按键中断。
7.根据权利要求1所述的方法,其特征在于,所述步骤S3中还包括:所述微控制单元设置所述近场通信芯片的超时时间。
8.根据权利要求7所述的方法,其特征在于,所述微控制单元设置所述近场通信芯片的超时时间具体包括:所述微控制单元发送设置超时时间指令给所述近场通信芯片,所述设置超时时间指令中包含上电应答超时时间和通信超时时间。
9.根据权利要求1所述的方法,其特征在于,所述步骤S3具体包括:所述微控制单元设置令牌的序列号,根据所述令牌的序列号生成配置目标设备指令,发送所述配置目标设备指令给所述近场通信芯片;
所述第一预设指令为接收数据指令,所述第二预设指令为发送数据指令。
10.根据权利要求1所述的方法,其特征在于,当所述微控制单元读取到所述近场通信芯片返回的设置近场通信芯片指令返回值时,所述发送第一预设指令给所述近场通信芯片之前还包括:所述微控制单元发送第二预设指令给所述近场通信芯片,当所述微控制单元读取到所述近场通信芯片返回的第二预设指令返回值时,发送第一预设指令给所述近场通信芯片。
11.根据权利要求10所述的方法,其特征在于,所述步骤S3具体包括:所述微控制单元设置模拟卡片参数,根据所述模拟卡片参数生成配置目标设备指令,发送所述配置目标设备指令给所述近场通信芯片,所述模拟卡片参数包括模拟卡片类型和模拟卡片ID;
所述第一预设指令为获取数据指令,所述第二预设指令为回复发起者指令。
12.根据权利要求1所述的方法,其特征在于,所述步骤S3具体包括:所述微控制单元设置寻卡类型和寻卡速率,根据所述寻卡类型和寻卡速率生成配置发起者指令,发送所述配置发起者指令给所述近场通信芯片;
所述第一预设指令和所述第二预设指令均为数据交换指令。
13.根据权利要求1所述的方法,其特征在于,所述步骤S1中还包括:初始化数据中断;
所述步骤S4至步骤S7具体包括:
步骤A1:所述微控制单元等待接收数据中断,当所述微控制单元接收到数据中断时执行步骤A2;
步骤A2:所述微控制单元读取所述近场通信芯片的返回数据,检查读取到的数据,若为所述设置近场通信芯片指令返回值,则发送第一预设指令给所述近场通信芯片,返回步骤A1,若为所述第一预设指令返回值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片。
14.根据权利要求1所述的方法,其特征在于,所述步骤S1中还包括:初始化数据中断;
所述步骤S2中还包括:初始化令牌的工作状态为初始状态;
所述步骤S4至步骤S7具体包括:
步骤B1:所述微控制单元检查触发标志,若所述触发标志未置位,则等待接收数据中断,返回步骤B1,若所述触发标志置位,则执行步骤B2;
当所述微控制单元接收到数据中断时,读取所述近场通信芯片的返回数据,检查读取到的数据,若为所述设置近场通信芯片指令返回值,则更新令牌的工作状态为第一预设状态,并将所述触发标志置位,若为所述第一预设指令返回值,则更新令牌的工作状态为第二预设状态,并将所述触发标志置位;
步骤B2:所述微控制单元将所述触发标志复位,检查令牌的工作状态,若为第一预设状态则发送第一预设指令给所述近场通信芯片,返回步骤B1,若为第二预设状态则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片。
15.根据权利要求1所述的方法,其特征在于,所述步骤S1中还包括:初始化数据中断;
所述步骤S4至步骤S7具体包括:
步骤C1:所述微控制单元查询数据中断引脚的电平,当所述数据中断引脚的电平为高电平时执行步骤C2;
步骤C2:所述微控制单元读取所述近场通信芯片的返回数据,检查读取到的数据,若为所述近场通信芯片指令返回值,则发送第一预设指令给所述近场通信芯片,返回步骤C1,若为所述第一预设指令返回值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片。
16.根据权利要求1所述的方法,其特征在于,所述计算生成动态口令之前还包括:所述微控制单元提示用户输入确认生成口令信息,并判断在第一预设时间内是否接收到用户输入的确认生成口令信息,是则计算生成动态口令,否则返回步骤S2。
17.根据权利要求16所述的方法,其特征在于,所述判断在第一预设时间内是否接收到用户输入的确认生成口令信息具体包括:所述微控制单元检查按键中断引脚的电平,并判断在第一预设时间内按键中断引脚的电平是否变为高电平,是则在第一预设时间内接收到用户输入的确认生成口令信息,否则在第一预设时间内没有接收到用户输入的确认生成口令信息。
18.根据权利要求16所述的方法,其特征在于,所述步骤S1中还包括:初始化按键中断;
所述判断在第一预设时间内是否接收到用户输入的确认生成口令信息具体包括:所述微控制单元等待接收按键中断,并判断在第一预设时间内是否接收到按键中断,是则在第一预设时间内接收到用户输入的确认生成口令信息,否则在第一预设时间内没有接收到用户输入的确认生成口令信息。
19.根据权利要求1所述的方法,其特征在于,当所述微控制单元读取到所述近场通信芯片返回的第一预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:所述微控制单元提示用户输入确认发送口令信息,并判断在第二预设时间内是否接收到用户输入的确认发送口令信息,是则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片,否则返回步骤S2。
20.根据权利要求19所述的方法,其特征在于,所述判断在第二预设时间内是否接收到用户输入的确认发送口令信息具体包括:所述微控制单元检查按键中断引脚的电平,并判断在第二预设时间内按键中断引脚的电平是否变为高电平,是则在第二预设时间内接收到用户输入的确认发送口令信息,否则在第二预设时间内没有接收到用户输入的确认发送口令信息。
21.根据权利要求19所述的方法,其特征在于,所述步骤S1中还包括:初始化按键中断;
所述判断在第二预设时间内是否接收到用户输入的确认发送口令信息具体包括:所述微控制单元等待接收按键中断,并判断在第二预设时间内是否接收到按键中断,是则在第二预设时间内接收到用户输入的确认发送口令信息,否则在第二预设时间内没有接收到用户输入的确认发送口令信息。
22.根据权利要求1所述的方法,其特征在于,所述计算生成动态口令具体包括:根据预置的密钥和事件因子计算生成动态口令。
23.根据权利要求1所述的方法,其特征在于,所述计算生成动态口令之前还包括:从所述近场通信芯片返回的第一预设指令返回值中获取挑战值,并显示所述挑战值;
所述计算生成动态口令具体包括:根据所述挑战值、预置的密钥和事件因子计算生成动态口令。
24.根据权利要求1所述的方法,其特征在于,所述计算生成动态口令之前还包括:从所述近场通信芯片返回的第一预设指令返回值中获取挑战值,并显示所述挑战值;
所述计算生成动态口令具体包括:根据所述挑战值以及预置的密钥、事件因子和时间因子计算生成动态口令。
25.根据权利要求1所述的方法,其特征在于,所述计算生成动态口令具体包括:根据预置的密钥和时间因子计算生成动态口令。
26.根据权利要求1所述的方法,其特征在于,所述计算生成动态口令之前还包括:从所述近场通信芯片返回的第一预设指令返回值中获取挑战值,并显示所述挑战值;
所述计算生成动态口令具体包括:根据所述挑战值、预置的密钥和时间因子计算生成动态口令。
27.根据权利要求22至24中任意一项权利要求所述的方法,其特征在于,所述计算生成动态口令之前还包括:更新所述事件因子。
28.根据权利要求22至24中的任意一项权利要求所述的方法,其特征在于,所述计算生成动态口令之后还包括:更新所述事件因子。
29.根据权利要求24至26中任意一项权利要求所述的方法,其特征在于,所述步骤S1中还包括初始化定时器中断,并设置所述定时器中断的中断级别最高;
所述方法还包括:当所述微控制单元接收到定时器中断时,更新时间因子。
30.根据权利要求1所述的方法,其特征在于,所述步骤S7之后还包括:所述微控制单元等待所述近场通信芯片返回的第二预设指令返回值,当所述微控制单元读取到所述近场通信芯片返回的第二预设指令返回值时,发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片。
31.根据权利要求1或30所述的方法,其特征在于,当所述微控制单元读取到所述近场通信芯片返回的第一预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:检查所述第一预设指令返回值中的状态参数,若所述状态参数为预设值,则返回步骤S2,若所述状态参数不为预设值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片。
32.根据权利要求30所述的方法,其特征在于,当所述微控制单元读取到所述近场通信芯片返回的第二预设指令返回值时,所述发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片之前还包括:检查所述第二预设指令返回值中的状态参数,若所述状态参数为预设值,则返回步骤S2,若所述状态参数不为预设值,则发送包含令牌生成的动态口令的第二预设指令给所述近场通信芯片。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101322.5A CN103873256B (zh) | 2014-03-18 | 2014-03-18 | 一种nfc令牌的工作方法 |
PCT/CN2015/074291 WO2015139589A1 (zh) | 2014-03-18 | 2015-03-16 | 一种nfc令牌的工作方法 |
US15/122,440 US10334441B2 (en) | 2014-03-18 | 2015-03-16 | Working method of NFC token |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410101322.5A CN103873256B (zh) | 2014-03-18 | 2014-03-18 | 一种nfc令牌的工作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103873256A true CN103873256A (zh) | 2014-06-18 |
CN103873256B CN103873256B (zh) | 2017-02-22 |
Family
ID=50911406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410101322.5A Active CN103873256B (zh) | 2014-03-18 | 2014-03-18 | 一种nfc令牌的工作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10334441B2 (zh) |
CN (1) | CN103873256B (zh) |
WO (1) | WO2015139589A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015139589A1 (zh) * | 2014-03-18 | 2015-09-24 | 飞天诚信科技股份有限公司 | 一种nfc令牌的工作方法 |
CN105323068A (zh) * | 2014-07-30 | 2016-02-10 | 苏州海博智能系统有限公司 | 一种动态口令生成及认证方法、装置和系统 |
WO2017202136A1 (zh) * | 2016-05-24 | 2017-11-30 | 飞天诚信科技股份有限公司 | 一种认证动态口令的方法和设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810836B (zh) * | 2018-06-12 | 2020-06-16 | 飞天诚信科技股份有限公司 | 一种向用户提供近场通信设备信息的方法及系统 |
CN110447971B (zh) * | 2019-08-30 | 2024-04-26 | 惠州市新泓威科技有限公司 | 具有电子儿童锁的电子烟及其控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2360613A1 (en) * | 2010-01-27 | 2011-08-24 | Ricoh Company, Ltd | Peripheral device, network system, communication processing method |
CN102195684A (zh) * | 2010-03-16 | 2011-09-21 | 株式会社理光 | 通信装置、无线通信系统和设置关联信息的方法 |
CN102377570A (zh) * | 2011-11-07 | 2012-03-14 | 飞天诚信科技股份有限公司 | 一种生成动态口令的方法和装置 |
CN102868527A (zh) * | 2012-08-17 | 2013-01-09 | 天地融科技股份有限公司 | 一种动态口令生成系统及装置 |
CN103297243A (zh) * | 2013-06-14 | 2013-09-11 | 飞天诚信科技股份有限公司 | 一种多功能智能密钥设备的工作方法 |
CN103607281A (zh) * | 2013-11-12 | 2014-02-26 | 飞天诚信科技股份有限公司 | 一种安全设备的解锁方法和系统 |
CN203466832U (zh) * | 2013-09-11 | 2014-03-05 | 上海动联信息技术股份有限公司 | 一种基于nfc的动态令牌系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100577271B1 (ko) * | 2004-10-13 | 2006-05-10 | 엘지전자 주식회사 | 키 인식 장치 및 방법 |
US20080126260A1 (en) * | 2006-07-12 | 2008-05-29 | Cox Mark A | Point Of Sale Transaction Device With Magnetic Stripe Emulator And Biometric Authentication |
US8117445B2 (en) * | 2006-12-20 | 2012-02-14 | Spansion Llc | Near field communication, security and non-volatile memory integrated sub-system for embedded portable applications |
DE102010041745A1 (de) * | 2010-09-30 | 2012-04-19 | Bundesdruckerei Gmbh | Verfahren zum Lesen eines RFID-Tokens, RFID-Karte und elektronisches Gerät |
US20120238206A1 (en) * | 2011-03-14 | 2012-09-20 | Research In Motion Limited | Communications device providing near field communication (nfc) secure element disabling features related methods |
US20140074537A1 (en) * | 2012-09-05 | 2014-03-13 | Crestron Electronics, Inc. | Initiating Schedule Management Via Near Field Communication |
US9191052B2 (en) * | 2012-07-17 | 2015-11-17 | Electronics And Telecommunications Research Institute | Universal subscriber identification module card, including security chip, for mobile terminal and communication method using the same |
GB2508337A (en) * | 2012-11-21 | 2014-06-04 | Proxama Solutions Ltd | Near field communications with processor for detecting changes in memory |
TW201433936A (zh) * | 2013-02-22 | 2014-09-01 | Quanta Comp Inc | 電腦及其控制方法 |
AU2014233175B2 (en) * | 2013-03-15 | 2017-06-22 | Server Technology, Inc. | Wireless communications capable power distribution unit and techniques for communicating therewith |
CN103873256B (zh) * | 2014-03-18 | 2017-02-22 | 飞天诚信科技股份有限公司 | 一种nfc令牌的工作方法 |
KR20170013272A (ko) * | 2014-06-04 | 2017-02-06 | 톰슨 라이센싱 | 핸드-헬드 전자 디바이스용 정보 교환 |
-
2014
- 2014-03-18 CN CN201410101322.5A patent/CN103873256B/zh active Active
-
2015
- 2015-03-16 WO PCT/CN2015/074291 patent/WO2015139589A1/zh active Application Filing
- 2015-03-16 US US15/122,440 patent/US10334441B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2360613A1 (en) * | 2010-01-27 | 2011-08-24 | Ricoh Company, Ltd | Peripheral device, network system, communication processing method |
CN102195684A (zh) * | 2010-03-16 | 2011-09-21 | 株式会社理光 | 通信装置、无线通信系统和设置关联信息的方法 |
CN102377570A (zh) * | 2011-11-07 | 2012-03-14 | 飞天诚信科技股份有限公司 | 一种生成动态口令的方法和装置 |
CN102868527A (zh) * | 2012-08-17 | 2013-01-09 | 天地融科技股份有限公司 | 一种动态口令生成系统及装置 |
CN103297243A (zh) * | 2013-06-14 | 2013-09-11 | 飞天诚信科技股份有限公司 | 一种多功能智能密钥设备的工作方法 |
CN203466832U (zh) * | 2013-09-11 | 2014-03-05 | 上海动联信息技术股份有限公司 | 一种基于nfc的动态令牌系统 |
CN103607281A (zh) * | 2013-11-12 | 2014-02-26 | 飞天诚信科技股份有限公司 | 一种安全设备的解锁方法和系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015139589A1 (zh) * | 2014-03-18 | 2015-09-24 | 飞天诚信科技股份有限公司 | 一种nfc令牌的工作方法 |
CN105323068A (zh) * | 2014-07-30 | 2016-02-10 | 苏州海博智能系统有限公司 | 一种动态口令生成及认证方法、装置和系统 |
WO2017202136A1 (zh) * | 2016-05-24 | 2017-11-30 | 飞天诚信科技股份有限公司 | 一种认证动态口令的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US20170070887A1 (en) | 2017-03-09 |
US10334441B2 (en) | 2019-06-25 |
CN103873256B (zh) | 2017-02-22 |
WO2015139589A1 (zh) | 2015-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104602224B (zh) | 一种基于nfc手机swp-sim卡的空中开卡方法 | |
CN103560886B (zh) | 电子签名设备认证方法 | |
CN103873256A (zh) | 一种nfc令牌的工作方法 | |
CN103559756B9 (zh) | 一种利用nfc手机给非接触式ic卡充值的系统和方法 | |
CN105117905A (zh) | 基于可见光通信的无线Key支付系统及支付方法 | |
CN101252729A (zh) | 采用sim卡增强支付类芯片功能的方法 | |
US20170154327A1 (en) | Mobile Payment Method and Apparatus and Near Field Communication Device | |
CN106875531A (zh) | 一种共享单车智能锁的伴侣设备 | |
CN105868978A (zh) | 一种nfc移动支付方法及其系统 | |
WO2011103734A1 (zh) | 终端设备的近场通信实现方法及实现近场通信的终端设备 | |
CN103414497B (zh) | 为电子设备之间通信借助转发的控制方法和相应的设备 | |
CN103259664A (zh) | Nfc动态口令芯片及其工作方法 | |
CN205302954U (zh) | 一种电子留言设备及系统 | |
WO2016127694A1 (zh) | 一种 nfc 支付装置 | |
CN203301561U (zh) | 具有指纹识别及nfc 功能的手机壳 | |
CN103368612B (zh) | 通过切换至沉默对电子设备通讯进行控制方法和设备 | |
CN113867758A (zh) | 无人机自动升级方法、装置、无人机、遥控端及存储介质 | |
CN103902496B (zh) | Usb key协议转换设备和方法 | |
CN201590829U (zh) | 一种可更新的通用智能卡及其系统 | |
CN107370515A (zh) | 移动上网装置及设备 | |
CN109242055A (zh) | 智能卡外设装置、指令处理方法、电子设备和存储介质 | |
CN203941532U (zh) | 一种便携式ic卡读写装置 | |
CN203165078U (zh) | 一种便携式移动支付装置 | |
CN102271013A (zh) | 支持电子钱包功能的移动装置 | |
CN104901957A (zh) | 电子令牌设备初始化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |