Yug*_*jan 4 security rfid smartcard nfc contactless-smartcard
我正在努力了解安全访问模块(SAM)。为什么需要它们?与 RFID 读卡器一起使用时,基于 SAM 的方法和无 SAM 的方法有什么区别?
安全访问模块 (SAM) 是存储用于访问智能卡上的内容/应用程序的敏感密钥材料的安全位置。通常,SAM 本身就是一张智能卡。使用 SAM 背后的想法是,您可以在其上存储访问某些智能卡应用程序等的密钥,并且密钥永远不会再次离开 SAM(即攻击者无法从中提取原始密钥材料)。相反,每当读卡器应用程序访问智能卡应用程序时,它实际上让 SAM 与智能卡进行通信。这可以通过将 SAM 作为读取器应用程序和智能卡应用程序之间的代理来完成,以便将未加密/未经身份验证的读取器端通信包装到加密/经过身份验证的通信中,然后将其转发到智能卡应用程序:
未加密/加密/
未验证已验证/
读卡器应用程序 <-----------------> SAM <==================> 智能卡应用程序
请注意,事实上,实际的 APDU 的路由方式可能略有不同:
+--------------------+ +--------+ +-----+
| 读者申请| <----------------> | | <----------------> | |
+--------------------------------+ | 萨姆 | | |
| 读者| | 萨姆 |
+-------------+ | | | |
| | <================> | | <================> | |
| 代理| +--------+ +-----+
| 应用 |
| | +--------------------------------+ +------------------------+
| | <===========> | 智能卡读卡器 | <===========> | 智能卡应用|
+-------------+ +------------------+ +-------------- ---------+
或者,SAM 只能用于计算用于身份验证和加密的临时质询、响应、会话密钥等,然后由读取器应用程序将其集成到实际通信协议中。
在无 SAM 方法中,访问智能卡应用程序的关键材料需要可供读卡器应用程序本身使用。由于该应用程序通常在无法充分保护密钥材料的平台上运行,因此这将导致安全风险。