專利名稱:于兩裝置間保護數據存取的方法及系統的制作方法
技術領域:
本發明是關于一種于兩裝置間保護數據存取的方法及系統,尤指一種用以保護密碼產生的方法及系統。
背景技術:
數據安全在目前是一個相當重要的課題,其用以保護數據以防止未經授權的存取,進而確保個人或敏感數據的隱私。一種簡單保護數據的方法是利用密碼將數據上鎖。舉例來說,使用者可操作移動裝置以執行一應用程序,進而將敏感文件壓縮,并利用使用者決定的密碼將文件上鎖,如此,上鎖的文件可以安全地被存儲及保護于存儲卡中。然而,密碼有時容易被破解,或者當密碼太復雜時,使用者容易忘記密碼。因此,提供可安全且有效率地保護密碼的保護機制,對使用者而言非常有幫助。
發明內容
本發明的一實施例提供一種于兩裝置間保護數據存取的方法。該方法包含:擷取第一電子裝置及存儲裝置的獨特信息;根據獨特信息產生加密鑰匙;產生用以保護數據文件的密碼串;根據加密鑰匙將密碼串加密;及將數據文件上鎖并和加密的密碼串一起存儲于存儲裝置。本發明的另一實施例提供一種數據安全系統。該數據安全系統包含一處理單元,用以處理數據文件,該處理單元包含鑰匙產生器,用以根據對應于存儲裝置及處理單元的獨特信息產生加密鑰匙;及一密碼產生器,用以根據加密鑰匙產生加密的密碼串;及一存儲單元,用以存儲數據文件及加密的密碼串。本發明的另 一實施例提供一種保護數據存取的方法,包含由處理單元接收一請求以存取存儲于一存儲單元的被保護的數據文件;分別擷取對應于處理單元及存儲單元的獨特信息;根據獨特信息產生一解密鑰匙;根據解密鑰匙解鎖被保護的數據文件;及根據解鎖結果允許存取被保護的數據文件。
圖1為本發明實施例于電子裝置產生安全密碼的不意圖。圖2為說明本發明實施例產生安全密碼的示意圖。圖3為說明本發明產生安全密碼的實施例的示意圖。圖4說明本發明實施例保護數據存取的方法的示意圖。圖5說明本發明另一實施例保護數據存取的方法的示意圖。圖6為說明本發明實施例從加密的密碼串擷取密碼的示意圖。圖7說明本發明另一實施例保護數據存取的方法的示意圖。[主要元件標號說明]100電子裝置110處理單元
112鑰匙產生器 113密碼產生器114第一識別數據 120存儲單元124第二識別數據 130數據文件140加密的密碼串 142鑰匙144密碼146數據串148密碼串240加密的密碼串242鑰匙244密碼248 密碼串S410-S460, S510-S560, S710-S750 步驟
具體實施例方式本發明揭露一種利用獨特信息于兩裝置間保護數據存取的方法及系統。為了保護數據文件,可經由隨機方式產生 密碼,并根據一鑰匙進行加密。該鑰匙是從兩裝置的獨特信息推導而來,且可以避免密碼被未經認證的裝置解密。數據文件可以被密碼上鎖并和加密的密碼存儲在一起。為了存取上鎖的數據文件,加密的密碼必須先被解密以提供保護機制。請參考圖1,圖1為本發明一實施例的于一電子裝置產生安全密碼的示意圖。在本實施例中,除了其它元件,電子裝置100包含處理單元110及存儲單元120。處理單元110用以處理數據文件130,且至少包含一鑰匙產生器112及一密碼產生器113。處理單元110用以在傳送及/或存儲數據文件130于存儲單元120或其它存儲裝置之前,利用安全密碼保護數據文件130來處理數據文件130。處理單元110的鑰匙產生器112用以根據處理單元110及/或存儲單元120的某些獨特信息來產生用以加密一密碼的鑰匙,該存儲單元為數據文件所要存儲之處(例如在本實施例中存儲于存儲單元120)。密碼產生器113可接收鑰匙產生器112產生的鑰匙,并用以根據鑰匙產生與數據文件130相關的安全密碼140。安全密碼140及被密碼鎖住的數據文件130之后被傳送并存儲于存儲單元120。在本發明的一實施例中,數據文件130可被進一步壓縮后再存儲。處理單元110可還包含一數據存取接口單元(未圖式)用以接收存取數據文件的請求。處理單元110可以是中央處理單元、應用處理器、專用處理器及/或其它相似裝置。存儲單元120可以是內部存儲單元,例如嵌入式多媒體卡(embedded multimediacard, eMMC) ,SATA硬盤、PCIE硬盤、閃存及/或其它存儲器。存儲單元120亦可以是電子裝置100的外部存儲單元,例如安全數字(secure digital, SD)存儲卡、微型安全數字(microSD)存儲卡、通用串行端口(universal serial bus,USB)存儲器、只讀存儲器或任何合適的外部存儲器。再者,存儲單元120可支持電子裝置100的熱插拔功能。若欲從存儲單元120存取數據文件130,安全密碼140必須先被驗證。接下來請參考圖2及圖3,其為說明本發明一實施例產生安全密碼的示意圖。在傳送上鎖的數據文件130至存儲單元120之前,處理單元110根據對應于處理單元110及存儲單元120的獨特信息產生一安全密碼。如圖2的實施例所示,獨特信息可以是處理單元110及存儲單元120的識別數據114、124。識別數據可以是,舉例來說,裝置序列碼、國際移動設備識別(international mobile equipment identity, I ME I)碼、媒體存取控制地址(MAC address)及/或其它類似信息。處理單元110可擷取及/或存儲對應于存儲單元120的第二識別數據124。之后處理單元110的第一識別數據114和第二識別數據124 —起被處理,以根據一預定算法產生鑰匙142。鑰匙142可以藉由字串組合及/或雜湊(hash)計算來產生。在本發明的實施例中,此預定算法可以是一邏輯運算,例如XOR運算。邏輯運算的結果可進一步藉由雜湊計算(例如SHA256算法)以產生鑰匙142。圖2的流程可由圖1的鑰匙產生器112執行。當產生鑰匙142之后,鑰匙142可進一步用以產生安全密碼,例如一加密的密碼串。請再參考圖3,密碼144可以由一硬件或軟件產生器隨機地產生。密碼144再和一數據串146—起經過處理,以根據一第一算法產生密碼串148。數據串146亦可以由硬件或軟件產生器隨機地產生。為了提供較佳的保護,密碼144可被分散于數據串146中,以將密碼144隱藏起來。在本發明的一實施例中,數據串146的長度(位數目)是較密碼144長,例如密碼144是32字節,而數據串146是1024字節。在本發明的一實施例中,密碼串148可以由混合密碼144及數據串146來產生。舉例來說,密碼144的每一位或字節可以分散至數據串146的每一預定位/字節的間隔,例如密碼144的第一字節可以插入數據串146的第32及33字節之間,密碼144的第二字節可以插入數據串146的第64及65字節之間,以此類推。在本發明另一實施例中,密碼串148可以是將密碼144的每一位/字節依照某一預定順序分別取代數據串146的特定位/字節而產生。舉例來說,數據串146的第一字節被密碼144的第一字節取代,數據串146的第33字節被密碼144的第二字節取代,以此類推。密碼串148之后根據一第二算法被鑰匙142加密以產生加密的密碼串140。第二算法可以是任何合適的算法,例如SHA265算法。依據上述實施例,圖4繪示本發明一實施例的保護數據存取的方法的示意圖。為了保護即將存儲或已存儲于存儲裝置的數據文件,可根據某些安全信息來產生安全密碼,此安全信息只能由特定的裝置所取得,而數據文件可以利用密碼來上鎖。獨特信息可以是識別信息,例如裝置序列碼、國際移動設備識別碼及/或媒體存取控制地址等。在本方法中,對應于用以處理數據文件的電子裝置及用以存儲數據文件的存儲裝置的獨特信息是在步驟S410中被擷取。在步驟S420中,加密鑰匙是根據獨特信息產生,同時用以保護數據文件的密碼串是于步驟S430產生。密碼串可以是隨機產生及/或進一步經由一預定算法處理。在步驟S440中,密碼串根據另一預定算法被加密鑰匙加密。之后,在步驟S450中,數據文件被上鎖并和加密的密碼串一起存儲于存儲裝置中。存儲裝置中可以是電子裝置的內部或外部存儲裝置。之后,在步驟S460中,為了響應請求裝置用來存取文件的請求,加密的密碼串被解密以解鎖數據文件。若加密的密碼串被成功解密,請求裝置可存取或解鎖數據文件。若加密的密碼串無法被解密,則請求裝置無法存取或解鎖數據文件。在本發明另一實施例中,若數據文件已于存儲時事先被壓縮,數據文件可進一步被解壓縮。圖5說明本發明另一實施例保護數據存取的方法的示意圖。本方法可以應用于一電子裝置,例如圖1中的電子裝置100。電子裝置除了其它元件外,包含一處理單元,且電性連接于一存儲單元。存儲單元可以是電子裝置的內部或外部存儲裝置。處理單元用以存取存儲單元的數據。在步驟S510中,對應于處理單元及存儲單元的識別信息被處理單元擷取出來。識別信息是用來于步驟S520中產生加密鑰匙。加密鑰匙可經由預定算法產生,例如SHA算法。之后,處理單元分別于步驟S530及步驟S540中產生密碼及數據串。密碼及數據串可以由硬件或軟件產生器產生。再者,數據串的長度可以大于密碼的長度。在本發明的一實施例中,數據串長度可以比密碼長度長N倍,N是整數。在步驟S550中,密碼被分散于數據串中以產生密碼串。密碼的位/字節可依據預定順序取代數據串146的特定位/字節。舉例來說,數據串的第M/N位(組)被密碼的第N位(組)取代,其中M是數據串的長度,而N是密碼的長度。密碼串于步驟S560中被加密鑰匙加密,以產生一加密的鑰匙串用以于處理單元存取數據文件及存儲單元存儲數據文件時保護數據文件。密碼串可以根據已知的預定算法被加密。請參考圖6,并一并參考圖1,數據文件130及加密的密碼串140 —起存儲于存儲單元120中。為了響應要求存取數據文件130的請求,加密的密碼串140需要被解密以解鎖數據文件130,否則數據文件130無法被存取。圖6示意本發明一實施例的解密加密的密碼串示意圖。加密的密碼串240根據一第三算法被鑰匙242解密。如上所述,加密的密碼串240是根據對應于處理數據文件130的處理單元及存儲單元的獨特信息所產生。在圖1的實施例中,加密的密碼串是根據處理單元110及存儲單元120的識別數據所產生。因此,用以解密加密的密碼串的鑰匙必須和用以加密此加密的密碼串240的鑰匙匹配。也就是說只有具有識別信息114及124的處理單元能產生鑰匙242。相似地,用以解密加密的密碼串的第三算法是和用以加密此加密的密碼串的第二算法匹配,且是由經過認證的處理單元所擁有。為了推導出密碼244,加密的密碼串240利用鑰匙242經由第三算法處理以產生一密碼串248。密碼串248進一步經由第四算法處理以產生最終的密碼244。相似地,第四算法是和第一算法匹配。在本發明的一實施例中,識別信息及加解密算法只被用以處理數據文件130的處理單元所擁有。在這種情況下,沒有其它處理單元或裝置可以解鎖數據文件130,因為其它處理單元或裝置的識別信息無法和處理單元的第一識別數據吻合。若解密的密碼244和圖3的密碼144吻合,數據文件130可以成功地被解鎖。若無法吻合,代表嘗試要存取數據文件的裝置不是電子裝置100,因此數據文件130仍然被鎖住。舉例來說,電子裝置100是一話機,處理單元110是一應用處理器,且存儲單元是一安全數字存儲卡。數據文件130是被應用處理器產生的密碼144上鎖,并存儲于其它裝置無法存取的安全數字存儲卡。因此,即使安全數字存儲卡遺失了,話機的主人無須擔心數據文件被其它人存取,因為數據文件只能被原本話機解鎖。圖7說明本發明另一實施例的保護數據存取的方法的示意圖。在步驟S710中,處理單元接收一請求以存取存儲于存儲單元的被保護的數據文件。被保護的數據文件是由一加密的密碼所保護。為了解鎖被保護的數據文件,步驟S720分別擷取對應于處理單元及存儲單元的獨特信息。獨特信息可以是識別數據,例如裝置序列碼、國際移動設備識別碼、媒體存取控制地址及/或其它適合信息。之后一解密鑰匙于步驟S730中根據獨特信息產生。解密鑰匙可以利用預定算法處理識別信息所產生。在本發明的一實施例中,解密鑰匙可如圖2的流程所產生。在步驟S740中,被保護的數據文件根據解密鑰匙被解鎖。在本發明的一實施例中,加密的密碼串可如圖6的流程被解密,且解密的密碼244可用以解鎖被保護的數據文件。之后在步驟S750中,可根據解鎖結果判斷是否允許存取被保護的數據文件。當解鎖失敗時,被保護的數據文件維持上鎖以防止被存取。相較于先前技術,本發明提供一種保護密碼的方法。密碼可以由隨機方式產生,并進一步隱藏于加密的隨機數據串中,因此密碼不容易被破解。再者,當存儲單元連接至原本的電子裝置時,密碼可以自動地得到,而被保護的數據文件,例如上鎖的數據文件,在存儲單元連接至其它的電子裝置時無法被存取。以上所述僅為本發明的較佳實施例,凡依本發明權利要求范圍所做的均等變化與修飾,皆應屬本發明的涵蓋范圍。
權利要求
1.一種于兩裝置間保護數據存取的方法,包含: 擷取對應于一第一電子裝置與一存儲裝置的獨特信息; 根據該獨特信息產生一加密鑰匙; 產生一密碼串用以保護一數據文件; 根據該加密鑰匙將該密碼串加密;及 將該數據文件上鎖并和該加密的密碼串一起存儲于該存儲裝置。
2.根據權利要求1所述的方法,還包含于該第一電子裝置中執行該擷取、產生及加密的步驟。
3.根據權利要求1所述的方法,還包含: 相應于一請求裝置對于存取該數據文件的一請求,解鎖被該密碼串保護的該數據文件。
4.根據權利要求3所述的方法,其中該解鎖的步驟還包含: 根據對應于該請求裝置及該存儲裝置的獨特信息產生一解密鑰匙; 根據該解密鑰匙解密該加密的密碼串以得到一解密密碼;及 驗證該解密密碼以解鎖該數據文件。
5.根據權利要求1所述的方法,其中該加密該密碼串的步驟還包含:` 隨機產生一數據串 '及 根據一預定算法將一密碼分散于該數據串以形成該密碼串。
6.根據權利要求1所述的方法,還包含: 根據該密碼串的至少部分位壓縮該數據文件。
7.一種數據安全系統,包含: 一處理單元,用以處理一數據文件,該處理單元包含: 一鑰匙產生器,用以根據對應于該存儲裝置及該處理單元的獨特信息產生一加密鑰匙;及 一密碼產生器,用以根據該加密鑰匙產生一加密的密碼串;及 一存儲單元,用以存儲該數據文件及該加密的密碼串。
8.根據權利要求7所述的數據安全系統,其中該密碼產生器還進一步用來產生一密碼串,及根據該加密鑰匙加密該密碼串以產生該加密的密碼串。
9.根據權利要求8所述的數據安全系統,其中該密碼串是根據一預定算法從一密碼及一數據串產生。
10.根據權利要求9所述的數據安全系統,其中該密碼及該數據串是隨機產生,且該預定算法是一分散算法。
11.根據權利要求7所述的數據安全系統,其中該處理單元是一移動裝置,且該存儲單元是下列其中之一:該移動裝置的內部存儲裝置、連接于該移動裝置的外部存儲裝置、安全數字存儲卡、微型安全數字存儲卡;及其中該獨特信息是從下列其中之一選取:識別碼、序列碼、國際移動設備識別碼、媒體存取控制地址。
12.根據權利要求7所述的數據安全系統,其中該處理單元還進一步用來在存儲該數據文件于該存儲單元之前壓縮該數據文件。
13.根據權利要求7所述的數據安全系統,其中該處理單元還包含一數據存取接口單元,用來接收一請求以存取該數據文件。
14.根據權利要求13所述的數據安全系統,其中該處理單元還進一步用來根據對應于該存儲裝置及該處理單元的獨特信息解密該加密的密碼串。
15.一種保護數據存取的方法,包含: 一處理單元接收請求以存取存儲于一存儲單元的一被保護的數據文件; 分別擷取對應于該處理單元及該存儲單元的獨特信息; 根據該獨特信息產生一解密鑰匙; 根據該解密鑰匙解鎖該被保護的數據文件;及 根據該解鎖結果允許存取該被保護的數據文件。
16.根據權利要求15所述的方法,其中該解鎖該被保護的數據文件的步驟還包含解壓縮該被保護的數據文件。
17.根據權利要求15所述的方法,其中該解鎖該被保護的數據文件的步驟還包含: 根據該解密鑰匙解鎖和該被保護的數據文件存儲在一起的一密碼串; 根據一預定算法從該解密的密碼串產生一密碼;及 驗證該密碼以存取該被保護的數據文件。
18.根據權利要求17所述的方法,其中該密碼驗證成功時,允許該處理單元存取該被保護的數據文件。
19.根據權利要求17所述的方法 ,其中該密碼驗證失敗時,上鎖該被保護的數據文件以防止被存取。
全文摘要
本發明提供一種于兩裝置間保護數據存取的方法。該方法包含擷取第一電子裝置及存儲裝置的獨特信息;根據獨特信息產生加密鑰匙;產生用以保護一數據文件的密碼串;根據加密鑰匙將密碼串加密;及將數據文件上鎖并和加密的密碼串一起存儲于存儲裝置。
文檔編號G06F21/62GK103177223SQ201210511130
公開日2013年6月26日 申請日期2012年12月3日 優先權日2011年12月1日
發明者冼召中 申請人:宏達國際電子股份有限公司