gpt4 book ai didi

android - 在 NFC 操作模式之间进行选择

转载 作者:行者123 更新时间:2023-11-29 01:39:14 29 4
gpt4 key购买 nike

您可以在不同模式下对 NFC 进行编程。任务是发送双向消息。在 NFC 中,您可以使用多种组合操作模式来完成此操作:

  • 选项 1
    • 手机 > 读写器模式
    • 读卡器 > 卡模拟模式
    • 此选项使用 ISO-DEP (ISO/IEC 7816-4) 协议(protocol)
  • 选项 2
    • 电话 > 点对点
    • 读卡器 > 点对点
    • 此选项可以使用多个 P2P 协议(protocol),例如SNEP
  • 选项 3
    • 电话 > 卡模拟
    • 读卡器 > 读写器模式
    • 此选项使用 ISO-DEP (ISO/IEC 7816-4) 协议(protocol)

我有两个不同方面的问题:

使用方面

有了这三个选项,您就可以进行双向通信,基本上可以发送任何您想要的信息。为什么不在其他选项之上使用一个选项?

安全方面

从易受滥用(如窃听、数据破坏、数据修改和中间人攻击)的角度来看,安全性

我读过选项 3 (HCE) 也用于例如移动支付。当您使用数据加密等额外措施时,这是安全的选择,还是选项 1 也安全?

谢谢!

最佳答案

为什么会有不同的运行模式?

NFC 背后的最初想法是将现有标准(特别是 ISO/IEC 14443 非接触式智能卡技术和 FeliCa/JIS X 6319-4)结合到一个系统中,该系统既可以与现有的转发器/智能卡/标签通信,也可以与现有的读卡器基础设施通信并且可用于与专用 NFC 设备轻松通信。

因此,最初的 NFC 标准 (ISO/IEC 18092) 定义了基于这些现有协议(protocol)的点对点通信模式。除了向后兼容之外,NFC 标准还允许两个 NFC 设备(自动)握手两个 NFC 设备之间的连接。这在读卡器+卡设置中是不可能的:两个读卡器或两张卡都不能相互通信,因此必须在读卡器/卡场景中预定义角色。

因此,最初,读写器模式仅用于访问 NFC 标签(无源数据存储设备)和可能的非接触式智能卡。卡模拟模式(基于 HCE 或 SE)旨在与现有的 ISO/IEC 14443(或 FeliCa)基础设施(例如,在发展为 NFC 之前已经存在的读卡器)进行交互。并且专门为 NFC 设备之间的通信引入了点对点模式。

为什么现在所有模式都可以用于几乎任何场景?

猜测这一发展的驱动因素之一是 Android 上的点对点模式缺乏 API 支持。在 Android 上,点对点模式只能通过 Android Beam 访问,因此不能真正用于双向通信。另一个因素可能是点对点模式协议(protocol)栈比读写器模式更复杂(NFC-DEP + LLCP (+ SNEP) + 应用程序协议(protocol)与 ISO-DEP + 应用程序协议(protocol))。

所以选项 1 之所以被使用主要是因为它是(在 Android 4.4 之前)通过 NFC 实现双向通信的唯一选项。自 Android 4.4 以来,选项 3 也可用于构建类似的场景。

选项 3 是否比其他选项更安全?

不,一点也不。在这三种情况下,安全性都必须由应用层来处理。底层通信协议(protocol)不采用任何加密/完整性保护等。机制。

移动支付首选选项 3 的原因仅仅是向后兼容性方面:使用 HCE,您可以实现与现有非接触式智能卡读卡器交互的应用程序(例如,因为它们用于 EMV 支付系统)。

关于android - 在 NFC 操作模式之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25823197/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com