TWI411932B - 用於加密/解密儲存裝置中之非揮發性記憶體中之資料之方法及處理資料之方法 - Google Patents

用於加密/解密儲存裝置中之非揮發性記憶體中之資料之方法及處理資料之方法 Download PDF

Info

Publication number
TWI411932B
TWI411932B TW094145713A TW94145713A TWI411932B TW I411932 B TWI411932 B TW I411932B TW 094145713 A TW094145713 A TW 094145713A TW 94145713 A TW94145713 A TW 94145713A TW I411932 B TWI411932 B TW I411932B
Authority
TW
Taiwan
Prior art keywords
data
cryptographic
controller
data stream
cryptographically
Prior art date
Application number
TW094145713A
Other languages
English (en)
Other versions
TW200703054A (en
Inventor
Michael Holtzman
Baruch Boris Cohen
David Deitcher
Hagai Bar-El
Aviram Yeruchami
Original Assignee
Sandisk Corp
Discretix Technologies Ltd
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 Sandisk Corp, Discretix Technologies Ltd filed Critical Sandisk Corp
Publication of TW200703054A publication Critical patent/TW200703054A/zh
Application granted granted Critical
Publication of TWI411932B publication Critical patent/TWI411932B/zh

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

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

Description

用於加密/解密儲存裝置中之非揮發性記憶體中之資料之方法及處理資料之方法
本發明大體而言係關於記憶體系統,且特定言之,本發明係關於一具有流內資料加密/解密之記憶體系統。
行動裝置市場正在包括內容儲存之方向上發展以便藉由產生更多資料交換來增加平均收入。此意謂在將內容儲存於一行動裝置上時必須對其加以保護。
攜帶型儲存裝置在商業使用中已有多年。其將資料自一計算裝置攜帶至另一計算裝置或儲存備用資料。更為複雜之攜帶型儲存裝置(諸如攜帶型硬碟機、攜帶型快閃記憶碟片及快閃記憶卡)包括一用於控制儲存管理之微處理器。
為保護儲存在攜帶型儲存裝置中之內容,通常對所儲存之資料加密且僅允許授權之使用者解密資料。
在已提議之具有密碼編譯能力的攜帶型儲存裝置中,在加密及解密過程中亦密切涉及用於儲存管理之微處理器。此系統描述於(例如)美國專利6,457,126中。當為此種狀況時,該儲存裝置之產出及效能可嚴重地受影響。因此,需要提供一種改良之區域儲存裝置,其中此等困難得以減緩。
本發明之一態樣係基於以下辨識:記憶體系統之產出可得以改良,其中當將資料流內之資料發送至非揮發性記憶體單元或自非揮發性記憶體單元獲取資料流內之資料時,資料流內之資料藉由一電路得以密碼性地處理而不密切涉及任何控制器或微處理器。在一實施例中,僅在設定用於該(該等)密碼編譯過程之參數中而非在該等過程中涉及控制器。在此實施例之一建構中,該等參數藉由組態暫存器來設定。
該等記憶體單元較佳包含快閃記憶體單元。亦較佳地,將該等記憶體單元、用於加密及/或解密資料之電路及一控制該等單元及該電路之控制器置放於諸如記憶卡或記憶棒之實體內並密封於其中。
可將資料寫入至頁中之記憶體單元或自頁中之記憶體單元讀取資料。在用於加密及解密之許多習知密碼演算法中,其對通常小於頁之資料單位運作。因此,本發明之其它態樣係基於以下辨識:該密碼電路密碼性地處理正在被讀取或寫入之資料流內之資料的一或多個頁,且該資料流可經控制使得其在複數個源中具有一所選資料源且在複數個目標中具有一所選目標,所有均未涉及控制器。
根據本發明之其它態樣,該密碼電路可經組態以能夠在複數個演算法中選擇一或多個密碼演算法以進行加密及/或解密而不涉及一控制器或一微處理器。該電路亦可經組態使得在組態後該電路在多個連續級中密碼性地處理資料流內之資料而不涉及該控制器。在多個連續級中之密碼編譯過程在組態後可使用一個以上密鑰且可使用一個以上類型之密碼編譯過程而不涉及該控制器。
對於某些應用程式而言,該記憶體系統可能需要處理一個以上資料流。在此事件中,該控制器控制該等記憶體單元及該電路使得不同資料流內之資料以一交錯方式得以密碼性地處理。較佳地,當資料流之處理在交錯期間被中斷時,儲存用於密碼編譯處理每一資料流之各種參數,使得當此資料流之處理得以恢復時,可再儲存該等資料以繼續該密碼編譯處理。在此特徵之一建構中,在寫入運作開始時產生一安全組態記錄以設定用於密碼編譯處理之各種參數且在會話結束時儲存此等參數。接著當開始一讀取運作時自記憶體擷取此記錄,並在該運作結束時廢除此記錄。當該資料流被暫時中斷以允許處理另一資料流時,亦儲存此記錄,且當原始資料流之處理得以恢復時擷取此記錄。
本發明之上述態樣可個別地使用或以其任何組合加以使用。
其中可建構本發明之各種態樣的一實例記憶體系統藉由圖1之方塊圖來說明。如圖1所示,記憶體系統10包括一中央處理單元(CPU)12、一緩衝器管理單元(BMU)14、一主機介面模組(HIM)16及一快閃介面模組(FIM)18、一快閃記憶體20及一周邊存取模組(PAM)22。記憶體系統10經由一主機介面匯流排26及埠26a而與一主機裝置24通信。快閃記憶體20(其可為NAND型)為主機裝置24提供資料儲存。用於CPU 12之軟體碼亦可儲存在快閃記憶體20中。FIM 18經由一快閃介面匯流排28及埠28a而連接至快閃記憶體20。HIM 16適於連接至如數位相機、個人電腦、個人數位助理(PDA)、數位媒體播放器、MP-3播放器及蜂巢式電話或其它數位裝置之主機系統。周邊存取模組22選擇諸如用於與CPU 12通信之FIM、HIM及BMU的適當控制器模組。在一實施例中,虛線框內系統10之所有組件可被封閉於諸如記憶卡或記憶棒10'之一單個單元中且較佳地密封於該卡或棒中。
緩衝器管理單元14包括一主機直接記憶體存取(HDMA)32、一快閃直接記憶體存取(FDMA)控制器34、一仲裁器36、一緩衝器隨機存取記憶體(BRAM)38及一密碼引擎40。仲裁器36為一共用匯流排仲裁器使得僅一主控器或起始器(其可為HDMA 32、FDMA 34或CPU 12)可在任何時候為主動的且受控器或目標為BRAM 38。該仲裁器負責將適當起始器請求引導至BRAM 38。HDMA 32及FDMA 34負責在HIM 16、FIM 18及BRAM 38或CPU隨機存取記憶體(CPU RAM)12a之間所傳送之資料。HDMA 32及FDMA 34之運作可為習知運作且不需在本文中加以詳細描述。BRAM 38用以緩衝在主機裝置24、快閃記憶體20及CPU RAM 12a之間傳遞之資料。HDMA 32及FDMA 34負責在HIM 16/FIM 18及BRAM 38或CPU RAM 12a之間轉移資料且負責指示扇區轉移完成。
首先當來自快閃記憶體20之資料藉由主機裝置24讀取時,記憶體20中所加密之資料20經由匯流排28、FIM 18、FDMA 34、密碼引擎40得以獲取,其中所加密之資料被解密並儲存在BRAM 38中。所解密之資料接著自BRAM 38經由HDMA 32、HIM 16、匯流排26發送至主機裝置24。自BRAM 38獲取之資料在其被傳遞至HDMA 32之前可再次藉由密碼引擎40來加密使得發送至主機裝置24之資料再次得以加密,但藉由與儲存在記憶體20中之資料藉此得以解密之彼等密鑰及/或演算法相比不同之一密鑰及/或演算法。較佳地,且在一替代實施例中,來自記憶體20之資料在其被發送至BRAM 38之前可藉由密碼引擎40再次加密並解密,而非在上述過程中將所解密之資料儲存在BRAM 38中,其中該資料可能易受未授權之存取的損害。BRAM 38中所加密之資料接著如前所述被發送至主機裝置24。此說明了在一讀取過程期間之資料流。
當資料藉由主機裝置24而被寫入至記憶體20時,該資料流之方向被反向。舉例而言,若未經加密之資料藉由主機裝置經由匯流排26、HIM 16、HDMA 32而發送至密碼引擎40,則該資料在其被儲存在BRAM 38中之前可藉由引擎40來加密。或者,未經加密之資料可儲存在BRAM 38中。該資料接著在其至記憶體20之途徑中被發送至FDMA 34之前得以加密。在該寫入之資料遭受多級密碼編譯處理之狀況下,較佳地,引擎40在所處理之資料儲存在BRAM 38中之前完成該處理。
本發明之一態樣係基於以下辨識:若在主機裝置24與記憶體20之間傳遞之資料流中的資料之上述密碼編譯處理可藉由CPU 12之最小涉及來執行,則裝置10之產生及因此之效能可得以大大改良。如下文所解釋,此在圖1中得以說明。
在上述過程中,已描述了具有兩個不同資料源及目標之資料流。在讀取過程中,該資料源係記憶體20且該目標係主機裝置24。在寫入過程中,該資料源係主機裝置24且該目標係記憶體20。另外,該資料源(或目標)亦可係CPU 12,其中對應之目標(或資料源)係記憶體20。在又一運作中,該資料流可為自BMU 14至CPU 12以用於整體加密及雜湊運作。源內之資料及目標外之資料與可應用之對應密碼編譯過程的各種組合在下表中得以闡明。
如上表中所示,一額外運作模式係旁路模式,其使得FDMA 34能夠沿一旁路路徑(圖1中未圖示)存取CPU 12或BRAM 38而不對該資料流進行任何密碼編譯運作,如同密碼引擎40不存在且HDMA及FDMA沿此旁路路徑經由仲裁器36直接連接至BRAM 38。根據本發明之一實施例,諸如資料源、資料目標之處理參數及諸如待應用之密碼演算法(或旁路模式)之密碼編譯參數可由CPU 12藉由在圖2中設定組態暫存器102而自複數個資料源、複數個目標及複數個演算法加以預選,其中圖2為圖1之密碼引擎40之某些功能性區塊的方塊圖。
圖2為密碼引擎40之方塊圖,其更詳細地展示了其某些組件。如圖2中所示,密碼引擎40包括一密碼區塊50、一組態暫存器52,其根據上表及待使用之密鑰(除旁路模式外)以及資料是將被加密、解密或雜湊(其被包括在短語"密碼性地處理"中)還是不被密碼性地處理而儲存關於所選擇之資料源、所選擇之資料目標及待利用之密碼演算法或旁路模式的安全組態資訊或安全組態記錄。該安全組態資訊或記錄可藉由CPU 12寫入至暫存器52中。在此資訊已被儲存在暫存器52中後,引擎40可因此接著執行該(該等)密碼編譯過程而不涉及CPU 12。許多普通密碼演算法將128個位元之資料處理為一個單位。此可小於一次一個寫入至諸如快閃記憶體之儲存裝置或自其讀取之資料之頁的大小。每一頁通常儲存資料之一或多個扇區,該扇區之大小藉由主機系統來界定。一實例係512個位元組之使用者資料(其遵循使用磁碟機所建立之標準)加上關於該使用者資料及/或該使用者資料儲存於其中之區塊的某一數目之位元組之耗用資訊的扇區。
可在區塊40中使用邏輯(未圖示)使得CPU 12不需要涉及於由引擎40所進行之密碼編譯過程,從而使得資料之全部頁藉由引擎40以小於一頁之單位一次得以密碼性地處理。在一實施例中,密碼引擎40係一硬體電路。
如圖2中所示,區塊54、56及58表示三個不同密碼演算法(分別為雜湊、DES及AES),其可藉由CPU來選擇以藉由密碼區塊50加以執行。亦可使用與此等演算法不同之密碼演算法且其在本發明之範疇內。待由密碼區塊50處理且源自主機裝置24或記憶體20或CPC 12之資料首先被儲存在輸入緩衝器62中,且接著根據暫存器52中指定之密碼演算法由密碼區塊50加以密碼性地處理。接著在根據暫存器52中之目標資訊將經密碼性地處理之資料發送至目標之前,將該經密碼性地處理之資料儲存在輸出緩衝器64中。圖2亦包括一自輸入緩衝器62至輸出緩衝器64之旁路路徑72(其中寫入至記憶體20或自其讀取之資料未加以密碼性地處理),其係表中之其中一種模式且係上述之模式。
組態暫存器52亦可儲存將在該(該等)密碼編譯過程中使用之密鑰。在一實施例中,此密鑰藉由CPU 12(諸如自記憶體20)而得以擷取且在藉由密碼區塊50進行加密或解密之前被儲存在暫存器52中。在CPU 12已將有關資訊寫入至暫存器52中之後,在區塊40中發生上述過程而不涉及CPU 12。為簡化圖2,已省略了使用暫存器52中之資訊以在區塊40中選擇演算法、資料源及目標且使用唯一密鑰及所選擇之用於密碼編譯過程之演算法的邏輯。亦可在將所處理之資料發送至輸出緩衝器64之前,不止一次地使用密碼區塊50以在輸入緩衝器62中處理資料。舉例而言,可能需要首先解密來自資料源之資料,且隨後在將該資料發送至緩衝器64之前,使用一不同密鑰及/或一不同演算法來加密所解密之資料。除加密或解密該資料外,為確保資料完整性之目的,將雜湊演算法應用於資料以獲得該資料之提要或一或多個雜湊值亦可能係有用的。在所有此等情形下,需要藉由密碼區塊50處理該資料兩次,其可使用一密鑰來解密且接著使用一不同密鑰來加密,或獲得一提要以及加密或解密該資料。顯然,該資料亦可藉由密碼區塊50被處理兩次以上,諸如其中連續發生在順序級中(多級運作)之該資料被解密、雜湊且接著被加密之情況。換言之,在多級(意即,具有兩個或兩個以上級)過程中,可使該資料穿過密碼區塊50一次以上,此藉由沿反饋路徑66將輸出緩衝器64中已由密碼區塊50處理之資料發送至輸入緩衝器62以由密碼區塊50進行更多處理而達成。若預期兩個以上級,則可將該資料反饋一或多次額外次數以進行額外處理。在該過程之每一級中,可使用一不同演算法及/或密鑰。
若一多級過程係吾人所要的,則可使用CPU 12以將安全組態資訊或記錄輸入至暫存器52,從而簡化密碼性地處理該資料之次數及待用於該多級過程之每一級中的密鑰及/或演算法。在將此資訊寫入至暫存器52後,在多級過程中根本無需涉及CPU 12。
雖然圖1中記憶體系統10包括一快閃記憶體,但是該系統或者可替代地包括另一類型之非揮發性記憶體,諸如磁碟、光學CD以及所有其它類型之可再寫入型非揮發性記憶體系統,且上述之各種優勢將同等地應用於此替代實施例。在替代實施例中,該記憶體亦較佳地連同該記憶體系統之剩餘組件被密封於相同實體(諸如記憶卡或記憶棒)內。
用於運作系統10之讀取過程由圖3之流程圖來說明。CPU 12在自主機裝置24接收一讀取指令後開始一讀取運作(橢圓形150)。其接著藉由將適當之安全組態資訊或記錄寫入至暫存器52而組態密碼引擎40,且組態BMU 14以用於一讀取運作及諸如用於該運作之BRAM 38中記憶體空間之配置的其它參數(區塊152、154)。其亦組態FIM 18,諸如藉由簡化其中將讀取資料之記憶體20中的位置(區塊156)。接著開始HDMA及FDMA引擎32及34使得可執行包括該等密碼編譯過程之上述過程而不涉及CPU(除了誤差校正之外)。見區塊158。當CPU接收一中斷時,其檢查以查看其是否為一FIM中斷(菱形160)。當接收到一FIM中斷時,該CPU檢查以查看該中斷是否為一指示在資料流中存在一或多個誤差之中斷(162)。若指示一或多個誤差,則其在BRAM 38中進行校正該(該等)誤差(區塊164)且返回以組態FIM 18從而下一步改變其中將讀取資料之記憶體20中的位置(區塊156)。當FIM中斷並不指示該資料流中之一或多個誤差時,其意謂該FIM完成其運作且CPU亦返回至區塊156以再組態FIM。若由CPU偵測之中斷並非為一FIM中斷,則其檢查以查看其是否為資料中斷之結束(菱形166)。若如此,則該讀取運作結束(橢圓形168)。若並非如此,則此中斷與該資料之密碼編譯處理無關(意即,時脈中斷)且CPU服務其(未圖示)且返回至菱形160從而為若干中斷而進行檢查。
圖3僅需為一寫入運作而稍加修改。由於在待寫入至記憶體20之資料中不存在ECC誤差之處理,所以CPU 12在一寫入運作中可跳過菱形162及區塊164中之過程。若在一寫入運作期間由CPU 12接收一FIM中斷,則此意謂FIM完成其運作且CPU亦返回至區塊156以再組態該FIM。除此差異之外,該寫入運作大體上與讀取運作相似。因此,一旦已組態密碼引擎40、BMU 14及FIM 18,系統10便能夠密碼性地處理所有資料(除旁路模式中之外),並完成用於會話之所有頁的寫入或讀取,而不涉及CPU 12,儘管密碼引擎40可處理遠小於頁之單位的資料。
交錯資料流
多個主機應用程式可能需要能夠並行存取記憶體20以處理多個資料流。此意謂一個資料流之密碼編譯處理在該資料流被中斷以使記憶體系統10處理另一不同資料流時可能尚未完成。不同資料流之密碼編譯處理將通常使用不同參數(例如,不同密鑰及演算法以及不同資料源及目標)。此等參數提供於該等資料流之對應安全組態記錄中。為確保當一特定資料流之中斷處理稍後得以恢復時,其對應之安全組態記錄尚未丟失,可儲存此資料,較佳地將其儲存在CPU RAM 12a中。一旦恢復先前中斷之資料流的處理,CPU 12即可擷取為此資料流而儲存之安全組態記錄,使得此資料流之所恢復的密碼編譯處理根據所儲存之對應安全組態記錄可使用正確參數繼續進行。
圖4為一用於說明在處理多個資料流及安全組態記錄之利用之圖1及圖2之系統之運作的流程圖。CPU檢查是否已接收一主機指令(區塊202、菱形204)。當已接收一主機指令時,諸如用於密碼性地處理一第一資料流,CPU檢查關於該指令是否為一開始會話指令,諸如一用於在裝置24上運行之第一應用程式的指令(菱形206)。若如此,則CPU檢查關於一寫入會話是否已被請求(菱形208)。若一寫入會話已被請求,則CPU根據來自主機裝置之資訊產生一安全組態記錄(例如,將根據上表及待使用之密鑰而利用的所選擇之資料源、所選擇之資料目標及密碼演算法,以及資料是否將被加密、解密或雜湊)(區塊210),並為第一資料流而開始第一會話。CPU 12將此安全組態資訊或記錄儲存於CPU RAM 12a中。若所請求之會話為一讀取會話,則CPU自記憶體20讀取將被讀取之資料的安全組態記錄(區塊240)且將其儲存於CPU RAM 12a中。接著,CPU返回並等待另外之主機指令(202)。
當CPU接收另一主機指令時,其再次檢查以查看其是否為一開始會話指令(菱形206)。若如此,則可藉由前進至區塊210或區塊240而開始一第二會話,諸如一用於運行於主機裝置24上之不同第二應用程式的請求密碼性地處理第二資料流的新穎第二會話。將用於此第二資料流之安全組態資訊或記錄再次儲存於CPU RAM 12a中,此為用於寫入會話及讀取會話之狀況(區塊210、240)。可以相同方式為額外資料流產生額外會話。該CPU返回至區塊202,並檢查下一主機指令以查看該主機指令是否為一開始會話指令(菱形206)。因此,如所描述產生額外會話直至CPU 12在菱形206中偵測到一一非為開始會話指令之主機指令。
在此事件中,CPU 12檢查下一主機指令以查看該主機指令是否為會話指令之結束(菱形222)。若非如此,則該CPU檢查以查看其是否為一資料指令(菱形224)。假定其為一資料指令,該CPU判定哪一資料流為將處理之資料流,且根據用於此資料流之安全組態記錄來組態密碼引擎40(藉由寫入至暫存器52),且該密碼引擎40諸如根據圖3中之過程以上述之方式執行讀取或寫入運作(或密碼引擎40在旁路模式中被繞過)(區塊226)。
若在讀取或寫入過程中不存在中斷,則該過程將繼續直至CPU接收一結束會話指令(區塊222),其意謂將在該會話期間處理之所有頁已得以處理。然而,若存在中斷,則CPU將接收一主機資料指令以處理來自一與當前正處理之一個系統10不同之資料流的資料。在此事件中,密碼引擎40將需要再組態以處理此不同資料流。CPU接著自CPU RAM 12a擷取用於此不同資料流之安全組態記錄、再組態密碼引擎40(藉由將所擷取之記錄寫入至暫存器52),使得引擎40將正確處理不同資料流。
當接收一結束會話指令(區塊222)時,在一寫入會話中,CPU在記憶體20中儲存該安全組態記錄連同所寫入之資料,使得該記錄在隨後之讀取運作中可被擷取(菱形228、區塊230)。對於讀取運作而言,廢除RAM 12a中所儲存之安全組態記錄,但保持儲存於記憶體20中之記錄以用於可能之將來的讀取運作(區塊242)。
對於某些應用程式而言,保持記憶體20中之資料的完整性以對抗調和(tempering)可能係重要的。為確保儲存於記憶體20中之資料未被改變或另外被破壞,需要自該或該等資料雜湊值或該資料之提要獲得儲存了哪一(哪些)值或提要連同該資料。當讀取該資料時,亦讀取該提要或該或該等雜湊值,使得所讀取之該或該等雜湊值或提要可與自已讀取之資料計算而得的提要或該或該等雜湊值比較。若其間存在一差異,則記憶體20中之資料可能已被改變或另外被破壞。
一普通雜湊函數係鏈接區塊密碼(CBC),其中訊息驗證碼(MAC)以一時間序列自正寫入或讀取之資料的區塊獲得。一普通CBC函數闡述如下:加密。
輸入:m -位元密鑰kl -位元IV;l -位元明文區塊p 1 ,---p r
輸出:c 0 ,---,c r 使得c 0IVc ie k (c i 1 p i ),1 i r
解密。
輸入:m -位元密鑰kl -位元IV;l -位元密文區塊c 1 ,---c r
輸出:p 0 ,---,p r 使得p 0 IVp ic i 1 e k 1 (c i ),1 i r
上述值c0 ,…,cr 為資料流p1 ,…,pr 之訊息驗證碼(MAC)。IV為初始向量,且k為一密鑰。因此,當需要將資料之區塊p1 ,…,pr 寫入至記憶體20時,該等MAC值(例如,c0 ,…,cr )可藉由系統10內之密碼引擎40使用諸如上述CBC函數之雜湊函數自資料之區塊計算而得,且將一包含該等MAC值、IV及密鑰k以及其它上述參數之相關安全組態記錄寫入至記憶體20,連同將該資料自身寫入至記憶體20。在上述公式中,e k (x)意謂一過程,其中x藉由密鑰k而得以加密,且e k 1 (x)意謂x係使用密鑰k而得以解密。
當稍後自記憶體20讀取資料區塊p1 ,…,pr 時,亦讀取相關安全組態記錄,且密碼引擎40自安全組態記錄中之IV、密鑰k及所讀取之資料計算該組MAC值並將此組值與自記憶體20讀取之該組MAC值比較。若在該等兩組MAC值之間存在一差異,則所讀取之資料可能已被改變或另外被破壞。對於諸如上述CBC函數之某些雜湊函數而言,除該序列中之第一值外,可自一先前MAC值獲得該MAC值之每一者。此意謂該組MAC值在此等情況下得以以時間順序獲得。
主機裝置24中之多個應用程式可能需要能夠並行存取記憶體20,使得使用者在使用另一應用程式來存取記憶體20之前無需等待一待完成之使用記憶體20的應用程式。此可意謂(例如)當該讀取過程被中斷時,並非資料之所有區塊p1 ,…,pr 將已自記憶體20讀取,使得該記憶體系統(例如,圖1及圖2之系統10)可用於服務運行於裝置24處之另一不同應用程式。然而,在此情況下,在已讀取整個資料流之前且在已計算所有MAC值之前可中斷計算MAC值的上述過程。因此,當記憶體系統恢復對資料中未讀取區塊p1 ,…,pr 之讀取時,先前計算之不完全組的MAC值可能已丟失,使得計算剩餘MAC值變得不可能,因為其計算取決於先前計算之MAC值。因此,本發明之另一態樣係基於以下特徵:儲存先前計算之不完全組的MAC值(諸如儲存於圖1中之CPU RAM 12a中)連同安全組態記錄中之剩餘值(例如IV、密鑰k、資料源及目標、演算法)。因此,當記憶體系統恢復資料中未讀取區塊pl ,…,pr 之讀取時,先前計算之不完全組的MAC值仍然可用,從而使得可計算剩餘MAC值。
在區塊242處的讀取會話之結束時,在自主機24偵測到會話指令之結束後,該CPU將自從記憶體20讀取之資料計算得到的MAC值與儲存於記憶體20中的MAC值比較以驗證所讀取之資料。若所接收之主機指令並非為上文所指示之指令中的任一者,則CPU 12簡單地執行該指令並返回至區塊202(區塊250)。
儘管已參考各種實施例描述了本發明,但是應瞭解,可在不背離本發明之範疇的前提下作出改變及修改,其中本發明之範疇將僅由附加之申請專利範圍及其均等物界定。本文中引用之所有參考以引用方式被併入。
10...記憶體系統
10'...記憶卡或記憶棒
12...中央處理單元
12a...CPU隨機存取記憶體
14...緩衝器管理單元
16...主機介面模組
18...快閃介面模組
20...快閃記憶體
22...周邊存取模組
24...主機裝置
26...主機介面匯流排
26a...埠
28...快閃介面匯流排
28a...埠
32...主機直接記憶體存取
34...快閃直接記憶體存取控制器
36...仲裁器
38...緩衝器隨機存取記憶體
40...密碼引擎
50...密碼區塊
52...組態暫存器
54...區塊
56...區塊
58...區塊
62...輸入緩衝器
64...輸出緩衝器
66...反饋路徑
72...旁路路徑
圖1為一與一主機裝置通信以說明本發明之記憶體系統的方塊圖。
圖2為圖1之密碼編譯引擎之某些態樣的方塊圖。
圖3為一說明圖1中系統之運作以說明本發明之一態樣之較佳實施例的流程圖。
圖4為一用於說明在處理多個資料流及安全組態記錄之利用中圖1之系統之運作的流程圖。
出於描述之便利,在此申請案中相同組件藉由相同數字來標記。
40...密碼引擎
50...密碼區塊
52...組態暫存器
54...區塊
56...區塊
58...區塊
62...輸入緩衝器
64...輸出緩衝器
66...反饋路徑
72...旁路路徑

Claims (24)

  1. 一種用於加密及/或解密一儲存裝置中之非揮發性記憶體中的資料的方法,其中該儲存裝置具有一控制器及一密碼(cryptographic)電路,該方法包含:該密碼電路執行:自該控制器接收資訊,該控制器係用以組態用於使用一或多個密碼演算法對自該儲存裝置中之該非揮發性記憶體或至該儲存裝置中之該非揮發性記憶體之一資料流內之資料執行密碼編譯過程的該密碼電路;及在該密碼電路被組態後密碼性地處理該資料流內之該等資料而不涉及該控制器。
  2. 如請求項1之方法,其中以頁為單位自該非揮發性記憶體寫入或讀取資料,其中該密碼電路密碼性地處理每一小於一頁之單位上之該等資料,且其中自該控制器接收之該資訊係用以組態該密碼電路以在該密碼電路被組態之後對資料之多個頁執行密碼編譯過程而不涉及該控制器。
  3. 如請求項1之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以自複數個源中選取該資料流之一源並自複數個目標中選取該資料流之一目標。
  4. 如請求項3之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以選取該非揮發性記憶體作為該資料流之該源並選取該控制器或一主機裝置作為該資料流之該目標。
  5. 如請求項3之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以選取該非揮發性記憶體作為該資料流之該目標並選取該控制器或一主機裝置作為該資料流之該源。
  6. 如請求項3之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以一旁路模式運作俾使自該非揮發性記憶體至一主機裝置或自該主機裝置至該非揮發性記憶體之該資料流繞過該密碼電路。
  7. 如請求項1之方法,其中自該控制器接收之該資訊指定該或該等密碼演算法。
  8. 如請求項1之方法,其中自該控制器接收之該資訊係用以組態該密碼電路使得在該組態後,該密碼電路在多個連續級中密碼性地處理該資料流內之資料而不涉及該控制器。
  9. 如請求項8之方法,其中自該控制器接收之該資訊係用以組態該密碼電路使得在該組態後,該密碼電路使用一個以上之密鑰在多個連續級中密碼性地處理該資料流內之資料而不涉及該控制器。
  10. 如請求項8之方法,其中自該控制器接收之該資訊係用以組態該密碼電路使得在該組態後,該密碼電路使用一個以上之密碼編譯過程在多個連續級中密碼性地處理該資料流內之資料而不涉及該控制器。
  11. 一種用於加密及/或解密一儲存裝置中之非揮發性記憶體中的資料的方法,其中該儲存裝置具有一控制器及一密 碼電路,該方法包含:該密碼電路執行:自複數個源中選取一資料流之一源並自複數個目標中選取該資料流之一目標,其中該源及該目標之選取並不涉及該控制器;及對該資料流中資料之一或多個頁執行密碼編譯過程而不涉及該控制器,其中資料以頁為單位被寫入或讀取,且其中該密碼電路對每一小於一頁之資料的單位執行密碼編譯過程。
  12. 如請求項11之方法,其進一步包含自該控制器接收資訊,該控制器係用以組態該密碼電路用於執行該等密碼編譯過程。
  13. 如請求項12之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以使在複數個密碼演算法中能夠選擇一或多個密碼演算法使得該資料流內之資料藉由該密碼電路使用該或該等所選擇之演算法得以密碼性地編譯處理而不涉及該控制器。
  14. 如請求項12之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以選取該非揮發性記憶體作為該資料流之該源並選取該控制器或一主機裝置作為該資料流之該目標。
  15. 如請求項12之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以選取該非揮發性記憶體作為該資料流之該目標並選取該控制器或一主機裝置作為該資料流 之該源。
  16. 如請求項12之方法,其中自該控制器接收之該資訊係用以組態該密碼電路以一旁路模式運作俾使自該非揮發性記憶體至一主機裝置或自該主機裝置至該非揮發性記憶體之該資料流繞過該密碼電路。
  17. 如請求項12之方法,其中自該控制器接收之該資訊係用以組態該密碼電路使得在該組態後,該密碼電路在多個連續級中密碼性地處理該資料流內之資料而不涉及該控制器。
  18. 如請求項17之方法,其中自該控制器接收之該資訊係用以組態該密碼電路使得在該組態後,該密碼電路使用一個以上之密鑰在多個連續級中密碼性地處理該資料流內之資料而不涉及該控制器。
  19. 如請求項17之方法,其中自該控制器接收之該資訊係用以組態該密碼電路使得在該組態後,該密碼電路使用一個以上之密碼編譯過程在多個連續級中密碼性地處理該資料流內之資料而不涉及該控制器。
  20. 一種處理資料之方法,該方法包含:於一具有非揮發性記憶體及一密碼電路之儲存裝置中:接收一密碼性地處理自或至該非揮發性記憶體之一第一資料流之指令,其中該第一資料流係與一第一組密碼參數相關聯;將該第一組密碼參數儲存於該儲存裝置中; 透過該密碼電路使用該第一組密碼參數以密碼性地處理該第一資料流;接收一密碼性地處理自或至該非揮發性記憶體之一第二資料流之指令,其中該第二資料流係與一第二組密碼參數相關聯,且其中接收密碼性地處理該第二資料流之該指令中斷該第一資料流之密碼性處理;及回應於一恢復密碼性地處理該第一資料流之指令,自該儲存裝置中擷取該第一組密碼參數並使用該擷取之第一組密碼參數恢復密碼性地處理該第一資料流。
  21. 如請求項20之方法,其中該第一組密碼參數包括與資料之源或目標、密碼編譯密鑰、密碼演算法及/或訊息驗證碼相關聯之資訊。
  22. 如請求項20之方法,其進一步包含將該第二組密碼參數儲存於該儲存裝置中。
  23. 如請求項22之方法,其進一步包含在一密碼性地處理該第二資料流之中斷之後,自該儲存裝置中擷取該第二組密碼參數並使用該擷取之第二組密碼參數恢復密碼性地處理該第二資料流。
  24. 如請求項20之方法,其中該等密碼參數包括訊息驗證碼及自該等訊息驗證碼所導出之更新訊息驗證碼。
TW094145713A 2004-12-21 2005-12-21 用於加密/解密儲存裝置中之非揮發性記憶體中之資料之方法及處理資料之方法 TWI411932B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US63944204P 2004-12-21 2004-12-21
US11/314,032 US20070180539A1 (en) 2004-12-21 2005-12-20 Memory system with in stream data encryption / decryption
US11/314,030 US20060242429A1 (en) 2004-12-21 2005-12-20 In stream data encryption / decryption method

Publications (2)

Publication Number Publication Date
TW200703054A TW200703054A (en) 2007-01-16
TWI411932B true TWI411932B (zh) 2013-10-11

Family

ID=39055650

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094145713A TWI411932B (zh) 2004-12-21 2005-12-21 用於加密/解密儲存裝置中之非揮發性記憶體中之資料之方法及處理資料之方法

Country Status (5)

Country Link
US (2) US20060242429A1 (zh)
JP (1) JP2012090286A (zh)
KR (1) KR101323746B1 (zh)
CN (1) CN101120349A (zh)
TW (1) TWI411932B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI679554B (zh) * 2017-03-07 2019-12-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI722496B (zh) * 2019-06-20 2021-03-21 慧榮科技股份有限公司 使用者資料的加解密方法及裝置

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424201B2 (en) * 2001-03-30 2008-09-09 Sandisk 3D Llc Method for field-programming a solid-state memory device with a digital media file
JP4667108B2 (ja) * 2005-04-11 2011-04-06 パナソニック株式会社 データ処理装置
US9081946B2 (en) * 2006-03-29 2015-07-14 Stmicroelectronics, Inc. Secure mass storage device
US20080019517A1 (en) * 2006-04-06 2008-01-24 Peter Munguia Control work key store for multiple data streams
US9680686B2 (en) * 2006-05-08 2017-06-13 Sandisk Technologies Llc Media with pluggable codec methods
US20070260615A1 (en) * 2006-05-08 2007-11-08 Eran Shen Media with Pluggable Codec
US20080126705A1 (en) * 2006-08-08 2008-05-29 Fabrice Jogand-Coulomb Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
US7725614B2 (en) * 2006-08-08 2010-05-25 Sandisk Corporation Portable mass storage device with virtual machine activation
US8318532B2 (en) * 2006-12-01 2012-11-27 The Regents Of The University Of California Enhancing performance characteristics of organic semiconducting films by improved solution processing
US8423794B2 (en) 2006-12-28 2013-04-16 Sandisk Technologies Inc. Method and apparatus for upgrading a memory card that has security mechanisms for preventing copying of secure content and applications
US8566695B2 (en) * 2007-03-30 2013-10-22 Sandisk Technologies Inc. Controlling access to digital content
IL187038A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure data processing for unaligned data
IL187043A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Secure pipeline manager
US20090113116A1 (en) * 2007-10-30 2009-04-30 Thompson E Earle Digital content kiosk and methods for use therewith
IL187045A0 (en) * 2007-10-30 2008-02-09 Sandisk Il Ltd Software protection against fault attacks
US20100027796A1 (en) * 2008-08-01 2010-02-04 Disney Enterprises, Inc. Multi-encryption
FI20080534A0 (fi) 2008-09-22 2008-09-22 Envault Corp Oy Turvallinen ja valikoidusti kiistettävissä oleva tiedostovarasto
JP5302083B2 (ja) * 2009-04-23 2013-10-02 株式会社メガチップス メモリ装置およびメモリ装置の制御方法
JP5178839B2 (ja) 2009-11-27 2013-04-10 株式会社東芝 メモリチップ
US9032535B2 (en) * 2009-12-31 2015-05-12 Sandisk Technologies Inc. Storage device and method for providing a scalable content protection system
US8751802B2 (en) * 2010-06-30 2014-06-10 Sandisk Il Ltd. Storage device and method and for storage device state recovery
JP5017439B2 (ja) * 2010-09-22 2012-09-05 株式会社東芝 暗号演算装置及びメモリシステム
CN103597456B (zh) * 2011-06-15 2017-05-10 诺基亚技术有限公司 用于在分布式存储器环境中实施存储器段访问控制的方法和装置
KR101878682B1 (ko) 2011-11-14 2018-07-18 삼성전자주식회사 컨텐츠를 보호하기 위한 방법 및 저장 매체
US9152825B2 (en) * 2012-02-29 2015-10-06 Apple Inc. Using storage controller bus interfaces to secure data transfer between storage devices and hosts
WO2014023998A1 (en) 2012-08-07 2014-02-13 Nokia Corporation Access control for wireless memory
US9448967B2 (en) * 2012-10-31 2016-09-20 Mstar Semiconductor, Inc. Stream data processor
US9419952B2 (en) 2014-06-05 2016-08-16 Stmicroelectronics (Grenoble 2) Sas Memory encryption method compatible with a memory interleaved system and corresponding system
US10313129B2 (en) * 2015-06-26 2019-06-04 Intel Corporation Keyed-hash message authentication code processors, methods, systems, and instructions
TWI736000B (zh) * 2017-03-07 2021-08-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
CN107256363B (zh) * 2017-06-13 2020-03-06 杭州华澜微电子股份有限公司 一种由加解密模块阵列组成的高速加解密装置
JP7287115B2 (ja) 2019-05-30 2023-06-06 京セラドキュメントソリューションズ株式会社 集積回路及び集積回路の制御方法
WO2022146436A1 (en) * 2020-12-30 2022-07-07 Pqsecure Technologies, Llc A low footprint hardware architecture for kyber-kem
US20240129282A1 (en) * 2022-10-12 2024-04-18 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for protection for device data transfers

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097344A1 (en) * 1994-01-11 2003-05-22 David Chaum Multi-purpose transaction card system
TW559705B (en) * 1999-12-20 2003-11-01 Sony Corp Data processing apparatus, data processing system, and data processing method therefor
US20030233545A1 (en) * 2002-06-13 2003-12-18 Avigdor Eldar Diagnostic method for security records in networking application

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4506362A (en) * 1978-12-22 1985-03-19 Gould Inc. Systematic memory error detection and correction apparatus and method
US4371930A (en) * 1980-06-03 1983-02-01 Burroughs Corporation Apparatus for detecting, correcting and logging single bit memory read errors
US4506365A (en) * 1982-11-22 1985-03-19 Ncr Corporation Error correction system
US5438575A (en) * 1992-11-16 1995-08-01 Ampex Corporation Data storage system with stale data detector and method of operation
US5630025A (en) * 1994-07-13 1997-05-13 Unisys Corporation Generalized configurator using a declaratively constructed two-level bi-partite graph as a knowledge representation
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JPH113284A (ja) * 1997-06-10 1999-01-06 Mitsubishi Electric Corp 情報記憶媒体およびそのセキュリティ方法
US6243739B1 (en) * 1997-07-11 2001-06-05 Phone.Com, Inc. Reducing perceived latency in servicing user requests on low-bandwidth communication channels
US6252961B1 (en) * 1997-07-17 2001-06-26 Hewlett-Packard Co Method and apparatus for performing data encryption and error code correction
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
JP4423711B2 (ja) * 1999-08-05 2010-03-03 ソニー株式会社 半導体記憶装置及び半導体記憶装置の動作設定方法
US6611907B1 (en) * 1999-10-21 2003-08-26 Matsushita Electric Industrial Co., Ltd. Semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US7215771B1 (en) * 2000-06-30 2007-05-08 Western Digital Ventures, Inc. Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network
JP4153653B2 (ja) * 2000-10-31 2008-09-24 株式会社東芝 マイクロプロセッサおよびデータ保護方法
JP2002229861A (ja) * 2001-02-07 2002-08-16 Hitachi Ltd 著作権保護機能つき記録装置
JP2002329180A (ja) * 2001-04-27 2002-11-15 Toshiba Corp 無線通信機能を有するメモリカード及びそのデータ通信方法
JP2002329367A (ja) * 2001-04-27 2002-11-15 Sony Corp データ記録方法および装置、データ再生方法および装置、並びにデータ記録媒体
US7054335B2 (en) * 2001-05-04 2006-05-30 Hewlett-Packard Development Company, L.P. Method and system for midstream transcoding of secure scalable packets in response to downstream requirements
US6754765B1 (en) * 2001-05-14 2004-06-22 Integrated Memory Logic, Inc. Flash memory controller with updateable microcode
US7062616B2 (en) * 2001-06-12 2006-06-13 Intel Corporation Implementing a dual partition flash with suspend/resume capabilities
JP3615162B2 (ja) * 2001-07-10 2005-01-26 日本電気株式会社 画像符号化方法及び画像符号化装置
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
JP4226816B2 (ja) * 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
TWI223204B (en) * 2001-11-08 2004-11-01 Toshiba Corp Memory card, content transmission system, and content transmission method
US6865555B2 (en) * 2001-11-21 2005-03-08 Digeo, Inc. System and method for providing conditional access to digital content
US7020455B2 (en) * 2001-11-28 2006-03-28 Telefonaktiebolaget L M Ericsson (Publ) Security reconfiguration in a universal mobile telecommunications system
US6928599B2 (en) * 2001-12-05 2005-08-09 Intel Corporation Method and apparatus for decoding data
US20040153918A1 (en) * 2002-04-08 2004-08-05 Matsushita Electric Industrial Co., Tamper-resistant computer program product
JP4185314B2 (ja) * 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
JP2004101846A (ja) * 2002-09-09 2004-04-02 Rohm Co Ltd 暗号化・復号化装置および暗号化・復号化方法
JP2004104602A (ja) * 2002-09-11 2004-04-02 Pioneer Electronic Corp 情報記録媒体、情報記録装置、情報再生装置、情報配信装置、それらの方法、それらのプログラムおよびそのプログラムを記録した記録媒体
JP2004109177A (ja) * 2002-09-13 2004-04-08 Matsushita Electric Ind Co Ltd コンテンツデータ記録媒体、コンテンツデータ復号装置、コンテンツデータ暗号化装置、コンテンツデータ復号方法及びコンテンツデータ暗号化方法
US7702904B2 (en) * 2002-11-15 2010-04-20 Nec Corporation Key management system and multicast delivery system using the same
JP2004201038A (ja) * 2002-12-18 2004-07-15 Internatl Business Mach Corp <Ibm> データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム
EP1445889B1 (en) * 2003-02-04 2007-04-11 STMicroelectronics Limited Decryption semiconductor circuit
JP4891521B2 (ja) * 2003-03-28 2012-03-07 三洋電機株式会社 データ入出力方法、およびその方法を利用可能な記憶装置およびホスト装置
US7398544B2 (en) * 2003-05-12 2008-07-08 Sony Corporation Configurable cableCARD
DE60309157T2 (de) * 2003-08-06 2007-08-30 Stmicroelectronics S.R.L., Agrate Brianza Speichersystem mit Fehlererkennungsvorrichtung
JP4139801B2 (ja) * 2003-09-11 2008-08-27 シャープ株式会社 情報記録媒体再生装置、及び情報記録媒体再生方法
US7526686B2 (en) * 2004-08-04 2009-04-28 International Business Machines Corporation Apparatus, system, and method for active data verification in a storage system
TWI248617B (en) * 2004-08-13 2006-02-01 Prolific Technology Inc Data storage device
US7493656B2 (en) * 2005-06-02 2009-02-17 Seagate Technology Llc Drive security session manager

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030097344A1 (en) * 1994-01-11 2003-05-22 David Chaum Multi-purpose transaction card system
TW559705B (en) * 1999-12-20 2003-11-01 Sony Corp Data processing apparatus, data processing system, and data processing method therefor
US20030233545A1 (en) * 2002-06-13 2003-12-18 Avigdor Eldar Diagnostic method for security records in networking application

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI679554B (zh) * 2017-03-07 2019-12-11 慧榮科技股份有限公司 資料儲存裝置以及其操作方法
TWI722496B (zh) * 2019-06-20 2021-03-21 慧榮科技股份有限公司 使用者資料的加解密方法及裝置
US11651707B2 (en) 2019-06-20 2023-05-16 Silicon Motion, Inc. Method and apparatus for encrypting and decrypting user data

Also Published As

Publication number Publication date
CN101120349A (zh) 2008-02-06
JP2012090286A (ja) 2012-05-10
US20070180539A1 (en) 2007-08-02
TW200703054A (en) 2007-01-16
US20060242429A1 (en) 2006-10-26
KR20120131222A (ko) 2012-12-04
KR101323746B1 (ko) 2013-10-29

Similar Documents

Publication Publication Date Title
TWI411932B (zh) 用於加密/解密儲存裝置中之非揮發性記憶體中之資料之方法及處理資料之方法
CN101196855B (zh) 移动加密存储设备及密文存储区数据加解密处理方法
KR101297760B1 (ko) 스트림-내 데이터 암호화/복호화 기능을 가진 메모리 시스템
US8966284B2 (en) Hardware driver integrity check of memory card controller firmware
CN101149709B (zh) 存储卡的加密处理器和使用其进行数据读写的方法
US20040172538A1 (en) Information processing with data storage
US20090125726A1 (en) Method and Apparatus of Providing the Security and Error Correction Capability for Memory Storage Devices
EP1267245A2 (en) Storage device with cryptographic capabilities
KR20110129932A (ko) 암호 시스템을 위한 키 복구 메커니즘
JP2010509690A (ja) 記憶装置のセキュリティを確保する方法とシステム
US7835518B2 (en) System and method for write failure recovery
JP2008524969A5 (zh)
US20140047239A1 (en) Authenticator, authenticatee and authentication method
TWI391945B (zh) 具有內串流資料加密及解密與誤差校正之記憶體系統及用以校正在該記憶體系統中之資料的方法
JP2012227901A (ja) 認証コンポーネント、被認証コンポーネントおよびその認証方法
US7657034B2 (en) Data encryption in a symmetric multiprocessor electronic apparatus
US9049026B2 (en) Authenticator, authenticatee and authentication method
CN101763485A (zh) 数据保护方法
JP2023130311A (ja) サイドチャネル攻撃から電子コンピュータを保護する方法及び電子コンピュータ
US20070230690A1 (en) System for write failure recovery
JP2009537026A (ja) 書き込み障害回復のためのシステムおよび方法

Legal Events

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