国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種移動(dòng)云計(jì)算環(huán)境下的輕量級(jí)文件遠(yuǎn)程加密方法與流程

      文檔序號(hào):11960089閱讀:365來源:國知局
      一種移動(dòng)云計(jì)算環(huán)境下的輕量級(jí)文件遠(yuǎn)程加密方法與流程

      本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,更進(jìn)一步涉及移動(dòng)云計(jì)算安全技術(shù)領(lǐng)域中的一種移動(dòng)云計(jì)算環(huán)境下的輕量級(jí)文件遠(yuǎn)程加密方法。本發(fā)明可以在用戶進(jìn)行文件加密的過程中通過遠(yuǎn)程加密的方式,不讓私有云知曉加密密鑰,保證了文件和密鑰的安全性,進(jìn)而避免由于云端遭受攻擊而導(dǎo)致的用戶隱私泄露的問題。



      背景技術(shù):

      隨著移動(dòng)終端(MT,Mobile Terminal)的廣泛普及,人們比起使用電腦等傳統(tǒng)的終端,更喜歡使用移動(dòng)終端來接入和使用網(wǎng)絡(luò)。移動(dòng)終端有著非常多的優(yōu)點(diǎn),如體積小易攜帶、快捷、互動(dòng)、隨時(shí)隨地不受時(shí)間和空間限制等,從而受到了廣大用戶的青睞,應(yīng)用前景非常廣闊。但是實(shí)際上移動(dòng)終端也有著它本身不可避免的缺點(diǎn),其存儲(chǔ)和計(jì)算能力有限,不能承擔(dān)大量的存儲(chǔ)和計(jì)算任務(wù),只能進(jìn)行一些輕量級(jí)的文件操作。因此對(duì)于移動(dòng)終端來講,我們常常希望將存儲(chǔ)負(fù)擔(dān)和復(fù)雜計(jì)算轉(zhuǎn)移出去。云計(jì)算提供了一個(gè)很好的平臺(tái),云環(huán)境具有強(qiáng)大的存儲(chǔ)和計(jì)算能力,因此可以將這些任務(wù)轉(zhuǎn)移到云上?,F(xiàn)在普遍采用移動(dòng)終端(MT,Mobile Terminal)、私有云(Prc,Private Clouds)、公有云(Puc,Public Clouds)三方模型來降低移動(dòng)終端的存儲(chǔ)和計(jì)算負(fù)擔(dān)。在這個(gè)模型中,移動(dòng)終端將文件存儲(chǔ)在公有云,私有云是一個(gè)可信的第三方,當(dāng)移動(dòng)終端需要使用公有云端文件時(shí),代替移動(dòng)終端進(jìn)行數(shù)據(jù)完整性檢測(cè)。

      Yang J,Wang H,Wang J,et al.在其發(fā)表的論文“Provable Data Possession of Resource-constrained Mobile Devices in Cloud Computing”(Journal of Networks,2011,6(7):1033-1040)中提出了一種移動(dòng)云計(jì)算環(huán)境下的數(shù)據(jù)完整性驗(yàn)證方法。該方法通過使用遞增的消息認(rèn)證碼來驗(yàn)證存儲(chǔ)在云端數(shù)據(jù)的安全性。Trust Coprocessor充當(dāng)可信第三方進(jìn)行消息驗(yàn)證碼的生成,一定程度上利用了云計(jì)算的計(jì)算能力。為了最小化移動(dòng)終端上的處理開銷,該方案沒有將大量的認(rèn)證工作轉(zhuǎn)移到云服務(wù)提供商和可信第三方上。移動(dòng)終端執(zhí)行消息驗(yàn)證碼MAC的產(chǎn)生和比較以及所有文件的更新操作;可信第三方只是在移動(dòng)終端發(fā)出驗(yàn)證數(shù)據(jù)完整性請(qǐng)求時(shí),對(duì)公有云的云端傳回的文件生成MAC。該方法存在的不足之處是,由于移動(dòng)終端過多地承擔(dān)了完整性驗(yàn)證的工作,會(huì)導(dǎo)致移動(dòng)終端負(fù)擔(dān)過重;并且由于移動(dòng)終端直接將未加密的明文文件發(fā)送存儲(chǔ)在公有云端導(dǎo)致文件安全遭受威脅。

      華中科技大學(xué)在其申請(qǐng)的專利“一種移動(dòng)云存儲(chǔ)輕量級(jí)數(shù)據(jù)安全共享方法”(專利申請(qǐng)?zhí)枺?01410026787.9,申請(qǐng)公布號(hào):CN103763319A)中公開了一種移動(dòng)云存儲(chǔ)輕量級(jí)數(shù)據(jù)安全共享方法。該方法包括:數(shù)據(jù)擁有者在可信第三方注冊(cè)屬性集合,數(shù)據(jù)擁有者為用戶指定屬性集合,可信第三方根據(jù)用戶的屬性集合使用屬性密碼機(jī)制對(duì)用戶授權(quán)生成屬性密鑰,數(shù)據(jù)擁有者使用移動(dòng)端共享文件時(shí),首先采用對(duì)稱密碼機(jī)制對(duì)對(duì)稱密鑰加密,并將文件密文和密鑰密文發(fā)送到云端,用戶從云端讀取文件密文及密鑰密文后,通過代理解密服務(wù)器使用屬性密碼機(jī)制解密文件,數(shù)據(jù)擁有者向可信第三方及云端發(fā)送權(quán)限變更聲明,可信第三方及云端根據(jù)用戶權(quán)限變聲聲明判斷為用戶增加或刪除權(quán)限。本發(fā)明能在電量和計(jì)算能力有限的移動(dòng)端實(shí)現(xiàn)數(shù)據(jù)的安全共享。該方法存在的不足之處是,由于可信第三方知曉密鑰,萬一可信第三方遭受攻擊會(huì)導(dǎo)致密鑰泄露問題;并且由于可信第三方擁有密文文件,萬一可信第三方遭受攻擊,或者存在云欺詐,會(huì)導(dǎo)致文件信息泄露問題。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明的目的在于克服上述已有技術(shù)的不足,提出一種移動(dòng)云計(jì)算環(huán)境下的輕量級(jí)文件遠(yuǎn)程加密方法。本發(fā)明通過遠(yuǎn)程加密、密文文件共享、完整性驗(yàn)證,可是保證密鑰的機(jī)密性和文件的完整性,有效解決由于云端受到攻擊而導(dǎo)致的用戶文件和密鑰泄露問題,進(jìn)一步加強(qiáng)了用戶使用文件的安全性。

      為實(shí)現(xiàn)上述目的,本發(fā)明的具體實(shí)現(xiàn)步驟如下:

      (1)驗(yàn)證移動(dòng)終端用戶:

      (1a)采用移動(dòng)終端用戶驗(yàn)證方法,私有云對(duì)移動(dòng)終端用戶進(jìn)行驗(yàn)證;

      (1b)私有云查詢移動(dòng)終端用戶信息表,判斷移動(dòng)終端用戶的身份識(shí)別ID和口令psd是否與移動(dòng)終端用戶信息表中的信息一致,若是,則通過移動(dòng)終端用戶驗(yàn)證,執(zhí)行步驟(2),否則,刪除待驗(yàn)證的移動(dòng)終端用戶的身份識(shí)別碼ID和口令psd;

      (2)遠(yuǎn)程加密:

      (2a)按照下式,私有云計(jì)算待加密文件的第一個(gè)中間塊:

      <mrow> <msub> <mi>I</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>P</mi> <mn>1</mn> </msub> <mo>&CirclePlus;</mo> <mi>H</mi> <mrow> <mo>(</mo> <msub> <mi>I</mi> <mn>2</mn> </msub> <mn>...</mn> <msub> <mi>I</mi> <mi>i</mi> </msub> <mn>...</mn> <msub> <mi>I</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mrow>

      其中,I1表示待加密文件的第一個(gè)中間塊,P1表示待加密文件的第一個(gè)明文塊,表示按位異或操作,H(·)表示私有云計(jì)算的一個(gè)哈希函數(shù),Ii表示待加密文件的第i個(gè)中間塊,In表示待加密文件的第n個(gè)中間塊,n表示待加密文件的分塊的總數(shù);

      (2b)私有云用移動(dòng)終端的公鑰對(duì)待加密文件的第一個(gè)中間塊I1和時(shí)間戳t2進(jìn)行加密操作,將加密后的消息發(fā)送給移動(dòng)終端;

      (2c)私有云用自己的私鑰解密接收到的消息,得到待加密文件的第一個(gè)中間塊I1,按照下式,私有云計(jì)算待加密文件的第一個(gè)密文塊:

      C1=Ek(I1)

      其中,C1表示待加密文件的第一個(gè)密文塊,Ek(·)表示在加密密鑰k下,使用由移動(dòng)終端和私有云共享的對(duì)稱加密算法,對(duì)待加密文件的第一個(gè)中間塊I1進(jìn)行加密操作;

      (2d)按照下式,移動(dòng)終端計(jì)算密鑰替代值:

      Kp=M(Ek(C1))

      其中,Kp表示密鑰替代值,M(·)表示移動(dòng)終端計(jì)算的一個(gè)哈希函數(shù),Ek(·)表示在密鑰k下,使用由移動(dòng)終端和私有云共享的對(duì)稱加密算法,對(duì)待加密文件的第一個(gè)密文塊C1進(jìn)行加密操作;

      (2e)移動(dòng)終端用私有云的公鑰,對(duì)待加密文件的第一個(gè)密文塊C1和密鑰替代值Kp進(jìn)行加密操作,將加密后的消息發(fā)送給私有云;

      (2f)私有云用自己的私鑰解密接收到的消息,得到待加密文件的第一個(gè)密文塊C1和密鑰替代值Kp,按照下式,完成除第一個(gè)明文塊之外的其余明文塊的加密操作,得到所有的密文塊;

      <mrow> <msub> <mi>C</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>E</mi> <msub> <mi>k</mi> <mi>p</mi> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>I</mi> <mi>i</mi> </msub> <mo>&CirclePlus;</mo> <msub> <mi>C</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow>

      其中,Ci表示待加密文件的第i個(gè)密文塊,i=2...n,n表示密文塊分塊的總數(shù),表示在密鑰替代值Kp下,使用移動(dòng)終端和私有云共享的對(duì)稱加密算法對(duì)待加密文件進(jìn)行加密操作,Ii表示待加密文件的第i個(gè)中間塊,表示按位異或操作,Ci-1表示待加密文件的第i-1個(gè)密文塊;

      (2g)私有云生成加密完成的確認(rèn)消息,發(fā)送給移動(dòng)終端;

      (2h)私有云刪除待加密文件;

      (3)生成數(shù)據(jù)指紋:

      (3a)私有云接收到加密完成的確認(rèn)消息后,依照元數(shù)據(jù)生成算法g(a,b),為每個(gè)密文塊生成K位的元數(shù)據(jù),K表示數(shù)據(jù)塊需要讀取的數(shù)據(jù)位的總量,僅為數(shù)據(jù)所有者和可信第三方私有云知道,g(a,b)表示第a個(gè)數(shù)據(jù)塊的第b位數(shù)據(jù),a=1...m,b=1...x,m表示密文分塊的總數(shù),x表示每一個(gè)數(shù)據(jù)塊中需要讀取的數(shù)據(jù)位置;

      (3b)私有云按照私有云和公有云共享的哈希函數(shù)為每個(gè)密文塊的元數(shù)據(jù)生成獨(dú)一無二的數(shù)據(jù)指紋;

      (3c)私有云生成密文塊和元數(shù)據(jù)指紋對(duì)應(yīng)關(guān)系的索引表IndexTable,存儲(chǔ)索引表IndexTable;

      (4)驗(yàn)證數(shù)據(jù)指紋:

      (4a)采用驗(yàn)證數(shù)據(jù)指紋方法,公有云和私有云驗(yàn)證對(duì)方的數(shù)據(jù)指紋;

      (4b)判斷私有云返回的公有云隨機(jī)數(shù)和公有云發(fā)送的公有云隨機(jī)數(shù)是否相同,若是,則通過驗(yàn)證,公有云生成確認(rèn)消息,發(fā)送給私有云,執(zhí)行步驟(5),否則,公有云刪除數(shù)據(jù)指紋;

      (5)上傳存儲(chǔ)密文塊:

      (5a)私有云接收到確認(rèn)消息后,將密文文件名以及密文文件的每一個(gè)密文塊發(fā)送給公有云,密文文件的每一個(gè)密文塊包括數(shù)據(jù)塊號(hào)和密文數(shù)據(jù);

      (5b)公有云接收到密文文件名和密文文件的每一個(gè)密文塊后,存儲(chǔ)密文文件名和密文文件的每一個(gè)密文塊,生成關(guān)系索引表RelationIndex和存儲(chǔ)索引表StorageIndex,保存關(guān)系索引表RelationIndex和存儲(chǔ)索引表StorageIndex;

      (5c)公有云生成確認(rèn)消息,發(fā)送給私有云;

      (6)私有云刪除全部密文塊;

      (7)驗(yàn)證挑戰(zhàn)信息:

      (7a)采用驗(yàn)證數(shù)據(jù)指紋方法,公有云和私有云相互驗(yàn)證對(duì)方的數(shù)據(jù)指紋;

      (7b)判斷私有云返回的公有云隨機(jī)數(shù)和公有云發(fā)送的公有云隨機(jī)數(shù)是否相同,若是,則通過驗(yàn)證,公有云生成確認(rèn)消息,發(fā)送給私有云,執(zhí)行步驟(7c),否則,公有云刪除數(shù)據(jù)指紋;

      (7c)私有云生成挑戰(zhàn)信息,對(duì)挑戰(zhàn)信息使用私有云和公有云共享的哈希函數(shù)生成數(shù)據(jù)指紋,將數(shù)據(jù)指紋發(fā)送給公有云;

      (7d)公有云接收數(shù)據(jù)指紋;

      (7e)判斷公有云發(fā)送的公有云隨機(jī)數(shù)與公有云接收的公有云隨機(jī)數(shù)是否相同,若是,則執(zhí)行步驟(8),否則,公有云刪除數(shù)據(jù)指紋;

      (8)比對(duì)數(shù)據(jù)指紋:

      (8a)公有云根據(jù)待驗(yàn)證密文塊的數(shù)據(jù)塊號(hào)查詢存儲(chǔ)索引表StorageIndex,得到待驗(yàn)證密文塊,公有云將待驗(yàn)證密文塊發(fā)送給私有云;

      (8b)私有云接收到待驗(yàn)證密文塊后,按照私有云和公有云共享的哈希函數(shù),計(jì)算待驗(yàn)證密文塊的哈希值,將哈希值作為數(shù)據(jù)指紋;

      (8c)私有云根據(jù)待驗(yàn)證密文塊的數(shù)據(jù)塊號(hào)查詢索引表IndexTable,得到存儲(chǔ)的待驗(yàn)證密文塊的數(shù)據(jù)指紋;

      (8d)判斷私有云接收的待驗(yàn)證密文塊的數(shù)據(jù)指紋和私有云存儲(chǔ)的待驗(yàn)證密文塊的數(shù)據(jù)指紋是否相同,若是,則私有云向移動(dòng)終端發(fā)送Success,否則,私有云向移動(dòng)終端發(fā)送Failure;

      (8e)判斷移動(dòng)終端用戶是否需要使用數(shù)據(jù),若是,執(zhí)行步驟(9),否則,不做任何處理;

      (9)完整性檢測(cè):

      (9a)根據(jù)待驗(yàn)證文件的隱私等級(jí)的高低,確定時(shí)間間隔;

      (9b)按照時(shí)間間隔,執(zhí)行步驟(7);

      (10)發(fā)送待使用文件的文件名:

      (10a)采用移動(dòng)終端用戶驗(yàn)證方法,私有云對(duì)移動(dòng)終端用戶進(jìn)行驗(yàn)證;

      (10b)私有云查詢移動(dòng)終端用戶信息表,判斷移動(dòng)終端用戶的身份識(shí)別ID和口令psd是否與移動(dòng)終端用戶信息表中的信息一致,若是,則通過移動(dòng)終端用戶驗(yàn)證,執(zhí)行步驟(10c),否則,刪除待驗(yàn)證的移動(dòng)終端用戶的身份識(shí)別碼ID和口令psd;

      (10c)采用驗(yàn)證數(shù)據(jù)指紋方法,公有云和私有云相互驗(yàn)證對(duì)方的數(shù)據(jù)指紋;

      (10d)判斷公有云發(fā)送的公有云隨機(jī)數(shù)和公有云接收的公有云隨機(jī)數(shù)是否相同,若是,則通過驗(yàn)證,公有云生成確認(rèn)消息,發(fā)送給私有云,并執(zhí)行步驟(10e),否則,公有云刪除數(shù)據(jù)指紋;

      (10e)私有云接收到確認(rèn)消息后,將待使用文件的文件名發(fā)送給公有云;

      (11)傳回密文塊:

      (11a)公有云根據(jù)密文文件名查詢關(guān)系索引表RelationIndex,得到該密文文件包含的數(shù)據(jù)塊號(hào);

      (11b)公有云根據(jù)該密文文件包含的數(shù)據(jù)塊號(hào)查詢存儲(chǔ)索引表StorageIndex,得到全部密文塊;

      (11c)公有云將查詢得到的全部密文塊發(fā)送給私有云;

      (11d)私有云接收到全部密文塊后,生成確認(rèn)消息,發(fā)送給公有云;

      (12)遠(yuǎn)程解密:

      (12a)私有云接收到確認(rèn)消息后,用移動(dòng)終端的公鑰加密第一個(gè)密文塊,將加密后的數(shù)據(jù)發(fā)送至移動(dòng)終端;

      (12b)移動(dòng)終端接收到加密后的數(shù)據(jù)后,用自己的私鑰解密接收到的數(shù)據(jù),得到第一個(gè)密文塊;

      (12c)按照下式,移動(dòng)終端計(jì)算密鑰替代值:

      Kp=M(Ek(C1))

      其中,Kp表示密鑰替代值,M(·)表示移動(dòng)終端計(jì)算的一個(gè)哈希函數(shù),Ek(·)表示在密鑰k下使用移動(dòng)終端和私有云共享的加密算法,對(duì)第一個(gè)密文塊C1進(jìn)行加密操作;

      (12d)按照下式,移動(dòng)終端計(jì)算第一個(gè)中間塊:

      I1=Dk(C1)

      其中,I1表示待使用文件的第一個(gè)中間塊,Dk(·)表示在密鑰k下使用對(duì)待對(duì)稱解密算法對(duì)第一個(gè)密文塊C1進(jìn)行解密操作;

      (12e)移動(dòng)終端將第一個(gè)中間塊I1、密鑰替代值Kp和時(shí)間戳t3發(fā)送給私有云;

      (12f)私有云接收到數(shù)據(jù)后,按照下式,私有云計(jì)算全部明文塊:

      <mrow> <msub> <mi>I</mi> <mi>j</mi> </msub> <mo>=</mo> <msub> <mi>D</mi> <msub> <mi>k</mi> <mi>p</mi> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <msub> <mi>C</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow>

      <mrow> <msub> <mi>P</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>I</mi> <mn>1</mn> </msub> <mo>&CirclePlus;</mo> <mi>H</mi> <mrow> <mo>(</mo> <msub> <mi>I</mi> <mn>2</mn> </msub> <mn>...</mn> <msub> <mi>I</mi> <mi>y</mi> </msub> <mo>)</mo> </mrow> </mrow>

      <mrow> <mi>P</mi> <mo>=</mo> <msub> <mi>I</mi> <mi>j</mi> </msub> <mo>&CirclePlus;</mo> <mi>H</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow>

      其中,Ij表示待使用文件的第j個(gè)中間塊,j=2...y,y表示待使用文件分塊的總數(shù),表示在密鑰替代值Kp下使用移動(dòng)終端和私有云共享的對(duì)稱解密算法,對(duì)第j個(gè)密文塊Cj進(jìn)行解密操作,Cj-1表示待使用文件的第j-1個(gè)密文塊,j=2...y,P1表示待使用文件的第一個(gè)明文塊,I1表示待使用文件的第一個(gè)中間塊,H(·)表示私有云計(jì)算的一個(gè)哈希函數(shù),Iy表示待使用文件的第y個(gè)中間塊,P表示全部明文塊,表示按位異或操作;

      (13)返回全部明文塊:

      (13a)私有云將時(shí)間戳t4和解密得到的全部明文塊,發(fā)送給移動(dòng)終端;

      (13b)移動(dòng)終端接收全部明文塊,明文塊包括數(shù)據(jù)塊號(hào)和明文數(shù)據(jù);

      (13c)移動(dòng)終端生成確認(rèn)消息,發(fā)送給私有云。

      本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):

      第一,由于本發(fā)明生成密鑰替代值,代替密鑰進(jìn)行加密和解密計(jì)算操作,克服了現(xiàn)有技術(shù)由于可信第三方知曉密鑰,萬一可信第三方遭受攻擊會(huì)導(dǎo)致密鑰泄露問題,使得本發(fā)明的密鑰具有安全性高的優(yōu)點(diǎn)。

      第二,由于本發(fā)明上傳存儲(chǔ)密文塊,私有云將明文文件加密后上傳存儲(chǔ)在公有云,克服了現(xiàn)有技術(shù)中由于移動(dòng)終端直接將未加密的明文文件發(fā)送存儲(chǔ)在公有云端導(dǎo)致文件安全遭受威脅的問題,使得本發(fā)明的文件數(shù)據(jù)具有安全性高的優(yōu)點(diǎn)。

      第三,由于本發(fā)明采用生成所有密文塊,私有云代替移動(dòng)終端進(jìn)行所有明文塊的加密運(yùn)算操作,克服了現(xiàn)有技術(shù)由于移動(dòng)終端過多地承擔(dān)了完整性驗(yàn)證的工作,會(huì)導(dǎo)致移動(dòng)終端負(fù)擔(dān)過重的問題,使得本發(fā)明具有減輕移動(dòng)終端存儲(chǔ)和計(jì)算負(fù)擔(dān)的優(yōu)點(diǎn)。

      第四,由于本發(fā)明生成所有明文塊,私有云代替移動(dòng)終端進(jìn)行所有密文塊的解密運(yùn)算操作,克服了現(xiàn)有技術(shù)由于移動(dòng)終端過多地承擔(dān)了完整性驗(yàn)證的工作,會(huì)導(dǎo)致移動(dòng)終端負(fù)擔(dān)過重的問題,使得本發(fā)明具有減輕移動(dòng)終端存儲(chǔ)和計(jì)算負(fù)擔(dān)的優(yōu)點(diǎn)。

      第五,由于本發(fā)明刪除全部密文塊,私有云將全部密文塊發(fā)送給公有云后,將全部的密文塊刪除,克服了現(xiàn)有技術(shù)由于可信第三方擁有密文文件,萬一可信第三方遭受攻擊,或者存在云欺詐,會(huì)導(dǎo)致文件信息泄露問題,使得本發(fā)明具有文件信息機(jī)密性高的優(yōu)點(diǎn)。

      附圖說明

      圖1為本發(fā)明的流程圖;

      圖2為本發(fā)明步驟2遠(yuǎn)程加密的流程圖;

      圖3為本發(fā)明步驟12遠(yuǎn)程解密的流程圖。

      具體實(shí)施方式

      下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描述。

      參照附圖1,對(duì)實(shí)現(xiàn)本發(fā)明的具體步驟作進(jìn)一步的描述。

      步驟1,驗(yàn)證移動(dòng)終端用戶。

      采用用戶驗(yàn)證方法,私有云對(duì)移動(dòng)終端用戶進(jìn)行驗(yàn)證。

      實(shí)現(xiàn)用戶驗(yàn)證方法的具體步驟如下:

      第1步,移動(dòng)終端將移動(dòng)終端用戶身份識(shí)別碼ID、口令psd、待加密文件的文件名fn、待加密文件的隱私等級(jí)PrivLevel和時(shí)間戳t1用私有云的公鑰加密,將加密后的消息發(fā)送給私有云。

      第2步,私有云用自己的私鑰解密接收的消息,得到移動(dòng)終端用戶身份識(shí)別碼ID和口令psd。

      私有云查詢移動(dòng)終端用戶信息表,判斷移動(dòng)終端用戶的身份識(shí)別ID和口令psd是否與移動(dòng)終端用戶信息表中的信息一致,若是,則通過移動(dòng)終端用戶驗(yàn)證,執(zhí)行步驟2,否則,刪除待驗(yàn)證的移動(dòng)終端用戶的身份識(shí)別碼ID和口令psd;

      步驟2,遠(yuǎn)程加密。

      參照附圖2,對(duì)實(shí)現(xiàn)遠(yuǎn)程加密操作的具體步驟作進(jìn)一步的描述。

      按照下式,私有云計(jì)算待加密文件的第一個(gè)中間塊:

      <mrow> <msub> <mi>I</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>P</mi> <mn>1</mn> </msub> <mo>&CirclePlus;</mo> <mi>H</mi> <mrow> <mo>(</mo> <msub> <mi>I</mi> <mn>2</mn> </msub> <mn>...</mn> <msub> <mi>I</mi> <mi>i</mi> </msub> <mn>...</mn> <msub> <mi>I</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mrow>

      其中,I1表示待加密文件的第一個(gè)中間塊,P1表示待加密文件的第一個(gè)明文塊,表示按位異或操作,H(·)表示私有云計(jì)算的一個(gè)哈希函數(shù),Ii表示待加密文件的第i個(gè)中間塊,In表示待加密文件的第n個(gè)中間塊,n表示待加密文件的分塊的總數(shù)。

      私有云用移動(dòng)終端的公鑰對(duì)待加密文件的第一個(gè)中間塊I1和時(shí)間戳t2進(jìn)行加密操作,將加密后的消息發(fā)送給移動(dòng)終端。

      私有云用自己的私鑰解密接收到的消息,得到待加密文件的第一個(gè)中間塊I1,按照下式,私有云計(jì)算待加密文件的第一個(gè)密文塊:

      C1=Ek(I1)

      其中,C1表示待加密文件的第一個(gè)密文塊,Ek(·)表示在加密密鑰k下,使用由移動(dòng)終端和私有云共享的對(duì)稱加密算法,對(duì)待加密文件的第一個(gè)中間塊I1進(jìn)行加密操作。

      按照下式,移動(dòng)終端計(jì)算密鑰替代值:

      Kp=M(Ek(C1))

      其中,Kp表示密鑰替代值,M(·)表示移動(dòng)終端計(jì)算的一個(gè)哈希函數(shù),Ek(·)表示在密鑰k下,使用由移動(dòng)終端和私有云共享的對(duì)稱加密算法,對(duì)待加密文件的第一個(gè)密文塊C1進(jìn)行加密操作。

      移動(dòng)終端用私有云的公鑰,對(duì)待加密文件的第一個(gè)密文塊C1和密鑰替代值Kp進(jìn)行加密操作,將加密后的消息發(fā)送給私有云。

      私有云用自己的私鑰解密接收到的消息,得到待加密文件的第一個(gè)密文塊C1和密鑰替代值Kp,按照下式,完成除第一個(gè)明文塊之外的其余明文塊的加密操作,得到所有的密文塊;

      <mrow> <msub> <mi>C</mi> <mi>i</mi> </msub> <mo>=</mo> <msub> <mi>E</mi> <msub> <mi>k</mi> <mi>p</mi> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>I</mi> <mi>i</mi> </msub> <mo>&CirclePlus;</mo> <msub> <mi>C</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow>

      其中,Ci表示待加密文件的第i個(gè)密文塊,i=2...n,n表示密文塊分塊的總數(shù),表示在密鑰替代值Kp下,使用移動(dòng)終端和私有云共享的對(duì)稱加密算法對(duì)待加密文件進(jìn)行加密操作,Ii表示待加密文件的第i個(gè)中間塊,表示按位異或操作,Ci-1表示待加密文件的第i-1個(gè)密文塊。

      私有云生成加密完成的確認(rèn)消息,發(fā)送給移動(dòng)終端。

      私有云刪除待加密文件,遠(yuǎn)程加密步驟結(jié)束。

      步驟3,生成數(shù)據(jù)指紋。

      私有云接收到加密完成的確認(rèn)消息后,依照元數(shù)據(jù)生成算法g(a,b),為每個(gè)密文塊生成K位的元數(shù)據(jù),K表示數(shù)據(jù)塊需要讀取的數(shù)據(jù)位的總量,僅為數(shù)據(jù)所有者和可信第三方私有云知道,g(a,b)表示第a個(gè)數(shù)據(jù)塊的第b位數(shù)據(jù),a=1...m,b=1...x,m表示密文分塊的總數(shù),x表示每一個(gè)數(shù)據(jù)塊中需要讀取的數(shù)據(jù)位置。

      私有云按照私有云和公有云共享的哈希函數(shù)為每個(gè)密文塊的元數(shù)據(jù)生成獨(dú)一無二的數(shù)據(jù)指紋。

      私有云生成密文塊和元數(shù)據(jù)指紋對(duì)應(yīng)關(guān)系的索引表IndexTable,存儲(chǔ)索引表IndexTable。

      步驟4,驗(yàn)證數(shù)據(jù)指紋。

      采用驗(yàn)證數(shù)據(jù)指紋方法,公有云和私有云驗(yàn)證對(duì)方的數(shù)據(jù)指紋。

      實(shí)現(xiàn)驗(yàn)證數(shù)據(jù)指紋方法的具體步驟如下:

      第1步,私有云隨機(jī)選擇隨機(jī)數(shù)rPrc和臨時(shí)密鑰K1,用公有云公鑰對(duì)私有云隨機(jī)數(shù)rPrc、臨時(shí)密鑰K1和公有云標(biāo)識(shí)符Puc進(jìn)行加密操作,對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,將加密后的數(shù)據(jù)和數(shù)據(jù)指紋發(fā)送給公有云;

      第2步,公有云用自己的私鑰解密接收到的消息,得到加密后的數(shù)據(jù)和數(shù)據(jù)指紋,使用私有云和公有云共享的哈希函數(shù)對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,判斷生成的數(shù)據(jù)指紋和接收到的數(shù)據(jù)指紋是否相同,若是,執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步;

      第3步,隨機(jī)選擇公有云隨機(jī)數(shù)rPuc和臨時(shí)密鑰K2,用私有云公鑰對(duì)公有云隨機(jī)數(shù)rPuc、臨時(shí)密鑰K2、私有云隨機(jī)數(shù)rPrc和私有云標(biāo)識(shí)符Prc進(jìn)行加密操作,使用私有云和公有云共享的哈希函數(shù)對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,發(fā)送給私有云;

      第4步,私有云用自己的私鑰解密接收到的消息,得到私有云隨機(jī)數(shù)rPrc,檢驗(yàn)是否是私有云發(fā)送過的隨機(jī)數(shù),若是,則執(zhí)行本步驟的第5步,否則,執(zhí)行本步驟的第1步;

      第5步,私有云用公有云公鑰對(duì)公有云標(biāo)識(shí)符Puc和公有云隨機(jī)數(shù)rPuc進(jìn)行加密操作,對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,發(fā)送給公有云;

      第6步,公有云用自己的私鑰解密接收到的消息,得到公有云隨機(jī)數(shù)rPuc

      判斷私有云返回的公有云隨機(jī)數(shù)和公有云發(fā)送的公有云隨機(jī)數(shù)是否相同,若是,則通過驗(yàn)證,公有云生成確認(rèn)消息,發(fā)送給私有云,執(zhí)行步驟5,否則,公有云刪除數(shù)據(jù)指紋。

      步驟5,上傳存儲(chǔ)密文塊。

      私有云接收到確認(rèn)消息后,將密文文件名以及密文文件的每一個(gè)密文塊發(fā)送給公有云,密文文件的每一個(gè)密文塊包括數(shù)據(jù)塊號(hào)和密文數(shù)據(jù)。

      公有云接收到密文文件名和密文文件的每一個(gè)密文塊后,存儲(chǔ)密文文件名和密文文件的每一個(gè)密文塊,生成關(guān)系索引表RelationIndex和存儲(chǔ)索引表StorageIndex,保存關(guān)系索引表RelationIndex和存儲(chǔ)索引表StorageIndex。

      公有云生成確認(rèn)消息,發(fā)送給私有云。

      步驟6,私有云刪除全部密文塊。

      步驟7,驗(yàn)證挑戰(zhàn)信息。

      (7a)采用驗(yàn)證數(shù)據(jù)指紋方法,公有云和私有云相互驗(yàn)證對(duì)方的數(shù)據(jù)指紋。

      實(shí)現(xiàn)驗(yàn)證數(shù)據(jù)指紋方法的具體步驟如下:

      第1步,私有云隨機(jī)選擇隨機(jī)數(shù)rPrc和臨時(shí)密鑰K1,用公有云公鑰對(duì)私有云隨機(jī)數(shù)rPrc、臨時(shí)密鑰K1和公有云標(biāo)識(shí)符Puc進(jìn)行加密操作,對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,將加密后的數(shù)據(jù)和數(shù)據(jù)指紋發(fā)送給公有云;

      第2步,公有云用自己的私鑰解密接收到的消息,得到加密后的數(shù)據(jù)和數(shù)據(jù)指紋,使用私有云和公有云共享的哈希函數(shù)對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,判斷生成的數(shù)據(jù)指紋和接收到的數(shù)據(jù)指紋是否相同,若是,執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步;

      第3步,隨機(jī)選擇公有云隨機(jī)數(shù)rPuc和臨時(shí)密鑰K2,用私有云公鑰對(duì)公有云隨機(jī)數(shù)rPuc、臨時(shí)密鑰K2、私有云隨機(jī)數(shù)rPrc和私有云標(biāo)識(shí)符Prc進(jìn)行加密操作,使用私有云和公有云共享的哈希函數(shù)對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,發(fā)送給私有云;

      第4步,私有云用自己的私鑰解密接收到的消息,得到私有云隨機(jī)數(shù)rPrc,檢驗(yàn)是否是私有云發(fā)送過的隨機(jī)數(shù),若是,則執(zhí)行本步驟的第5步,否則,執(zhí)行本步驟的第1步;

      第5步,私有云用公有云公鑰對(duì)公有云標(biāo)識(shí)符Puc和公有云隨機(jī)數(shù)rPuc進(jìn)行加密操作,對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,發(fā)送給公有云;

      第6步,公有云用自己的私鑰解密接收到的消息,得到公有云隨機(jī)數(shù)rPuc

      (7b)判斷私有云返回的公有云隨機(jī)數(shù)和公有云發(fā)送的公有云隨機(jī)數(shù)是否相同,若是,則通過驗(yàn)證,公有云發(fā)送確認(rèn)消息給私有云,執(zhí)行步驟(7c),否則,公有云刪除數(shù)據(jù)指紋。

      (7c)私有云生成挑戰(zhàn)信息,對(duì)挑戰(zhàn)信息使用私有云和公有云共享的哈希函數(shù)生成數(shù)據(jù)指紋,將數(shù)據(jù)指紋發(fā)送給公有云。

      挑戰(zhàn)信息,包括待驗(yàn)證密文塊的數(shù)據(jù)塊號(hào)和挑戰(zhàn)值。

      (7d)公有云接收數(shù)據(jù)指紋。

      (7e)判斷公有云發(fā)送的公有云隨機(jī)數(shù)與公有云接收的公有云隨機(jī)數(shù)是否相同,若是,則執(zhí)行步驟8,否則,公有云刪除數(shù)據(jù)指紋。

      步驟8,比對(duì)數(shù)據(jù)指紋。

      公有云根據(jù)待驗(yàn)證密文塊的數(shù)據(jù)塊號(hào)查詢存儲(chǔ)索引表StorageIndex,得到待驗(yàn)證密文塊,公有云將待驗(yàn)證密文塊發(fā)送給私有云。

      私有云接收到待驗(yàn)證密文塊后,按照私有云和公有云共享的哈希函數(shù),計(jì)算待驗(yàn)證密文塊的哈希值,將哈希值作為數(shù)據(jù)指紋。

      私有云根據(jù)待驗(yàn)證密文塊的數(shù)據(jù)塊號(hào)查詢索引表IndexTable,得到存儲(chǔ)的待驗(yàn)證密文塊的數(shù)據(jù)指紋。

      判斷私有云接收的待驗(yàn)證密文塊的數(shù)據(jù)指紋和私有云存儲(chǔ)的待驗(yàn)證密文塊的數(shù)據(jù)指紋是否相同,若是,則私有云向移動(dòng)終端發(fā)送Success,否則,私有云向移動(dòng)終端發(fā)送Failure。

      判斷移動(dòng)終端用戶是否需要使用數(shù)據(jù),若是,執(zhí)行步驟9,否則,不做任何處理。

      步驟9,完整性檢測(cè)。

      根據(jù)待驗(yàn)證文件的隱私等級(jí)的高低,確定時(shí)間間隔。

      根據(jù)待驗(yàn)證文件的隱私等級(jí)的高低,確定時(shí)間間隔是指,將待驗(yàn)證文件的隱私等級(jí)高的完整性檢測(cè)的時(shí)間間隔T設(shè)為1秒,將待驗(yàn)證文件的隱私等級(jí)中的完整性檢測(cè)的時(shí)間間隔T設(shè)為1小時(shí),將待驗(yàn)證文件的隱私等級(jí)低的完整性檢測(cè)的時(shí)間間隔T設(shè)為1天。

      按照時(shí)間間隔,執(zhí)行步驟7。

      步驟10,發(fā)送待使用文件的文件名。

      (10a)采用移動(dòng)終端用戶驗(yàn)證方法,私有云對(duì)移動(dòng)終端用戶進(jìn)行驗(yàn)證。

      實(shí)現(xiàn)用戶驗(yàn)證方法的具體步驟如下:

      第1步,移動(dòng)終端將移動(dòng)終端用戶身份識(shí)別碼ID、口令psd、待加密文件的文件名fn、待加密文件的隱私等級(jí)PrivLevel和時(shí)間戳t1用私有云的公鑰加密,將加密后的消息發(fā)送給私有云;

      第2步,私有云用自己的私鑰解密接收的消息,得到移動(dòng)終端用戶身份識(shí)別碼ID和口令psd。

      (10b)私有云查詢移動(dòng)終端用戶信息表,判斷移動(dòng)終端用戶的身份識(shí)別ID和口令psd是否與移動(dòng)終端用戶信息表中的信息一致,若是,則通過移動(dòng)終端用戶驗(yàn)證,執(zhí)行步驟(10c),否則,刪除待驗(yàn)證的移動(dòng)終端用戶的身份識(shí)別碼ID和口令psd。

      (10c)采用驗(yàn)證數(shù)據(jù)指紋方法,公有云和私有云相互驗(yàn)證對(duì)方的數(shù)據(jù)指紋。

      實(shí)現(xiàn)驗(yàn)證數(shù)據(jù)指紋方法的具體步驟如下:

      第1步,私有云隨機(jī)選擇隨機(jī)數(shù)rPrc和臨時(shí)密鑰K1,用公有云公鑰對(duì)私有云隨機(jī)數(shù)rPrc、臨時(shí)密鑰K1和公有云標(biāo)識(shí)符Puc進(jìn)行加密操作,對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,將加密后的數(shù)據(jù)和數(shù)據(jù)指紋發(fā)送給公有云;

      第2步,公有云用自己的私鑰解密接收到的消息,得到加密后的數(shù)據(jù)和數(shù)據(jù)指紋,使用私有云和公有云共享的哈希函數(shù)對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,判斷生成的數(shù)據(jù)指紋和接收到的數(shù)據(jù)指紋是否相同,若是,執(zhí)行本步驟的第3步,否則,執(zhí)行本步驟的第1步;

      第3步,隨機(jī)選擇公有云隨機(jī)數(shù)rPuc和臨時(shí)密鑰K2,用私有云公鑰對(duì)公有云隨機(jī)數(shù)rPuc、臨時(shí)密鑰K2、私有云隨機(jī)數(shù)rPrc和私有云標(biāo)識(shí)符Prc進(jìn)行加密操作,使用私有云和公有云共享的哈希函數(shù)對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,發(fā)送給私有云;

      第4步,私有云用自己的私鑰解密接收到的消息,得到私有云隨機(jī)數(shù)rPrc,檢驗(yàn)是否是私有云發(fā)送過的隨機(jī)數(shù),若是,則執(zhí)行本步驟的第5步,否則,執(zhí)行本步驟的第1步;

      第5步,私有云用公有云公鑰對(duì)公有云標(biāo)識(shí)符Puc和公有云隨機(jī)數(shù)rPuc進(jìn)行加密操作,對(duì)加密后的數(shù)據(jù)生成數(shù)據(jù)指紋,發(fā)送給公有云;

      第6步,公有云用自己的私鑰解密接收到的消息,得到公有云隨機(jī)數(shù)rPuc

      (10d)判斷公有云發(fā)送的公有云隨機(jī)數(shù)和公有云接收的公有云隨機(jī)數(shù)是否相同,若是,則通過驗(yàn)證,公有云生成確認(rèn)消息,發(fā)送給私有云,并執(zhí)行步驟(10e),否則,公有云刪除數(shù)據(jù)指紋。

      (10e)私有云接收到確認(rèn)消息后,將待使用文件的文件名發(fā)送給公有云;

      步驟11,傳回密文塊。

      公有云根據(jù)密文文件名查詢關(guān)系索引表RelationIndex,得到該密文文件包含的數(shù)據(jù)塊號(hào)。

      公有云根據(jù)該密文文件包含的數(shù)據(jù)塊號(hào)查詢存儲(chǔ)索引表StorageIndex,得到全部密文塊。

      公有云將查詢得到的全部密文塊發(fā)送給私有云。

      私有云接收到全部密文塊后,生成確認(rèn)消息,發(fā)送給公有云。

      步驟12,遠(yuǎn)程解密。

      參照附圖3,對(duì)實(shí)現(xiàn)遠(yuǎn)程解密操作的具體步驟作進(jìn)一步的描述。

      私有云接收到確認(rèn)消息后,用移動(dòng)終端的公鑰加密第一個(gè)密文塊,將加密后的數(shù)據(jù)發(fā)送至移動(dòng)終端。

      移動(dòng)終端接收到加密后的數(shù)據(jù)后,用自己的私鑰解密接收到的數(shù)據(jù),得到第一個(gè)密文塊。

      按照下式,移動(dòng)終端計(jì)算密鑰替代值:

      Kp=M(Ek(C1))

      其中,Kp表示密鑰替代值,M(·)表示移動(dòng)終端計(jì)算的一個(gè)哈希函數(shù),Ek(·)表示在密鑰k下使用移動(dòng)終端和私有云共享的加密算法,對(duì)第一個(gè)密文塊C1進(jìn)行加密操作。

      按照下式,移動(dòng)終端計(jì)算第一個(gè)中間塊:

      I1=Dk(C1)

      其中,I1表示待使用文件的第一個(gè)中間塊,Dk(·)表示在密鑰k下使用對(duì)稱解密算法,對(duì)第一個(gè)密文塊C1進(jìn)行解密操作。

      移動(dòng)終端將第一個(gè)中間塊I1、密鑰替代值Kp和時(shí)間戳t3發(fā)送給私有云。

      私有云接收到數(shù)據(jù)后,按照下式,私有云計(jì)算全部明文塊:

      <mrow> <msub> <mi>I</mi> <mi>j</mi> </msub> <mo>=</mo> <msub> <mi>D</mi> <msub> <mi>k</mi> <mi>p</mi> </msub> </msub> <mrow> <mo>(</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mo>&CirclePlus;</mo> <msub> <mi>C</mi> <mrow> <mi>j</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow>

      <mrow> <msub> <mi>P</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>I</mi> <mn>1</mn> </msub> <mo>&CirclePlus;</mo> <mi>H</mi> <mrow> <mo>(</mo> <msub> <mi>I</mi> <mn>2</mn> </msub> <mn>...</mn> <msub> <mi>I</mi> <mi>y</mi> </msub> <mo>)</mo> </mrow> </mrow>

      <mrow> <mi>P</mi> <mo>=</mo> <msub> <mi>I</mi> <mi>j</mi> </msub> <mo>&CirclePlus;</mo> <mi>H</mi> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow>

      其中,Ij表示待使用文件的第j個(gè)中間塊,j=2...y,y表示待使用文件分塊的總數(shù),表示在密鑰替代值Kp下使用移動(dòng)終端和私有云共享的對(duì)稱解密算法對(duì)第j個(gè)密文塊Cj進(jìn)行解密操作,Cj-1表示待使用文件的第j-1個(gè)密文塊,j=2...y,P1表示待使用文件的第一個(gè)明文塊,I1表示待使用文件的第一個(gè)中間塊,H(·)表示私有云計(jì)算的一個(gè)哈希函數(shù),Iy表示待使用文件的第y個(gè)中間塊,P表示全部明文塊,表示按位異或操作。

      遠(yuǎn)程解密步驟結(jié)束。

      步驟13,返回全部明文塊。

      私有云將時(shí)間戳t4和解密得到的全部明文塊,發(fā)送給移動(dòng)終端。

      移動(dòng)終端接收全部明文塊,明文塊包括數(shù)據(jù)塊號(hào)和明文數(shù)據(jù)。

      移動(dòng)終端生成確認(rèn)消息,發(fā)送給私有云。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1