本發(fā)明涉及一種嵌入式網(wǎng)絡(luò)設(shè)備的加密方法,尤其是一種基于設(shè)備MAC地址的認(rèn)證方法及系統(tǒng)。
背景技術(shù):電子產(chǎn)品由于自身固有特性以及技術(shù)的發(fā)展,越來越多的產(chǎn)品被復(fù)制,知識產(chǎn)權(quán)被侵犯,產(chǎn)品版權(quán)所有者遭受經(jīng)濟(jì)損失,一套加密系統(tǒng)來保護(hù)產(chǎn)品不被復(fù)制顯得尤為重要,產(chǎn)品加密系統(tǒng)應(yīng)運(yùn)而生。在多年的破解與反破解的斗法,不同的加密芯片廠家都推出了與眾不同的加密芯片。主要有兩種方式:增加加密層級來增加破解難度或者采用私有協(xié)議(仿I2C協(xié)議)來增加破解難度。這種方式的基本原理和系統(tǒng)構(gòu)成大同小異,硬件上都包含一個加密芯片和一個控制芯片,軟件上主要有加密模塊和解密模塊兩個部分。首先需要定義一個密鑰KEY作為加密和解密時(shí)的輸入,該密鑰一旦確定便不能更改。該密鑰要有專人保管,并利用專用燒錄器燒入加密芯片的OTP(OneTimeProgrammable)區(qū)。在設(shè)備啟動時(shí)需要由要由加密模塊和解密模塊配合進(jìn)行認(rèn)證,只有認(rèn)證通過的設(shè)備才能正常工作。如果設(shè)備硬件被復(fù)制,軟件被拷貝,只有密鑰KEY沒有泄露,那么復(fù)制的產(chǎn)品在啟動時(shí)就無法通過認(rèn)證而不能正常使用。從而實(shí)現(xiàn)對產(chǎn)品的保護(hù)?,F(xiàn)有技術(shù)中的認(rèn)證方法流程圖,如圖1所示,加密和認(rèn)證過程有:設(shè)置密鑰KEY;對密鑰KEY進(jìn)行加密生成密文;對密文進(jìn)行解密生成明文;對生成的明文進(jìn)行認(rèn)證?,F(xiàn)有方法存在共同的缺陷:密鑰KEY必須預(yù)先定義好的,且固定不變,因此存在以下問題:1)、需要由專人保管和燒錄到OTP加密芯片中,容易泄漏。2)、容易忘記或丟失,不便于維護(hù)。3)、雖然進(jìn)過技術(shù)改進(jìn)增加了破解難度,但還是有被破解的風(fēng)險(xiǎn),一旦破解就是導(dǎo)致產(chǎn)品被復(fù)制。
技術(shù)實(shí)現(xiàn)要素:為解決上述問題,本發(fā)明的目的在于針對以上問題,提供一種基于設(shè)備MAC地址的認(rèn)證方法,其中,密鑰KEY不是由人工預(yù)先定義的,而是由設(shè)備的MAC地址通過算法計(jì)算來的。因?yàn)槿我庠O(shè)備的MAC地址都是唯一的,因此用于每臺設(shè)備上的解密的密鑰KEY都不相同。為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于設(shè)備MAC地址的認(rèn)證方法,包括:主控裝置獲取設(shè)備的MAC地址,對所獲取的設(shè)備MAC地址進(jìn)行合法性驗(yàn)證;所述主控裝置通過密鑰產(chǎn)生算法,將MAC地址數(shù)據(jù)轉(zhuǎn)換成動態(tài)密鑰KEY,并將所述動態(tài)密鑰KEY發(fā)送至解密裝置中;所述主控裝置產(chǎn)生隨機(jī)數(shù),將所述隨機(jī)數(shù)與所述動態(tài)密鑰KEY一起進(jìn)行加密,生成加密密文,并將所述加密密文發(fā)送給所述解密裝置;所述解密裝置根據(jù)所述動態(tài)密鑰KEY對所述加密密文進(jìn)行解密,得到解密明文,并將所述解密明文發(fā)送給所述主控裝置;所述主控裝置對所述解密明文與所述隨機(jī)數(shù)進(jìn)行比對驗(yàn)證。進(jìn)一步地,所述主控裝置對所述解密明文與所述隨機(jī)數(shù)進(jìn)行比對驗(yàn)證的步驟中,如果所述解密明文與所述隨機(jī)數(shù)不相同,則設(shè)備不能通過認(rèn)證。進(jìn)一步地,所述密鑰產(chǎn)生算法包括:將獲取的MAC地址信息進(jìn)行整理;對整理后的數(shù)據(jù)按照預(yù)定位數(shù)進(jìn)行填充;對填充后的數(shù)據(jù)進(jìn)行分割處理,分割成至少兩組的組合數(shù)據(jù);對所述組合數(shù)據(jù)進(jìn)行復(fù)合運(yùn)算;對進(jìn)行所述復(fù)合運(yùn)算后得出的數(shù)據(jù)進(jìn)行整合,以形成動態(tài)密鑰KEY。進(jìn)一步地,在獲取設(shè)備MAC地址的步驟中,當(dāng)不能獲取所述設(shè)備的MAC地址,或者檢測到網(wǎng)絡(luò)內(nèi)存在有與所述設(shè)備的MAC地址相同的MAC地址時(shí),則設(shè)備不能進(jìn)行認(rèn)證。進(jìn)一步地,在認(rèn)證結(jié)束后,所述解密裝置對所存儲的所述動態(tài)密鑰KEY自動進(jìn)行刪除。本發(fā)明還提供了一種使用基于設(shè)備MAC地址的認(rèn)證系統(tǒng),包括認(rèn)證設(shè)備,所述加密系統(tǒng)還包括:主控裝置以及與解密裝置,所述待認(rèn)證設(shè)備以及所述解密裝置分別與所述主控裝置相連接;所述主控裝置包括:MAC地址驗(yàn)證模塊、密鑰生成模塊、加密模塊以及驗(yàn)證模塊;所述解密裝置包括:解密模塊以及信息發(fā)送模塊;所述MAC地址驗(yàn)證模塊用于獲取所述認(rèn)證設(shè)備的MAC地址,并對所獲取的設(shè)備MAC地址進(jìn)行合法性驗(yàn)證;所述密鑰生成模塊用于通過密鑰產(chǎn)生算法,將MAC地址數(shù)據(jù)轉(zhuǎn)換成動態(tài)密鑰KEY,并將所述動態(tài)密鑰KEY寫入所述解密裝置中;所述加密模塊用于產(chǎn)生隨機(jī)數(shù),將所述隨機(jī)數(shù)與所述動態(tài)密鑰KEY一起進(jìn)行加密,生成加密密文,并將所述加密密文發(fā)送給所述解密裝置。所述解密模塊用于根據(jù)所述動態(tài)密鑰KEY對所述加密密文進(jìn)行解密,得到解密明文;所述信息發(fā)送模塊用于將所述解密明文發(fā)送給所述主控裝置;所述驗(yàn)證模塊用于對接收到的所述解密明文與所述隨機(jī)數(shù)進(jìn)行比對驗(yàn)證。進(jìn)一步地,所述解密裝置還包括:存儲模塊;所述存儲模塊用于接收并存儲所述密鑰生成模塊所生成的動態(tài)密鑰KEY。進(jìn)一步地,當(dāng)所述MAC地址驗(yàn)證模塊不能獲取所述認(rèn)證設(shè)備的MAC地址,或者檢測到網(wǎng)絡(luò)內(nèi)存在有與所述認(rèn)證設(shè)備的MAC地址相同的MAC地址時(shí),則所述認(rèn)證設(shè)備不能進(jìn)行認(rèn)證。進(jìn)一步地,所述驗(yàn)證模塊驗(yàn)證結(jié)束后,所述解密裝置中的所述存儲模塊對所存儲的所述動態(tài)密鑰KEY自動進(jìn)行刪除。本發(fā)明所提供的基于設(shè)備MAC地址的認(rèn)證方法及系統(tǒng),是利用設(shè)備MAC地址通過密鑰生成算法產(chǎn)生密鑰KEY,密鑰KEY因采用設(shè)備的MAC地址唯一性的特定,與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):1)、認(rèn)證的過程是在主控裝置中進(jìn)行,因此密鑰KEY不會發(fā)生泄漏;2)、密鑰KEY是根據(jù)算法隨機(jī)產(chǎn)生的,不需要進(jìn)行人工進(jìn)行保管,能夠節(jié)省人力成本,并且由于密鑰KEY不可預(yù)知,能夠提高系統(tǒng)的安全性和可靠性;3)、本發(fā)明中,密鑰KEY是利用設(shè)備的MAC地址通過算法所產(chǎn)成的,設(shè)備的MAC地址是唯一的,在單次驗(yàn)證的過程中密鑰KEY也是唯一的,因此即使密鑰KEY被他人破解后,也不能再次使用。另外,由于解密裝置可以單獨(dú)進(jìn)行設(shè)置,能夠使得解密裝置與主控裝置分別進(jìn)行放置,安全效果能夠得到進(jìn)一步的加強(qiáng)。附圖說明圖1是現(xiàn)有技術(shù)中的認(rèn)證方法流程圖;圖2是本發(fā)明實(shí)施例中的認(rèn)證方法流程圖;圖3是本發(fā)明密鑰產(chǎn)生算法的方法流程圖;圖4是本發(fā)明的對所獲取的設(shè)備MAC地址進(jìn)行合法性驗(yàn)證步驟的方法流程圖;圖5是本發(fā)明實(shí)施例中認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖。具體實(shí)施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參閱圖2,為本發(fā)明實(shí)施例中的認(rèn)證方法流程圖,包括:S101,主控裝置獲取設(shè)備的MAC地址,對所獲取的設(shè)備MAC地址進(jìn)行合法性驗(yàn)證;由于設(shè)備的MAC地址具有唯一性,因此,在獲取設(shè)備MAC地址的過程中,還應(yīng)當(dāng)對其合法性進(jìn)行驗(yàn)證。例如:當(dāng)有兩個設(shè)備具有相同的MAC地址的時(shí)候,則可以判斷出,其中的某一設(shè)備是非法的。S102,主控裝置通過密鑰產(chǎn)生算法,將MAC地址數(shù)據(jù)轉(zhuǎn)換成動態(tài)密鑰KEY,并將動態(tài)密鑰KEY發(fā)送至解密裝置中;請一并參閱圖3,密鑰產(chǎn)生算法具體包括:S201,將獲取的MAC地址信息進(jìn)行整理;S202,對整理后的數(shù)據(jù)按照預(yù)定位數(shù)進(jìn)行填充;S203,對填充后的數(shù)據(jù)進(jìn)行分割處理,分割成至少兩組的組合數(shù)據(jù);S204,對組合數(shù)據(jù)進(jìn)行復(fù)合運(yùn)算;S205,對進(jìn)行復(fù)合運(yùn)算后得出的數(shù)據(jù)進(jìn)行整合,以形成動態(tài)密鑰KEY。在本發(fā)明實(shí)施例中,提供一種具體的密鑰產(chǎn)生的過程,可以參閱下述的處理步驟:將所獲取設(shè)備MAC地址中的特殊符號去除,生成48位的數(shù)據(jù)a;將所生成的數(shù)據(jù)a填充生成512位的數(shù)據(jù)b;將數(shù)據(jù)b分割成4組32位數(shù)據(jù);對上述的4組32位數(shù)據(jù)進(jìn)行復(fù)合運(yùn)算,以生成4個新的32位數(shù)據(jù)c、d、e、f;將數(shù)據(jù)c、d、e、f進(jìn)行連接生成128位密鑰KEY。在上述的內(nèi)容,用來對整個密鑰產(chǎn)生的過程進(jìn)行解釋說明,所涉及的各個數(shù)據(jù),其具體位數(shù)并不限定。對應(yīng)數(shù)據(jù)b的分割情況也不僅限于4組,具體情況可以按照個人的要求進(jìn)行相應(yīng)的調(diào)整。在本發(fā)明實(shí)施例中,對數(shù)據(jù)b執(zhí)行隨機(jī)的分割操作,因此也能夠保證每次所產(chǎn)生的4組32位數(shù)據(jù)均不相同,使得經(jīng)過復(fù)合運(yùn)算的數(shù)據(jù)c、d、e、f也不相同,從而保證最后連接生成的密鑰KEY每次也不相同,因此該密鑰KEY根據(jù)每次的生成內(nèi)容,可以反映出一個動態(tài)的情況。另外,一個設(shè)備所生成的密鑰KEY,為該設(shè)備的專屬密鑰,不能適用于其他設(shè)備。S103,主控裝置產(chǎn)生隨機(jī)數(shù),將所述隨機(jī)數(shù)與動態(tài)密鑰KEY一起進(jìn)行加密,生成加密密文,并將加密密文發(fā)送給解密裝置;在本實(shí)施方式中,主控裝置會產(chǎn)生一個64位的隨機(jī)數(shù),將該隨機(jī)數(shù)進(jìn)行備份處理,并將上述隨機(jī)數(shù)與生成的密鑰KEY進(jìn)行加密處理,能夠生成一個加密密文,此加密密文只能之前發(fā)送給解密裝置的密鑰KEY進(jìn)行解密,整個解密的過程是在解密裝置中執(zhí)行。S104,解密裝置根據(jù)動態(tài)密鑰KEY對加密密文進(jìn)行解密,得到解密明文,并將解密明文發(fā)送給主控裝置;解密裝置執(zhí)行解密的過程,生成的解密明文,在本實(shí)施例中,所得到的解密明文的數(shù)據(jù)位也應(yīng)當(dāng)為64位。S105,主控裝置對解密明文與隨機(jī)數(shù)進(jìn)行比對驗(yàn)證。主控裝置接收到解密裝置發(fā)送的解密明文后,對該解密明文進(jìn)行備份處理,并且同時(shí)調(diào)取之前生成的隨機(jī)數(shù)與其進(jìn)行比對。如果該解密明文與之前生成的隨機(jī)數(shù)不相同,則對應(yīng)的設(shè)備不能通過驗(yàn)證,即設(shè)備不可以進(jìn)行操作。在本發(fā)明的實(shí)施例中,由于每次產(chǎn)生的密鑰KEY均不相同,因此當(dāng)每次對設(shè)備進(jìn)行驗(yàn)證后,解密裝置都將自動刪除其所獲得的動態(tài)密鑰KEY。當(dāng)設(shè)備需要再次使用時(shí),還需要重新進(jìn)行整個驗(yàn)證的過程。進(jìn)一步的,主控裝置還能能夠?qū)χ八鶄浞莸碾S即數(shù)以及解密裝置發(fā)送的解密明文進(jìn)行自動刪除的動作。本發(fā)明所提供的基于設(shè)備MAC地址的認(rèn)證方法,是利用設(shè)備MAC地址通過密鑰生成算法產(chǎn)生密鑰KEY,密鑰KEY因采用設(shè)備的MAC地址唯一性的特定,與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):1)、認(rèn)證的過程是在主控裝置中進(jìn)行,因此密鑰KEY不會發(fā)生泄漏;2)、密鑰KEY是根據(jù)算法隨機(jī)產(chǎn)生的,不需要進(jìn)行人工進(jìn)行保管,能夠節(jié)省人力成本,并且由于密鑰KEY不可預(yù)知,能夠提高系統(tǒng)的安全性和可靠性;3)、本發(fā)明中,密鑰KEY是利用設(shè)備的MAC地址通過算法所產(chǎn)成的,設(shè)備的MAC地址是唯一的,在單次驗(yàn)證的過程中密鑰KEY也是唯一的,因此即使密鑰KEY被他人破解后,也不能再次使用。第二、本發(fā)明所提供的基于設(shè)備MAC地址的認(rèn)證方法及其系統(tǒng),創(chuàng)造性的設(shè)置了用于驗(yàn)證的解密裝置,將解密裝置與設(shè)備分開放置,專人保管,進(jìn)一步加強(qiáng)了保密的效果。請參閱圖4,為本發(fā)明的對所獲取的設(shè)備MAC地址進(jìn)行合法性驗(yàn)證步驟的方法流程圖:S301,獲取設(shè)備的MAC地址;S302,判斷是否獲取成功,如果獲取成功,則進(jìn)入S303,如果不能獲得設(shè)備的MAC地址,則不對該設(shè)備進(jìn)行驗(yàn)證結(jié)束。在本步驟中,對于不能獲取MAC地址的設(shè)備,可認(rèn)定其具有一定的風(fēng)險(xiǎn)性,這種情況則不對其進(jìn)行驗(yàn)證,該設(shè)備當(dāng)前不可進(jìn)行工作。S303,判斷網(wǎng)絡(luò)內(nèi)是否存在有與設(shè)備的MAC地址相同的MAC地址時(shí),如果不存在相同的MAC地址,則進(jìn)入S304,如存在有相同的MAC地址,則保留對該設(shè)備的驗(yàn)證。在本步驟中主要用于確認(rèn)設(shè)備的唯一性,以更好的防止非法設(shè)備的介入。S304,開始對設(shè)備進(jìn)行驗(yàn)證。綜上所述,可以得出,能夠得到驗(yàn)證的設(shè)備,應(yīng)當(dāng)保證主控裝置能夠獲取該設(shè)備的MAC地址,并且還要保證該MAC地址在當(dāng)前工作網(wǎng)絡(luò)中是唯一的。參閱圖5,為本發(fā)明實(shí)施例中認(rèn)證系統(tǒng)的結(jié)構(gòu)示意圖,該系統(tǒng)包括認(rèn)證設(shè)備40、主控裝置41以及與解密裝置42,其中認(rèn)證設(shè)備40以及解密裝置42分別與主控裝置41相連接;主控裝置41包括:MAC地址驗(yàn)證模塊411、密鑰生成模塊412、加密模塊413以及驗(yàn)證模塊414;解密裝置42包括:存儲模塊421、解密模塊422以及信息發(fā)送模塊423;MAC地址驗(yàn)證模塊411用于獲取認(rèn)證設(shè)備40的MAC地址,并對所獲取的設(shè)備MAC地址進(jìn)行合法性驗(yàn)證;密鑰生成模塊412用于通過密鑰產(chǎn)生算法,將MAC地址數(shù)據(jù)轉(zhuǎn)換成動態(tài)密鑰KEY,并將動態(tài)密鑰KEY寫入解密裝置42中;加密模塊413用于產(chǎn)生隨機(jī)數(shù),將隨機(jī)數(shù)與動態(tài)密鑰KEY一起進(jìn)行加密,生成加密密文,并將加密密文發(fā)送給解密裝置42。主控裝置41對加密模塊413所產(chǎn)生的隨機(jī)數(shù)進(jìn)行備份處理。解密模塊422用于根據(jù)動態(tài)密鑰KEY對加密密文進(jìn)行解密,得到解密明文;信息發(fā)送模423塊用于將解密明文發(fā)送給主控裝置41;當(dāng)主控裝置41接收到解密裝置42中的解密模塊422所發(fā)出的解密明文后,將該解密明文進(jìn)行備份處理。驗(yàn)證模塊414用于對接收到的解密明文與隨機(jī)數(shù)進(jìn)行比對驗(yàn)證。在本發(fā)明的實(shí)施例中,驗(yàn)證模塊414從主控裝置41的備份中獲取隨機(jī)數(shù)以及解密明文,進(jìn)而對上述兩者進(jìn)行比對驗(yàn)證。進(jìn)一步地,當(dāng)MAC地址驗(yàn)證模塊411不能獲取認(rèn)證設(shè)備40的MAC地址,或者檢測到網(wǎng)絡(luò)內(nèi)存在有與認(rèn)證設(shè)備40的MAC地址相同的MAC地址時(shí),則認(rèn)證設(shè)備40不能進(jìn)行認(rèn)證,即認(rèn)證設(shè)備40不能進(jìn)行工作。可以得出,能夠得到驗(yàn)證的認(rèn)證設(shè)備40,應(yīng)當(dāng)保證主控裝置41能夠獲取該設(shè)備的MAC地址,并且還要保證該MAC地址在當(dāng)前工作網(wǎng)絡(luò)中是唯一的。存儲模塊421用于接收并存儲密鑰生成模塊412所生成的動態(tài)密鑰KEY,并且在驗(yàn)證模塊414驗(yàn)證結(jié)束后,解密裝置42中的存儲模塊421會對其所存儲的動態(tài)密鑰KEY自動進(jìn)行刪除。在本發(fā)明的其他實(shí)施例中,解密裝置具體可以為內(nèi)嵌于主控裝置中的芯片。本發(fā)明所提供的基于設(shè)備MAC地址的認(rèn)證系統(tǒng),是利用設(shè)備MAC地址通過密鑰生成算法產(chǎn)生密鑰KEY,密鑰KEY因采用設(shè)備的MAC地址唯一性的特定,與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn):1)、認(rèn)證的過程是在主控裝置中進(jìn)行,因此密鑰KEY不會發(fā)生泄漏;2)、密鑰KEY是根據(jù)算法隨機(jī)產(chǎn)生的,不需要進(jìn)行人工進(jìn)行保管,能夠節(jié)省人力成本,并且由于密鑰KEY不可預(yù)知,能夠提高系統(tǒng)的安全性和可靠性;3)、本發(fā)明中,密鑰KEY是利用設(shè)備的MAC地址通過算法所產(chǎn)成的,設(shè)備的MAC地址是唯一的,在單次驗(yàn)證的過程中密鑰KEY也是唯一的,因此即使密鑰KEY被他人破解后,也不能再次使用。另外,由于解密裝置可以單獨(dú)進(jìn)行設(shè)置,能夠使得解密裝置與主控裝置分別進(jìn)行放置,安全效果能夠得到進(jìn)一步的加強(qiáng)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。