?

DNA密碼學在云計算數據安全中的應用

2022-08-16 03:27施媛波
計算機工程與設計 2022年8期
關鍵詞:公鑰解密密鑰

施媛波

(云南師范大學商學院 計算機科學系,云南 昆明 650106)

0 引 言

隨著云計算技術的進步,文本、音頻、視頻、圖像等各種信息被存儲在云中,但由于存在許多攻擊者和惡意用戶,在云環境中管理多媒體文件是最受關注的挑戰之一[1,2]。由于數據被分發到不同的存儲設備,數據完整性和隱私成為云計算中主要考慮的問題[3,4]。加密技術通常用于解決云數據安全問題[5,6],其中有價值的信息受到保護,并限制未經授權的用戶訪問私有數據。DNA計算在密碼學領域得到了廣泛的應用[7,8],使用DNA計算進行數據加密,可以使未經授權的、惡意的用戶和攻擊者無法讀取數據內容[9,10]。

針對云計算環境下多媒體文件的保護問題,提出了一種云計算中基于DNA的多媒體安全模型,該模型的數據所有者根據用戶屬性、用戶密碼、DNA參考密鑰、互補規則和十進制編碼規則隨機生成長1024位密鑰,以降低密鑰生成、密鑰檢索、多媒體加密和多媒體解密的時間和成本。利用1024位DNA密鑰、數據所有者(data owner,DO)密鑰和云服務提供商(cloud service provider,CSP)公鑰來加密多媒體文件的安全性,以保護多媒體文件免受校驗值丟失攻擊、碰撞攻擊、網絡釣魚攻擊、密碼猜測攻擊、偽裝攻擊等多種安全攻擊。實驗結果表明,本文算法具有更高的效率,能夠保護多媒體文件免受多種安全攻擊。

1 云計算多媒體加密

提出的算法使用1024位的DNA密鑰對用戶的機密多媒體文件或消息進行加密,并通過多個過程生成密鑰以提高安全性。該方案主要包括4個階段:DNA密鑰生成、基于DNA序列的多媒體加密、用戶登錄注冊、多媒體訪問。

1.1 生成NDA密鑰

數據所有者(DO)執行密鑰生成過程,并僅為授權或有效用戶生成DNA密鑰。若用戶是有效的,DO要求用戶提供密碼并獲取必要的用戶屬性。將十進制編碼規則(表1)應用于密碼和屬性的值,使信息具有相同的格式。十進制編碼規則通過使用基于DNA的加密來支持隨機性從而提高多媒體文件的安全性,產生的DNA序列作為DNA密鑰提供給用戶或客戶。

表1 十進制編碼規則

密鑰生成過程如下:首先為了獲得密鑰和證書,用戶向DO發送一個請求,DO驗證用戶的授權,若用戶無效,拒絕用戶請求。若用戶請求有效,DO要求用戶提供密碼,并收集用戶的密碼和必要的屬性進行十進制編碼,生成的十進制數被轉換成其相應的8位二進制數,這些8位二進制數被轉換成相應的美國信息交換標準碼(American standard code for information interchange,ASCII)[11,12],見表2,以生成一個與每個8位二進制數相對應的隨機十進制數,將ASCII值再次轉換為它們的實際8位二進制數。若二進制數的長度小于1024位,則在其右側添加額外的0以使其成為1024位,否則將從左側刪除多余的位。

表2 ASCII編碼規則

生成的1024位二進制數分為4部分(每組256位),并將DNA堿基(A(腺嘌呤)、C(胞嘧啶)、G(鳥嘌呤)和T(胸腺嘧啶))分配給每個部分[13,14],見表3。DO從公開可用的DNA堿基中隨機選擇一個DNA參考密鑰,并將其添加到前一步生成的DNA堿基的中間。將互補規則應用于DNA序列,使其成為最終的DNA密鑰。這個過程提高了多媒體文件的安全性,以防黑客和惡意用戶的攻擊?;パa規則可以表示為V(C)=W, 其中C≠W。 補充規則如下: (CA)(AT)(GC) 表示為V(C)=A, 以此類推。

在多媒體加密過程中使用刪除或添加位生成的二進制數,通過DO私鑰和用戶的公鑰加密后,將應用互補規則所得DNA字符串(密鑰)提供給用戶。DO還會在同一個

表3 2位二進制的DNA堿基

加密消息中發送十進制編碼規則、ASCII編碼規則、DNA參考密鑰和互補規則。相應的用戶只能利用用戶私鑰和DO公鑰對加密后的消息進行解密。用戶可以快速恢復原始密鑰,因為其擁有DO提供的所有憑據。

