歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機(jī)第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

關(guān)于電子單程雙程車票(卡)的數(shù)據(jù)安全性問題探討

文章出處:http://xianjuhong.com 作者:語馨 收編   人氣: 發(fā)表時間:2011年09月23日

[文章內(nèi)容簡介]:目前在各個城市的公共交通系統(tǒng)(地鐵、公交巴士等)中廣泛地使用了電子車票來作為進(jìn)出站的控制,其中對于最簡單的單程/雙程車票的應(yīng)用,一般我們會使用廉價的Mifare Light 卡(芯片)或上海華虹SHC1102卡(芯片)或復(fù)旦微電子FM11RF005卡(芯片)等來作為識別載體。這些車票的封裝形式、可能的物理形狀為一個圓形的“Token”籌碼等。

一.Mifare Light  卡  

    Mifare Light 卡的開發(fā)目的是為了在Mifare 技術(shù)平臺中,為了高度集中于對芯片的存儲器容量進(jìn)行優(yōu)化,滿足“small memory application”(小存儲容量應(yīng)用)而設(shè)計的一款Mifare家族系列產(chǎn)品。注意,由于Mifare Light 卡是Mifare家族系列產(chǎn)品中的一員,特別地,它是Mifare 1 S50卡片的一種轉(zhuǎn)換產(chǎn)品,即在卡片內(nèi)部的容量等方面采取了小型化,從Mifare1 S50的16Kbits(2Kbytes)縮小到Mifare Light 卡的384bits(48字節(jié)),但是Mifare Light 卡仍然保持了大部分的Mifare1 S50卡芯片的特性,因此,對Mifare Light 卡的讀寫操作,可以完全使用/兼容已經(jīng)應(yīng)用在Mifare 1 S50卡的讀寫設(shè)備。 

關(guān)于電子單程雙程車票(卡)的數(shù)據(jù)安全性問題探討

    相比于Mifare 1 S50卡,由于Mifare Light 卡在存儲器容量上得到了極大的優(yōu)化、縮小處理(小容量卡),因此在(性能)價格(比)上具有非常大的優(yōu)勢,但存儲容量的縮小,一般也只是適合于作為一個應(yīng)用的卡片載體(例如單程或雙程電子車票)。而Mifare 1 S50卡則可以適用在一些比較復(fù)雜的多個電子應(yīng)用的項(xiàng)目中,例如作為可以反復(fù)充值的地鐵/公交儲值卡等。 

    如下是Mifare Light卡的一些主要特性和技術(shù)指標(biāo): 

    1.卡片容量為384位(48字節(jié))的低功耗EEPROM存儲器 
    2.具有唯一的32位(4字節(jié))卡片序列號 
    3.含有16位(2字節(jié))的數(shù)值計數(shù)器(芯片中已含有可以防止數(shù)據(jù)被分割破壞的功能),如果加上需要反寫的數(shù)值計數(shù)器,總共占用8字節(jié)—64bits  
    4.128位(16字節(jié)—4頁)的用戶可編程序數(shù)據(jù)區(qū)(如果用戶不啟用上述的數(shù)值計數(shù)/校驗(yàn)功能,則數(shù)據(jù)區(qū)容量可達(dá)192位—24字節(jié)) 
    5.用戶可自定義數(shù)據(jù)存儲器中數(shù)據(jù)的讀/寫控制權(quán)限,有兩套密碼(KEYA和KEYB)來配合完成 
    6.讀寫距離:在10cm以內(nèi)(與天線有關(guān)) 
    7.卡片內(nèi)無需電源 
    8.Mifare Light卡兼容Mifare 1 S50卡的讀/寫設(shè)備模塊,表現(xiàn)在: 
    (a)工作頻率:13.56MHZ 
    (b) 通信速率:106KB波特率 
    (c)防沖突:同一時間可處理多張卡 
    (d)具有數(shù)據(jù)整體性校驗(yàn)功能(16bit的CRC,偶校驗(yàn),位編碼,位流計算,RF位通道監(jiān)控等) 
    (e)具有和Mifare 1 (S50)卡相同的認(rèn)證功能(authentication)和RF通道加密功能(RF channel encryption) 

    注意,上述第8條第(e)款的功能的啟用或禁止,對于Mifare Light卡和讀寫器設(shè)備之間的空中交換的卡片數(shù)據(jù)或讀寫器命令數(shù)據(jù)的加密特性有直接的關(guān)聯(lián)!如果讀寫器模塊的RF通道加密功能被禁止,則空中交換的數(shù)據(jù)將是以“明文”方式存在,一旦數(shù)據(jù)被在此非法截取,將威脅到卡片原始數(shù)據(jù)的安全保密特性!??! 

    如果是一張單程地鐵車票,這一威脅表現(xiàn)在:一張單程地鐵車票中的數(shù)據(jù)可以被準(zhǔn)確無誤地被截取。 

    如何避免這一安全保密性不受到威脅,在應(yīng)用系統(tǒng)開發(fā)階段,應(yīng)該在讀寫器模塊(例如RC530/531等)的相應(yīng)的RF通道寄存器設(shè)置中,必須啟用加密特性,設(shè)置相應(yīng)的寄存器數(shù)值?。?!也就是將卡片和讀寫機(jī)具的空中數(shù)據(jù)傳輸模式由“transparence mode”(“明文數(shù)據(jù)模式”)設(shè)置為“encryption mode”(“加密數(shù)據(jù)模式”),由此避免卡片原始數(shù)據(jù)的安全保密特性受到被截取的威脅。 

    如果處于“encryption mode”,即使卡片數(shù)據(jù)被截取,由于截取者很難從已截取的(加密的)數(shù)據(jù)中反向推倒出卡片中的原始數(shù)據(jù)(除非該截取者知道這一加密算法),從而保護(hù)了卡片中的原始數(shù)據(jù)的安全保密特性!?。?nbsp;

    如何設(shè)置讀寫模塊的專用芯片,例如RC500/RC531等,可以查閱相應(yīng)的文檔資料。一般地,我們應(yīng)該關(guān)注這些相關(guān)的寄存器的設(shè)置: 

