本發(fā)明涉及通信領(lǐng)域,具體地,涉及一種局域網(wǎng)通信中密鑰協(xié)商方法及裝置。
背景技術(shù):
在現(xiàn)有技術(shù)中,設(shè)備在無(wú)線局域網(wǎng)中通信時(shí)所使用的密鑰是固定密鑰。以使用中控設(shè)備控制局域網(wǎng)家電為例,該中控設(shè)備例如可以是電視、局域網(wǎng)網(wǎng)關(guān),家電生產(chǎn)過(guò)程中,廠家會(huì)為家電設(shè)置一個(gè)固定密鑰,中控設(shè)備使用該固定密鑰來(lái)完成與家電的通信進(jìn)而控制家電。
上述通信方式存在安全問(wèn)題,在局域網(wǎng)中使用固定密鑰進(jìn)行通信時(shí),該固定密鑰容易被攻擊者破解,并且破解之后可以被攻擊者所使用,這有可能導(dǎo)致使用該固定密鑰進(jìn)行通信的設(shè)備陷入安全危機(jī)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的是提供一種局域網(wǎng)通信中密鑰協(xié)商方法及裝置,以解決上述技術(shù)問(wèn)題或者至少部分的解決上述技術(shù)問(wèn)題。
為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例提供一種局域網(wǎng)通信中密鑰協(xié)商方法,包括:讀取通信設(shè)備的唯一標(biāo)識(shí);讀取所述局域網(wǎng)的標(biāo)識(shí);將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接以形成拼接字符;以及根據(jù)所述拼接字符生成通信密鑰。
可選地,所述通信設(shè)備的唯一標(biāo)識(shí)為所述通信設(shè)備媒介接入控制MAC地址或所述通信設(shè)備的序列號(hào)。
可選地,所述讀取所述局域網(wǎng)的標(biāo)識(shí)包括:讀取所述局域網(wǎng)的熱點(diǎn)名稱。
可選地,所述將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接包括:將所述通信設(shè)備的唯一標(biāo)識(shí)與所述無(wú)線局域網(wǎng)的標(biāo)識(shí)進(jìn)行異或拼接。
可選地,所述根據(jù)所述拼接字符生成通信密鑰包括:對(duì)所述拼接字符進(jìn)行哈希運(yùn)算,將所得的哈希值作為所述通信密鑰。
可選地,所述方法還包括:存儲(chǔ)所述通信密鑰。
可選地,所述方法還包括在所述局域網(wǎng)的標(biāo)識(shí)發(fā)生變化時(shí),使用所述變化后的局域網(wǎng)的標(biāo)識(shí)重新生成所述通信密鑰。
相應(yīng)地,本發(fā)明實(shí)施例還提供一種局域網(wǎng)通信中密鑰協(xié)商裝置,包括:第一讀取模塊,用于讀取通信設(shè)備的唯一標(biāo)識(shí);第二讀取模塊,用于讀取所述局域網(wǎng)的標(biāo)識(shí);拼接模塊,用于將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接以形成拼接字符;以及密鑰生成模塊,用于根據(jù)所述拼接字符生成通信密鑰。
可選地,所述通信設(shè)備的唯一標(biāo)識(shí)為所述通信設(shè)備媒介接入控制MAC地址或所述通信設(shè)備的序列號(hào)。
可選地,所述局域網(wǎng)的標(biāo)識(shí)為所述局域網(wǎng)的熱點(diǎn)名稱。
可選地,所述拼接模塊將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行異或拼接。
可選地,所述密鑰生成模塊用于對(duì)所述拼接字符進(jìn)行哈希運(yùn)算,并將所得的哈希值作為所述通信密鑰。
可選地,所述裝置還包括:存儲(chǔ)模塊,用于存儲(chǔ)所述通信密鑰。
通過(guò)上述技術(shù)方案,讀取通信設(shè)備的唯一標(biāo)識(shí);讀取所述局域網(wǎng)的標(biāo)識(shí);將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接以形成拼接字符;以及根據(jù)所述拼接字符生成通信密鑰。該通信密鑰關(guān)聯(lián)于通信設(shè)備的唯一標(biāo)識(shí)和局域網(wǎng)的標(biāo)識(shí),通信密鑰可依賴于局域網(wǎng)標(biāo)識(shí)的不同而不同,進(jìn)而降低了通信密鑰被攻擊者破解的風(fēng)險(xiǎn)。
本發(fā)明實(shí)施例的其它特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說(shuō)明。
附圖說(shuō)明
附圖是用來(lái)提供對(duì)本發(fā)明實(shí)施例的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與下面的具體實(shí)施方式一起用于解釋本發(fā)明實(shí)施例,但并不構(gòu)成對(duì)本發(fā)明實(shí)施例的限制。在附圖中:
圖1示出了根據(jù)本發(fā)明一實(shí)施例的局域網(wǎng)通信中密鑰協(xié)商方法的流程示意圖;
圖2示出了應(yīng)用本發(fā)明實(shí)施例提供的方法的場(chǎng)景示意圖;以及
圖3示出了根據(jù)本發(fā)明一實(shí)施例的局域網(wǎng)通信中密鑰協(xié)商裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明實(shí)施例的具體實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說(shuō)明和解釋本發(fā)明實(shí)施例,并不用于限制本發(fā)明實(shí)施例。
圖1示出了根據(jù)本發(fā)明一實(shí)施例的局域網(wǎng)通信中密鑰協(xié)商方法的流程示意圖。如圖1所示,本發(fā)明實(shí)施例的一方面提供一種局域網(wǎng)通信中密鑰協(xié)商方法,該方法適用于在無(wú)線局域網(wǎng)中進(jìn)行數(shù)據(jù)通信的各設(shè)備,例如,網(wǎng)關(guān)、路由器、各種智能家電等。該方法包括如下步驟。
步驟S11,讀取通信設(shè)備的唯一標(biāo)識(shí)。
設(shè)備的唯一標(biāo)識(shí)是指屬于設(shè)備獨(dú)有的且固定不可變的標(biāo)識(shí),例如可以為通信設(shè)備的MAC(媒介接入控制)地址或通信設(shè)備的序列號(hào),但是本發(fā)明實(shí)施例并不限制于此,例如,通信設(shè)備的唯一標(biāo)識(shí)也可以是配置的唯一標(biāo)識(shí)信息等。
步驟S12,讀取所述局域網(wǎng)的標(biāo)識(shí)。
局域網(wǎng)的標(biāo)識(shí)是指通信設(shè)備所在局域網(wǎng)的標(biāo)識(shí),這里,局域網(wǎng)的標(biāo)識(shí)可以是一可變標(biāo)識(shí),例如,用戶可以對(duì)該標(biāo)志進(jìn)行設(shè)置。并且不同局域網(wǎng)的標(biāo)識(shí)也可以是不同的。
局域網(wǎng)的標(biāo)志例如可以是所述局域網(wǎng)的熱點(diǎn)名稱,該熱點(diǎn)名稱例如可以是wifi名稱。但是本發(fā)明實(shí)施例并不限制于此,局域網(wǎng)的標(biāo)識(shí)也可以是連接熱點(diǎn)的密碼,例如wifi密碼等。
步驟S13,將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接以形成拼接字符。
在一優(yōu)選實(shí)施例中,將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接以形成拼接字符可以包括:將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行異或拼接以形成拼接字符。
例如,可以將讀取的通信設(shè)備的唯一標(biāo)識(shí)和所讀取的局域網(wǎng)的標(biāo)識(shí)使用二進(jìn)制表示,然后將二進(jìn)制表示的通信設(shè)備的唯一標(biāo)識(shí)和局域網(wǎng)的標(biāo)識(shí)進(jìn)行異或運(yùn)算,將異或運(yùn)算后的結(jié)果作為拼接字符。
異或拼接的安全性較高,因此,這里優(yōu)選使用異或拼接的方式,但是應(yīng)當(dāng)理解,將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接并不限于使用異或拼接的方式,可選地,也可以對(duì)所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行直接拼接或相與拼接等以形成拼接字符。
步驟S14,根據(jù)所述拼接字符生成通信密鑰。
在一可選實(shí)施例中,根據(jù)所述拼接字符生成通信密鑰可以包括:對(duì)所述拼接字符進(jìn)行哈希運(yùn)算,將所得的哈希值作為所述通信密鑰。在進(jìn)行數(shù)據(jù)通信時(shí),發(fā)送端可以使用該通信密鑰對(duì)要發(fā)送數(shù)據(jù)進(jìn)行加密,接收端接收到該加密后的數(shù)據(jù)之后,可以使用所述通信密鑰對(duì)該加密數(shù)據(jù)進(jìn)行解密。
通過(guò)上述技術(shù)方案,使得在局域網(wǎng)中進(jìn)行通信時(shí),使用的通信密鑰與通信設(shè)備的唯一標(biāo)識(shí)和局域網(wǎng)的標(biāo)識(shí)相關(guān)聯(lián),在不同局域網(wǎng)中,同一通信設(shè)備的通信密鑰可以是不同的,進(jìn)而降低了通信密鑰被攻擊者破解的風(fēng)險(xiǎn),增強(qiáng)了無(wú)線局域網(wǎng)通信的安全性。
進(jìn)一步地,局域網(wǎng)通信中密鑰協(xié)商方法還可以包括存儲(chǔ)所述通信密鑰,以方便通信設(shè)備執(zhí)行通信時(shí)使用該通信密鑰,而不必在每次通信時(shí)都需要計(jì)算一次通信密鑰。具體地,通信設(shè)備需要使用通信密鑰進(jìn)行數(shù)據(jù)加密或解密時(shí),可以首先檢測(cè)是否存儲(chǔ)有通信密鑰,在存儲(chǔ)有通信密鑰的情況下,使用該通信密鑰進(jìn)行通信。在不存儲(chǔ)通信密鑰的情況下,按照上述步驟S11~S14來(lái)計(jì)算并生成通信密鑰。
可選地,局域網(wǎng)的標(biāo)識(shí)可能會(huì)被更改,例如,用戶可能會(huì)對(duì)wifi名稱或wifi密碼進(jìn)行更改。在這種情況下,通信設(shè)備在每次通信時(shí)需要檢測(cè)局域網(wǎng)的標(biāo)識(shí)是否被更改。在局域網(wǎng)的標(biāo)識(shí)沒有被更改的情況下,通信設(shè)備可以使用所存儲(chǔ)的通信密鑰來(lái)進(jìn)行數(shù)據(jù)加密或解密,在局域網(wǎng)的標(biāo)識(shí)被更改的情況下,通信設(shè)備不能使用所存儲(chǔ)的通信密鑰來(lái)進(jìn)行數(shù)據(jù)加密或解密,而需要重新按照上述步驟S11~S14來(lái)計(jì)算并生成新的通信密鑰。
圖2示出了應(yīng)用本發(fā)明實(shí)施例提供的方法的場(chǎng)景示意圖。如圖2所示,本發(fā)明實(shí)施例提供的方法適用于使用局域網(wǎng)網(wǎng)關(guān)21控制家電的場(chǎng)景,例如,使用局域網(wǎng)網(wǎng)關(guān)21控制家電22和23。以下以使用局域網(wǎng)網(wǎng)關(guān)21控制家電22為例進(jìn)行詳細(xì)說(shuō)明,使用局域網(wǎng)網(wǎng)關(guān)21控制家電23與此類似。
當(dāng)家電22連接到網(wǎng)關(guān)21所在的局域網(wǎng)時(shí),網(wǎng)關(guān)21可以獲取家電22的MAC地址。然后網(wǎng)關(guān)21可以將該家電22的MAC地址和局域網(wǎng)的熱點(diǎn)名稱進(jìn)行異或拼接以形成一拼接字符,并對(duì)該拼接字符進(jìn)行哈希運(yùn)算,將所得的哈希值作為與該家電22進(jìn)行局域網(wǎng)通信的通信密鑰。這里,網(wǎng)關(guān)21可以對(duì)局域網(wǎng)內(nèi)的所有家電設(shè)備的通信密鑰進(jìn)行維護(hù),例如可以以列表的方式存儲(chǔ)局域網(wǎng)內(nèi)每一家電設(shè)備的通信密鑰,在熱點(diǎn)名稱被更改的情況下,網(wǎng)關(guān)21可以更新所存儲(chǔ)的通信密鑰的列表。
家電22在連接到網(wǎng)關(guān)21所在的局域網(wǎng)時(shí),可以獲取該局域網(wǎng)的熱點(diǎn)名稱。然后家電22可以將其MAC地址和該熱點(diǎn)名稱進(jìn)行異或拼接以形成一拼接字符,并對(duì)該拼接字符進(jìn)行哈希運(yùn)算,將所得的哈希值作為與網(wǎng)關(guān)21進(jìn)行局域網(wǎng)通信的通信密鑰。家電22可以對(duì)該通信密鑰進(jìn)行存儲(chǔ),在熱點(diǎn)名稱被更改的情況下,家電22還可以對(duì)該通信密鑰進(jìn)行更新。
在網(wǎng)關(guān)21需向家電22發(fā)送控制指令時(shí),使用對(duì)應(yīng)于該家電22的通信密鑰對(duì)該控制指令進(jìn)行加密,然后將加密的控制指令發(fā)送至家電22,家電22使用所計(jì)算或存儲(chǔ)的通信密鑰對(duì)該加密的控制指令進(jìn)行解密以執(zhí)行相應(yīng)的指令。
上述實(shí)施例僅用于對(duì)本發(fā)明進(jìn)行舉例說(shuō)明,不對(duì)本發(fā)明的保護(hù)范圍進(jìn)行限制。
圖3示出了根據(jù)本發(fā)明一實(shí)施例的局域網(wǎng)通信中密鑰協(xié)商裝置的結(jié)構(gòu)框圖。如圖3所示,在本發(fā)明另一方面還提供一種局域網(wǎng)通信中密鑰協(xié)商裝置,該裝置可以包括:第一讀取模塊31,用于讀取通信設(shè)備的唯一標(biāo)識(shí),該唯一標(biāo)識(shí)例如可以是通信設(shè)備的MAC地址或序列號(hào)等;第二讀取模塊32,用于讀取所述局域網(wǎng)的標(biāo)識(shí),該局域網(wǎng)的標(biāo)識(shí)可以局域網(wǎng)的熱點(diǎn)名稱或熱點(diǎn)密碼等;拼接模塊33,用于將所述通信設(shè)備的唯一標(biāo)識(shí)與所述局域網(wǎng)的標(biāo)識(shí)進(jìn)行拼接以形成拼接字符,例如可以對(duì)信設(shè)備的唯一標(biāo)識(shí)和局域網(wǎng)的標(biāo)識(shí)進(jìn)行異或拼接、直接拼接或相與拼接等;以及密鑰生成模塊34,用于根據(jù)所述拼接字符生成通信密鑰,例如,密鑰生成模塊34可以對(duì)所述拼接字符進(jìn)行哈希運(yùn)算,然后使用所得哈希值作為通信密鑰。
可選地,上述局域網(wǎng)通信中密鑰協(xié)商裝置還可以包括一存儲(chǔ)模塊(圖中未示出),用于對(duì)所計(jì)算的通信密鑰進(jìn)行存儲(chǔ)。
局域網(wǎng)通信中密鑰協(xié)商裝置的具體工作原理及益處與上述局域網(wǎng)通信中密鑰協(xié)商方法的工作原理及益處類似,這里將不再贅述。
通過(guò)本發(fā)明實(shí)施例提供的局域網(wǎng)通信中密鑰協(xié)商方法及裝置,在局域網(wǎng)通信中增加了密鑰協(xié)商過(guò)程,使得在局域網(wǎng)通信中所使用的通信密鑰可以依賴于局域網(wǎng)標(biāo)識(shí)的更改而變化,而不再是使用固定密鑰,減小了通信密鑰被破解的風(fēng)險(xiǎn),增強(qiáng)了局域網(wǎng)通信的安全性。
以上結(jié)合附圖詳細(xì)描述了本發(fā)明例的可選實(shí)施例,但是,本發(fā)明實(shí)施例并不限于上述實(shí)施例中的具體細(xì)節(jié),在本發(fā)明實(shí)施例的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本發(fā)明實(shí)施例的保護(hù)范圍。
另外需要說(shuō)明的是,在上述具體實(shí)施例中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過(guò)任何合適的方式進(jìn)行組合。為了避免不必要的重復(fù),本發(fā)明實(shí)施例對(duì)各種可能的組合方式不再另行說(shuō)明。
本領(lǐng)域技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,該程序存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一個(gè)(可以是單片機(jī),芯片等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
此外,本發(fā)明實(shí)施例的各種不同的實(shí)施例之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明實(shí)施例的思想,其同樣應(yīng)當(dāng)視為本發(fā)明實(shí)施例所公開的內(nèi)容。