非接觸CPU卡與M1卡加密系統(tǒng)比較
文章出處:http://www.sgrivertours.com 作者: 人氣: 發(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、存儲單元(包括隨機存儲器RAM、程序存儲器ROM(FLASH)、用戶數(shù)據(jù)存儲器EEPROM)以及芯片操作系統(tǒng)COS。裝有COS的CPU卡相當(dāng)于一臺微型計算機,不僅具有數(shù)據(jù)存儲功能,同時具有命令處理和數(shù)據(jù)安全保護(hù)等功能。
(1)、非接觸CPU卡的特點(與存儲器卡相比較) 芯片和COS的安全技術(shù)為CPU卡提供了雙重的安全保證自帶操作系統(tǒng)的CPU卡對計算機網(wǎng)絡(luò)系統(tǒng)要求較低,可實現(xiàn)脫機操作;可實現(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的校驗機制,只能解決卡片對終端的認(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)注卡與機具間的加密認(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)證的機制,例如像建設(shè)部定義的電子錢包的交易流程,高可靠的滿足不同的業(yè)務(wù)流程對安全和密鑰管理的需求。對電子錢包圈存可以使用圈存密鑰,消費可以使用消費密鑰,清算可以使用TAC密鑰,更新數(shù)據(jù)可以使用卡片應(yīng)用維護(hù)密鑰,卡片個人化過程中可以使用卡片傳輸密鑰、卡片主控密鑰、應(yīng)用主控密鑰等,真正做到一鑰一用。
非接觸CPU卡加密算法和隨機數(shù)發(fā)生器與安裝在讀寫設(shè)備中的密鑰認(rèn)證卡(SAM卡)相互發(fā)送認(rèn)證的隨機數(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卡的隨機數(shù)MAC1,SAM卡發(fā)送給非接觸CPU的隨機數(shù)MAC2和由非接觸CPU卡返回的隨機數(shù)TAC,可以實現(xiàn)數(shù)據(jù)傳輸驗證的計算。而MAC1、MAC2和TAC就是同一張非接觸CPU卡每次傳輸?shù)倪^程中都是不同的,因此無法使用空中接收的辦法來破解非接觸CPU卡的密鑰。
3、非接觸CPU卡智能卡,可以使用密鑰版本的機制,即對于不同批次的用戶卡,使用不同版本的密鑰在系統(tǒng)中并存使用,達(dá)到密鑰到期自然淘汰過渡的目的,逐步更替系統(tǒng)中所使用的密鑰,防止系統(tǒng)長期使用帶來的安全風(fēng)險。
非接觸CPU卡智能卡,還可以使用密鑰索引的機制,即對于發(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) 硬密鑰:即在終端機具中安裝SAM卡座,所有的認(rèn)證都是由安裝在SAM卡座中的SAM卡進(jìn)行運算的,這樣在終端機具維修時,只要取出SAM卡座中的SAM卡,這臺終端機具就是空的了。所以所有的銀行設(shè)備都采用SAM卡的認(rèn)證模式。
(2) 軟密鑰:終端機具中沒有SAM卡座,這個密鑰的運算實際上是由終端機具完成的,這樣客戶的密鑰就等于存在終端機具中,廠家拿回終端機具維修時,極易造成密鑰流失。
總結(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卡是一種必然的選擇。