Control Register (Addr=0x09);Channel/Redundancy Register  (Addr=0x22);Crypto1 Keys;LoadKey(Addr=0x19);Authent1(Addr=0x0C);Authent2(Addr=0x14);Working with the Transmit/Receive Command (Addr=0x1A, 0x1E,0x16);等等。如圖所示為相關(guān)的一些寄存器(RC530)內(nèi)部控制寄存器等。 

    如果控制寄存器(Control Register)中的第3個位(bit)Crypto1On被設(shè)置為“1”(在Mifare Light 卡片和讀寫器進(jìn)行相互認(rèn)證操作Authent2完成后),則,讀寫器和Mifare Light卡片進(jìn)行非接觸通信的空中數(shù)據(jù)將全部被加密,不再是明文傳輸。 

    舉個簡單的例子,如果單程車票(Mifare Light芯片)卡片中的錢包數(shù)據(jù)為5(元人民幣),則實(shí)際讀寫器接收到的空中數(shù)據(jù)將不是“0x05”,而是一個經(jīng)過了加密算法運(yùn)算后的數(shù)據(jù),例如可能為“0x1a2b3c”。由于一般人員不會知曉這一加密算法的構(gòu)造,因此,即使他非常不容易地截取拿到了這個數(shù)據(jù)“0x1a2b3c”,他也沒有辦法回塑、反推到具體的錢包數(shù)據(jù)為“5”元還是其它數(shù)額等。錢包的數(shù)據(jù)仍然是安全保密的。 

關(guān)于電子單程雙程車票(卡)的數(shù)據(jù)安全性問題探討

