對電力分析攻擊具安全性的加密裝置及其操作方法
【專利摘要】提供一種加密裝置及其操作方法。該加密裝置包括用于執行加密演算法的加密模塊。在對應于該加密演算法被執行前的時間區域第1狀態下,該加密裝置包含的第1電荷傳送單元從外部電源接收電源,并存儲在該加密裝置中的電荷存儲單元。此外,在對應于該加密演算法被執行的時間區域的第2狀態下,該加密裝置中包含的第2電荷傳送單元將該電荷存儲單元中存儲的電荷傳送給該加密模塊。此外,在對應于該加密演算法被執行后的時間區域的第3狀態下,該電荷存儲單元將包含在其內部的用于存儲電荷的電荷存儲元件放電。其中,在第2狀態下,第1電荷傳送單元使該加密模塊的接地終端與該外部電源的接地終端不連接來切斷連接。
【專利說明】對電力分析攻擊具安全性的加密裝置及其操作方法
【技術領域】
[0001]本發明涉及數字安全領域,特別是,涉及一種電力分析攻擊中具安全性的加密裝 置及其操作方法。
技術背景
[0002]過去,在加密系統的安全性中,利用密鑰(Secret key)的加密演算法十分重要。因 此,有關加密系統的安全的研究集中在防御有關密鑰和加密演算法的直接攻擊。
[0003]但是,實際上,除了有關密鑰和加密演算法的直接攻擊以外,加密系統對于類似多 個輸入/輸出信號(比如說,電壓或電流的大小等)及多個泄漏信息(leakage information) (比如說,電磁波放射、電力變化等)的物理性值檢測的直接攻擊具有易受攻擊的一面。
[0004]不損耗芯片(without depacking a chip)且通過檢測上述的物理性值來使加密 系統易受攻擊的行為稱為非侵入性攻擊(Non-1nvasive attack)。此外,在非侵入性攻擊 中,利用輸入值、輸入值及其他附加地(物理性)信息從而使加密系統易受攻擊的行為被稱 為旁路攻擊(Side-channel attack)。
[0005]有關加密系統的攻擊,也可通過有關所述系統內的各模塊演算的分析被理解,所 述旁路攻擊中,根據分析方法具有以下幾種類型。定時攻擊(Timing attack)是根據演算利 用演算時間的差異來掌握密碼內容,且電力消耗分析攻擊(Power consumption analysis attack)是檢測加密/解碼時消耗的電力來掌握密碼內容,且微分電磁攻擊(Differential electromagnetic attack)是檢測演算時的電磁波泄漏來掌握密碼的內容。
[0006]在上述的旁路攻擊方法中,電力消耗分析攻擊也可簡稱為電力分析攻擊(Power analysis attack),其可分為:檢測演算時的電源的電流值來進行簡單分析的SPA (Simple power analysis);統計性地分析電流的 DPA (Differential power analysis);和將多個 DPA 組合來多兀分析的 H0-DPA (High-order differential power analysis)
[0007]在對應于上述的旁路攻擊的防御技術中,包括:隱藏(Hiding)技術,使電力消耗 相同或隨機來清除電力消耗和數據(主要為密鑰)的關聯性,;掩蔽(Masking)技術,將演算 中間過程的數據隨機來除去電力消耗和數據(主要為密鑰)的相關性。
[0008]其中,在隱藏技術中,包括軟件方式(Software approach)和硬件方式(Hardware approach),由于在使用硬件方式時,可隱藏演算的種類和電源電流值之間的關聯性并去除 根據值模式的電流值的差異性,因此,對其的關注正在不斷提高。
[0009]此外,在用于實現防止電力分析攻擊的隱藏技術的方法中,包括預充邏輯電路 (Precharge Logic),使輸入至加密模塊或從加密模塊中輸出的電壓和/或電流的值相同。
[0010]但是,上述預充邏輯電路(Precharge Logic)的情況下,雖然在理論上,輸入至加 密模塊或從加密模塊中輸出的電壓和/或電流的值相同,但實際上加密模塊不能完全保證 相同性。
【發明內容】
[0011]技術課題
[0012]提供一種加密裝置及其操作方法,在對電力分析攻擊具安全性的預充邏輯電路中,使輸入至加密模塊或從加密模塊中輸出的電壓和/或電流的值比現有技術具有更高水平的相同性。
[0013]技術方案
[0014]根據本發明的一個側面,提供一種加密裝置,包括:加密模塊,執行加密演算法;和控制模塊,從外部電源接收電荷,將電荷傳送至所述加密模塊后,切斷所述加密模塊和所述電源的模塊之間的電流路徑(current path),從而將電荷傳送至所述加密模塊。
[0015]在這種情況下,所述控制模塊在所述加密演算法被執行期間,可將所述外部電源與所述加密模塊之間電切斷。
[0016]根據本發明的一個實施例,所述控制模塊,包括:電荷存儲單元,將電荷存儲一段時間后,提供給所述加密模塊。
[0017]此外,所述加密模塊,其可與不同于所述外部電源的接地節點的其他接地節點連接。
[0018]此外,所述電荷存儲單元可包括:用于存儲電荷的電容器。在這種情況下,所述控制模塊可進一步包括:第I電荷傳送單元,在對應于所述加密演算法被執行之前的時間區域的第I狀態下,從所述外部電源接收電源,并傳送給所述電荷存儲單元,從而將所述電容器充電。
[0019]在這種情況下,所述第I電荷傳送單元,可包括:第I開關,使所述外部電源的正極節點VDD節點與所述電容器的第 I終端之間短路或開路;和第2開關,與所述第I開關同時被觸發,使所述外部電源的接地節點GND節點與所述電容器的第2終端之間短路或開路。
[0020]同時,根據本發明的一個實施例,所述控制模塊,進一步包括:第2電荷傳送單元,在對應于所述加密演算法被執行的時間區域的第2狀態下,從所述電荷存儲單元接收電荷,并傳送給所述加密模塊。
[0021]此外,所述第2電荷傳送單元,可包括:第3開關,使所述電容器的第I終端與所述加密模塊的第I終端之間短路或開路;和第4開關,與所述第3開關同時被觸發,使所述電容器的第2終端與所述加密模塊的第2終端之間短路或開路。
[0022]根據本發明的一個實施例,所述電荷存儲單元,可進一步包括--第5開關,在對應于所述加密演算法被執行后的時間區域的第3狀態下關閉,將所述電荷存儲單元中包括的所述電容器放電。
[0023]根據本發明的另一個側面,提供一種加密裝置,包括:加密模塊,執行加密演算法;第I電荷傳送單元,在對應于所述加密演算法被執行之前的時間區域的第I狀態下,從外部電源接收電源;電荷存儲單元,將所述第I狀態中所述第I電荷傳送單元所接收并傳送的電荷進行存儲;和第2電荷傳送單元,在對應于所述加密演算法被執行的時間區域的第2狀態下,從所述電荷存儲單元接收電荷,并傳送給所述加密模塊,且其中,在所述第2狀態下,所述第I電荷傳送單元使所述加密模塊的接地終端與所述外部電源的接地終端不連接,來切斷連接。
[0024]根據本發明的又另一個側面,提供一種加密裝置的操作方法,所述加密裝置包括用于執行加密演算法的加密模塊,所述加密裝置的操作方法包括以下步驟:在對應于所述加密演算法被執行之前的時間區域的第I狀態下,所述加密裝置中所包含的第I電荷傳送 單元從外部電源接收電源,并存儲在所述加密裝置中所包含的電荷存儲單元中;在對應于 所述加密演算法被執行的時間區域的第2狀態下,所述加密裝置中所包含的第2電荷傳送 單元將所述電荷存儲單元中存儲的電荷傳送給所述加密模塊,且所述加密模塊執行所述加 密演算法;以及在對應于所述加密演算法被執行后的時間區域的第3狀態下,所述電荷存 儲單元將包含在所述電荷存儲單元內部的用于存儲電荷的電荷存儲元件放電。
[0025]技術效果
[0026]由于從外部電源提供至加密模塊的電流與加密模塊的演算法執行完全無關,因 此,可保障輸入至加密模塊或從加密模塊中輸出的電壓和/或電流的值比現有技術具有更 高水平的相同性,從而防止有關所述加密模塊的電力分析攻擊。
【專利附圖】
【附圖說明】
[0027]圖1是示出根據本發明的一個實施例的加密裝置的示圖;
[0028]圖2是更詳細地示出根據本發明的一個實施例的加密裝置的示圖;
[0029]圖3是示出根據本發明的一個實施例的加密裝置通過接收電荷,將電容器C22充 電的第I狀態SI的示圖;
[0030]圖4是示出根據本發明的一個實施例的加密裝置利用電容器C22中充電的電荷來 執行加密演算法的第2狀態S2的示圖;
[0031]圖5是示出根據本發明的一個實施例的加密裝置在執行加密演算法后將電容器 C22放電至一定水平的第3狀態S3的示圖。
【具體實施方式】
[0032]以下,參照附圖對本發明的實施例進行詳細地說明。但是,本發明并不受實施例限 制或局限,各附圖中所示出的相同符號表示相同的部件。
[0033]圖1是示出根據本發明的一個實施例的加密裝置100的示圖。
[0034]加密裝置100包括加密模塊110和控制模塊200。加密模塊(Encryption module) 110從控制模塊(Control module) 220接收電荷來執行加密演算法。控制模塊200 與VDD節點和GND節點連接,從外部電源單元接收電荷,并通過后述的操作方法提供給加密 模塊110。
[0035]應理解,根據本發明的實施例加密模塊110并不局限于特定的加密電路結構或演 算法。因此,加密模塊110可包括多種結構,利用加密密鑰(Encryption Key)來執行加密
演算法。
[0036]如圖所示出的,根據本發明的一個實施例,電流iVDD從提供電流的VDD節點被輸入 至加密裝置100,其與加密模塊中被演算的加密密鑰無關,任何時候具有相同的值,且電流 iGND從加密裝置被輸出至GND(Ground)節點,同樣與加密模塊中被演算的加密密鑰無關,任 何時候具有相同的值,因此,可有效地防止非侵入方式的電力分析攻擊。
[0037]根據現有的技術,不管預先設計與否,加密裝置100除了可以與VDD節點和GND節 點連接以外,也可與其他外部系統(external system)進行物理性連接。
[0038]特別是,GND節點,其不僅是加密裝置100的一部分,也可以是外部的其他電路之間的共同節點(may be a common node)。因此,當加密裝置100和VDD節點之間被開路 (opend), iVDD=0時,iGND也可能不是完整的O。
[0039]因此,根據現有的技術,不能完全排除經精密的ieND檢測或GND節點的電壓探測 (probing)產生電壓分析攻擊的可能性。
[0040]但是,根據本發明的實施例,由于加密裝置100和VDD節點之間被開路(opend) 時,加密裝置100和GND節點之間也被開路(opend),因此,在執行加密演算法時,可切斷經 GND節點中的電壓探測而可能產生的電力分析攻擊。
[0041]以下,參照圖2,對根據本發明的實施例的加密裝置100的結構及操作方法進行詳細地說明。
[0042]圖2是更詳細地示出根據本發明的一個實施例的加密裝置100的示圖。
[0043]根據本發明的一個實施例,控制模塊200包括第I電荷傳送單元210、電荷存儲單元220、和第2電荷傳送單元230。
[0044]根據本發明的一個實施例,第I電荷傳送單元210可包括:開關S11,用來決定是否與VDD節點短路(short) /開路(open);和開關S12,用來決定是否與GND節點短路/開路。
[0045]在此,開關SI I和開關S12被同時被觸發(triggered simultaneously),使加密裝置100與VDD節點之間為開路時,加密裝置100與GND節點也完全開路。
[0046]此外,電荷存儲單元220包括:電容器C22,將從第I電荷傳送單元接收的電荷充電;和分路開關S21,根據需要將電容器C22放電。
[0047]此外,第2電荷傳送單元230可包括開關S31、S32,將加密模塊110操作時所需的電流從電荷存儲單元220傳送至加密模塊110。
[0048]根據本發明的一個實施例,所述開關S31、S32被同時觸發,當開關S31、S32被打開時,加密裝置100內的加密模塊110與第2傳送單元230之間的節點被完全開路。
[0049]此外,以電路形式被圖示的各結構可通過多種電路模塊或元件來體現。例如,根據本發明的一個實施例的開關,可通過互補金屬氧化物半導體CMOS (Complementary metal -oxide - semiconductor)開關等已知的多種元件來體現。
[0050]此外,根據本發明的實施例,加密裝置100通過VDD節點及GND節點從外部電源接收電荷,并利用接收的電荷,按順序地來執行加密演算法的一系列操作步驟,并根據需要分為重復的三個狀態(State)。
[0051]上述狀態可包括:第I電荷傳送單元210將從電源接收的電荷傳送至電荷存儲單元220,從而將電容器C22充電的第I狀態SI ;第2電荷傳送單元230將存儲在電容器C22 中的電荷傳送給加密模塊110,從而來執行加密演算法的第2狀態S2 ;以及將電容器C22放電的第3狀態S3。
[0052]此外,上述狀態SI至S3構成用于執行加密演算法的一個周期(Cycle),根據需要, 可對應于該周期來重復狀態SI至S3。例如,可以是S1-S2-S3-S1-…的順序。
[0053]以下,參照圖3至圖5,對狀態SI至S3中第I電荷傳送單元210、電荷存儲單元 220、第2電荷傳送單元220的操作進行詳細地說明。
[0054]圖3是示出根據本發明的一個實施例的加密裝置通過接收電荷,將電容器C22充電的第I狀態SI的示圖。[0055]在第I狀態SI中,第I電荷傳送單元210將外部電源提供的電荷傳送至電荷存儲單元220的電容器C22,來將電容器C22充電。
[0056]在第I狀態SI中,雖然開關Sll和開關S12被關閉(closed),來將C22充電,但是,由于開關S31和開關S32被打開,因此,加密裝置100外部和加密模塊110的連接完全被切斷(disconnected)。S卩,在狀態SI中,第2電荷傳送單元230將電荷存儲單元220和加密模塊110之間的連接切斷。
[0057]在這種情況下,由于電容器隨時為完全放電的狀態,因此,電源提供的電流iVDD只根據電容器的大小被決定。也就是說,電源所提供的電流iVDD與之前狀態下所執行的加密模塊的加密密鑰值完全無關。
[0058]圖4是示出根據本發明的一個實施例的加密裝置利用電容器C22中充電的電荷來執行加密演算法的第2狀態S2的示圖。
[0059]在第2狀態S2中,第I電荷傳送單元210將電荷存儲單元220和外部的連接完全切斷。如圖所示出的,開關Sll和開關S12同時被打開,加密裝置100內的電荷存儲單元220從外部電源的兩側節點VDD節點和GND節點中被完全分離。
[0060]在第2狀態S2中,電荷存儲單元220通過第2電荷傳送單元230將電荷傳送至加密模塊110,且加密模塊110利用接收到的電荷來執行加密演算法。
[0061]在該加密過程中,加密模塊中所消耗的電荷量,S卩,電流,雖然依賴于加密密鑰值,但加密裝置100的外部,如圖2的VDD節點和GND中,由于不能與加密模塊110進行任何連接,因此,不可能電力分析攻擊。
[0062]由于加密模塊110使用后剩余的(residual)電荷仍存在于電容器C22中,且該殘余電荷為加密模塊中消耗剩余的量,所以依賴于加密密鑰值。在這種情況下,將該殘余電荷照原樣放電至GND節點時,通過檢測流至GND節點的電流iVDD,便可電力分析攻擊。因此,在本發明中,使電容器兩端短路來代替將剩余的電壓放電至GND節點,由此,通過散熱(thermal dissipation)及福射(radiation)使殘余電荷放電后,重新執行用于充電的第I狀態SI。因此,可確切地防止電力分析攻擊。
[0063]圖5是示出根據本發明的一個實施例的加密裝置在執行加密演算法后將電容器C22放電至一定水平的第3狀態S3的示圖。
[0064]在第3狀態S3中,如上所述,在執行加密演算法之后,將電容器C22中剩余的電荷放電至一定的水平。
[0065]在第3狀態S3中,分路開關S21被關閉,來將電容器C22放電。雖然該放電是通過開關S21和電容器C22之間的電阻成分(未示圖)與電容器C22的電容(capacitance)被決定的,但由于放電在短時間內產生,因此,在下一個周期的第I狀態SI開始之前放電結束,不可能電力分析。上述的一定的水平可理解為不可能進行電力分析攻擊的水平。
[0066]在上述的第3狀態中,第I電荷傳送單元210將外部電源與電荷存儲單元220的連接完全切斷,此外,第2電荷傳送單元230將電荷存儲單元220與加密模塊110之間的連接完全切斷。
[0067]此外,根據實施例,在第I狀態SI至第3狀態S3之間,各狀態的狀態轉換(state-transition)時,可進一步包括所有開關被開路的步驟,從而使各狀態不重復。上述多種實施例,也可被擴展至為防止電力分析攻擊的其他任何的操作中。[0068]如上所述,根據本發明的實施例,電流iVDD從提供電流的VDD節點被輸入至加密裝 置100,其與加密模塊中被演算的加密密鑰無關,任何時候具有相同的值,且電流從加 密裝置100被輸出至GND (Ground)節點,同樣與加密模塊中被演算的加密密鑰無關,任何時 候具有相同的值。
[0069]因此,在加密演算法被執行期間和/或加密存儲單元220從外部電源接收電荷等 多種狀態下,可有效地防止電力分析攻擊。
[0070]根據本發明的實施例的方法,其可通過多種計算機手段被記錄在執行各種操作的 程序指令的計算機可讀媒體。該媒體計算機可讀媒體可包括獨立的或結合的程序指令、 數據文件、數據結構等。媒體和程序指令可專門為本發明的目的設計和創建,或為計算機 軟件技術人員熟知而應用。計算機可讀媒體的例子包括:磁媒體(magnetic media),如硬 盤、軟盤和磁帶;光學媒體(optical media),如⑶ROM、DVD ;磁光媒體(magneto-optical media),如光盤(floptical disk);和專門配置為存儲和執行程序指令的硬件設備,如只讀 存儲器(ROM)、隨機存取存儲器(RAM)等。程序指令的例子,既包括機器代碼,如由編譯器產 生的,也包括含有可由計算機使用解釋程序執行的更高級代碼的文件。所述硬件設備可配 置為作為一個以上軟件模塊運行以執行上面所述的本發明的示例性實施例的操作,反之亦 然。
[0071]如上所示,本發明雖然已參照有限的實施例和附圖進行了說明,但是本發明并不 局限于所述實施例,在本發明所屬領域中具備通常知識的人均可以從此記載中進行各種修 改和變形。
[0072]因此,本發明的范圍不受說明的實施例的局限或定義,而是由后附的權利要求范 圍以及與權利要求范圍等同的內容來定義。
【權利要求】
1.一種加密裝置,包括:加密模塊,執行加密演算法;和控制模塊,從外部電源接收電荷,將電荷傳送至所述加密模塊后,切斷所述加密模塊和所述電源的模塊之間的電流路徑,從而將電荷傳送至所述加密模塊。
2.如權利要求1所述的加密裝置,其中,所述控制模塊,在所述加密演算法被執行期間,將所述外部電源與所述加密模塊之間電切斷。
3.如權利要求1所述的加密裝置,其中,所述控制模塊,包括:電荷存儲單元,將電荷存儲一段時間后,提供給所述加密模塊。
4.如權利要求1所述的加密裝置,其中,所述加密模塊,其與不同于所述外部電源的接地節點的其他接地節點連接。
5.如權利要求3所述的加密裝置,其中,所述電荷存儲單元,包括:電容器,用于存儲電荷。
6.如權利要求5所述的加密裝置,其中,所述控制模塊,進一步包括:第I電荷傳送單元,在對應于所述加密演算法被執行之前的時間區域的第I狀態下,從所述外部電源接收電源,并傳送給所述電荷存儲單元,從而將所述電容器充電。
7.如權利要求6所述的加密裝置,其中,所述第I電荷傳送單元,包括:第I開關,使所述外部電源的正極節點VDD節點與所述電容器的第I終端之間短路或開路;和第2開關,與所述第I開關同 時被觸發,使所述外部電源的接地節點GND節點與所述電容器的第2終端之間短路或開路。
8.如權利要求5所述的加密裝置,其中,所述控制模塊,進一步包括:第2電荷傳送單元,在對應于所述加密演算法被執行的時間區域的第2狀態下,從所述電荷存儲單元接收電荷,并傳送給所述加密模塊。
9.如權利要求8所述的加密裝置,其中,所述第2電荷傳送單元,包括:第3開關,使所述電容器的第I終端與所述加密模塊的第I終端之間短路或開路;和第4開關,與所述第3開關同時被觸發,使所述電容器的第2終端與所述加密模塊的第 2終端之間短路或開路。
10.如權利要求5所述的加密裝置,其中,所述電荷存儲單元,進一步包括:第5開關,在對應于所述加密演算法被執行后的時間區域的第3狀態下關閉,將所述電荷存儲單元中包括的所述電容器放電。
11.一種加密裝置,包括:加密模塊,執行加密演算法;第I電荷傳送單元,在對應于所述加密演算法被執行之前的時間區域的第I狀態下,從外部電源接收電源;電荷存儲單元,將所述第I狀態中所述第I電荷傳送單元所接收并傳送的電荷進行存儲;和第2電荷傳送單元,在對應于所述加密演算法被執行的時間區域的第2狀態下,從所述電荷存儲單元接收電荷,并傳送給所述加密模塊,且其中,在所述第2狀態下,所述第I電荷傳送單元使所述加密模塊的接地終端與所述外部電源的接地終端不連接,來切斷連接。
12.如權利要求11所述的加密裝置,其中,所述電荷存儲單元,包括: 電容器,存儲所述第I電荷傳送單元所傳送的電荷;和 開關,對應于所述加密演算法被執行后的時間區域,并在對應于所述加密演算法被執行后其他加密演算法被執行之前的時間區域的第3狀態下,使所述電容器的正極短路,來將所述電容器放電。
13.—種加密裝置的操作方法,所述加密裝置包括用于執行加密演算法的加密模塊,所述加密裝置的操作方法包括以下步驟: 在對應于所述加密演算法被執行之前的時間區域的第I狀態下,所述加密裝置中所包含的第I電荷傳送單元從外部電源接收電源,并存儲在所述加密裝置中所包含的電荷存儲單元中; 在對應于所述加密演算法被執行的時間區域的第2狀態下,所述加密裝置中所包含的第2電荷傳送單元將所述電荷存儲單元中存儲的電荷傳送給所述加密模塊,且所述加密模塊執行所述加密演算法;以及 在對應于所述加密演算法被執行后的時間區域的第3狀態下,所述電荷存儲單元將包含在所述電荷存儲單元內部 的用于存儲電荷的電荷存儲元件放電。
【文檔編號】H04L9/06GK103460638SQ201180069458
【公開日】2013年12月18日 申請日期:2011年3月31日 優先權日:2011年3月31日
【發明者】金東奎, 崔秉德, 金兌郁 申請人:漢陽大學校產學協力團