<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

數據擾亂與解擾亂方法及其儲存媒體控制器與儲存系統的制作方法

文檔序號:1494598閱讀:214來源:國知局
專利名稱:數據擾亂與解擾亂方法及其儲存媒體控制器與儲存系統的制作方法
技術領域
本發明是有關于一種數據擾亂與解擾亂方法及其儲存媒體控制器與儲存系統。
背景技術
隨著使用者逐漸接受使用電子錢包及預付儲值,使得智慧卡的使用日益普及。智 慧卡(Smart Card)是具有例如微處理器、卡操作系統、安全模組及存儲器的組件的積體電 路晶片(IC晶片),以允許持有者執行預定操作。智慧卡提供計算、加密、雙向通信及安全功 能,使得這張卡片除了儲存數據的功能外還能達到對其所儲存的數據加以保護的功能。盡 管智慧卡提供一編碼器來對數據加密的功能,但此信息需要被還原時,尚需另一不同于編 碼器的解碼器,由于編碼器及解碼器的電路皆較為復雜,其所需占用的面積較大,這對系統 體積要求日益嚴格的今日而言,是一大問題,故如何能兼故數據保密等級及系統體積微小 化,為目前極欲發展的課題。

發明內容
本發明提供一種數據擾亂與解擾亂方法,其能夠有效地保護所儲存的數據。本發明提供一種儲存媒體控制器,其能夠有效地保護儲存于儲存單元中的數據。本發明提供一種儲存系統,其能夠有效地保護儲存于其中的數據。本發明提供一種數據處理方法,其能夠有效地保護儲存于其中的數據。本發明實施例提出一種數據擾亂方法,用以擾亂來自于一主機系統的一原始數 據。本數據擾亂方法包括提供一儲存媒體控制器,產生一隨機數并將所產生的隨機數儲存 于一儲存單元中。本數據擾亂方法也包括從主機系統中接收一使用者密碼,依據上述隨機 數與上述使用者密碼使用一第一函數產生一整墊值,并且依據上述整墊值與一金鑰使用一 第二函數產生一暫時值。本數據擾亂方法還包括由此儲存媒體控制器依據上述暫時值與上 述原始數據使用一第三函數產生對應上述原始數據的一擾亂數據。本發明實施例提出一種儲存媒體控制器,用以擾亂來自于一主機系統的一原始數 據。本儲存媒體控制器包括微處理器單元、儲存媒體介面、主機介面單元、與數據編碼單元。 儲存媒體介面電性連接至微處理器單元,用以連接一儲存媒體。主機介面單元電性連接至 微處理器單元,用以連接上述主機系統。數據編碼單元電性連接至微處理單元,用以依據一 隨機數與來自于上述主機系統的一使用者密碼使用一第一函數產生一整墊值,依據上述整 墊值與一金鑰使用一第二函數產生一暫時值并且依據上述暫時值與一原始數據使用一第 三函數產生對應此原始數據的一擾亂數據,其中數據編碼單元將上述隨機數儲存于上述儲 存單元中。本發明實施例提出一種儲存系統,其包括連接器、儲存單元與儲存媒體控制器。連 接器用以電性連接一主機系統并接收來自于此主機系統的一原始數據與一使用者密碼。儲 存媒體控制器電性連接至此連接器與此儲存單元,用以產生一隨機數、依據此隨機數與上 述使用者密碼使用一第一函數產生一整墊值,依據此整墊值與一金鑰使用一第二函數產生一暫時值,依據此暫時值與一原始數據使用一第三函數產生對應此原始數據的一擾亂數 據,且將此擾亂數據寫入至上述儲存單元中,其中儲存媒體控制器將所產生的隨機數儲存 于上述儲存單元中。本發明實施例提出一種數據解擾亂方法,用以依據來自于一主機系統的使用者密 碼解擾亂儲存于一儲存單元中的一擾亂數據。本數據解擾亂方法包括從上述儲存單元中讀 取一隨機數,依據此隨機數與上述使用者密碼使用一第一函數產生一整墊值。本數據解擾 亂方法也包括依據上述整墊值與一金鑰使用一第二函數產生一暫時值,以及由一儲存媒體 控制器依據此暫時值與上述擾亂數據使用一第三函數產生對應此擾亂數據的一原始數據。本發明實施例提出一種數據處理方法,其包括提供一儲存媒體控制器,和分別接 收一第一金鑰及一第二金鑰。本數據處理方法還包括由此儲存媒體控制器使用第一金鑰加 密第二金鑰以產生一暫時值,接收來自于一主機系統的一原始數據,并且由儲存媒體控制 器依據暫時值與原始數據使用一第三函數產生對應原始數據的一擾亂數據。基于上述,本發明實施例是于每次執行擾亂程序時依據使用者密碼與隨機值來產 生用以擾亂數據的暫時值,因此可避免用以擾亂數據的暫時值被破解,而影響被保護數據 的安全性。為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合所附圖式 作詳細說明如下。


