一種基于塊安全再生碼的輕量級數(shù)據(jù)安全存儲方法
【專利摘要】本發(fā)明公開一種基于塊安全再生碼的輕量級數(shù)據(jù)安全存儲方法,包括密文數(shù)據(jù)的生成、密文數(shù)據(jù)的編碼和存儲數(shù)據(jù)的解碼等步驟。本發(fā)明將塊安全的概念和輕量級的加密方案引入到基于信息論安全的再生碼,保證數(shù)據(jù)的機密性和完整性,該方法不需預先限定監(jiān)聽者的監(jiān)聽強度,若監(jiān)聽強度低于門限時系統(tǒng)滿足完全安全,若監(jiān)聽強度高于門限時系統(tǒng)滿足計算安全,并且有著較高的計算效率。
【專利說明】
-種基于塊安全再生碼的輕量級數(shù)據(jù)安全存儲方法
技術領域
[0001] 本發(fā)明屬于布式存儲安全技術領域,特別是設及分布式存儲系統(tǒng)中的利用再生碼 實現(xiàn)數(shù)據(jù)安全存儲的方法。
【背景技術】
[0002] 分布式存儲服務的成本低,但是分布式存儲系統(tǒng)的基礎設施更多的是部署在云 端,普通用戶無法對物理存儲設備進行掌控,所W基于保障基礎設施安全的傳統(tǒng)方法不適 用于分布式云存儲系統(tǒng),將再生碼安全性方法引入到分布式存儲系統(tǒng)中的主要目的是在保 證數(shù)據(jù)安全的前提下降低分布式存儲系統(tǒng)的計算開銷。
[0003] 分布式存儲系統(tǒng)可W通過傳統(tǒng)密碼學方案保證機密性,但是由于在分布式存儲系 統(tǒng)中數(shù)據(jù)量巨大,在數(shù)據(jù)存取過程中包含的加解密操作會給系統(tǒng)帶來的巨大的計算開銷。
[0004] 分布式存儲系統(tǒng)中的主要安全需求包括數(shù)據(jù)機密性和完整性。針對運兩方面的安 全需求,現(xiàn)有的再生碼安全性方法如化ah N等人提出了一種基于信息論安全的再生碼,闡 述并證明了節(jié)點在引入隨機變量作為冗余數(shù)據(jù)時,監(jiān)聽者在監(jiān)聽部分節(jié)點時是無法獲取任 何與原始信息相關的數(shù)據(jù)。Dau等人提出了"塊安全"的概念,W降低安全強度的代價避免了 完全安全帶來的存儲開銷,可W根據(jù)監(jiān)聽者的情況自適應的設定安全等級,但是由于需要 估計監(jiān)聽者的安全強度,一旦估算錯誤就會對系統(tǒng)的安全性造成重大威脅,因此在實踐中 較少采用。我們提出了將塊安全的概念和輕量級的加密方案引入到基于信息論安全的再生 碼,保證數(shù)據(jù)的機密性和完整性。
【發(fā)明內(nèi)容】
[0005] 發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術中存在的不足,提供一種基于塊安全 再生碼的輕量級數(shù)據(jù)安全存儲方法,本發(fā)明將塊安全的概念和輕量級的加密方案引入到基 于信息論安全的再生碼,不需預先限定監(jiān)聽者的監(jiān)聽強度,若監(jiān)聽強度低于口限時系統(tǒng)滿 足完全安全,若監(jiān)聽強度高于口限時系統(tǒng)滿足計算安全,并且有著較高的計算效率。
[0006] 技術方案:本發(fā)明所述的一種基于塊安全再生碼的輕量級數(shù)據(jù)安全存儲方法,包 括密文數(shù)據(jù)的生成、密文數(shù)據(jù)的編碼和存儲數(shù)據(jù)的解碼等步驟:
[0007] 其中,所述密文數(shù)據(jù)的生成步驟如下:
[000引(1)根據(jù)數(shù)據(jù)包數(shù)量產(chǎn)生密鑰群,采用哈希算法生成相應數(shù)據(jù)包的完整性標記;
[0009] (2) W完整性標記和該數(shù)據(jù)塊對應的密鑰作為種子,利用隨機序列生成算法產(chǎn)生 與相應數(shù)據(jù)長度匹配的隨機序列,該隨機序列與原始數(shù)據(jù)混淆,生成待存儲的混淆數(shù)據(jù);
[0010] (3)對原始數(shù)據(jù)的完整性標記加密(取生成的完整性標記,用密鑰加密生成相應的 密文完整性標記),將密文完整性標記和混淆數(shù)據(jù)按約定的格式級聯(lián)起來,整體打包作為分 布式存儲的密文數(shù)據(jù),該密文數(shù)據(jù)可W保證數(shù)據(jù)的計算安全;
[0011] 所述密文數(shù)據(jù)的編碼步驟如下:
[0012] (4)密文數(shù)據(jù)構建:對于生成的密文數(shù)據(jù)構建的對稱矩陣Μ如下:
[0013]
[0014] 其中:S是一個k X k的對稱矩陣,上Ξ角矩陣共有個元素;Τ是一個k X (d- k)的矩陣,共有k(d-k)個元素 T;Tt是Τ的轉置矩陣;0是(d-k)x(d-k)的零矩陣。
[0015] 運樣Μ中的上Ξ角矩陣中包含了所有所需的密文數(shù)據(jù)。
[0016] (5)密文數(shù)據(jù)編碼:編碼矩陣Ψ是獨立于消息矩陣Μ,用柏表示Ψ的第i行,用來把 第i個密文數(shù)據(jù)編碼為存儲數(shù)據(jù),即?' =φ;Μ。此時生成的存儲數(shù)據(jù)滿足塊安全;
[0017] 所述存儲數(shù)據(jù)的解碼步驟如下:
[0018] (6)對密文數(shù)據(jù)解包生成加密的完整性標記和混淆數(shù)據(jù):解密密文完整性標記和 混淆數(shù)據(jù),取生成的密文完整性標記,用相應的密鑰進行解密,獲取原始的完整性標記;
[0019] (7) W原始的完整性標記和該數(shù)據(jù)塊對應的密鑰作為種子,利用隨機序列生成算 法產(chǎn)生與相應數(shù)據(jù)長度匹配的隨機序列,該隨機序列與原始數(shù)據(jù)逆混淆,恢復為原始數(shù)據(jù);
[0020] (8)生成新的完整性標記并進行完整性校驗:使用相同的哈希算法,對產(chǎn)生的原始 數(shù)據(jù)做哈希運算,產(chǎn)生新完整性標記。對新完整性標記和初始的完整性標記進行比對,W判 斷在數(shù)據(jù)的使用中數(shù)據(jù)是否被發(fā)生篡改,W完成數(shù)據(jù)的完整性校驗。
[0021] 進一步的,步驟(1)中生成的完整性標記長度不小于密鑰長度。
[0022] 進一步的,步驟(2)中生成的隨機序列r為Ran(t,k),其中k為數(shù)據(jù)包對應的密鑰k 和t為數(shù)據(jù)包的完整性標記,Ran()為隨機序列發(fā)生器,并滿足生成的隨機序列長度r等于原 始數(shù)據(jù)長度。
[0023] 進一步的,步驟(7)中生成的隨機序列r'為''=1?3114',1〇,其中4為數(shù)據(jù)包對應的 密鑰k和t'為解密后的完整性標記,Ran()為與密文數(shù)據(jù)的生成過程中相同的隨機序列發(fā)生 器,并滿足生成的隨機序列長度r等于原始數(shù)據(jù)長度。
[0024] 進一步的,步驟(8)中選用與密文數(shù)據(jù)的生成過程中相同的算法并生成新的完整 性標記t",比較t與t"。
[0025] 有益效果:本發(fā)明將塊安全的概念和輕量級的加密方案引入到基于信息論安全的 再生碼,保證數(shù)據(jù)的機密性和完整性,而且加解密屬于輕量級算法,計算效率較高,而且不 需預先限定監(jiān)聽者的監(jiān)聽強度,若監(jiān)聽強度低于口限時系統(tǒng)滿足完全安全,若監(jiān)聽強度高 于口限時系統(tǒng)滿足計算安全。
【附圖說明】
[0026] 圖1為本發(fā)明的流程示意圖。
【具體實施方式】
[0027] 下面對本發(fā)明技術方案進行詳細說明,但是本發(fā)明的保護范圍不局限于所述實施 例。
[0028] 實施例1:本實施例中的基于塊安全再生碼的輕量級數(shù)據(jù)安全存儲方法包括W下 幾個階段。
[00巧]一、加密階段:
[0030] (1)密鑰的產(chǎn)生具體可描述為:
[0031] 加密方案確定密鑰數(shù)量η和密鑰長度Cu'fw作為輸入. i-l
[0032] 產(chǎn)生的密鑰集合C,即
[0036] 其中ki為密鑰群中的第i個密鑰。
[0037] (2)完整性標記的產(chǎn)生具體可描述為:
[003引 W生成的分塊數(shù)據(jù)集合Λ4作為輸入,>? = .ν,;
[0039] 確定產(chǎn)生完整性標記對應的哈希函數(shù)Η(χ);
[0040] 對數(shù)據(jù)塊S做Η(χ)哈希運算,產(chǎn)生完整性標記t,有:
[0041] t = H(s)
[0042] 產(chǎn)生完整性標記集合了,即:
[0046] 其中ti為第i個數(shù)據(jù)塊Si的完整性標記。
[0047] (3)隨機序列產(chǎn)生具體可描述為:
[004引 W產(chǎn)生的完整性標記集合了和密鑰集合足作為輸入;
[0049] 確定隨機序列生成算法Ran(x);
[0050] W完整性標記t和該數(shù)據(jù)塊對應的密鑰k作為種子生成隨機序列,有:
[0051] r = Ran(t,k)
[0化2] 產(chǎn)生隨機序列集合化,即:
[0056] 其中ri為第i個隨機序列,1為中數(shù)據(jù)分塊的大小。
[0057] (4)混淆具體可描述為:
[0化引 W分塊數(shù)據(jù)集合瓜?和隨機序列集合化作為輸入;
[0059] 則單個數(shù)據(jù)塊的混淆數(shù)據(jù)C,滿足:
[0060] c=m? r
[0061 ]將分塊數(shù)據(jù)集合瓜1和隨機序列集合雙產(chǎn)生混淆數(shù)據(jù)集合C,即:
[0062] C= Confme(M 爪)
[0063] 滿足;
[0064]
[0065] 其中Cl為第i個數(shù)據(jù)塊的混淆數(shù)據(jù)。
[0066] (5)完整性標記加密具體可描述為:
[0067] W完整性標記集合了和密鑰群集合X:作為輸入;
[0068] 確定加密方案化c(x);
[0069] 使用密鑰群中匹配的密鑰ki對用加密方案化c(x)對完整性標記h加密,生成密文 完整性標記e,即:
[0070] e = E;nc(t,ki)
[0071 ]則生成密文完整性標記集合ε,即:
[007引其中化ciO對應不同的加密方案,例如DES,AES等。
[0076] (6)打包具體可描述為:
[0077] W產(chǎn)生的混淆數(shù)據(jù)集合C和產(chǎn)生的密文完整性標記集合ε作為輸入;
[0078] 將每個數(shù)據(jù)塊對應的混淆數(shù)據(jù)C和密文完整性標記e級聯(lián),產(chǎn)生每個數(shù)據(jù)塊對應的 密文數(shù)據(jù)h,即:
[0079] h = c||e
[0080] 最終打包的密文數(shù)據(jù)集合Η,即:
[0084] 二、解密階段:
[0085] (1)解包具體可描述為:
[0086] W密文數(shù)據(jù)集合Ρ作為輸入;
[0087] 將每個數(shù)據(jù)塊對應的密文數(shù)據(jù)Ρ通過分割操作得到對應的混淆數(shù)據(jù)C和密文完整 性標記e,即:
[0088] (c,e}=div(p)
[0089] 最終得到混淆數(shù)據(jù)集合C和密文完整性標記集合ε,即:
[0093] (2)密文完整性標記解密具體可描述為:
[0094] W密文完整性標記集合ε和密鑰群集合Κ作為輸入;
[00Μ]確定相應的解密方案Dec(x);
[0096] 使用密鑰群中匹配的密鑰ki對用解密方案Dec(x)對密文完整性標記e加密,生成 完整性標記h,即:
[0097] h = Dec(e,ki)
[0098] 則生成完整性標記集合W,即:
[0102] (3)隨機序列產(chǎn)生具體可描述為:
[0103] W產(chǎn)生的完整性標記集合了和密鑰集合K作為輸入;
[0104] 確定隨機序列生成算法Ran(x);
[0105] W完整性標記t和該數(shù)據(jù)塊對應的密鑰k作為種子生成隨機序列,有:
[0106] r = Ran(t,k)
[0107] 產(chǎn)生隨機序列集合化,即:
[0111] 其中ri為第i個隨機序列,1為中數(shù)據(jù)分塊的大小。
[0112] (4)恢復具體可描述為:
[0113] WSplitO中產(chǎn)生的混淆數(shù)據(jù)集合C作為輸入;
[0114] 則單個數(shù)據(jù)塊的混淆數(shù)據(jù)C,滿足:
[0115] c=m? r
[0116] 將混淆數(shù)據(jù)集合C和隨機序列集合巧進行逆操作得到分塊數(shù)據(jù)集合A^:,即:
[0120] (5)新完整性標記產(chǎn)生具體可描述為:
[0121] W恢復的分塊數(shù)據(jù)集合作為輸入;
[0122] 使用相同的哈希函數(shù)H(x)產(chǎn)生新完整性標記;
[0123] 對各個數(shù)據(jù)塊分別做H(x)哈希運算,產(chǎn)生新完整性標記t',有:
[0124] t'=H(m)
[01巧]產(chǎn)生新完整性標記集合了 ',即:
[0129]其中ti'為第i個數(shù)據(jù)塊的新完整性標記。
[0130] (6)完整性校驗具體可描述為:
[0131] W化曲ecO中產(chǎn)生的完整性標記集合了和化gGenO中產(chǎn)生的新完整性標記集合 了 I作為輸入;
[0132] 對比新完整性標記t'和完整性標記t是否相等;
[0133] 若ti ' = ti代表第i個數(shù)據(jù)塊未被篡改;
[0134] 若ti'聲ti代表第i個數(shù)據(jù)塊可能發(fā)送篡改。
【主權項】
1. 一種基于塊安全再生碼的輕量級數(shù)據(jù)安全存儲方法,其特征在于:包括密文數(shù)據(jù)的 生成、密文數(shù)據(jù)的編碼和存儲數(shù)據(jù)的解碼幾個步驟: 其中,所述密文數(shù)據(jù)的生成步驟如下: (1) 根據(jù)數(shù)據(jù)包數(shù)量產(chǎn)生密鑰群,利用哈希算法生成相應數(shù)據(jù)包的完整性標記; (2) 生成隨機序列與原始數(shù)據(jù)混淆,生成待存儲的混淆數(shù)據(jù); (3) 對原始數(shù)據(jù)的完整性標記加密,并與混淆數(shù)據(jù)級聯(lián)生成密文數(shù)據(jù); 所述密文數(shù)據(jù)的編碼步驟如下: (4) 對于生成的密文數(shù)據(jù)構建為待存儲數(shù)據(jù); (5) 選擇編碼矩陣將密文數(shù)據(jù)編碼為存儲數(shù)據(jù); 所述存儲數(shù)據(jù)的解碼步驟如下: (6) 對密文數(shù)據(jù)解包生成加密的完整性標記和混淆數(shù)據(jù); (7) 解密完整性標記,生成隨機序列與原始數(shù)據(jù)逆混淆,恢復為原始數(shù)據(jù); (8) 生成新的完整性標記,并進行完整性校驗。2. 根據(jù)權利要求1所述的采用基于塊安全再生碼的輕量級安全存儲方法,其特征在于: 步驟(1)中生成的完整性標記長度不小于密鑰長度。3. 根據(jù)權利要求1所述的采用基于塊安全再生碼的輕量級安全存儲方法,其特征在于: 步驟(2)中生成的隨機序列r為Ran(t,k),其中k為數(shù)據(jù)包對應的密鑰k和t為數(shù)據(jù)包的完整 性標記,Ran()為隨機序列發(fā)生器,并滿足生成的隨機序列長度r等于原始數(shù)據(jù)長度。4. 根據(jù)權利要求1所述的采用基于塊安全再生碼的輕量級安全存儲方法,其特征在于: 步驟(7)中生成的隨機序列r '為r ' = Ran (t ',k),其中k為數(shù)據(jù)包對應的密鑰k和t '為解密后 的完整性標記,Ran()為與密文數(shù)據(jù)的生成過程中相同的隨機序列發(fā)生器,并滿足生成的隨 機序列長度r等于原始數(shù)據(jù)長度。5. 根據(jù)權利要求1所述的采用基于塊安全再生碼的輕量級安全存儲方法,其特征在于: 步驟(8)中選用與密文數(shù)據(jù)的生成過程中相同的算法并生成新的完整性標記t",依次對每 個數(shù)據(jù)包比較t與t"是否一致。
【文檔編號】H04L9/06GK106059748SQ201610305742
【公開日】2016年10月26日
【申請日】2016年5月10日
【發(fā)明人】黃杰, 許金樂, 李凡, 倪廣源, 衛(wèi)錦, 朱仟, 曹山山, 閔溪青, 萬棄寒, 張云龍
【申請人】東南大學