當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]在現(xiàn)在電子設(shè)計的成本越來越高的情況下,基于 SRAM的 FPGA由于自身限制,容易使得設(shè)計者的設(shè)計被復(fù)制,從而給設(shè)計者提出了設(shè)計具有加密功能的電子系統(tǒng),由于 SHA-1 算法引擎的 DS28E01芯片作為加密認證系統(tǒng)的核心芯片,并利用 DS28E01針對 Xilinx公司的 X3CS500E開發(fā)了實際的加密認證系統(tǒng),并將此系統(tǒng)應(yīng)用于實際的產(chǎn)品中,取得了良好的效果?! ?

在現(xiàn)代電子系統(tǒng)的設(shè)計中,高速 FPGA運行時需將其配置數(shù)據(jù)加載到內(nèi)部SRAM 中,改變SDRAM 里面的數(shù)據(jù),從而使FPGA實現(xiàn)不同的功能,即所謂的可重構(gòu)技術(shù)。但是由于其采用的是基于SRAM的技術(shù),每次上電的時候都會重新配置FPGA,這就可以通過監(jiān)視FPGA配置引腳位流的方法來實現(xiàn)對設(shè)計的復(fù)制,因此,在關(guān)鍵設(shè)備的設(shè)計中,有必要采取加密的技術(shù)來保護設(shè)計者的知識產(chǎn)權(quán)。

  1、加密問題的提出

  由于 FPGA基于SRAM,所以掉電以后,其內(nèi)部的數(shù)據(jù)必然丟失,為了讓系統(tǒng)正常運行,就需要在系統(tǒng)上電的時候給FPGA加載程序,目前對FPGA加載程序的方法主要有以下幾種 :

  第一、 采用邊界掃描的方式,這種方法主要用于產(chǎn)品調(diào)試期間用;

  第二、 采用專用配置芯片配置,主要用于升級次數(shù)少的產(chǎn)品;

  第三、 采用存儲器+微控制器的配置方法,這種配置方法靈活,使用方便,便于升級,多用于需要多次升級的產(chǎn)品。

  以上幾種 FPGA配置方法在上電加載程序的時候,都需要將配置的數(shù)據(jù)通過配置管腳下載到 FPGA中,這樣,就可以利用一定的電路對這些引腳進行采樣來獲得 FPGA的配置信息,就可以對另一款同樣的 FPGA來進行配置,這樣,就不需要知道設(shè)計的具體原理而實現(xiàn)了同樣的功能,從而達到了克隆設(shè)計的目的,對設(shè)計者造成了巨大的損失,所以,我們有必要對我們的設(shè)計采取加密認證技術(shù)。

  2、DS28E01芯片及其加密原理

  MAXIM公司生產(chǎn)的 DS28E01將 1024位 EEPROM與符合 ISO/IEC110118-3安全散列算法(SHA-1)的質(zhì)詢響應(yīng)安全認證結(jié)合在一起。在單個芯片內(nèi)集成了 1024位 EEPROM(分為 4頁,每頁 256位)、64位密鑰、一個寄存器頁、512位 SHA-1引擎和 64位 ROM序列碼。 DS28E01對數(shù)據(jù)按照 1-Wire協(xié)議串行傳送,通信速率為15.3kbps(標(biāo)準(zhǔn)速率模式)或125kbps(高速模式),只需要一根數(shù)據(jù)線和一根返回地線,最大限度的節(jié)省了對控制器 I/O口的占用 。

  HASH加密函數(shù)是一種單向散列函數(shù),是一種單向密碼體制,即它是一種從明文到密文的不可逆映射,只有加密過程,不能解密,也就是說,從數(shù)學(xué)上不能由密文反過來推算出明文的任何消息。其中常見的 HASH函數(shù)的算法有:MD5、SHA、N-Hash、RIPE-MD、HAVAL等 。

  SHA-1算法是一種通過直接構(gòu)造復(fù)雜的非線性關(guān)系達到單向要求,設(shè)計單向散列函數(shù)的算法,具有“不可逆”、“防碰撞”以及良好的“雪崩效應(yīng)” ,防止了盜竊者利用相近的輸入來達到破解密碼的可能性。

  DS28E01內(nèi)部的加密過程是在內(nèi)部的加密引擎中進行的,其加密引擎利用的是 HSAH函數(shù)的 SHA-1算法,但是和標(biāo)準(zhǔn)的 SHA-1算法又有幾點不一樣。標(biāo)準(zhǔn)算法的輸入值可以小于、等于或大于分組長度512bit,但是 SHA-1引擎的 SHA-1算法輸入的是固定的512bit,也就是標(biāo)準(zhǔn) SHA-1算法的分組長度。并且標(biāo)準(zhǔn) SHA-1算法每個分組的最后一次循環(huán)體的輸出都要和輸入每個分組的初始常量做MOD232加法,而在 DS28E01的 SHA-1引擎中由于只有一個512bit的循環(huán)體,最后就省略了將初始常量添加回結(jié)果的最終步驟。至于引擎的 SHA-1算法的其他步驟則與標(biāo)準(zhǔn)的 SHA-1算法相同。

  3、加密模塊設(shè)計

  目前由很多能實現(xiàn) FPGA加密的方法,如在 Xilinx Virtex-II和 Virtex-4這類的高端FPGA中,支持對配置數(shù)據(jù)流的加密操作。這樣僅當(dāng) FPGA中含有相同的密鑰時,這些數(shù)據(jù)流才可以工作。但是這種加密的方法對更為廣泛的、對成本比較敏感的應(yīng)用場合來說不甚合適。因此,這里利用另一種可行的身份識別法來防止意外拷貝。這種方法對所有 FPGA家族都使用,包括低端的 Xilinx Spartan-3系列FPGA。

  3.1、加密模塊的原理圖設(shè)計

  本次設(shè)計中的加密模塊的原理圖如圖1。硬件部分主要由 Xilinx公司 Spartan-3系列的X3CS500E以及MAXIM公司的DS28E01芯片組成。DS28E01芯片和FPGA之間是通過DS28E01的第二引腳的 1-Wire通信總線進行通信的。

  唯一識別號及附加數(shù)據(jù)(常數(shù))在內(nèi)的 HASH運算結(jié)果,運算的結(jié)果是 160位的 MAC(消息認證碼),同時,F(xiàn)PGA內(nèi)部也會同安全存儲器一樣進行包含密鑰、隨機數(shù)、附加數(shù)據(jù)及器件識別號在內(nèi)的 HASH計算并產(chǎn)生一個期望的MAC。然后,在 FPGA內(nèi)會對這兩個 MAC進行比較,如果一樣,則 FPGA認為該電路是“合法”電路,因為它擁有正確的密鑰。此時 FPGA進入正常工作狀態(tài),開啟/執(zhí)行其配置數(shù)據(jù)中的所有功能,會執(zhí)行所有的功能。如果 FPGA和DS28EO1兩者產(chǎn)生的MAC不匹配,則系統(tǒng)會認為該電路是一個“非法”電路,因為該系統(tǒng)不具有正確的密碼。此時 FPGA進入非正常運行狀態(tài),只執(zhí)行有限的功能。

