欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種多種子動(dòng)態(tài)令牌的工作方法

文檔序號(hào):7822928閱讀:310來源:國(guó)知局
一種多種子動(dòng)態(tài)令牌的工作方法
【專利摘要】本發(fā)明公開了一種多種子動(dòng)態(tài)令牌的工作方法,屬于信息安全領(lǐng)域。所述方法包括:動(dòng)態(tài)令牌上電初始化,打開總中斷,初始化系統(tǒng)狀態(tài)后進(jìn)入休眠模式,當(dāng)動(dòng)態(tài)令牌檢測(cè)到中斷時(shí)從休眠模式被喚醒進(jìn)入中斷處理流程,中斷處理流程結(jié)束后檢查各喚醒標(biāo)志,執(zhí)行與被置位的喚醒標(biāo)志對(duì)應(yīng)的處理流程。本發(fā)明的有益效果在于:使用本發(fā)明提供的方法,用戶能夠通過操作動(dòng)態(tài)令牌實(shí)現(xiàn)向動(dòng)態(tài)令牌中燒寫種子數(shù)據(jù),以及更新動(dòng)態(tài)令牌中的種子數(shù)據(jù),并且本發(fā)明涉及的動(dòng)態(tài)令牌可存儲(chǔ)和管理多個(gè)種子,在動(dòng)態(tài)令牌使用過程中,能夠根據(jù)用戶的選擇使用對(duì)應(yīng)的種子數(shù)據(jù)生成動(dòng)態(tài)口令,方便用戶使用,并且動(dòng)態(tài)令牌的唯一標(biāo)識(shí)與種子數(shù)據(jù)之間的綁定保障了種子數(shù)據(jù)的可靠性和安全性。
【專利說明】一種多種子動(dòng)態(tài)令牌的工作方法

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種多種子動(dòng)態(tài)令牌的工作方法。

【背景技術(shù)】
[0002]在現(xiàn)有技術(shù)中,動(dòng)態(tài)令牌(One-time Password, OTP)是一種安全便捷的賬號(hào)防盜技術(shù),根據(jù)專門的算法生成一個(gè)不可預(yù)測(cè)的隨機(jī)數(shù)字組合作為口令,每個(gè)口令只能使用一次,用戶進(jìn)行認(rèn)證時(shí)候,除輸入賬號(hào)和靜態(tài)密碼之外,必須要求輸入動(dòng)態(tài)密碼,只有通過系統(tǒng)驗(yàn)證,才可以正常登錄或者交易,從而有效保證用戶身份的合法性和唯一性。動(dòng)態(tài)令牌最大的優(yōu)點(diǎn)在于,用戶每次使用的口令都不相同,使得不法分子無法仿冒合法用戶的身份。動(dòng)態(tài)口令認(rèn)證技術(shù)被認(rèn)為是目前能夠最有效解決用戶的身份認(rèn)證方式之一,可以有效防范黑客木馬盜竊用戶賬戶口令、假網(wǎng)站等多種網(wǎng)絡(luò)問題,導(dǎo)致的用戶的財(cái)產(chǎn)或者資料的損失。目前被廣泛運(yùn)用在網(wǎng)銀、網(wǎng)游、電信運(yùn)營(yíng)商、電子政務(wù)、企業(yè)等領(lǐng)域。
[0003]發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),目前的動(dòng)態(tài)令牌中的種子數(shù)據(jù)都是在動(dòng)態(tài)令牌出廠前,由動(dòng)態(tài)令牌生產(chǎn)廠家內(nèi)置在動(dòng)態(tài)令牌中,動(dòng)態(tài)令牌被激活后不允許用戶更新,并且只面向單一應(yīng)用,這些問題不僅給用戶的使用帶來了不便,還會(huì)帶來硬件資源的浪費(fèi)。


【發(fā)明內(nèi)容】

