專利名稱:傳感器節點設備認證和狀態認證的方法以及安全協議方法
技術領域:
本發明設計傳感器網絡,特別涉及傳感器網絡的安全協議。
背景技術:
傳感器網絡被廣泛地應用在很多民用領域,包括環境和住所監控,農業監控,工業控制和自動化,醫療引用,家庭自動化,智能交通控制等等。針對復雜的任務和應用,多個孤立的傳感器網絡需要全局化的互聯,以協作地實現數據采集和控制,從而實現泛在傳感器網絡(USN)環境。由于很多應用(例如智能測量、健康監控、安全系統、工業自動化等)的敏感特性,USN應該提供安全機制,以用于設備認證、消息完整性和加密數據安全。安全考量需要將對手的主動惡意行為考慮在內。它需要USN能夠經受一定程度的攻擊,并保證保密性、完整性以及信息的可用性。另外,對手的攻擊能力能夠從對無線信道的被動竊聽,發展至對傳感器網絡的主動軟件篡改。但是,由于下面這些特性,為USN提供安全保護并不是件容易的事。1.傳感器節點通常具有受限的電池壽命、小的形狀因素以及成本限制,這些制約了傳感器節點的存儲容量、CPU速度和無線接口的復雜性。因此,USN通常受到嚴格的資源限制和功能限制。由于這些限制,安全規定協議應盡可能地輕量化。2.支持某些應用的傳感器節點數量預計十分龐大,即處于102至107級別。因此,用于USN的安全規定協議必須提供可擴展性。3.僅簡單認證設備并不足以驗證傳感器網絡的運行軟件及狀態并沒有被惡意篡改過。傳感器網絡的運行軟件及狀態(例如,訪問控制列表、共享密鑰、存儲器狀態等)對于USN應用是十分重要的。因此,該安全規定協議應能提供設備認證和運行軟件及狀態驗證。4.在USN中,傳感器節點同時用于支持多種應用。即,它們會同時與很多應用服務器通信。如果每個服務器都分別驗證傳感器網絡的運行軟件及狀態,將導致巨大的通信開銷。目前,基于傳感器節點/網絡的部署形式,有兩種用于傳感器節點/網絡的認證方式。 第一種方式是,傳感器網關作為本地的AAA服務器,來認證傳感器節點,并與傳感器節點協商安全方法和密鑰材料。該方式的缺點在于:難以支持漫游或移動的情況,因為目標傳感器網關無法知道到來的傳感器節點的信用。第二種方式是每個傳感器節點直接與認證服務器注冊并協商安全方法和密鑰材料。在這種方式下,網關僅僅提供回傳數據路徑,用于在傳感器節點和認證服務器之間的端到端的認證會話消息。這個方案有三個主要問題:首先,由于每個傳感器節點直接與認證服務器進行認證,在大規模環境中,用于傳送數據包的通信開銷會產生巨大的網絡負載。其次,難以同時支持不同的鏈路接入技術所需的認證方法和數據保護方式。第三,由于傳感器節點直接與認證服務器進行認證,傳感器節點必須具有足夠的功能來支持認證方法。另外,現有方式還存在另一個主要問題:它們無法驗證傳感器節點/網絡的運行軟件及狀態。由于傳感器網絡常常部署在邊緣或危險的環境中,無人保護。因此,僅有簡單的設備認證并不足以驗證傳感器節點的運行軟件及狀態并沒有被惡意篡改過。
發明內容
本發明提出了一種用于USN的安全協議方法,以認證傳感器節點,并且驗證運行軟件及狀態。基本的發明構思如下:1.USN被劃分成數個域,每個域具有一個協調器,在這里被稱為USN控制器(UC)。每個UC所轄的域含有一組傳感器網絡網關(SGW)。UC轉發來自或發往該域的數據包,并且管轄不同域的各個UC構成分布式的架構。2.網關SGW為相關的傳感器節點進行基于組的設備認證,它在UC的幫助下與AAA服務器進行認證消息交換。3.在設備認證后,由UC驗證傳感器節點和傳感器網絡的運行軟件和狀態,以檢查它們在上次關機之后是否被篡改過,而不是由應用服務器來驗證。根據本發明的一個方面,提供了一種在傳感器網絡的傳感器網絡網關中用于進行傳感器節點設備認證的方法,該傳感器網絡中的多個傳感器節點連接到該網關,至少一個該網關連接到傳感器網絡控制器,該控制器連接到認證服務器,其中,該網關為該多個傳感器節點生成匯聚的認證消息后發送給該控制器。根據該方面,傳感器網絡被劃分為由控制器管轄的多個域,每個域內的傳感器由網關所接入,提高了傳感器網 絡的層次性,便于網絡擴展。并且,網關為多個傳感器節點生成匯聚的認證消息,節省了一一傳輸傳感器節點的認證消息的開銷。根據一個優選的實施方式,該方法包括如下步驟:1.分別與該多個傳感器節點進行網絡關聯;i1.生成匯聚的認證請求消息,該消息中含有已關聯的多個傳感器節點的列表,并將該消息通過控制器發送給認證服務器;ii1.接收認證服務器經過控制器發送的、對各傳感器節點的認證質詢,并將質詢分別發送給相應的傳感器節點。該實施方式中,網關為多個傳感器節點生成匯聚的認證請求消息,該匯聚節省了認證請求階段的信令開銷。根據一個進一步優選的實施方式,該方法在發送該質詢后,還包括如下步驟:iv.接收多個傳感器節點分別向該網關發送的認證響應;V.匯聚該多個認證響應,將匯聚得到的認證響應消息通過控制器發送給認證服務器;v1.接收并記錄來自認證服務器的認證結果,并將認證結果分別發送給傳感器節點。該實施方式中,網關為多個傳感器節點生成匯聚的認證響應消息,該匯聚節省了認證響應階段的信令開銷。根據一個進一步優選的實施方式,所述步驟ii包括:
-維護一個定時器,為定時期間內關聯的所有傳感器節點生成該認證請求消息;所述步驟V包括:-維護一個定時器,將定時期間內接收到的所有認證響應匯聚為該認證響應消息。在該實施方式中,將一定時間內做出反應的所有傳感器節點的信息匯聚在一起,提供了一種具體的匯聚方式。根據一個優選的實施方式,所述步驟iii包括:-將該網關的公鑰參數發送給傳感器節點;所述步驟iv包括:-接收各傳感器節點以該網關的公鑰加密的各認證響應,使用該網關的私鑰將其解密;所述步驟V包括:-在將匯聚得到的認證響應消息發送給該控制器之前,使用該控制器的公鑰加密該認證響應消息。該實施方式進一步在網關和傳感器節點,以及網關和控制器之間進行基于非對稱密鑰的加密通信,提高了認證的安全性。根據本發明的另一個方面,提供了一種在傳感器網絡的傳感器網絡控制器中用于進行傳感器節點狀態驗證的方法 ,該傳感器網絡中的多個傳感器節點連接到傳感器網絡網關,至少一個該網關連接到該控制器,該方法包括如下步驟:1.將驗證請求消息發送給該網關,該消息中含有待驗證的傳感器節點的列表;I1.接收該網關發送的傳感器節點的狀態參數;II1.根據狀態參數,驗證各傳感器節點的狀態。在傳感器節點設備認證的基礎上,該方面提供了對傳感器節點的狀態進行認證的技術方案,進一步保證了傳感器節點在軟件上沒有被篡改,保證了傳感器網絡的安全性。并且由控制器進行驗證,提供了對數量龐大的傳感器網絡的擴展性。根據一個優選的實施方式,所述步驟II包括如下任一步驟:-接收該網關在單個消息中匯聚的各傳感器節點的狀態參數;-接收該網關為各個傳感器節點逐個轉發的狀態參數。根據該實施方式,網關可以匯聚或逐個轉發傳感器節點的狀態參數,提供了兩種替代的更加具體的實現方式。根據一個優選的實施方式,該方法還進行傳感器網絡狀態驗證,所述步驟II還包括:-接收該網關發送的該傳感器網絡的狀態參數;所述步驟III還包括:-驗證該傳感器網絡的狀態。除了傳感器節點個體的狀態之外,該優選的實施方式還對作為一個整體的傳感器網絡的狀態參數進行驗證,例如驗證該網絡中的接入節點列表或共孚密鑰等,進一步提聞了安全性。根據一個優選的實施方式,所述步驟II還包括:-接收該網關發送的經該控制器的公鑰加密的狀態參數;
-使用該控制器的私鑰解密得到該狀態參數。該實施方式進一步在控制器和網關之間進行基于非對稱密鑰的加密通信,提高了驗證的安全性。根據一個優選的實施方式,所述步驟II中:-接收傳感器節點針對所運行的多個應用一起發送的狀態參數;-接收傳感器節點針對所運行的單個應用發送的狀態參數。在該實施方式中,傳感器節點能夠把所有應用的狀態參數一起發送給控制器,由控制器統一地進行驗證,這樣能夠節省總的信令開銷。替代地,傳感器節點也能夠針對不同應用分別發送該應用的狀態參數,這樣能夠使單次發送的信息量較少。根據一個優選的實施方式,所述驗證是對傳感器節點和傳感器網絡的運行軟件和狀態進行驗證,所述步驟III包括以下至少任一項:-將所接收到的狀態參數與上一次所接收到的狀態參數進行比較,以驗證狀態參數;-將所接收到的狀態參數與所記錄的對傳感器節點和傳感器網絡的狀態設定進行比較,以驗證狀態參數。
該實施方式提供了進行驗證的兩種具體方案。根據本發明的第三個方面,提供了以上兩個方面的結合,它是一種在傳感器網絡中的安全協議方法,該傳感器網絡中的多個傳感器節點連接到傳感器網絡網關,至少一個該網關連接到該控制器,該控制器連接到認證服務器,該方法包括如下步驟:-在傳感器節點設備認證過程中,該網關將該多個傳感器節點分別發送的請求進行匯聚后發送給該控制器;-傳感器節點設備認證后,該控制器發起狀態驗證過程,驗證各傳感器節點和該傳感器網絡的狀態。
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發明的其它特征、目的和優點將會變得更加明顯:圖1是根據本發明的實施方式的泛在傳感器網絡的架構圖;圖2是根據本發明的實施方式的傳感器節點設備認證的信令流程圖;圖3是根據本發明的實施方式的傳感器節點和傳感器網絡狀態驗證的信令流程圖。
具體實施例方式下面通過具體實施例進行詳細說明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。圖1示出了本發明的用于泛在傳感器網絡的安全規定的架構。除了傳感器節點(SN)之外,它包括三個主要功能元素:傳感器網絡網關(SGW):負責將傳感器節點連接到互聯網。對于數據轉發,SGW為傳感器節點進行數據匯聚功能。對于安全性,SGW維護接入控制列表(控制哪些傳感器節點被允許加入網絡)。為了支持用于傳感器節點分組認證,即匯聚功能,SGW具有緩存機制,以中繼認證數據和傳感器數據。USN控制器(UC):負責管理傳感器節點和SGW的協調器。例如,在圖1中所示,UCl負責SGWl和SGW2管轄的傳感器節點,UC2負責SGW3和SGW4管轄的傳感器節點。另外,由于傳感器節點能夠在USN中被同時用于多種應用,UC是一個支持各種應用的中間件。SP,收集來自傳感器節點的傳感器數據業務并將它們發送給應用服務器。因此,從USN安全性的角度看,UC負責運行軟件及狀態驗證。認證、授權和計費(AAA)服務器:負責所有傳感器節點的不間斷存儲,并為傳感器節點的設備認證生成認證矢量。對于每個傳感器節點,傳感器ID和相關的認證信用,例如密碼和預共享密鑰在部署時已經被提供在傳感器上以及AAA服務器上。在SGW和UC之間存在預設的安全關聯。S卩,SGff和UC能夠互相定位并安全地通信。例如,SGW在最初的注冊時,獲得用于加密的公私鑰配對,該配對用于在SGW和UC之間的數據包傳輸。在本實施方式中,SGW、UC和AAA服務器是部署在電信網絡環境中的網絡功能元素,并且因此它們應該是可靠并且安全的。它們能夠被實現在現有的電信網絡實體之中。在對網絡架構進行說明后,下面將分別對根據本發明進行傳感器節點設備認證,以及傳感器節點和傳感器網絡狀態驗證的技術方案進行詳述。在傳感器節點啟動后,它需要連接到電信網絡,電信網絡將首先認證該傳感器節點是否是合法的。下面參照圖1所示的網絡架構,以圖2來說明根據本發明的實施方式的傳感器節點設備認證的信令流程。1.當傳感器SN節點啟動后,它會連接到網關SGW1,以進行網絡關聯。在網絡關聯中,具體地,傳感器節點發送關`聯請求消息給SGW1,該消息中含有傳感器ID。然后,SGWl將回復關聯響應消息。關聯請求消息和關聯響應消息都具有標準的IEEE 802.15.4的格式。2.SGffl維護了時鐘1,并記錄這段時間進行關聯的傳感器的傳感器ID。在定時到期后,SGffl為所記錄的傳感器節點生成認證請求消息,該請求消息代表這些傳感器節點進行認證。該消息中含有關聯的傳感器的傳感器ID的列表。3.控制器UCl將該認證請求消息轉發給AAA服務器。4.在接收到認證請求消息后,AAA服務器將返回含有對各傳感器的質詢的消息。在一種情況下,AAA服務器分別為各傳感器返回一質詢矢量,其中包括一個或多個質詢。5.控制器UCl將來自AAA的質詢矢量存儲在本地數據中,并為每一個傳感器從它對應的質詢矢量中選擇一個質詢,將該質詢發送給SGWl。6.SGffl將各質詢分別發送給相應的傳感器節點。在一個實施方式中,SGffl還將它的公共參數告知傳感器節點,以用于傳感器節點計算出SGWl的公鑰。7.各傳感器節點分別使用它的密鑰對質詢進行處理后,產生認證響應。傳感器節點還使用SGWl的公共參數計算出SGWl的公鑰,而后用該公鑰對認證響應進行加密后發送給 SGWl。8.SGffl接收來自傳感器節點的認證響應,使用其私鑰進行解密后,將來自各傳感器的認證響應緩存起來。
9.SGffl維護了時鐘2,在定時到期后,SGffl將定時期間內接收到的所有認證響應匯聚為認證響應消息。SGWl使用UCl的公鑰將該認證響應消息加密后發送給UCl。10.UCl使用其私鑰將該認證響應消息解密。11.UCl使用AAA服務器的公鑰將該認證響應消息使用AAA服務器的公鑰加密后,發送給AAA服務器。12.AAA服務器對傳感器節點進行設備認證,并將認證結果發送給UCl。13.UCl記錄對于各傳感器節點的認證結果,并將該結果發送給SGW1。14.SGW記錄對于各傳感器節點的認證結果,并將該結果發送給相應的傳感器節點。在設備認證成功后,UC驗證該傳感器節點的運行軟件和狀態。圖3示出了這一過程。1.UCl發送狀態驗證請求消息給SGW1,其中包含需要驗證的傳感器ID的列表。該消息由SGWl的公鑰所加密。2.在接收到UCl發送的狀態驗證請求消息后,SGffl解密該消息,并將它發送給傳感器節點。3.傳感器節點返回狀態驗證響應,該消息中含有傳感器ID、以及狀態材料S。S是不同參數和狀態變量的集合,例如在傳感器節點上運行的應用軟件和存儲器狀態。在一種情況下,UCl在請求消息中指示傳感器節點將所運行的多個應用的狀態參數一起發送回來;在另一種情況下,UCl在在請 求消息中指示傳感器節點將特定應用的狀態參數發送回來。4.在接收到各傳感器節點發送的狀態驗證響應后,SGffl可以將所有狀態驗證響應匯聚為一個狀態驗證響應消息發送給UCl ;替代地,SGWl可以逐條轉發各傳感器節點發送的狀態驗證響應。優選地,SGWl將該傳感器網絡整體的狀態參數,例如驗證該網絡中的接入節點列表或共享密鑰等發送給UCl。5.UCl解密SGWl發送的狀態驗證響應消息,并驗證傳感器節點的運行軟件及狀態。優選地,UCl還驗證傳感器網絡的狀態。驗證的方式是多種多樣的,這里舉兩個例子:-UCl將所接收到的狀態參數與上一次所接收到的狀態參數進行比較,以驗證狀態參數;-UCl將所接收到的狀態參數與所記錄的對傳感器節點和傳感器網絡的狀態設定進行比較,以驗證狀態參數。6.在驗證狀態后,UCl發送加密的狀態驗證確認消息至SGW1,將傳感器節點的運行軟件及狀態驗證的結果通知SGWl。如果某個傳感器節點的S在上次關機后被篡改過,那么UCl將發送拒絕消息至SGWl以通知SGWl拒絕來自該傳感器節點的數據包。7.SGffl記錄傳感器節點的運行軟件及狀態的驗證結果,并將它轉發給傳感器節點。當然,本發明還可有其他多種實施例,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。
權利要求
1.一種在傳感器網絡的傳感器網絡網關(SGW)中用于進行傳感器節點(SN)設備認證的方法,該傳感器網絡中的多個傳感器節點連接到該網關,至少一個該網關連接到傳感器網絡控制器(UC),該控制器連接到認證服務器(AAA), 其中,該網關為該多個傳感器節點生成匯聚的認證消息后發送給該控制器。
2.根據權利要求1所述的方法,其特征在于,該方法包括如下步驟: 1.分別與該多個傳感器節點進行網絡關聯; i1.生成匯聚的認證請求消息,該消息中含有已關聯的多個傳感器節點的列表,并將該消息通過控制器發送給認證服務器; ii1.接收認證服務器經過控制器發送的、對各傳感器節點的認證質詢,并將質詢分別發送給相應的傳感器節點。
3.根據權利要求2所述的方法,其特征在于,該方法在發送該質詢后,還包括如下步驟: iv.接收多個傳感器節點分別向該網關發送的認證響應; V.匯聚該多個認證響應,將匯聚得到的認證響應消息通過控制器發送給認證服務器; v1.接收并記錄來自認證服務器的認證結果,并將認證結果分別發送給傳感器節點。
4.根據權利要求3所述的方法,其特征在于,所述步驟ii包括: -維護一個定時器,為定時期間內關聯的所有傳感器節點生成該認證請求消息; 所述步驟V包括:` -維護一個定時器,將定時期間內接收到的所有認證響應匯聚為該認證響應消息。
5.根據權利要求3所述的方法,其特征在于,所述步驟iii包括: -將該網關的公鑰參數發送給傳感器節點; 所述步驟iv包括: -接收各傳感器節點以該網關的公鑰加密的各認證響應,使用該網關的私鑰將其解密; 所述步驟V包括: -在將匯聚得到的認證響應消息發送給該控制器之前,使用該控制器的公鑰加密該認證響應消息。
6.一種在傳感器網絡的傳感器網絡控制器(UC)中用于進行傳感器節點(SN)狀態驗證的方法,該傳感器網絡中的多個傳感器節點連接到傳感器網絡網關(SGW),至少一個該網關連接到該控制器,該方法包括如下步驟: 1.將驗證請求消息發送給該網關,該消息中含有待驗證的傳感器節點的列表; I1.接收該網關發送的傳感器節點的狀態參數; II1.根據狀態參數,驗證各傳感器節點的狀態。
7.根據權利要求6所述的方法,其特征在于,所述步驟II包括如下任一步驟: -接收該網關在單個消息中匯聚的各傳感器節點的狀態參數; -接收該網關為各個傳感器節點逐個轉發的狀態參數。
8.根據權利要求6所述的方法,其特征在于,該方法還進行傳感器網絡狀態驗證,所述步驟II還包括: -接收該網關發送的該傳感器網絡的狀態參數;所述步驟III還包括: -驗證該傳感器網絡的狀態。
9.根據權利要求6或8所述的方法,其特征在于,所述步驟II還包括: -接收該網關發送的經該控制器的公鑰加密的狀態參數; -使用該控制器的私鑰解密得到該狀態參數。
10.根據權利要求6所述的方法,其特征在于,所述步驟II中: -接收傳感器節點針對所運行的多個應用一起發送的狀態參數; -接收傳感器節點針對所運行的單個應用發送的狀態參數。
11.根據權利要求8所述的方法,其特征在于,所述驗證是對傳感器節點和傳感器網絡的運行軟件和狀態進行驗證,所述步驟III包括以下至少任一項: -將所接收到的狀態參數與上一次所接收到的狀態參數進行比較,以驗證狀態參數;-將所接收到的狀態參數與所記錄的對傳感器節點和傳感器網絡的狀態設定進行比較,以驗證狀態參數。
12.—種在傳感器網絡中的安全協議方法,該傳感器網絡中的多個傳感器節點(SN)連接到傳感器網絡網關(SGW),至少一個該網關連接到該控制器(UC),該控制器連接到認證服務器(AAA),該方法包括如下步驟: -在傳感器節點設備認證過程中,該網關將該多個傳感器節點分別發送的請求進行匯聚后發送給該控制器; -傳感器節點設備認證后,該控制器發起狀態驗證過程,驗證各傳感器節點和該傳感器網絡的狀態。
13.根據權利要求12所述的方法,其特征在于,所述傳感器節點設備認證過程包括以下步驟: -該多個傳感器節點分別與該網關進行網絡關聯; -該網關生成匯聚的認證請求消息,該消息中含有已關聯的多個傳感器節點的列表,并將該消息通過控制器發送給認證服務器; -該控制器將該認證請求消息發送給認證服務器,接收認證服務器發回的認證質詢,并將該認證質詢發送給該網關; -該網關將質詢分別發送給相應的傳感器節點; -多個傳感器節點分別發送認證請求至該網關; -該網關匯聚該多個認證請求,將匯聚得到的認證請求消息發送給控制器; -該控制器將該認證請求消息發送給認證服務器,接收并記錄認證服務器發回的認證結果,并將認證結果發送給該網關; -該網關記錄該認證結果,并將該認證結果發送給各傳感器節點。
14.根據權利要求12或13所述的方法,其特征在于,所述傳感器節點和傳感器網絡的狀態驗證過程包括如下步驟: -該控制器將驗證請求消息發送 給該網關,該消息中含有待驗證的傳感器節點的列表; -該網關將驗證請求分別發送給各傳感器節點; -各傳感器節點將驗證響應發送給該網關,該響應中含有狀態參數;-該網關將各傳感器節點的狀態參數發送給該控制器,并將該傳感器網絡的狀態參數發送給該控制器; -該控制器根據狀 態參數,驗證各傳感器節點的狀態以及該傳感器網絡的狀態。
全文摘要
一種在傳感器網絡中的安全協議方法,該傳感器網絡中的多個傳感器節點(SN)連接到傳感器網絡網關(SGW),至少一個該網關連接到控制器(UC),該控制器連接到認證服務器(AAA),該方法包括如下步驟在傳感器節點設備認證過程中,該網關將該多個傳感器節點分別發送的請求進行匯聚后發送給該控制器;傳感器節點設備認證后,該控制器發起狀態驗證過程,驗證各傳感器節點和該傳感器網絡的狀態。本發明實現了傳感器節點的設備認證以及傳感器節點和傳感器網絡的狀態驗證,提供了完備的安全協議。
文檔編號H04W12/06GK103249043SQ201210032290
公開日2013年8月14日 申請日期2012年2月14日 優先權日2012年2月14日
發明者楊水根, 賓梵翔 申請人:上海貝爾股份有限公司