小编and*_*eas的帖子

无需用户确认即可通过 NFC 进行蓝牙 OOB 切换(或:Android Beam 的工作原理)

我正在尝试在 Android 智能手机和 Linux 主机之间实现类似 Android-Beam 的行为。Android 智能手机(Galaxy Note 3、Android 4.4.2)接触连接到 Linux 主机的 NFC Dongle 并通过 NFC 交换蓝牙运营商数据,这样它就可以连接到同样连接到 Linux 主机的蓝牙 Dongle。

现在的问题是,Android 智能手机总是询问用户(我)是否真的想与蓝牙 Dongle 配对。在两个 Android 手机之间的 Android Beam 中,不会显示此用户确认,用户只需单击内容(即图片)即可发送它(这是我想要达到的行为)。我正在使用“nfctool”来嗅探 Android 手机传入的握手请求消息(请参阅http://pastebin.com/Dr0D0nqn)。根据 NFC 论坛的“使用 NFC 的蓝牙安全简单配对”文档(参见http://members.nfc-forum.org/resources/AppDocs/NFCForum_AD_BTSSP_1_0.pdf第 19 页),此握手请求应包含简单配对哈希和一个简单的配对随机化器,

所以我的问题是:

  • 首先,Android Beam 到底是使用 Secure Simple Pairing with OOB 还是其他机制?为什么两个 Android 设备之间的 Android Beam 可以在未确认配对的情况下工作?
  • 如果使用的是 SSP,为什么 HR 消息中缺少 SSP Hash 和 Randomizer?这可能是为什么我的配对需要用户确认的原因?
  • 如果 Android 使用另一种机制,那么 HR 消息大致是什么样子的?他们是否在握手请求中使用特殊类型名称(除了“application/vnd.bluetooth.ep.oob”)或其他任何内容,从而绕过用户对 BT 配对的确认?
  • 是否有任何可用的 Android Beam 技术文档(目前我找不到任何文档)?Android 开发人员的 NFC 指南 …

android bluetooth nfc android-beam

5
推荐指数
1
解决办法
2117
查看次数

标签 统计

android ×1

android-beam ×1

bluetooth ×1

nfc ×1