本技術(shù)涉及智能驗(yàn)證,具體涉及一種芯片的防竄貨方法、裝置、設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、未經(jīng)廠家允許,經(jīng)銷商私自將貨物轉(zhuǎn)移至非屬銷售區(qū)銷售,即廠家發(fā)往a地的貨出現(xiàn)在b地銷售的現(xiàn)象,稱為竄貨。竄貨的價(jià)格往往低于該區(qū)域經(jīng)銷商的正常銷售價(jià)格,從而導(dǎo)致該地區(qū)的市場價(jià)格混亂,經(jīng)銷商的正常銷售受到嚴(yán)重打擊,為維護(hù)其自身的銷售網(wǎng)絡(luò),經(jīng)銷商不得不微利、無利或虧本出貨,經(jīng)銷商對品牌的信心日漸喪失,最后拒絕銷售產(chǎn)品,損害企業(yè)的產(chǎn)品品牌形象。
2、當(dāng)前對于芯片銷售的防竄貨所采用的手段一般為:提前在產(chǎn)品中寫入id(identity?document,身份證標(biāo)識號)號,每次產(chǎn)品啟動需要讀取id號,讀取不到會一直讀取,直到成功,但該方式容易被破解;另外一種方式是:基于歷史掃碼數(shù)據(jù)的行為特征來預(yù)測未知的掃碼數(shù)據(jù)屬于正常掃碼數(shù)據(jù)類別還是有竄貨風(fēng)險(xiǎn)的掃碼數(shù)據(jù)類別。
3、對于上述防竄貨方式,其中,基于id值進(jìn)行比較,方法較簡單,但是也容易被破解;基于簽名驗(yàn)簽機(jī)制,方法比較復(fù)雜,需要pki(public?key?infrastructure,公鑰基礎(chǔ)設(shè)施)基礎(chǔ)設(shè)施的支撐,需要有密鑰管理,保證每個客戶或者產(chǎn)品的簽名密鑰不同,實(shí)施時需要投入較多人力和物力。
4、因此,如何防止不同(客戶)來源的相同芯片進(jìn)行竄貨,即不能將適用于a客戶的軟件、固件用于b客戶的芯片,以及如何防止同一客戶對不同定價(jià)不同功能的同一款芯片進(jìn)行竄貨,即不能將適用于a產(chǎn)品的軟件、固件用于b產(chǎn)品的芯片,成為當(dāng)前亟需解決的問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供一種芯片的防竄貨方法、裝置、設(shè)備及存儲介質(zhì),既能保護(hù)防竄貨實(shí)施的安全性,又不需要投入較多的人力和物力。
2、第一方面,本技術(shù)實(shí)施例提供一種芯片的防竄貨方法,所述芯片的防竄貨方法包括:
3、基于預(yù)設(shè)加密加擾算法對客戶代碼和產(chǎn)品代碼進(jìn)行加密加擾處理并寫入芯片中,并更改芯片的生命周期標(biāo)記;
4、加載系統(tǒng)映像并讀取芯片的生命周期標(biāo)記,基于讀取的生命周期標(biāo)記:
5、若為設(shè)定生命周期標(biāo)記,則繼續(xù)進(jìn)行系統(tǒng)的啟動;
6、若為非設(shè)定生命周期標(biāo)記,則通過預(yù)設(shè)解密解擾算法得到芯片中的客戶代碼和產(chǎn)品代碼,進(jìn)行hash值計(jì)算以基于計(jì)算的hash值進(jìn)行系統(tǒng)是否繼續(xù)啟動的判定。
7、結(jié)合第一方面,在一種實(shí)施方式中,所述基于預(yù)設(shè)加密加擾算法對客戶代碼和產(chǎn)品代碼進(jìn)行加密加擾處理并寫入芯片中,并更改芯片的生命周期標(biāo)記,具體包括:
8、客戶工廠向芯片廠商發(fā)送注冊申請,芯片廠商基于預(yù)設(shè)加密加擾算法對客戶代碼和產(chǎn)品代碼進(jìn)行加密加擾處理,并將加密加擾處理后的客戶代碼和產(chǎn)品代碼發(fā)送至客戶工廠;
9、客戶工廠在獲得芯片廠商的授權(quán)后將加密加擾處理后的客戶代碼和產(chǎn)品代碼寫入芯片的efuse,同時客戶工廠更改芯片的生命周期標(biāo)記為dd階段。
10、結(jié)合第一方面,在一種實(shí)施方式中,所述加載系統(tǒng)映像并讀取芯片的生命周期標(biāo)記,基于讀取的生命周期標(biāo)記,具體包括:
11、rom啟動并加載sbl,sbl加載系統(tǒng)映像;
12、通過閉源固件程序讀取芯片的生命周期標(biāo)記;
13、其中,所述閉源固件程序由芯片廠商發(fā)布給客戶工廠。
14、結(jié)合第一方面,在一種實(shí)施方式中,所述若為設(shè)定生命周期標(biāo)記,則繼續(xù)進(jìn)行系統(tǒng)的啟動,具體包括:
15、當(dāng)讀取的生命周期標(biāo)記為dm階段或dr階段時,繼續(xù)進(jìn)行系統(tǒng)的啟動。
16、結(jié)合第一方面,在一種實(shí)施方式中,所述若為非設(shè)定生命周期標(biāo)記,則通過預(yù)設(shè)解密解擾算法得到芯片中的客戶代碼和產(chǎn)品代碼,進(jìn)行hash值計(jì)算以基于計(jì)算的hash值進(jìn)行系統(tǒng)是否繼續(xù)啟動的判定,具體包括:
17、當(dāng)讀取的生命周期標(biāo)記為dd階段時,通過預(yù)設(shè)解密解擾算法對芯片中加密加擾處理的客戶代碼和產(chǎn)品代碼進(jìn)行解密解擾處理,得到客戶代碼和產(chǎn)品代碼;
18、對解密解擾處理后得到的客戶代碼和產(chǎn)品代碼均進(jìn)行hash值計(jì)算,得到客戶代碼hash值和產(chǎn)品代碼hash值;
19、判斷計(jì)算得到的客戶代碼hash值是否等于默認(rèn)客戶代碼hash值:
20、若否,則停止啟動系統(tǒng);
21、若是,則判斷計(jì)算得到的產(chǎn)品代碼hash值是否等于默認(rèn)產(chǎn)品代碼hash值,若等于,則繼續(xù)進(jìn)行系統(tǒng)的啟動,若不等于,則停止啟動系統(tǒng);
22、其中,所述默認(rèn)客戶代碼hash值和默認(rèn)產(chǎn)品代碼hash值位于閉源固件程序中。
23、結(jié)合第一方面,在一種實(shí)施方式中,所述預(yù)設(shè)加密加擾算法的具體實(shí)現(xiàn)過程為:
24、讀取芯片的id,將讀取的芯片id與芯片廠商的代碼進(jìn)行異或運(yùn)算;
25、將異或運(yùn)算結(jié)果進(jìn)行循環(huán)右移預(yù)設(shè)比特;
26、將循環(huán)右移的結(jié)果作為密鑰,并利用sm4算法對客戶代碼和產(chǎn)品代碼加密。
27、結(jié)合第一方面,在一種實(shí)施方式中,所述預(yù)設(shè)解密解擾算法的具體實(shí)現(xiàn)過程為:
28、讀取芯片的id,將讀取的芯片id與芯片廠商的代碼進(jìn)行異或運(yùn)算;
29、將異或運(yùn)算結(jié)果進(jìn)行循環(huán)右移預(yù)設(shè)比特;
30、將循環(huán)右移的結(jié)果作為密鑰,并利用sm4算法對加密加擾處理后的客戶代碼和產(chǎn)品代碼進(jìn)行解密,得到加密加擾處理前的客戶代碼和產(chǎn)品代碼。
31、第二方面,本技術(shù)實(shí)施例提供一種芯片的防竄貨裝置,所述芯片的防竄貨裝置包括:
32、生產(chǎn)過程設(shè)置模塊,其用于基于預(yù)設(shè)加密加擾算法對客戶代碼和產(chǎn)品代碼進(jìn)行加密加擾處理并寫入芯片中,并更改芯片的生命周期標(biāo)記;
33、啟動過程防竄貨檢測模塊,其用于加載系統(tǒng)映像并讀取芯片的生命周期標(biāo)記,基于讀取的生命周期標(biāo)記,若為設(shè)定生命周期標(biāo)記,則驅(qū)使第一執(zhí)行模塊工作,若為非設(shè)定生命周期標(biāo)記,則驅(qū)使第二執(zhí)行模塊工作;
34、第一執(zhí)行模塊,其用于繼續(xù)進(jìn)行系統(tǒng)的啟動;
35、第二執(zhí)行模塊,其用于通過預(yù)設(shè)解密解擾算法得到芯片中的客戶代碼和產(chǎn)品代碼,進(jìn)行hash值計(jì)算以基于計(jì)算的hash值進(jìn)行系統(tǒng)是否繼續(xù)啟動的判定。
36、第三方面,本技術(shù)實(shí)施例提供一種芯片的防竄貨設(shè)備,所述芯片的防竄貨設(shè)備包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執(zhí)行的芯片的防竄貨程序,其中所述芯片的防竄貨程序被所述處理器執(zhí)行時,實(shí)現(xiàn)上述所述的芯片的防竄貨方法的步驟。
37、第四方面,本技術(shù)實(shí)施例提供一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有芯片的防竄貨程序,其中所述芯片的防竄貨程序被處理器執(zhí)行時,實(shí)現(xiàn)上述所述的芯片的防竄貨方法的步驟。
38、本技術(shù)實(shí)施例提供的技術(shù)方案帶來的有益效果包括:
39、通過比較芯片內(nèi)提前注入的客戶代碼與默認(rèn)的客戶代碼的hash值是否一致來防止不同客戶芯片相互竄貨,通過比較芯片內(nèi)提前注入的產(chǎn)品代碼與默認(rèn)的產(chǎn)品代碼的hash值是否一致來防止同一客戶在不同產(chǎn)品間相互竄貨,通過私有算法將客戶代碼或產(chǎn)品代碼加密混淆后寫入芯片中,以保證每一顆芯片的寫入內(nèi)容不一致,從而既能保護(hù)防竄貨實(shí)施的安全性,又不需要投入較多的人力和物力。