一種新的智能卡安全通信機制
文章出處:http://hz-huyue.com 作者: 人氣: 發表時間:2011年12月11日
摘要:通信協議的改進是目前智能卡通信安全的研究熱點之一,其目的是保障與終端通信的智能卡真實、可靠。而對于智能卡來說,現有安全體系并沒有建立起與終端通信的安全通信通道。這樣就使得攻擊者可以截獲、修改、偽造指令,從而危及智能卡安全。在智能卡原有安全體系的基礎上,增加安全會話要素的定義,通過結合原有安全狀態和安全屬性概念,可以建立起智能卡與終端之間的安全通信通道,從而形成了一種新的智能卡安全通信機制。
智能卡作為一種保障電子政務、電子商務安全的手段,其應用范圍越來越廣。美國ROCKVILLE 市場調研組最新發布了關于智能卡的RNCOS 報告[1],其報告表示在2012 年智能卡市場將增長13%。而且,單卡多應用是智能卡的發展趨勢。多應用智能卡與單應用智能卡相比,減少了數據的冗余,降低了使用成本。同時,多應用卡的安全性要求更高,需要保障各應用之間保持相互的獨立性[2]。如何兼顧可靠性和靈活性,如何兼顧使用過程中的便利和數據安全,這都是智能卡發展中需要解決的問題。智能卡的安全性由其安全體系加以保障, 對智能卡安全體系的研究目前主要集中在安全訪問控制模型和設備認證模型等方面。傳統的訪問控制技術都是建立在口令識別的基礎上,這種機制很容易導致用戶賬戶和密碼被竊取、口令被修改,以及傳輸過程中重要信息被竊取等問題。為了解決其不足,目前普遍采用了基于智能卡的訪問控制策略,以提高系統的安全性[3]。然而,考慮到個人終端容易遭到病毒木馬攻擊,終端很可能處于不安全的狀態。此時,當一個智能卡應用開始執行之后,如何鑒別當前發送指令的終端應用程序是否可信? 當前發送指令的應用程序是否就是之前通過智能卡安全體系驗證的應用程序? 這些問題無法通過傳統的智能卡安全體系加以解決。本文通過引入通信安全會話的概念,提出了智能卡安全會話的定義,并給出了完整的安全通信機制流程。
1 智能卡應用安全
1.1 智能卡安全體系
智能卡的安全體系是智能卡的COS(Card Operating System)中一個極為重要的部分,包括三大部分:安全屬性,安全狀態以及安全機制[4]:
1) 安全屬性是智能卡執行某個指令所需要的一些條件,只有智能卡滿足了這些條件,該指令才是可以執行的。
2) 安全狀態是指智能卡在當前所處的一種安全級別,這種安全級別是在智能卡進行完復位應答或者是在其處理完某操作指令之后得到的。
3) 安全機制是安全狀態實現轉移所采用的轉移方法和手段,通常包括通行字鑒別,密碼鑒別,數據鑒別及數據加密等。
1.2 智能卡內部文件安全體系
智能卡的安全體系在其內部文件管理上也得以體現。按ISO/IEC 7816 標準規定,智能卡中的數據在用戶存儲器中以樹型文件結構的形式組織存放[5]。智能卡文件的安全屬性是指對某個文件或者文件的一部分進行某種操作時必須達到的狀態,有時稱為訪問權限[6]。智能卡文件的訪問權限是在文件創立時指定的,例如,密鑰文件的安全屬性是在密鑰寫入時指定的。通過設置文件的安全狀態和安全屬性,可以有效地控制文件的讀寫操作,從而保證數據的私密性。
1.3 智能卡的應用控制流程
結合智能卡的安全體系和文件系統,我們可以將一個普通應用的具體流程表述如下:
1) 每個應用由一些具體的指令組成,這些指令通常都是對智能卡內文件的操作。指令的執行有一定的先后順序,后一個指令的執行必須建立在前一個指令完成的基礎上;
2) 和應用相關的每個智能卡文件擁有自己的安全屬性,這些屬性規定了指令對文件進行操作前應滿足的安全條件。在對文件進行操作前,智能卡COS 會檢查當前安全狀態是否滿足相應的安全條件;
3) 每個指令在訪問某個具體文件前,必須符合一定的安全條件。一旦該條件被滿足,指令就可以執行,并依據相應的安全機制改變文件當前的安全狀態;
4) 當指令執行發生錯誤或者一個應用的所有指令都執行完畢, 智能卡的安全狀態被重置為初始安全狀態。
以上描述的單一應用工作流程可以用圖1 表示。在應用結束前, 隨著指令的執行,文件的安全狀態被改變,指令所具備的文件訪問權限逐步提升,以滿足應用需要。
2 智能卡的安全會話
2.1 安全會話的提出背景
在智能卡安全體系的具體內容里,大部分實現都是基于對智能卡的身份認證,以保證終端的安全。從智能卡的角度來看,也面臨類似的安全問題,即如何確認當前發送指令的終端應用程序和上一次通過智能卡安全體系驗證的終端應用程序是同一個, 例如進行文件操作的指令是否是前一個改變文件操作模式的指令的合法后繼操作等。在圖1 所示的單個應用工作流程圖中,現有安全體系并不能保障是同一個應用導致的狀態遷移,從而可能存在以下攻擊方式:
1) 旁路攻擊:當合法進程以共享模式與智能卡交互、通過安全驗證后,智能卡安全狀態會提升并保持一定時間,在應用操作結束前,非法進程就會利用已提升的智能卡安全狀態訪問智能卡,甚至替換卡內的密鑰文件,阻止合法操作的順利進行等;如果完全禁止共享模式,則會影響多個應用同時對智能卡的訪問。
2) 中間人攻擊:攻擊者通過各種技術手段將攻擊軟件或硬件裝置放置在智能卡與終端合法應用程序之間,在智能卡和真正的應用程序之間傳遞消息,同時監視、篡改它們之間通信的內容。
2.2 安全會話
為了防止出現類似攻擊,考慮在現有智能卡安全體系中,引入通信安全會話的概念,增加安全會話要素,以此來提高智能卡與終端通信的安全性。
智能卡安全會話是指在一定時間內建立的、在智能卡與終端應用程序間的一種半永久性的、帶有自動回收機制的、交互式的信息交換方式。
安全會話將應用程序與自身發出的不同請求關聯起來,從而使得不同的應用程序的安全會話是相互獨立的;另外,安全會話一旦建立,就應當一直存在,直到應用程序操作結束,或者其他使得安全會話終止的情況出現。
智能卡安全會話解決了兩個主要問題:
1) 通信的唯一性。即在一個安全會話里,與智能卡通信的對象是確定的,不同的安全會話ID 標明不同的通信對象,來自同一終端的不同的應用程序對應不同的安全會話。
2) 通信狀態的一致性。在智能卡和多個應用程序通信時,保持安全會話狀態的一致性是很重要的;否則,當用戶在一個新的、而不是一開始保存安全會話信息的應用程序提交訪問請求的時候,智能卡會因為無法獲知原來的安全會話狀態而產生問題。安全會話的建立,使得不同應用程序與智能卡通信時所影響到的智能卡安全狀態之間彼此獨立,保障了通信狀態的一致性。
第1頁第2頁 |