身份認證是指通信雙方身份的可靠驗證。經過身份驗證的一方向驗證者發起身份驗證請求,并同時提交自己的身份信息。authenticator響應身份驗證請求,驗證經過身份驗證的一方提交的身份信息,并將身份驗證結果返回給經過身份驗證的一方。在這個過程中,身份信息一般是通過網絡傳輸的。由于網絡開放性的特點,身份信息在傳播過程中可能會泄露。因此,認證方的身份信息一般不直接傳輸,而是加密后再傳輸,即使被攻擊者截獲了加密的信息,攻擊者也無法解密信息來獲取認證方的身份信息。這就要求用于身份認證的密碼算法具有足夠高的安全強度。
基于智能卡的身份認證系統的主要認證過程在智能卡中完成。相關的身份信息和中間操作結果將不會出現在計算機系統中。為了防止智能卡被盜,智能卡一般為用戶提供個人身份信息驗證功能。只有輸入正確的身份資料密碼(PIN),才能使用智能卡。這樣,即使智能卡被盜,智能卡也不會被使用,因為小偷不知道正確的身份代碼。智能卡與密碼技術的結合提高了基于智能卡的身份認證系統的安全性。
基于智能卡的身份認證系統采用基于共享密鑰的身份認證協議。假設驗證者和被驗證者共享一個密鑰K。
濟南門禁系統身份認證過程如下:
(1)認證方向認證方發起認證請求,并提供自己的ID。
(2)驗證者首先查找合法用戶列表中是否存在ID。如果沒有,則停止以下操作并向經過身份驗證的一方返回錯誤消息。如果有IDI,認證者隨機生成一個128位隨機數n,并將其傳遞給認證方。
(3)認證方接收到128位隨機數n后,將n發送到智能卡的輸入數據寄存器,并發送身份信息加密命令。智能卡使用存儲在硬件中的共享密鑰K,通過Rijndael算法對隨機數n進行加密,加密后的結果存儲在輸出數據寄存器中。
(4)認證方從智能卡輸出數據寄存器中獲取加密數據,并將其傳輸給認證方。認證者還通過智能卡用共享密鑰K加密隨機數n。如果加密結果與經過身份驗證的一方發送的數據一致,則將識別經過身份驗證的一方的身份。否則,將無法識別經過身份驗證的一方的身份。
該過程實現了認證方對認證方的單向認證。在某些需要相互身份驗證的情況下,可以在相同的操作過程之后完成相互身份驗證。由于每個身份驗證選擇的隨機數不同,因此可以防止攻擊者重復播放加密的身份信息。