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