发布时间:2010-11-10 阅读量:2512 来源: 我爱方案网 作者:
0引言
蓝牙是一种支持设备短距离通信的无线电技术。它能在包括移动电话、PDA、数码相机、蓝牙耳机、笔记本电脑、相关外设(包括打印机、鼠标、键盘及其他)等众多设备之间进行无线信息交换。据市场研究机构IDC公布的数据,2010年全球手机市场上将有68%的产品具备蓝牙技术,而美国市场上将有80%的手机配有蓝牙模块。为了使移动设备诸如移动电话、个人数字助理等在一定范围内将这些设备互联接入局域网或Internet无缝共享网络资源,提出了基于蓝牙技术的局域网安全接入方案并在移动设备上和接入点基于主机Windows系统上相应编程实现。
1蓝牙技术和个人局域网原理
本文重点介绍个人局域网规范的应用,采用BNEP网络封装协议,在Symbian操作系统的智能手机平台上实现移动终端接入网络。
1.1蓝牙网络封装协议BNEP
针对PAN应用而设计的BNEP协议,它提供了构建蓝牙无线局域网的另一种应用模型,在这种解决方案中,网络层与L2CAP之间无须再插入PPP和RFCOMM层,而由BNEP完成从IP层到L2CAP层的映射网络协议层次如图1所示。蓝牙个人局域网就是利用BNEP为蓝牙设备提供组网能力,使两个或者多个蓝牙设备组成一个临时自组织网(Group Ad-hoc Network,GN),或通过网络接入点(Network Access Point,NAP)访问远端网络。BNEP提供蓝牙协议栈和TCP/IP协议栈的转换,是实现PAN的前提。它可以和IEEE802.3以太网封装支持同样的上层网络协议。BNEP净荷区的MTU定为1691个字节,这样可保证网络层向下发送的以太层封包的一次性传送,这种网络构建方案有效地提高了无线网络的通信效能。在数据传递方面,BNEP直接接收IP层向下发送的以太网封包,并将以太网净荷区直接复制到BNEP净荷区,加上BNEP头部之后发送到L2CAP层。
1.2实现原理
1.2.1网络接入拓扑结构
蓝牙技术应用于办公室等环境近距离无线上网拓扑结构如图2所示,蓝牙无线网络接入点NAP采用Windows平台,采用RJ45有线接入方式,以获得较快速率。最多同时7个处于活动(Active)状态的从设备与网络接入点采用蓝牙实现无线连接。
1.2.2实现原理和流程
NAP为个域网中的所有用户(PANU)提供所有连接设备借以太网封包转发服务和外部网络接入服务。NAP可被看作是具有蓝牙功能的网桥或是网关,功能强大的NAP甚至可以是支持蓝牙设备的路由器,NAP的所支持的功能应符合802·1D标准。移动终端设备与服务器端利用BNEP协议实现互联和数据的传输。典型的NAP网络如图3所示。
PANU作为NAP网络的客户端出现在蓝牙网络中,在服务器端(NAP)的支持下实现同步。NAP和PANU之间也使用BNEP交互数据。服务器端提供DHCP和同步等服务,PANU不提供DHCP和同步等服务。
PANU可以由带蓝牙功能模块的PC和PDA智能设备构成,把蓝牙模块通过程序实现为蓝牙虚拟网卡,相当于一块真实网卡的功能。如果是PC作为PANU,那么本地网卡可以禁用或卸载。同样,NAP服务器端采用PC作为个人局域网接入点,需要把蓝牙适配器通过程序设置为蓝牙虚拟网卡,同时本地网卡连接到LAN上,再配置网关代理软件实现蓝牙个人局域网和本地局域网不同网段数据转发。这样,即可实现带有蓝牙终端设备接入Internet。
BNEP协议能够非常有数地承载IP,可以传进、传出以及在蓝牙个域网中交换IP包。使用BNEP协议将完全未做改动的以太网负荷(Payload)在蓝牙设备间交换,给蓝牙网络以更宽广、更开放的接口,该协议对上层提供类似于以太网的接口。
BNEP为蓝牙设备提供了类似以太网接口的IP层,它在蓝牙协议栈中介于IP层与L2CAP之间。在这种PAN模型中,网络层与L2CAP之间无须再插入PPP和RFCOMM层,而由BNEP完成从IP层到L2CAP层的映射。个人局域网接入NAP客户端示意图如图4所示。
虚拟网卡BTNIC通过它就可以利用蓝牙个人局域网直接传输数据。物理网卡NIC是PC机上的物理网卡驱动程序,通过这个驱动程序可以使用户访问外部网络。程序启动后,多一个本地连接2,增加一蓝牙网卡(Bluetooth Pan Network Adapter),如图5所示。
1.2.3防御蓝牙PIN码攻击改进算法
如果移动终端PANU和NAP是第一次通信,此时两设备没有公共链路密钥可用,则各自生成初始链路密钥作为公共链路密钥进行验证,否则,就用各自存储的公共链路密钥进行验证。鉴权之后,两个蓝牙设备分别存储公共链路密钥以备下一次验证使用。公共链路密钥采用的是一个蓝牙设备的单元密钥,或是两个蓝牙设备的组合密钥。经过鉴权身份确认成功之后就可以进行加密来传输数据。由通信流程可以看出,验证过程的安全决定着后面数据通信的安全。
破解通过猜测PIN码,并且像蓝牙手机输入方式非常不方便的设备,人们往往采用较短的1-4位PIN值。所以,这种用该方法对4位PIN码攻击在0.27s的时间就能获得正确PIN码。如何保证PIN码安全已经成为当前蓝牙网络安全不容忽视的问题。
有学者研究指出防御蓝牙PIN码攻击的方法是在PIN码进行E22算法之前,通过增强PIN码的复杂度来抵御PIN码攻击的方法。比如PIN码长度设置为8、12、16位,或者是当设备两端输入不同的小于8位的PIN码时,将其修正成8位,运用修正算法(如复制)将PIN码以8个字节为修正基准,当PIN码小于等于8个字节时,通过复制连接PIN码使其大于8个字节,如12345,得到1234512345,当PIN码大于8个字节的PIN码,取中间8个字节(如果PIN码的字节数为奇数时,取中间偏后的8个字节),最后得到一个新的8个字节的PIN。
由于上述方法各有优缺点,在本系统中提出采用了对于PIN长度为4的密钥。在蓝牙设备每次配对时加密过程时间增加1秒。那么对于攻击来说,它的每一次PIN的破译过程就需要增加一秒,要想得到正确的PIN码,对于PIN码长度为4的密钥,就需要1*104/2*0.36*104=1小时时间,8位的话就需要10000小时的时间,对于移动的设备已经够用了,并且双方配对等待时间为60s,超过时间没有配对相应则实效,即破译该密码的时间超过该信息有用的生命周期。
算法是在生成初始密钥之前,通过在进行E22加密算法异或移位等运算之前增加一个MD5过程来增加加密的时间,就是进行反复的运算,来进行增加加密时间。实践证明该改进方案可以有效降低PIN码被攻击的机率。原产生初始密钥算法如图6所示,改进后的初始密钥生产过程如图7所示。
2系统开发实现
构建蓝牙无线局域网核心协议采用BNEP接入NAP网络接入点,重点工作是移植到移动终端Symbian操作系统上以及蓝牙模块虚拟为蓝牙网卡驱动编写。
Symbian OS平台是智能手机平台中对蓝牙技术支持最完善的平台,它涵盖了绝大多数的蓝牙剖面,提供了详细的蓝牙SDK开发包和实用的开发实例,使得开发人员在Symbian上开
发蓝牙应用程序成为可能。
笔者完成的蓝牙PAN移动终端软件正是基于Symbian OS平台的蓝牙应用程序。它实现了与服务器端网络接入点构建了个人局域网并实现接入网络。
在客户端完成的工作是通过C++语言,整个编码、编译、运行工作都可以在微软公司的VC++6.0下完成。需要在VC中链接Symbian提供的库函数即可实现,而这些库函数可以通过装Symbian OS的SDK得到。把BNEP协议移植到手机上,在手机上实现蓝牙个人局域网接入网络NAP,并把移动终端的蓝牙模块通过编写驱动程序虚拟为蓝牙虚拟网卡。
服务器端的实现基本与客户端类似,也是在VC开发平台下完成,把CSR公司的USB dongle蓝牙2.0适配器虚拟为蓝牙网卡,构建蓝牙个人局域网服务器端。
通过程序算法设计实现了多个移动设备同时接入互联网,服务器端无需人员值守,还能实时监测移动设备的网络浏览情况和网络速度。
3结束语
构建蓝牙无线局域网核心协议采用BNEP接入NAP网络接入点,移植到移动终端各操作系统上(Symbian、Windows Mobile、Palm OS等)。蓝牙模块虚拟为蓝牙网卡驱动编写,给出了解决方案,具有较强的实用性。也希望本文能够带动更多的有志之士加入到研究开发蓝牙网络接入的行列中来。
本期EIT探讨了从工业4.0到工业5.0的转变,以及即将实现的技术进步
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
CWGCE2025西部芯博会总规模将达到60000㎡,同期举办光电展+工业展+智能展+军工展等相类展会,将有更多集成电路行业新装备、新产品、新材料、新技术、新工艺、新趋势及新应用集中亮相
作为我国中西部地区历史最悠久的光电领域全产业链综合性年度盛会,规模和档次逐年增加和提高,CCWPE2025又新增了多个行业组织联办单位,同时将进一步扩容和丰富论坛内容。