沈熠1,陳章進(jìn)1,2,,章鴻斌1,,吳志國1
(1.上海大學(xué) 計(jì)算中心,,上海 200444,;2.上海大學(xué) 科技發(fā)展研究院,上海 200444)
摘要:針對企業(yè)目前使用傳統(tǒng)鑰匙維護(hù)管理鑰匙柜存在的集中保管,、安全性差等諸多問題,,提出了一種基于藍(lán)牙低功耗技術(shù)的維修鑰匙的設(shè)計(jì)。該系統(tǒng)以移動(dòng)終端為中介,,企業(yè)可以通過云平臺差異化管理遍布在各停車場鑰匙柜的維修鑰匙,。當(dāng)鑰匙柜發(fā)生故障時(shí),停車人員能夠通過平臺申請一次緊急開啟鑰匙柜的權(quán)限,,使用特質(zhì)感應(yīng)片啟動(dòng)系統(tǒng)后,,通過專用APP開啟鑰匙柜。該系統(tǒng)有較好的穩(wěn)定性、安全性,,可以有效提升服務(wù)響應(yīng)度,,從而提高用戶滿意度。
關(guān)鍵詞:藍(lán)牙低功耗,;智慧停車,;移動(dòng)互聯(lián)
0引言
國家高技術(shù)研究發(fā)展計(jì)劃(863計(jì)劃)(2008AA000000)隨著社會(huì)經(jīng)濟(jì)的快速發(fā)展,上海等大城市已經(jīng)進(jìn)入城市機(jī)動(dòng)化出行的快速發(fā)展階段,,機(jī)動(dòng)車保有量和使用量的增長遠(yuǎn)遠(yuǎn)超過了停車設(shè)施的增長[1],。市中心、商業(yè)圈等人口密集區(qū)域停車難的問題嚴(yán)重影響了市民出行,。在此環(huán)境下出現(xiàn)了提供代客停車服務(wù)的互聯(lián)網(wǎng)公司,,建立線上停車平臺,用戶在服務(wù)區(qū)內(nèi)將機(jī)動(dòng)車和鑰匙交由專職停車員,,在用車時(shí)聯(lián)系停車員取車,。
停車場內(nèi)建有專用鑰匙柜,以對應(yīng)寄放用戶的車鑰匙,,隨著用戶量的大幅增長,,采用人工存取方式帶來的高成本、高風(fēng)險(xiǎn),、高復(fù)雜度制約了市場發(fā)展,。基于低功耗藍(lán)牙(Bluetooth Low Energy, BLE)的智能云鑰匙柜應(yīng)運(yùn)而生,,停車員使用專用APP完成接單,、存放鑰匙柜、現(xiàn)場確認(rèn)等業(yè)務(wù)流程,。鑰匙柜配有一把維修鑰匙以應(yīng)對故障,同樣為了克服人工方式管理維修鑰匙的諸多問題,,本文提出了一種安全性高,、可靠性強(qiáng)的維修鑰匙解決方案。
1系統(tǒng)架構(gòu)設(shè)計(jì)
1.1系統(tǒng)架構(gòu)
系統(tǒng)主要由云平臺,、移動(dòng)端APP和中控裝置組成,,系統(tǒng)架構(gòu)如圖1所示。
本文將重點(diǎn)對中控裝置進(jìn)行設(shè)計(jì),,其工作模式分為維護(hù)模式和普通模式,。
(1)維護(hù)模式:該模式下APP可設(shè)置中控裝置的加密模組的私鑰,并將其加密后存儲(chǔ)至云平臺,;可接受APP修改BLE模塊參數(shù),。維護(hù)模式包含普通模式的所有功能。
(2)普通模式:接收、識別,、認(rèn)證,、響應(yīng)和執(zhí)行APP的打開維修鑰匙柜指令。普通模式下不接受APP的重置加密密鑰的請求以提升系統(tǒng)安全性,。
BLE協(xié)議[2]的通用訪問規(guī)范(Generic Access Profile, GAP)中定義了設(shè)備角色,。中控裝置為外圍設(shè)備(Peripheral Device),APP則為中心設(shè)備(Central Device),。中控裝置在上電后,,發(fā)送廣播信號等待APP的搜索、連接和數(shù)據(jù)傳輸,。通過中控裝置上的開關(guān)能夠切換其工作模式,。
1.2工作流程
在安裝及維護(hù)階段,APP通過蜂窩移動(dòng)數(shù)據(jù)網(wǎng)絡(luò),,向云平臺請求對應(yīng)目標(biāo)停車場及鑰匙柜的32位索引編號和BLE模塊相關(guān)參數(shù),;待中控裝置上電后,搜索并連接,,使用特定的通信協(xié)議將上述內(nèi)容發(fā)送給中控裝置,;中控裝置在接收到數(shù)據(jù)通信時(shí),識別指令類型后,,執(zhí)行并響應(yīng),。設(shè)置加密模塊后,會(huì)反饋128位當(dāng)前密鑰,。APP在接收到密鑰后,,經(jīng)過鏈路加密及特定的數(shù)據(jù)加密處理后,發(fā)送回云平臺,,云平臺負(fù)責(zé)解密及持久化,。
在正常工作運(yùn)行階段,為了減緩中控裝置的老化速度以及提升安全性,,中控裝置處于休眠狀態(tài),。當(dāng)霍爾開關(guān)響應(yīng)磁場變化后,將中控裝置上電,,若在隨后的一定時(shí)間內(nèi)未收到APP合法指令,,則重新進(jìn)入休眠狀態(tài)。在普通模式下,,修改密鑰及BLE參數(shù)等指令仍然視為非法指令,。當(dāng)接收到開鎖指令后,通過加解密模塊解密數(shù)據(jù)報(bào)文,,以判斷是否符合特定規(guī)則,,根據(jù)判斷結(jié)果執(zhí)行開鎖或忽略,。
2硬件設(shè)計(jì)與實(shí)現(xiàn)
中控裝置以8051架構(gòu)STC15W404S系列微控制器(MCU)為核心,其內(nèi)置了高精準(zhǔn)時(shí)鐘,、一組UART,、3個(gè)16位通用定時(shí)器等。其低功耗,、高性能,、高抗干擾性能等優(yōu)點(diǎn)符合本設(shè)計(jì)要求。
中控裝置電路包括BLE通信電路,、霍爾效應(yīng)開關(guān)電路,、電源分壓電路、加解密芯片電路和開鎖驅(qū)動(dòng)電路,,其硬件電路總體框圖如圖2所示,。
2.1BLE通信電路
BLE通信電路主要由CC2541及外圍電路組成。它可根據(jù)要求對設(shè)備參數(shù)包括發(fā)射功率,、廣播間隔,、連接間隔、模塊名稱等進(jìn)行靈活配置,,以建立一個(gè)鑰匙柜維護(hù)網(wǎng)絡(luò),。TI提供的低能耗協(xié)議棧(BLE-STACK)支持BLE完整的協(xié)議內(nèi)容,其中邏輯電路控制及適配規(guī)范(Logical Link Control and Adaptation Profile, L2CAP)支持的最大傳輸單元(Maximun Transmission Unit,,MTU)為23 B,。CC2541芯片內(nèi)置的兩組USART,可選擇配置為UART或SPI模式,。為了提升中控裝置模塊化程度,,降低系統(tǒng)的耦合度,提升系統(tǒng)的穩(wěn)定性,,本文的設(shè)計(jì)中使用BLE模塊F9088,。該模塊支持Android和iOS手機(jī)操作系統(tǒng)雙向20 B的數(shù)據(jù)透傳。使用3.3 V 電源供電,,通過UART接口連接MCU進(jìn)行數(shù)據(jù)交換,。原理如圖3所示。
2.2霍爾效應(yīng)開關(guān)電路
維修鑰匙作為鑰匙柜最重要的組成部分之一,,需要較高的隱蔽性、可靠性,、安全性,。隱蔽性要求中控裝置對外的接口不容易被察覺,傳統(tǒng)的機(jī)械開關(guān)并不能滿足上述要求,,本文提出的霍爾效應(yīng)開關(guān)預(yù)先將強(qiáng)磁放入中控裝置,,可使用任意外觀形式的含有鐵鈷鎳材質(zhì)的物品觸發(fā)開關(guān),。可靠性方面要求中控裝置能夠在較長的時(shí)間內(nèi)抗老化,,以及根據(jù)實(shí)際需求重啟中控設(shè)備,。安全性指中控裝置應(yīng)具備一定的反破解攻擊能力。在正常工作運(yùn)行階段,,霍爾效應(yīng)開關(guān)未被觸發(fā)時(shí),,APP無法搜索到鑰匙柜。在一個(gè)連接窗口期內(nèi),,當(dāng)無法發(fā)送一個(gè)合法的請求時(shí),,系統(tǒng)將重新進(jìn)入掉電狀態(tài),此時(shí)需要再次進(jìn)行開關(guān)觸發(fā),,此方式可在一定程度防止暴利攻擊,。
霍爾感應(yīng)電路[3]選用AKEMD提供的HW-300B線性霍爾IC,通過兩級LM358運(yùn)放對信號進(jìn)行放大,。原理如圖4所示,。
通過感應(yīng)片觸發(fā)磁場變化后,HALL端產(chǎn)生高電平,,使得繼電器吸合,,隨后通過分壓電路將12 V分壓后給各模塊使用,系統(tǒng)上電完成,。
2.3電源分壓電路
中控裝置的各模塊的工作電壓不一,,開鎖驅(qū)動(dòng)電路工作電壓為12 V,MCU的工作電壓為5 V,, BLE模塊和加密芯片的工作電壓為3.3 V,。同時(shí)MCU需具備控制繼電器關(guān)閉自身電源的功能。輸入電壓為12 V,,通過78L05穩(wěn)壓管分壓為5 V電壓,,再經(jīng)過PJ6206-332MR穩(wěn)壓管分壓為3.3 V電壓。原理如圖5所示,。
2.4加密芯片電路
采用Neowine公司的ENTANGA加密芯片,,支持aes128ecb算法[4]的加解密。芯片提供一組400 kb/s的I2C接口,,MCU通過通用I/O口與加密芯片連接,,使用模擬I2C方式通信。加密芯片的一個(gè)時(shí)鐘周期為250 ns,,進(jìn)行一次加解密操作需要1 113個(gè)時(shí)鐘周期,,性能符合設(shè)計(jì)需求。MCU與加密芯片的交互如圖6所示,。
為了防止惡意篡改加密芯片密鑰,,本文提出通過撥碼開關(guān)切換工作模式以提示MCU接受或拒絕修改密鑰指令,。原理如圖7所示。
3軟件設(shè)計(jì)
云平臺負(fù)責(zé)存儲(chǔ)密鑰,,以及提供按停車場,、編號等方式查詢密鑰的服務(wù)。APP通過蜂窩移動(dòng)數(shù)據(jù)與云平臺交互,。BLE模塊通過UART建立MCU與APP間數(shù)據(jù)透明傳輸,。
3.1微控制器軟件設(shè)計(jì)
MCU主要完成指令識別、設(shè)置密鑰,、開鎖等功能,。MCU上電后,對I/O口,、定時(shí)器,、UART等片內(nèi)組件進(jìn)行初始化。需要即刻將HOLD端(P3.4)置高以保持供電,。啟動(dòng)倒計(jì)時(shí),,在該時(shí)間窗口內(nèi)若未收到合法指令,則將HOLD端置低,,將電源關(guān)閉,,等待下一次上電。開鎖指令驗(yàn)證成功后,,在開鎖信號口上保持0.3 s的高電平將鎖開啟,。主程序流程如圖8所示。
3.2BLE通信數(shù)據(jù)透傳
數(shù)據(jù)透傳過程中,,MCU采用中斷方式進(jìn)行UART的收發(fā),。BLE模塊支持的MTU為20 B,將分別開辟20 B的存儲(chǔ)區(qū)域以區(qū)分收發(fā),。一個(gè)MTU的傳輸U(kuò)ART數(shù)據(jù)收發(fā)時(shí)間為:
式中,,rbaud是UART的波特率;w為1 B的位數(shù),;lMTU為一個(gè)MTU的字節(jié)數(shù) ,。當(dāng)rbaud設(shè)置為57 600 b/s時(shí)錯(cuò)誤率較低[5],此時(shí)耗時(shí)約為2.8 ms,。
為了兼顧數(shù)據(jù)吞吐量和能耗,,BLE通信的連接間隔設(shè)置為100 ms,若UART在該時(shí)間內(nèi)完成一個(gè)MTU的數(shù)據(jù)傳輸,,則不影響B(tài)LE通信,。
發(fā)送數(shù)據(jù)時(shí),裝載數(shù)據(jù)至發(fā)送緩沖區(qū),,將BLE模塊的RTS置低,,觸發(fā)UART的發(fā)送中斷,在中斷處理函數(shù)中將各字節(jié)放入U(xiǎn)ART發(fā)送寄存器,。完成最后一個(gè)字節(jié)的傳輸后將BLE模塊的RTS置高,。
接收數(shù)據(jù)開始后,在中斷處理函數(shù)中將各字節(jié)裝載至接收緩沖區(qū),,并檢測BLE模塊CTS是否被置高以表示一次數(shù)據(jù)接收完成,。數(shù)據(jù)接收完成后,向MCU主程序發(fā)送信號量啟動(dòng)指令識別任務(wù),。
3.3加解密軟件設(shè)計(jì)
加密模塊通過I2C協(xié)議,,提供密鑰設(shè)置、加解密模式選取,、加密,、解密和測試功能。
MCU接收到密鑰設(shè)置指令時(shí),,首先判斷KEY_GEN(P3.2)口電平以確定中控裝置當(dāng)前是否處于維護(hù)模式,,根據(jù)結(jié)果做出拒絕或執(zhí)行處理。設(shè)置密鑰時(shí),,發(fā)送4 B加密芯片密鑰生成初始化參數(shù),,最后讀取加密芯片寄存器中16 B的當(dāng)前密鑰。
MCU接收到開鎖指令時(shí),,根據(jù)交互協(xié)議提取指令中的16 B報(bào)文,,經(jīng)解密后驗(yàn)證是否符合協(xié)議,根據(jù)結(jié)果做出拒絕或執(zhí)行處理,。首先設(shè)置加密芯片工作模式為解密模式,,發(fā)送16 B密文,在一個(gè)解密周期后讀取寄存器中的16 B明文,。
4結(jié)論
本文設(shè)計(jì)的基于藍(lán)牙低功耗技術(shù)的維修鑰匙滿足長時(shí)間待機(jī)抗老化的要求,,具有很強(qiáng)的隱蔽性、可靠性,,具有較強(qiáng)的安全性以及反暴力破解的能力,,能使企業(yè)在云智能鑰匙柜的應(yīng)用中,降低維修的人員成本,,提升服務(wù)響應(yīng)速度,。在實(shí)際的使用環(huán)境中,距離鑰匙柜1 m的范圍內(nèi),,信號穩(wěn)定,,系統(tǒng)響應(yīng)速度快。預(yù)留了升級端口,,滿足后期交互協(xié)議的定期升級,,以進(jìn)一步提升系統(tǒng)的安全性,。
參考文獻(xiàn)
[1] 關(guān)于推進(jìn)上海市停車行業(yè)信息化工作的實(shí)施意見(滬交貨[2014]72號)[R]. 上海:上海市交通港口局,,上海市發(fā)展改革委員會(huì),,上海市經(jīng)濟(jì)信息化委員會(huì),2014.
?。?] 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.
?。?] 彭業(yè)輝.CMOS高精度霍爾開關(guān)電路設(shè)計(jì) [D]. 上海:上海交通大學(xué),2014.
?。?] 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/fips197.pdf.
?。?] 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.