工控網首頁
>

應用設計

>

基于Nios軟核處理器的硬盤加密卡解決方案

基于Nios軟核處理器的硬盤加密卡解決方案

1.前言 信息時代各種各樣的電子文檔和資料常常成為對手暗地里垂涎的對象,于是各種各樣的信息犯罪就多了起來。硬盤作為計算機的一個主要存儲設備,它記錄了大量用戶的資料和信息,其中有些敏感信息是用戶不希望被其他人看到的,為了保護自己的資料不受騷擾就有必要對數據進行加密處理。主要的加密手段有兩種:一種是硬件加密,一種是軟件加密。軟件加密雖然方便簡單但是安全性差,加密文件容易被破解,并且軟件加密大宗文件時嚴重占用系統資源,直接導致系統資源緊張,影 響工作效率。 硬件加密方法很多,其中之一是在硬件系統層(例如主板)和存儲器(例如硬盤)之間增加一個硬件微處理芯片,該芯片能夠提供硬件實體層即時加密保護,通過復雜的算法對文件加以保護,同時硬件加密由于基于硬件層處理,因此絲毫不會占用系統資源,對系統整體影響微乎其微。另一方面,硬件加密相對軟件加密安全性有質的提高,不易破解,大可高枕無優。同時,這種硬件加密不需任何使用界面,加密過程在硬件層由微處理器完成,使用界面沒有任何改變。 2.Nios處理器簡介 Nios處理器是Altera公司推出的一個32/16位精簡指令集處理器軟核,在Altera公司提供的軟件SOPC中加載Nios核和相應的外圍接口以及定義相應的自定義指令,然后對設計進行綜合后下載到FPGA中就可以方便地設計一個具有特定功能的嵌入式處理器。這種設計思路增加了系統設計的靈活性,加快系統運行速度,縮短產品研發和上市時間。 當前可編程邏輯器件的快速發展,器件的成本不斷降低,已經有越來越多的應用領域用到了可編程邏輯器件。由于可編程邏輯器件本身具有的可編程能力,方便系統的設計使系統能夠輕松地進行升級,并且設計的算法以硬件的方式執行,所以可編程的解決方案具有更快的速度。如果把處理器軟核嵌入FPGA器件中更是結合了傳統的MCU和DSP器件的解決方案并且減少了器件,節約成本增加系統的穩定性能。可以這樣說基于可編程邏輯器件FPGA的數字信號處理方案正在成為一種發展的趨勢,給電子設計工程師提供了新的解決思路,也受到越來越多的電子工程師的重視。本例采用的正是把Nios軟核處理器嵌入FPGA芯片,然后在CPU外圍采用專用的硬件完成大計算量的加密/解密工作,是通用性和專用性得到了完美的結合。 3.系統設計: 系統選用Altera公司的FPGA器件和Nios軟核處理器為基礎構件IDE接口卡,在IDE接口和硬盤之間作為一道閘門對流向硬盤的數據進行加密,對讀出來的數據進行解密。首先只有具有密鑰的用戶才可能對硬盤進行正常的操作,當加密卡在計算機上的時候,用戶能夠進行正常的寫入和讀取操作并不會感覺到加密卡的存在。如果取走加密卡就不能正常讀出硬盤中的數據,如果要暴力破解的話將要花很大的代價,甚至是不可能的。 l 系統總體構成: 系統總體構成主要包括Nios處理器、IDE接口、對FPAG進行配置的控制器、必要的外部存儲器和輸出外設等。可以如圖一所示設計:
圖一圖一 系統總體構成圖
整個系統以Nios軟核處理器為核心,掛接相關的外設接口構成整個系統。Nios處理器通過IDE接口分別連接主板IDE接口和硬盤,所有流向的數據都要經過Nios處理器的相關處理,從而可以對寫入的數據進行加密,對讀出來的數據進行解密。LED主要用來提示系統的狀態,3線串行SPI可以用來讀取存儲在外設的私鑰。SRAM用來做數據和程序存儲器,flash作為存儲配置文件和應用程序用。配置控制器主要是在對Nios加載配置文件時進行相應的控制操作,而JTAG口是加載配置文件、應用程序以及調試程序的接口。 l Nios處理器設計模型 對于Nios處理器的設計既要考慮到適合IDE接口和外設,還要執行相應的硬件操作。對于硬件加密/解密操作可以用Nios提供的專用指令來設計,Nios處理器的模型可以設計為圖二:
圖二圖二 Nios處理器設計模型
l 加密算法選取 不管信息入侵者懷有什么樣的陰謀詭計、采用什么手段,他們都要攻擊信息的以下幾種安全屬性(如完整性,可用性,保密性,可控行,可靠性)來達到目的。所以算法的選取要考慮到信息安全的以上因素。 選擇算法的另一個因素是算法運行的速度問題。當前存在的被認可為可靠的算法主要有對稱密鑰算法和非對稱密鑰算法。非對稱密鑰算法由于運算量大速度較慢,主要用在數字簽名和對少量數據加密(如密鑰的傳輸加密)。對稱算法的運行速度較快可以用于大量數據的加密。 根據本系統特點(本系統不存在密鑰傳輸過程中被竊取的情況)可以運用對稱算法。根據實際情況可選用現有的對稱加密算法:如DES,3-DES,RSA,FEAL算法等。 l 系統軟件設計模型 首先系統上電后要自動加載應用程序,完成系統本生的自檢和初始化操作。然后從外部串行口讀取用戶信息和用戶加密的私鑰,判斷用戶的合法性如果用戶不合法則不能進行下一步的工作流程,系統也無法從硬盤加載。如果用戶合法,保存相應的私鑰用于以后的加密/解密工作,進入工作流程。 由于IDE接口中的數據和命令都是通過硬盤控制器中的數據和命令寄存器進行處理,所以在Nios一端的接口中做了一組和硬盤驅動器相同的寄存器。數據和命令首先被鎖存在這組寄存器中經過Nios的分析處理把命令和數據寫到硬盤控制器,然后把控制器中的狀態信息寫回相應的緩沖區寄存器中讓主機自動取走信息。 在工作流程中主要完成對讀寫硬盤的命令判斷,對進出硬盤的數據進行有效攔截,并且完成相應的加密解密工作。對于讀寫完成的成功或錯誤狀態信息要及時返回給主機。具體的流程如下所示:
4.總結: 采用可編程邏輯器件內嵌處理器的解決方案具有很強的設計靈活性。由于相關廠家提供的強大工具軟件和IP等,以及可編程邏輯器件的價格減低對用戶的設計提供了新的解決方案。根據本系統設計的硬盤加密卡解決方案已經進行了初步的仿真試驗,能夠達到預期的效果,被證實是切實可行的。 參考文獻: 《信息安全學》------周學廣 劉藝 機械工業出版社 2003-3 《應用密碼學》------Bruce Schneier 機械工業出版社 2000-1 《微機總線與接口技術》-------陳利學 孫彪 趙玉連 電子科技大學出版社 1997-8 《Custom Instructions for the Nios Embedded Processor》--------www.altera.com 《Nios CPU Data Sheet》 --------www.altera.com0 《Nios Development Board Reference Manual, Cyclone Edition》-----www.altera.com
投訴建議

提交

查看更多評論
其他資訊

查看更多

基于Modbus的智能工業控制器監控系統的設計

不要忽略PC總線技術的發展

基于PLC的電梯高精度位置控制的實現

藍牙工業現場總線應用模型

一種基于PID神經網絡的解耦控制方法的研究 /