TWI712915B - 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 - Google Patents
執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 Download PDFInfo
- Publication number
- TWI712915B TWI712915B TW104112261A TW104112261A TWI712915B TW I712915 B TWI712915 B TW I712915B TW 104112261 A TW104112261 A TW 104112261A TW 104112261 A TW104112261 A TW 104112261A TW I712915 B TWI712915 B TW I712915B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- command
- data manipulation
- instruction
- processing device
- Prior art date
Links
Images
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/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/556—Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- 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
-
- 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/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本發明揭示以抵抗外部監視攻擊的方式實行密碼編譯資料處理操作的系統及方法。一種例示性方法可包括:藉由一處理裝置來執行一第一資料操縱指令,該第一資料操縱指令影響該處理裝置之一內部狀態;執行一第二資料操縱指令,該第二資料操縱指令與該內部狀態互動;且藉由利用一不可預測資料項來執行一第三資料操縱指令而中斷該第一資料操縱指令與該第二資料操縱指令之一可偵測互動。
Description
本發明大體上係關於電腦系統,且更特定言之係關於密碼編譯資料處理系統及方法。
隨著用於獲得至受保護資料之未授權存取之系統及方法不斷進化,用於保護密碼編譯金鑰及/或其他敏感資料之系統及方法不斷進化。此等系統及方法之範圍係自蠻力密碼破解至複雜外部監視攻擊。
110A:AES回合
110N:AES回合
110Z:AES回合
120:純文字
130:加密文字
140A:所得狀態
140N:所得狀態
150N:輸入狀態
150Z:輸入狀態
200:指令集
310:輸入資料
320:功率跡線
330:資料相依性質
340:差異跡線
405A:尖波
405B:尖波
410:純文字輸入
420:K3金鑰部分
430:I3狀態
510A:AES加密回合/資料操縱指令
510B:AES加密回合/資料操縱指令
520A:內部狀態
520B:內部狀態
610A:資料操縱指令/密碼編譯資料指令
610B:資料操縱指令/密碼編譯資料指令
620A:內部狀態
620B:內部狀態
620X:內部狀態
630:資料操縱指令
700:方法
710:方塊
720:方塊
730:方塊
800:序列
810A:資料載入指令
810B:資料載入指令
810C:資料載入指令
810D:資料載入指令
810E:資料載入指令
850A:內部狀態
850B:內部狀態
850C:內部狀態
850D:內部狀態
850E:內部狀態
910A:資料載入指令
910B:資料載入指令
1000:方法/運算系統
1002:處理裝置
1004:主記憶體
1006:靜態記憶體
1008:網路介面裝置
1010:方塊/視訊顯示單元
1012:文數字輸入裝置
1014:游標控制裝置
1016:聽覺信號產生單元
1018:資料儲存裝置
1020:方塊/網路
1028:電腦可讀儲存媒體
1030:方塊/匯流排
本發明藉由實例之方式圖解說明,且並不藉由限制之方式,且可在連同圖式考量時參考下列詳細描述而被更充分理解。
圖1示意性地圖解說明藉由一通用或一專用資料處理裝置之一種例示性進階加密標準(AES)實施方案之一資料流程圖;圖2示意性地圖解說明藉由特定Intel®微處理器支援之AES-NI增強型指令集;圖3示意性地圖解說明一種例示性差分功率分析(DPA)測試;圖4示意性地圖解說明對一目標密碼編譯資料處理系統之一基於例示性DPA測試之攻擊;圖5示意性地圖解說明涉及一增強型加密指令集之循序密碼編譯
資料操縱指令之一資料洩漏;圖6示意性地圖解說明根據本發明之一或多項態樣藉由由資料處理系統執行一資料操縱指令而中斷循序密碼編譯資料操縱指令之互動;圖7描繪根據本發明之一或多項態樣之以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之一種例示性方法之一流程圖;圖8示意性地圖解說明涉及藉由一目標資料處理系統執行之循序資料載入指令之一資料洩漏;圖9示意性地圖解說明根據本發明之一或多項態樣藉由由資料處理系統執行額外資料載入指令而中斷循序資料載入指令之互動;圖10描繪根據本發明之一或多項態樣之以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之另一種例示性方法之一流程圖;圖11圖解說明一種例示性運算系統之一圖解表示,在例示性運算系統內可執行用於導致運算裝置實行本文中描述之方法之一組指令。
本文中描述以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之系統及方法。
本文中之「密碼編譯資料處理操作」應係指涉及秘密參數(例如,使用秘密金鑰之加密/解密操作)之一資料處理操作。本文中之「密碼編譯資料處理系統」應係指經組態或採用以用於實行密碼編譯資料處理操作之一資料處理系統(例如,一通用或專用處理器、一系統單晶片或類似物)。
本文中之「外部監視攻擊」係指藉由自目標密碼編譯資料處理系統之物理實施方案之特定態樣導出一或多個受保護資訊項而獲得至受保護資訊之未授權存取之一方法。側通道攻擊係基於相關聯於一目標密碼編譯資料處理系統之一或多個物理參數之量測值(諸如特定資
料處理操作之消逝時間、藉由特定電路之功率消耗、流動通過特定電路之電流、藉由目標密碼編譯資料處理系統之特定電路發射之熱或電磁輻射等等)之外部監視攻擊。
各種側通道攻擊可經設計以獲得至儲存於一目標加密系統內及/或藉由一目標加密系統處理之特定受保護資訊(例如,用於將輸入純文字(plain text)變換為一加密文字(cipher text)之加密金鑰)之未授權存取。在一闡釋性實例中,一攻擊者可利用基於目標資料處理系統之特定內部狀態之循序資料操縱操作之互動。攻擊者可應用差分功率分析(DPA)方法以回應於變化循序資料操縱操作之一或多個資料輸入而量測藉由一目標密碼編譯資料處理系統之功率消耗,且因此判定充當資料操縱操作之運算元之一或多個受保護資料項(例如,加密金鑰)。
本發明提供以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之方法。方法涉及中斷循序資料操縱操作之特定互動,如在下文中更詳細描述。本文中描述之系統及方法可藉由硬體(例如,通用及/或專用處理裝置及/或其他裝置及相關聯電路)、軟體(例如,可藉由一處理裝置執行之指令)或其等之一組合實施。本文中藉由實例之方式而非圖解說明之方式描述方法及系統之各種態樣。
在下文描述之各種闡釋性實例中,密碼編譯資料處理系統可經組態或採用以用於基於進階加密標準(AES)實施加密及/或解密方法。然而,本文中描述之以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之系統及方法可應用至各種其他密碼編譯資料處理系統及方法。
圖1示意性地圖解說明藉由一通用或一專用資料處理裝置之一種例示性AES實施方案之一資料流程圖。AES演算法實行若干次反覆(亦稱為「回合」)110A至110Z以使用一固定大小(128位元、192位元或256位元)之一加密金鑰及一固定大小(例如,128位元)之一純文字120
變換為一經加密文字130。各回合包括使用一回合金鑰(其係導出自加密金鑰之一子金鑰)在一輸入狀態上實行之特定演算法、邏輯或重新排序操作之一序列。接著,除最後回合以外之各回合之所得狀態140用作隨後回合之輸入狀態150。
一種例示性AES實施方案可藉由使用一128位元之純文字初始化狀態而開始。資料處理裝置可接著藉由使用互斥或(XOR)操作將第一回合金鑰新增至狀態而實行初始AES回合,以便判定回合1輸入狀態,其可在隨後藉由第一AES回合110A操作。
在一加密操作中,隨後AES回合110N之各者包括四個主要操作以更新狀態:替換位元組(對狀態之16個位元組之各者獨立操作)、移位列(重新排序狀態之16個位元組)、混合行(對狀態之四個32位元字組之各者獨立操作)及新增回合金鑰(使用XOR操作將回合金鑰新增至狀態)。最後AES回合110Z藉由省略混合行操作而包括上述操作之三者。在一解密操作(未在圖1中展示)中,各AES回合包括對應於上述操作之反操作,其等按反序實行。
各種AES實施方案之金鑰大小不同:128個位元、192個位元或256個位元。可藉由金鑰大小界定AES回合之數目:對於128個位元之金鑰大小,可實行十個AES回合;對於192個位元之金鑰大小,可實行十二個AES回合;且對於256個位元之金鑰大小,可實行十四個AES回合。
在特定實施方案中,資料處理裝置可支援用於AES密碼編譯操作之一增強型指令集。此一增強型指令集之指令可係基於AES演算法之一些運算密集型操作之硬體及/或微碼實施方案,因此相較於純軟體AES實施方案顯著改良整體效能。
圖2示意性地圖解說明藉由特定Intel®微處理器支援之AES-NI增強型指令集200。
AESDEC指令藉由實行四個反操作而實行一單一解密回合:反移位列、反替換位元組、反混合行及新增回合金鑰。
AESDECLAST指令藉由實行反移位列、反替換位元組及新增回合金鑰操作而實行最後解密回合。
AESENC指令藉由實行AES演算法之四個基本操作而實行一單一加密回合:移位列、替換位元組、混合行及新增回合金鑰。
AESENCLAST指令藉由實行移位列、替換位元組及新增回合金鑰操作而實行最後加密回合。
AESIMC指令將加密回合金鑰轉換為可用於解密之一形式。
AESKEYGENASSIST指令產生用於加密之回合金鑰。
PCLMULQDQ指令實行兩個值之無進位乘法。
雖然圖2中,貫穿本發明之相對應描述段落及各種闡釋性實例可係基於處理器架構及指令集之特定實例(包含AES-NI增強型指令集),但本文中描述之系統及方法可使用基於各種處理器架構及指令集之各種其他處理裝置(包含(例如)特定ARM®微處理器及特定SPARC®微處理器)來操作。在一闡釋性實例中,特定ARM®微處理器支援之一增強型指令集包括下列指令:分別用於實行AES加密或解密之一單一回合之AESE及AESD指令;分別用於實行AES混合行及反混合行操作之AESMC及AESIMC指令。在另一闡釋性實例中,特定SPARC®微處理器支援之一增強型指令集包括下列指令:用於實行AES加密或解密回合之AES_EROUND01、AES_EROUND23、AES_EROUND01_L、AES_EROUND_23_L、AES_DROUND01、AES_DROUND23、AES_DROUND01_L及AES_DROUND_23_L。
實施用於實行密碼編譯資料處理操作(例如,由圖2示意性地圖解說明之AES-NI增強型指令集)之一增強型指令集可顯著改良相對於密碼編譯資料處理操作之處理系統效能,且可進一步改良相對於特定類
型之外部監視攻擊(例如基於時序之側通道攻擊)的安全性,此係由於在預定數目個處理循環內實行增強型指令集的各指令並不相依於輸入或中間狀態。然而,特定處理系統(包含實施一增強型加密指令集之處理系統)可易遭受基於差分功率分析(DPA)的側通道攻擊。
在各種闡釋性實例中,流動通過一目標資料處理系統之特定組件的電流可回應於由資料處理系統執行之特定指令的變化輸入而變化。在一過度簡化實例中,於一資料處理系統之一內部狀態中執行需要一位元自0轉變至1或自1轉變至0之一指令可能需要多於對不同運算元及/或內部狀態實行相同指令的功率,使得內部狀態的電流值不需被修改(即,不需位元轉變)。在各種實施方案中,一資料處理系統之一內部狀態可包括一或多個內部暫存器或其他形式架構上不可見之記憶體,且可進一步包括促成電流在處理裝置內流動之其他因素,例如,內部匯流排上之電荷及個別電晶體之佈線或狀態。
目標資料處理系統可在執行特定指令時採用用於儲存一些中間結果的各種內部狀態。因此,攻擊者可採用DPA方法以觀察對至特定指令之已知變化輸入的系統回應(例如,藉由特定組件或電路之功率消耗),以導出此等指令的受保護運算元。
本文中之DPA係指涉及藉由一目標資料處理系統量測資料相依功率消耗之外部監視方法。一DPA測試可包括回應於變化資料輸入而藉由目標資料處理系統之特定電路量測功率消耗,以便利用基於目標資料處理系統之特定內部狀態之循序資料操縱操作之互動。
圖3示意性地圖解說明一種例示性DPA程序。參考圖3,一種例示性DPA程序可包括對不同輸入資料310實行多個資料處理操作,同時藉由由目標資料處理系統之特定電路量測功率消耗而記錄一功率跡線320。所得功率跡線組可基於一資料相依性質330(例如,一初始、最終或中間內部狀態之一資料位元)劃分為若干子組。可計算子組之平
均數差以產生一差異跡線340,其包括在對應於其中資料相依性質影響所量測功率消耗之操作偏移之時間處之尖波。
圖4示意性地圖解說明對一目標密碼編譯資料處理系統之一基於例示性DPA程序之攻擊。參考圖4,一攻擊者可使用相同加密金鑰且變化純文字輸入410來記錄多個密碼編譯資料處理操作之功率跡線。接著,攻擊者可猜測加密金鑰之一部分(例如,K3金鑰部分420),預測相對應中間狀態(例如,I3狀態430)且實行一平均數差統計測試,以確定所量測功率值是否受到所預測中間狀態之影響。可針對加密金鑰之其餘部分重複上述操作直至成功預測整個金鑰。對於正確子金鑰,平均數差統計測試將展示尖波(405A),而對於任何不正確子金鑰猜測,平均數差統計測試將不展示一尖波(405B)。
上述及其他DPA測試可用於偵測實行密碼編譯資料處理操作之各種序列之各種處理系統中之缺陷或「資料洩漏」。
在下文中描述根據本發明之一或多項態樣之例示性缺陷及以抵抗利用此等及其他缺陷之外部監視攻擊的一方式實行密碼編譯資料處理操作之相對應方法。除下文描述之特定例示性缺陷以外,可採用本文中描述之系統及方法以用於以抵抗利用目標資料處理系統之各種缺陷之各種其他外部監視攻擊的一方式實行密碼編譯資料處理操作。
在特定實施方案中,一資料處理系統可呈現涉及一增強型加密指令集之循序密碼編譯資料操縱指令之一資料洩漏,如藉由圖5示意性圖解說明。在一闡釋性實例中,一資料處理系統可執行用於實行AES加密回合之兩個相繼AESENC指令510A至510B。各指令可利用特定輸入(例如,回合狀態及回合金鑰)。執行各指令510A及510B可導致相對應內部狀態520A及520B(其等可儲存於資料處理系統之一內部暫存器中)。資料處理系統可呈現涉及狀態520A及520B之一DPA可偵測資料洩漏:當執行資料操縱指令510A至510B導致複寫一狀態位元時
藉由資料處理系統之特定電路消耗之所觀察功率可超過當執行相同資料操縱指令導致保存狀態位元之現有值時藉由資料處理系統消耗之所觀察功率。
根據本發明之一或多項態樣,可藉由中斷循序密碼編譯資料處理指令(其等可呈現上述資料洩漏)之互動而以抵抗利用資料處理系統之上述缺陷之外部監視攻擊的一方式實行密碼編譯資料處理操作。在特定實施方案中,資料處理系統可藉由相對於循序資料操縱指令依序或同時執行另一資料操縱指令而中斷循序密碼編譯資料處理指令之互動,如藉由圖6示意性地圖解說明。
參考圖6,原始執行流程610可包括一增強型加密指令集(例如,AES-NI指令)之兩個密碼編譯資料操縱指令610A及610B。指令610A及610B之各者可需特定輸入(例如,回合狀態及回合金鑰)。執行指令610A及610B可導致相對應內部狀態620A至620B。如上文中提及,資料處理系統可呈現涉及狀態620A至620B之一DPA可偵測資料洩漏:當執行資料操縱指令610A及610B導致複寫一狀態位元時藉由資料處理系統之特定電路消耗之所觀察功率可超過當執行相同資料操縱指令導致保存狀態位元之現有值時藉由資料處理系統消耗之所觀察功率。
為以抵抗外部監視攻擊的一方式實行密碼編譯資料處理指令,資料處理系統可藉由相對於循序資料操縱指令610A至610B依序或同時執行一資料操縱指令630而中斷循序密碼編譯資料處理指令610A至610B之互動。在各種闡釋性實例中,資料操縱指令630可利用一或多個輸入資料項且可導致一內部狀態620X。為中斷循序密碼編譯資料指令610與620之互動,可運用藉由不可預測(例如,隨機)資料表示之輸入執行資料操縱指令630,使得潛在攻擊者將無法預測所得內部狀態620X。因此,可有效地防止潛在攻擊者利用相關聯於內部狀態轉變之任何資料洩漏:由於利用相關聯於內部系統狀態之缺陷之外部監
視攻擊涉及回應於變化輸入資料而量測系統,故無法在輸入資料不可預測時實施此一攻擊。
因此,相對於循序資料操縱指令610A及610B依序或同時執行資料操縱指令630可有效地中斷循序密碼編譯資料處理指令610A與610B之非所要互動,且因此以抵抗外部監視攻擊的一方式實行指令。
圖7描繪根據本發明之一或多項態樣之以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之一種例示性方法700之一流程圖。可藉由一或多個通用及/或專用處理裝置實行方法700及/或其個別功能、常式、副常式或操作之各者。可平行或按可不同於上述順序之一順序實行方法700之兩個或兩個以上功能、常式、副常式或操作。在特定實施方案中,可藉由一單一處理執行緒實行方法700。替代性地,可藉由兩個或兩個以上處理執行緒實行方法700,各執行緒執行方法之一或多個個別功能、常式、副常式或操作。在一闡釋性實例中,處理執行緒實施方法700可經同步(例如,使用旗號、關鍵區段及/或其他執行緒同步機制)。替代性地,處理執行緒實施方法700可相對於彼此非同步執行。在一闡釋性實例中,方法700可藉由在下文中參考圖11描述之運算系統1000實行。
參考圖7,在方塊710處,實施方法之一處理裝置可執行一增強型加密指令集之一第一資料操縱指令(例如,AES-NI指令)。在一闡釋性實例中,第一資料操縱指令可利用一或多個輸入資料項,例如,一AES回合狀態及一AES回合金鑰。如在上文中提及,第一資料操縱指令可利用及影響可與隨後資料操縱指令互動或藉由隨後資料操縱指令利用之一內部狀態(例如,處理裝置之一內部暫存器)。
在方塊720處,處理裝置可執行增強型加密指令集之一第二資料操縱指令。第二資料操縱指令可利用一或多個輸入資料項,例如,藉由第一資料操縱指令修改之一AES回合狀態及一AES回合金鑰。第二
資料操縱指令可進一步與藉由前述資料操縱指令修改之內部狀態互動或利用該內部狀態,因此潛在地產生一DPA可偵測資料洩漏,如在上文中更詳細描述。
為中斷第一資料操縱指令與第二資料操縱指令之DPA可偵測互動,處理裝置可在方塊730處利用一不可預測輸入資料項執行一第三資料操縱指令。如在上文中提及,可相對於第一及第二資料操縱指令依序或同時執行第三資料操縱指令。中斷循序密碼編譯資料處理指令之非所要互動允許處理裝置以抵抗外部監視攻擊的一方式實行指令,如在上文中更詳細描述。
在特定實施方案中,一資料處理系統可呈現涉及自一記憶體(例如,自一處理器快取)載入之循序資料之一資料洩漏,如藉由圖8示意性圖解說明。在一闡釋性實例中,一資料處理系統可執行資料載入指令810A至810E之一序列800。序列可包括一資料載入指令810C以自一記憶體載入一或多個秘密資料項(例如,AES回合金鑰)。在一闡釋性實例中,資料載入指令之序列800可包括在載入秘密資料之資料載入指令810C之前的資料載入指令810A至810B。資料載入指令之序列800可進一步包括在載入秘密資料之資料載入指令810C之後的資料載入指令810D至810E。在圖8中展示之操作810A至810E之順序係指藉由由例示性資料處理系統實施之管線取得相對應指令之順序;其中藉由例示性資料處理系統之各種單元執行之指令之順序不必匹配其中已取得指令之順序。
在特定實施方案中,執行資料載入指令810A、810C及810E之各者可導致相對應內部狀態850A、850C及850E。資料處理系統可呈現涉及對應於載入秘密資料之資料載入指令810C之狀態850C之一DPA可偵測資料洩漏及對應於可經採用以載入已知變化資料之資料載入指令810A至810B之狀態850A及850B之各者:當執行資料載入指令導致
複寫一狀態位元時,所觀察到之由資料處理系統之特定電路消耗的功率可超過當執行相同資料操縱指令導致保存狀態位元之現有值時所觀察到之由資料處理系統消耗的功率。因此,資料處理系統可呈現資料載入指令810C與資料載入指令810A、810E(其等在資料載入指令810C之前或隨後執行)之間之一DPA可偵測互動。若資料載入指令810A及/或810E載入對一潛在攻擊者已知之變化資料,則攻擊者可利用由資料載入指令810C載入之秘密資料與由資料載入指令810A及/或810E載入之可變輸入資料的互動。
根據本發明之一或多項態樣,可藉由中斷循序資料載入指令(其等可呈現上述資料洩漏)之互動而以抵抗利用資料處理系統之上述缺陷之外部監視攻擊的方式來實行資料載入指令的序列。在一闡釋性實例中,資料處理系統可藉由在載入秘密資料之資料載入指令之前及之後執行兩個資料載入指令而中斷循序密碼編譯資料處理指令之互動,如由圖9示意性地圖解說明。
為以抵抗外部監視攻擊的方式實行密碼編譯資料處理指令,資料處理系統可藉由將兩個資料載入指令910A至910B新增至指令序列800而中斷循序密碼編譯資料處理指令之互動。可在載入秘密資料之資料載入指令810C之前一個資料載入指令,執行資料載入指令910A。可在載入秘密資料之資料載入指令810C之後一個資料載入指令,執行資料載入指令910B,如藉由圖9示意性地圖解說明。在圖9中展示之指令的順序係指藉由由例示性資料處理系統實施之管線取得相對應指令的順序;其中藉由例示性資料處理系統之各種單元執行之指令的順序不必匹配其中已取得指令的順序。
為中斷循序密碼編譯資料處理指令之互動,可使用由恆定及/或秘密資料表示的輸入來執行資料載入指令910A至910B,以便防止一潛在攻擊者利用相關聯於內部狀態轉變的任何資料洩漏:由於利用相
關聯於內部系統狀態之缺陷的外部監視攻擊涉及回應於變化輸入資料來量測系統,故無法在輸入資料係恆定及/或秘密時實施此一攻擊。
因此,在載入秘密資料之資料載入指令810C之前及之後執行資料載入指令910A至910B可有效地中斷循序密碼編譯資料處理指令之非所要互動且因此以抵抗外部監視攻擊的一方式實行指令。在特定實施方案中,藉由重新配置、移動或替換現有指令序列中之指令而非引入額外指令來獲取資料載入指令910A至910B可達成進一步效率。
圖10描繪根據本發明之一或多項態樣之以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之一種例示性方法1000之一流程圖。可藉由一或多個通用及/或專用處理裝置實行方法1000及/或其個別功能、常式、副常式或操作之各者。可平行或按可不同於上述順序之一順序實行方法1000之兩個或兩個以上功能、常式、副常式或操作。在特定實施方案中,可藉由一單一處理執行緒實行方法1000。替代性地,可藉由兩個或兩個以上處理執行緒實行方法1000,各執行緒執行方法之一或多個個別功能、常式、副常式或操作。在一闡釋性實例中,處理執行緒實施方法1000可經同步(例如,使用旗號、關鍵區段及/或其他執行緒同步機制)。替代性地,處理執行緒實施方法1000可相對於彼此非同步執行。在一闡釋性實例中,方法1000可藉由在下文中參考圖11描述之運算系統1000實行。
參考圖10,在方塊1010處,實施方法之一處理裝置可執行資料載入指令之一序列。在一闡釋性實例中,序列之至少一個資料載入指令可載入秘密資料(例如,加密金鑰)。如在上文中提及,資料載入指令可利用及修改處理裝置之一內部狀態,因此產生特定資料載入指令之間的一DPA可偵測互動。在一闡釋性實例中,資料處理系統可呈現一給定資料載入指令與在給定資料載入指令之前及/或之後一個資料載入指令執行之一資料載入指令之間的一非所要互動,如在上文中更
詳細描述。
在方塊1020處,處理裝置可在資料載入指令之序列內執行一第一額外資料載入指令以載入一第一秘密或恆定資料項。本文中之「額外指令」可係指藉由重新配置指令之應用流程或藉由將一新指令插入至資料載入指令之序列中而插入至資料載入指令中之一指令。在一闡釋性實例中,可在載入秘密資料之資料載入指令之前一個資料載入指令執行第一額外資料載入指令。
在方塊1030處,處理裝置可在資料載入指令之序列內執行一第二額外資料載入指令以載入一第二秘密或恆定資料項。在一闡釋性實例中,可在載入秘密資料之資料載入指令之後一個資料載入指令執行第二額外資料載入指令。
藉由執行「納入」(bracket)載入秘密資料之資料載入指令之兩個資料載入指令,資料處理系統可有效地中斷循序資料載入指令之非所要互動且因此以抵抗外部監視攻擊的一方式實行指令。
圖11圖解說明一運算系統1000之一圖解表示,運算系統1000可併入本文中描述之處理裝置且在運算系統1000內可實行用於導致運算裝置執行本文中描述之方法之一組指令。運算系統1000可連接至一LAN、一內部網路、一外部網路及/或網際網路中之其他運算裝置。運算裝置可在一主從網路環境中作為一伺服器機器操作。運算裝置可藉由下列項目提供:一個人電腦(PC)、一機上盒(STB)、一伺服器、一網路路由器、交換器或橋接器或能夠執行規定藉由機器採取之行動之一組指令(循序或其他)之任何機器。此外,雖然僅圖解說明一單一運算裝置,但術語「運算裝置」亦應包含個別或聯合執行一組(或多組)指令以實行本文中描述之方法之運算裝置之任何集合。
例示性運算系統1000可包含一處理裝置1002,其在各種闡釋性實例中可為包括一或多個處理核心之一通用或專用處理器。例示性運
算系統1000可進一步包括一主記憶體1004(例如,同步動態隨機存取記憶體(DRAM)、唯讀記憶體(ROM))、一靜態記憶體1006(例如,快閃記憶體及一資料儲存裝置1018),其等可經由一匯流排1030彼此通信。
處理裝置1002可經組態以根據本發明之用於執行本文中描述之操作及步驟之一或多項態樣實行方法700及/或1000,以用於以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作。
例示性運算系統1000可進一步包含一網路介面裝置1008,其可與一網路1020通信。例示性運算系統1000亦可包含一視訊顯示單元1010(例如,一液晶顯示器(LCD)或一陰極射線管(CRT))、一文數字輸入裝置1012(例如,一鍵盤)、一游標控制裝置1014(例如,一滑鼠)及一聽覺信號產生裝置1016(例如,一揚聲器)。在一項實施例中,視訊顯示單元1010、文數字輸入裝置1012及游標控制裝置1014可組合為一單一組件或裝置(例如,一LCD觸控螢幕)。
資料儲存裝置1018可包含一電腦可讀儲存媒體1028,其上可儲存一或多組指令(例如,用於根據本發明之一或多項態樣以抵抗外部監視攻擊的一方式實行密碼編譯資料處理操作之方法700及/或1000之指令)以實施本文中描述之方法或功能之任何一或多者。實施方法700及/或1000之指令亦可在其等之執行期間,例如藉由運算系統1000完全或至少部分留存於主記憶體1004內及/或處理裝置1002內,因此主記憶體1004及處理裝置1002亦可建構或包括電腦可讀媒體。指令可進一步經由網路介面裝置1008在網路1020上傳輸或接收。
雖然電腦可讀儲存媒體1028在一闡釋性實例中展示為一單一媒體,但術語「電腦可讀儲存媒體」應包含儲存一或多組指令之一單一媒體或多個媒體(例如,一集中或分散式資料庫及/或相關聯快取及伺服器)。術語「電腦可讀儲存媒體」亦應包含能夠儲存、編碼或攜載用於藉由機器執行之一組指令且導致機器實行本文中描述之方法之任
何媒體。因此,術語「電腦可讀儲存媒體」應包含(但不限於)固態記憶體、光學媒體及磁性媒體。
除非另外明確規定,諸如「更新」、「識別」、「判定」、「發送」、「指派」或類似物之術語係指藉由運算裝置實行或實施之行動及程序,其等將表示為運算裝置之暫存器及記憶體內之物理(電子)量之資料操縱及轉換為表示為運算裝置記憶體或暫存器或其他此等資訊儲存、傳輸或顯示裝置內之物理量之其他資料。而且,如本文中使用之術語「第一」、「第二」、「第三」、「第四」等等意謂區分不同元件之標籤且可不必具有根據其等元件符號之一順序意義。
本文中描述之實例亦係關於用於實行本文中描述之方法之一設備。此設備可針對所需目的專門建構,或其可包括藉由儲存於運算裝置中之一電腦程式選擇性地程式化之一通用運算裝置。此一電腦程式可儲存於一電腦可讀非暫時性儲存媒體中。
本文中描述之方法及闡釋性實例並不本質上關於任何特定電腦或其他設備。根據本文中描述之教示可使用各種通用系統,或可證明方便建構更專用設備以實行所需方法步驟。如在上文描述中提出,將出現針對多種此等系統所需之結構。
上文描述旨在為闡釋性且不為限制性。儘管已參考特定闡釋性實例描述本發明,但將認識到,本發明不限於所描述之實例。應參考隨附申請專利範圍連同涵括申請專利範圍之等效物之全部範疇判定本發明之範疇。
610A:資料操縱指令/密碼編譯資料指令
610B:資料操縱指令/密碼編譯資料指令
620A:內部狀態
620B:內部狀態
620X:內部狀態
630:資料操縱指令
Claims (17)
- 一種執行一密碼編譯操作之方法,其包括:由一處理裝置執行一第一資料操縱指令,該第一資料操縱指令修改該處理裝置之一架構上不可見之記憶體,其中修改該架構上不可見之記憶體影響該處理裝置中之電流流動;執行一第二資料操縱指令,該第二資料操縱指令與該架構上不可見之記憶體互動;且藉由利用包括一不可預測資料項的一輸入來執行一第三資料操縱指令而中斷該第一資料操縱指令與該第二資料操縱指令之一差分功率分析可偵測互動來保護該處理裝置免受到該差分功率分析的攻擊,其中該第三資料操縱指令產生該架構上不可見之記憶體的一隨機值。
- 如請求項1之方法,其中相對於下列項目中之至少一者來依序執行該第三資料操縱指令:該第一資料操縱指令或該第二資料操縱指令。
- 如請求項1之方法,其中相對於下列項目中之至少一者來同時執行該第三資料操縱指令:該第一資料操縱指令或該第二資料操縱指令。
- 如請求項1之方法,其中該第一資料操縱指令或該第二資料操縱指令中之至少一者屬於用於實行密碼編譯資料處理操作之一增強型指令集。
- 如請求項4之方法,其中該增強型指令集係由下列項目中之一者提供:一Intel AES-NI指令集、一ARM進階加密標準(AES)指令集或一SPARC AES指令集。
- 如請求項1之方法,其中該處理裝置係由下列項目中之一者提 供:一Intel微處理器、一ARM微處理器或一SPARC微處理器。
- 如請求項1之方法,其中包括該第一資料操縱指令或該第二資料操縱指令中之至少一者之一應用程式經組態以實施基於進階加密標準(AES)之一加密方法或基於進階加密標準(AES)之一解密方法中之至少一者。
- 如請求項1之方法,其中該第二資料操縱指令利用由該第一資料操縱指令之一輸出提供之一輸入資料項。
- 如請求項1之方法,其中該第一資料操縱指令及該第二資料操縱指令之至少一者利用包括一密碼編譯金鑰之一輸入資料項。
- 如請求項1之方法,其中該第一資料操縱指令及該第二資料操縱指令之至少一者實行下列項目之一者:一AES加密回合或一AES解密回合。
- 一種執行一密碼編譯操作之方法,其包括:由一處理裝置執行修改該處理裝置之一架構上不可見之記憶體之資料載入指令之一序列,其中修改該架構上不可見之記憶體影響該處理裝置中之電流流動,且其中該序列之一特定資料載入指令載入秘密資料;且藉由在該序列內執行一第一資料載入指令以載入一第一資料項且執行一第二資料載入指令以載入一第二資料項而中斷該序列之兩個或兩個以上資料載入指令之一差分功率分析可偵測互動來保護該處理裝置免受到該差分功率分析的攻擊,其中該第一資料項係由下列項目中之一者提供:一第一秘密資料項或一第一恆定資料項,且其中該第二資料項係由下列項目中之一者提供:一第二秘密資料項或一第二恆定資料項,其中該第三資料操縱指令產生該架構上不可見之記憶體之一隨機值。
- 如請求項11之方法,其中該記憶體係由該處理裝置之一快取提 供。
- 如請求項11之方法,其中在載入該秘密資料之該特定資料載入指令之前一個資料載入指令,執行該第一資料載入指令。
- 如請求項13之方法,其中在載入該秘密資料之該特定資料載入指令之後一個資料載入指令,執行該第二資料載入指令。
- 一種執行一密碼編譯操作之電腦可讀非暫時性儲存媒體,其包括當由一運算裝置執行時導致該運算裝置實行操作之可執行指令,該等操作包括:由一處理裝置執行一第一資料操縱指令,該第一資料操縱指令修改該處理裝置之該架構上不可見之記憶體,其中修改該架構上不可見之記憶體影響該處理裝置中之電流流動;執行一第二資料操縱指令,該第二資料操縱指令與該該架構上不可見之記憶體之互動;且藉由利用包括一不可預測資料項的一輸入來執行一第三資料操縱指令而中斷該第一資料操縱指令與該第二資料操縱指令之一差分功率分析可偵測互動來保護該處理裝置免受到該差分功率分析的攻擊,其中該第三資料操縱指令產生該架構上不可見之記憶體之一隨機值。
- 如請求項15之電腦可讀非暫時性儲存媒體,其中相對於下列項目中之至少一者來依序執行該第三資料操縱指令:該第一資料操縱指令或該第二資料操縱指令。
- 如請求項15之電腦可讀非暫時性儲存媒體,其中相對於下列項目中之至少一者來同時執行該第三資料操縱指令:該第一資料操縱指令或該第二資料操縱指令。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201462011245P | 2014-06-12 | 2014-06-12 | |
| US62/011,245 | 2014-06-12 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201606563A TW201606563A (zh) | 2016-02-16 |
| TWI712915B true TWI712915B (zh) | 2020-12-11 |
Family
ID=53276303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW104112261A TWI712915B (zh) | 2014-06-12 | 2015-04-16 | 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 |
Country Status (4)
| Country | Link |
|---|---|
| US (3) | US10382193B2 (zh) |
| CN (1) | CN106462701B (zh) |
| TW (1) | TWI712915B (zh) |
| WO (1) | WO2015191239A1 (zh) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10615959B2 (en) * | 2015-07-22 | 2020-04-07 | Megachips Corporation | Memory device, host device, and memory system |
| CA2940152C (en) | 2016-05-18 | 2017-08-29 | Sidense Corp. | Method and system for power signature suppression in memory devices |
| CN109150494B (zh) * | 2017-06-27 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | 移动端中构造加解密算法的方法、存储介质、设备及系统 |
| CN109818733B (zh) * | 2019-03-27 | 2022-04-26 | 苏州中晟宏芯信息科技有限公司 | 一种高级加密标准运算电路及其加解密方法 |
| CN114268479B (zh) * | 2021-12-14 | 2023-08-18 | 北京奕斯伟计算技术股份有限公司 | 防御共享存储侧信道攻击的处理方法、装置及电子设备 |
| US20240111862A1 (en) * | 2022-09-30 | 2024-04-04 | Hewlett Packard Enterprise Development Lp | Detecting and responding to environmental condition-induced security attacks on semiconductor packages |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1115094A2 (de) * | 2000-01-08 | 2001-07-11 | Philips Corporate Intellectual Property GmbH | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
| EP1772811A2 (en) * | 2005-10-04 | 2007-04-11 | STMicroelectronics, Inc. | System and method for using dummy cycles to mask operations in a secure microcontroller |
| US20070230694A1 (en) * | 2005-08-24 | 2007-10-04 | Rose Gregory G | Cryptographically secure pseudo-random number generator |
| EP1873671A1 (en) * | 2006-06-29 | 2008-01-02 | Incard SA | A method for protecting IC Cards against power analysis attacks |
| US20120159194A1 (en) * | 2010-12-20 | 2012-06-21 | General Instrument Corporation | Relating to cryptography |
Family Cites Families (51)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4558176A (en) * | 1982-09-20 | 1985-12-10 | Arnold Mark G | Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software |
| US5991708A (en) * | 1997-07-07 | 1999-11-23 | International Business Machines Corporation | Performance monitor and method for performance monitoring within a data processing system |
| US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
| FR2790844B1 (fr) * | 1999-03-09 | 2001-05-25 | Gemplus Card Int | Procede et dispositif de surveillance du deroulement d'un programme, dispositif programme permettant la surveillance de son programme |
| US6419159B1 (en) * | 1999-06-14 | 2002-07-16 | Microsoft Corporation | Integrated circuit device with power analysis protection circuitry |
| US7124170B1 (en) * | 1999-08-20 | 2006-10-17 | Intertrust Technologies Corp. | Secure processing unit systems and methods |
| US6983374B2 (en) * | 2000-02-14 | 2006-01-03 | Kabushiki Kaisha Toshiba | Tamper resistant microprocessor |
| CA2298990A1 (en) * | 2000-02-18 | 2001-08-18 | Cloakware Corporation | Method and system for resistance to power analysis |
| US7502943B2 (en) * | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
| JP2005004048A (ja) * | 2003-06-13 | 2005-01-06 | Oki Electric Ind Co Ltd | 鍵拡張装置、鍵拡張方法および鍵拡張プログラム |
| US7899190B2 (en) * | 2004-04-16 | 2011-03-01 | Research In Motion Limited | Security countermeasures for power analysis attacks |
| US7949883B2 (en) * | 2004-06-08 | 2011-05-24 | Hrl Laboratories, Llc | Cryptographic CPU architecture with random instruction masking to thwart differential power analysis |
| US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
| US7934076B2 (en) * | 2004-09-30 | 2011-04-26 | Intel Corporation | System and method for limiting exposure of hardware failure information for a secured execution environment |
| EP1646174A1 (en) * | 2004-10-07 | 2006-04-12 | Axalto SA | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
| JP2006301887A (ja) * | 2005-04-19 | 2006-11-02 | Toshiba Corp | 情報記憶再生システムとその情報端末及び情報バックアップ装置 |
| JP5179358B2 (ja) * | 2005-06-29 | 2013-04-10 | イルデト アイントホーフェン ベー フェー | 攻撃又は解析に対してデータ処理装置を保護するための装置及び方法 |
| WO2007020567A1 (en) * | 2005-08-19 | 2007-02-22 | Nxp B.V. | Circuit arrangement with non-volatile memory module and method for registering attacks on said non-volatile memory module |
| CN101305377A (zh) * | 2005-11-09 | 2008-11-12 | 日本电气株式会社 | 通信终端装置、服务器终端装置、使用它们的通信系统 |
| WO2007088796A1 (en) * | 2006-01-31 | 2007-08-09 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device |
| CN1819515B (zh) * | 2006-03-20 | 2012-07-04 | 胡祥义 | 一种保密型对称密码算法的实现方法 |
| US8090934B2 (en) * | 2006-07-11 | 2012-01-03 | Cetin Kaya Koc | Systems and methods for providing security for computer systems |
| US20080126766A1 (en) * | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
| CN101197660A (zh) * | 2006-12-07 | 2008-06-11 | 上海安创信息科技有限公司 | 防攻击标准加密标准的加密方法及其加密芯片 |
| US8879725B2 (en) * | 2008-02-29 | 2014-11-04 | Intel Corporation | Combining instructions including an instruction that performs a sequence of transformations to isolate one transformation |
| US20090327572A1 (en) * | 2008-06-30 | 2009-12-31 | In Sung Cho | Exchanging information between components coupled with an a i2c bus via separate banks |
| EP2316189B1 (en) * | 2008-08-19 | 2016-03-30 | Nxp B.V. | Method for generating a cipher-based message authentication code |
| JP4687775B2 (ja) * | 2008-11-20 | 2011-05-25 | ソニー株式会社 | 暗号処理装置 |
| US8352708B2 (en) * | 2009-01-16 | 2013-01-08 | Teleputers, Llc | Parallel read functional unit for microprocessors |
| FR2941342B1 (fr) * | 2009-01-20 | 2011-05-20 | Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst | Circuit de cryptographie protege contre les attaques en observation, notamment d'ordre eleve. |
| WO2010086855A2 (en) * | 2009-01-29 | 2010-08-05 | Fortress Applications Ltd. | System and methods for encryption with authentication integrity |
| JP5688528B2 (ja) * | 2009-03-10 | 2015-03-25 | イルデト・ベー・フェー | 入力に依存する符号化を用いたホワイトボックス暗号システム |
| KR101026439B1 (ko) * | 2009-07-20 | 2011-04-07 | 한국전자통신연구원 | Seed 암호화에서 차분 전력 분석 공격을 방어하기 위한 마스킹 방법 |
| WO2011101994A1 (ja) * | 2010-02-22 | 2011-08-25 | 株式会社東芝 | 暗号化装置 |
| CN101866401B (zh) * | 2010-05-17 | 2012-06-27 | 武汉大学 | 演化s盒对抗旁路式攻击的方法 |
| US8966264B2 (en) * | 2010-05-28 | 2015-02-24 | Nec Corporation | Signature generation apparatus, signature method, non-transitory computer readable medium storing signature generation program |
| WO2012128681A1 (en) * | 2011-03-22 | 2012-09-27 | Telefonaktiebolaget L M Ericsson (Publ) | Method for switching between virtualized and non-virtualized system operation |
| US9331848B1 (en) * | 2011-04-29 | 2016-05-03 | Altera Corporation | Differential power analysis resistant encryption and decryption functions |
| DE102011078642A1 (de) * | 2011-07-05 | 2013-01-10 | Robert Bosch Gmbh | Verfahren zum Prüfen eines m aus n Codes |
| GB2494731B (en) * | 2011-09-06 | 2013-11-20 | Nds Ltd | Preventing data extraction by sidechannel attack |
| WO2013069392A1 (ja) * | 2011-11-09 | 2013-05-16 | Kddi株式会社 | 非線形処理器、ストリーム暗号の暗号化装置、ストリーム暗号の復号化装置、マスク処理方法、ストリーム暗号の暗号化方法、ストリーム暗号の復号化方法およびプログラム |
| DE102011088502B3 (de) | 2011-12-14 | 2013-05-08 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken |
| KR101733273B1 (ko) * | 2012-06-01 | 2017-05-24 | 블랙베리 리미티드 | 다중 포맷 오디오 시스템들에서의 확률적 로크 보장 방법에 기초한 범용 동기화 엔진 |
| US9342712B2 (en) * | 2012-06-08 | 2016-05-17 | Advanced Micro Devices, Inc. | Method and system for accelerating cryptographic processing |
| US9425959B1 (en) * | 2012-10-03 | 2016-08-23 | Altera Corporation | Security variable scrambling |
| EP2918037A1 (en) * | 2012-11-12 | 2015-09-16 | Cryptography Research Inc. | Methods and systems for glitch-resistant cryptographic discrete-log based signing |
| CN103067164A (zh) * | 2013-01-17 | 2013-04-24 | 北京昆腾微电子有限公司 | 使用rsa公开密钥加密算法的电子部件中的防攻击方法 |
| CN103166752B (zh) * | 2013-01-25 | 2016-04-27 | 国家密码管理局商用密码检测中心 | 选择轮函数为攻击对象进行sm4密码算法侧信道能量分析的应用 |
| US9143317B2 (en) * | 2013-05-24 | 2015-09-22 | Apple Inc. | Protecting against white box attacks using column rotation |
| CN103324467B (zh) * | 2013-05-28 | 2015-09-16 | 戴葵 | 一种基于随机指令延迟的抗旁路攻击处理器架构 |
| CN103812642A (zh) * | 2014-01-24 | 2014-05-21 | 天津大学 | 一种密码算法硬件设计的安全检测方法 |
-
2015
- 2015-04-16 TW TW104112261A patent/TWI712915B/zh active
- 2015-05-15 US US15/311,741 patent/US10382193B2/en active Active
- 2015-05-15 CN CN201580024635.8A patent/CN106462701B/zh active Active
- 2015-05-15 WO PCT/US2015/031203 patent/WO2015191239A1/en not_active Ceased
-
2019
- 2019-07-23 US US16/519,330 patent/US10897344B2/en active Active
-
2020
- 2020-12-15 US US17/122,310 patent/US11757617B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1115094A2 (de) * | 2000-01-08 | 2001-07-11 | Philips Corporate Intellectual Property GmbH | Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb |
| US20070230694A1 (en) * | 2005-08-24 | 2007-10-04 | Rose Gregory G | Cryptographically secure pseudo-random number generator |
| EP1772811A2 (en) * | 2005-10-04 | 2007-04-11 | STMicroelectronics, Inc. | System and method for using dummy cycles to mask operations in a secure microcontroller |
| EP1873671A1 (en) * | 2006-06-29 | 2008-01-02 | Incard SA | A method for protecting IC Cards against power analysis attacks |
| US20120159194A1 (en) * | 2010-12-20 | 2012-06-21 | General Instrument Corporation | Relating to cryptography |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201606563A (zh) | 2016-02-16 |
| WO2015191239A1 (en) | 2015-12-17 |
| CN106462701B (zh) | 2020-09-18 |
| US10897344B2 (en) | 2021-01-19 |
| US11757617B2 (en) | 2023-09-12 |
| US20200021426A1 (en) | 2020-01-16 |
| US20170085368A1 (en) | 2017-03-23 |
| US20210218546A1 (en) | 2021-07-15 |
| US10382193B2 (en) | 2019-08-13 |
| CN106462701A (zh) | 2017-02-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11507705B2 (en) | Determining cryptographic operation masks for improving resistance to external monitoring attacks | |
| TWI712915B (zh) | 執行一密碼編譯操作之方法,以及電腦可讀非暫時性儲存媒體 | |
| Wichelmann et al. | Microwalk: A framework for finding side channels in binaries | |
| US10771235B2 (en) | Protecting block cipher computation operations from external monitoring attacks | |
| US11700111B2 (en) | Platform neutral data encryption standard (DES) cryptographic operation | |
| JP5146156B2 (ja) | 演算処理装置 | |
| Wang et al. | Toward scalable fully homomorphic encryption through light trusted computing assistance | |
| US20160191238A1 (en) | Sms4 acceleration hardware | |
| CN113673002B (zh) | 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 | |
| Jiang et al. | A novel cache bank timing attack | |
| US9813235B2 (en) | Resistance to cache timing attacks on block cipher encryption | |
| EP3935543B1 (en) | Side-channel-attack-resistant memory access on embedded central processing units | |
| El Ouahma et al. | Symbolic approach for side-channel resistance analysis of masked assembly codes | |
| EP3475825B1 (en) | Cryptographic operations employing non-linear share encoding for protecting from external monitoring attacks | |
| Beckers et al. | Fault analysis of the chacha and salsa families of stream ciphers | |
| Sisejkovic et al. | Processor integrity protection | |
| Chen et al. | Side-channel information leakage analysis and countermeasures in an embedded CPU microarchitecture | |
| Luo | Novel Side-Channel Attacks on Emerging Cryptographic Algorithms and Computing Systems | |
| Takahashi et al. | Fault injection and key retrieval experiments on an evaluation board | |
| Guillen et al. | Towards Side-Channel Secure Firmware Updates: A Minimalist Anomaly Detection Approach | |
| Chang et al. | The performance analysis and hardware acceleration of crypto-computations for enhanced security | |
| McNeil | On the Interaction between Out-of-Order Execution and Cache-Timing Attacks |