蓝牙技术是一种新兴的无线网络标准,它基于芯片提供短距离范围的无线跳频通信。蓝牙标准定义了一系列安全机制,从而为近距离无线通信提供了基本的保护。它要求每个蓝牙设备都要实现密钥管理、认证以及加密等功能。
蓝牙采用的安全技术
蓝牙技术标准除了采用上述的跳频扩频技术和低发射功率等常规安全技术外,还采用内置的安全机制来保证无线传输的安全性。蓝牙技术标准中定义了三种安全模式:无安全要求、强制业务级安全、强制链路级安全。
安全模式1:为无安全机制的模式,在这种模式下蓝牙设备屏蔽链路级的安全功能,适于非敏感信息的数据库的访问。这方面的典型例子有自动交换名片和日历。
安全模式2:提供业务级的安全机制,允许更多灵活的访问过程。在这种模式中,蓝牙设备在信道建立后启动安全性过程,也就是说它的安全过程在较高层协议进行。
安全模式3:提供链路级的安全机制,链路管理器对所有建立连接的应用程序,以一种公共的等级强制执行安全标准。在这种模式中,蓝牙设备在信道建立以前启动安全性过程,也就是说它的安全过程在较低层协议进行。
密钥管理
蓝牙系统用于确保安全传输的密钥有几种,其中最重要的密钥是用于两个蓝牙设备之间鉴权的链路密钥。加密密钥可以由链路密钥推算出来,这将确保数据包的安全,而且每次传输都会重新生成。最后还有PIN码,用于设备之间互相识别。
链路密钥一共有四种可能存在的链路密钥,所有链路密钥都是128位的随机数,它们或者是临时的或者是半永久性的。加密密钥由当前的链路密钥推算而来,每次需要加密密钥时它会自动更换。之所以将加密密钥与鉴权密钥分离开,是因为可以使用较短的加密密钥而不减弱鉴权过程的安全性。
蓝牙安全码通常称为PIN,是一个由用户选择或固定的数字,长度可以为16个字节,通常采用四位十进制数。用户在需要时可以改变它,这样就增加了系统的安全性。另外,同时在两个设备输入PIN比其中一个使用固定的PIN要安全得多。事实上它是唯一的可信的用于生成密钥的数据。典型情况是四位十进制PIN码与其他变量结合生成链路密钥和加密密钥。