基于智能卡的X.509身份認證
文章出處:http://5052h112.com 作者: 人氣: 發表時間:2012年02月19日
摘 要:身份認證中的關鍵技術是身份信息的安全存儲、處理和傳遞,本文提出了一種基于智能卡的 X.509身份認證方案,設計了一套基于 X.509的身份認證協議,將智能卡作為存儲身份信息的載體,密碼運算都在智能卡內部進行,認證過程安全性好。在開放的網絡環境中,此方案可較好地防止中間人攻擊,驗證用戶身份。
主題詞:身份認證;智能卡;X.509協議
1引言
計算機網絡是一把“雙刃劍”,既可大大方便人們的工作、生活,又使不法分子非法竊取、篡改網絡信息成為可能。如何確保特定的資源被合法用戶訪問,成為保證網絡和信息安全的首要條件。網絡身份認證成為解決此問題的關鍵技術,它通過雙方交換一些可信物,證實身份的正確性。許多專家和學者都提出了一些有效的身份認證方法。
口令機制通過核對用戶名和口令驗證用戶身份,但口令易被猜測和截取。基于生物特征的認證機制利用用戶獨有生物特征鑒別身份,但基于此方案的設備造價高。基于智能卡的認證機制是一種雙因子身份認證方式,內部提供硬件保護措施和加密算法,可安全存貯用戶身份信息,進行密碼運算,整體安全性好,且易攜帶,實現一卡多用,應用較普遍。基于密碼技術的身份認證方法,主要是在認證過程中提供安全的認證協議,保證信息傳遞的安全性。基于X.509認證協議使用較廣泛。
2基于X.509協議的認證機制分析
X.509協議是一種強身份認證協議,它利用公鑰密碼技術,借助可信第三方權威機構――證書中心CA頒發的證書,辨別雙方的身份,實現身份認證。
2.1X.509身份認證原理
X.509認證協議中,密碼由互不相同的公鑰和私鑰構成,私鑰由用戶秘密保存,公鑰與用戶身份通過證書綁定,是公開的。證書是符合X.509規范,包括用戶的身份、公鑰、頒發證書的CA的身份和CA對證書的簽名等。若通信雙方都擁有自己的證書和私鑰,當一方要讓對方確認自己的身份時,可用自己的私鑰簽名認證消息,發送給對方。對方收到消息后,只需用發方的公鑰驗證簽名,如果能正確解開消息,則可認為發方具有合法身份。CA對證書的簽名可確保證書的可信性,當一方收到證書后,可通過驗證證書上的簽名,區別真偽,防止網絡上身份假冒。在實際應用中,還要采用一些防重放、防中間人攻擊等手段。
2.2X.509身份認證方式
X.509規定了單向、雙向和三向三種認證方式,提供不同層次的安全認證[1]。系統中用到的符號及認證過程的具體描述如下:
(1) A、B:主體A、B的身份信息。
(2) PA()、PB():主體A和主體B公鑰加密的信息。
(3) SA()、SB():主體A和主體B私鑰簽名的信息。
(4) tA、tB:主體A、B產生的時間戳,為雙方檢查消息延遲的參數。
(5) rA、rB:主體A、B發送的一次性隨機數,作為雙方檢查消息重放攻擊的參數。
X.509認證交換協議框圖如圖1。
假定認證雙方都知道對方的公鑰。單向認證僅為①步。在雙向認證中包括①和②兩步。三向認證將雙向認證的兩次的時間戳置為零或不送,而接收檢查時不檢查時間戳。第三步傳遞的數據為③。
單向認證通過A到B的單向通信,確認數據是A發送的。雙向認證增加了來自B的應答,A可識別B已收到自己發送的消息。這兩種認證方式加入了時間標記,可防止攻擊者重放攻擊,但要求雙方系統時間同步,技術上難以達到。三向認證協議中,雙方可以通過驗證返回的隨機數防止重放攻擊,技術上容易實現。三向認證協議安全性最好。基于X.509協議的認證技術,利用公鑰加密算法和數字證書對認證過程中傳遞的信息進行驗證和保護,私鑰不會在網絡上傳輸,不必在網上傳遞口令或指紋等敏感信息。攻擊者雙方交換的信息,可有效地保證通信雙方身份的真實性和不可抵賴性。
3基于智能卡的X.509身份認證方案
3.1智能卡的特點及功能
智能卡包括卡內操作系統 COS和算法庫兩個模塊。COS負責對所傳送的信息進行安全性檢查和處理,防止卡與終端之間通信數據被非法竊取或篡改,保證數據正確傳輸;管理芯片內存儲的各種數據;檢查接收到的命令的各項參數是否正確,執行相應操作。 [2][3]
智能卡可根據不同需要擴展密碼算法庫,實現下列密碼算法:
1) 對稱加密算法——DES算法、3DES算法、RC4、RC5算法;
2) 摘要(散列值)算法——SHA-1算法、MD5算法;
3) 非對稱加密算法——RSA算法、DSA算法、ECC算法。
本方案中COS可根據需要運行上面密碼算法,進行卡上的密鑰生成和信息加密、簽名、驗證運算。
3.2 智能卡安全機制分析
智能卡芯片內的文件分為MF、DF和EF三種。MF(主文件)是所有文件的根文件;DF文件是目錄文件;EF是基本文件,用來存儲具體的數據和記錄,也是COS命令所要操作的具體對象。
每個DF或MF下有且只有一個KEY文件,在任何情況下密鑰均無法讀出。在KEY文件中可存放多個密鑰,在滿足KEY文件的增加、使用、修改權限時,才可增加、使用和修改密鑰。每種密鑰具有其獨立性,用于一種特定功能的密鑰不可作為它用。因此可通過KEY文件,控制智能卡中存儲數據的安全性。
本設計中,EF分為密鑰、證書及識別用戶身份的 PIN碼;支持以下幾種密鑰:個人密碼(PIN)、外部認證密鑰、內部認證密鑰、Crypt密鑰、PIN解鎖密鑰、PIN重裝密鑰、應用維護密鑰等。整個系統,密碼運算、口令校驗均在智能卡內部完成,并且進出智能卡的信息進行安全性的檢查和處理。 [5]
3.3 基于智能卡的X.509身份認證系統
3.3.1基于智能卡的X.509身份認證系統體系結構
基于智能卡的X.509身份認證系統由認證客戶端、認證服務器、目錄服務器、密碼提供器、證書機構組成,如圖2所示。 [4] [5]
圖2 基于智能卡的X.509身份認證系統體系結構
證書機構(CA)管理用戶公鑰證書。從智能卡中導出公鑰,結合用戶提供的身份信息,生成公鑰證書,然后將公鑰證書寫入智能卡,發布至目錄服務器。管理證書撤銷列表。
第1頁第2頁 |