CN104506319B - 一种多种子动态令牌的工作方法 - Google Patents

一种多种子动态令牌的工作方法 Download PDF

Info

Publication number
CN104506319B
CN104506319B CN201410771841.2A CN201410771841A CN104506319B CN 104506319 B CN104506319 B CN 104506319B CN 201410771841 A CN201410771841 A CN 201410771841A CN 104506319 B CN104506319 B CN 104506319B
Authority
CN
China
Prior art keywords
seed data
dynamic token
dynamic
data
system mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410771841.2A
Other languages
English (en)
Other versions
CN104506319A (zh
Inventor
陆舟
于华章
李明基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HYPERSECU INFORMATION SYSTEMS INC
Feitian Technologies Co Ltd
Original Assignee
HYPERSECU INFORMATION SYSTEMS INC
Feitian Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by HYPERSECU INFORMATION SYSTEMS INC, Feitian Technologies Co Ltd filed Critical HYPERSECU INFORMATION SYSTEMS INC
Priority to CN201410771841.2A priority Critical patent/CN104506319B/zh
Publication of CN104506319A publication Critical patent/CN104506319A/zh
Priority to US15/115,938 priority patent/US10255421B2/en
Priority to PCT/CN2015/087772 priority patent/WO2016095555A1/zh
Application granted granted Critical
Publication of CN104506319B publication Critical patent/CN104506319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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/3228One-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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明公开了一种多种子动态令牌的工作方法,属于信息安全领域。所述方法包括:动态令牌上电初始化,打开总中断,初始化系统状态后进入休眠模式,当动态令牌检测到中断时从休眠模式被唤醒进入中断处理流程,中断处理流程结束后检查各唤醒标志,执行与被置位的唤醒标志对应的处理流程。本发明的有益效果在于:使用本发明提供的方法,用户能够通过操作动态令牌实现向动态令牌中烧写种子数据,以及更新动态令牌中的种子数据,并且本发明涉及的动态令牌可存储和管理多个种子,在动态令牌使用过程中,能够根据用户的选择使用对应的种子数据生成动态口令,方便用户使用,并且动态令牌的唯一标识与种子数据之间的绑定保障了种子数据的可靠性和安全性。

Description

一种多种子动态令牌的工作方法
技术领域
本发明涉及信息安全领域,尤其涉及一种多种子动态令牌的工作方法。
背景技术
在现有技术中,动态令牌(One-time Password,OTP)是一种安全便捷的账号防盗技术,根据专门的算法生成一个不可预测的随机数字组合作为口令,每个口令只能使用一次,用户进行认证时候,除输入账号和静态密码之外,必须要求输入动态密码,只有通过系统验证,才可以正常登录或者交易,从而有效保证用户身份的合法性和唯一性。动态令牌最大的优点在于,用户每次使用的口令都不相同,使得不法分子无法仿冒合法用户的身份。动态口令认证技术被认为是目前能够最有效解决用户的身份认证方式之一,可以有效防范黑客木马盗窃用户账户口令、假网站等多种网络问题,导致的用户的财产或者资料的损失。目前被广泛运用在网银、网游、电信运营商、电子政务、企业等领域。
发明人在实现本发明的过程中发现,目前的动态令牌中的种子数据都是在动态令牌出厂前,由动态令牌生产厂家内置在动态令牌中,动态令牌被激活后不允许用户更新,并且只面向单一应用,这些问题不仅给用户的使用带来了不便,还会带来硬件资源的浪费。
发明内容
本发明的目的是为了克服现有技术的缺陷,提供一种多种子动态令牌的工作方法。
本发明方法是通过下述技术方案实现的:
一种多种子动态令牌的工作方法,其基本实施过程如下:
步骤S1、动态令牌上电初始化,打开总中断,设置系统状态为第一预设状态,进入休眠模式,等待被唤醒;
步骤S2、所述动态令牌检测到中断时被唤醒,进入中断处理流程,待所述中断处理流程结束后执行步骤S3;
所述中断处理流程包括:所述动态令牌判断按键中断标志是否被置位,是则置位按键唤醒标志,复位所述按键中断标志,中断处理流程结束,否则中断处理流程结束,其中,当所述动态令牌的按键被按下时触发按键中断,所述按键中断标志被置位;
步骤S3、所述动态令牌检查所述按键唤醒标志,若所述按键唤醒标志被置位,则进入按键处理流程,待所述按键处理流程结束后,重新进入休眠模式,等待被唤醒,返回步骤S2;
所述按键处理流程包括:
步骤a、所述动态令牌获取键值,判断键值和系统状态,当键值为第一预设键值且系统状态为第一预设状态时执行步骤b;当键值为第二预设键值且系统状态为第二预设状态时执行步骤c;当键值为第二预设键值且系统状态为第三预设状态时执行步骤d;当键值为第二预设键值且系统状态为第五预设状态时执行步骤e;当键值为第三预设键值且系统状态为第二预设状态时执行步骤f;当键值为第三预设键值且系统状态为第三预设状态时执行步骤g;否则,执行步骤h;
步骤b、所述动态令牌显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤h;
步骤c、所述动态令牌根据所述功能菜单索引判断用户选择的操作,若用户选择的操作为生成口令,则显示种子数据菜单,初始化种子菜单索引,设置系统状态为第三预设状态,执行步骤h,若用户选择的操作为烧写种子数据,则获取预先存储的动态令牌序列号并显示,设置系统状态为第五预设状态,执行步骤h;
步骤d、所述动态令牌读取所述动态令牌中存储的与所述种子菜单索引对应的种子数据,根据读取到的种子数据生成动态口令并显示,设置系统状态为第六预设状态,执行步骤h;
步骤e、所述动态令牌采集光感数据,判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配,若匹配则存储采集到的光感数据中的种子数据,根据最新存储的种子数据生成动态口令并显示,设置系统状态为所述第六预设状态,执行步骤h,若不匹配则清除采集到的光感数据,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h;
步骤f、所述动态令牌更新所述功能菜单索引,执行步骤h;
步骤g、所述动态令牌更新所述种子菜单索引,执行步骤h;
步骤h、所述动态令牌复位所述按键唤醒标志,所述按键处理流程结束。
进一步地,所述步骤c中,还可以包括:若用户选择的操作为更新种子数据,所述动态令牌显示种子数据菜单,初始化种子菜单索引,设置系统状态为第四预设状态,执行步骤h;
相应地,所述步骤c中,当用户选择的操作为烧写种子数据时,还包括:置位添加种子数据标志;
所述步骤a中,还包括:当键值为第二预设键值且系统状态为所述第四预设状态时,所述动态令牌获取预先存储的动态令牌序列号并显示,设置系统状态为第五预设状态,复位所述添加种子数据标志,执行步骤h;当键值为第三预设键值且系统状态为所述第四预设状态时,更新所述种子菜单索引,执行步骤h;
所述步骤e中,所述存储采集到的光感数据中的种子数据具体包括:检查所述添加种子数据标志,若所述添加种子数据标志被置位,则存储采集到的光感数据中的种子数据,若所述添加种子数据标志未被置位,则用采集到的光感数据中的种子数据替换与种子菜单索引对应的种子数据。
进一步地,所述步骤c中,还可以包括:若用户选择的操作为删除种子数据,则显示种子数据菜单,初始化种子菜单索引,设置系统状态为第十预设状态,执行步骤h;
相应地,所述步骤a中,还包括:当键值为第二预设键值且系统状态为所述第十预设状态时,所述动态令牌删除与所述种子菜单索引对应的种子数据,显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤h;当键值为第三预设键值且系统状态为所述第十预设状态时,更新所述种子菜单索引,执行步骤h。
进一步地,所述步骤e可以替换为:所述动态令牌采集光感数据,判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配,若匹配则显示采集到的光感数据中的应用信息,设置系统状态为第七预设状态,执行步骤h,若不匹配则清除采集到的光感数据,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h;
相应地,所述步骤a中,还包括:当键值为第二预设键值且系统状态为所述第七预设状态时,所述动态令牌存储采集到的光感数据中的种子数据,根据获取到的种子数据生成动态口令并显示,设置系统状态为所述第六预设状态,执行步骤h。
进一步地,所述步骤e中,所述采集光感数据之后,所述判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配之前,还可以包括:判断是否采集完成,若采集完成则判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配;若采集未完成则判断是否采集超时,若采集超时则停止采集光感数据,提示种子数据烧写超时,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h,若采集未超时则继续采集光感数据。
进一步地,所述步骤e中,所述采集光感数据之前,还可以包括:设置系统状态为第八预设状态;所述采集光感数据之后,所述判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配之前,还包括:判断是否采集完成,若采集完成则判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配;若采集未完成则判断系统状态是否为第九预设状态,是则停止采集光感数据,提示已取消烧写种子数据,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h,否则继续采集光感数据;
相应地,所述中断处理流程中,当所述按键标志被置位时,所述置位按键唤醒标志之前,还包括:判断系统状态,若系统状态为所述第八预设状态则获取并判断键值,当键值为所述第一预设键值时,设置系统状态为第九预设状态,所述中断处理流程结束,当键值不为所述第一预设键值时,所述中断处理流程结束;若系统状态不为所述第八预设状态则置位按键唤醒标志。
进一步地,所述步骤a中,还可以包括:当键值为第一预设键值且系统状态为所述第三、第四或第六预设状态时,显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤h;当键值为第四预设键值且系统状态不为第一预设状态时设置系统状态为所述第一预设状态,执行步骤h。
进一步地,所述步骤e中,所述存储采集到的光感数据中的种子数据之后,根据最新存储的种子数据生成动态口令并显示之前,还可以包括:从采集到的光感数据中获取动态口令显示位数,并将获取到的动态口令显示位数与获取到的种子数据对应存储;
相应地,所述步骤e中,所述根据最新存储的种子数据生成动态口令并显示,具体包括:根据最新存储的种子数据生成动态口令,再根据最新存储的动态口令显示位数截取生成的动态口令,显示截取得到的数据;
所述步骤d中,所述根据读取到的种子数据生成动态口令并显示,具体包括:根据读取到的种子数据生成动态口令,根据动态令牌中存储的与读取到的种子数据对应的动态口令显示位数截取生成的动态口令,显示截取得到的数据。
进一步地,所述中断处理流程中,当所述按键中断标志未被置位时,还可以包括:判断RTC中断标志是否被置位,是则置位RTC唤醒标志,复位所述RTC中断标志,所述中断处理流程结束,否则所述中断处理流程结束;其中,当所述RTC中断被触发时,所述RTC中断标志被置位;
相应地,所述步骤S3替换为:所述动态令牌判断是否有被置位的唤醒标志,如果有被置位的唤醒标志则依次检查所述RTC唤醒标志和所述按键唤醒标志,若所述RTC唤醒标志被置位,则进入RTC处理流程,待所述RTC处理流程结束后,重新执行步骤S3,若所述按键唤醒标志被置位,则进入所述按键处理流程,待所述按键处理流程结束后,重新执行步骤S3;如果没有被置位的唤醒标志则所述动态令牌进入休眠模式,等待被唤醒,返回步骤S2;
其中,所述RTC处理流程包括:
步骤X1:所述动态令牌递减RTC中断次数,判断所述RTC中断次数是否为预设次数,是则复位所述RTC唤醒标志,执行步骤X2,否则执行步骤X2;
步骤X2:所述动态令牌递增第一参数和第二参数,分别判断所述第一参数和所述第二参数是否达到相应阈值,若所述第一参数达到所述第一参数的阈值,则设置所述第一参数为其初始值,更新所述动态令牌中存储的第一时间因子,若所述第二参数达到所述第二参数的阈值,则设置所述第二参数为其初始值,更新所述动态令牌中存储的第二时间因子,然后执行步骤X3;若所述第一参数和所述第二参数均未达到相应阈值则直接执行步骤X3;
步骤X3:所述动态令牌更新校准计数值,判断所述第一参数是否等于预设值,是则执行步骤X4,否则所述RTC处理流程结束;
步骤X4:所述动态令牌根据所述校准计数值和所述动态令牌内预先存储的校准值判断是否需要对所述第一参数和所述第二参数进行校准,是则根据所述校准值和所述校准计数值更新所述第一参数、所述第二参数和所述校准计数值,所述RTC处理流程结束,否则所述RTC处理流程结束;
更近一步地,所述存储采集到的光感数据中的种子数据之后,根据最新存储的种子数据生成动态口令并显示之前,还包括:从采集到的光感数据中获取动态令牌模式信息,若获取到的动态令牌模式信息为事件型,则将获取到的动态令牌模式信息与获取到的种子数据对应存储,并设置与所述获取到的种子数据对应的事件因子,若获取到的动态令牌模式信息为第一时间模式或第二时间模式,则将获取到的动态令牌模式信息与获取到的种子数据对应存储;
所述步骤e中,所述根据最新存储的种子数据生成动态口令,具体包括:检查最新存储的动态令牌模式信息,若为事件模式,则根据最新存储的种子数据和最新设置的事件因子生成动态口令,若为第一时间模式,则根据最新存储的种子数据和所述动态令牌中的第一时间因子生成动态口令,若为第二时间模式,则根据最新存储的种子数据和所述动态令牌中的第二时间因子生成动态口令;
所述步骤d中,所述根据读取到的种子数据生成动态口令,具体包括:检查与所述动态令牌中存储的与读取到的种子数据对应的动态令牌模式信息,若为事件模式,则根据读取到的种子数据和所述动态令牌中存储的与读取到的种子数据对应的事件因子生成动态口令,若为第一时间模式,则根据读取到的种子数据和所述动态令牌中的第一时间因子生成动态口令,若为第二时间模式,则根据读取到的种子数据和所述动态令牌中的第二时间因子生成动态口令;
所述根据最新存储的种子数据和最新设置的事件因子生成动态口令之前或之后,还包括:更新最新设置的事件因子;
所述根据读取到的种子数据和所述动态令牌中存储的与读取到的种子数据对应的事件因子生成动态口令之前或之后,还包括:更新与读取到的种子数据对应的事件因子;
所述RTC处理流程中还包括:检测所述动态令牌是否被开壳,并且当检测出所述动态令牌被开壳时清除所述动态令牌内部存储的敏感数据,置位开壳标志;其中,所述敏感数据包括种子数据;
所述步骤b中,显示功能菜单之前,还包括:检查所述开壳标志是否被置位,是则提示动态令牌已自毁,执行步骤h,否则显示功能菜单;
所述步骤X4中,当不需要对所述第一参数和所述第二参数进行校准时,以及根据所述校准值和所述校准计数值更新所述第一参数、所述第二参数和所述校准计数值之后,还包括:检查系统状态,若系统状态为所述第一预设状态则所述RTC处理流程结束,若系统状态不为所述第一预设状态则递减自动关机时间,若所述自动关机时间等于预设时间,则对显示屏下电,设置系统状态为所述第一预设状态,所述RTC处理流程结束,若所述自动关机时间不等于所述预设时间,则所述RTC处理流程结束;
所述按键处理流程中,所述步骤a之前,还包括:重置所述自动关机时间;
所述步骤e中,所述存储采集到的光感数据中的种子数据之后,根据最新存储的种子数据生成动态口令并显示之前,还包括:从采集到的光感数据中获取种子数据有效期,将获取到的种子数据有效期与获取到的种子数据对应存储;
所述步骤X2中,当所述第二参数达到所述第二参数的阈值时,还包括:根据所述动态令牌中存储的与各种子数据对应的种子数据有效期检查各种子数据是否到期,并更新未到期的种子数据对应的种子数据有效期,置位到期的种子数据对应的种子数据失效标志;
所述步骤d中,根据读取到的种子数据生成动态口令之前,还包括:检查与读取到的种子数据对应的种子数据失效标志是否被置位,是则提示种子数据失效,执行步骤h,否则根据读取到的种子数据生成动态口令;
所述动态令牌根据所述校准计数值和所述动态令牌内预先存储的校准值判断是否需要对所述第一参数和所述第二参数进行校准,具体包括:所述动态令牌判断所述校准值和0x7F进行与运算的结果是否小于所述校准计数值,是则需要对所述第一参数和所述第二参数进行校准,否则不需要对所述第一参数和所述第二参数进行校准;
所述根据所述校准值和所述校准计数值更新所述第一参数、所述第二参数和所述校准计数值,具体包括:更新所述校准计数值为其当前值减去所述校准值,检查所述校准值的最高位,若所述校准值的最高位为1,则更新所述第一参数为其当前值减1,更新所述第二参数为其当前值减1;若所述校准值的最高位为0,则更新所述第一参数为其当前值加1,更新所述第二参数为其当前值加1。
进一步地,所述中断处理流程中,所述判断按键中断标志是否被置位之前,还包括:判断工装通信中断标志是否被置位,是则置位工装通信唤醒标志,复位所述工装通信中断标志,所述中断处理流程结束,否则执行所述判断按键中断标志是否被置位;其中,当所述动态令牌接收到工装发送的通信数据时触发工装通信中断,所述工装通信中断标志被置位;
所述步骤S3替换为:所述动态令牌判断是否有被置位的唤醒标志,如果有被置位的唤醒标志则依次检查所述工装通信唤醒标志和所述按键唤醒标志,若所述工装通信标志被置位,则进入工装通信处理流程,待所述工装通信处理流程结束后,重新执行步骤S3,若所述按键唤醒标志被置位,则进入所述按键处理流程,待所述按键处理流程结束后,重新执行步骤S3,如果没有被置位的唤醒标志则所述动态令牌进入休眠模式,等待被唤醒,返回步骤S2;
所述工装通信处理流程包括:
步骤Y1:关闭总中断,判断当前接收到的数据是否为所述工装发送的唤醒信号,是则向所述工装返回握手信号,继续接收所述工装发送的通信数据,执行步骤Y2,否则执行步骤Y3;
步骤Y2:判断当前接收到的数据的类型,若为获取令牌硬件信息命令,则获所述获取令牌硬件信息命令中的随机数,保存所述随机数,并将获取到的随机数返回给所述工装,执行步骤Y3,若为其他工装命令,则根据所述动态令牌中保存的随机数对接收到的工装命令进行解密,执行解密后的命令,并向所述工装返回执行结果,执行步骤Y3,否则执行步骤Y3;
步骤Y3:置位所述工装通信唤醒标志,使能总中断,所述工装通信处理流程结束。
本发明方法的有益效果在于,使用本发明提供的方法,用户能够通过操作动态令牌实现向动态令牌中烧写种子数据,以及更新动态令牌中的种子数据,并且本发明涉及的动态令牌可存储和管理多个种子,在动态令牌使用过程中,能够根据用户的选择使用对应的种子数据生成动态口令,方便用户使用,并且动态令牌的唯一标识与种子数据之间的绑定保障了种子数据的可靠性和安全性。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种多种子动态令牌的工作方法中的按键处理流程图;
图2为本发明实施例二提供的一种多种子动态令牌的工作方法的流程图;
图3为本发明实施例二中提供的中断处理流程的流程图;
图4为本发明实施例二中提供的工装通信处理流程的流程图;
图5为本发明实施例二中提供的RTC处理流程的流程图;
图6为本发明实施例二中提供的按键处理流程的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例一提供一种多种子动态令牌的工作方法,所述方法具体包括:
步骤S1、动态令牌上电初始化,打开总中断,设置系统状态为第一预设状态,进入休眠模式,等待被唤醒;
步骤S2、所述动态令牌检测到中断时被唤醒,进入中断处理流程,待所述中断处理流程结束后执行步骤S3;
所述中断处理流程包括:所述动态令牌判断按键中断标志是否被置位,是则置位按键唤醒标志,复位所述按键中断标志,中断处理流程结束,否则中断处理流程结束,其中,当所述动态令牌的按键被按下时触发按键中断,所述按键中断标志被置位;
步骤S3、所述动态令牌检查所述按键唤醒标志,若所述按键唤醒标志被置位,则进入按键处理流程,待所述按键处理流程结束后,重新进入休眠模式,等待被唤醒,返回步骤S2;
本实施例中,按键处理流程如图1所述,具体包括:
步骤11:所述动态令牌获取键值,判断键值和系统状态,当键值为第一预设键值且系统状态为第一预设状态时执行步骤12;当键值为第二预设键值且系统状态为第二预设状态时执行步骤13;当键值为第二预设键值且系统状态为第三预设状态时执行步骤16;当键值为第二预设键值且系统状态为第五预设状态时执行步骤17;当键值为第三预设键值且系统状态为第二预设状态时执行步骤20;当键值为第三预设键值且系统状态为第三预设状态时执行步骤21;否则执行步骤22;
步骤12:所述动态令牌显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤22;
步骤13:所述动态令牌根据所述功能菜单索引判断用户选择的操作,若用户选择的操作为生成口令,则执行步骤14,若用户选择的操作为烧写种子数据,则执行步骤15;
步骤14:所述动态令牌显示种子数据菜单,初始化种子菜单索引,设置系统状态为第三预设状态,执行步骤22;
步骤15:所述动态令牌获取预先存储的动态令牌序列号并显示,设置系统状态为第五预设状态,执行步骤22;
步骤16:所述动态令牌读取所述动态令牌中存储的与所述种子菜单索引对应的种子数据,根据读取到的种子数据生成动态口令并显示,设置系统状态为第六预设状态,执行步骤22;
步骤17:所述动态令牌采集光感数据,判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配,若匹配则执行步骤18,若不匹配则执行步骤19;
步骤18:所述动态令牌存储采集到的光感数据中的种子数据,根据最新存储的种子数据生成动态口令并显示,设置系统状态为所述第六预设状态,执行步骤22;
步骤19:所述动态令牌清除采集到的光感数据,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤22;
步骤20:所述动态令牌更新所述功能菜单索引,执行步骤22;
步骤21:所述动态令牌更新所述种子菜单索引,执行步骤22;
步骤22:所述动态令牌复位所述按键唤醒标志,所述按键处理流程结束。
进一步地,本实施例中,步骤11中,还包括:当键值为第一预设键值且系统状态为第三、第四或第六预设状态时,所述动态令牌显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤22;当键值为第四预设键值且系统状态不为第一预设状态时设置系统状态为所述第一预设状态,执行步骤22。
第一预设键值、第二预设键值、第三预设键值和第四预设键值中的一个或多个对应一个物理按键。当第一预设键值、第二预设键值、第三预设键值和第四预设键值分别对应不同的物理按键时,所述动态令牌通过物理按键获取对应的键值;当第一预设键值、第二预设键值、第三预设键值和第四预设键值中的多个对应同一个物理按键时,所述动态令牌通过物理按键和/或按键方式(如长按、短按等)获取对应的键值。
实施例二
实施例一中的按键处理流程中,没有限制判断键值和判断系统状态的顺序,先判断键值或先判断系统状态均能实现本发明的目的,本发明实施例二以先判断键值为例提供一种多种子动态令牌的工作方法,如图2所示,所述方法具体包括:
步骤101:动态令牌上电初始化,打开总中断,设置系统状态为第一预设状态,进入休眠模式,当检测到中断时被唤醒,执行步骤102。
本实施例中,中断包括:工装通信中断、RTC中断和按键中断。
步骤102:动态令牌进入中断处理流程进行中断处理,根据中断类型置位相应唤醒标志,待中断处理流程结束后,执行步骤103;
本实施例中,中断处理流程如图3所述,具体包括:
步骤A1:判断工装通信中断标志是否被置位,是则执行步骤A2,否则执行步骤A3;
步骤A2:复位工装通信中断标志,置位工装通信唤醒标志,中断处理流程结束;
步骤A3:判断按键中断标志是否被置位,是则执行步骤A4,否则执行步骤A8;
步骤A4:判断系统状态是否为第八预设状态,是则执行步骤A5,否则执行步骤A7;
步骤A5:获取键值,判断是否为第一预设键值,是则执行步骤A6,否则中断处理流程结束;
步骤A6:设置系统状态为第九预设状态,中断处理流程结束;
步骤A7:复位按键中断标志,置位按键唤醒标志,中断处理流程结束;
步骤A8:判断RTC中断标志是否被置位,是则执行步骤A9,否则中断处理流程结束;
步骤A9:复位RTC中断标志,更新RTC中断次数,置位RTC唤醒标志,中断处理流程结束。
本实施例中,当令牌接收到工装发送的通信数据时触发通信中断,通信中断标志被置位,当令牌的按键被按下时触发按键中断,按键中断标志被置位,RTC中断每秒触发一次,当RTC中断被触发时,RTC中断标志被置位。
本实施例中所述的中断处理流程中,当RTC中断标志被置位时,具体更新RTC中断次数为其当前次数加1。
步骤103:动态令牌判断是否有被置位的唤醒标志,是则执行步骤104,否则动态令牌进入休眠模式,当检测到中断时被唤醒,返回步骤102;
步骤104:动态令牌依次检查各唤醒标志,若工装通信唤醒标志被置位,则执行步骤105,若RTC唤醒标志被置位,则执行步骤106,若按键唤醒标志被置位,则执行步骤107;
本实施例中所述的唤醒标志包括:工装通信唤醒标志、RTC唤醒标志和按键唤醒标志,优选地,动态令牌按照工装通信唤醒标志、RTC唤醒标志、按键唤醒标志的顺序依次检查各唤醒标志。
步骤105:动态令牌进入工装通信处理流程,待工装通信处理流程结束后返回步骤103;
本实施例中,动态令牌进入工装通信处理流程如图4所述,具体包括动态令牌执行以下操作:
步骤B1:关闭总中断,判断当前接收到的数据是否为工装发送的唤醒信号,是则执行步骤B2,否则执行步骤B9;
步骤B2:向工装返回握手信号,继续接收工装发送的通信数据;
步骤B3:判断当前接收到的数据中的数据长度是否大于预设长度,是则执行步骤B9,否则执行步骤B4;
本实施例中,预设长度为50字节。
步骤B4:根据数据长度继续接收工装发送的通信数据;
步骤B5:检验当前接收到的数据是否正确,是则执行步骤B6,否则执行步骤B9;
步骤B6:判断当前接收到的数据的类型,若是预设工装命令则执行步骤B7,若是其他工装命令则执行步骤B8,否则执行步骤B9;
本实施例中所述的预设工装命令为工装发送的获取令牌硬件信息命令。
步骤B7:获取预设工装命令中的随机数,保存获取到的随机数并将获取到的随机数返回给工装,执行步骤B9;
步骤B8:根据令牌中保存的随机数对接收到的工装命令进行解密,执行解密后的命令,并向工装返回执行结果,执行步骤B9;
本实施例中,其他工装命令包括:写时间因子命令;执行解密后的写时间因子命令,具体包括:存储写时间因子命令中的时间因子,所述时间因子包括第一时间因子和第二时间因子。
步骤B9:复位工装通信唤醒标志,使能总中断,工装通信处理流程结束。
步骤106:动态令牌进入RTC处理流程,待RTC处理流程结束后返回步骤103;
本实施例中,动态令牌进入RTC处理流程如图5所示,具体包括动态令牌执行以下操作:
步骤C1:递减RTC中断次数;
本实施例步骤C1中,递减RTC中断次数具体为更新RTC中断次数为其当前次数减1;
步骤C2:判断RTC中断次数是否为预设次数,是则执行步骤C3,否则执行步骤C4;
本实施例中,预设次数为0次。
步骤C3:复位RTC唤醒标志,执行步骤C4;
步骤C4:递增第一参数和第二参数;
本实施例中,第一参数和第二参数的初始值均为0,递增第一参数和第二参数具体为:更新第一参数为其当前值加1,更新第二参数为其当前值加1;
步骤C5:判断第一参数是否达到第一参数的阈值,是则执行步骤C6,否则执行步骤C7;
本实施例中,第一参数的阈值为30。
步骤C6:设置第一参数为其初始值,递增第一时间因子,执行步骤C7;
本实施例中,递增第一时间因子具体为更新第一时间因子为其当前值加1;
步骤C7:判断第二参数是否达到第二参数的阈值,是则执行步骤C8,否则执行步骤C9;
本实施例中,第二参数的阈值为60。
步骤C8:设置第二参数为其初始值,递增第二时间因子,执行步骤C9;
本实施例中,递增第二时间因子具体为更新第二时间因子为其当前值加1;
步骤C9:递增校准计数值;
本实施例中,递增校准计数值具体为更新校准计数值为其当前值加1;
步骤C10:判断第一参数是否等于预设值,是则执行步骤C11,否则执行步骤C13;
本实施例中,预设值为15;
步骤C11:根据校准计数值和令牌内存储的校准值判断是否需要对第一参数和第二参数进行校准,是则执行步骤C12,否则执行步骤C13;
本实施例中,步骤C11具体包括:判断校准值&0x7F是否小于校准计数值,是则需要对第一参数和第二参数进行校准,执行步骤C12,否则不需要对第一参数和第二参数进行校准,执行步骤C13。
步骤C12:根据校准值和校准计数值对第一参数和第二参数进行校准,并更新校准计数值,执行步骤C13;
本实施例中,更新校准计数值为其当前值减去校准值,检查校准值的最高位,若校准值的最高位为1则将第一参数校准为其当前值减1,将第二参数校准为其当前值减1,若校准值的最高位为0则将第一参数校准为其当前值加1,将第二参数校准为其当前值加1。
步骤C13:检测令牌是否被开壳,是则执行步骤C14,否则执行步骤C15;
步骤C14:清除令牌内部存储的敏感数据,置位开壳标志,RTC处理流程结束;
步骤C15:检查系统状态,若为第一预设状态则RTC处理流程结束,否则执行步骤C16;
步骤C16:递减自动关机时间,判断自动关机时间是否为预设时间,是则执行步骤C17,否则RTC处理流程结束;
本实施例中,递减自动关机时间具体为更新自动关机时间为其当前时间减1,预设时间为0;
步骤C17:对显示屏下电,设置系统状态为第一预设状态,RTC处理流程结束。
本实施例中所述的敏感数据为需要保密、一旦被非法获取将带来安全隐患的数据,包括全部的种子数据等。
步骤107:动态令牌进入按键处理流程,待按键处理流程结束后返回步骤103;
本实施例中,动态令牌进入按键处理流程如图6所示,具体包括动态令牌执行以下操作:
步骤D0:获取键值,判断键值是否有效,是则执行步骤D1,否则执行步骤D32;
步骤D1:重置自动关机时间,检查键值,若为第一预设键值则执行步骤D2,若为第二预设键值则执行步骤D8,若为第三预设键值则执行步骤D29,否则执行步骤D32;
步骤D2:统计按键被按下的时间,判断按键被按下的时间是否超过预设时长,是则执行步骤D3,否则执行步骤D5;
具体地,步骤D2包括:
步骤i.初始化计时器的计数值,打开计时器开始计时;
本实施例中,初始化计时器的计数值为0;
步骤ii.判断计时器的计数值是否达到预设时长,是则按键被按下时间超过预设时长,关闭计时器,执行步骤D3,否则执行步骤iii;
本实施例中,预设时长为1秒;
步骤iii.判断按键状态是否为被按下,是则返回步骤ii,否则按键被按下时间未超过预设时长,关闭计时器,执行步骤D5。
步骤D3:检查系统状态,若为第一预设状态则执行步骤D32,否则执行步骤D4;
步骤D4:对显示屏下电,设置系统状态为第一预设状态,执行步骤D32;
步骤D5:检查系统状态,若为第一预设状态,则执行步骤D6,若为第三、第四、第五、第六、第七或第十预设状态,则执行步骤D7,否则执行步骤D32;
步骤D6:对显示屏上电,设置系统状态为第二预设状态,初始化功能菜单索引,将功能菜单写入显示缓存区,并根据功能菜单索引标识被选中的功能条目,执行步骤D32;
步骤D7:设置系统状态为第二预设状态,初始化功能菜单索引,将功能菜单写入显示缓存区,并根据功能菜单索引标识被选中的功能条目,执行步骤D32;
本实施例中,功能菜单中包括生成口令条目、更新种子条目和添加种子条目。
步骤D8:检查系统状态,若为第二预设状态则执行步骤D9,若为第三预设状态则执行步骤D14,若为第四预设状态则执行步骤D15,若为第五预设状态则执行步骤D16,若为第六预设状态则执行步骤D24,若为第七预设状态则执行步骤D25,若为第十预设状态则执行步骤D28,否则执行步骤D32;
步骤D9:根据功能菜单索引判断被选中的功能条目,若为生成口令条目则执行步骤D10,若为更新种子条目则执行步骤D11,若为添加种子条目则执行步骤D12,若为删除种子条目则执行步骤D13,否则执行步骤D32;
步骤D10:设置系统状态为第三预设状态,初始化种子菜单索引,将种子菜单写入显示缓存区,并根据种子菜单索引标识被选中的种子条目,执行步骤D32;
优选地,本实施例中,种子菜单包括与动态令牌中存储的各种子数据对应的应用信息。
步骤D11:设置系统状态为第四预设状态,初始化种子菜单索引,将种子菜单写入显示缓存区,并根据种子菜单索引标识被选中的种子条目,执行步骤D32;
步骤D12:将动态令牌内预先存储的序列号写入显示缓存区,设置系统状态为第五预设状态,置位添加种子数据标志,执行步骤D32;
步骤D13:设置系统状态为第十预设状态,初始化种子菜单索引,将种子菜单写入显示缓存区,并根据种子菜单索引标识被选中的种子条目,执行步骤D32;
步骤D14:根据种子菜单索引查找动态令牌中存储的相应种子数据,根据查找到的种子数据和动态令牌中存储的动态因子计算生成动态口令,将生成的动态口令写入显示缓存区,设置系统状态为第六预设状态,执行步骤D32;
步骤D15:将动态令牌内预先存储的序列号写入显示缓存区,设置系统状态为第五预设状态,复位添加种子数据标志,执行步骤D32;
步骤D16:设置系统状态为第八预设状态,执行步骤D17;
步骤D17:采集光感数据,提示正在采集光感数据,判断光感数据是否采集完成,是则执行步骤D18,否则执行步骤D21;
步骤D18:判断采集到的光感数据中的序列号与动态令牌中预先存储的序列号是否匹配,是则执行步骤D19,否则执行步骤D20;
本实施例中,步骤D18具体为:判断采集到的光感数据中的序列号与动态令牌中预先存储的序列号是否一致,是则执行步骤D19,否则执行步骤D20。
步骤D19:设置系统状态为第七预设状态,将采集到的光感数据中的应用信息写入显示缓存区,提示用户确认,执行步骤D32;
步骤D20:清除采集到的光感数据,提示种子数据烧写错误,将动态令牌内预先存储的序列号写入显示缓存区,设置系统状态为第五预设状态,执行步骤D32;
步骤D21:判断采集是否超时,或者系统状态为第九预设状态,若采集超时,则执行步骤D22,若系统状态为第九预设状态,则执行步骤D23,否则返回步骤D16;
步骤D22:清除采集到的光感数据,提示种子数据烧写超时,将动态令牌中预先存储的序列号写入显示缓存区,设置系统状态为第五预设状态,执行步骤D32;
步骤D23:清除采集到的光感数据,提示已取消烧写种子数据,将动态令牌中预先存储的序列号写入显示缓存区,设置系统状态为第五预设状态,执行步骤D32;
步骤D24:设置系统状态为第二预设状态,初始化功能菜单索引,将功能菜单写入显示缓存区,并根据功能菜单索引标识被选中的功能条目,执行步骤D32;
步骤D25:判断添加种子数据标志是否被置位,是则执行步骤D26,否则执行步骤D27;
步骤D26:存储采集到的光感数据中的种子数据,将采集到的光感数据中的应用信息添加到种子菜单,根据最新存储的种子数据和动态令牌中存储的动态因子计算生成动态口令,将生成的动态口令写入显示缓存区,设置系统状态为第六预设状态,执行步骤D32;
进一步地,步骤D26中还可以包括,种子个数递增,相应地,本实施例中,每次将功能菜单写入输出缓存区之前,检查种子个数,若种子个数达到最大值则将功能菜单中除添加种子条目以外的内容写入输出缓存区,若种子个数未达到最大值则将功能菜单的全部内容写入输出缓存区。
步骤D27:用采集到的光感数据中的种子数据替换与种子菜单索引相对应的种子数据,根据最新存储的种子数据和动态令牌中存储的动态因子计算生成动态口令,将生成的动态口令写入显示缓存区,设置系统状态为第六预设状态,执行步骤D32;
步骤D28:删除与种子菜单索引相对应的应用信息和种子数据,设置系统状态为第二预设状态,初始化功能菜单索引,将功能菜单写入显示缓存区,并根据功能菜单索引标识被选中的功能条目,执行步骤D32;
进一步地,步骤D28中还可以包括,种子个数递减。
步骤D29:检查系统状态,若为第二预设状态则执行步骤D30,若为第三、第四或第十预设状态则执行步骤D31,否则执行步骤D32;
步骤D30:更新功能菜单索引,根据更新后的功能菜单索引重新标识被选中的功能条目,执行步骤D32;
步骤D31:更新种子菜单索引,根据更新后的种子菜单索引重新标识被选中的种子条目,执行步骤D32;
步骤D32:复位按键唤醒标志,按键处理流程结束。
进一步地,本实施例中:
光感数据中还可以包括种子数据有效期,相应地:
RTC处理流程的步骤C9中,还包括根据动态令牌内存储的各种子数据有效期判断对应的各种子数据是否到期,是则置位相应种子数据失效标志,然后执行步骤C9,否则更新动态令牌内存储的各种子数据有效期,然后执行步骤C9;具体地,可以通过判断动态令牌中存储的各种子数据有效期是否为0来判断对应的各种子数据是否到期,种子数据有效期为0的种子数据到期,种子数据有效期不为0的种子数据未到期,更新未到期的种子数据的种子数据有效期为其当前值减1;
按键处理流程的步骤D14中,查找到种子数据之后还包括检查该种子数据对应的种子数据失效标志是否被置位,是则提示种子数据失效,执行步骤D32,否则根据查找到的种子数据和动态令牌中存储的动态因子计算生成动态口令;步骤D26中,还包括存储采集到的光感数据中的种子数据有效期;步骤D27中,还包括用采集到的光感数据中的种子数据有效期替换与种子菜单索引相对应的种子数据的种子数据有效期;
光感数据中还可以包括动态口令显示位数,相应地:
按键处理流程的步骤D26中,还包括存储采集到的光感数据中的动态口令显示位数;步骤D27中,还包括用采集到的光感数据中的动态口令显示位数替换与种子菜单索引相对应的种子数据的动态口令显示位数;步骤D14、步骤D26和步骤D27中,将生成的动态口令写入显示缓存区替换为:根据相应的动态口令显示位数对生成的动态口令进行截取,将截取得到的数据写入显示缓存区;
例如,与生成动态口令所根据的种子数据相对应的动态口令显示位数为6,则截取生成的动态口令的后6位,并写入显示缓存区;
光感数据中还可以包括动态令牌模式信息,其中动态令牌模式信息包括:事件模式、第一时间模式和第二时间模式,相应地:
按键处理流程的步骤D26中,生成动态口令之前还包括:存储采集到的光感数据中的动态令牌模式信息,若动态令牌模式信息为事件模式,则还包括设置与种子数据对应的事件因子;步骤D27中,还包括用采集到的光感数据中的动态令牌模式信息替换与种子菜单索引相对应的种子数据的动态令牌模式信息,若采集到的光感数据中的动态令牌模式信息为事件模式,则还包括重新设置与种子菜单索引相对应的种子数据对应的事件因子;步骤D14中根据查找到的种子数据和动态令牌中存储的动态因子计算生成动态口令,具体包括:读取动态令牌中存储的与查找到的种子数据对应的动态令牌模式信息和动态因子,若为事件模式,则读取动态令牌中存储的与查找到的种子数据对应的事件因子,根据查找到的种子数据以及读取到的事件因子计算生成动态口令;若为第一时间模式,则读取动态令牌中存储的第一时间因子,根据查找到的种子数据以及读取到的第一时间因子计算生成动态口令;若为第二时间模式,则读取动态令牌中存储的第二时间因子,根据查找到的种子数据以及读取到的第二时间因子计算生成动态口令;其中,当根据查找到的种子数据以及读取到的事件因子计算生成动态口令时,在生成动态口令之前或之后还包括:更新动态令牌中存储的与查找到的种子数据对应的事件因子;步骤D26和步骤D27中,根据最新存储的种子数据和动态令牌中存储的动态因子计算生成动态口令,具体包括:检查最新存储的种子数据对应的动态令牌模式信息,若为事件模式,则根据最新存储的种子数据以及事件因子计算生成动态口令;若为第一时间模式,则根据最新存储的种子数据以及第一时间因子计算生成动态口令;若为第二时间模式,则根据最新存储的种子数据以及第二时间因子计算生成动态口令;其中,当根据最新存储的种子数据和事件因子计算生成动态口令时,在生成动态口令之前或之后还包括:更新动态令牌中存储的事件因子。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (17)

1.一种多种子动态令牌的工作方法,其特征在于,包括:
步骤S1、动态令牌上电初始化,打开总中断,设置系统状态为第一预设状态,进入休眠模式,等待被唤醒;
步骤S2、所述动态令牌检测到中断时被唤醒,进入中断处理流程,待所述中断处理流程结束后执行步骤S3;
所述中断处理流程包括:所述动态令牌判断按键中断标志是否被置位,是则置位按键唤醒标志,复位所述按键中断标志,中断处理流程结束,否则中断处理流程结束,其中,当所述动态令牌的按键被按下时触发按键中断,所述按键中断标志被置位;
步骤S3、所述动态令牌检查所述按键唤醒标志,若所述按键唤醒标志被置位,则进入按键处理流程,待所述按键处理流程结束后,重新进入休眠模式,等待被唤醒,返回步骤S2;
所述按键处理流程包括:
步骤a、所述动态令牌获取键值,判断键值和系统状态,当键值为第一预设键值且系统状态为第一预设状态时执行步骤b;当键值为第二预设键值且系统状态为第二预设状态时执行步骤c;当键值为第二预设键值且系统状态为第三预设状态时执行步骤d;当键值为第二预设键值且系统状态为第五预设状态时执行步骤e;当键值为第三预设键值且系统状态为第二预设状态时执行步骤f;当键值为第三预设键值且系统状态为第三预设状态时执行步骤g;否则,执行步骤h;
步骤b、所述动态令牌显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤h;
步骤c、所述动态令牌根据所述功能菜单索引判断用户选择的操作,若用户选择的操作为生成口令,则显示种子数据菜单,初始化种子菜单索引,设置系统状态为第三预设状态,执行步骤h,若用户选择的操作为烧写种子数据,则获取预先存储的动态令牌序列号并显示,设置系统状态为第五预设状态,执行步骤h;
步骤d、所述动态令牌读取所述动态令牌中存储的与所述种子菜单索引对应的种子数据,根据读取到的种子数据生成动态口令并显示,设置系统状态为第六预设状态,执行步骤h;
步骤e、所述动态令牌采集光感数据,判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配,若匹配则存储采集到的光感数据中的种子数据,根据最新存储的种子数据生成动态口令并显示,设置系统状态为所述第六预设状态,执行步骤h,若不匹配则清除采集到的光感数据,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h;
步骤f、所述动态令牌更新所述功能菜单索引,执行步骤h;
步骤g、所述动态令牌更新所述种子菜单索引,执行步骤h;
步骤h、所述动态令牌复位所述按键唤醒标志,所述按键处理流程结束。
2.如权利要求1所述的方法,其特征在于,所述步骤c中,还包括:若用户选择的操作为更新种子数据,所述动态令牌显示种子数据菜单,初始化种子菜单索引,设置系统状态为第四预设状态,执行步骤h;
所述步骤c中,当用户选择的操作为烧写种子数据时,还包括:置位添加种子数据标志;
所述步骤a中,还包括:当键值为第二预设键值且系统状态为所述第四预设状态时,所述动态令牌获取预先存储的动态令牌序列号并显示,设置系统状态为第五预设状态,复位所述添加种子数据标志,执行步骤h;当键值为第三预设键值且系统状态为所述第四预设状态时,更新所述种子菜单索引,执行步骤h;
所述步骤e中,所述存储采集到的光感数据中的种子数据具体包括:检查所述添加种子数据标志,若所述添加种子数据标志被置位,则存储采集到的光感数据中的种子数据,若所述添加种子数据标志未被置位,则用采集到的光感数据中的种子数据替换与种子菜单索引对应的种子数据。
3.如权利要求1所述的方法,其特征在于,所述步骤c中,还包括:若用户选择的操作为删除种子数据,则显示种子数据菜单,初始化种子菜单索引,设置系统状态为第十预设状态,执行步骤h;
所述步骤a中,还包括:当键值为第二预设键值且系统状态为所述第十预设状态时,所述动态令牌删除与所述种子菜单索引对应的种子数据,显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤h;当键值为第三预设键值且系统状态为所述第十预设状态时,更新所述种子菜单索引,执行步骤h。
4.如权利要求1所述的方法,其特征在于,所述步骤e替换为:所述动态令牌采集光感数据,判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配,若匹配则显示采集到的光感数据中的应用信息,设置系统状态为第七预设状态,执行步骤h,若不匹配则清除采集到的光感数据,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h;
所述步骤a中,还包括:当键值为第二预设键值且系统状态为所述第七预设状态时,所述动态令牌存储采集到的光感数据中的种子数据,根据获取到的种子数据生成动态口令并显示,设置系统状态为所述第六预设状态,执行步骤h。
5.如权利要求1所述的方法,其特征在于,所述步骤e中,所述采集光感数据之后,所述判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配之前,还包括:判断是否采集完成,若采集完成则判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配;若采集未完成则判断是否采集超时,若采集超时则停止采集光感数据,提示种子数据烧写超时,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h,若采集未超时则继续采集光感数据。
6.如权利要求1所述的方法,其特征在于,所述步骤e中,所述采集光感数据之前,还包括:设置系统状态为第八预设状态;所述采集光感数据之后,所述判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配之前,还包括:判断是否采集完成,若采集完成则判断采集到的光感数据中的序列号与预先存储的动态令牌序列号是否匹配;若采集未完成则判断系统状态是否为第九预设状态,是则停止采集光感数据,提示已取消烧写种子数据,获取预先存储的动态令牌序列号并显示,设置系统状态为所述第五预设状态,执行步骤h,否则继续采集光感数据;
所述中断处理流程中,当所述按键标志被置位时,所述置位按键唤醒标志之前,还包括:判断系统状态,若系统状态为所述第八预设状态则获取并判断键值,当键值为所述第一预设键值时,设置系统状态为第九预设状态,所述中断处理流程结束,当键值不为所述第一预设键值时,所述中断处理流程结束;若系统状态不为所述第八预设状态则置位按键唤醒标志。
7.如权利要求2所述的方法,其特征在于,所述步骤a中,还包括:当键值为第一预设键值且系统状态为所述第三、第四或第六预设状态时,显示功能菜单,初始化功能菜单索引,设置系统状态为第二预设状态,执行步骤h;当键值为第四预设键值且系统状态不为第一预设状态时设置系统状态为所述第一预设状态,执行步骤h。
8.如权利要求1所述的方法,其特征在于,所述步骤e中,所述存储采集到的光感数据中的种子数据之后,根据最新存储的种子数据生成动态口令并显示之前,还包括:从采集到的光感数据中获取动态口令显示位数,并将获取到的动态口令显示位数与获取到的种子数据对应存储;
所述步骤e中,所述根据最新存储的种子数据生成动态口令并显示,具体包括:根据最新存储的种子数据生成动态口令,再根据最新存储的动态口令显示位数截取生成的动态口令,显示截取得到的数据;
所述步骤d中,所述根据读取到的种子数据生成动态口令并显示,具体包括:根据读取到的种子数据生成动态口令,根据动态令牌中存储的与读取到的种子数据对应的动态口令显示位数截取生成的动态口令,显示截取得到的数据。
9.如权利要求1所述的方法,其特征在于,所述中断处理流程中,当所述按键中断标志未被置位时,还包括:判断RTC中断标志是否被置位,是则置位RTC唤醒标志,复位所述RTC中断标志,所述中断处理流程结束,否则所述中断处理流程结束;其中,当所述RTC中断被触发时,所述RTC中断标志被置位;
所述步骤S3替换为:所述动态令牌判断是否有被置位的唤醒标志,如果有被置位的唤醒标志则依次检查所述RTC唤醒标志和所述按键唤醒标志,若所述RTC唤醒标志被置位,则进入RTC处理流程,待所述RTC处理流程结束后,重新执行步骤S3,若所述按键唤醒标志被置位,则进入所述按键处理流程,待所述按键处理流程结束后,重新执行步骤S3;如果没有被置位的唤醒标志则所述动态令牌进入休眠模式,等待被唤醒,返回步骤S2;
所述RTC处理流程包括:
步骤X1:所述动态令牌递减RTC中断次数,判断所述RTC中断次数是否为预设次数,是则复位所述RTC唤醒标志,执行步骤X2,否则执行步骤X2;
步骤X2:所述动态令牌递增第一参数和第二参数,分别判断所述第一参数和所述第二参数是否达到相应阈值,若所述第一参数达到所述第一参数的阈值,则设置所述第一参数为其初始值,更新所述动态令牌中存储的第一时间因子,若所述第二参数达到所述第二参数的阈值,则设置所述第二参数为其初始值,更新所述动态令牌中存储的第二时间因子,然后执行步骤X3;若所述第一参数和所述第二参数均未达到相应阈值则直接执行步骤X3;
步骤X3:所述动态令牌更新校准计数值,判断所述第一参数是否等于预设值,是则执行步骤X4,否则所述RTC处理流程结束;
步骤X4:所述动态令牌根据所述校准计数值和所述动态令牌内预先存储的校准值判断是否需要对所述第一参数和所述第二参数进行校准,是则根据所述校准值和所述校准计数值更新所述第一参数、所述第二参数和所述校准计数值,所述RTC处理流程结束,否则所述RTC处理流程结束。
10.如权利要求9所述的方法,其特征在于,所述步骤e中,所述存储采集到的光感数据中的种子数据之后,根据最新存储的种子数据生成动态口令并显示之前,还包括:从采集到的光感数据中获取动态令牌模式信息,若获取到的动态令牌模式信息为事件型,则将获取到的动态令牌模式信息与获取到的种子数据对应存储,并设置与所述获取到的种子数据对应的事件因子,若获取到的动态令牌模式信息为第一时间模式或第二时间模式,则将获取到的动态令牌模式信息与获取到的种子数据对应存储;
所述步骤e中,所述根据最新存储的种子数据生成动态口令,具体包括:检查最新存储的动态令牌模式信息,若为事件模式,则根据最新存储的种子数据和最新设置的事件因子生成动态口令,若为第一时间模式,则根据最新存储的种子数据和所述动态令牌中的第一时间因子生成动态口令,若为第二时间模式,则根据最新存储的种子数据和所述动态令牌中的第二时间因子生成动态口令;
所述步骤d中,所述根据读取到的种子数据生成动态口令,具体包括:检查与所述动态令牌中存储的与读取到的种子数据对应的动态令牌模式信息,若为事件模式,则根据读取到的种子数据和所述动态令牌中存储的与读取到的种子数据对应的事件因子生成动态口令,若为第一时间模式,则根据读取到的种子数据和所述动态令牌中的第一时间因子生成动态口令,若为第二时间模式,则根据读取到的种子数据和所述动态令牌中的第二时间因子生成动态口令。
11.如权利要求10所述的方法,其特征在于,所述根据最新存储的种子数据和最新设置的事件因子生成动态口令之前或之后,还包括:更新最新设置的事件因子;
所述根据读取到的种子数据和所述动态令牌中存储的与读取到的种子数据对应的事件因子生成动态口令之前或之后,还包括:更新与读取到的种子数据对应的事件因子。
12.如权利要求9所述的方法,其特征在于,所述RTC处理流程中还包括:检测所述动态令牌是否被开壳,并且当检测出所述动态令牌被开壳时清除所述动态令牌内部存储的敏感数据,置位开壳标志;其中,所述敏感数据包括种子数据;
所述步骤b中,显示功能菜单之前,还包括:检查所述开壳标志是否被置位,是则提示动态令牌已自毁,执行步骤h,否则显示功能菜单。
13.如权利要求9所述的方法,其特征在于,所述步骤X4中,当不需要对所述第一参数和所述第二参数进行校准时,以及根据所述校准值和所述校准计数值更新所述第一参数、所述第二参数和所述校准计数值之后,还包括:检查系统状态,若系统状态为所述第一预设状态则所述RTC处理流程结束,若系统状态不为所述第一预设状态则递减自动关机时间,若所述自动关机时间等于预设时间,则对显示屏下电,设置系统状态为所述第一预设状态,所述RTC处理流程结束,若所述自动关机时间不等于所述预设时间,则所述RTC处理流程结束;
所述按键处理流程中,所述步骤a之前,还包括:重置所述自动关机时间。
14.如权利要求9所述的方法,其特征在于,所述步骤e中,所述存储采集到的光感数据中的种子数据之后,根据最新存储的种子数据生成动态口令并显示之前,还包括:从采集到的光感数据中获取种子数据有效期,将获取到的种子数据有效期与获取到的种子数据对应存储;
所述步骤X2中,当所述第二参数达到所述第二参数的阈值时,还包括:根据所述动态令牌中存储的与各种子数据对应的种子数据有效期检查各种子数据是否到期,并更新未到期的种子数据对应的种子数据有效期,置位到期的种子数据对应的种子数据失效标志;
所述步骤d中,根据读取到的种子数据生成动态口令之前,还包括:检查与读取到的种子数据对应的种子数据失效标志是否被置位,是则提示种子数据失效,执行步骤h,否则根据读取到的种子数据生成动态口令。
15.如权利要求9所述的方法,其特征在于,所述动态令牌根据所述校准计数值和所述动态令牌内预先存储的校准值判断是否需要对所述第一参数和所述第二参数进行校准,具体包括:所述动态令牌判断所述校准值和0x7F进行与运算的结果是否小于所述校准计数值,是则需要对所述第一参数和所述第二参数进行校准,否则不需要对所述第一参数和所述第二参数进行校准。
16.如权利要求15所述的方法,其特征在于,所述根据所述校准值和所述校准计数值更新所述第一参数、所述第二参数和所述校准计数值,具体包括:更新所述校准计数值为其当前值减去所述校准值,检查所述校准值的最高位,若所述校准值的最高位为1,则更新所述第一参数为其当前值减1,更新所述第二参数为其当前值减1;若所述校准值的最高位为0,则更新所述第一参数为其当前值加1,更新所述第二参数为其当前值加1。
17.如权利要求1所述的方法,其特征在于,所述中断处理流程中,所述判断按键中断标志是否被置位之前,还包括:判断工装通信中断标志是否被置位,是则置位工装通信唤醒标志,复位所述工装通信中断标志,所述中断处理流程结束,否则执行所述判断按键中断标志是否被置位;其中,当所述动态令牌接收到工装发送的通信数据时触发工装通信中断,所述工装通信中断标志被置位;
所述步骤S3替换为:所述动态令牌判断是否有被置位的唤醒标志,如果有被置位的唤醒标志则依次检查所述工装通信唤醒标志和所述按键唤醒标志,若所述工装通信标志被置位,则进入工装通信处理流程,待所述工装通信处理流程结束后,重新执行步骤S3,若所述按键唤醒标志被置位,则进入所述按键处理流程,待所述按键处理流程结束后,重新执行步骤S3,如果没有被置位的唤醒标志则所述动态令牌进入休眠模式,等待被唤醒,返回步骤S2;
所述工装通信处理流程包括:
步骤Y1:关闭总中断,判断当前接收到的数据是否为所述工装发送的唤醒信号,是则向所述工装返回握手信号,继续接收所述工装发送的通信数据,执行步骤Y2,否则执行步骤Y3;
步骤Y2:判断当前接收到的数据的类型,若为获取令牌硬件信息命令,则获所述获取令牌硬件信息命令中的随机数,保存所述随机数,并将获取到的随机数返回给所述工装,执行步骤Y3,若为其他工装命令,则根据所述动态令牌中保存的随机数对接收到的工装命令进行解密,执行解密后的命令,并向所述工装返回执行结果,执行步骤Y3,否则执行步骤Y3;
步骤Y3:置位所述工装通信唤醒标志,使能总中断,所述工装通信处理流程结束。
CN201410771841.2A 2014-12-15 2014-12-15 一种多种子动态令牌的工作方法 Active CN104506319B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410771841.2A CN104506319B (zh) 2014-12-15 2014-12-15 一种多种子动态令牌的工作方法
US15/115,938 US10255421B2 (en) 2014-12-15 2015-08-21 Working method for multi-seed one-time password
PCT/CN2015/087772 WO2016095555A1 (zh) 2014-12-15 2015-08-21 一种多种子动态令牌的工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410771841.2A CN104506319B (zh) 2014-12-15 2014-12-15 一种多种子动态令牌的工作方法

Publications (2)

Publication Number Publication Date
CN104506319A CN104506319A (zh) 2015-04-08
CN104506319B true CN104506319B (zh) 2017-11-28

Family

ID=52948035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410771841.2A Active CN104506319B (zh) 2014-12-15 2014-12-15 一种多种子动态令牌的工作方法

Country Status (3)

Country Link
US (1) US10255421B2 (zh)
CN (1) CN104506319B (zh)
WO (1) WO2016095555A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333454B (zh) * 2014-10-28 2017-07-14 飞天诚信科技股份有限公司 一种可更新种子的动态令牌的工作方法
CN104506319B (zh) * 2014-12-15 2017-11-28 飞天诚信科技股份有限公司 一种多种子动态令牌的工作方法
CN107203365B (zh) 2016-03-17 2020-09-08 阿里巴巴集团控股有限公司 随机数的生成及获取方法和装置
WO2017202136A1 (zh) * 2016-05-24 2017-11-30 飞天诚信科技股份有限公司 一种认证动态口令的方法和设备
US10115104B2 (en) * 2016-09-13 2018-10-30 Capital One Services, Llc Systems and methods for generating and managing dynamic customized electronic tokens for electronic device interaction
CN108234110B (zh) * 2017-12-29 2019-07-12 飞天诚信科技股份有限公司 信用卡及其工作方法
US11340796B2 (en) * 2019-08-30 2022-05-24 Dell Products L.P. Method for managing sleep mode at a data storage device and system therefor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719826A (zh) * 2009-05-13 2010-06-02 北京宏基恒信科技有限责任公司 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法
CN102882678A (zh) * 2012-07-02 2013-01-16 飞天诚信科技股份有限公司 一种非接触式烧写种子的方法及系统
CN103780388A (zh) * 2012-10-25 2014-05-07 苏州海博智能系统有限公司 动态令牌种子密钥自助更新的方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100751428B1 (ko) * 2006-01-16 2007-08-23 (주)에이티솔루션 일회용 비밀번호 생성방법과 일회용 비밀번호 인증 시스템
US8832453B2 (en) * 2007-02-28 2014-09-09 Red Hat, Inc. Token recycling
US8190906B1 (en) * 2008-12-16 2012-05-29 Emc Corporation Method and apparatus for testing authentication tokens
WO2010111440A2 (en) * 2009-03-25 2010-09-30 Pacid Technologies, Llc Token for securing communication
US7970954B2 (en) 2009-08-04 2011-06-28 Dell Products, Lp System and method of providing a user-friendly device path
US8934633B2 (en) * 2010-02-15 2015-01-13 Hitachi, Ltd. Encrypted communication system, transmitter and receiver using same
US8590030B1 (en) * 2011-04-14 2013-11-19 Symantec Corporation Credential seed provisioning system
US8745710B1 (en) * 2012-06-25 2014-06-03 Amazon Technologies, Inc. Automated secret renegotiation
KR101459415B1 (ko) * 2014-01-13 2014-11-20 주식회사 에스씨테크원 금융카드의 집적회로를 이용한 일회용 패스워드 생성 장치 및 방법
US9332010B2 (en) * 2014-03-07 2016-05-03 Motorola Solutions, Inc. Methods and systems for token-based application management
CN203870558U (zh) * 2014-05-09 2014-10-08 杭州晟元芯片技术有限公司 一种用于动态令牌系统的主控芯片
CN104184590B (zh) * 2014-09-01 2017-06-06 飞天诚信科技股份有限公司 一种激活动态令牌的方法和装置
CN104333454B (zh) * 2014-10-28 2017-07-14 飞天诚信科技股份有限公司 一种可更新种子的动态令牌的工作方法
CN104506319B (zh) * 2014-12-15 2017-11-28 飞天诚信科技股份有限公司 一种多种子动态令牌的工作方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719826A (zh) * 2009-05-13 2010-06-02 北京宏基恒信科技有限责任公司 具有种子密钥更新功能的动态令牌及其种子密钥的更新方法
CN102882678A (zh) * 2012-07-02 2013-01-16 飞天诚信科技股份有限公司 一种非接触式烧写种子的方法及系统
CN103780388A (zh) * 2012-10-25 2014-05-07 苏州海博智能系统有限公司 动态令牌种子密钥自助更新的方法及系统

Also Published As

Publication number Publication date
CN104506319A (zh) 2015-04-08
US20170293751A1 (en) 2017-10-12
US10255421B2 (en) 2019-04-09
WO2016095555A1 (zh) 2016-06-23

Similar Documents

Publication Publication Date Title
CN104506319B (zh) 一种多种子动态令牌的工作方法
CN104333454B (zh) 一种可更新种子的动态令牌的工作方法
US8181248B2 (en) System and method of detecting anomaly malicious code by using process behavior prediction technique
CN106952096A (zh) 客户端设备的安全认证系统、方法及客户端可信识别装置
CN103312517B (zh) 一种双用途设备共用显示屏和按键的实现方法
CN102801531B (zh) 一种基于声音传输的动态令牌的工作方法
CN102098315A (zh) 一种客户端安全登录方法、装置及系统
CN110535806A (zh) 监测异常网站的方法、装置、设备和计算机存储介质
EP3270317A1 (en) Dynamic security module server device and operating method thereof
CN106549980A (zh) 一种恶意c&c服务器确定方法及装置
CN103235911A (zh) 一种签名方法
CN103457741B (zh) 一种动态令牌的工作方法
CN104539430A (zh) 一种基于卡片的动态口令生成方法及设备
CN106682493B (zh) 一种防止进程被恶意结束的方法、装置及电子设备
CN108090341A (zh) Java卡控制方法及Java卡
CN105303373B (zh) 一种频率防探测电路和方法
CN106951779A (zh) 一种基于用户选择与设备行为分析的usb安全防护系统
CN108363915A (zh) 解锁方法、移动终端及计算机可读存储介质
CN106991307A (zh) 应用保密方法及装置
CN105897708A (zh) 一种信息保护方法及移动终端
CN106850500A (zh) 钓鱼网站处理方法及装置
CN106611113A (zh) 一种安全环境构建方法和装置
CN110490577A (zh) 一种贴膜卡的防攻击方法、装置、sim贴膜卡和存储介质
CN115208601A (zh) 一种主动防御恶意扫描的方法及系统
CN106779717A (zh) 一种支付认证方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant