本發(fā)明涉及汽車以太網(wǎng)芯片,尤其是涉及一種基于車載以太網(wǎng)芯片的jtag鑒權(quán)方法、裝置及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著芯片功能設(shè)計(jì)的日益復(fù)雜,jtag接口也不再局限于芯片功能的調(diào)試測(cè)試,越來越多的應(yīng)用能夠訪問asic芯片的內(nèi)部功能以及獲取芯片狀態(tài)信息,這無疑對(duì)芯片的安全帶來一定的隱患,尤其是車載芯片的應(yīng)用,車規(guī)級(jí)芯片對(duì)功能安全以及訪問管理要求比較嚴(yán)格,在沒有被正式授權(quán)的用戶是不能訪問及篡改芯片信息,因此對(duì)外的接口,如jtag調(diào)試口等,同樣需要增加相應(yīng)的訪問管理機(jī)制來保證芯片安全。目前的很多訪問管理方法比較單一,同一批次的芯片在密鑰燒寫之后,訪問認(rèn)證是一樣的,風(fēng)險(xiǎn)極高,且整個(gè)應(yīng)用系統(tǒng)無法感知芯片的被攻擊情況,存在響應(yīng)不及時(shí)的問題。
2、常見的jtag鑒權(quán)方法中,例如將用戶的密鑰寫入調(diào)試模塊的公共測(cè)試數(shù)據(jù)寄存器(tdr),然后與同一批次的芯片中燒寫的密鑰信息進(jìn)行比較來驗(yàn)證權(quán)限,這種方式安全性不高,同樣避免不了同一批次的任一芯片被破解,其他芯片都處于不安全狀態(tài)的問題,且公共tdr不受保護(hù),沒法提供安全性認(rèn)證。
技術(shù)實(shí)現(xiàn)思路
1、為了解決現(xiàn)有技術(shù)方案上述問題,本發(fā)明通過設(shè)置用戶名以及雙層密鑰的方式來保證同一批次的芯片以一芯片一密碼的方式實(shí)現(xiàn)鑒權(quán)認(rèn)證,以解決上述技術(shù)問題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采用了如下技術(shù)方案:一種基于車載以太網(wǎng)芯片的jtag鑒權(quán)方法,包括以下步驟:
3、s1,為每片以太網(wǎng)芯片配置chip?id作為該芯片的唯一標(biāo)志,和鑒權(quán)使用的密鑰key:auth_key0、auth_key1和auth_key2;
4、s2,jtag接口如果收到調(diào)試請(qǐng)求或者訪問芯片內(nèi)部的請(qǐng)求,首先輸入用戶名user_name,然后輸入password1,最后輸入password2,password1和password2分別跟硬件算法計(jì)算的期望結(jié)果進(jìn)行比較,如果都校驗(yàn)成功,則開啟jtag訪問模塊的使能,繼而調(diào)試或者訪問芯片內(nèi)部;如果任意一個(gè)密鑰校驗(yàn)不成功,則不開啟訪問權(quán)限,進(jìn)入重試等待,如果重試等待次數(shù)達(dá)到上限,對(duì)jtag的輸入不做響應(yīng),硬件邏輯停止鑒權(quán)流程,關(guān)閉訪問通道。
5、進(jìn)一步的,在s2中,如果重試等待次數(shù)達(dá)到上限,同時(shí)將jtag鑒權(quán)失敗的狀態(tài)信息基于以太網(wǎng)芯片的功能,以報(bào)文的格式發(fā)送給受信端口,受信端口解析報(bào)文,并處理這種惡意訪問攻擊,停止jtag物理接口的訪問權(quán)限。
6、進(jìn)一步的,在s2中,所述硬件算法包括:
7、算法計(jì)算邏輯1,將jtag輸入的user_name和以太網(wǎng)芯片的chip_id及auth_key0根據(jù)算法計(jì)算出一個(gè)exp_password1;
8、校驗(yàn)邏輯1,將算法邏輯1得到的exp_password1和jtag輸入的password1進(jìn)行比較,結(jié)果比較后一致,則輸出高電平:authenticated_en1;
9、密鑰選擇邏輯,根據(jù)算法計(jì)算邏輯1的結(jié)果選擇efuse存放的auth_key1還是auth_key2作為算法計(jì)算邏輯2的密鑰輸入;
10、算法計(jì)算邏輯2,將計(jì)算出來的exp_password1和密鑰選擇邏輯選出的密鑰進(jìn)行計(jì)算得到一個(gè)exp_password2;
11、校驗(yàn)邏輯2,將exp_password2和jtag接口輸入的password2進(jìn)行比較,結(jié)果如果一致則輸出高電平authenticated_en2;
12、authenticated_en1和authenticated_en2同時(shí)為高電平時(shí)鑒權(quán)pass,輸出authenticated_pass結(jié)果,并使能調(diào)試模塊的功能。
13、進(jìn)一步的,當(dāng)鑒權(quán)失敗后,將上報(bào)給受信端口的信息,以payload的方式組織到以太網(wǎng)報(bào)文中,payload的格式包括鑒權(quán)嘗試的最大次數(shù)try_max_num,第一次鑒權(quán)失敗所輸入的user_name1/password1_1/password1_2,及所有的鑒權(quán)失敗的狀態(tài)信息。
14、進(jìn)一步的,算法計(jì)算邏輯1具體為:將jtag輸入的user_id和從efuse讀出的chip_id和auth_key0組成一個(gè)新的信息碼message?m(x),如m(x)={user_id,chip_id,auth_key0,password1},利用特征生成多項(xiàng)式的特點(diǎn),存在且僅存在一個(gè)生成多項(xiàng)式g(x),使得m(x)=a(x)g(x),校驗(yàn)邏輯計(jì)算r(x)=m(x)%g(x),通過判斷r(x)是否為0來表示校驗(yàn)結(jié)果,r(x)==0,則表示鑒權(quán)算法1校驗(yàn)成功,將authenticated_en1置為1,反之則第一密鑰校驗(yàn)不成功,authenticated_en1則置為0;
15、同時(shí)算法計(jì)算邏輯1根據(jù)a(x)=m(x)/g(x)的結(jié)果,按bit異或計(jì)算之后得到auth_key_sel結(jié)果,計(jì)算獲得的auth_key_sel==0,將選擇auth_key1作為第二密鑰校驗(yàn)的算法密鑰,反之a(chǎn)uth_key_sel==1,則選擇auth_key2作為第二密鑰算法計(jì)算所需的auth_second_key。
16、算法計(jì)算邏輯2具體為,將算法計(jì)算邏輯1計(jì)算得到的a(x)和選擇出的auth_second_key作為輸入,通過將a(x)和auth_second_key組合成新的信息碼,如m2={a(x),auth_second_key},通過雜湊算法,產(chǎn)生消息摘要,用于跟password2進(jìn)行比較,如常用的雜湊算法h=m2%p,p是一個(gè)較大的質(zhì)數(shù),計(jì)算出來的h輸出給校驗(yàn)邏輯2進(jìn)行比較;
17、校驗(yàn)邏輯2主要是判斷h和輸入的password2是否一樣,如果一樣,則將authenticated_en2置為1,反之則校驗(yàn)不成功,authenticated_en2置為0。
18、本發(fā)明還提供一種基于車載以太網(wǎng)芯片的jtag鑒權(quán)裝置,設(shè)置于以太網(wǎng)芯片中,
19、存儲(chǔ)器,附圖1的實(shí)施例中為efuse,用于存放鑒權(quán)模塊的使能控制信號(hào),以及鑒權(quán)算法所需要的chip_id/auth_key0/auth_key1/auth_key2;
20、鑒權(quán)模塊,與存儲(chǔ)器和調(diào)試模塊及以太網(wǎng)廣播模塊信號(hào)連接;用于校驗(yàn)輸入的用戶名和密碼是否滿足算法規(guī)則,完成用戶信息的校驗(yàn)任務(wù);
21、jtag接口,用于接收調(diào)試請(qǐng)求或者訪問芯片內(nèi)部的請(qǐng)求;與調(diào)試模塊信號(hào)連接;所述jtag接口本身是以太網(wǎng)芯片與外部器件連接的通道,外部器件可以通過jtag接口調(diào)試芯片以及訪問芯片的內(nèi)部信息;
22、調(diào)試模塊,與片上資源模塊信號(hào)連接;用于負(fù)責(zé)以太網(wǎng)芯片的調(diào)試以及片上資源的訪問,該模塊的開啟和關(guān)閉取決于鑒權(quán)的結(jié)果;
23、以太網(wǎng)廣播模塊,與外部受信端口信號(hào)連接;用于將鑒權(quán)失敗的信息以報(bào)文的方式通過以太網(wǎng)廣播到受信端口,受信端口根據(jù)收到報(bào)文去禁止jtag物理接口,提供更安全的保護(hù);受信端口一般為車載以太網(wǎng)芯片已經(jīng)認(rèn)證安全的外部設(shè)備端口,可以是系統(tǒng)級(jí)管理芯片。
24、進(jìn)一步的,片上資源模塊,包括以太網(wǎng)芯片內(nèi)部的配置及狀態(tài)信息。
25、進(jìn)一步的,所述算法規(guī)則包括:
26、算法計(jì)算邏輯1,將jtag輸入的user_name和以太網(wǎng)芯片的chip_id及auth_key0根據(jù)算法計(jì)算出一個(gè)exp_password1;
27、校驗(yàn)邏輯1,將算法邏輯1得到的exp_password1和jtag輸入的password1進(jìn)行比較,結(jié)果比較后一致,則輸出高電平:authenticated_en1;
28、密鑰選擇邏輯,根據(jù)算法計(jì)算邏輯1的結(jié)果選擇efuse存放的auth_key1還是auth_key2作為算法計(jì)算邏輯2的密鑰輸入;
29、算法計(jì)算邏輯2,將計(jì)算出來的exp_password1和密鑰選擇邏輯選出的密鑰進(jìn)行計(jì)算得到一個(gè)exp_password2;
30、校驗(yàn)邏輯2,將exp_password2和jtag接口輸入的password2進(jìn)行比較,結(jié)果如果一致則輸出高電平authenticated_en2;
31、authenticated_en1和authenticated_en2同時(shí)為高電平時(shí)鑒權(quán)pass,輸出authenticated_pass結(jié)果,并使能調(diào)試模塊的功能。
32、算法計(jì)算邏輯1具體為:將jtag輸入的user_id和從efuse讀出的chip_id和auth_key0組成一個(gè)新的信息碼message?m(x),如m(x)={user_id,chip_id,auth_key0,password1},利用特征生成多項(xiàng)式的特點(diǎn),存在且僅存在一個(gè)生成多項(xiàng)式g(x),使得m(x)=a(x)g(x),校驗(yàn)邏輯計(jì)算r(x)=m(x)%g(x),通過判斷r(x)是否為0來表示校驗(yàn)結(jié)果,r(x)==0,則表示鑒權(quán)算法1校驗(yàn)成功,將authenticated_en1置為1,反之則第一密鑰校驗(yàn)不成功,authenticated_en1則置為0;
33、同時(shí)算法計(jì)算邏輯1根據(jù)a(x)=m(x)/g(x)的結(jié)果,按bit異或計(jì)算之后得到auth_key_sel結(jié)果,計(jì)算獲得的auth_key_sel==0,將選擇auth_key1作為第二密鑰校驗(yàn)的算法密鑰,反之a(chǎn)uth_key_sel==1,則選擇auth_key2作為第二密鑰算法計(jì)算所需的auth_second_key;
34、算法計(jì)算邏輯2具體為,將算法計(jì)算邏輯1計(jì)算得到的a(x)和選擇出的auth_second_key作為輸入,通過將a(x)和auth_second_key組合成新的信息碼,如m2={a(x),auth_second_key},通過雜湊算法,產(chǎn)生消息摘要,用于跟password2進(jìn)行比較,如常用的雜湊算法h=m2%p,p是一個(gè)較大的質(zhì)數(shù),計(jì)算出來的h輸出給校驗(yàn)邏輯2進(jìn)行比較;
35、校驗(yàn)邏輯2主要是判斷h和輸入的password2是否一樣,如果一樣,則將authenticated_en2置為1,反之則校驗(yàn)不成功,authenticated_en2置為0。
36、本發(fā)明還提供一種包含計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述計(jì)算機(jī)程序被一個(gè)或多個(gè)處理器執(zhí)行時(shí),實(shí)現(xiàn)上述任一項(xiàng)所述的基于車載以太網(wǎng)芯片的jtag鑒權(quán)方法。
37、本發(fā)明具有以下優(yōu)點(diǎn):本發(fā)明提供的鑒權(quán)方法法及裝置,確保外部設(shè)備想要訪問芯片時(shí),必須按照用戶名和雙密碼的格式來檢查,認(rèn)證通過才會(huì)開通訪問權(quán)限,能夠針對(duì)同一批次的芯片產(chǎn)品提供不同的用戶名和密碼來訪問,用戶名和密碼必須成對(duì)出現(xiàn),否則認(rèn)證不通過,另外訪問次數(shù)也會(huì)受到限制,一旦用戶名和密碼輸入不匹配次數(shù)達(dá)到上限,鑒權(quán)模塊會(huì)立馬停止鑒權(quán),并鎖定jtag的權(quán)限訪問,最終將鑒權(quán)失敗的信息通過以太網(wǎng)報(bào)文的方式發(fā)給受信端口,受信端口即可從系統(tǒng)應(yīng)用層面鎖定jtag的物理訪問端口,從而達(dá)到多重保護(hù)的效果,提高車載以太網(wǎng)芯片的安全性。