第1頁第2頁第3頁

    另外,作為一個非常專業(yè)的IC卡應(yīng)用系統(tǒng)開發(fā)人員,本身還必須對錢包數(shù)據(jù)(一次性的單程/雙程車票或反復(fù)使用的地鐵/公交儲值卡內(nèi)的錢包數(shù)據(jù))執(zhí)行“一卡一密”的錢包數(shù)據(jù)加密。加密的結(jié)構(gòu)和算法如下簡單說明一下。 

    加密算法:可以采用公開標(biāo)準(zhǔn)的DES算法或3-DES算法;(具體的算法程序等比較復(fù)雜,如果有興趣,可以與筆者聯(lián)系獲得。) 
    加密結(jié)構(gòu):如圖所示為相應(yīng)的一種典型的關(guān)系型加密結(jié)構(gòu)。我們可以把DES算法看作是一個“黑盒子”,內(nèi)部所有的數(shù)據(jù)和運(yùn)算是保密的、不可逆的。 

關(guān)于電子單程雙程車票(卡)的數(shù)據(jù)安全性問題探討

加密操作說明如下: 

    如果要求加密的錢包金額數(shù)據(jù)B=0x10(元),而該張單程車票的唯一卡號為A=0x0001, 控制密鑰為C=0xFFFF,則該張單程車票的加密后的錢包數(shù)據(jù)D(可能)=0x1a2b3c;(注意,一般從數(shù)據(jù)D是不可能推倒出數(shù)據(jù)輸入量B的準(zhǔn)確值的,這是由DES加密算法的“不可逆推特性”所決定的,否則不能作為加密算法!) 

    如果要求加密的另外一張單程車票的唯一卡號為A=0x0002,而所有其它的輸入量A和C都一樣(也即同樣在兩個單程車票中存入相同的錢包金額數(shù)據(jù)B=0x10(元)),則加密算法此時的輸出量D(可能)=0x2a3c4d;等等,但是絕對不可能是和前一張的輸出量D(=0x1a2b3c)相同!?。?agrave; 這一特性是由加密算法(DES或3-DES或RSA或其它算法)的“不同輸入量一定形成不同的輸出量”這一特性來決定的?。?! 

    盡管兩張單程車票的錢包金額相同,但實(shí)際存儲在單程車票內(nèi)部對應(yīng)的數(shù)據(jù)是完全不同的,也即達(dá)到了“一卡一密”的目的!如果有任何的數(shù)據(jù)截取行為發(fā)生,受到威脅的只是當(dāng)前的這張卡片(單程車票),整個應(yīng)用系統(tǒng)還是非常安全的、保密的!并且如果截取者要改寫錢包數(shù)據(jù)到這張卡片(單程車票),則如果他不知加密算法,不知該張卡片號(輸入量A)、具體錢包金額(輸入量B)和應(yīng)該寫入卡片的錢包金額(輸出量D)之間的關(guān)系,那么寫入的數(shù)據(jù)(輸出量D)是無法正確還原到輸入量B的。(讀寫器在讀到該數(shù)據(jù)D后將做DES逆算法,將算出的D和卡片發(fā)送的該數(shù)據(jù)D相互比較,如果不一致,則認(rèn)為卡片數(shù)據(jù)已遭篡改!) 

Mifare Light卡存儲結(jié)構(gòu) 

    Mifare Light卡共有384位,分為12頁,每頁為4個字節(jié)。存儲結(jié)構(gòu)如下:  

