安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法及系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明設及信息技術領域,尤其設及一種安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法及系 統(tǒng)。
【背景技術】
[0002] 目前的軟件中的各種數(shù)據(jù)都是W明文的形式存在內存中,該樣很容易被第=方通 過兩次查詢并對比就可W將對應數(shù)據(jù)的內存地址查詢出來,并修改。
[0003] 申請?zhí)枮?01210145812. 6的專利文件公開了一種安卓系統(tǒng)中內存數(shù)據(jù)的保護方 法,將多個密鑰存放在遠程服務器上,訪問接口從遠程服務器獲取AES加密密鑰和RSA簽名 密鑰,使用AES算法對內存數(shù)據(jù)進行加密,使用RSA簽名算法來校驗加密后的數(shù)據(jù),而相關 的解密密鑰存放在遠程服務器中。
[0004] 然而,上述方案采用固定的加密算法對內存數(shù)據(jù)進行加密,加密算法很容易被破 解,而且一旦破解,就需要更新所有的客戶端,否則內存數(shù)據(jù)將面臨泄露的危險。
【發(fā)明內容】
[0005] 本發(fā)明所要解決的技術問題是;如何對數(shù)據(jù)進行安全存儲和安全訪問。
[0006] 為了解決上述技術問題,本發(fā)明采用的技術方案為:
[0007] 一種安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法,包括存儲數(shù)據(jù)和訪問數(shù)據(jù);
[000引存儲數(shù)據(jù)包括:
[0009] 客戶端獲取需要安全存儲的數(shù)據(jù)W及從服務器獲取包括至少一種加密算法的可 執(zhí)行文件;
[0010] 服務器從可執(zhí)行文件中選取一種加密算法,客戶端根據(jù)該加密算法將需要安全存 儲的數(shù)據(jù)進行加密存儲;
[0011] 訪問數(shù)據(jù)包括:
[0012] 客戶端獲取加密存儲的數(shù)據(jù)W及與存儲數(shù)據(jù)時選取的加密算法對應的解密算 法;
[0013] 客戶端根據(jù)該解密算法將加密存儲的數(shù)據(jù)解密成相應的數(shù)據(jù)類型。
[0014] 上述安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法的有益效果在于;通過從服務器獲取包括 至少一種加密算法的可執(zhí)行文件,從而獲取至少一種加密算法,由于可執(zhí)行的加密算法有 多種,服務器選擇可執(zhí)行文件中的一種加密算法,客戶端根據(jù)該加密算法對需要安全存儲 的數(shù)據(jù)加密保存,從而防止需要安全存儲的數(shù)據(jù)W明文形式存儲而被泄露;訪問時客戶端 獲取加密存儲的數(shù)據(jù)W及與存儲數(shù)據(jù)時選取的加密算法對應的解密算法,并根據(jù)該解密算 法將加密存儲的數(shù)據(jù)解密成相應的數(shù)據(jù)類型,從而將加密的數(shù)據(jù)還原成未加密時的數(shù)據(jù)類 型,方便用戶查看和使用。
[0015] 一種安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的系統(tǒng),包括;客戶端W及服務器;所述服務器用 于存儲至少一個包括至少一種加密算法的可執(zhí)行文件,并從客戶端獲取的可執(zhí)行文件中為 客戶端的選擇一種加密算法;
[0016] 所述客戶端包括:
[0017] 第一獲取模塊,用于獲取需要安全存儲的數(shù)據(jù)W及從服務器獲取包括至少一種加 密算法的可執(zhí)行文件;
[0018] 加密模塊,用于根據(jù)服務器為客戶端選取的加密算法將需要安全存儲的數(shù)據(jù)進行 加密存儲;
[0019] 第二獲取模塊,用于獲取加密存儲的數(shù)據(jù)W及與存儲數(shù)據(jù)時選取的加密算法對應 的解密算法;
[0020] 解密模塊,用于根據(jù)該解密算法將加密存儲的數(shù)據(jù)解密成相應的數(shù)據(jù)類型。
[0021] 上述安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的系統(tǒng)的有益效果在于;服務器存儲至少一個包括 至少一種加密算法的可執(zhí)行文件,從而客戶端需要使用加密算法時從服務器獲取即可;客 戶端的第一獲取模塊從服務器獲取可執(zhí)行文件,從而獲取至少一種加密算法;服務器再從 第一獲取模塊獲取的可執(zhí)行文件中指定一種加密算法給客戶端使用;加密模塊則根據(jù)服務 器指定的加密算法對需要安全存儲的數(shù)據(jù)進行加密,從而有效防止數(shù)據(jù)泄露;第二獲取模 塊獲取加密存儲的數(shù)據(jù)和對應的解密算法,解密模塊根據(jù)該解密算法將加密存儲的數(shù)據(jù)解 密,從而將加密的數(shù)據(jù)還原成用戶方便使用的未加密時的數(shù)據(jù)類型。
【附圖說明】
[0022] 圖1為本發(fā)明實施例一安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法流程圖;
[0023] 圖2為本發(fā)明實施例二安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的系統(tǒng)結構圖。
[0024] 標號說明:
[0025] 1、服務器;2、客戶端;21、第一獲取模塊;22、加密模塊;23、第二獲取模塊;24、解 密模塊;25、第一轉換模塊;26、第二轉換模塊;27、第=轉換模塊;28、第四轉換模塊。
【具體實施方式】
[0026] 為詳細說明本發(fā)明的技術內容、所實現(xiàn)目的及效果,W下結合實施方式并配合附 圖予W說明。
[0027] 本發(fā)明最關鍵的構思在于:從服務器中獲取包括至少一種加密算法的可執(zhí)行文 件;并從可執(zhí)行文件中選擇一種加密算法對需要安全存儲的數(shù)據(jù)進行加密。
[002引本發(fā)明設及的技術術語解釋:
[0029]
[0030] 請參照圖1,
[0031] 一種安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法,包括存儲數(shù)據(jù)和訪問數(shù)據(jù);
[0032] 存儲數(shù)據(jù)包括:
[0033] S11、客戶端獲取需要安全存儲的數(shù)據(jù)W及從服務器獲取包括至少一種加密算法 的可執(zhí)行文件;
[0034] S12、服務器從可執(zhí)行文件中選取一種加密算法,客戶端根據(jù)該加密算法將需要安 全存儲的數(shù)據(jù)進行加密存儲;
[00對訪問數(shù)據(jù)包括:
[0036] S21、客戶端獲取加密存儲的數(shù)據(jù)W及與存儲數(shù)據(jù)時選取的加密算法對應的解密 算法;
[0037] S22、客戶端根據(jù)該解密算法將加密存儲的數(shù)據(jù)解密成相應的數(shù)據(jù)類型。
[003引上述安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法的有益效果在于;通過從服務器獲取包括 至少一種加密算法的可執(zhí)行文件,從而獲取至少一種加密算法,由于可執(zhí)行的加密算法有 多種,服務器選擇可執(zhí)行文件中的一種加密算法,客戶端根據(jù)該加密算法對需要安全存儲 的數(shù)據(jù)加密保存,從而防止需要安全存儲的數(shù)據(jù)W明文形式存儲而被泄露;訪問時客戶端 獲取加密存儲的數(shù)據(jù)W及與存儲數(shù)據(jù)時選取的加密算法對應的解密算法,并根據(jù)該解密算 法將加密存儲的數(shù)據(jù)解密成相應的數(shù)據(jù)類型,從而將加密的數(shù)據(jù)還原成未加密時的數(shù)據(jù)類 型,方便用戶查看和使用。
[0039] 進一步的,所述安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的方法還包括,客戶端檢測到加密算法 被破解時,從服務器重新獲取新的包括至少一種加密算法的可執(zhí)行文件,服務器重新的可 執(zhí)行文件中選取一種加密算法,客戶端根據(jù)該加密算法對需要安全存儲的數(shù)據(jù)進行加密存 儲。
[0040] 從上述描述可知,當加密算法被破解時,客戶端從服務器重新下載可執(zhí)行文件,選 擇新的加密算法對需要安全存儲的數(shù)據(jù)進行加密,則破解失效,有效防止了第S方軟件破 解加密數(shù)據(jù)。
[0041] 進一步的,所述客戶端從服務器獲取加密算法的同時獲取相對應的解密算法,解 密時客戶端從內存中獲取與存儲數(shù)據(jù)時選取的加密算法對應的解密算法。
[0042] 從上述描述可知,加密時即獲取相應的解密算法,解密時則無需再與服務器連接, 減少了通信,保證實現(xiàn)內存實時解密出來,從而相應的程序能夠實時獲取正確的數(shù)據(jù);增加 程序的健壯性,防止因為網(wǎng)絡不通帶來的解密錯誤。
[0043] 進一步的,所述"獲取需要安全存儲的數(shù)據(jù)W及從服務器獲取包括至少一種加密 算法的可執(zhí)行文件"具體為:客戶端從服務器上獲取加密后的動態(tài)鏈接庫,將動態(tài)鏈接庫解 密成可執(zhí)行文件,并將可執(zhí)行文件加載至客戶端的指定程序中;所述可執(zhí)行文件包括至少 一種加密算法。
[0044] 進一步的,所述"客戶端根據(jù)該加密算法將需要安全存儲的數(shù)據(jù)進行加密存儲"具 體為:
[0045] 客戶端將需要安全存儲的數(shù)據(jù)轉換為字符串,并將所述字符串轉換成二進制的數(shù) 組;
[0046] 客戶端將二進制的數(shù)組根據(jù)加載到指定程序的加密算法進行加密并保存。
[0047] 進一步的,所述"客戶端根據(jù)該解密算法將加密存儲的數(shù)據(jù)解密成相應的數(shù)據(jù)類 型"具體為:
[0048] 客戶端根據(jù)解密算法將加密存儲的數(shù)據(jù)解密成二進制的數(shù)組;
[0049] 客戶端將二進制數(shù)組轉化為字符串,并將字符串轉化為未加密時的數(shù)據(jù)類型。
[0化0] 從上述描述可知,通過數(shù)據(jù)類型轉換,可W對不同數(shù)據(jù)類型的數(shù)據(jù)進行安全存儲, 并將加密的數(shù)據(jù)還原成相應的數(shù)據(jù)類型。
[0化1] 請參照圖2,
[0化2] -種安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的系統(tǒng),包括;客戶端2W及服務器1 ;所述服務器 1用于存儲至少一個包括至少一種加密算法的可執(zhí)行文件,并從客戶端2獲取的可執(zhí)行文 件中為客戶端2的選擇一種加密算法;
[0化3] 所述客戶端2包括;
[0化4] 第一獲取模塊21,用于獲取需要安全存儲的數(shù)據(jù)W及從服務器1獲取包括至少一 種加密算法的可執(zhí)行文件;
[0055] 加密模塊22,用于根據(jù)服務器1為客戶端2選取的加密算法將需要安全存儲的數(shù) 據(jù)進行加密存儲;
[0056] 第二獲取模塊23,用于獲取加密存儲的數(shù)據(jù)W及與存儲數(shù)據(jù)時選取的加密算法對 應的解密算法;
[0057] 解密模塊24,用于根據(jù)該解密算法將加密存儲的數(shù)據(jù)解密成相應的數(shù)據(jù)類型。
[0化引上述安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的系統(tǒng)的有益效果在于;服務器1存儲至少一個包 括至少一種加密算法的可執(zhí)行文件,從而客戶端2需要使用加密算法時從服務器1獲取即 可;客戶端2的第一獲取模塊21從服務器1獲取可執(zhí)行文件,從而獲取至少一種加密算法; 服務器1再從第一獲取模塊21獲取的可執(zhí)行文件中指定一種加密算法給客戶端2使用;加 密模塊22則根據(jù)服務器1指定的加密算法對需要安全存儲的數(shù)據(jù)進行加密,從而有效防止 數(shù)據(jù)泄露;第二獲取模塊23獲取加密存儲的數(shù)據(jù)和對應的解密算法,解密模塊24根據(jù)該解 密算法將加密存儲的數(shù)據(jù)解密,從而將加密的數(shù)據(jù)還原成用戶方便使用的未加密時的數(shù)據(jù) 類型。
[0化9] 進一步的,所述安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的系統(tǒng)還包括:
[0060] 檢測模塊,用于檢測加密算法是否被破解;
[0061] 第=獲取模塊,用于從服務器重新獲取新的包括至少一種加密算法的可執(zhí)行文 件。
[0062] 從上述描述可知,當加密算法被破解時,客戶端2從服務器1重新下載可執(zhí)行文 件,選擇新的加密算法對需要安全存儲的數(shù)據(jù)進行加密,則破解失效,有效防止了第S方軟 件破解加密數(shù)據(jù)。
[0063] 進一步的,所述安全存儲數(shù)據(jù)和訪問數(shù)據(jù)的系統(tǒng)還包