本發(fā)明屬于數(shù)據(jù)加密技術(shù)領(lǐng)域,涉及一種家庭網(wǎng)關(guān)數(shù)據(jù)通訊加密方法。
背景技術(shù):
家庭網(wǎng)關(guān)連接著家電網(wǎng)絡(luò)和互聯(lián)網(wǎng),存在著網(wǎng)關(guān)與互聯(lián)網(wǎng)相連后不少安全威脅與攻擊,主要有幾下幾種:
(1)非法連接,系統(tǒng)入侵。通過(guò)網(wǎng)絡(luò)探測(cè)、非法連接等獲取重要數(shù)據(jù)或?qū)嵤┫到y(tǒng)破壞。
(2)網(wǎng)絡(luò)監(jiān)聽(tīng),獲取密碼。通過(guò)網(wǎng)絡(luò)監(jiān)聽(tīng),分析網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù),獲取密碼等重要信息。
(3)信息欺騙,篡改信息。通過(guò)中間人攻擊,篡改、刪除或重放數(shù)據(jù)包進(jìn)行信息欺騙。
用戶連接家庭網(wǎng)關(guān),傳統(tǒng)方法采用密碼來(lái)判是否是合法,但這種方法很容易通過(guò)網(wǎng)絡(luò)監(jiān)聽(tīng),分析網(wǎng)絡(luò)數(shù)據(jù)來(lái)獲取密碼,很容易通過(guò)中間人攻擊,篡改、刪除或重放數(shù)據(jù)包進(jìn)行信息欺騙,因此技術(shù)上存在安全性不好的缺點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種家庭網(wǎng)關(guān)數(shù)據(jù)通訊加密方法,解決了目前用戶連接家庭網(wǎng)關(guān)采用密碼來(lái)判是否是合法,但這種方法很容易通過(guò)網(wǎng)絡(luò)監(jiān)聽(tīng),從而被盜取密碼的問(wèn)題。
本發(fā)明所采用的技術(shù)方案是按照以下步驟進(jìn)行:
step1公開(kāi)約定兩個(gè)參數(shù)g,n;
step2主站生成一個(gè)隨機(jī)數(shù)x,作為自已的私有密鑰,并計(jì)算x=gxmodn,x作為公開(kāi)的密鑰,x取反為x1,x1通過(guò)網(wǎng)絡(luò)傳送給家庭網(wǎng)關(guān);
step3家庭網(wǎng)關(guān)接收到x1后,x1取反為x,家庭網(wǎng)關(guān)生成一個(gè)隨機(jī)數(shù)y,作為自已的私有密鑰,并計(jì)算y==gymodn,y作為公開(kāi)的密鑰,y取反為y1,y1通過(guò)網(wǎng)絡(luò)傳送給主站,同時(shí),計(jì)算出
k2=xymodn=gxymodn作為加密解密用的私有密鑰;
step4主站接收到y(tǒng)1后,y1取反為y,計(jì)算出k1=y(tǒng)ymodn=gxymodn,作為加密解密用的私有密鑰;
主站計(jì)算出k1通過(guò)md5加密后網(wǎng)絡(luò)傳送給家庭網(wǎng)關(guān);
step5家庭網(wǎng)關(guān)接收到md5(k1),將md5(k2)通過(guò)網(wǎng)絡(luò)傳送給主站,這樣家庭網(wǎng)關(guān)和主站都能對(duì)方進(jìn)行合法驗(yàn)證,如md5(k1)與md5(k2)相等則為合法,否則為非法。
進(jìn)一步,主站和家庭網(wǎng)關(guān)的數(shù)據(jù)幀格式如下:68h為起始字符,a為地址域,c為控制域,l是長(zhǎng)度,雙字節(jié)長(zhǎng)度,設(shè)定2個(gè)l進(jìn)行比較,增強(qiáng)可靠性,data為鏈路用戶數(shù)據(jù),cs是從幀起始符到校驗(yàn)碼之前所有字節(jié)模256的和,保證傳輸數(shù)據(jù)的正確性,16h為結(jié)束字符。
進(jìn)一步,鏈路用戶數(shù)據(jù)的幀格式:afn為應(yīng)用層功能碼,seq為幀序列域,da和dt為數(shù)據(jù)單元標(biāo)識(shí),unit為數(shù)據(jù)單元。
進(jìn)一步,鏈路用戶數(shù)據(jù)幀格式中,擴(kuò)展了afn=11h,f1傳輸公開(kāi)密鑰x和y,f2傳輸md5加密的私有密鑰md5(k1)和md5(k2)。
本發(fā)明的有益效果是有效的保證了智能家居系統(tǒng)的通訊和數(shù)據(jù)的安全。
具體實(shí)施方式
下面結(jié)合具體實(shí)施方式對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
本發(fā)明方法步驟如下:
step1家庭網(wǎng)關(guān)與主站,公開(kāi)約定兩個(gè)參數(shù)g,n。
step2主站生成一個(gè)隨機(jī)數(shù)x,作為自已的私有密鑰,并計(jì)算x=gxmodn,x作為公開(kāi)的密鑰,,x取反為x1,x1通過(guò)網(wǎng)絡(luò)傳送給家庭網(wǎng)關(guān),主站->家庭網(wǎng)關(guān)。
step3家庭網(wǎng)關(guān)接收到x1后,x1取反為x,家庭網(wǎng)關(guān)生成一個(gè)隨機(jī)數(shù)y,作為自已的私有密鑰,并計(jì)算y=gymodn,y作為公開(kāi)的密鑰,y取反為y1,y1通過(guò)網(wǎng)絡(luò)傳送給主站,同時(shí),計(jì)算出k2=xymodn=gxymodn作為加密解密用的私有密鑰。家庭網(wǎng)關(guān)->主站。
step4主站接收到y(tǒng)1后,y1取反為y,計(jì)算出k1=y(tǒng)ymodn=gxymodn,作為加密解密用的私有密鑰。
由于md5(k1)=md5(k2),這樣,網(wǎng)關(guān)和主站實(shí)行通訊時(shí),具有共同的私有密鑰,能夠?qū)嵭辛藬?shù)據(jù)的加密和解密。為防止中間人攻擊,主站計(jì)算出md5(k1)通過(guò)網(wǎng)絡(luò)傳送給家庭網(wǎng)關(guān)。主站->家庭網(wǎng)關(guān)。
step5家庭網(wǎng)關(guān)接收到md5(k1),將md5(k2)通過(guò)網(wǎng)絡(luò)傳送給主站,這樣家庭網(wǎng)關(guān)和主站都能對(duì)方進(jìn)行合法驗(yàn)證。家庭網(wǎng)關(guān)->主站。
由于每次主站和網(wǎng)關(guān)通訊,公有密鑰雖然是公開(kāi)傳輸,鉭取反加密而且每次都是動(dòng)態(tài)的;私有密鑰通過(guò)md5加密傳輸,反向計(jì)算很不容易,從md5(k1)和md5(k2)計(jì)算出k1和k2很不容易。基于這二點(diǎn),保證了數(shù)據(jù)傳輸?shù)陌踩?、同時(shí)也防止了中間人的攻擊。
仿真結(jié)果分析
公開(kāi):g=5,n=97,3組仿真數(shù)據(jù)如下表1所示:
表1測(cè)試數(shù)據(jù)
從表1三組數(shù)據(jù)結(jié)果看:a計(jì)算的私有密鑰k1等于b計(jì)算的私有密鑰k2;分析結(jié)論:公開(kāi)g=5,n=97,從|x,y|出發(fā),攻擊者要計(jì)算出k1或k2是很不容易,另外,通過(guò)md5(k1)計(jì)算k1,通過(guò)md5(k2)計(jì)算k2也是很不容易。
分析結(jié)論:通訊雙方每次的公開(kāi)密鑰是不一樣的,各自計(jì)算出的用于加密和解密的私有密鑰也是不同的,這樣解決了動(dòng)態(tài)密鑰和數(shù)據(jù)加密的問(wèn)題。家庭網(wǎng)關(guān)是智能家居系統(tǒng)的關(guān)鍵中間樞紐,它的安全性關(guān)系到系統(tǒng)的安全可靠。本發(fā)明實(shí)現(xiàn)了動(dòng)態(tài)密鑰的生成、數(shù)據(jù)的加密解密、并防止了中間人攻擊,有效的保證了智能家居系統(tǒng)的通訊和數(shù)據(jù)的安全。仿真結(jié)果表明,文中設(shè)計(jì)的網(wǎng)關(guān)具有較高的安全性和實(shí)用性,能夠有效的通過(guò)智能終端實(shí)現(xiàn)對(duì)家用電器的監(jiān)測(cè)與控制。
本發(fā)明通信協(xié)議基于q/gdw130-2005數(shù)據(jù)傳輸規(guī)約標(biāo)準(zhǔn)規(guī)約,并擴(kuò)展了二個(gè)命令,用于數(shù)據(jù)安全。規(guī)約中,主站首先發(fā)送數(shù)據(jù)給從站(家庭網(wǎng)關(guān)),按數(shù)據(jù)幀格式,從站接收數(shù)據(jù),然后向其發(fā)送含有不同控制碼的數(shù)據(jù)幀。規(guī)約數(shù)據(jù)幀格式如表2所示,其中68h為起始字符,a為地址域,c為控制域,l是長(zhǎng)度,雙字節(jié)長(zhǎng)度,設(shè)定2個(gè)l進(jìn)行比較,增強(qiáng)可靠性,data為鏈路用戶數(shù)據(jù),cs是從幀起始符到校驗(yàn)碼之前所有字節(jié)模256的和,保證傳輸數(shù)據(jù)的正確性。
表2幀格式
幀格式中鏈路用戶數(shù)據(jù)包含所有用戶類(lèi)型數(shù)據(jù),通過(guò)功能碼和數(shù)據(jù)單元標(biāo)識(shí)來(lái)區(qū)分不同類(lèi)型用戶數(shù)據(jù),如表3所示:
表3鏈路用戶數(shù)據(jù)幀格式
在鏈路用戶數(shù)據(jù)幀格式中,擴(kuò)展一個(gè)應(yīng)用層功能碼和數(shù)據(jù)單元標(biāo)識(shí),對(duì)應(yīng)于一組數(shù)據(jù)單元格式。如表4所示,擴(kuò)展了afn=11h,f1和f2。
表4數(shù)據(jù)含義(afn=11h)
f1數(shù)據(jù)單元指雙方的公開(kāi)密鑰,實(shí)現(xiàn)了雙方計(jì)算出一個(gè)相同的秘密密鑰的目的。
f2數(shù)據(jù)單元指通過(guò)md5加密的計(jì)算的私有密鑰。
首先,主站與從站通過(guò)f1交換公開(kāi)密鑰x和y,雙方通過(guò)diffie-hellman密碼算法計(jì)算出了k1和k2;其次,主站通過(guò)f2傳輸md5(k1)給從站,從站核對(duì)md5(k1)是否與md5(k2)一致,如正確,主站與從站連接成功,這樣雙方可通過(guò)k1和k2加密和解密數(shù)據(jù),如不對(duì),則有中間人攻擊,雙方連接斷開(kāi)。
這樣,通過(guò)afn的擴(kuò)展和md5加密算法,達(dá)到了防止中間人攻擊的目標(biāo)。
本發(fā)明的優(yōu)點(diǎn)還在于在家庭網(wǎng)關(guān)與外部網(wǎng)絡(luò)通信時(shí),為防范網(wǎng)絡(luò)監(jiān)聽(tīng)、非法連接、信息篡改等入侵,在設(shè)計(jì)時(shí)需要在家庭網(wǎng)關(guān)中采用安全技術(shù):
(1)實(shí)現(xiàn)動(dòng)態(tài)密鑰;
(2)對(duì)通訊數(shù)據(jù)進(jìn)行加密處理;
(3)采取防止中間人攻擊手段。
在通訊時(shí),通訊雙方每次公開(kāi)的密鑰不一樣,數(shù)據(jù)通過(guò)密鑰加密傳輸,保證了(1)(2)技術(shù)的實(shí)現(xiàn),另外,通過(guò)通訊規(guī)約擴(kuò)展手段和利用md5散列算法,保證了(3)的技術(shù)實(shí)現(xiàn),從而保證了物聯(lián)網(wǎng)網(wǎng)關(guān)的安全。
以上所述僅是對(duì)本發(fā)明的較佳實(shí)施方式而已,并非對(duì)本發(fā)明作任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施方式所做的任何簡(jiǎn)單修改,等同變化與修飾,均屬于本發(fā)明技術(shù)方案的范圍內(nèi)。