《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于蓝牙低功耗技术的维修钥匙设计
基于蓝牙低功耗技术的维修钥匙设计
2016年微型机与应用第18期
沈熠1,陈章进1,2,章鸿斌1,吴志国1
1.上海大学 计算中心,上海 200444;2.上海大学 科技发展研究院,上海 200444
摘要: 针对企业目前使用传统钥匙维护管理钥匙柜存在的集中保管、安全性差等诸多问题,提出了一种基于蓝牙低功耗技术的维修钥匙的设计。该系统以移动终端为中介,企业可以通过云平台差异化管理遍布在各停车场钥匙柜的维修钥匙。当钥匙柜发生故障时,停车人员能够通过平台申请一次紧急开启钥匙柜的权限,使用特质感应片启动系统后,通过专用APP开启钥匙柜。该系统有较好的稳定性、安全性,可以有效提升服务响应度,从而提高用户满意度。
Abstract:
Key words :

  沈熠1,陈章进1,2,章鸿斌1,吴志国1

  (1.上海大学 计算中心,上海 200444;2.上海大学 科技发展研究院,上海 200444)

       摘要:针对企业目前使用传统钥匙维护管理钥匙柜存在的集中保管、安全性差等诸多问题,提出了一种基于蓝牙低功耗技术的维修钥匙的设计。该系统以移动终端为中介,企业可以通过云平台差异化管理遍布在各停车场钥匙柜的维修钥匙。当钥匙柜发生故障时,停车人员能够通过平台申请一次紧急开启钥匙柜的权限,使用特质感应片启动系统后,通过专用APP开启钥匙柜。该系统有较好的稳定性、安全性,可以有效提升服务响应度,从而提高用户满意度。

  关键词:蓝牙低功耗;智慧停车;移动互联

0引言

  国家高技术研究发展计划(863计划)(2008AA000000)随着社会经济的快速发展,上海等大城市已经进入城市机动化出行的快速发展阶段,机动车保有量和使用量的增长远远超过了停车设施的增长[1]。市中心、商业圈等人口密集区域停车难的问题严重影响了市民出行。在此环境下出现了提供代客停车服务的互联网公司,建立线上停车平台,用户在服务区内将机动车和钥匙交由专职停车员,在用车时联系停车员取车。

  停车场内建有专用钥匙柜,以对应寄放用户的车钥匙,随着用户量的大幅增长,采用人工存取方式带来的高成本、高风险、高复杂度制约了市场发展。基于低功耗蓝牙(Bluetooth Low Energy, BLE)的智能云钥匙柜应运而生,停车员使用专用APP完成接单、存放钥匙柜、现场确认等业务流程。钥匙柜配有一把维修钥匙以应对故障,同样为了克服人工方式管理维修钥匙的诸多问题,本文提出了一种安全性高、可靠性强的维修钥匙解决方案。

1系统架构设计

  1.1系统架构

  系统主要由云平台、移动端APP和中控装置组成,系统架构如图1所示。

图像 001.png

  本文将重点对中控装置进行设计,其工作模式分为维护模式和普通模式。

  (1)维护模式:该模式下APP可设置中控装置的加密模组的私钥,并将其加密后存储至云平台;可接受APP修改BLE模块参数。维护模式包含普通模式的所有功能。

  (2)普通模式:接收、识别、认证、响应和执行APP的打开维修钥匙柜指令。普通模式下不接受APP的重置加密密钥的请求以提升系统安全性。

  BLE协议[2]的通用访问规范(Generic Access Profile, GAP)中定义了设备角色。中控装置为外围设备(Peripheral Device),APP则为中心设备(Central Device)。中控装置在上电后,发送广播信号等待APP的搜索、连接和数据传输。通过中控装置上的开关能够切换其工作模式。

  1.2工作流程

  在安装及维护阶段,APP通过蜂窝移动数据网络,向云平台请求对应目标停车场及钥匙柜的32位索引编号和BLE模块相关参数;待中控装置上电后,搜索并连接,使用特定的通信协议将上述内容发送给中控装置;中控装置在接收到数据通信时,识别指令类型后,执行并响应。设置加密模块后,会反馈128位当前密钥。APP在接收到密钥后,经过链路加密及特定的数据加密处理后,发送回云平台,云平台负责解密及持久化。

  在正常工作运行阶段,为了减缓中控装置的老化速度以及提升安全性,中控装置处于休眠状态。当霍尔开关响应磁场变化后,将中控装置上电,若在随后的一定时间内未收到APP合法指令,则重新进入休眠状态。在普通模式下,修改密钥及BLE参数等指令仍然视为非法指令。当接收到开锁指令后,通过加解密模块解密数据报文,以判断是否符合特定规则,根据判断结果执行开锁或忽略。

