一、定義
GM/T 0028中給出了接口的定義,接口是密碼子產品的邏輯入口或出口,為邏輯資訊流提供進出子產品的通道。
二、密碼子產品接口
GM/T 0028中定義了11個安全域,每個安全域都不是獨立存在的,就今天的密碼接口而言,與我們上一期文章中提到的密碼子產品邊界密不可分,密碼邊界内的組成部分才會與密碼子產品接口有關,不在密碼邊界内,自然不是密碼子產品的接口,是以密碼子產品邊界的劃分是至關重要的,密碼子產品邊界劃定錯了,會産生連鎖效應,就像SM4算法CBC模式運算,第一個明文分組計算錯誤,加密過程會把這個錯誤的影響擴散到後續的明文分組。
三、密碼子產品接口類型
從形态的角度來說,密碼子產品可以劃分為實體接口、邏輯接口兩個大類。實體接口是密碼邊界内可見形态的接口,比如USB接口、RJ45接口、HDMI接口、VGA接口、電源接口、led燈、液晶顯示屏等。邏輯接口了解比較抽象,主要就是為了實作某些功能調用的功能函數,比如data_enc()、data_dec等等。
(1)USB接口
USB接口通常作為優盤、鍵盤、滑鼠、智能密碼鑰匙等裝置的接入,優盤中的資料可以導入密碼子產品,此時USB接口就是資料輸入接口;當連接配接滑鼠、鍵盤等外設時,使用者會通過滑鼠鍵盤輸入指令,操作密碼子產品,此時USB接口就是控制輸入接口等等。
(2)RJ45接口
RJ45接口包括通信網口、控制口、管理口;通信網口一般是密碼子產品中資料通信的網絡通道,也是密碼子產品功能相關資料的主要接口,是以網口是網絡類裝置的主要資料輸入和輸出接口,控制口和管理口主要是控制輸入的接口。
(3)HDMI接口、VGA接口
一般情況HDMI和VGA是裝置主要的資訊輸出接口,一般是可視化界面的接口,通過這兩個接口可以直覺的觀察到密碼子產品的使用情況,是以這兩個接口也是主要的資料輸出、狀态輸出接口。
(4)電源接口
電源接口比較好了解,作為密碼子產品的供電接口。
(5)led接口
led接口是密碼子產品中的狀态輸出接口,這個對應還是比較明确的,一般伺服器裝置會有不同顔色的led燈,不同的顔色代表不同的含義,比如,綠燈亮起表明裝置狀态運作正常,紅燈亮起表明裝置資料庫運作錯誤,黃燈亮起表明存儲空間不足。
(6)邏輯接口
邏輯接口了解比較抽象,主要就是為了實作某些功能調用的功能函數,比如data_enc()、data_dec,一般來說,密碼子產品可能會沒有硬體接口,很少有産品沒有邏輯接口,但是不排除存在。邏輯接口應該和實體接口存在一定的映射關系,如果不同的邏輯接口複用同一個實體接口時,邏輯接口應該互相隔離。
四、密碼子產品接口舉例
不得不說,不同産品的密碼子產品接口千差萬别,差異性很大,是以我們隻舉一個簡答的例子,我們今天以智能密碼鑰匙為例子。
(1)資料輸入接口
實體接口:USB接口
邏輯接口:ULONG DEVAPI SKF_ImportCertificate(HCONTAINER hContainer, BOOL bSignFlag, BYTE* pbCert, ULONG ulCertLen)、ULONG DEVAPI SKF_ImportRSAKeyPair (HCONTAINER hContainer, ULONG ulSymAlgId, BYTE *pbWrappedKey, ULONG ulWrappedKeyLen,BYTE *pbEncryptedData, ULONG ulEncryptedDataLen)等等
(2)資料輸出接口
實體接口:USB接口
邏輯接口:ULONG DEVAPI SKF_ReadFile (HAPPLICATION hApplication, LPSTR szFileName, ULONG ulOffset, ULONG ulSize, BYTE * pbOutData, ULONG *pulOutLen)、ULONG DEVAPI SKF_ExportCertificate(HCONTAINER hContainer, BOOL bSignFlag, BYTE* pbCert, ULONG *pulCertLen)等等。
(3)控制輸入接口
實體接口:USB接口
邏輯接口:ULONG DEVAPI SKF_DeleteFile (HAPPLICATION hApplication, LPSTR szFileName)、ULONG DEVAPI SKF_CreateContainer (HAPPLICATION hApplication, LPSTR szContainerName, HCONTAINER *phContainer)等等。
(4)控住輸出接口
不涉及
(5)狀态輸出接口
實體接口:USB接口
邏輯接口:智能密碼鑰匙通過錯誤代碼值對狀态進行輸出,例如:
宏描述 | 預定義值 | 說明 |
SAR_OK | 0x00000000 | 成功 |
SAR_Fail | 0x0A000001 | 失敗 |
SAR_UnknownErr | 0x0A000002 | 異常錯誤 |
SAR_NotSupportYetErr | 0x0A000003 | 不支援的服務 |
SAR_FileErr | 0x0A000004 | 檔案操作錯誤 |
SAR_InvalidHandleErr | 0x0A000005 | 無效的句柄 |
SAR_InvalidParamErr | 0x0A000006 | 無效的參數 |
SAR_ReadFileErr | 0x0A000007 | 讀檔案錯誤 |
SAR_WriteFileErr | 0x0A000008 | 寫檔案錯誤 |
SAR_NameLenErr | 0x0A000009 | 名稱長度錯誤 |
SAR_KeyUsageErr | 0x0A00000A | 密鑰用途錯誤 |
SAR_ModulusLenErr | 0x0A00000B | 模的長度錯誤 |
(6)電源接口
實體接口:USB接口
以上關于密碼子產品接口的描述,僅供參考,也可私信作者進一步深入溝通,微信号:TYNNNL。