3.2、加密認證模塊的程序設(shè)計

  為了實現(xiàn)加密認證的功能,我們在 FPGA中利用 VHDL語言設(shè)計了 IFF模塊,在 IFF模塊的內(nèi)部是根據(jù)SHA-1算法實現(xiàn)了對輸入密碼的HASH函數(shù)運算以及與DS28E01中產(chǎn)生的MAC的比較功能,IFF模塊的接口定義如圖 2所示:

  其中,CLKIN是一個大于 20M的時鐘;IFF是認證啟動信號,在 IFF信號上升沿的時候模塊內(nèi)部開始啟動 HSAH運算過程以及密碼比較過程;RESET是復(fù)位信號,高電平有效;IB則是 FPGA通過 1-Wire協(xié)議與 DS28E01通訊的信號;FOE信號是 IFF模塊的輸出線,在IFF內(nèi)部 MAC比較完成后,如果 FPGA認定該電路具有正確的密碼,則會置 FOE信號為低電平,反之如果 FPGA認定該電路不是合法的電路,則會置 FOE信號為高電平,在 FPGA內(nèi)部可以根據(jù)FOE的信號來實現(xiàn)不同的功能。這樣,系統(tǒng)就可以根據(jù)電路是否是被拷貝的來實現(xiàn)不同的功能,防止了設(shè)計被拷貝。

  在 IFF模塊中,實現(xiàn)了標(biāo)準(zhǔn)的 SHA-1算法,其中算法流程圖見圖3,在 FPGA配置完成之后,在 RESET信號與時鐘信號的控制下,F(xiàn)PGA內(nèi)部就會運行 SHA-1算法產(chǎn)生相應(yīng)的MAC,與由 DS28E01產(chǎn)生的 MAC進行比較,根據(jù)比較結(jié)果將 FOE設(shè)置為不同的狀態(tài),然后 FPGA就可以根據(jù) FOE的狀態(tài)來判斷是否是合法電路。其中的初始化主要完成消息填充和附加原始消息長度以及在算法中需要的函數(shù)和常數(shù)的定義。

圖 3 SHA-1算法流程圖(Figure 3. SHA-1 algorithm flow)

  4、設(shè)計總結(jié)

  在現(xiàn)在電子設(shè)計的成本越來越高的情況下,基于 SRAM的 FPGA由于自身限制,容易使得設(shè)計者的設(shè)計被復(fù)制,從而給設(shè)計者提出了設(shè)計具有加密功能的電子系統(tǒng),由于 SHA-1 算法引擎的 DS28E01芯片作為加密認證系統(tǒng)的核心芯片,并利用 DS28E01針對 Xilinx公司的 X3CS500E開發(fā)了實際的加密認證系統(tǒng),并將此系統(tǒng)應(yīng)用于實際的產(chǎn)品中,取得了良好的效果?! ?/p>

  本文作者創(chuàng)新點:針對基于 SRAM的 FPGA在配置過程中設(shè)計數(shù)據(jù)容易被克隆的現(xiàn)象,設(shè)計了基于安全存儲器的加密認證系統(tǒng),增強了系統(tǒng)的安全性。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