關(guān)于電子單程雙程車票(卡)的數(shù)據(jù)安全性問題探討

  ( 注:_b表示取反;AC-A_b為AC-A的取反數(shù)值  ) 

    1) 第0、1頁存放著Mifare Light卡的序列號等信息,只可讀。 
    2) 第2、3頁及最后A、B兩頁數(shù)據(jù)塊,可存貯一般的數(shù)據(jù)。 
    3) 和4、5頁為數(shù)值塊,可作為重要數(shù)據(jù)(例如錢包)使用,兩字節(jié)的值以正和反兩種形式存貯。只有減值操作,沒有加值操作。如果不做錢包使用,則可以做為普通的數(shù)據(jù)塊使用。 
    4)第6、7、8、9頁存儲著密碼A(6字節(jié))、密碼B(6字節(jié))及存取控制AC。 
    5)一次寫操作可以操作一個頁(4個字節(jié)),一次讀操作可以操作兩頁(8個字節(jié))。 
    6)第7頁中的2字節(jié)(AC-A和AC-A_b)、第9頁中的2字節(jié)(AC-B、AC-B_b)為數(shù)據(jù)存儲控制字節(jié),存儲控制字節(jié)以正寫和反寫的形式各存一次。 

    存儲控制字節(jié)AC-A和AC-B的數(shù)據(jù)格式如下,字節(jié)(byte)中每個位(bit)如果為“1”,則“使能”相應(yīng)的功能;反之,如果是“0”,則關(guān)閉相應(yīng)功能。 

關(guān)于電子單程雙程車票(卡)的數(shù)據(jù)安全性問題探討

    例如:如果AC-A的數(shù)據(jù)=“0xFF”=“11111111”b,則表示: 

      頁Data1:可讀、可寫;  
      頁Value:可寫;  
      AC-A:可寫;  
      Data2:可讀、可寫;  

二.上海華虹 SHC1102卡 

    上海華虹集成電路有限公司的 SHC1102 集成電路(IC)是非接觸式IC卡芯片系列中面向低成本應(yīng)用的一個產(chǎn)品,它能夠用小型天線完成與讀寫終端之間的射頻通信,其技術(shù)和測試標(biāo)準(zhǔn)符合ISO/IEC 14443-Type A 的國際標(biāo)準(zhǔn),具有非常強(qiáng)的經(jīng)濟(jì)性和可靠性。SHC1102 芯片適用于軌道交通AFC收費(fèi)系統(tǒng)中的可回收單程票、防偽無線電子標(biāo)簽、電子門鎖、身份識別及代幣籌碼等領(lǐng)域。 

    主要技術(shù)參數(shù)  

    1.工作頻率:13.56 MHz 
    2.通信速率:106k bps 
    3.調(diào)制方式:ISO/IEC 14443  Type A 
    4.工作溫度:-20℃至80℃ 
    5.存貯容量:512 bits  
    6.無電池:  無線方式傳遞數(shù)據(jù)和能量 
    7.讀寫距離:在距讀卡器天線0-40 mm區(qū)域內(nèi)能正確進(jìn)行數(shù)據(jù)交換和完成各項(xiàng)操作 
    8.采用半雙工通訊協(xié)議 
    9.在無線通訊過程中通過以下機(jī)制來保證數(shù)據(jù)完整  
     i.---每幀有16位CRC檢驗(yàn)  
     ii.---每字節(jié)有奇偶校驗(yàn)位  
     iii.---檢查位數(shù)  
     iv.---用編碼方式來區(qū)分l、0或無信息 
    10.數(shù)據(jù)安全性  
     i.---相互認(rèn)證  
     ii.---每張卡的序列號唯一  
     iii.---傳輸密鑰保護(hù) 
    11.靈活的的存儲結(jié)構(gòu)  
     i. ---512 位EEPROM (16 Blocks × 4 Bytes × 8 Bits )  
     ii. ---分為2個不同訪問條件的數(shù)據(jù)區(qū) ( DATA 1、DATA 2 )  
     iii. ---每個塊為最小訪問單位,由4個字節(jié)組成  
     iv. ---每個芯片可定義自己獨(dú)立的密鑰 (4 Bytes ) 
    12.數(shù)據(jù)保持時間大于10年 
    13.擦寫次數(shù)大于10萬次 
    14.典型交易時間小于200ms 

