一種適用于物聯(lián)網(wǎng)的密鑰更新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及物聯(lián)網(wǎng),尤其涉及一種適用于物聯(lián)網(wǎng)的密鑰更新方法。
【背景技術(shù)】
[0002]物聯(lián)網(wǎng)技術(shù)在農(nóng)業(yè)和林業(yè)自動(dòng)化、智能家居、智能交通、智能建筑等領(lǐng)域得到了廣泛的應(yīng)用。典型的物聯(lián)網(wǎng)由眾多能量受限(靠電池供應(yīng))的無線通信模塊或節(jié)點(diǎn)(以下簡(jiǎn)稱節(jié)點(diǎn))和能量通常不受限的中央控制器(以下簡(jiǎn)稱中控)組成。當(dāng)中控與特定節(jié)點(diǎn)進(jìn)行數(shù)據(jù)通信時(shí),鑒于無線通信的開放性,數(shù)據(jù)在傳輸前應(yīng)先加密,以保障特定節(jié)點(diǎn)和中控之間數(shù)據(jù)傳輸?shù)陌踩?。因此每個(gè)節(jié)點(diǎn)和中控都需要專門共享一個(gè)會(huì)話密鑰。
[0003]物聯(lián)網(wǎng)節(jié)點(diǎn)通常沒有基本的輸入界面(鍵盤、觸摸屏等),因此節(jié)點(diǎn)生產(chǎn)廠商會(huì)給節(jié)點(diǎn)內(nèi)嵌出廠口令。中控通常具有輸入輸出界面或是可以通過網(wǎng)絡(luò)界面進(jìn)行配置,因此用戶可以在中控上相應(yīng)地輸入各個(gè)節(jié)點(diǎn)的出廠口令。節(jié)點(diǎn)和中控通信時(shí),雙方可以利用該出廠口令生成會(huì)話密鑰,并用該會(huì)話密鑰對(duì)數(shù)據(jù)進(jìn)行加密傳輸。這種靜態(tài)的會(huì)話密鑰生成方式雖然用起來簡(jiǎn)單方便,但是給攻擊者提供了便利。攻擊者只需要獲取到中控和節(jié)點(diǎn)之間的會(huì)話密鑰,便能夠竊聽節(jié)點(diǎn)與中控之間的加密通信,甚至冒充中控向節(jié)點(diǎn)發(fā)送惡意指令,從而帶來極大的安全隱患。為了解決這一問題,需要對(duì)加密數(shù)據(jù)的會(huì)話密鑰進(jìn)行更新。
[0004]目前常用的密鑰更新方式是由中控主導(dǎo)的,我們稱之為顯式密鑰更新。此時(shí),中控主動(dòng)產(chǎn)生包含新會(huì)話密鑰的密鑰更新報(bào)文,該密鑰更新報(bào)文被現(xiàn)有會(huì)話密鑰加密后發(fā)送給節(jié)點(diǎn);節(jié)點(diǎn)接收到加密的密鑰更新報(bào)文后,利用現(xiàn)有會(huì)話密鑰解密得到新會(huì)話密鑰,并用新會(huì)話密鑰取代現(xiàn)有會(huì)話密鑰。這種密鑰更新方式雖然增強(qiáng)了通信的安全性,但是由于節(jié)點(diǎn)能量有限,頻繁地接收中控發(fā)送的無線密鑰更新報(bào)文會(huì)消耗較多的能量,從而縮短節(jié)點(diǎn)電池的使用壽命。
[0005]本發(fā)明提出了一種密鑰更新方法,方法中節(jié)點(diǎn)和中控?zé)o須收發(fā)任何額外的密鑰更新報(bào)文,密鑰更新過程由節(jié)點(diǎn)自身發(fā)起完成,中控利用窮舉法匹配出并更新現(xiàn)有會(huì)話密鑰,以與節(jié)點(diǎn)保持同步。此方法避免了顯式密鑰更新給節(jié)點(diǎn)造成的能量損耗,延長(zhǎng)了節(jié)點(diǎn)電池的使用壽命,從而提高了整個(gè)物聯(lián)網(wǎng)的整體生存時(shí)間。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問題是如何在物聯(lián)網(wǎng)中提供一種不依賴顯式密鑰更新報(bào)文的密鑰更新方法,以克服現(xiàn)有技術(shù)中節(jié)點(diǎn)能量消耗過快的缺陷。
[0007]為了解決上述技術(shù)問題,本發(fā)明提供了一種適用于物聯(lián)網(wǎng)的密鑰更新方法,所述物聯(lián)網(wǎng)包括中控和各類節(jié)點(diǎn);所述中控和所述各類節(jié)點(diǎn)(以下簡(jiǎn)稱所述節(jié)點(diǎn))之間共享一個(gè)會(huì)話密鑰并事先約定一族輸出結(jié)果長(zhǎng)度等于會(huì)話密鑰長(zhǎng)度的生成函數(shù);所述節(jié)點(diǎn)利用該族生成函數(shù)中的某一個(gè)對(duì)現(xiàn)有會(huì)話密鑰進(jìn)行更新,生成新會(huì)話密鑰;所述節(jié)點(diǎn)用所述新會(huì)話密鑰對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密;所述中控接收到加密數(shù)據(jù)后,基于共享會(huì)話密鑰逐一嘗試各生成函數(shù)得到所述新會(huì)話密鑰。
[0008]該方法包括如下步驟:
[0009]所述節(jié)點(diǎn)向所述中控發(fā)送數(shù)據(jù)前,所述節(jié)點(diǎn)從該族生成函數(shù)中隨機(jī)選取一個(gè)并應(yīng)用于現(xiàn)有會(huì)話密鑰,計(jì)算得到的結(jié)果稱為生成密鑰,此時(shí)該生成密鑰即為新會(huì)話密鑰;所述節(jié)點(diǎn)用所述新會(huì)話密鑰對(duì)數(shù)據(jù)進(jìn)行加密,得到密文數(shù)據(jù),并將所述密文數(shù)據(jù)匯報(bào)給所述中控;
[0010]所述中控接收得到所述密文數(shù)據(jù)后,基于現(xiàn)有會(huì)話密鑰逐一嘗試各生成函數(shù),直到某個(gè)候選密鑰能解出正確有效的明文為止,此時(shí)該候選密鑰即為所述節(jié)點(diǎn)使用的所述新會(huì)話密鑰;相應(yīng)地,所述中控把現(xiàn)有會(huì)話密鑰更新為該候選密鑰。
[0011]優(yōu)選地,所述節(jié)點(diǎn)從該族生成函數(shù)中隨機(jī)選取一個(gè)并應(yīng)用于現(xiàn)有會(huì)話密鑰,生成所述新會(huì)話密鑰的步驟,包括:
[0012]所述節(jié)點(diǎn)和中控事先約定的一族生成函數(shù)F:
[0013]F= {f」i = 1,2,...,N},其中N為節(jié)點(diǎn)出廠時(shí)的設(shè)定值,用戶通過中控的控制界面為中控設(shè)置同樣的N,每個(gè)&為哈希函數(shù)(也稱散列函數(shù)、雜湊函數(shù)等),其特點(diǎn)是輸入任意但輸出長(zhǎng)度固定(此處等于所述會(huì)話密鑰的長(zhǎng)度);
[0014]所述節(jié)點(diǎn)采用如下公式生成所述新會(huì)話密鑰k':
[0015]k' = fr(k);
[0016]其中,
[0017]k為現(xiàn)有會(huì)話密鑰,本申請(qǐng)的實(shí)施例提供了第一次通信時(shí)初始會(huì)話密鑰k的生成方法,即k = h(pw),其中pw為所述節(jié)點(diǎn)的出廠口令(即便是同一品牌的節(jié)點(diǎn),各pw也可能不一樣),h是一個(gè)哈希函數(shù),其輸出結(jié)果長(zhǎng)度與所述會(huì)話密鑰長(zhǎng)度一致;
[0018]f;是從所述F中選取的一個(gè)函數(shù);
[0019]r (I ^ r ^ N)是所述節(jié)點(diǎn)從N種可能值中隨機(jī)選取的。
[0020]優(yōu)選地,所述節(jié)點(diǎn)從所述F中隨機(jī)選取一個(gè),這個(gè)隨機(jī)性至少應(yīng)部分地來自真實(shí)的物理世界。例如,節(jié)點(diǎn)的上電時(shí)間、節(jié)點(diǎn)測(cè)得的數(shù)據(jù)等都可以一并作為隨機(jī)信息源以用于過程初始化等。
[0021]優(yōu)選地,所述中控接收得到所述密文數(shù)據(jù)后,基于現(xiàn)有會(huì)話密鑰逐一嘗試所述fp直到某個(gè)生成的候選密鑰能解出正確有效的明文的步驟,包括:
[0022]從所述F中按某種方式(比如順序、逆序、隨機(jī)等)選取一個(gè)函數(shù)f;,,并計(jì)算生成候選密鑰k",也即k" =fr, (k),其中k為現(xiàn)有會(huì)話密鑰。
[0023]所述中控利用候選密鑰k"對(duì)密文進(jìn)行解密,若得到編碼正確且語義合理的明文,則所述k"為所述節(jié)點(diǎn)使用的所述新會(huì)話密鑰k';相應(yīng)地,所述中控把現(xiàn)有會(huì)話密鑰k更新為該候選密鑰k",以與節(jié)點(diǎn)保持同步;若不能得到編碼正確且語義合理的明文,則重復(fù)以上所述步驟。
[0024]與現(xiàn)有技術(shù)相比,本發(fā)明提供的技術(shù)方案避免了顯式密鑰更新給節(jié)點(diǎn)造成的能量損耗,延長(zhǎng)了節(jié)點(diǎn)電池的使用壽命,從而提高了整個(gè)物聯(lián)網(wǎng)的整體生存時(shí)間。
【附圖說明】
[0025]圖1為本發(fā)明實(shí)施例的系統(tǒng)架構(gòu)示意圖;
[0026]圖2為本發(fā)明實(shí)施例的密鑰更新方法的流程示意圖。
【具體實(shí)施方式】
[0027]以下結(jié)合附圖及實(shí)施例來詳細(xì)說明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題,并達(dá)到相應(yīng)技術(shù)效果的實(shí)現(xiàn)過程能充分理解并據(jù)以實(shí)施。
[0028]本發(fā)明的技術(shù)方案中,節(jié)點(diǎn)和中控?zé)o須收發(fā)任何額外的密鑰更新報(bào)文,密鑰更新過程由節(jié)點(diǎn)自身發(fā)起完成,中控利用窮舉法匹配出并更新現(xiàn)有會(huì)話密鑰,以與節(jié)點(diǎn)保持同步。此技術(shù)方案避免了顯式密鑰更新給節(jié)點(diǎn)造成的能量損耗,延長(zhǎng)了節(jié)點(diǎn)電池的使用壽命,從而提高了整個(gè)物聯(lián)網(wǎng)的整體生存時(shí)間。
[0029]智能家居網(wǎng)絡(luò)是物聯(lián)網(wǎng)中的一種,目前得到了廣泛的應(yīng)用和關(guān)注。本發(fā)明提出的密鑰更新方法不僅適用于智能家居網(wǎng)絡(luò),也適用于農(nóng)業(yè)和林業(yè)自動(dòng)化、智能交通、智能建筑等其它需要保障數(shù)據(jù)通信安全的網(wǎng)絡(luò)。
[0030]實(shí)施例一、智能家居網(wǎng)絡(luò)的密鑰更新方法
[0031]圖1為本實(shí)施例的系統(tǒng)架構(gòu)示意圖,圖2為本實(shí)施例的更新方法的流程示意圖。
[0032]如圖1所示,智能家居網(wǎng)絡(luò)是一種網(wǎng)狀結(jié)構(gòu),中央控制器(以下簡(jiǎn)稱中控)是具有較高處理能力、資源充足的中心,而各電器、傳感器上的無線收發(fā)模塊或裝置(以下簡(jiǎn)稱裝置,圖中示出了裝置1、裝置2、裝置3)為外圍節(jié)點(diǎn)。各裝置通過無線通信技術(shù),接收中控的指令并向中控返回?cái)?shù)據(jù);同時(shí)中控接入互聯(lián)網(wǎng),方便用戶通過手機(jī)、電腦等工具訪問智能家居網(wǎng)絡(luò)。在部署網(wǎng)絡(luò)時(shí),出于安全和隱私的考慮,中控與各個(gè)裝置之間的數(shù)據(jù)通信都必須用會(huì)話密鑰進(jìn)行加密。
[0033]圖2所示的本實(shí)施例,是以裝置I為例來說明本發(fā)明方法的技術(shù)方案,主要包括如下步