專利名稱:加解密內(nèi)存及其存取控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種加解密內(nèi)存及其存取控制方法,特別是一種在內(nèi)存中建構(gòu)一加密控制器,透過內(nèi)存的讀寫使資料形成加密或解密的設(shè)計。
現(xiàn)今有越來越多的網(wǎng)絡(luò)及系統(tǒng)連接至網(wǎng)際網(wǎng)絡(luò),任何人皆透過內(nèi)部網(wǎng)絡(luò)(intranet)或是網(wǎng)際網(wǎng)絡(luò)(internet)存取所需的資料儲存在硬盤中,或者能自個人的硬盤中移動、存取任何資料,這使得網(wǎng)絡(luò)的連接日益危險。因為任何人均可輕易地擷取私人資料,包括個人資料、信用卡資料、往來的電子書信等,形成了一種無隱私的開放空間。情況還不止于此,對企業(yè)而言,對計算機系統(tǒng)保全的最大威脅往往來自所雇用的職員,不需要任何更多的專業(yè)知識,只要知道如何去使用螺絲刀,即可將計算機拆卸并取走硬盤,這對任何人來說是非常容易的。
計算機犯罪的目的往往是竊取儲存在硬盤中的資料,這種犯罪手段是幾乎無法終止的,因此最佳的解決方案就是對全部儲存在硬盤中的資料進行加密,藉以使外來入侵者自硬盤帶走的資料,除了密文(cipher text)外無法讀出任何資料。當然不只是硬盤,相同的情況也可能發(fā)生在其它外圍設(shè)備上,如網(wǎng)絡(luò)適配卡、打印機等,因此這些裝置不論是任何形式的計算機犯罪,都是最難以防御的。
以硬盤資料存取來說,如
圖1所示,假設(shè)CPU10(中央處理器)向硬盤21要求一資料,該資料不會從硬盤21直接到CPU10,而是先被寫至內(nèi)存30(以下以DRAM說明)內(nèi)(如路線A),然后CPU10再從DRAM30將資料讀出(如路線B)。同樣的,如圖2所示,在CPU10處理資料之后,也是先將處理后的資料寫入DRAM30(如路線C),然后硬盤21再自DRAM30讀回資料(如路線D)。因此由上述可知,DRAM30是任何資料流在外圍設(shè)備20(包括硬盤21等)與系統(tǒng)核心40之間的一個必徑之路,換言之,它可以是一個檢測點。
因此,可以想像DRAM30可以執(zhí)行下列的技術(shù)點1、在資料從外圍設(shè)備20傳送至系統(tǒng)核心40之后,系統(tǒng)核心40讀取的資料將被解密。
2、在資料從系統(tǒng)核心40傳送至外圍設(shè)備20之前,為保護抵抗非法入侵者,資料將被加密。
本發(fā)明的主要目的,是提供一種加解密內(nèi)存及其存取控制方法,主要是在內(nèi)存(DRAM、SDRAM、SRAM等)中建構(gòu)一加密控制器,并利用預(yù)設(shè)定的特殊加解密激活程序激活加密控制器,在未激活前,加解密內(nèi)存的使用如同一般內(nèi)存。激活后,資料將被加解密內(nèi)存進行加解密,并且設(shè)定內(nèi)存的任一段儲存地址變更為暫存區(qū)儲存加解密資料,透過內(nèi)存的讀寫,使資料形成加密或解密資料,供系統(tǒng)或外圍設(shè)備進行存取,進而防止非法入侵者破解這些內(nèi)存位置資料,甚至竊取走整個外圍設(shè)備,以提高計算機系統(tǒng)的安全性。
依據(jù)前述,本發(fā)明的DRAM架構(gòu)中包括有閃存(flash)及加密控制器(encryptioncontroller),該閃存系用以儲存加密鑰匙(key)及加密/解密區(qū)域設(shè)定后的尋址訊息。該加密控制器系由特殊的加解密激活程序激活,用以執(zhí)行資料流加/解密的動作。
依據(jù)前述,該特殊的激活程序?qū)?nèi)存任一個相同的地址持續(xù)地重復(fù)讀、寫動作一段時間,激活加/解密程序,且因僅是做字符流加密(Stream Cipher),加解密不影響時序造成延遲,可視為一實時運算(Real Time Operation),寫入之后立刻便可以讀取。
為達到上述目的,本發(fā)明提供了一種加解密內(nèi)存,其特征在于內(nèi)存包含有一加密控制器及閃存,該加密控制器系統(tǒng)受操作系統(tǒng)或額外的軟件程序所設(shè)定,將內(nèi)存劃分出加密區(qū)域,解密區(qū)域及控制加密/解密作業(yè)的激活與停止;該閃存系儲存獨一無二的加密鑰匙,及在設(shè)定加密/解密區(qū)域之后,系統(tǒng)產(chǎn)生的尋址訊息;前述的加密內(nèi)存系由加密/解密激活程序所激活,使外圍設(shè)備所送出的加密資料,到達內(nèi)存前會先完成解密并等待系統(tǒng)讀取使用,及系統(tǒng)寫入內(nèi)存的未加密資料,在到達內(nèi)存前已完成加密,送回外圍裝置儲存,以避免外圍設(shè)備被竊取、系統(tǒng)被侵入時泄露重要資料。
本發(fā)明還提供了一種該加解密內(nèi)存存取的控制方法,該方法包括如下步驟a.操作系統(tǒng)或軟件程序決定內(nèi)存地址區(qū)段,并將其轉(zhuǎn)變?yōu)榧用芫彺嫫?;b.設(shè)定選擇區(qū)域;c.決定區(qū)域的起始地址及大??;d.決定執(zhí)行加密或解密作業(yè);e.將步驟a到d設(shè)定的結(jié)果儲存至加密緩存器,并選擇運算法則;f.偵測特殊的加/解密功能程序是否激活;g.步驟f激活后,即對資料進行加密或解密,并將資料儲存在前述設(shè)定的加密或解密區(qū)域內(nèi),供系統(tǒng)或外圍設(shè)備存取。
現(xiàn)結(jié)合附圖所示的實施例詳細說明本發(fā)明的結(jié)構(gòu)及功能。其中圖1是中央處理器自硬盤讀取資料之動作示意圖;圖2是在中央處理器處理資料存入硬盤的動作示意圖;圖3是本發(fā)明解密內(nèi)存的內(nèi)部方塊示意圖;圖4是本發(fā)明的中央處理器與硬盤間存取資料的動作示意圖;圖5是本發(fā)明的方法流程圖。
符號說明10 CPU 20外圍設(shè)備 21 硬盤30 內(nèi)存(DRAM)40系統(tǒng)核心 50加解密內(nèi)存(DRAM) 51 閃存 52加密控制器53控制邏輯 54接口緩存器55記憶方塊 56加密緩存器本發(fā)明利用硬件與軟件的技術(shù),研發(fā)出一種特殊的DRAM架構(gòu),利用與操作系統(tǒng)(OS)或軟件控制結(jié)合的額外功能方塊,系統(tǒng)能偵測出DRAM中的一個或多個區(qū)域,硬盤資料將能在這些區(qū)域存取,且該區(qū)域加密或解密程序是由特殊激活而執(zhí)行,這些DRAM中加/解密區(qū)域的數(shù)量視系統(tǒng)設(shè)計需求而定。
該加解密內(nèi)存50(以下以DRAM為例)架構(gòu)如圖3所示,在此DRAM50內(nèi)部架構(gòu)中本發(fā)明較一般的DRAM30增加了閃存51及加密控制器52兩個功能方塊。其中,該閃存51儲存了下列兩種重要的訊息1、獨一無二的加密鑰匙;2、在設(shè)定加/解密區(qū)域(如后述)之后,系統(tǒng)產(chǎn)生的尋址訊息。
該設(shè)定加密控制器52可為字符流加密器或是虛擬隨機數(shù)產(chǎn)生器(psudo randomgenerator),依據(jù)軟件所設(shè)定的加/解密區(qū)域進行加解密動作,以提供解密的資料給CPU10處理,或?qū)⒓用苜Y料儲存在硬盤21中。
在本發(fā)明的加解密內(nèi)存50中的其余構(gòu)件,如圖所示的作為資料流存取流向控制的控制邏輯53、與總線連接的接口緩存器54及儲存資料的記憶方塊55,均與現(xiàn)有的DRAM30同,在此不再贅述。
DRAM50內(nèi)的加/解密區(qū)域及激活加/解密的執(zhí)行,由操作系統(tǒng)或額外的程序去幫助決定下列關(guān)鍵點1、執(zhí)行DRAM50中的加/解密區(qū)域的設(shè)定;2、在設(shè)定加/解密區(qū)域之后,必須決定這個DRAM50中的區(qū)域不是系統(tǒng)經(jīng)常存取的地址,然后將所設(shè)定的加/解密區(qū)域的結(jié)果(包括起始及終止地址)寫入這個空白的區(qū)域內(nèi),以使加密控制器52能知道加/解密的內(nèi)存地址區(qū)域;3、負責加/解密程序的開始與結(jié)束控制;4、將幫助資料直接進入正確的加/解密區(qū)域。
依據(jù)前述的關(guān)鍵點,設(shè)定DRAM內(nèi)存地址加/解密區(qū)域的程序如下(以下的實施系以硬盤為例說明)假設(shè)所要保護的硬盤21及相關(guān)的硬盤所有資料將只存取內(nèi)存地址的4個區(qū)域,每一個區(qū)域設(shè)定程序如下列步驟1、決定設(shè)定哪一個區(qū)域(area1,area2,area3或area4);2、選擇激活(enable)或停止(disable)區(qū)域,如果系統(tǒng)要求4個區(qū)域全部維持激活狀態(tài),軟件的操作系統(tǒng)將能動態(tài)偵測,否則某些區(qū)域?qū)煌V梗?、決定加/解密區(qū)域的起始地址;4、決定加/解密區(qū)域的大??;5、選擇執(zhí)行加密或解密動作。
當操作系統(tǒng)或軟件程序完成上述工作后,將會找尋內(nèi)存地址中不是系統(tǒng)經(jīng)常存取的一段儲存地址變更為加密緩存器56(encryption register),系統(tǒng)也必須決定采用何種加密/解密運算法則(例如RSA、ECC),之后將設(shè)定的結(jié)果及決定的運算法則儲存至加密緩存器56內(nèi)。
另外,本發(fā)明設(shè)定該加密緩存器56中的一個位,作為加/解密的終止(terminate)設(shè)定。
又,因DRAM50屬于揮發(fā)性內(nèi)存,系統(tǒng)電源關(guān)閉時暫存于DRAM的資料將會消失,而本發(fā)明上述的各項設(shè)定將儲存在前述于DRAM50額外設(shè)定的閃存51內(nèi),因此電源重新開啟時,不必再重新執(zhí)行上述的設(shè)定步驟。
本發(fā)明系提供一種特殊的加密或解密激活方法,利用一預(yù)設(shè)定的特殊加解密激活過程控制激活,若這個特殊的加密或解密方法在未激活前,DRAM50將無加密或解密運作,而維持一般內(nèi)存的使用功能,加解密內(nèi)存的使用即猶如一般內(nèi)存存取,不會發(fā)生任何加解密動作。舉例來說,這個程序的激活模式在下列幾種型式下將被激活1、只有在當操作系統(tǒng)或軟件程序命令系統(tǒng)對內(nèi)存任一個相同的地址持續(xù)地重復(fù)“讀、讀、寫”多次(如256次或是由另一個大的數(shù)值取代)時便激活加/解密功能。
2、持續(xù)對該地址讀寫某一特定內(nèi)容型式(如該地址的內(nèi)容為10101010)時則激活加/解密程序。
3、在以上兩種情況下均發(fā)生時激活加/解密功能。
當激活特殊的加/解密功能,加密控制器52將所保持的設(shè)定結(jié)果去命令加密控制器52在先前設(shè)定的內(nèi)存地址區(qū)域?qū)λ械馁Y料進行加密或解密,值得注意的是,加/解密的工作不是由操作系統(tǒng)或軟件程序控制的,而是由硬件本身。此外,加密控制器52僅是一字符流加密器,加/解密不影響時序造成的延遲,可視為一實時運算,寫入之后立刻便可以讀取。
配合圖4所示的實施例來說,如果硬盤21要寫入資料至DRAM50,操作系統(tǒng)或軟件程序資料指到解密區(qū)域(如圖4的第1及第3解密區(qū)域A1、A3),也就是說資料從硬盤送出時為加密的,但在到達DRAM前會先完成解密,等待系統(tǒng)讀取使用。
相反,當系統(tǒng)要將資料寫入DRAM50時,操作系統(tǒng)或軟件程序會先將資料指到加密區(qū)域(如圖4的第2及第4加密區(qū)域A2、A4),也就是說資料從系統(tǒng)核心送出時未加密,但在到達DRAM50前已完成加密,再送回硬盤儲存。
在本發(fā)明中,使用者有權(quán)決定結(jié)束加密或解密,可以藉由對操作系統(tǒng)或軟件程序下命令,對加密緩存器56預(yù)設(shè)為控制加密/解密的位設(shè)定(disable),DRAM隨即轉(zhuǎn)變?yōu)橐话銉?nèi)存的使用功能。
本發(fā)明的方法可歸納出下列步驟(如圖5所示)a.操作系統(tǒng)或軟件程序決定內(nèi)存地址區(qū)段,并將其轉(zhuǎn)變?yōu)榧用芫彺嫫?6;b.設(shè)定選擇區(qū)域;c. 決定區(qū)域的起始地址及大??;d.決定執(zhí)行加密或解密作業(yè),例如在第2區(qū)域系由硬盤將資料傳送至DRAM50,再由DRA50傳送至CPU10,則第2區(qū)域A2將被決定為執(zhí)行解密作業(yè);e.將步驟a到d設(shè)定的結(jié)果儲存至加密緩存器56,并選擇運算法則(RSA、ECC);f.偵測特殊的加/解密功能程序是否激活(如對內(nèi)存任一個相同的地址持續(xù)地重復(fù)讀、讀、寫動作256次或更多次數(shù),或是該地址的內(nèi)容為某一特定的型式如10101010時,或是前述兩種情況均發(fā)生時);g.步驟f激活后,即對資料進行加密或解密,并將資料暫時存放在前述設(shè)定的加密或解密區(qū)域內(nèi),再將加密資料傳送至硬盤21儲存,或?qū)⒔饷苜Y料傳送至CPU10;h.對加密緩存器56預(yù)設(shè)為控制加密/解密程序的位元下達命令,以結(jié)束加密/解密動作;i.若步驟f未激活或是步驟h的終止設(shè)定,DRAM50將回復(fù)為一般功能的內(nèi)存使用。
綜上所述本發(fā)明具有如下優(yōu)點1、由于內(nèi)存的資料經(jīng)過加解密過程,非法入侵者無法直接侵入,藉以逼迫非法入侵者必須經(jīng)由正常的操作系統(tǒng)(OS)程序去擷取資料,而通過正常作業(yè)程序在現(xiàn)有的保密技術(shù)上,極易被查覺,因此本發(fā)明能確實保護內(nèi)存資料無法被破壞。
2、保密內(nèi)存與一般內(nèi)存針腳完全相同,可直接插設(shè)于主機板的插槽上,無需更換任何設(shè)備,即能增加現(xiàn)有計算機的保密能力。
本發(fā)明提供的加解密內(nèi)存及其控制方法,能透過內(nèi)存的讀寫使資料形成加密或解密資料,防止非法入侵者破解這些內(nèi)存位置資料,甚至是窈取整個外圍設(shè)備,提高計算機系統(tǒng)的安全性;對于傳統(tǒng)系統(tǒng)容易被拆除裝置窈取資料的缺點提出了有效的解決辦法。
權(quán)利要求
1.一種加解密內(nèi)存,其特征在于內(nèi)存包含有一加密控制器及閃存,該加密控制器系統(tǒng)受操作系統(tǒng)或額外的軟件程序所設(shè)定,將內(nèi)存劃分出加密區(qū)域,解密區(qū)域及控制加密/解密作業(yè)的激活與停止;該閃存系儲存獨一無二的加密鑰匙,及在設(shè)定加密/解密區(qū)域之后,系統(tǒng)產(chǎn)生的尋址訊息;前述的加密內(nèi)存系由加密/解密激活程序所激活,使外圍設(shè)備所送出的加密資料,到達內(nèi)存前會先完成解密并等待系統(tǒng)讀取使用,及系統(tǒng)寫入內(nèi)存的未加密資料,在到達內(nèi)存前已完成加密,送回外圍裝置儲存,以避免外圍設(shè)備被竊取、系統(tǒng)被侵入時泄露重要資料。
2.如權(quán)利要求1所述的加解密內(nèi)存,其特征在于該加密控制器系為字符流加密器或虛擬隨機數(shù)產(chǎn)生器,進行數(shù)據(jù)加密或解密。
3.如權(quán)利要求1所述的加解密內(nèi)存,其特征在于該加密/解密激活程序系于操作系統(tǒng)或軟件程序命令系統(tǒng)對內(nèi)存任一個相同的地址持續(xù)地重復(fù)讀、寫動作,則激活加密/解密程序。
4.如權(quán)利要求1所述的加解密內(nèi)存,其特征在于該加密/解密激活程序系于操作系統(tǒng)或軟件程序命令系統(tǒng)對前述任一地址的內(nèi)容持續(xù)讀/寫為某些特定型式時,則激活加密/解密程序。
5.如權(quán)利要求1所述的加解密內(nèi)存,其特征在于該加密/解密激活程序于操作系統(tǒng)或軟件程序命令系統(tǒng)對內(nèi)存任一個相同的地址持續(xù)地重復(fù)讀、寫動作,及操作系統(tǒng)或軟件程序命令系統(tǒng)對前述任一地址的內(nèi)容持續(xù)讀/寫為某些特定型式均發(fā)生時,則激活加密/解密程序。
6.如權(quán)利要求1所述的加解密內(nèi)存,其特征在于該加密緩存器設(shè)有一位,作為加密/解密程序的終止設(shè)定。
7.如權(quán)利要求1所述的加解密內(nèi)存,其特征在于該內(nèi)存系DRAM、SDRAM、SRAM等。
8.如權(quán)利要求1所述的加解密內(nèi)存,其特征在于該加密/解密程序有激活前或停止后,系作為一般功能的內(nèi)存。
9.一種如權(quán)利要求1所述的加解密內(nèi)存存取的控制方法,其特征在于該操作系統(tǒng)或軟件程序加密內(nèi)存的存取控制方法包括有下列步驟a.操作系統(tǒng)或軟件程序決定內(nèi)存地址區(qū)段,并將其轉(zhuǎn)變?yōu)榧用芫彺嫫?;b.設(shè)定選擇區(qū)域;c.決定區(qū)域的起始地址及大??;d.決定執(zhí)行加密或解密作業(yè);e.將步驟a到d設(shè)定的結(jié)果儲存至加密緩存器,并選擇運算法則;f.偵測特殊的加/解密功能程序是否激活;g.步驟f激活后,即對資料進行加密或解密,并將資料儲存在前述設(shè)定的加密或解密區(qū)域內(nèi),供系統(tǒng)或外圍設(shè)備存取。
10.如權(quán)利要求9所述的加解密內(nèi)存存取的控制方法,其特征在于該設(shè)定步驟e所指的運算法則是RSA、ECC等。
11.如權(quán)利要求9所述的加解密內(nèi)存存取的控制方法,其特征在于該設(shè)定步驟還包括有加密/解密程序終止步驟,是對加密緩存器預(yù)設(shè)為控制加密/解密程序的位元下達停止命令,以結(jié)束加密/解密動作。
全文摘要
本發(fā)明涉及一種加解密內(nèi)存及其存取控制方法,主要是在內(nèi)存(DRAM、SDRAM、SRAM等)中建構(gòu)一加密控制器,并利用預(yù)設(shè)定的特殊加解密激活程序激活加密控制器,在未激活前,加解密內(nèi)存的使用既猶如一般的內(nèi)存。激活后,資料將被加解密內(nèi)存進行加解密,并且設(shè)內(nèi)存的任一段儲存地址變更為暫存區(qū)域存加解密資料,透過內(nèi)存的讀寫,使資料形成加密或解密資料,供系統(tǒng)或外圍設(shè)備進行存取,進而防止非法入侵者破解這些內(nèi)存位置資料,甚至竊取走整個外圍設(shè)備,以提高計算機系統(tǒng)的安全性。
文檔編號G06F12/16GK1265494SQ00106000
公開日2000年9月6日 申請日期2000年4月24日 優(yōu)先權(quán)日2000年4月24日
發(fā)明者后健慈 申請人:后健慈