1.2 基于DNA序列的多媒體加密

在基于DNA的多媒體加密階段,DO將明文分成1024位的塊,然后將每個1024位塊分組為4個相等的塊(每個塊256位)。將明文分為256位塊后,根據表2的8位二進制數將其轉換為相應的ASCII值,將這些二進制位轉換成實數。在加密明文的256位塊和密鑰的256位塊之間執行EXOR操作。因此,每1024位明文塊有4個EXOR操作,使用表3將將每個2位二進制數轉換成相應的DNA堿基。因為有4個DNA堿基,所以最多可以有24個DNA堿基的組合,DO可以從24個組合中選擇任何一個,將明文加密的二進制形式轉換成DNA堿基。

為了提高安全性,DO在獲得的DNA堿基中間添加了DNA參考密鑰,DNA參考密鑰與密鑰生成階段使用的密鑰相同,DO使用的互補規則與1.1節中使用的互補規則相同。

最后用DO私鑰對得到的DNA序列進行加密,再用CSP公鑰對其進行再次加密。DO還將相應的訪問權限或證書與多媒體數據內容一起加密,并將整個加密信息保存在云數據庫中。CSP無法解密加密的多媒體文件,因為密鑰和其它憑據僅與授權用戶共享。CSP僅使用CSP的私鑰和DO公鑰對加密的多媒體文件或消息進行解密,并將其與證書一起保存在云數據庫中。

1.3 用戶注冊登錄

