TWI450232B - 可規劃加密裝置及加密方法 - Google Patents
可規劃加密裝置及加密方法 Download PDFInfo
- Publication number
- TWI450232B TWI450232B TW097147478A TW97147478A TWI450232B TW I450232 B TWI450232 B TW I450232B TW 097147478 A TW097147478 A TW 097147478A TW 97147478 A TW97147478 A TW 97147478A TW I450232 B TWI450232 B TW I450232B
- Authority
- TW
- Taiwan
- Prior art keywords
- logic device
- field programmable
- core
- logic
- fixed logic
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Description
本發明與密碼有關,更加特別地與嵌入在半導體處理器中的密碼處理引擎有關。
現代密碼裝置包含結合私有金鑰(private Key)或公開金鑰(public Key)運用密碼演算法的處理器。大多數此類產品使用一軟體可規劃微處理器、客戶特定應用積體電路(ASIC)或一獨立現場可規劃閘陣列(FPGA)來執行該密碼演算法。該微處理器和FPGA選項具有可再規劃之優勢。這些裝置將演算法載入到一可規劃處理裝置中,以確保隨著資料安全領域中的進展,演算法可透過在該領域中規劃演算法來改變和更新。
軟體可規化微處理器是有利的,因為其可以容易地修改以支援新的密碼演算法,但是難以確保免受可能的安全攻擊或確保在操作中故障安全(fail safe)。軟體實施非常易於逆向工程,使基於軟體裝置的安全評鑒(security qualification)很難實現。
使用一ASIC而非一軟體可規劃微處理器引入了一組不同的問題。用演算法升級ASIC需要開發、產生以及安裝一個新的ASIC。這種做法不但成本高而且也不方便。
另一方面,FPGA可在本領域中更新,這種更新不但成本較低而且更加方便,因為其可在現有硬體中實現,但是卻充滿了安全危險,因為新規劃影像必須被下載到用以將FPGA載入到產品平臺之上的EEPROM。使用工業標準FPGA裝置在產品中實施可規劃演算法冒著FPGA遭逆向工程和損害的風險。若新演算法使用加密和一金鑰來載入,則FPGA需要知曉該金鑰一以及將該金鑰通知給FPGA也可能是有害於加密的資訊傳送。
與在一密碼演算法功能中使用一獨立FPGA有關的另一問題是難以實施故障安全設計。FPGA單獨不能確保故障安全設計一確保如此的唯一方式是使用外部/輔助邏輯元件/控制/功能以及記憶體。也就是說,若FPGA設計遭損害或改變、若一電晶體在該FPGA內部故障或若FPGA記憶體規劃元件遭改變或故障,則原始的FPGA設計遭改變。在具有外部邏輯元件(位元於FPGA外部)的情況下,該邏輯元件將檢測該改變,以及一旦檢測到改變,則該邏輯元件將不能進入一安全狀態。這有時被稱為保護設計,其中FPGA設計如所設計及規劃那樣運行,直到一故障模式遭外部邏輯元件檢測,FPGA、外部邏輯元件以及其他功能不能進入一安全狀態以及在不損害加密的情況下終止操作。
因此,當設計合格密碼產品時,我們目前在以下之間選擇:(1)具有一高度安全演算法但必定不便移動和用一再設計固定邏輯裝置處理器取代用於更新升級的一固定邏輯裝置處理器(諸如ASIC)(2)容易在在該領域中再規劃但是在該再規劃的過程中可能遭受損害的一可規劃邏輯裝置處理器(諸如FPGA)以及(3)容易再規劃但是難以確保免受潛在的安全攻擊或確保其在操作中是一故障安全設計的一軟體可規劃微處理器和軟體可規劃FPGA。
如果我們使用FPGA光罩中嵌入金鑰的FPGA,則我們可獲得對現存產品之容易和低廉演算法升級的利益。Kean的美國專利公開案2001/0037458(於2001年2月8日提出申請)描述了這樣的系統,其中在該系統中具有儲存在FPGA原圖中之一私密金鑰(secret key)的FPGA被用來解密提供給該FPGA的組態資料。
我們提出一備選裝置,其中FPGA核心遭嵌入在一ASIC裝置中。該所嵌入的FPGA核心可用新的或更新的密碼演算法在不需要改變任何硬體的情況下規劃。這提供了成本和時間優點。該嵌入FPGA核心受ASIC中的固定邏輯裝置保護。ASIC中的該固定邏輯裝置服務於兩個目的;首先,監控FPGA根據其規劃來操作,以及在內部故障(單一或多點故障)的情況下,該設計將故障安全到已知的安全狀態。其次,該固定邏輯裝置被用來檢測竄改攻擊,以及逆向工程攻擊由ASIC中的固定邏輯裝置監視器以及處理電路透過使用已建立的設計技術來監控。透過在ASIC中實施該特徵,未來的密碼演算法可以在不需要在該領域中重做產品的情況下受支援而且仍然將確保設計安全。同時,透過在ASIC中嵌入FPGA,影像檔案可透過一標準介面下載,以及嵌入處理器狀態機器控制可重新規劃該FPGA的邏輯裝置。影像可用一加密形式傳送,以及在重新規劃該邏輯裝置之前解密和鑑定。具有實現ASIC之高功能和邏輯密度的能力而同時保持修改一密碼處理器之邏輯功能的能力提供了一個重要的優點,並且確保僅合適的存取被允許用來規劃該FPGA。
依據本發明之一實施例,系特地提出一種用於將明文資料加密成密文資料的可規劃加密裝置,其包含:一固定邏輯裝置,包括用於接收該明文資料的一輸入暫存器和用於傳送該密文資料的一輸出暫存器;嵌入在該固定邏輯裝置中的一現場可規劃核心,用於在該明文上儲存和執行一加密演算法。
依據本發明之另一實施例,系特地提出一種可規劃加密裝置,其包含:包括故障安全邏輯元件的一固定邏輯裝置;以及嵌入在該固定邏輯裝置中且用於儲存和執行一加密演算法的一現場可規劃核心,該故障安全邏輯元件用以測試該現場可規劃核心以決定一故障狀態以及當檢測出該故障狀態時去能該裝置。
依據本發明之又一實施例,系特地提出一種方法,其包含以下步驟:
在構建在非可規劃固定邏輯裝置中的一輸入暫存器中接收明文;使用嵌入在該非可規劃固定邏輯裝置中的一現場可規劃邏輯裝置將該明文譯成密文;以及使用儲存在該現場可規劃邏輯裝置中的一加密演算法;以及將該密文傳送到構建在該非可規劃固定邏輯裝置中的一輸出暫存器中。
第1圖是用於費斯特密文(Feistel Cipher)的一先前技術範例資料流;
第2圖是用於費斯特密文的一範例區塊密文資料流的一流程圖;
第3圖是一密碼系統的一方塊圖;以及
第4圖是故障檢測子系統的一方塊圖;
第5圖是用於安全載入FPGA影像之系統的一方塊圖;
第6圖是一密碼系統的一方塊圖。
在下文中所述的設計僅是本發明的一個範例,本發明不限於所揭露的實施例,而是相反併入該等專利申請範圍的全部範圍。
該示範設計涉及使用一FPGA核心,連同記憶體、故障檢測器、警報器、用以處理金鑰的支援邏輯、可變和恆定儲存器以及算數與資料路徑操作功能。演算法流受在該FPGA核心中規劃的演算法影像控制。該FPGA核心可在需要的情況下安全載入和清除以防止演算法細節被揭露。在FPGA核心周圍加入重要的外部邏輯元件,以提供使用FPGA核心限定的資源實施任一數目之密碼演算法的能力。該FPGA和外部邏輯元件受構建以支援許多類型的密文,包括但不限於串流密文、取代重排網路密文、費斯特密文以及現在已知或將來開發的任何其他密文。一費斯特密文資料流範例被顯示在第1圖中,費斯特密文的源(以及以下描述)可在http://en.wikipedia.org/wiki/feistel
中找到。
第1圖說明加密和解密,其中F是回合功能,以及K0
,K1
,...,Kn
分別是回合0,1,...,n的子金鑰。明文區塊被分成兩個相等的部分(L0
,R0
),以及對於每一回合i=0,1,...,n,兩個方程式Li+1
=Ri
和Ri+1
=Li
⊕F(Ri
,Ki
)被計算。密文變為(Rn
,Ln
)。一般地,這兩個部分Rn和Ln在最後回後不被改變。密文(Rn,Ln)的解密透過以下完成:對於i=n,n-1,...,0計算兩個方程式Ri
=Li+1
以及Li
=Ri+1
⊕F(Li+1
,Ki
)。然後(L0
,R0
)再次成為明文。
本發明如何組合規劃到FPGA中的控制功能與記憶體、算數功能、資料旋轉以及非線性轉換之外部支援的一個例子被顯示在第2圖中。在第2圖中,在第21步,RISC處理器20控制規劃輸入與輸出資料控制,在第22步,儲存明文和初始值,以及在第23步,初始化FPGA密文功能。在第23步後,即在第24步,在第22步儲存的第一區塊的明文和初始值遭輸入到一互斥或(exclusive-OR),以及結果儲存在該FPGA中的區塊大小暫存器中。在第25步,該步驟用使用新初始值的下一個區塊重複。然後在第26步,資料用位元組置換多工器置換,在第27步,回合金鑰從單一埠RAM混合,在第28步,來自非線性查找RAM的資料遭混合。然後在第29步,狀態變數用基於FPGA的密文演算法回合功能更新。
第30步若需要更多的回合,則例行程式用另一資料回合和另一新初始值例行執行到第25步。若並非如此,則最終的密文用該狀態變數更新,以及該流程以明文已被譯成密碼停止。
第3圖顯示一範例系統的一方塊圖。在加密期間,輸入暫存器36的明文資料被譯成密碼以及移動到輸出暫存器37。FPGA核心30在該輸入暫存器36與輸出暫存器37之間操作,以根據一規劃演算法加密該輸入暫存器的明文。第一故障檢測器31和第二(冗餘)故障檢測器32是監控該FPGA核心30以檢測該核心中之竄改或故障的邏輯電路。該邏輯電路以及檢測方法是已知的以及可根據故障安全設計思考來改變。當該第一或第二故障檢測器中的任何一個覺察到問題(該問題可能涉及一些臨界值估算,諸如與一次發生相對重複發生的問題)時,該輸入暫存器36與輸出暫存器37被去能,以及冗餘警報器33和35被啟動。
在第3圖中,FPGA核心30可以是嵌入在一固定邏輯裝置中的一標準FPGA核心架構,其中該第一故障檢測器31、第二故障檢測器32、冗餘警報器33和35、輸入暫存器36以及輸出暫存器37受構建在該固定邏輯裝置中。因此該FPGA核心30可規劃以能夠改變、升級或重新規劃密文演算法,但是該等暫存器、檢測電路以及警報器在諸如ASIC(諸如狀態機器的其他選項在下文中被描述)的固定邏輯裝置中,因此其不受供電中的攻擊或故障、時鐘/頻率值或處理器核心的規劃步驟的影響。因為這種設計,若該FPGA由於攻擊或故障而減弱,則其附近的固定邏輯裝置仍將操作以產生該重新設定(故障安全)狀態。
第4圖更加詳細地顯示另一示範性系統,其中該FPGA核心30再次成為一標準可規劃核心,但是所有周圍元件都在固定邏輯裝置中。
在操作中,輸入和輸出控制區塊49和43控制資料流從輸入緩衝器48到輸出緩衝器40。該輸入和輸出控制區塊49和43也可以管理資料在不同頻率時鐘之間的時鐘域交叉傳遞,若需要FPGA邏輯裝置在較ASIC邏輯裝置低的頻率運行。該控制暫存器49從一控制處理器接收組態資訊以選擇密文模式、金鑰大小以及其他資訊。一兩讀取埠/兩寫入埠SRAM 50是可得的以儲存目前的密文狀態以及擴充金鑰值。也可以實施一單一埠SRAM 46以提供用於一初始值以及用於金鑰擴充的原始金鑰之一複製的儲存器。一組外部256乘8位元SRAM 44連接到該FPGA以提供特別有助於實施通常用在區塊密文中之替換盒(S-Box)的非線性轉換查找表資源。所有RAMS可從該FPGA核心上的專用埠同時存取,這提供了改良的處理速度。互斥或邏輯元件在外部實施,以幫助加入諸如目前狀態、金鑰值以及初始值的變數。多工器受實施以,如在計數器51中幫助資料轉向(steering)以及資料位元組置換。所有這些操作對於密碼演算法而言都很常見,並且被認為是消耗一FPGA區塊中之顯著數量的可規劃邏輯裝置資源。
FPGA規劃影像使用標準FPGA規劃方法產生,其中原始碼利用FPGA區塊可得的外部資源寫入。該FPGA規劃影像可被加密,藉此密文功能不可以遭追溯和鑑定以確保該規劃影像由一許可源產生。FPGA必須在禁用ASIC系統重新設定之後以及在FPGA密文需要任何功能之前由該解密和鑑定FPGA規劃影像初始化。
在第4圖中,第3圖中的冗餘故障檢測電路被顯示為故障檢測邏輯元件34。冗餘警報器被顯示為警報器47。如在第3圖中所示,這些監視器(故障檢測器、警報器)電路檢測該FPGA核心30的異常行為。在FPGA核心設計中,四個輸出(例如在第3圖中所示的最小量)被用來輸入到故障檢測邏輯元件31/32/34。若該FPGA設計不根據其預期設計參數操作,則該FPGA核心的四個輸出將向故障檢測器發信一故障狀態。該故障檢測器31/32/34將順次發送已發生警報狀態的一信號到警報邏輯元件33/35/47。該等輸入和輸出暫存器36/37/48/40和該FPGA核心30將被去能,即故障安全。FPGA的四個輸出是監控選定作為設計之“心搏”的密碼演算法之功能的邏輯功能,其中若該設計發生故障,則該等輸出將是不正確的。
在擁有故障安全的設計中,故障檢測和警報邏輯元件的輸出將是冗餘的(沒有單一故障點),如在第3圖中所示。基本設計是全冗餘實施,其中該故障檢測或警報器電路中的任何故障將發信一故障狀態,以及該設計將不能進入一故障安全狀態,或者不能知曉被認為是該主機系統或應用之一預定義狀態的狀態,其中該故障安全狀態表示邏輯元件之功能層面不操作的任何狀態。
這裡有兩種用於實施故障檢測的示範性方法。在第一範例中,該故障檢測使用狀態機器或固定邏輯裝置在傳統邏輯裝置設計中實施。在第二範例中,其用自檢查邏輯元件或狀態機器設計技術實施。自檢查邏輯元件是一類使用冗餘設計技術的設計,以不僅保證功能而且保證故障檢測。該等故障檢測檢測器是冗餘設計,但是可以實施為嚴格複製設計或不同的功能等效設計。若其中一個故障檢測器不能進入一故障安全狀態,則該警報邏輯元件將檢測並去能進/出暫存器和FPGA,以及設定警報旗標。警報器或故障檢測電路可重新設定,但是若錯誤仍然存在,則該邏輯元件將故障安全。
因此,在第4圖中,FPGA核心30可規劃以載入、更新或重新規劃在該領域中習知的演算法。可用固定邏輯裝置規劃的金鑰也可以被用來解密更新演算法以使該更新演算法安全地傳送到FPGA。從而與目前可規劃加密裝置相關聯的許多安全問題可透過在傳統或自檢查固定邏輯裝置或狀態裝置中構建周圍架構來消除。較佳地,但不完全地,除FPGA核心30外,在第4圖中所顯示的每一元件被構建在一ASIC中,該FPGA核心30嵌入在該ASIC建構中。構建少於所有非核心元件數目之某一數目的非核心元件不是較佳的,儘管也被設想以提供一些安全優點。
該可規劃密碼ASIC設計可施加到任何軟體可規劃密碼應用。其適用於安全I/O產品;諸如行動電話和行動無線電設備的無線通訊產品;諸如路由器、NIC和伺服器的IP通訊產品;資料儲存器;網狀網路無線電設備;VoIP產品,SCADA裝置以及現在已知或未來將發現的任何其他安全通訊環境。
儘管本發明已相關目前被認為是最實際且最佳的實施例進行描述,但是可理解的是,本發明不限於所揭露的實施例,而是相反,其意欲涵蓋包括在所附申請專利範圍之精神和範圍中的各種修改和等效配置。
第5圖顯示用於安全載入FPGA規劃影像的系統。該規劃影像是由FPGA供應商規劃工具產生的定製二進制影像且基於由設計者規劃的定製演算法。
該規劃影像透過一單向散列演算法(one way hash algorithm)來處理以產生一唯一簽名。該散列演算法透過第5圖中的鑑定區塊59選定作為在該FPGA安全載入系統中可得的一演算法。該簽名被附加到該規劃影像。
該規劃影像進一步遭處理以使用選定作為在第5圖中的FPGA安全載入系統中可得的一密文演算法加密該附加簽名的影像。密文58使用在金鑰區塊57中產生和儲存的一金鑰。該金鑰是程式與系統之間的共用秘密。
該簽名和加密規劃影像受設置在該系統外部的一記憶體中。這對於每一系統而言可能是唯一的,或者可用於一系列產品共用。
該FPGA在釋放重新設定後即安全載入作為系統初始化的一部分。該系統在此模式下是安全的,其中沒有輸入或輸出被致能,以及僅微處理器54作為一控制代理。在微處理器54上運行的軟體透過致能記憶體控制器53開始,以及然後直接從外部記憶體52讀取資料和將該資料寫入到密文58和鑑定59區塊。該資料傳送也可以在該微處理器上運行之軟體的控制下透過使用直接記憶體存取(DMA 56)傳送該資料來完成。已解密規劃影像輸出到FIFO 60用於暫時儲存。該FIFO作用如同用以在解密資料規劃進入FPGA核心之前保存該資料的一暫時緩衝器。狀態機器控制61透過微處理器54上運行之軟體的狀態寫入初始化以檢測一部分規劃語言串流是否在該FIFO 60中可得。然後該狀態機器控制61控制資料格式轉換62以用該規劃影像最終地規劃該FPGA核心30。
在微處理器54上運行的軟體將讀取該狀態機器控制61中的一狀態位元,以決定該FPGA規劃已完成。然後在微處理器54上運行的該軟體將讀取鑑定單元59的結果,以決定規劃影像的鑑定是否成功。若不成功,則在微處理器54上運行的該軟體將寫入一命令到該狀態機器控制61以使該狀態機器控制61用一恆定值覆寫該FPGA規劃影像以有效抹除該影像,以及然後報告一系統錯誤。若該鑑定成功,則該FPGA可在該系統中被致能以及該系統初始化可繼續。
第6圖顯示一示範性密碼系統的一高階方塊圖,其中在該密碼系統中,包括一處理核心82的嵌入式可再規劃邏輯裝置81受嵌入在一固定邏輯裝置80之部分中。該系統中之包括暫存器82、檢查和/解密/散列確認部分83(從一外部源接收規劃指令)、故障安全邏輯元件84、重新設定邏輯元件85以及警報器86的所有其他邏輯裝置在該固定邏輯裝置80中產生。第6圖中的處理核心82可以是一FPGA或任何其他可再規劃處理裝置。該暫存器82可包括一輸入暫存器、一輸出暫存器、一金鑰暫存器以及其他暫存器。重新設定邏輯元件85可如前所述操作以在故障檢測後重新設定該等暫存器。故障安全邏輯元件84可以是可監控核心82之安全操作的任何類型的側錄功能。警報器86可包括用以在故障檢測後去能核心82和/或暫存器82的去能邏輯元件。
20~30...流程步驟
31...第一故障檢測器/故障檢測邏輯元件
32...第二故障檢測器/故障檢測邏輯元件
33...冗餘警報器/警報邏輯
34...故障檢測邏輯元件/故障檢測器
35...冗餘警報器/警報邏輯元件
36...輸入暫存器
37...輸出暫存器
40...輸出緩衝器
42...密文FIFO
43...輸出控制區塊
44...靜態隨機存取記憶體(SRAM)
46...單一埠SRAM
47...警報器/警報邏輯元件
48...輸入緩衝器
49...輸入控制區塊
50...兩讀取埠/兩寫入埠SRAM
51...計數器
52...外部記憶體
53...記憶體控制器
54...微處理器
55...記憶體
56...直接記憶體存取
57...金鑰區塊
58...密文區塊
59...鑑定區塊/單元
60...先入先出(FIFO)
61...狀態機器控制
62...資料格式轉換
80‧‧‧固定邏輯裝置
81‧‧‧嵌入式可再規劃邏輯裝置
82‧‧‧暫存器/處理核心
83‧‧‧檢查和/解密/散列確認部分
84‧‧‧故障安全邏輯元件
85‧‧‧重新設定邏輯元件
86‧‧‧警報器
第1圖是用於費斯特密文(Feistel Cipher)的一先前技術範例資料流;
第2圖是用於費斯特密文的一範例區塊密文資料流的一流程圖;
第3圖是一密碼系統的一方塊圖;以及
第4圖是故障檢測子系統的一方塊圖;
第5圖是用於安全載入FPGA影像之系統的一方塊圖;
第6圖是一密碼系統的一方塊圖。
80‧‧‧固定邏輯裝置
81‧‧‧嵌入式可再規劃邏輯裝置
82‧‧‧暫存器/處理核心
83‧‧‧檢查和/解密/散列確認部分
84‧‧‧故障安全邏輯元件
85‧‧‧重新設定邏輯元件
86‧‧‧警報器
Claims (23)
- 一種可規劃加密裝置,用於將明文資料加密成密文資料,該裝置包含:一固定邏輯裝置,包括用於接收該明文資料的一輸入暫存器、用於傳送該密文資料的一輸出暫存器,並組配來鑑定載入至一可現場規劃核心的程式規劃之載入;該可現場規劃核心係嵌入在該固定邏輯裝置中而於該輸入暫存器與該輸出暫存器之間,用於在明文上儲存和執行一加密演算法。
- 如申請專利範圍第1項所述之裝置,其中:該輸入暫存器和輸出暫存器包括在一特定應用積體電路(ASIC)中。
- 如申請專利範圍第1項所述之裝置,其中:該可現場規劃核心是一可現場規劃閘陣列(FPGA)核心。
- 如申請專利範圍第1項所述之裝置,其中:該固定邏輯裝置進一步包括:用以測試該可現場規劃核心以決定一故障狀態以及失效保全到一已知安全狀態的故障檢測邏輯元件。
- 如申請專利範圍第1項所述之裝置,其中:該固定邏輯裝置進一步包括:用以測試該可現場規劃核心以決定一故障狀態的冗餘故障檢測邏輯元件。
- 如申請專利範圍第4項所述之裝置,其中:該固定邏輯裝置進一步包括:用以指示該故障狀態的一警報器電路。
- 如申請專利範圍第5項所述之裝置,其中:該固定邏輯裝置進一步包括:用以指示該故障狀態的冗餘警報器。
- 如申請專利範圍第1項所述之裝置,其中:該固定邏輯裝置進一步包括:用以儲存用於在執行該加密演算法中使用之一金鑰和一初始值的隨機存取記憶體或暫存器。
- 如申請專利範圍第1項所述之裝置,其中:該固定邏輯裝置進一步包括:用以控制該輸入暫存器和該輸出暫存器的資料控制邏輯元件。
- 如申請專利範圍第1項所述之裝置,其中嵌入該固定邏輯裝置中的該可現場規劃核心僅包含該加密演算法。
- 一種可規劃加密裝置,其包含:包括失效保全邏輯元件並組配來鑑定載入至一可現場規劃核心的程式規劃之載入的一固定邏輯裝置;以及該可現場規劃核心係嵌入在該固定邏輯裝置中於一輸入暫存器與一輸出暫存器之間且用於儲存和執行一加密演算法,該失效保全邏輯元件用以測試該可現場規劃核心以決定一故障狀態以及當檢測出該故障狀態 時停用該裝置。
- 如申請專利範圍第11項所述之裝置,其中:該失效保全邏輯元件係於一ASIC中。
- 如申請專利範圍第11項所述之裝置,其中:該可現場規劃核心是一FPGA核心。
- 如申請專利範圍第11項所述之裝置,其中:該固定邏輯裝置進一步包括:用於接收明文資料的一輸入暫存器和用於傳送密文資料的一輸出暫存器。
- 如申請專利範圍第11項所述之裝置,其中:該失效保全邏輯元件包括:用以測試該可現場規劃核心以決定該故障狀態的冗餘故障檢測邏輯元件。
- 如申請專利範圍第11項所述之裝置,其中:該失效保全邏輯元件包括:用以指示該故障狀態之一發生的冗餘警報器。
- 如申請專利範圍第11項所述之裝置,其中:該固定邏輯裝置進一步包括:用以儲存用於在執行該加密演算法中使用之一金鑰和一初始值的隨機存取記憶體或暫存器。
- 如申請專利範圍第14項所述之裝置,其中:該固定邏輯裝置進一步包括:用以控制該輸入暫存器和該輸出暫存器的資料控制邏輯元件。
- 如申請專利範圍第11項所述之裝置,其中嵌入該固定邏輯裝置中的該可現場規劃核心僅包含該加密演算法。
- 一種加密方法,其包含以下步驟:將明文接收進構建在非可規劃固定邏輯裝置中的一輸入暫存器;由該非可規劃固定邏輯裝置鑑定將要載入一可現場規劃邏輯裝置的程式規劃;使用嵌入該非可規劃固定邏輯裝置中於該輸入暫存器與一輸出暫存器之間的該可現場規劃邏輯裝置,將該明文譯成密文;以及使用儲存在該可現場規劃邏輯裝置中的一加密演算法;以及將該密文傳送到構建在該非可規劃固定邏輯裝置中的該輸出暫存器中。
- 如申請專利範圍第20項所述之方法,其進一步包含以下步驟:實質上於該可現場規劃邏輯裝置正在將該明文譯成密碼時,在一非可規劃固定邏輯失效保全電路中測試該可現場規劃邏輯裝置。
- 如申請專利範圍第21項所述之方法,其進一步包含以下步驟:當該測試決定一失效狀態時,使用該失效保全電路來停用該輸入暫存器和輸出暫存器。
- 如申請專利範圍第20項所述之方法,其進一步包含以下步驟: 用一新加密演算法重新規劃該可現場規劃邏輯裝置,以及然後使用該新加密演算法重複該等接收、譯成密碼以及傳送步驟。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/987,887 US9866370B2 (en) | 2007-12-05 | 2007-12-05 | Configurable ASIC-embedded cryptographic processing engine |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200935369A TW200935369A (en) | 2009-08-16 |
TWI450232B true TWI450232B (zh) | 2014-08-21 |
Family
ID=40718068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097147478A TWI450232B (zh) | 2007-12-05 | 2008-12-05 | 可規劃加密裝置及加密方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9866370B2 (zh) |
TW (1) | TWI450232B (zh) |
WO (1) | WO2009073227A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2255292A4 (en) * | 2008-02-05 | 2014-09-24 | Viasat Inc | PROGRAMMABLE LOGIC CIRCUIT ELEMENTS ON SECURE SITES |
FR2935078B1 (fr) * | 2008-08-12 | 2012-11-16 | Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst | Procede de protection du decryptage des fichiers de configuration de circuits logiques programmables et circuit mettant en oeuvre le procede |
US20120179899A1 (en) * | 2011-01-07 | 2012-07-12 | International Business Machines Corporation | Upgradeable processor enabling hardware licensing |
US8824196B2 (en) | 2012-03-30 | 2014-09-02 | International Business Machines Corporation | Single cycle data copy for two-port SRAM |
US9152800B2 (en) * | 2012-05-03 | 2015-10-06 | Dell Products L.P. | Pluggable cryptography |
US10270709B2 (en) | 2015-06-26 | 2019-04-23 | Microsoft Technology Licensing, Llc | Allocating acceleration component functionality for supporting services |
DE102013205729A1 (de) * | 2013-03-28 | 2014-10-02 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren mit einem Träger mit Schaltungsstrukturen |
US9830456B2 (en) * | 2013-10-21 | 2017-11-28 | Cisco Technology, Inc. | Trust transference from a trusted processor to an untrusted processor |
TWI595361B (zh) * | 2013-12-13 | 2017-08-11 | 祥碩科技股份有限公司 | 電子裝置與其載入程式碼之方法 |
CN106033346B (zh) * | 2015-03-19 | 2019-05-17 | 名硕电脑(苏州)有限公司 | 电子装置及防止电子装置进入休眠状态的方法 |
US10511478B2 (en) | 2015-04-17 | 2019-12-17 | Microsoft Technology Licensing, Llc | Changing between different roles at acceleration components |
US10296392B2 (en) | 2015-04-17 | 2019-05-21 | Microsoft Technology Licensing, Llc | Implementing a multi-component service using plural hardware acceleration components |
US9983938B2 (en) | 2015-04-17 | 2018-05-29 | Microsoft Technology Licensing, Llc | Locally restoring functionality at acceleration components |
US9792154B2 (en) | 2015-04-17 | 2017-10-17 | Microsoft Technology Licensing, Llc | Data processing system having a hardware acceleration plane and a software plane |
US10198294B2 (en) | 2015-04-17 | 2019-02-05 | Microsoft Licensing Technology, LLC | Handling tenant requests in a system that uses hardware acceleration components |
US9652327B2 (en) * | 2015-04-17 | 2017-05-16 | Microsoft Technology Licensing, Llc | Restoring service acceleration |
US9703973B2 (en) | 2015-04-28 | 2017-07-11 | International Business Machines Corporation | Customer load of field programmable gate arrays |
US10216555B2 (en) | 2015-06-26 | 2019-02-26 | Microsoft Technology Licensing, Llc | Partially reconfiguring acceleration components |
US10262164B2 (en) | 2016-01-15 | 2019-04-16 | Blockchain Asics Llc | Cryptographic ASIC including circuitry-encoded transformation function |
US10372943B1 (en) | 2018-03-20 | 2019-08-06 | Blockchain Asics Llc | Cryptographic ASIC with combined transformation and one-way functions |
US10404454B1 (en) | 2018-04-25 | 2019-09-03 | Blockchain Asics Llc | Cryptographic ASIC for derivative key hierarchy |
US20230288477A1 (en) * | 2022-03-14 | 2023-09-14 | Duke University | Dynamic scan obfuscation for integrated circuit protections |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1384936A (zh) * | 1999-10-26 | 2002-12-11 | 西门子公司 | 为了检查目的具有二重核心逻辑电路和硬件故障输入的集成电子组件 |
EP1416664A2 (en) * | 2002-10-29 | 2004-05-06 | Hai-O Informtech Sdn Bhd | Data encryption method |
TW200428846A (en) * | 2003-06-11 | 2004-12-16 | Hewlett Packard Development Co | Content encryption using programmable hardware |
US7106860B1 (en) * | 2001-02-06 | 2006-09-12 | Conexant, Inc. | System and method for executing Advanced Encryption Standard (AES) algorithm |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US59369A (en) * | 1866-11-06 | Improvement in machines for bending wooden hoops | ||
JP3783800B2 (ja) * | 1996-08-09 | 2006-06-07 | 富士通株式会社 | プログラマブルな論理素子/装置を用いた暗号化/復号化装置および方法 |
US7240218B2 (en) | 2000-02-08 | 2007-07-03 | Algotronix, Ltd. | Method of using a mask programmed key to securely configure a field programmable gate array |
US7266703B2 (en) | 2001-06-13 | 2007-09-04 | Itt Manufacturing Enterprises, Inc. | Single-pass cryptographic processor and method |
GB0114317D0 (en) * | 2001-06-13 | 2001-08-01 | Kean Thomas A | Method of protecting intellectual property cores on field programmable gate array |
US7237262B2 (en) | 2002-07-09 | 2007-06-26 | Itt Manufacturing Enterprises, Inc. | System and method for anti-replay processing of a data packet |
JP4294514B2 (ja) * | 2004-03-05 | 2009-07-15 | シャープ株式会社 | 半導体装置および電子装置 |
US20060059369A1 (en) | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | Circuit chip for cryptographic processing having a secure interface to an external memory |
US20060059574A1 (en) | 2004-09-10 | 2006-03-16 | International Business Machines Corporation | System for securely configuring a field programmable gate array or other programmable hardware |
US7788502B1 (en) * | 2005-03-10 | 2010-08-31 | Xilinx, Inc. | Method and system for secure exchange of IP cores |
-
2007
- 2007-12-05 US US11/987,887 patent/US9866370B2/en active Active
-
2008
- 2008-12-05 TW TW097147478A patent/TWI450232B/zh active
- 2008-12-05 WO PCT/US2008/013464 patent/WO2009073227A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1384936A (zh) * | 1999-10-26 | 2002-12-11 | 西门子公司 | 为了检查目的具有二重核心逻辑电路和硬件故障输入的集成电子组件 |
US7106860B1 (en) * | 2001-02-06 | 2006-09-12 | Conexant, Inc. | System and method for executing Advanced Encryption Standard (AES) algorithm |
EP1416664A2 (en) * | 2002-10-29 | 2004-05-06 | Hai-O Informtech Sdn Bhd | Data encryption method |
TW200428846A (en) * | 2003-06-11 | 2004-12-16 | Hewlett Packard Development Co | Content encryption using programmable hardware |
Also Published As
Publication number | Publication date |
---|---|
TW200935369A (en) | 2009-08-16 |
US9866370B2 (en) | 2018-01-09 |
WO2009073227A1 (en) | 2009-06-11 |
US20090147945A1 (en) | 2009-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI450232B (zh) | 可規劃加密裝置及加密方法 | |
Trimberger et al. | FPGA security: Motivations, features, and applications | |
JP6067449B2 (ja) | 情報処理装置、情報処理プログラム | |
EP3462353B1 (en) | Network interface device and method | |
US8484486B2 (en) | Integrated cryptographic security module for a network node | |
EP1964016B1 (en) | Secure system-on-chip | |
US9674164B2 (en) | Method for managing keys in a manipulation-proof manner | |
CN104025500A (zh) | 使用在物理上不可克隆的函数的安全密钥存储 | |
JP2009521154A (ja) | セキュア・システム・オン・チップ | |
JPH10154976A (ja) | タンパーフリー装置 | |
JP2007243671A (ja) | 論理プログラマブルデバイス保護回路 | |
JP2007310688A (ja) | マイクロコンピュータおよびそのソフトウェア改竄防止方法 | |
Kashyap et al. | Compact and on-the-fly secure dynamic reconfiguration for volatile FPGAs | |
US10713392B2 (en) | Network interface device and method | |
Nisarga et al. | System-level tamper protection using MSP MCUs | |
CN110932853B (zh) | 一种基于可信模块的密钥管理装置和密钥管理方法 | |
WO2021148461A1 (en) | A system and a method for secure data transfer using air gapping hardware protocol | |
Kleber et al. | Secure execution architecture based on puf-driven instruction level code encryption | |
TWI820434B (zh) | 參數檢查系統及參數檢查方法 | |
KR20190058302A (ko) | 반도체 장치, 인증 시스템 및 인증 방법 | |
Mohammad et al. | Required policies and properties of the security engine of an SoC | |
JP2022109024A (ja) | 車両制御システム | |
Peterson | Developing tamper-resistant designs with Zynq ULTRASCALE+ devices | |
Peterson | Developing tamper-resistant designs with ultrascale and ultrascale+ FPGAs | |
Albartus* et al. | On the Malicious Potential of Xilinx’s Internal Configuration Access Port (ICAP) |