TW202328956A - 使用域定向屏蔽之效能及安全資料處理 - Google Patents

使用域定向屏蔽之效能及安全資料處理 Download PDF

Info

Publication number
TW202328956A
TW202328956A TW111147291A TW111147291A TW202328956A TW 202328956 A TW202328956 A TW 202328956A TW 111147291 A TW111147291 A TW 111147291A TW 111147291 A TW111147291 A TW 111147291A TW 202328956 A TW202328956 A TW 202328956A
Authority
TW
Taiwan
Prior art keywords
registers
stage
galois field
input
box
Prior art date
Application number
TW111147291A
Other languages
English (en)
Other versions
TWI845059B (zh
Inventor
皮爾明 羅伯特 沃格爾
Original Assignee
美商谷歌有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商谷歌有限責任公司 filed Critical 美商谷歌有限責任公司
Publication of TW202328956A publication Critical patent/TW202328956A/zh
Application granted granted Critical
Publication of TWI845059B publication Critical patent/TWI845059B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

本發明揭示用於使用域定向屏蔽之效能及安全資料處理之技術、設備及系統。在態樣中,使用域定向屏蔽之效能及安全資料處理使電路資源(例如正反器、資料)能夠在一積體電路(IC)之不同部分之間共用。明確而言,一先進加密標準(AES)置換盒(S盒)之一級內之一伽羅瓦域(GF)乘法器之一輸入暫存器及一管線暫存器可實施為共用一單一正反器。一些IC可利用多個S盒,包含每當更新輸入時被提供隨機性之多個GF乘法器。在此情況中,來自一第一S盒之一先前級之一輸出可作為隨機性提供至一第二S盒之一後續級以限制對熵產生電路系統之需要。依此方式,使用域定向屏蔽之效能及安全資料處理可降低電路成本及電路面積且不影響安全性。

Description

使用域定向屏蔽之效能及安全資料處理
電子裝置通常包含實現各種功能之至少一個積體電路(IC)。為安全執行一些此等功能,一電子裝置可儲存或操作限制於IC內之某些存取等級之秘密資訊。一攻擊者可嘗試未授權存取此秘密資訊以洩露或更改IC之操作。然而,防止IC之未授權存取之既有方法通常很昂貴且具空間挑戰性。
本發明揭示用於使用域定向屏蔽之效能及安全資料處理之技術、設備及系統。在態樣中,使用域定向屏蔽之效能及安全資料處理使電路資源(例如正反器、資料)能夠在一積體電路(IC)之不同部分之間共用。明確而言,一先進加密標準(AES)置換盒(S盒)之一級內之一伽羅瓦域(GF)乘法器之一輸入暫存器及一管線暫存器可實施為共用一單一正反器。術語「先進加密標準(AES)」係指由美國國家標準與技術研究院(NIST)在2001年建立之用於電子資料加密之一規範。一些IC可利用多個S盒,包含每當更新輸入時被提供隨機性之多個GF乘法器。在此情況中,來自一第一S盒之一先前級之一輸出可作為隨機性提供至一第二S盒之一後續級以限制對熵產生電路系統之需要。依此方式,使用域定向屏蔽之效能及安全資料處理可降低電路成本及電路面積且不影響安全性。
描述一種IC,其包含一AES S盒。該AES S盒包含一第一級,其包含:一經屏蔽GF乘法器;至少兩個輸入暫存器,其等至該經屏蔽GF乘法器;及至少兩個管線暫存器,其等自該第一級至該AES S盒之一第二級。實施一第一正反器,其經組態以對一第一對暫存器進行操作,該第一對暫存器包含至該經屏蔽GF乘法器之該至少兩個輸入暫存器之一第一輸入暫存器及自該第一級至該第二級之該至少兩個管線暫存器之一第一管線暫存器。亦實施一第二正反器,其經組態以對一第二對暫存器進行操作,該第二對暫存器包含該至少兩個輸入暫存器之一第二輸入暫存器及該至少兩個管線暫存器之一第二管線暫存器。
描述另一種IC,其包含至少兩個AES S盒。一第一AES S盒包含一先前級,其包含一第一GF乘法器,其中一第一GF乘法器之一輸出耦合至該至少兩個AES S盒之一額外先進AES S盒之一後續級內之一第二GF乘法器之一隨機性輸入。
亦描述一種用於使用所揭示IC之一或多者執行密碼操作之方法。
提供本[發明內容]來介紹用於實施使用域定向屏蔽之效能及安全資料處理之簡化概念。下文在[實施方式]中進一步描述簡化概念。本[發明內容]不意欲識別主張標的之基本特徵,且亦不意欲用於判定主張標的之範疇。
一般而言,攻擊者可使用各種方法來擷取關於一IC之密碼程序之特許資訊。例如,旁通道分析(SCA)可用於藉由量測(例如)操作中之一IC之功耗、電磁放射、填充操作或定時行為來提取秘密資產(例如密鑰)。在一些情況中,SCA可為有效的,因為此等通道(例如一IC之功耗、電磁放射、填充操作或定時行為)取決於由IC產生及/或處理之中間值。
為減輕SCA,可實施布林屏蔽以使此等通道獨立於由積體電路產生及/或處理之真值。在態樣中,藉由隨機化在電路執行中產生之中間值來執行布林屏蔽。依此方式,通道儘管仍資料相依,但可指示隨機化資料而非實際真中間值,且攻擊者無法自SCA判定任何有用資訊。在一個實例中,可在一函數上執行布林屏蔽。明確而言,可複製一函數以並行產生函數之兩個副本,其中函數之各副本對掩碼或經屏蔽資料進行操作。在其他實施方案中,可藉由按時間分離操作來在函數之一單一例項上運行兩個操作。
在任一實施方案中,一屏蔽值(例如掩碼)可添加至輸入值且在函數之一次執行中被處理。亦可在函數之另一執行中單獨處理掩碼。在函數回傳兩個操作之值之後,函數之輸出(例如,來自掩碼及經屏蔽資料)可經組合(例如,求和)以產生真輸出。當被提供輸入值時,此求和程序產生函數之真輸出,因為在常用於密碼塊中之伽羅瓦/有限域算術中,兩個元素之加法逆元係元素本身。例如,一加運算可被視為一減運算,使得一元素與本身求和係零。然而,此程序僅在用於處理資料之函數係一線性運算時有效。
當函數係一非線性運算時,需要特殊處理來實施布林屏蔽。明確而言,需要混合輸入值及掩碼,因為掩碼及輸入不再能夠個別處理。自一SCA之角度看,處理混合資料會帶來設計困難且需要新隨機性來執行重新屏蔽。在一簡單非線性屏蔽實施方案中,使用一經屏蔽AND閘自Ax、Ay、Bx及By運算Aq及Bq。明確而言,A可表示經屏蔽資料且B可表示掩碼。(如下文相對於圖4所提及,下標「x」係指一輸入且下標「y」指示一輸出。下標q表示混合資料。)。在態樣中,此實施方案可算術描述為Aq+Bq=(Ax+Bx)*(Ay+By)。在圖1A中,繪示一階經屏蔽乘法器10。在此簡單實施方案中,四個AND閘12用作輸入14上之乘法器。在使用最後兩個XOR閘18將結果整合回一起之前,在重新共用步驟中(例如,經由XOR閘16)將新隨機性(Z0)添加至一中間結果。因為功耗仍取決於輸出值(例如Aq+Bq)或所處理之資料(例如Ax、Ay),所以電路操作內之某些事件可允許一個體透過SCA判定關於IC之資訊。
例如,在一IC中(例如,在Bx處)可發生突波,其中一電壓歸因於信號之暫態效應而自一高值下降至一低值(例如,一位元翻轉)且返回。突波通常可發生於數位電路中,因為諸多實施方案僅界定信號在時脈週期結束時穩定。因此,各週期內可發生中間變化(例如突波)。通常,此等突波可導致取決於資料真值之一功率簽名。例如,一突波可發生於Bx處(例如,Bx自1下降至0且接著回到1)。由於突波,閘切換之次數取決於其他輸入之值,如下表1相對於不同輸入值所展示。
y Ay By AND XOR 總計
0 0 0 0 0 0
1 0 1 1 1 2
1 1 0 1 2 3
0 1 1 2 2 4
表1:邏輯閘上之突波效應之實例
自表1可見,總閘翻轉次數唯一取決於y值,使得y值或Ay及By值可自閘翻轉次數判定,其繼而影響功率簽名。
為最小化突波對功率簽名之效應,可在函數內插入正反器及/或暫存器來控制信號之暫態效應。圖1A中繪示一階域定向經屏蔽乘法器20。如所繪示,正反器及/或暫存器22可添加於接收作為輸入Ax及Ay之一AND閘之輸出處及接收作為輸入Bx及By之一AND閘之輸出處。正反器及/或暫存器22亦可添加於中間XOR閘(例如XOR閘16)之輸出處。因此,新隨機性(Z0)經添加至AND閘之結果。此外,藉由將此等正反器及/或暫存器22定位於電路中之特定位置處,電路自一經屏蔽電路變換為一域定向經屏蔽電路(例如一階域定向經屏蔽乘法器20)。藉由在一正反器及/或暫存器22放置於電路中之後分析突波效應,可看出突波不再影響功率簽名,使得其取決於資料之真值。
然而,在現代電路中,邏輯合成工具可嘗試最佳化一電路之設計以需要最少量之電路面積、操作或功率。依此方式,一合成工具可最佳化去除用於預防SCA之一電路之整體部分。例如,一合成工具可使在中間值整合在一起之後執行之正反器移位,藉此允許共用來自函數之不同副本之正反器且將所需正反器自四個減少至兩個。儘管此最佳化可產生正確值,但其亦可引起旁通道洩漏,其在出現突波時產生取決於真值之一功率簽名或其他通道簽名。為消除合成工具最佳化去除SCA保護之能力,需要停用在合成(例如電路合成工具)期間自動執行之電路最佳化。
藉由停用電路合成工具以抵抗安全軟化,一電路無法執行減小電路面積及降低電路成本之有價值最佳化。為此,判定可在電路設計中實施之密碼安全電路最佳化以節省成本及空間且不增加成功密碼攻擊之風險可為有價值的。在態樣中,用於使用域定向屏蔽之效能及安全資料處理之技術、設備及系統使電路資源能夠依一密碼安全方式共用。
為實現上述密碼功能,諸多IC包含密碼模組或密碼IC。一些IC可實施依賴隨機性以透過安全電路系統實施安全功能之一先進加密標準(AES)單元。此安全電路系統之一個實例係一置換盒(S盒)。一S盒可用於加密/解密用於密碼操作中之資料或密鑰。S盒可利用域定向屏蔽,因為其對敏感資訊進行操作,敏感資訊若(例如)透過SCA釋放給一攻擊者,則可損害IC。因而,S盒可透過密碼安全最佳化來改良。
S盒由包含伽羅瓦域(GF)乘法器之數個級組成。各GF乘法器可自位於上游之輸入暫存器接收多個輸入(例如掩碼及經屏蔽資料)。此等輸入暫存器可用於控制資料向GF乘法器之釋放。類似地,各級可包含將資料自一先前級提供至一後續級之一或多個管線暫存器。在一些S盒設計中,輸入暫存器及管線暫存器之各者可耦合至控制信號內突波之發生之一單獨正反器。然而,用於使用域定向屏蔽之效能及安全資料處理之技術、設備及系統可利用一共用正反器來控制自暫存器釋放之資料中突波之發生,因為保存於輸入暫存器及對應管線暫存器中之值可為相同的。依此方式,可針對一輸入暫存器及一管線暫存器之各對自S盒設計移除一單一正反器,藉此減小電路面積且降低電路成本。
儘管上文討論各S盒內部之最佳化,但技術可擴展至多個S盒之間的最佳化。一般而言,諸多AES單元包含使更複雜操作能夠在更短時間內完成之多個S盒。在執行期間,每當更新乘法器之輸入時,需要向各S盒之一GF乘法器提供新隨機性(或偽隨機性)。若不遵循此要求,則AES單元之操作會變得確定且可發生旁通道洩漏。為遵守此要求,S盒通常包含向各乘法器精確提供熵之隨機性產生電路及緩衝邏輯,乘法器在諸多情況中需要大型且昂貴電路系統。
與此等方法相比,使用域定向屏蔽之效能及安全資料處理可利用來自一第一S盒之一先前級之一輸出作為一第二S盒之一後續級中之隨機性。例如,多個S盒可經通信地耦合使得指示自一第一S盒輸出之掩碼輸出或經屏蔽資料之資料可連接至一第二S盒之一隨機性輸入。藉由將一先前級之一輸出鏈接至一後續級之一輸入,可僅在後續級中更新乘法器之輸入時由先前級提供隨機性,如密碼安全操作所需。藉此,可自S盒移除昂貴隨機性產生/分佈電路且不影響密碼保證。
應注意,此等僅係本發明中所描述之使用域定向屏蔽之效能及安全資料處理之幾個實例,且下文將描述其他實例。本發明現將轉向一實例性操作環境及接著安全電路系統之實例之一描述,包含一AES單元及其一或多個S盒、用於利用使用域定向屏蔽之效能及安全資料處理之各種技術及能夠實施使用域定向屏蔽之效能及安全資料處理之一實例性電子裝置。
圖1B繪示包含其中可實施使用域定向屏蔽之效能及安全資料處理之態樣之一設備102之一實例性環境100。設備102可實施為任何適合裝置(例如電子裝置),其中一些經繪示為一智慧型電話102-1、一平板電腦102-2、一膝上型電腦102-3、一遊戲控制台102-4、一桌上型電腦102-5、一伺服器電腦102-6、一可穿戴運算裝置102-7 (例如智慧型手錶)及一寬頻路由器102-8 (例如行動熱點)。儘管未展示,但設備102亦可實施為以下之任何者:一行動站(例如固定或行動STA)、一行動通信裝置、一用戶端裝置、一使用者設備、一行動電話、一娛樂裝置、一行動遊戲控制台、一個人媒體裝置、一媒體回放裝置、一健康監測裝置、一無人機、一攝影機、能夠無線網際網路存取及流覽之一網際網路家用電器、一IoT裝置及/或其他類型之電子裝置。設備102可提供其他功能或包含為了清楚或視覺簡潔而自圖1B省略之組件或介面。
設備102包含利用一或多個處理器106及電腦可讀媒體(CRM 108)之一IC 104,CRM 108可包含記憶體媒體或儲存媒體。處理器106可實施為(例如一多核中央處理單元(CPU)或應用處理器(AP)之)一通用處理器、一專用積體電路(ASIC)、圖形處理單元(GPU)或其中整合設備102之其他組件之一單晶片系統(SoC)。CRM 108可包含任何適合類型之記憶體媒體或儲存媒體,諸如唯讀記憶體(ROM)、可程式化ROM (PROM)、隨機存取記憶體(RAM)、動態RAM (DRAM)、靜態RAM (SRAM)或快閃記憶體。在此討論之內文中,設備102之電腦可讀媒體108經實施為不包含暫態信號或載波之至少一個基於硬體或實體儲存裝置。設備102之應用程式、韌體及/或一作業系統(未展示)可作為處理器可執行指令體現於電腦可讀媒體108上,處理器可執行指令可由處理器106執行以提供本文中所描述之各種功能。電腦可讀媒體108亦可儲存裝置資料110,諸如可透過設備102之應用程式、韌體或作業系統存取之使用者資料或使用者媒體。
在此實例中,IC 104含有安全電路系統112。設備102、IC 104或安全電路系統112可實施一安全密碼處理器。安全電路系統112可使用一或多個電路組件114 (例如電路組件114-1至電路組件114-n)來實施。電路組件114可經組織以執行任何數目個操作以啟用設備102之功能。電路組件之實例包含圖2中所描述之一處理器及多個功能組件。安全電路系統112可實現為(例如)一受保護隔區、一可信晶片平台、一基於硬體之信任根(RoT)晶片(例如一矽RoT)等等。不論安全電路系統112如何或在何處併入至一電子裝置中,安全電路系統112可對抗諸多不同類型之攻擊。
安全電路系統112可包含可執行IC 104之密碼操作之一或多個AES單元116。在態樣中,AES單元116可實施包含一或多個暫存器120之一或多個S盒118。S盒118可用於執行密碼操作,例如加密資料或解密資料之一操作。作為非限制性實例,資料可為影像資料(例如,由一攝影機或視訊攝影機捕捉)或聲音資料(例如,由一麥克風捕捉)。在一個實例中,S盒118可用於產生一私鑰/公鑰對。公鑰經由收發器126及/或I/O埠128自設備102傳輸出。私鑰可用於解密由設備102經由收發器126及/或I/O埠128接收且使用公鑰加密之資料(例如影像/聲音資料)。替代地或另外,諸如影像或聲音資料之資料可使用私鑰雜湊以產生一雜湊摘要,且資料及雜湊摘要可經由收發器126及/或I/O埠128自設備102傳輸出,使得雜湊摘要用作一第三方可使用公鑰驗證之資料之一簽名。
在另一實例中,AES單元116可對由IC 104操作之資料執行布林屏蔽及重新屏蔽操作。AES單元116可處理用於確保IC 104適當使用及執行之裝置秘密,例如密碼密鑰或其他特許資訊。為保護由AES單元116處理之特許資訊,可執行密碼安全操作以預防會洩露裝置秘密或關於IC 104之資訊之各種攻擊。相對於圖3更詳細描述AES單元116之實例性操作。
S盒118或AES單元116可根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣來實施。技術可利用密碼安全最佳化來降低電路成本及電路面積且不產生安全漏洞。將相對於圖4至圖6更詳細描述使用域定向屏蔽之效能及安全資料處理之一或多個態樣。
如所展示,安全電路系統112耦合至一互連件122。互連件122可使用(例如)使各種電路組件能夠通信之一匯流排、一交換結構或一匯流排網路來實現。電路元件之各者可直接或間接耦合至互連件122。
設備102亦可包含一顯示器124、收發器126、輸入/輸出埠(例如I/O埠128)及/或感測器130。顯示器124可與處理器106之一者(例如圖形處理單元(GPU))可操作地耦合且經組態以用圖形呈現設備102之一作業系統或應用程式。收發器126可經組態以能夠根據任何適合通信協定通過有線或無線網路進行資料(例如裝置資料110)之有線或無線通信。設備102之I/O埠128可包含通用串列匯流排(USB)埠、同軸電纜埠及用於將設備102耦合至各種組件、周邊裝置或附件(諸如鍵盤、麥克風或攝影機)之其他串列或並列連接器(包含內部連接器)。
設備102亦包含感測器130,其等使設備102能夠感測設備102在其中操作之一環境之各種性質、變化、刺激或特性。例如,感測器130可包含各種運動感測器、環境光感測器、聲感測器、電容感測器、紅外感測器、溫度感測器、雷達感測器或磁感測器。在態樣中,感測器130通常可用於一般針對S盒118或AES單元116產生熵。替代地或另外,感測器130可實現與設備102之一使用者互動或自設備102之一使用者接收輸入,諸如透過觸摸感測或近接感測。
圖2繪示包含可經實施以支援使用域定向屏蔽之效能及安全資料處理之態樣之多個電路組件(包含多個實例性電路組件114)之實例性安全電路系統112之一實例性實施方案200。如所展示,安全電路系統112包含耦合至一互連件122之一處理器106。處理器106、多個記憶體及多個其他電路組件114之各者可直接或間接耦合至互連件122。在態樣中,圖2之組件可體現為實施一RoT及/或其他安全密碼特徵之一安全運算平台或一安全SoC。
在實例性實施方案中,多個記憶體可包含一唯讀記憶體(ROM 202)、一靜態隨機存取記憶體(SRAM 204)及一快閃記憶體206。在態樣中,ROM 202、SRAM 204或快閃記憶體206可在安全電路系統112內或在CRM (例如CRM 108)內實施。多個電路組件114可包含一警報處理器208、一AES單元116、一基於雜湊之訊息認證碼(HMAC)引擎(HMAC引擎210)及一串列周邊介面(SPI)裝置(SPI裝置212)。多個電路組件114亦可包含一通用非同步接收器/傳輸器(UART)單元(UART單元214)、一通用輸入/輸出(GPIO)介面(GPIO介面216)、一接針多工器(pin mux 218)及一墊控制器220。多個電路組件114可進一步包含一隨機數產生器(RNG 222)及一計時器224。另外,電路組件114可包含任何記憶體,如圖2中所展示。儘管記憶體及其他電路組件114之某些實例在圖2中描繪或在本文中描述,但安全電路系統112之一給定實施方案可包含處理器、控制器、記憶體、模組或周邊裝置之更多、更少及/或不同例項,包含其複製品。
所繪示之電路組件可基於一或多個時脈信號同步操作。儘管圖2中未展示,但安全電路系統112可包含用於產生時脈信號之至少一個時脈產生器或可包含用於彼此獨立地重設一或多個個別組件、聯合重設多個組件或重設一整個IC晶片之重設電路系統。替代地,安全電路系統112可自安全電路系統112外部之一源接收至少一個時脈信號或一重設信號,該源可或可不在一單獨晶片上。一或多個單獨電路組件114可在各自個別時脈域中操作。例如,電路組件可與一各自組件本地之一時脈同步。不同時脈域中之組件可相對於彼此非同步操作或通信。
下文描述所繪示之電路組件114之實例性實施方案。處理器106可實現為安全電路系統112之一「主」、「中央」或「核心」處理器。僅舉例而言,處理器106可用具有一多級管線之一32位元、依序精簡指令集運算(RISC)核心實施。例如,利用一RISC-V功能,處理器可實施一M (機器)及U (使用者)模式。啟動一重設接針(未展示)(例如,透過解除確證一低態有效重設接針)引起處理器106退出重設且開始在其重設向量處執行代碼。重設向量可在ROM 202中開始,ROM 202在跳轉至模擬嵌入式快閃記憶體(e快閃記憶體)之前驗證e快閃記憶體中之代碼。換言之,在釋放重設之前,預期代碼已實例化至e快閃記憶體中。在一些情況中,可根據一兼容性規範使整個安全電路系統112之重設非同步低態有效以支援各種電路組件之間的互用性。一重設可由作為一安全對策之警報處理器208、一看門狗計時器等等產生。亦可將重設信號發送至其他電路組件,諸如記憶體之一者或其他電路組件114之一者。
一調試模組226 (DM)及一中斷控制器228 (ItC)耦合至處理器106,調試模組226及中斷控制器228之任一者亦可為兼容的。調試模組226提供對處理器106之調試存取。藉由與IC之某些接針介接,調試模組226中之邏輯允許處理器106進入一調試模式且提供將代碼注入至裝置中(例如,藉由模擬一指令)或注入至一記憶體中之能力。中斷控制器228可安置於處理器106接近處。中斷控制器228可接受來自安全電路系統112內之中斷源之一向量。中斷控制器228亦可在將中斷轉發至處理器106用於處理之前給中斷指派均衡及優先權。
處理器106可提供任何所要效能位準或包含任何內部電路組件。例如,處理器106可包含至少一個算數邏輯單元(ALU)(例如,包含用於計算分支目標以移除所採用之條件分支上之一延時週期之一「額外」ALU)及多個管線級。利用多個管線級,一管線可執行暫存器回寫以減少載入及儲存之一延時週期且防止一管線暫停,其中在請求之後的週期中可取得對一載入或儲存之一回應。處理器106可實施一單週期乘法器或對一儲存之一錯誤回應產生一不精確異常,其允許處理器在不等待回應之情況下跳過儲存繼續執行。儘管未描繪,但明確而言,處理器106或一般而言,安全電路系統112可包含一指令快取記憶體以提供指令之單週期存取時間。
在所繪示之實例200中,安全電路系統112之組件包含或可存取指令及資料之三個記憶體位址空間。在釋放一重設之後,ROM 202係處理器106之目標。ROM 202含有用於在檢查下一級代碼之前執行平台檢查之一子集之硬編碼指令。代碼之下一級(例如儲存於e快閃記憶體中之一啟動載入程式)可為未硬編碼至裝置之矽中之第一段代碼。因此,下一級之代碼經簽名完整性檢查以提高安全性。ROM 202可藉由對啟動載入程式之全部內容實施里維斯-沙米爾-阿德爾曼檢查(RSA檢查)演算法來執行此簽名檢查。
快閃記憶體206可實施為用於代碼儲存之e快閃記憶體。此e快閃記憶體可收容本文中所提及之啟動載入程式以及層疊於頂部上之作業系統及應用程式。SPI裝置212可用於批量載入e快閃記憶體。調試模組226亦可用於代碼載入。SRAM 204可操作為可用於處理器106之資料儲存(例如,用於堆疊及堆集資訊)之一高速暫存SRAM。SRAM 204亦可儲存代碼。
安全電路系統112可包含電路組件114,其等可為經由互連件122耦合至處理器106之從屬執行單元。此等電路組件114之各者可遵循確保彼此兼容及與處理器106兼容之一介面框架。一兼容性方案可指定處理器106如何與一給定電路組件通信(例如,使用互連件122)、一電路組件如何與處理器106通信(例如,使用中斷)、一電路組件如何將安全事件(例如,使用警報指示)傳送至其他電路組件(如警報處理器208)、一電路組件如何與周邊裝置通信(例如,透過一晶片I/O)或其等之組合。所描繪之電路組件114可包括相對於由警報處理器208提供之警報相關功能、相對於處理器106、相對於一或多個記憶體、相對於一晶片I/O等等之電路組件。因此,記憶體亦可包括相對於彼此之電路組件114或其他所描繪電路組件。
電路或晶片I/O包含接針多工器218及墊控制器220。接針多工器218在電路組件114之至少一部分與安全電路系統112之可用可多工I/O節點(例如其中整合各種組件之晶片之接針或一SoC之其他部分之一介面)之間提供信令路由。墊控制器220管理電路組件之各者之控制或墊屬性,如驅動強度、技術、上拉對下拉及其類似者。接針多工器218及墊控制器220本身可為互連件122上之周邊裝置。因此,各者可具有或可依其他方式與提供軟體可組態性之至少一個暫存器集合相關聯。
UART單元214可實施UART特徵,諸如單通道雙工UART功能。其輸出及輸入可經組態以經由接針多工器218連接至任何電路I/O。GPIO介面216經由接針多工器218產生至外部電路系統之雙向通信之G個位元,其中G係如16、32或64之一正整數。有關記憶體I/O,SPI裝置212可實施一韌體模式。此處,韌體模式可啟用提供外部驅動器將韌體升級代碼發送至快閃記憶體206之一記憶庫中以進行域內韌體更新之能力之一特徵。韌體模式可包含使用SPI事務定址記憶體。儘管未描繪,但安全電路系統112可包含一積體電路間(I2C)主機以啟用I2C裝置之命令。此I2C裝置命令可包含標準、全及快速模式。
亦描繪包含加密引擎及警報處理器208之若干「核心安全」組件。可如參考圖1所描述般實施之AES單元116 (例如圖2中之密碼IP區塊116)可提供各種對稱加密及解密功能,諸如藉由使用一或多個協定及/或變化密鑰大小,如128b、192b或256b。在態樣中,根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣,AES單元116可包含一或多個S盒118及其暫存器120。組件可選擇達到(例如) 16位元組數量之資料之加密或解密以使用不同區塊密碼操作模式加密或解密。AES單元116可支援電子碼本(ECB)模式、密碼區塊鏈接(CBC)模式、密碼回饋(CFB)模式、輸出回饋(OFB)模式、計數器(CTR)模式及其類似者。可使資料傳送為處理器可用的,例如,密鑰及資料材料可經由暫存器寫入來傳遞至密碼引擎中。替代地,可包含用於傳送密鑰及資料材料之私用通道以減少暴露於潛在不可信處理器活動。
HMAC引擎210可利用(例如)一安全雜湊演算法(SHA) SHA-256作為一雜湊演算法。SHA-256係SHA-2雜湊演算法家族之一成員,其中摘要(或雜湊輸出)係256b長,不論待雜湊之輸入之資料大小如何。在宣告一雜湊請求開始之後,資料發送至HMAC引擎210中。此將內部狀態歸零至初始狀態,例如一次32b。一旦一組件用戶端發送資料,則用戶端可指示雜湊請求完成(使用選用部分字最終寫入)。根據一實例性兼容性介面方案,HMAC引擎210產生雜湊結果且使其可用於由請求用戶端讀取之暫存器。可使資料傳送為處理器可用的或可使其私用以減少暴露於潛在不可信處理器活動。
HMAC係層疊於一雜湊函數(例如SHA-256)之頂部上之一訊息認證協定,且HMAC出於密碼目的在一秘密密鑰中混合。HMAC係依一規定方式圍繞訊息之雜湊(經由SHA-256)附加秘密密鑰之一特定應用,諸如兩次。為提供此功能,可在訊息雜湊開始之前將一256b密鑰程式化至電路組件中。認證完成之時間可變動且可比使用原生SHA-256延時更長。此處,為了方便或處理效率,可使雜湊資訊或秘密密鑰為處理器可用的,或可依一些方式使其私用以提高安全性。
警報處理器208負責處理及回應警報,包含自其他電路組件114提供之警報。警報可被視為應及時處理以回應一感知安全威脅之安全敏感中斷。不同於「標準」中斷,警報不能僅由在處理器106上執行之軟體處理。警報可觸發一第一級請求以由軟體處理為一「常規」中斷。然而,若軟體無法回應且適當補救警報觸發中斷,則警報處理器208觸發一第二級回應。第二級回應可包含制定一安全對策,包含終止一程序、擦除或依其他方式刪除資料、自一電路部分撤電或重設一IC晶片或其部分。此確保潛在問題(感知安全威脅)解決,即使處理器106忙碌、被卡住或亦受到攻擊。
因此,一警報可實施為警報處理器208自其他電路組件接收且指示一潛在安全威脅之一升高中斷類型信號或警報指示。在操作中,警報處理器208可自安全電路系統112之其他電路組件114收集警報且將其轉換成處理器106可解決之中斷。然而,若處理器106無法清除中斷,則警報處理器208提供硬體回應以解決潛在安全威脅。
安全電路系統112亦可包含RNG 222。一般而言,隨機性可藉由提供執行變動使得攻擊者無法預測發動一攻擊之好時機來促成安全功能。例如,一隨機數可提供用於身份及密碼目的之秘密材料。RNG 222可經晶種至演算運算中以模糊敏感資料值。在態樣中,RNG 222可在熵產生程序中用於向AES單元116提供隨機性(或偽隨機性)(例如,用於屏蔽)。一般而言,RNG 222提供較佳效能,因為其數字產生越來越變得真隨機且在某種程度上其亦可經強化以抵禦攻擊。在一些密碼程序中,無需強隨機性保證。
RNG 222可實施為一「真」RNG (TRNG),其可涉及具有一類比部分來利用一些不確定實體事件或程序之一設計。實例性TRNG設計依賴亞穩態、電子雜訊、時序變動、熱雜訊、量子變動等等。TRNG過濾(若干)所得變數且將其發送至裝置可在一給定時間針對一當前隨機化函數進行取樣之一熵池中。在一些情況中,熵池之一介面可包含可用隨機位元之一讀取請求。TRNG介面指示有多少位元可用,且請求電路組件或軟體可自此池讀取至位元可用之範圍。嘗試讀取不可用之熵位元可觸發一中斷或一警報。
兩個其他電路組件114包含計時器224及一快閃控制器(未展示),後者在以下段落中描述。例如,計時器224可支援處理器106之準確執行。計時器224由多個位元(例如64個位元)形成且操作為一自由運行計時器且保證頻率在某個百分比內。計時器224可使電路組件114能夠判定執行操作之適當時間間隔。例如,AES單元116可根據計時器224 (例如,沿時脈週期)執行各種操作。另一計時器(未明確展示)可充當一看門狗計時器以在處理器變得無回應時增援處理器106。無回應可歸因於開發代碼被卡住、安全攻擊等等。
儘管未展示,但一快閃控制器可控制可用於代碼及資料儲存之快閃記憶體206。此資料之主要讀取路徑可在標準記憶體位址空間中。然而,可忽略對該位址空間之寫入,因為快閃記憶體並非依一標準方式寫入。相反地,為寫入至快閃記憶體206,軟體與快閃控制器互動。快閃功能可包含三個主要命令:讀取、擦除及程式化。讀取命令可經標準化且可使用晶片記憶體位址空間。擦除命令在一頁面級執行,其中頁面大小可由快閃控制器參數化。在接收一擦除請求之後,快閃控制器擦除目標頁面之內容,其使資料呈現為「1」狀態(例如每字0xFFFFFFFF)。其後,軟體可將個別字程式化為任何值。若無另一擦除,則一快閃位元無法返回至一「1」狀態,因此未來內容由當前內容與寫入值之一AND有效改變。擦除及程式化命令相對較慢。一典型擦除時間以毫秒量測,且程式化時間在微秒範圍內。安全性亦係一問題,因為秘密資料可儲存於快閃記憶體206中。因此,一些記憶體保護可由快閃控制器提供。
安全電路系統112在圖2中描繪為具有一組特定電路組件。然而,一給定安全電路系統可具有更多、更少或不同電路組件。電路組件亦可不同互連或依除本文中所描述之實例性方式之外的方式操作。此外,可省略一些電路組件,而在多個例項中實施其他電路組件。例如,警報處理器208可為複製或分散的,或在一些安全電路系統中可存在多個AES單元116。此外,針對其中安全電路系統112僅形成數十個核心中之一個核心之IC晶片,一GPIO介面216可自安全電路系統112之電路組件114省略。
在態樣中,任何電路組件114可包含執行組件之密碼操作之一密碼處理器230。在一些實施方案中,密碼處理器230與處理器106分離。在其他實施方案中,密碼處理器230在處理器106內實施。此外,任何電路組件114可包含其自身密碼處理器230 (或處理核心)以執行該組件之特定功能。
圖3繪示根據一或多個態樣之可實施使用域定向屏蔽之效能及安全資料處理之一實例性AES單元116。AES單元116可使用一或多個協定及如128b、192b或256b之不同密鑰大小來提供對稱加密及解密。組件可選擇達到(例如) 16位元組數量之資料之加密或解密以使用不同區塊密碼操作模式加密或解密。
在態樣中,AES單元116包含產生偽隨機性以判定一掩碼之一PRNG 316。掩碼使用布林屏蔽與輸入資料混合以產生經屏蔽資料。經屏蔽資料可經多工且儲存於一狀態暫存器302中以在一適當時間釋放至經屏蔽SubBytes 304。
在實施方案中,經屏蔽資料及掩碼兩者經多工且儲存於一狀態暫存器中。此外,當使用屏蔽時,狀態可包含經屏蔽資料及掩碼。例如,在圖3中,此由各具有兩個盒(例如,一個用於經屏蔽資料且一個用於掩碼)之區塊(例如狀態、全密鑰、解密密鑰310、ShiftRows 306、MixColumns 308)指示。經屏蔽SubBytes 304及經屏蔽KeyExpand 314具有一單一盒,因為其將經屏蔽資料及掩碼兩者處理/混合在一起。在額外實施方案中,可存在多個掩碼。
輸入資料可在經屏蔽SubBytes 304內經歷非線性運算。經屏蔽SubBytes 304可包含任何數目個S盒或GF乘法器且可實施域定向屏蔽。在態樣中,S盒之數目可對SCA抵抗、電路面積、每時脈週期及每S盒評估消耗之偽隨機位元數目及處理量產生高度影響。在態樣中,經屏蔽SubBytes 304可包含16個經屏蔽S盒。在SubBytes 304程序期間,輸入資料之一位元組可經置換及移位以產生一密碼安全方法以減少輸入位元與輸出位元之間的相關性。一或多個S盒評估之部分結果可經轉發至另一S盒用於重新屏蔽目的,如相對於圖6更詳細描述。在一些評估中,偽隨機性可由PRNG 316提供以執行重新屏蔽。一般而言,SubBytes 304經實施使得電路操作抵抗SCA。
儘管根據一經屏蔽實施方案來描述AES單元116,但可適當停用屏蔽,例如當使用AES單元116用於隨機數產生時。因此,停用屏蔽可包含未經屏蔽S盒實施方案。
經屏蔽資料接著可通過ShiftRows 306級,其中經屏蔽資料列在轉發程序期間移位。在ShiftRows 306級內,可使經屏蔽資料列(例如狀態陣列)圓移位以置亂輸入資料之位元組順序(例如,使用MUX)。經屏蔽資料接著可通過一MixColumn 308-1級,其中一行中之各位元組由相同行中之所有位元組之一函數替換(例如,使用互斥或(XOR)閘或MUX)。加密/解密可利用多個週期(或級)之操作。
AES單元116可使用密鑰來提供對稱加密及解密,且因此全密鑰資料可使用初始密鑰加密或使用一解密密鑰310加密。全密鑰可儲存於全密鑰暫存器312中以在一適當時間釋放至經屏蔽KeyExpand 314級。
在加密或解密期間,可在經屏蔽KeyExpand 314級由數個S盒及GF乘法器屏蔽及操作各自密鑰。如同經屏蔽SubBytes 304,經屏蔽KeyExpand 314級可由並行評估以依一密碼安全方式置換及移位資料之多個S盒組成。在一些實施方案中,經屏蔽KeyExpand 314級可執行比經屏蔽SubBytes 304更小之運算,且因此經屏蔽KeyExpand 314級可利用更少數目個S盒(例如四個S盒)。依此方式,AES單元116可包含S盒之單獨群組,各具有不同數目個S盒以高效執行不同大小之運算。不同群組之S盒可彼此分離或鏈接在一起。由KeyExpand 314級利用之S盒可依賴來自PRNG 316之熵以在各輪開始時執行一第一重新屏蔽操作且轉發來自S盒之先前評估之部分結果以重新屏蔽後續操作,如相對於圖6更詳細描述。
經屏蔽KeyExpand 314級之所得輸出可提供至一MixColumn 308-2級,其中執行類似於MixColumn 308-1級處之操作之操作。所得密鑰可接著與經屏蔽資料混合以產生加密或解密資料。AES單元116可依賴多個加密/解密週期且因此輸出可回饋至狀態暫存器302,且程序可迭代執行直至加密或解密程序之所有級完成。AES單元116可經設計使得其實施使用域定向屏蔽之效能及安全資料處理之一或多個態樣,此可利用密碼安全電路最佳化來減小實施AES單元116所需之面積或成本。
圖4繪示根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣之一S盒118-1之一實例性硬體組態。一般而言,一S盒歸因於其複雜性而特別難以預防SCA。如所繪示,S盒118-1包含五個管線級(例如級1 402、級2 404、級3 406、級4 408及級5 410)。應注意,存在可包含更多或更少級之其他S盒實施方案。例如,一S盒可包含八個級。
在各級處,將經屏蔽資料412 (A (表示為實線之載送經屏蔽資料之導線))及掩碼414 (B (表示為虛線之載送掩碼之導線))輸入至運算子(在圖4中,下標「x」繪示一輸入且下標「y」指示一輸出),例如GF乘法器416。
GF乘法器416用作複雜電路以對自輸入暫存器輸入至乘法器之資料執行運算。GF乘法器416可利用域定向屏蔽來保護S盒118-1免受旁通道洩漏。儘管為了簡單而未展示,但GF乘法器416可利用新隨機性(例如偽隨機性)來防止評估期間之旁通道洩漏,如相對於圖5更詳細討論。
應注意,為清楚起見,未展示個別輸入暫存器,然而,S盒118-1可在GF乘法器416之一或多個例項之前包含輸入暫存器(暫存器120之一實例)來儲存一輸入值,直至將值釋放至GF乘法器416之適當時間。級亦可包含將資料自一個管線級載送至下一管線級之管線暫存器(暫存器120之一實例)。
經屏蔽資料412及掩碼414透過一組線性運算子線性映射。在態樣中,經屏蔽資料412及掩碼414係8位元輸入,但其他實施方案可包含更大或更小輸入。如概述中所討論,線性映射輸出可暫時包含突波(例如,歸因於不同導線長度、閘延遲等等),其可引起資料變得易受SCA影響。為藉由控制信號中突波之存在來緩解此問題且確保安全性,可在級1 402處在輸入暫存器424 (例如至少兩個輸入暫存器)及管線暫存器422 (例如至少兩個管線暫存器,管線暫存器422-1、管線暫存器422-2、管線暫存器422-3及管線暫存器422-4)之前放置正反器(未展示)。相同資料可保存於輸入暫存器424及管線暫存器422中。因此,輸入暫存器424及對應管線暫存器422之各對可耦合至一共用正反器,藉此減少每對輸入暫存器424及管線暫存器422需要一單一正反器。
在級1 402中,經屏蔽資料412及掩碼414可由GF (2 4)乘法器416運算。因而,輸入暫存器424可包含四個輸入暫存器,各具有保存一相同值之一對應管線暫存器422。因此,藉由使此等暫存器對之各者共用一正反器,可節省四個正反器且不損壞SCA抵抗。
S盒118-1之各級可在一特定時脈週期上啟動。依此方式,管線暫存器422及輸出暫存器(例如,儲存自級1 402之GF乘法器416 (標量運算子)輸出之值)可儲存資料,直至級2 404開始操作。在級2 404之操作開始時,資料可自輸出暫存器及管線暫存器422釋放且提供至級2運算子或級2管線暫存器。來自輸出暫存器之資料可傳遞至管線暫存器426 (例如管線暫存器426-1、管線暫存器426-2)及輸入暫存器428。
在一些S盒設計中,輸入暫存器248及管線暫存器426之各者可耦合至消除傳遞至暫存器之信號之暫態效應之其自身正反器。假定輸入暫存器428 (例如至少兩個輸入暫存器)及管線暫存器426 (例如至少兩個管線暫存器)可儲存相同值,一單一正反器可由各對管線暫存器426及輸入暫存器428共用。明確而言,輸入暫存器428及管線暫存器426之各輸入暫存器/管線暫存器對可耦合至一共用正反器。在一些實施方案中,輸入暫存器428可包含四個暫存器,且管線暫存器426可包含四個暫存器。因而,在級2 404中,可自S盒118-1消除四個正反器。如上文所描述,使用域定向屏蔽之效能及安全資料處理可減小實施S盒之級1 402及級2 404所需之電路面積。在態樣中,此最佳化可使S盒之總電路面積減小約10%。
級2運算子之輸出可在級3 406中組合及反相。此資料接著可與來自管線暫存器426-2之資料一起提供至級3 406之GF乘法器416。此乘法器之輸出可接著與自管線暫存器422通過暫存器之資料一起提供至級4 408中之GF乘法器416。在級5 410中,級4 408之GF乘法器416之輸出可經歷實施一逆線性映射之一組線性運算。逆線性映射可接著輸出經屏蔽資料輸出418及掩碼輸出420。
圖5繪示包含具有熵注入電路系統之多個伽羅瓦域乘法器之一AES S盒118-2之一實例性硬體組態。在態樣中,在其各自級(例如級1 402、級2 404、級3 406、級4 408)內繪示六個GF乘法器416,如上文相對於圖4所描述。如上文所討論,需要熵來執行在評估GF乘法器416期間防止旁通道洩漏之重新屏蔽操作。
可對GF乘法器416之各者實施熵注入電路以提供新隨機性且避免SCA洩漏。在態樣中,級1利用需要8個位元之隨機性之一GF (2 4)乘法器416。為確保不發生旁通道洩漏,應僅在其中更新一輸入之相同週期中應用新隨機性。若在未更新輸入時提供新隨機性或在未應用新隨機性時更新輸入,則可發生旁通道洩漏。
為確保僅在需要時提供新隨機性,當評估相關聯乘法器時,熵注入電路將熵轉發至GF乘法器416。若無需新隨機性(例如,GF乘法器416未評估),則PRNG 316將隨機性提供至一暫存器120,其中緩衝隨機性直至需要重新屏蔽。每輸入位元,此熵注入需要兩個MUX 502 (例如MUX 502-1及MUX 502-2)及暫存器120 (例如,包含一正反器)。在整個S盒中,各級需要新隨機性。例如,級2需要4個位元之新隨機性且級3及級4每級總共需要8個位元(例如,各級內之兩個GF乘法器416之各者4個位元之新隨機性)。因此,此實施方案需要一大電路面積及複雜緩衝邏輯以確保在更新相關聯輸入時用隨機性僅更新GF乘法器416。
圖6繪示根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣之多個AES S盒118 (例如S盒118-3及S盒118-4)之一實例性硬體組態600。在態樣中,S盒118可執行類似於相對於圖3至圖5所描述之操作之操作。S盒118可包含五個級(例如級1 402、級2 404、級3 406、級4 408、級5 (未展示))。與圖5之S盒相比,圖6之S盒118可彼此耦合,使得來自一第一S盒(例如S盒118-3)之先前級之中間結果(例如掩碼或經屏蔽資料但非兩者)可用作一不同S盒(例如S盒118-4)之一後續級中之隨機性。
在跨S盒118連接GF乘法器416時,可減少在各級將新隨機性注入至GF乘法器416中所需之注入隨機性電路之數目,藉此減小電路面積。不是使用個別熵注入電路,而是可使用一第一S盒之中間結果作為一第二S盒中之新隨機性。技術僅需要S盒118之各者之一單一熵產生電路來產生級1 402之GF乘法器416之熵。例如,在執行級1 402之後,一先前級中之一第一S盒118-3之輸出可用於向一後續級中之一第二S盒118-4提供熵。可對任何數目個S盒重複此程序,其中各S盒向/自一或多個不同S盒提供及/或接收隨機性。
在一些實施方案中,一S盒可向多個S盒提供隨機性。例如,一S盒之中間結果可提供比在一後續級中作為隨機性所需更多之位元。依此方式,中間結果之一部分可用作一不同S盒之後續級及另一不同S盒之後續級中之隨機性。替代地或另外,隨機性可在一後續級中由一先前級中之多個S盒提供,其中來自各S盒之部分結果之一部分經組合且用作隨機性。例如,隨機性可自一第一S盒及一第二S盒提供至一或多個S盒之多個GF乘法器416。在態樣中,接收熵之多個GF乘法器416可在一相同S盒或不同S盒內。第一S盒及第二S盒可各含有一GF乘法器,其提供含有一第一及第二部分(例如中間結果之位元之一適當子集)之一輸出。
在一個實施方案中,第一S盒之輸出之第一部分(例如,來自一先前級中之GF乘法器416)可與第二S盒之輸出之一第一部分(例如,來自一先前級中之GF乘法器416)組合且作為隨機性提供至多個GF乘法器416之一單一GF乘法器(例如,在一不同S盒之一後續級中)。因而,一後續級中之一GF乘法器416可自多個S盒118、多個GF乘法器416或兩者接收隨機性。
類似地,第一S盒中之第一GF乘法器之輸出之第二部分可與第二S盒之GF乘法器之輸出之第二部分組合且提供至多個GF乘法器416之一不同GF乘法器。依此方式,一單一GF乘法器可向多個GF乘法器、多個S盒118或兩者提供隨機性。
一般而言,可存在向/自不同數目個S盒提供/接收熵之多個變型之熵轉發。在一些實例中,只要遵循其他限制,則此等變型之任何者可為適當的,例如,僅使用部分(例如中間)結果(例如掩碼或經屏蔽資料但非兩者)且將熵轉發至一不同S盒(例如,不轉發至相同S盒內之一後續級)。
藉由將熵自一先前級提供至一後續級,可移除熵注入中之緩衝邏輯。例如,當一S盒118-3之級1 402中之一GF乘法器416評估時,中間輸出可保存於一暫存器120中。此值接著可作為熵提供至一不同S盒118-4之級2 404中之一GF乘法器416,因為級1 402之GF乘法器416中之中間結果之輸出指示將評估不同S盒118-4之級2 404中之GF乘法器416。依此方式,可僅在更新GF乘法器之輸入時將新隨機性提供至一GF乘法器,如防止旁通道洩漏所需,且無需額外緩衝邏輯,藉此確保根據所要時脈週期應用隨機性之正確性及穩定性。此程序可跨各級實施,其中一先前級向一後續級提供隨機性,且使一群組之S盒118中之各S盒能夠菊鍊在一起以減小電路面積。
為確保新隨機性之獨立性,新隨機性可自不同於將其提供至之S盒之一S盒取得。在態樣中,此產生GF乘法器之輸入與所提供之隨機性之間的獨立性。來自一S盒之部分結果可用作隨機性(例如經屏蔽資料或掩碼)以確保操作獨立於資料之真值(例如掩碼及經屏蔽資料之秘密或總和)。事實上,此獨立性可經數學證明。然而,若掩碼及經屏蔽資料兩者用作隨機性,則所提供之隨機性可表示操作之秘密,因此引起旁通道洩漏。
為進一步確保防SCA安全性,可執行更高階屏蔽。在一些實施方案中,使用一階屏蔽,其中將一單一掩碼添加至資料以產生經屏蔽資料。然而,在一些實施方案中,可使用更高階屏蔽。在更高階屏蔽中,可將多個掩碼(例如n個掩碼)添加至資料以增加防SCA之安全強化。在此實施方案中,需要額外隨機性來產生額外掩碼,其可或可不自先前級轉發,如上文所描述。
在提供隨機性時,確保輸入隨機性之均勻性可為很重要的。即,確保所提供之隨機性在統計上不偏向一特定值。為產生此均勻性,中間結果(例如掩碼或經屏蔽資料)可自不同於將其提供至之S盒之一S盒取得。如同隨機性之獨立性,均勻性可經數學證明。
如所討論,任何數目個S盒可經連接以向各自GF乘法器提供隨機性。依此方式,用於各實施方案中之S盒之數目充當利用電路面積、運算時間及SCA抵抗之一自由度。例如,S盒118可依一迭代方式使用,使得更少S盒可藉由使用更多迭代(例如更多運算時間)來正確處理資料。藉由迭代利用相同S盒118,系統中之任何洩漏對一攻擊者而言可變得更普遍(例如,歸因於重複或來自操作較少S盒之一較低雜訊底限),因此減少SCA抵抗。然而,總S盒118之減少能夠設計具有較小電路面積之一電路,藉此降低成本。在具有更多數目個S盒118之一設計中,歸因於來自更多S盒118之一貢獻,系統可使用一更大雜訊底限操作。因此,有效SCA可變得更困難,因此提高安全性。
歸因於此權衡,可在一設計內實施多組經連接S盒118以使不同數目個S盒118能夠基於各運算之特性來使用。例如,一電路可含有一較大組16個經連接S盒118及一較小組4個經連接S盒118。在態樣中,較小組S盒118可用於較小或較少安全積分運算,且較大組可用於較大或較多安全積分運算。因為僅在評估GF乘法器416時更新隨機性,所以過大組S盒118對一些計算而言可為次佳的。因此,具有不同大小組之S盒迴路可允許最佳處理不同運算。
方法700經繪示為一組區塊,其指定可執行之操作但未必限於用於由各自區塊執行操作時展示之順序或組合。此外,可重複、組合、重新組織或鏈接一或多個操作之任何者以提供一系列廣泛額外及/或替代方法。技術不限於由在一個裝置上操作之一個實體或多個實體執行。在一些態樣中,方法700之操作或動作由一S盒、一GF乘法器或任何其他組件實施或管理。為清楚起見,參考圖1B之元件描述方法及/或參考圖1至圖6描述實體、組件或組態。
圖7繪示根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣之用於執行一密碼操作之一實例性方法700。方法可減少對熵產生電路系統及緩衝邏輯之需要且減小實施一S盒118所需之電路面積。
在702中,評估一第一S盒(例如S盒118)之一第一GF乘法器(例如GF乘法器416)。例如,一掩碼414及經屏蔽資料412可提供至第一GF乘法器416,其中在評估乘法器時對掩碼414及經屏蔽資料412進行操作。若第一GF乘法器位於第一S盒之級1 402中,則可自一熵產生電路向GF乘法器提供熵以執行重新屏蔽。第一GF乘法器可產生中間結果(例如對掩碼414或經屏蔽資料412執行操作之後的掩碼414或經屏蔽資料412),其等可經組合以揭露秘密。
在704中,將第一S盒之一中間結果傳輸至一第二S盒(例如S盒118)之一第二GF乘法器(例如GF乘法器416)。在態樣中,保存第一S盒之中間結果之一暫存器120可耦合至第二GF乘法器之隨機性輸入。第一S盒之中間結果可傳輸至第二S盒之一後續級內之第二GF乘法器。在態樣中,在一先前級中之第一GF乘法器執行之後將中間結果轉發至一新S盒可防止旁通道洩漏。
在706中,在第二GF乘法器處接收第一GF乘法器之中間結果。例如,中間結果可在第二GF乘法器之輸入更新之一相同時脈週期內接收,藉此降低旁通道洩漏之可能性。
在708中,可使用第一GF乘法器之中間結果作為重新屏蔽之新隨機性來評估第二GF乘法器。第二GF乘法器可評估提供至第二GF乘法器之一掩碼414及經屏蔽資料412。在態樣中,在對掩碼414及經屏蔽資料412執行操作之後,中間結果可用於重新屏蔽。藉由使用來自一先前級之中間結果作為一後續級中之隨機性,可自S盒118設計移除昂貴熵產生電路系統及緩衝邏輯。
圖8繪示根據一或多個態樣之可實施使用域定向屏蔽之效能及安全資料處理之一實例性電子裝置800之各種組件。電子裝置800可實施為任何單一或多個固定、行動、獨立或嵌入式裝置;呈以下任何形式:消費者、電腦、可攜式、使用者、伺服器、通信、電話、導航、遊戲、音訊、攝影機、傳訊、媒體回放及/或其他類型之電子裝置800,諸如在圖1B中描繪為設備102之智慧型電話。所繪示組件之一或多者可實現為電子裝置800之至少一個積體電路上之離散組件或積體組件。一般而言,電子裝置800之各種組件經由一互連件122及/或一或多個結構來耦合,其根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣來支援組件之間的通信。
電子裝置800可包含一或多個通信收發器126,其實現裝置資料110 (諸如接收資料、傳輸資料或本文中所識別之其他資訊)之有線及/或無線通信。實例性通信收發器126包含近場通信(NFC)收發器、符合各種IEEE 802.15 (Bluetooth TM)標準之無線個人區域網路(PAN)(WPAN)無線電、符合各種IEEE 802.11 (WiFi TM)標準之任何者之無線區域網路(LAN)(WLAN)無線電、用於蜂巢電話之無線廣域網路(WAN)(WWAN)無線電(例如符合第三代合作夥伴計畫(符合3GPP)之WWAN無線電)、符合各種IEEE 802.16 (WiMAX TM)標準之無線都會區域網路(MAN)(WMAN)無線電、符合一紅外資料協會(IrDA)協定之紅外(IR)收發器及有線區域網路(LAN)(WLAN)乙太網收發器。
電子裝置800亦可包含任何類型之資料、媒體內容及/或其他輸入可經由其接收之一或多個資料輸入埠(例如I/O埠128),諸如使用者可選擇輸入、訊息、應用程式、音樂、電視內容、記錄視訊內容及自任何內容及/或資料源(包含如一麥克風或一攝影機之一感測器)接收之任何其他類型之音訊、視訊及/或影像資料。資料輸入埠可包含USB埠、同軸電纜埠、用於光纖互連件或佈線之光纖埠及用於快閃記憶體、數位影音光碟(DVD)、光碟(CD)及其類似者之其他串列或並列連接器(包含內部連接器)。此等資料輸入埠可用於將電子裝置耦合至組件、周邊裝置或附件,諸如鍵盤、麥克風、攝影機或其他感測器。
此實例之電子裝置800包含至少一個處理器106 (例如應用處理器、微處理器、數位信號處理器(DSP)、控制器及其類似者之任何一或多者),其可包含處理(例如,執行)電腦可執行指令以控制裝置之操作之一組合處理器及記憶體系統(例如,實施為一SoC之部分)。處理器106可實施為一應用處理器、嵌入式控制器、微控制器、安全處理器、人工智慧(AI)加速器及其類似者。一般而言,一處理器或處理系統可至少部分實施於硬體中,硬體可包含一積體電路或晶片上系統、一數位信號處理器(DSP)、一專用積體電路(ASIC)、一場可程式化閘陣列(FPGA)、一複雜可程式化邏輯裝置(CPLD)及矽及/或其他材料之其他實施方案之組件。
替代地或另外,電子裝置800可用電子電路系統之任何一者或組合來實施,電子電路系統可包含結合處理及控制電路(其大體上以802指示(作為電子電路系統802))實施之軟體、硬體、韌體或固定邏輯電路系統。此電子電路系統802可實施可執行或基於硬體之模組(圖8中未展示),諸如透過儲存於電腦可讀媒體上之處理/電腦可執行指令、透過邏輯電路系統及/或硬體(例如,諸如一FPGA)等等。
在態樣中,電子裝置800包含一互連件122,其可包含一系統匯流排、互連件、交叉開關、資料傳送系統或耦合裝置內之各種組件之其他交換結構之任何一或多者。一系統匯流排或互連件可包含不同匯流排結構之任一者或一組合,諸如一記憶體匯流排或記憶體控制器、一周邊匯流排、奇偶校驗區塊、錯誤校正碼(ECC)區塊、一通用串列匯流排及/或利用各種匯流排架構之任何者之一處理器或區域匯流排。
電子裝置800亦包含實現資料儲存之一或多個記憶體裝置804,其實例包含隨機存取記憶體(RAM)、非揮發性記憶體(例如唯讀記憶體(ROM)、快閃記憶體、可擦除可程式化唯讀記憶體(EPROM)、電可擦除可程式化唯讀記憶體(EEPROM))及一磁碟儲存裝置。因此,(若干)記憶體裝置804可跨一系統之不同邏輯儲存層級及在不同實體組件處分佈。(若干)記憶體裝置804提供資料儲存機構來儲存裝置資料110、其他類型之代碼及/或資料及各種裝置應用程式806 (例如軟體應用程式或程式)。例如,一作業系統808可作為軟體指令保存於記憶體裝置804內且由處理器106執行。
在一些實施方案中,電子裝置800亦包含一音訊及/或視訊處理系統810,其處理音訊資料及/或將音訊及視訊資料傳遞至一音訊系統812及/或一顯示系統814 (例如一視訊緩衝器或一智慧型電話或攝影機之一螢幕)。音訊系統812及/或顯示系統814可包含處理、顯示及/或依其他方式呈現音訊、視訊、顯示及/或影像資料之任何裝置。顯示資料及音訊信號可經由一射頻(RF)鏈路、S視訊鏈路、高清晰度多媒體介面(HDMI)、複合視訊鏈路、分量視訊鏈路、數位視訊介面(DVI)、類比音訊連接、視訊匯流排或諸如一媒體資料埠816之其他類似通信鏈路來傳送至一音訊組件及/或一顯示組件。在一些實施方案中,音訊系統812及/或顯示系統814係電子裝置800之外部或分離組件。替代地,例如,顯示系統814可為實例性電子裝置800之一積體組件,諸如一積體觸控介面之部分。
圖8之電子裝置800係圖1之設備102之一實例性實施方案、可實施使用域定向屏蔽之效能及安全資料處理之一裝置之一實例性實施方案,如參考圖1B至圖7所描述。因此,電子裝置800可包含安全電路系統112,其可為一單獨IC晶片或包含為另一IC晶片或裝置之部分,如處理器106、電子電路系統802或記憶體裝置804。因此,所繪示組件之一或多者可整合於相同IC晶片(如一SoC)上或至少整合於一單一印刷電路板(PCB)上。
安全電路系統112可包含使用加密或解密來執行密碼安全操作之一AES單元116。根據使用域定向屏蔽之所描述安全及效能資料處理之一或多個態樣,AES單元116可包含任何數目個S盒或其暫存器。因此,本文中所描述之使用域定向屏蔽之效能及安全資料處理之原理可由或結合圖8之電子裝置800實施。
儘管用於實施使用域定向屏蔽之效能及安全資料處理之所描述技術及系統之態樣已被描述為應用於先進加密標準(AES),但所描述技術及系統亦可應用於各種其他密碼方案及應用之任何者,包含安全雜湊演算法(SHA)(例如SHA-1、SHA-2、SHA-3、Keccak)、認證加密及雜湊(ASCON)、里維斯-沙米爾-阿德爾曼(RSA)、三重資料加密演算法(3DES)、Twofish、橢圓曲線密碼(ECC)等等。
除非內文另有指示,否則本文中使用之用語「或」可被視為使用一「包含性或」或容許包含或應用由用語「或」鏈接之一或多個物項之一術語(例如,一片語「A或B」可被解譯為僅容許「A」、僅容許「B」或容許「A」及「B」兩者)。此外,如本文中所使用,涉及一物項列表之「至少一者」之一片語係指該等物項(包含單一成員)之任何組合。例如,「a、b或c之至少一者」可涵蓋a、b、c、a-b、a-c、b-c及a-b-c以及具有多個相同元件之任何組合(例如a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c及c-c-c或a、b及c之任何其他排序)。此外,附圖中所表示之物項及本文中所討論之術語可指示一或多個物項或術語,且因此可互換參考本書面描述中之單數或複數形式之物項及術語。儘管已用特定於某些特徵及/或方法之語言描述一安全密碼處理器之實施方案,但隨附申請專利範圍之標的未必限於所描述之特定特徵或方法。確切而言,特定特徵及方法經揭示為安全密碼處理之實例性實施方案。
下文提供使用域定向屏蔽之效能及安全資料處理之實例。
實例1:一種積體電路,其包括一先進加密標準置換盒,該先進加密標準置換盒包括一第一級,該第一級包括:一經屏蔽伽羅瓦域乘法器;至少兩個輸入暫存器,其等至該經屏蔽伽羅瓦域乘法器;至少兩個管線暫存器,其等自該第一級至該先進加密標準置換盒之一第二級;一第一正反器,其經組態以對一第一對暫存器進行操作,該第一對暫存器包含該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第一輸入暫存器及自該第一級至該第二級之該至少兩個管線暫存器之一第一管線暫存器;及一第二正反器,其經組態以對一第二對暫存器進行操作,該第二對暫存器包含該至少兩個輸入暫存器之一第二輸入暫存器及該至少兩個管線暫存器之一第二管線暫存器。
實例2:如實例1之積體電路,其中:該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器包括四個輸入暫存器;及/或自先進加密標準置換盒之該第一級至該第二級之該至少兩個管線暫存器包括四個管線暫存器。
實例3:如實例1之積體電路,其中該第一級進一步包括:一第三正反器,其經組態以對一第三對暫存器進行操作,該第三對暫存器包含該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第三輸入暫存器及自該第一級至該第二級之該至少兩個管線暫存器之一第三管線暫存器;及/或一第四正反器,其經組態以對一第四對暫存器進行操作,該第四對暫存器包含該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第四輸入暫存器及自該第一級至該第二級之該至少兩個管線暫存器之一第四管線暫存器。
實例4:如實例1之積體電路,其中:該經屏蔽伽羅瓦域乘法器係一第一經屏蔽伽羅瓦域乘法器;及/或其中該先進加密標準置換盒進一步包括:該第二級,其包括:一第二經屏蔽伽羅瓦域乘法器;及至少兩個輸入暫存器,其等至該第二經屏蔽伽羅瓦域乘法器。該第二級可進一步包括:至少兩個管線暫存器,其等自該第二級至該先進加密標準置換盒之一第三級;一第三正反器,其經組態以對一第三對暫存器進行操作,該第三對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第三輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第三管線暫存器;及一第四正反器,其經組態以對一第四對暫存器進行操作,該第四對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第四輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第四管線暫存器。
實例5:如實例4之積體電路,其中:該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器包括四個輸入暫存器;及/或自該先進加密標準置換盒之該第二級至該第三級之該至少兩個管線暫存器包括四個管線暫存器。
實例6:如實例4之積體電路,其中該先進加密標準置換盒進一步包括:該第二級,其包括:一第五正反器,其經組態以對一第五對暫存器進行操作,該第五對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第五輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第五管線暫存器;及/或一第六正反器,其經組態以對一第六對暫存器進行操作,該第六對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第六輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第六管線暫存器。
實例7:如實例1之積體電路,其中該第一對暫存器及該第二對暫存器儲存一掩碼或經屏蔽資料。
實例8:如實例1之積體電路,其中對該先進加密標準置換盒之至少一部分停用電路合成工具。
實例9:一種積體電路,其包括:至少兩個先進加密標準置換盒,該至少兩個先進加密標準置換盒之一第一先進加密標準置換盒包括:一先前級,其包含一第一伽羅瓦域乘法器,該第一伽羅瓦域乘法器之一輸出耦合至該至少兩個先進加密標準置換盒之一額外先進加密標準置換盒之一後續級內之一第二伽羅瓦域乘法器(例如,不同於該第一先進加密標準置換盒)之一隨機性輸入。
實例10:如實例9之積體電路,其中該第一伽羅瓦域乘法器之該輸出進一步耦合至:該額外先進加密標準置換盒之該後續級內之一第三伽羅瓦域乘法器之一隨機性輸入;或該至少兩個先進加密標準置換盒之一不同先進加密標準置換盒之後續級內之一第四伽羅瓦域乘法器之一隨機性輸入,該不同先進加密標準置換盒不同於該額外先進加密標準置換盒。
實例11:如實例10之積體電路,其中:該第一伽羅瓦域乘法器之該輸出之一第一部分耦合至該第二伽羅瓦域乘法器之該隨機性輸入,該輸出之該第一部分具有少於該輸出之一位元數;及/或該第一伽羅瓦域乘法器之該輸出之一第二部分耦合至該第三伽羅瓦域乘法器之該隨機性輸入,該輸出之該第二部分具有少於該輸出之一位元數。
實例12:如實例11之積體電路,其中:該第一伽羅瓦域乘法器之該輸出係一第一輸出;該第一先進加密標準置換盒之該先前級進一步包含具有一第二輸出之一第五伽羅瓦域乘法器;該第五伽羅瓦域乘法器之該第二輸出之一第三部分耦合至該第二伽羅瓦域乘法器之該隨機性輸入,該第二輸出之該第三部分具有少於該第二輸出之一位元數;及/或該第五伽羅瓦域乘法器之該第二輸出之一第四部分耦合至該第三伽羅瓦域乘法器之該隨機性輸入,該第二輸出之該第四部分具有少於該第二輸出之一位元數。
實例13:如實例9之積體電路,其中來自該第一伽羅瓦域乘法器之該輸出包括該第一伽羅瓦域乘法器之部分結果,該等部分結果包含以下之至少部分:一掩碼或經屏蔽資料。
實例14:如實例9之積體電路,其中:該至少兩個先進加密標準置換盒係一第一組先進加密標準置換盒;且該積體電路進一步包括:一第二組先進加密標準置換盒,其包括至少兩個不同先進加密標準置換盒,該至少兩個不同先進加密標準置換盒之一第二先進加密標準置換盒包括:一先前級,其包含一第六經屏蔽伽羅瓦域乘法器,該第六伽羅瓦域乘法器之一輸出耦合至該至少兩個不同先進加密標準置換盒之一額外先進加密標準置換盒之一後續級內之一第七伽羅瓦域乘法器之一隨機性輸入。
實例15:如實例14之積體電路,其中該第一組先進加密標準置換盒及該第二組先進加密標準置換盒包括不同數目個先進加密標準置換盒。
實例16:一種使用如實例1至15中任一者之積體電路執行安全密碼操作之方法。例如,該方法可包括:評估一第一S盒(例如S盒118)之一第一GF乘法器(例如GF乘法器416);將該第一S盒之一中間結果傳輸至一第二S盒(例如S盒118)之一第二GF乘法器(例如GF乘法器416);在該第二GF乘法器處接收該第一GF乘法器之該中間結果;及使用該第一GF乘法器之該中間結果作為用於重新屏蔽之新隨機來評估該第二GF乘法器。作為另一實例,該方法可包括:由一第一正反器對一第一對暫存器進行操作,該第一對暫存器包含包含於一先進加密標準置換盒之一第一級中之一經屏蔽伽羅瓦域乘法器之至少兩個輸入暫存器之一第一輸入暫存器及自該第一級至該先進加密標準置換盒之一第二級之至少兩個管線暫存器之一第一管線暫存器;及由一第二正反器對一第二對暫存器進行操作,該第二對暫存器包含該至少兩個輸入暫存器之一第二輸入暫存器及該至少兩個管線暫存器之一第二管線暫存器。各正反器可(例如)對該各自輸入暫存器及管線暫存器進行操作以控制一信號內突波(暫態電壓變化)之發生。
儘管已用特定於特徵及/或方法之語言描述用於實施使用域定向屏蔽之效能及安全資料處理之所描述設備、系統及方法之態樣,但隨附申請專利範圍之標的未必如先前實例之任何者所敘述般限於所描述之特定特徵或方法。確切而言,特定特徵及方法經揭示為使用域定向屏蔽之效能及安全資料處理之實例性實施方案,且其他等效特徵及方法意欲在隨附申請專利範圍之範疇內。此外,描述使用域定向屏蔽之效能及安全資料處理之各種態樣,且應瞭解,各描述態樣可獨立或結合一或多個其他描述態樣實施。
10:一階經屏蔽乘法器 12:AND閘 14:輸入 16:XOR閘 18:XOR閘 20:一階域定向經屏蔽乘法器 22:正反器及/或暫存器 100:環境 102:設備 102-1:智慧型電話 102-2:平板電腦 102-3:膝上型電腦 102-4:遊戲控制台 102-5:桌上型電腦 102-6:伺服器電腦 102-7:可穿戴運算裝置 102-8:寬頻路由器 104:積體電路(IC) 106:處理器 108:電腦可讀媒體(CRM) 110:裝置資料 112:安全電路系統 114:電路組件 114-1至114-n:電路組件 116:先進加密標準(AES)單元 118:S盒 118-1:S盒 118-2:AES S盒 118-3:S盒 118-4:S盒 120:暫存器 122:互連件 124:顯示器 126:收發器 128:輸入/輸出(I/O)埠 130:感測器 200:實施方案 202:唯讀記憶體(ROM) 204:靜態隨機存取記憶體(SRAM) 206:快閃記憶體 208:警報處理器 210:基於雜湊之訊息認證碼(HMAC)引擎 212:串列周邊介面(SPI)裝置 214:通用非同步接收器/傳輸器(UART)單元 216:通用輸入/輸出(GPIO)介面 218:接針多工器 220:墊控制器 222:隨機數產生器(RNG) 224:計時器 226:調試模組(DM) 228:中斷控制器(ItC) 230:密碼處理器 302:狀態暫存器 304:經屏蔽SubBytes 306:ShiftRows 308:MixColumns 308-1:MixColumn 308-2:MixColumn 310:解密密鑰 312:全密鑰暫存器 314:經屏蔽KeyExpand 316:PRNG 402:級1 404:級2 406:級3 408:級4 410:級5 412:屏蔽資料 414:掩碼 416:GF乘法器 418:經屏蔽資料輸出 420:掩碼輸出 422:管線暫存器 422-1:管線暫存器 422-2:管線暫存器 422-3:管線暫存器 422-4:管線暫存器 424:輸入暫存器 426:管線暫存器 426-1:管線暫存器 426-2:管線暫存器 428:輸入暫存器 502:MUX 502-1:MUX 502-2:MUX 600:硬體組態 700:方法 702:評估一第一S盒之一第一GF乘法器 704:將第一GF乘法器之一中間結果傳輸至一第二S盒之一第二GF乘法器 706:接收第一GF乘法器之中間結果 708:使用第一GF乘法器之中間結果作為用於重新屏蔽之新隨機性來評估第二GF乘法器 800:電子裝置 802:電子電路系統 804:記憶體裝置 806:裝置應用程式 808:作業系統 810:音訊及/或視訊處理系統 812:音訊系統 814:顯示系統 816:媒體資料埠
下文描述用於使用域定向屏蔽之效能及安全資料處理之所描述系統及方法之一或多個態樣之細節。在描述及圖中之不同例項中使用之相同元件符號指示類似元件:
圖1A繪示一階經屏蔽乘法器及一階域定向掩碼乘法器;
圖1B繪示包含可實施使用域定向屏蔽之效能及安全資料處理之電子裝置之一實例性操作環境;
圖2繪示包含多個電路組件之實例性安全電路系統之一實例性實施方案,多個電路組件可經實施以支援使用域定向屏蔽之效能及安全資料處理之態樣;
圖3繪示根據一或多個態樣之可實施使用域定向屏蔽之效能及安全資料處理之一實例性AES單元;
圖4繪示根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣之一AES置換盒(S盒)之一實例性硬體組態;
圖5繪示包含具有熵注入電路系統之多個伽羅瓦域乘法器之一AES S盒之一實例性硬體組態;
圖6繪示根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣之多個AES S盒之一實例性硬體組態;
圖7繪示根據使用域定向屏蔽之效能及安全資料處理之一或多個態樣之用於執行一密碼操作之一實例性方法;及
圖8繪示可實施使用域定向屏蔽之效能及安全資料處理之一或多個態樣之一實例性電子裝置。
100:環境
102:設備
102-1:智慧型電話
102-2:平板電腦
102-3:膝上型電腦
102-4:遊戲控制台
102-5:桌上型電腦
102-6:伺服器電腦
102-7:可穿戴運算裝置
102-8:寬頻路由器
104:積體電路(IC)
106:處理器
108:電腦可讀媒體(CRM)
110:裝置資料
112:安全電路系統
114-1至114-n:電路組件
116:先進加密標準(AES)單元
118:S盒
120:暫存器
122:互連件
124:顯示器
126:收發器
128:輸入/輸出(I/O)埠
130:感測器

Claims (16)

  1. 一種積體電路,其包括一先進加密標準置換盒,該先進加密標準置換盒包括: 一第一級,其包括: 一經屏蔽伽羅瓦域乘法器; 至少兩個輸入暫存器,其等至該經屏蔽伽羅瓦域乘法器; 至少兩個管線暫存器,其等自該第一級至該先進加密標準置換盒之一第二級; 一第一正反器,其經組態以對一第一對暫存器進行操作,該第一對暫存器包含該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第一輸入暫存器及自該第一級至該第二級之該至少兩個管線暫存器之一第一管線暫存器;及 一第二正反器,其經組態以對一第二對暫存器進行操作,該第二對暫存器包含該至少兩個輸入暫存器之一第二輸入暫存器及該至少兩個管線暫存器之一第二管線暫存器。
  2. 如請求項1之積體電路,其中: 該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器包括四個輸入暫存器;且 自該先進加密標準置換盒之該第一級至該第二級之該至少兩個管線暫存器包括四個管線暫存器。
  3. 如請求項2之積體電路,其中該第一級進一步包括: 一第三正反器,其經組態以對一第三對暫存器進行操作,該第三對暫存器包含該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第三輸入暫存器及自該第一級至該第二級之該至少兩個管線暫存器之一第三管線暫存器;及 一第四正反器,其經組態以對一第四對暫存器進行操作,該第四對暫存器包含該經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第四輸入暫存器及自該第一級至該第二級之該至少兩個管線暫存器之一第四管線暫存器。
  4. 如請求項1之積體電路,其中: 該經屏蔽伽羅瓦域乘法器係一第一經屏蔽伽羅瓦域乘法器;且 該先進加密標準置換盒進一步包括: 該第二級,其包括: 一第二經屏蔽伽羅瓦域乘法器; 至少兩個輸入暫存器,其等至該第二經屏蔽伽羅瓦域乘法器; 至少兩個管線暫存器,其等自該第二級至該先進加密標準置換盒之一第三級; 一第三正反器,其經組態以對一第三對暫存器進行操作,該第三對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第三輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第三管線暫存器;及 一第四正反器,其經組態以對一第四對暫存器進行操作,該第四對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第四輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第四管線暫存器。
  5. 如請求項4之積體電路,其中: 該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器包括四個輸入暫存器;且 自該先進加密標準置換盒之該第二級至該第三級之該至少兩個管線暫存器包括四個管線暫存器。
  6. 如請求項4之積體電路,其中該先進加密標準置換盒進一步包括: 該第二級,其包括: 一第五正反器,其經組態以對一第五對暫存器進行操作,該第五對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第五輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第五管線暫存器;及 一第六正反器,其經組態以對一第六對暫存器進行操作,該第六對暫存器包含該第二經屏蔽伽羅瓦域乘法器之該至少兩個輸入暫存器之一第六輸入暫存器及自該第二級至該第三級之該至少兩個管線暫存器之一第六管線暫存器。
  7. 如請求項1之積體電路,其中該第一對暫存器及該第二對暫存器儲存一掩碼或經屏蔽資料。
  8. 如請求項1之積體電路,其中對該先進加密標準置換盒之至少一部分停用電路合成工具。
  9. 一種積體電路,其包括: 至少兩個先進加密標準置換盒,一第一先進加密標準置換盒包括: 一先前級,其包含一第一伽羅瓦域乘法器,該第一伽羅瓦域乘法器之一輸出耦合至該至少兩個先進加密標準置換盒之一額外先進加密標準置換盒之一後續級內之一第二伽羅瓦域乘法器之一隨機性輸入。
  10. 如請求項9之積體電路,其中該第一伽羅瓦域乘法器之該輸出進一步耦合至: 該額外先進加密標準置換盒之該後續級內之一第三伽羅瓦域乘法器之一隨機性輸入;或 該至少兩個先進加密標準置換盒之一不同先進加密標準置換盒之後續級內之一第四伽羅瓦域乘法器之一隨機性輸入,該不同先進加密標準置換盒不同於該額外先進加密標準置換盒。
  11. 如請求項10之積體電路,其中: 該第一伽羅瓦域乘法器之該輸出之一第一部分耦合至該第二伽羅瓦域乘法器之該隨機性輸入,該輸出之該第一部分具有少於該輸出之一位元數;且 該第一伽羅瓦域乘法器之該輸出之一第二部分耦合至該第三伽羅瓦域乘法器之該隨機性輸入,該輸出之該第二部分具有少於該輸出之一位元數。
  12. 如請求項11之積體電路,其中: 該第一伽羅瓦域乘法器之該輸出係一第一輸出; 該第一先進加密標準置換盒之該先前級進一步包含具有一第二輸出之一第五伽羅瓦域乘法器; 該第五伽羅瓦域乘法器之該第二輸出之一第三部分耦合至該第二伽羅瓦域乘法器之該隨機性輸入,該第二輸出之該第三部分具有少於該第二輸出之一位元數;且 該第五伽羅瓦域乘法器之該第二輸出之一第四部分耦合至該第三伽羅瓦域乘法器之該隨機性輸入,該第二輸出之該第四部分具有少於該第二輸出之一位元數。
  13. 如請求項9之積體電路,其中來自該第一伽羅瓦域乘法器之該輸出包括該第一伽羅瓦域乘法器之部分結果,該等部分結果包含以下之至少部分:一掩碼或經屏蔽資料。
  14. 如請求項9之積體電路,其中: 該至少兩個先進加密標準置換盒係一第一組先進加密標準置換盒;且 該積體電路進一步包括: 一第二組先進加密標準置換盒,其包括至少兩個不同先進加密標準置換盒,該至少兩個不同先進加密標準置換盒之一第二先進加密標準置換盒包括: 一先前級,其包含一第六經屏蔽伽羅瓦域乘法器,該第六伽羅瓦域乘法器之一輸出耦合至該至少兩個不同先進加密標準置換盒之一額外先進加密標準置換盒之一後續級內之一第七伽羅瓦域乘法器之一隨機性輸入。
  15. 如請求項14之積體電路,其中該第一組先進加密標準置換盒及該第二組先進加密標準置換盒包括不同數目個先進加密標準置換盒。
  16. 一種使用如請求項1至15中任一項之積體電路執行安全密碼操作之方法。
TW111147291A 2021-12-17 2022-12-09 執行安全密碼操作之積體電路及方法 TWI845059B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163265673P 2021-12-17 2021-12-17
US63/265,673 2021-12-17

Publications (2)

Publication Number Publication Date
TW202328956A true TW202328956A (zh) 2023-07-16
TWI845059B TWI845059B (zh) 2024-06-11

Family

ID=85199425

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111147291A TWI845059B (zh) 2021-12-17 2022-12-09 執行安全密碼操作之積體電路及方法

Country Status (5)

Country Link
EP (1) EP4423958A2 (zh)
KR (1) KR20240112307A (zh)
CN (1) CN118355629A (zh)
TW (1) TWI845059B (zh)
WO (1) WO2023115022A2 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW480436B (en) * 2000-12-21 2002-03-21 Goldkey Technology Corp Modular multiplier and ciphering/deciphering machine using the modular multiplier
KR100610367B1 (ko) * 2004-06-19 2006-08-10 삼성전자주식회사 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치
GB2551849B (en) * 2016-06-28 2019-10-09 Mips Tech Llc AES hardware implementation
CA3034597C (en) * 2017-04-11 2021-10-12 The Governing Council Of The University Of Toronto A homomorphic processing unit (hpu) for accelerating secure computations under homomorphic encryption
KR102653018B1 (ko) * 2019-01-16 2024-03-29 삼성전자주식회사 랜덤 넘버를 이용하여 나머지 연산을 수행하는 보안 프로세서 및 이의 동작 방법
WO2021021869A1 (en) * 2019-07-30 2021-02-04 Brain Corporation Systems and methods for calibrating nonvisible light emitting sensors using alignment targets
CN111722831B (zh) * 2020-05-07 2024-03-19 中山大学 一种加密系统及其实现方法

Also Published As

Publication number Publication date
WO2023115022A2 (en) 2023-06-22
WO2023115022A3 (en) 2024-04-18
CN118355629A (zh) 2024-07-16
EP4423958A2 (en) 2024-09-04
KR20240112307A (ko) 2024-07-18
TWI845059B (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
US9734355B2 (en) System and method for an efficient authentication and key exchange protocol
CN113557515A (zh) 外围设备与安全电路系统的兼容性
Broström et al. IoT boot integrity measuring and reporting
TWI845059B (zh) 執行安全密碼操作之積體電路及方法
TWI821971B (zh) 安全加密協同處理器
US20230177154A1 (en) Sparse Encodings for Control Signals
KR20240121896A (ko) 보안 의사 난수 생성기(prng) 리시딩
TWI807766B (zh) 安全之全晶片通信
US20240184932A1 (en) Read-Only Memory (ROM) Security
KR20230145166A (ko) 읽기 전용 메모리(rom) 보안
IZZO Global protection for transient attacks