蓝牙的特性
蓝牙拥有机密性、完整性和基于SAFER+分组密码的定制算法的密钥导出。蓝牙密钥生成通常基于蓝牙PIN,这是双方设备都必须输入的。如果一方设备(如耳机、或类似用户界面受限的设备)有固定PIN,这一过程也可能被修改。配对过程中,初始密钥或主密钥通过E22算法生成。 E0流密码也用于加密数据包、授权机密性,它是基于公共加密的、也就是之前生成的链路字或主密钥。这些密钥可用于对通过空中接口传输的数据进行后续加密,密钥有赖于双方或一方设备中输入的PIN。
蓝牙的安全性担忧
空中接口
这一协议在无需认证的2.402–2.480GHz ISM频段上运行。为避免与其他使用2.45 GHz频段的协议发生干扰,蓝牙协议将该频段分割为间隔为1MHz的79个频段并以1660跳/秒的跳频速率变化通道。1.1和1.2版本的速率可达723.1kbit/s。2.0版本 有蓝牙增强数据率(EDR) 功能,速率可达2.1Mbit/s;这也导致了相应的功耗增加。在某些情况下,更高的数据速率能够抵消功耗的增加。4 安全性担忧蓝牙2.1之前版本是不要求加密的,可随时关闭。而且,密钥的有效时限也仅有约23.5 小时。单一密钥的使用如超出此时限,则简单的XOR攻击有可能窃取密钥。
一些常规操作要求关闭加密,如果加密因合理的理由或安全考量而被关闭,就会给设备探测带来问题
蓝牙2.1版本从一些几个方面进行了说明:加密是所有非-SDP(服务发现协议)连接所必需的。新的加密暂停和继续功能用于所有要求关闭加密的常规操作,更容易辨认是常规操作还是安全攻击。加密必须在过期之前再刷新。链路字可能储存于设备文件系统,而不是在蓝牙芯片本身。许多蓝牙芯片制造商将链路字储存于设备—然而,如果设备是可移动的,就意味着链路字也可能随设备移动。
蓝牙的设置连接
任何设备都可以对其他设备发出连接请求,任何设备也都可能添加可回应请求的配置。但如果试图发出连接请求的设备知道对方设备的地址,它就总会回应直接连接请求,且如果有必要会发送上述列表中的信息。设备服务的使用也许会要求配对或设备持有者的接受,但连接本身可由任何设备发起,持续至设备走出连接范围。有些设备在与一台设备建立连接之后,就无法再与其他设备同时建立连接,直至最初的连接断开,才能再被查询到。
蓝牙的射程
蓝牙是一个标准的无线通讯协议,基于设备低成本的收发器芯片,传输距离近、低功耗。由于设备使用无线电(广播)通讯系统,他们并非是以实际可见的线相连,然而准光学无线路径则必须是可行的。射程范围取悦于功率和类别,但是有效射程范围在实际应用中会各有差异。
有效射程因传输条件、材料覆盖、生产样本的变化、天线配置和电池状态有关。多数蓝牙应用是为室内环境而设计的,由于墙的衰减和信号反射造成的信号衰落会使得射程远小于蓝牙产品规定的射程范围。多数蓝牙应用是由电池供电的2类设备,无论对方设备是1类或2类,射程差异均不明显,因为射程范围通常取决于低功率的设备。某些情况下,当2类设备连接到一个敏感度和发射功率都高于典型的2类设备的1类收发器上时,数据链的有效射程可被延长。然而多数情况下,1类设备与2类设备的敏感度是相近的。