[0004]本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺陷,提供一種多種子動(dòng)態(tài)令牌的工作方法。
[0005]本發(fā)明方法是通過下述技術(shù)方案實(shí)現(xiàn)的:
[0006]一種多種子動(dòng)態(tài)令牌的工作方法,其基本實(shí)施過程如下:
[0007]步驟S1、動(dòng)態(tài)令牌上電初始化,打開總中斷,設(shè)置系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài),進(jìn)入休眠模式,等待被喚醒;
[0008]步驟S2、所述動(dòng)態(tài)令牌檢測(cè)到中斷時(shí)被喚醒,進(jìn)入中斷處理流程,待所述中斷處理流程結(jié)束后執(zhí)行步驟S3 ;
[0009]所述中斷處理流程包括:所述動(dòng)態(tài)令牌判斷按鍵中斷標(biāo)志是否被置位,是則置位按鍵喚醒標(biāo)志,復(fù)位所述按鍵中斷標(biāo)志,中斷處理流程結(jié)束,否則中斷處理流程結(jié)束,其中,當(dāng)所述動(dòng)態(tài)令牌的按鍵被按下時(shí)觸發(fā)按鍵中斷,所述按鍵中斷標(biāo)志被置位;
[0010]步驟S3、所述動(dòng)態(tài)令牌檢查所述按鍵喚醒標(biāo)志,若所述按鍵喚醒標(biāo)志被置位,則進(jìn)入按鍵處理流程,待所述按鍵處理流程結(jié)束后,重新進(jìn)入休眠模式,等待被喚醒,返回步驟S2 ;
[0011 ] 所述按鍵處理流程包括:
[0012]步驟a、所述動(dòng)態(tài)令牌獲取鍵值,判斷鍵值和系統(tǒng)狀態(tài),當(dāng)鍵值為第一預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟b ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟c ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟d ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟e ;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟f;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟g ;否則,執(zhí)行步驟h ;
[0013]步驟b、所述動(dòng)態(tài)令牌顯示功能菜單,初始化功能菜單索引,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)行步驟h;
[0014]步驟C、所述動(dòng)態(tài)令牌根據(jù)所述功能菜單索引判斷用戶選擇的操作,若用戶選擇的操作為生成口令,則顯示種子數(shù)據(jù)菜單,初始化種子菜單索引,設(shè)置系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若用戶選擇的操作為燒寫種子數(shù)據(jù),則獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;
[0015]步驟d、所述動(dòng)態(tài)令牌讀取所述動(dòng)態(tài)令牌中存儲(chǔ)的與所述種子菜單索引對(duì)應(yīng)的種子數(shù)據(jù),根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為第六預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;
[0016]步驟e、所述動(dòng)態(tài)令牌采集光感數(shù)據(jù),判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配,若匹配則存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第六預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若不匹配則清除采集到的光感數(shù)據(jù),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;
[0017]步驟f、所述動(dòng)態(tài)令牌更新所述功能菜單索引,執(zhí)行步驟h ;
[0018]步驟g、所述動(dòng)態(tài)令牌更新所述種子菜單索引,執(zhí)行步驟h ;
[0019]步驟h、所述動(dòng)態(tài)令牌復(fù)位所述按鍵喚醒標(biāo)志,所述按鍵處理流程結(jié)束。
[0020]進(jìn)一步地,所述步驟c中,還可以包括:若用戶選擇的操作為更新種子數(shù)據(jù),所述動(dòng)態(tài)令牌顯示種子數(shù)據(jù)菜單,初始化種子菜單索引,設(shè)置系統(tǒng)狀態(tài)為第四預(yù)設(shè)狀態(tài),執(zhí)行步驟h;
[0021]相應(yīng)地,所述步驟c中,當(dāng)用戶選擇的操作為燒寫種子數(shù)據(jù)時(shí),還包括:置位添加種子數(shù)據(jù)標(biāo)志;
[0022]所述步驟a中,還包括:當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第四預(yù)設(shè)狀態(tài)時(shí),所述動(dòng)態(tài)令牌獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),復(fù)位所述添加種子數(shù)據(jù)標(biāo)志,執(zhí)行步驟h;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第四預(yù)設(shè)狀態(tài)時(shí),更新所述種子菜單索引,執(zhí)行步驟h ;
[0023]所述步驟e中,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)具體包括:檢查所述添加種子數(shù)據(jù)標(biāo)志,若所述添加種子數(shù)據(jù)標(biāo)志被置位,則存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),若所述添加種子數(shù)據(jù)標(biāo)志未被置位,則用采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)替換與種子菜單索引對(duì)應(yīng)的種子數(shù)據(jù)。
[0024]進(jìn)一步地,所述步驟c中,還可以包括:若用戶選擇的操作為刪除種子數(shù)據(jù),則顯示種子數(shù)據(jù)菜單,初始化種子菜單索引,設(shè)置系統(tǒng)狀態(tài)為第十預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;
[0025]相應(yīng)地,所述步驟a中,還包括:當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第十預(yù)設(shè)狀態(tài)時(shí),所述動(dòng)態(tài)令牌刪除與所述種子菜單索引對(duì)應(yīng)的種子數(shù)據(jù),顯示功能菜單,初始化功能菜單索引,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第十預(yù)設(shè)狀態(tài)時(shí),更新所述種子菜單索引,執(zhí)行步驟h。
[0026]進(jìn)一步地,所述步驟e可以替換為:所述動(dòng)態(tài)令牌采集光感數(shù)據(jù),判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配,若匹配則顯示采集到的光感數(shù)據(jù)中的應(yīng)用信息,設(shè)置系統(tǒng)狀態(tài)為第七預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若不匹配則清除采集到的光感數(shù)據(jù),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;
[0027]相應(yīng)地,所述步驟a中,還包括:當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第七預(yù)設(shè)狀態(tài)時(shí),所述動(dòng)態(tài)令牌存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),根據(jù)獲取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第六預(yù)設(shè)狀態(tài),執(zhí)行步驟h。
[0028]進(jìn)一步地,所述步驟e中,所述采集光感數(shù)據(jù)之后,所述判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配之前,還可以包括:判斷是否采集完成,若采集完成則判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配;若采集未完成則判斷是否采集超時(shí),若采集超時(shí)則停止采集光感數(shù)據(jù),提示種子數(shù)據(jù)燒寫超時(shí),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若采集未超時(shí)則繼續(xù)采集光感數(shù)據(jù)。
[0029]進(jìn)一步地,所述步驟e中,所述采集光感數(shù)據(jù)之前,還可以包括:設(shè)置系統(tǒng)狀態(tài)為第八預(yù)設(shè)狀態(tài);所述采集光感數(shù)據(jù)之后,所述判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配之前,還包括:判斷是否采集完成,若采集完成則判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配;若采集未完成則判斷系統(tǒng)狀態(tài)是否為第九預(yù)設(shè)狀態(tài),是則停止采集光感數(shù)據(jù),提示已取消燒寫種子數(shù)據(jù),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h,否則繼續(xù)采集光感數(shù)據(jù);
[0030]相應(yīng)地,所述中斷處理流程中,當(dāng)所述按鍵標(biāo)志被置位時(shí),所述置位按鍵喚醒標(biāo)志之前,還包括:判斷系統(tǒng)狀態(tài),若系統(tǒng)狀態(tài)為所述第八預(yù)設(shè)狀態(tài)則獲取并判斷鍵值,當(dāng)鍵值為所述第一預(yù)設(shè)鍵值時(shí),設(shè)置系統(tǒng)狀態(tài)為第九預(yù)設(shè)狀態(tài),所述中斷處理流程結(jié)束,當(dāng)鍵值不為所述第一預(yù)設(shè)鍵值時(shí),所述中斷處理流程結(jié)束;若系統(tǒng)狀態(tài)不為所述第八預(yù)設(shè)狀態(tài)則置位按鍵喚醒標(biāo)志。
[0031]進(jìn)一步地,所述步驟a中,還可以包括:當(dāng)鍵值為第一預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第三、第四或第六預(yù)設(shè)狀態(tài)時(shí),顯示功能菜單,初始化功能菜單索引,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)行步驟h;當(dāng)鍵值為第四預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)不為第一預(yù)設(shè)狀態(tài)時(shí)設(shè)置系統(tǒng)狀態(tài)為所述第一預(yù)設(shè)狀態(tài),執(zhí)行步驟h。
[0032]進(jìn)一步地,所述步驟e中,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)之后,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示之前,還可以包括:從采集到的光感數(shù)據(jù)中獲取動(dòng)態(tài)口令顯示位數(shù),并將獲取到的動(dòng)態(tài)口令顯示位數(shù)與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ);
[0033]相應(yīng)地,所述步驟e中,所述根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,具體包括:根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令,再根據(jù)最新存儲(chǔ)的動(dòng)態(tài)口令顯示位數(shù)截取生成的動(dòng)態(tài)口令,顯示截取得到的數(shù)據(jù);
[0034]所述步驟d中,所述根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,具體包括:根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令,根據(jù)動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的動(dòng)態(tài)口令顯示位數(shù)截取生成的動(dòng)態(tài)口令,顯示截取得到的數(shù)據(jù)。
[0035]進(jìn)一步地,所述中斷處理流程中,當(dāng)所述按鍵中斷標(biāo)志未被置位時(shí),還可以包括:判斷RTC中斷標(biāo)志是否被置位,是則置位RTC喚醒標(biāo)志,復(fù)位所述RTC中斷標(biāo)志,所述中斷處理流程結(jié)束,否則所述中斷處理流程結(jié)束;其中,當(dāng)所述RTC中斷被觸發(fā)時(shí),所述RTC中斷標(biāo)志被置位;
[0036]相應(yīng)地,所述步驟S3替換為:所述動(dòng)態(tài)令牌判斷是否有被置位的喚醒標(biāo)志,如果有被置位的喚醒標(biāo)志則依次檢查所述RTC喚醒標(biāo)志和所述按鍵喚醒標(biāo)志,若所述按鍵喚醒標(biāo)志被置位,則進(jìn)入所述按鍵處理流程,待所述按鍵處理流程結(jié)束后,重新執(zhí)行步驟S3,若所述RTC喚醒標(biāo)志被置位,則進(jìn)入RTC處理流程,待所述RTC處理流程結(jié)束后,重新執(zhí)行步驟S3 ;如果沒有被置位的喚醒標(biāo)志則所述動(dòng)態(tài)令牌進(jìn)入休眠模式,等待被喚醒,返回步驟S2 ;
[0037]其中,所述RTC處理流程包括:
[0038]步驟Xl:所述動(dòng)態(tài)令牌遞減RTC中斷次數(shù),判斷所述RTC中斷次數(shù)是否為預(yù)設(shè)次數(shù),是則復(fù)位所述RTC喚醒標(biāo)志,執(zhí)行步驟X2,否則執(zhí)行步驟X2 ;
[0039]步驟X2:所述動(dòng)態(tài)令牌遞增第一參數(shù)和第二參數(shù),分別判斷所述第一參數(shù)和所述第二參數(shù)是否達(dá)到相應(yīng)閾值,若所述第一參數(shù)達(dá)到所述第一參數(shù)的閾值,則設(shè)置所述第一參數(shù)為其初始值,更新所述動(dòng)態(tài)令牌中存儲(chǔ)的第一時(shí)間因子,若所述第二參數(shù)達(dá)到所述第二參數(shù)的閾值,則設(shè)置所述第二參數(shù)為其初始值,更新所述動(dòng)態(tài)令牌中存儲(chǔ)的第二時(shí)間因子,然后執(zhí)行步驟X3 ;若所述第一參數(shù)和所述第二參數(shù)均未達(dá)到相應(yīng)閾值則直接執(zhí)行步驟X3 ;
[0040]步驟X3:所述動(dòng)態(tài)令牌更新校準(zhǔn)計(jì)數(shù)值,判斷所述第一參數(shù)是否等于預(yù)設(shè)值,是則執(zhí)行步驟X4,否則所述RTC處理流程結(jié)束;
[0041]步驟X4:所述動(dòng)態(tài)令牌根據(jù)所述校準(zhǔn)計(jì)數(shù)值和所述動(dòng)態(tài)令牌內(nèi)預(yù)先存儲(chǔ)的校準(zhǔn)值判斷是否需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn),是則根據(jù)所述校準(zhǔn)值和所述校準(zhǔn)計(jì)數(shù)值更新所述第一參數(shù)、所述第二參數(shù)和所述校準(zhǔn)計(jì)數(shù)值,所述RTC處理流程結(jié)束,否則所述RTC處理流程結(jié)束;
[0042]更近一步地,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)之后,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示之前,還包括:從采集到的光感數(shù)據(jù)中獲取動(dòng)態(tài)令牌模式信息,若獲取到的動(dòng)態(tài)令牌模式信息為事件型,則將獲取到的動(dòng)態(tài)令牌模式信息與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ),并設(shè)置與所述獲取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子,若獲取到的動(dòng)態(tài)令牌模式信息為第一時(shí)間模式或第二時(shí)間模式,則將獲取到的動(dòng)態(tài)令牌模式信息與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ);
[0043]所述步驟e中,所述根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令,具體包括:檢查最新存儲(chǔ)的動(dòng)態(tài)令牌模式信息,若為事件模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和最新設(shè)置的事件因子生成動(dòng)態(tài)口令,若為第一時(shí)間模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第一時(shí)間因子生成動(dòng)態(tài)口令,若為第二時(shí)間模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第二時(shí)間因子生成動(dòng)態(tài)口令;
[0044]所述步驟d中,所述根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令,具體包括:檢查與所述動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的動(dòng)態(tài)令牌模式信息,若為事件模式,則根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子生成動(dòng)態(tài)口令,若為第一時(shí)間模式,則根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第一時(shí)間因子生成動(dòng)態(tài)口令,若為第二時(shí)間模式,則根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第二時(shí)間因子生成動(dòng)態(tài)口令;
[0045]所述根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和最新設(shè)置的事件因子生成動(dòng)態(tài)口令之前或之后,還包括:更新最新設(shè)置的事件因子;
[0046]所述根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子生成動(dòng)態(tài)口令之前或之后,還包括:更新與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子;
[0047]所述RTC處理流程中還包括:檢測(cè)所述動(dòng)態(tài)令牌是否被開殼,并且當(dāng)檢測(cè)出所述動(dòng)態(tài)令牌被開殼時(shí)清除所述動(dòng)態(tài)令牌內(nèi)部存儲(chǔ)的敏感數(shù)據(jù),置位開殼標(biāo)志;其中,所述敏感數(shù)據(jù)包括種子數(shù)據(jù);
[0048]所述步驟b中,顯示功能菜單之前,還包括:檢查所述開殼標(biāo)志是否被置位,是則提示動(dòng)態(tài)令牌已自毀,執(zhí)行步驟h,否則顯示功能菜單;
[0049]所述步驟X4中,當(dāng)不需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn)時(shí),以及根據(jù)所述校準(zhǔn)值和所述校準(zhǔn)計(jì)數(shù)值更新所述第一參數(shù)、所述第二參數(shù)和所述校準(zhǔn)計(jì)數(shù)值之后,還包括:檢查系統(tǒng)狀態(tài),若系統(tǒng)狀態(tài)為所述第一預(yù)設(shè)狀態(tài)則所述RTC處理流程結(jié)束,若系統(tǒng)狀態(tài)不為所述第一預(yù)設(shè)狀態(tài)則遞減自動(dòng)關(guān)機(jī)時(shí)間,若所述自動(dòng)關(guān)機(jī)時(shí)間等于預(yù)設(shè)時(shí)間,則對(duì)顯示屏下電,設(shè)置系統(tǒng)狀態(tài)為所述第一預(yù)設(shè)狀態(tài),所述RTC處理流程結(jié)束,若所述自動(dòng)關(guān)機(jī)時(shí)間不等于所述預(yù)設(shè)時(shí)間,則所述RTC處理流程結(jié)束;
[0050]所述按鍵處理流程中,所述步驟a之前,還包括:重置所述自動(dòng)關(guān)機(jī)時(shí)間;
[0051]所述步驟e中,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)之后,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示之前,還包括:從采集到的光感數(shù)據(jù)中獲取種子數(shù)據(jù)有效期,將獲取到的種子數(shù)據(jù)有效期與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ);
[0052]所述步驟X2中,當(dāng)所述第二參數(shù)達(dá)到所述第二參數(shù)的閾值時(shí),還包括:根據(jù)所述動(dòng)態(tài)令牌中存儲(chǔ)的與各種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)有效期檢查各種子數(shù)據(jù)是否到期,并更新未到期的種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)有效期,置位到期的種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)失效標(biāo)志;
[0053]所述步驟d中,根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令之前,還包括:檢查與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)失效標(biāo)志是否被置位,是則提示種子數(shù)據(jù)失效,執(zhí)行步驟h,否則根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令;
[0054]所述動(dòng)態(tài)令牌根據(jù)所述校準(zhǔn)計(jì)數(shù)值和所述動(dòng)態(tài)令牌內(nèi)預(yù)先存儲(chǔ)的校準(zhǔn)值判斷是否需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn),具體包括:所述動(dòng)態(tài)令牌判斷所述校準(zhǔn)值和0x7F進(jìn)行與運(yùn)算的結(jié)果是否小于所述校準(zhǔn)計(jì)數(shù)值,是則需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn),否則不需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn);
[0055]所述根據(jù)所述校準(zhǔn)值和所述校準(zhǔn)計(jì)數(shù)值更新所述第一參數(shù)、所述第二參數(shù)和所述校準(zhǔn)計(jì)數(shù)值,具體包括:更新所述校準(zhǔn)計(jì)數(shù)值為其當(dāng)前值減去所述校準(zhǔn)值,檢查所述校準(zhǔn)值的最高位,若所述校準(zhǔn)值的最高位為1,則更新所述第一參數(shù)為其當(dāng)前值減1,更新所述第二參數(shù)為其當(dāng)前值減I;若所述校準(zhǔn)值的最高位為0,則更新所述第一參數(shù)為其當(dāng)前值加1,更新所述第二參數(shù)為其當(dāng)前值加I。
[0056]進(jìn)一步地,所述中斷處理流程中,所述判斷按鍵中斷標(biāo)志是否被置位之前,還包括:判斷工裝通信中斷標(biāo)志是否被置位,是則置位工裝通信喚醒標(biāo)志,復(fù)位所述工裝通信中斷標(biāo)志,所述中斷處理流程結(jié)束,否則執(zhí)行所述判斷按鍵中斷標(biāo)志是否被置位;其中,當(dāng)所述動(dòng)態(tài)令牌接收到工裝發(fā)送的通信數(shù)據(jù)時(shí)觸發(fā)工裝通信中斷,所述工裝通信中斷標(biāo)志被置位;
[0057]所述步驟S3替換為:所述動(dòng)態(tài)令牌判斷是否有被置位的喚醒標(biāo)志,如果有被置位的喚醒標(biāo)志則依次檢查所述工裝通信喚醒標(biāo)志和所述按鍵喚醒標(biāo)志,若所述工裝通信標(biāo)志被置位,則進(jìn)入工裝通信處理流程,待所述工裝通信處理流程結(jié)束后,重新執(zhí)行步驟S3,若所述按鍵喚醒標(biāo)志被置位,則進(jìn)入所述按鍵處理流程,待所述按鍵處理流程結(jié)束后,重新執(zhí)行步驟S3,如果沒有被置位的喚醒標(biāo)志則所述動(dòng)態(tài)令牌進(jìn)入休眠模式,等待被喚醒,返回步驟S2 ;
[0058]所述工裝通信處理流程包括:
[0059]步驟Yl:關(guān)閉總中斷,判斷當(dāng)前接收到的數(shù)據(jù)是否為所述工裝發(fā)送的喚醒信號(hào),是則向所述工裝返回握手信號(hào),繼續(xù)接收所述工裝發(fā)送的通信數(shù)據(jù),執(zhí)行步驟Y2,否則執(zhí)行步驟Y3 ;
[0060]步驟Y2:判斷當(dāng)前接收到的數(shù)據(jù)的類型,若為獲取令牌硬件信息命令,則獲所述獲取令牌硬件信息命令中的隨機(jī)數(shù),保存所述隨機(jī)數(shù),并將獲取到的隨機(jī)數(shù)返回給所述工裝,執(zhí)行步驟Y3,若為其他工裝命令,則根據(jù)所述動(dòng)態(tài)令牌中保存的隨機(jī)數(shù)對(duì)接收到的工裝命令進(jìn)行解密,執(zhí)行解密后的命令,并向所述工裝返回執(zhí)行結(jié)果,執(zhí)行步驟Y3,否則執(zhí)行步驟Y3 ;
[0061]步驟Y3:置位所述工裝通信喚醒標(biāo)志,使能總中斷,所述工裝通信處理流程結(jié)束。
[0062]本發(fā)明方法的有益效果在于,使用本發(fā)明提供的方法,用戶能夠通過操作動(dòng)態(tài)令牌實(shí)現(xiàn)向動(dòng)態(tài)令牌中燒寫種子數(shù)據(jù),以及更新動(dòng)態(tài)令牌中的種子數(shù)據(jù),并且本發(fā)明涉及的動(dòng)態(tài)令牌可存儲(chǔ)和管理多個(gè)種子,在動(dòng)態(tài)令牌使用過程中,能夠根據(jù)用戶的選擇使用對(duì)應(yīng)的種子數(shù)據(jù)生成動(dòng)態(tài)口令,方便用戶使用,并且動(dòng)態(tài)令牌的唯一標(biāo)識(shí)與種子數(shù)據(jù)之間的綁定保障了種子數(shù)據(jù)的可靠性和安全性。

