什麼是智能卡?
在許多加密協議中,一些資訊在智能卡內傳輸。那麼,什麼是智能卡?是實體卡嗎?它們在加密協議中用於什麼?
智能卡是小型攜帶式物理設備,通常是扁平的,採用傳統信用卡的格式(有時更小:例如手機中的 SIM 卡),嵌入:
- 具有提供永久數據保留的儲存器的集成電路;在當今的大多數智能卡中都使用EEPROM、快閃記憶體或FRAM 。
- 與讀取器設備的臨時耦合裝置,允許為該 IC 供電並與之通信;例如,可能是觸點,通常根據 ISO/IEC 7816-3 標準;或卡中的幾圈導電材料,形成一個工作頻率為 13.56 MHz 的感應迴路,通常符合 ISO/IEC 14443 標準。
- 禁止意味著根據某些策略限制對該記憶體的讀取或/和寫入訪問。這可以從幾個邏輯門到帶有 3DES、AES、RSA 和 ECDSA 加密加速器的微處理器。
有線邏輯智能卡
第一張商業上成功的智能卡是預付費電話卡,在法國的公共電話亭使用了 20 多年,取代了硬幣(這使得電話亭成為一個極具吸引力的目標)。它有 256 位記憶體,在EPROM中實現具有 21V 程式電壓的技術,外加一個物理保險絲。觸點允許復位一個 8 位地址計數器、遞增它、讀取選定的位以及對選定的位進行程式。它的記憶體訪問策略是:任何位都可以讀取;保險絲未熔斷時,可以對任何位進行程式(從 0 到 1);熔絲熔斷時只能程式最後 160 位(這是通過熔絲狀態的邏輯功能和地址計數器的三個高位來實現的);擦除(從 1 到 0,通過將裸 IC 暴露在紫外線下)擦除所有位,通常只發生在 IC 的後期製造階段。前 96 位包含發布資訊,在保險絲熔斷之前寫入。最後 160 位中的一些(由發布資訊定義)在仍被擦除時,每一個都代表一個特定的預付值。對這些位之一進行程式會減少智能卡中的剩餘值。擦除對對手沒有幫助,因為發布資訊在擦除後無法恢復。該資訊還受到校驗和的保護(一個 7 位欄位,其中包含該資訊的其他 88 位中 0 位的數量的二進製表達式;該損壞檢測系統使得在同一方向上更改任意數量的位會導致資訊無效)。
模擬欺詐(由於早期智能卡中缺少加密協議和密鑰,這可能是可能的,並且確實發生了)從來都不是一個嚴重的破壞性問題,儘管已經製造了大約 20 億張智能卡。這是羅蘭·莫雷諾(Roland Moreno)喜歡的那種,他經常被認為是在 1974 年左右發明了智能卡(完全披露:從 1983 年到 2012 年他去世,我們一直是親密的朋友)。
微處理器智能卡
許多當代智能卡具有內置微處理器,通常與長期儲存器位於同一晶片上,以程序而不是有線邏輯的形式實施訪問控制策略。因此,訪問控制策略幾乎可以是任意複雜的(包括包含在記憶體本身中,並且可以作為訪問控制策略的一部分進行更改)。該處理器可以是任何東西,從 1 MIPS 8 位 CPU 到更快的 32 位 RISC 核心。可以有用於加密算法的專用協處理器:DES/3DES、AES、RSA(以及其他基於 $ \mathbb{Z}_{n} $ )、ECDSA(和其他基於橢圓曲線的密碼學),具有針對側通道攻擊的複雜保護;具有可測試性功能的硬體TRNG + PRNG ;屏蔽入侵;異常操作條件的檢測器(屏蔽破裂、光、溫度、電源電壓故障……);匯流排加密;記憶體上的奇偶校驗或SECDED;也許兩個 CPU,通過硬體檢查,它們獲得相同的結果,以增加對故障注入攻擊的保護;和更多。
對於高端智能卡 IC 的遊覽(絕對推薦),請參見安全目標(備用連結),從第 20 頁的框圖開始。
智能卡中實施的訪問控制策略
作為一個共同特徵的說明,智能卡的永久數據儲存器可以包含個人辨識號和連續 PIN 顯示錯誤的計數器。如果連續 PIN 錯誤計數器達到 3,通常的 PIN 訪問控制策略將阻止 PIN 呈現;在每次 PIN 顯示時遞增計數器,然後如果 PIN 正確,則重置計數器並啟用某些功能,直到斷電:讀取或寫入記憶體的某些部分;或/和使用儲存器中的某些資訊作為加密 MAC的密鑰,允許智能卡成為質詢/響應協議的一部分。這樣的 PIN 政策使智能卡在沒有 PIN 的智能卡失去的情況下可以安全地防止誤用,並且具有很高的可信度(4 位 PIN 的風險為 0.03%)。
智能卡也可用作公鑰基礎設施中個人或伺服器憑證的容器,以私鑰的形式,在智能卡內生成或註入其中。該策略通常不包括允許私鑰離開智能卡的功能,限制該密鑰的使用,例如,提供給智能卡的消息的 RSA 簽名(散列)。如果智能卡連接到受損設備/PC,這可以防止密鑰機密性受損(但不會濫用)。
現代智能卡的訪問控制策略做了大量工作。例如,參見針對電子政務應用的這個(高度技術性的)兩 部分規範;或者(這相對簡單)與歐洲法規中指定卡車數字行駛記錄儀的卡有關的內容,在附件 1B、附錄 2 和附錄 11 中用於 RSA + 3DES 加密。
歡迎對應該添加的內容髮表評論!