TWI835604B - 資料加解密系統及資料加解密方法 - Google Patents
資料加解密系統及資料加解密方法 Download PDFInfo
- Publication number
- TWI835604B TWI835604B TW112110580A TW112110580A TWI835604B TW I835604 B TWI835604 B TW I835604B TW 112110580 A TW112110580 A TW 112110580A TW 112110580 A TW112110580 A TW 112110580A TW I835604 B TWI835604 B TW I835604B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- encryption
- write
- signal
- read
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 claims abstract description 130
- 230000008569 process Effects 0.000 claims abstract description 23
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 101000651958 Crotalus durissus terrificus Snaclec crotocetin-1 Proteins 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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 storage media based on magnetic or optical technology, e.g. disks with sectors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本發明公開一種資料加解密系統及資料加解密方法。系統包括記憶體控制器及加解密模組。在寫入操作中,加解密模組對寫入位址訊號執行加密演算法以得到第一種子資料,對初始寫入資料訊號執行第一擾亂程序以產生第一寫入資料訊號,且依據共用種子資料對第一寫入資料訊號執行第二擾亂程序,以產生加密寫入資料訊號。在讀取操作中,加解密模組依據共用種子資料執行第二擾亂程序以產生第一讀取資料訊號,對讀取位址訊號執行加密演算法以得到第二種子資料,且對第一讀取資料訊號執行第一擾亂程序,以產生第二解密資料訊號。
Description
本發明係主張中國專利申請案第202310074893.3號(申請日:2023年1月16日)之優先權,該申請案之完整內容納入為本發明專利說明書的一部分以供參照。
本發明涉及一種系統及方法,特別是涉及一種資料加解密系統及資料加解密方法。
對於現有的一些記憶體,由於其資料不易失的特性,用於儲存系統中的一些關鍵的且很少修改的資料,比如引導程式(bootloader)及內核(kernel)等代碼。例如序列周邊介面快取記憶體(Serial Peripheral Interface flash,SPI flash)。而這部分資料若未經過資料加密,可能讓不肖人士可通過拆解電路的方式直接讀取記憶體訊號來竊取,因此,需要設計對應的加解密機制。
然而,對於記憶體而言,設計不良的加解密方式會導致電路複雜化佔用過多面積,以及導致讀取或寫入時所需的時間增加,然而,過於簡化的加解密機制亦使得安全性不足。
故,如何兼顧加解密速度避免導致讀取或寫入的時間增加及資
料的安全性,來克服上述的缺陷,已成為該項事業所欲解決的重要課題之一。
本發明所要解決的技術問題在於,針對現有技術的不足提供一種資料加解密系統及資料加解密方法,可兼顧加解密速度及安全性。
為了解決上述的技術問題,本發明所採用的其中一技術方案是提供一種資料加解密系統,包括記憶體控制器及加解密模組。記憶體控制器耦接記憶體單元,係依據來自主機的存取操作來存取記憶體單元。加解密模組耦接該記憶體控制器,係對主機及包括該記憶體單元的一記憶體模組之間傳輸的訊號進行加解密。其中,存取操作包括寫入操作,在寫入操作中:加解密模組接收由主機產生的初始寫入資料訊號及寫入位址訊號;加解密模組對寫入位址訊號執行加密演算法以得到第一種子資料,依據第一種子資料對初始寫入資料訊號執行第一擾亂程序以產生第一寫入資料訊號,且依據共用種子資料對第一寫入資料訊號執行第二擾亂程序,以產生加密寫入資料訊號;及記憶體控制器依據寫入位址訊號將加密寫入資料訊號寫入記憶體單元。其中,存取操作還包括讀取操作,在讀取操作中:記憶體控制器接收由主機產生的讀取位址訊號,依據讀取位址訊號從記憶體單元取得初始讀取資料訊號;記憶體控制器依據讀取位址訊號從記憶體單元取得資料並產生一初始讀取資料訊號;加解密模組依據共用種子資料對初始讀取資料訊號執行第二擾亂程序以產生第一讀取資料訊號,對讀取位址訊號執行加密演算法以得到第二種子資料,且依據第二種子資料對第一讀取資料訊號執行第一擾亂程序,以產生第二解密資料訊號;及輸出第二解密資料訊號至主機。
較佳的,記憶體單元為序列周邊介面(Serial Peripheral Interface,SPI)快閃記憶體,記憶體控制器為SPI快閃記憶體控制器,且通過先進擴展介面(Advanced eXtensible Interface,AXI)連接於主機。
為了解決上述的技術問題,本發明所採用的另外一技術方案是提供一種資料加解密方法,適用於記憶體單元。資料加解密方法包括:執行寫入操作,包括:接收來自主機產生的初始寫入資料訊號及寫入位址訊號;對寫入位址訊號執行加密演算法以得到第一種子資料,依據第一種子資料對初始寫入資料訊號執行第一擾亂程序以產生第一寫入資料訊號,且依據共用種子資料對第一寫入資料訊號執行第二擾亂程序,以產生加密寫入資料訊號;及依據寫入位址訊號將加密寫入資料訊號寫入記憶體單元;執行讀取操作,包括:接收來自主機產生的讀取位址訊號;依據讀取位址訊號從記憶體單元取得資料並產生初始讀取資料訊號;依據共用種子資料對初始讀取資料訊號執行第二擾亂程序以產生第一讀取資料訊號,對讀取位址訊號執行加密演算法,以得到第二種子資料,依據第二種子資料對第一讀取資料訊號執行第一擾亂程序,以產生第二解密資料訊號;及輸出第二解密資料訊號至主機。
為使能更進一步瞭解本發明的特徵及技術內容,請參閱以下有關本發明的詳細說明與圖式,然而所提供的圖式僅用於提供參考與說明,並非用來對本發明加以限制。
1:資料加解密系統
10:主機
100:匯流排
12:記憶體模組
120:記憶體控制器
122:記憶體單元
14:加解密模組
140、143:加密電路
141:第一擾亂電路
142:第二擾亂電路
144:第三擾亂電路
araddr:讀取位址訊號
awaddr:寫入位址訊號
sdata1:第一種子資料
ssdata:共用種子資料
wdata1:第一寫入資料訊號
wdata2:加密寫入資料訊號
rdata0:初始讀取資料訊號
rdata1:第一讀取資料訊號
rdata2:第二解密資料訊號
CLK:系統時脈訊號
T1、T2、T3:時間
D1至D6:寫入資料
T0:預定週期
CRC1至CRC6:CRC加密資料
SD1至SD6、SD1’至SD6’:加密資料
圖1為本發明實施例的資料加解密系統的功能方塊圖。
圖2為本發明實施例的資料加解密方法的寫入操作流程圖。
圖3為本發明實施例的加解密模組執行讀取操作及寫入操作的訊號示意圖。
圖4為本發明實施例的資料加解密方法的讀取操作流程圖。
圖5為本發明實施例的資料加解密方法執行寫入操作的訊號時序圖。
以下是通過特定的具體實施例來說明本發明所公開有關“資料加解密系統及資料加解密方法”的實施方式,本領域技術人員可由本說明書所公開的內容瞭解本發明的優點與效果。本發明可通過其他不同的具體實施例加以施行或應用,本說明書中的各項細節也可基於不同觀點與應用,在不背離本發明的構思下進行各種修改與變更。另外,本發明的附圖僅為簡單示意說明,並非依實際尺寸的描繪,事先聲明。以下的實施方式將進一步詳細說明本發明的相關技術內容,但所公開的內容並非用以限制本發明的保護範圍。另外,本文中所使用的術語“或”,應視實際情況可能包括相關聯的列出項目中的任一個或者多個的組合。
圖1為本發明實施例的資料加解密系統的功能方塊圖。參閱圖1所示,本發明實施例提供一種資料加解密系統1,其包括記憶體控制器120及加解密模組14。主機10可利用匯流排100耦接到記憶體模組12,而加解密模組14則是耦接於主機10及記憶體模組12之間。記憶體模組12包括記憶體控制器120與記憶體單元122。
匯流排100可例如是高級可擴展介面(Advanced eXtensible Interface,AXI)匯流排,但本發明不限於此,匯流排100亦可為其他種類的匯流排。需說明,AXI匯流排是高級微控制器匯流排架構(Advanced Microcontroller Bus Architecture,AMBA)匯流排架構中具有高效能的匯流排標準,其讀/寫請求訊號與讀/寫結果訊號可相互分離,可在高頻率頻率下執行,並在延滯時間長的狀況下仍可達成高資料吞吐率。在本發明的實施例中,以AXI匯流排實現匯流排100時,由於讀/寫請求訊號與讀/寫結果訊號可相互分離,以將資料寫入及資料讀出的訊號相分離,因此,可以同時進行寫入和讀
出動作,從而最大限度地提高匯流排的資料吞吐率。需說明,本發明提供的資料加解密系統及資料加解密方法適用於讀/寫請求訊號與讀/寫結果訊號相互分離之架構,更可兼顧加解密速度避免導致讀取或寫入的時間增加。
在一些實施方式中,記憶體單元122是非易失性記憶體(non-volatile memory),其架構成用於長期儲存指令及/或資料,例如NAND或NOR快閃記憶體,或一些其他合適的非易失性記憶體。在記憶體單元122為NAND或NOR快閃記憶體的實施例中,記憶體模組12是快閃記憶體裝置(例如快閃記憶體卡),且記憶體控制器120是快閃記憶體控制器。例如,在一些情況下,記憶體模組12是序列周邊介面(Serial Peripheral Interface,SPI)設備,其中,記憶體單元122可例如是NOR或NAND快閃記憶體,然而,本發明不限於此。需要注意的是,本發明所公開的技術亦可應用於其他類型的非易失性記憶體裝置(non-volatile memory device),像是相變記憶體(phase-change memory,PCM)以及各種類型的主記憶體或快取(cache)記憶體裝置,像是靜態隨機存取記憶體(static random access memory,SRAM)、動態隨機存取記憶體(dynamic random access memory,DRAM)、可變電阻式記憶體(resistive random access memory,ReRAM)或磁阻式隨機存取記憶體(magnetoresistive random-access memory,MRAM)等。
以下描述使用AXI匯流排的NOR快閃記憶體作為記憶體單元122的範例。記憶體控制器120可例如為通用微處理器或專用微控制器,可經配置以管理對記憶體單元122的存取與操作。
在一些實施例中,主機10可產生用於執行存取操作的命令,例如,指示進行寫入操作或讀取操作的記憶體命令,並利用匯流排100將記憶體命令發送到記憶體控制器120,記憶體控制器120則依據來自主機10的存取操作(包括寫入操作及讀取操作)來存取記憶體單元122。記憶體命令包括讀取、
程式設計、寫入以及擦除命令。
然而,在本發明實施例的架構中,在記憶體命令到達記憶體控制器120,會先經過加解密模組14,其經配置以對主機10及記憶體模組12之間傳輸的訊號進行加解密。需要說明的,經過加解密模組14的輸入訊號及輸出訊號都遵循AXI協定,且不影響SPI的記憶體控制器120的協定握手程序,便於系統整合。
請進一步參考圖2及圖3,圖2及圖3分別為本發明實施例的資料加解密方法的寫入操作流程圖及加解密模組執行讀取操作及寫入操作的訊號示意圖。
如圖2及圖3所示,本發明提供的資料加解密方法包括在寫入操作中執行下列步驟:
步驟S20:接收主機產生的初始寫入資料訊號及寫入位址訊號。
舉例而言,主機10可包括處理器,其經配置以產生預定要儲存於記憶體模組12的資料,並依據要寫入的預定位置產生初始寫入資料訊號wdata0及寫入位址訊號awaddr。例如,當記憶體命令為寫入操作命令時,其可包括具有一或多個位址位元組(address byte)的位址欄(address field),其指定(specifies)要在記憶體單元122上執行寫入操作之記憶體位址。對於與寫入操作相對應的記憶體命令,記憶體命令還包括具有要寫入的一或多個資料位元組(bytes of data)的資料欄(data field)。
步驟S21:對寫入位址訊號執行加密演算法以得到第一種子資料。舉例而言,加解密模組14可用於執行步驟S21,且可包括用於執行加密演算法的加密電路140。在此步驟中,加密演算法可例如為迴圈冗餘校驗(Cyclic redundancy check,CRC)校驗演算法,因此加密電路140可例如是CRC編碼器。由於每筆寫入資料對應於一個唯一的存取位址,將寫入位址訊號awaddr的寫
入位址帶入CRC校驗演算法則可得到一個唯一的第一種子資料sdata1。由於記憶體單元122具有對應多個記憶體位址的多個儲存區塊,且多個所述記憶體位址分別用於在寫入操作中產生多個不同且唯一的第一種子資料sdata1,因此,對於不同記憶體位址所執行的加密機制具有其獨特性。
步驟S22:依據第一種子資料對初始寫入資料訊號執行第一擾亂程序以產生第一寫入資料訊號。舉例而言,加解密模組14可用於執行步驟S22,且可包括用於執行第一擾亂程序的第一擾亂電路141。在此步驟中,第一擾亂程序可例如為異或(XOR)演算法,因此第一擾亂電路141可例如是簡易的異或邏輯電路,亦即,異或閘。在本實施例中,採用第一擾亂電路141依據第一種子資料sdata1對初始寫入資料訊號wdata0執行異或操作,可使第一寫入資料訊號wdata1具有高度加密性。
步驟S23:依據共用種子資料對第一寫入資料訊號執行第二擾亂程序,以產生加密寫入資料訊號。舉例而言,加解密模組14還可用於執行步驟S23,且可包括用於執行第二擾亂程序的第二擾亂電路142。在此步驟中,第二擾亂程序也可例如為異或(XOR)演算法,因此第二擾亂電路142可例如是簡易的異或邏輯電路,亦即,另一異或閘。在本實施例中,共用種子資料ssdata為一唯一韌體種子資料,例如,由供應商在出廠時針對記憶體模組12所提供。
因此,為了增加資料擾亂的程度,採用第二擾亂電路142對第一寫入資料訊號wdata1執行另一異或操作,可再次提高加密寫入資料訊號wdata2的加密性,並且,第二擾亂電路142亦用於構築出上述的可還原特性,進而達到加密與解密的機制。
步驟S24:依據寫入位址訊號將加密寫入資料訊號寫入記憶體單元。在步驟S24中,記憶體控制器120可依據寫入位址訊號awaddr將加密寫入資料訊號wdata2寫入記憶體單元122,且記憶體控制器120最終寫入記憶體單
元122的資料經過二次加密,且由於每個位址所產生用於執行擾亂程序的第一種子資料sdata1都不同,對於通過拆解取得的原始資料,可大幅提升其還原難度。
請進一步參考圖4,圖4為本發明實施例的資料加解密方法的讀取操作流程圖。如圖3及圖4所示,本發明提供的資料加解密方法包括在讀取操作中執行下列步驟:
步驟S40:接收來自主機產生的讀取位址訊號。
舉例而言,主機10的處理器可產生預定要從記憶體模組12中讀取資料的預定位置,並據此產生讀取位址訊號araddr,並同時傳送給記憶體控制器120及加解密模組14。例如,當記憶體命令為讀取操作命令時,其可包括具有一或多個位址位元組(address byte)的位址欄(address field),其指定(specifies)要在記憶體單元122上執行讀取操作的記憶體位址的位址。
步驟S41:依據讀取位址訊號從記憶體取得資料並產生初始讀取資料訊號。在步驟S41中,當記憶體控制器120接收到讀取位址訊號araddr時,便依據讀取位址訊號araddr指示的位址取出資料並產生初始讀取資料訊號rdata0。需說明,若讀取位址訊號araddr與前述實施例提到的寫入位址訊號awaddr指示的記憶體位址相同,則初始讀取資料訊號rdata0與加密寫入資料訊號wdata2具有相同資料。
步驟S42:依據共用種子資料對初始讀取資料訊號執行第二擾亂程序以產生第一讀取資料訊號。類似於第二擾亂電路142,加解密模組14可用於執行步驟S42,且可包括用於執行第二擾亂程序的第三擾亂電路144。在此步驟中,第三擾亂電路144亦可例如是簡易的異或邏輯電路,亦即,又一異或閘。在本實施例中,當依據共用種子資料ssdata再次對初始讀取資料訊號rdata0執行異或操作時,將可得到與第一寫入資料訊號wdata1具有相同資料的第一
讀取資料訊號rdata1(位址相同的前提下),且此機制可由下式(1)表示:A xor B xor B=A…式(1);
由式(1)可知,使用異或運算的特性可保證資料的可還原性,且此可還原性可用于提供解密機制。在本發明的其他實施例中,共用種子資料ssdata可為一或多組,可例如將記憶體單元122的多個存取位址進行分組,並賦予不同組別有不同的共用種子資料ssdata,進一步提升安全性。
步驟S43:對讀取位址訊號執行加密演算法以得到第二種子資料。類似於加密電路140,加解密模組14可用於執行步驟S43,且可包括用於對讀取位址訊號araddr執行加密演算法的加密電路143。在此步驟中,加密演算法亦可例如為CRC校驗演算法,因此加密電路143亦可例如是CRC編碼器。由於每筆讀取命令對應於一個唯一的存取位址,將讀取位址訊號araddr的讀取位址帶入CRC校驗演算法則可得到一個唯一的第二種子資料sdata2。也因此,在讀取位址與寫入位址相同的情形下,對應的第一種子資料sdata1及第二種子資料sdata2為相同的。
類似的,由於記憶體單元122的多個所述記憶體位址分別用於在讀取操作中產生多個不同且唯一的第二種子資料Sdata2,因此,對於不同記憶體位址所執行的解密機制亦具有其獨特性。
步驟S44:依據第二種子資料對第一讀取資料訊號執行第一擾亂程序,以產生第二解密資料訊號。步驟S44可配置加解密模組14來執行,並且,類似於第一擾亂電路141,加解密模組14還可包括用於執行第一擾亂程序的第四擾亂電路145。在此步驟中,第四擾亂電路145亦可例如是簡易的異或邏輯電路,亦即,再一異或閘。在本實施例中,當依據共用種子資料ssdata再次執行異或操作時,將可得到與第一寫入資料訊號wdata1具有相同資料的第二解密資料訊號rdata2(位址相同的前提下)。
步驟S45:輸出第二解密資料訊號至主機。
經過上述步驟,加解密模組14可向主機10傳送第二解密資料訊號rdata2,主機10通過接收第二解密資料訊號rdata2,最終可取得記憶體單元122中的加密資料所對應的原始資料。此外,由於每個位址所產生用於執行擾亂程序的第二種子資料Sdata2都不同,對於通過拆解取得的原始資料,可大幅提升其還原難度。並且,本發明其中一個特點是不直接使用解密電路及解密演算法,而是使用多個擾亂電路構築出可還原特性,進而達到加密與解密的機制。
需說明,若讀取位址訊號araddr與前述實施例提到的寫入位址訊號awaddr指示的記憶體位址相同,則在寫入操作結束後的讀取操作中所產生的第二解密資料訊號rdata2與初始寫入資料訊號wdata0具有相同資料。
請進一步參考圖5所示,圖5為本發明實施例的資料加解密方法執行寫入操作的訊號時序圖。需要說明的是,由於主機10可通過匯流排100耦接到記憶體模組12,因此主機10及記憶體模組12需共同依據與匯流排100相容的通訊協定及系統時脈訊號CLK以執行寫入操作及讀取操作。例如,當以AXI匯流排實現匯流排100時,主機10及記憶體模組12共同依據AXI協定來運作。如圖5所示,系統時脈訊號CLK具有預定週期T0,在時間T1至T2之間,主機10產生寫入位址訊號awaddr,同時於時間T2傳送包括寫入資料D1至D6的初始寫入資料訊號wdata0,而加解密模組14的加密電路140接收到主機10的寫入位址訊號awaddr後,由於加密電路140、第一擾亂電路141及第二擾亂電路142的電路架構簡易且響應速率快,可於一個預定週期T0內(時間T1至T2)將加密演算法、第一擾亂程序及第二擾亂程序執行完畢以產生第一種子資料sdata1(包括CRC加密資料CRC1至CRC6)及加密寫入資料訊號wdata2,其具有對應於寫入資料D1至D6的加密資料SD1至SD6。因此,本發明提供的資料加解密方
法對於記憶體而言,可在不影響原有匯流排的資料傳輸速率的前提下極大的提高系統的安全性及保密性。
然而,對於較複雜的加密演算法而言,會在多個預定週期T0之後,例如,如圖5所示的時間T3才得到對應於寫入資料D1至D6的加密資料SD1’至SD6’,明顯無法匹配在AXI協定下的系統時脈訊號CLK及對應的記憶體寫入操作的時序。
相較於傳統加解密系統及資料加解密方法,本發明的其中一有益效果在於,本發明所提供的資料加解密系統及資料加解密方法,以讀取位址及寫入位址的唯一性為基礎來執行加密演算法及兩組擾亂程序,可在兼顧加解密速度及安全性的前提下有效避免記憶體中的資料被竊取,因此,可提升相關晶片上系統的安全性,同時此資料加密機制可容易應用於不同類型的儲存裝置。
以上所公開的內容僅為本發明的優選可行實施例,並非因此侷限本發明的申請專利範圍,所以凡是運用本發明說明書及圖式內容所做的等效技術變化,均包含於本發明的申請專利範圍內。
120:記憶體控制器
14:加解密模組
140、143:加密電路
141:第一擾亂電路
142:第二擾亂電路
144:第三擾亂電路
araddr:讀取位址訊號
awaddr:寫入位址訊號
sdata1:第一種子資料
ssdata:共用種子資料
wdata1:第一寫入資料訊號
wdata2:加密寫入資料訊號
rdata0:初始讀取資料訊號
rdata1:第一讀取資料訊號
rdata2:第二解密資料訊號
Claims (12)
- 一種資料加解密系統,包括:一記憶體控制器,耦接一記憶體單元,係依據來自一主機的一存取操作來存取該記憶體單元;以及一加解密模組,耦接該記憶體控制器,係對該主機及包括該記憶體單元的一記憶體模組之間傳輸的訊號進行加解密;其中,該存取操作包括一寫入操作,在該寫入操作中:該加解密模組接收由該主機產生的一初始寫入資料訊號及一寫入位址訊號;該加解密模組對該寫入位址訊號執行一加密演算法以得到一第一種子資料,依據該第一種子資料對該初始寫入資料訊號執行一第一擾亂程序以產生一第一寫入資料訊號,且依據一共用種子資料對該第一寫入資料訊號執行一第二擾亂程序,以產生一加密寫入資料訊號;及該記憶體控制器依據該寫入位址訊號將該加密寫入資料訊號寫入該記憶體單元;其中,該存取操作還包括一讀取操作,在該讀取操作中:該記憶體控制器接收由該主機產生的一讀取位址訊號,依據該讀取位址訊號從該記憶體單元取得一初始讀取資料訊號;該加解密模組依據該共用種子資料對該初始讀取資料訊號執行該第二擾亂程序以產生一第一讀取資料訊號,對該讀取位址訊號執行該加密演算法以得到一第二種子資料,且依據該第二種子資料對該第一讀取資料訊號執行該第一擾亂程序,以產生一第二解密資料訊號;及輸出該第二解密資料訊號至該主機。
- 如請求項1所述的資料加解密系統,其中,該記憶體單元為 一序列周邊介面(Serial Peripheral Interface,SPI)快閃記憶體,該記憶體控制器為一SPI快閃記憶體控制器,且通過一先進擴展介面(Advanced eXtensible Interface,AXI)耦接於該主機。
- 如請求項1所述的資料加解密系統,其中,該加密演算法為一CRC校驗演算法,該第一擾亂程序為一第一異或演算法,該第二擾亂程序為一第二異或演算法。
- 如請求項1所述的資料加解密系統,其中,回應於該讀取位址訊號與該寫入位址訊號指示的記憶體位址相同,在該寫入操作結束後的該讀取操作中所產生的該第二解密資料訊號與該初始寫入資料訊號具有相同資料。
- 如請求項1所述的資料加解密系統,其中,該主機及該記憶體模組係共同依據一通訊協定及一系統頻率訊號以執行該寫入操作及該讀取操作;其中,該系統頻率訊號具有一預定週期,且該加密演算法、該第一擾亂程序及該第二擾亂程序系在該系統頻率訊號對應的一個該預定週期內執行完畢以產生該加密寫入資料訊號或該第二解密資料訊號。
- 如請求項1所述的資料加解密系統,其中,該共用種子資料為一唯一韌體種子資料。
- 如請求項1所述的資料加解密系統,其中,該記憶體單元具有對應多個記憶體位址的多個儲存區塊,且該些記憶體位址分別用於在該寫入操作中產生多個不同且唯一的該第一種子資料,以及分別用於在該讀取操作中產生多個不同且唯一的該第二種子資料。
- 一種資料加解密方法,適用於一記憶體單元,所述的資料加解密方法包括:執行一寫入操作,包括: 接收來自一主機輸出的一初始寫入資料訊號及一寫入位址訊號;對該寫入位址訊號執行一加密演算法以得到一第一種子資料,依據該第一種子資料對該初始寫入資料訊號執行一第一擾亂程序以產生一第一寫入資料訊號,且依據一共用種子資料對該第一寫入資料訊號執行一第二擾亂程序,以產生一加密寫入資料訊號;及依據該寫入位址訊號將該加密寫入資料訊號寫入該記憶體單元;執行一讀取操作,包括:接收來自該主機輸出的一讀取位址訊號;依據該讀取位址訊號從該記憶體單元取得一初始讀取資料訊號;依據該共用種子資料對該初始讀取資料訊號執行該第二擾亂程序以產生一第一讀取資料訊號,對該讀取位址訊號執行該加密演算法,以得到一第二種子資料,依據該第二種子資料對該第一讀取資料訊號執行該第一擾亂程序,以產生一第二解密資料訊號;及輸出該第二解密資料訊號至該主機。
- 如請求項8所述的資料加解密方法,其中,該加密演算法為一CRC校驗演算法,該第一擾亂程序為一第一異或演算法,該第二擾亂程序為一第二異或演算法。
- 如請求項8所述的資料加解密方法,其中,回應於該讀取位址訊號與該寫入位址訊號指示的記憶體位址相同,該第一種子資料與該第二種子資料相同,且在該寫入操作結束後的該讀取操作中所產生的該第二解密資料訊號與該初始寫入資料訊號具有相同資料。
- 如請求項8所述的資料加解密方法,其中,該主機及包括該記憶體單元的一記憶體模組係共同依據一通訊協定及一系統時脈訊號以執行該寫入操作及該讀取操作;其中,該系統時脈訊號具有一預定週期,且該加密演算法、該第一擾亂程序及該第二擾亂程序系在該系統時脈訊號對應的一個該預定週期內執行完畢以產生該加密寫入資料訊號或該第二解密資料訊號。
- 如請求項8所述的資料加解密方法,其中,該記憶體單元具有對應多個記憶體位址的多個儲存區塊,且該些記憶體位址分別用於在該寫入操作中產生多個不同且唯一的該第一種子資料,以及分別用於在該讀取操作中產生多個不同且唯一的該第二種子資料。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2023100748933 | 2023-01-16 | ||
CN202310074893.3A CN116720227A (zh) | 2023-01-16 | 2023-01-16 | 用于存储器的数据加解密系统及数据加解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
TWI835604B true TWI835604B (zh) | 2024-03-11 |
Family
ID=87868490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112110580A TWI835604B (zh) | 2023-01-16 | 2023-03-22 | 資料加解密系統及資料加解密方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116720227A (zh) |
TW (1) | TWI835604B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201030550A (en) * | 2008-10-23 | 2010-08-16 | Maxim Integrated Products | Multi-layer content protecting microcontroller |
TW201108668A (en) * | 2009-04-27 | 2011-03-01 | Lsi Corp | Buffered crossbar switch system |
US20210271544A1 (en) * | 2019-07-12 | 2021-09-02 | Micron Technology, Inc. | Generating error checking data for error detection during modification of data in a memory sub-system |
US20210294523A1 (en) * | 2020-03-17 | 2021-09-23 | Phison Electronics Corp. | Data transfer method and memory storage device |
-
2023
- 2023-01-16 CN CN202310074893.3A patent/CN116720227A/zh active Pending
- 2023-03-22 TW TW112110580A patent/TWI835604B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201030550A (en) * | 2008-10-23 | 2010-08-16 | Maxim Integrated Products | Multi-layer content protecting microcontroller |
TW201108668A (en) * | 2009-04-27 | 2011-03-01 | Lsi Corp | Buffered crossbar switch system |
US20210271544A1 (en) * | 2019-07-12 | 2021-09-02 | Micron Technology, Inc. | Generating error checking data for error detection during modification of data in a memory sub-system |
US20210294523A1 (en) * | 2020-03-17 | 2021-09-23 | Phison Electronics Corp. | Data transfer method and memory storage device |
Also Published As
Publication number | Publication date |
---|---|
CN116720227A (zh) | 2023-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347898B2 (en) | Data protection device and method and storage controller | |
US8402349B2 (en) | Two dimensional data randomization for a memory | |
US9489540B2 (en) | Memory controller with encryption and decryption engine | |
US9094190B2 (en) | Method of managing key for secure storage of data and apparatus therefor | |
US20070067644A1 (en) | Memory control unit implementing a rotating-key encryption algorithm | |
TWI609289B (zh) | 用於提供記憶體機密性、完整性及重播保護的低負擔密碼方法、系統及處理器 | |
KR102488636B1 (ko) | 데이터 및 타임스탬프를 암호화하는 암호화 장치, 이를 포함하는 시스템 온 칩, 및 전자 장치 | |
US20070050642A1 (en) | Memory control unit with configurable memory encryption | |
US10749672B2 (en) | Computing system having an on-the-fly encryptor and an operating method thereof | |
US11082241B2 (en) | Physically unclonable function with feed-forward addressing and variable latency output | |
US20170093823A1 (en) | Encrypting Observable Address Information | |
US20210336767A1 (en) | Memory bus integrity and data encryption (ide) | |
US11899829B2 (en) | Memory systems and devices including examples of generating access codes for memory regions using authentication logic | |
US11899942B2 (en) | Memory systems and devices including examples of accessing memory and generating access codes using an authenticated stream cipher | |
WO2017112243A1 (en) | End-to-end protection scheme involving encrypted memory and storage | |
CN115858424A (zh) | 用于认证存储器模块的方法和装置 | |
TW202101236A (zh) | 使用者資料的加解密方法及裝置 | |
TWI835604B (zh) | 資料加解密系統及資料加解密方法 | |
US11995006B2 (en) | Algebraic and deterministic memory authentication and correction with coupled cacheline metadata | |
US11288406B1 (en) | Fast XOR interface with processor and memory | |
US11636046B1 (en) | Latency free data encryption and decryption between processor and memory | |
US20240184875A1 (en) | Methods, devices and systems with authenticated memory device access transactions | |
US11080020B2 (en) | Information processing device and random number generating method | |
US20230068302A1 (en) | Memory device and method for data encryption/decryption of memory device | |
TW202403773A (zh) | 半導體裝置及用以管理其之安全操作的系統與方法 |