所以,这可能是一个非常特殊的情况,但我希望有人能帮助我。iOS上通过蓝牙进行类似TLS的加密?
我需要通过蓝牙与外设通话。我们也控制固件的设备。现在的问题是:我们需要确保没有人可以窃听,因为要发送的信息将是保密的。这意味着我们需要加密通信。
从我看到的是蓝牙LE 4.2支持加密,但我们必须能够支持比6s更旧的iPhone。这意味着:没有BLE 4.2并且没有内置加密。
换句话说:我们需要自己构建加密。外围开发者和我一致同意使用TLS握手来交流密钥交换,以减少我们可能发生的事情数量。
我已经花了最近几天寻找解决方案,以及如何解决这个问题。但是,这似乎是一个非常具体的案例,并不是很多人已经解决。我能找到的所有图书馆都依赖于套接字。我所能找到的有关iOS的套接字是IP网络,而不是蓝牙。
有没有人有这种蓝牙通信的经验?或者其他一些建议?也许我忽略了一些明显的解决方案?
谢谢:)
加密的GATT属性在iphone4s及以上版本和iPad mini及以上(即任何带有BLE的设备)上都受支持。 BLE 4.2对加密整个连接有更好的加密和支持,但它的主要作用是在配对期间防止MITM攻击。这对你来说是一个很大的风险吗? – Paulw11
你在外设中有多少内存/代码空间,以及你的cpu速度有多快? – Emil
Pre-v4.2 BLE确实支持AES-CCM加密,但对窃听功能的保护有限。即如果窃听者在iPhone和外设之间的配对过程中出现,它可以获得共享密钥并在未来的加密通信期间收听。如果窃听者在配对过程中不存在,它将无法破译加密的数据。 – Preeti