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