亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

Fpga產(chǎn)權(quán)保護(hù)方法及系統(tǒng)的制作方法

文檔序號:8412777閱讀:351來源:國知局
Fpga產(chǎn)權(quán)保護(hù)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及對FPGA產(chǎn)權(quán)保護(hù)技術(shù),特別涉及一種基于加密芯片模塊的FPGA產(chǎn)權(quán)保護(hù)方法及系統(tǒng)。
【背景技術(shù)】
[0002]FPGA(Field Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在 PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。其最大特點(diǎn)為可編程及在線動(dòng)態(tài)重構(gòu),這使得應(yīng)用FPGA后能夠顯著降低成本和縮短設(shè)計(jì)周期,近年來隨著FPGA性能的提高和成本的下降,其使用范圍越來越廣。
[0003]FPGA在系統(tǒng)上電時(shí)將片外PROM中的BIT數(shù)據(jù)流加載到片內(nèi)SRAM中,完成對FPGA的編程,從而實(shí)現(xiàn)設(shè)計(jì)者的不同功能。該流程使得監(jiān)測FPGA加載管腳的數(shù)據(jù)流就可實(shí)現(xiàn)對FPGA功能設(shè)計(jì)的復(fù)制。由此產(chǎn)生的盜版現(xiàn)象使設(shè)計(jì)者承受著巨大的經(jīng)濟(jì)損失,每年由于盜版導(dǎo)致的損失高達(dá)數(shù)千億美元,而且還在以每年12?15%的速率增加;除經(jīng)濟(jì)損失外,應(yīng)用在軍工、航天等特殊場合的FPGA設(shè)計(jì)一旦被破解,造成的后果將是無法估量的,因此如何有效保護(hù)FPGA內(nèi)部設(shè)計(jì)的知識產(chǎn)權(quán)變得越來越重要。
[0004]現(xiàn)有FPGA產(chǎn)權(quán)保護(hù)方案大致可分為直接加密法和鑒權(quán)法,其中直接加密法要求特定型號FPGA,因而在應(yīng)用上有很大局限性;而基于加密芯片模塊的鑒權(quán)法與FPGA型號無關(guān),應(yīng)用更加廣泛。
[0005]如圖1所示,以基于Maxim公司推出的一種加密芯片的鑒權(quán)法為例,其方案流程為:FPGA產(chǎn)權(quán)保護(hù)程序啟動(dòng)后產(chǎn)生隨機(jī)數(shù),并通過Ι-wire協(xié)議將該隨機(jī)數(shù)發(fā)送給加密芯片模塊;加密芯片模塊根據(jù)隨機(jī)數(shù)、事先協(xié)商好的密鑰等數(shù)據(jù)通過諸如SHA-1算法等加密算法得到唯一的MAC(信息認(rèn)證碼)值,并同樣經(jīng)由Ι-wire協(xié)議回傳給FPGA。FPGA產(chǎn)權(quán)保護(hù)程序?qū)⒓用苄酒K得出的MAC值與本地按相同數(shù)據(jù)相同算法得到的MAC值進(jìn)行匹配,若兩者一致,則判定FPGA程序運(yùn)行在授權(quán)環(huán)境下,認(rèn)證成功,進(jìn)入正常工作狀態(tài),反之,認(rèn)證失敗,進(jìn)入非正常工作狀態(tài)。
[0006]由此可知,若加密芯片模塊中未寫入約定好的密鑰,即使FPGA程序及相關(guān)電路遭到復(fù)制,破解者仍不能得到正常工作的FPGA系統(tǒng),從而有效保護(hù)了設(shè)計(jì)者的知識產(chǎn)權(quán),設(shè)計(jì)者也可以通過加密芯片模塊的發(fā)放數(shù)量實(shí)現(xiàn)套量控制。
[0007]上述方案存在如下缺點(diǎn):
[0008]1.現(xiàn)有的FPGA產(chǎn)權(quán)保護(hù)方案只能對當(dāng)前工作環(huán)境是否為授權(quán)環(huán)境進(jìn)行認(rèn)證,而無法同時(shí)支持設(shè)計(jì)者對FPGA內(nèi)部各功能的權(quán)限配置,設(shè)計(jì)者如需對不同用戶開放不同功能權(quán)限,則需要其他外設(shè)輔助完成;
[0009]2.現(xiàn)有的FPGA產(chǎn)權(quán)保護(hù)方案只能通過加密芯片模塊的發(fā)放數(shù)量實(shí)現(xiàn)套量控制,而不能支持設(shè)計(jì)者對不同用戶進(jìn)行授權(quán)次數(shù)的控制。

