一種用戶數據加密方法及裝置製造方法
2023-05-31 09:11:36 2
一種用戶數據加密方法及裝置製造方法
【專利摘要】本發明實施例公開了一種用戶數據加密方法及裝置,方法包括:獲得待加密的用戶數據;利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據;利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組;將所述加密後的用戶數據上傳至伺服器存儲;將所述加密後的第一密鑰組保存在本地,並且刪除第一密鑰組。應用本發明實施例,即使黑客獲得了加密後的用戶數據和加密後的第一密鑰組,也不能通過加密後的第一密鑰組對加密後的用戶數據進行解密得到原始用戶數據,提高了用戶數據的解密難度,從而提高了用戶數據的安全性。
【專利說明】一種用戶數據加密方法及裝置
【技術領域】
[0001]本發明涉及計算機安全領域,特別涉及一種用戶數據加密方法及裝置。
【背景技術】
[0002]隨著網際網路的發展,用戶的各種購物網站、社交網絡、郵箱等的帳號和密碼的數據也越來越多,為了防止用戶的數據不易被竊取,保證數據的安全性,一種可靠的方法是:將用戶數據進行加密,將原來為明文的數據按照某種加密算法進行處理,使其成為一段無具體含義的代碼。
[0003]現有技術中,一種常用的數據加密方法是使用密鑰對用戶數據進行加密,將加密後的用戶數據上傳至伺服器,將密鑰保存在本地。
[0004]然而,上述的這種數據加密的方法,存在一個問題:如果伺服器被黑客攻擊,加密後的用戶數據可能會外洩,從而用戶的原始數據可能會被破解出來,安全性較低。
【發明內容】
[0005]本發明實施例的目的在於提供一種用戶數據加密方法及裝置,提高用戶數據的解密難度,從而提高用戶數據的安全性。
[0006]為達到上述目的,本發明實施例公開了一種用戶數據加密方法,包括:
[0007]獲得待加密的用戶數據;
[0008]利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據,其中所述第一密鑰組包含至少一個密鑰;
[0009]利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組,其中所述第二密鑰組包含至少一個密鑰;
[0010]將所述加密後的用戶數據上傳至伺服器存儲;
[0011]將所述加密後的第一密鑰組保存在本地,並且刪除第一密鑰組。
[0012]較佳的,所述利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據,包括:
[0013]利用第一密鑰組中的至少一個密鑰對所述用戶數據進行至少一次加密,得到加密後的用戶數據。
[0014]較佳的,所述利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組,包括:
[0015]利用第二密鑰組中的至少一個密鑰對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組。
[0016]較佳的,所述第二密鑰組和/或所述第一密鑰組是根據用戶輸入的字符生成的;和/或
[0017]是根據用戶設備的標識信息生成的。
[0018]為達到上述目的,本發明實施例公開了一種用戶數據加密裝置,包括:[0019]用戶數據獲得模塊,用於獲得待加密的用戶數據;
[0020]用戶數據加密模塊,用於利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據,其中第一密鑰組包含至少一個密鑰;
[0021]密鑰組加密模塊,用於利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組,其中第二密鑰組包含至少一個密鑰;
[0022]上傳模塊,用於將所述加密後的用戶數據上傳至伺服器存儲;
[0023]密鑰處理模塊,用於將所述加密後的第一密鑰組保存在本地,並且刪除第一密鑰組。
[0024]較佳的,所述用戶數據加密模塊,包括:
[0025]第一加密操作子模塊,用於利用第一密鑰組中的至少一個密鑰對所述用戶數據進行至少一次加密,得到加密後的用戶數據。
[0026]較佳的,所述密鑰組加密模塊,包括:
[0027]第二加密操作子模塊,用於利用第二密鑰組中的至少一個密鑰對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組。
[0028]較佳的,所述裝置還包括:
[0029]密鑰生成模塊,用於根據用戶輸入的字符生成所述第二密鑰組和/或所述第一密鑰組;和/或
[0030]用於根據用戶設備的標識信息生成所述第二密鑰組和/或所述第一密鑰組。
[0031]由上述的技術方案可見,本發明實施例提供了一種用戶數據加密方法及裝置,利用第一密鑰組將用戶數據進行加密,將第一密鑰組中的密鑰也進行加密,伺服器上保存加密後的用戶數據,而本地則保存加密後的第一密鑰組。欲將加密後的用戶數據解密為原始用戶數據,需將加密後的第一密鑰組進行解密,用解密後的第一密鑰組再對加密後的用戶數據進行解密。即使黑客獲得了加密後的用戶數據和加密後的第一密鑰組,也不能直接對加密後的用戶數據進行解密得到原始用戶數據,提高了用戶數據的解密難度,從而提高了用戶數據的安全性。
【專利附圖】
【附圖說明】
[0032]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0033]圖1為本發明實施例提供的一種用戶數據加密方法的流程示意圖;
[0034]圖2為本發明實施例提供的一種用戶數據加密方法中使用的九宮格鍵盤初始狀態圖;
[0035]圖3為用戶對九宮格進行畫線操作後狀態圖;
[0036]圖4為本發明實施例提供的第一種用戶數據加密裝置的結構示意圖;
[0037]圖5為本發明實施例提供的第二種用戶數據加密裝置的結構示意圖;
[0038]圖6為本發明實施例提供的第三種用戶數據加密裝置的結構示意圖;
[0039]圖7為本發明實施例提供的第四種用戶數據加密裝置的結構示意圖。【具體實施方式】
[0040]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0041 ] 下面通過具體實施例,對本發明進行詳細說明。
[0042]圖1為本發明實施例提供的一種用戶數據加密方法的流程示意圖,包括:
[0043]SlOl:獲得待加密的用戶數據;
[0044]示例性的,在本發明的實施例中,假設待加密的用戶數據為:password。
[0045]S102:利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據;
[0046]可選的,在本發明的實施例中,上述第一密鑰組可以包括一個或多個密鑰。
[0047]可選的,上述利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據可以包括:
[0048]利用第一密鑰組中的至少一個密鑰對所述用戶數據進行至少一次加密,得到加密後的用戶數據。
[0049]例如,假設在本發明的實施例中第一密鑰組中的一個密鑰為abc,可以先將password連接在abc之後,生成新字符串:abcpassword,再對abcpassword計算MD5值,結果為:243C7AA68F30E9DEE78B87FE48106F76,該結果即為加密後的用戶數據。
[0050]進一步可選,在實際應用中,還可以利用第一密鑰組中的多個密鑰對所述用戶數據進行多次加密,得到加密後的用戶數據。
[0051]下面以三次加密操作為例,進行詳細介紹:
[0052]進行第一次加密操作時,
[0053]先將用戶數據password連接在密鑰abc之後,形成第一字符串:abcpassword,再對第一字符串abcpassword計算MD5值,得到第一加密結果:243C7AA68F30E9DEE78B87FE48106F76 ;
[0054]進行第二次加密操作時,
[0055]先將密鑰xyz連接在上述第一字符串之後,形成第二字符串:243C7AA68F30E9DEE78B87FE48106F76xyz,再對第二字符串計算MD5值,得到第二加密結果:177A739780B74E2B85B0238F01242199 ;
[0056]進行第三次加密操作時,
[0057]先將密鑰XXX連接在上述第二加密結果之後,形成第三字符串177A739780B74E2B85B0238F01242199xxx,再將第三字符串進行倒序排列形成第四字符串:xxx99124210F8320B58B2E47B087937A771,對第四字符串計算MD5值,得到加密後的用戶數據:2D75607D62E8BE1118F08C6EE82506C2。
[0058]S103:利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組;
[0059]在本發明的實施例中,對第一密鑰組中的密鑰進行加密的方法與上述對用戶數據進行加密的方法類似。例如,可以將第一密鑰組中的某個/些密鑰視為待加密的字符串,將該待加密字符串連接在第二密鑰組中的某個密鑰之後生成新字符串,再對新字符串計算MD5值,得到加密後的第一密鑰組中的各個密鑰,從而得到加密後的第一密鑰組。
[0060]S104:將加密後的用戶數據上傳至伺服器存儲;
[0061]S105:將加密後的第一密鑰組保存在本地,並且刪除第一密鑰組。
[0062]在本發明的實施例中,利用第一密鑰組將所述用戶數據進行加密,將第一密鑰組也進行加密,伺服器上保存加密後的用戶數據,而本地則保存加密後的第一密鑰組。即使黑客獲得了加密後的用戶數據和加密後的第一密鑰組,也不能直接對加密後的用戶數據破解,提高了用戶數據的解密難度,從而提高了用戶數據的安全性。
[0063]可選的,在本發明的一個具體實現中,上述第二密鑰組和/或第一密鑰組的密鑰可以是用戶自定義的。
[0064]例如,可以將用戶直接輸入的字符串作為上述第二密鑰組和/或第一密鑰組的密鑰。在本發明的一種示例性的實施方式中,還提供一種利用用戶設備的屏幕上顯示的九宮格鍵盤獲取定義上述第二密鑰組和/或第一密鑰組的密鑰的方法,具體如下:
[0065]在用戶設備的屏幕上展現一個九宮格鍵盤的輸入界面,並提示用戶在該界面上執行滑動操作。
[0066]進一步根據用戶的操作軌跡,確定該軌跡所經過的按鍵序列,將該序列中每個按鍵所對應的字符進行連接,得到上述第二密鑰組和/或第一密鑰組中的密鑰。其中,每個按鍵所對應的字符可以是一個字符,例如九個按鍵分別對應數字I?9,也可以是多個字符,例如圖2所示,每個按鍵分別對應若干個英文字母,具體如下:
[0067]第一行第一列代表字符串qwer,
[0068]第一行第二列代表字符串tyui,
[0069]第一行第三列代表字符串opa,
[0070]第二行第一列代表字符串sdf,
[0071]第二行第二列代表字符串ghj,
[0072]第二行第三列代表字符串kl,
[0073]第三行第一列代表字符串zxc,
[0074]第三行第二列代表字符串vb,
[0075]第三行第三列代表字符串nm。
[0076]如圖3所示,根據用戶對九宮格進行的操作軌跡,依次提取軌跡中的每一個格子代表的字符,拼接成字符串:
[0077]qwertyuiopaklnmvbghj
[0078]該字符串可以直接作為上述第二密鑰組和/或第一密鑰組的密鑰,也可以進一步對字符串進行處理,得到上述第二密鑰組和/或第一密鑰組的密鑰,例如,對該字符串利用MD5加密算法進行加密,得到加密後的值F9D3869D8B15EF44686EE51475D7C9C8作為上述第
二密鑰組和/或第一密鑰組的密鑰。
[0079]上述利用九宮格鍵盤獲取上述第二密鑰組和/或第一密鑰組的密鑰的方案,可以應用於具有觸控螢幕的設備,用戶直接用手指滑動即可生成字符串。當然,也可以應用於具有普通屏幕的設備,用戶可以利用滑鼠輸入裝置模擬滑動操作,實現上述第二密鑰組和/或第一密鑰組的密鑰的生成。[0080]可選的,在本發明的又一種具體實現中,上述第二密鑰組和/或第一密鑰組的密鑰還可以根據用戶設備的標識信息來生成。
[0081]其中,上述用戶設備的標識信息可以為:硬碟序列號、CPU序列號、主板序列號和/或網卡地址等等。
[0082]例如:可以提取本地設備的網卡地址「54:FD:F5:A6:7B:CO」,將該網卡地址利用MD5加密算法進行加密,得到上述第二密鑰組和/或第一密鑰組的密鑰:
[0083]EF36B3733976A576169F7E7419B8BA02。
[0084]應用本發明的實施例,實現了密鑰和用戶設備的關聯,保證了用戶數據只在該設備上有效,提高了用戶數據的解密難度,從而提高了用戶數據的安全性。
[0085]需要說明的是,在本發明上述實施例中,都是以「MD5」為例進行說明,但這並不是唯一的方法,在實際應用中,任何可能的實現方式都可以應用於本申請中,例如對字符串計算shal值等。
[0086]圖4為本發明實施例提供的第一種用戶數據加密裝置的結構示意圖,與圖1所示的流程相對應,包括:用戶數據獲得模塊401、用戶數據加密模塊402、密鑰組加密模塊403、上傳模塊404、密鑰處理模塊405。其中,
[0087]用戶數據獲得模塊401,用於獲得待加密的用戶數據;
[0088]用戶數據加密模塊402,用於利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據,其中第一密鑰組包含至少一個密鑰;
[0089]密鑰組加密模塊403,用於利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組,其中第二密鑰組包含至少一個密鑰;
[0090]上傳模塊404,用於將所述加密後的用戶數據上傳至伺服器存儲;
[0091]密鑰處理模塊405,用於將所述加密後的第一密鑰組保存在本地,並且刪除第一密鑰組。
[0092]可選的,如圖5所示,本發明實施例中,上述用戶數據加密模塊402,可以包括:
[0093]第一加密操作子模塊4021,用於利用第一密鑰組中的至少一個密鑰對所述用戶數據進行至少一次加密,得到加密後的用戶數據。
[0094]可選的,如圖6所示,本發明實施例中,上述密鑰組加密模塊403,可以包括:
[0095]第二加密操作子模塊4031,用於利用第二密鑰組中的至少一個密鑰對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組。
[0096]可選的,如圖7所示,本發明的實施例中,上述用戶數據加密裝置還可以包括:
[0097]密鑰生成模塊4011,用於根據用戶輸入的字符生成所述第二密鑰組和/或所述第一密鑰組;和/或
[0098]用於根據用戶設備的標識信息生成所述第二密鑰組和/或所述第一密鑰組。
[0099]應用本發明的實施例,利用第一密鑰組將用戶數據進行加密,將第一密鑰組也進行加密,伺服器上保存加密後的用戶數據,而本地則保存加密後的第一密鑰組。即使黑客獲得了加密後的用戶數據和加密後的第一密鑰組,也不能直接對加密後的用戶數據破解,提高了用戶數據的解密難度,從而提高了用戶數據的安全性。
[0100]需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0101]本說明書中的各個實施例均採用相關的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0102]本領域普通技術人員可以理解實現上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機可讀取存儲介質中,這裡所稱得的存儲介質,如:R0M/RAM、磁碟、光碟等。
[0103]以上所述僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則 之內所作的任何修改、等同替換、改進等,均包含在本發明的保護範圍內。
【權利要求】
1.一種用戶數據加密方法,其特徵在於,所述方法包括: 獲得待加密的用戶數據; 利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據,其中所述第一密鑰組包含至少一個密鑰; 利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組,其中所述第二密鑰組包含至少一個密鑰; 將所述加密後的用戶數據上傳至伺服器存儲; 將所述加密後的第一密鑰組保存在本地,並且刪除第一密鑰組。
2.根據權利要求1所述的方法,其特徵在於,所述利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據,包括: 利用第一密鑰組中的至少一個密鑰對所述用戶數據進行至少一次加密,得到加密後的用戶數據。
3.根據權利要求1或2所述的方法,其特徵在於,所述利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組,包括: 利用第二密鑰組中的至少一個密鑰對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組。
4.根據權利要求1所述的方法,其特徵在於,所述第二密鑰組和/或所述第一密鑰組是根據用戶輸入的字符生成的;和/或 是根據用戶設備的標識信息生成的。
5.一種用戶數據加密裝置,其特徵在於,包括: 用戶數據獲得模塊,用於獲得待加密的用戶數據; 用戶數據加密模塊,用於利用第一密鑰組對所述用戶數據進行加密,得到加密後的用戶數據,其中第一密鑰組包含至少一個密鑰; 密鑰組加密模塊,用於利用第二密鑰組對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組,其中第二密鑰組包含至少一個密鑰; 上傳模塊,用於將所述加密後的用戶數據上傳至伺服器存儲; 密鑰處理模塊,用於將所述加密後的第一密鑰組保存在本地,並且刪除第一密鑰組。
6.根據權利要求5所述的裝置,其特徵在於,所述用戶數據加密模塊,包括: 第一加密操作子模塊,用於利用第一密鑰組中的至少一個密鑰對所述用戶數據進行至少一次加密,得到加密後的用戶數據。
7.根據權利要求5或6所述的裝置,其特徵在於,所述密鑰組加密模塊,包括: 第二加密操作子模塊,用於利用第二密鑰組中的至少一個密鑰對所述第一密鑰組中的密鑰進行加密,得到加密後的第一密鑰組。
8.根據權利要求5所述的裝置,其特徵在於,所述裝置還包括: 密鑰生成模塊,用於根據用戶輸入的字符生成所述第二密鑰組和/或所述第一密鑰組;和/或 用於根據用戶設備的標識信息生成所述第二密鑰組和/或所述第一密鑰組。
【文檔編號】H04L9/32GK103795547SQ201410066626
【公開日】2014年5月14日 申請日期:2014年2月26日 優先權日:2014年2月26日
【發明者】王哲, 傅盛, 孫明焱 申請人:北京金山網絡科技有限公司