|
摘要:智能IC卡在高速公路路網中的應用其安全性不容忽視,本文先提出了IC卡在高速公路聯網收費中的安全模型,然后分析了模型中IC卡面臨的威脅與攻擊,最后結合聯網收費的具體應用針對相應的攻擊給出了解決方法與策略。
關鍵詞:智能IC卡;安全模型;攻擊;安全
引言
智能IC卡的安全模型[5]是指在一個基于IC卡的應用系統中參與IC卡交易各方所組成的應用模型,模型中的各方因為相互間的功能聯系而形成了一個統一體,但模型內部各方的功能是有區別的,正是這種區別使得各方的功能分割后可能會導致安全問題。采用了文獻[5]中的模型,具體地分析了高速公路聯網收費系統中的IC卡安全模型并給出了相應的對策。
高速公路聯網收費系統中的收費信息來自IC卡,所以其安全是基于IC卡的安全性的,現行的路網收費系統存在著人工方式(MTC)和電子收費方式(ETC)的混合應用,根據應用的不同采用的IC卡的類型也不同,在聯網收費中IC卡的應用種類包括屬于車輛通行用戶卡的帶金卡、通行券、公務IC卡等和屬于系統用卡的身份IC卡、系統管理IC卡、密鑰IC卡等。在MTC方式中選用的是非接觸式Mfarel卡作為信息載體,在ETC方式中采用的是雙界面CPU卡以滿足以上2種方式的混合應用,雖然二者的安全機制不同,但無論采用何種IC卡,在這樣一個基于IC卡的安全的系統中如何建立一個安全模型是非常重要的,下面先提出聯網收費系統的可信任模型。
1路網收費系統中的模型分析
1.1IC卡應用中的可信任模型
在路網收費系統中根據參與方的功能不同,我們具體定義為如下圖1所示。
IC卡持有人 擁有IC卡的使有權,既包括合法使用者也包括非法攻擊者。
其中的模型成員說明如下。
信息控制方 控制IC卡內的數據及管理。在此處指在MTC中收費車道計算機的使用者或在ETC中路邊單元(RSU)的控制者。
終端設備 指與IC卡通信的外部設備。在MTC中指收費車道讀卡器或在ETC中指車載單元(OBU)。
發卡方 發行IC卡的部門。負責IC卡的個人化過程。
IC卡的制造商 生產IC卡的公司。負責寫入IC卡片操作系統(COS)及IC卡的初始化數據。
軟件開發商 負責IC卡應用軟件的開發,包括2次應用開發。
2.2 可信任模型中功能分割后參與方之間的攻擊分類
根據以上定義,模型中成員間的攻擊分類如圖2所示。
從圖2中我們給出了在模型當中成員間的攻擊,下面來具體分析。
1)終端對IC卡持有人和信息控制方的攻擊
路網中無論是Mifarel卡還是CPU卡,當持卡人將IC卡插入終端讀寫器后他和收費車道管理者都會相信讀寫器能與IC卡正常通信且是安全地進行的,但此處系統中可能存在著木馬攻擊即:當外部攻擊者將木馬程序放入未被懷疑的收費車道終端讀卡器后,這一點是容易做到的,此時當合法用戶將口令或個人信息從可信的程序中輸入時,特洛伊馬程序便在用戶全然不知的情況下獲取相關個人資料,以此可進行重放攻擊來進行信息欺詐。
2)IC卡持有人對終端的攻擊
此類攻擊最常見,可分為物理攻擊和邏輯攻擊。
物理攻擊 主要是利用IC卡的物理特性來對它進行模擬或干擾,包括模擬攻擊、偽IC卡攻擊分析攻擊。
模擬攻擊是人為模擬輸入輸出信號欺騙終端設備。這一點在接觸式IC卡中就容易做到。
偽IC卡攻擊是終端設備在讀寫IC卡的過程中,可能會有一定的時間間隔,在這個時間間隔之前,用合法的授權IC卡打開終端設備及其控制設備,并在寫入數據之前用偽IC卡替換真IC卡,使得所有的消費紀錄沒有寫入到真正被授權的IC卡上,而被紀錄在偽IC卡之中。
分析攻擊是將IC卡的電路進行分析,并利用較先進的儀器設備測試IC卡的各種密碼的位置和狀態字,從而破譯整個系統。
邏輯攻擊 指IC卡在正常的物理環境中使用時,敏感信息如個人密鑰,帶金卡的內部資金和密鑰卡的加密密鑰被通過探測來往于IC卡的比特流而獲得,從而打開各個受控設備,對系統進行實質上未經授權的訪問。
3)IC卡持有人對信息控制方進行攻擊
因為在路網收費系統中采用IC卡進行交易,所以IC卡內的信息數據存儲必須受到保護,但是攻擊者能以各種方式訪問IC卡。包括:帶到實驗室進行試驗,為了解IC卡的工作原理占有或破壞IC卡。此類攻擊有:錯誤分析、時分攻擊等。這樣攻擊者就構成了對要依賴于IC卡信息安全的信息控制方的攻擊。
4)IC卡持有人攻擊軟件開發商
此類攻擊主要指有惡意攻擊的IC卡持有人用適當的硬件對IC卡實行攻擊,以使IC卡不能裝入軟件開發商新的軟件,從而構成對軟件開發商的攻擊。
5)終端對發卡方的攻擊
因為終端設備控制著IC卡與發卡方之間的任何通訊,在這樣的情況下,終端總能篡改或拒絕紀錄交易等等,例如:車道終端讀卡器不能響應IC卡的請求,或雖然響應但對卡進行了不正常的操作。
6)發卡方攻擊IC卡持有人
指IC卡的發行方不遵守行業準則,利用其是發IC卡方的便利竊取IC卡內的信息,這一點發卡方是非常容易做到的,這樣就構成了對秘密的侵犯。尤其在本收費系統中用IC卡來代替現金的電子錢包其敏感性就更為突出。此外,從用戶的角度出發,發卡方要改變IC卡的初始狀態,這不僅會被視作一種攻擊,而且由此將帶來安全隱患,發卡方并沒有征得持IC卡人的意見,況且客戶也很難識別出來。
7)IC卡制造商對信息控制方和軟件開發商的攻擊
在路網收費系統中,由于要求一卡多用,且能跨平臺操作,不僅要使其能在WINDOWS9X/NT,DOS操作系統中使用而且也要求能在LINUX,UNIX操作系統中使用。同時希望能支持用VISUAL C++,VISUAL BASIC,JAVA,DELPHI等多種語言開發,這樣就產生了新的安全隱患將涉及到操作系統接口的安全,具體的IC卡操作系統的安全,開發程序的安全。IC卡中密鑰及認證基于隨機數的安全,如果制造商使用了性能極差的隨機數發生器,那么,由此帶來的安全隱患就是顯而易見的了。
2路網收費系統模型中IC卡抵抗攻擊策略
針對以上提出的IC卡在路網收費系統中可能遇到的攻擊,提出了如下的具體抵抗攻擊的對策。
在路網收費中對于木馬攻擊既可發生在IC卡終端上也發生在系統登錄上,有如下2種方案可用:一種是采用被稱作單通道設備驅動體系,使用這種體系的操作系統將會在任一特定時間只允許一個應用程序可以訪問系列設備(例如IC卡讀寫器),但是隨之而來的就是造成了使用IC卡的不方便,因為可信賴的多個程序就不能同時對IC卡操作。另外一種抵抗手段就是采用“一次一密”的策略即每次輸入口令都不同。這樣木馬程序即使獲得了當前的口令或密鑰也無法進行重放攻擊了,同時也可防止字典攻擊,但也相應增加了密鑰的管理復雜度。對于收費系統中管理員進行系統安全登錄認證可采用這2種方案。
對于終端的物理攻擊和邏輯攻擊,其核心一點就是讓攻擊者不能非法獲得IC卡內的敏感信息。要做到這一點,在路網收費系統的具體環境中采用如下的手段。
1)在IC卡的本身物理特性上,選用IC卡時確保其物理封裝的堅固耐用性,并且做到能夠承受相應的應力作用而不導致損壞;在IC卡的制造時,建議廠家采取如下的一些措施:在IC卡的制造過程中使用特定的復雜而昂貴的生產設備,增加偽造的難度。對IC卡的一些制造和發行參數嚴格保密,增強IC卡的包裝完整性,即給存貯器加上若干保護層,把CPU和存儲器做在IC卡內部的芯片上,選用一定的特殊材料防止非法對存儲器內容進行分析。在IC卡的內部安裝監控程序,以防止對處理器/存儲器數據總線的截聽,而且也可防治對IC卡的非授權的個人化。對整個制造與發行工序加以分析以確保每人能夠完整的掌握IC卡的制造和發行過程,防止內部人員犯罪。
2)在IC卡的邏輯安全上主要從具體的以下幾個方面進行考慮。
加密算法采用3DES加密算法,由于是傳統單DES的基礎上的迭代,其密鑰的長度從56比特擴展到112比特或168比特。破解密鑰的難度從256到2112或2168,大大地滿足了安全的需要。以上是基于對稱加密體制的,我們也考慮了非對稱加密體制RSA算法,它是基于一個大的質數難分解為2個質數的數學難題之上的。由于3DES在IC卡內的實現要比RSA更快速一些,基于收費的時間的要求,我們采用3DES作為加密算法,而用RSA來進行數字簽名。采用的3DES加密算法如下
使用雙長字節(16字節)密鑰K=(KLKR)將8字節明文數據塊加密成密文數據塊,如下所示
加密算法:Y=DES(KL)[DES-1(KR)[DES(KL[X])]]
解密算法:X=DES-1(KL)[DES(KR)[DES-1(KL[Y])]]
其中,DES[]表示用DES加密,DES-1[]表示用DES解密。
在完整性上,采用MAC信息鑒別碼,有2種方式,一種是機密性保護,即在每一筆交易結束后,對該交易數據先用DES加密再計算其MAC,從而以密文傳輸,較安全;另一種是不用加密而直接計算MAC,然后加到預發送信息的尾部,當接收者接到數據后,重新對信息內容計算出MAC值,并與報文尾部的MAC值進行比較,若相等則信息未被修改。
在防抵賴性上用數字簽名可以解決發收方的誠實而產生的爭執。由于對一個完整的明文信息進行簽名要花很長時間,因此,對明文先進行壓縮再簽名。簽名驗證過程如圖3所示。
在鑒別與認證上,采用對稱鑒別體制。因為路網收費系統中是人工收費和電子收費混合使用的,根據不同的方式采用的卡是不同的,但主要是采用非接觸式的IC卡(即Mifarel)用于人工收費方式,采用雙界面CPU卡用于電子收費方式,二者的安全機制是不同的。此外,在讀卡器的安全存取模塊采用了SAM卡,用于密鑰的管理。下面分別介紹。
對于Mifarel卡 采用3次相互認證機制完成終端和IC卡的相互認證。即
1)端讀取用戶卡的卡序列號,并送入加密運算SAM卡中。
2)AM卡用外部認證主密鑰對IC卡片序列號等數據進行加密,生成外部認證密鑰,即為某扇區的讀/寫密鑰,存放到SAM卡的臨時存儲區。
3)終端從用戶IC卡中取隨機數。
4)終端將隨機數送入SAM卡,同時SAM卡產生自己的隨機數,SAM卡用外部認證密鑰對這兩個隨機數加密,并將加密結果Dl送回終端。
5)終端用外部認證指令送加密結果Dl給用戶IC卡。
6)用戶卡用相應的某扇區的讀/寫密鑰對加密結果D1進行解密,并與相用戶卡本身產生的隨機數進行比較,若一致則轉到下一步。
7)用戶卡用相應的某扇區的讀/寫密鑰加密終端的SAM卡產生的隨機數、本身的隨機數和卡序列號,并將加密結果D2送回終端。
8)終端將加密結果D2送至SAM卡。
9)SAM卡用認證工作密鑰解密D2,并與SAM卡產生的隨機數進行比較,若一致,則表示3次相互認證成功。
對于雙界面CPU卡 在電子收費方式中有2種方案,即予處理方式和適時處理方式,在適時處理方式中的流程。
當裝有OBU的車輛經過ETC車道時,OBU與RSU進行相互認證,認證通過后,CPU卡與RSU進行相互認證。認證通過后,CPU卡與RSU之間相互通信,此時OBU僅充當發送和接受信息的載體,而不對數據進行處理。
預處理方式中的流程
當CPU卡插入到OBU時,OBU即對CPU卡進行認證,以判斷CPU卡的合法性,并從CPU卡讀取高速公路收費中的必要數據;當車輛通過ETC車道時,RSU與OBU之間進行相互認證,以確認0BU的合法性。認證通過后,RSU與OBU之間進行交換數據信息。此后,OBU再將數據寫入到CPU卡中。
二者其中的安全機制為OBU的安全模塊(SAM)存入認證密鑰、主控密鑰。CPU卡的主控密鑰等;予處理方式中OBU與CPU卡、RSU與OBU之間的認證是基于DES算法和隨機數,二者的無線傳輸線路上傳送的是密文和隨機數。認證的密鑰是存放在RSU和OBU的SAM中,適時處理方式中RSU對CPU卡,RSU與OBU進行認證,方法與上類似。只有認證后才可進行數據交換。
1)對于持卡人對信息控制方的攻擊,對于任何卡我們采取的是“一卡一密”的方式,這樣任何一張卡的密鑰泄露也不會構成對整個系統的信息安全威脅。另外在CPU卡的安全性方面主要是由其卡中的COS系統來實現的,COS中的密鑰文件(KEY文件)存放多個密鑰,記錄中規定了其標識、版本算法及密鑰的相關內容。KEY文件的內容不可讀出,但可用專門的指令修改,具有很高的安全性。在MIFARREl卡中利用其區域保護技術,將卡分為若干個存儲區,每區設定不同的訪問條件,如果訪問符合本區條件,才允許訪問,否則鎖定。例如自由訪問區內允許隨意讀、寫和修改,保護數據區內的讀、擦、寫受密碼保護;而保密區內存放的密碼則根本不允許讀寫和修改。對此區進行此類操作被視為非法入侵,即鎖定系統。這種方法可以有效地防止非法入侵者用讀寫器逐一探查存儲器內容。
2)對于IC卡持有人攻擊軟件生產方,對于此種攻擊抵抗在IC卡發行階段采用各種各樣的單項變換得到加強,這種單項變換可以保證軟件不被篡改,尤其對IC卡的制造方更為容易做到。
3)防范終端對發卡方的攻擊,認為這一點需要發卡方對終端十分了解,尤其對IC卡讀寫器的各項性能,指標及參數,事實上需要IC卡制造商的配合。這一點IC卡制造商必須保證終端設備的可靠性。
4)要防止發卡方攻擊IC卡持有人此類攻擊,重要的一點就是增加對發IC卡方的監督,建立一套可靠的機制嚴格約束發卡方對用戶敏感信息的權限,同時也可增加用戶對IC卡內的信息的透明度,使得用戶對自己的一些重要的存在IC卡中的數據及時了解,例如,在電子錢包中的金額的變化情況就是用戶最關心的部分。
5)對于制造商對信息控制方的攻擊,這一點關鍵之處就是注意選擇IC卡制造商,應選擇信譽好,技術可靠并在實際的應用環境得到嚴格測試的制造商。對其提供的各種操作平臺接口要進行安全控制,尋找該操作系統的安全漏洞和相應的補丁,這些需要管理者的經驗,此外對其提供的IC卡操作系統尤其要從安全的角度進行評價。在當前大多數使用隨機數的情況下,制造商提供的隨機數發生器是否是真正的隨機數應得到足夠的重視。不難看出,一個糟糕的IC卡制造商對整個基于智能IC卡的安全的系統是個極大的安全隱患。
3結束語
從上面對在高速公路路網中智能IC卡安全模型的分析與對策的討論,可以看出要確保智能IC卡在路網收費中的高度安全仍然需要做大量的分析工作,涉及到智能IC卡本身和其應用環境的安全,方方面面都要考慮、他是一個綜合的因素的結果。設計任何一個可靠的智能IC卡安全系統均需具體環境的支持、這一點總的來說就是要求智能IC卡的物理方面、邏輯方面和與具體使用環境的相互制約方面進行全面可靠的分析。只有這樣才能更好地抗擊非法攻擊,使得智能IC卡更好地發揮其應有的特長
來源:建筑節能網 |
|