基于UKey数字证书实现身份认证
隨著電子商務在線交易的流行,一些網上銀行也推出了系列措施保證在線交易的安全,有使用軟證書的,也有使用UKey硬證書的,這都是數字證書的身份認證的應用。下面我就說下從數字證書生成到身份認證實現的過程。
一、PKI搭建
一套完整的PKI(Public Key Infrastructure公鑰基礎設施)系統包括了KMC(密鑰管理中心)、CA(Certificate Authority)、RA(Register Author注冊審批機構),KMC負責密鑰管理,CA是核心進行制作證書,RA系統提供證書業務申請審核。數字證書有RSA、ECC等算法的,按證書類型分個人證書、設備證書和機構證書,按用途有加密證書和簽名證書。完善的CA系統一般會提供證書申請制作、撤消、凍結、解凍、續費、更新業務功能,還有相應的OCSP(在線證書狀態協議)、CRL(證書撤消列表)查詢服務等。Windows本身有可以集成CA,可在IIS內提供證書申請制作服務,這樣搭建的CA適合較小范圍數字證書應用的使用。PKI系統包括如下組成部分。
二、證書激活
向CA發送證書制作申請后,證書制作完成后怎么交付給客戶使用呢?有一種方式是軟證書,返回pfx標準格式的數字證書,導入到客戶系統以供需要時選擇使用。軟證書是以文件形式保存的,并且可以標記允許再次導出,硬證書則是以UKey移動設備為載體,保存私鑰和數字證書。
證書激活是指證書從CA制作出來到交付給客戶以供使用的過程,軟證書使用比較簡單,一般CA在制作出證書會返回pfx標準格式的證書,只需要安裝到系統。UKey硬證書則需要將私鑰和數字證書導入到設備中,由于涉及到私鑰安全保護,UKey寫入證書私鑰時會使用加解密,UKey證書激活過程一般包括設備連接、驗證PIN碼、初始化導出公鑰、寫入數據,整個流程如下圖所示。
三、身份認證
數字證書寫入到UKey中怎么用?一般UKey設備廠商會提供API,另外還需要有相應的驅動程序,可以讓系統識別到UKey移動設備,提供相應的加解密簽名接口,如讀取UKey序列號、讀取加密簽名證書、簽名等,禁止直接讀取私鑰,并有相應安全策略保護。
通過UKey簽名可以實現身份認證,因為UKey中包含的私鑰就只有指定身份才能持有,拿使用UKey數字簽名登錄后臺為例,首先插入UKey設備,然后簽名隨機生成的驗證碼,得到簽名數據,再輸入用戶名一起提交到后臺,后臺先做驗證碼正確性檢查,然后再通過用戶名查詢定位數據庫中的用戶簽名證書記錄,使用用戶的簽名證書對用戶傳過來的簽名數據進行驗簽,如果驗證通過則證明是對應的用戶,從而實現身份認證過程。這種方式比傳統的口令認證更安全,甚至可以不需要用戶名就可以登錄驗證,用戶名是可以保存在數字證書信息中的,并且證書的序列號在同個CA中也是唯一的。身份認證實現的基本流程如下。
UKey設備身份認證為作為可隨身攜帶的智能密碼鑰匙,比使用軟證書更安全快捷。UKey設備只是存儲數字證書的一種介質,私鑰在設備里是牢牢保護的,用戶只需要保護好設備的使用安全,就可以達到更安全的目的。
總結
以上是生活随笔為你收集整理的基于UKey数字证书实现身份认证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 张小龙《微信背后的产品观》之PPT完整文
- 下一篇: nexus3 测试操作