fox在BBS的精彩文章-2 
Smart Card Emulation

Smart Card 是符合 ISO7816 規範的一種 IC Card, 通常在 Smart Card
上面有 uP 與 O/S, 主機端 (HOST) 可透過標準定義的程序來存取它。

像 GSM SIM Card 與衛星電視收視卡都是 Smart Card 的一種。

Smart Card 定義卡中各個目錄與檔案的存取權限, 限制了 HOST 存取
卡上物件的權限, 某些物件需要有密碼才能存取, 有些則完全不能存取.
如 Private Key, GSM 的 Ki, 則需要透過 Challenge-Response 方式
由 Host 傳來 Challenge, 然後 Smart Card 運算完畢後傳回 Response.
透過這種方式可以避免通訊過程中遭受竊聽破解。

不過, Smart Card 仍然存在數種可能的破解方法, 
如:針測式、軟體式、竊聽式、試誤法、電流分析 等。

下面是實務上複製 GSM SIM Card 與衛星電視收視卡的過程,僅供學術研究
使用。

(1) GSM SIM 卡 (1999 實驗)

最麻煩的是要解開 A3A8 演算法使用的 Ki 這個 Private Key, 通常
只有卡的供應商才知道這個 Ki。手機也無法知道這個 Ki, 而是由 HLR
查詢 AuC 後, AuC 詢問一個亂數產生的 SRAND, 然後 SIM 卡運算出 
SRES 後, 透過 Air Interface 傳回給 AuC, AuC 在自己比對是否 SRES
正確。由於每次 SRAND 都不同, 除非知道 Ki, 否則無法複製 SIM card.

後來, 由於 A3A8 algorithm 被找到 short-cut, 所以在有限次的餵給
SIM card 特定的 SRAND 後, 可以拼湊出 Ki 的真正值。

使用的讀卡機為自製 Phoenix Smart Card Reader/Programmer, 如下圖



軟體使用 SIM_SCAN 即可從 SIM Card 中解出 Ki

接下來, 要取得空白卡, 不過一般個人並無法取得空白卡, 所以就有人利用
PIC 與 EEPROM 作成 Wafer 卡, 就是上圖中金色的卡片, 其實它的構造乃是將
die 裝在接點下方, 內部電路圖類同下圖。



這類的 Wafer Card 非常多, 常見的有

PIC16F84A + 24C16 EEprom
PIC16F877 + 24C64 Wafer Card
ATMEL 90S8515A + 24C64 EEprom
ATMEL 90S2343 + 24C16 EEprom

接下來只要把模擬程式灌到 PIC 中, 使用的燒錄機自製如下, 基本上只是一個
PIC Programmer.



然後透過前面的 Phoenix Programmer, 把資料寫到 EEPROM 中就完成了。

附註: 後來市面上賣的「一卡八號 SIM」原理都是一樣的,只是利用 PIN 
來選擇目前要使用的 Ki.

(2) 衛星電視收視卡 (2002/6 TVBS 與年代加密後實驗)

幾乎原理也是一樣, 除了演算法採用 Viaccess, 然後每塊卡上有 Master
Key (MK) K0~k7, 業者會廣播出合法用戶的密碼, Smart Card 收到密碼與
Master Key 演算後, 可解出收視用的 Operation Key K8~KF

廣播出來的加密節目則透過 Operation Key 解出內容。加密的亂數值約
每 10 秒會更動一次, Smart Card 需即時由 Operation key 演算出回應值,
否則畫面無法解出, 而造成停頓。

Smart Card 除了可使用上述的 PIC + EEPROM 來模擬外, 亦可使用 PC 執行
軟體來模擬。下圖乃是使用幾顆電晶體簡單構成的 Season Interface 透過
RS-232 連接 PC 後, 由 PC 執行軟體如 WallBanger 模擬 Smart Card 的情形。



解出的畫面如下:



PS: 大陸賣的盜版卡也是一樣使用 Wafer Card 來仿的。衛星直撥業者為了
反制盜版卡的行銷, 採用不斷更新 Operation Key 的方式來抵制。

盜版卡除非燒錄了 Master Key 而能夠自動更新 Operation Key, 否則
一段時間後, 衛星直撥業者更換 Operation Key, 盜版卡就失效了。
需要送回重燒 Operation Key, 或是手動由 DVB 遙控器更新。

但即使盜版卡燒錄了 Master Key, 多人共用一組 Master Key, 一旦該 Master 
被業者得知, 該 Master Key 也會被取消權限。無論如何, 購買盜版卡是不合法
也不值得的。

fox