天天看點

商用密碼産品(密碼子產品)-密碼子產品接口一、定義二、密碼子產品接口三、密碼子產品接口類型四、密碼子產品接口舉例

一、定義

        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。

繼續閱讀