<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于DS28E01的FPGA加密認證系統(tǒng)的設計

          基于DS28E01的FPGA加密認證系統(tǒng)的設計

          作者: 時間:2010-12-21 來源:網(wǎng)絡 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/191429.htm

            1、加密問題的提出

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

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

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

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

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

            2、01芯片及其加密原理

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

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

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

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

            3、加密模塊設計

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

            3.1、加密模塊的原理圖設計

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

          加密模塊的原理圖


          上一頁 1 2 下一頁

          關鍵詞: FPGA 28E E01 DS

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();