數(shù)據(jù)交易流程  

    當(dāng) SHC1102 芯片接收到讀寫器的指令后,經(jīng)過指令譯碼,通過控制邏輯進(jìn)行數(shù)據(jù)處理,并返回相應(yīng)的處理結(jié)果。 

    當(dāng)華虹 SHC1102 位于讀寫器的有效工作范圍之外時,芯片處于無電狀態(tài),不能進(jìn)行任何操作;當(dāng)其進(jìn)入讀寫器的有效工作范圍,芯片上電復(fù)位,進(jìn)入等待狀態(tài),在此狀態(tài)下可正確接收和響應(yīng)讀寫器發(fā)送的詢卡/應(yīng)答指令,并進(jìn)行相互認(rèn)證、讀、寫等操作。  

    數(shù)據(jù)操作指令 

    詢卡/應(yīng)答  

    讀寫器通過發(fā)出指令來確認(rèn)是否有華虹非接觸式IC卡產(chǎn)品(SHC1102)進(jìn)入其操作范圍,并通過應(yīng)答確認(rèn)產(chǎn)品的類型。并由產(chǎn)品類型確定相互之間的通訊協(xié)議和通訊速率??☉?yīng)在確認(rèn)被選中后返回卡的用戶碼(CID)。  

第1頁第2頁第3頁

 認(rèn)證 

    SHC1102進(jìn)入讀寫器的有效工作范圍并正確響應(yīng)之后,讀寫器與SHC1102標(biāo)簽之間要進(jìn)行相互認(rèn)證。只有都通過了認(rèn)證,讀寫器才能開始對卡進(jìn)行權(quán)限操作。(非權(quán)限讀操作無需認(rèn)證即可進(jìn)行)。 

    認(rèn)證過程如下:  

    (A) 讀寫器認(rèn)證標(biāo)簽:通過非權(quán)限讀指令獲得標(biāo)簽的序列號(UID)和應(yīng)用數(shù)據(jù)區(qū)1(DATA1)的數(shù)據(jù),判別其內(nèi)容和數(shù)據(jù)結(jié)構(gòu),驗(yàn)證標(biāo)簽的合法性。驗(yàn)證通過后,讀寫器將有關(guān)的數(shù)據(jù)按相應(yīng)算法進(jìn)行處理,產(chǎn)生密鑰發(fā)送給標(biāo)簽。 
    (B) 標(biāo)簽認(rèn)證讀寫器:標(biāo)簽在初始化時被寫入4個字節(jié)的密鑰,該密鑰由標(biāo)簽的序列號(UID)和應(yīng)用數(shù)據(jù)區(qū)1(DATA 1)中的有關(guān)內(nèi)容按相應(yīng)的算法運(yùn)算產(chǎn)生。通過驗(yàn)證(A)中讀寫器所發(fā)送的密鑰可確認(rèn)讀寫器的合法性。 

讀寫操作  

    在完成必要的認(rèn)證后,讀寫器就可以開始對SHC1102進(jìn)行讀寫操作了。 

    讀:讀一個塊,直接讀或經(jīng)認(rèn)證后讀 
    寫:寫一個塊,必須先通過認(rèn)證 

停止  

    將 SHC1102設(shè)置為停止等待狀態(tài)。 

存儲區(qū)結(jié)構(gòu)  

    SHC1102中的EEPROM存儲區(qū)容量為512 Bits,分成16個塊(Block),每個塊由4個字節(jié)組成,每個字節(jié)有8位。塊是存儲區(qū)的最小訪問單位。 

    SHC1102芯片中EEPROM存儲區(qū)的結(jié)構(gòu)如圖所示:  

