[go: up one dir, main page]

TWI721765B - 動態加擾電路及其相關加擾方法 - Google Patents

動態加擾電路及其相關加擾方法 Download PDF

Info

Publication number
TWI721765B
TWI721765B TW109102676A TW109102676A TWI721765B TW I721765 B TWI721765 B TW I721765B TW 109102676 A TW109102676 A TW 109102676A TW 109102676 A TW109102676 A TW 109102676A TW I721765 B TWI721765 B TW I721765B
Authority
TW
Taiwan
Prior art keywords
data
scrambling
external memory
key
memory
Prior art date
Application number
TW109102676A
Other languages
English (en)
Other versions
TW202123229A (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 新加坡商瑞昱新加坡有限公司
Application granted granted Critical
Publication of TWI721765B publication Critical patent/TWI721765B/zh
Publication of TW202123229A publication Critical patent/TW202123229A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • 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
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

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

Abstract

一種記憶體資料加擾系統,包括積體電路及外部記憶體。積體電路包括匯流排結構,記憶體控制器耦接至匯流排結構,動態加擾器耦接至記憶體控制器,及實體介面耦接至動態加擾器。動態加擾器包括加擾器,解擾器,加擾選擇表和密鑰產生器。

Description

動態加擾電路及其相關加擾方法
本發明是關於一種資料加擾技術,尤指一種能夠在系統運作時動態地對記憶體資料進行加擾的系統與方法。
某些系統會對儲存在外部記憶體中的資料進行加擾或加密以確保其內容不受竊取。特殊應用積體電路(ASIC)的外部雙倍資料率記憶體介面中的資料加擾或加密已可使用習知的許多方法完成。某些晶片在雙倍資料率記憶體中使用高級加密標準(Advanced Encryption Standard,AES)或類似的加密方法,以便對儲存在記憶體中的資料進行加密。另外某些晶片使用的方法為對儲存在記憶體中的資料進行加擾。但是,上述方法有一個缺點,因一直使用同樣的密鑰對記憶體的特定區域進行加擾或加密,就使得該資料儲存區域容易被攻擊而被解擾或解密。
實施例提供一種記憶體資料加擾系統,包括積體電路(integrated circuit,IC)及外部記憶體。該積體電路包括匯流排結構,記憶體控制器耦接至該匯流排結構,動態加擾器耦接至該記憶體控制器,及實體介面耦接至該動態加擾器。該動態加擾器包括加擾器,解擾器,加擾選擇表和密鑰產生器。
實施例另提供一種在記憶體系統中進行資料加擾的方法,該記憶體系統包括耦接至動態加擾器的外部記憶體,該動態加擾器包括加擾器,解擾器, 加擾選擇表,更新定時器和密鑰產生器,該方法包括當該更新定時器的時間到期時,選擇該外部記憶體之區域,該區域具有已加擾的第資料;從該外部記憶體的該區域中讀取該已加擾的第一資料;根據該加擾選擇表,利用與該區域關聯的第一加擾密鑰對該已加擾的第一資料進行解擾;該密鑰產生器產生相異於該第一加擾密鑰的第二加擾密鑰,並將該第二加擾密鑰與該區域相聯結;利用該第二加擾密鑰對該已解擾的第一資料進行加擾以產生第二資料;及將該第二資料傳輸到該外部記憶體的該區域。
100:記憶體系統
110:匯流排結構
120:記憶體控制器
130:動態加擾器
140:實體介面
150:積體電路
160:外部記憶體
210:加擾器
220,225:程式區塊
230:解擾器
310:加擾選擇表
320:協調電路
330:密鑰產生器
340:更新定時器
400,500,600:方法
410至450,510至550,610至690:步驟
第1圖是本發明實施例之記憶體系統的示意圖。
第2圖是第1圖中動態加擾器之一實施例的示意圖。
第3圖是第1圖中動態加擾器之一實施例的另一示意圖。
第4圖是本發明實施例之動態記憶體寫入方法之一實施例的流程圖。
第5圖是本發明實施例之外部記憶體讀取資料方法之一實施例的流程圖。
第6圖是本發明實施例之定時加擾的方法之一實施例的流程圖。
本發明係以雙倍資料率(double data rate,DDR)記憶體作為說明範例,並非用於限縮本發明。
本發明對雙倍資料率記憶體的儲存區域進行加擾,並可以在系統運作時使用不同的加擾算法來重新加擾,且不影響其性能。
從安全的角度來看,雙倍資料率記憶體的動態加擾可給試圖破解加擾內容者造成很大的困難。密鑰可以隨時更改,當密鑰更改後,就需要重新破解加擾。
本發明提出了一種記憶體資料加擾系統,可在系統運作時動態地對記憶體的內容進行加擾。記憶體資料加擾系統不會導致記憶體系統的性能下降,因為記憶體內容加擾可為雙倍資料率記憶體常規更新操作的一部分。記憶體資料加擾系統提供了一種方法,其中記憶體的內容會在不可預測的時間被重新加擾。記憶體資料加擾系統另提供了一種方法,可選擇在任何的記憶體儲存區域中使用的加擾器數量並可以隨機選擇加擾器演算法。
動態加擾器是一種邏輯電路區塊,為積體電路(例如,處理器)的一部分。典型的配置如第1圖所示,記憶體系統100包括耦接於外部記憶體160(例如,雙倍資料率記憶體)的積體電路150。外部記憶體160是用以儲存在本發明中被加擾和/或重新加擾的資料的記憶體。儘管加擾資料和加密資料可能被視為不同的過程,但就著本發明來說,詞彙「加擾」和「加密」可互換使用,並且指的是同一過程。
如第1圖所示,積體電路150包括匯流排結構110,記憶體控制器120和耦接於外部記憶體160的實體介面140。這些元件的結構和功能在本領域為習知技術,在這裡不進一步討論。本發明的積體電路150中的新元件是動態加擾器130。動態加擾器130位於記憶體控制器120和實體介面140之間。資料可從經由匯流排結構110傳輸到記憶體控制器120,然後傳輸到動態加擾器130,並在此處對 其進行加擾/加密,然後將加擾/加密的資料傳輸到實體介面140,最後傳輸到外部記憶體160儲存。本發明還包含用與上述相反的順序從系統100讀取外部記憶體160。動態加擾器130還包括在記憶體位址接收讀寫請求所必需的元件。
如第2圖所示,動態加擾器130包括兩個資料路徑。一個資料路徑處理從積體電路150發送到外部記憶體160的資料(寫入路徑)。在此路徑上,動態加擾器130可以使用某些機制對資料進行加擾/加密,然後使資料無法被外部讀取的方式儲存在外部記憶體160中。在另一資料路徑(讀取路徑)中,動態加擾器130以與資料被加擾/加密相反的方式對從外部記憶體160讀取的資料進行解擾/解密,並使資料傳回到積體電路150。
在動態加擾器130內存在程式區塊220及225,程式區塊220及225包括密鑰產生器330、協調電路320、更新定時器340和加擾選擇表310。程式區塊220及225可用於加擾/解擾的過程。如第3圖所示。密鑰產生器330產生加擾密鑰,用於對資料進行加擾和解擾。加擾選擇表310追蹤加擾密鑰對記憶體的哪個儲存位置的資料進行加擾。協調電路320可協調加擾/解擾和動態密鑰的更改,從而允許在系統運作時對記憶體中的加擾資料進行重新加擾。在一些實施例中,更新定時器340協調加擾/解擾的時間,使其可以代替雙倍資料率記憶體的更新以提高性能。一實施例,該協調電路320的一實施例是一有限狀態機(finite state machine,FSM)。
動態加擾器130可基於在設計系統100時定義的參數進行操作。關鍵參數是:(1)使用多少個加擾多項式(polynomial),以及(2)支持哪種資料加擾粒度(加擾區域大小)。定義的加擾多項式的數量決定在系統100中可以存在多少 個可能的資料加擾表示法。資料加擾的粒度(granularity)將確定需要多大的加擾選擇表來追蹤每個資料區域的加擾狀態。例如,選擇四個加擾多項式和128B加擾粒度,代表記憶體的每個128B區域可以包含使用四個可能的加擾多項式其中之一所加擾的資料。在這種情況下,用於外部記憶體160的一特定區域的多項式與用在外部記憶體160之其他區域的多項式可以是相同或相異。
動態加擾器130包含加擾選擇表310,用於儲存對於每個區域正在使用的加擾多項式。加擾選擇表310可以使用隨機數值以初始建立(be initially seeded with random values),以使得系統100於啟動時無法預測各個區域正在使用的加擾多項式。
當將資料寫入外部記憶體160時,寫入路徑會包含資料與寫入位址。動態加擾器130將寫入位址對應到適當的加擾區域。然後查詢加擾選擇表130,加擾選擇表130包含用於對資料進行加擾的加擾多項式。動態加擾器130對資料進行適當的加擾並將其發送到外部記憶體160。
第4圖是動態記憶體寫入方法400之一實施例的流程圖。方法400包括:步驟410:動態加擾器130接收寫入請求(例如包括有:資料,位址);步驟420:動態加擾器130將寫入位址對應到儲存區域;步驟430:動態加擾器130在加擾選擇表310中查找加擾區域;步驟440:動態加擾器130根據從加擾選擇表310查找的結果對寫入資料進行加擾;及步驟450:動態加擾器130將加擾的資料輸出到外部記憶體160。
當需要從外部記憶體160讀取資料時,讀取路徑會包含讀取請求與讀取地址。動態加擾器130將讀取的地址對應到適當的加擾區域。然後,然後查詢加擾選擇表130,加擾選擇表130包含用於對資料進行加擾的加擾多項式。動態加擾器130對資料進行適當的解擾並將其發送到積體電路150。
第5圖是從外部記憶體160讀取資料方法500之一實施例的流程圖。方法500包括:步驟510:動態加擾電路130接收讀取請求(例如包括有資料,位址);步驟520:動態加擾器130將讀取位址對應到儲存區域;步驟530:動態加擾器130在加擾選擇表310中查找加擾區域;步驟540:動態加擾器130根據從加擾選擇表310查找的結果對從外部記憶體160讀取的資料進行解擾;及步驟550:動態加擾器130將解擾的資料輸出至積體電路150的匯流排結構110。
在外部記憶體160中對資料進行重新加擾的過程包括從外部記憶體160讀取已加擾的資料,使用不同的多項式對讀取的資料進行解擾和重新加擾,以及將重新加擾的資料寫回到外部記憶體160以及更新加擾選擇表310。這些過程通常會在短時間內完成。另外一些實施例還包括解決衝突的方法以處理在加擾過程期間接收到讀取或寫入請求的情況。
當記憶體需要定期更新以保留資料的特性時,例如是雙倍資料率(DDR II)記憶體,還可調整加擾時間以使得加擾時間與記憶體更新時間為一致。 也就是,一些實施例包括以上所有步驟以及還進一步包括有調整加擾時間,使其與雙倍資料率記憶體更新的時間一致以節省操作時間。雙倍資料率記憶體等外部記憶體需要定期更新以保留資料。動態加擾器130應用此特徵運作。動態加擾器130具有協調電路320及更新定時器340,用以在間隔時間到期時更新外部記憶體160中的儲存區域。當間隔時間到期時,動態加擾器130會選擇要更新的區域,檢查加擾選擇表310中的那個區域,然後選擇與當前儲存在加擾選擇表310中的加擾機制(例如:加擾密鑰)不同的加擾機制。之後,協調電路320讀取外部記憶體160的區域,並使用舊的加擾機制對讀取的資料進行解擾,然後使用新的加擾機制對已解擾的資料進行重新加擾。然後,將加擾後的資料寫回外部記憶體160,最後將新的加擾機制更新至加擾選擇表310。
第6圖是定時加擾的方法600的流程圖。方法600包括:步驟610:更新定時器340的間隔時間到期;步驟620:更新定時器340的間隔時間到期時,選擇外部記憶體160中的儲存區域;步驟630:在加擾選擇表310中查找加擾區域;步驟640:在外部記憶體160的儲存區域中讀取資料;步驟650:根據從加擾選擇表310查找的結果(加擾機制)對讀取的資料進行解擾;步驟660:選擇新的加擾機制;步驟670:使用新的加擾機制來加擾被解擾的資料;步驟680:將新的加擾機制更新至加擾選擇表310;及步驟690:將再加擾的資料輸出到外部記憶體160。
由於進行雙倍資料率記憶體的再加擾是以記憶體更新程序的一部分,因此讀取或寫入的效能損失較少。這使雙倍資料率記憶體的資料可以在系統運作時動態地再加擾。由於雙倍資料率記憶體內建的更新時間非常短,因此可以將系統設計為對資料進行再加擾的頻率為每次更新,週期間隔次數更新,隨機間隔次數更新或以其他頻率進行更新(例如由用戶指定)。換言之,由於雙倍資料率記憶體內建的更新時間非常短,故,對資料進行解擾和再加擾操作來代替(或取代)了該外部記憶體的至少一部份更新操作。
如先前所描述的,對資料進行解擾和再加擾的方法可以根據情況而變化。例如,可以例如通過使用有限狀態機來隨機選擇或逐一選擇使用哪個加擾演算法。用戶可以選擇在任何儲存區域中可使用的加擾的次數。另外,記憶體的內容可以依照周期性或隨機時間被重新加擾。
外部記憶體中儲存的資料的重新加擾可大大減少加密資料被破解的機率,因而提高了系統的安全性。利用加擾代替記憶體更新時間,可降低由於加擾而使系統損失的效能。如此一來,本發明的記憶體資料加擾系統可以在系統運作時動態地對記憶體的內容進行加擾,而不會造成記憶體系統的性能下降,因為對記憶體內容的加擾可視為記憶體的常規性更新操作的一部分。
在說明書及申請專利範圍中使用了某些詞彙來指稱特定的元件,而本領域內的技術人員可能會用不同的名詞來稱呼同樣的元件。本說明書及申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的基準。在說明書及申請專利範圍中所提及的「包含」為開放式的用語,應解釋成「包含但不限定於」。另外,「耦接」一詞在此包含任何直接 及間接的連接手段。因此,若文中描述第一元件耦接於第二元件,則代表第一元件可通過電性連接或無線傳輸、光學傳輸等信號連接方式而直接地連接於第二元件,或通過其它元件或連接手段間接地電性或信號連接至第二元件。
在說明書中所使用的「和/或」的描述方式,包含所列舉的其中一個項目或多個項目的任意組合。另外,除非說明書中特別指明,否則任何單數格的用語都同時包含複數格的含義。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:記憶體系統
110:匯流排結構
120:記憶體控制器
130:動態加擾器
140:實體介面
150:積體電路
160:外部記憶體

Claims (8)

  1. 一種資料加擾系統,包括:一外部記憶體;一積體電路,耦接於該外部記憶體;該積體電路包括:一匯流排結構;一記憶體控制器,耦接至該匯流排結構;一動態加擾器,耦接於該記憶體控制器,該動態加擾器包括:一加擾器;一解擾器;一密鑰產生器,用以產生用於加擾及/或解擾的一密鑰;和一加擾選擇表,用以追蹤該密鑰係與該外部記憶體的哪個儲存區域進行加擾;一實體介面,耦接於該動態加擾器以及該外部記憶體;及一更新定時器;及一協調電路,用以在該系統運作時協調對該外部記憶體中的加擾資料進行解擾後要重新加擾時該使用哪一個其他的密鑰;其中該更新定時器用以協調該協調電路執行加擾的時間,以取代該外部記憶體的至少一部份更新。
  2. 如請求項1所述的資料加擾系統,其中該加擾選擇表用以追蹤該密鑰係與該外部記憶體的哪個儲存位置進行加擾。
  3. 如請求項1所述的資料加擾系統,其中該協調電路是一有限狀態機(finite state machine)。
  4. 如請求項1所述的資料加擾系統,其中該協調電路用以:選擇該外部記憶體之一區域,該區域具有一已加擾的第一資料;從該外部記憶體的該區域中讀取該已加擾的第一資料;利用與該區域相關的一第一密鑰對該已加擾的第一資料進行解擾;該密鑰產生器產生相異於該第一密鑰的一第二密鑰,並將該第二密鑰與該區域相聯結;利用該第二密鑰對該已解擾的第一資料進行加擾以產生一第二資料;及將該第二資料傳輸到該外部記憶體的該區域。
  5. 如請求項1所述的資料加擾系統,其中,該動態加擾器配置為隨機性地或週期性地選擇取代該外部記憶體的至少一部份更新。
  6. 一種在記憶體系統中進行資料加擾的方法,該記憶體系統包括耦接至一動態加擾器的一外部記憶體,該動態加擾器包括一加擾器,一解擾器,一加擾選擇表,一更新定時器和一密鑰產生器,該方法包括:當該更新定時器的時間到期時,選擇該外部記憶體之一區域,該區域具有一已加擾的第一資料;從該外部記憶體的該區域中讀取該已加擾的第一資料;根據該加擾選擇表,利用與該區域關聯的一第一密鑰對該已加擾的第一資料進行解擾; 該密鑰產生器產生相異於該第一密鑰的一加擾密鑰,並將該第二密鑰與該區域相聯結;利用該第二密鑰對該已解擾的第一資料進行重新加擾以產生一第二資料;及將該第二資料傳輸到該外部記憶體的該區域。
  7. 如請求項6所述的方法,另包括在該記憶體系統運作時進行重新加擾。
  8. 如請求項6所述的方法,其中,透過更新定時器的時序控制以選擇該外部記憶體之該區域進行加擾以取代該外部記憶體的至少一部份的更新。
TW109102676A 2019-12-04 2020-01-30 動態加擾電路及其相關加擾方法 TWI721765B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/703,831 US11347899B2 (en) 2019-12-04 2019-12-04 Dynamic memory scrambler
US16/703,831 2019-12-04

Publications (2)

Publication Number Publication Date
TWI721765B true TWI721765B (zh) 2021-03-11
TW202123229A TW202123229A (zh) 2021-06-16

Family

ID=76035960

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109102676A TWI721765B (zh) 2019-12-04 2020-01-30 動態加擾電路及其相關加擾方法

Country Status (3)

Country Link
US (1) US11347899B2 (zh)
CN (1) CN112906013B (zh)
TW (1) TWI721765B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325235A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Decrypt and encrypt data of storage device
TW201512839A (zh) * 2013-08-09 2015-04-01 Apple Inc 用於週邊介面控制器之嵌入式加密/安全記憶體管理單元
US9552498B2 (en) * 2004-02-05 2017-01-24 Blackberry Limited On-chip storage, creation, and manipulation of an encryption key

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4551580A (en) * 1982-11-22 1985-11-05 At&T Bell Laboratories Time-frequency scrambler
US20020114465A1 (en) * 2000-01-05 2002-08-22 Shen-Orr D. Chaim Digital content delivery system and method
JP4045777B2 (ja) * 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
US8060756B2 (en) * 2003-08-07 2011-11-15 Rao G R Mohan Data security and digital rights management system
KR101240053B1 (ko) * 2005-12-16 2013-03-06 엘지전자 주식회사 멀티 스트림 컨텐츠 복제 방지 방법 및 시스템
CN1831834A (zh) * 2006-04-20 2006-09-13 成都昊芯科技有限公司 信息的动态加密方法和加密电路
US20080152142A1 (en) * 2006-12-20 2008-06-26 Mark Buer Memory scrambler unit (msu)
US8429330B2 (en) * 2008-09-12 2013-04-23 Sandisk Technologies Inc. Method for scrambling data in which scrambling data and scrambled data are stored in corresponding non-volatile memory locations
US8555082B1 (en) * 2009-04-01 2013-10-08 Marvell International Ltd. Securing external memory data
EP2375355A1 (en) * 2010-04-09 2011-10-12 ST-Ericsson SA Method and device for protecting memory content
US9304944B2 (en) * 2012-03-29 2016-04-05 Broadcom Corporation Secure memory access controller
CN108229215A (zh) * 2017-12-06 2018-06-29 杭州中天微系统有限公司 一种地址加扰的存储装置及方法
CN108182371A (zh) * 2017-12-22 2018-06-19 杭州中天微系统有限公司 一种片上系统的片外存储器地址加扰装置及方法
US11347659B2 (en) * 2018-12-20 2022-05-31 Micron Technology, Inc. Low cost and low latency logical unit erase

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552498B2 (en) * 2004-02-05 2017-01-24 Blackberry Limited On-chip storage, creation, and manipulation of an encryption key
US20140325235A1 (en) * 2013-04-30 2014-10-30 Hewlett-Packard Development Company, L.P. Decrypt and encrypt data of storage device
TW201512839A (zh) * 2013-08-09 2015-04-01 Apple Inc 用於週邊介面控制器之嵌入式加密/安全記憶體管理單元

Also Published As

Publication number Publication date
US11347899B2 (en) 2022-05-31
CN112906013B (zh) 2024-05-10
CN112906013A (zh) 2021-06-04
US20210173964A1 (en) 2021-06-10
TW202123229A (zh) 2021-06-16

Similar Documents

Publication Publication Date Title
US11516027B2 (en) Method and apparatus for protecting embedded software
JP7225220B2 (ja) 記憶データ暗号化/復号化装置及び方法
JP3848573B2 (ja) マイクロプロセッサシステム
JP5306465B2 (ja) セキュアなメモリに応用するメッセージ認証コードの事前計算
US7925013B1 (en) System for data encryption and decryption of digital data entering and leaving memory
JP2021505995A (ja) アドレススクランブルのための記憶機器及び方法
CN101309138A (zh) 用于处理器的基于加密的安全保护方法及其设备
CN111814212B (zh) 总线数据的保护方法、装置、存储介质及芯片
US20150254477A1 (en) Encryption/decryption system which performs encryption/decryption using register values, control method therefor, and storage medium
JP2006277411A (ja) プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
CN110018810A (zh) 随机码产生器
EP3848837B1 (en) Storage controller and file processing method, apparatus, and system
WO2008024274A2 (en) Dual mode aes implementation to support single and multiple aes operations
JP4758904B2 (ja) 機密情報処理方法
CN114327255B (zh) 存储器接口控制器及存储器
TWI721765B (zh) 動態加擾電路及其相關加擾方法
CN111916132A (zh) 存储模块、其操作方法、存储系统以及其操作方法
US20130198528A1 (en) Modifying a Length of an Element to Form an Encryption Key
CN106326690A (zh) 密钥保护装置及密钥保护方法
TW201642621A (zh) 金鑰保護裝置及金鑰保護方法
JP2019121955A (ja) 半導体装置及び暗号鍵の生成方法
JP6636006B2 (ja) 暗号化/復号化システム及びその制御方法、並びにプログラム
CN114297626A (zh) 一种用于工控系统的密钥生成及加密方法
JP2007336446A (ja) データ暗号化装置
JP7032926B2 (ja) 半導体装置及び暗号鍵の制御方法