關(guān)于CPU卡和SAM卡的相關(guān)知識
一般來說IC卡按照接口方式可分為接觸式卡、非接觸式卡、復(fù)合卡;按器件技術(shù)可分為非加密存儲卡、加密存儲卡和CPU卡。
加密存儲卡是對持卡人的認(rèn)證,只有輸入正確的密碼才能訪問或者修改卡中的數(shù)據(jù),最典型的是手機SIM卡的PIN碼;當(dāng)設(shè)置PIN碼后,開機必須輸入PIN碼,如果連續(xù)幾次輸入錯誤,就必須更高權(quán)限的PUK碼來修改PIN碼,如果PUK碼也連續(xù)輸錯,那就只有換卡了。
加密存儲卡保證了對持卡人的認(rèn)證,但是,在保證系統(tǒng)安全性上還不夠。
1. 密碼輸入是采用透明傳輸,在偽造的ATM機或者網(wǎng)絡(luò)上,這個密碼很容易被截取;
2. 邏輯加密卡無法認(rèn)證應(yīng)用是否合法;
3. 對于系統(tǒng)集成商來說,密碼和加密算法是透明的;
由此,引入了CPU卡;
CPU卡在三個方面保證了安全:
1. 對人:持卡者合法性認(rèn)證:持卡者需要輸入口令。
2. 對卡:卡的合法性認(rèn)證;內(nèi)部認(rèn)證。
3. 對系統(tǒng):系統(tǒng)的合法性認(rèn)證;外部認(rèn)證。
卡的合法性認(rèn)證:
CPU卡發(fā)送隨機數(shù)給卡(如地鐵卡),卡收到隨機數(shù)后用加密算法加密,將加密后的值傳給CPU卡,CPU卡解密并與發(fā)送的隨機數(shù)比較,如果相等,則認(rèn)為卡合法。
系統(tǒng)的合法性認(rèn)證(例如手持POS是否是合法的經(jīng)過認(rèn)證的廠商生產(chǎn)的):
CPU卡發(fā)送隨機數(shù)給POS自帶的卡或者模塊,POS自帶的卡或者模塊將隨機數(shù)加密后,傳回CPU卡,CPU卡解密并與發(fā)送的隨機數(shù)比較,如果相等,則認(rèn)為系統(tǒng)合法。這個過程在開機時做。
在加密和解密過程中,涉及到兩個因素,一個是加解密算法、一個是密鑰。加解密算法是公開的,在CPU卡中,有操作系統(tǒng)叫COS:Chip OS;由卡的生產(chǎn)商提供,并提供加解密算法。卡的生產(chǎn)商必須經(jīng)過專門的機構(gòu)認(rèn)證。密鑰則有發(fā)卡機構(gòu)掌握,層層發(fā)卡,權(quán)限不同。
SAM卡簡介
SAM卡:全稱是Security Access module;是一種特殊的CPU卡;存儲了密鑰和加解密算法。
目前SAM卡分了很多種:
PSAM卡:終端安全控制模塊,一般用于小額支付扣款中;
ESAM:廠商(系統(tǒng))的SAM卡,用于設(shè)備的認(rèn)證;
ISAM:用于充值;
在具體的實現(xiàn)中,會比較多樣化。例如,有的設(shè)備認(rèn)證并不是用ESAM卡,而是采用專用的模塊。這樣,就存在一個問題,即密鑰用軟件實現(xiàn),可能會存在密鑰泄露的問題;一種解決的方法是存儲多組密鑰,在隨機數(shù)中指定采用一組密鑰。
普通卡的發(fā)行一般采用密鑰對唯一的物理卡號加密的方式。