制造商塊  

    塊0、塊1是特殊的數(shù)據(jù)塊,用于存放制造商代碼(MID)、客戶代碼(CID)、唯一序列號(UID),稱制造商塊。制造商塊中的數(shù)據(jù)由芯片制造商在生產(chǎn)過程中寫入,數(shù)據(jù)只讀,不可改寫。 

    · 制造商代碼(MID): 2 Bytes 
    · 客戶代碼(CID):   2 Bytes 
    · 唯一序列號(UID): 4 Bytes 

 密鑰塊  

    塊8專用于存放認(rèn)證的密鑰,稱密鑰塊,此塊存放的數(shù)據(jù)須通過認(rèn)證后才可讀或可改寫。 

     應(yīng)用數(shù)據(jù)區(qū) 1 ( DATA 1 ) 
    · 應(yīng)用數(shù)據(jù)區(qū)1 :塊2 ~ 塊7 (DATA 1) 
    · 訪問控制條件:讀 ―― 無條件; 寫―― 認(rèn)證 Key 

     應(yīng)用數(shù)據(jù)區(qū) 2 ( DATA 2 ) 
    · 應(yīng)用數(shù)據(jù)區(qū)2 :塊9 ~ 塊15 (DATA 1) 
    · 訪問控制條件:讀 ―― 認(rèn)證 Key; 寫―― 認(rèn)證 Key 

  注意事項(xiàng) 

    當(dāng)對密鑰塊中的數(shù)據(jù)進(jìn)行寫操作時,需要良好的操作環(huán)境(將標(biāo)簽置于可靠的讀寫區(qū)域中),以防止發(fā)生寫操作非正常中斷,造成該標(biāo)簽被自鎖而無效。 

    傳輸密鑰在芯片測試或標(biāo)簽出廠時寫入,其內(nèi)容可以由客戶指定;傳輸密鑰由廠商通過秘密途徑提供給標(biāo)簽的用戶或系統(tǒng)集成商。  

三.復(fù)旦微電子(512位非接觸式集成電路卡專用芯片)FM11RF005芯片卡  

    復(fù)旦微電子512位非接觸式集成電路卡專用芯片F(xiàn)M11RF005是低容量非接觸式集成電路卡芯片。采用0.6微米CMOS EEPROM工藝,容量為512bit EEPROM,內(nèi)含加密控制和通信邏輯電路,支持三重防偽認(rèn)證標(biāo)準(zhǔn),具有較高的保密性??蓮V泛適用于低成本的城市軌道交通單程票、各類計費(fèi)支付卡和數(shù)據(jù)采集系統(tǒng)。  

四.結(jié) 論
 

    從上述的一系列描述和分析,我們應(yīng)該可以看到,上述3種類型的卡(芯)片,即 

    ·Mifare Light 卡 
    ·華虹SHC1102卡、 
    ·復(fù)旦微電子FM11RF005卡 

    在安全保密特性上沒有很大的差異,特別是在作為單程/雙程車票的簡單應(yīng)用中,上述3種類型的卡(芯)片應(yīng)該都能完成相應(yīng)的功能。 

    但有一點(diǎn)是非常關(guān)鍵的,即在用戶應(yīng)用程序開發(fā)中,應(yīng)該將各自的安全保密功能盡可能地打、啟用,即進(jìn)行相應(yīng)的(讀寫機(jī)具芯片)寄存器設(shè)置和用戶自己的加密算法的應(yīng)用,盡量不使卡(單程/雙程車票)和讀寫機(jī)具之間通信時的數(shù)據(jù)為“明文”,而應(yīng)該是加過密的“密文”!(注意,有些讀寫機(jī)具芯片(例如RC500等)中的相應(yīng)加密位在缺省時的設(shè)置為“明文”,即不進(jìn)行加密,只有在相關(guān)設(shè)置之后,加密功能才能實(shí)現(xiàn)!) 

    此外,上述所有的這些芯片都基于ISO14443 Type A標(biāo)準(zhǔn),屬于10cm以內(nèi)的近距離識別。事實(shí)上,在軌道交通中,我們應(yīng)該朝著更為先進(jìn)、方便的遠(yuǎn)距離身份識別/電子支付這一目標(biāo)前進(jìn)。不必讓所有乘坐軌道交通的乘客每次進(jìn)/出都必須出示交通卡(刷卡)或投入單程/雙程票,取而代之的是乘客只需從特定的通道中走過即可,變得更為人心化,從而變得更為方便。希望我國的軌道交通應(yīng)用系統(tǒng)能在下一代產(chǎn)品應(yīng)用中更上一層樓! 

第1頁第2頁第3頁

本文關(guān)鍵詞:電子車票,地鐵車票,數(shù)據(jù)安全
回到頂部