新四季網

一種基於CPLD的SRAM工藝FPGA的加密方法與流程

2023-09-10 01:49:35


本發明涉及數字邏輯技術,尤其涉及基於CPLD的SRAM工藝FPGA的加密方法的應用。



背景技術:

近年來,在現代電子系統設計中,基於SRAM工藝的FPGA以其自身速度快、密度高、價格低和靈活在線可升級的優勢正在廣泛被使用。由於大規模高密度可編程邏輯器件多採用SRAM工藝,要求每次上電對FPGA器件進行重新配置,這就使得可以通過監視配置的位數據流,進行克隆設計。因此,在關鍵、核心設備中,必須採用加密技術來保護設計者的智慧財產權,所以FPGA的安全問題是設計者必須考慮的問題。在傳統的基於CPLD的SRAM工藝FPGA的加密方法中,隨機序列的生成器位於FPGA內部,由用戶自行設計,這樣以來,每次上電加載程序的過程中,隨機序列生成器的設計部分暴露在保護模塊外部,很容易被推測出來,同時,為了提高產品的安全性,必須選擇更加複雜的隨機序列生成器的方案,這樣不但增加了FPGA內部設計資源的利用,而且還給用戶設計部分帶來一定的複雜度。



技術實現要素:

為了克服現有技術的不足,本發明提供一種基於CPLD的SRAM工藝FPGA的加密方法,能夠提高設計的安全性,並且減少FPGA設計部分邏輯資源的佔用。

本發明解決其技術問題所採用的技術方案包括以下步驟:

1)將隨機數生成器模塊、發送預處理模塊、減法器1、發送MAC模塊、128位用戶特徵碼、128位內置密鑰以及SHA-1加密模塊配置進CPLD內部;將驗證模塊、與CPLD內部相同的128位內置密鑰、128位用戶特徵碼和SHA-1加密模塊配置進FPGA內部;FPGA的用戶設計部分處於等待狀態;

2)隨機數生成器由三個長為n的m序列SR1、SR2和SR3交互鍾控組成,32≥n≥8,SR1的輸出作為SR2和SR3的鐘控序列,SR2和SR3的輸出相與後作為SR1的鐘控序列,彼此互相鍾控產生輸出;

3)隨機數生成器的輸出在發送預處理模塊中經過一個串並轉換電路轉變成長度為256位的分組序列,分組序列經過一個QPP交織器,交織長度為256,輸出隨機序列;

4)發送預處理模塊的輸出分別發送到FPGA和CPLD的加密模塊;256位長的隨機序列、128位內置密鑰以及128用戶特徵碼串行排列組成512位的待加密序列,輸入到SHA-1加密模塊後,CPLD和FPGA內部的SHA-1加密模塊各自產生一個MAC序列;減法器1由設定數字開始計數,在減法器1計零前CPLD內部SHA-1加密模塊產生的MAC序列發往FPGA的驗證模塊進行驗證;

5)FPGA的驗證模塊包括一個4位寄存器、一個4位的減法器2和一個比較器,4位寄存器的初始值為隨機序列的前4位;減法器2計零時進行一次CPLD和FPGA內部的SHA-1加密模塊各自產生的MAC序列的比較,比較結果相等時FPGA的用戶設計部分開始工作,否則FPGA的用戶設計部分繼續處於等待狀態,同時減法器1的計數減1;判斷減法器1的被減數是否為零,若不為零,則進入下一次驗證,否則,停止驗證工作,操作非法。

本發明的有益效果是:在不增加FPGA設計部分複雜度的情況下,使得基於CPLD的SRAM工藝FPGA的加密方法更有效,保密性能更好,使得對成本敏感的產品的安全性能得到改善。

本發明提出了一種新的基於CPLD的SRAM工藝FPGA的加密方案,將隨機序列生成器部分置於CPLD內部,充分利用CPLD的資源,將其專用於加密方案的設計,這樣不但節省了FPGA內部邏輯資源的使用,而且還降低了設計人員的設計複雜度;另外,本發明的加密方案加入了合法用戶的特徵碼,只要是持有設計者授權下的特徵碼的合法用戶,均可以使用。同時,在CPLD和FPGA之間數據流的傳輸過程中,採取了隨機交織與驗證時間間隔隨機化的方法,進一步提高了設計被破解的難度,特別適合於對成本比較敏感的場合的應用。

附圖說明

圖1是本發明的系統方案圖。

圖2是本發明的隨機序列生成器模型。

圖3是本發明的發送預處理模塊原理圖。

圖4是驗證處理原理圖。

具體實施方式

下面結合附圖和實施例對本發明進一步說明,本發明包括但不僅限於下述實施例。

本發明的技術方案描述如下:

1)首先,將隨機數生成器模塊、發送預處理模塊、減法器1和發送MAC模塊、代表用戶身份信息的128位特徵碼、128位內置密鑰以及採用SHA-1算法的加密模塊配置進CPLD內部。然後,將驗證模塊、用戶設計以及與CPLD內部相同的128位內置密鑰、特徵碼和採用SHA-1算法的加密模塊配置進FPGA內部。此時FPGA內的用戶設計部分處於等待狀態。

