微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 关于蓝牙安全机制的研究

关于蓝牙安全机制的研究

时间:11-24 来源:赛迪网 点击:

  随着计算机网络和移动电话技术的迅猛发展,人们感到越来越迫切需要发展小范围的无线数据与语音通信技术。于是爱立信、IBM、英特尔、诺基亚和东芝等公司在1998年联合推出一项新的无线网络技术,即蓝牙技术。蓝牙技术可以解决小型移动设备间的无线互连问题,它的硬件市场非常广阔,涵盖了局域网中的各类数据及语音设备,如计算机、移动电话、小型个人数字助理(PDA)等。蓝牙技术面向的是移动设备间的小范围连接,从本质上说它是一种代替电缆的技术。为了保证移动设备间数据传输的安全性,该技术持应用层和链路层的鉴权和加密,这也正是本文要讨论的内容。

一、蓝牙应用协议栈

  1999年12月1日,Bluetooth SIG(Special Interest Group)发布了蓝牙标准的最新版:1.0B版。蓝牙标准包括两大部分:Core和Profiles。Core是蓝牙的核心,它主要定义了蓝牙的技术细节,而Profiles部分则定义了在蓝牙的各种应用中协议栈的组成。

  蓝牙标准主要定义的是底层协议,同时为保证和其它协议的兼容性,也定义了一些高层协议和相关接口。从ISO的OSI七层协议标准来看,蓝牙标准主要定义的是物理层、链路层和网络层的结构。

  1)射频协议(RF/Radio Protocol):定义了蓝牙发送器和接收器的各个参数,包括发送器的调制特性,接收器的灵敏度、抗干扰性能、互调特性和接收信号强度指示等。

  2)基带/链路控制协议(Baseband/LC Protocol):定义了基带部分协议和其它低层链路功能,是蓝牙技术的核心。

  3)链路管理协议(LMP):用于链路的建立、安全和控制,为此LMP定义了许多过程来完成不同的功能。

  4)主机控制器接口(HCI:Host Controller Interface)协议:描述了主机控制接口功能上的标准,提供了一个基带控制器和链路管理器(LM)得知硬件状态和控制寄存器命令的接口,在蓝牙中起着中间层的作用:向下给链路控制器协议和链路管理协议提供接口,提供一个访问蓝牙基带的统一方法。HCI是在硬件和软件都包含的部分。

  5)逻辑莲路控制和适配协议(L2CAP:Logical Link Control and Adaptation Protocol):支持高层协议复用、帧的组装和拆分、传送QoS信息。L2CAP提供面各连接和非连接两种业务,允许高层最多达64kbit/s的数据,以一种有限状态机(FSM)的方式来进行控制,目前只支持异步无连接链路(ACL)。

  6)服务发现协议(SDP:Service Discover Protocol):如何发现蓝牙设备所提供服务的协议,使高层应用能够得知可提供的服务。在两个蓝牙设备第一次通信时,需要通过SDP来了解对方能够提供何种服务,并将自己可提供的服务通知对方。

  7)高层协议:包括串口通信协议(RFCOMM)、电话控制协议(TCS)、对象交换协议(OBEX)、控制命令(AT-Command)、电子商务标准协议(vCard和vCalender)和PPP,IP,TCP,UDP等相关的Internet协议以及WAP协议。其中,串口通信协议是 ETSI TS07.10标准的子集,并且加入了蓝牙特有的部分;电话控制协议使用了一个以比特为基础的协议,定义了在蓝牙设备之间建立语音和数据呼叫的控制信令,对象交换协议提供了与IrDA协议系列相同的特性,并且使各种应用可以在IrDA协议栈和蓝牙协议栈上使用。两个蓝牙设备必须具有相同的协议组成才能够相互通信。例如要在蓝牙实现WAP应用,则双方都必须经过基带协议--L2CAP--RFCOMM--PPP---IP--UDP--WAP的路径来实现。

二、蓝牙系统安全性要求

  由于蓝牙系统简单可靠,从而产生了各种不同的应用,例如电脑、鼠标、打印机、接入点、移动电话和话筒等都可以使用蓝牙协议无线地连接在一起,进行语音和数据的交换。同时,还可以通过无线或有线的接入点(如PSTN、ISDN、LAN、XDSL)与外界相连。不同应用对各自的系统必然提出不同的要求,并且不是所有的系统都对安全性有很高的要求。

  先介绍几个概念:

  1)蓝牙设备地址(BD_ADDR):是一个对每个蓝牙单元唯一的48位IEEE地址。

  2)个人确认码(PIN:Personal Identification Number):是由蓝牙单元提供的1-16位(八进制)数字,可以固定或者由用户选择。一般来讲,这个PIN码是随单元一起提供的一个固定数字。但当该单元有人机接口时,用户可以任意选择PIN的值,从而进入通信单元。蓝牙基带标准中要求PIN的值是可以改变的。

  3)鉴权字:是长度为128位的数字,用于系统的鉴权。

  4)加密字:长度8-128位,可以改变。这是因为不同的国家有许多不同的对加密算法的要求,同时也是各种不同应用的需要,还有利于算法和加密硬件系统的升级。

  区分鉴权字和加密字的目的是在不降低鉴权过程作用的前提下使用更短的加密字。

  虽然蓝牙系统的跳频机制对于来自系统内部其它设备的偶然传输干扰起到了一定的保护作用,但是很显然仅有这种保护是不够的。它不能防止有人在两个传输单元之间对数据的窃听和偷取,尤其在无线传输数据时,窃取数据者可以轻松地屏蔽自己而不让用户发现,因此蓝牙系统需要加入相应的安全机制。在一般的系统中,通常对所传输的数据包进行加密,但仅有这种做法是不够的。更重要的是在通信连接建立以前,确保通信单元的安全性。例如用户相同时跟几个用户通信,就需要对这些用户进行确认。因此,在蓝牙系统中间时运用了鉴权和加密技术。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top