圖1是根據本發明實施例所示的儲存系統的概要方塊圖2是根據本發明實施例所示的數據擾亂方法的流程圖3是根據本發明實施例所示的執行擾亂方法的數據流示意圖
圖4是根據本發明實施例所示的數據解擾亂方法的流程圖5是根據本發明實施例所示的執行解擾亂方法的數據流示意
主要元件符號說明
100 儲存系統;110 儲存媒體控制器;
120 連接器;130 儲存單元;
152 微處理器單元;154 數據編碼單元;
156 儲存媒體介面單元;158 主機介面單元;
172 亂數產生器;174 遮罩器;
176 數據擾亂器;200 主機系統;
300 匯流排;S201、S203、S205、S207、S209、
S21US213 擾亂方法的步驟
S401、S403、S405、S407、S409、WCl 數據寫入指令;
S411解擾亂方法的步驟;
RDl 原始數據;PWl 使用者密碼;
Kl 金鑰;RNl 隨機數;
PVl 整墊值;Tl 暫時值;
SDl 擾亂數據;RCl 數據讀取指令。
具體實施例方式本實施例提出一種儲存系統,其中當主機系統欲在此儲存系統中儲存數據(即, 原始數據)時,此儲存系統會使用即時產生的暫時值來對原始數據執行一擾亂程序以產生 對應的擾亂數據,并儲存此擾亂數據。而當主機系統欲讀取從此儲存系統中讀取數據(即, 原始數據)時,此儲存系統會使用即時產生的暫時值來對對應的擾亂數據執行一解擾亂程 序以還原原始數據。由于擾亂與解擾亂所使用的暫時值是于運作過程中即時產生,并且未 儲存于儲存系統中,因此可有效地防止未授權者破解儲存系統中的擾亂機制而非法存取儲 存系統中的數據。圖1是根據本發明實施例所示的儲存系統的概要方塊圖。請參照圖1,一般來說,儲存系統100是與主機系統200 —起運作使用,以使主機系 統200可將數據寫入至儲存系統100或從儲存系統100中讀取數據。儲存系統100包括儲存媒體控制器(亦可簡稱,控制器)110、連接器120與儲存單 元 130。儲存媒體控制器110會執行以硬件型式或韌件型式實作的多個邏輯閘或控制指 令,并且根據主機系統200的指令在儲存單元130中進行數據的寫入、讀取等。儲存媒體控制器110包括微處理器單元152、數據編碼單元154、儲存媒體介面單 元156與主機介面單元158。微處理器單元152用以與數據編碼單元154、儲存媒體介面單元156與主機介面單 元158等協同合作以進行儲存系統100的各種運作。數據編碼單元154是電性連接至微處理器單元152,并且用以執行根據本實施例 的數據擾亂機制。數據編碼單元154包括亂數產生器172、遮罩器174與數據擾亂器176。亂數產生器172是電性連接至微處理器單元152,并且根據微處理器單元152的指 示產生隨機數。例如,在本實施例中,亂數產生器172會產生長度為8個位元組(Byte)的 隨機數。然而,本發明不限于此,亂數產生器172亦可依使用者的設定而產生3個位元組, 12個位元組,或任意長度的隨機數。在本實施例中,亂數產生器172所產生的隨機數是用 于對欲儲存的數據進行擾亂程序或者對已擾亂數據進行解擾亂程序的其中一個參數。特別 是,微處理器單元152會儲存亂數產生器172所產生的隨機數,以利于后續對已擾亂數據進 行解擾亂程序,例如,微處理器單元152將亂數產生器172所產生的隨機數儲存于儲存單元 130中。此外,在本發明另一實施例中,儲存媒體控制器110中亦可配置非揮發性存儲器來 存放亂數產生器172所產生的隨機數。遮罩器174是電性連接至微處理器單元152,并且根據微處理器單元152的指示產 生整墊值與暫時值。遮罩器174所產生的整墊值與暫時值亦是用于對主機系統200欲儲存 的數據進行擾亂程序或者對已擾亂數據進行解擾亂程序的參數。值得一提的是,微處理器 單元152會儲存所產生的隨機值,以作為解擾亂之用,但在本實施例中,遮罩器174所產生 的整墊值與暫時值可以不被儲存。也就是說,整墊值與暫時值是于每次進行擾亂程序或解 擾亂程序時產生,并且在使用完畢后就會被刪除。具體來說,在遮罩器174中配置有第一函數,并且遮罩器174會根據使用者密碼與 亂數產生器172所產生的隨機值使用第一函數來產生整墊值。在此,使用者密碼是由主機系統200所提供,并且通過主機系統200傳送至儲存媒體控制器110。此外,第一函數為一 預設運算函數,其用以編輯所輸入的數據(即,使用者密碼與隨機數)并且將所輸入的數據 填塞至一預定長度以作為整墊值并且將所輸入的數據擴充至一預定長度以作為整墊值,其 中此預定長度可依據預期的保密強度或數據處理長度來設定,即此預定長度越長則保密強 度越高或數據處理數量愈多,在本實施例中,此預定長度是設定為24個位元組,但其亦可 依使用者需要而設定為任意長度,不應以此為限。在本實施例中,第一函數如式(1)所示PV = F(PW, SHIFT, RN, PAD, PWL)(1)其中PV表示整墊值,SHIFT表示位移值,Pff表示使用者密碼,RN表示隨機值,PAD 表示填塞位元,PWL表示使用者密碼長度。在此,位移值是用以使所編輯的整墊值更為混亂, 而填塞位元用以擴充所編輯的整墊值的長度。在本實施例中,整墊值、位移值、使用者密碼、 隨機值、填塞位元與使用者密碼長度皆是以16進位來表示,其中使用者密碼為8個位元組、 位移值為1個位元組、隨機值為8個位元組且使用者密碼長度為4個位元組。因此,在預期 整墊值為24個位元組的例子中,遮罩器174會以3( = 24-8-1-8-4)個位元組的0X00作 為填塞位元。也就是說,在本實施例中,遮罩器174會依據8個位元組的使用者密碼、1個位 元組的位移值、8個位元組的隨機值、3個位元組的填塞位元與4個位元組的使用者密碼長 度的順序來編輯以產生24個位元組的整墊值。例如,當隨機數為“F69F 2445DF4F9B1716"且使用者密碼為“6BC 11B206162636416”時,遮罩器174所產生的24個位元組的整墊值為“6BC11B2061626364-80 -F69F2445DF4F9B17-000000-0000000816 ”。必須了解的是,式(1)僅是實作第一函數的,本發明不限于此,任何可將隨機數與 使用者密碼進行編輯并產生出預期長度的整墊值的函數皆可作為第一函數。例如,在本發明另一實施例中,第一函數亦可以式(2)來實作PV = F (PW, RN)(2)其中第一函數是僅以上述使用者密碼與隨機數作為參數并利用使用者密碼與 隨機數以一預定法則組合或重復來產生一預定數據長度的整墊值。例如,當隨機數為 “F69F2445DF4F9B1716”且使用者密碼為 “6BCllB2061626364ie”時,遮罩器 174 所產生的 24 個位元組的整墊值可為 “F69F 2445DF4F9B 17-6BC 11B2061626364_F69F2445DF4F9B1716,, 或"6BC11B2061626364-F69F2445DF4F9B 17-6BC 11B206162636416,,。此外,在又一實施例中,第一函數亦可以式(3)來實作PV = F (PW, RN, PAD)(3)其中是僅以上述使用者密碼、隨機數與填塞位元作為參數,且填充位元的數據長 度是依據欲產生的整墊值的數據長度、隨機數的數據長度與使用者密碼的數據長度來決 定。例如,在隨機數為“F69F2445DF4F9B1716”且使用者密碼為“6BCllB2061626364ie”的例 子中,由于隨機數與使用者密碼皆為8個位元組,因此當欲產生24個位元組的整墊值時遮 罩器174會使用8個位元組的填塞位元來“F69F2445DF4F9B17-0000000000000000-6BC11 B206162636416 ”或” F69F2445DF4F9B17-6BC11B2061626364-000000000000000016 ”作為整墊 值。此外,在再一實施例中,第一函數亦可以式(4)來實作PV = F(PW, RN, PAD, PWL)(4)
其中是僅以上述使用者密碼、隨機數、填塞位元與使用者密碼長度作為參數。例如,在隨機數為“F69F2445DF4F9B1716”,使用者密碼為“6BCllB2061626364ie”且使用者密碼 長度為“0000000816”的例子中,遮罩器174所產生的24個位元組的整墊值可為“F69F2445 DF4F9B17-6BCllB2061626364-00000000-0000000816”或” F69F2445DF4F9B17-00000000-000 00008-6BC 11B206162636416” 作為整墊值。值得一提的是,除了使用者密碼與隨機數外,上述位移值或使用者密碼的長度亦 可作為產生整墊值的參數,因此為能夠使所產生的整墊值的長度等于上述預定長度,上述 填塞位元可根據所使用的參數來調整其長度,其中填塞位元的長度不大于上述預定長度減 去使用者密碼與隨機數的長度,如下式(5)所示。PADLength ( DeLength-(PWLength+RNLength) (5)其中PADLength表示填塞位元的長度,DeLength表示預定長度,PffLength表示使 用者密碼的長度,并且RNLength表示隨機數的長度。在本實施例中,在遮罩器174中配置有第二函數,并且遮罩器174會根據金鑰 與所產生的整墊值使用第二函數來產生暫時值。例如,第二函數為數據加密標準(Data Encryption Standard, DES)的加密函數,而金鑰是用作為DES函數中的密鑰。換句話說,遮 罩器174會將整墊值作為一輸入值至第二函數并且將通過金鑰加密整墊值所產生的密文 作為暫時值。在此,遮罩器174是以使用者密碼作為金鑰,但本發明不限于此,在本發明另 一實施例中,主機系統200的使用者亦可輸入一不同于上述使用者密碼的另一預期的使用 者密鑰作為金鑰,并且遮罩器174會儲存使用者輸入的使用者密鑰以作為解擾亂之用。此 外,儲存系統100亦可于出廠時以一組預設值作為此金鑰。在另一實施例中,使用者密鑰或使用者密碼是為一第一金鑰,而遮罩器174所接 收的整墊值是為一第二金鑰,而遮罩器174會使用該第一金鑰利用第二函數加密該第二金 鑰來產生一密文作為暫時值。在本實施例中,盡管本實施例是以DES的加密函數作為第二函數,然而本發明不 限于此,DES的解密函數亦可作為上述第二函數。也就是說,在使用DES的解密函數作為第 二函數的例子中,整墊值是被視作為密文輸入至第二函數并且將通過金鑰解密整墊值所產 生的明文作為暫時值。此外,必須了解的是,上述第二函數不限于DES,在本發明另一實施例中,任何對 稱式函數(例如,高階加密標準(Advanced EncryptionStandard, AES)的加密或解密函 數)、非對稱式函數(例如,RSA (Rivest-Shamir-Adleman)加密函數)或信息摘要(Message Digest)函數(例如,第五代訊息摘要(Message Digest 5,MD5)函數或安全雜湊標準 (Secure Hash Standard, SHA)函數)皆可作為本實施例的第二函數。數據擾亂器176是電性連接至微處理器單元152,并且根據微處理器單元152的 指示對原始數據執行擾亂程序以產生擾亂數據或者對已擾亂數據執行解擾亂程序。具體來 說,在數據擾亂器176中配置有第三函數,并且數據擾亂器176根據遮罩器174所產生的暫 時值與原始數據使用第三函數來產生擾亂數據或者根據遮罩器174所產生的暫時值與已 擾亂數據使用第三函數來還原原始數據。在本實施例中,第三函數為一互斥(XOR)函數,然 而,必須了解的是本發明不限于此,第三函數可以是其他邏輯運算函數,或是多是個邏輯運 算函數的組合。
值得一提的是,在本實施例中,遮罩器174通過第二函數(即,DES加密函數)所產 生暫時值的長度是相同于使用第一函數所產生的整墊值的長度,因此當數據擾亂器176使 用第三函數(即,XOR函數)對原始數據進行擾亂時,原始數據的長度亦需是等于暫時值的 長度。例如,在本實施例中,遮罩器174依據隨機數、使用者密碼與使用者密碼長度利用第 一函數產生24個位元組的整墊值,并且依據整墊值與金鑰利用第二函數產生24個位元組 的暫時值。因此,在原始數據亦為24個位元組的情況下,數據擾亂器176可直接依據暫時 值使用第三函數來產生24個位元組的擾亂數據。也就是說,在本實施例中,整墊值的的長 度與暫時值的長度是相同于原始數據的長度。然而,必須了解的是,本發明不限于此,當所 產生的暫時值的長度與原始數據的長度不相同時,儲存系統亦可以填塞位元組或以重復暫 時值的方式來擴充暫時值以使擴充后的暫時值的長度與原始數據的長度相同,或者將原始 數據分割多個子原始數據以使子原始數據的長度與暫時值的長度相同。在本實施例中,亂數產生器172、遮罩器174與數據擾亂器176是以一硬件型式實 作。然而本發明不限于此,在本發明另一實施例中,亂數產生器172、遮罩器174與數據擾亂 器176亦可以一韌件型式實作在儲存媒體控制器110中。例如,將包括多個程式指令的亂數 產生器172、遮罩器174與數據擾亂器176燒錄至一程式存儲器(例如,只讀存儲器(Read Only Memory,ROM))中并且將此程式存儲器嵌入在儲存媒體控制器110中,當儲存系統100 運作時,亂數產生器172、遮罩器174與數據擾亂器176的多個機器指令會由微處理器單元 152來執行以完成根據本發明實施例的區塊管理機制與數據寫入機制。此外,在本發明另一實施例中,亂數產生器172、遮罩器174與數據擾亂器176的控 制指令亦可以軟件型式儲存于儲存單元130中。同樣的,當儲存系統100運作時,亂數產生 器172、遮罩器174與數據擾亂器176的多個控制指令會由微處理器單元152來執行。儲存媒體介面單元156是電性連接至微處理器單元152并且用以存取儲存單元 130。也就是說,欲寫入至儲存單元130的數據會經由儲存媒體介面單元156轉換為儲存單 元130所能接受的格式。主機介面單元158是電性連接至微處理器單元152并且用以接收與識別主機系 統200所傳送的指令。也就是說,主機系統200所傳送的指令與數據會通過主機介面單元 158來傳送至微處理器單元152。在本實施例中,主機介面單元158為安全數位(secure digital, SD)介面。然而,必須了解的是本發明不限于此,主機介面單元158亦可以是序 列先進附件(Serial Advanced Technology Attachment, SATA)介面、通訊序列匯流排 (Universal Serial Bus,USB)介面、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers, IEEE) 1394 介面、高速周邊零件連接介面(Peripheral Component InterconnectExpress, PCI Express)、記憶棒(Memory Sick, MS)介面、多媒體 儲存卡(Multi Media Card,MMC)介面、小型快閃(Compact Flash,CF)介面、整合式驅動電 子介面(Integrated Device Electronics, IDE)或其他適合的數據傳輸介面。此外,雖未示于本實施例,但儲存媒體控制器110亦更包括錯誤校正單元與電源 管理單元等控制儲存單元的電路。連接器120是電性連接至儲存媒體控制器110并且用以通過匯流排300連接主機 系統200。在本實施例中,連接器120為SD連接器。然而,必須了解的是本發明不限于此, 連接器120亦可以是SATA連接器、USB連接器、IEEE 1394連接器、PCI Express連接器、MS連接器、MMC連接器、CF連接器、IDE連接器或其他適合的連接器。儲存單元130是電性連接至儲存媒體控制器110并且用以儲存數據。在本實施例 中,儲存單元130具有一隱藏區以存放亂數產生器172所產生的隨機數。在此,所謂隱藏區 是指僅可由儲存媒體控制器110可寫入與讀取的區域,而主機系統200無法存取的區域。在 本實施例中,儲存單元130為一次程式化存儲器(One Time Program memory,OTP) 然而, 必須了解的是,儲存單元130可以是非揮發性存儲器(例如,快閃存儲器)、磁碟或其他任何 適合的儲存媒體。圖2是根據本發明實施例所示的數據擾亂方法的流程圖,并且圖3是根據本發明 實施例所示的執行擾亂方法的數據流示意圖。請同時參照圖2與圖3,當主機系統200欲儲存數據至儲存系統100時,在步驟 S201中儲存媒體控制器110的微處理器單元152會經由主機介面單元158接收主機系統 200的數據寫入指令WC1、欲儲存的原始數據RDl以及使用者密碼PW1。具體來說,儲存系統 100能夠根據使用者所設定的密碼來保護使用者所儲存的數據。因此,當使用者欲于儲存系 統100中儲存數據時,使用者需提供預設定的使用者密碼。例如,在本發明一實施例中,使 用者是配合一軟件介面來使用儲存系統,其中此軟件介面提供一密碼欄位供使用者輸入使 用者密碼。在步驟S203中微處理器單元152會判斷儲存單元130中是否存有隨機數。倘若 儲存單元130未儲存有隨機數時,則在步驟S205中亂數產生器172會在微處理器單元152 的控制下產生一組亂數作為隨機數。例如,在圖3的中,儲存單元130中未存有任何隨機數, 因此亂數產生器172會產生一組隨機數RNl。之后,在步驟S207中遮罩器174依據隨機數RNl與使用者密碼PWl使用第一函數 來產生整墊值PVl,并且在步驟S209中遮罩器174依據所產生的整墊值PVl與金鑰Kl使用 第二函數來產生暫時值Tl。如上所述,在本中,遮罩器174是以使用者密碼PWl作為金鑰 K1。然而,在使用者可設定使用者密鑰作為金鑰的例子中,上述軟件介面還會提供一密鑰欄 位以供使用者設定使用者密鑰。接著,在步驟S211中數據擾亂器176依據暫時值Tl與原始數據RDl使用第三函 數來產生擾亂數據SD1。最后,在步驟S213中微處理器單元152會通過儲存媒體介面單元 156將所產生的擾亂數據SDl與隨機值RNl寫入至儲存單元130中。基于上述,由于儲存媒體控制器110是將擾亂后的擾亂數據來取代原始數據以寫 入至儲存單元130中,因此當主機系統200欲讀取所儲存的數據時,儲存媒體控制器110必 須進行解擾亂程序將已擾亂的數據還原為原始數據。圖4是根據本發明實施例所示的數據解擾亂方法的流程圖,并且圖5是根據本發 明實施例所示的執行解擾亂方法的數據流示意圖。請同時參照圖4與圖5,當主機系統200欲從儲存系統100中讀取的原始數據RDl 時,在步驟S401中儲存媒體控制器110的微處理器單元152會經由主機介面單元158接收 主機系統200的數據讀取指令RCl及使用者密碼PWl。在步驟S403中微處理器單元152會通通過儲存媒體介面單元156讀取儲存于儲 存單元130中的隨機數RNl與擾亂數據SDl。之后,在步驟S405中遮罩器174依據隨機數RNl與使用者密碼PWl使用第一函數來產生整墊值PVl,并且在步驟S407中遮罩器174依據所產生的整墊值PVl與金鑰Kl使用 第二函數來產生暫時值Tl。如上所述,在本中,遮罩器174是以使用者密碼PWl作為金鑰 K1。接著,在步驟S409中數據擾亂器176依據暫時值Tl與擾亂數據SDl使用第三函數 來還原原始數據RD1。最后,在步驟S411中微處理器單元152會通過主機介面單元158將 所還原的原始數據RDl傳送給主機系統200。值得一提的是,在本實施例中,主機系統200 必須提供正確的使用者密碼才可正確地解擾亂所儲存的擾亂數據,否則主機系統200將接 收到不正確的數據。也就是說,儲存媒體控制器110依據錯誤的使用者密碼執行解擾亂程 序所得到的數據不會是主機系統200所儲存的原始數據。值得一提的是,在本發明實施例中,當儲存單元130于同一時間存有對應多筆原 始數據的多筆擾亂數據時,這些擾亂數據必須是以相同的隨機數作為上述擾亂程序的參 數。也就是說,僅于儲存單元130中的所有擾亂數據都已被還原回原始數據后,儲存媒體控 制器110才會將儲存于儲存單元130中的隨機值抹除,并于下一次寫入數據時產生新的隨 機值。然而,本發明不限于此,在儲存單元130提供足夠空間儲存多筆隨機數的例子中,儲 存媒體控制器110亦可為每一筆原始數據產生一對應隨機數以進行上述擾亂程序之用。綜上所述,本發明實施例是依據即時產生的暫時值來對數據進行擾亂,由于此暫 時值并不會儲存于儲存系統中,因此大幅度增加破解所擾亂的數據的難度。此外,在擾亂程 序或反擾亂程序中,暫時值都是以相同方式(例如,加密函數或解密函數)產生,因此不需 要配置執行逆運算的電路,而可大幅縮小儲存系統的體積。再者,當儲存系統中所儲存的擾 亂數據皆已還原后,本實施例的儲存系統會重新產生隨機值,并由此產生不同的暫時值,因 此可更確保使用此暫時值所保護的數據的安全性。最后應說明的是以上實施例僅用以說明本發明的技術方案而非對其進行限制, 盡管參照較佳實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解其依 然可以對本發明的技術方案進行修改或者等同替換,而這些修改或者等同替換亦不能使修 改后的技術方案脫離本發明技術方案的精神和范圍。
權利要求
1.一種數據擾亂方法,用以擾亂來自于一主機系統的一原始數據,該數據擾亂方法包括提供一儲存媒體控制器;產生一隨機數并將所產生的隨機數儲存于一儲存單元中; 從該主機系統中接收一使用者密碼;依據該隨機數與該使用者密碼使用一第一函數產生一整墊值; 依據該整墊值與一金鑰使用一第二函數產生一暫時值;以及由該儲存媒體控制器依據該暫時值與該原始數據使用一第三函數產生對應該原始數 據的一擾亂數據。
2.根據權利要求1所述的數據擾亂方法,其中依據該隨機數與該使用者密碼使用該第 一函數產生該整墊值的步驟包括通過該第一函數編輯該隨機數與該使用者密碼來產生該 整墊值。
3.根據權利要求2所述的數據擾亂方法,還包括使用該使用者密碼的長度、一填塞位 元與一位移值的至少其中之一來產生該整墊值,其中該整墊值的長度等于一預定長度。
4.根據權利要求3所述的數據擾亂方法,其中該預定長度相同于該原始數據的長度。
5.根據權利要求3所述的數據擾亂方法,其中 PADLength ( DeLength-(PWLength+RNLength)其中PADLength表示該填塞位元的長度,DeLength表示該預定長度,PffLength表示該 使用者密碼的長度,并且RNLength表示該隨機數的長度。
6.根據權利要求1所述的數據擾亂方法,其中該第二函數為一對稱式函數、一非對稱 式函數或一信息摘要函數。
7.根據權利要求1所述的數據擾亂方法,其中該第三函數為一邏輯運算函數。
8.根據權利要求1所述的數據擾亂方法,還包括以該使用者密碼作為該金鑰。
9.根據權利要求1所述的數據擾亂方法,還包括隨機地產生該金鑰并且將所產生的該 金鑰儲存于該儲存單元中。
10.根據權利要求6所述的數據擾亂方法,其中該對稱式函數為一高階加密標準函數 或一數據加密標準函數。
11.根據權利要求6所述的數據擾亂方法,其中該非對稱式函數為一RSA加密函數。1
12.根據權利要求6所述的數據擾亂方法,其中該信息摘要函數為一第五代訊息摘要 函數或一安全雜湊標準函數。
13.根據權利要求7所述的數據擾亂方法,其中該邏輯運算函數為一互斥函數。
14.根據權利要求1所述的數據擾亂方法,還包括擴充該暫時值,其中該已擴充的暫時值的長度等于該原始數據的長度。
15.根據權利要求1所述的數據擾亂方法,還包括分割該原始數據為多個子原始數據,其中至少一子原始數據的長度等于該暫時值的長度。
16.一種儲存媒體控制器,用以擾亂來自于一主機系統的一原始數據,該儲存媒體控制 器包括一微處理器單元;一儲存媒體介面單元,電性連接至該微處理器單元,用以連接一儲存媒體;一主機介面單元,電性連接至該微處理器單元,用以連接該主機系統;以及一數據編碼單元,電性連接至該微處理器單元,用以依據一隨機數與來自于該主機系 統的一使用者密碼使用一第一函數產生一整墊值,依據該整墊值與一金鑰使用一第二函數 產生一暫時值并且依據該暫時值與一原始數據使用一第三函數產生對應該原始數據的一 擾亂數據,其中該微處理器單元將該隨機數儲存于該儲存單元中。
17.根據權利要求16所述的儲存媒體控制器,其中該數據編碼單元包括一亂數產生器,用以產生該隨機數;一遮罩器,用以設定該金鑰、使用該第一函數產生該整墊值并且使用該第二函數產生 該暫時值;以及一數據擾亂器,用以使用該第三函數產生對應該原始數據的該擾亂數據。
18.根據權利要求16所述的儲存媒體控制器,其中該數據編碼單元通過該第一函數編 輯該隨機數與該使用者密碼以產生該整墊值。
19.根據權利要求18所述的儲存媒體控制器,其中該數據編碼單元還使用該使用者密 碼的長度、一填塞位元與一位移值的至少其中之一來產生該整墊值,其中該整墊值的長度 等于一預定長度。
20.根據權利要求19所述的儲存媒體控制器,其中該預定長度相同于該原始數據的長度。
21.根據權利要求19所述的儲存媒體控制器,其中PADLength ( DeLength-(PWLength+RNLength)其中PADLength表示該填塞位元的長度,DeLength表示該預定長度,PffLength表示該 使用者密碼的長度,并且RNLength表示該隨機數的長度。
22.—種儲存系統,包括一連接器,用以電性連接一主機系統并接收來自于該主機系統的一原始數據與一使用 者密碼;一儲存單元;以及一儲存媒體控制器,電性連接至該連接器與該儲存單元,用以產生一隨機數、依據該隨 機數與該使用者密碼使用一第一函數產生一整墊值,依據該整墊值與一金鑰使用一第二函 數產生一暫時值,依據該暫時值與一原始數據使用一第三函數產生對應該原始數據的一擾 亂數據,且將該擾亂數據寫入至該儲存單元中,其中該儲存媒體控制器將該隨機數儲存于該儲存單元中。
23.根據權利要求22項所述的儲存系統,其中該儲存媒體控制器通過該第一函數編輯 該隨機數與該使用者密碼以產生該整墊值。
24.根據權利要求23所述的儲存系統,其中該儲存媒體控制器還使用該使用者密碼的 長度、一填塞位元與一位移值的至少其中之一來產生該整墊值,其中該整墊值的長度等于 一預定長度。
25.一種數據解擾亂方法,用以依據來自于一主機系統的使用者密碼解擾亂儲存于一 儲存單元中的一擾亂數據,包括從該儲存單元中讀取一隨機數;依據該隨機數與該使用者密碼使用一第一函數產生一整墊值; 依據該整墊值與一金鑰使用一第二函數產生一暫時值;以及由一儲存媒體控制器依據該暫時值與該擾亂數據使用一第三函數產生對應該擾亂數 據的一原始數據。
26.根據權利要求25所述的數據解擾亂方法,其中依據該隨機數與該使用者密碼使用 該第一函數產生該整墊值的步驟包括通過該第一函數編輯該隨機數與該使用者密碼來產 生該整墊值。
27.根據權利要求26所述的數據解擾亂方法,還包括使用該使用者密碼的長度、一填 塞位元與一位移值的至少其中之一來產生該整墊值,其中該整墊值的長度等于一預定長度。
28.一種數據處理方法,該數據處理方法包括 提供一儲存媒體控制器;分別接收一第一金鑰及一第二金鑰;由該儲存媒體控制器使用該第一金鑰加密該第二金鑰來產生一暫時值; 接收來自于一主機系統的一原始數據;以及由該儲存媒體控制器依據該暫時值與該原始數據使用一第三函數來產生對應該原始 數據的一擾亂數據。
29.根據權利要求28所述的數據處理方法,其中該第二金鑰是由該第一金鑰所產生。
30.根據權利要求28所述的數據處理方法,其中該第二金鑰的長度等于該原始數據的 長度。
31.根據權利要求28所述的數據處理方法,還包括由該儲存媒體控制器依據該暫時 值與該擾亂數據使用該第三函數來還原該原始數據。
32.根據權利要求28所述的數據處理方法,其中該第三函數為一邏輯函數。
33.根據權利要求28所述的數據處理方法,還包括擴充該暫時值,其中已擴充的該暫時值的長度等于該原始數據的長度。
34.根據權利要求28所述的數據處理方法,還包括分割該原始數據為多個子原始數據,其中至少一子原始數據的長度等于該暫時值的長
全文摘要
本發明公開了一種數據擾亂與解擾亂方法及其儲存媒體控制器與儲存系統,該方法用以擾亂來自于一主機系統的一原始數據。本數據擾亂方法包括產生一隨機數并將所產生的隨機數儲存于一儲存單元中。本數據擾亂方法也包括從主機系統中接收一使用者密碼,依據所產生的隨機數與所接收的使用者密碼使用一第一函數產生一整墊值,并且依據所產生的整墊值與一金鑰使用一第二函數產生一暫時值。本數據擾亂方法還包括依據所產生的暫時值與上述原始數據使用一第三函數產生對應原始數據的一擾亂數據。基此,可有效地保護主機系統的原始數據。
文檔編號G06K19/073GK101996339SQ200910168280
公開日2011年3月30日 申請日期2009年8月20日 優先權日2009年8月20日
發明者孟子元, 詹清文 申請人:群聯電子股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影