授權用戶必須向CSP發送請求以在云服務器中注冊,CSP收到請求后收集用戶的個人或機密信息(如,出生日期、家庭住址、學校名稱),并生成用戶的個人資料。然后,建立安全通信介質(安全套接字層(secure socket layer,SSL)來傳送密鑰對、注冊應答和重復身份,特定的注冊用戶只能從重復的身份中獲取真實身份。攻擊者或黑客無法從重復的身份中獲取實際用戶的身份,DO在云服務器中的注冊也遵循相同的過程。

授權用戶或客戶只允許在注冊階段后登錄系統或服務器。CSP在登錄過程之后向用戶回復確認。在登錄過程之后,用戶向服務提供商發送訪問多媒體文件的請求。CSP以加密的形式將DO公鑰發送給用戶或客戶,以從相應的DO獲得證書或訪問權限以及密鑰或密碼。用戶只有在得到相應的DO公鑰后才能請求相應的DO。在確認用戶所請求的秘密文件的真實性后,CSP以用戶的授權證書的形式對其進行加密。

1.4 多媒體訪問

只有授權用戶才能從云服務器訪問多媒體文件。任何多媒體文件的訪問都有幾個步驟:

首先用戶必須在云服務器(CSP)中注冊,CSP向用戶發出確認,用戶登錄到云服務器。CSP接受有效或授權用戶的登錄請求,當成功的授權過程完成時,CSP向用戶發送回復或確認。用戶以加密的形式向CSP發送請求,以訪問多媒體文件,CSP從云數據庫中找到相應的請求多媒體文件的DO公鑰,CSP使用CSP私鑰和用戶公鑰生成密文后,將DO公鑰提供給相應的用戶,用戶使用用戶公鑰和CSP公鑰解密后檢索DO公鑰。然后,用戶通過使用用戶公鑰和DO公鑰向相應的DO發起一個加密請求,以提供密鑰和證書,DO從CSP驗證用戶的真實性,CSP向DO發送關于用戶身份驗證的回復,DO要求用戶提供密碼。用戶向DO提供密碼,DO利用密碼和用戶屬性信息生成DNA密鑰,然后將所有憑證發送給使用DO私鑰和用戶公鑰加密的用戶。

DO將多媒體文件的密文和相應的證書存儲在云服務器上,使用DO密鑰和CSP公鑰加密。CSP僅僅通過使用CSP密鑰和DO公鑰來解密信息。然后,用戶將證書提交給使用用戶密鑰和CSP公鑰加密的CSP,加密的消息由CSP解密以獲取證書。最后,CSP從服務器搜索請求的多媒體文件,并根據DO提供的證書驗證用戶的證書。當證書正確或有效時,將執行其余進程。CSP通過使用CSP密鑰和用戶公鑰對用戶請求的多媒體文件進行加密,然后將其發送給用戶。用戶獲得加密的消息并通過用戶密鑰對其進行解密,然后使用CSP公鑰進行解密。最后,利用DNA密鑰再次執行解密過程。由于用戶擁有DO在加密期間使用的所有憑證,因此用戶可以獲得原始數據內容。

2 實驗結果與分析

為了評價算法的性能,所有實驗均是在配置為8 GB RAM、1 TB存儲容量、3.40 GHz Intel Core i5 processor的Windows 10操作系統進行的,使用CloudSim3.0.3構建了一個云模擬環境。在CloudSim中使用10個數據中心來創建一個異構云環境,該環境由2000個物理節點、1 GB/s的網絡帶寬和4 GB的存儲容量組成。數據集是從可公開獲得的CityPulse數據集集合[15]中收集的,該數據集提供了不同類型的數據集(污染、天氣和道路交通等),本文車輛交通數據集(大小為3 GB)用于實驗。為了計算多媒體文件的密鑰生成時間、密鑰檢索時間和加密解密次數,在不同的情況下進行了50次實驗,得到了每個結果,取這50個結果的平均值。

表4給出了基于DNA的可逆數據隱藏方案(reversible data hiding scheme,RDHS)和基于混沌的圖像加密(chaos-based image encryption,CBIE)與本文算法的密鑰生成時間。這3種方案均是基于DNA進行數據加密,CBIE首先利用DNA序列和logistic圖譜生成許多DNA掩模,然后利用遺傳算法尋找最佳的DNA模板,以尋找適合圖像加密的最佳DNA掩模。RDHS使用DNA異或規則來處理用戶的機密或敏感多媒體文件。RDHS中,信息被嵌入,經過提取處理后,信息準確地還原為原始的宿主信號。但是,如果攻擊者獲得二進制編碼規則和DNA異或規則,則攻擊者可以獲得數據的原始內容。

表4 各算法的密鑰生成時間/ms

可以看出,與CBIE和RDHS相比,本文算法可以更快速生成密鑰,這是因為一旦密鑰被提供給用戶,用戶就可在將來使用生成的密鑰,對于已具有密鑰的現有或老用戶,密鑰生成時間減少。在CBIE和RDHS方案中,所有用戶或客戶必須在每次訪問多媒體時獲得密鑰才能進行下一步的處理,導致檢索時間呈現線性增長。

表5給出了各算法的密鑰檢索時間??梢钥闯?,所提算法可以更快檢索用戶生成的密鑰,為用戶檢索密鑰提供更好的結果。這是因為在本文算法中,如果老用戶或現有用戶已經收集了密鑰,則不需要從Do獲取DNA密鑰,為用戶檢索密鑰提供了更好的結果。在現有的CBIE和RDHS中,每當用戶想要從云數據庫中獲取任何數據時,每次都需要從DO獲取密鑰并進行檢索,其密鑰檢索時間較長,并且會產生線性增長。

表6給出了各算法的加密時間??梢钥闯?,在云計算環境下,本文算法加密時間最短,具有較快的加密速度。這是因為,本文算法使用表1、表2和DNS參考秘鑰和補充規則生成DNA秘鑰,一旦密鑰被提供給用戶,用戶就可以在將來使用它,對于已經具有DNA秘鑰的現有或老用

表5 各算法的密鑰檢索時間/ms

戶,密鑰生成時間減少。而CBIE的迭代算法增加了多媒體文件加密的時間,RDHS使用直方圖修改技術,所有用戶必須在每次訪問多媒體時獲得密鑰才能進行下一步的處理,增加了數據加密的時間。

表6 各算法的加密時間/ms

表7給出了各算法的多媒體解密時間??梢钥闯?,本文算法具有最短的解密時間,產生了更好的效果。這是因為,本文算法在DO在傳輸密鑰時向用戶提供所有憑證,用戶可以使用這些憑證輕松地解密多媒體文件或信息。多媒體解密不需要復雜的操作,需要4個EXOR操作,減少了解密時間。而CBIE和RDHS需要進行許多復雜的操作和EXOR操作來解密多媒體文件,增加了時間。

表7 各算法的解密時間/ms

3 安全性分析

所提出的基于DNA的多媒體加密方案可以防止許多攻擊。

碰撞攻擊:在本文算法中,密鑰是根據用戶提供的密碼和用戶的屬性(如ID、地址和出生日期)生成的,兩個用戶的屬性不可能完全相同,此外,密碼是基于用戶的選擇。DO和CSP不會向其他人透露任何敏感信息,如果黑客試圖合并兩個不同用戶的兩個不同輸入的詳細信息,則黑客或惡意用戶必須擁有兩個授權用戶的所有機密詳細信息以及表1、表2、表3以及DNA參考密鑰和補充規則。獲取關于兩個不同用戶的所有信息幾乎是不可能的,因此,本文算法可以抵抗碰撞攻擊。

校驗值丟失攻擊:在本文算法中,DO生成DNA密鑰并用它加密多媒體文件,加密后的多媒體文件在存儲到云數據庫之前使用DO密鑰和CSP公鑰再次加密。DNA私鑰只提供給使用DO私鑰和用戶公鑰加密的授權用戶,DO通過CSP驗證用戶的真實性后生成密鑰。相應的用戶只有在使用用戶密鑰和DO公鑰解密時才能獲得密鑰。DO不會將DNA密鑰存儲在任何地方,甚至不會存儲在云服務器上。在竊取的校驗值攻擊中,黑客或惡意用戶不能獲得哈希密碼,提出的算法可以抵抗校驗值丟失攻擊。

網絡釣魚攻擊:在本文算法中,CSP在收到用戶的注冊請求后,將用戶的所有詳細信息或信息集合起來,CSP通過安全套接字層提供公鑰和私鑰對。CSP也遵循相同的方法來注冊DO。當用戶發送對多媒體或數據的訪問請求時,服務提供商僅以密文形式向用戶提供相應DO公鑰,DO僅在確認用戶的真實性后提供DNA私鑰。DO和CSP都不會向授權用戶公開自己的任何敏感或機密信息。因此,黑客或惡意用戶無法獲取授權用戶的信息,可以抵抗網絡釣魚攻擊。

密碼猜測攻擊:黑客或惡意用戶嘗試所有可能的密碼組合來獲得有效密碼,在該方案中DO根據密碼和用戶屬性,使用表1、表2、DNA參考密鑰和互補規則創建DNA密鑰。在多媒體加密階段,DO使用表2、表3、DNA參考密鑰和補充規則。由于DNA密鑰是利用用戶的秘密信息生成的,因此黑客或未經授權的用戶難以獲取所有的秘密信息。如果一個黑客在最壞的情況下獲得了一個授權用戶的所有秘密信息,則其必須有表1、表2、DNA參考密鑰和補充規則來檢索密鑰。DO通過使用DO密鑰和用戶公鑰,只與加密結構中的授權或有效用戶共享這些憑證,只有相應的有效用戶可以使用其DO密鑰和用戶公鑰對其進行解密,對于任何攻擊者或惡意用戶來說,猜測所有這些信息幾乎是不可能的。提出的算法可以抵抗密碼猜測攻擊。

偽裝攻擊:未經授權的用戶使用任何虛假信息或身份進行未經授權的訪問,所有用戶都需要在CSP上注冊,注冊成功后才能訪問任何服務。因此,未經授權或惡意用戶無法使用偽造的身份登錄云服務器,也無法在未登錄云服務器的情況下訪問云服務器上的任何服務。在最壞的情況下,如果黑客登錄到云服務器并請求獲取任何多媒體文件,CSP將提供DO公鑰,用于從相應的DO獲取密鑰和證書。在生成和發送DNA密鑰和證書之前,DO從CSP確認用戶的真實性,如果黑客使用偽造的身份訪問任何多媒體文件,則CSP端不驗證其真實性,DO拒絕發送密鑰和證書的請求。因此,攻擊者或黑客無法通過使用偽造的身份從云服務器獲得任何未經授權的訪問,提出的算法可以抵御這種攻擊。

4 結束語

提出了一種云計算中基于DNA密碼學的多媒體安全模型,用來解決云環境下多媒體由于通過互聯網傳輸而易受到黑客攻擊的問題。數據所有者根據用戶屬性、用戶密碼、DNA參考密鑰、互補規則和十進制編碼規則隨機生成長1024位密鑰,使用生成的密鑰基于DNA序列來加密多媒體文件。數據所有者將加密的多媒體數據內容存儲在云數據庫中,只有授權用戶才能從云服務器訪問加密的多媒體文件。實驗結果表明,本文算法具有更高的效率,能夠保護多媒體文件免受校驗值丟失攻擊、碰撞攻擊、網絡釣魚攻擊、密碼猜測攻擊、偽裝攻擊等多種安全攻擊。未來的工作是對本文方案的安全性分析進行數學證明,并改進云計算環境的認證過程。

猜你喜歡
公鑰解密密鑰
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
案例教學法在公鑰密碼體制難點教學中的應用——以ssh服務中雙向認證為例
炫詞解密
解密“一包三改”
密碼系統中密鑰的狀態與保護*
炫詞解密
炫詞解密
TPM 2.0密鑰遷移協議研究
神奇的公鑰密碼
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合