UKey學習


介紹

USB Key的中文大名是智能密碼鑰匙,它是一種USB接口的硬件設備,內置芯片,有一定的存儲空間,可以存儲證書和私鑰。凡是使用私鑰進行的運算,都是在USB Key中完成。USB Key可隨身攜帶,在需要使用時才接入電腦,進一步降低了私鑰外泄的風險。再加上通用性強,價格親民(硬件價格一般在幾十元左右),因此是使用最為廣泛的密碼安全工具之一。USB Key最常見的應用場景就是網銀了,前幾年幾大銀行采購的USB Key數量是以億計的,有設備廠商就是因此而上市。

用到USB Key的地方主要是數字簽名和私鑰解密

  • 在需要數字簽名時,業務系統將明文送到USB Key內部,由USB Key中的私鑰對明文的摘要值進行加密;
  • 在需要解密時,業務系統將密文送到USB Key內部,由USB Key中的私鑰對密文進行解密。由於USB Key的私鑰還有口令保護,所以在界面上會彈出對話框,要求用戶輸入口令。用戶輸入正確口令后,USB Key的硬件使用私鑰完成運算,並將結果返回給業務系統。

流程如下圖。

 

從開發的角度講,如果USB Key存儲的是RSA證書,那應用系統可基於CryptoAPI/CSP體系實現設備完全透明,也就是說應用系統不需要調用USB Key的任何接口,甚至不需要知道有沒有USB Key,只需通過標准的CryptoAPI接口,就可以使用Key中的私鑰和證書。

如果應用系統使用的是裝有國密算法證書的USB Key,則無法使用CryptoAPI/CSP體系,而需要調用標准的國密庫接口。不過現在支持國密算法的USB Key都支持標准的國密庫接口,也就是說應用系統只要開發一次,也可以使用多種國密算法USB Key。

當然,由於Windows的CSP體系不支持國密算法,應用系統還必須指明要使用的是哪一種或幾種USB Key,做不到完全透明。

參考資料

林林總總的密碼安全設備(一)

密碼學博客

包括:林林總總的密碼安全設備、國密SKF庫調用開發指南、

針對支持國密算法USB KEY設備的應用,國家頒布一個行業標准《智能密碼鑰匙應用接口規范》(GM/T0016-2012),市面上銷售的國密算法的USB KEY設備也都(其實也是必須)支持這個接口規范。因此,只要根據這個規范開發的應用程序,就可以兼容使用不同廠家及品牌的USB KEY產品。由於此規范中函數名稱都以SKF開頭,所以我們一般把按照此規范提供的設備開發接口庫叫做SKF庫或SKF接口。

在調用任何接口之前,都需要先加載所使用USBKEY設備的SKF庫文件,這個文件是由KEY廠商提供,

【Ukey】C#或者Java對Ukey的判斷操作

USkey全解析

包括概要、飛天Ukey介紹、證書導入、證書生產、證書格式轉換【Java版】

國密算法的EKey的使用

PCI/CA體系下使用USBkey實現認證與加密(一)整體架構

CSP編程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM