傳感器認證和共享密鑰產生方法和系統(tǒng)以及傳感器的制造方法
【專利摘要】本申請?zhí)峁┝藗鞲衅髡J證和共享密鑰產生方法和系統(tǒng)以及相應的傳感器。根據(jù)本申請的傳感器認證和共享密鑰產生方法可包括:傳感器向應用系統(tǒng)發(fā)送ID和數(shù)字證書;應用系統(tǒng)驗證ID和數(shù)字證書,若驗證通過,則隨機生成會話密鑰,并使用數(shù)字證書中的公鑰加密所述會話密鑰形成加密消息,發(fā)送給傳感器;傳感器使用數(shù)字證書對應的私鑰解密所收到的加密消息,對解密得到的會話密鑰進行單向散列函數(shù)計算,形成散列值,并將所述散列值發(fā)送給應用系統(tǒng);以及應用系統(tǒng)驗證所收到的散列值,若驗證通過,則向傳感器發(fā)送認證成功消息。通過本申請,無需對CA進行改造便能以較為簡單的算法和較少步驟完成認證和密鑰共享,以降低對傳感器資源的需求和消耗。
【專利說明】傳感器認證和共享密鑰產生方法和系統(tǒng)以及傳感器
【技術領域】
[0001]本申請涉及傳感器認證和共享密鑰產生方法和系統(tǒng)以及傳感器。
【背景技術】
[0002]傳感器是一種典型的物聯(lián)網(wǎng)終端設備,具有低成本、低功耗等特點,集成有信息采集、數(shù)據(jù)處理等多種功能,通過采集和處理覆蓋區(qū)域里被檢測對象的信息,并發(fā)送給業(yè)務應用系統(tǒng)。傳感器設備具有即插即用的特點,該特點使傳感器設備具備廣泛的適用性,同時也帶來了安全問題,例如,攻擊者可能在合法傳感器設備休眠或離線的時間間隙,使用非法的傳感器設備替換原有合法的設備,這樣,業(yè)務平臺接收到的數(shù)據(jù)很有可能是攻擊者控制上傳的虛假數(shù)據(jù),從而給整個業(yè)務的正常運行造成嚴重影響。
[0003]為了保護合法傳感器設備的正常使用,避免非法傳感器設備接入網(wǎng)絡,在即插即用傳感器接入應用系統(tǒng)時,需要通過安全認證協(xié)議對傳感器的合法性進行認證,使得應用系統(tǒng)僅接受合法傳感器采集的數(shù)據(jù)。另外,為防止傳感器與應用系統(tǒng)之間傳輸?shù)臄?shù)據(jù)被攻擊者截獲,傳感器與應用系統(tǒng)之間需要協(xié)商生成共享密鑰,使用共享密鑰對傳輸?shù)臄?shù)據(jù)進行保護。與此同時,由于傳感器成本較低,存儲和運算能力有限,因此應用于傳感器設備的安全機制應該具有較低的存儲和運算開銷。
[0004]公鑰基礎設施PKI (Public Key Infrastructure)是目前廣泛應用的利用非對稱加密技術建立的提供安全服務的基礎設施,使用由可信證書機構頒發(fā)的公鑰證書,能夠為網(wǎng)絡應用提供加密、數(shù)字簽名、數(shù)據(jù)完整性保護、數(shù)字信封等服務。
[0005]在現(xiàn)有的傳感器認證方法中,已有基于PKI技術的物聯(lián)網(wǎng)認證系統(tǒng),通過PKI體系,完成了上位機對多個傳感器的認證工作。但由于上位機沒有身份認證的功能,需要將證書發(fā)送給CA,由CA對證書進行認證,上位機接收CA的認證結果。由于普通CA機構并不具有此功能,需要單獨建設具有此種服務的CA機構并且需要依賴CA完成對證書的認證工作。
[0006]現(xiàn)有技術中還存在電子設備接口間基于公鑰證書的認證密鑰協(xié)商和更新方法。該方法采用DifTie-Hellman密鑰交換技術來生成共享秘密;通過HMAC密鑰雜湊函數(shù)保證所生成的共享秘密的一致性和協(xié)議消息的完整性;在完全認證的情況下,通過使用簽名技術來保證證書的發(fā)送者確實持有與證書中公鑰相對應的私鑰,從而確定設備的合法性;在重新認證的情況下,通過使用持有共享密鑰這一事實來確認設備的合法性。但是,該方法的算法復雜,通信流程多,難以較好應用于對資源受限的即插即用傳感器。
【發(fā)明內容】
[0007]為了解決現(xiàn)有技術中需要改造CA或算法流程較復雜的問題,本申請?zhí)岢隽艘环N傳感器認證和共享密鑰產生方法和系統(tǒng)以及相應的傳感器。
[0008]根據(jù)本申請的一個方面,提供了一種傳感器認證和共享密鑰產生方法,包括:傳感器向應用系統(tǒng)發(fā)送ID和數(shù)字證書;應用系統(tǒng)驗證ID和數(shù)字證書,若驗證通過,則隨機生成會話密鑰,并使用所述數(shù)字證書中的公鑰加密所述會話密鑰形成加密消息,發(fā)送給傳感器;傳感器使用所述數(shù)字證書對應的私鑰解密所收到的加密消息,對解密得到的會話密鑰進行單向散列函數(shù)計算,形成散列值,并將所述散列值發(fā)送給應用系統(tǒng);以及應用系統(tǒng)驗證所收到的散列值,若驗證通過,則向傳感器發(fā)送認證成功消息。
[0009]根據(jù)本申請的另一個方面,提供了一種傳感器,包括:發(fā)送模塊,發(fā)送傳感器的ID和數(shù)字證書;接收模塊,接收加密消息;解密模塊,使用所述數(shù)字證書對應的私鑰對接收到的加密消息進行解密得到解密信息;計算模塊,對解密得到的解密信息進行單向散列函數(shù)計算,形成散列值,其中,所述發(fā)送模塊進一步發(fā)送所述散列值。
[0010]根據(jù)本申請的再一個方面,提供了一種傳感器認證和共享密鑰產生系統(tǒng),包括:第一接收模塊,接收傳感器發(fā)送的ID和數(shù)字證書;第一驗證模塊,驗證接收到的ID和數(shù)字證書;會話密鑰生成模塊,隨機生成會話密鑰;加密模塊,使用所述數(shù)字證書中的公鑰加密所述會話密鑰形成加密消息;發(fā)送模塊,將所述加密消息發(fā)送給傳感器;第二接收模塊,接收傳感器發(fā)送的散列值;以及第二驗證模塊,驗證接收到的散列值。
[0011]通過本申請,無需對CA進行改造便能以較為簡單的算法和較少步驟完成認證和密鑰共享,以降低對傳感器資源的需求和消耗。
【專利附圖】
【附圖說明】
[0012]圖1是根據(jù)本申請一個實施方案的傳感器認證和共享密鑰產生方法的流程圖;
[0013]圖2是根據(jù)本申請一個實施方案的傳感器的框圖;
[0014]圖3是根據(jù)本申請另一個實施方案的傳感器的框圖;以及
[0015]圖4是根據(jù)本申請一個實施方案的傳感器認證和共享密鑰產生系統(tǒng)的框圖。
【具體實施方式】
[0016]下面參照附圖,對本申請的實施方案進行詳細說明。
[0017]圖1示出了根據(jù)本申請一個實施方案的傳感器認證和共享密鑰產生方法的操作過程。
[0018]根據(jù)本實施方案,可在傳感器中預先配置唯一的身份標識ID、私鑰、以及與私鑰對應的數(shù)字證書,其中數(shù)字證書由CA機構頒發(fā),私鑰由傳感器秘密存儲。
[0019]如圖1所示,在步驟S1002,傳感器向應用系統(tǒng)發(fā)送ID和數(shù)字證書。應用系統(tǒng)在收到ID和數(shù)字證書之后,在步驟S1004,對ID和數(shù)字證書進行驗證。若驗證通過,則應用系統(tǒng)隨機生成會話密鑰,并使用數(shù)字證書中的公鑰加密所述會話密鑰形成加密消息,然后發(fā)送給傳感器。之后,在步驟S1006,傳感器使用私鑰解密所收到的加密消息,對解密得到的會話密鑰進行單向散列函數(shù)計算,形成散列值,并將所述散列值發(fā)送給應用系統(tǒng)。其中,可采用任何公開的單向散列函數(shù)進行計算。應用系統(tǒng)在步驟S1008對所收到的散列值進行驗證,若驗證通過,則向傳感器發(fā)送認證成功消息。
[0020]根據(jù)圖1所示的方法,在無需對CA進行改造的前提下,能以較為簡單的算法和較少步驟完成認證和密鑰共享,從而降低對傳感器資源的需求和消耗。
[0021]根據(jù)一個實施例,可在應用系統(tǒng)中設置合法的傳感器ID列表,應用系統(tǒng)可根據(jù)傳感器ID列表和系統(tǒng)設置來判斷傳感器是否為合法設備。例如,應用系統(tǒng)可以通過設置白名單、黑名單等方式作為判斷傳感器ID是否合法的依據(jù)。應用系統(tǒng)驗證ID和數(shù)字證書可以是:驗證ID的有效性,驗證ID與數(shù)字證書名稱的一致性,以及驗證數(shù)字證書的有效性等。
[0022]根據(jù)一個實施例,若應用系統(tǒng)對ID和數(shù)字證書的驗證通過,則應用系統(tǒng)與傳感器采用會話密鑰進行后續(xù)的加密通信。
[0023]根據(jù)一個實施例,應用系統(tǒng)對ID和數(shù)字證書驗證通過,除了隨機生成會話密鑰之夕卜,應用系統(tǒng)還可生成隨機數(shù)。應用系統(tǒng)使用數(shù)字證書中的公鑰加密所述隨機數(shù)和所述會話密鑰形成加密消息,發(fā)送給傳感器。這種情況下,傳感器使用私鑰解密所收到的加密消息,并對解密得到的隨機數(shù)和會話密鑰進行單向散列函數(shù)計算,形成散列值,并將其發(fā)送給應用系統(tǒng)進行后續(xù)的散列值驗證。通過使用隨機數(shù),可防止重放攻擊。
[0024]圖2和圖3是根據(jù)本申請實施方案的傳感器的框圖。
[0025]如圖2所示的傳感器可包括發(fā)送模塊202、接收模塊204、解密模塊206以及計算模塊208。發(fā)送模塊202可發(fā)送傳感器的ID和數(shù)字證書,接收模塊204可接收加密消息,解密模塊206可使用數(shù)字證書對應的私鑰對接收到的加密消息進行解密得到解密信息,計算模塊208可對解密得到的解密信息進行單向散列函數(shù)計算,形成散列值。發(fā)送模塊202可進一步發(fā)送計算模塊208所形成的散列值。
[0026]如圖3所示的傳感器可包括發(fā)送模塊302、接收模塊304、解密模塊306、計算模塊308以及存儲模塊310,其中,發(fā)送模塊302、接收模塊304、解密模塊306和計算模塊308與圖2所示的發(fā)送模塊202、接收模塊204、解密模塊206和計算模塊208類似,此處不再贅述。存儲模塊310可存儲傳感器ID、私鑰以及與該私鑰對應的數(shù)字證書等。
[0027]接下來參照圖4,描述根據(jù)本申請實施方案的傳感器認證和共享密鑰產生系統(tǒng)。
[0028]如圖4所示,傳感器認證和共享密鑰產生系統(tǒng)可包括第一接收模塊402、第一驗證模塊404、會話密鑰生成模塊406、加密模塊408、發(fā)送模塊410、第二接收模塊412和第二驗證模塊414。
[0029]第一接收模塊402可接收傳感器發(fā)送的ID和數(shù)字證書,第一驗證模塊404可對第一接收模塊402接收到的ID和數(shù)字證書進行驗證。會話密鑰生成模塊406可隨機生成會話密鑰,加密模塊408則可使用數(shù)字證書中的公鑰對會話密鑰加密從而形成加密消息。發(fā)送模塊410可將加密模塊408形成的加密消息發(fā)送給傳感器。第二接收模塊412可接收傳感器發(fā)送的散列值,交由第二驗證模塊414進行散列值驗證。
[0030]根據(jù)一個實施例,若第二驗證模塊對接收到的散列值驗證成功,則發(fā)送模塊向傳感器發(fā)送認證成功消息。
[0031]根據(jù)一個實施例,第一驗證模塊驗證ID和數(shù)字證書可包括:驗證ID的有效性,驗證ID與數(shù)字證書名稱的一致性,以及驗證數(shù)字證書的有效性。
[0032]根據(jù)一個實施例,會話密鑰生成模塊除了隨機生成會話密鑰之外,還生成隨機數(shù)。加密模塊使用公鑰加密隨機數(shù)和會話密鑰,從而形成加密消息。
[0033]本申請的實施方案利用PKI技術,通過在傳感器中預置數(shù)字證書,實現(xiàn)應用系統(tǒng)對傳感器的身份認證,并在應用系統(tǒng)和傳感器之間生成共享密鑰,保護兩者之間的通信數(shù)據(jù)。由于數(shù)字證書通常需要占用約IKB的存儲空間,因此本申請的實施方案可僅占用約IKB的系統(tǒng)存儲空間。傳感器只進行一次解密運算和單向函數(shù)計算,即可完成身份認證和共享密鑰協(xié)商的過程,公鑰解密運算可采用RSA算法或ECC橢圓曲線算法。所需運算簡單,協(xié)議交互步驟少,對傳感器能力要求較低,且能有效減少傳感器能源的消耗,延長無源傳感器的使用壽命。
[0034]以上參照附圖對本申請的示例性的實施方案進行了描述。本領域技術人員應該理解,上述實施方案僅僅是為了說明的目的而所舉的示例,而不是用來進行限制。凡在本申請的教導和權利要求保護范圍下所作的任何修改、等同替換等,均應包含在本申請要求保護的范圍內。
【權利要求】
1.傳感器認證和共享密鑰產生方法,包括: 傳感器向應用系統(tǒng)發(fā)送ID和數(shù)字證書; 應用系統(tǒng)驗證ID和數(shù)字證書,若驗證通過,則隨機生成會話密鑰,并使用所述數(shù)字證書中的公鑰加密所述會話密鑰形成加密消息,發(fā)送給傳感器; 傳感器使用所述數(shù)字證書對應的私鑰解密所收到的加密消息,對解密得到的會話密鑰進行單向散列函數(shù)計算,形成散列值,并將所述散列值發(fā)送給應用系統(tǒng);以及應用系統(tǒng)驗證所收到的散列值,若驗證通過,則向傳感器發(fā)送認證成功消息。
2.如權利要求1所述的方法,其中,若應用系統(tǒng)向傳感器發(fā)送認證成功消息,則應用系統(tǒng)與傳感器采用所述會話密鑰進行加密通信。
3.如權利要求1所述的方法,其中,應用系統(tǒng)驗證ID和數(shù)字證書包括:驗證ID的有效性,驗證ID與數(shù)字證書名稱的一致性,以及驗證數(shù)字證書的有效性。
4.如權利要求1所述的方法,其中,應用系統(tǒng)對ID和數(shù)字證書驗證通過后,隨機生成隨機數(shù)和會話密鑰,并使用所述數(shù)字證書中的公鑰加密所述隨機數(shù)和所述會話密鑰形成加密消息,發(fā)送給傳感器, 傳感器使用私鑰解密所收到的加密消息,對解密得到的隨機數(shù)和會話密鑰進行單向散列函數(shù)計算,形成散列值。
5.傳感器,包括: 發(fā)送模塊,發(fā)送傳感器的ID 和數(shù)字證書; 接收模塊,接收加密消息; 解密模塊,使用所述數(shù)字證書對應的私鑰對接收到的加密消息進行解密得到解密信息;以及 計算模塊,對解密得到的解密信息進行單向散列函數(shù)計算,形成散列值, 其中,所述發(fā)送模塊進一步發(fā)送所述散列值。
6.如權利要求5所述的傳感器,進一步包括存儲模塊,存儲ID、私鑰以及與該私鑰對應的數(shù)字證書。
7.傳感器認證和共享密鑰產生系統(tǒng),包括: 第一接收模塊,接收傳感器發(fā)送的ID和數(shù)字證書; 第一驗證模塊,驗證接收到的ID和數(shù)字證書; 會話密鑰生成模塊,隨機生成會話密鑰; 加密模塊,使用所述數(shù)字證書中的公鑰加密所述會話密鑰形成加密消息; 發(fā)送模塊,將所述加密消息發(fā)送給傳感器; 第二接收模塊,接收傳感器發(fā)送的散列值;以及 第二驗證模塊,驗證接收到的散列值。
8.如權利要求7所述的系統(tǒng),其中,若第二驗證模塊對接收到的散列值驗證成功,則所述發(fā)送模塊向傳感器發(fā)送認證成功消息。
9.如權利要求7所述的系統(tǒng),其中,第一驗證模塊驗證ID和數(shù)字證書包括:驗證ID的有效性,驗證ID與數(shù)字證書名稱的一致性,以及驗證數(shù)字證書的有效性。
10.如權利要求7所述的系統(tǒng),其中,會話密鑰生成模塊隨機生成會話密鑰和隨機數(shù), 其中,加密模塊使用所述數(shù)字證書中的公鑰加密所述隨機數(shù)和所述會話密鑰形成加密消息。
【文檔編號】H04L9/08GK103532713SQ201210231073
【公開日】2014年1月22日 申請日期:2012年7月4日 優(yōu)先權日:2012年7月4日
【發(fā)明者】閻軍智, 齊旻鵬, 朱紅儒 申請人:中國移動通信集團公司