天津工業(yè)大學計算機科學與軟件學院 袁新洋
隨著智能手機的普及和物聯(lián)網(wǎng)技術的高速發(fā)展,手機無疑是物聯(lián)網(wǎng)時代的基礎平臺之一。3G技術的高數(shù)據(jù)傳輸速率給我們帶來樂趣的同時也為我們生活帶來很多方便,也為基于手機終端的物聯(lián)網(wǎng)技術提供了很好的發(fā)展空間,以手機作為物聯(lián)網(wǎng)的終端平臺將是一種必然的發(fā)展趨勢。
物聯(lián)網(wǎng)技術作為一個新興的綜合性技術,具有互聯(lián)網(wǎng)的特點,智能化特征;同時聯(lián)合了通信技術、射頻技術、無線技術等。
嵌入式應用系統(tǒng)的開發(fā)屬于跨平臺開發(fā),即開發(fā)平臺使用的處理器和開發(fā)對象的處理器往往是不同的類型,因此需要交叉的軟件集成開發(fā)環(huán)境,即進行代碼編寫、編譯、連接、調試的環(huán)境。嵌入式系統(tǒng)運行需要特定的目標環(huán)境,該環(huán)境面向特定的應用領域,要實現(xiàn)預期的功能'還需要軟硬件協(xié)同設計。這種方法的特點是:在設計時從系統(tǒng)功能的實現(xiàn)考慮'把軟硬件同時考慮進去,既可最大限度的利用有效資源,縮短開發(fā)周期,又能取得更好的設計效果。
Java ME是Java Micro Edition的簡稱,它支持Java SE標準核心類庫的一個子集,增加了一些支持嵌入式系統(tǒng)的擴充類庫,定位在嵌入式系統(tǒng)的應用上,如手機、PDA等電子產(chǎn)品上。當前時代移動通信產(chǎn)品遍地開花,產(chǎn)品的軟硬件環(huán)境也各式各樣,僅手機操作系統(tǒng)就有Symbian、Palm OS、Linux、Windows Mobile等多個,致使系統(tǒng)移植成為一個瓶頸。Java可以幫助解決這個問題,因為Java具有“一次編寫、隨處運行”的特點。在任何一個支持Java的手機上都可以運行用J2ME開發(fā)的程序,并且支持J2ME的運營商和手機廠商比較多。此外,J2ME還有龐大的開發(fā)工具、數(shù)量眾多的開發(fā)社區(qū)等資源支持,這些都是J2ME的優(yōu)勢。
一次完整的認證過程不但只是對合法用戶的識別,還要做好前期準備和后期審計工作。認證前的工作是給用戶賦予權限,使合法用戶具有某些權力。認證過程中,密鑰的安全是非常重要的,因此一定要做好保密工作,可以釆用加密變換的方法傳輸數(shù)據(jù),加密方法可以選擇對稱加密法或者公鑰加密法。除此之外,時效性也是一個值得注意的問題,失效性是杜絕重放攻擊的有效方法。
本文中設計的系統(tǒng)是以手機作為用戶終端,集互聯(lián)網(wǎng)技術、監(jiān)控技術、傳感器技術、定位技術、自動報警為一體的多功能監(jiān)控系統(tǒng),它可應用于智能家居、貨物跟蹤、超市監(jiān)管等領域。
整個系統(tǒng)主要分為三個大模塊:前端信息采集模塊、服務器模塊、客戶端模塊,三個模塊分工合作,各盡其能。
2.1.1 前端采集模塊設計
前端采集模塊主要負責信息的采集:攝像頭對視頻信息采集,傳感器對周圍環(huán)境信息的采集,定位模塊對位置信息采集等。之后,把采集得到的信息按一定的數(shù)據(jù)格式封裝后通過3G無線網(wǎng)絡發(fā)送到服務器。前端處理器采用三星S3C2440ARM9開發(fā)板,板子上有串口、USB接口、USBHOST接口等,可以外接多個功能模塊。選擇USB攝像頭,使其與ARM9開發(fā)板相連,負責圖像信息的采集。將GPS設備ARM9開發(fā)板的USB HOST相連,負責位置信息的采集。溫度傳感器、濕度傳感器以及危險氣體傳感器并不是被ARM處理器控制,而是由STC12C5204單片機直接進行控制,單片機通過COM口與ARM9開發(fā)板交互信息。為了保證信息傳輸?shù)闹噶?,無線收發(fā)模塊選擇3G網(wǎng)卡,設定服務器的IP地址后,采用TCP協(xié)議向服務器發(fā)送數(shù)據(jù)。
2.1.2 服務器功能設計
服務器分為監(jiān)控管理、用戶管理、數(shù)據(jù)管理等幾個模塊。服務器要負責接收前端采集到的數(shù)據(jù),將數(shù)據(jù)處理、顯示。除此之外,還要負責響應客戶端請求。監(jiān)控管理負責接收并處理前端采集到的信息(溫度、濕度、危險氣體、GPS定位),接收到這些信息以后可以在服務器顯示出來。與手機客戶端的數(shù)據(jù)信息交互也主要在這個模塊實現(xiàn),根據(jù)手機客戶端請求,向客戶端發(fā)送需求信息。用戶管理又可以分為用戶注冊、用戶認證、權限管理、用戶刪除等功能。用戶注冊包括用戶基本信息注冊和手機客戶端注冊,客戶端注冊是為了實現(xiàn)用戶與手機客戶端的綁定。注冊過程要把用戶的注冊信息存入數(shù)據(jù)庫,用戶注銷負責把申請注銷的用戶信息全部清理并收回權限。
2.1.3 手機客戶端設計
系統(tǒng)采用手機作為客戶端,安裝了客戶端軟件的手機,通過登錄服務器的方式查看實時信息,鑒于手機具有隨身攜帶的優(yōu)點,因此用戶可以隨時了解到所關心的信息。手機客戶端主要實現(xiàn)用戶登錄-輸入設備號-查看信息。用戶成功登錄前,需要通過手機客戶端與服務器進行雙向認證,彼此認證通過后即可輸入所要査詢設備的設備號進行信息査詢。
為了增強系統(tǒng)的安全性,本文在S/Key技術的基礎上,提出了一種基于動態(tài)口令的雙向身份認證方法,不但實現(xiàn)了服務器對客戶端的身份認證,而且實現(xiàn)了客戶端對服務器的有效認證。雙向認證方法的基礎是通過對動態(tài)口令的驗證,達到驗證用戶身份的目的。在此基礎上,采用手機序列號(手機序列號是Imei碼的俗稱,Imei碼由GSM全球移動通信協(xié)會統(tǒng)一分配,是由15位數(shù)字組成的“電子串號”,它與每臺移動電話機一一對應,而且該碼是全世界唯一的)和手機號生成客戶識別碼(我們稱之為PN碼)實現(xiàn)手機客戶端軟件與用戶的綁定,做到手機與用戶的一一對應,達到了服務器對用戶的二次認證的目的。
雙向認證方法在本系統(tǒng)中主要應用在客戶端與服務器之間,用戶通過手機客戶端首先發(fā)起服務請求,服務器收到請求以后向客戶端發(fā)出挑戰(zhàn)信息,客戶端根據(jù)挑戰(zhàn)信息對服務器進行身份認證,對服務器認證通過后則進一步向服務器發(fā)送請求認證信息,服務器進行對客戶端的認證,若認證通過則一次完整的認證過程結束。服務器對用戶的認證需要驗證客戶端標識碼(PN碼)和動態(tài)口令。驗證過程中,服務器首先根據(jù)用戶ID檢索出該用戶的手機號碼和Imei碼,并使用與客戶端相同的方法計算PN碼,然后用計算出的PN碼對收到的信息(用PN碼作為加密密鑰的加密后動態(tài)口令值)進行解密,如果解密不成功說明有錯誤,否則進一步驗證解密出的動態(tài)口令。
本文以手機作為應用平臺,以3G網(wǎng)絡作為傳輸媒介,設計了一個多功能的物聯(lián)網(wǎng)應用系統(tǒng),雖然在硬件上本系統(tǒng)能夠實現(xiàn)一些基本的數(shù)據(jù)采集以及定位跟蹤,并不能滿足所有的需求,開發(fā)面向具體環(huán)境具體應用的系統(tǒng)是下一步要做的主要工作。
[1]石立峰.手機與物聯(lián)網(wǎng)[J].中國產(chǎn)業(yè),2010(11).
[2]王文軒.基于3G手機短信(SMS)的家電物聯(lián)網(wǎng)系統(tǒng)[J].物聯(lián)網(wǎng)技術,2011(10).
[3]劉強,崔莉,陳海明.物聯(lián)網(wǎng)關鍵技術與應用[J].計算機科學,2010(06).