專利名稱:提高智能密鑰設備穩定性的方法和智能密鑰設備的制作方法
技術領域:
本發明涉及信息安全領域,特別涉及一種提高智能密鑰設備穩定性的方法和智能密鑰設備。
背景技術:
隨著信息安全技術的發展,智能密鑰設備的應用越來越廣泛。智能密鑰設備是一種USB (Universal Serial Bus,通用串行總線)接口的小巧的硬件設備,形狀與U盤相似,內置了 CPU (Central Process Unit,中央處理單元)、存儲器和芯片操作系統(COS),可以存儲用戶 的密鑰和數字認證證書,利用內置的密碼學算法可以實現對用戶身份的認證,具有電子郵件 加密、數字簽名、安全證書、安全網絡登陸和訪問SSL (Security Socket Layer,安全套接層 協議層)安全網絡等功能,并且具有保證用戶的私鑰永遠不離開硬件的特征,還具有物理上 防攻擊的特性。
智能密鑰設備是一種帶有處理器和存儲器的小型硬件裝置,它采用雙因子認證模式,使 用簡單、成本較低。它內置單片機或智能卡芯片,可以存儲密鑰或數字證書,具有電子郵件 加密、數字簽名、安全證書、安全網絡登錄和訪問SSL安全網絡等功能,還具有物理上防攻 擊的特性,安全性極高。在現有技術中,有些智能密鑰設備通過主機報告不同的設備描述, 使主機將該智能密鑰設備識別為復合設備,即一個智能密鑰設備可以模擬出多個虛擬設備。 而多個虛擬設備向主機接收/發送的命令則由該復合設備內部的同一個處理器來執行,這就將 導致計算機與復合設備進行數據交換或者數據計算時,無法避免指令交叉問題,即出現當計 算機處理該復合設備中多個虛擬設備發送的指令時,或者當該復合設備對接收到的計算機返 回多個交叉指令進行處理時出現過不穩定的情況,復合設備中的處理器對某一虛擬設備的指 令處理過程很可能延誤對其他虛擬設備的指令進行處理,或者出現誤處理的情況,從而降低 了智能密鑰設備與計算機進行交互時的穩定性。
發明內容
為了提高智能密鑰設備與計算機進行交互時的穩定性,本發明提供了一種提高智能密鑰設備穩定性的方法和智能密鑰設備。所述技術方案如下 一種提高智能密鑰設備穩定性的方法,所述方法包括 智能密鑰設備與主機建立連接;
所述智能密鑰設備開啟第一中斷,向所述主機報告自身為復合設備,所述復合設備至少 包括兩個虛擬設備;
所述智能密鑰設備接收所述主機發送的報文命令,關閉所述第一中斷,并解析所述報文 命令;
所述智能密鑰設備判斷處理所述報文命令需要的時間是否超過預設的時間; 如果是,則對所述報文命令進行處理,并開啟第二中斷,通過所述第二中斷接收到所述 主機發送的后續報文命令后,對所述后續報文命令進行處理或者通知所述主機延時處理所述 后續報文命令,當所有進行處理的報文命令均處理完成后,關閉所述第二中斷,然后開啟所 述第一中斷;
否則,對所述報文命令進行處理并保存處理結果,然后開啟所述第一中斷。 所述復合設備中至少有兩個虛擬設備類型不同,所述在接收到所述主機發送的后續報文 命令后,對所述后續報文命令進行處理或通知所述主機延時處理所述后續的報文命令,當所 有進行處理的報文命令均處理完成后,關閉所述第二中斷,具體包括
接收到所述主機發送的后續報文命令,并根據所述虛擬設備的類型判斷所述后續報文命 令的類型;
如果所述后續報文命令是立即響應類型的報文命令,則處理所述后續報文命令,并將處 理結果返回給所述主機,當所述報文命令和后續報文命令均處理完成后,關閉所述第二中斷
如果所述后續報文命令是其它類型的報文命令,則通知所述主機延時處理所述后續報文 命令,當所述報文命令處理完成后,關閉所述第二中斷。
所述虛擬設備的類型包括小型計算機系統接口 SCSI設備類型、人機接口設備HID設
備類型和芯片智能卡接口設備CCID設備類型;
所述立即響應類型的報文命令為SCSI設備類型的報文命令;
所述其它類型的報文命令為HID設備類型的報文命令或CCID設備類型的報文命令。 所述復合設備中的所有虛擬設備類型均相同,所述智能密鑰設備判斷處理所述報文命令 需要的時間是否超過預設的時間,具體包括
所述智能密鑰設備根據所述虛擬設備的類型判斷所述報文命令的類型;
如果所述報文命令是立即響應類型的報文命令,則處理所述報文命令并保存處理結果,然后結束;
如果所述報文命令是其它類型的報文命令,則判斷處理所述報文命令需要的時間是否超 過預設的時間。
所述虛擬設備的類型包括SCSI設備類型、HID設備類型和CCID設備類型; 所述立即響應類型的報文命令包括通過智能密鑰設備控制端口傳輸報文的命令。 所述在接收到所述主機發送的后續報文命令后,對所述后續報文命令進行處理或通知所
述主機延時處理所述后續的報文命令,當所有進行處理的報文命令均處理完成后,關閉所述
第二中斷,具體包括
接收到所述主機發送的所述后續報文命令; 通知所述主機延時處理所述后續報文命令; 當所述報文命令處理完成后,關閉所述第二中斷。
所述第一中斷為通用串行總線USB中斷,所述第二中斷為定時器中斷。
一種智能密鑰設備,所述智能密鑰設備包括-
USB接口模塊,用于使所述智能密鑰設備與主機建立連接;
第-中斷模塊,用于開啟第 -中斷,向所述主機報告所述智能密鑰設備為復合設備,所 述復合設備至少包括兩個虛擬設備,在所述USB接口模塊接收到所述主機發送的報文命令 后,關閉所述第一中斷,在收到通知后開啟所述第一中斷;
智能密鑰模塊,用于在所述USB接口模塊接收到所述報文命令后,解析所述報文命令, 并判斷處理所述報文命令需要的時間是否超過預設的時間,如果沒有超過所述預設的時間, 則對所述報文命令進行處理并保存處理結果,然后通知所述第一中斷模塊開啟所述第一中斷, 如果超過所述預設的時間,則在收到通知后對所述報文命令進行處理;
第二中斷模塊,用于當所述智能密鑰模塊判斷出處理所述報文命令需要的時間超過所述 預設的時間時,通知所述智能密鑰模塊對所述報文命令進行處理,并開啟第二中斷,在所述 USB接口模塊接收到所述主機發送的后續報文命令后,通知所述智能密鑰模塊對所述后續報 文命令進行處理或者通過所述USB接口模塊通知所述主機延時處理所述后續報文命令,當所 述智能密鑰模塊將所有進行處理的報文命令均處理完成后,關閉所述第二中斷,然后通知所 述第一中斷模塊開啟所述第一中斷。
所述復合設備中至少有兩個虛擬設備類型不同,所述第二中斷模塊具體包括 開啟單元,用于當所述智能密鑰模塊判斷出處理所述報文命令需要的時間超過所述預設
的時間時,通知所述智能密鑰模塊對所述報文命令進行處理,并開啟第二中斷;判斷單元,用于在所述開啟單元開啟所述第二中斷且所述USB接口模塊接收到所述主機 發送的后續報文命令后,判斷所述后續報文命令的類型;
處理單元,用于當所述判斷單元判斷出所述后續報文命令是立即響應類型的報文命令時, 通知所述智能密鑰模塊處理所述后續報文命令,并在所述智能密鑰模塊對所述報文命令和后 續報文命令均處理完成后,通知關閉所述第二中斷,當所述判斷單元判斷出所述后續報文命 令是其它類型的報文命令時,通過所述USB接口模塊通知所述主機延時處理所述后續報文命 令,并在所述智能密鑰模塊對所述報文命令處理完成后,通知關閉所述第二中斷;
關閉單元,用于在收到所述處理單元發來的通知后,關閉所述第二中斷,然后通知所述
第一中斷模塊開啟所述第一中斷。
所述復合設備中的所有虛擬設備類型均相同,所述智能密鑰模塊具體包括 解析單元,用于在所述USB接口模塊收到所述報文命令后,解析所述報文命令; 處理單元,用于判斷所述報文命令的類型,如果所述報文命令是立即響應類型的報文命 令,則處理所述報文命令并保存處理結果,然后結束;如果所述報文命令是其它類型的報文 命令,則判斷處理所述報文命令需要的時間是否超過預設的時間,如果沒有超過所述預設的 時間,則對所述報文命令進行處理并保存處理結果,然后通知所述第一中斷模塊開啟所述第 一中斷,如果超過所述預設的時間,則在收到通知后對所述報文命令進行處理。
所述第二中斷模塊通知所述智能密鑰模塊對所述后續報文命令進行處理或者通過所述 USB接口模塊通知所述主機延時處理所述后續報文命令,具體為通過所述USB接口模塊通知 所述主機延時處理所述后續報文命令。
所述第一中斷為通用串行總線USB中斷,所述第二中斷為定時器中斷。 所述復合設備中的任一個虛擬設備具體為人機接口設備HID、小型計算機系統接口 SCSI 設備或芯片智能卡接口設備CCID。
本發明通過關閉和開啟所述智能密鑰設備中斷,提高復合智能密鑰設備與計算機交互時 的穩定性,避免了得當計算機處理該復合設備中多個虛擬設備發送的指令時,或者當該復合 設備對接收到的計算機返回多個交叉指令進行處理時出現過不穩定的情況,使得用戶能夠更 安全地使用智能密鑰設備。
圖1是本發明實施例1提供的提高智能密鑰設備穩定性的方法流程圖; 圖2是本發明實施例2提供的提高智能密鑰設備穩定性的方法流程圖;圖3是本發明實施例3提供的智能密鑰設備結構圖。
具體實施例方式
為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進 一步地詳細描述。
在本實施中,智能密鑰設備為USB接口的復合設備。當該復合設備插入計算機系統后, 同時在在計算機上將出現多個設備,這些設備是該復合設備模擬出的虛擬設備,例如光驅、 HID (Human Interface Device,人機接口設備)、SCSI (Small Computer System Interface,小 型計算機系統接口)設備和CCID (Chip/Smart card Interface Device,芯片智能卡接口設備)。
本發明實施例提供了一種提高智能密鑰設備穩定性的方法,包括
智能密鑰設備與主機建立連接;智能密鑰設備開啟第一中斷,向主機報告自身為復合設 備,該復合設備至少包括兩個虛擬設備;智能密鑰設備接收主機發送的報文命令,關閉第一 中斷,并解析該報文命令;智能密鑰設備判斷處理該報文命令需要的時間是否超過預設的時 間;如果是,則對該報文命令進行處理,并開啟第二中斷,通過第二中斷在接收到主機發送 的后續報文命令后,對該后續報文命令進行處理或者通知主機延時處理該后續報文命令,當 所有進行處理的報文命令均處理完成后,關閉第二中斷,然后開啟第一中斷;否則,對該報 文命令進行處理并保存處理結果,然后開啟第一中斷。
本發明實施例中的復合設備是指把智能密鑰設備同時作為多個虛擬設備與主機進行通 信,該虛擬設備的類型包括HID設備、SCSI設備和CCID設備,智能密鑰設備所聲明的復 合設備中,包含的多個虛擬設備可以為相同類型的虛擬設備,也可以為不同類型的虛擬設備。 例如,該復合設備包括HID設備和SCSI設備;或者包括CCID1設備、CCID2設備和CCID3 設備;或者包括HID1設備、HID2設備和CCID設備等等。
實施例1
參見圖1,本實施例提供了一種提高智能密鑰設備穩定性的方法,在本實施例中,智能 密鑰設備聲明的復合設備中包含不同類型的多個虛擬設備,該方法具體包括 步驟101:智能密鑰設備與主機連接;
步驟102:智能密鑰設備開啟第一中斷,在本實施例中具體為USB中斷,并向主機報告 自身為復合設備,本實施例以該復合設備包括SCSI設備和HID設備兩個虛擬設備為例進行 說明;
步驟103:智能密鑰設備接收主機發來的報文命令,關閉USB中斷,解析并處理該報文命令
步驟104:智能密鑰設備判斷處理該報文命令需要的時間是否超過預設的時間,如果是, 則認為該報文命令需要進行長時間處理,執行步驟105;否則,認為該報文命令不需要長時 間處理,則執行歩驟108;
步驟105:智能密鑰設備開啟第二中斷,在本實施例中具體為定時器中斷;
本實施例中,智能密鑰設備在定時器中斷過程中,又接收到主機發來的后續報文命令, 智能密鑰設備對該后續報文命令的解析處理過程與智能密鑰設備對上述先收到的報文命令的 處理過程是同時進行的,其中對后續報文命令的處理過程具體如下
歩驟1051:智能密鑰設備接收主機發來的后續報文命令;
步驟1052:智能密鑰設備根據虛擬設備的類型判斷該后續報文命令的類型,如果該后續 報文命令是立即響應類型的報文命令,則執行步驟1053;如果該后續報文命令是其他類型的 報文命令,則執行步驟1054;
步驟1053:智能密鑰設備對該立即響應類型的后續報文命令進行處理,并將處理結果返 回主機;
本實施例中,立即響應類型的報文命令是指需要智能密鑰設備立即處理的SCSI設備類型 的報文命令,包括但不限于訪問類型(Inquiry, 0x12)、請求模式類型(Mode Sense, 0x03)、 讀取類型(Read, 0x28)、讀取存儲容量類型(Read Capacity, 0x25)和測試設備就緒類型(Test Unit Ready, 0x00)等等。
步驟1054:智能密鑰設備通知主機延時處理該后續報文命令,即智能密鑰設備當前不對
該后續報文命令進行處理,具體地可以通過返回延時字符串,如兩個字節OxOO,來通知主機 延時處理;
當復合設備中包含不同類型的多個虛擬設備時,其他類型的報文命令包括HID設備類 型的報文命令和CCID設備類型的報文命令,是指不需要智能密鑰設備立即處理的報文命令。 在本實施例中,該其他類型的報文命令具體為HID報文命令。
步驟106:判斷智能密鑰設備對所有進行處理的報文命令是否均處理完成,如果是,則 執行步驟107,否則,等待直到所有進行處理的報文命令均處理完成,然后執行步驟107;
其中,如果智能密鑰設備對后續報文命令進行處理,則本步驟具體為判斷智能密鑰對所 述報文命令和后續報文命令是否均處理完成,如果智能密鑰設備不對后續報文命令進行處理, 則本步驟具體為判斷智能密鑰設備對所述報文命令是否處理完成。
步驟107:關閉定時器中斷;步驟108:智能密鑰設備保存報文命令處理的結果; 步驟109:智能密鑰設備開啟USB中斷,當前處理流程結束。
此處是以智能密鑰設備接收到主機發來的一個報文命令為例進行說明的,在實際應用中, 智能密鑰設備會接收到主機發來的多個報文命令,其處理的流程均與上述處理流程相同,即 重復執行步驟103之后的步驟。另外,上述流程中智能密鑰設備接收到一個后續報文命令, 當智能密鑰設備接收到多個后續報文命令時,對于每一個后續報文命令的處理過程均與上述 接收到一個后續報文命令的處理過程相同,此處不再贅述。
實施例2
參見圖2,本實施例提供了一種提高智能密鑰設備穩定性的方法,在本實施例中,智能 密鑰設備聲明的復合設備中包含相同類型的多個虛擬設備,該方法具體包括 步驟201:智能密鑰設備與主機連接;
步驟202:智能密鑰設備開啟第一中斷,在本實施例中具體為USB屮斷,并向主機報告 自身為復合設備,本實施例以該復合設備包括HID1設備、HID2設備和HID3設備三個虛擬 設備為例進行說明;
步驟203:智能密鑰設備接收主機發來的報文命令,然后關閉USB中斷,解析并處理該 報文命令;
步驟204:智能密鑰設備根據虛擬設備的類型判斷該報文命令的類型,如果該報文命令 是立即響應類型的報文命令,則執行步驟209;如果該報文命令是其它類型的報文命令,則 執行步驟205;
本實施例中,立即響應類型的報文命令通常是指需要智能密鑰設備立即處理的報文命令, 包括但不限于通過智能密鑰設備控制端口傳輸報文的命令。
步驟205:智能密鑰設備判斷處理該報文命令需要的時間是否超過預設的時間,如果是, 則認為該報文命令需要進行長時間處理,則執行步驟206;否則,認為該報文命令不需要長 時間處理,則執行步驟209;
步驟206:智能密鑰設備開啟第二中斷,在本實施例中具體為定時器中斷;
本實施例中,智能密鑰設備在定時器中斷過程中,又接收到主機發來的后續報文命令, 智能密鑰設備對該后續報文命令的解析處理過程與智能密鑰設備對上述先收到的報文命令的
處理過程是同時進行的,其中對后續報文命令的處理過程具體如下 步驟2061:智能密鑰設備接收主機發來的后續報文命令;步驟2062:智能密鑰設備通知主機延時處理后續報文命令,即當前不對該后續報文命令 進行處理,具體地可以通過返冋延時字符串,如兩個字節OxOO,來通知主機延時處理;
步驟207:判斷智能密鑰設備對該報文命令是否處理完成,如果是,則執行步驟208,否 則,等待直到該報文命令處理完成,然后執行歩驟208;
步驟208:智能密鑰設備關閉定時器中斷;
歩驟209:智能密鑰設備保存該報文命令處理的結果;
步驟210:智能密鑰設備開啟USB中斷,當前處理流界:結束。
在本實施例中,以智能密鑰設備接收到主機發來的一個報文命令為例進行說明,在實際 應用中,智能密鑰設備會接收到主機發來的多個報文命令,其處理的流程均與上述處理流程
相同,即重復執行歩驟203之后的歩驟。另外,上述流程中智能密鑰設備接收到一個后續報 文命令,當智能密鑰設備接收到多個后續報文命令時,對于每一個后續報文命令的處理過程 均與上述接收到一個后續報文命令的處理過程相同,此處不再贅述。
實施例3
參見圖3,本發明實施例提供了一種智能密鑰設備,包括
USB接口模塊301,用于使智能密鑰設備與主機建立連接;
第一中斷模塊302,用于開啟第一中斷,向主機報告智能密鑰設備為復合設備,復合設 備至少包括兩個虛擬設備,在USB接口模塊301接收到主機發送的報文命令后,關閉第一中 斷,在收到通知后開啟第一中斷;
智能密鑰模塊303,用于在USB接口模塊301接收到所述報文命令后,解析該報文命令, 并判斷處理該報文命令需要的時間是否超過預設的時間,如果沒有超過該預設的時間,則對 該報文命令進行處理并保存處理結果,然后通知第一中斷模塊開啟第一中斷,如果超過該預 設的時間,則在收到通知后對該報文命令進行處理;
第二中斷模塊304,用于當智能密鑰模塊303判斷出處理該報文命令需要的時間超過所 述預設的時間時,通知智能密鑰模塊303對該報文命令進行處理,并開啟第二中斷,在USB 接口模塊301接收到主機發送的后續報文命令后,通知智能密鑰模塊303對該后續報文命令 進行處理或者通過USB接口模塊301通知主機延時處理該后續報文命令,當智能密鑰模塊 303所有進行處理的報文命令均處理完成后,關閉第二中斷,然后開啟第一中斷。
在本實施例中,復合設備中可以至少有兩個虛擬設備類型不同,則此時第二中斷模塊304 具體包括開啟單元,用于當智能密鑰模塊303判斷出處理該報文命令需要的時間超過所述預設的 時間時,通知智能密鑰模塊303對該報文命令進行處理,并開啟第二中斷;
判斷單元,用于在開啟單元開啟第二中斷且USB接口模塊301接收到主機發送的后續報 文命令后,判斷后續報文命令的類型;
處理單元,用于當判斷單元判斷出后續報文命令是立即響應類型的報文命令時,通知智 能密鑰模塊303處理該后續報文命令,將處理結果返回給主機,并在智能密鑰模塊303對該 報文命令和后續報文命令均處理完成后,通知關閉第二中斷,當判斷單元判斷出該后續報文 命令是其它類型的報文命令時,通知主機延時處理該后續報文命令,并在智能密鑰模塊303 處理完成該報文命令后,通知關閉第二中斷;所述立即響應類型的報文命令通常是指需要智 能密鑰設備立即處理的報文命令,包括但不限于訪問類型、請求模式類型、讀取類型、讀 取存儲容量類型和測試設備就緒類型等等;
關閉單元,用于在收到處理單元發來的通知后,關閉第二中斷,然后通知第一中斷模塊 302開啟第一中斷。
另外,本實施例中,復合設備中的所有虛擬設備可以類型均相同,則此時智能密鑰模塊 303具體包括
解析單元,用于在USB接口模塊301接收所述報文命令后,解析該報文命令; 處理單元,用于判斷該報文命令的類型,如果該報文命令是立即響應類型的報文命令, 則處理該報文命令并保存處理結果,然后結束;如果該報文命令是其它類型的報文命令,則 判斷處理該報文命令需要的時間是否超過預設的時間,如果沒有超過所述預設的吋間,則對 該報文命令進行處理并保存處理結果,然后通知第一中斷模塊302開啟第一中斷,如果超過 所述預設的時間,則在收到通知后對該報文命令進行處理。所述立即響應類型的報文命令通 常是指需要智能密鑰設備立即處理的報文命令,包括但不限于生成密鑰對類型、簽名類型 和執行安全操作類型等等。
當智能密鑰模塊303包括上述解析單元和處理單元時,相應地,第二中斷模塊304對后 續報文命令進行處理或通知主機延時處理該后續報文命令,具體為通知主機延時處理該后續 報文命令。
本實施例中,第一中斷為USB中斷,第二中斷為定時器中斷。
本實施例中,復合設備中的任一個虛擬設備具體為HID設備、SCSI設備或CCID設備。 當復合設備中至少有兩個虛擬設備類型不同時,立即響應類型的報文命令為SCSI設備類型的 報文命令,其它類型的報文命令為HID設備類型的報文命令或CCID設備類型的報文命令;當復合設備中的所有虛擬設備類型均相同時,立即響應類型的報文命令包括但不限于通過 智能密鑰設備控制端口傳輸報文的命令。
本實施例中,智能密鑰設備通知主機延時處理后續報文命令,口」以具體為返回延時字符 串,如兩個字節OxOO,來通知主機延時處理后續報文命令。
本實施例中的所有模塊都可以集成在一片智能芯片上。
另外,智能密鑰模塊還可以執行產生加密/解密密鑰、對數據進行加密/解密運算等操作, 智能密鑰設備還包括1)密鑰存儲區,用于存儲密鑰數據,密鑰數據包括數字證書、密鑰和 用戶私有數據以及經過加密處理后的數據;2)明文數據存儲區,用于存儲明文數據;3)用 戶程序存儲區,用于實現用戶自定義算法的寫入和調用;4)擴展存儲區,用于擴展用戶數據 的存儲空間,可以通過片內擴展也可以通過片外擴展。
本發明實施例通過關閉和開啟所述智能密鑰設備中斷,提高復合智能密鑰設備與計算機 交互時的穩定性,避免了得3計算機處理該復合設備中多個虛擬設備發送的指令時,或者當 該復合設備對接收到的計算機返回多個交叉指令進行處理時出現過不穩定的情況,使得用戶 能夠更安全地使用智能密鑰設備。
以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之 內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
權利要求
1. 一種提高智能密鑰設備穩定性的方法,其特征在于,所述方法包括智能密鑰設備與主機建立連接;所述智能密鑰設備開啟第一中斷,向所述主機報告自身為復合設備,所述復合設備至少包括兩個虛擬設備;所述智能密鑰設備接收所述主機發送的報文命令,關閉所述第一中斷,并解析所述報文命令;所述智能密鑰設備判斷處理所述報文命令需要的時間是否超過預設的時間;如果是,則對所述報文命令進行處理,并開啟第二中斷,通過所述第二中斷接收到所述主機發送的后續報文命令后,對所述后續報文命令進行處理或者通知所述主機延時處理所述后續報文命令,當所有進行處理的報文命令均處理完成后,關閉所述第二中斷,然后開啟所述第一中斷;否則,對所述報文命令進行處理并保存處理結果,然后開啟所述第一中斷。
2. 根據權利要求l所述的提高智能密鑰設備穩定性的方法,其特征在于,所述復合設備 中至少有兩個虛擬設備類型不同,所述在接收到所述主機發送的后續報文命令后,對所述后 續報文命令進行處理或通知所述主機延時處理所述后續的報文命令,當所有進行處理的報文 命令均處理完成后,關閉所述第—中斷,具體包括接收到所述主機發送的后續報文命令,并根據所述虛擬設備的類型判斷所述后續報文命 令的類型;如果所述后續報文命令是立即響應類型的報文命令,則處理所述后續報文命令,并將處 理結果返回給所述主機,當所述報文命令和后續報文命令均處理完成后,關閉所述第二中斷;如果所述后續報文命令是其它類型的報文命令,則通知所述主機延時處理所述后續報文 命令,當所述報文命令處理完成后,關閉所述第二中斷。
3. 根據權利要求2所述的提高智能密鑰設備穩定性的方法,其特征在于,所述虛擬設備 的類型包括小型計算機系統接口 SCSI設備類型、人機接口設備HID設備類型和芯片智能 卡接口設備CCID設備類型;所述立即響應類型的報文命令為SCSI設備類型的報文命令;所述其它類型的報文命令為HID設備類型的報文命令或CCID設備類型的報文命令。
4. 根據權利要求1所述的提高智能密鑰設備穩定性的方法,其特征在于,所述復合設備 中的所有虛擬設備類型均相同,所述智能密鑰設備判斷處理所述報文命令需要的時間是否超 過預設的時間,具體包括所述智能密鑰設備根據所述虛擬設備的類型判斷所述報文命令的類型; 如果所述報文命令是立即響應類型的報文命令,則處理所述報文命令并保存處理結果, 然后結束;如果所述報文命令是其它類型的報文命令,則判斷處理所述報文命令需要的時間是否超 過預設的時間。
5. 根據權利要求4所述的提高智能密鑰設備穩定性的方法,其特征在于,所述虛擬設備 的類型包括SCSI設備類型、HID設備類型和CCID設備類型;所述立即響應類型的報文命令包括通過智能密鑰設備控制端口傳輸報文的命令。
6. 根據權利要求4所述的提高智能密鑰設備穩定性的方法,其特征在于,所述在接收到 所述主機發送的后續報文命令后,對所述后續報文命令進行處理或通知所述主機延時處理所 述后續的報文命令,當所有進行處理的報文命令均處理完成后,關閉所述第二中斷,具體包 括接收到所述主機發送的所述后續報文命令; 通知所述主機延時處理所述后續報文命令; 當所述報文命令處理完成后,關閉所述第二中斷。
7. 根據權利要求l所述的提高智能密鑰設備穩定性的方法,其特征在于,所述第一中斷 為通用串行總線USB中斷,所述第二中斷為定時器中斷。
8. —種智能密鑰設備,其特征在于,所述智能密鑰設備包括 USB接口模塊,用于使所述智能密鑰設備與主機建立連接;第一中斷模塊,用于開啟第一中斷,向所述主機報告所述智能密鑰設備為復合設備,所 述復合設備至少包括兩個虛擬設備,在所述USB接口模塊接收到所述主機發送的報文命令后,關閉所述第一中斷,在收到通知后開啟所述第一中斷;智能密鑰模塊,用于在所述USB接口模塊接收到所述報文命令后,解析所述報文命令, 并判斷處理所述報文命令需要的時間是否超過預設的時間,如果沒有超過所述預設的時間, 則對所述報文命令進行處理并保存處理結果,然后通知所述第一中斷模塊開啟所述第一中斷, 如果超過所述預設的時間,則在收到通知后對所述報文命令進行處理;第二中斷模塊,用于當所述智能密鑰模塊判斷出處理所述報文命令需要的時間超過所述 預設的時間時,通知所述智能密鑰模塊對所述報文命令進行處理,并開啟第二中斷,在所述 USB接口模塊接收到所述主機發送的后續報文命令后,通知所述智能密鑰模塊對所述后續報 文命令進行處理或者通過所述USB接口模塊通知所述主機延時處理所述后續報文命令,當所 述智能密鑰模塊將所有進行處理的報文命令均處理完成后,關閉所述第二中斷,然后通知所 述第一中斷模塊開啟所述第一中斷。
9. 根據權利要求8所述的智能密鑰設備,其特征在于,所述復合設備中至少有兩個虛擬 設備類型不同,所述第二中斷模塊具體包括開啟單元,用于當所述智能密鑰模塊判斷出處理所述報文命令需要的時間超過所述預設的時間時,通知所述智能密鑰模塊對所述報文命令進行處理,并開啟第二中斷;判斷單元,用于在所述開啟單元開啟所述第二中斷且所述USB接U模塊接收到所述主機 發送的后續報文命令后,判斷所述后續報文命令的類型;處理單元,用于當所述判斷單元判斷出所述后續報文命令是立即響應類型的報文命令時, 通知所述智能密鑰模塊處理所述后續報文命令,并在所述智能密鑰模塊對所述報文命令和后 續報文命令均處理完成后,通知關閉所述第二中斷,當所述判斷單元判斷出所述后續報文命令是其它類型的報文命令時,通過所述USB接口模塊通知所述主機延時處理所述后續報文命 令,并在所述智能密鑰模塊對所述報文命令處理完成后,通知關閉所述第二中斷;關閉單元,用于在收到所述處理單元發來的通知后,關閉所述第二中斷,然后通知所述 第一中斷模塊開啟所述第一中斷。
10. 根據權利要求8所述的智能密鑰設備,其特征在于,所述復合設備中的所有虛擬設備類型均相同,所述智能密鑰模塊具體包括解析單元,用于在所述USB接口模塊收到所述報文命令后,解析所述報文命令; 處理單元,用于判斷所述報文命令的類型,如果所述報文命令是立即響應類型的報文命令,則處理所述報文命令并保存處理結果,然后結束;如果所述報文命令是其它類型的報文 命令,則判斷處理所述報文命令需要的時間是否超過預設的時間,如果沒有超過所述預設的 時間,則對所述報文命令進行處理并保存處理結果,然后通知所述第一中斷模塊開啟所述第 一中斷,如果超過所述預設的時間,則在收到通知后對所述報文命令進行處理。
11. 根據權利要求10所述的智能密鑰設備,其特征在于,所述第二中斷模塊通知所述智 能密鑰模塊對所述后續報文命令進行處理或者通過所述USB接口模塊通知所述主機延時處 理所述后續報文命令,具體為通過所述USB接口模塊通知所述主機延時處理所述后續報文命 令。
12. 根據權利要求8所述的智能密鑰設備,其特征在于,所述第一中斷為通用串行總線 USB中斷,所述第二中斷為定時器中斷。
13. 根據權利要求8所述的智能密鑰設備,其特征在于,所述復合設備中的任一個虛擬 設備具體為人機接口設備HID、小型計算機系統接口 SCSI設備或芯片智能卡接口設備CCID。
全文摘要
本發明公開了一種提高智能密鑰設備穩定性的方法和智能密鑰設備,屬于信息安全領域。所述方法包括智能密鑰設備與主機建立連接,開啟第一中斷,向所述主機報告自身為復合設備,所述復合設備至少包括兩個虛擬設備,接收主機發送的報文命令,進行解析并關閉第一中斷,判斷處理該報文命令需要的時間是否超過預設的時間,若是則對該報文命令進行處理,并開啟第二中斷,在收到后續報文命令后進行處理或通知主機延時處理,關閉第二中斷再開啟第一中斷;否則對該報文命令進行處理并保存處理結果,再開啟第一中斷。所述智能密鑰設備包括USB接口模塊、第一中斷模塊、智能密鑰模塊和第二中斷模塊。本發明提高了智能密鑰設備與計算機交互時的穩定性。
文檔編號H04L12/56GK101420299SQ20081022767
公開日2009年4月29日 申請日期2008年11月28日 優先權日2008年11月28日
發明者于華章, 舟 陸 申請人:北京飛天誠信科技有限公司