AFC系統中IC卡用芯片的安全
文章出處:http://psychicreadingswithdeb.com 作者:魏輝 人氣: 發(fā)表時(shí)間:2011年09月23日
0 引言
北京市軌道交通線(xiàn)路自1971年發(fā)售車(chē)票接待乘客開(kāi)始,已有的3條線(xiàn)路一直采用人工售檢票。2003年12月31日地鐵13號線(xiàn)(城鐵線(xiàn))自動(dòng)售檢票系統的開(kāi)通使用結束了北京軌道交通無(wú)自動(dòng)售檢票系統的歷史,同時(shí)揭開(kāi)了北京軌道交通自動(dòng)售檢票系統全面發(fā)展的新篇章。2008年奧運會(huì )的成功申辦為北京軌道交通的發(fā)展提供了機遇,新線(xiàn)建設和既有線(xiàn)通過(guò)改造將全部采用自動(dòng)售檢票系統,屆時(shí)將形成軌道交通網(wǎng)絡(luò )化自動(dòng)售檢票(AFC)系統。IC卡是軌道交通自動(dòng)售檢票(AFC)系統的車(chē)票介質(zhì),而IC卡用芯片的安全性是IC卡安全性的基礎。
1 IC卡安全機制
IC卡(Integrated Circuit Card)又稱(chēng)集成電路卡或智能卡(Smart Card),IC卡用芯片是一種集成電路芯片,其安全性是IC卡安全性的基礎,在芯片的設計階段應提供完善的安全保護措施。一般來(lái)說(shuō),對IC卡用芯片的攻擊主要有以下幾種:
(1)通過(guò)電子顯微鏡對存儲器或芯片內部邏輯進(jìn)行掃描,直接進(jìn)行分析讀??;
(2)通過(guò)測試探頭讀取存儲器內容;
(3)通過(guò)從外部獲取的接口直接對存儲器或處理器進(jìn)行數據存??;
(4)再激活I(lǐng)C卡用芯片的測試功能。
IC卡用芯片的安全技術(shù)要從物理上防止以上攻擊,物理保護的實(shí)施強度以實(shí)施物理攻擊者所耗費的時(shí)間、精力、經(jīng)費等與其獲得的效益相比作為標準。在A(yíng)FC系統中,安全問(wèn)題主要包括以下幾個(gè)方面:
a.車(chē)票安全防止偽造、克隆、篡改、泄密、偷盜。
b.設備安全防止偷盜后對車(chē)票進(jìn)行加值或復制;防止被攻擊改變業(yè)務(wù)程序;防止被改變重要參數及數據;
c.數據安全 防止篡改、竊取、丟失、抵賴(lài);
d.系統安全防止攻擊、破壞,泄露重要信息。
對于IC卡單程票,經(jīng)過(guò)BOM、TvM等發(fā)售到乘客手中,到出站閘機進(jìn)行回收。在整個(gè)使用過(guò)程中,IC卡處于兩種狀態(tài):在系統運營(yíng)人員管理中,包括單程票的采購、初始化、發(fā)售、回收、循環(huán)運輸等環(huán)節;在乘客手中,從購買(mǎi)單程票到出站之間。對于IC卡儲值票,經(jīng)過(guò)BOM、TvM等設備發(fā)售到乘客手中后,將一直在乘客手中重復使用,直至被收回。兩種情況中,IC卡在乘客手中時(shí)有更大的不安全風(fēng)險。但是整體而言,單程票處在安全范圍內的比例要比儲值票大,尤其是儲值票,由于其儲值金額可能較大,所以被攻擊的可能性更大。
IC卡的安全由三個(gè)不同層次的安全保障環(huán)節組成,一是芯片的物理安全技術(shù);二是卡片制造的安全技術(shù);三是卡的通信安全技術(shù)。這三個(gè)方面共同形成卡的安全體系,保證卡片從生產(chǎn)到使用的安全。公開(kāi)密鑰基礎設施PKI能夠使位于世界上任何地方的兩個(gè)人通過(guò)互聯(lián)網(wǎng)來(lái)進(jìn)行通信,而且能夠保證通信雙方身份的真實(shí)性以及相互交換信息的安全性。IC卡和PKI之間的聯(lián)系在于密鑰及相關(guān)數字證書(shū)的存儲,卡片載有持卡人的數字證書(shū)和私有密鑰,可通過(guò)PKI技術(shù)實(shí)現身份識別和信息加密傳輸。這種技術(shù)對于實(shí)現智能卡的安全交易提供了更多的選擇。具體方法如下:
(1)通過(guò)燒斷熔絲,使測試功能不可再激活;
(2)高/低電壓的檢測;
(3)低時(shí)鐘工作頻率的檢測;
(4)防止地址和數據總線(xiàn)的截??;
(5)邏輯實(shí)施對物理存儲器的保護;
(6)總線(xiàn)和存儲器的物理保護層等。
2 儲值IC卡票的安全保證
AFC系統的儲值票使用符合ISO 14443TYPE A標準的Mifare@ 1 IC卡。Mifare 1 IC智能(射頻)卡的核心是Philips公司的Mifare 1 ICS50(一01,一02,一03,一04)系列微模塊(微晶片)。它具有先進(jìn)的數據通信加密和雙向驗證密碼系統;卡片制造時(shí)具有唯一的卡片系列號;卡片上內建8K EEPROM存儲容量并劃分為16個(gè)扇區,每個(gè)扇區劃分為4個(gè)數據存儲塊,每個(gè)扇區可由多種方式的密碼管理;卡片上還內建有增值/減值的專(zhuān)項的數學(xué)運算電路,具有防重疊功能,模塊與卡片通信時(shí)數據加密,每個(gè)扇區設有3套密碼及其認證和密碼存儲器。
Mifare 1卡認證過(guò)程是:由Mifare 1卡片向讀寫(xiě)器發(fā)送一個(gè)隨機數據RB;讀寫(xiě)器收到RB后向Mifare 1卡片發(fā)送一個(gè)令牌數據TOKEN AB,其中包含了讀寫(xiě)器發(fā)出的一個(gè)隨機數據RA;Mifare 1卡片收到TOKEN AB 后,對TOKENAB的加密部分進(jìn)行解密,并校驗第一次由(A)環(huán)中Mifare 1卡片發(fā)出去的隨機數RB是否與(B)環(huán)中接收到的TOKEN AB中的RB相一致; 如果(C)環(huán)校驗是正確的,則Mifare 1卡片向讀寫(xiě)器發(fā)送令牌TOKEN BA給讀寫(xiě)器;讀寫(xiě)器收到令牌TOKEN BA后將對令牌TOKEN BA中的RB(隨機數)進(jìn)行解密,并校驗第一次由(B)環(huán)中讀寫(xiě)器發(fā)出去的隨機數RA是否與(D)環(huán)中接收到的TOKEN BA中的RA相一致。如果上述的每一個(gè)環(huán)節都能正確通過(guò)驗證,則讀寫(xiě)器將對通過(guò)認證的卡片上的這個(gè)扇區進(jìn)行下一步的操作。同樣,卡片中的其他扇區由于有各自的密碼,想對其進(jìn)行進(jìn)一步的操作,也必須完成上述的認證過(guò)程。每個(gè)扇區都通過(guò)認證,整個(gè)過(guò)程才算完成。認證過(guò)程中的任何一環(huán)出現差錯,整個(gè)認證將告失敗,必須重新開(kāi)始。由于密碼的變化極其復雜,靠猜測密碼打開(kāi)卡片上的一個(gè)扇區的可能性幾乎為零。上述過(guò)程充分地說(shuō)明Mifare 1卡片的高度安全性與保密性。
Mifare 1卡片的存儲容量為8192 BIT X 1位字長(cháng),采用EEPROM作為存儲介質(zhì),整個(gè)結構劃分為16個(gè)扇區,編為扇區0~15,每個(gè)扇區有4個(gè)塊,每個(gè)塊有16個(gè)字節,每個(gè)扇區的塊3(即第4塊)包含了該扇區的密碼A(6個(gè)字節)、存取控制(4個(gè)字節)、密碼B(6個(gè)字節),是一個(gè)特殊的塊。其余三個(gè)塊是一般的數據塊。但扇區0的塊0是特殊的,是廠(chǎng)商代碼,已固化,不可改寫(xiě)。
在對Mifare 1卡進(jìn)行讀寫(xiě)時(shí),相應的軟件操作也同樣為卡片的安全性提供了保證。如在讀取Mifare 1卡片上的數據之前,必須證明它是被允許的,這個(gè)過(guò)程叫做認證操作??赏ㄟ^(guò)選擇秘密存儲在MCM中的RAM的密碼集中的一組密碼來(lái)進(jìn)行認證而實(shí)現??ㄆ鎯ζ鞯拿恳粋€(gè)塊都有指定的存取條件,這些存取條件根據密碼A或B(它們對整個(gè)扇區始終有效)而定。MCM能夠存儲3個(gè)密碼集KEYSET0,KEYSET1,KEYSET2,每一個(gè)KEYSET又包含了KEYA及KEYB等,以存取最高達32Kbit內存容量的MIFARE卡片。用戶(hù)必須在KEYSTACON(0B H地址)寄存器中指定一套密碼。要想對此種IC卡進(jìn)行攻擊的話(huà),必須要知道AFC Mifare 1 IC卡的數據存儲結構和密鑰,但這都不是很容易的。
3 單程IC卡票的安全保證
對于符合ISO14443 TYPE A標準的Mifar Ultra Light IC卡作為軌道交通單程票使用是足夠安全的。用UID+密鑰防止偽造,用動(dòng)態(tài)MAC鎖定防止篡改,用密鑰系統保證密鑰安全。利用Mifare Ultra light卡的全球唯一序列號(該序列號是燒制在卡片的EPROM上的,是不可修改的)與密鑰通過(guò)運算產(chǎn)生一個(gè)MAC,每次交易對MAC進(jìn)行認證。產(chǎn)生MAC的密鑰保存在SAM上,這樣想要克隆一張車(chē)票就需要克隆其全球唯一序列號,并得到保存在sAM上的密鑰,同時(shí)還要知道計算方法。所以能得到MAC的機會(huì )幾乎是不存在的。這樣只要通過(guò)密鑰系統保護主密鑰不流失就可以保證車(chē)票不被偽造。采用動(dòng)態(tài)MAC方式,即SAM卡計算,動(dòng)態(tài)MAC與CRC相結合的方法來(lái)實(shí)現關(guān)鍵數據不被篡改。動(dòng)態(tài)MAC計算就是在交互過(guò)程中加入SAM卡作為計算主體(密鑰系統由主密鑰卡多級分散后得到交易密鑰卡SAM卡,SAM 卡通過(guò)密鑰分散因子以及三重DEA算法保證其安全性),所有數據作為運算項目,每次對票操作完成后由SAM產(chǎn)生一個(gè)MAC,并寫(xiě)入票中,下次操作票時(shí)首先驗證MAC是否可以通過(guò)。由于sAM可以認為是安全的,MAC的計算可以放在SAM中,這樣可以認為MAC是安全。參與MAC計算的數據包括車(chē)票的唯一編號、車(chē)票的金額以及CRC結果碼。這樣如果金額被修改,下次就無(wú)法通過(guò)MAC計算。但是SAM送人MAC的數據量是有限的,并且數據多了速度會(huì )受到比較大的影響,所以增加二級安全保護措施,即CRC運算。當車(chē)票操作完成時(shí),對車(chē)票內的所有數據(除MAC碼和CRC結果碼)進(jìn)行CRC運算,并得到CRC結果碼,之后將CRC碼也作為MAC運算的數據項目之一送人SAM卡進(jìn)行運算。這樣票中的數據項目一旦被非法修改,CRC不會(huì )被通過(guò),可以發(fā)現。如果CRC算法被攻擊或偽造,MAC也無(wú)法通過(guò),因為MAC由SAM計算得到,SAM是由密鑰系統保證安全的,故攻擊者無(wú)法篡改票中的數據。
由于Ultra Light可直接修改數據內容,所以無(wú)法防止車(chē)票中的數據被讀取,但是SAM中的數據及流程是無(wú)法讀取的,而且系統泄露個(gè)別車(chē)票的數據內容不會(huì )帶來(lái)特別風(fēng)險,如果攻擊者分析得到車(chē)票的數據結構,但有動(dòng)態(tài)MAC作安全保證,也無(wú)法獲得非法利益,所以可以不采用特別的保護措施。
作者簡(jiǎn)介:魏輝(1969- ),男,工程師,北京市遠達建設監理有限責任公司,主要從事軌道交通AFC、ACC、TCC、OCC等的監督及監理工作。