android - 从 Android 应用程序强制执行 BLE 安全性
问题描述
有没有办法从安卓的应用层强制执行 BLE 的安全性?
我了解芯片中实现的 BLE 堆栈。我想知道我们是否有办法控制 BLE 芯片中的参数以获得所需的安全级别。例如,在 BLE 中,加密密钥的大小是可以协商的。有没有办法只从应用程序强制执行加密密钥大小?
解决方案
不,你不能,在我看来,这是 API 的一大缺陷。
但是,如果您使用 L2CAP 通道,您至少可以要求对链路进行加密,但不是在特定级别。使用https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createL2capChannel(int)或https://developer.android.com/reference/android/bluetooth/BluetoothDevice#createInsecureL2capChannel(int)。
推荐阅读
- apache-kafka - Confluent 服务器集群中主题分区的异步复制
- vega-lite - Vega-Lite 重复图表中的缩放、跟踪
- javascript - jquery javascript将值传递给html页面
- python - 端口扫描器上的 Python 语法问题
- javascript - 如何解决javascript的功能
- c++ - MISRA 5-2-1 规则需要后缀表达式?
- spring-boot - 如何在 Spring Boot AMQP 中获取 Channel 对象并创建“x-consistent-hash”类型的 Exchange
- python - 我想使用python multiprocessing 处理多个文件,但下面的代码一次又一次地处理所有文件
- python - 获取每次提交的每个文件子集的更改/删除行数的快速方法
- android - 如何从 android pie 中的 content:// 方案中获取文件对象?