2硬件设计与实现

  中控装置以8051架构STC15W404S系列微控制器(MCU)为核心,其内置了高精准时钟、一组UART、3个16位通用定时器等。其低功耗、高性能、高抗干扰性能等优点符合本设计要求。

图像 002.png

  中控装置电路包括BLE通信电路、霍尔效应开关电路、电源分压电路、加解密芯片电路和开锁驱动电路,其硬件电路总体框图如图2所示。

  2.1BLE通信电路

  BLE通信电路主要由CC2541及外围电路组成。它可根据要求对设备参数包括发射功率、广播间隔、连接间隔、模块名称等进行灵活配置,以建立一个钥匙柜维护网络。TI提供的低能耗协议栈(BLE-STACK)支持BLE完整的协议内容,其中逻辑电路控制及适配规范(Logical Link Control and Adaptation Profile, L2CAP)支持的最大传输单元(Maximun Transmission Unit,MTU)为23 B。CC2541芯片内置的两组USART,可选择配置为UART或SPI模式。为了提升中控装置模块化程度,降低系统的耦合度,提升系统的稳定性,本文的设计中使用BLE模块F9088。该模块支持Android和iOS手机操作系统双向20 B的数据透传。使用3.3 V 电源供电,通过UART接口连接MCU进行数据交换。原理如图3所示。

图像 003.png

  2.2霍尔效应开关电路

  维修钥匙作为钥匙柜最重要的组成部分之一,需要较高的隐蔽性、可靠性、安全性。隐蔽性要求中控装置对外的接口不容易被察觉,传统的机械开关并不能满足上述要求,本文提出的霍尔效应开关预先将强磁放入中控装置,可使用任意外观形式的含有铁钴镍材质的物品触发开关。可靠性方面要求中控装置能够在较长的时间内抗老化,以及根据实际需求重启中控设备。安全性指中控装置应具备一定的反破解攻击能力。在正常工作运行阶段,霍尔效应开关未被触发时,APP无法搜索到钥匙柜。在一个连接窗口期内,当无法发送一个合法的请求时,系统将重新进入掉电状态,此时需要再次进行开关触发,此方式可在一定程度防止暴利攻击。

  霍尔感应电路[3]选用AKEMD提供的HW-300B线性霍尔IC,通过两级LM358运放对信号进行放大。原理如图4所示。

图像 004.png

  通过感应片触发磁场变化后,HALL端产生高电平,使得继电器吸合,随后通过分压电路将12 V分压后给各模块使用,系统上电完成。

  2.3电源分压电路

  中控装置的各模块的工作电压不一,开锁驱动电路工作电压为12 V,MCU的工作电压为5 V, BLE模块和加密芯片的工作电压为3.3 V。同时MCU需具备控制继电器关闭自身电源的功能。输入电压为12 V,通过78L05稳压管分压为5 V电压,再经过PJ6206-332MR稳压管分压为3.3 V电压。原理如图5所示。

图像 005.png

  2.4加密芯片电路

  采用Neowine公司的ENTANGA加密芯片,支持aes128ecb算法[4]的加解密。芯片提供一组400 kb/s的I2C接口,MCU通过通用I/O口与加密芯片连接,使用模拟I2C方式通信。加密芯片的一个时钟周期为250 ns,进行一次加解密操作需要1 113个时钟周期,性能符合设计需求。MCU与加密芯片的交互如图6所示。

图像 006.png

  为了防止恶意篡改加密芯片密钥,本文提出通过拨码开关切换工作模式以提示MCU接受或拒绝修改密钥指令。原理如图7所示。

