本發(fā)明涉及安全技術(shù)領(lǐng)域,具體地,涉及一種數(shù)據(jù)加密及解密的方法和裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)服務(wù)提供商可提供云存儲(chǔ)的服務(wù)。用戶可以將數(shù)據(jù)存儲(chǔ)到云盤(pán)中。例如,用戶可將照片、視頻等數(shù)據(jù)存儲(chǔ)到云盤(pán)進(jìn)行備份。由于云盤(pán)中存儲(chǔ)的數(shù)據(jù)多為用戶的個(gè)人數(shù)據(jù),因此需要提供一種技術(shù)方案能夠?qū)τ脩舸鎯?chǔ)在云盤(pán)中的數(shù)據(jù)進(jìn)行保密,放置用戶存儲(chǔ)的數(shù)據(jù)被泄露。
現(xiàn)有技術(shù)中,由網(wǎng)絡(luò)服務(wù)提供商對(duì)云盤(pán)中存儲(chǔ)的數(shù)據(jù)進(jìn)行安全保密處理。例如,由網(wǎng)絡(luò)服務(wù)提供商對(duì)云盤(pán)中存儲(chǔ)的數(shù)據(jù)進(jìn)行加密。此技術(shù)方案的問(wèn)題在于,云盤(pán)中存儲(chǔ)的數(shù)據(jù)的安全性依賴于網(wǎng)絡(luò)服務(wù)提供商所采用的安全防御措施。如果網(wǎng)絡(luò)服務(wù)提供商所采用的安全防御措施出現(xiàn)漏洞被惡意攻擊,則云盤(pán)存儲(chǔ)的用戶數(shù)據(jù)可能會(huì)被泄露。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種數(shù)據(jù)加密及解密的方法和裝置,能夠解決上述技術(shù)問(wèn)題,至少能夠部分地解決上述技術(shù)問(wèn)題。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供一種數(shù)據(jù)加密的方法,該方法包括:從連接的終端設(shè)備接收將要上傳到云盤(pán)的數(shù)據(jù);使用密鑰對(duì)接收的數(shù)據(jù)進(jìn)行加密,將生成的密文進(jìn)行分段,使用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表對(duì)分段數(shù)據(jù)進(jìn)行混淆,生成混淆密文;將混淆密文返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。
優(yōu)選地,所述方法還包括:生成隨機(jī)因子,根據(jù)所述隨機(jī)因子獲得所述數(shù)據(jù)映射表;使用密鑰對(duì)隨機(jī)因子進(jìn)行加密,生成加密的隨機(jī)因子;所述將混淆密文返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)包括:將混淆密文和加密的隨機(jī)因子返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文和所述加密的隨機(jī)因子發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。
優(yōu)選地,所述方法還包括:當(dāng)所述密鑰的存在時(shí)長(zhǎng)超過(guò)有效期時(shí),將所述密鑰更新為新密鑰;通過(guò)連接的終端設(shè)備重新獲得已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù);使用新密鑰對(duì)已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù)進(jìn)行加密,使用數(shù)據(jù)映射表對(duì)加密后密文進(jìn)行混淆,生成新的混淆密文;通過(guò)終端設(shè)備將新的混淆密文上傳到云盤(pán)。
根據(jù)本發(fā)明的一方面,公開(kāi)了一種數(shù)據(jù)解密的方法,該方法包括:從連接的終端設(shè)備接收從云盤(pán)下載的包括混淆密文的數(shù)據(jù);根據(jù)加密時(shí)所用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表將所述混淆密文還原成原始密文,使用加密時(shí)所用密鑰將所述原始密文解密成原始數(shù)據(jù);將解密出的原始數(shù)據(jù)返回給終端設(shè)備。
優(yōu)選地,所述接收的從云盤(pán)下載的數(shù)據(jù)包括加密的隨機(jī)因子;所述根據(jù)加密時(shí)所用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表將所述混淆密文還原成原始密文包括:使用加密時(shí)所用密鑰對(duì)接收的數(shù)據(jù)中加密的隨機(jī)因子進(jìn)行解密;根據(jù)所述隨機(jī)因子獲得所述數(shù)據(jù)映射表;利用所述數(shù)據(jù)映射表將混淆密文還原成原始密文。
優(yōu)選地,所述方法還包括:在解密前,提示輸入用于驗(yàn)證的密碼;
接收到輸入的密碼后,使用所述密碼進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)后開(kāi)始進(jìn)行解密。
根據(jù)本發(fā)明的一方面,公開(kāi)了一種數(shù)據(jù)加密的裝置,該裝置包括:通信模塊,用于從連接的終端設(shè)備接收將要上傳到云盤(pán)的數(shù)據(jù);加密模塊,用于 使用密鑰對(duì)接收的數(shù)據(jù)進(jìn)行加密,將生成的密文進(jìn)行分段,使用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表對(duì)分段數(shù)據(jù)進(jìn)行混淆,生成混淆密文;所述通信模塊還用于將混淆密文返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。
優(yōu)選地,所述加密模塊用于生成隨機(jī)因子,根據(jù)所述隨機(jī)因子獲得所述數(shù)據(jù)映射表;使用密鑰對(duì)隨機(jī)因子進(jìn)行加密,生成加密的隨機(jī)因子;所述通信模塊用于將混淆密文和加密的隨機(jī)因子返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文和所述加密的隨機(jī)因子發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。
優(yōu)選地,所述裝置還包括更新模塊,所述更新模塊用于當(dāng)所述密鑰的存在時(shí)長(zhǎng)超過(guò)有效期時(shí),將所述密鑰更新為新密鑰,利用所述通信模塊通過(guò)連接的終端設(shè)備重新獲得已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù);指示所述加密模塊使用新密鑰對(duì)已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù)進(jìn)行加密,使用數(shù)據(jù)映射表對(duì)加密后密文進(jìn)行混淆,生成新的混淆密文;指示所述通信模塊通過(guò)終端設(shè)備將新的混淆密文上傳到云盤(pán)。
根據(jù)本發(fā)明的一方面,公開(kāi)了一種數(shù)據(jù)解密的裝置,所述裝置包括:通信模塊用于從連接的終端設(shè)備接收從云盤(pán)下載的包括混淆密文的數(shù)據(jù);解密模塊用于根據(jù)加密時(shí)所用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表將所述混淆密文還原成原始密文,使用加密時(shí)所用密鑰將所述原始密文解密成原始數(shù)據(jù);所述通信模塊還用于將解密出的原始數(shù)據(jù)返回給終端設(shè)備。
優(yōu)選地,所述接收的從云盤(pán)下載的數(shù)據(jù)包括加密的隨機(jī)因子;所述解密模塊用于使用加密時(shí)所用密鑰對(duì)接收的數(shù)據(jù)中加密的隨機(jī)因子進(jìn)行解密;根據(jù)所述隨機(jī)因子獲得所述數(shù)據(jù)映射表;利用所述數(shù)據(jù)映射表將混淆密文還原成原始密文。
優(yōu)選地,所述裝置還包括驗(yàn)證模塊,用于在解密前,提示輸入用于驗(yàn)證的密碼;接收到輸入的密碼后,使用所述密碼進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)后指示所 述解密模塊開(kāi)始進(jìn)行解密。
通過(guò)上述技術(shù)方案,從連接的終端設(shè)備接收將要上傳到云盤(pán)的數(shù)據(jù),使用密鑰對(duì)接收的數(shù)據(jù)進(jìn)行加密,使用數(shù)據(jù)映射表對(duì)加密所得密文進(jìn)行混淆,將混淆密文返回給連接的終端設(shè)備,以將混淆密文上傳到云盤(pán)。如此,能夠在用戶所用終端處對(duì)將要上傳到云盤(pán)的數(shù)據(jù)進(jìn)行加密,使得用戶能夠獨(dú)立于云盤(pán)進(jìn)行加密,增加了用戶數(shù)據(jù)的安全性;對(duì)加密后的密文進(jìn)行混淆,進(jìn)一步減少數(shù)據(jù)被破解的可能性;并且加密過(guò)程相對(duì)于用戶透明,不會(huì)增加用戶操作,提高了用戶體驗(yàn)。另一方面,本發(fā)明還提供了與加密相對(duì)應(yīng)的解密技術(shù)方案,能夠?qū)υ票P(pán)中數(shù)據(jù)進(jìn)行解密,方便用戶獲得云盤(pán)中數(shù)據(jù)。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的具體實(shí)施方式部分予以詳細(xì)說(shuō)明。
附圖說(shuō)明
附圖是用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分,與下面的具體實(shí)施方式一起用于解釋本發(fā)明,但并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:
圖1是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的方法的流程圖;
圖2是根據(jù)本發(fā)明一實(shí)施例的密鑰更新的方法的流程圖;
圖3是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)解密的方法的流程圖;圖4是根據(jù)本發(fā)明一實(shí)施例的應(yīng)用場(chǎng)景的示意圖;
圖5是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密和解密的方法的流程圖;
圖6是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的裝置的結(jié)構(gòu)圖;
圖7是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的裝置的結(jié)構(gòu)圖;
圖8是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)解密的裝置的結(jié)構(gòu)圖;以及
圖9是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)解密的裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行詳細(xì)說(shuō)明。應(yīng)當(dāng)理解的是,此處所描述的具體實(shí)施方式僅用于說(shuō)明和解釋本發(fā)明,并不用于限制本發(fā)明。
圖1是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的方法的流程圖,該方法可用于各種安全終端,例如加密終端、加解密終端等。如圖1所示,該方法可包括如下步驟。
在步驟s110中,從連接的終端設(shè)備接收將要上傳到云盤(pán)的數(shù)據(jù)。例如,以本發(fā)明中方法用于加解密終端為例,進(jìn)行示例性說(shuō)明。加解密終端可以通過(guò)usb接口(總線接口)、wifi(無(wú)限局域網(wǎng))、或藍(lán)牙等技術(shù)與終端設(shè)備連接。終端設(shè)備可為pc(個(gè)人電腦)、平板電腦、智能終端等。在終端設(shè)備的驅(qū)動(dòng)中設(shè)置過(guò)濾器,過(guò)濾器將具有特征值的數(shù)據(jù)攔截后,將該數(shù)據(jù)發(fā)送給加解密終端。當(dāng)終端設(shè)備要將數(shù)據(jù)上傳到云盤(pán)時(shí),將要上傳給云盤(pán)的數(shù)據(jù)設(shè)置為具有該特征值。如此,加解密終端能夠從終端設(shè)備獲得將要上傳到云盤(pán)的數(shù)據(jù)。
在步驟s120中,使用密鑰對(duì)接收的數(shù)據(jù)進(jìn)行加密,將生成的密文進(jìn)行分段,使用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表對(duì)分段數(shù)據(jù)進(jìn)行混淆,生成混淆密文。在步驟s130中,將混淆密文返回給連接的終端設(shè)備,使終端設(shè)備將混淆密文發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。
在一實(shí)施例中,上述方法還可包括:生成隨機(jī)因子,根據(jù)隨機(jī)因子獲得所述數(shù)據(jù)映射表;使用密鑰對(duì)隨機(jī)因子進(jìn)行加密,生成加密的隨機(jī)因子;所述將混淆密文返回給連接的終端設(shè)備,使終端設(shè)備將混淆密文發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)包括:將混淆密文和加密的隨機(jī)因子返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文和所述加密的隨機(jī)因子發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。在此實(shí)施例中,根據(jù)隨機(jī)因子獲得數(shù)據(jù)映射表,本發(fā)明中獲得數(shù)據(jù)映射表的方法不限與此,也可以采用其他方法獲得數(shù)據(jù)映射表。
舉例而言,加解密終端可具有安全芯片、通信接口(例如usb接口)、密碼鍵盤(pán)和led(發(fā)光二極管)屏幕。加解密終端可以在啟動(dòng)時(shí),通過(guò)led屏幕提示用戶輸入預(yù)設(shè)的密碼。用戶可通過(guò)密碼鍵盤(pán)輸入密碼。安全芯片判斷輸入的密碼與預(yù)設(shè)密碼是否匹配,當(dāng)匹配時(shí)進(jìn)行本發(fā)明中加密操作。通信接口從終端設(shè)備接收到數(shù)據(jù)后,將數(shù)據(jù)傳輸給安全芯片,安全芯片接收到數(shù)據(jù),使用密鑰對(duì)接收的數(shù)據(jù)進(jìn)行加密。該密鑰可以是在加解密終端第一次開(kāi)啟時(shí),隨機(jī)生成的密鑰,也可以是預(yù)先設(shè)置的密鑰。
安全芯片對(duì)加密所得密文進(jìn)行分段,每個(gè)分段數(shù)據(jù)的大小為ik比特(例如i=1時(shí),每個(gè)分段數(shù)據(jù)為1k比特),數(shù)據(jù)被分成n段,表示為e1,e2,……,en。安全芯片生成隨機(jī)因子r,根據(jù)隨機(jī)因子r獲得包括混前位置a(n)和混后位置a’(n)的數(shù)據(jù)映射表??梢灶A(yù)先設(shè)置包括混前位置a(max)和混后位置a’(max)的映射表的集合,集合中每個(gè)映射表可以按撲克牌的洗牌方法生成,映射表中混前位置和混后位置的數(shù)量可以為預(yù)設(shè)最大值。隨機(jī)因子根據(jù)預(yù)設(shè)規(guī)則取整,例如按四舍五入,來(lái)確定所選定的映射表。例如,集合中映射表的數(shù)量為100,隨機(jī)因子的取值范圍為0到100,如果隨機(jī)因子的值為16.8,則第17個(gè)映射表為所選的映射表。上述映射表的生成方式僅為示例性舉例,本發(fā)明中映射表生成方式不限于此。對(duì)于分段數(shù)據(jù)e1,e2,……,en,分別根據(jù)混前位置在數(shù)據(jù)映射表查找對(duì)應(yīng)的混后位置,按對(duì)應(yīng)的混后位置將各個(gè)分段數(shù)據(jù)排列,獲得混淆密文。當(dāng)上傳的數(shù)據(jù)的分段數(shù)量n小于預(yù)設(shè)最大值max時(shí),取映射表前n項(xiàng)映射關(guān)系對(duì)分段數(shù)據(jù)進(jìn)行混淆。例如,分段數(shù)據(jù)的數(shù)量n為10,預(yù)設(shè)最大值max為100,取映射表前10項(xiàng)完成映射。分段數(shù)據(jù)的混后位置序號(hào)可能不連續(xù),在此情況下按混后位置序號(hào)從小到大的順序?qū)⒎侄螖?shù)據(jù)排列,獲得混淆密文。當(dāng)上傳的分段數(shù)據(jù)的數(shù)量n大于預(yù)設(shè)最大值max時(shí),產(chǎn)生多個(gè)隨機(jī)因子,獲取多個(gè)映射表,將分段數(shù)據(jù)分成多個(gè)部分,各部分使用對(duì)應(yīng)映射表進(jìn)行混淆。
分段數(shù)據(jù)中最后一段可能不足ik比特,可以對(duì)所分n條分段數(shù)據(jù)的前n-1條分段數(shù)據(jù)進(jìn)行混淆,最后一條分段數(shù)據(jù)不參加混淆。例如,根據(jù)隨機(jī)因子獲得混前位置a(n-1)和混后位置a’(n-1)的數(shù)據(jù)映射表。對(duì)于分段數(shù)據(jù)e1,e2,……,en-1分別根據(jù)混前位置在數(shù)據(jù)映射表查找對(duì)應(yīng)的混后位置,按各個(gè)分段數(shù)據(jù)對(duì)應(yīng)的混后位置將分段數(shù)據(jù)排列,將按混后位置排列所得密文和最后一條分段數(shù)據(jù)en組合,獲得混淆密文。
本實(shí)施例中,能夠在用戶所用終端處對(duì)將要上傳到云盤(pán)的數(shù)據(jù)進(jìn)行加密,使得用戶能夠獨(dú)立于云盤(pán)進(jìn)行加密,增加了用戶數(shù)據(jù)的安全性;對(duì)加密后的密文進(jìn)行混淆,進(jìn)一步減少數(shù)據(jù)被破解的可能性;并且加密過(guò)程相對(duì)于用戶透明,不會(huì)增加用戶操作,提高了用戶體驗(yàn)。
圖2是根據(jù)本發(fā)明一實(shí)施例的密鑰更新的方法的流程圖,如圖2所示,可包括如下步驟。
在步驟s210中,當(dāng)密鑰的存在時(shí)長(zhǎng)超過(guò)有效期時(shí),將密鑰更新為新密鑰;在步驟s220中,通過(guò)連接的終端設(shè)備重新獲得已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù);在步驟s230中,使用新密鑰對(duì)已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù)進(jìn)行加密,使用數(shù)據(jù)映射表對(duì)加密后密文進(jìn)行混淆,生成新的混淆密文;在步驟s240中,通過(guò)終端設(shè)備將新的混淆密文上傳到云盤(pán)。
在一實(shí)施例中,所述通過(guò)連接的終端設(shè)備重新獲得已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù)包括:通過(guò)連接的終端設(shè)備從云盤(pán)獲得上傳的混淆密文;使用加密時(shí)所用密鑰和混淆時(shí)所用數(shù)據(jù)映射表將混淆密文還原為原始數(shù)據(jù)。本發(fā)明中獲得原始數(shù)據(jù)的方法不限與此,也可以采用其他方法獲得原始數(shù)據(jù),例如從終端設(shè)備中查找上傳的原始數(shù)據(jù),獲取終端設(shè)備本地中存儲(chǔ)的上傳到云盤(pán)的原始數(shù)據(jù)。
舉例而言,設(shè)置密鑰的有效期,按有效期設(shè)置定時(shí)器,當(dāng)定時(shí)器超時(shí)時(shí),將密鑰更新為新密鑰。安全芯片通過(guò)通信接口向終端設(shè)備發(fā)送獲得數(shù)據(jù)請(qǐng)求, 終端設(shè)備從云盤(pán)中獲得已經(jīng)上傳的數(shù)據(jù),并轉(zhuǎn)發(fā)給加解密終端的通信接口。通信接口將數(shù)據(jù)傳輸給安全芯片。安全芯片將數(shù)據(jù)進(jìn)行去混淆和解密后獲得原始數(shù)據(jù),然后使用新密鑰對(duì)該原始數(shù)據(jù)進(jìn)行加密,再對(duì)密文進(jìn)行混淆得到混淆密文。通過(guò)通信接口將新的混淆密文發(fā)送給終端設(shè)備,由終端設(shè)備將新的混淆密文上傳給云盤(pán),將云盤(pán)中原有的混淆密文進(jìn)行覆蓋。
本實(shí)施例中,能夠?qū)γ荑€進(jìn)行更新,進(jìn)一步增加云盤(pán)中用戶數(shù)據(jù)的安全性。
圖3是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)解密的方法的流程圖。如圖3所示,該方法還可包括如下步驟。
在步驟s310中,從連接的終端設(shè)備接收從云盤(pán)下載的包括混淆密文的數(shù)據(jù)。舉例而言,以本發(fā)明中方法用于加解密終端為例,進(jìn)行示例性說(shuō)明。加解密終端可以通過(guò)usb接口(總線接口)、wifi(無(wú)限局域網(wǎng))、或藍(lán)牙等技術(shù)與終端設(shè)備連接。終端設(shè)備可為pc(個(gè)人電腦)、平板電腦、智能終端等。在終端設(shè)備的驅(qū)動(dòng)中設(shè)置過(guò)濾器,過(guò)濾器將具有特征值的數(shù)據(jù)攔截后,將該數(shù)據(jù)發(fā)送給加解密終端。當(dāng)終端設(shè)備從云盤(pán)下載數(shù)據(jù)時(shí),使下載的數(shù)據(jù)具有特征值。如此,加解密終端能夠從終端設(shè)備獲得從云盤(pán)下載的數(shù)據(jù)。
在步驟s320中,根據(jù)加密時(shí)所用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表將混淆密文還原成原始密文,使用加密時(shí)所用密鑰將原始密文解密成原始數(shù)據(jù)。在步驟s330中,將解密出的原始數(shù)據(jù)返回給終端設(shè)備。
在一實(shí)施例中,所述接收的從云盤(pán)下載的數(shù)據(jù)包括加密的隨機(jī)因子;所述根據(jù)加密時(shí)所用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表將所述混淆密文還原成原始密文包括:使用加密時(shí)所用密鑰對(duì)接收的數(shù)據(jù)中加密的隨機(jī)因子進(jìn)行解密;根據(jù)隨機(jī)因子獲得數(shù)據(jù)映射表;利用數(shù)據(jù)映射表將混淆密文還原成原始密文。
所述方法還包括:在解密前,提示輸入用于驗(yàn)證的密碼;接收到輸入的 密碼后,使用所述密碼進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)后開(kāi)始進(jìn)行解密。
舉例而言,加解密終端可具有安全芯片、通信接口(例如usb接口)、密碼鍵盤(pán)和led(發(fā)光二極管)屏幕。加解密終端的通信接口接收到終端設(shè)備從云盤(pán)下載的數(shù)據(jù),數(shù)據(jù)中包括混淆密文和加密的隨機(jī)因子。加解密終端可以在解密前,通過(guò)led屏幕提示用戶輸入預(yù)設(shè)的密碼。用戶可通過(guò)密碼鍵盤(pán)輸入密碼。安全芯片判斷輸入的密碼與預(yù)設(shè)密碼是否匹配,當(dāng)匹配時(shí)進(jìn)行解密操作。通信接口將數(shù)據(jù)傳輸給安全芯片,安全芯片使用密鑰解密加密的隨機(jī)因子,獲得隨機(jī)因子r。安全芯片根據(jù)每個(gè)分段數(shù)據(jù)的大小(例如,為ik比特)和數(shù)據(jù)中混淆密文的大小確定混淆密文的分段數(shù)量。
在混淆時(shí)對(duì)所分出的n條分段數(shù)據(jù)都進(jìn)行混淆的情況下,安全芯片根據(jù)隨機(jī)因子r獲得包括混前位置a(n)和混后位置a’(n)的數(shù)據(jù)映射表。獲得原始密文中各個(gè)分段數(shù)據(jù)對(duì)應(yīng)的混前位置和混后位置,按混后位置序號(hào)從小到大的順序排序,得到混淆密文中各個(gè)分段數(shù)據(jù)對(duì)應(yīng)的混前位置,據(jù)此生成反向映射表。例如,原始密文中分段數(shù)據(jù)的數(shù)量為5,數(shù)據(jù)映射表中包括10對(duì)混前位置和混后位置的映射。原始密文中分段數(shù)據(jù)1~5分別對(duì)應(yīng)混后位置2、6、1、8、4。按混后位置序號(hào)從小到大的順序排序,得到混淆密文中分段數(shù)據(jù)1~5對(duì)應(yīng)的混前位置分別為3、1、5、2、4,由此生成包括混淆密文中分段數(shù)據(jù)對(duì)應(yīng)混前位置的反向映射表。之后,安全芯片根據(jù)每個(gè)分段數(shù)據(jù)的大小和數(shù)據(jù)中混淆密文的大小可確定出最后一條分段數(shù)據(jù)的大小。按反向映射表將混淆密文分段,將分段數(shù)據(jù)放置到對(duì)應(yīng)混前位置。如果對(duì)應(yīng)混前位置為最后一條分段數(shù)據(jù),則按確定的最后一條分段數(shù)據(jù)的大小進(jìn)行分段,將分出的最后一條分段數(shù)據(jù)放置到最后位置。通過(guò)上述方法安全芯片獲得去混淆后的密文,然后使用密鑰對(duì)密文進(jìn)行解密獲得原始數(shù)據(jù)。
在混淆時(shí)對(duì)所分出的n條分段數(shù)據(jù)中前n-1條分段數(shù)據(jù)進(jìn)行混淆的情況下,安全芯片根據(jù)隨機(jī)因子r獲得包括混前位置a(n-1)和混后位置a’(n-1) 的數(shù)據(jù)映射表。之后,安全芯片根據(jù)每個(gè)分段數(shù)據(jù)的大小將混淆密文分段。按映射表將混淆密文分段的前n-1段分段數(shù)據(jù)進(jìn)行去混淆,去混淆所得數(shù)據(jù)和最后一條分段數(shù)據(jù)組合成去混淆的密文,然后使用密鑰對(duì)密文進(jìn)行解密獲得原始數(shù)據(jù)。
本實(shí)施例中,能夠在用戶所用終端處對(duì)從云盤(pán)下載的數(shù)據(jù)進(jìn)行解密,解密過(guò)程相對(duì)于用戶透明,減少了用戶操作負(fù)擔(dān),提高了用戶體驗(yàn)。圖4是根據(jù)本發(fā)明一實(shí)施例的應(yīng)用場(chǎng)景的示意圖,加解密終端可具有安全芯片、通信接口(例如usb接口)、密碼鍵盤(pán)和led(發(fā)光二極管)屏幕。加解密終端可以在啟動(dòng)時(shí),通過(guò)led屏幕提示用戶輸入預(yù)設(shè)的密碼。用戶可通過(guò)密碼鍵盤(pán)輸入密碼。安全芯片判斷輸入的密碼與預(yù)設(shè)密碼是否匹配,當(dāng)匹配時(shí)進(jìn)行如下加密和解密操作。其中,通信接口為usb接口,與pc的usb通信接口連接,pc的網(wǎng)卡通過(guò)有線或無(wú)線網(wǎng)絡(luò)與云盤(pán)連接。利用特征值使得pc的驅(qū)動(dòng)中過(guò)濾器將要上傳到云盤(pán)的數(shù)據(jù)和從云盤(pán)下載的數(shù)據(jù)攔截,通過(guò)通信接口將攔截的數(shù)據(jù)發(fā)送給加解密終端。加解密終端進(jìn)行如下加解密操作。
在步驟s502中,加解密終端的通信接口從連接的pc的通信接口接收將要上傳到云盤(pán)的數(shù)據(jù),將數(shù)據(jù)傳輸給安全芯片。在步驟s504中,安全芯片使用密鑰對(duì)接收的數(shù)據(jù)進(jìn)行加密,將生成的密文進(jìn)行分段。在步驟s506中,安全芯片生成隨機(jī)因子,根據(jù)隨機(jī)因子獲得包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表。在步驟s508中,安全芯片使用數(shù)據(jù)映射表對(duì)分段數(shù)據(jù)進(jìn)行混淆,生成混淆密文。在步驟s510中,安全芯片使用密鑰對(duì)隨機(jī)因子進(jìn)行加密,將加密的隨機(jī)因子添加到混淆密文之后生成上傳數(shù)據(jù)。在步驟s512中,安全芯片將上傳數(shù)據(jù)傳輸給通信接口,通信接口將上傳數(shù)據(jù)返回給連接的終端設(shè)備,使終端設(shè)備將數(shù)據(jù)發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。在步驟s514中,通信接口從連接的pc的通信接口接收從云盤(pán)下載的數(shù)據(jù),將數(shù)據(jù)傳輸給安全芯片。在步驟s516中,安全芯片從下載數(shù)據(jù)中解析出混淆密文和加密的隨 機(jī)因子,使用密鑰對(duì)加密的隨機(jī)因子解密。在步驟s518中,安全芯片根據(jù)隨機(jī)因子獲得數(shù)據(jù)映射表。在步驟s520中,安全芯片利用數(shù)據(jù)映射表將混淆密文還原成原始密文。在步驟s522中,安全芯片使用密鑰將原始密文解密成原始數(shù)據(jù)。在步驟s524中,安全芯片通過(guò)通信接口將解密出的原始數(shù)據(jù)返回給終端設(shè)備。
本實(shí)施例中,能夠在用戶所用終端處對(duì)將要上傳到云盤(pán)的數(shù)據(jù)進(jìn)行加密,使得用戶能夠獨(dú)立于云盤(pán)進(jìn)行加密,增加了用戶數(shù)據(jù)的安全性;對(duì)加密后的密文進(jìn)行混淆,進(jìn)一步減少數(shù)據(jù)被破解的可能性;并且加密過(guò)程相對(duì)于用戶透明,不會(huì)增加用戶操作,提高了用戶體驗(yàn);能夠在用戶所用終端處對(duì)從云盤(pán)下載的數(shù)據(jù)進(jìn)行解密,解密過(guò)程相對(duì)于用戶透明,減少了用戶操作負(fù)擔(dān),提高了用戶體驗(yàn)。
圖6是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)加密的裝置的結(jié)構(gòu)圖。舉例而言,該裝置可用于安全終端的安全芯片中,如圖6所示,該裝置包括如下模塊。
通信模塊610,用于從連接的終端設(shè)備接收將要上傳到云盤(pán)的數(shù)據(jù);
加密模塊620,用于使用密鑰對(duì)接收的數(shù)據(jù)進(jìn)行加密,將生成的密文進(jìn)行分段,使用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表對(duì)分段數(shù)據(jù)進(jìn)行混淆,生成混淆密文;
所述通信模塊610還用于將混淆密文返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。
舉例而言,安全終端的通信接口與安全芯片中的通信模塊間進(jìn)行數(shù)據(jù)傳輸。通信接口接收到數(shù)據(jù),將數(shù)據(jù)傳輸給裝置的通信模塊,由加密模塊進(jìn)行加密和混淆,通信模塊將混淆密文傳輸給通信接口,通信接口將混淆密文發(fā)送給終端設(shè)備。
在一實(shí)施例中,加密模塊620用于生成隨機(jī)因子,根據(jù)所述隨機(jī)因子獲得所述數(shù)據(jù)映射表;使用密鑰對(duì)隨機(jī)因子進(jìn)行加密,生成加密的隨機(jī)因子; 通信模塊610用于將混淆密文和加密的隨機(jī)因子返回給連接的終端設(shè)備,使終端設(shè)備將所述混淆密文和所述加密的隨機(jī)因子發(fā)送到云盤(pán)進(jìn)行存儲(chǔ)。
在一實(shí)施例中,如圖7所示,所述裝置還包括更新模塊710。更新模塊710用于當(dāng)所述密鑰的存在時(shí)長(zhǎng)超過(guò)有效期時(shí),將所述密鑰更新為新密鑰,利用通信模塊610通過(guò)連接的終端設(shè)備重新獲得已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù);指示加密模塊620使用新密鑰對(duì)已經(jīng)上傳到云盤(pán)的原始數(shù)據(jù)進(jìn)行加密,使用數(shù)據(jù)映射表對(duì)加密后密文進(jìn)行混淆,生成新的混淆密文;指示通信模塊610通過(guò)終端設(shè)備將新的混淆密文上傳到云盤(pán)。
進(jìn)一步地,更新模塊710用于指示通信模塊610通過(guò)連接的終端設(shè)備從云盤(pán)獲得上傳的混淆密文;使用加密時(shí)所用密鑰和混淆時(shí)所用數(shù)據(jù)映射表將混淆密文還原為原始數(shù)據(jù)。
圖8所示,是根據(jù)本發(fā)明一實(shí)施例的數(shù)據(jù)解密的裝置的結(jié)構(gòu)圖。裝置包括:通信模塊810用于從連接的終端設(shè)備接收從云盤(pán)下載的包括混淆密文的數(shù)據(jù);解密模塊820用于根據(jù)加密時(shí)所用包括混前位置和對(duì)應(yīng)混后位置的數(shù)據(jù)映射表將所述混淆密文還原成原始密文,使用加密時(shí)所用密鑰將所述原始密文解密成原始數(shù)據(jù);通信模塊810還用于將解密出的原始數(shù)據(jù)返回給終端設(shè)備。
進(jìn)一步地,所述接收的從云盤(pán)下載的數(shù)據(jù)包括加密的隨機(jī)因子;解密模塊820用于使用所述密鑰對(duì)接收的數(shù)據(jù)中加密的隨機(jī)因子進(jìn)行解密;根據(jù)所述隨機(jī)因子獲得所述數(shù)據(jù)映射表;利用數(shù)據(jù)映射表將混淆密文還原成原始密文。
在一實(shí)施例中,如圖9所示,所述裝置還包括驗(yàn)證模塊910,用于在解密前,提示輸入用于驗(yàn)證的密碼;接收到輸入的密碼后,使用所述密碼進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)后指示所述解密模塊開(kāi)始進(jìn)行解密。
上述裝置與前述方法對(duì)應(yīng),對(duì)于裝置的詳細(xì)描述請(qǐng)參見(jiàn)方法中對(duì)應(yīng)部分, 在此不再贅述。
本發(fā)明中,能夠在用戶所用終端處對(duì)將要上傳到云盤(pán)的數(shù)據(jù)進(jìn)行加密,使得用戶能夠獨(dú)立于云盤(pán)進(jìn)行加密,增加了用戶數(shù)據(jù)的安全性;對(duì)加密后的密文進(jìn)行混淆,進(jìn)一步減少數(shù)據(jù)被破解的可能性;并且加密過(guò)程相對(duì)于用戶透明,不會(huì)增加用戶操作,提高了用戶體驗(yàn);能夠在用戶所用終端處對(duì)從云盤(pán)下載的數(shù)據(jù)進(jìn)行解密,解密過(guò)程相對(duì)于用戶透明,減少了用戶操作負(fù)擔(dān),提高了用戶體驗(yàn)。另一方面,本發(fā)明還提供了與加密相對(duì)應(yīng)的解密技術(shù)方案,能夠?qū)υ票P(pán)中數(shù)據(jù)進(jìn)行解密,方便用戶獲得云盤(pán)中數(shù)據(jù)。
以上結(jié)合附圖詳細(xì)描述了本發(fā)明的優(yōu)選實(shí)施方式,但是,本發(fā)明并不限于上述實(shí)施方式中的具體細(xì)節(jié),在本發(fā)明的技術(shù)構(gòu)思范圍內(nèi),可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行多種簡(jiǎn)單變型,這些簡(jiǎn)單變型均屬于本發(fā)明的保護(hù)范圍。
另外需要說(shuō)明的是,在上述具體實(shí)施方式中所描述的各個(gè)具體技術(shù)特征,在不矛盾的情況下,可以通過(guò)任何合適的方式進(jìn)行組合,為了避免不必要的重復(fù),本發(fā)明對(duì)各種可能的組合方式不再另行說(shuō)明。
此外,本發(fā)明的各種不同的實(shí)施方式之間也可以進(jìn)行任意組合,只要其不違背本發(fā)明的思想,其同樣應(yīng)當(dāng)視為本發(fā)明所公開(kāi)的內(nèi)容。