Answers:
macOS如何在不提示输入密码的情况下验证和保护蓝牙键盘之间的连接?
不仅是macOS,还需要在固件级别连接并加密键盘-如果不是,则无法在OS加载之前执行NVRAM重置。
但是,您不需要代码,因为现代的蓝牙键盘使用身份验证算法进行配对,并使用基于公共密钥生成的身份验证密钥来保护数据传输。
它是否仅使用首次信任?
否。它使用算法和128位生成的密钥来验证其身份。
是否可以强制macOS使用配对代码?
为什么?这可以追溯到2009年前的配对方法。这相当于在现代WiFi网络上启用WEP共享密钥。
您描述的用于配对蓝牙设备(示例中为键盘)的过程使用一种旧的(蓝牙2.1)身份验证方法,称为简单安全配对(SSP)。
基本上,SSP具有4种关联(配对)模型:
需要注意的最重要的一点是,SSP 不是加密密钥;它不是加密密钥。这只是彼此识别的配对机制。加密是通过公钥处理的。您输入的代码是要确保您要连接的设备。这不是安全。
从Bluetooth 3.0(2009年4月)开始,Bluetooth设备使用AMP密钥进行身份验证,从而自动执行上述过程。
AMP密钥派生 AMP链接密钥派生自蓝牙链接密钥。每当创建或更改蓝牙链接密钥时,AMP管理器就会在主机堆栈中生成通用AMP链接密钥(GAMP_LK)
认证方式
蓝牙设备身份验证过程采用质询-响应方案的形式。每个设备在身份验证过程中进行交互,以充当索赔者或验证者。索赔人是试图证明其身份的设备,而验证者是验证索赔人身份的设备。质询-响应协议通过验证密钥(蓝牙链接密钥)的知识来验证设备。
有4种加密模式
使用Bluetooth 2.1(2009年及以后的键盘)及更高版本的Bluetooth键盘会加密所有流量。