【發(fā)明內(nèi)容】

[0010]本發(fā)明所要解決的技術(shù)問題是:提出一種FPGA產(chǎn)權(quán)保護(hù)方法及系統(tǒng),改善傳統(tǒng)技術(shù)中存在的無法支持設(shè)計(jì)者對FPGA內(nèi)部功能的權(quán)限配置和對不同用戶進(jìn)行授權(quán)次數(shù)控制的問題。
[0011]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種FPGA產(chǎn)權(quán)保護(hù)系統(tǒng),包括:
[0012]FPGA產(chǎn)權(quán)保護(hù)模塊,用于在系統(tǒng)上電后產(chǎn)生隨機(jī)數(shù)發(fā)送給加密芯片模塊,并獲取加密芯片模塊產(chǎn)生的MAC值;采用權(quán)限控制字結(jié)合原始密鑰根據(jù)密鑰算法產(chǎn)生新密鑰,并將產(chǎn)生的新密鑰與隨機(jī)數(shù)根據(jù)加密算法計(jì)算獲得本地MAC值,將加密芯片模塊產(chǎn)生的MAC值與本地MAC值進(jìn)行比較認(rèn)證,若認(rèn)證成功則向加密芯片模塊輸出權(quán)限控制字;若未成功認(rèn)證,則繼續(xù)進(jìn)行迭代認(rèn)證:采用權(quán)限控制字與新密鑰根據(jù)密鑰算法迭代出下一級密鑰,將下一級密鑰作為新密鑰與隨機(jī)數(shù)根據(jù)加密算法計(jì)算獲得本地新的MAC值,并將加密芯片模塊產(chǎn)生的MAC值與本地新的MAC值進(jìn)行比較;如此循環(huán),直至認(rèn)證成功或者權(quán)限控制字的迭代次數(shù)超過授權(quán)次數(shù)而導(dǎo)致本次認(rèn)證失敗;
[0013]加密芯片模塊,用于在收到FPGA發(fā)送的隨機(jī)數(shù)后,根據(jù)隨機(jī)數(shù)及存儲的動(dòng)態(tài)密鑰根據(jù)加密算法計(jì)算獲得MAC值,并發(fā)送給FPGA產(chǎn)權(quán)保護(hù)模塊,在收到FPGA產(chǎn)權(quán)模塊發(fā)送的權(quán)限控制字后結(jié)合該權(quán)限控制字及存儲的動(dòng)態(tài)密鑰根據(jù)密鑰算法產(chǎn)生新的動(dòng)態(tài)密鑰,并以所述新的動(dòng)態(tài)密鑰替換存儲的動(dòng)態(tài)密鑰。
[0014]進(jìn)一步的,所述FPGA產(chǎn)權(quán)保護(hù)模塊采用多個(gè)權(quán)限控制字結(jié)合原始密鑰根據(jù)密鑰算法產(chǎn)生對應(yīng)的多個(gè)新密鑰,并將產(chǎn)生的多個(gè)新密鑰分別與隨機(jī)數(shù)根據(jù)加密算法計(jì)算獲得對應(yīng)的多組本地MAC值。
[0015]進(jìn)一步的,所述FPGA產(chǎn)權(quán)保護(hù)模塊將加密芯片模塊產(chǎn)生的MAC值與本地MAC值進(jìn)行比較認(rèn)證的方法是:
[0016]FPGA產(chǎn)權(quán)保護(hù)模塊將加密芯片模塊產(chǎn)生的MAC值與所述計(jì)算獲得的對應(yīng)多組本地MAC值進(jìn)行比較,若有某一組本地MAC值與加密芯片模塊產(chǎn)生的MAC值相等,則認(rèn)證成功;若所有的本地MAC值與加密芯片模塊產(chǎn)生的MAC值都不相等,則未成功認(rèn)證。
[0017]進(jìn)一步的,所述FPGA模塊在認(rèn)證成功后向加密芯片模塊輸出權(quán)限控制字的方法是:
[0018]FPGA模塊在認(rèn)證成功后向加密芯片模塊輸出與加密芯片模塊產(chǎn)生的MAC相等的本地MAC對應(yīng)的權(quán)限控制字。
[0019]進(jìn)一步的,所述FPGA產(chǎn)權(quán)保護(hù)模塊若未成功認(rèn)證,則繼續(xù)進(jìn)行迭代認(rèn)證的方法是:
[0020]首先對各個(gè)權(quán)限控制字的迭代認(rèn)證次數(shù)加1,判斷各個(gè)權(quán)限控制字當(dāng)前的迭代次數(shù)是否超過該控制字對應(yīng)的授權(quán)次數(shù),若未超過,則繼續(xù)采用該權(quán)限控制字與對應(yīng)的新密鑰根據(jù)密鑰算法迭代出下一級密鑰,將下一級密鑰作為新密鑰與隨機(jī)數(shù)根據(jù)加密算法計(jì)算獲得本地新的MAC值,并將加密芯片模塊產(chǎn)生的MAC值與本地新的MAC值進(jìn)行比較認(rèn)證,如此循環(huán),直至認(rèn)證成功或者所有的權(quán)限控制字當(dāng)前的迭代次數(shù)均超過對應(yīng)的授權(quán)次數(shù)而導(dǎo)致本次認(rèn)證失敗。
[0021]此外,本發(fā)明還提供了一種FPGA產(chǎn)權(quán)保護(hù)方法,其包括以下步驟:
[0022]A.系統(tǒng)上電,F(xiàn)PGA產(chǎn)權(quán)保護(hù)模塊產(chǎn)生隨機(jī)數(shù)并發(fā)送給加密芯片模塊;
[0023]B.加密芯片模塊獲取隨機(jī)數(shù)并結(jié)合該隨機(jī)數(shù)及存儲的動(dòng)態(tài)密鑰根據(jù)加密算法計(jì)算獲得MAC值,發(fā)送該MAC值給FPGA產(chǎn)權(quán)保護(hù)模塊;
[0024]C.FPGA產(chǎn)權(quán)保護(hù)模塊采用權(quán)限控制字結(jié)合原始密鑰根據(jù)密鑰算法產(chǎn)生新密鑰,并將產(chǎn)生的新密鑰與隨機(jī)數(shù)根據(jù)加密算法計(jì)算獲得本地MAC值;
[0025]D.FPGA產(chǎn)權(quán)保護(hù)模塊將本地MAC值與從加密芯片模塊獲得的MAC值進(jìn)行比較認(rèn)證,若認(rèn)證成功,則進(jìn)入步驟E,否則進(jìn)入步驟G ;
[0026]E.FPGA產(chǎn)權(quán)保護(hù)模塊向加密芯片模塊輸出權(quán)限控制字;
[0027]F.加密芯片模塊結(jié)合該權(quán)限控制字及存儲的動(dòng)態(tài)密鑰根據(jù)密鑰算法產(chǎn)生新的動(dòng)態(tài)密鑰,并以所述新的動(dòng)態(tài)密鑰替換存儲的動(dòng)態(tài)密鑰,本次認(rèn)證流程結(jié)束;
[0028]G.對該權(quán)限控制字的迭代次數(shù)加I ;判斷該權(quán)限控制字的迭代次數(shù)是否超過授權(quán)次數(shù),若未超過,則進(jìn)入步驟H,若超過,則認(rèn)證失敗,本次認(rèn)證流程結(jié)束;
[0029]H.采用權(quán)限控制字與新密鑰根據(jù)密鑰算法迭代出下一級密鑰,將下一級密鑰作為新密鑰與隨機(jī)數(shù)根據(jù)加密算法計(jì)算獲得本地新的MAC值,返回步驟D。
[0030]進(jìn)一步的,步驟C中,F(xiàn)PGA產(chǎn)權(quán)保護(hù)模塊采用多個(gè)權(quán)限控制字結(jié)合原始密鑰根據(jù)密鑰算法產(chǎn)生對應(yīng)的多個(gè)新密鑰,并將產(chǎn)生的多個(gè)新密鑰分別與隨機(jī)數(shù)根據(jù)加密算法計(jì)算獲得對應(yīng)的多組本地MAC值。
[0031]進(jìn)一步的,步驟D中,F(xiàn)PGA產(chǎn)權(quán)保護(hù)模塊將本地MAC值與從加密芯片模塊獲得的MAC值進(jìn)行比較認(rèn)證的方法是:
[0032]FPGA產(chǎn)權(quán)保護(hù)模塊將加密芯片模塊產(chǎn)生的MAC值與所述計(jì)算獲得的對應(yīng)多組本地MAC值進(jìn)行比較,若有某一組本地MAC值與加密芯片模塊產(chǎn)生的MAC值相等,則認(rèn)證成功,進(jìn)入步驟E ;若所有的本地MAC值與加密芯片模塊產(chǎn)生的MAC值都不相等,則未成功認(rèn)證,進(jìn)入步驟G。
[0033]進(jìn)一步的,步驟E中,所述FPGA模塊在認(rèn)證成功后向加密芯片模塊輸出權(quán)限控制字的方法是:
[0034]FPGA模塊在認(rèn)證成功后向加密芯片模塊輸出與加密芯片模塊產(chǎn)生的MAC相等的本地MAC對應(yīng)的權(quán)限控制字。
[0035]進(jìn)一步的,步驟G中,當(dāng)所有的權(quán)限控制字的迭代次數(shù)均超過對應(yīng)的授權(quán)次數(shù)時(shí),則認(rèn)證失敗,本次認(rèn)證流程結(jié)束。
[0036]本發(fā)明的有益效果是:
[0037]1、本發(fā)明通過對原始密鑰加入附加信息并進(jìn)行迭代產(chǎn)生新密鑰的方式巧妙的將附加信息(功能權(quán)限控制字)及FPGA程序運(yùn)行次數(shù)存儲到了新產(chǎn)生的密鑰中,對應(yīng)FPGA程序只需存有原始密鑰即可實(shí)現(xiàn)對新密鑰存儲信息的讀取,進(jìn)而指導(dǎo)FPGA程序?qū)δ軝?quán)限及授權(quán)次數(shù)進(jìn)行判定和控制。
[0038]2、本發(fā)明迭代算法中的授權(quán)次數(shù)及芯片中的動(dòng)態(tài)密鑰共同決定了 FPGA程序的剩余可運(yùn)行次數(shù);每當(dāng)系統(tǒng)認(rèn)證成功一次,F(xiàn)PGA控制加密芯片模塊內(nèi)動(dòng)態(tài)密鑰進(jìn)行一次迭代更新,當(dāng)加密芯片模塊內(nèi)動(dòng)態(tài)密鑰較FPGA中原始密鑰迭代次數(shù)超過授權(quán)次數(shù)后,當(dāng)前環(huán)境轉(zhuǎn)為非授權(quán)環(huán)境。因此,對同樣的FPGA程序只需使用寫入不同動(dòng)態(tài)密鑰的加密芯片模塊即可實(shí)現(xiàn)授權(quán)次數(shù)控制。權(quán)限控制字的存在則使得設(shè)計(jì)者對FPGA程序的權(quán)限功能配置成為可能。
[0039]3、本發(fā)明填補(bǔ)了 FPGA產(chǎn)權(quán)保護(hù)相關(guān)應(yīng)用對授權(quán)次數(shù)控制的空白,并為設(shè)計(jì)者提供了更加靈活的FPGA產(chǎn)權(quán)保護(hù)方案。
【附圖說明】
[0040]圖1為傳統(tǒng)技術(shù)中FPGA產(chǎn)權(quán)保護(hù)方案原理圖;
[0041 ] 圖2為本發(fā)明實(shí)施例的FPGA產(chǎn)權(quán)保護(hù)方法流程圖。
【具體實(shí)施方式】
[0042]本發(fā)明旨在提出一種FPGA產(chǎn)權(quán)保護(hù)方法及系統(tǒng),解決傳統(tǒng)技術(shù)中存在的無法支持設(shè)計(jì)者對FPGA內(nèi)部功能的權(quán)限配置和對不同用戶進(jìn)行授權(quán)次數(shù)控制的問題。在本發(fā)明中,始終將權(quán)限控制字作為附加信息與原始密鑰經(jīng)過密鑰算法存儲到了新密鑰中,對應(yīng)FPGA程序只需存有原始密鑰即可實(shí)現(xiàn)對新密鑰存儲信息的讀取,從而實(shí)現(xiàn)設(shè)計(jì)者對FPGA功能權(quán)限的配置,另一方面,本發(fā)明還實(shí)現(xiàn)了對FPGA剩余可運(yùn)行次數(shù)的控制:每當(dāng)系統(tǒng)認(rèn)證成功一次,F(xiàn)PGA控制加密芯片模塊內(nèi)動(dòng)態(tài)密鑰進(jìn)行一次迭代更新,當(dāng)加密芯片模塊內(nèi)動(dòng)態(tài)密鑰較FPGA中原始密鑰
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1