2)隨機序列生成器由SR1,SR2和SR3三個長為n(32≥n≥8)的m序列交互鍾控組成,SR1的輸出作為SR2和SR3的鐘控序列;反過來,SR2和SR3的輸出作為SR1的鐘控序列,彼此互相鍾控產生輸出。

3)隨機序列生成器的輸出經過一個串並轉換電路轉變成長度為256位的分組序列,此時分組序列經過一個QPP(二次置換多項式)交織器,交織長度為256。

4)經過隨機交織後的序列分別發送到FPGA內部和CPLD的加密模塊,256位長的隨機序列和128位內置密鑰以及128特徵碼,串行排列組成512位的待加密序列,輸入到SHA-1的加密模塊後,CPLD和FPGA內部會各自產生一個MAC序列。減法器1被減數由設計者自定義大小,控制著CPLD內部產生的MAC是否發往FPGA內部進行驗證,若減法器1的被減數非零,則發送,否則不發送。

5)FPGA內部的驗證模塊由一個4位寄存器、一個4位的減法器2和一個比較器組成。4位寄存器的初始值隨機序列的前4位;減法器2的被減數為0時進行一次比較,否則不進行比較;比較器比較結果相等時置Enable信號和ID_OK為有效值1,FPGA用戶設計開始工作,否則置ID_OK為無效置0,FPGA設計繼續處於等待狀態,同時CPLD內部減法器1會做一次減1的運算,然後判斷減法器1的被減數若為非零,則進入下一次驗證,否則,停止驗證工作,操作非法。

如圖1所示,本發明的實施例包括以下步驟:

(1)首先,將隨機數生成器模塊、發送預處理模塊、減法器1和發送MAC模塊、代表用戶身份信息的128位特徵碼、128位內置密鑰以及採用SHA-1算法的加密模塊配置進CPLD內部。然後,將驗證模塊、用戶設計以及與CPLD內部相同的128位內置密鑰、特徵碼和採用SHA-1算法的加密模塊配置進FPGA內部。此時FPGA內的用戶設計部分並不能立即開始工作,而是處於等待狀態。

(2)隨機序列生成器由SR1,SR2和SR3三個長為16的m序列交互鍾控組成,SR1的輸出序列為z(t),SR1的第一級輸出a1作為SR2和SR3的鐘控序列,SR2和SR3的輸出交錯構成的序列c(t)又作為SR1的鐘控序列,系統的輸出序列U(t)=c(t)+z(t)。系統上電後,若SR1的第一級輸出a1為1,則控制SR2向前移位一次,SR2的輸出構成c(t)的一位;若SR1的第一級輸出a1為0,則控制SR3向前移位一次,SR3的輸出構成c(t)的另一位;依次進行下去。同時序列c(t)作為SR1的控制序列,若此時c(t)=1,則SR1向前移位一次,輸出作為z(t)的一位,若此時c(t)=0,則SR1狀態不變,重複輸出作為z(t)的另一位;依次進行下去。

(3)隨機序列生成器的輸出U(t)經過一個串並轉換電路後,轉變成長度為256位的分組序列,此時分組序列經過一個QPP(二次置換多項式)交織器,其交織多項式為

π(i)=(f1·i+f2·i2)mod N

其中i表示交織器前的位置,π(i)為交織後的位置。f1和f2的選擇取決於交織長度N,在這裡f1和f2取值分別為79和160,N取值為256。

(4)經過隨機交織後的序列同時發送到CPLD內部的加密模塊和FPGA內部的加密模塊,256位長的隨機序列和128位內置密鑰以及128特徵碼,串行排列組成16個字長512位的待加密序列,輸入到SHA-1的加密模塊後,CPLD和FPGA內部會各自產生一個MAC序列,CPLD產生的MAC序列是否發送受控於減法器1中被減數的值,若被減數值非0,則將CPLD內產生的MAC發送到FPGA內部進行驗證;否則,停止驗證工作。

(5)FPGA內部的驗證模塊由一個4位寄存器、一個4位的減法器2和比較器組成。4位寄存器的初始值為接收自CPLD送來的隨機序列的前4位;減法器2控制著比較器什麼時候進行一次比較;比較器比較結果相等時置Enable信號和ID_OK為有效值1,否則置為無效置0。當進行一次驗證前,先將寄存器的值賦給減法器2作減1的遞減運算,結果為0進行控制比較器進行比較,這樣就可以完成驗證時間間隔的隨機化。如果驗證成功,則反饋給CPLD一個驗證成功的信號ID_OK並置高電平,同時使能FPGA內部的用戶設計;如果驗證失敗,置ID_OK信號為低電平,此時CPLD內部的減法器1會做一次減1的運算,重新進入下一次的驗證過程,直至減法器1的被減數為0,則CPLD停止給FPGA發送驗證MAC,認為FPGA驗證屬於非法操作,這樣就可以防止設計被盜竊者進行重複試驗工作。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