安全访问模块 (SAM) 有何用途?

Yug*_*jan 4 security rfid smartcard nfc contactless-smartcard

我正在努力了解安全访问模块(SAM)。为什么需要它们?与 RFID 读卡器一起使用时,基于 SAM 的方法和无 SAM 的方法有什么区别?

Mic*_*and 5

安全访问模块 (SAM) 是存储用于访问智能卡上的内容/应用程序的敏感密钥材料的安全位置。通常,SAM 本身就是一张智能卡。使用 SAM 背后的想法是,您可以在其上存储访问某些智能卡应用程序等的密钥,并且密钥永远不会再次离开 SAM(即攻击者无法从中提取原始密钥材料)。相反,每当读卡器应用程序访问智能卡应用程序时,它实际上让 SAM 与智能卡进行通信。这可以通过将 SAM 作为读取器应用程序和智能卡应用程序之间的代理来完成,以便将未加密/未经身份验证的读取器端通信包装到加密/经过身份验证的通信中,然后将其转发到智能卡应用程序:

                        未加密/加密/
                      未验证已验证/
读卡器应用程序 <-----------------> SAM <==================> 智能卡应用程序

请注意,事实上,实际的 APDU 的路由方式可能略有不同:

+--------------------+ +--------+ +-----+
| 读者申请| <----------------> | | <----------------> | |
+--------------------------------+ | 萨姆 | | |
                                          | 读者| | 萨姆 |
       +-------------+ | | | |
       | | <================> | | <================> | |
       | 代理| +--------+ +-----+
       | 应用 |
       | | +--------------------------------+ +------------------------+
       | | <===========> | 智能卡读卡器 | <===========> | 智能卡应用|
       +-------------+ +------------------+ +-------------- ---------+

或者,SAM 只能用于计算用于身份验证和加密的临时质询、响应、会话密钥等,然后由读取器应用程序将其集成到实际通信协议中。

在无 SAM 方法中,访问智能卡应用程序的关键材料需要可供读卡器应用程序本身使用。由于该应用程序通常在无法充分保护密钥材料的平台上运行,因此这将导致安全风险。