本發(fā)明涉及網(wǎng)絡(luò)攝像機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于MAC地址的加密方法及系統(tǒng)。
背景技術(shù):
網(wǎng)絡(luò)攝像機(jī)是一種結(jié)合傳統(tǒng)攝像機(jī)與網(wǎng)絡(luò)技術(shù)所產(chǎn)生的新一代攝像機(jī),它可以將影像通過(guò)網(wǎng)絡(luò)傳至地球另一端,且遠(yuǎn)端的瀏覽者不需用任何專(zhuān)業(yè)軟件,只要標(biāo)準(zhǔn)的網(wǎng)絡(luò)瀏覽器(如“Microsoft IE或Netscape)即可監(jiān)視其影像。網(wǎng)絡(luò)攝像機(jī)在給人們帶來(lái)方便的同時(shí),人們也非常擔(dān)心和重視視頻數(shù)據(jù)安全的問(wèn)題,擔(dān)心個(gè)人隱私泄露。
現(xiàn)有技術(shù)中,網(wǎng)絡(luò)攝像機(jī)都是采用外掛加密芯片的方法進(jìn)行程序加密,但是這個(gè)方式具有以下缺點(diǎn):1.增加硬件和人力成本,在板卡生產(chǎn)前需要進(jìn)行芯片燒錄;2.在其他電路運(yùn)行正常的情況下,加密芯片不穩(wěn)定直接導(dǎo)致設(shè)備異常,影響產(chǎn)品質(zhì)量;3.安全性差,加密芯片容易被人破解。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題在于提供了一種基于MAC地址的加密方法及系統(tǒng),采用軟件加密方法,無(wú)需加密芯片、節(jié)約成本,有效提高產(chǎn)品可靠性。
為解決上述技術(shù)問(wèn)題,本發(fā)明采用以下技術(shù)方案:
一方面,提供了一種基于MAC地址的加密方法,該加密方法包括:
獲取設(shè)備的MAC地址;
生成第一預(yù)置位數(shù)的隨機(jī)數(shù);
將MAC地址與所述隨機(jī)數(shù)按預(yù)置加密算法生成第二預(yù)置位數(shù)的加密數(shù)據(jù);
將所述加密數(shù)據(jù)寫(xiě)入flash中;
其中,所述預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中。
其中,所述MAC地址的有效長(zhǎng)度為m,所述第一預(yù)置位數(shù)為n,m、n為正整數(shù),n>m;所述將MAC地址與所述隨機(jī)數(shù)按預(yù)置加密算法生成第二預(yù)置位數(shù)的加密數(shù)據(jù)包括:
取所述n位隨機(jī)數(shù)中預(yù)置位置范圍的m位數(shù),將所述m位隨機(jī)數(shù)對(duì)應(yīng)與MAC地址中的數(shù)按特定規(guī)則生成一個(gè)新的m位數(shù);
將所述n位隨機(jī)數(shù)與所述新的m位數(shù)按預(yù)置規(guī)則組合成長(zhǎng)度為第二預(yù)置位數(shù)的加密數(shù)據(jù)。
其中,所述第一預(yù)置位數(shù)為32,所述第二預(yù)置位數(shù)為32+m或64。
其中,在獲取設(shè)備的MAC地址之前還包括:
設(shè)備上電,設(shè)備程序啟動(dòng);
接收加密指令。
其中,在將所述加密數(shù)據(jù)寫(xiě)入flash中之后還包括:獲取所述密鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密,解密成功則設(shè)備程序運(yùn)行。
其中,在獲取所述密鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密之后還包括:檢測(cè)當(dāng)前密鑰是否與所述密鑰匹配,若不匹配則退出設(shè)備程序。
另一方面,提供了一種基于MAC地址的加密系統(tǒng),該加密系統(tǒng),包括:
地址獲取模塊,用于獲取設(shè)備的MAC地址;
隨機(jī)數(shù)生成模塊,用于生成第一預(yù)置位數(shù)的隨機(jī)數(shù);
加密模塊,用于將MAC地址與所述隨機(jī)數(shù)按預(yù)置加密算法生成第二預(yù)置位數(shù)的加密數(shù)據(jù);
寫(xiě)入模塊,用于將所述加密數(shù)據(jù)寫(xiě)入flash中;
其中,所述預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中。
其中,所述MAC地址的有效長(zhǎng)度為m,所述第一預(yù)置位數(shù)為n,m、n為正整數(shù),n>m;所述加密模塊具體用于:
取所述n位隨機(jī)數(shù)中預(yù)置位置范圍的m位數(shù),將所述m位隨機(jī)數(shù)對(duì)應(yīng)與MAC地址中的數(shù)按特定規(guī)則生成一個(gè)新的m位數(shù);
將所述n位隨機(jī)數(shù)與所述新的m位數(shù)按預(yù)置規(guī)則組合成長(zhǎng)度為第二預(yù)置位數(shù)的加密數(shù)據(jù)。
其中,所述第一預(yù)置位數(shù)為32,所述第二預(yù)置位數(shù)為32+m或64。
其中,還包括:
啟動(dòng)模塊,用于設(shè)備上電,設(shè)備程序啟動(dòng);
指令接收模塊,用于接收加密指令;
解密模塊,用于獲取所述密鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密,解密成功則設(shè)備程序運(yùn)行;
檢測(cè)模塊,用于檢測(cè)當(dāng)前密鑰是否與所述密鑰匹配,若不匹配則退出設(shè)備程序。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:本發(fā)明在設(shè)備出廠前通過(guò)按預(yù)置加密算法對(duì)設(shè)備的MAC地址進(jìn)行加密,并把預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中,實(shí)現(xiàn)了軟件加密,無(wú)需加密芯片,節(jié)約成本,有效提高產(chǎn)品可靠性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)本發(fā)明實(shí)施例的內(nèi)容和這些附圖獲得其他的附圖。
圖1是本發(fā)明具體實(shí)施方式中提供的一種基于MAC地址的加密方法的實(shí)施例的方法流程圖。
圖2是本發(fā)明具體實(shí)施方式中提供的一種基于MAC地址的加密系統(tǒng)的實(shí)施例的結(jié)構(gòu)方框圖。
具體實(shí)施方式
為使本發(fā)明解決的技術(shù)問(wèn)題、采用的技術(shù)方案和達(dá)到的技術(shù)效果更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖1所示,其是本發(fā)明具體實(shí)施方式中提供的一種基于MAC地址的加密方法的實(shí)施例的方法流程圖,在一些優(yōu)選的實(shí)施例中,該加密方法包括:
步驟S101:獲取設(shè)備的MAC地址((MediaAccess Control或者M(jìn)edium Access Control)地址,媒體訪問(wèn)控制地址,或稱(chēng)為物理地址、硬件地址)。
步驟S102:生成第一預(yù)置位數(shù)的隨機(jī)數(shù)。
步驟S103:將MAC地址與所述隨機(jī)數(shù)按預(yù)置加密算法生成第二預(yù)置位數(shù)的加密數(shù)據(jù)。
步驟S104:將所述加密數(shù)據(jù)寫(xiě)入flash中。
其中,所述預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中。
本發(fā)明實(shí)施例在設(shè)備出廠前通過(guò)按預(yù)置加密算法對(duì)設(shè)備的MAC地址進(jìn)行加密,并把預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中,實(shí)現(xiàn)了軟件加密,無(wú)需加密芯片,節(jié)約成本,有效提高產(chǎn)品可靠性。
在一些優(yōu)選的實(shí)施方式中,MAC地址的有效長(zhǎng)度為m,第一預(yù)置位數(shù)為n,m、n為正整數(shù),n>m;步驟S103:將MAC地址與所述隨機(jī)數(shù)按預(yù)置加密算法生成第二預(yù)置位數(shù)的加密數(shù)據(jù)包括:
取所述n位隨機(jī)數(shù)中預(yù)置位置范圍的m位數(shù),將所述m位隨機(jī)數(shù)對(duì)應(yīng)與MAC地址中的數(shù)按特定規(guī)則生成一個(gè)新的m位數(shù),新的m位數(shù)稱(chēng)為m位MAC地址生成數(shù);
將所述n位隨機(jī)數(shù)與所述新的m位數(shù)按預(yù)置規(guī)則組合成長(zhǎng)度為第二預(yù)置位數(shù)的加密數(shù)據(jù)。
一般MAC地址的有效長(zhǎng)度為12位,所述第一預(yù)置位數(shù)為32,即隨機(jī)生成32位隨機(jī)數(shù),作為一個(gè)優(yōu)選的實(shí)施方式,取生成的隨機(jī)數(shù)的第9~20位共12個(gè)數(shù),每個(gè)數(shù)與MAC地址按特定規(guī)則生成一個(gè)新的數(shù),得到一個(gè)新的12位MAC地址生成數(shù),將生成的32位隨機(jī)數(shù)與該新的12位MAC地址生成數(shù)組合成一個(gè)44位數(shù),具體形式為:32位隨機(jī)數(shù)+12位MAC地址生成數(shù)、或12位MAC地址生成數(shù)+32位隨機(jī)數(shù),則該44位數(shù)即為加密數(shù)據(jù);作為另一個(gè)優(yōu)選的實(shí)施方式,也可以是將32位隨機(jī)數(shù)+前6位MAC地址生成數(shù)+重新生成12位隨機(jī)數(shù)+后6位MAC地址生成數(shù)+再次生成8位隨機(jī)數(shù),得到一個(gè)64位數(shù),該64位數(shù)即為加密數(shù)據(jù),這種形式規(guī)則復(fù)雜有利于提高破解難度。最后將得到的44位或64位加密數(shù)據(jù)存儲(chǔ)在設(shè)備的flash中。
在一些優(yōu)選的實(shí)施例中,該加密方法在步驟S101:獲取設(shè)備的MAC地址之前還包括:
步驟S100a:設(shè)備上電,設(shè)備程序啟動(dòng)。
步驟S100b:接收加密指令。
在設(shè)備在出廠前對(duì)MAC地址進(jìn)行加密,設(shè)備系統(tǒng)在獲取設(shè)備的的MAC地址之前需要上電,并啟動(dòng)設(shè)備程序,待接收到加密指令之后便繼續(xù)執(zhí)行步驟S101~步驟S104的加密動(dòng)作。
在一些優(yōu)選的實(shí)施例中,該加密方法在步驟S104:將所述加密數(shù)據(jù)和密鑰寫(xiě)入flash中之后,設(shè)備產(chǎn)品出廠,用戶(hù)得到設(shè)備,使設(shè)備上電,設(shè)備程序啟動(dòng),設(shè)備便執(zhí)行以下步驟:獲取所述密鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密,解密成功則設(shè)備程序運(yùn)行。設(shè)備必須要解密成功,設(shè)備程序才能運(yùn)行,否則設(shè)備程序?qū)?huì)關(guān)閉或死機(jī)。因?yàn)镸AC地址是唯一不沖突的,所以根據(jù)MAC地址產(chǎn)生的密鑰,基本保證只能在本機(jī)上使用。當(dāng)多個(gè)設(shè)備使用同一個(gè)密鑰時(shí),因?yàn)镸AC地址的唯一性,加密算法無(wú)法檢測(cè)通過(guò),相應(yīng)的功能也就無(wú)法使用,從而達(dá)到保護(hù)產(chǎn)品的目的。
設(shè)備程序運(yùn)行一段時(shí)間之后,即獲取所述密鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密之后還包括:檢測(cè)當(dāng)前密鑰是否與所述密鑰匹配,若不匹配則退出設(shè)備程序。這是避免用戶(hù)篡改設(shè)備的MAC地址,如果MAC地址改變,則對(duì)應(yīng)的密鑰也會(huì)改變,所以若當(dāng)前密鑰與所述密鑰不匹配說(shuō)明設(shè)備的MAC地址被篡改則退出設(shè)備程序,以起到保護(hù)產(chǎn)品的作用。
本發(fā)明實(shí)施例在設(shè)備出廠前通過(guò)按預(yù)置加密算法對(duì)設(shè)備的MAC地址進(jìn)行加密,并把預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中,實(shí)現(xiàn)了軟件加密,無(wú)需加密芯片,節(jié)約成本,有效提高產(chǎn)品可靠性,而且在出廠后增加了密鑰的校驗(yàn)功能,有效提升破解難度,起到保護(hù)產(chǎn)品的作用。
以下是本發(fā)明具體實(shí)施方式中提供的一種基于MAC地址的加密系統(tǒng)的實(shí)施例,系統(tǒng)的實(shí)施例基于上述的方法的實(shí)施例實(shí)現(xiàn),在系統(tǒng)中未盡的描述,請(qǐng)參考前述方法的實(shí)施例。
如圖2所示,其是本發(fā)明具體實(shí)施方式中提供的一種基于MAC地址的加密系統(tǒng)的實(shí)施例的結(jié)構(gòu)方框圖,在一些優(yōu)選的實(shí)施例中,該加密系統(tǒng)包括地址獲取模塊21、隨機(jī)數(shù)生成模塊22、加密模塊23和寫(xiě)入模塊24;地址獲取模塊21,用于獲取設(shè)備的MAC地址;隨機(jī)數(shù)生成模塊22,用于生成第一預(yù)置位數(shù)的隨機(jī)數(shù);加密模塊23,用于將MAC地址與所述隨機(jī)數(shù)按預(yù)置加密算法生成第二預(yù)置位數(shù)的加密數(shù)據(jù);寫(xiě)入模塊24,用于將所述加密數(shù)據(jù)寫(xiě)入flash中;其中,所述預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中。
本發(fā)明實(shí)施例在設(shè)備出廠前通過(guò)按預(yù)置加密算法對(duì)設(shè)備的MAC地址進(jìn)行加密,并把預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中,實(shí)現(xiàn)了軟件加密,無(wú)需加密芯片,節(jié)約成本,有效提高產(chǎn)品可靠性。
在一些優(yōu)選的實(shí)施方式中,所述MAC地址的有效長(zhǎng)度為m,所述第一預(yù)置位數(shù)為n,m、n為正整數(shù),n>m;所述加密模塊23具體用于:取所述n位隨機(jī)數(shù)中預(yù)置位置范圍的m位數(shù),將所述m位隨機(jī)數(shù)對(duì)應(yīng)與MAC地址中的數(shù)按特定規(guī)則生成一個(gè)新的m位數(shù);將所述n位隨機(jī)數(shù)與所述新的m位數(shù)按預(yù)置規(guī)則組合成長(zhǎng)度為第二預(yù)置位數(shù)的加密數(shù)據(jù)。作為一個(gè)優(yōu)選的實(shí)施方式,第一預(yù)置位數(shù)為32,所述第二預(yù)置位數(shù)為32+m或64。一般MAC地址的有效長(zhǎng)度為12位,即m為12。
在一些優(yōu)選的實(shí)施例中,該加密系統(tǒng)還包括有啟動(dòng)模塊、指令接收模塊、解密模塊和檢測(cè)模塊。啟動(dòng)模塊,用于設(shè)備上電,設(shè)備程序啟動(dòng);指令接收模塊,用于接收加密指令;解密模塊,用于獲取所述密鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密,解密成功則設(shè)備程序運(yùn)行;檢測(cè)模塊,用于檢測(cè)當(dāng)前密鑰是否與所述密鑰匹配,若不匹配則退出設(shè)備程序。加密系統(tǒng)對(duì)MAC地址進(jìn)行加密之前,啟動(dòng)模塊使設(shè)備上電,設(shè)備程序啟動(dòng),接著指令接收模塊將接收加密指令之后,地址獲取模塊21、隨機(jī)數(shù)生成模塊22、加密模塊23依次完成相應(yīng)作用完成對(duì)MAC地址的加密,最后寫(xiě)入模塊24將加密數(shù)據(jù)寫(xiě)入flash中。在產(chǎn)品出廠后,用戶(hù)得到設(shè)備,使設(shè)備上電,設(shè)備程序啟動(dòng),則解密模塊獲取所述密鑰對(duì)所述加密數(shù)據(jù)進(jìn)行解密,解密成功則設(shè)備程序運(yùn)行,設(shè)備必須要解密成功,設(shè)備程序才能運(yùn)行,否則設(shè)備程序?qū)?huì)關(guān)閉或死機(jī)。因?yàn)镸AC地址是唯一不沖突的,所以根據(jù)MAC地址產(chǎn)生的密鑰,基本保證只能在本機(jī)上使用。當(dāng)多個(gè)設(shè)備使用同一個(gè)密鑰時(shí),因?yàn)镸AC地址的唯一性,加密算法無(wú)法檢測(cè)通過(guò),相應(yīng)的功能也就無(wú)法使用,從而達(dá)到保護(hù)產(chǎn)品的目的。
設(shè)備程序運(yùn)行一段時(shí)間之后,檢測(cè)模塊將檢測(cè)當(dāng)前密鑰是否與所述密鑰匹配,若不匹配則退出設(shè)備程序。這是避免用戶(hù)篡改設(shè)備的MAC地址,如果MAC地址改變,則對(duì)應(yīng)的密鑰也會(huì)改變,所以若當(dāng)前密鑰與所述密鑰不匹配說(shuō)明設(shè)備的MAC地址被篡改則退出設(shè)備程序,以起到保護(hù)產(chǎn)品的作用。
綜上所述,本實(shí)施例提供基于MAC地址的加密系統(tǒng)在設(shè)備出廠前通過(guò)按預(yù)置加密算法對(duì)設(shè)備的MAC地址進(jìn)行加密,并把預(yù)置加密算法對(duì)應(yīng)的密鑰在設(shè)備出廠前存儲(chǔ)在設(shè)備的flash中,實(shí)現(xiàn)了軟件加密,無(wú)需加密芯片,節(jié)約成本,有效提高產(chǎn)品可靠性,而且在出廠后增加了密鑰的校驗(yàn)功能,有效提升破解難度,起到保護(hù)產(chǎn)品的作用。
以上結(jié)合具體實(shí)施例描述了本發(fā)明的技術(shù)原理。這些描述只是為了解釋本發(fā)明的原理,而不能以任何方式解釋為對(duì)本發(fā)明保護(hù)范圍的限制?;诖颂幍慕忉?zhuān)绢I(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性的勞動(dòng)即可聯(lián)想到本發(fā)明的其它具體實(shí)施方式,這些方式都將落入本發(fā)明的保護(hù)范圍之內(nèi)。