一種控制加密鎖工作的方法
【專利摘要】本發(fā)明公開一種控制加密鎖工作的方法,包括:若加密鎖接收到主機下發(fā)的創(chuàng)建特征項指令則創(chuàng)建對應(yīng)的特征項,在特征項中創(chuàng)建與特征項對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,將創(chuàng)建特征項指令中的數(shù)據(jù)寫入到加密鎖中,在特征項中創(chuàng)建與數(shù)據(jù)對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息;如接收到登錄特征項指令則登錄對應(yīng)的有效特征項;如接收到添加模塊指令則在已登錄的對應(yīng)的特征項中創(chuàng)建將要添加的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息;如接收到數(shù)據(jù)處理指令則讀取已登錄的對應(yīng)的特征項中的有效數(shù)據(jù);如接收到退出特征項指令則退出當前登錄的特征項。本發(fā)明可創(chuàng)建多個特征項使加密鎖具有多種工作模式;添加模塊和進行升級時可統(tǒng)一進行操作。
【專利說明】—種控制加密鎖工作的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種控制加密鎖工作的方法。
【背景技術(shù)】
[0002]加密鎖是一種智能型的具有軟件保護功能的工具,加密鎖出廠前就在其中設(shè)置若干獨立的授權(quán)信息(例如設(shè)置計次模塊的值、設(shè)置計時模塊的值、寫入密鑰、向用戶數(shù)據(jù)區(qū)的某個位置或者文件系統(tǒng)的某個文件寫入數(shù)據(jù)等等),這些授權(quán)信息相互之間沒有聯(lián)系,只能需單獨進行使用,加密鎖只能在一種應(yīng)用模式下進行工作,并且需分別對加密鎖中的授權(quán)信息進行修改或者升級,操作較為繁瑣。如何實現(xiàn)加密鎖可在多種應(yīng)用模式下工作,且修改或升級加密鎖中的授權(quán)可一次完成是現(xiàn)有技術(shù)亟待解決的問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的是為了克服現(xiàn)有技術(shù)中加密鎖使用模式單一,修改、升級操作較為繁瑣的問題,提供一種控制加密鎖工作方法。
[0004]本發(fā)明提供了一種控制加密鎖工作的方法,包括:
[0005]步驟Al:加密鎖上電進行初始化;
[0006]步驟A2:所述加密鎖等待接收主機發(fā)送的指令;
[0007]步驟A3:當所述加密鎖接收到主機下發(fā)的指令時,判斷所述指令的類型,如為創(chuàng)建特征項指令則執(zhí)行步驟A4,如為登錄特征項指令則執(zhí)行步驟A6,如為添加模塊指令則執(zhí)行步驟A7 ;如為數(shù)據(jù)處理指令則執(zhí)行步驟AS,如為退出特征項指令則執(zhí)行步驟A9 ;
[0008]步驟A4:所述加密鎖根據(jù)所述創(chuàng)建特征項指令中的特征項標識創(chuàng)建對應(yīng)的特征項,判斷登錄所述特征項時是否需要啟用模塊,是則在所述特征項中創(chuàng)建與所述特征項對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,執(zhí)行步驟A5,否則執(zhí)行步驟A5 ;
[0009]步驟A5:所述加密鎖判斷是否對所述特征項進行寫入數(shù)據(jù)操作,是則將所述創(chuàng)建特征項指令中的數(shù)據(jù)寫入到所述加密鎖中,判斷讀取所述數(shù)據(jù)時是否需要啟用模塊,如需要則在所述特征項中創(chuàng)建與所述數(shù)據(jù)對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,返回步驟A2,如不需要則返回步驟A2 ;否則返回步驟A2 ;所述數(shù)據(jù)包括:密鑰和/或加密算法和/或鎖內(nèi)數(shù)據(jù);
[0010]步驟A6:所述加密鎖根據(jù)所述登錄特征項指令中的特征項標識查找對應(yīng)的特征項,如找到則判斷所述找到的特征項中是否存在與所述特征項所對應(yīng)的模塊,如存在則判斷所述對應(yīng)的模塊是否授權(quán)有效,如有效則登錄成功,返回步驟A2,如無效則登錄不成功,返回步驟A2,如不存在則登錄不成功,返回步驟A2,如未找到則登錄不成功,返回步驟A2 ;
[0011]步驟A7:所述加密鎖判斷與所述添加模塊指令中的特征項標識對應(yīng)的特征項是否已登錄,如已登錄則判斷所述特征項中是否存在與將要添加的模塊同類型的模塊,是則所述將要添加的模塊已存在,返回步驟A2,否則在所述特征項中創(chuàng)建所述將要添加的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,返回步驟A2,如未登錄則返回步驟A2 ;所述將要添加的模塊包括:與所述特征項和/或所述數(shù)據(jù)對應(yīng)的模塊;
[0012]步驟AS:所述加密鎖判斷與所述數(shù)據(jù)處理指令中的特征項標識對應(yīng)的特征項是否已登錄,如已登錄則判斷所述特征項中的與鎖內(nèi)數(shù)據(jù)對應(yīng)的模塊是否授權(quán)有效,是則讀取所述特征項中的數(shù)據(jù),返回步驟A2,否則返回步驟A2,如未登錄則返回步驟A2 ;所述數(shù)據(jù)處理指令包括調(diào)用密鑰指令和/或調(diào)用加密算法指令和/或讀鎖內(nèi)數(shù)據(jù)指令;
[0013]步驟A9:所述加密鎖判斷與所述退出特征項指令中的特征項標識對應(yīng)的特征項是否已登錄,是則退出所述對應(yīng)的特征項,返回步驟A2,否則返回步驟A2。
[0014]進一步地,所述創(chuàng)建對應(yīng)的特征項包括:創(chuàng)建配置文件;
[0015]所述在所述特征項中創(chuàng)建與所述特征項對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,包括:選擇一個空閑的模塊,將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將所述特征項的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的標識寫入到所述配置文件中;
[0016]所述在所述特征項中創(chuàng)建與所述數(shù)據(jù)對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,包括:選擇一個空閑的模塊,并將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述數(shù)據(jù)綁定,將所述數(shù)據(jù)的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的標識寫入到所述配置文件中;
[0017]所述將鎖內(nèi)數(shù)據(jù)寫入加密鎖中,包括:選擇一個空閑文件,將所述鎖內(nèi)數(shù)據(jù)寫入到所述空閑文件中,并將對應(yīng)的文件標識寫入到所述配置文件中;
[0018]所述模塊包括計時模塊和/或計次模塊和/或截止日期模塊。
[0019]進一步地,所述步驟A7包括:
[0020]步驟A7-0:所述加密鎖從所述添加模塊指令中獲取特征項標識;
[0021]步驟A7-1:所述加密鎖判斷與所述特征項標識所對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A7-2,否則返回步驟A2 ;
[0022]步驟A7-2:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A7-3,否則返回步驟A2 ;
[0023]步驟A7-3:所述加密鎖根據(jù)所述添加模塊指令判斷所述配置文件中是否存在同類型的模塊的標識,是則所述將要添加的模塊已存在,返回步驟A2,否則執(zhí)行步驟A7-4 ;
[0024]步驟A7-4:在所述特征項中創(chuàng)建所述將要添加的模塊并設(shè)置所述模塊的授權(quán)有效信息,返回步驟A2。
[0025]進一步地,所述選擇一個空閑的模塊,將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將所述特征項的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的標識寫入到所述配置文件中,包括:
[0026]步驟B1:所述加密鎖判斷剩余未創(chuàng)建的模塊的類型,如為計時模塊則執(zhí)行步驟B2,如為計次模塊則執(zhí)行步驟B4,如為截止日期模塊則執(zhí)行步驟B6 ;
[0027]步驟B2:所述加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則執(zhí)行步驟B3,否則創(chuàng)建計時模塊失敗,執(zhí)行步驟B8 ;
[0028]步驟B3:所述加密鎖選擇一個空閑的計時模塊,將所述空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將登錄特征項的有效剩余時間寫入到所述計時模塊中,并將所述計時模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟B8 ;[0029]步驟B4:所述加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則執(zhí)行步驟B5,否則創(chuàng)建計次模塊失敗,執(zhí)行步驟B8 ;
[0030]步驟B5:所述加密鎖選擇一個空閑的計次模塊,將所述空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將登錄特征項的有效剩余次數(shù)寫入到所述計次模塊中,并將所述計次模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟B8 ;
[0031]步驟B6:所述加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則執(zhí)行步驟B7,否則創(chuàng)建截止日期模塊失敗,執(zhí)行步驟B8 ;
[0032]步驟B7:所述加密鎖選擇一個空閑的截止日期模塊,將所述空閑的截止日期模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將登錄特征項的有效截止日期寫入到所述空閑的截止日期模塊中,并將所述截止日期模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟B8 ;
[0033]步驟B8:所述加密鎖判斷是否創(chuàng)建完成登錄所述特征項時需要啟用的所有模塊,是則繼續(xù),否則返回步驟BI。
[0034]進一步地,所述步驟A6包括:
[0035]步驟A6-1:所述加密鎖從所述登錄特征項指令中獲取特征項標識;
[0036]步驟A6-2:所述加密鎖查找與所述特征項標識對應(yīng)的配置文件,如找到則執(zhí)行步驟A6-3,如未找到則登錄不成功,返回步驟A2 ;
[0037]步驟A6-3:所述加密鎖判斷所述配置文件中是否存在與當前登錄的特征項綁定的模塊的標識,是則執(zhí)行步驟A6-4,否則登錄成功,返回步驟A2 ;
[0038]步驟A6-4:所述加密鎖判斷剩余未處理的與所述特征項綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A6-5,如為計次模塊的標識則執(zhí)行步驟A6-6,如為截止日期模塊的標識則執(zhí)行步驟A6-7 ;
[0039]步驟A6-5:所述加密鎖根據(jù)所述計時模塊的標識從對應(yīng)的計時模塊中獲取登錄特征項的有效剩余時間,判斷所述登錄特征項的有效剩余時間是否等于第一預(yù)設(shè)時間,是則所述特征項無效,返回步驟A2,否則執(zhí)行步驟A6-8 ;
[0040]步驟A6-6:所述加密鎖根據(jù)所述計次模塊的標識從對應(yīng)的計次模塊中獲取登錄特征項的有效剩余次數(shù),判斷所述登錄特征項的有效剩余次數(shù)是否為第一預(yù)設(shè)次數(shù),是則所述特征項無效,返回步驟A2,否則執(zhí)行步驟A6-8 ;
[0041]步驟A6-7:所述加密鎖根據(jù)所述截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取登錄特征項的有效截止時間,判斷當前登錄時間是否超過所述登錄特征項的有效截止日期,是則所述特征項無效,返回步驟A2,否則執(zhí)行步驟A6-8 ;
[0042]步驟A6-8:所述加密鎖判斷是否處理完成與所述特征項綁定的所有模塊,是則登錄成功,返回步驟A2,否則返回步驟A6-4。
[0043]進一步地,所述選擇一個空閑的模塊,并將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將所述鎖內(nèi)數(shù)據(jù)的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的標識寫入到所述配置文件中,包括:
[0044]步驟Cl:所述加密鎖判斷剩余未創(chuàng)建的模塊的類型,如為計時模塊則執(zhí)行步驟C2,如為計次模塊則執(zhí)行步驟C4,如為截止日期模塊則執(zhí)行步驟C6 ;
[0045]步驟C2:所述加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則執(zhí)行步驟C3,否則創(chuàng)建計時模塊失敗,執(zhí)行步驟CS ;
[0046]步驟C3:所述加密鎖選擇一個空閑的計時模塊,將所述空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將鎖內(nèi)數(shù)據(jù)的有效剩余時間寫入到所述計時模塊中,并將所述計時模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟CS ;
[0047]步驟C4:所述加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則執(zhí)行步驟C5,否則創(chuàng)建計次模塊失敗,執(zhí)行步驟CS ;
[0048]步驟C5:所述加密鎖選擇一個空閑的計次模塊,將所述空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)寫入到所述計次模塊中,并將所述計次模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟CS ;
[0049]步驟C6:所述加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則執(zhí)行步驟C7,否則創(chuàng)建截止日期模塊失敗,執(zhí)行步驟CS ;
[0050]步驟C7:所述加密鎖選擇一個空閑的截止日期模塊,并將所述空閑的截止日期模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將鎖內(nèi)數(shù)據(jù)的有效截止日期寫入到所述截止日期模塊中,并將所述截止日期模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟CS ;
[0051]步驟CS:所述加密鎖判斷是否創(chuàng)建完成讀所述鎖內(nèi)數(shù)據(jù)時需要啟用所有模塊,是則繼續(xù),否則返回步驟Cl。
[0052]進一步地,所述數(shù)據(jù)處理指令包括調(diào)用密鑰指令,所述步驟AS包括:
[0053]步驟A800:所述加密鎖從所述調(diào)用密鑰指令中獲取特征項標識;
[0054]步驟A801:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A802,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ;
[0055]步驟A802:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A803,否則所述特征項無效,返回步驟A2 ;
[0056]步驟A803:所述加密鎖判斷所述找到的配置文件中是否存在與密鑰綁定的模塊的標識,是則執(zhí)行步驟A804,否則執(zhí)行步驟A809 ;
[0057]步驟A804:所述加密鎖判斷未處理的所述與密鑰綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A805,如為計次模塊的標識則執(zhí)行步驟A806,如為截止日期模塊的標識則執(zhí)行步驟A807 ;
[0058]步驟A805:所述加密鎖根據(jù)所述與密鑰綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取密鑰的有效剩余時間,判斷所述密鑰的有效剩余時間是否等于第二預(yù)設(shè)時間,是則所述密鑰無效,返回步驟A2,否則執(zhí)行步驟A808 ;
[0059]步驟A806:所述加密鎖根據(jù)所述與密鑰綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取密鑰的有效剩余次數(shù),判斷所述密鑰的有效剩余次數(shù)是否為第二預(yù)設(shè)次數(shù),是則所述密鑰無效,返回步驟A2,否則執(zhí)行步驟A808 ;
[0060]步驟A807:所述加密鎖根據(jù)所述與密鑰綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取密鑰的有效截止時間,判斷當前時間是否超過所述密鑰的有效截止日期,是則所述密鑰無效,返回步驟A2,否則執(zhí)行步驟A808 ;
[0061]步驟A808:所述加密鎖判斷是否處理完成與所述密鑰綁定的所有模塊,是則執(zhí)行步驟A809,否則返回步驟A804 ;
[0062]步驟A809:所述加密鎖根據(jù)所述配置文件中的密鑰文件標識從對應(yīng)的密鑰文件中調(diào)用密鑰,返回步驟A2。
[0063]進一步地,所述數(shù)據(jù)處理指令包括調(diào)用加密算法指令,所述步驟AS包括:
[0064]步驟A810:所述加密鎖從所述調(diào)用加密算法指令中獲取特征項標識;
[0065]步驟A811:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A812,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ;
[0066]步驟A812:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A813,否則所述特征項無效,返回步驟A2 ;
[0067]步驟A813:所述加密鎖判斷所述找到的配置文件中是否存在與加密算法綁定的模塊的標識,是則執(zhí)行步驟A814,否則執(zhí)行步驟A819 ;
[0068]步驟A814:所述加密鎖判斷未處理的所述與加密算法綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A815,如為計次模塊的標識則執(zhí)行步驟A816,如為截止日期模塊的標識則執(zhí)行步驟A817 ;
[0069]步驟A815:所述加密鎖根據(jù)所述與加密算法綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取加密算法的有效剩余時間,判斷所述加密算法的有效剩余時間是否等于第三預(yù)設(shè)時間,是則所述加密算法無效,返回步驟A2,否則執(zhí)行步驟A818 ;
[0070]步驟A816:所述加密鎖根據(jù)所述與加密算法綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取加密算法的有效剩余次數(shù),判斷所述加密算法的有效剩余次數(shù)是否為第三預(yù)設(shè)次數(shù),是則所述加密算法無效,返回步驟A2,否則執(zhí)行步驟A818 ;
[0071]步驟A817:所述加密鎖根據(jù)所述與加密算法綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取加密算法的有效截止時間,判斷當前時間是否超過所述加密算法的有效截止日期,是則所述加密算法無效,返回步驟A2,否則執(zhí)行步驟A818 ;
[0072]步驟A818:所述加密鎖判斷是否處理完成與所述加密算法綁定的所有模塊,是則執(zhí)行步驟A819,否則返回步驟A814 ;
[0073]步驟A819:所述加密鎖根據(jù)所述配置文件中的加密算法文件標識從對應(yīng)的加密算法文件中調(diào)用加密算法,返回步驟A2。
[0074]進一步地,所述數(shù)據(jù)處理指令包括讀鎖內(nèi)數(shù)據(jù)指令,所述步驟AS包括:
[0075]步驟A820:所述加密鎖從所述讀鎖內(nèi)數(shù)據(jù)指令中獲取特征項標識;
[0076]步驟A821:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A822,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ;
[0077]步驟A822:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A823,否則所述特征項無效,返回步驟A2 ;
[0078]步驟A823:所述加密鎖判斷所述找到的配置文件中是否存在與將要讀取的鎖內(nèi)數(shù)據(jù)綁定的模塊的標識,是則執(zhí)行步驟A824,否則執(zhí)行步驟A829 ;
[0079]步驟A824:所述加密鎖判斷未處理的所述與鎖內(nèi)數(shù)據(jù)綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A825,如為計次模塊的標識則執(zhí)行步驟A826,如為截止日期模塊的標識則執(zhí)行步驟A827 ;
[0080]步驟A825:所述加密鎖根據(jù)所述與鎖內(nèi)數(shù)據(jù)綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取鎖內(nèi)數(shù)據(jù)的有效剩余時間,判斷所述鎖內(nèi)數(shù)據(jù)的有效剩余時間是否等于第四預(yù)設(shè)時間,是則所述將要讀取的鎖內(nèi)數(shù)據(jù)無效,返回步驟A2,否則執(zhí)行步驟A828 ;[0081]步驟A826:所述加密鎖根據(jù)所述與鎖內(nèi)數(shù)據(jù)綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù),判斷所述鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)是否為第四預(yù)設(shè)次數(shù),是則所述將要讀取的鎖內(nèi)數(shù)據(jù)無效,返回步驟A2,否則執(zhí)行步驟A828 ;
[0082]步驟A827:所述加密鎖根據(jù)所述與鎖內(nèi)數(shù)據(jù)綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取鎖內(nèi)數(shù)據(jù)的有效截止時間,判斷當前時間是否超過所述鎖內(nèi)數(shù)據(jù)的有效截止日期,是則所述將要讀取的鎖內(nèi)數(shù)據(jù)無效,返回步驟A2,否則執(zhí)行步驟A828 ;
[0083]步驟A828:所述加密鎖判斷是否處理完成與所述鎖內(nèi)數(shù)據(jù)綁定的所有模塊,是則執(zhí)行步驟A829,否則返回步驟A824 ;
[0084]步驟A829:所述加密鎖根據(jù)所述配置文件中的數(shù)據(jù)文件標識從對應(yīng)的數(shù)據(jù)文件中讀取鎖內(nèi)數(shù)據(jù),返回步驟A2。
[0085]進一步地,如所述步驟A3中判斷所述指令的類型為升級特征項指令,所述方法還包括:
[0086]步驟AlO:所述加密鎖從所述升級特征項指令中獲取特征項標識和升級包;
[0087]步驟All:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A12,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ;
[0088]步驟A12:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A13,如未找到則升級失敗,返回步驟A2 ;
[0089]步驟A13:所述加密鎖使用所述加密鎖內(nèi)的升級私鑰對所述升級包進行解密,如解密成功則得到解密升級包,執(zhí)行步驟A14,如解密失敗則升級失敗,返回步驟A2 ;
[0090]步驟A14:所述加密鎖判斷是否符合升級條件,是則執(zhí)行步驟A15,否則升級失敗,返回步驟A2 ;
[0091]步驟A15:所述加密鎖用所述解密升級包中的特征項信息更新所述加密鎖中的特征項信息,返回步驟A2。
[0092]進一步地,所述步驟A14包括:
[0093]步驟A14-1:所述加密鎖對所述解密升級包進行校驗,判斷升級包格式是否正確,是則執(zhí)行步驟A14-2,否則升級失敗,返回步驟A2 ;
[0094]步驟A14-2:所述加密鎖判斷所述解密升級包中是否有硬件ID,是則執(zhí)行步驟A14-3,否則升級失敗,返回步驟A2 ;
[0095]步驟A14-3:所述加密鎖判斷所述解密升級包中的硬件ID是否與所述加密鎖內(nèi)保存的硬件ID —致,是則執(zhí)行步驟A14-4,否則升級失敗,返回步驟A2 ;
[0096]步驟A14-4:所述加密鎖判斷所述解密升級包中是否有時間戳,是則執(zhí)行步驟A14-5,否則升級失敗,返回步驟A2 ;
[0097]步驟A14-5:所述加密鎖判斷所述解密升級包中的時間戳是否大于所述加密鎖中保存的時間戳,是則用所述解密升級包中的時間戳更新所述加密鎖中保存的時間戳,執(zhí)行步驟A15,否則升級失敗,返回步驟A2。
[0098]進一步地,所述步驟A6中登錄成功之后還包括:創(chuàng)建與所述特征項標識所對應(yīng)的登錄標志;
[0099]所述加密鎖判斷與所述添加模塊指令中的特征項標識對應(yīng)的特征項是否已登錄,具體為:查找與所述特征項標識對應(yīng)的登錄標志,如找到則對應(yīng)的特征項已登錄,如未找到則對應(yīng)的特征項未登錄;
[0100]所述步驟A9中所述退出對應(yīng)的特征項之后還包括:刪除與所述特征項標識對應(yīng)的登錄標志。
[0101]進一步地,所述步驟A6中登錄成功之后包括:所述加密鎖生成所述特征項的匹配標志并保存到所述配置文件中,所述加密鎖將所述匹配標志返回給所述主機;
[0102]所述步驟A7中所述加密鎖判斷與所述添加模塊指令中的特征項標識對應(yīng)的特征項是否已登錄,包括:所述加密鎖從所述添加模塊指令中獲取匹配標志,判斷加密鎖中是否存在相同的匹配標志,是則對應(yīng)的特征項已登錄,否則對應(yīng)的特征項未登錄;
[0103]所述步驟AS中所述加密鎖判斷與所述數(shù)據(jù)處理指令中的特征項標識對應(yīng)的特征項是否已登錄,包括:所述加密鎖從所述數(shù)據(jù)處理指令中獲取匹配標志,判斷加密鎖中是否存在相同的匹配標志,是則對應(yīng)的特征項已登錄,否則對應(yīng)的特征項未登錄;
[0104]所述步驟A9包括:所述加密鎖從所述退出特征項指令中獲取匹配標志,判斷加密鎖中是否存在相同的匹配標志,是則刪除所述加密鎖中的匹配標志,返回步驟A2,否則返回步驟A2。
[0105]進一步地,所述步驟A5中還包括:在所述配置文件中寫入對應(yīng)特征項的時間授權(quán);
[0106]所述加密鎖判斷與所述特征項標識對應(yīng)的特征項已登錄之后還包括:所述加密鎖實時檢查當前配置文件中的特征項的時間授權(quán),如時間授權(quán)已到期則刪除所述匹配標志,返回步驟A2,否則繼續(xù)。
[0107]進一步地,所述步驟A5中還包括:設(shè)置定時器;
[0108]在所述步驟A6中登錄成功后還包括:開啟所述定時器,所述定時器繼續(xù)計時;
[0109]在所述步驟A9中退出所述對應(yīng)的特征項時還包括:關(guān)閉所述定時器,所述定時器停止計時;
[0110]所述加密鎖判斷與所述特征項標識對應(yīng)的特征項已登錄之后還包括:所述加密鎖判斷所述定時器的計時是否超過預(yù)設(shè)登錄時長,是則刪除所述匹配標志,返回步驟A2,否則繼續(xù)。
[0111]進一步地,所述步驟A5中還包括:存儲所述特征項的創(chuàng)建時間;
[0112]所述加密鎖判斷與所述特征項標識對應(yīng)的特征項已登錄之后還包括:所述加密鎖檢查當前特征項的創(chuàng)建時間與當前時刻的時間間隔,如等于預(yù)設(shè)使用時長則刪除所述匹配標志,返回步驟A2,否則繼續(xù)。
[0113]本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:
[0114]本發(fā)明方法通過創(chuàng)建特征項,然后根據(jù)加密鎖的不同工作模式創(chuàng)建不同授權(quán)特征項并寫入數(shù)據(jù),在使用加密鎖的過程中,首先需要登錄特征項,當特征項有效時再對特征項中的各個模塊和數(shù)據(jù)進行判斷操作,操作簡單;在后續(xù)使用加密鎖的過程中可以根據(jù)加密鎖工作模式和授權(quán)信息在當前特征項中添加不同的授權(quán)模塊;并且在加密鎖的使用過程中可以直接對特征項進行升級,無需分別對各個模塊去升級,減少升級過程中出錯的概率;且當對授權(quán)模式進行修改時,也不需要修改代碼,直接更新加密鎖的特征項的內(nèi)容即可,操作簡單安全?!緦@綀D】
【附圖說明】
[0115]圖1為本發(fā)明實施例一提供的一種控制加密鎖工作的方法流程圖;
[0116]圖2和圖3為圖1中的步驟A4和A5的具體實現(xiàn)流程圖;
[0117]圖4為圖1中的步驟A6的具體實現(xiàn)流程圖;
[0118]圖5為圖1中的步驟A7的具體實現(xiàn)流程圖;
[0119]圖6為加密鎖接收到調(diào)用密鑰指令時圖1中步驟AS中的具體實現(xiàn)流程圖;
[0120]圖7為加密鎖接收到調(diào)用加密算法指令時圖1中步驟AS中的具體實現(xiàn)流程圖;
[0121]圖8為加密鎖接收到讀鎖內(nèi)數(shù)據(jù)指令時步驟圖1中AS中的具體實現(xiàn)流程圖;
[0122]圖9為加密鎖接收到升級特征項指令時的具體實現(xiàn)流程圖;
[0123]圖10為圖1中的步驟A9的具體實現(xiàn)流程圖。
【具體實施方式】
[0124]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0125]本發(fā)明實施例提供的控制加密鎖工作的方法,是在加密鎖中定義特征項(Feature),通過創(chuàng)建一個特征項來設(shè)置一種授權(quán)方式,可以在這個特征項下再添加計時模塊、計次模塊、截止日期模塊,并寫入密鑰、加密算法、鎖內(nèi)數(shù)據(jù)等信息,這些授權(quán)信息都是包含在特征項中的,用戶只有登錄到特征項后才能使用這些信息。一個加密鎖可以創(chuàng)建多個特征項,不同的工作模式授權(quán)使用不同的特征項;不同特征項中的模塊、密鑰、數(shù)據(jù)等信息是相互獨立的,不會互相影響。在使用加密鎖過程中,應(yīng)用程序可以通過調(diào)用API (英文全稱:Application Programming Interface,中文全稱:應(yīng)用程序編程接口)增加一個特征項ID的參數(shù),在打開加密鎖時,API通過特征項ID登錄到指定的特征項,然后再對這些授權(quán)信息進行檢查,比如計時模塊、計次模塊、截止日期模塊的有效性,通過創(chuàng)建特征項來控制加密鎖的工作過程,實現(xiàn)了多應(yīng)用的模式。本發(fā)明實施例提供的控制加密鎖工作的方法中還可以對特征項進行升級。
[0126]實施例一
[0127]本發(fā)明實施例一提供一種控制加密鎖工作的方法,如圖1所示,包括:
[0128]步驟Al:加密鎖上電,進行初始化;
[0129]具體的,在本實施例中,進行初始化包括:將各個標志復(fù)位;
[0130]步驟A2:加密鎖等待接收主機發(fā)送的指令;
[0131]步驟A3:當接收到主機下發(fā)的指令時,判斷指令的類型,如為創(chuàng)建特征項指令則執(zhí)行步驟A4,如為登錄特征項指令則執(zhí)行A6,如添加模塊指令則執(zhí)行步驟A7 ;如為數(shù)據(jù)處理指令則執(zhí)行步驟AS,如為退出特征項指令則執(zhí)行步驟A9 ;
[0132]在本實施例中,數(shù)據(jù)處理指令包括調(diào)用密鑰指令和/或調(diào)用加密算法指令和/或讀鎖內(nèi)數(shù)據(jù)指令;
[0133]在本實施例中的步驟A3中如加密鎖接收到升級特征項指令則對對應(yīng)的特征項進行升級操作;如加密鎖接收到的指令不為上述指令時則向主機返回錯誤信息,返回步驟A2,繼續(xù)等待接收指令;
[0134]在本實施例中,當主機檢測到創(chuàng)建特征項(Feature)接口被調(diào)用時,獲取特征項標識(FeatureID),根據(jù)FeatureID組織對應(yīng)的創(chuàng)建特征項指令并下發(fā)給加密鎖;當主機檢測到登錄特征項接口被調(diào)用時,獲取FeatureID,根據(jù)FeatureID組織對應(yīng)的登錄特征項指令并下發(fā)給加密鎖;當主機檢測到添加模塊接口被調(diào)用時,獲取FeatureID,根據(jù)FeatureID構(gòu)建對應(yīng)的添加模塊指令并發(fā)送給加密鎖;當主機檢測到密鑰接口被調(diào)用時,獲取該密鑰對應(yīng)的FeatureID,根據(jù)FeatureID組織對應(yīng)的調(diào)用密鑰指令并下發(fā)給加密鎖;當主機檢測到加密算法接口被調(diào)用時,獲取該加密算法對應(yīng)的FeatureID,根據(jù)FeatureID組織對應(yīng)的調(diào)用加密算法指令并下發(fā)給加密鎖;當主機檢測到讀鎖內(nèi)數(shù)據(jù)的接口被調(diào)用時,獲取對應(yīng)的FeatureID,根據(jù)FeatureID組織對應(yīng)的讀鎖內(nèi)數(shù)據(jù)指令并下發(fā)給加密鎖;當主機中的升級工具接收到制作Feature升級包的請求時,獲取FeatureID,根據(jù)FeatureID組織對應(yīng)的升級特征項指令并下發(fā)給加密鎖;當主機檢測到退出特征項接口被調(diào)用時,獲取FeatureID,根據(jù)FeatureID組織對應(yīng)的退出特征項指令并下發(fā)給加密鎖;
[0135]具體的,在本實施例中,主機通過按鍵觸發(fā)檢測上述接口被調(diào)用;
[0136]步驟A4:加密鎖根據(jù)創(chuàng)建特征項指令中的特征項標識創(chuàng)建對應(yīng)的特征項,判斷登錄特征項時是否需要啟用模塊,是則在特征項中創(chuàng)建與特征項對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,執(zhí)行步驟A5,否則執(zhí)行步驟A5 ;
[0137]在本實施例中,根據(jù)創(chuàng)建特征項指令中的特征項標識創(chuàng)建對應(yīng)的特征項,具體為:根據(jù)創(chuàng)建特征項指令中的特征項標識創(chuàng)建對應(yīng)的配置文件;
[0138]步驟A5:加密鎖判斷是否對特征項進行寫入數(shù)據(jù)操作,是則將創(chuàng)建特征項指令中的鎖內(nèi)數(shù)據(jù)寫入到加密鎖中,判斷讀取鎖內(nèi)數(shù)據(jù)時是否需要啟用模塊,如需要則在特征項中創(chuàng)建與鎖內(nèi)數(shù)據(jù)對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,返回步驟A2,如不需要則返回步驟A2 ;否則返回步驟A2 ;
[0139]本實施例中的數(shù)據(jù)包括:密鑰和/或加密算法和/或鎖內(nèi)數(shù)據(jù);
[0140]具體的,本實施例中,步驟A4和步驟A5的具體實現(xiàn)過程如圖2和圖3所示;
[0141]步驟A6:加密鎖根據(jù)登錄特征項指令中的特征項標識查找對應(yīng)的特征項,如找到則判斷找到的特征項中是否存在與特征項所對應(yīng)的模塊,如存在則判斷對應(yīng)的模塊是否授權(quán)有效,如有效則登錄成功,返回步驟A2,如無效則登錄不成功,返回步驟A2,如不存在則登錄不成功,返回步驟A2,如未找到則登錄不成功,返回步驟A2 ;
[0142]具體的,本實施例中,步驟A6的具體實現(xiàn)過程如圖4所示;
[0143]步驟A7:加密鎖判斷與添加模塊指令中的特征項標識對應(yīng)的特征項是否已登錄,如已登錄則判斷特征項中是否存在與將要添加的模塊同類型的模塊,是則將要添加的模塊已存在,返回步驟A2,否則在特征項中創(chuàng)建將要添加的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,返回步驟A2,如未登錄則返回步驟A2 ;
[0144]在本實施例中,將要添加的模塊包括:與特征項和/或數(shù)據(jù)對應(yīng)的模塊;所述數(shù)據(jù)包括密鑰和/或加密算法和/或鎖內(nèi)數(shù)據(jù);
[0145]在本實施例中,步驟A7的具體實現(xiàn)過程如圖5所示;
[0146]步驟AS:加密鎖判斷與數(shù)據(jù)處理指令中的特征項標識對應(yīng)的特征項是否已登錄,如已登錄則判斷特征項中的與數(shù)據(jù)對應(yīng)的模塊是否授權(quán)有效,是則讀取特征項中的數(shù)據(jù),返回步驟A2,否則返回步驟A2,如未登錄則返回步驟A2 ;
[0147]在本實施例中,數(shù)據(jù)處理指令包括調(diào)用密鑰指令和/或調(diào)用加密算法指令和/或讀鎖內(nèi)數(shù)據(jù)指令;
[0148]具體的,本實施例中,加密鎖接收到調(diào)用密鑰指令的具體實現(xiàn)過程如圖6所示;力口密鎖接收到調(diào)用加密算法指令的具體實現(xiàn)過程如圖7所示;加密鎖接收到讀鎖內(nèi)數(shù)據(jù)指令的具體實現(xiàn)過程如圖8所示;
[0149]步驟A9:加密鎖判斷與退出特征項指令中的特征項標識對應(yīng)的特征項是否已登錄,是則退出對應(yīng)的特征項,返回步驟A2,否則返回步驟A2 ;
[0150]具體的,本實施例中,步驟A9的具體實現(xiàn)過程如圖10所示。
[0151]在本實施例中,如需對用戶身份進行認證,則在創(chuàng)建特征項操作的過程中,如判斷登錄特征項時需要驗PIN碼,則提醒用戶輸入PIN碼;判斷是否接收到用戶輸入的PIN碼,是則保存PIN碼,否則報錯;優(yōu)選的,本實施例中,判斷在預(yù)設(shè)時間內(nèi)是否收到用戶輸入的PIN 碼。
[0152]相應(yīng)的,在登錄特征項操作時,就需要對用戶身份進行認證,即在步驟A5之前包括:提示用戶輸入PIN碼,判斷是否接收到用戶輸入的PIN碼,如收到PIN碼則判斷輸入的PIN碼是否與保存的PIN碼一致,是則執(zhí)行步驟A5,否則報錯,如未收到PIN碼則報錯;在本實施例中,可設(shè)置多次輸入用戶PIN碼,如判斷輸入的PIN碼保存的PIN碼不一致時會重新提醒用戶輸入PIN碼,直到用戶輸入錯誤次數(shù)達到預(yù)設(shè)次數(shù)則報錯。
[0153]如圖2和圖3所示,本實施例方法中步驟A4和步驟A5的具體實現(xiàn)過程包括:
[0154]步驟101:加密鎖從創(chuàng)建特征項指令中獲取FeatureID,根據(jù)FeatureID創(chuàng)建對應(yīng)的配置文件;
[0155]步驟102:加密鎖根據(jù)創(chuàng)建特征項指令判斷登錄對應(yīng)的Feature時是否需要啟用模塊,是則執(zhí)行步驟103,否則執(zhí)行步驟111 ;
[0156]在本實施例中,步驟102具體為:加密鎖判斷創(chuàng)建特征項指令中是否有啟用模塊標志,是則需要啟用模塊,否則不需要啟用模塊;
[0157]步驟103:加密鎖判斷剩余未創(chuàng)建的登錄對應(yīng)的Feature需要啟用模塊的類型,如為計時模塊,是則執(zhí)行步驟104,如為計次模塊則執(zhí)行步驟106,如為截止日期模塊則執(zhí)行108 ;
[0158]在本實施例中,步驟103具體為:判斷啟用模塊標志的類型,如為計時模塊標志則執(zhí)行步驟104,如為計次模塊標志則執(zhí)行步驟106,如為截止日期模塊標志則執(zhí)行108 ;
[0159]步驟104:加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則選擇一個空閑的計時模塊,將該空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與該Feature綁定,執(zhí)行步驟105,否則執(zhí)行步驟110 ;
[0160]步驟105:加密鎖將登錄Feature的有效剩余時間寫入到與Feature綁定的計時模塊中,并將對應(yīng)的計時模塊的標識寫入到配置文件中,執(zhí)行步驟110 ;
[0161]具體的,在本實施例中,計時模塊的標識可以為模塊的名稱、索弓1、編號或ID等;在本實施例中選擇一個空閑的計時模塊優(yōu)選的為選擇編號最小的空閑計時模塊;
[0162]步驟106:加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則選擇一個空閑的計次模塊,將該空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與該Feature綁定,執(zhí)行步驟107,否則執(zhí)行步驟110 ;
[0163]步驟107:加密鎖將登錄Feature的有效剩余次數(shù)寫入到與Feature綁定的計次模塊中,并將對應(yīng)的計次模塊的標識寫入到配置文件中,執(zhí)行步驟110 ;
[0164]具體的,在本實施例中,計次模塊的標識可以為模塊的名稱、索引或ID等;在本實施例中選擇一個空閑的計次模塊優(yōu)選的為選擇ID最小的空閑計次模塊;
[0165]步驟108:加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則選擇一個空閑的截止日期模塊,并將該空閑的截止日期模塊設(shè)置為啟用狀態(tài)并將其與該Feature綁定,執(zhí)行步驟109,否則執(zhí)行步驟110 ;
[0166]步驟109:加密鎖將登錄Feature的有效截止日期寫入到與Feature綁定的截止日期模塊中,并將對應(yīng)的截止日期模塊的標識寫入到配置文件中,執(zhí)行步驟110 ;
[0167]具體的,在本實施例中,截止日期模塊的標識可以為模塊的名稱、索引或ID等;在本實施例中選擇一個空閑的截止日期模塊優(yōu)選的為選擇ID最小的空閑截止日期模塊;
[0168]步驟110:加密鎖判斷是否創(chuàng)建完成登錄該Feature時需要啟用的所有模塊,是則執(zhí)行步驟111,否則返回步驟103 ;
[0169]在本實施例中,步驟110具體為:加密鎖遍歷啟用模塊標志,判斷是否創(chuàng)建了所有標志所對應(yīng)的模塊,是則創(chuàng)建完成所有的模塊,否則未創(chuàng)建完成所有的模塊,需要繼續(xù)進行創(chuàng)建;
[0170]步驟111:加密鎖判斷剩余未設(shè)置的對Feature的操作類型,如為寫入密鑰則執(zhí)行步驟112,如為寫入加密算法則執(zhí)行步驟122,如為寫入鎖內(nèi)數(shù)據(jù)則執(zhí)行步驟132,如無對Feature進行的操作,則給主機返回Feature設(shè)置成功信息,返回步驟A2 ;
[0171]步驟112:加密鎖判斷是否有空閑的密鑰文件,是則執(zhí)行步驟113 ;否則創(chuàng)建空閑的密鑰文件,執(zhí)行步驟113;
[0172]在本實施例中,每個密鑰文件對應(yīng)一個密鑰文件標識,密鑰文件標識可以為文件名稱、索引或ID、編號等;優(yōu)選的,加密鎖按照密鑰文件編號從小到大的順序使用密鑰文件;
[0173]步驟113:加密鎖將密鑰寫入到空閑的密鑰文件中,并將對應(yīng)的密鑰文件標識寫入到配置文件中;
[0174]優(yōu)選的,在本實施例中,如有空閑的密鑰文件則將密鑰寫入到空閑的密鑰文件ID最小的密鑰文件中;
[0175]步驟114:加密鎖判斷剩余未創(chuàng)建的調(diào)用該密鑰時需要啟用的模塊的類型,如為計時模塊則執(zhí)行步驟115,如為計次模塊則執(zhí)行步驟117,如為截止日期模塊則執(zhí)行步驟119 ;
[0176]在本實施例中,如加密鎖判斷調(diào)用密鑰時無啟用的模塊則執(zhí)行步驟142 ;
[0177]步驟115:加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則選擇一個空閑的計時模塊,將該空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與該密鑰綁定,執(zhí)行步驟116,否則執(zhí)行步驟121 ;
[0178]步驟116:加密鎖將密鑰的有效剩余時間寫入到與該密鑰綁定的計時模塊中,并將對應(yīng)的計時模塊的標識寫入到配置文件中,執(zhí)行步驟121 ;
[0179]步驟117:加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則選擇一個空閑的計次模塊,將該空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與該密鑰綁定,執(zhí)行步驟118,否則執(zhí)行步驟121 ;
[0180]步驟118:加密鎖將密鑰的有效剩余次數(shù)寫入到與該密鑰綁定的計次模塊中,并將對應(yīng)的計次模塊的標識寫入到配置文件中,執(zhí)行步驟121 ;
[0181]步驟119:加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則選擇一個空閑的截止日期模塊,將該截止日期模塊設(shè)置為啟用狀態(tài)并將其與該密鑰綁定,執(zhí)行步驟120,否則執(zhí)行步驟121 ;
[0182]步驟120:加密鎖將密鑰的有效截止日期寫入到與該密鑰綁定的截止日期模塊中,并將對應(yīng)的截止日期模塊的標識寫入到配置文件中,執(zhí)行步驟121 ;
[0183]步驟121:加密鎖判斷是否創(chuàng)建完成調(diào)用該密鑰時需要啟用的所有模塊,是則執(zhí)行步驟142,否則返回步驟114 ;
[0184]步驟122:加密鎖判斷是否有空閑的算法文件,是則執(zhí)行步驟123 ;否則創(chuàng)建空閑的算法文件,執(zhí)行步驟123 ;
[0185]在本實施例中,每個算法文件對應(yīng)一個算法文件標識,算法文件標識可以為文件名稱、索引或ID等;優(yōu)選的,加密鎖按照算法文件編號從小到大的順序使用算法文件;
[0186]步驟123:加密鎖將加密算法寫入到空閑的算法文件中,并將對應(yīng)的算法文件標識寫入到配置文件中;
[0187]優(yōu)選的,在本實施例中,如有空閑的算法文件則將加密算法寫入到空閑的算法文件編號最小的算法文件中;
[0188]步驟124:加密鎖判斷剩余未創(chuàng)建的調(diào)用該加密算法時需要啟用的模塊的類型,如為計時模塊則執(zhí)行步驟125,如為計次模塊則執(zhí)行步驟127,如為截止日期模塊則執(zhí)行步驟 129 ;
[0189]在本實施例中,如加密鎖判斷調(diào)用加密算法時無啟用的模塊則執(zhí)行步驟142 ;
[0190]步驟125:加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則選擇一個空閑的計時模塊,將該空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與該加密算法綁定,執(zhí)行步驟126,否則執(zhí)行步驟131 ;
[0191]步驟126:加密鎖將加密算法的有效剩余時間寫入到與該加密算法綁定的計時模塊中,并將對應(yīng)的計時模塊的標識寫入到配置文件中,執(zhí)行步驟131 ;
[0192]步驟127:加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則選擇一個空閑的計次模塊,將該空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與該加密算法綁定,執(zhí)行步驟128,否則執(zhí)行步驟131 ;
[0193]步驟128:加密鎖將加密算法的有效剩余次數(shù)寫入到與該加密算法綁定的計次模塊中,并將對應(yīng)的計次模塊的標識寫入到配置文件中,執(zhí)行步驟131 ;
[0194]步驟129:加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則選擇一個空閑的截止日期模塊,將該截止日期模塊設(shè)置為啟用狀態(tài)并將其與該加密算法綁定,執(zhí)行步驟130,否則執(zhí)行步驟131 ;
[0195]步驟130:加密鎖將加密算法的有效截止日期寫入到與該加密算法綁定的截止日期模塊中,并將對應(yīng)的截止日期模塊的標識寫入到配置文件中,執(zhí)行步驟131 ;
[0196]步驟131:加密鎖判斷是否創(chuàng)建完成調(diào)用該加密算法時需要啟用的所有模塊,是則執(zhí)行步驟142,否則返回步驟124 ;
[0197]步驟132:加密鎖判斷是否有空閑的數(shù)據(jù)文件,是則執(zhí)行步驟133 ;否則創(chuàng)建空閑的數(shù)據(jù)文件,執(zhí)行步驟133;
[0198]在本實施例中,每個數(shù)據(jù)文件對應(yīng)一個數(shù)據(jù)文件標識,數(shù)據(jù)文件標識可以為文件名稱、索引或ID等;優(yōu)選的,加密鎖按照數(shù)據(jù)文件編號從小到大的順序使用數(shù)據(jù)文件;
[0199]步驟133:加密鎖將鎖內(nèi)數(shù)據(jù)寫入到空閑的數(shù)據(jù)文件中,并將對應(yīng)的數(shù)據(jù)文件標識寫入到配置文件中;
[0200]優(yōu)選的,在本實施例中,如有空閑的數(shù)據(jù)文件則將數(shù)據(jù)寫入到空閑的數(shù)據(jù)文件編號最小的數(shù)據(jù)文件中;
[0201]步驟134:加密鎖判斷剩余未創(chuàng)建的讀該鎖內(nèi)數(shù)據(jù)時需要啟用的模塊的類型,如為計時模塊則執(zhí)行步驟135,如為計次模塊則執(zhí)行步驟137,如為截止日期模塊則執(zhí)行步驟139 ;
[0202]在本實施例中,如加密鎖判斷讀該鎖內(nèi)數(shù)據(jù)時無啟用的模塊則執(zhí)行步驟142 ;
[0203]步驟135:加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則選擇一個空閑的計時模塊,將該空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與該鎖內(nèi)數(shù)據(jù)綁定,執(zhí)行步驟136,否則執(zhí)行步驟141 ;
[0204]步驟136:加密鎖將鎖內(nèi)數(shù)據(jù)的有效剩余時間寫入到與該鎖內(nèi)數(shù)據(jù)綁定的計時模塊中,并將對應(yīng)的計時模塊的標識寫入到配置文件中,執(zhí)行步驟141 ;
[0205]步驟137:加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則選擇一個空閑的計次模塊,將該空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與該鎖內(nèi)數(shù)據(jù)綁定,執(zhí)行步驟138,否則執(zhí)行步驟141 ;
[0206]步驟138:加密鎖將鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)寫入到與該鎖內(nèi)數(shù)據(jù)綁定的計次模塊中,并將對應(yīng)的計次模塊的標識寫入到配置文件中,執(zhí)行步驟141 ;
[0207]步驟139:加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則選擇一個空閑的截止日期模塊,將該空閑的截止日期模塊設(shè)置為啟用狀態(tài)并將其與該鎖內(nèi)數(shù)據(jù)綁定,執(zhí)行步驟140,否則執(zhí)行步驟141 ;
[0208]步驟140:加密鎖將鎖內(nèi)數(shù)據(jù)的有效截止日期寫入到與該鎖內(nèi)數(shù)據(jù)綁定的截止日期模塊中,并將對應(yīng)的截止日期模塊的標識寫入到配置文件中,執(zhí)行步驟141 ;
[0209]步驟141:加密鎖判斷是否創(chuàng)建完成讀該鎖內(nèi)數(shù)據(jù)時需要啟用的模塊,是則執(zhí)行步驟142,否則返回步驟134 ;
[0210]步驟142:判斷是否設(shè)置完成所有的對該Feature進行的操作,是則給主機返回Feature設(shè)置成功信息,返回步驟A2,否則返回步驟111 ;
[0211]在本實施例中,將各個模塊置為啟用狀態(tài)具體為:將該模塊對應(yīng)的標志置位,本實施例中的模塊包括:與Feature綁定的計時模塊、與Feature綁定的計次模塊、與Feature綁定的截止日期模塊、與密鑰綁定計時模塊、與密鑰綁定的計次模塊、與密鑰綁定的截止日期模塊、與加密算法綁定的計時模塊、與加密算法綁定的計次模塊、與加密算法綁定的截止日期模塊、與鎖內(nèi)數(shù)據(jù)綁定的計時模塊、與鎖內(nèi)數(shù)據(jù)綁定的計次模塊、與鎖內(nèi)數(shù)據(jù)綁定的截止日期模塊。
[0212]優(yōu)選的,本實施例中的模塊和文件按照編號從小到大的順序使用。[0213]參見圖4,本實施例方法中步驟A6的具體實現(xiàn)過程包括:
[0214]步驟201:加密鎖從登錄特征項指令中獲取FeatureID ;
[0215]在本實施例中,F(xiàn)eaturelD、Feature和配置文件相互對應(yīng);
[0216]步驟202:加密鎖判斷是否找到與該FeatureID對應(yīng)的配置文件,是則執(zhí)行步驟203,否則給主機返回登錄的Feature不存在信息,返回步驟A2 ;
[0217]步驟203:加密鎖判斷該配置文件中是否存在與該Feature綁定的模塊的標識,是則執(zhí)行步驟204,否則給主機返回登錄Feature成功信息,返回步驟A2 ;
[0218]具體的,本實施例中的與Feature綁定的模塊為與Feature綁定的計時模塊和/或與Feature綁定的計次模塊和/或與Feature綁定的截止日期模塊; [0219]步驟204:加密鎖判斷剩余未處理的與Feature綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟205,如為計次模塊的標識則執(zhí)行步驟206,如為截止日期模塊的標識則執(zhí)行步驟207 ;
[0220]步驟205:加密鎖根據(jù)與該Feature綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取登錄Feature的有效剩余時間,判斷登錄Feature的有效剩余時間是否等于第一預(yù)設(shè)時間,是則給主機返回登錄失敗信息,返回步驟A2,否則執(zhí)行步驟208 ;
[0221]優(yōu)選的,第一預(yù)設(shè)時間為0,例如登錄Feature的有效剩余時間為3600小時,則創(chuàng)建Feature后開始倒計時,當?shù)卿汧eature的有效剩余時間為O時表示當前登錄的Feature失效;
[0222]步驟206:加密鎖根據(jù)與該Feature綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取登錄Feature的有效剩余次數(shù),判斷登錄Feature的有效剩余次數(shù)是否為第一預(yù)設(shè)次數(shù),是則給主機返回登錄失敗信息,返回步驟A2,否則執(zhí)行步驟208 ;
[0223]優(yōu)選的,第一預(yù)設(shè)次數(shù)為0,例如登錄Feature的有效剩余次數(shù)為1000,則每次成功登錄Feature后剩余次數(shù)自減I,當剩余次數(shù)為O時表示當前登錄的Feature失效;
[0224]步驟207:加密鎖根據(jù)與該Feature綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取登錄Feature的有效截止時間,判斷當前登錄時間是否超過登錄Feature的有效截止日期,是則給主機返回登錄失敗信息,返回步驟A2,否則執(zhí)行步驟208 ;
[0225]例如登錄Feature的有效截止時間為2014年10月21日,當?shù)卿浽揊eature的時間為2014年10月22日時,則表示當前登錄的Feature失效;
[0226]步驟208:判斷是否處理完成與該Feature綁定的所有模塊,是則給主機返回成功登錄Feature信息,返回步驟A2,否則返回步驟204 ;
[0227]在本實施例中,當配置文件中與該Feature綁定的所有模塊的標識所對應(yīng)的判斷都判斷為否時表示該Feature有效;
[0228]具體的,在本實施例中,如配置文件中的模塊的標識包括計次模塊的標識,則步驟208判斷為是時還包括:更新計次模塊中的登錄Feature的有效剩余次數(shù),優(yōu)選的,將登錄Feature的有效剩余次數(shù)自減I ;
[0229]步驟208中判斷為是時還包括:創(chuàng)建與該Feature所對應(yīng)的登錄標志,登錄標志與FeatureID--對應(yīng)。
[0230]本發(fā)明實施例中的步驟A7的具體實現(xiàn)過程如圖5所示,包括:
[0231]步驟300:加密鎖從添加模塊指令中獲取FeatureID ;[0232]步驟301:加密鎖判斷與該FeatureID對應(yīng)的Feature是否已登錄,是則執(zhí)行步驟302,否則給主機返回未登錄Feature信息,返回步驟A2 ;
[0233]在本實施例中,步驟301具體為:查找與該FeatureID對應(yīng)的登錄標志,如找到則對應(yīng)的Feature已登錄,如未找到則對應(yīng)的Feature未登錄;
[0234]步驟302:加密鎖根據(jù)FeatureID查找對應(yīng)的配置文件,如找到則執(zhí)行步驟303,如未找到則給主機返回錯誤信息,返回步驟A2 ;
[0235]步驟303:加密鎖根據(jù)添加模塊指令判斷未添加的模塊的類型,如為計時模塊則執(zhí)行步驟304 ;如為計次模塊則執(zhí)行步驟307,如為截止日期模塊則執(zhí)行步驟310 ;
[0236]步驟304:加密鎖判斷配置文件中是否存在與該Feature綁定的計時模塊的標識,是則給主機返回計時模塊已存在的信息,執(zhí)行步驟313,否則執(zhí)行步驟305 ;
[0237]在本實施例中,如配置文件中存在計時模塊的標識,則表明與該Feature綁定的計時模塊已啟用;
[0238]步驟305:加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則執(zhí)行步驟306,否則給主機返回錯誤信息,執(zhí)行步驟313 ;
[0239]步驟306:加密鎖選擇一個空閑的計時模塊,將該空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與該Feature綁定,將登錄Feature的有效剩余時間寫入到與該Feature綁定的計時模塊中,并將對應(yīng)的計時模塊的標識寫入到配置文件中,執(zhí)行步驟313 ;
[0240]優(yōu)選的,在本實施例中加密鎖將編號最小的空閑的計時模塊置為啟用狀態(tài),并將該計時模塊編號保存在配置文件中;
[0241]步驟307:加密鎖判斷配置文件中是否存在與該Feature綁定的計次模塊的標識,是則給主機返回計次模塊已存在的信息,執(zhí)行步驟313,否則執(zhí)行步驟308 ;
[0242]在本實施例中,如配置文件中存在與該Feature綁定的計次模塊的標識,則表明與該Feature綁定的計次模塊已啟用;
[0243]步驟308:加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則執(zhí)行步驟309,否則給主機返回錯誤信息,執(zhí)行步驟313 ;
[0244]步驟309:加密鎖選擇一個空閑的計次模塊,將該空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與該Feature綁定,將登錄Feature的有效剩余次數(shù)寫入到與Feature綁定的計次模塊中,并將對應(yīng)的計次模塊的標識寫入到配置文件中,執(zhí)行步驟313 ;
[0245]優(yōu)選的,在本實施例中加密鎖將編號最小的空閑的計次模塊置為啟用狀態(tài),并將該計次模塊編號保存在配置文件中;
[0246]步驟310:加密鎖判斷配置文件中是否存在與該Feature綁定的截止日期模塊的標識,是則給主機返回截止日期模塊已存在的信息,執(zhí)行步驟313,否則執(zhí)行步驟311 ;
[0247]在本實施例中,如配置文件中存在與該Feature綁定的截止日期模塊的標識,則表明與該Feature綁定的截止日期模塊已啟用;
[0248]步驟311:加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則執(zhí)行步驟312,否則給主機返回錯誤信息,執(zhí)行步驟313 ;
[0249]步驟312:加密鎖選擇一個空閑的截止日期模塊,將該空閑的截止日期模塊設(shè)置為啟用狀態(tài)并將其與該Feature綁定,將登錄Feature的有效截止日期寫入到與Feature綁定的截止日期模塊中,并將對應(yīng)的截止日期模塊的標識寫入到配置文件中,執(zhí)行步驟313 ;[0250]優(yōu)選的,在本實施例中加密鎖將空閑的編號最小的截止日期模塊置為啟用狀態(tài),并將該截止日期模塊編號保存在配置文件中;
[0251]步驟313:加密鎖判斷添加模塊操作是否完成,是則給主機返回添加模塊成功信息,返回步驟A2,否則返回步驟303 ;
[0252]具體的,步驟313包括:判斷添加模塊指令中的各個模塊信息是否處理完成,是則添加模塊操作完成,否則添加模塊操作未完成。
[0253]在本實施例的添加模塊操作中,步驟304、307、310也可在步驟303之前執(zhí)行,則步驟302之后執(zhí)行步驟302’ ;
[0254]步驟302’:加密鎖根據(jù)添加模塊指令判斷配置文件中是否存在同類型的模塊的標識,是則返回添加模塊已存在的信息,執(zhí)行步驟A2,否則執(zhí)行步驟303 ;
[0255]在步驟303中如判斷為計時模塊則執(zhí)行步驟305,如判斷為計次模塊則執(zhí)行步驟308,如判斷為截止日期模塊則執(zhí)行步驟311。
[0256]在本實施例中,在該Feature中添加了計時模塊和/或計次模塊和/或截止日期模塊后,在接收到主機下發(fā)的對添加的上述模塊進行操作的指令后進行相應(yīng)操作時,首先從該指令中獲取FeaturelD,根據(jù)FeatureID查找對應(yīng)的配置文件,從找到的配置文件中找到與當前Feature綁定的模塊標識,然后對與模塊標識對應(yīng)的模塊進行讀寫操作。
[0257]本實施例中添加與密鑰、加密算法和鎖內(nèi)數(shù)據(jù)綁定的模塊的處理過程與圖5所示的方法相同,在此不再贅述。
[0258]本實施例方法中如接收到的數(shù)據(jù)處理指令為調(diào)用密鑰指令則步驟AS的具體實現(xiàn)過程,如圖6所示,包括:
[0259]步驟400:加密鎖從調(diào)用密鑰指令中獲取FeaturelD ;
[0260]步驟401:加密鎖判斷與該FeaturelD對應(yīng)的Feature是否已登錄,是則執(zhí)行步驟402,否則給主機返回未登錄Feature信息,返回步驟A2 ;
[0261]具體的,步驟401與步驟301的實現(xiàn)過程相同,在此不再贅述;
[0262]步驟402:加密鎖根據(jù)FeaturelD查找對應(yīng)的配置文件,如找到則執(zhí)行步驟403,如未找到則給主機返回調(diào)用密鑰錯誤信息,返回步驟A2 ;
[0263]步驟403:加密鎖判斷配置文件中是否存在與密鑰綁定的模塊的標識,是則執(zhí)行步驟404,否則執(zhí)行步驟409 ;
[0264]具體的,本實施例中的與密鑰綁定的模塊為與密鑰綁定的計時模塊和/或與密鑰綁定的計次模塊和/或與密鑰綁定的截止日期模塊;
[0265]步驟404:加密鎖判斷未處理的與密鑰綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟405,如為計次模塊的標識則執(zhí)行步驟406,如為截止日期模塊的標識則執(zhí)行步驟407 ;
[0266]步驟405:加密鎖根據(jù)與密鑰綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取密鑰的有效剩余時間,判斷密鑰的有效剩余時間是否等于第二預(yù)設(shè)時間,是則給主機返回調(diào)用密鑰錯誤信息,返回步驟A2,否則執(zhí)行步驟408 ;
[0267]優(yōu)選的,第二預(yù)設(shè)時間為0,例如密鑰的有效剩余時間初始設(shè)置為3600小時,則創(chuàng)建密鑰后開始倒計時,當密鑰的有效剩余時間為O時表示該密鑰無效,返回調(diào)用密鑰錯誤信息;
[0268]步驟406:加密鎖根據(jù)與密鑰綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取密鑰的有效剩余次數(shù),判斷密鑰的有效剩余次數(shù)是否為第二預(yù)設(shè)次數(shù),是則給主機返回調(diào)用密鑰錯誤信息,返回步驟A2,否則執(zhí)行步驟408 ;
[0269]優(yōu)選的,第二預(yù)設(shè)次數(shù)為0,例如密鑰的有效剩余次數(shù)初始設(shè)置為1000,則每次成功調(diào)用密鑰后剩余次數(shù)自減1,當剩余次數(shù)為O時表示該密鑰無效,返回調(diào)用密鑰錯誤信息;
[0270]步驟407:加密鎖根據(jù)與密鑰綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取密鑰的有效截止時間,判斷當前時間是否超過密鑰的有效截止日期,是則給主機返回調(diào)用密鑰錯誤信息,返回步驟A2,否則執(zhí)行步驟408 ;
[0271]例如密鑰的有效截止時間為4014年10月21日,當調(diào)用該密鑰的時間為4014年10月22日時,則該密鑰無效,返回調(diào)用密鑰錯誤信息;
[0272]步驟408:加密鎖判斷是否處理完成與密鑰綁定的所有模塊,是則執(zhí)行步驟409,否則返回步驟404 ;
[0273]在本實施例中,當配置文件中的與該密鑰綁定的所有模塊的標識所對應(yīng)的判斷都判斷為否則表示該密鑰有效;
[0274]具體的,在本實施例中,如配置文件中的模塊的標識包括計次模塊的標識,則步驟408判斷為是時還包括:更新計次模塊中的密鑰的有效剩余次數(shù),優(yōu)選的,將密鑰的有效剩余次數(shù)自減I ;
[0275]步驟409:加密鎖根據(jù)配置文件中的密鑰文件標識從對應(yīng)的密鑰文件中調(diào)用密鑰,給主機返回調(diào)用密鑰成功信息,返回步驟A2。
[0276]本實施例方法中如接收到的數(shù)據(jù)處理指令為調(diào)用加密算法指令則的步驟A8的具體實現(xiàn)過程,如圖7所示,包括:
[0277]步驟500:加密鎖從調(diào)用加密算法指令中獲取FeaturelD ;
[0278]步驟501:加密鎖判斷與FeaturelD對應(yīng)的Feature是否已登錄,是則執(zhí)行步驟502,否則給主機返回未登錄Feature信息,返回步驟A2 ;
[0279]具體的,步驟501與步驟301的實現(xiàn)過程相同,在此不再贅述;
[0280]步驟502:加密鎖根據(jù)FeaturelD查找對應(yīng)的配置文件,如找到則執(zhí)行步驟503,如未找到則返回錯誤信息,返回步驟A2 ;
[0281]步驟503:加密鎖判斷配置文件中是否存在與加密算法綁定的模塊的標識,是則執(zhí)行步驟504,否則執(zhí)行步驟509 ;
[0282]具體的,本實施例中的與加密算法綁定的模塊包括:與加密算法綁定的計時模塊和/或與加密算法綁定的計次模塊和/或與加密算法綁定的截止日期模塊;
[0283]步驟504:加密鎖判斷未處理的與加密算法綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟505,如為計次模塊的標識則執(zhí)行步驟506,如為截止日期模塊的標識則執(zhí)行步驟507 ;
[0284]步驟505:加密鎖根據(jù)與加密算法綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取加密算法的有效剩余時間,判斷加密算法的有效剩余時間是否等于第三預(yù)設(shè)時間,是則給主機返回調(diào)用加密算法錯誤信息,返回步驟A2,否則執(zhí)行步驟508 ;[0285]優(yōu)選的,第三預(yù)設(shè)時間為0,例如加密算法的有效剩余時間初始設(shè)置為3600小時,則創(chuàng)建加密算法后開始倒計時,當加密算法的有效剩余時間為O時表示該加密算法無效;
[0286]步驟506:加密鎖根據(jù)與加密算法綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取加密算法的有效剩余次數(shù),判斷加密算法的有效剩余次數(shù)是否為第三預(yù)設(shè)次數(shù),是則給主機返回調(diào)用加密算法錯誤信息,返回步驟A2,否則執(zhí)行步驟508 ;
[0287]優(yōu)選的,第三預(yù)設(shè)次數(shù)為0,例如加密算法的有效剩余次數(shù)初始設(shè)置為1000,則每次成功調(diào)用加密算法后剩余次數(shù)自減1,當剩余次數(shù)為O時表示該加密算法無效;
[0288]步驟507:加密鎖根據(jù)與加密算法綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取加密算法的有效截止時間,判斷當前時間是否超過加密算法的有效截止日期,是則給主機返回調(diào)用加密算法錯誤信息,返回步驟A2,否則執(zhí)行步驟508 ;
[0289]例如加密算法的有效截止時間為5014年10月21日,當該加密算法的時間為5014年10月22日時,則該加密算法無效,返回調(diào)用加密算法錯誤信息;
[0290]步驟508:加密鎖判斷是否處理完成與加密算法綁定的所有模塊,是則執(zhí)行步驟509,否則返回步驟504 ;
[0291]在本實施例中,當配置文件中的所有模塊的標識所對應(yīng)的判斷都判斷為否則表示該加密算法有效;
[0292]具體的,在本實施例中,如配置文件中的模塊的標識包括計次模塊的標識,則步驟508判斷為是時還包括:更新計次模塊中的加密算法的有效剩余次數(shù),優(yōu)選的,將加密算法的有效剩余次數(shù)自減I ;
[0293]步驟509:加密鎖根據(jù)配置文件中的加密算法文件標識從對應(yīng)的加密算法文件中調(diào)用加密算法,給主機返回調(diào)用加密算法成功信息,返回步驟A2。
[0294]如圖8所示,本實施例方法中如接收到的數(shù)據(jù)處理指令為讀鎖內(nèi)數(shù)據(jù)指令則的步驟AS的具體實現(xiàn)過程包括:
[0295]步驟600:加密鎖從讀鎖內(nèi)數(shù)據(jù)指令中獲取FeaturelD ;
[0296]步驟601:加密鎖判斷與該FeaturelD對應(yīng)的Feature是否已登錄,是則執(zhí)行步驟602,否則給主機返回未登錄Feature信息,返回步驟A2 ;
[0297]具體的,步驟601與步驟301的實現(xiàn)過程相同,在此不再贅述;
[0298]步驟602:加密鎖根據(jù)FeaturelD查找對應(yīng)的配置文件,如找到則執(zhí)行步驟603,如未找到則給主機返回讀取數(shù)據(jù)錯誤信息,返回步驟A2 ;
[0299]步驟603:加密鎖判斷配置文件中是否存在與將要讀取的鎖內(nèi)數(shù)據(jù)綁定的模塊的標識,是則執(zhí)行步驟604,否則執(zhí)行步驟609 ;
[0300]具體的,本實施例中將要讀取的鎖內(nèi)數(shù)據(jù)綁定的模塊為包括:與鎖內(nèi)數(shù)據(jù)綁定的計時模塊和/或與鎖內(nèi)數(shù)據(jù)綁定的計次模塊和/或與鎖內(nèi)數(shù)據(jù)綁定的截止日期模塊;
[0301]步驟604:加密鎖判斷未處理的與鎖內(nèi)數(shù)據(jù)綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟605,如為計次模塊的標識則執(zhí)行步驟606,如為截止日期模塊的標識則執(zhí)行步驟607 ;
[0302]步驟605:加密鎖根據(jù)與鎖內(nèi)數(shù)據(jù)綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取鎖內(nèi)數(shù)據(jù)的有效剩余時間,判斷鎖內(nèi)數(shù)據(jù)的有效剩余時間是否等于第四預(yù)設(shè)時間,是則給主機返回讀取數(shù)據(jù)錯誤信息,返回步驟A2,否則執(zhí)行步驟608 ;[0303]優(yōu)選的,第四預(yù)設(shè)時間為0,例如鎖內(nèi)數(shù)據(jù)的有效剩余時間初始設(shè)置為3600小時,則創(chuàng)建鎖內(nèi)數(shù)據(jù)后開始倒計時,當鎖內(nèi)數(shù)據(jù)的有效剩余時間為O時表示該鎖內(nèi)數(shù)據(jù)無效,返回讀取數(shù)據(jù)錯誤信息;
[0304]步驟606:加密鎖根據(jù)與鎖內(nèi)數(shù)據(jù)綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù),判斷鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)是否為第四預(yù)設(shè)次數(shù),是則給主機返回讀取數(shù)據(jù)錯誤信息,返回步驟A2,否則執(zhí)行步驟608 ;
[0305]優(yōu)選的,第四預(yù)設(shè)次數(shù)為0,例如鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)初始設(shè)置為1000,則每次成功讀取鎖內(nèi)數(shù)據(jù)后剩余次數(shù)自減1,當剩余次數(shù)為O時表示該鎖內(nèi)數(shù)據(jù)無效,返回讀取數(shù)據(jù)錯誤信息;
[0306]步驟607:加密鎖根據(jù)與鎖內(nèi)數(shù)據(jù)綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取鎖內(nèi)數(shù)據(jù)的有效截止時間,判斷當前時間是否超過鎖內(nèi)數(shù)據(jù)的有效截止日期,是則給主機返回讀取數(shù)據(jù)錯誤信息,返回步驟A2,否則執(zhí)行步驟608 ;
[0307]例如鎖內(nèi)數(shù)據(jù)的有效截止時間為6014年10月21日,讀取鎖內(nèi)數(shù)據(jù)的時間為6014年10月22日時,則該鎖內(nèi)數(shù)據(jù)無效,返回讀取數(shù)據(jù)錯誤信息;
[0308]步驟608:加密鎖判斷是否處理完成與鎖內(nèi)數(shù)據(jù)綁定的所有模塊,是則執(zhí)行步驟609,否則返回步驟604 ;
[0309]在本實施例中,當配置文件中與鎖內(nèi)數(shù)據(jù)綁定的所有模塊的標識所對應(yīng)的判斷都判斷為否則表示該鎖內(nèi)數(shù)據(jù)有效;
[0310]具體的,在本實施例中,如配置文件中的模塊的標識包括計次模塊的標識,則步驟608判斷為是時還包括:更新計次模塊中的鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù),優(yōu)選的,將鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)自減I ;
[0311]步驟609:加密鎖根據(jù)配置文件中的數(shù)據(jù)文件標識從對應(yīng)的數(shù)據(jù)文件中讀取鎖內(nèi)數(shù)據(jù),給主機返回讀取數(shù)據(jù)成功信息,返回步驟A2。
[0312]參見圖9,在本實施例方法中,如步驟A3中加密鎖接收到升級特征項指令則進行升級特征項操作,具體實現(xiàn)流程包括:
[0313]步驟700:加密鎖從升級特征項指令中獲取FeaturelD和升級包;
[0314]步驟701:加密鎖判斷與FeaturelD對應(yīng)的Feature是否已登錄,是則執(zhí)行步驟702,否則給主機返回未登錄Feature信息,返回步驟A2 ;
[0315]具體的,步驟701與步驟301的實現(xiàn)過程相同,在此不再贅述;
[0316]步驟702:加密鎖根據(jù)FeaturelD查找對應(yīng)的配置文件,如找到則執(zhí)行步驟703,如未找到則給主機返回升級失敗信息,返回步驟A2 ;
[0317]步驟703:加密鎖使用加密鎖內(nèi)的升級私鑰對升級包進行解密,如解密成功則得到解密升級包,執(zhí)行步驟704,如解密失敗則給主機返回升級失敗信息,返回步驟A2 ;
[0318]步驟704:加密鎖對解密升級包進行校驗,判斷升級包格式是否正確,是則執(zhí)行步驟705,否則給主機返回升級失敗信息,返回步驟A2 ;
[0319]步驟705:加密鎖判斷解密升級包中是否有硬件ID,是則執(zhí)行步驟706,否則給主機返回升級失敗信息,返回步驟A2 ;
[0320]步驟706:加密鎖判斷解密升級包中的硬件ID是否與加密鎖內(nèi)保存的硬件ID —致,是則執(zhí)行步驟707,否則給主機返回升級失敗信息,返回步驟A2 ;[0321]步驟707:加密鎖判斷解密升級包中是否有時間戳,是則執(zhí)行步驟708,否則給主機返回升級失敗信息,返回步驟A2 ;
[0322]步驟708:加密鎖判斷解密升級包中的時間戳是否大于加密鎖中保存的時間戳,是則執(zhí)行步驟709,否則給主機返回升級失敗信息,返回步驟A2 ;
[0323]優(yōu)選的,在本實施例中,加密鎖在出廠時設(shè)置加密鎖中保存的時間戳為出廠日期;
[0324]步驟709:加密鎖用解密升級包中的時間戳更新加密鎖中保存的時間戳,用解密升級包中的Feature信息更新加密鎖中的Feature信息,給主機返回升級成功信息,返回步驟A2 ;
[0325]具體的,在本實施例中,F(xiàn)eature信息包括:登錄Feature的有效剩余時間和/或登錄Feature的有效剩余次數(shù)和/或登錄Feature的有效截止日期和/或加密鎖內(nèi)存儲的密鑰和/或密鑰的有效剩余時間和/或密鑰的有效剩余次數(shù)和/或密鑰的有效截止日期和/或加密鎖內(nèi)存儲的加密算法和/或加密算法的有效剩余時間和/或加密算法的有效剩余次數(shù)和/或加密算法的有效截止日期和/或加密鎖內(nèi)存儲的鎖內(nèi)數(shù)據(jù)和/或鎖內(nèi)數(shù)據(jù)的有效剩余時間和/或與鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)和/或鎖內(nèi)數(shù)據(jù)的有效截止日期;例如Feature信息為鎖內(nèi)存儲的密鑰,則用解密升級包中的密鑰更新與配置文件中的密鑰文件標識對應(yīng)的密鑰文件中的密鑰。
[0326]如圖10所示,為本發(fā)明實施例所述方法中的步驟A9的具體實現(xiàn)過程,包括:
[0327]具體的,本實施例中,進行退出特征項操作具體為:
[0328]步驟A9-1:加密鎖從退出特征項指令中獲取FeaturelD ;
[0329]步驟A9-2:加密鎖判斷與FeaturelD對應(yīng)的Feature是否已登錄,是則執(zhí)行步驟A9-3,否則給主機返回未登錄Feature信息,返回步驟A2 ;
[0330]具體的,步驟A9-2包括:加密鎖查找與FeaturelD對應(yīng)的登錄標志,如找到則對應(yīng)的Feature已登錄,如未找到則對應(yīng)的Feature未登錄;
[0331]步驟A9-3:加密鎖退出對應(yīng)的Feature,給主機返回成功退出Feature信息,返回步驟A2 ;
[0332]具體的,在本實施例中,加密鎖退出對應(yīng)的Feature具體為:刪除與該特征項標識對應(yīng)的登錄標志。
[0333]在本實施例中登錄特征項后創(chuàng)建并保存登錄標志,退出特征項時刪除登錄標志,判斷對應(yīng)的特征項是否已登錄具體為:查找對應(yīng)的登錄標志,如找到則對應(yīng)的特征項已登錄,如未找到則對應(yīng)的特征項未登錄;由于每個特征項對應(yīng)一個登錄標志,所以在本實施例中可設(shè)置多個特征項,相互獨立工作,但是一個特征項下的數(shù)據(jù)相互管理,可以統(tǒng)一管理控制加密鎖的工作。
[0334]在本實施例中,可在加密鎖中設(shè)置多個特征項,其實現(xiàn)方案為:
[0335](一)在成功登錄特征項后還包括:加密鎖生成特征項的匹配標志并保存;并將匹配標志返回給主機。本實施例中的匹配標志可以為隨機數(shù)或序列號等,保存匹配標志的同時還可以將對應(yīng)的FeaturelD —起保存;或者直接將登錄特征項指令中的FeaturelD作為匹配標志并保存,無需將其返回給主機;
[0336](二)加密鎖在接收到主機下發(fā)的對Feature進行操作的指令(例如調(diào)用密鑰指令、調(diào)用加密算法指令、讀鎖內(nèi)數(shù)據(jù)指令、升級特征項指令、退出特征項指令)后,加密鎖從接收到的指令中獲得匹配標志,判斷加密鎖中是否存在相同的匹配標志,如存在則說明該Feature已登錄,允許讀取該Feature中的鎖內(nèi)數(shù)據(jù)以及調(diào)用該Feature中的密鑰和加密算法,如不存在則說明該Feature未登錄,加密鎖給主機返回未登錄Feature信息。例如,匹配標志為隨機數(shù),則在加密鎖中查找相同的隨機數(shù)或?qū)?yīng)的FeaturelD,如找到則說明該Feature已登錄;如匹配標志為FeaturelD,則在加密鎖中查找相同F(xiàn)eaturelD,如找到則說明該Feature已登錄;
[0337]具體的,在本實施例中,步驟300和301替換為:
[0338]步驟300’:加密鎖從添加模塊指令中獲取匹配標志;
[0339]步驟301’:加密鎖判斷加密鎖中是否存在相同的匹配標志,是則執(zhí)行步驟302,否則給主機返回未登錄Feature信息。
[0340]步驟400和401替換為:
[0341]步驟400’:加密鎖從調(diào)用密鑰指令中獲取匹配標志;
[0342]步驟401’:加密鎖判斷加密鎖中是否存在相同的匹配標志,是則執(zhí)行步驟402,否則給主機返回未登錄Feature信息。
[0343]步驟500和501替換為:
[0344]步驟500’:加密鎖從調(diào)用加密算法指令中獲取匹配標志;
[0345]步驟501’:加密鎖判斷加密鎖中是否存在相同的匹配標志,是則執(zhí)行步驟502,否則給主機返回未登錄Feature信息。
[0346]步驟600和601替換為:
[0347]步驟600’:加密鎖從讀鎖內(nèi)數(shù)據(jù)指令中獲取匹配標志;
[0348]步驟601’:加密鎖判斷加密鎖中是否存在相同的匹配標志,是則執(zhí)行步驟602,否則給主機返回未登錄Feature信息。
[0349]步驟700和701替換為:
[0350]步驟700’:加密鎖從升級特征項指令中獲取匹配標志和升級包;
[0351]步驟701’:加密鎖判斷加密鎖中是否存在相同的匹配標志,是則執(zhí)行步驟702,否則給主機返回未登錄Feature信息。
[0352]步驟A9-1、步驟A9-2、步驟A9-3替換為:
[0353]步驟Α9-1:加密鎖從退出特征項指令中獲取匹配標志;
[0354]步驟A9-2’:加密鎖判斷加密鎖中是否存在相同的匹配標志,是則執(zhí)行步驟A9-3’,否則給主機返回未登錄Feature信息,返回步驟A2 ;
[0355]步驟A9-3’:加密鎖刪除加密鎖中的相同的匹配標志,給主機返回成功退出特征項信息,返回步驟A2。
[0356]在本實施例中,每個特征項中的計時模塊可用其他方式來替換,例如:
[0357](1)加密鎖成功登錄Feature后進行操作(例如添加模塊、調(diào)用密鑰、調(diào)用加密算法、讀取鎖內(nèi)數(shù)據(jù)、升級特征項)時,定時檢查當前配置文件中的Feature的時間授權(quán),如時間授權(quán)已經(jīng)到期,則加密鎖刪除對應(yīng)的匹配標志,給主機返回錯誤信息。
[0358]在該方式中,創(chuàng)建特征項時在配置文件中寫入對應(yīng)特征項的時間授權(quán);
[0359](2)加密鎖成功登錄Feature后進行操作時,檢查該Feature的登錄時長,如登錄時長超過預(yù)設(shè)登錄時長,則加密鎖刪除對應(yīng)的匹配標志,給主機返回錯誤信息;
[0360]該方式中,為每個Feature設(shè)置一個初始計時為O的定時器,用于記錄對應(yīng)Feature的登錄時長;每次登錄Feature時開啟定時器,定時器繼續(xù)進行計時,當退出該Feature時關(guān)閉定時器,定時器停止計時。
[0361](3)加密鎖成功登錄Feature后進行操作時,檢查該Feature從創(chuàng)建開始到當前時刻的時間間隔,如等于預(yù)設(shè)使用時長,則加密鎖刪除對應(yīng)的匹配標志,給主機返回錯誤信息;
[0362]在該實現(xiàn)方式中,創(chuàng)建Feature后存儲其對應(yīng)的創(chuàng)建時間。
[0363]本發(fā)明實施例的方法通過創(chuàng)建特征項,然后根據(jù)加密鎖的不同工作模式創(chuàng)建不同授權(quán)特征項并寫入數(shù)據(jù),在使用加密鎖的過程中,首先需要登錄特征項,當特征項有效時再對特征項中的各個模塊和數(shù)據(jù)進行判斷操作,操作簡單;在后續(xù)使用加密鎖的過程中可以根據(jù)加密鎖工作模式和授權(quán)信息在當前特征項中添加不同的授權(quán)模塊;并且在加密鎖的使用過程中可以直接對特征項進行升級,無需分別對各個模塊去升級,減少升級過程中出錯的概率;且當對授權(quán)模式進行修改時,也不需要修改代碼,直接更新加密鎖的特征項的內(nèi)容即可,操作簡單安全。
[0364]以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準。
【權(quán)利要求】
1.一種控制加密鎖工作的方法,其特征在于,包括: 步驟Al:加密鎖上電進行初始化; 步驟A2:所述加密鎖等待接收主機發(fā)送的指令; 步驟A3:當所述加密鎖接收到主機下發(fā)的指令時,判斷所述指令的類型,如為創(chuàng)建特征項指令則執(zhí)行步驟A4,如為登錄特征項指令則執(zhí)行步驟A6,如為添加模塊指令則執(zhí)行步驟A7 ;如為數(shù)據(jù)處理指令則執(zhí)行步驟AS,如為退出特征項指令則執(zhí)行步驟A9 ; 步驟A4:所述加密鎖根據(jù)所述創(chuàng)建特征項指令中的特征項標識創(chuàng)建對應(yīng)的特征項,判斷登錄所述特征項時是否需要啟用模塊,是則在所述特征項中創(chuàng)建與所述特征項對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,執(zhí)行步驟A5,否則執(zhí)行步驟A5 ; 步驟A5:所述加密鎖判斷是否對所述特征項進行寫入數(shù)據(jù)操作,是則將所述創(chuàng)建特征項指令中的數(shù)據(jù)寫入到所述加密鎖中,判斷讀取所述數(shù)據(jù)時是否需要啟用模塊,如需要則在所述特征項中創(chuàng)建與所述數(shù)據(jù)對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,返回步驟A2,如不需要則返回步驟A2 ;否則返回步驟A2 ;所述數(shù)據(jù)包括:密鑰和/或加密算法和/或鎖內(nèi)數(shù)據(jù); 步驟A6:所述加密鎖根據(jù)所述登錄特征項指令中的特征項標識查找對應(yīng)的特征項,如找到則判斷所述找到的特征項中是否存在與所述特征項所對應(yīng)的模塊,如存在則判斷所述對應(yīng)的模塊是否授權(quán)有效,如有效則登錄成功,返回步驟A2,如無效則登錄不成功,返回步驟A2,如不存在則登錄不成功,返回步驟A2,如未找到則登錄不成功,返回步驟A2 ; 步驟A7:所述加密鎖判斷與所述添加模塊指令中的特征項標識對應(yīng)的特征項是否已登錄,如已登錄則判斷所述特征項中是否存在與將要添加的模塊同類型的模塊,是則所述將要添加的模塊已存在,返回步驟A2,否則在所述特征項中創(chuàng)建所述將要添加的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,返回步驟A2,如未登錄則返回步驟A2 ;所述將要添加的模塊包括:與所述特征項和/或所述數(shù)據(jù)對應(yīng)的模塊; 步驟AS:所述加密鎖判斷與所述數(shù)據(jù)處理指令中的特征項標識對應(yīng)的特征項是否已登錄,如已登錄則判斷所述特征項中的與鎖內(nèi)數(shù)據(jù)對應(yīng)的模塊是否授權(quán)有效,是則讀取所述特征項中的數(shù)據(jù),返回步驟A2,否則返回步驟A2,如未登錄則返回步驟A2 ;所述數(shù)據(jù)處理指令包括調(diào)用密鑰指令和/或調(diào)用加密算法指令和/或讀鎖內(nèi)數(shù)據(jù)指令; 步驟A9:所述加密鎖判斷與所述退出特征項指令中的特征項標識對應(yīng)的特征項是否已登錄,是則退出所述對應(yīng)的特征項,返回步驟A2,否則返回步驟A2。
2.如權(quán)利要求1所述的方法,其特征在于,所述創(chuàng)建對應(yīng)的特征項包括:創(chuàng)建配置文件; 所述在所述特征項中創(chuàng)建與所述特征項對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,包括:選擇一個空閑的模塊,將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將所述特征項的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的標識寫入到所述配置文件中; 所述在所述特征項中創(chuàng)建與所述數(shù)據(jù)對應(yīng)的模塊并設(shè)置對應(yīng)的模塊授權(quán)有效信息,包括:選擇一個空閑的模塊,并將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述數(shù)據(jù)綁定,將所述數(shù)據(jù)的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的標識寫入到所述配置文件中;所述將鎖內(nèi)數(shù)據(jù)寫入加密鎖中,包括:選擇一個空閑文件,將所述鎖內(nèi)數(shù)據(jù)寫入到所述空閑文件中,并將對應(yīng)的文件標識寫入到所述配置文件中; 所述模塊包括計時模塊和/或計次模塊和/或截止日期模塊。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟A7包括: 步驟A7-0:所述加密鎖從所述添加模塊指令中獲取特征項標識; 步驟A7-1:所述加密鎖判斷與所述特征項標識所對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A7-2,否則返回步驟A2 ; 步驟A7-2:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A7-3,否則返回步驟A2 ; 步驟A7-3:所述加密鎖根據(jù)所述添加模塊指令判斷所述配置文件中是否存在同類型的模塊的標識,是則所述將要添加的模塊已存在,返回步驟A2,否則執(zhí)行步驟A7-4 ; 步驟A7-4:在所述特征項中創(chuàng)建所述將要添加的模塊并設(shè)置所述模塊的授權(quán)有效信息,返回步驟A2。
4.如權(quán)利要求2所述的方法,其特征在于,所述選擇一個空閑的模塊,將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將所述特征項的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的 標識寫入到所述配置文件中,包括: 步驟B1:所述加密鎖判斷剩余未創(chuàng)建的模塊的類型,如為計時模塊則執(zhí)行步驟B2,如為計次模塊則執(zhí)行步驟B4,如為截止日期模塊則執(zhí)行步驟B6 ; 步驟B2:所述加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則執(zhí)行步驟B3,否則創(chuàng)建計時模塊失敗,執(zhí)行步驟B8 ; 步驟B3:所述加密鎖選擇一個空閑的計時模塊,將所述空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將登錄特征項的有效剩余時間寫入到所述計時模塊中,并將所述計時模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟B8 ; 步驟B4:所述加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則執(zhí)行步驟B5,否則創(chuàng)建計次模塊失敗,執(zhí)行步驟B8 ; 步驟B5:所述加密鎖選擇一個空閑的計次模塊,將所述空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將登錄特征項的有效剩余次數(shù)寫入到所述計次模塊中,并將所述計次模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟B8 ; 步驟B6:所述加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則執(zhí)行步驟B7,否則創(chuàng)建截止日期模塊失敗,執(zhí)行步驟B8 ; 步驟B7:所述加密鎖選擇一個空閑的截止日期模塊,將所述空閑的截止日期模塊設(shè)置為啟用狀態(tài)并將其與所述特征項綁定,將登錄特征項的有效截止日期寫入到所述空閑的截止日期模塊中,并將所述截止日期模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟B8 ; 步驟B8:所述加密鎖判斷是否創(chuàng)建完成登錄所述特征項時需要啟用的所有模塊,是則繼續(xù),否則返回步驟BI。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟A6包括: 步驟A6-1:所述加密鎖從所述登錄特征項指令中獲取特征項標識; 步驟A6-2:所述加密鎖查找與所述特征項標識對應(yīng)的配置文件,如找到則執(zhí)行步驟A6-3,如未找到則登錄不成功,返回步驟A2 ;步驟A6-3:所述加密鎖判斷所述配置文件中是否存在與當前登錄的特征項綁定的模塊的標識,是則執(zhí)行步驟A6-4,否則登錄成功,返回步驟A2 ; 步驟A6-4:所述加密鎖判斷剩余未處理的與所述特征項綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A6-5,如為計次模塊的標識則執(zhí)行步驟A6-6,如為截止日期模塊的標識則執(zhí)行步驟A6-7 ; 步驟A6-5:所述加密鎖根據(jù)所述計時模塊的標識從對應(yīng)的計時模塊中獲取登錄特征項的有效剩余時間,判斷所述登錄特征項的有效剩余時間是否等于第一預(yù)設(shè)時間,是則所述特征項無效,返回步驟A2,否則執(zhí)行步驟A6-8 ; 步驟A6-6:所述加密鎖根據(jù)所述計次模塊的標識從對應(yīng)的計次模塊中獲取登錄特征項的有效剩余次數(shù),判斷所述登錄特征項的有效剩余次數(shù)是否為第一預(yù)設(shè)次數(shù),是則所述特征項無效,返回步驟A2,否則執(zhí)行步驟A6-8 ; 步驟A6-7:所述加密鎖根據(jù)所述截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取登錄特征項的有效截止時間,判斷當前登錄時間是否超過所述登錄特征項的有效截止日期,是則所述特征項無效,返回步驟A2,否則執(zhí)行步驟A6-8 ; 步驟A6-8:所述加密鎖判斷是否處理完成與所述特征項綁定的所有模塊,是則登錄成功,返回步驟A2,否則返回步驟A6-4。
6.如權(quán)利要求2所述的方法,其特征在于,所述選擇一個空閑的模塊,并將所述空閑的模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將所述鎖內(nèi)數(shù)據(jù)的有效授權(quán)信息寫入到所述綁定的模塊中,將所述綁定的模塊的標識寫入到所述配置文件中,包括: 步驟Cl:所述加密鎖判斷剩余未創(chuàng)建的模塊的類型,如為計時模塊則執(zhí)行步驟C2,如為計次模塊則執(zhí)行步驟C4,如為截止日期模塊則執(zhí)行步驟C6 ; 步驟C2:所述加密鎖判斷計時模塊列表中是否有空閑的計時模塊,是則執(zhí)行步驟C3,否則創(chuàng)建計時模塊失敗,執(zhí)行步驟CS ; 步驟C3:所述加密鎖選擇一個空閑的計時模塊,將所述空閑的計時模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將鎖內(nèi)數(shù)據(jù)的有效剩余時間寫入到所述計時模塊中,并將所述計時模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟CS ; 步驟C4:所述加密鎖判斷計次模塊列表中是否有空閑的計次模塊,是則執(zhí)行步驟C5,否則創(chuàng)建計次模塊失敗,執(zhí)行步驟CS ; 步驟C5:所述加密鎖選擇一個空閑的計次模塊,將所述空閑的計次模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)寫入到所述計次模塊中,并將所述計次模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟CS ; 步驟C6:所述加密鎖判斷截止日期模塊列表中是否有空閑的截止日期模塊,是則執(zhí)行步驟C7,否則創(chuàng)建截止日期模塊失敗,執(zhí)行步驟CS ; 步驟C7:所述加密鎖選擇一個空閑的截止日期模塊,并將所述空閑的截止日期模塊設(shè)置為啟用狀態(tài)并將其與所述鎖內(nèi)數(shù)據(jù)綁定,將鎖內(nèi)數(shù)據(jù)的有效截止日期寫入到所述截止日期模塊中,并將所述截止日期模塊的標識寫入到對應(yīng)的配置文件中,執(zhí)行步驟CS ; 步驟CS:所述加密鎖判斷是否創(chuàng)建完成讀所述鎖內(nèi)數(shù)據(jù)時需要啟用所有模塊,是則繼續(xù),否則返回步驟Cl。
7.如權(quán)利要求6所述的方法,其特征在于,所述數(shù)據(jù)處理指令包括調(diào)用密鑰指令,所述步驟A8包括: 步驟A800:所述加密鎖從所述調(diào)用密鑰指令中獲取特征項標識; 步驟A801:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A802,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ; 步驟A802:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A803,否則所述特征項無效,返回步驟A2 ; 步驟A803:所述加密鎖判斷所述找到的配置文件中是否存在與密鑰綁定的模塊的標識,是則執(zhí)行步驟A804,否則執(zhí)行步驟A809 ; 步驟A804:所述加密鎖判斷未處理的所述與密鑰綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A805,如為計次模塊的標識則執(zhí)行步驟A806,如為截止日期模塊的標識則執(zhí)行步驟A807 ; 步驟A805:所述加密鎖根據(jù)所述與密鑰綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取密鑰的有效剩余時間,判斷所述密鑰的有效剩余時間是否等于第二預(yù)設(shè)時間,是則所述密鑰無效,返回步驟A2,否則執(zhí)行步驟A808 ;` 步驟A806:所述加密鎖根據(jù)所述與密鑰綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取密鑰的有效剩余次數(shù),判斷所述密鑰的有效剩余次數(shù)是否為第二預(yù)設(shè)次數(shù),是則所述密鑰無效,返回步驟A2,否則執(zhí)行步驟A808 ; 步驟A807:所述加密鎖根據(jù)所述與密鑰綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取密鑰的有效截止時間,判斷當前時間是否超過所述密鑰的有效截止日期,是則所述密鑰無效,返回步驟A2,否則執(zhí)行步驟A808 ; 步驟A808:所述加密鎖判斷是否處理完成與所述密鑰綁定的所有模塊,是則執(zhí)行步驟A809,否則返回步驟A804 ; 步驟A809:所述加密鎖根據(jù)所述配置文件中的密鑰文件標識從對應(yīng)的密鑰文件中調(diào)用密鑰,返回步驟A2。
8.如權(quán)利要求6所述的方法,其特征在于,所述數(shù)據(jù)處理指令包括調(diào)用加密算法指令,所述步驟AS包括: 步驟A810:所述加密鎖從所述調(diào)用加密算法指令中獲取特征項標識; 步驟A811:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A812,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ; 步驟A812:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A813,否則所述特征項無效,返回步驟A2 ; 步驟A813:所述加密鎖判斷所述找到的配置文件中是否存在與加密算法綁定的模塊的標識,是則執(zhí)行步驟A814,否則執(zhí)行步驟A819 ; 步驟A814:所述加密鎖判斷未處理的所述與加密算法綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A815,如為計次模塊的標識則執(zhí)行步驟A816,如為截止日期模塊的標識則執(zhí)行步驟A817 ; 步驟A815:所述加密鎖根據(jù)所述與加密算法綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取加密算法的有效剩余時間,判斷所述加密算法的有效剩余時間是否等于第三預(yù)設(shè)時間,是則所述加密算法無效,返回步驟A2,否則執(zhí)行步驟A818 ;步驟A816:所述加密鎖根據(jù)所述與加密算法綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取加密算法的有效剩余次數(shù),判斷所述加密算法的有效剩余次數(shù)是否為第三預(yù)設(shè)次數(shù),是則所述加密算法無效,返回步驟A2,否則執(zhí)行步驟A818 ; 步驟A817:所述加密鎖根據(jù)所述與加密算法綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取加密算法的有效截止時間,判斷當前時間是否超過所述加密算法的有效截止日期,是則所述加密算法無效,返回步驟A2,否則執(zhí)行步驟A818 ; 步驟A818:所述加密鎖判斷是否處理完成與所述加密算法綁定的所有模塊,是則執(zhí)行步驟A819,否則返回步驟A814 ; 步驟A819:所述加密鎖根據(jù)所述配置文件中的加密算法文件標識從對應(yīng)的加密算法文件中調(diào)用加密算法,返回步驟A2。
9.如權(quán)利要求6所述的方法,其特征在于,所述數(shù)據(jù)處理指令包括讀鎖內(nèi)數(shù)據(jù)指令,所述步驟AS包括: 步驟A820:所述加密鎖從所述讀鎖內(nèi)數(shù)據(jù)指令中獲取特征項標識; 步驟A821:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A822,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ; 步驟A822:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A823,否則所述 特征項無效,返回步驟A2 ; 步驟A823:所述加密鎖判斷所述找到的配置文件中是否存在與將要讀取的鎖內(nèi)數(shù)據(jù)綁定的模塊的標識,是則執(zhí)行步驟A824,否則執(zhí)行步驟A829 ; 步驟A824:所述加密鎖判斷未處理的所述與鎖內(nèi)數(shù)據(jù)綁定的模塊的標識的類型,如為計時模塊的標識則執(zhí)行步驟A825,如為計次模塊的標識則執(zhí)行步驟A826,如為截止日期模塊的標識則執(zhí)行步驟A827 ; 步驟A825:所述加密鎖根據(jù)所述與鎖內(nèi)數(shù)據(jù)綁定的計時模塊的標識從對應(yīng)的計時模塊中獲取鎖內(nèi)數(shù)據(jù)的有效剩余時間,判斷所述鎖內(nèi)數(shù)據(jù)的有效剩余時間是否等于第四預(yù)設(shè)時間,是則所述將要讀取的鎖內(nèi)數(shù)據(jù)無效,返回步驟A2,否則執(zhí)行步驟A828 ; 步驟A826:所述加密鎖根據(jù)所述與鎖內(nèi)數(shù)據(jù)綁定的計次模塊的標識從對應(yīng)的計次模塊中獲取鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù),判斷所述鎖內(nèi)數(shù)據(jù)的有效剩余次數(shù)是否為第四預(yù)設(shè)次數(shù),是則所述將要讀取的鎖內(nèi)數(shù)據(jù)無效,返回步驟A2,否則執(zhí)行步驟A828 ; 步驟A827:所述加密鎖根據(jù)所述與鎖內(nèi)數(shù)據(jù)綁定的截止日期模塊的標識從對應(yīng)的截止日期模塊中獲取鎖內(nèi)數(shù)據(jù)的有效截止時間,判斷當前時間是否超過所述鎖內(nèi)數(shù)據(jù)的有效截止日期,是則所述將要讀取的鎖內(nèi)數(shù)據(jù)無效,返回步驟A2,否則執(zhí)行步驟A828 ; 步驟A828:所述加密鎖判斷是否處理完成與所述鎖內(nèi)數(shù)據(jù)綁定的所有模塊,是則執(zhí)行步驟A829,否則返回步驟A824 ; 步驟A829:所述加密鎖根據(jù)所述配置文件中的數(shù)據(jù)文件標識從對應(yīng)的數(shù)據(jù)文件中讀取鎖內(nèi)數(shù)據(jù),返回步驟A2。
10.如權(quán)利要求2所述的方法,其特征在于,如所述步驟A3中判斷所述指令的類型為升級特征項指令,所述方法還包括: 步驟AlO:所述加密鎖從所述升級特征項指令中獲取特征項標識和升級包; 步驟All:所述加密鎖判斷與所述特征項標識對應(yīng)的特征項是否已登錄,是則執(zhí)行步驟A12,否則所述對應(yīng)的特征項未登錄,返回步驟A2 ; 步驟A12:所述加密鎖根據(jù)所述特征項標識查找對應(yīng)的配置文件,如找到則執(zhí)行步驟A13,如未找到則升級失敗,返回步驟A2 ; 步驟A13:所述加密鎖使用所述加密鎖內(nèi)的升級私鑰對所述升級包進行解密,如解密成功則得到解密升級包,執(zhí)行步驟A14,如解密失敗則升級失敗,返回步驟A2 ; 步驟A14:所述加密鎖判斷是否符合升級條件,是則執(zhí)行步驟A15,否則升級失敗,返回步驟A2 ; 步驟A15:所述加密鎖用所述解密升級包中的特征項信息更新所述加密鎖中的特征項信息,返回步驟A2。
11.如權(quán)利要求10所述的方法,其特征在于,所述步驟A14包括: 步驟A14-1:所述加密鎖對所述解密升級包進行校驗,判斷升級包格式是否正確,是則執(zhí)行步驟A14-2,否則升級失敗,返回步驟A2 ; 步驟A14-2:所述加密鎖判斷所述解密升級包中是否有硬件ID,是則執(zhí)行步驟A14-3,否則升級失敗,返回步驟A2; 步驟A14-3:所述加密鎖判斷所述解密升級包中的硬件ID是否與所述加密鎖內(nèi)保存的硬件ID —致,是則執(zhí)行步驟A14-4,否則升級失敗,返回步驟A2 ; 步驟A14-4:所述加密鎖判斷所述解密升級包中是否有時間戳,是則執(zhí)行步驟A14-5,否則升級失敗,返回步驟A2; 步驟A14-5:所述加密鎖判斷所述解密升級包中的時間戳是否大于所述加密鎖中保存的時間戳,是則用所述解密升級包中的時間戳更新所述加密鎖中保存的時間戳,執(zhí)行步驟A15,否則升級失敗,返回步驟A2。
12.如權(quán)利要求1所述的方法,其特征在于,所述步驟A6中登錄成功之后還包括:創(chuàng)建并保存與所述特征項標識所對應(yīng)的登錄標志; 所述加密鎖判斷與所述添加模塊指令中的特征項標識對應(yīng)的特征項是否已登錄,具體為:查找與所述特征項標識對應(yīng)的登錄標志,如找到則對應(yīng)的特征項已登錄,如未找到則對應(yīng)的特征項未登錄; 所述步驟A9中所述退出對應(yīng)的特征項之后還包括:刪除與所述特征項標識對應(yīng)的登
13.如權(quán)利要求2所述的方法,其特征在于,所述步驟A6中登錄成功之后包括:所述加密鎖生成所述特征項的匹配標志并保存到所述配置文件中,所述加密鎖將所述匹配標志返回給所述主機; 所述步驟A7中所述加密鎖判斷與所述添加模塊指令中的特征項標識對應(yīng)的特征項是否已登錄,包括:所述加密鎖從所述添加模塊指令中獲取匹配標志,判斷加密鎖中是否存在相同的匹配標志,是則對應(yīng)的特征項已登錄,否則對應(yīng)的特征項未登錄; 所述步驟AS中所述加密鎖判斷與所述數(shù)據(jù)處理指令中的特征項標識對應(yīng)的特征項是否已登錄,包括:所述加密鎖從所述數(shù)據(jù)處理指令中獲取匹配標志,判斷加密鎖中是否存在相同的匹配標志,是則對應(yīng)的特征項已登錄,否則對應(yīng)的特征項未登錄; 所述步驟A9包括:所述加密鎖從所述退出特征項指令中獲取匹配標志,判斷加密鎖中是否存在相同的匹配標志,是則刪除所述加密鎖中的匹配標志,返回步驟A2,否則返回步驟A2。
14. 如權(quán)利要求13所述的方法,其特征在于,所述步驟A5中還包括:在所述配置文件中寫入對應(yīng)特征項的時間授權(quán); 所述加密鎖判斷與所述特征項標識對應(yīng)的特征項已登錄之后還包括:所述加密鎖實時檢查當前配置文件中的特征項的時間授權(quán),如時間授權(quán)已到期則刪除所述匹配標志,返回步驟A2,否則繼續(xù)。
15.如權(quán)利要求13所述的方法,其特征在于,所述步驟A5中還包括:設(shè)置定時器; 在所述步驟A6中登錄成功后還包括:開啟所述定時器,所述定時器繼續(xù)計時; 在所述步驟A9中退出所述對應(yīng)的特征項時還包括:關(guān)閉所述定時器,所述定時器停止計時; 所述加密鎖判斷與所述特征項標識對應(yīng)的特征項已登錄之后還包括:所述加密鎖判斷所述定時器的計時是否超過預(yù)設(shè)登錄時長,是則刪除所述匹配標志,返回步驟A2,否則繼續(xù)。
16.如權(quán)利要求13所述的方法,其特征在于,所述步驟A5中還包括:存儲所述特征項的創(chuàng)建時間; 所述加密鎖判斷與所述特征項標識對應(yīng)的特征項已登錄之后還包括:所述加密鎖檢查當前特征項的創(chuàng)建時間與當前時刻的時間間隔,如等于預(yù)設(shè)使用時長則刪除所述匹配標志,返回步驟A2,否則繼續(xù)。
【文檔編號】G06F21/34GK103646205SQ201310718834
【公開日】2014年3月19日 申請日期:2013年12月24日 優(yōu)先權(quán)日:2013年12月24日
【發(fā)明者】陸舟, 于華章 申請人:飛天誠信科技股份有限公司