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