图像 007.png

3软件设计

  云平台负责存储密钥,以及提供按停车场、编号等方式查询密钥的服务。APP通过蜂窝移动数据与云平台交互。BLE模块通过UART建立MCU与APP间数据透明传输。

  3.1微控制器软件设计

  MCU主要完成指令识别、设置密钥、开锁等功能。MCU上电后,对I/O口、定时器、UART等片内组件进行初始化。需要即刻将HOLD端(P3.4)置高以保持供电。启动倒计时,在该时间窗口内若未收到合法指令,则将HOLD端置低,将电源关闭,等待下一次上电。开锁指令验证成功后,在开锁信号口上保持0.3 s的高电平将锁开启。主程序流程如图8所示。

图像 008.png

  3.2BLE通信数据透传

  数据透传过程中,MCU采用中断方式进行UART的收发。BLE模块支持的MTU为20 B,将分别开辟20 B的存储区域以区分收发。一个MTU的传输UART数据收发时间为:

  QQ图片20161011144834.png

  式中,rbaud是UART的波特率;w为1 B的位数;lMTU为一个MTU的字节数 。当rbaud设置为57 600 b/s时错误率较低[5],此时耗时约为2.8 ms。

  为了兼顾数据吞吐量和能耗,BLE通信的连接间隔设置为100 ms,若UART在该时间内完成一个MTU的数据传输,则不影响BLE通信。

  发送数据时,装载数据至发送缓冲区,将BLE模块的RTS置低,触发UART的发送中断,在中断处理函数中将各字节放入UART发送寄存器。完成最后一个字节的传输后将BLE模块的RTS置高。

  接收数据开始后,在中断处理函数中将各字节装载至接收缓冲区,并检测BLE模块CTS是否被置高以表示一次数据接收完成。数据接收完成后,向MCU主程序发送信号量启动指令识别任务。

  3.3加解密软件设计

  加密模块通过I2C协议,提供密钥设置、加解密模式选取、加密、解密和测试功能。

  MCU接收到密钥设置指令时,首先判断KEY_GEN(P3.2)口电平以确定中控装置当前是否处于维护模式,根据结果做出拒绝或执行处理。设置密钥时,发送4 B加密芯片密钥生成初始化参数,最后读取加密芯片寄存器中16 B的当前密钥。

  MCU接收到开锁指令时,根据交互协议提取指令中的16 B报文,经解密后验证是否符合协议,根据结果做出拒绝或执行处理。首先设置加密芯片工作模式为解密模式,发送16 B密文,在一个解密周期后读取寄存器中的16 B明文。

4结论

  本文设计的基于蓝牙低功耗技术的维修钥匙满足长时间待机抗老化的要求,具有很强的隐蔽性、可靠性,具有较强的安全性以及反暴力破解的能力,能使企业在云智能钥匙柜的应用中,降低维修的人员成本,提升服务响应速度。在实际的使用环境中,距离钥匙柜1 m的范围内,信号稳定,系统响应速度快。预留了升级端口,满足后期交互协议的定期升级,以进一步提升系统的安全性。

  参考文献

  [1] 关于推进上海市停车行业信息化工作的实施意见(沪交货[2014]72号)[R]. 上海:上海市交通港口局,上海市发展改革委员会,上海市经济信息化委员会,2014.

  [2] Bluetooth SIG. Bluetooth specification V4.0[EB/OL]. (2010 06 30)[2016 04 20] https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=229737.

  [3] 彭业辉.CMOS高精度霍尔开关电路设计 [D]. 上海:上海交通大学,2014.

  [4] National Institute of Standards and Technology (NIST). Federal information processing standards PUBS 127[EB/OL]. (2001 11 26)[2016 04 20] http://csrc.nist.gov/publications/fips/fips197/fips197.pdf.

  [5] Texas Instruments Inc. CC253x/4x user’s guide (Rev.F) [EB/OL]. (2014 04 09)[2016 04 20] http://www.ti.com/litv/pdf/swru191f.


此内容为AET网站原创,未经授权禁止转载。