【專利附圖】

【附圖說明】
[0063]為了更清楚的說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0064]圖1為本發(fā)明實(shí)施例一提供的一種多種子動(dòng)態(tài)令牌的工作方法中的按鍵處理流程圖;
[0065]圖2為本發(fā)明實(shí)施例二提供的一種多種子動(dòng)態(tài)令牌的工作方法的流程圖;
[0066]圖3為本發(fā)明實(shí)施例二中提供的中斷處理流程的流程圖;
[0067]圖4為本發(fā)明實(shí)施例二中提供的工裝通信處理流程的流程圖;
[0068]圖5為本發(fā)明實(shí)施例二中提供的RTC處理流程的流程圖;
[0069]圖6為本發(fā)明實(shí)施例二中提供的按鍵處理流程的流程圖。

【具體實(shí)施方式】
[0070]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0071]實(shí)施例一
[0072]本發(fā)明實(shí)施例一提供一種多種子動(dòng)態(tài)令牌的工作方法,所述方法具體包括:
[0073]步驟S1、動(dòng)態(tài)令牌上電初始化,打開總中斷,設(shè)置系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài),進(jìn)入休眠模式,等待被喚醒;
[0074]步驟S2、所述動(dòng)態(tài)令牌檢測(cè)到中斷時(shí)被喚醒,進(jìn)入中斷處理流程,待所述中斷處理流程結(jié)束后執(zhí)行步驟S3 ;
[0075]所述中斷處理流程包括:所述動(dòng)態(tài)令牌判斷按鍵中斷標(biāo)志是否被置位,是則置位按鍵喚醒標(biāo)志,復(fù)位所述按鍵中斷標(biāo)志,中斷處理流程結(jié)束,否則中斷處理流程結(jié)束,其中,當(dāng)所述動(dòng)態(tài)令牌的按鍵被按下時(shí)觸發(fā)按鍵中斷,所述按鍵中斷標(biāo)志被置位;
[0076]步驟S3、所述動(dòng)態(tài)令牌檢查所述按鍵喚醒標(biāo)志,若所述按鍵喚醒標(biāo)志被置位,則進(jìn)入按鍵處理流程,待所述按鍵處理流程結(jié)束后,重新進(jìn)入休眠模式,等待被喚醒,返回步驟S2 ;
[0077]本實(shí)施例中,按鍵處理流程如圖1所述,具體包括:
[0078]步驟11:所述動(dòng)態(tài)令牌獲取鍵值,判斷鍵值和系統(tǒng)狀態(tài),當(dāng)鍵值為第一預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟12 ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟13 ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟16 ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟17 ;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟20 ;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟21 ;否則執(zhí)行步驟22 ;
[0079]步驟12:所述動(dòng)態(tài)令牌顯示功能菜單,初始化功能菜單索引,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)行步驟22;
[0080]步驟13:所述動(dòng)態(tài)令牌根據(jù)所述功能菜單索引判斷用戶選擇的操作,若用戶選擇的操作為生成口令,則執(zhí)行步驟14,若用戶選擇的操作為燒寫種子數(shù)據(jù),則執(zhí)行步驟15 ;
[0081]步驟14:所述動(dòng)態(tài)令牌顯示種子數(shù)據(jù)菜單,初始化種子菜單索引,設(shè)置系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài),執(zhí)行步驟22 ;
[0082]步驟15:所述動(dòng)態(tài)令牌獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),執(zhí)行步驟22;
[0083]步驟16:所述動(dòng)態(tài)令牌讀取所述動(dòng)態(tài)令牌中存儲(chǔ)的與所述種子菜單索引對(duì)應(yīng)的種子數(shù)據(jù),根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為第六預(yù)設(shè)狀態(tài),執(zhí)行步驟22 ;
[0084]步驟17:所述動(dòng)態(tài)令牌采集光感數(shù)據(jù),判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配,若匹配則執(zhí)行步驟18,若不匹配則執(zhí)行步驟19 ;
[0085]步驟18:所述動(dòng)態(tài)令牌存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第六預(yù)設(shè)狀態(tài),執(zhí)行步驟22 ;
[0086]步驟19:所述動(dòng)態(tài)令牌清除采集到的光感數(shù)據(jù),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟22 ;
[0087]步驟20:所述動(dòng)態(tài)令牌更新所述功能菜單索引,執(zhí)行步驟22 ;
[0088]步驟21:所述動(dòng)態(tài)令牌更新所述種子菜單索引,執(zhí)行步驟22 ;
[0089]步驟22:所述動(dòng)態(tài)令牌復(fù)位所述按鍵喚醒標(biāo)志,所述按鍵處理流程結(jié)束。
[0090]進(jìn)一步地,本實(shí)施例中,步驟11中,還包括:當(dāng)鍵值為第一預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第三、第四或第六預(yù)設(shè)狀態(tài)時(shí),所述動(dòng)態(tài)令牌顯示功能菜單,初始化功能菜單索引,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)行步驟22 ;當(dāng)鍵值為第四預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)不為第一預(yù)設(shè)狀態(tài)時(shí)設(shè)置系統(tǒng)狀態(tài)為所述第一預(yù)設(shè)狀態(tài),執(zhí)行步驟22。
[0091]第一預(yù)設(shè)鍵值、第二預(yù)設(shè)鍵值、第三預(yù)設(shè)鍵值和第四預(yù)設(shè)鍵值中的一個(gè)或多個(gè)對(duì)應(yīng)一個(gè)物理按鍵。當(dāng)?shù)谝活A(yù)設(shè)鍵值、第二預(yù)設(shè)鍵值、第三預(yù)設(shè)鍵值和第四預(yù)設(shè)鍵值分別對(duì)應(yīng)不同的物理按鍵時(shí),所述動(dòng)態(tài)令牌通過物理按鍵獲取對(duì)應(yīng)的鍵值;當(dāng)?shù)谝活A(yù)設(shè)鍵值、第二預(yù)設(shè)鍵值、第三預(yù)設(shè)鍵值和第四預(yù)設(shè)鍵值中的多個(gè)對(duì)應(yīng)同一個(gè)物理按鍵時(shí),所述動(dòng)態(tài)令牌通過物理按鍵和/或按鍵方式(如長(zhǎng)按、短按等)獲取對(duì)應(yīng)的鍵值。
[0092]實(shí)施例二
[0093]實(shí)施例一中的按鍵處理流程中,沒有限制判斷鍵值和判斷系統(tǒng)狀態(tài)的順序,先判斷鍵值或先判斷系統(tǒng)狀態(tài)均能實(shí)現(xiàn)本發(fā)明的目的,本發(fā)明實(shí)施例二以先判斷鍵值為例提供一種多種子動(dòng)態(tài)令牌的工作方法,如圖2所示,所述方法具體包括:
[0094]步驟101:動(dòng)態(tài)令牌上電初始化,打開總中斷,設(shè)置系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài),進(jìn)入休眠模式,當(dāng)檢測(cè)到中斷時(shí)被喚醒,執(zhí)行步驟102。
[0095]本實(shí)施例中,中斷包括:工裝通信中斷、RTC中斷和按鍵中斷。
[0096]步驟102:動(dòng)態(tài)令牌進(jìn)入中斷處理流程進(jìn)行中斷處理,根據(jù)中斷類型置位相應(yīng)喚醒標(biāo)志,待中斷處理流程結(jié)束后,執(zhí)行步驟103 ;
[0097]本實(shí)施例中,中斷處理流程如圖3所述,具體包括:
[0098]步驟Al:判斷工裝通信中斷標(biāo)志是否被置位,是則執(zhí)行步驟A2,否則執(zhí)行步驟A3 ;
[0099]步驟A2:復(fù)位工裝通信中斷標(biāo)志,置位工裝通信喚醒標(biāo)志,中斷處理流程結(jié)束;
[0100]步驟A3:判斷按鍵中斷標(biāo)志是否被置位,是則執(zhí)行步驟A4,否則執(zhí)行步驟AS ;
[0101]步驟A4:判斷系統(tǒng)狀態(tài)是否為第八預(yù)設(shè)狀態(tài),是則執(zhí)行步驟A5,否則執(zhí)行步驟A7 ;
[0102]步驟A5:獲取鍵值,判斷是否為第一預(yù)設(shè)鍵值,是則執(zhí)行步驟A6,否則中斷處理流程結(jié)束;
[0103]步驟A6:設(shè)置系統(tǒng)狀態(tài)為第九預(yù)設(shè)狀態(tài),中斷處理流程結(jié)束;
[0104]步驟A7:復(fù)位按鍵中斷標(biāo)志,置位按鍵喚醒標(biāo)志,中斷處理流程結(jié)束;
[0105]步驟AS:判斷RTC中斷標(biāo)志是否被置位,是則執(zhí)行步驟A9,否則中斷處理流程結(jié)束;
[0106]步驟A9:復(fù)位RTC中斷標(biāo)志,更新RTC中斷次數(shù),置位RTC喚醒標(biāo)志,中斷處理流程結(jié)束。
[0107]本實(shí)施例中,當(dāng)令牌接收到工裝發(fā)送的通信數(shù)據(jù)時(shí)觸發(fā)通信中斷,通信中斷標(biāo)志被置位,當(dāng)令牌的按鍵被按下時(shí)觸發(fā)按鍵中斷,按鍵中斷標(biāo)志被置位,RTC中斷每秒觸發(fā)一次,當(dāng)RTC中斷被觸發(fā)時(shí),RTC中斷標(biāo)志被置位。
[0108]本實(shí)施例中所述的中斷處理流程中,當(dāng)RTC中斷標(biāo)志被置位時(shí),具體更新RTC中斷次數(shù)為其當(dāng)前次數(shù)加I。
[0109]步驟103:動(dòng)態(tài)令牌判斷是否有被置位的喚醒標(biāo)志,是則執(zhí)行步驟104,否則動(dòng)態(tài)令牌進(jìn)入休眠模式,當(dāng)檢測(cè)到中斷時(shí)被喚醒,返回步驟102 ;
[0110]步驟104:動(dòng)態(tài)令牌依次檢查各喚醒標(biāo)志,若工裝通信喚醒標(biāo)志被置位,則執(zhí)行步驟105,若RTC喚醒標(biāo)志被置位,則執(zhí)行步驟106,若按鍵喚醒標(biāo)志被置位,則執(zhí)行步驟107 ;
[0111]本實(shí)施例中所述的喚醒標(biāo)志包括:工裝通信喚醒標(biāo)志、RTC喚醒標(biāo)志和按鍵喚醒標(biāo)志,優(yōu)選地,動(dòng)態(tài)令牌按照工裝通信喚醒標(biāo)志、RTC喚醒標(biāo)志、按鍵喚醒標(biāo)志的順序依次檢查各喚醒標(biāo)志。
[0112]步驟105:動(dòng)態(tài)令牌進(jìn)入工裝通信處理流程,待工裝通信處理流程結(jié)束后返回步驟 103 ;
[0113]本實(shí)施例中,動(dòng)態(tài)令牌進(jìn)入工裝通信處理流程如圖4所述,具體包括動(dòng)態(tài)令牌執(zhí)行以下操作:
[0114]步驟B1:關(guān)閉總中斷,判斷當(dāng)前接收到的數(shù)據(jù)是否為工裝發(fā)送的喚醒信號(hào),是則執(zhí)行步驟B2,否則執(zhí)行步驟B9 ;
[0115]步驟B2:向工裝返回握手信號(hào),繼續(xù)接收工裝發(fā)送的通信數(shù)據(jù);
[0116]步驟B3:判斷當(dāng)前接收到的數(shù)據(jù)中的數(shù)據(jù)長(zhǎng)度是否大于預(yù)設(shè)長(zhǎng)度,是則執(zhí)行步驟B9,否則執(zhí)行步驟B4 ;
[0117]本實(shí)施例中,預(yù)設(shè)長(zhǎng)度為50字節(jié)。
[0118]步驟B4:根據(jù)數(shù)據(jù)長(zhǎng)度繼續(xù)接收工裝發(fā)送的通信數(shù)據(jù);
[0119]步驟B5:檢驗(yàn)當(dāng)前接收到的數(shù)據(jù)是否正確,是則執(zhí)行步驟B6,否則執(zhí)行步驟B9 ;
[0120]步驟B6:判斷當(dāng)前接收到的數(shù)據(jù)的類型,若是預(yù)設(shè)工裝命令則執(zhí)行步驟B7,若是其他工裝命令則執(zhí)行步驟B8,否則執(zhí)行步驟B9 ;
[0121]本實(shí)施例中所述的預(yù)設(shè)工裝命令為工裝發(fā)送的獲取令牌硬件信息命令。
[0122]步驟B7:獲取預(yù)設(shè)工裝命令中的隨機(jī)數(shù),保存獲取到的隨機(jī)數(shù)并將獲取到的隨機(jī)數(shù)返回給工裝,執(zhí)行步驟B9;
[0123]步驟B8:根據(jù)令牌中保存的隨機(jī)數(shù)對(duì)接收到的工裝命令進(jìn)行解密,執(zhí)行解密后的命令,并向工裝返回執(zhí)行結(jié)果,執(zhí)行步驟B9 ;
[0124]本實(shí)施例中,其他工裝命令包括:寫時(shí)間因子命令;執(zhí)行解密后的寫時(shí)間因子命令,具體包括:存儲(chǔ)寫時(shí)間因子命令中的時(shí)間因子,所述時(shí)間因子包括第一時(shí)間因子和第二時(shí)間因子。
[0125]步驟B9:復(fù)位工裝通信喚醒標(biāo)志,使能總中斷,工裝通信處理流程結(jié)束。
[0126]步驟106:動(dòng)態(tài)令牌進(jìn)入RTC處理流程,待RTC處理流程結(jié)束后返回步驟103 ;
[0127]本實(shí)施例中,動(dòng)態(tài)令牌進(jìn)入RTC處理流程如圖5所示,具體包括動(dòng)態(tài)令牌執(zhí)行以下操作:
[0128]步驟Cl:遞減RTC中斷次數(shù);
[0129]本實(shí)施例步驟Cl中,遞減RTC中斷次數(shù)具體為更新RTC中斷次數(shù)為其當(dāng)前次數(shù)減
I;
[0130]步驟C2:判斷RTC中斷次數(shù)是否為預(yù)設(shè)次數(shù),是則執(zhí)行步驟C3,否則執(zhí)行步驟C4 ;
[0131]本實(shí)施例中,預(yù)設(shè)次數(shù)為O次。
[0132]步驟C3:復(fù)位RTC喚醒標(biāo)志,執(zhí)行步驟C4 ;
[0133]步驟C4:遞增第一參數(shù)和第二參數(shù);
[0134]本實(shí)施例中,第一參數(shù)和第二參數(shù)的初始值均為0,遞增第一參數(shù)和第二參數(shù)具體為:更新第一參數(shù)為其當(dāng)前值加1,更新第二參數(shù)為其當(dāng)前值加I ;
[0135]步驟C5:判斷第一參數(shù)是否達(dá)到第一參數(shù)的閾值,是則執(zhí)行步驟C6,否則執(zhí)行步驟C7 ;
[0136]本實(shí)施例中,第一參數(shù)的閾值為30。
[0137]步驟C6:設(shè)置第一參數(shù)為其初始值,遞增第一時(shí)間因子,執(zhí)行步驟C7 ;
[0138]本實(shí)施例中,遞增第一時(shí)間因子具體為更新第一時(shí)間因子為其當(dāng)前值加I ;
[0139]步驟C7:判斷第二參數(shù)是否達(dá)到第二參數(shù)的閾值,是則執(zhí)行步驟CS,否則執(zhí)行步驟C9 ;
[0140]本實(shí)施例中,第二參數(shù)的閾值為60。
[0141]步驟CS:設(shè)置第二參數(shù)為其初始值,遞增第二時(shí)間因子,執(zhí)行步驟C9 ;
[0142]本實(shí)施例中,遞增第二時(shí)間因子具體為更新第二時(shí)間因子為其當(dāng)前值加I ;
[0143]步驟C9:遞增校準(zhǔn)計(jì)數(shù)值;
[0144]本實(shí)施例中,遞增校準(zhǔn)計(jì)數(shù)值具體為更新校準(zhǔn)計(jì)數(shù)值為其當(dāng)前值加I ;
[0145]步驟ClO:判斷第一參數(shù)是否等于預(yù)設(shè)值,是則執(zhí)行步驟C11,否則執(zhí)行步驟C13 ;
[0146]本實(shí)施例中,預(yù)設(shè)值為15 ;
[0147]步驟Cll:根據(jù)校準(zhǔn)計(jì)數(shù)值和令牌內(nèi)存儲(chǔ)的校準(zhǔn)值判斷是否需要對(duì)第一參數(shù)和第二參數(shù)進(jìn)行校準(zhǔn),是則執(zhí)行步驟C12,否則執(zhí)行步驟C13 ;
[0148]本實(shí)施例中,步驟Cll具體包括:判斷校準(zhǔn)值&0x7F是否小于校準(zhǔn)計(jì)數(shù)值,是則需要對(duì)第一參數(shù)和第二參數(shù)進(jìn)行校準(zhǔn),執(zhí)行步驟C12,否則不需要對(duì)第一參數(shù)和第二參數(shù)進(jìn)行校準(zhǔn),執(zhí)行步驟C13。
[0149]步驟C12:根據(jù)校準(zhǔn)值和校準(zhǔn)計(jì)數(shù)值對(duì)第一參數(shù)和第二參數(shù)進(jìn)行校準(zhǔn),并更新校準(zhǔn)計(jì)數(shù)值,執(zhí)行步驟C13;
[0150]本實(shí)施例中,更新校準(zhǔn)計(jì)數(shù)值為其當(dāng)前值減去校準(zhǔn)值,檢查校準(zhǔn)值的最高位,若校準(zhǔn)值的最高位為I則將第一參數(shù)校準(zhǔn)為其當(dāng)前值減1,將第二參數(shù)校準(zhǔn)為其當(dāng)前值減1,若校準(zhǔn)值的最高位為O則將第一參數(shù)校準(zhǔn)為其當(dāng)前值加1,將第二參數(shù)校準(zhǔn)為其當(dāng)前值加I。
[0151]步驟C13:檢測(cè)令牌是否被開殼,是則執(zhí)行步驟C14,否則執(zhí)行步驟C15 ;
[0152]步驟C14:清除令牌內(nèi)部存儲(chǔ)的敏感數(shù)據(jù),置位開殼標(biāo)志,RTC處理流程結(jié)束;
[0153]步驟C15:檢查系統(tǒng)狀態(tài),若為第一預(yù)設(shè)狀態(tài)則RTC處理流程結(jié)束,否則執(zhí)行步驟C16 ;
[0154]步驟C16:遞減自動(dòng)關(guān)機(jī)時(shí)間,判斷自動(dòng)關(guān)機(jī)時(shí)間是否為預(yù)設(shè)時(shí)間,是則執(zhí)行步驟Cl7,否則RTC處理流程結(jié)束;
[0155]本實(shí)施例中,遞減自動(dòng)關(guān)機(jī)時(shí)間具體為更新自動(dòng)關(guān)機(jī)時(shí)間為其當(dāng)前時(shí)間減1,預(yù)設(shè)時(shí)間為O ;
[0156]步驟C17:對(duì)顯示屏下電,設(shè)置系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài),RTC處理流程結(jié)束。
[0157]本實(shí)施例中所述的敏感數(shù)據(jù)為需要保密、一旦被非法獲取將帶來安全隱患的數(shù)據(jù),包括全部的種子數(shù)據(jù)等。
[0158]步驟107:動(dòng)態(tài)令牌進(jìn)入按鍵處理流程,待按鍵處理流程結(jié)束后返回步驟103 ;
[0159]本實(shí)施例中,動(dòng)態(tài)令牌進(jìn)入按鍵處理流程如圖6所示,具體包括動(dòng)態(tài)令牌執(zhí)行以下操作:
[0160]步驟DO:獲取鍵值,判斷鍵值是否有效,是則執(zhí)行步驟Dl,否則執(zhí)行步驟D32 ;
[0161]步驟Dl:重置自動(dòng)關(guān)機(jī)時(shí)間,檢查鍵值,若為第一預(yù)設(shè)鍵值則執(zhí)行步驟D2,若為第二預(yù)設(shè)鍵值則執(zhí)行步驟D8,若為第三預(yù)設(shè)鍵值則執(zhí)行步驟D29,否則執(zhí)行步驟D32 ;
[0162]步驟D2:統(tǒng)計(jì)按鍵被按下的時(shí)間,判斷按鍵被按下的時(shí)間是否超過預(yù)設(shè)時(shí)長(zhǎng),是則執(zhí)行步驟D3,否則執(zhí)行步驟D5 ;
[0163]具體地,步驟D2包括:
[0164]步驟1.初始化計(jì)時(shí)器的計(jì)數(shù)值,打開計(jì)時(shí)器開始計(jì)時(shí);
[0165]本實(shí)施例中,初始化計(jì)時(shí)器的計(jì)數(shù)值為O ;
[0166]步驟i1.判斷計(jì)時(shí)器的計(jì)數(shù)值是否達(dá)到預(yù)設(shè)時(shí)長(zhǎng),是則按鍵被按下時(shí)間超過預(yù)設(shè)時(shí)長(zhǎng),關(guān)閉計(jì)時(shí)器,執(zhí)行步驟D3,否則執(zhí)行步驟iii ;
[0167]本實(shí)施例中,預(yù)設(shè)時(shí)長(zhǎng)為I秒;
[0168]步驟ii1.判斷按鍵狀態(tài)是否為被按下,是則返回步驟ii,否則按鍵被按下時(shí)間未超過預(yù)設(shè)時(shí)長(zhǎng),關(guān)閉計(jì)時(shí)器,執(zhí)行步驟D5。
[0169]步驟D3:檢查系統(tǒng)狀態(tài),若為第一預(yù)設(shè)狀態(tài)則執(zhí)行步驟D32,否則執(zhí)行步驟D4 ;
[0170]步驟D4:對(duì)顯示屏下電,設(shè)置系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài),執(zhí)行步驟D32 ;
[0171]步驟D5:檢查系統(tǒng)狀態(tài),若為第一預(yù)設(shè)狀態(tài),則執(zhí)行步驟D6,若為第三、第四、第五、第六、第七或第十預(yù)設(shè)狀態(tài),則執(zhí)行步驟D7,否則執(zhí)行步驟D32 ;
[0172]步驟D6:對(duì)顯示屏上電,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),初始化功能菜單索引,將功能菜單寫入顯示緩存區(qū),并根據(jù)功能菜單索引標(biāo)識(shí)被選中的功能條目,執(zhí)行步驟D32;
[0173]步驟D7:設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),初始化功能菜單索引,將功能菜單寫入顯示緩存區(qū),并根據(jù)功能菜單索引標(biāo)識(shí)被選中的功能條目,執(zhí)行步驟D32;
[0174]本實(shí)施例中,功能菜單中包括生成口令條目、更新種子條目和添加種子條目。
[0175]步驟D8:檢查系統(tǒng)狀態(tài),若為第二預(yù)設(shè)狀態(tài)則執(zhí)行步驟D9,若為第三預(yù)設(shè)狀態(tài)則執(zhí)行步驟D14,若為第四預(yù)設(shè)狀態(tài)則執(zhí)行步驟D15,若為第五預(yù)設(shè)狀態(tài)則執(zhí)行步驟D16,若為第六預(yù)設(shè)狀態(tài)則執(zhí)行步驟D24,若為第七預(yù)設(shè)狀態(tài)則執(zhí)行步驟D25,若為第十預(yù)設(shè)狀態(tài)則執(zhí)行步驟D28,否則執(zhí)行步驟D32 ;
[0176]步驟D9:根據(jù)功能菜單索引判斷被選中的功能條目,若為生成口令條目則執(zhí)行步驟D10,若為更新種子條目則執(zhí)行步驟Dll,若為添加種子條目則執(zhí)行步驟D12,若為刪除種子條目則執(zhí)行步驟D13,否則執(zhí)行步驟D32 ;
[0177]步驟DlO:設(shè)置系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài),初始化種子菜單索引,將種子菜單寫入顯示緩存區(qū),并根據(jù)種子菜單索引標(biāo)識(shí)被選中的種子條目,執(zhí)行步驟D32 ;
[0178]優(yōu)選地,本實(shí)施例中,種子菜單包括與動(dòng)態(tài)令牌中存儲(chǔ)的各種子數(shù)據(jù)對(duì)應(yīng)的應(yīng)用信息。
[0179]步驟Dll:設(shè)置系統(tǒng)狀態(tài)為第四預(yù)設(shè)狀態(tài),初始化種子菜單索引,將種子菜單寫入顯示緩存區(qū),并根據(jù)種子菜單索引標(biāo)識(shí)被選中的種子條目,執(zhí)行步驟D32 ;
[0180]步驟D12:將動(dòng)態(tài)令牌內(nèi)預(yù)先存儲(chǔ)的序列號(hào)寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),置位添加種子數(shù)據(jù)標(biāo)志,執(zhí)行步驟D32 ;
[0181]步驟D13:設(shè)置系統(tǒng)狀態(tài)為第十預(yù)設(shè)狀態(tài),初始化種子菜單索引,將種子菜單寫入顯示緩存區(qū),并根據(jù)種子菜單索引標(biāo)識(shí)被選中的種子條目,執(zhí)行步驟D32 ;
[0182]步驟D14:根據(jù)種子菜單索引查找動(dòng)態(tài)令牌中存儲(chǔ)的相應(yīng)種子數(shù)據(jù),根據(jù)查找到的種子數(shù)據(jù)和動(dòng)態(tài)令牌中存儲(chǔ)的動(dòng)態(tài)因子計(jì)算生成動(dòng)態(tài)口令,將生成的動(dòng)態(tài)口令寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第六預(yù)設(shè)狀態(tài),執(zhí)行步驟D32 ;
[0183]步驟D15:將動(dòng)態(tài)令牌內(nèi)預(yù)先存儲(chǔ)的序列號(hào)寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),復(fù)位添加種子數(shù)據(jù)標(biāo)志,執(zhí)行步驟D32 ;
[0184]步驟D16:設(shè)置系統(tǒng)狀態(tài)為第八預(yù)設(shè)狀態(tài),執(zhí)行步驟D17 ;
[0185]步驟D17:采集光感數(shù)據(jù),提示正在采集光感數(shù)據(jù),判斷光感數(shù)據(jù)是否采集完成,是則執(zhí)行步驟D18,否則執(zhí)行步驟D21 ;
[0186]步驟D18:判斷采集到的光感數(shù)據(jù)中的序列號(hào)與動(dòng)態(tài)令牌中預(yù)先存儲(chǔ)的序列號(hào)是否匹配,是則執(zhí)行步驟D19,否則執(zhí)行步驟D20 ;
[0187]本實(shí)施例中,步驟D18具體為:判斷采集到的光感數(shù)據(jù)中的序列號(hào)與動(dòng)態(tài)令牌中預(yù)先存儲(chǔ)的序列號(hào)是否一致,是則執(zhí)行步驟D19,否則執(zhí)行步驟D20。
[0188]步驟D19:設(shè)置系統(tǒng)狀態(tài)為第七預(yù)設(shè)狀態(tài),將采集到的光感數(shù)據(jù)中的應(yīng)用信息寫入顯不緩存區(qū),提不用戶確認(rèn),執(zhí)彳丁步驟D32 ;
[0189]步驟D20:清除采集到的光感數(shù)據(jù),提示種子數(shù)據(jù)燒寫錯(cuò)誤,將動(dòng)態(tài)令牌內(nèi)預(yù)先存儲(chǔ)的序列號(hào)寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),執(zhí)行步驟D32;
[0190]步驟D21:判斷采集是否超時(shí),或者系統(tǒng)狀態(tài)為第九預(yù)設(shè)狀態(tài),若采集超時(shí),則執(zhí)行步驟D22,若系統(tǒng)狀態(tài)為第九預(yù)設(shè)狀態(tài),則執(zhí)行步驟D23,否則返回步驟D16 ;
[0191]步驟D22:清除采集到的光感數(shù)據(jù),提示種子數(shù)據(jù)燒寫超時(shí),將動(dòng)態(tài)令牌中預(yù)先存儲(chǔ)的序列號(hào)寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),執(zhí)行步驟D32;
[0192]步驟D23:清除采集到的光感數(shù)據(jù),提示已取消燒寫種子數(shù)據(jù),將動(dòng)態(tài)令牌中預(yù)先存儲(chǔ)的序列號(hào)寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),執(zhí)行步驟D32;
[0193]步驟D24:設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),初始化功能菜單索引,將功能菜單寫入顯示緩存區(qū),并根據(jù)功能菜單索引標(biāo)識(shí)被選中的功能條目,執(zhí)行步驟D32;
[0194]步驟D25:判斷添加種子數(shù)據(jù)標(biāo)志是否被置位,是則執(zhí)行步驟D26,否則執(zhí)行步驟D27 ;
[0195]步驟D26:存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),將采集到的光感數(shù)據(jù)中的應(yīng)用信息添加到種子菜單,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和動(dòng)態(tài)令牌中存儲(chǔ)的動(dòng)態(tài)因子計(jì)算生成動(dòng)態(tài)口令,將生成的動(dòng)態(tài)口令寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第六預(yù)設(shè)狀態(tài),執(zhí)行步驟D32 ;
[0196]進(jìn)一步地,步驟D26中還可以包括,種子個(gè)數(shù)遞增,相應(yīng)地,本實(shí)施例中,每次將功能菜單寫入輸出緩存區(qū)之前,檢查種子個(gè)數(shù),若種子個(gè)數(shù)達(dá)到最大值則將功能菜單中除添加種子條目以外的內(nèi)容寫入輸出緩存區(qū),若種子個(gè)數(shù)未達(dá)到最大值則將功能菜單的全部?jī)?nèi)容寫入輸出緩存區(qū)。
[0197]步驟D27:用采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)替換與種子菜單索引相對(duì)應(yīng)的種子數(shù)據(jù),根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和動(dòng)態(tài)令牌中存儲(chǔ)的動(dòng)態(tài)因子計(jì)算生成動(dòng)態(tài)口令,將生成的動(dòng)態(tài)口令寫入顯示緩存區(qū),設(shè)置系統(tǒng)狀態(tài)為第六預(yù)設(shè)狀態(tài),執(zhí)行步驟D32;
[0198]步驟D28:刪除與種子菜單索引相對(duì)應(yīng)的應(yīng)用信息和種子數(shù)據(jù),設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),初始化功能菜單索引,將功能菜單寫入顯示緩存區(qū),并根據(jù)功能菜單索引標(biāo)識(shí)被選中的功能條目,執(zhí)行步驟D32 ;
[0199]進(jìn)一步地,步驟D28中還可以包括,種子個(gè)數(shù)遞減。
[0200]步驟D29:檢查系統(tǒng)狀態(tài),若為第二預(yù)設(shè)狀態(tài)則執(zhí)行步驟D30,若為第三、第四或第十預(yù)設(shè)狀態(tài)則執(zhí)行步驟D31,否則執(zhí)行步驟D32 ;
[0201]步驟D30:更新功能菜單索引,根據(jù)更新后的功能菜單索引重新標(biāo)識(shí)被選中的功能條目,執(zhí)行步驟D32;
[0202]步驟D31:更新種子菜單索引,根據(jù)更新后的種子菜單索引重新標(biāo)識(shí)被選中的種子條目,執(zhí)行步驟D32;
[0203]步驟D32:復(fù)位按鍵喚醒標(biāo)志,按鍵處理流程結(jié)束。
[0204]進(jìn)一步地,本實(shí)施例中:
[0205]光感數(shù)據(jù)中還可以包括種子數(shù)據(jù)有效期,相應(yīng)地:
[0206]RTC處理流程的步驟C9中,還包括根據(jù)動(dòng)態(tài)令牌內(nèi)存儲(chǔ)的各種子數(shù)據(jù)有效期判斷對(duì)應(yīng)的各種子數(shù)據(jù)是否到期,是則置位相應(yīng)種子數(shù)據(jù)失效標(biāo)志,然后執(zhí)行步驟C9,否則更新動(dòng)態(tài)令牌內(nèi)存儲(chǔ)的各種子數(shù)據(jù)有效期,然后執(zhí)行步驟C9 ;具體地,可以通過判斷動(dòng)態(tài)令牌中存儲(chǔ)的各種子數(shù)據(jù)有效期是否為O來判斷對(duì)應(yīng)的各種子數(shù)據(jù)是否到期,種子數(shù)據(jù)有效期為O的種子數(shù)據(jù)到期,種子數(shù)據(jù)有效期不為O的種子數(shù)據(jù)未到期,更新未到期的種子數(shù)據(jù)的種子數(shù)據(jù)有效期為其當(dāng)前值減I ;
[0207]按鍵處理流程的步驟D14中,查找到種子數(shù)據(jù)之后還包括檢查該種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)失效標(biāo)志是否被置位,是則提示種子數(shù)據(jù)失效,執(zhí)行步驟D32,否則根據(jù)查找到的種子數(shù)據(jù)和動(dòng)態(tài)令牌中存儲(chǔ)的動(dòng)態(tài)因子計(jì)算生成動(dòng)態(tài)口令;步驟D26中,還包括存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)有效期;步驟D27中,還包括用采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)有效期替換與種子菜單索引相對(duì)應(yīng)的種子數(shù)據(jù)的種子數(shù)據(jù)有效期;
[0208]光感數(shù)據(jù)中還可以包括動(dòng)態(tài)口令顯示位數(shù),相應(yīng)地:
[0209]按鍵處理流程的步驟D26中,還包括存儲(chǔ)采集到的光感數(shù)據(jù)中的動(dòng)態(tài)口令顯示位數(shù);步驟D27中,還包括用采集到的光感數(shù)據(jù)中的動(dòng)態(tài)口令顯示位數(shù)替換與種子菜單索引相對(duì)應(yīng)的種子數(shù)據(jù)的動(dòng)態(tài)口令顯示位數(shù);步驟D14、步驟D26和步驟D27中,將生成的動(dòng)態(tài)口令寫入顯示緩存區(qū)替換為:根據(jù)相應(yīng)的動(dòng)態(tài)口令顯示位數(shù)對(duì)生成的動(dòng)態(tài)口令進(jìn)行截取,將截取得到的數(shù)據(jù)寫入顯示緩存區(qū);
[0210]例如,與生成動(dòng)態(tài)口令所根據(jù)的種子數(shù)據(jù)相對(duì)應(yīng)的動(dòng)態(tài)口令顯示位數(shù)為6,則截取生成的動(dòng)態(tài)口令的后6位,并寫入顯示緩存區(qū);
[0211]光感數(shù)據(jù)中還可以包括動(dòng)態(tài)令牌模式信息,其中動(dòng)態(tài)令牌模式信息包括:事件模式、第一時(shí)間模式和第二時(shí)間模式,相應(yīng)地:
[0212]按鍵處理流程的步驟D26中,生成動(dòng)態(tài)口令之前還包括:存儲(chǔ)采集到的光感數(shù)據(jù)中的動(dòng)態(tài)令牌模式信息,若動(dòng)態(tài)令牌模式信息為事件模式,則還包括設(shè)置與種子數(shù)據(jù)對(duì)應(yīng)的事件因子;步驟D27中,還包括用采集到的光感數(shù)據(jù)中的動(dòng)態(tài)令牌模式信息替換與種子菜單索引相對(duì)應(yīng)的種子數(shù)據(jù)的動(dòng)態(tài)令牌模式信息,若采集到的光感數(shù)據(jù)中的動(dòng)態(tài)令牌模式信息為事件模式,則還包括重新設(shè)置與種子菜單索引相對(duì)應(yīng)的種子數(shù)據(jù)對(duì)應(yīng)的事件因子;步驟D14中根據(jù)查找到的種子數(shù)據(jù)和動(dòng)態(tài)令牌中存儲(chǔ)的動(dòng)態(tài)因子計(jì)算生成動(dòng)態(tài)口令,具體包括:讀取動(dòng)態(tài)令牌中存儲(chǔ)的與查找到的種子數(shù)據(jù)對(duì)應(yīng)的動(dòng)態(tài)令牌模式信息和動(dòng)態(tài)因子,若為事件模式,則讀取動(dòng)態(tài)令牌中存儲(chǔ)的與查找到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子,根據(jù)查找到的種子數(shù)據(jù)以及讀取到的事件因子計(jì)算生成動(dòng)態(tài)口令;若為第一時(shí)間模式,則讀取動(dòng)態(tài)令牌中存儲(chǔ)的第一時(shí)間因子,根據(jù)查找到的種子數(shù)據(jù)以及讀取到的第一時(shí)間因子計(jì)算生成動(dòng)態(tài)口令;若為第二時(shí)間模式,則讀取動(dòng)態(tài)令牌中存儲(chǔ)的第二時(shí)間因子,根據(jù)查找到的種子數(shù)據(jù)以及讀取到的第二時(shí)間因子計(jì)算生成動(dòng)態(tài)口令;其中,當(dāng)根據(jù)查找到的種子數(shù)據(jù)以及讀取到的事件因子計(jì)算生成動(dòng)態(tài)口令時(shí),在生成動(dòng)態(tài)口令之前或之后還包括:更新動(dòng)態(tài)令牌中存儲(chǔ)的與查找到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子;步驟D26和步驟D27中,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和動(dòng)態(tài)令牌中存儲(chǔ)的動(dòng)態(tài)因子計(jì)算生成動(dòng)態(tài)口令,具體包括:檢查最新存儲(chǔ)的種子數(shù)據(jù)對(duì)應(yīng)的動(dòng)態(tài)令牌模式信息,若為事件模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)以及事件因子計(jì)算生成動(dòng)態(tài)口令;若為第一時(shí)間模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)以及第一時(shí)間因子計(jì)算生成動(dòng)態(tài)口令;若為第二時(shí)間模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)以及第二時(shí)間因子計(jì)算生成動(dòng)態(tài)口令;其中,當(dāng)根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和事件因子計(jì)算生成動(dòng)態(tài)口令時(shí),在生成動(dòng)態(tài)口令之前或之后還包括:更新動(dòng)態(tài)令牌中存儲(chǔ)的事件因子。
[0213]以上所述的實(shí)施例只是本發(fā)明較優(yōu)選的【具體實(shí)施方式】,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進(jìn)行的通常變化和替換都應(yīng)包含在本發(fā)明的保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種多種子動(dòng)態(tài)令牌的工作方法,其特征在于,包括: 步驟S1、動(dòng)態(tài)令牌上電初始化,打開總中斷,設(shè)置系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài),進(jìn)入休眠模式,等待被喚醒; 步驟S2、所述動(dòng)態(tài)令牌檢測(cè)到中斷時(shí)被喚醒,進(jìn)入中斷處理流程,待所述中斷處理流程結(jié)束后執(zhí)彳丁步驟S3 ; 所述中斷處理流程包括:所述動(dòng)態(tài)令牌判斷按鍵中斷標(biāo)志是否被置位,是則置位按鍵喚醒標(biāo)志,復(fù)位所述按鍵中斷標(biāo)志,中斷處理流程結(jié)束,否則中斷處理流程結(jié)束,其中,當(dāng)所述動(dòng)態(tài)令牌的按鍵被按下時(shí)觸發(fā)按鍵中斷,所述按鍵中斷標(biāo)志被置位; 步驟S3、所述動(dòng)態(tài)令牌檢查所述按鍵喚醒標(biāo)志,若所述按鍵喚醒標(biāo)志被置位,則進(jìn)入按鍵處理流程,待所述按鍵處理流程結(jié)束后,重新進(jìn)入休眠模式,等待被喚醒,返回步驟S2 ; 所述按鍵處理流程包括: 步驟a、所述動(dòng)態(tài)令牌獲取鍵值,判斷鍵值和系統(tǒng)狀態(tài),當(dāng)鍵值為第一預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第一預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟b ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟c ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟d ;當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟e ;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟f ;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài)時(shí)執(zhí)行步驟g;否則,執(zhí)行步驟h; 步驟b、所述動(dòng)態(tài)令牌顯示功能菜單,初始化功能菜單索引,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)彳T步驟h ; 步驟C、所述動(dòng)態(tài)令牌根據(jù)所述功能菜單索引判斷用戶選擇的操作,若用戶選擇的操作為生成口令,則顯示種子數(shù)據(jù)菜單,初始化種子菜單索引,設(shè)置系統(tǒng)狀態(tài)為第三預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若用戶選擇的操作為燒寫種子數(shù)據(jù),則獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h ; 步驟d、所述動(dòng)態(tài)令牌讀取所述動(dòng)態(tài)令牌中存儲(chǔ)的與所述種子菜單索引對(duì)應(yīng)的種子數(shù)據(jù),根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為第六預(yù)設(shè)狀態(tài),執(zhí)行步驟h ; 步驟e、所述動(dòng)態(tài)令牌采集光感數(shù)據(jù),判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配,若匹配則存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第六預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若不匹配則清除采集到的光感數(shù)據(jù),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h ; 步驟f、所述動(dòng)態(tài)令牌更新所述功能菜單索引,執(zhí)行步驟h ; 步驟g、所述動(dòng)態(tài)令牌更新所述種子菜單索引,執(zhí)行步驟h ; 步驟h、所述動(dòng)態(tài)令牌復(fù)位所述按鍵喚醒標(biāo)志,所述按鍵處理流程結(jié)束。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟c中,還包括:若用戶選擇的操作為更新種子數(shù)據(jù),所述動(dòng)態(tài)令牌顯示種子數(shù)據(jù)菜單,初始化種子菜單索引,設(shè)置系統(tǒng)狀態(tài)為第四預(yù)設(shè)狀態(tài),執(zhí)行步驟h; 所述步驟c中,當(dāng)用戶選擇的操作為燒寫種子數(shù)據(jù)時(shí),還包括:置位添加種子數(shù)據(jù)標(biāo)志; 所述步驟a中,還包括:當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第四預(yù)設(shè)狀態(tài)時(shí),所述動(dòng)態(tài)令牌獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為第五預(yù)設(shè)狀態(tài),復(fù)位所述添加種子數(shù)據(jù)標(biāo)志,執(zhí)行步驟h;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第四預(yù)設(shè)狀態(tài)時(shí),更新所述種子菜單索引,執(zhí)行步驟h ; 所述步驟e中,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)具體包括:檢查所述添加種子數(shù)據(jù)標(biāo)志,若所述添加種子數(shù)據(jù)標(biāo)志被置位,則存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),若所述添加種子數(shù)據(jù)標(biāo)志未被置位,則用采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)替換與種子菜單索引對(duì)應(yīng)的種子數(shù)據(jù)。
3.如權(quán)利要求1所述的方法,其特征在于,所述步驟c中,還包括:若用戶選擇的操作為刪除種子數(shù)據(jù),則顯示種子數(shù)據(jù)菜單,初始化種子菜單索引,設(shè)置系統(tǒng)狀態(tài)為第十預(yù)設(shè)狀態(tài),執(zhí)行步驟h ; 所述步驟a中,還包括:當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第十預(yù)設(shè)狀態(tài)時(shí),所述動(dòng)態(tài)令牌刪除與所述種子菜單索引對(duì)應(yīng)的種子數(shù)據(jù),顯示功能菜單,初始化功能菜單索弓丨,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;當(dāng)鍵值為第三預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第十預(yù)設(shè)狀態(tài)時(shí),更新所述種子菜單索引,執(zhí)行步驟h。
4.如權(quán)利要求1所述的方法,其特征在于,所述步驟e替換為:所述動(dòng)態(tài)令牌采集光感數(shù)據(jù),判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配,若匹配則顯示采集到的光感數(shù)據(jù)中的應(yīng)用信息,設(shè)置系統(tǒng)狀態(tài)為第七預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若不匹配則清除采集到的光感數(shù)據(jù),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h ; 所述步驟a中,還包括:當(dāng)鍵值為第二預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第七預(yù)設(shè)狀態(tài)時(shí),所述動(dòng)態(tài)令牌存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù),根據(jù)獲取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第六預(yù)設(shè)狀態(tài),執(zhí)行步驟h。
5.如權(quán)利要求1所述的方法,其特征在于,所述步驟e中,所述采集光感數(shù)據(jù)之后,所述判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配之前,還包括:判斷是否采集完成,若采集完成則判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配;若采集未完成則判斷是否采集超時(shí),若采集超時(shí)則停止采集光感數(shù)據(jù),提示種子數(shù)據(jù)燒寫超時(shí),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h,若采集未超時(shí)則繼續(xù)采集光感數(shù)據(jù)。
6.如權(quán)利要求1所述的方法,其特征在于,所述步驟e中,所述采集光感數(shù)據(jù)之前,還包括:設(shè)置系統(tǒng)狀態(tài)為第八預(yù)設(shè)狀態(tài);所述采集光感數(shù)據(jù)之后,所述判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配之前,還包括:判斷是否采集完成,若采集完成則判斷采集到的光感數(shù)據(jù)中的序列號(hào)與預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)是否匹配;若采集未完成則判斷系統(tǒng)狀態(tài)是否為第九預(yù)設(shè)狀態(tài),是則停止采集光感數(shù)據(jù),提示已取消燒寫種子數(shù)據(jù),獲取預(yù)先存儲(chǔ)的動(dòng)態(tài)令牌序列號(hào)并顯示,設(shè)置系統(tǒng)狀態(tài)為所述第五預(yù)設(shè)狀態(tài),執(zhí)行步驟h,否則繼續(xù)采集光感數(shù)據(jù); 所述中斷處理流程中,當(dāng)所述按鍵標(biāo)志被置位時(shí),所述置位按鍵喚醒標(biāo)志之前,還包括:判斷系統(tǒng)狀態(tài),若系統(tǒng)狀態(tài)為所述第八預(yù)設(shè)狀態(tài)則獲取并判斷鍵值,當(dāng)鍵值為所述第一預(yù)設(shè)鍵值時(shí),設(shè)置系統(tǒng)狀態(tài)為第九預(yù)設(shè)狀態(tài),所述中斷處理流程結(jié)束,當(dāng)鍵值不為所述第一預(yù)設(shè)鍵值時(shí),所述中斷處理流程結(jié)束;若系統(tǒng)狀態(tài)不為所述第八預(yù)設(shè)狀態(tài)則置位按鍵喚醒
ll1、O
7.如權(quán)利要求1所述的方法,其特征在于,所述步驟a中,還包括:當(dāng)鍵值為第一預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)為所述第三、第四或第六預(yù)設(shè)狀態(tài)時(shí),顯示功能菜單,初始化功能菜單索弓丨,設(shè)置系統(tǒng)狀態(tài)為第二預(yù)設(shè)狀態(tài),執(zhí)行步驟h ;當(dāng)鍵值為第四預(yù)設(shè)鍵值且系統(tǒng)狀態(tài)不為第一預(yù)設(shè)狀態(tài)時(shí)設(shè)置系統(tǒng)狀態(tài)為所述第一預(yù)設(shè)狀態(tài),執(zhí)行步驟h。
8.如權(quán)利要求1所述的方法,其特征在于,所述步驟e中,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)之后,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示之前,還包括:從采集到的光感數(shù)據(jù)中獲取動(dòng)態(tài)口令顯示位數(shù),并將獲取到的動(dòng)態(tài)口令顯示位數(shù)與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ); 所述步驟e中,所述根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,具體包括:根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令,再根據(jù)最新存儲(chǔ)的動(dòng)態(tài)口令顯示位數(shù)截取生成的動(dòng)態(tài)口令,顯示截取得到的數(shù)據(jù); 所述步驟d中,所述根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示,具體包括:根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令,根據(jù)動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的動(dòng)態(tài)口令顯示位數(shù)截取生成的動(dòng)態(tài)口令,顯示截取得到的數(shù)據(jù)。
9.如權(quán)利要求1所述的方法,其特征在于,所述中斷處理流程中,當(dāng)所述按鍵中斷標(biāo)志未被置位時(shí),還包括:判斷RTC中斷標(biāo)志是否被置位,是則置位RTC喚醒標(biāo)志,復(fù)位所述RTC中斷標(biāo)志,所述中斷處理流程結(jié)束,否則所述中斷處理流程結(jié)束;其中,當(dāng)所述RTC中斷被觸發(fā)時(shí),所述RTC中斷標(biāo)志被置位; 所述步驟S3替換為:所述動(dòng)態(tài)令牌判斷是否有被置位的喚醒標(biāo)志,如果有被置位的喚醒標(biāo)志則依次檢查所述RTC喚醒標(biāo)志和所述按鍵喚醒標(biāo)志,若所述按鍵喚醒標(biāo)志被置位,則進(jìn)入所述按鍵處理流程,待所述按鍵處理流程結(jié)束后,重新執(zhí)行步驟S3,若所述RTC喚醒標(biāo)志被置位,則進(jìn)入RTC處理流程,待所述RTC處理流程結(jié)束后,重新執(zhí)行步驟S3 ;如果沒有被置位的喚醒標(biāo)志則所述動(dòng)態(tài)令牌進(jìn)入休眠模式,等待被喚醒,返回步驟S2 ; 所述RTC處理流程包括: 步驟Xl:所述動(dòng)態(tài)令牌遞減RTC中斷次數(shù),判斷所述RTC中斷次數(shù)是否為預(yù)設(shè)次數(shù),是則復(fù)位所述RTC喚醒標(biāo)志,執(zhí)行步驟X2,否則執(zhí)行步驟X2 ; 步驟X2:所述動(dòng)態(tài)令牌遞增第一參數(shù)和第二參數(shù),分別判斷所述第一參數(shù)和所述第二參數(shù)是否達(dá)到相應(yīng)閾值,若所述第一參數(shù)達(dá)到所述第一參數(shù)的閾值,則設(shè)置所述第一參數(shù)為其初始值,更新所述動(dòng)態(tài)令牌中存儲(chǔ)的第一時(shí)間因子,若所述第二參數(shù)達(dá)到所述第二參數(shù)的閾值,則設(shè)置所述第二參數(shù)為其初始值,更新所述動(dòng)態(tài)令牌中存儲(chǔ)的第二時(shí)間因子,然后執(zhí)行步驟X3 ;若所述第一參數(shù)和所述第二參數(shù)均未達(dá)到相應(yīng)閾值則直接執(zhí)行步驟X3 ; 步驟X3:所述動(dòng)態(tài)令牌更新校準(zhǔn)計(jì)數(shù)值,判斷所述第一參數(shù)是否等于預(yù)設(shè)值,是則執(zhí)行步驟X4,否則所述RTC處理流程結(jié)束; 步驟X4:所述動(dòng)態(tài)令牌根據(jù)所述校準(zhǔn)計(jì)數(shù)值和所述動(dòng)態(tài)令牌內(nèi)預(yù)先存儲(chǔ)的校準(zhǔn)值判斷是否需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn),是則根據(jù)所述校準(zhǔn)值和所述校準(zhǔn)計(jì)數(shù)值更新所述第一參數(shù)、所述第二參數(shù)和所述校準(zhǔn)計(jì)數(shù)值,所述RTC處理流程結(jié)束,否則所述RTC處理流程結(jié)束。
10.如權(quán)利要求9所述的方法,其特征在于,所述步驟e中,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)之后,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示之前,還包括:從采集到的光感數(shù)據(jù)中獲取動(dòng)態(tài)令牌模式信息,若獲取到的動(dòng)態(tài)令牌模式信息為事件型,則將獲取到的動(dòng)態(tài)令牌模式信息與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ),并設(shè)置與所述獲取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子,若獲取到的動(dòng)態(tài)令牌模式信息為第一時(shí)間模式或第二時(shí)間模式,則將獲取到的動(dòng)態(tài)令牌模式信息與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ); 所述步驟e中,所述根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令,具體包括:檢查最新存儲(chǔ)的動(dòng)態(tài)令牌模式信息,若為事件模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和最新設(shè)置的事件因子生成動(dòng)態(tài)口令,若為第一時(shí)間模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第一時(shí)間因子生成動(dòng)態(tài)口令,若為第二時(shí)間模式,則根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第二時(shí)間因子生成動(dòng)態(tài)口令; 所述步驟d中,所述根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令,具體包括:檢查與所述動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的動(dòng)態(tài)令牌模式信息,若為事件模式,則根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子生成動(dòng)態(tài)口令,若為第一時(shí)間模式,則根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第一時(shí)間因子生成動(dòng)態(tài)口令,若為第二時(shí)間模式,則根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中的第二時(shí)間因子生成動(dòng)態(tài)口令。
11.如權(quán)利要求10所述的方法,其特征在于,所述根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)和最新設(shè)置的事件因子生成動(dòng)態(tài)口令之前或之后,還包括:更新最新設(shè)置的事件因子; 所述根據(jù)讀取到的種子數(shù)據(jù)和所述動(dòng)態(tài)令牌中存儲(chǔ)的與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子生成動(dòng)態(tài)口令之前或之后,還包括:更新與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的事件因子。
12.如權(quán)利要求9所述的方法,其特征在于,所述RTC處理流程中還包括:檢測(cè)所述動(dòng)態(tài)令牌是否被開殼,并且當(dāng)檢測(cè)出所述動(dòng)態(tài)令牌被開殼時(shí)清除所述動(dòng)態(tài)令牌內(nèi)部存儲(chǔ)的敏感數(shù)據(jù),置位開殼標(biāo)志;其中,所述敏感數(shù)據(jù)包括種子數(shù)據(jù); 所述步驟b中,顯示功能菜單之前,還包括:檢查所述開殼標(biāo)志是否被置位,是則提示動(dòng)態(tài)令牌已自毀,執(zhí)行步驟h,否則顯示功能菜單。
13.如權(quán)利要求9所述的方法,其特征在于,所述步驟X4中,當(dāng)不需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn)時(shí),以及根據(jù)所述校準(zhǔn)值和所述校準(zhǔn)計(jì)數(shù)值更新所述第一參數(shù)、所述第二參數(shù)和所述校準(zhǔn)計(jì)數(shù)值之后,還包括:檢查系統(tǒng)狀態(tài),若系統(tǒng)狀態(tài)為所述第一預(yù)設(shè)狀態(tài)則所述RTC處理流程結(jié)束,若系統(tǒng)狀態(tài)不為所述第一預(yù)設(shè)狀態(tài)則遞減自動(dòng)關(guān)機(jī)時(shí)間,若所述自動(dòng)關(guān)機(jī)時(shí)間等于預(yù)設(shè)時(shí)間,則對(duì)顯示屏下電,設(shè)置系統(tǒng)狀態(tài)為所述第一預(yù)設(shè)狀態(tài),所述RTC處理流程結(jié)束,若所述自動(dòng)關(guān)機(jī)時(shí)間不等于所述預(yù)設(shè)時(shí)間,則所述RTC處理流程結(jié)束; 所述按鍵處理流程中,所述步驟a之前,還包括:重置所述自動(dòng)關(guān)機(jī)時(shí)間。
14.如權(quán)利要求9所述的方法,其特征在于,所述步驟e中,所述存儲(chǔ)采集到的光感數(shù)據(jù)中的種子數(shù)據(jù)之后,根據(jù)最新存儲(chǔ)的種子數(shù)據(jù)生成動(dòng)態(tài)口令并顯示之前,還包括:從采集到的光感數(shù)據(jù)中獲取種子數(shù)據(jù)有效期,將獲取到的種子數(shù)據(jù)有效期與獲取到的種子數(shù)據(jù)對(duì)應(yīng)存儲(chǔ); 所述步驟X2中,當(dāng)所述第二參數(shù)達(dá)到所述第二參數(shù)的閾值時(shí),還包括:根據(jù)所述動(dòng)態(tài)令牌中存儲(chǔ)的與各種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)有效期檢查各種子數(shù)據(jù)是否到期,并更新未到期的種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)有效期,置位到期的種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)失效標(biāo)志; 所述步驟d中,根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令之前,還包括:檢查與讀取到的種子數(shù)據(jù)對(duì)應(yīng)的種子數(shù)據(jù)失效標(biāo)志是否被置位,是則提示種子數(shù)據(jù)失效,執(zhí)行步驟h,否則根據(jù)讀取到的種子數(shù)據(jù)生成動(dòng)態(tài)口令。
15.如權(quán)利要求9所述的方法,其特征在于,所述動(dòng)態(tài)令牌根據(jù)所述校準(zhǔn)計(jì)數(shù)值和所述動(dòng)態(tài)令牌內(nèi)預(yù)先存儲(chǔ)的校準(zhǔn)值判斷是否需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn),具體包括:所述動(dòng)態(tài)令牌判斷所述校準(zhǔn)值和0x7F進(jìn)行與運(yùn)算的結(jié)果是否小于所述校準(zhǔn)計(jì)數(shù)值,是則需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn),否則不需要對(duì)所述第一參數(shù)和所述第二參數(shù)進(jìn)行校準(zhǔn)。
16.如權(quán)利要求15所述的方法,其特征在于,所述根據(jù)所述校準(zhǔn)值和所述校準(zhǔn)計(jì)數(shù)值更新所述第一參數(shù)、所述第二參數(shù)和所述校準(zhǔn)計(jì)數(shù)值,具體包括:更新所述校準(zhǔn)計(jì)數(shù)值為其當(dāng)前值減去所述校準(zhǔn)值,檢查所述校準(zhǔn)值的最高位,若所述校準(zhǔn)值的最高位為1,則更新所述第一參數(shù)為其當(dāng)前值減1,更新所述第二參數(shù)為其當(dāng)前值減I ;若所述校準(zhǔn)值的最高位為O,則更新所述第一參數(shù)為其當(dāng)前值加1,更新所述第二參數(shù)為其當(dāng)前值加I。
17.如權(quán)利要求1所述的方法,其特征在于,所述中斷處理流程中,所述判斷按鍵中斷標(biāo)志是否被置位之前,還包括:判斷工裝通信中斷標(biāo)志是否被置位,是則置位工裝通信喚醒標(biāo)志,復(fù)位所述工裝通信中斷標(biāo)志,所述中斷處理流程結(jié)束,否則執(zhí)行所述判斷按鍵中斷標(biāo)志是否被置位;其中,當(dāng)所述動(dòng)態(tài)令牌接收到工裝發(fā)送的通信數(shù)據(jù)時(shí)觸發(fā)工裝通信中斷,所述工裝通信中斷標(biāo)志被置位; 所述步驟S3替換為:所述動(dòng)態(tài)令牌判斷是否有被置位的喚醒標(biāo)志,如果有被置位的喚醒標(biāo)志則依次檢查所述工裝通信喚醒標(biāo)志和所述按鍵喚醒標(biāo)志,若所述工裝通信標(biāo)志被置位,則進(jìn)入工裝通信處理流程,待所述工裝通信處理流程結(jié)束后,重新執(zhí)行步驟S3,若所述按鍵喚醒標(biāo)志被置位,則進(jìn)入所述按鍵處理流程,待所述按鍵處理流程結(jié)束后,重新執(zhí)行步驟S3,如果沒有被置位的喚醒標(biāo)志則所述動(dòng)態(tài)令牌進(jìn)入休眠模式,等待被喚醒,返回步驟S2 ; 所述工裝通信處理流程包括: 步驟Yl:關(guān)閉總中斷,判斷當(dāng)前接收到的數(shù)據(jù)是否為所述工裝發(fā)送的喚醒信號(hào),是則向所述工裝返回握手信號(hào),繼續(xù)接收所述工裝發(fā)送的通信數(shù)據(jù),執(zhí)行步驟Y2,否則執(zhí)行步驟Y3 ; 步驟Y2:判斷當(dāng)前接收到的數(shù)據(jù)的類型,若為獲取令牌硬件信息命令,則獲所述獲取令牌硬件信息命令中的隨機(jī)數(shù),保存所述隨機(jī)數(shù),并將獲取到的隨機(jī)數(shù)返回給所述工裝,執(zhí)行步驟Y3,若為其他工裝命令,則根據(jù)所述動(dòng)態(tài)令牌中保存的隨機(jī)數(shù)對(duì)接收到的工裝命令進(jìn)行解密,執(zhí)行解密后的命令,并向所述工裝返回執(zhí)行結(jié)果,執(zhí)行步驟Y3,否則執(zhí)行步驟Y3 ; 步驟Y3:置位所述工裝通信喚醒標(biāo)志,使能總中斷,所述工裝通信處理流程結(jié)束。
【文檔編號(hào)】H04L9/32GK104506319SQ201410771841
【公開日】2015年4月8日 申請(qǐng)日期:2014年12月15日 優(yōu)先權(quán)日:2014年12月15日
【發(fā)明者】陸舟, 于華章, 李明基 申請(qǐng)人:飛天誠(chéng)信科技股份有限公司, 海博思科信息系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
息烽县| 昌平区| 惠安县| 和田市| 柘城县| 麻江县| 饶阳县| 临城县| 平远县| 抚州市| 金川县| 黄大仙区| 唐山市| 昌平区| 济南市| 和顺县| 景洪市| 富顺县| 温州市| 城固县| 镇江市| 富宁县| 辰溪县| 万全县| 合山市| 紫阳县| 得荣县| 白银市| 宜兴市| 高密市| 五指山市| 宁南县| 青浦区| 丹寨县| 宝清县| 扬州市| 乐安县| 许昌市| 年辖:市辖区| 冀州市| 九江市|