一種基于Restful架構的無線傳感器網絡令牌認證方法
【技術領域】
[0001] 本發(fā)明設及計算機網絡技術領域,尤其設及一種基于Rest化1架構的無線傳感器 網絡令牌認證方法。
【背景技術】
[0002] 無線傳感器網絡(Wireless Sensor Networks,WSN)是由一組微型傳感器節(jié)點W 自組織方式構成的無線網絡,其目的是協(xié)作地感知、采集和處理網路覆蓋地理區(qū)域中感知 對象的信息,并發(fā)布給觀察者。無線傳感器網絡中的每個傳感器具有一個或多個節(jié)點,傳感 器節(jié)點通常是一個微型的嵌入式系統(tǒng)。每個節(jié)點來監(jiān)測自己的感知范圍對象,監(jiān)測特定的 行為,使用節(jié)點來采集數(shù)據(jù),將采集到的數(shù)據(jù)傳送到最近的匯聚節(jié)點,隨后進入匯聚階段, 從接近節(jié)點所采集到的數(shù)據(jù)進行分析和處理,然后將結果根據(jù)需要發(fā)送給基站,基站將最 終結果傳送給觀察員。
[0003] 由于傳感器網絡配置環(huán)境一般比較惡劣,加之無線網絡本身固有的脆弱性,因而 極易受到各種各樣的攻擊。為保證信息的安全傳遞,需要有一種機制來驗證通信各方身份 的合法性。在傳統(tǒng)的有線網絡中,公鑰基礎設施有效地解決了運個問題,它通過對數(shù)字證書 的使用和管理,來提供全面的公鑰加密和數(shù)字簽名服務。通過公鑰基礎設施,可W將公鑰與 合法擁有者的身份綁定起來,從而建立并維護一個可信的網絡環(huán)境。然而,非對稱加密體制 需要很高的計算、通信和存儲開銷,運決定了在資源受限的傳感器上使用數(shù)字簽名和公鑰 證書機制是不可行的。為保證信息的安全傳遞,需要有一種機制來驗證通信各方身份的合 法性,必須建立一套綜合考慮安全性、效率和性能并進行合理的傳感器網絡身份認證方案。
【發(fā)明內容】
[0004] 本發(fā)明的目的是提供一種基于Rest化1架構的無線傳感器網絡令牌認證方法,能 有效防止惡意攻擊者對數(shù)據(jù)的破壞,保證無線傳感器網絡中數(shù)據(jù)的安全。
[0005] 本發(fā)明采用的技術方案為:一種基于Rest化1架構的無線傳感器網絡令牌認證方 法,將傳感器節(jié)點和匯聚節(jié)點自組織成為網絡,將匯聚節(jié)點連接到基于Rest化1架構的Web 服務器,匯聚節(jié)點與Web服務器之間采用挑戰(zhàn)響應認證,Web服務器與客戶端之間采用S化認 證,客戶端與匯聚節(jié)點之間采用令牌認證,W上所述=種認證均為雙向認證,用戶通過客戶 端訪問Web服務器獲取無線傳感器節(jié)點的數(shù)據(jù)。
[0006] 所述的匯聚節(jié)點與Web服務器之間的挑戰(zhàn)響應認證,包括W下步驟: A匯聚節(jié)點向Web服務器發(fā)起身份注冊請求,進入步驟B; B Web服務器為匯聚節(jié)點分配ID,在本地保存匯聚節(jié)點的ID信息及與匯聚節(jié)點協(xié)商得 到的認證密鑰,并將此ID發(fā)送給匯聚節(jié)點,進入步驟C; C匯聚節(jié)點接收ID信息,向Web服務器發(fā)送包含匯聚節(jié)點ID信息的認證請求,進入步驟 D; D Web服務器在本地查詢接收到的ID是否存在,若存在,則生成第一隨機數(shù)并發(fā)送給匯 聚節(jié)點,同時發(fā)送給匯聚節(jié)點一組函數(shù)算法表,進入步驟E;若不存在,進入步驟H; E匯聚節(jié)點采用認證密鑰對第一隨機數(shù)進行加密,并采用函數(shù)算法表中的一種算法對 加密后的第一隨機數(shù)再加密,匯聚節(jié)點將再加密后的第一隨機數(shù)W及所選擇的加密算法發(fā) 送給Web服務器,進入步驟F; F Web服務器采用認證密鑰對第一隨機數(shù)進行加密,采用匯聚節(jié)點發(fā)送的加密算法對 加密后的第一隨機數(shù)再加密,并判斷加密結果與匯聚節(jié)點發(fā)送的再加密后的第一隨機數(shù)是 否一致,若一致,則通過驗證,進入步驟G,否則,驗證不通過,進入步驟H; G Web服務器與匯聚節(jié)點協(xié)商得到會話密鑰; H Web服務器拒絕接收匯聚節(jié)點的數(shù)據(jù)。
[0007]所述的步驟B和步驟G中,Web服務器與匯聚節(jié)點采用DH算法分別生成認證秘鑰和 會話密鑰。
[000引所述的步驟D中的函數(shù)算法表為單向化Sh函數(shù)算法表。
[0009] 所述的客戶端與Web服務器之間的令牌認證,依次包括客戶端與Web服務器之間的 身份認證和客戶端與Web服務器之間的身份注冊; 客戶端與Web服務器之間的身份認證,依次包括W下步驟: A1、客戶端向Web服務器發(fā)起連接請求,并接收Web服務器返回的第一 CA證書W及與第 一CA證書相關的f目息; B1、客戶端驗證Web服務器身份的合法性,并保存Web服務器的公鑰; CU客戶端向Web服務器發(fā)送第二CA證書; Dl、Web服務器驗證客戶端身份的合法性,并保存客戶端的公鑰; El、客戶端將自身支持的通訊對稱密碼方案發(fā)送給Web服務器; Fl、Web服務器從接收到的通訊對稱密碼方案中選擇一種密碼方案,并將此密碼方案采 用客戶端的公鑰加密后發(fā)送給客戶端; G1、客戶端對接收到的加密后的密碼方案解密,獲得Web服務器選擇的密碼方案,確定 通話密鑰,并將通話密鑰采用Web服務器的公鑰加密后發(fā)送給Web服務器; Hl、Web服務器接收加密后的通話密鑰,進行解密,獲得通話密鑰; 客戶端與Web服務器之間的身份注冊,依次包括W下步驟: A2、客戶端向Web服務器發(fā)起注冊請求,并將注冊信息通過S化安全信道發(fā)給Web服務 器; B2、客戶端第一次登錄時,Web服務器將用戶導向授權頁,用戶自定義個人數(shù)據(jù)的訪問 權限,并通過S化安全信道發(fā)給Web服務器; C2、Web服務器將用戶授權情況存入訪問控制列表,根據(jù)用戶的用戶名、密碼和當前時 間生成臨時令牌,并將臨時令牌發(fā)送給客戶端; D2、客戶端使用臨時令牌向Web服務器發(fā)出數(shù)據(jù)操作請求; E2、Web服務器判斷臨時令牌是否失效,若失效要求客戶端重新進行登錄操作并生成新 的臨時令牌發(fā)送給客戶端作為憑證;若令牌未失效,則回應客戶端的請求。
[0010] 所述的步驟C2中,若用戶擁有私人匯聚節(jié)點,Web服務器也將生成的臨時令牌發(fā)送 給匯聚節(jié)點。
[0011] 在客戶端與匯聚節(jié)點之間的令牌認證過程中,用戶在購買私人匯聚節(jié)點時,獲取 一個唯一標識編號,Web服務器將此匯聚節(jié)點的ID與此標識編號進行綁定。
[0012] 客戶端與匯聚節(jié)點之間的令牌認證過程,依次包括W下步驟: A3、客戶端向Web服務器發(fā)起注冊請求,填寫私人匯聚節(jié)點的ID與標識編號; B3、Web服務器接收客戶端的注冊信息,若發(fā)現(xiàn)匯聚節(jié)點的ID與標識編號匹配,則承認 此匯聚節(jié)點為此用戶的私人匯聚節(jié)點,并在客戶端登陸后生成臨時令牌時,將臨時令牌發(fā) 送給客戶端的同時發(fā)送給用戶的私人匯聚節(jié)點; C3、用戶的私人匯聚節(jié)點接收到臨時令牌,客戶端通過臨時令牌與私人匯聚節(jié)點進行 連接。
[0013] 本發(fā)明將傳感器節(jié)點和匯聚節(jié)點自組織成為網絡,將匯聚節(jié)點連接到基于 Restful架構的Web服務器,匯聚節(jié)點與Web服務器之間采用挑戰(zhàn)響應認證,Web服務器與客 戶端之間采用S化認證,客戶端與匯聚節(jié)點之間采用令牌認證,W上所述=種認證均為雙向 認證,用戶通過客戶端訪問Web服務器獲取無線傳感器節(jié)點的數(shù)據(jù),本發(fā)明所述的基于 Restful架構的無線傳感器網絡令牌認證方法,能有效防止惡意攻擊者對數(shù)據(jù)的破壞,保證 無線傳感器網絡中數(shù)據(jù)的安全。
【附圖說明】
[0014] 圖1為本發(fā)明基于Rest化1架構的無線傳感器網絡拓撲圖; 圖2為本發(fā)明中匯聚節(jié)點與Web服務器之間的挑戰(zhàn)響應認證流程圖; 圖3為本發(fā)明中客戶端與Web服務器之間的身份認證流程圖; 圖4為本發(fā)明中客戶端與Web服務器之間的身份注冊流程圖; 圖5為本發(fā)明中客戶端與匯聚節(jié)點之間的令牌認證過程。
【具體實施方式】
[0015] 本發(fā)明所述的一種基于Rest化1架構的無線傳感器網絡令牌認證方法,將傳感器 節(jié)點sensor和匯聚節(jié)點sink node自組織成為網絡,將匯聚節(jié)點sink node連接到基于 Restful架構的Web服務器,匯聚節(jié)點sink node與Web服務器之間采用挑戰(zhàn)響應認證,Web服 務器與客戶端user之間采用SSL認證,客戶端user與匯聚節(jié)點sink node之間采用令牌認 證,W上所述=種認證均為雙向認證,用戶通過客戶端user訪問Web服務器獲取無線傳感器 節(jié)點sensor的數(shù)據(jù)。
[0016] REST全稱是R邱resentational State Transfer,即表述性狀態(tài)轉移,指的是一組 架構約束條件和原則,如果一個架構符合REST的約束條件和原則,就稱其為Rest化1架構。 目前HTTP是唯一與REST相關的實例。
[0017] Restful架構遵循無狀態(tài)通信原則。無狀態(tài)通信原則指的是客戶端user和Web服務 器交互的過程中各次請求之間是無狀態(tài)的。REST要求狀態(tài)要么被放入資源狀態(tài)中,要么被 保存在客戶端user上,即Web服務器不能保持除了單次請求之外的任何與其通信的客戶端 user的通信狀態(tài)。此種通信狀態(tài)使得Web服務器的可用空間具有可伸縮性,如果Web服務器 需要保持客戶端user狀態(tài),那么大量的客戶端user交互會嚴重影響Web服務器的內存可用 空間(f OO化rint)。為實現(xiàn)無狀態(tài)通信,基于Rest化1架構的認證請求應當不依賴于cookie 或session,且每一個請求都應當攜帶某種類型的認證憑證。
[001引圖I為基于Rest化