TWI637618B - 防止通過功率分析進行竊聽的電子電路及其防止竊聽的方法 - Google Patents

防止通過功率分析進行竊聽的電子電路及其防止竊聽的方法 Download PDF

Info

Publication number
TWI637618B
TWI637618B TW106102334A TW106102334A TWI637618B TW I637618 B TWI637618 B TW I637618B TW 106102334 A TW106102334 A TW 106102334A TW 106102334 A TW106102334 A TW 106102334A TW I637618 B TWI637618 B TW I637618B
Authority
TW
Taiwan
Prior art keywords
bits
cycle
random
patent application
item
Prior art date
Application number
TW106102334A
Other languages
English (en)
Other versions
TW201728120A (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 TW201728120A publication Critical patent/TW201728120A/zh
Application granted granted Critical
Publication of TWI637618B publication Critical patent/TWI637618B/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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Power Sources (AREA)

Abstract

一種防止通過功率分析進行竊聽的電子電路,所述電子電路包括:儲存元件,用於存儲一組位元;邏輯單元,用於處理所存儲的一組位元並在兩個或更多個周期之後提供下一狀態的一組位元;其中在第一周期中,所存儲的一組位元中的某些位元被正確地提供至邏輯單元且某些位元被隨機值取代,且在最後周期中,所有所存儲的一組位元被正確地提供至邏輯單元;以及隨機位元產生器,為所存儲的一組位元中的每一位元產生隨機位元,以確定欲在每一周期正確地提供所述存儲的一組位元的哪些位元、以及確定欲取代哪些位元。

Description

防止通過功率分析進行竊聽的電子電路及其防止竊聽的方法
本發明是有關於一種加密裝置,且特別是有關於一種防止通過對加密裝置進行功率分析而對密碼金鑰進行確定的應對措施。
臨近20世紀末,已發現來自加密裝置(例如,智慧卡讀取器)的資訊可通過對所述裝置的功耗進行分析而被非入侵性地洩露。已知的功率分析方法例如有簡單功率分析(Simple Power Analysis,SPA)及差分功率分析(Differential Power Analysis,DPA)。簡單功率分析涉及對裝置所使用的電流隨時間而變化的曲線圖進行目視檢查。舉例來說,當互補金屬氧化物半導體(complementary metal oxide semiconductor,CMOS)邏輯電路自邏輯0狀態改變至邏輯1狀態時,會自電源供應器繪製出顯著量的電流,然而在相反的情形中繪出的量則可忽略不計。相同地,微處理器將對於不同的命令具有不同的功耗分佈。因此,在來自實行資料加密標準(data encryption standard,DES)加密的智慧卡的功率跟蹤中,可清楚地看見不同的輪次(rounds)。同樣,RSA實作的平方運算及乘法運算可被區分出,因此使得竊聽者(eavesdropper)能夠計算私密金鑰。
差分功率分析對加密裝置的功耗進行統計分析。差分功率分析在許多輪次內對功耗進行記錄並可接著移除將會防止基於簡單功率分析進行分析的雜訊。
一種防止功率分析的方法是基於對計算進行隱藏。此方法包括將加密裝置設計成無論所實行的操作如何均具有均勻的或隨機的功耗,例如通過對洩露信號(leakage signal)添加隨機性或通過對計算信號進行求反以實現均勻的功耗來實現。
用於保護加密裝置的另一種方法是通過對計算進行遮罩(masking)。在此方法中,將加密裝置設計成對計算添加隨機性(例如,與所述計算一起實行其他不必要的計算)以使得即使在對相同的資料進行分析時,每一輪次的功耗也不同。
其他方法則添加隨機雜訊及/或使時脈信號隨機化,以使得更難通過差分功率分析來識別計算。
通常,保護加密裝置的每一種方法均與一定程度的複雜性相關聯,且可在投入足夠的努力時被攻克。因此,需要尋找更複雜的方法來防止所述方法被破解。
本發明提供一種電子電路及方法,所述電子電路及方法防止通過對電路的功耗進行分析而破譯對一組位元實行的邏輯計算。所述方法包括將所述計算劃分成兩個或更多個階段,以使得所述計算在兩個或更多個時脈周期(clock cycle)中而非在一個時脈周期中實行。在第一周期中,將所述位元的一部分提供至所述電路的邏輯單元並以隨機值取代所述位元中的另一部分。所述邏輯單元自局部資料計算第一結果。接著在接下來的一個或多個周期中,將所述被取代的位元被取代前的正確資料提供至所述邏輯單元。所述邏輯單元利用所述正確資料計算其他結果。所述其他結果被提供至儲存元件,以用作所述電路的下一狀態的一組位元。
在本發明的一實施例中,於第一周期中,上述的電路隨機選擇所述位元中的一半或周期數目的倒數,而以隨機值取代。作為另外一種選擇,所述電路為所述第一周期及其他周期選擇隨機數目的位元,而以隨機值取代。在本發明的某些實施例中,在接下來的一個或多個周期中,自中間儲存器提供所述位元,以使得可通過所述第一周期中所述邏輯單元的計算而改變所述儲存元件。
因此,根據本發明的示例性實施例提供一種防止通過功率分析而進行竊聽的電子電路,所述電子電路包括:儲存元件,用於存儲對應多個正確值的一組位元;邏輯單元,用於處理所述所存儲的一組位元並在兩個或更多個周期之後提供下一狀態的一組位元,以及隨機位元產生器。在第一周期中,所述所存儲的一組位元中的某些位元被正確地提供至所述邏輯單元且某些位元被隨機值取代,且在最後周期中,所有所述存儲的一組位元被正確地提供至所述邏輯單元。隨機位元產生器為所述所存儲的一組位元中的每一位元產生隨機位元,以確定欲正確地提供所述所存儲的一組位元的哪些位元、以及確定在每一周期中欲取代哪些位元。
在本發明的一實施例中,上述的電路是通過兩個時脈信號驅動,所述兩個時脈信號中的一者的頻率是另一者的一半。視情況,所述電路包括與儲存元件相關聯的中間儲存器,所述中間儲存器用於存儲所述所存儲的一組位元的正確值以供在所述最後周期中使用。在本發明的示例性實施例中,所述電路包括與所述儲存元件以及隨機位元產生器相關聯的用於所述所存儲的一組位元中的每一位元的選擇器;其中所述選擇器由所述隨機位元控制以在所述正確值與隨機值之間進行選擇。視情況,所述所存儲的一組位元是以加密形式存儲於所述儲存元件中。在本發明的示例性實施例中,所述所存儲的一組位元是在被提供至所述邏輯單元時進行解密。視情況,在第二周期中,對應所述隨機值的所述被取代的位元更被對應的正確值取代並被提供至所述邏輯單元。在本發明的示例性實施例中,所述位元中的一半在所述第一周期中被隨機值取代。視情況,隨機數目的位元在所述第一周期中被隨機值取代。在本發明的示例性實施例中,被隨機選擇成被取代的位元被設定為對應的所述正確值的相反值。
本發明還提供一種防止電子電路通過功率分析而被竊聽的方法,所述方法包括:將對應多個正確值的初始的一組位元存儲至儲存元件;為所述所存儲的一組位元中的每一位元產生隨機位元;在第一周期中,將來自所述儲存元件的位元中的某些位元正確地提供至邏輯單元並以隨機值來取代所述位元中的其餘位元;在最後周期中,將所有所述存儲的一組位元正確地提供至所述邏輯單元;在所述最後周期中處理所有所述存儲的一組位元,以提供下一狀態的一組位元。
在本發明的一實施例中,上述的電路是通過兩個時脈信號驅動,所述兩個時脈信號中的一者的頻率是另一者的一半。視情況,所述方法包括存儲用以供在所述最後周期中使用的所述所存儲的一組位元的正確值至與所述儲存元件相關聯的一中間儲存器。在本發明的示例性實施例中,所述方法更包括由用於所述所存儲位元中的每一位元的選擇器根據所述隨機位元在所述正確值與隨機值之間進行選擇。視情況,存儲所述初始的一組位元的步驟更包括加密所存儲的一組位元。在本發明的示例性實施例中,在所述最後周期提供所有所述存儲的一組位元至所述邏輯單元的步驟更包括解密所述所存儲的一組位元。視情況,在所述最後周期提供所有所述存儲的一組位元至所述邏輯單元的步驟更包括在所述第一周期自所述儲存元件獲得所述多個位元的一部分並以對應的正確值取代在所述第一周期已被所述多個隨機值取代的所述多個位元的其餘部分。在本發明的示例性實施例中,所述位元中的一半在所述第一周期中被隨機值取代。視情況,隨機數目的位元在所述第一周期中被隨機值取代。在本發明的示例性實施例中,被隨機選擇成被取代的位元被設定為對應的所述正確值的相反值。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是根據本發明的示例性實施例,顯示用於對加密裝置110實行功率攻擊的系統100的示意圖。在本發明的示例性實施例中,可使用示波器140或其他功率測量裝置來監測加密裝置110的功率輸入150。視情況,加密裝置110可為卡片讀取器(例如,用於讀取智慧卡120)、電路中的晶片或其他實作形式。
在本發明的示例性實施例中,通用電腦130被程式設計為與加密裝置110進行通信,例如將指令提供至加密裝置110並接收未經加密的交易資訊(transaction information)。視情況,在使用期間,加密裝置110例如自智慧卡120讀取經加密資訊並將未經加密資訊提供至電腦130以實行交易。在本發明的示例性實施例中,示波器140(oscilloscope)監測加密裝置110的功耗並將所記錄信號160提供至電腦130以用於分析。視情況,基於來自加密裝置110及/或示波器140的資訊,電腦130可確定在對所述資訊進行加密時使用的密碼金鑰或其他機密資訊。
圖2是根據本發明的示例性實施例,顯示加密裝置110的邏輯電路200的示意圖。在本發明的示例性實施例中,邏輯電路200包括儲存元件220(正反器S0…Sn)及組合邏輯單元210,儲存元件220用於存儲電流值/狀態,組合邏輯單元210接受來自儲存元件220的資料並計算下一值/狀態,所述下一值/狀態被存儲回至所述儲存元件220。在本發明的示例性實施例中,邏輯電路200在初始時被提供以外部輸入值230(例如,自智慧卡讀取的值)。視情況,邏輯電路200通過自外部輸入值230產生幾代(generations)下一值並接著將經處理/經解密的值例如輸出至電腦130而實行一個或多個處理周期。
圖3是根據本發明的示例性實施例,顯示加密裝置110的兩位元式邏輯電路300(two bit logic circuit)的示意圖。在本發明的示例性實施例中,邏輯電路300包括儲存元件320及組合邏輯單元310,儲存元件320具有兩個正反器(S0及S1)以用於存儲當前狀態,組合邏輯單元310在此種情形中將存儲值遞增1並將遞增後的值作為下一狀態而儲存回至儲存元件320中。時間線360示出驅動邏輯電路300時脈信號CLK的時脈值(clock value),且時間線370及380分別示出對於下一狀態及當前狀態而言存儲於儲存元件320中的值。在此種情形中,自0至3進行計數的簡單計數器由邏輯電路300來實作。
在本發明的示例性實施例中,存在兩個易受功率攻擊且可用作邏輯電路(例如200及300)的內容的潛在漏洞(potential leak)的位置。第一位置是在對下一值/狀態進行計算期間來自邏輯單元(例如210、310),且第二位置是在更新儲存器時(例如,在將下一值/狀態存儲回至儲存元件(例如220、320)時)。在本發明的實施例中,為了防止竊聽者利用功率分析來確定邏輯電路的當前內容,所述計算被分割成兩個或更多個周期。
圖4是根據本發明的示例性實施例,顯示加密裝置110的增強型邏輯電路400的示意圖。在本發明的示例性實施例中,增強型邏輯電路400包括具有兩個或更多個正反器(S0、S1...Si...Sm,為簡明起見僅示出S0及S1)的儲存元件420。邏輯電路400也包括組合邏輯單元410,組合邏輯單元410因應於其輸入而提供下一狀態位元N0、N1...Ni...Nm(為簡明起見僅示出N0及N1)。
在本發明的示例性實施例中,邏輯電路400包括隨機位元產生器440,隨機位元產生器440如儲存元件420一樣提供m個隨機位元(R0、R1...Ri...Rm)。視情況,具有為“零”的值的隨機位元Ri表示正反器Si存儲的位元將在第一周期中被傳遞至邏輯單元410,而具有為“一”的值的隨機位元Ri表示正反器Si存儲的位元將僅在第二周期中被傳遞至邏輯單元410。隨機位元Ri隨機選擇正反器S0至Sm存儲的位元中的1個或多個位元在第一周期中通過組合邏輯單元410進行處理且選擇其餘位元僅在第二周期中通過組合邏輯單元410進行處理。視情況,隨機位元產生器440可提供隨機位元序列(random bit sequence),在所述隨機位元序列中所述位元的一半為“零”,以使得所述位元的一半將在第一周期中得到處理且接著所有所述位元將在第二周期中得到處理。此將通過組合邏輯單元410進行處理的計算分割成兩個周期並防止所述計算通過功率分析而被破譯。在本發明的某些實施例中,所述計算可被分割成多於兩個周期。
在本發明的示例性實施例中,對於每一正反器Si存儲的位元均提供選擇器Li(L0及L1示出於圖4中)。視情況,當隨機位元Ri為“零”時,所述選擇器Li將正反器Si存儲的位元的正確值傳遞至組合邏輯單元410,然而當Ri為“1”時,則在第一周期中,隨機值(Ri,例如R0及R1示出於圖4中)通過互斥或(XOR)閘480而自隨機串流460提供至組合邏輯單元410,且在第二周期中,正反器Si存儲的位元被傳遞至組合邏輯單元410。視情況,所述隨機值是與由隨機位元產生器440所提供的相同的(Ri)或者其可來自不同的隨機位元產生器。相同地,被隨機選擇成被取代的位元可被設定為正確值的相反值(例如,以“一”替代“零”、及以“零”替代“一”)。在本發明的示例性實施例中,增強型邏輯電路400包括指示器450,指示器450為第一周期提供為“1”的值且為第二周期提供為“0”的值。視情況,在第一周期中,所述為“1”的值使得隨機值能夠被提供至選擇器Li並接著在Ri具有為“1”的值時被提供至組合邏輯單元410。在本發明的示例性實施例中,中間存儲單元470被設置成在Ri為“1”的情形中保存將於第二周期被傳送出的正反器Si存儲的位元的值。
圖5是增強型邏輯電路400的邏輯信號及功耗隨時間變化的示意圖500,且圖6是根據本發明的示例性實施例的一種在兩個周期中實行邏輯計算的方法600的流程圖。在本發明的示例性實施例中,增強型邏輯電路400使用2個時脈信號,這兩個時脈信號中的一者具有時脈頻率clk 510且一者具有上述頻率的一半clk/2 520。視情況,所述電路中的某些元件以頻率clk 510運作而某些則以上述頻率的一半clk/2 520運作(在兩個周期內)。在本發明的示例性實施例中,邏輯電路400將這些正反器Si存儲的初始的一組位元的值接受至儲存元件420中(步驟610)。信號550示出增強型邏輯電路400中的示例性的這些正反器Si存儲的一組位元。視情況,隨機位元產生器440通過信號530而產生如圖所示的隨機的一組位元Ri,以確定哪些正反器Si存儲的位元將在第一周期中使用且哪些位元將僅在第二周期中使用(步驟620)。
在第一周期中,將某些正反器Si存儲的位元自儲存元件420傳遞至組合邏輯單元410並以隨機值取代某些位元(步驟630)。隨機位元Ri確定在第一周期中傳遞哪些位元及取代哪些位元。在第二周期中,將所有位元自儲存元件420傳遞至組合邏輯單元410(以真實位元(real bits)取代隨機位元)(步驟640)。視情況,在第二周期中,在組合邏輯單元410中消耗大量功率的自0變至1的位元減少,原因在於約一半已經在前一周期中得到改變。組合邏輯單元410的處理結果用作下一狀態位元Ni(540)而被存儲回至儲存元件420中(步驟650)。
在本發明的示例性實施例中,時間線560示出邏輯電路的標準功率使用量,與此相對,時間線570示出被在兩個周期中隨機分割成兩部分的功耗。在第一周期中正確地設定所述位元中的某些位元,且在第二周期中僅修正某些位元。
圖7是根據本發明的示例性實施例,顯示也對下一狀態位元Ni(540)進行遮罩的加密裝置110的增強型邏輯電路700的示意圖。除增強型邏輯電路400如以上所闡釋僅防止對組合邏輯單元410進行功率分析而不防止對儲存元件420進行功率分析以外,增強型邏輯電路700相似于增強型邏輯電路400。在增強型邏輯電路700中,使用一對互連的互斥或(XOR)閘(710、720)對存儲於儲存元件420中的資料位元進行加密及解密。視情況,互斥或(XOR)閘710將隨機遮罩應用至下一狀態位元Ni,以使下一狀態位元Ni在存儲於儲存元件420中時被隨機地加密,以防止利用功率分析進行竊聽。相同地,互斥或閘720應用所述隨機遮罩以在正反器Si存儲的位元到達組合邏輯單元410時對正反器Si存儲的位元進行解密,以使正確的資料得到處理。
圖8是根據本發明的示例性實施例,也對下一狀態進行遮罩的加密裝置的另一增強型邏輯電路800的示意圖。除其未實作有中間存儲單元470以外,增強型邏輯電路800相似于增強型邏輯電路700。
在本發明的示例性實施例中,增強型邏輯電路400可被設計成以與上述相似的方式(例如,在第一周期中將所述位元中的某些位元改變成正確值、在第二周期中將某些位元改變成正確值、及在第三周期中將某些位元改變成正確值)支持三個或更多個周期。視情況,每一周期可引入相同數目的正確位元。
還應領會到,上述方法及設備可以許多方式加以改變,包括省略或添加步驟、改變步驟的次序及所使用裝置的類型。應領會到,不同的特徵可以不同的方式加以組合。具體而言,以上在特定實施例中示出的所有特徵並非均為本發明的每一實施例所必需的。以上特徵的其他組合也被視為處於本發明的某些實施例的範圍內。所屬領域的技術人員還將領會到,本發明並非僅限於已在上文中具體示出並闡述者。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
100‧‧‧系統
110‧‧‧加密裝置
120‧‧‧智慧卡
130‧‧‧電腦
140‧‧‧示波器
150‧‧‧功率輸入
160‧‧‧所記錄信號
200、300、400‧‧‧邏輯電路
210、310、410‧‧‧邏輯單元
220、320、420‧‧‧儲存元件
230‧‧‧外部輸入值
360、370、380‧‧‧時間線
440‧‧‧隨機位元產生器
450‧‧‧指示器
460‧‧‧隨機串流
470‧‧‧中間存儲單元
480‧‧‧互斥或(XOR)閘
500‧‧‧示意圖
510‧‧‧時脈頻率clk
520‧‧‧時脈頻率的一半clk/2
530‧‧‧信號
540‧‧‧下一狀態位元
550‧‧‧信號
560、570‧‧‧時間線
600‧‧‧方法
610、620、630、640、650‧‧‧步驟
700、800‧‧‧增強型邏輯電路
710、720‧‧‧互斥或閘
CLK‧‧‧時脈信號
clk‧‧‧時脈頻率
clk/2‧‧‧時脈頻率的一半
L0、L1‧‧‧選擇器
N0、N1‧‧‧下一狀態位元
R0、R1、Ri‧‧‧隨機位元
S0、S1、Sn‧‧‧正反器
圖1是根據本發明的示例性實施例,顯示用於對加密裝置實行功率攻擊的系統的示意圖。 圖2是根據本發明的示例性實施例,顯示加密裝置的邏輯電路的示意圖。 圖3是根據本發明的示例性實施例,顯示加密裝置的兩位元式邏輯電路(two bit logic circuit)的示意圖。 圖4是根據本發明的示例性實施例,顯示加密裝置的增強型邏輯電路的示意圖。 圖5是根據本發明的示例性實施例,顯示邏輯信號及功耗隨時間變化的示意圖。 圖6是根據本發明的示例性實施例,顯示一種分兩個周期實行邏輯計算的方法的流程圖。 圖7是根據本發明的示例性實施例,顯示也對下一狀態進行遮罩的加密裝置的增強型邏輯電路的示意圖。 圖8是根據本發明的示例性實施例,顯示也對下一狀態進行遮罩的加密裝置的另一增強型邏輯電路的示意圖。

Claims (20)

  1. 一種防止通過功率分析進行竊聽的電子電路,包括: 儲存元件,用於存儲對應多個正確值的一組位元; 邏輯單元,用於處理所述所存儲的一組位元並在兩個或更多個周期之後提供下一狀態的一組位元;其中在第一周期中,所述所存儲的一組位元中的某些位元被正確地提供至所述邏輯單元且某些位元被多個隨機值取代,且在最後的周期中,所有所述所儲存的一組位元被正確地提供至所述邏輯單元;以及 隨機位元產生器,為所述所存儲的一組位元中的每一位元產生隨機位元,以確定欲正確地提供所述所存儲的一組位元的哪些位元,以及確定在每一周期中欲取代哪些位元。
  2. 如申請專利範圍第1項所述的電子電路,所述電路是通過兩個時脈信號驅動,所述兩個時脈信號中的一者的頻率是另一者的一半。
  3. 如申請專利範圍第1項所述的電子電路,還包括與所述儲存元件相關聯的中間儲存器,所述中間儲存器用於存儲所述所存儲的一組位元的所述多個正確值以供在所述最後周期中使用。
  4. 如申請專利範圍第1項所述的電子電路,還包括與所述儲存元件以及隨機位元產生器相關聯的用於所述所存儲的一組位元中的每一位元的選擇器;其中所述選擇器由所述隨機位元控制以在所述多個正確值與所述多個隨機值之間進行選擇。
  5. 如申請專利範圍第1項所述的電子電路,所述所存儲的一組位元是以加密形式存儲於所述儲存元件中。
  6. 如申請專利範圍第5項所述的電子電路,所述所存儲的一組位元是在被提供至所述邏輯單元時進行解密。
  7. 如申請專利範圍第1項所述的電子電路,在一第二周期中,所述對應所述隨機值的所述被取代的位元更被對應的正確值取代並被提供至所述邏輯單元。
  8. 如申請專利範圍第1項所述的電子電路,所述多個位元中的一半在所述第一周期中被所述多個隨機值取代。
  9. 如申請專利範圍第1項所述的電子電路,隨機數目的位元在所述第一周期中被所述多個隨機值取代。
  10. 如申請專利範圍第1項所述的電子電路,被隨機選擇成被取代的位元被設定為對應的所述正確值的相反值。
  11. 一種防止電子電路通過功率分析而被竊聽的方法,包括: 將對應多個正確值的初始的一組位元存儲至儲存元件; 為所述所存儲的一組位元中的每一位元產生隨機位元; 在第一周期中,將來自所述儲存元件的位元中的某些位元正確地提供至邏輯單元並以隨機值來取代所述位元中的其餘位元; 在最後周期中,將所有所述存儲的一組位元正確地提供至所述邏輯單元;以及 在所述最後周期中處理所有所述存儲的一組位元,以提供下一狀態的一組位元。
  12. 如申請專利範圍第11項所述的方法,所述電路是通過兩個時脈信號而驅動,所述兩個時脈信號中的一者的頻率是另一者的一半。
  13. 如申請專利範圍第11項所述的方法,包括存儲用以供在所述最後周期中使用的所述所存儲的一組位元的正確值至與所述儲存元件相關聯的一中間儲存器。
  14. 如申請專利範圍第11項所述的方法,更包括由用於所述所存儲位元中的每一位元的選擇器根據所述隨機位元在所述正確值與隨機值之間進行選擇。
  15. 如申請專利範圍第11項所述的方法,其中存儲所述初始的一組位元的步驟更包括加密所存儲的一組位元。
  16. 如申請專利範圍第15項所述的方法,其中在所述最後周期提供所有所述存儲的一組位元至所述邏輯單元的步驟更包括解密所述所存儲的一組位元。
  17. 如申請專利範圍第11項所述的方法,其中在所述最後周期提供所有所述存儲的一組位元至所述邏輯單元的步驟更包括在所述第一周期自所述儲存元件獲得所述多個位元的一部分並以對應的正確值取代在所述第一周期已被所述多個隨機值取代的所述多個位元的其餘部分。
  18. 如申請專利範圍第11項所述的方法,所述位元中的一半在所述第一周期中被所述多個隨機值取代。
  19. 如申請專利範圍第11項所述的方法,隨機數目的位元在所述第一周期中被所述多個隨機值取代。
  20. 如申請專利範圍第11項所述的方法,被隨機選擇成被取代的位元被設定為對應的所述正確值的相反值。
TW106102334A 2016-01-26 2017-01-23 防止通過功率分析進行竊聽的電子電路及其防止竊聽的方法 TWI637618B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IL243789A IL243789A0 (en) 2016-01-26 2016-01-26 Split calculation of the next state to prevent analysis by energy consumption
IL243789 2016-01-26

Publications (2)

Publication Number Publication Date
TW201728120A TW201728120A (zh) 2017-08-01
TWI637618B true TWI637618B (zh) 2018-10-01

Family

ID=57300865

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106102334A TWI637618B (zh) 2016-01-26 2017-01-23 防止通過功率分析進行竊聽的電子電路及其防止竊聽的方法

Country Status (7)

Country Link
US (1) US10374791B2 (zh)
EP (1) EP3200173B1 (zh)
KR (1) KR101997005B1 (zh)
CN (1) CN107016292B (zh)
ES (1) ES2807214T3 (zh)
IL (1) IL243789A0 (zh)
TW (1) TWI637618B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878133B2 (en) * 2018-11-18 2020-12-29 Nuvoton Technology Corporation Mitigation of side-channel attacks using small-overhead random pre-charging
US11184149B2 (en) * 2019-02-19 2021-11-23 International Business Machines Corporation Computing range queries over encrypted data
US11663039B2 (en) 2020-04-07 2023-05-30 International Business Machines Corporation Workload management using reinforcement learning

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252244A1 (en) * 2010-04-07 2011-10-13 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US20120174234A1 (en) * 2009-08-27 2012-07-05 Stmicroelectronics (Rousset) Sas Countermeasure method and device for portecting data circulating in an electronic component
US20120204056A1 (en) * 2011-02-03 2012-08-09 Cedric Denis Robert Airaud Power Signature Obfuscation
TW201537332A (zh) * 2014-03-28 2015-10-01 Mitsubishi Electric Corp 時脈相位控制電路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003238633A1 (en) * 2002-07-10 2004-02-02 Koninklijke Philips Electronics N.V. Electronic circuit with array of programmable logic cells
JP2008085986A (ja) 2006-08-30 2008-04-10 Ricoh Co Ltd データ変換装置と電子装置とデータ変換方法
US7554865B2 (en) * 2006-09-21 2009-06-30 Atmel Corporation Randomizing current consumption in memory devices
JP6362277B2 (ja) * 2012-06-01 2018-07-25 ブラックベリー リミテッドBlackBerry Limited マルチフォーマットオーディオシステムにおけるロック保証のための確率的方法に基づく汎用同期エンジン
US9183399B2 (en) * 2013-02-14 2015-11-10 International Business Machines Corporation Instruction set architecture with secure clear instructions for protecting processing unit architected state information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120174234A1 (en) * 2009-08-27 2012-07-05 Stmicroelectronics (Rousset) Sas Countermeasure method and device for portecting data circulating in an electronic component
US20110252244A1 (en) * 2010-04-07 2011-10-13 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US20120204056A1 (en) * 2011-02-03 2012-08-09 Cedric Denis Robert Airaud Power Signature Obfuscation
TW201537332A (zh) * 2014-03-28 2015-10-01 Mitsubishi Electric Corp 時脈相位控制電路

Also Published As

Publication number Publication date
US20170214520A1 (en) 2017-07-27
ES2807214T3 (es) 2021-02-22
KR20170089395A (ko) 2017-08-03
CN107016292B (zh) 2020-05-12
TW201728120A (zh) 2017-08-01
EP3200173A1 (en) 2017-08-02
US10374791B2 (en) 2019-08-06
IL243789A0 (en) 2016-07-31
EP3200173B1 (en) 2020-06-03
CN107016292A (zh) 2017-08-04
KR101997005B1 (ko) 2019-10-01

Similar Documents

Publication Publication Date Title
US10491372B2 (en) Protection method and device against a side-channel analysis
EP1873671B2 (en) A method for protecting IC Cards against power analysis attacks
JP6499519B2 (ja) メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム
CN106688027A (zh) 依赖puf和地址的数据加密
CN107005415A (zh) 用于加密/解密消息的块加密方法以及实现该方法的密码设备
TWI637618B (zh) 防止通過功率分析進行竊聽的電子電路及其防止竊聽的方法
US20160062920A1 (en) Address-dependent key generation with a substitution-permutation network
Tunstall Smart card security
JP5136416B2 (ja) 擬似乱数生成装置、ストリーム暗号処理装置及びプログラム
CN111008407A (zh) 用于执行虚拟加密操作的加密电路
TW200822665A (en) Encryption calculation circuit
TWI579774B (zh) Fingerprint Sensing Integral Circuit and Its Disturbing Encryption Method
JP4386766B2 (ja) データ処理装置における誤り検出
TWI533652B (zh) 用於可計算、大型、可變及安全的替換盒之方法及裝置
CN113268745B (zh) 基于Camellia加密算法的软PUF
JP4435593B2 (ja) 耐タンパー情報処理装置
JP2006025366A (ja) 暗号化装置及び半導体集積回路
Yu et al. On designing PUF-based TRNGs with known answer tests
Shimizu et al. Unified coprocessor architecture for secure key storage and challenge-response authentication
US20240020383A1 (en) Method and circuit for protecting an electronic device from a side-channel attack
Pan et al. Obfuscation Algorithm Design Based on Fully Homomorphism
Li et al. Optimization of Security Identification in Power Grid Data through Advanced Encryption Standard Algorithm
Abubaker Probabilistic, lightweight cryptosystems based on finite automata
Selmane Global and local Fault attacks on AES cryptoprocessor: Implementation and Countermeasures.
Balasch Implementation Aspects of Security and Privacy in Embedded Design