本發(fā)明專利技術(shù)公開(kāi)了一種嵌入式設(shè)備軟件保護(hù)方法,包括下列步驟:在所述網(wǎng)絡(luò)設(shè)備的動(dòng)態(tài)內(nèi)存中劃出一塊存儲(chǔ)空間,用于存儲(chǔ)校驗(yàn)碼;軟件啟動(dòng),讀取燒錄信息,所述燒錄信息包括所述MAC地址和一序列號(hào);對(duì)所述MAC地址和所述序列號(hào)進(jìn)行校驗(yàn);如果校驗(yàn)失敗,進(jìn)入校驗(yàn)碼輸入模式,并將新輸入的校驗(yàn)碼寫入所述動(dòng)態(tài)內(nèi)存中,軟件重啟動(dòng);如果校驗(yàn)成功,軟件正常啟動(dòng)。本發(fā)明專利技術(shù)采取通過(guò)MAC地址的驗(yàn)證方法,利用網(wǎng)絡(luò)設(shè)備需要燒錄MAC地址且MAC地址全球唯一的特性,在燒錄MAC過(guò)程中,同時(shí)進(jìn)行軟件合法性校驗(yàn)和防拷貝校驗(yàn),無(wú)需設(shè)備聯(lián)網(wǎng)即可驗(yàn)證,和MAC地址綁定,但通過(guò)加密算法計(jì)算使燒錄信息有較大的不可逆性。
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種嵌入式設(shè)備軟件保護(hù)方法
本專利技術(shù)涉及軟件保護(hù)方法,尤其涉及一種嵌入式設(shè)備軟件保護(hù)方法。
技術(shù)介紹
傳統(tǒng)的網(wǎng)絡(luò)接入設(shè)備功能簡(jiǎn)單,通常軟件直接固化在芯片之中,嵌入式軟件從以前單純的硬件附加產(chǎn)品轉(zhuǎn)化為突出硬件產(chǎn)品市場(chǎng)競(jìng)爭(zhēng)力的增值產(chǎn)品,不但可做為硬件的附加產(chǎn)品,更可單獨(dú)出來(lái)做為功能擴(kuò)展而商品化。在這樣的前景趨勢(shì)下,對(duì)軟件本身的版權(quán)保護(hù)也較以往更為重要。家庭網(wǎng)關(guān)設(shè)備的復(fù)雜度越來(lái)越高,能實(shí)現(xiàn)的功能也越來(lái)越多。但隨之而來(lái)的問(wèn)題就是,嵌入式軟件由于其特性,通常是固化在硬件設(shè)備內(nèi),直接在生產(chǎn)的過(guò)程中通過(guò)燒錄方式存放在flash中,只要能獲取到設(shè)備,可輕易通過(guò)讀取flash內(nèi)容來(lái)復(fù)制軟件。以現(xiàn)有通常的軟件版權(quán)保護(hù)方式為例,一般有兩種方法能進(jìn)行軟件的認(rèn)證保護(hù):1、軟件序列號(hào)輸入法在軟件啟動(dòng)時(shí)要求用戶輸入一定的序列號(hào),通過(guò)軟件校驗(yàn)序列號(hào)的合法性。2、網(wǎng)絡(luò)認(rèn)證法通過(guò)內(nèi)嵌代碼自動(dòng)連接互聯(lián)網(wǎng)并回傳認(rèn)證信息給相應(yīng)服務(wù)器,對(duì)現(xiàn)有軟件進(jìn)行認(rèn)證。但上述兩種保護(hù)方式各有弊端。第一種驗(yàn)證方式要求網(wǎng)絡(luò)設(shè)備必需要有一個(gè)用戶接口,能提供用戶進(jìn)行驗(yàn)證序列號(hào)的輸入和保存;且用戶可大量輸入相同序列號(hào),軟件無(wú)法進(jìn)行識(shí)別。第二種驗(yàn)證方式較第一種方式靈活,但如果客戶所使用網(wǎng)絡(luò)設(shè)備無(wú)法聯(lián)入互聯(lián)網(wǎng)而只在內(nèi)部網(wǎng)絡(luò)使用,將無(wú)法進(jìn)行軟件驗(yàn)證;且該種方式有泄露用戶信息的隱患,安全性差。
技術(shù)實(shí)現(xiàn)思路
針對(duì)上述存在的問(wèn)題,本專利技術(shù)的目的是提供一種嵌入式設(shè)備軟件保護(hù)方法,通過(guò)相應(yīng)算法對(duì)軟件進(jìn)行保護(hù)驗(yàn)證,以達(dá)到管控?zé)洿螖?shù)的目的,以現(xiàn)在的主流的網(wǎng)絡(luò)接入嵌入式設(shè)備為藍(lán)本,通過(guò)對(duì)現(xiàn)有軟件流程進(jìn)行改動(dòng),對(duì)軟件進(jìn)行版權(quán)保護(hù),提高了安全性。本專利技術(shù)的目的是通過(guò)下述技術(shù)方案實(shí)現(xiàn)的:一種嵌入式設(shè)備軟件保護(hù)方法,應(yīng)用于一種在出廠之前進(jìn)行MAC地址燒錄的網(wǎng)絡(luò)設(shè)備中,其中,包括下列步驟:在所述網(wǎng)絡(luò)設(shè)備的動(dòng)態(tài)內(nèi)存中劃出一塊存儲(chǔ)空間,用于存儲(chǔ)隨所述MAC地址同時(shí)進(jìn)行燒錄的校驗(yàn)碼;軟件啟動(dòng),讀取燒錄信息,所述燒錄信息包括所述MAC地址和一序列號(hào);對(duì)所述MAC地址和所述序列號(hào)進(jìn)行校驗(yàn);如果校驗(yàn)失敗,進(jìn)入校驗(yàn)碼輸入模式,并將新輸入的校驗(yàn)碼寫入所述動(dòng)態(tài)內(nèi)存中,軟件重啟動(dòng);如果校驗(yàn)成功,軟件正常啟動(dòng)。上述嵌入式設(shè)備軟件保護(hù)方法,其中,對(duì)所述MAC地址和所述序列號(hào)進(jìn)行校驗(yàn)采用基于SHA-256的HMAC文件校驗(yàn)器。上述嵌入式設(shè)備軟件保護(hù)方法,其中,用于接收新輸入的校驗(yàn)碼的接口為TELNET接口或HTTP接口或CONSOLE接口。上述嵌入式設(shè)備軟件保護(hù)方法,其中,所述存儲(chǔ)空間大小為4KB至128KB。上述嵌入式設(shè)備軟件保護(hù)方法,其中,還包括升級(jí)管控步驟:每個(gè)版本軟件只在設(shè)置成相同的所述序列號(hào)時(shí)才允許升級(jí)。與已有技術(shù)相比,本專利技術(shù)的有益效果在于:本專利技術(shù)采取通過(guò)MAC地址的驗(yàn)證方法,利用網(wǎng)絡(luò)設(shè)備需要燒錄MAC地址且MAC地址全球唯一的特性,在燒錄MAC過(guò)程中,同時(shí)進(jìn)行軟件合法性校驗(yàn)和防拷貝校驗(yàn),無(wú)需設(shè)備聯(lián)網(wǎng)即可驗(yàn)證,和MAC地址綁定,但通過(guò)加密算法計(jì)算使燒錄信息有較大的不可逆性。附圖說(shuō)明圖1是本專利技術(shù)嵌入式設(shè)備軟件保護(hù)方法的流程示意框圖。具體實(shí)施方式下面結(jié)合原理圖和具體操作實(shí)施例對(duì)本專利技術(shù)作進(jìn)一步說(shuō)明。本專利技術(shù)有一個(gè)前提假設(shè):在該網(wǎng)絡(luò)設(shè)備中,在出廠之前必需會(huì)有一個(gè)MAC地址燒錄的動(dòng)作,且動(dòng)態(tài)內(nèi)存(Flash)中的劃塊中有不小于一個(gè)block的預(yù)留空間,由于Flash的特殊物理構(gòu)造,一個(gè)block空間從4KB到128KB不等,大約占Flash大小的0.2%-0.5%,該部分空間用于存儲(chǔ)隨MAC地址同時(shí)進(jìn)行燒錄的校驗(yàn)碼。在這個(gè)前提假設(shè)下,F(xiàn)lash在軟件內(nèi)會(huì)有一塊區(qū)域進(jìn)行存儲(chǔ)認(rèn)證信息。在軟件本身的執(zhí)行結(jié)構(gòu)中,首先對(duì)應(yīng)每一個(gè)版本的嵌入式軟件,軟件本身會(huì)有一個(gè)8位的序列號(hào),對(duì)應(yīng)軟件版本自身編號(hào),此處定義為FIRMWARE_NUMBER,該編號(hào)也將做為HMAC算法的KEY。其次,在通過(guò)出廠燒錄MAC的同時(shí),對(duì)應(yīng)每一個(gè)MAC,為了進(jìn)行驗(yàn)證,會(huì)同時(shí)對(duì)應(yīng)一組32字節(jié)(對(duì)應(yīng)成16進(jìn)制數(shù)為長(zhǎng)度64位的字串)的序列號(hào),此處定義為SERIAL_NUMBER。同時(shí),MAC地址為一串6個(gè)字節(jié)的無(wú)重復(fù)字串(對(duì)應(yīng)成16進(jìn)制數(shù)為長(zhǎng)度12位的字串),此處定義為MAC_ADDRESS。在本流程中:讀取的燒錄信息為MAC地址和同時(shí)燒錄在Flash中的序列號(hào)。對(duì)所述MAC地址和所述序列號(hào)進(jìn)行校驗(yàn)采用基于SHA-256的HMAC文件校驗(yàn)器,校驗(yàn)步驟為:通過(guò)對(duì)MAC_ADDRESS和軟件本身的FIRMWARE_NUMBER進(jìn)行HMAC計(jì)算,算法采用HMAC_SHA256加密算法,HMAC即帶密鑰的HASH函數(shù),用它產(chǎn)生的報(bào)文鑒別碼(MAC)可以實(shí)現(xiàn)報(bào)文鑒別,將生成的Digest字串同SERIAL_NUMBER進(jìn)行匹配比較,如果字串匹配,則認(rèn)為軟件通過(guò)較驗(yàn)。由于將算法的密鑰做為固定數(shù)固化在軟件內(nèi),又由于采用MAC_ADDRESS作為算法隨機(jī)數(shù),在燒錄過(guò)程中只知道隨機(jī)數(shù)的情況下,較難逆算出序列號(hào),以此保證序列號(hào)本身不可被偽造的特性。當(dāng)校驗(yàn)不成功后,軟件無(wú)法正常啟動(dòng),但會(huì)啟動(dòng)一個(gè)后臺(tái)應(yīng)用,用來(lái)接收從相應(yīng)接口重新輸入的序列號(hào),在本專利技術(shù)的優(yōu)選實(shí)施例中,用于接收新輸入的校驗(yàn)碼的接口為TELNET接口或HTTP接口或CONSOLE接口,并將新序列號(hào)寫入FLASH中,軟件自動(dòng)重啟。重新進(jìn)入讀取校驗(yàn)步驟。軟件除了能通過(guò)工廠進(jìn)行出廠燒錄外,還能通過(guò)HTTP等接口進(jìn)行軟件升級(jí),現(xiàn)有加密機(jī)制環(huán)境下也已將此流程納入管控。每個(gè)版本軟件可設(shè)置相同或不同的FIRMWARE_NUMBER,設(shè)置相同編號(hào)時(shí),軟件無(wú)需重新驗(yàn)證,可直接升級(jí),并且新版本軟件能正常工作,保證普通維護(hù)升級(jí)不影響用戶使用;設(shè)置不同編號(hào)時(shí),軟件升級(jí)后將無(wú)法工作,除非獲得并輸入新的序列號(hào),使得即使獲得升級(jí)軟件但沒(méi)有新序列號(hào)的用戶也無(wú)法使用該軟件。本專利技術(shù)采取通過(guò)MAC地址的驗(yàn)證方法,利用網(wǎng)絡(luò)設(shè)備需要燒錄MAC地址且MAC地址全球唯一的特性,在燒錄MAC過(guò)程中,同時(shí)進(jìn)行軟件合法性校驗(yàn)和防拷貝校驗(yàn),無(wú)需設(shè)備聯(lián)網(wǎng)即可驗(yàn)證,和MAC地址綁定,但通過(guò)加密算法計(jì)算使燒錄信息有較大的不可逆性。以上對(duì)本專利技術(shù)的具體實(shí)施例進(jìn)行了詳細(xì)描述,但本專利技術(shù)并不限制于以上描述的具體實(shí)施例,其只是作為范例。對(duì)于本領(lǐng)域技術(shù)人員而言,任何等同修改和替代也都在本專利技術(shù)的范疇之中。因此,在不脫離本專利技術(shù)的精神和范圍下所作出的均等變換和修改,都應(yīng)涵蓋在本專利技術(shù)的范圍內(nèi)。本文檔來(lái)自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種嵌入式設(shè)備軟件保護(hù)方法,應(yīng)用于一種在出廠之前進(jìn)行MAC地址燒錄的網(wǎng)絡(luò)設(shè)備中,其特征在于,包括下列步驟:在所述網(wǎng)絡(luò)設(shè)備的動(dòng)態(tài)內(nèi)存中劃出一塊存儲(chǔ)空間,用于存儲(chǔ)隨所述MAC地址同時(shí)進(jìn)行燒錄的校驗(yàn)碼;軟件啟動(dòng),讀取燒錄信息,所述燒錄信息包括所述MAC地址和一序列號(hào);對(duì)所述MAC地址和所述序列號(hào)進(jìn)行校驗(yàn);如果校驗(yàn)失敗,進(jìn)入校驗(yàn)碼輸入模式,并將新輸入的校驗(yàn)碼寫入所述動(dòng)態(tài)內(nèi)存中,軟件重啟動(dòng);如果校驗(yàn)成功,軟件正常啟動(dòng)。
【技術(shù)特征摘要】
1.一種嵌入式設(shè)備軟件保護(hù)方法,應(yīng)用于一種在出廠之前進(jìn)行MAC地址燒錄的網(wǎng)絡(luò)設(shè)備中,其特征在于,包括下列步驟:在所述網(wǎng)絡(luò)設(shè)備的動(dòng)態(tài)內(nèi)存中劃出一塊存儲(chǔ)空間,用于存儲(chǔ)隨所述MAC地址同時(shí)進(jìn)行燒錄的校驗(yàn)碼;所述存儲(chǔ)空間大小為4KB至128KB;軟件本身有一個(gè)8位的序列號(hào),對(duì)應(yīng)軟件版本自身編號(hào),此處定義為FIRMWARE_NUMBER;出廠燒錄MAC的同時(shí),對(duì)應(yīng)每一個(gè)MAC,為了進(jìn)行驗(yàn)證,會(huì)同時(shí)對(duì)應(yīng)一組32字節(jié)的序列號(hào),此處定義為SERIAL_NUMBER;軟件啟動(dòng),讀取燒錄信息,所述燒錄信息包括所述MAC地址和一序列號(hào);具體的讀取的燒錄信息為MAC地址和同時(shí)燒錄在動(dòng)態(tài)內(nèi)存中的序列號(hào),即SERIAL_NUMBER;對(duì)所述MAC地址和所述序列號(hào)進(jìn)行校驗(yàn);對(duì)所述MAC地址和所述序列號(hào)進(jìn)行校驗(yàn)采用基于S...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:周宸晏,
申請(qǐng)(專利權(quán))人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司,
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。