黃少川,譚毓安,馬忠梅,張全新,李元章
(北京理工大學 計算機學院,北京 100081)
?
黃少川,譚毓安,馬忠梅,張全新,李元章
(北京理工大學 計算機學院,北京 100081)
摘要:通過研究藍牙通信協(xié)議和智能擴展API,設計SmartWatch2的功能擴展應用,實現(xiàn)將手機應用的用戶名和密碼等用戶登錄信息存儲到SmartWatch2上,有效隔離應用程序與用戶登錄信息,同時,用戶可以在SmartWatch2上查看、發(fā)送和刪除用戶登錄信息,從而達到保護手機應用登錄信息的目的。
關鍵詞:SmartWatch2;藍牙;智能擴展API
引言
隨著智能手機的不斷普及,手機應用以爆炸式的速度涌現(xiàn),大多數(shù)手機應用需要用戶注冊個人信息,并且會將用戶信息保存到手機本地,以便于用戶啟動應用時能夠自動登錄。這樣雖然減少了操作步驟,提高了用戶體驗,但是與此同時帶來的卻是用戶信息極易泄露的風險。在信息時代,用戶個人信息的安全性越來越受到重視。
本文介紹藍牙相關技術,通過智能擴展的API開發(fā)SmartWatch2具有藍牙通信功能的擴展應用,利用SmartWatch2存儲智能手機應用的用戶信息。這樣,既能使用戶信息與手機應用有效隔離,又能保證即使手機丟失或者被陌生人操作,也不用擔心因個人信息泄漏而造成較大損失。
1通信流程與相關技術
SmartWatch2與智能手機通過藍牙進行通信,在通信過程中需要通過SmartWatch2主應用、智能連接以及智能擴展應用等作為軟件支撐。開發(fā)SmartWatch2智能擴展應用涉及到智能擴展API和Android等相關技術。
1.1通信流程
SmartWatch2與智能手機通過藍牙配對建立連接,智能手機安裝智能連接應用和SmartWatch2的智能擴展應用,智能擴展應用在手機桌面不可見,只能通過智能連接應用中的SmartWatch2主應用查看[1-2]。
成功建立連接后,SmartWatch2可以通過智能連接應用中的主應用同步智能手機日期時間等信息,SmartWatch2的桌面上將顯示智能手機上安裝的的智能擴展應用,比如通過SmartWatch2的短信應用查看智能手機的短信息,通過其電話應用接聽智能手機撥入的電話等。SmartWatch2與智能手機通信機制如圖1所示。
圖1 SmartWatch2與智能手機通信機制
由圖1可知,SmartWatch2與智能手機通過藍牙建立連接并進行通信,智能擴展應用與智能連接應用安裝在智能手機上,并通過智能連接中的SmartWatch2主應用與智能手機通信。SmartWatch2主應用負責與智能手表交互,同時根據(jù)智能連接中的內(nèi)容提供者(Content Providers)獲取適用于智能硬件SmartWatch2的智能擴展應用的信息。智能連接是一個Android設備框架,主要作用是管理智能硬件(例如智能手表)的應用和相關配置。值得注意的是,在Android4.0之前智能連接的名稱是LiveWare Manager。
1.2藍牙
藍牙支持點對點和點對多點的無線連接,在任意一個有效通信范圍內(nèi),所有設備的地位都是平等的。首先提出通信請求的設備稱為主設備(Master),被動進行通信的設備稱為從設備(Slave)。任意藍牙設備,都可根據(jù)IEEE 802標準得到一個唯一的48位的BD_ADDR,它是一個公開的地址碼,可以通過人工或自動方式進行查詢。在BD_ADDR基礎上,使用一些性能良好的算法可獲得各種保密和安全碼,從而保證了設備識別碼(ID)在全球的唯一性,以及通信過程中設備的鑒權和通信的安全保密[3]。
藍牙協(xié)議體系中的協(xié)議按照功能分為5層[4]:核心協(xié)議(包括Baseband、LMP、L2CAP、SDP),電纜替代協(xié)議RFCOMM,電話傳輸控制協(xié)議(包括TCS-Binary、AT命令集),選用協(xié)議(包括PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrDA、WAE),藍牙協(xié)議棧的強制性協(xié)議(包括LMP、L2CAP和SDP)。除上述協(xié)議層外,規(guī)范還定義了主機控制接口(HCI)。
1.3智能擴展API
智能擴展API是一組強大的以安卓意圖(Intent)、安卓小部件(Widget)、內(nèi)容提供者(Content Provider)和感應(Sensor) API構架為基礎的API??山柚悄軘U展API,利用智能硬件控制應用,控制終端用戶針對每一個智能硬件安裝的主應用,使手機應用與智能硬件能夠通過藍牙進行通信。
智能擴展API具有結構清晰、易讀、易用的特點。智能擴展API包括Registration and Capabilities API、Notification API、Control API、Widget API和Sensor API,但是并非所有的API都適用于任何智能硬件設備[5]。根據(jù)提供的API可以控制硬件的傳感器(如指南針、加速器、振動器等),也可以開發(fā)通知應用、游戲應用、遠程控制應用等[6]。
智能硬件與智能手機或平板電腦過藍牙配對來建立連接,智能硬件將顯示智能手機或平板電腦的信息,以及終端用戶的輸入內(nèi)容。智能硬件上的傳感器將感應智能手機或平板電腦的意圖,將傳感器數(shù)據(jù)返回至智能手機或平板電腦進行處理。
2功能擴展設計
為了使用戶在智能手機上的登錄信息與應用程序能夠有效隔離,本文將通過SmartWatch2藍牙通信的功能擴展實現(xiàn)。
2.1設計思路
通過分析智能擴展API,設計SmartWatch2的應用,實現(xiàn)SmartWatch2與智能手機進行數(shù)據(jù)傳輸,從而將智能手機上應用程序的用戶信息存儲到SmartWatch2中。當智能手機的應用需要用戶登錄信息時,可以從SmartWatch2上查看,也可以通過SmartWatch2將用戶信息數(shù)據(jù)發(fā)送到智能手機端進行查閱。
當用戶需要刪除SmartWatch2上的用戶信息時,可以在SmartWatch2上逐條刪除,也可以通過智能手機批量刪除,從而保證用戶能夠及時更新和清除數(shù)據(jù),確保SmartWatch2上的用戶信息的準確性和安全性。根據(jù)設計思路確定的功能設計如圖2所示。
圖2 功能設計
2.2功能設計流程
根據(jù)設計思路可知智能手機端和智能手表端的功能需求,根據(jù)具體的功能需求和設計思路進行流程設計,即功能擴展的功能設計流程如圖3所示。
圖3 功能設計流程
根據(jù)圖3可知,用戶首先打開智能擴展應用填寫用戶登錄信息并發(fā)送給SmartWatch2,然后SmartWatch2就可以查看手機端發(fā)送的用戶登錄信息。手機端可以刪除SmartWatch2端的所有用戶登錄信息數(shù)據(jù),SmartWatch2也可以逐條刪除這些信息,或向智能手機端發(fā)送用戶登錄信息供查閱。
3具體實現(xiàn)
3.1環(huán)境配置
首先安裝Android SDK和Eclipse,配置Android開發(fā)環(huán)境,然后安裝Sony Add-on SDK。Android SDK提供API庫和編譯、調(diào)試Android應用的開發(fā)工具,Sony Add-on SDK包括 Java docs文檔、代碼范例和模擬器,并提供智能擴展API庫和編譯、調(diào)試SmartWatch2應用的開發(fā)工具。此外,還有豐富文檔說明如何使用所有智能擴展API應用程序接口[7]。
3.2類功能
根據(jù)實際需求并按照設計思路和設計流程創(chuàng)建5個類文件,主要實現(xiàn)智能手機端與智能手表端的相互通信、信息顯示及信息處理。類名稱與相應的功能描述如表1所列。
表1 類功能
在每個智能手表擴展應用中,類SmartDataControlReceiver、SmartDataControlService和SmartDataControlRegistrationInformation是必不可少的。類SmartDataControlReceiver的主要功能是接收智能手機上的智能手表主應用發(fā)送的意圖并通過啟動Service建立兩者的互動通道;類SmartDataControlService運行在應用的整個生命周期中,主要功能是響應智能手表端的請求和實現(xiàn)信息處理;類SmartDataControlRegistrationInformation的主要功能是注冊智能手表的智能擴展應用,使主應用能夠識別;類SmartDataControlActivity是智能手機端功能菜單的實現(xiàn);類SmartSendDataActivity是智能手機發(fā)送用戶信息的功能實現(xiàn)。智能手表功能擴展應用的時序圖略——編者注。
3.3核心代碼
本文只對智能手表功能擴展應用的主要代碼進行說明和分析,比如智能手機接收智能手表發(fā)送用戶登錄信息數(shù)據(jù)的主要代碼實現(xiàn),智能手機向智能手表發(fā)送用戶登錄數(shù)據(jù)的主要代碼實現(xiàn),以及智能手表逐條刪除用戶登錄信息數(shù)據(jù)的主要代碼實現(xiàn)。
智能手機接收智能手表發(fā)送的攜帶用戶信息數(shù)據(jù)的Event,首先根據(jù)Event的ID獲取用戶數(shù)據(jù)的詳細信息(比如應用名稱、登錄帳戶以及登錄密碼等),然后以Toast消息形式在智能手機端顯示。代碼略——編者注。
智能手機將用戶信息數(shù)據(jù)存儲到ContentValues對象中,創(chuàng)建以一個新Event并添加到Event Table中,智能手表功能擴展應用可以通過Notification獲取存儲到Event的用戶信息數(shù)據(jù)。主要代碼略——編者注。
智能手表可以逐條刪除用戶登錄信息,主要是根據(jù)每個Notification所對應的Event ID來判斷,刪除選中用戶登錄信息之后返回Notification列表對應的信息界面,主要代碼略——編者注。
4功能測試
4.1測試準備
本文測試對象是智能擴展應用SmartDataControl,需要硬件和軟件方面的支持,測試環(huán)境與目標如表2所列。
表2 測試環(huán)境與目標
4.2測試結果
圖4 主應用SmartWatch2
本文實驗采用中低端配置的智能手機,具有代表性,智能手表是Sony SmartWatch2,與智能手機通過藍牙配對并進行通信,智能手機安裝智能連接即可顯示智能手表的主應用SmartWatch2,如圖4所示。通過智能手表的主應用SmartWatch2可以查看智能手機上安裝的智能手表的智能擴展應用,智能手表上對應顯示安裝的智能擴展應用的圖標,如圖5所示。
點擊智能手表的智能擴展應用SmartDataControl即可看到功能菜單,如圖6所示;點擊“清空手表端用戶信息數(shù)據(jù)”可批量刪除Event Table中的數(shù)據(jù),點擊“發(fā)送用戶信息數(shù)據(jù)”則顯示發(fā)送用戶數(shù)據(jù)的界面,輸入用戶登錄信息后點擊“發(fā)送”,則在智能手表上收到智能手機發(fā)送的用戶登錄信息圖略——編者注。
圖5 手機和手表上的應用對應圖
圖6 應用功能菜單
在智能手表端功能菜單有Send和Delete,主要功能分別是將用戶登錄信息發(fā)送到智能手機端和刪除用戶登錄信息。發(fā)送用戶登錄信息到智能手機端可以讓用戶方便查看某手機應用的登錄信息,當刪除某應用的登錄信息時也會有相應的提示界面圖——編者注。
可以看出,通過智能手表保存智能手機應用程序的登錄信息,能夠有效隔離用戶登錄信息和應用程序,智能手表相較于智能手機更加私人化,更有利于用戶登錄信息的保護。
結語
本文根據(jù)智能手機應用程序的用戶登錄信息可以存儲在智能手表(智能可穿戴設備)上,從而將用戶登錄信息與應用程序隔離開的思路,分析和研究智能手機與SmartWatch2的通信原理,學習并運用Android開發(fā)技術和Sony智能擴展開發(fā)技術,設計出SmartWatch2的智能擴展應用,通過藍牙通信實現(xiàn)智能手機與智能手表的數(shù)據(jù)傳輸,從而達到預期設計目標。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
參考文獻
[1] Lorenzo Porzi,Stefano Messelodi,Carla Maria Modena,et al.A Smart Watch-based Gesture Recognition System for Assisting People with Visual Impairments[C]//Proceedings of the 3rd ACM international workshop on Interactive multimedia on mobile&portable devices.
[2] SONY.Wearable SmartWatch2 Guides Architecture[EB/OL].[2015-10].https://developer.sony.com/develop/wearables/smartwatch-2-apis/guides/architecture/.
[3] 韋奮.藍牙無線通信模塊設計[D].西安:西安電子科技大學,2008.
[4] Ping Bai,Kang Sheng,Yuanzhang Li,et al.Research on Bluetooth protocols based on Android kernel log. Int. J[J].Computing Science and Mathematics,2015,6(1).
[5] Bohao Gao,Qing Mu,Quanxin Zhang,et al.A SmartWatch-based Password Input Extention For Android[J].Mechatronics Electric Industrial and Control Engineering,2015:128-130.
[6] SONY.Wearable SmartWatch2 Guides Important Terms and Components[EB/OL].[2015-10].https://developer.sony.com/develop/wearables/smartwatch-2-apis/guides/important-terms-and-components/.
[7] SONY.Wearable SmartWatch2 Get Started[EB/OL].[2015-10].https://developer.sony.com/develop/wearables/smartwatch-2-apis/get-started/.
黃少川(碩士研究生)、譚毓安(教授)、馬忠梅(副教授)、張全新(講師)、李元章(講師),主要研究方向為網(wǎng)絡與信息安全、網(wǎng)絡存儲和嵌入式系統(tǒng)應用。
Huang Shaochuan,Tan Yu’an,Ma Zhongmei,Zhang Quanxin,Li Yuanzhang
(School of Computer Science and Technology,Beijing Institute of Technology,Beijing 100081,China)
Abstract:In this paper,the function extension application of SmartWatch2 is designed after studying the Bluetooth communication protocol and smart extension API.The application can store user login information such as user name and password to SmartWatch2,which can effectively isolate the application and user login information.At the same time,the user can read,send and delete the login information in the SmartWatch2,thereby it achieves the purpose of protecting the user login information.
Key words:SmartWatch2;Bluetooth;smart extension API
收稿日期:(責任編輯:薛士然2015-10-04)
中圖分類號:TP368.1
文獻標識碼:A