一種通用的智能硬件的安全密鑰管理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能硬件的密鑰管理領(lǐng)域,尤其是一種通用的智能硬件的安全密鑰管理方法。
【背景技術(shù)】
[0002]目前,隨著近幾年移動互聯(lián)網(wǎng)產(chǎn)業(yè)的蓬勃發(fā)展,越來越多的傳統(tǒng)硬件設(shè)備廠家進入到移動互聯(lián)網(wǎng)領(lǐng)域。這些廠家基于其傳統(tǒng)的硬件設(shè)備制造優(yōu)勢,通過在其硬件產(chǎn)品上引入軟件操作系統(tǒng),并利用互聯(lián)網(wǎng)通訊技術(shù),實現(xiàn)設(shè)備間的互聯(lián)互通。此外,他們還借助移動終端應(yīng)用程序(后文簡稱移動APP)和云端服務(wù)器集群技術(shù)(后文簡稱云端),為最終用戶提供了多種多樣的智能服務(wù)?!爸悄苡布?移動APP+云端”的控制邏輯,已經(jīng)成為了傳統(tǒng)硬件進入移動互聯(lián)網(wǎng)產(chǎn)業(yè)的基本模式:用戶使用移動APP,通過互聯(lián)網(wǎng)提供的傳輸通道,利用云端(比如移動APP與智能硬件在無法直接通信的網(wǎng)絡(luò)中)或者不利用云端(比如移動APP與智能硬件在可以直接通信的網(wǎng)絡(luò)中),對智能硬件進行控制操作。
[0003]然而,伴隨著智能硬件進入移動互聯(lián)網(wǎng)并給廠家?guī)硇碌睦麧櫟耐瑫r,也導(dǎo)致了自身產(chǎn)品的安全性受到了越來越多的挑戰(zhàn)。對于那些沒有防護措施的智能硬件設(shè)備,網(wǎng)絡(luò)黑客通過網(wǎng)絡(luò)技術(shù)手段,輕易就能在遠程實現(xiàn)入侵,并對這些硬件設(shè)備進行控制和篡改,進而對客戶造成不同程度的惡劣影響。為此,為智能硬件加上安全防護,就是一個迫切的需要了。
[0004]目前常見的智能硬件的安全防護措施,都是基于數(shù)據(jù)加密的方式。即:在控制指令發(fā)送之前,先使用加密密鑰和加密算法,對指令數(shù)據(jù)進行加密;再利用網(wǎng)絡(luò)將加密后的數(shù)據(jù)傳遞出去;到了接收方,先利用解密密鑰和解密算法對指令進行解密,從而得到實際的指令內(nèi)容。由于加解密密鑰只有合法的通信雙方才知曉,故很難被第三方實現(xiàn)破解。通過這種方式,就實現(xiàn)了智能硬件的安全要求。然而,傳統(tǒng)的加解密密鑰,一旦采用就終生不變;這就給了網(wǎng)絡(luò)黑客一個可以窺探的機會。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是針對傳統(tǒng)的加解密密鑰,一旦采用就終生不變安全性差的問題,提出一種通用的智能硬件的安全密鑰管理方法。
[0006]本發(fā)明的技術(shù)方案是:
一種通用的智能硬件的安全密鑰管理方法,它包括:智能硬件作為密鑰的產(chǎn)生方,能夠被動響應(yīng)移動終端的密鑰更新請求并完成密鑰更新的步驟,以及智能硬件主動向云端發(fā)起密鑰更新的請求并完成密鑰更新的步驟。
[0007]本發(fā)明的智能硬件作為密鑰的產(chǎn)生方,能夠被動響應(yīng)移動終端的密鑰更新請求并完成密鑰更新的步驟具體包括:
步驟1:移動終端判斷出自身沒有存儲密鑰或者所存儲密鑰已失效;
步驟2:移動終端向智能硬件發(fā)出密鑰獲取的請求指令,指令中附帶明文隨機字符串; 步驟3:智能硬件接收到此請求指令后,獲取到其中的明文隨機字符串;
步驟4:智能硬件使用密鑰,對此明文隨機字符串進行加密處理,并得到加密后的密文隨機字符串;
步驟5:智能硬件向移動終端發(fā)出密鑰獲取的應(yīng)答指令,指令中包括密鑰和加密后的密文隨機字符串;
步驟6:移動終端接收到此應(yīng)答指令后,獲取到其中的密鑰和加密后的密文隨機字符串;并使用所獲得的密鑰,對所獲得的加密后的密文隨機字符串進行解密,并得到解密后的明文隨機字符串明文;
步驟7:移動終端將解密后得到的明文隨機字符串,與自身保存的原始隨機字符串進行內(nèi)容對比,判定是否相等;
步驟8.1:若相等,則表示移動終端獲取到正確密鑰,從而將密鑰保存到非易失性存儲單元中,若有舊密鑰,則進行替換;流程結(jié)束;
步驟8.2:若不等,則表示移動終端獲取到錯誤密鑰,從而返回步驟2。
[0008]本發(fā)明的步驟2中,移動終端向智能硬件發(fā)出密鑰獲取的請求指令中包括智能硬件用來計算初始加密密鑰的參數(shù),包括但不限于:移動終端的當前時間參數(shù)、MAC地址參數(shù)、身份信息參數(shù)和通信號碼中的一個或多個。
[0009]本發(fā)明的步驟I中,移動終端判斷出自身沒有存儲密鑰或者所存儲密鑰已失效具體為:
首先,移動終端判斷自身有沒有密鑰,
如果移動終端沒有密鑰,則移動終端向智能硬件發(fā)起密鑰獲取的請求指令;
如果移動終端有密鑰,則移動終端默認采用此密鑰,對與智能硬件的交互報文進行加密,則此加密后的交互報文到達智能硬件后,智能硬件會使用其存儲的密鑰進行解密,若解密失敗,則智能硬件就會認為移動終端使用的密鑰是錯誤的,則不會向移動終端發(fā)起任何應(yīng)答報文,移動終端在發(fā)現(xiàn)自己發(fā)出的加密報文沒有得到應(yīng)得的應(yīng)答后,能夠在超時和重試機制失效后,判定出其自身使用的密鑰已經(jīng)失效,則移動終端向智能硬件發(fā)起密鑰獲取的請求指令。
[0010]本發(fā)明的智能硬件主動向云端發(fā)起密鑰更新的請求并完成密鑰更新智能硬件向云端發(fā)出密鑰更新請求并確認云端存儲密鑰正確性的步驟具體包括:
步驟1:智能硬件向云端發(fā)出密鑰更新的請求指令,該指令的內(nèi)容,采用事先保存的云端公鑰進行加密,該指令中含有云端公鑰加密后的新密鑰以及隨機字符串二 ;
步驟2:云端使用所保存的云端私鑰,對接收到的請求指令進行解密,得到新密鑰和明文隨機字符串二,云端將新密鑰保存到非易失性存儲單元中,若有舊密鑰,則進行替換;步驟3:云端使用所獲得的新密鑰,對所獲得的明文隨機字符串進行加密處理,得到密文隨機字符串二;
步驟4:云端向智能硬件發(fā)出密鑰更新的應(yīng)答指令,該指令中含有密文隨機字符串二 ; 步驟5:智能硬件采用新密鑰解密步驟4所獲得的密文隨機字符串二,得到明文隨機字符串一;
步驟6:智能硬件將解密得到的明文隨機字符串二,與自身記錄的原始明文隨機字符串二進行內(nèi)容的比較,判定是否一致; 步驟7.1,若一致,則表示云端獲得并使用了正確的新密鑰,則此過程結(jié)束;
步驟7.2,若不一致,則表示云端獲得新密鑰失敗或者使用了錯誤的密鑰,則智能硬件返回步驟1.本發(fā)明的有益效果:
本發(fā)明的密鑰交互過程中使用隨機字符串來驗證密鑰正確性,可以實現(xiàn)云端,移動終端和智能硬件三者之間的可靠的密鑰安全交換。
[0011]
【附圖說明】
[0012]圖1是本發(fā)明中,智能硬件被動響應(yīng)移動終端的密鑰更新請求并完成密鑰更新的流程圖。
[0013]圖2是本發(fā)明的中,智能硬件主動向云端發(fā)起密鑰更新的請求并完成密鑰更新的流程圖。
[0014]
【具體實施方式】
[0015]下面結(jié)合附圖和實施例對本發(fā)明作進一步的說明。
[0016]智能硬件,移動終端和云端三者組成了一個相互可以通信的通信體系;智能硬件,移動終端和云端是此通信體系中的三類組成網(wǎng)元。這三類網(wǎng)元在整個通信體系中的數(shù)量不固定,可以是一個,也可以是多個;并且移動終端和云端這兩類網(wǎng)元也可以不存在,但不能同時不存在,否則無法組成一個通信實體。
[0017]智能硬件負責(zé)產(chǎn)生,存儲,管理和更新密鑰。其中的密鑰產(chǎn)生方法,包括但不限于:根據(jù)智能硬件內(nèi)部的隨機算法計算產(chǎn)生,根據(jù)智能硬件從移動終端或云端獲取的參數(shù)計算產(chǎn)生。其中的密鑰存儲方法,包括但不限于:保存在智能硬件中的非易失性存儲設(shè)備中,保存在智能硬件外的非易失性存儲設(shè)備中。其中的密鑰管理方法,包括但不限于:記錄密鑰產(chǎn)生時間和密鑰有效期限;在密鑰產(chǎn)生后替換當前的舊密鑰或者以此記錄所所有密鑰并標記密鑰的新舊屬性;在密鑰有效期到期后,進行密鑰的更新;其中的密鑰更新方法,與密鑰產(chǎn)生方法相同。
[0018]云端一般位于公網(wǎng)中,而智能硬件和移動終端一般位于私網(wǎng)中。因此,智能硬件與云端之間的交互數(shù)據(jù)就會在公網(wǎng)上進行傳輸。為了保證公網(wǎng)傳輸數(shù)據(jù)的安全性,要求智能硬件在出廠前,要預(yù)置由云端發(fā)布且認可的云端公鑰。而云端則保存云端私鑰。這樣,任何采用云端公鑰加密的數(shù)據(jù),只有采用云端私鑰才可以被正確解密。從而保證了智能硬件與云端之間的交互數(shù)據(jù)的安全性。
[0019]本發(fā)明旨在智能硬件的常規(guī)使用期間,提供可定義的密鑰更新策略配置方式,無論是否具有初始密鑰,均可由用戶定義密鑰更新策略;利用請求-確認機制,實現(xiàn)“智能硬件,移動APP,云端”之間的可靠的密鑰分發(fā)。具體包括如下過程:
(I)用戶在使用智能硬件前,需要根據(jù)產(chǎn)品說明書下載并安裝對應(yīng)的移動APP程序。在用戶首次使用智能硬件時,用戶通過移動APP連接硬件設(shè)備(此時,移動APP和硬件設(shè)備在可以直接通信的網(wǎng)絡(luò)中,無需云端參與),并完成必要的配置過程(一般為互聯(lián)網(wǎng)接入?yún)?shù)的配置)。在此過程中,設(shè)備利用從移動終端指令中接收到的數(shù)據(jù)(由于此時沒有加密密鑰,且是在可以直接通信的網(wǎng)絡(luò)中,故此數(shù)據(jù)是明文的;同時此類直接通信的網(wǎng)絡(luò)通常私網(wǎng)范疇,其本身具有安全保護機制和私密性(如:家用的WI