TW201546648A - 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰 - Google Patents

與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰 Download PDF

Info

Publication number
TW201546648A
TW201546648A TW104107072A TW104107072A TW201546648A TW 201546648 A TW201546648 A TW 201546648A TW 104107072 A TW104107072 A TW 104107072A TW 104107072 A TW104107072 A TW 104107072A TW 201546648 A TW201546648 A TW 201546648A
Authority
TW
Taiwan
Prior art keywords
key
data
block
encryption
modified
Prior art date
Application number
TW104107072A
Other languages
English (en)
Other versions
TWI570590B (zh
Inventor
Billy Bob Brumley
Vinoth Kumar Deivasigamani
Satish Nithianandan Anand
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of TW201546648A publication Critical patent/TW201546648A/zh
Application granted granted Critical
Publication of TWI570590B publication Critical patent/TWI570590B/zh

Links

Classifications

    • 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
    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • 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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • 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/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

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

Abstract

本發明之一個特徵係關於加密資料以改良資料機密性。在一個態樣中,提供與縮減回合塊編密一起使用之一種修改形式之XTS加密。藉助秘密金鑰來加密待應用於該縮減回合編密之資料的資料單元索引以產生或以別的方式獲得供應用於該縮減回合編密之經修改之秘密金鑰。亦即,待藉由該縮減回合編密而加密之資料並非係藉助靜態金鑰被加密而是改為藉助根據該資料之該索引而變化的動態金鑰被加密。若攻擊者將藉由分析經由該縮減回合編密而加密之資料來導出應用於該編密之金鑰的值,則攻擊者將僅獲得對應於一個特定資料單元索引之動態金鑰,而非應用於整個位址空間之全域靜態金鑰。亦描述了解密程序。

Description

與使用縮減回合編密的XTS加密系統一起使用之動態加密金鑰 相關申請案之交叉參考
本申請案主張2014年3月11日在美國專利商標局申請之美國非臨時專利申請案第14/205,230號的優先權及權益,該案之全部內容以引用之方式併入本文中。
各種特徵係關於加密,特定言之係關於與行動計算器件一起使用之利用XTS塊編密模式的加密。
在密碼編譯術中使用塊編密以改良儲存於記憶體系統或其他儲存系統(特定言之,可被攻擊者或其他惡意實體存取之記憶體系統)內之資料的機密性。通常,塊編密使用對固定長度之位元群組(亦即,塊)起作用的確定性程序或演算法。可使用塊編密以實施對大量資料(諸如,儲存於與智慧型電話或其他行動計算器件之系統單晶片(SoC)處理器一起使用的晶片外記憶體器件上之資料)之加密。塊編密操作模式之一個實例係由電機電子工程師學會(IEEE)標準1619-2007所指定之XTS-AES。亦參看2010年6月之美國標準技術局(NIST)特殊出版物800-38E「Recommendation for Block Cipher Modes of Operation:The XTS-AES Mode for Confidentiality on Storage Devices」。應注意, XTS表示「具有密碼文字竊用之XEX可調塊編密」,且XEX表示「XOR加密XOR」。AES係指進階加密系統。
簡言之,XTS-AES模式意欲用於對在儲存器件上的使用固定長度「資料單元」之資料的密碼編譯保護。標準XTS塊編密模式使用應該保密的固定金鑰K1及K2,且其中一般而言,K1對資料起作用且K2對對應之資料單元索引起作用。對於諸如擷取儲存於智慧型電話之記憶體器件上之資料的某些應用而言,可藉由縮減由編密使用之回合之數目來「簡化」利用K1之塊編密功能以允許其更快速地操作以便減少整體讀取潛時。此等塊編密被稱作縮減回合塊編密。就此而言,塊編密可使用被稱為回合函數之可逆變換,其中每一迭代被稱作回合。縮減回合編密可相對於完整塊編密而使用數目被刪減或縮減之此等回合,例如十六回合或迭代而非三十二回合或迭代。然而,縮減回合編密可使至少一些金鑰較不安全。
因此,需要改良儲存於儲存系統(諸如,可由攻擊者或其他惡意實體存取之記憶體系統)內之資料(特定言之,使用縮減回合編密而加密之資料)的機密性。
在一個態樣中,一種與縮減回合加密編密一起使用之用於加密資料的方法包括:使用第一塊編密基於第一金鑰來加密資料單元索引以獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由該縮減回合加密編密而加密之資料;使用該縮減回合加密編密基於該經修改之第一金鑰來加密該資料;及將該經加密資料儲存於儲存器件中。
在另一態樣中,一器件包括用於儲存資料之儲存器件及耦接至該儲存器件之處理電路,該處理電路經組態以:使用第一塊編密基於第一金鑰來加密資料單元索引以獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合加密編密而加密之資料;使用該縮減 回合加密編密基於該經修改之第一金鑰來加密該資料;及將該經加密資料儲存於該儲存器件中。
在又另一態樣中,一種與縮減回合解密編密一起使用之用於解密資料的方法包括:使用第一塊編密基於第一金鑰來加密資料單元索引以獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由該縮減回合解密編密而解密之資料;使用該縮減回合解密編密基於該經修改之第一金鑰來解密該資料;及將該經解密資料儲存於儲存器件中。
在再另一態樣中,一器件包括用於儲存資料之儲存器件及耦接至該儲存器件之處理電路,該處理電路經組態以:使用第一塊編密基於第一金鑰來加密資料單元索引以獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合解密編密而解密之資料;使用該縮減回合解密編密基於該經修改之第一金鑰來解密該資料;及將該經解密資料儲存於儲存器件中。
100‧‧‧系統單晶片(SoC)處理器器件
110‧‧‧應用程式處理器
112‧‧‧多核心CPU
118‧‧‧啟動唯讀記憶體(ROM)
120‧‧‧周邊子系統
122‧‧‧數位信號處理器(DSP)
124‧‧‧硬體(HW)及軟體(SW)組件
126‧‧‧射頻(RF)組件
128‧‧‧啟動ROM
130‧‧‧內部共用型HW資源
132‧‧‧內部共用型儲存器
140‧‧‧外部共用型HW資源
142‧‧‧外部共用型儲存器件
144‧‧‧永久性資料儲存器
150‧‧‧加密/解密組件
200‧‧‧例示性程序
202‧‧‧完整回合加密塊編密
204‧‧‧靜態K1金鑰
206‧‧‧靜態K2金鑰
208‧‧‧完整回合塊編密
210‧‧‧頁索引
214‧‧‧αj
216‧‧‧待加密之資料
220‧‧‧完整回合加密編密
222‧‧‧最終密碼文字
300‧‧‧例示性程序
302‧‧‧縮減回合加密編密
304‧‧‧靜態K1金鑰
306‧‧‧靜態K2金鑰
308‧‧‧完整回合塊編密
310‧‧‧頁索引
314‧‧‧αj
316‧‧‧待加密之資料
322‧‧‧最終密碼文字
600‧‧‧例示性程序
602‧‧‧縮減回合塊加密編密
604‧‧‧K1金鑰
606‧‧‧K2金鑰
608‧‧‧完整回合塊編密
610‧‧‧頁索引
614‧‧‧αj
616‧‧‧待加密之資料
619‧‧‧完整回合編密
622‧‧‧最終密碼文字
700‧‧‧儲存器件
7041-704n‧‧‧資料單元
7061-706n‧‧‧頁索引
900‧‧‧例示性程序
902‧‧‧縮減回合解密編密
904‧‧‧K1金鑰
906‧‧‧K2金鑰
908‧‧‧完整回合塊編密
910‧‧‧頁索引
914‧‧‧αj
916‧‧‧待解密之所提取資料
919‧‧‧完整回合編密
922‧‧‧最終純文字
1000‧‧‧裝置
1002‧‧‧匯流排
1004‧‧‧處理電路
1005‧‧‧儲存器件
1006‧‧‧處理器可讀媒體
1008‧‧‧匯流排介面
1010‧‧‧收發器
1012‧‧‧使用者介面
1014‧‧‧處理系統
1100‧‧‧資料單元索引加密組件
1102‧‧‧資料單元加密組件
1103‧‧‧資料單元解密組件
1104‧‧‧資料儲存及擷取控制器
1110‧‧‧完整回合編密
1112‧‧‧縮減回合加密編密
1113‧‧‧減回合解密編密
1114‧‧‧白化組件
1200‧‧‧資料單元索引加密指令
1202‧‧‧資料單元加密指令
1203‧‧‧資料單元解密指令
1204‧‧‧資料儲存及擷取指令
1205‧‧‧儲存器件
1210‧‧‧XTS完整回合編密指令
1212‧‧‧縮減回合加密編密指令
1213‧‧‧縮減回合解密編密指令
1214‧‧‧白化指令
1300‧‧‧與縮減回合加密編密一起使用之加密方法
1400‧‧‧與縮減回合加密編密一起使用之另外的程序
1500‧‧‧與縮減回合解密編密一起使用之解密方法
1600‧‧‧與縮減回合解密編密一起使用之另外的程序
圖1說明根據說明性實例之行動通信器件之系統單晶片(SoC)處理器的方塊圖。
圖2說明使用完整回合塊編密之例示性XTS塊編密加密程序,其中使用了第一秘密金鑰及第二秘密金鑰。
圖3說明例示性XTS塊編密加密程序,其中使用了縮減回合塊編密。
圖4提供經修改之XTS加密程序之概述,其中動態地獲得第一金鑰以及第二(白化)金鑰。
圖5係說明用於SoC處理器系統之與圖4之加密程序一起使用之例示性方法的方塊圖,其中針對每一新寫入操作而動態地獲得第一金鑰。
圖6進一步說明圖4之加密程序之態樣。
圖7係說明與圖1至圖6之系統、方法及裝置一起使用之儲存器件之實例的方塊圖。
圖8係說明用於解密先前使用圖4至圖7之程序而加密之資料之例示性解密方法的方塊圖。
圖9進一步說明圖8之解密程序之態樣。
圖10係說明使用處理系統之裝置之硬體實施方案之實例的方塊圖,該處理系統可利用圖1至圖9之系統及方法。
圖11係說明圖10之處理器之器件組件的方塊圖。
圖12係說明圖10之處理器可讀媒體之指令組件的方塊圖。
圖13概述可由圖10至圖12之組件執行之加密程序。
圖14進一步概述圖13之加密程序之態樣。
圖15概述可由圖10至圖12之組件執行之解密程序。
圖16進一步概述圖15之解密程序之態樣。
在以下描述中,給出特定細節以提供對本發明之各種態樣的透徹理解。然而,一般熟習此項技術者應理解,可在無此等具體細節之情況下實踐該等態樣。舉例而言,可以方塊圖展示電路以便避免以不必要的細節混淆該等態樣。在其他情況下,可不詳細展示熟知電路、結構及技術以便不混淆本發明之態樣。
詞語「例示性」在本文中用以意謂「充當實例、例子或說明」。在本文中描述為「例示性」之任何實施方案或態樣未必應解釋為比本發明之其他態樣更佳或更有利。同樣,術語「態樣」不要求本發明之所有態樣皆包括所論述之特徵、優點或操作模式。
概述
若干新穎特徵係關於加密資料以儲存於儲存器件中從而保持資料之機密性。該等新穎特徵可用於系統單晶片(SoC)器件中,但是可 適用於廣泛範圍之系統、裝置及器件中並達成多種目標。
在一個態樣中,SoC處理器之加密/解密組件使用一種修改形式之XTS塊編密來加密/解密資料,其中一個編密執行個體係「簡化」縮減回合編密且其中兩個金鑰(K1及K2)被用於加密/解密諸如頁索引之資料單元索引或調校(tweak)。縮減回合編密相對於完整塊編密而使用數目被刪減或縮減之回合,其中對應之完整塊編密之回合的數目係由諸如AES之給定加密標準來指定或界定或可藉由正使用之特定塊編密的數學來隱含地或明確地判定。在一個實例中,完整回合編密可使用三十二個回合,而縮減回合版本則僅使用八個回合。如所註明,一般而言,K1對資料起作用且K2對諸如頁之資料單元索引起作用。當使用諸如簡化編密函數時,K1可處於向惡意實體顯露的風險中。舉例而言,由於未使用完整編密,所以攻擊者可分析使用縮減回合加密編密而被加密且隨後儲存於記憶體中之資料以潛在地判定K1之值。若K1被洩露,則與儲存器件相關聯之位址空間內的所有資料同樣被洩露。可藉由本文中所描述之程序來改良K1之機密性及因此改良使用K1而加密之資料的機密性,其中使用完整塊編密藉助K1來動態地加密資料單元索引(或頁編號)以產生或以別的方式獲得經修改之金鑰(本文中指示為K1'),該K1'隨後被用於使用縮減回合加密編密來加密資料。亦即,本文中所描述之例示性程序將K1之經修改及動態地獲得之版本(亦即,K1')應用於縮減回合加密編密,而非直接將K1應用於縮減回合加密編密以加密資料(其亦可使用根據XTS利用K2的編密執行個體之輸出而白化)。應注意,本文中,「獲得」廣泛地涵蓋(例如)產生、獲取、接收、擷取或執行任何其他合適之對應動作。若攻擊者其後判定K1'之值,則僅對應於用於產生K1'之特定資料單元索引的資料被洩露而非整個位址空間中之所有資料被洩露,此係因為其他資料單元係用基於不同資料單元索引或調校的K1'之不同版本而加密的。
就此而言,考慮將資料儲存於資料單元(或頁)中之系統。XTS模式可用以如下操作:V=F 1 (K 2 ,i)
W=F 2 (j;V)
C j =F 3 (K 1 ,P j W)♁ W
其中值W係輸入及輸出白化金鑰,i係資料單元索引,j係待加密之資料P的塊索引(亦即,資料單元內之偏移)且♁表示互斥或(XOR)運算。應注意,V取決於i而非j,亦即,在此實例中,資料單元內之所有塊共用同一V且可使用各種最佳化以針對單個資料單元內之連續操作而僅計算V一次。可藉由將F1F3設定至AES-128(E)且在F 2 128中F2(j,a)=ax j 來獲得標準AES-XTS,以使得以上簡化為如下:Cj=EK1(P j ♁(EK2(i).x j ))♁(EK2(i).x j )。
此標準XTS模式可被視為藉助固定金鑰K1與額外輸入/輸出「白化金鑰」對純文字P j 之加密,其中額外輸入/輸出「白化金鑰」係自藉助金鑰K2加密資料單元索引(i)而導出。XTS之一個特徵係加密為依位置而定的。因而,攻擊者無法以任何適用方式將資料複製並貼上至不同位置且保持純文字。資料可僅複製並貼上至同一位置。關於機密性,應注意,XTS並非基於臨時標誌(其中臨時標誌意謂「使用一次之數」),但仍然按以下方式阻止類似傳統電子碼簿(ECB)之分析。在傳統ECB中,藉助同一金鑰而被寫入至位址A 1 A 2 (其中A 1 A 2 )之純文字P將產生同一密碼文字C。在XTS情況下,白化金鑰將不同,從而產生密碼文字C1及C2(其中C1≠C2)。概述而言,對XTS之類ECB分析通常被限制至單個位址(具體言之,ij組合)而非整個位址空間。(就此而言,P始終加密至A 1 處之C1,但加密至不同A2處之不同C2。)
在本文中所描述之至少一些例示性程序中,提供一種修改形式之XTS操作模式,其設定:K 1 '=F 4 (K 1 ,i)
C j =F 3 (K 1 ',P j W)♁ W
應注意,F4=F1係例示性及可能較佳之變化或實施方案。此經修改之XTS模式可被視為藉助動態金鑰K 1 '與額外輸入/輸出「白化金鑰」對純文字P j 之加密,其中額外輸入/輸出「白化金鑰」係自藉助金鑰K 2 來加密資料單元索引(i)而導出。每資料單元動態地導出K 1 '僅使彼特定資料單元中之資料處於潛在風險中。可隨後藉由大體上用相同金鑰及索引顛倒該處理程序來解密資料以再次獲得純文字。在諸如記憶體解密中之讀取的許多應用中,硬體在獲得P j 之前獲得i,亦即,處理器件在提取待解密之資料之前獲得位址。處理器件可藉此使用其間之潛時用F 1 F 4 i操作以在正自記憶體提取待解密之資料時計算VK 1 '
關於術語之註明:本文中使用K1'來指示第一塊編密之輸出(該第一塊編密加密資料單元索引以用作縮減回合加密及解密編密之金鑰)且被稱作第一金鑰K1之修改版本。由於K1'係代替靜態金鑰K1而被應用於縮減回合編密,所以使用此術語。該術語係任意的且可改為使用其他術語來指此值。字母V在本文中係主要用於指示第二塊編密之輸出,其被用於產生或以別的方式獲得白化金鑰。使用此術語以符合在其他方面標準的XTS加密術語。然而,同樣地,該術語係任意的且可改為使用其他術語來指此值。在一些狀況下,另外或替代地,V在本文中被稱作第二金鑰K2之修改版本。
例示性系統單晶片硬體環境
圖1說明根據一個實例之行動通信器件之系統單晶片(SoC)處理器器件100,其中可利用各種新穎特徵。SoC處理器可為由Qualcomm有 限公司製造之SnapdragonTM處理器。SoC處理器100包括應用程式處理器110,該應用程式處理器包括多核心CPU 112。應用程式處理器110通常控制行動通信器件之所有組件的操作。在一個態樣中,應用程式處理器110包括加密/解密組件150,該等加密/解密組件經裝備以使用動態產生之金鑰(諸如,前述動態產生之K1'金鑰)來執行經修改之XTS加密/解密。應用程式處理器110可包括啟動唯讀記憶體(ROM)118,該啟動ROM儲存用於SoC處理器100之各種組件的啟動序列指令。SoC處理器100進一步包括由應用程式處理器110控制之一或多個周邊子系統120。周邊子系統120可包括(但不限於)儲存子系統(例如,唯讀記憶體(ROM)、隨機存取記憶體(RAM))、視訊/圖形子系統(例如,數位信號處理器(DSP)、圖形處理器單元(GPU))、音訊子系統(例如,DSP、類比至數位轉換器(ADC)、數位至類比轉換器(DAC))、功率管理子系統、安全子系統(例如,加密、數位版權管理(DRM))、輸入/輸出(I/O)子系統(例如,鍵盤、觸控式螢幕)及有線與無線連接性子系統(例如,通用串列匯流排(USB)、全球定位系統(GPS)、Wi-Fi、全球行動系統(GSM)、分碼多重存取(CDMA)、4G長期演進(LTE)數據機)。例示性周邊子系統120(其為數據機子系統)包括DSP 122、各種硬體(HW)及軟體(SW)組件124以及各種射頻(RF)組件126。在一個態樣中,每一周邊子系統120亦包括啟動ROM 128,該啟動ROM儲存關聯之周邊子系統120的主要啟動映像(未圖示)。
SoC處理器100進一步包括各種內部共用型HW資源130,諸如內部共用型儲存器132(例如,靜態RAM(SRAM)、雙資料速率(DDR)及/或同步動態(SD)RAM、DRAM、快閃記憶體等),該內部共用型儲存器由應用處理電路110及各種周邊子系統120共用以儲存各種執行階段資料。在一個態樣中,SoC處理電路100之組件110、118、120、128及130被整合於單晶片基板上。SoC處理電路100進一步包括各種外部 共用型HW資源140,該等外部共用型HW資源可位於不同晶片基板上且經由系統匯流排(未圖示)來與SoC處理電路100通信。外部共用型HW資源140可包括(例如)外部共用型儲存器件142(例如,DDR RAM、DRAM、快閃記憶體)及/或永久性資料儲存器144(例如,安全數位(SD)卡或硬碟機(HDD)等),該外部共用型儲存器件及該永久性資料儲存器由應用處理電路110及各種周邊子系統120共用以儲存各種類型之資料,諸如作業系統(OS)資訊、系統檔案、程式、應用程式、使用者資料、音訊/視訊檔案等。當啟動併有SoC之行動通信器件時,安全SoC處理電路100開始系統啟動處理程序。詳言之,應用處理電路110存取啟動ROM 118以擷取或獲得用於SoC處理電路100之啟動指令,包括用於各種周邊子系統120之啟動序列指令。周邊子系統120亦可具有額外周邊啟動ROM 128。
無動態K 1 金鑰的例示性基於XTS之加密程序
圖2說明可由圖1之SoC處理電路或其他經合適裝備之器件、系統或處理電路使用的例示性程序200,其結合靜態K1金鑰204及靜態K2金鑰206而使用完整回合加密塊編密202來加密資料。此實施方案可(例如)用於在解密期間的讀取潛時不成問題以使得既可在加密期間又可在後續解密期間使用完整回合編密的系統中。再次,參看IEEE標準1619-2007。在此模式中,完整回合塊編密208用於藉助K2金鑰206來加密頁索引210(其可為128位元)(其中頁索引亦可被稱作「調校」)。塊編密208之輸出(其被指示為V且可被視為K2之修改版本)在212處與α j 214相乘以提供輸入/輸出白化值,其中α係常數且j表示塊索引(其可為待加密之資料之頁內的偏移)。待加密之資料216隨後在218處與白化值進行XOR處理並作為「白化」資料而輸入至完整回合加密編密202。隨後藉由完整回合加密編密藉助K1來加密白化資料。藉由XOR函數212而產生之輸入/輸出白化值隨後在220處與來自完整塊編密之 輸出資料進行XOR處理以產生最終密碼文字222,該最終密碼文字可儲存(例如)於圖1中所示之類型的晶片外儲存器件或某一其他合適之儲存位置中。可顛倒此等程序以使用完整回合解密編密將密碼文字解密回至純文字。
圖3說明可由圖1之SoC處理電路或其他經合適裝備之器件、系統或處理電路使用的例示性程序300,其再次結合靜態K1金鑰304及靜態K2金鑰306而使用縮減回合加密編密302來加密資料。此實施方案可(例如)用於在解密期間的讀取潛時係成問題的但顯露K1的風險被認為不顯著的系統中。圖3之操作模式之許多特徵與圖2之操作模式之特徵相同或類似且因此將僅僅予以簡單描述。再次,將完整回合塊編密308用於藉助K2金鑰306來加密頁索引310。輸出V在312處與αj 314相乘以提供輸入/輸出白化值。待加密之資料316隨後在318處與白化值進行XOR處理並作為白化資料而輸入至縮減回合加密編密302。隨後藉由縮減回合加密編密藉助靜態金鑰K1來加密白化資料。白化值隨後在320處與來自縮減回合加密編密之輸出資料進行XOR處理以產生最終密碼文字322。可顛倒該等程序以使用縮減回合解密編密將密碼文字解密回至純文字。由於使用了縮減回合編密而非完整塊編密,所以金鑰K1與潛在地該資料之位址空間內的所有資料一起處於風險中。
具有動態K 1 金鑰的例示性基於XTS之加密程序
圖4提供可由圖1之SoC處理電路或其他經合適裝備之器件、系統或處理電路使用的程序400之概述,該程序用於藉由使用與XTS編密一起使用之動態產生(或以其他方式動態獲得)之金鑰K1'來改良資料機密性。在步驟402處,使用第一塊編密藉助(或「基於」或「使用」等)第一金鑰(K1)來動態地加密資料單元索引以產生或以別的方式獲得經修改之第一金鑰K1'。在步驟404處,使用縮減回合加密編密藉助經 修改之第一金鑰(K1')來加密資料,該縮減回合加密編密具有少於完整塊編密之回合。在步驟406處,將經加密資料(例如,密碼文字)儲存於諸如晶片外記憶體器件之儲存器件中。藉由將動態產生之金鑰K1'而非靜態金鑰用於縮減回合加密編密,在K1'金鑰顯露或被攻擊者獲得的情況下,僅在與用於產生K1'金鑰之索引相關聯之資料單元內的資料處於風險中,而非與該等資料單元索引相關聯之位址空間內(亦即,在位址空間之所有頁內)的所有資料皆處於風險中。如步驟408中所示,可隨後藉由大體上用相同金鑰及索引顛倒該處理程序來解密資料以展現或重新產生原始資料(例如,純文字)。
圖5更詳細地說明圖4之例示性加密程序,其中該程序可再次由圖1之SoC處理電路或其他經合適裝備之器件、系統或處理電路來使用。圖5之程序500在步驟502處以處理電路加密n位元資料單元索引參數開始,其中該索引對應於待加密之資料之頁,其中n係編密之塊大小(例如,資料單元索引識別含有待加密之資料的記憶體儲存位置)。亦即,本文中用於指示資料單元索引「對應於」資料單元之術語廣泛地意謂資料單元索引識別資料單元或其一部分或在其他方面類似地與資料單元或其一部分相關聯。在本文中之實例中,資料單元索引通常係頁索引。資料單元索引係使用完整回合塊編密藉助第一金鑰(K1)而被加密以產生或以別的方式獲得經修改之第一金鑰(K1')。在步驟504處,處理電路使用同一完整回合塊編密之第二執行個體藉助第二編密(K2)來加密n位元資料單元索引以產生或以別的方式獲得經修改之第二金鑰(指示為V)。在步驟506處,處理電路藉由使V與αj相乘而將塊索引j應用於V以產生白化金鑰,其中α係常數且j表示資料之頁內的塊索引偏移。在步驟508處,處理電路隨後藉由將白化金鑰與待加密之資料進行XOR處理而將白化金鑰應用於待加密之資料(在將資料輸入至縮減回合加密編密中之前)。可(例如)自晶片上SRAM獲得待加密之 資料。在步驟510處,處理電路使用縮減回合加密編密藉助經修改之第一金鑰來加密白化資料,其中該縮減回合加密編密係相對於完整塊編密使用數目縮減之回合的「簡化」編密。在步驟512處,處理電路藉由將白化金鑰與自縮減回合加密編密輸出之資料進行XOR處理而將白化金鑰再應用於縮減回合資料編密之輸出以產生經加密之密碼文字資料。其後,在步驟514處,隨後將密碼文字儲存於晶片外儲存器件(諸如,DDR RAM或其他合適之儲存器件)中。儲存器可為臨時性或暫時性的,經加密資料隨後被傳輸至諸如另一行動計算器件之另一器件,或可採取其他適當之動作。再次,藉由基於資料單元索引而動態產生之K1',在K1'被顯露的情況下,僅彼特定資料單元內之資料處於風險中,而非位址空間內之所有資料皆處於風險中。
圖6說明可根據圖5之方法所使用之例示性程序600,其結合K1金鑰604及K2金鑰606而使用縮減回合塊加密編密602來加密資料。在此模式中,將完整回合塊編密608用於藉助K2金鑰606來加密頁索引610(例如,128位元)。塊編密608之輸出V(其可被視為K2之修改版本)在612處與αj 614相乘以提供輸入/輸出白化值,其中α係常數且j表示塊索引(其可為待加密之資料之頁內的偏移)。待加密之資料616隨後在618處與白化值進行XOR處理並作為「白化」資料而輸入至縮減回合加密編密602。同時,亦使用完整回合編密619藉助金鑰(K1)來加密同一頁索引610,該完整回合編密可為與完整回合編密608相同形式之編密。塊編密619之輸出(K1')(其可被視為K1之修改版本)被用作縮減回合加密編密602之金鑰,如所示。亦即,隨後藉由縮減回合加密編密602藉助K1之修改版本來加密白化資料。隨後在620處將藉由乘法函數612所產生之輸入/輸出白化值與來自縮減回合加密編密之輸出資料進行XOR處理以產生最終密碼文字622,該最終密碼文字可儲存(例如)於圖1中所示之類型的晶片外儲存器件中或儲存於某一其他合適之 儲存位置處。應注意,在圖6之實例中,可並行執行至少兩個處理程序:在藉由K2之編密執行個體引發(fire)的同時藉由K1之編密執行個體引發。
圖7說明例示性儲存器件700(諸如,晶片外儲存器件)。儲存器件700儲存資料單元M1…Mn之最新版本(個別地由參考數字7041…704n指示),其中每一資料單元可表示在晶片外儲存器之位址空間內的資料之頁。儲存器件針對資料單元而使用對應之頁索引INDEX1…INDEXn(個別地由參考數字7061…706n指示)。若基於INDEX3所產生之K1'金鑰被洩露,則對應之資料單元(M3)內的資料將處於風險中,如由陰影塊7043所示,但整個位址空間中之剩餘資料將不會由此處於風險中。
具有動態K 1 金鑰的例示性基於XTS之解密程序
圖8說明用於隨後解密密碼文字之例示性解密程序,其中再次,該程序可由圖1之SoC處理電路或其他經合適裝備之器件、系統或處理電路使用。圖8之程序800在步驟801處開始,其中自儲存器件(諸如,晶片外DDR RAM)提取待解密之資料。在步驟802處,當資料正被提取時,處理電路加密n位元資料單元索引,其中該索引對應於待解密之資料之頁,其中n係編密之塊大小。該資料單元索引係使用完整回合塊編密藉助第一金鑰(K1)而被加密以產生或以別的方式獲得經修改之第一金鑰(K1')。在步驟804處,當資料正被提取時,處理電路使用同一完整回合塊編密之第二執行個體藉助第二金鑰(K2)來加密n位元資料單元索引以產生或以別的方式獲得經修改之第二金鑰(指示為V)。在步驟806處,當仍在提取時,處理電路藉由使V與αj相乘而將塊索引j應用於V以產生白化金鑰,其中α再次為常數值且j表示待解密之資料之頁內的塊索引偏移。在步驟808處,處理電路隨後藉由將白化金鑰與待解密之資料進行XOR處理而將白化金鑰應用於待解密之所 提取資料(在將該資料輸入至縮減回合解密編密中之前)。在步驟810處,處理電路使用縮減回合解密編密藉助經修改之第一金鑰來解密白化資料,其中該縮減回合解密編密再次為相對於完整塊編密而使用數目縮減之回合的「簡化」編密。在步驟812處,處理電路藉由將白化金鑰與自縮減回合解密編密輸出之資料進行XOR處理而將白化金鑰再應用於縮減回合解密編密之輸出以產生經解密之純文字資料從而獲得純文字並傳遞至請求者。就此而言,純文字可儲存於晶片上儲存器件(諸如,SRAM)中以供器件之組件使用。儲存器再次可為臨時性或暫時性的。
圖9說明可根據圖8之方法所使用之例示性程序900,其結合K1金鑰904及K2金鑰906而使用縮減回合解密編密902來解密資料。在此模式中,完整回合塊編密908用於藉助K2金鑰906來加密128位元頁索引910。塊編密908之輸出V(其再次可被視為K2之修改版本)在912處與αj 914相乘以提供輸入/輸出白化值,其中α係常數且j表示塊索引(其可為待解密之資料之頁內的偏移)。同時,亦使用完整回合編密919藉助金鑰(K1)來加密同一頁索引910,該完整回合編密可為與完整回合編密908相同形式之編密。可在資料正被提取以供解密時執行此等程序。待解密之所提取資料916隨後在918處與白化值進行XOR處理並作為白化資料而輸入至縮減回合解密編密902。塊編密919之輸出(K1')(其再次可被視為K1之修改版本)被用作縮減回合解密編密902之金鑰,如所示。亦即,隨後藉由縮減回合解密編密902藉助K1之修改版本來解密白化資料。隨後在920處將藉由乘法函數912所產生之輸入/輸出白化值與來自縮減回合解密編密之輸出資料進行XOR處理以產生最終純文字922,該最終純文字可儲存(例如)於晶片上SRAM中或以其他方式在器件內加以處理。應注意,在圖9之實例中,可並行執行至少三個處理程序:藉由K1之編密執行個體引發;藉由K2之編密執行個體引發; 及提取密碼文字。此縮減讀取潛時。
例示性系統或裝置
圖10說明其中可實施圖1至圖9之組件及方法之整體系統或裝置1000。根據本發明之各種態樣,可藉由處理系統1014來實施元件、或元件之任何部分或元件之任何組合,該處理系統包括一或多個處理電路1004(諸如,圖1之SoC處理電路)。舉例而言,裝置1000可為行動通信系統之使用者設備(UE)。裝置1000可與無線電網路控制器(RNC)一起使用。除SoC之外,處理電路1004之實例還包括微處理器、微控制器、數位信號處理器(DSP)、場可程式化閘陣列(FPGA)、可程式化邏輯器件(PLD)、狀態機、閘控邏輯、離散硬體電路及經組態以執行貫穿本發明所描述之各種功能性的其他合適之硬體。亦即,如裝置1000中所利用之處理電路1004可用於實施上文所描述及圖1至圖9中所說明之處理程序(及在下文論述之圖13至圖16中概述的彼等處理程序)中之任何一或多者。詳言之,處理電路1004可經組態以:使用第一塊編密基於第一金鑰來加密資料單元索引以產生或以別的方式獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合加密編密而加密之資料;使用縮減回合加密編密基於經修改之第一金鑰來加密資料;及將經加密資料儲存於儲存器件中。處理電路1004可經組態以:使用第一塊編密基於第一金鑰來加密資料單元索引以產生或以別的方式獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合解密編密而解密之資料;使用縮減回合解密編密基於經修改之第一金鑰來解密資料;及將經解密資料儲存於儲存器件中。
在此實例中,處理系統1014可實施有匯流排架構(大體上由匯流排1002表示)。匯流排1002可取決於處理系統1014之特定應用及整體設計約束而包括任何數目之互連匯流排及橋接器。匯流排1002將各種電路鏈接在一起,包括一或多個處理電路(大體上由處理電路1004表 示)、儲存器件1005及處理器可讀媒體(大體上由非暫時性處理器或電腦可讀可讀媒體1006表示)。匯流排1002亦可鏈接此項技術中所熟知且因此將並不進一步描述之各種其他電路,諸如時序源、周邊裝置、電壓調節器及功率管理電路。匯流排介面1008提供匯流排1002與收發器1010之間的介面。收發器1010提供用於經由傳輸媒體與各種其他裝置通信之構件。視裝置之性質而定,亦可提供使用者介面1012(例如,小鍵盤、顯示器、揚聲器、麥克風、搖桿)。
處理器或處理電路1004負責管理匯流排1002及一般處理,包括執行儲存於處理器可讀媒體1006上之軟體。軟體在由處理電路1004執行時使處理系統1014執行本文中針對任何特定裝置所描述之各種功能。處理器可讀媒體1006亦可用於儲存在執行軟體時由處理電路1004操縱之資料。詳言之,處理器可讀儲存媒體1006可具有一或多個指令,該一或多個指令在由處理電路1004執行時使處理電路1004:使用第一塊編密藉助第一金鑰來加密資料單元索引以產生或以別的方式獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合加密編密而加密之資料;使用縮減回合加密編密藉助經修改之第一金鑰來加密資料;及將經加密資料儲存於儲存器件中。處理器可讀儲存媒體1006亦可具有一或多個指令,該一或多個指令在由處理電路1004執行時使處理電路1004:使用第一塊編密藉助第一金鑰來加密資料單元索引以產生或以別的方式獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合解密編密而解密之資料;使用縮減回合解密編密藉助經修改之第一金鑰來解密資料;及將經解密資料儲存於儲存器件中。
處理系統中之一或多個處理電路1004可執行軟體。軟體應廣泛地解釋為意謂指令、指令集、碼、碼段、程式碼、程式、子程式、軟體模組、應用程式、軟體應用程式、套裝軟體、常式、子常式、物 件、可執行碼、執行線緒、程序、函式等,而不管其是被稱作軟體、韌體、中間件、微碼、硬體描述語言還是其他者。處理電路可執行必要任務。碼段可表示程序、函式、子程式、程式、常式、子常式、模組、套裝軟體、類別、或指令、資料結構或程式陳述式的任一組合。可藉由傳遞及/或接收資訊、資料、引數、參數或記憶體內容而將碼段耦接至另一碼段或硬體電路。可經由包括記憶體共用、訊息傳遞、符記傳遞、網路傳輸等之任何合適方式來傳遞、轉遞或傳輸資訊、引數、參數、資料等。
軟體可駐留於電腦可讀或處理器可讀媒體1006上。處理器可讀媒體1006可為非暫時性處理器可讀媒體。以實例說明之,非暫時性處理器可讀媒體包括磁性儲存器件(例如,硬碟、軟性磁碟、磁條)、光碟(例如,緊密光碟(CD)或數位多功能光碟(DVD))、智慧卡、快閃記憶體器件(例如,卡、棒或隨身碟)、RAM、ROM、可程式化ROM(PROM)、可擦除PROM(EPROM)、電可擦除PROM(EEPROM)、暫存器、抽取式磁碟、硬碟、CD-ROM及用於儲存可由電腦存取及讀取之軟體及/或指令的任何其他合適媒體。術語「機器可讀媒體」、「電腦可讀媒體」及/或「處理器可讀媒體」可包括(但不限於)非暫時性媒體(諸如,攜帶型或固定儲存器件)、光學儲存器件及能夠儲存、含有或攜載指令及/或資料之各種其他媒體。因此,本文所描述之各種方法可完全或部分地由指令及/或資料來實施,該等指令及/或資料可儲存於「機器可讀媒體」、「電腦可讀媒體」及/或「處理器可讀媒體」中且由一或多個處理電路、機器及/或器件來執行。以實例說明之,處理器可讀媒體亦可包括載波、傳輸線及用於傳輸可藉由電腦存取及讀取之軟體及/或指令的任何其他合適媒體。處理器可讀媒體1006可駐留於處理系統1014中、處理系統1014外部或跨越包括處理系統1014之多個實體而分佈。處理器可讀媒體1006可體現於電腦程式產 品中。以實例說明之,電腦程式產品可包括包裝材料中之處理器可讀媒體。熟習此項技術者將認識到取決於特定應用及強加於整個系統之總設計約束而最好地實施貫穿本發明所呈現之所述功能性的方式。
諸圖中所說明之組件、步驟、特徵及/或功能中之一或多者可重新配置及/或組合成單個組件、步驟、特徵或功能或體現於若干組件、步驟或功能中。在不背離所描述之態樣及特徵的情況下,亦可添加額外元件、組件、步驟及/或功能。諸圖中所說明之裝置、器件及/或組件可經組態以執行諸圖中所描述之方法、特徵或步驟中之一或多者。本文中所描述之演算法亦可有效率地實施於軟體中及/或嵌入於硬體中。
結合本文中所揭示之實例而描述之各種說明性邏輯區塊、模組、電路、元件及/或組件可藉由通用處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯組件、離散閘或電晶體邏輯、離散硬體組件或經設計以執行本文中所描述之功能的其任何組合來實施或執行。通用處理電路可為微處理器,但在替代例中,處理電路可為任何習知之處理器、控制器、微控制器或狀態機。處理電路亦可被實施為計算組件之組合,例如,DSP與微處理器之組合、若干微處理器、結合DSP核心之一或多個微處理器,或任何其他此類組態。
因此,在本發明之一個態樣中,圖1及圖10中所說明之處理電路100及/或1004可為專門之處理電路(例如,ASIC),其經特定地設計及/或硬連線以執行圖2、圖3、圖5、圖6、圖8及/或圖9(及/或下文論述之圖13、圖14、圖15及/或圖16)中所描述之演算法、方法及/或步驟。因此,此類專門之處理電路(例如,ASIC)可為用於執行圖2、圖3、圖5、圖6、圖8及/或圖9(及/或下文論述之圖13、圖14、圖15及/或圖16)中所描述之演算法、方法及/或步驟之構件的一個實例。處理器可讀 儲存媒體可儲存指令,該等指令在由專門之處理電路(例如,ASIC)執行時使該專門之處理電路執行本文中所描述之演算法、方法及/或步驟。
圖11說明處理電路1004之所選及例示性組件。詳言之,圖11之處理電路1004包括資料單元索引加密組件1100,該資料單元索引加密組件操作以使用第一塊編密(諸如,XTS完整回合編密1110)基於第一金鑰來加密資料單元索引以產生或以別的方式獲得動態、經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合編密而加密或解密之資料。資料單元索引加密組件1100進一步操作以使用第二塊編密基於第二金鑰來加密資料單元索引以獲得經修改之第二金鑰。處理電路1004亦包括資料單元加密組件1102,該資料單元加密組件操作以使用縮減回合加密編密1112基於動態、經修改之第一金鑰來加密資料。處理電路1004亦包括資料單元解密組件1103,該資料單元解密組件操作以使用縮減回合解密編密1113基於動態、經修改之第一金鑰來解密先前加密之資料。處理電路1004進一步包括資料儲存及擷取控制器1104,該資料儲存及擷取控制器操作以將已加密之資料儲存於儲存器件中及/或自儲存器件(諸如,儲存器件1005)提取待解密之資料。處理電路1004可包括諸如白化組件1114之額外組件,該白化組件操作以在將待加密或解密之資料應用於各別縮減回合編密之前將白化金鑰應用於該資料,且隨後將白化金鑰再應用於縮減回合編密之輸出。
圖12說明處理器可讀或電腦可讀媒體1006之所選及例示性指令組件。詳言之,圖12之處理器可讀媒體1006包括資料單元索引加密指令1200,該等資料單元索引加密指令在由圖8之處理電路執行時使處理電路使用第一塊編密基於第一金鑰來加密資料單元索引以產生或以別的方式獲得動態、經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合加密編密而加密之資料。處理器可讀媒體1006亦包括 資料單元加密指令1202,該等資料單元加密指令操作以使用縮減回合加密編密基於動態、經修改之第一金鑰來加密資料。處理器可讀媒體1006亦包括資料單元解密指令1203,該等資料單元解密指令操作以使用縮減回合解密編密基於動態、經修改之第一金鑰來解密先前加密之資料。處理器可讀媒體1006進一步包括資料儲存及擷取指令1204,該等資料儲存及擷取指令操作以將已加密之資料儲存於儲存器件中及/或自儲存器件(諸如,儲存器件1205)提取待解密之資料。處理器可讀媒體1006可包括額外指令,諸如XTS完整回合編密指令1210、縮減回合加密編密指令1212及縮減回合解密編密指令1213以及白化指令1214,該等白化指令操作以在將待加密/解密之資料應用於各別縮減回合編密之前將白化金鑰應用於該資料,且隨後將白化金鑰再應用於縮減回合編密之輸出。亦可提供其他指令,且圖12之說明決非為窮盡性的。
圖13概述與縮減回合加密編密一起使用之加密方法1300,其可(例如)由圖11之處理電路或其他經合適裝備之器件來執行。簡言之,在步驟1302處,處理電路使用第一塊編密基於第一金鑰來加密資料單元索引以獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合加密編密而加密之資料(亦即,該資料單元索引識別含有待加密之資料的記憶體儲存位置)。在步驟1304處,處理電路使用縮減回合加密編密基於經修改之第一金鑰來加密資料。在步驟1306處,處理電路將經加密資料儲存於儲存器件中。
圖14概述與縮減回合加密編密一起使用之另外的程序1400,其亦可(例如)由圖11之處理電路或其他經合適裝備之器件來執行。簡言之,在步驟1402處,處理電路使用第二塊編密基於第二金鑰來加密資料單元索引以獲得經修改之第二金鑰。在步驟1404處,處理電路將塊索引應用於經修改之第二金鑰以獲得白化金鑰。在步驟1406處,處理 電路在將待加密之資料應用於縮減回合加密編密之前將白化金鑰應用於該資料。在步驟1408處,處理電路將白化金鑰再應用於縮減回合加密編密之輸出以(例如)產生密碼文字。
圖15概述與縮減回合解密編密一起使用之解密方法1500,其亦可(例如)由圖11之處理電路或其他經合適裝備之器件來執行。簡言之,在步驟1502處,處理電路使用第一塊編密基於第一金鑰來加密資料單元索引以獲得經修改之第一金鑰,其中該資料單元索引對應於待藉由縮減回合解密編密而解密之資料(亦即,該資料單元索引識別含有待解密之資料的記憶體儲存位置)。在步驟1504處,處理電路使用縮減回合解密編密基於經修改之第一金鑰來解密資料。在步驟1506處,處理電路將經解密資料儲存於儲存器件中。
圖16概述與縮減回合解密編密一起使用之另外的程序1600,其亦可(例如)由圖11之處理電路或其他經合適裝備之器件來執行。簡言之,在步驟1602處,處理電路使用第二塊編密基於第二金鑰來加密資料單元索引以獲得經修改之第二金鑰。在步驟1604處,處理電路將塊索引應用於經修改之第二金鑰以獲得白化金鑰。在步驟1606處,處理電路在將待解密之資料應用於縮減回合解密編密之前將白化金鑰應用於該資料。在步驟1608處,處理電路將白化金鑰再應用於縮減回合解密編密之輸出以(例如)產生純文字。
又,應注意,本文中可將本發明之態樣描述為處理程序,該程序被描繪為流程框圖、流程圖、結構圖或方塊圖。雖然流程框圖可將操作描述為順序處理程序,但操作中之許多者可並行或同時執行。另外,可重排該等操作之次序。當一處理程序之操作完成時,該處理程序終止。處理程序可對應於方法、函式、程序、子常式、子程式等。當處理程序對應於函式時,其終止對應於該函式返回至呼叫函式或主函式。
彼等熟習此項技術者將進一步瞭解,可將結合本文中所揭示之態樣而描述的各種說明性邏輯區塊、模組、電路及演算法步驟實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,上文已大體上在功能性方面描述了各種說明性組件、區塊、模組、電路及步驟。此功能性經實施為硬體或是軟體取決於特定應用及強加於整個系統之設計約束而定。
預期本文中所描述之各種特徵可實施於不同系統中。應注意,本發明之前述態樣僅為實例且不應解釋為限制性的。本發明之態樣之描述意欲為說明性的,且將不限制申請專利範圍之範疇。因而,本發明之教示可易於應用於其他類型之裝置,且許多替代、修改及變化對於彼等熟習此項技術者而言將為顯而易見的。
1300‧‧‧與縮減回合加密編密一起使用之加密方法

Claims (30)

  1. 一種與一縮減回合加密編密一起使用之用於加密資料的方法,其包含:使用一第一塊編密基於一第一金鑰來加密一資料單元索引以獲得一經修改之第一金鑰,其中該資料單元索引對應於待藉由該縮減回合加密編密而加密之資料;使用該縮減回合加密編密基於該經修改之第一金鑰來加密該資料;及將該經加密資料儲存於一儲存器件中。
  2. 如請求項1之方法,其進一步包含:使用一第二塊編密基於一第二金鑰來加密該資料單元索引以獲得一經修改之第二金鑰;將一塊索引應用於該經修改之第二金鑰以獲得一白化金鑰;在將待加密之該資料應用於該縮減回合加密編密之前將該白化金鑰應用於該資料;及將該白化金鑰再應用於該縮減回合加密編密之一輸出。
  3. 如請求項2之方法,其中該第一塊編密及該第二塊編密係完整塊編密。
  4. 如請求項3之方法,其中該第一塊編密及該第二塊編密係同一編密之不同執行個體。
  5. 如請求項2之方法,其中該資料單元索引係呈被應用於該第一塊編密及該第二塊編密之一n位元參數的形式,其中n係該第一塊編密及該第二塊編密之一塊大小。
  6. 如請求項2之方法,其中將該塊索引應用於該經修改之第二金鑰以獲得該白化金鑰包含使該經修改之第二金鑰與αj相乘,其中α 係一常數且j係一塊索引。
  7. 如請求項6之方法,其中在將該資料應用於該縮減回合加密編密之前將該白化金鑰應用於該資料包含將該白化金鑰與該資料進行XOR處理。
  8. 如請求項7之方法,其中將該白化金鑰再應用於該縮減回合加密編密之該輸出包含將該白化金鑰與自該縮減回合加密編密輸出之資料進行XOR處理。
  9. 如請求項1之方法,其中該資料單元索引係一頁編號。
  10. 如請求項1之方法,其中該縮減回合加密編密被實施於耦接至一晶片外儲存器件之一系統單晶片器件內,且該方法進一步包含將經加密資料儲存於該晶片外儲存器件中。
  11. 一種器件,其包含:用於儲存資料之一儲存器件;耦接至該儲存裝置之一處理電路,該處理電路經組態以:使用一第一塊編密基於一第一金鑰來加密一資料單元索引以獲得一經修改之第一金鑰,其中該資料單元索引對應於待藉由一縮減回合加密編密而加密之資料;使用該縮減回合加密編密基於該經修改之第一金鑰來加密該資料;及將該經加密資料儲存於該儲存器件中。
  12. 如請求項11之器件,其中該處理電路進一步經組態以:使用一第二塊編密基於一第二金鑰來加密該資料單元索引以獲得一經修改之第二金鑰;將一塊索引應用於該經修改之第二金鑰以獲得一白化金鑰;在將待加密之該資料應用於該縮減回合加密編密之前將該白化金鑰應用於該資料;及 將該白化金鑰再應用於該縮減回合加密編密之一輸出。
  13. 如請求項12之器件,其中由該處理電路所使用之該第一塊編密及該第二塊編密係完整塊編密。
  14. 如請求項13之器件,其中由該處理電路所使用之該第一塊編密及該第二塊編密係同一編密之不同執行個體。
  15. 如請求項12之器件,其中由該處理電路所使用之該資料單元索引係呈被應用於該第一塊編密及該第二塊編密之一n位元參數的形式,其中n係該第一塊編密及該第二塊編密之一塊大小。
  16. 如請求項12之器件,其中該處理電路進一步經組態以藉由使該經修改之第二金鑰與αj相乘而將該塊索引應用於該經修改之第二金鑰以獲得該白化金鑰,其中α係一常數且j係一塊索引。
  17. 如請求項16之器件,其中該處理電路進一步經組態以在將該資料應用於該縮減回合加密編密之前藉由將該白化金鑰與該資料進行XOR處理而將該白化金鑰應用於該資料。
  18. 如請求項17之器件,其中該處理電路進一步經組態以藉由將該白化金鑰與自該縮減回合加密編密輸出之資料進行XOR處理而將該白化金鑰再應用於該縮減回合加密編密之該輸出。
  19. 如請求項11之器件,其中由該處理電路所使用之該資料單元索引係一頁編號。
  20. 如請求項11之器件,其中該處理電路係耦接至一晶片外儲存器件之一系統單晶片器件的一組件,且該處理電路進一步經組態以將經加密資料儲存於該晶片外儲存器件中。
  21. 一種與一縮減回合解密編密一起使用之用於解密資料的方法,其包含:使用一第一塊編密基於一第一金鑰來加密一資料單元索引以獲得一經修改之第一金鑰,其中該資料單元索引對應於待藉由 該縮減回合解密編密而解密之資料;使用該縮減回合解密編密基於該經修改之第一金鑰來解密該資料;及將該經解密資料儲存於一儲存器件中。
  22. 如請求項21之方法,其進一步包含:使用一第二塊編密基於一第二金鑰來加密該資料單元索引以獲得一經修改之第二金鑰;將一塊索引應用於該經修改之第二金鑰以獲得一白化金鑰;在將待解密之該資料應用於該縮減回合解密編密之前將該白化金鑰應用於該資料;及將該白化金鑰再應用於該縮減回合解密編密之一輸出。
  23. 如請求項22之方法,其中該第一塊編密及該第二塊編密係完整塊編密。
  24. 如請求項21之方法,其中該資料單元索引係一頁編號。
  25. 如請求項21之方法,其進一步包含自一儲存器件獲得待解密之資料,且其中使用該第一塊編密基於該第一金鑰來加密該資料單元索引以獲得該經修改第一金鑰係與用於獲得待藉由該縮減回合解密編密而解密之該資料的操作並行執行的。
  26. 一種器件,其包含:用於儲存資料之一儲存器件;耦接至該儲存器件之一處理電路,該處理電路經組態以:使用一第一塊編密基於一第一金鑰來加密一資料單元索引以獲得一經修改之第一金鑰,其中該資料單元索引對應於待藉由一縮減回合解密編密而解密之資料;使用該縮減回合解密編密基於該經修改之第一金鑰來解密該資料;及 將該經解密資料儲存於一儲存器件中。
  27. 如請求項26之器件,其中該處理電路進一步經組態以:使用一第二塊編密基於一第二金鑰來加密該資料單元索引以獲得一經修改之第二金鑰;將一塊索引應用於該經修改之第二金鑰以獲得一白化金鑰;在將待解密之該資料應用於該縮減回合解密編密之前將該白化金鑰應用於該資料;及將該白化金鑰再應用於該縮減回合解密編密之一輸出。
  28. 如請求項27之器件,其中由該處理電路所使用之該第一塊編密及該第二塊編密係完整塊編密。
  29. 如請求項26之器件,其中由該處理電路所使用之該資料單元索引係一頁編號。
  30. 如請求項26之器件,其中該處理電路進一步經組態以自一儲存器件獲得待解密之資料,且其中使用該第一塊編密基於該第一金鑰來加密該資料單元索引以獲得該經修改之第一金鑰係與用於獲得待藉由該縮減回合解密編密而解密之該資料的操作並行執行的。
TW104107072A 2014-03-11 2015-03-05 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰 TWI570590B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/205,230 US9405919B2 (en) 2014-03-11 2014-03-11 Dynamic encryption keys for use with XTS encryption systems employing reduced-round ciphers

Publications (2)

Publication Number Publication Date
TW201546648A true TW201546648A (zh) 2015-12-16
TWI570590B TWI570590B (zh) 2017-02-11

Family

ID=52684702

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104107072A TWI570590B (zh) 2014-03-11 2015-03-05 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰

Country Status (7)

Country Link
US (1) US9405919B2 (zh)
EP (1) EP3117558A1 (zh)
JP (1) JP6109441B1 (zh)
KR (1) KR101767655B1 (zh)
CN (1) CN106105089B (zh)
TW (1) TWI570590B (zh)
WO (1) WO2015138179A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376506B1 (ko) * 2014-10-20 2022-03-18 삼성전자주식회사 암복호화기, 암복호화기를 포함하는 전자 장치 및 암복호화기의 동작 방법
US10346318B2 (en) 2016-09-13 2019-07-09 Intel Corporation Multi-stage memory integrity method and apparatus
JP6386198B1 (ja) * 2017-02-21 2018-09-05 三菱電機株式会社 暗号化装置及び復号装置
US10298553B2 (en) 2017-03-31 2019-05-21 Sprint Communications Company L.P. Hardware trusted data communications over system-on-chip (SOC) architectures
EP3602633A4 (en) * 2017-03-31 2020-11-11 INTEL Corporation GATE FOR A TRANSISTOR
US10608822B2 (en) * 2017-04-26 2020-03-31 Nxp B.V. Efficient calculation of message authentication codes for related data
US11630920B2 (en) * 2018-06-29 2023-04-18 Intel Corporation Memory tagging for side-channel defense, memory safety, and sandboxing
US11349639B2 (en) 2018-12-28 2022-05-31 ePIC Blockchain Technologies Inc. Circuit and method for overcoming memory bottleneck of ASIC-resistant cryptographic algorithms
US11574079B2 (en) * 2021-05-27 2023-02-07 Nuvoton Technology Corporation Multi-stage provisioning of secret data
US20230094171A1 (en) * 2021-09-25 2023-03-30 Intel Corporation Memory assisted incline encryption/decryption

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3658004B2 (ja) * 1993-07-20 2005-06-08 キヤノン株式会社 通信システム
US6052466A (en) * 1997-08-28 2000-04-18 Telefonaktiebolaget L M Ericsson (Publ) Encryption of data packets using a sequence of private keys generated from a public key exchange
TW375721B (en) * 1998-06-17 1999-12-01 Ind Tech Res Inst DES chip processor capable of executing data encryption standard (DES) operation
EP1440535B1 (en) * 2001-10-03 2011-01-05 Nxp B.V. Memory encrytion system and method
US20060195402A1 (en) * 2002-02-27 2006-08-31 Imagineer Software, Inc. Secure data transmission using undiscoverable or black data
JP2005527853A (ja) * 2002-05-23 2005-09-15 アトメル・コーポレイション 高度暗号化規格(aes)のハードウェア暗号法エンジン
US7472285B2 (en) 2003-06-25 2008-12-30 Intel Corporation Apparatus and method for memory encryption with reduced decryption latency
US7321659B2 (en) * 2003-10-01 2008-01-22 International Business Machines Corporation Simple universal hash for plaintext aware encryption
ATE509442T1 (de) * 2003-12-11 2011-05-15 Irdeto Bv Blockchiffriersystem unter verwendung von permutationen zum verbergen der kernchiffrierfunktion jeder verschlüsselungsrunde
US7697681B2 (en) * 2004-02-06 2010-04-13 Nortel Networks Limited Parallelizable integrity-aware encryption technique
US8155306B2 (en) * 2004-12-09 2012-04-10 Intel Corporation Method and apparatus for increasing the speed of cryptographic processing
FR2893796B1 (fr) * 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
WO2008018303A1 (fr) * 2006-08-10 2008-02-14 Nec Corporation Dispositif de chiffrage de bloc équipé d'une fonction d'ajustement, procédé et programme
US8036377B1 (en) * 2006-12-12 2011-10-11 Marvell International Ltd. Method and apparatus of high speed encryption and decryption
US7890565B2 (en) * 2007-04-30 2011-02-15 Lsi Corporation Efficient hardware implementation of tweakable block cipher
EP2186250B1 (en) 2007-08-31 2019-03-27 IP Reservoir, LLC Method and apparatus for hardware-accelerated encryption/decryption
US8121294B2 (en) * 2008-10-21 2012-02-21 Apple Inc. System and method for a derivation function for key per page
US9336160B2 (en) * 2008-10-30 2016-05-10 Qualcomm Incorporated Low latency block cipher
JP5272751B2 (ja) 2009-01-26 2013-08-28 富士通セミコンダクター株式会社 プロセッサ
JP5704159B2 (ja) 2010-02-24 2015-04-22 日本電気株式会社 ブロック暗号化装置、ブロック復号装置、ブロック暗号化方法、ブロック復号方法及びプログラム
JP2012009928A (ja) 2010-06-22 2012-01-12 Toshiba Corp 暗号演算装置、記憶装置および暗号演算方法
US8966279B2 (en) 2010-12-21 2015-02-24 Apple Inc. Securing the implementation of a cryptographic process using key expansion
US8966285B2 (en) * 2011-01-10 2015-02-24 Apple Inc. Securing implementation of a cryptographic process having fixed or dynamic keys
JP5167374B2 (ja) * 2011-01-21 2013-03-21 シャープ株式会社 データ暗号化装置、及び、メモリカード
TWI475879B (zh) * 2011-12-06 2015-03-01 Ind Tech Res Inst 數位版權管理物件之加密/解密方法、數位版權管理物件加密/解密裝置
CN102779251B (zh) * 2012-06-29 2016-04-13 鸿富锦精密工业(深圳)有限公司 电子设备及其加密/解密方法

Also Published As

Publication number Publication date
US9405919B2 (en) 2016-08-02
US20150261965A1 (en) 2015-09-17
EP3117558A1 (en) 2017-01-18
JP2017511900A (ja) 2017-04-27
CN106105089A (zh) 2016-11-09
KR20160122180A (ko) 2016-10-21
CN106105089B (zh) 2019-04-26
KR101767655B1 (ko) 2017-08-11
JP6109441B1 (ja) 2017-04-05
WO2015138179A1 (en) 2015-09-17
TWI570590B (zh) 2017-02-11

Similar Documents

Publication Publication Date Title
TWI570590B (zh) 與使用縮減回合編密的xts加密系統一起使用之動態加密金鑰
EP2730049B1 (en) System and method for wireless data protection
WO2017041603A1 (zh) 数据加密方法、装置及移动终端、计算机存储介质
US9712319B2 (en) Method and apparatus to encrypt plaintext data
US20170206174A1 (en) Secure memory storage
CN108259171B (zh) Shader文件的保护方法及装置
JP2016517241A (ja) ストレージデバイスによって支援されるインライン暗号化および暗号化解除
WO2007118829A1 (en) Encryption apparatus and method for providing an encrypted file system
US20120288089A1 (en) System and method for device dependent and rate limited key generation
CN111010266B (zh) 消息的加解密、读写方法、装置、计算机设备和存储介质
Bossi et al. What users should know about full disk encryption based on LUKS
WO2022048315A1 (zh) 文件加密方法、终端、装置、设备及介质
CN104063672A (zh) 数据安全存储方法
CN104866784A (zh) 一种基于bios加密的安全硬盘、数据加密及解密方法
CN102769525B (zh) 一种tcm的用户密钥备份与恢复方法
CN114124364A (zh) 密钥安全处理方法、装置、设备及计算机可读存储介质
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
CN106100829B (zh) 加密存储的方法及装置
CN109255225A (zh) 基于双重身份认证的硬盘数据安全管理装置
CN103491384A (zh) 一种视频的加密方法和装置及解密方法和装置
CN101763485A (zh) 数据保护方法
CN117786718A (zh) 文件加解密方法、装置、电子设备及存储介质
KR101071120B1 (ko) 보안 유에스비 메모리간 데이터 보안 복사방법
CN112487448A (zh) 一种加密信息处理装置、方法及计算机设备
JP2020145656A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees