1

我正在尝试使用 BLE 信标和 Web 服务器构建访问控制系统。

手机会在大门附近发送信标信号,信标将转发给服务器,以决定此人是否应该通过。

问题是在没有加密的情况下传输信标是不安全的,我需要对信标进行加密。

问题是:是否有用于 Web 应用程序的 API 来解析 Eddystone EID 加密信标而不使用谷歌网络服务?

另一个问题:Eddystone EID 是加密信标以进行访问控制(关于安全性、时间等)的好主意吗?

4

1 回答 1

2

Eddystone-EID 使用强哈希来保护您的信标传输免受欺骗或劫持。然而。它带来了非常复杂的实际成本,并且支持加密功能和实时时钟组件的硬件信标很少,这些信标需要生成将它们注册为 Eddystone-EID 所需的对称密钥。由于您使用的是手机,而不是硬件信标,因此您需要根据 Google 规范编写自己的注册加密函数,这并非易事。

据我所知,Google 的 EID 解析器没有公开可用的替代方案,因此如果您选择使用此技术,您必须向 Google 注册您的信标并信任他们的服务才能使您的解决方案正常工作。

在开发过程的早期,甚​​至在 Google 发布自己的解析器之前,我就开发了一个独立的解析器服务器来使用 Edsystone-EID。我的意图是将其发布给公众,但采用该技术根本不足以保证付出努力。 大多数公司都认为加密信标的缺点(部署复杂性、解析所需的网络访问、有限的硬件支持、专有锁定)超过了几乎所有用例的好处。

请注意,Eddystone-EID 不是灵丹妙药。信标信号仍然可以在小于标识符轮换周期的短时间间隔内被欺骗(可配置在几分钟到几小时之间。)

一种可能的替代方案是专有的 Gimbal 系统,它更易于使用,并提供自己的专有硬件信标,但在其他方面具有与 EID 相同的缺点。但是,它们只能使用自己的硬件信标,并且不提供客户端库来从手机传输 Gimbal 加密数据包。

无论您选择哪种方式,请确保您的用例确实需要这样做,并且在您亲身体验之前不要承诺解决方案。

于 2018-11-21T11:11:22.443 回答