非接觸CPU卡與M1卡加密系統(tǒng)比較
文章出處:http://xindazheng.cn 作者: 人氣: 發(fā)表時間:2012年02月19日
非接觸CPU卡與邏輯加密卡
1、 邏輯加密存儲卡:在非加密存儲卡的基礎(chǔ)上增加了加密邏輯電路,加密邏輯電路通過校驗密碼方式來保護(hù)卡內(nèi)的數(shù)據(jù)對于外部訪問是否開放,但只是低層次的安全保護(hù),無法防范惡意性的攻擊。
早期投入應(yīng)用的非接觸IC卡技術(shù)多為邏輯加密卡,比如最為著名的Philips公司(現(xiàn)NXP)的Mifare 1卡片。非接觸邏輯加密卡技術(shù)以其低廉的成本,簡明的交易流程,較簡單的系統(tǒng)架構(gòu),迅速得到了用戶的青睞,并得到了快速的應(yīng)用和發(fā)展。據(jù)不完全統(tǒng)計,截至去年年底,國內(nèi)各領(lǐng)域非接觸邏輯加密卡的發(fā)卡量已經(jīng)達(dá)到數(shù)億張。
隨著非接觸邏輯加密卡不斷應(yīng)用的過程,非接觸邏輯加密卡技術(shù)的不足之處也日益暴露,難以滿足更高的安全性和更復(fù)雜的多應(yīng)用的需求。特別是2008年10月,互聯(lián)網(wǎng)上公布了破解MIFARE CLASSIC IC芯片(以下簡稱M1芯片)密碼的方法,不法分子利用這種方法可以很低的經(jīng)濟(jì)成本對采用該芯片的各類“一卡通”、門禁卡進(jìn)行非法充值或復(fù)制,帶來很大的社會安全隱患。因此,非接觸CPU卡智能卡技術(shù)正成為一種技術(shù)上更新?lián)Q代的選擇。
2、非接觸CPU卡:也稱智能卡,卡內(nèi)的集成電路中帶有微處理器CPU、存儲單元(包括隨機(jī)存儲器RAM、程序存儲器ROM(FLASH)、用戶數(shù)據(jù)存儲器EEPROM)以及芯片操作系統(tǒng)COS。裝有COS的CPU卡相當(dāng)于一臺微型計算機(jī),不僅具有數(shù)據(jù)存儲功能,同時具有命令處理和數(shù)據(jù)安全保護(hù)等功能。
(1)、非接觸CPU卡的特點(與存儲器卡相比較) 芯片和COS的安全技術(shù)為CPU卡提供了雙重的安全保證自帶操作系統(tǒng)的CPU卡對計算機(jī)網(wǎng)絡(luò)系統(tǒng)要求較低,可實現(xiàn)脫機(jī)操作;可實現(xiàn)真正意義上的一卡多應(yīng)用,每個應(yīng)用之間相互獨立,并受控于各自的密鑰管理系統(tǒng)。存儲容量大,可提供1K-64K字節(jié)的數(shù)據(jù)存儲。
(2)、獨立的保密模塊 -- 使用相應(yīng)的實體SAM卡密鑰實現(xiàn)加密、解密以及交易處理,從而完成與用戶卡之間的安全認(rèn)證。
非接觸CPU卡安全系統(tǒng)與邏輯加密系統(tǒng)的比較
密鑰管理系統(tǒng)(Key Management System),也簡稱KMS,是IC項目安全的核心。如何進(jìn)行密鑰的安全管理,貫穿著IC卡應(yīng)用的整個生命周期。
1、非接觸邏輯加密卡的安全認(rèn)證依賴于每個扇區(qū)獨立的KEYA和KEYB的校驗,可以通過扇區(qū)控制字對KEYA和KEYB的不同安全組合,實現(xiàn)扇區(qū)數(shù)據(jù)的讀寫安全控制。非接觸邏輯加密卡的個人化也比較簡單,主要包括數(shù)據(jù)和各扇區(qū)KEYA、KEYB的更新,在期間所有敏感數(shù)據(jù)包括KEYA和KEYB都是直接以明文的形式更新。
由于KEYA和KEYB的校驗機(jī)制,只能解決卡片對終端的認(rèn)證,而無法解決終端對卡片的認(rèn)證,即我們俗稱的“偽卡”的風(fēng)險。
非接觸邏輯加密卡,即密鑰就是一個預(yù)先設(shè)定的固定密碼,無論用什么方法計算密鑰,最后就一定要和原先寫入的固定密碼一致,就可以對被保護(hù)的數(shù)據(jù)進(jìn)行讀寫操作。因此無論是一卡一密的系統(tǒng)還是統(tǒng)一密碼的系統(tǒng),經(jīng)過破解就可以實現(xiàn)對非接觸邏輯加密卡的解密。很多人認(rèn)為只要是采用了一卡一密、實時在線系統(tǒng)或非接觸邏輯加密卡的ID號就能避免密鑰被解密,其實,非接觸邏輯加密卡被解密就意味著M1卡可以被復(fù)制,使用在線系統(tǒng)盡可以避免被非法充值,但是不能保證非法消費,即復(fù)制一張一樣ID號的M1卡,就可以進(jìn)行非法消費?,F(xiàn)在的技術(shù)使用FPGA就可以完全復(fù)制?;谶@個原理,M1的門禁卡也是不安全的。目前國內(nèi)80%的門禁產(chǎn)品均是采用原始IC卡的UID號或ID卡的ID號去做門禁卡,根本沒有去進(jìn)行加密認(rèn)證或開發(fā)專用的密鑰,其安全隱患遠(yuǎn)遠(yuǎn)比Mifare卡的破解更危險,非法破解的人士只需采用的是專業(yè)的技術(shù)手段就可以完成破解過程,導(dǎo)致目前國內(nèi)大多數(shù)門禁產(chǎn)品都不具備安全性原因之一,是因為早期門禁產(chǎn)品的設(shè)計理論是從國外引進(jìn)過來的,國內(nèi)大部分廠家長期以來延用國外做法,采用ID和IC卡的只讀特性進(jìn)行身份識別使用,很少關(guān)注卡與機(jī)具間的加密認(rèn)證,缺少鑰匙體系的設(shè)計;而ID卡是很容易可復(fù)制的載體,導(dǎo)致所有的門禁很容易幾乎可以在瞬間被破解復(fù)制;這才是我們國內(nèi)安防市場最大的災(zāi)難。
2、非接觸CPU卡智能卡與非接觸邏輯加密卡相比,擁有獨立的CPU處理器和芯片操作系統(tǒng),所以可以更靈活的支持各種不同的應(yīng)用需求,更安全的設(shè)計交易流程。但同時,與非接觸邏輯加密卡系統(tǒng)相比,非接觸CPU卡智能卡的系統(tǒng)顯得更為復(fù)雜,需要進(jìn)行更多的系統(tǒng)改造,比如密鑰管理、交易流程、PSAM卡以及卡片個人化等。密鑰通常分為充值密鑰(ISAM卡),減值密鑰(PSAM卡),身份認(rèn)證密鑰(SAM卡)。
非接觸CPU卡智能卡可以通過內(nèi)外部認(rèn)證的機(jī)制,例如像建設(shè)部定義的電子錢包的交易流程,高可靠的滿足不同的業(yè)務(wù)流程對安全和密鑰管理的需求。對電子錢包圈存可以使用圈存密鑰,消費可以使用消費密鑰,清算可以使用TAC密鑰,更新數(shù)據(jù)可以使用卡片應(yīng)用維護(hù)密鑰,卡片個人化過程中可以使用卡片傳輸密鑰、卡片主控密鑰、應(yīng)用主控密鑰等,真正做到一鑰一用。
非接觸CPU卡加密算法和隨機(jī)數(shù)發(fā)生器與安裝在讀寫設(shè)備中的密鑰認(rèn)證卡(SAM卡)相互發(fā)送認(rèn)證的隨機(jī)數(shù),可以實現(xiàn)以下功能:
(1) 通過終端設(shè)備上SAM卡實現(xiàn)對卡的認(rèn)證。
(2) 非接觸CPU卡與終端設(shè)備上的SAM卡的相互認(rèn)證,實現(xiàn)對卡終端的認(rèn)證。
(3) 通過ISAM卡對非接觸CPU卡進(jìn)行充值操作,實現(xiàn)安全的儲值。
(4) 通過PSAM卡對非接觸CPU卡進(jìn)行減值操作,實現(xiàn)安全的扣款。
(5) 在終端設(shè)備與非接觸CPU卡中傳輸?shù)臄?shù)據(jù)是加密傳輸。
(6) 通過對非接觸CPU卡發(fā)送給SAM卡的隨機(jī)數(shù)MAC1,SAM卡發(fā)送給非接觸CPU的隨機(jī)數(shù)MAC2和由非接觸CPU卡返回的隨機(jī)數(shù)TAC,可以實現(xiàn)數(shù)據(jù)傳輸驗證的計算。而MAC1、MAC2和TAC就是同一張非接觸CPU卡每次傳輸?shù)倪^程中都是不同的,因此無法使用空中接收的辦法來破解非接觸CPU卡的密鑰。
3、非接觸CPU卡智能卡,可以使用密鑰版本的機(jī)制,即對于不同批次的用戶卡,使用不同版本的密鑰在系統(tǒng)中并存使用,達(dá)到密鑰到期自然淘汰過渡的目的,逐步更替系統(tǒng)中所使用的密鑰,防止系統(tǒng)長期使用帶來的安全風(fēng)險。
非接觸CPU卡智能卡,還可以使用密鑰索引的機(jī)制,即對于發(fā)行的用戶卡,同時支持多組索引的密鑰,假如當(dāng)前使用的密鑰被泄漏或存在安全隱患的時候,系統(tǒng)可以緊急激活另一組索引的密鑰,而不用回收和更換用戶手上的卡片。
非接觸CPU卡智能卡系統(tǒng)中,PSAM卡通常用來計算和校驗消費交易過程中出現(xiàn)的MAC碼,同時在計算的過程中,交易時間、交易金額、交易類型等交易信息也都參與運算,使得交易更安全更可靠。某些情況下,非接觸CPU卡智能卡系統(tǒng)中的PSAM卡還可以用來支持安全報文更新數(shù)據(jù)時MAC的計算,以及交易TAC的驗證。因此,與非接觸邏輯加密卡系統(tǒng)相比,非接觸CPU卡智能卡系統(tǒng)中的PSAM卡支持更廣泛的功能,也更為靈活、安全和復(fù)雜。通常非接觸CPU卡智能卡系統(tǒng)的PSAM卡還支持不同的密鑰版本。
而非接觸CPU卡智能卡的個人化通??梢苑譃榭ㄆ纯ê涂ㄆ瑐€人化兩個獨立的流程,前者創(chuàng)建卡片文件結(jié)構(gòu),后者更新個人化數(shù)據(jù),并注入相應(yīng)的密鑰。在信息更新和密鑰注入的過程中,通常都采用安全報文的方式,保證數(shù)據(jù)和密鑰更新的正確性和安全性。而且密鑰注入的次序和相互保護(hù)的依存關(guān)系,也充分體現(xiàn)了密鑰的安全設(shè)計,比如卡片主控密鑰通常被用來保護(hù)導(dǎo)入應(yīng)用主控密鑰,應(yīng)用主控密鑰通常被用來保護(hù)導(dǎo)入其他應(yīng)用密鑰,比如消費密鑰等。
4、非接觸CPU卡的密鑰實現(xiàn)方式:
(1) 硬密鑰:即在終端機(jī)具中安裝SAM卡座,所有的認(rèn)證都是由安裝在SAM卡座中的SAM卡進(jìn)行運算的,這樣在終端機(jī)具維修時,只要取出SAM卡座中的SAM卡,這臺終端機(jī)具就是空的了。所以所有的銀行設(shè)備都采用SAM卡的認(rèn)證模式。
(2) 軟密鑰:終端機(jī)具中沒有SAM卡座,這個密鑰的運算實際上是由終端機(jī)具完成的,這樣客戶的密鑰就等于存在終端機(jī)具中,廠家拿回終端機(jī)具維修時,極易造成密鑰流失。
總結(jié)以上所述,M1卡即邏輯加密卡采用的是固定密碼,而采用非接觸CPU卡智能卡采用的是動態(tài)密碼,并且是一用一密即同一張非接觸CPU卡智能卡,每刷一次卡的認(rèn)證密碼都不相同,這種智能化的認(rèn)證方式使得系統(tǒng)的安全性得到提高,特別是當(dāng)交易雙方在完成交易之后,收單方有可能擅自修改或偽造交易流水來達(dá)到獲利目的,為了防止終端偽造交易流水,系統(tǒng)要求卡片能夠產(chǎn)生由交易要素生成的交易驗證碼,在后臺清算時來對交易的有效性進(jìn)行驗證。非接觸式CPU卡則可以在交易結(jié)束時產(chǎn)生個交易驗證碼TAC,用來防止偽造交易。邏輯加密卡由于不具有運算能力,就不可能產(chǎn)生交易的驗證碼。
所以,從安全性的角度來看, 從IC卡邏輯加密卡升級到CPU卡是一種必然的選擇。