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