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