版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
-[17]:(1)進行數(shù)據(jù)加密:實際數(shù)據(jù)的對稱加密處理(2)會話密鑰保護:加密傳輸中的臨時密鑰機制SM4的算法特點包括:(1)基于8×8S盒的非線性變換方法(2)基于線性變換的擴散性能提升研究(3)輪密鑰生成依賴密鑰擴展算法(4)支持ECB、OFB、CFB、CBC等工作模式。國密算法的集成策略:集成國密算法于ABE系統(tǒng)的關(guān)鍵問題探討:雙線性配對與SM2的結(jié)合:由于SM2使用特定的橢圓曲線,而ABE系統(tǒng)需要支持雙線性配對的橢圓曲線,因此需要在系統(tǒng)中同時支持兩種橢圓曲線群:一種用于實現(xiàn)ABE算法(如BN128),另一種用于SM2數(shù)字簽名。哈希函數(shù)的統(tǒng)一:在ABE系統(tǒng)里,把屬性映射成群元素,這個過程往往用哈希函數(shù)來完成,本系統(tǒng)采用SM3做統(tǒng)一的哈希函數(shù),既用它來驗證數(shù)據(jù)完整性,又用來在ABE算法里把屬性映射成群元素。對稱加密的分層設(shè)計:采用分層加密設(shè)計,使用SM4對實際數(shù)據(jù)進行加密(效率高),再使用ABE技術(shù)對SM4密鑰進行加密(實現(xiàn)細粒度訪問控制)數(shù)字簽名的整合:采用SM2數(shù)字簽名保障數(shù)據(jù)的完整性和不可否認性,SM2簽名操作在SM4加密之前完成,從而保證即使解密驗證失敗,也能檢測到數(shù)據(jù)被篡改。這樣一種集成策略,既滿足了國密算法的使用要求,也充分發(fā)揮了各種算法的優(yōu)點,形成了一個安全、高效的數(shù)據(jù)共享系統(tǒng)。2.4本章小結(jié)此章講解創(chuàng)建依靠屬性基加密的數(shù)據(jù)分享系統(tǒng)所必要的背景知識與有關(guān)技術(shù),先論述橢圓曲線密碼學,雙線性映射這些密碼學根基,給認識ABE系統(tǒng)的數(shù)學原理形成根基,再細致敘述屬性基加密的基本概念,類別以及安全模型,著重剖析CP-ABE的技術(shù)特性及長處,在訪問樹那一部分探究怎樣用樹形結(jié)構(gòu)來體現(xiàn)繁雜的訪問策略,還有怎樣利用線性秘密共享和拉格朗日插值技術(shù)達成高效的秘密分配和重新組建,末了,該章講述了系統(tǒng)采用的三種國密算法(SM2,SM3,SM4)各自的技術(shù)特點及其在系統(tǒng)里的運用方法。通過對這些基本概念和技術(shù)加以深刻認識,給后面章節(jié)里有關(guān)系統(tǒng)的設(shè)計與完成形成了穩(wěn)固的理論根基,下一章會細致闡述系統(tǒng)的總體流程規(guī)劃,包含加密以及解密的詳細步驟及算法達成。3系統(tǒng)流程設(shè)計3.1系統(tǒng)總設(shè)計雙線性映射引擎:給予有效的雙線性配對運算支持,其中包含橢圓曲線點運算,標量乘法,配對計算等關(guān)鍵功能,此模塊依照各種計算平臺實施改良,支撐多線程并行運算來加強性能。證書頒發(fā)機構(gòu)(CA)模塊:完成系統(tǒng)初始化以及用戶私鑰的生成和管理,CA模塊保存系統(tǒng)的主密鑰MK,根據(jù)用戶的屬性集合生成對應(yīng)的私鑰,CA模塊設(shè)計遵循最小權(quán)限原則,只有經(jīng)過授權(quán)的操作才能夠訪問主密鑰。訪問策略樹管理模塊:提供訪問策略的創(chuàng)建,編輯,校驗和存儲功能,此模塊具備圖形化界面,可以讓用戶直接用眼睛看到并設(shè)計復雜的訪問策略,其中包含AND,OR,Threshold之類的邏輯運算,訪問策略能夠存成JSON格式的文件,利于長久保留或者通過網(wǎng)絡(luò)傳送。加密模塊:實現(xiàn)數(shù)據(jù)的分層加密,先用SM4算法對原始數(shù)據(jù)進行對稱加密,再用SM2算法對數(shù)據(jù)進行數(shù)字簽名,最后用CP-ABE技術(shù)對SM4密鑰進行加密,這樣就充分利用了各種算法的優(yōu)點,在保障安全的前提下提高了系統(tǒng)的整體性能。解密模塊:按照加密的逆過程恢復數(shù)據(jù),先驗證用戶屬性符合訪問策略,再用ABE算法解開SM4密鑰,之后用SM4密鑰解開數(shù)據(jù),最后驗證數(shù)字簽名保障數(shù)據(jù)完整真實。密鑰管理模塊:用戶屬性管理、私鑰分發(fā)與更新,此模塊負責用戶屬性映射關(guān)系的維護,支持屬性動態(tài)增刪,提供密鑰撤銷機制來應(yīng)對安全事件。圖3.SEQ圖3.\*ARABIC1系統(tǒng)架構(gòu)系統(tǒng)采用分層安全架構(gòu),各層具備特定安全措施與功能:數(shù)據(jù)層:采用SM4實現(xiàn)高效對稱加密以保障數(shù)據(jù)傳輸與存儲的機密性訪問控制層:基于CP-ABE技術(shù)的細粒度訪問控制研究與實現(xiàn)完整性保護層:基于SM2數(shù)字簽名與SM3哈希算法保障數(shù)據(jù)完整性與真實性身份認證層:基于屬性與數(shù)字證書機制保障用戶身份合法性。3.2訪問樹定制流程訪問樹的設(shè)計和定制是系統(tǒng)實現(xiàn)細粒度訪問控制的核心,本節(jié)闡述訪問樹的設(shè)計原理,搭建流程以及改良策略。訪問樹的數(shù)學模型:在系統(tǒng)中,訪問樹T是一個有向無環(huán)圖(DAG),其中:每個節(jié)點v都有一個類型:LEAF(葉節(jié)點)、AND(與門)、OR(或門)或Threshold(閾值門)葉節(jié)點表示一個屬性attr內(nèi)部節(jié)點有一個閾值k,表示滿足的子節(jié)點個數(shù)根節(jié)點表示整個訪問策略。訪問樹的定制過程:(1)策略需求剖析:第一要剖析實際的應(yīng)用場景,明確所需控制的屬性集U={attr1,attr2,...,attrn},比如在教育系統(tǒng)里也許包含“學生”,“研究生”,“教授”,“管理員”之類的屬性。(2)邏輯關(guān)系設(shè)計:根據(jù)業(yè)務(wù)邏輯來設(shè)計屬性之間的邏輯關(guān)系,比如訪問策略可能是“(學生AND研究生)OR(教授OR管理員)”,表示要么是研究生,要么是教授或者管理員。(3)樹結(jié)構(gòu)構(gòu)建:將邏輯關(guān)系轉(zhuǎn)換成樹結(jié)構(gòu),先創(chuàng)建根節(jié)點,類型為OR,閾值為1,創(chuàng)建第一個子節(jié)點,類型為AND,閾值為2,給AND節(jié)點添加兩個葉節(jié)點,學生,研究生,創(chuàng)建第二個子節(jié)點,類型為OR,閾值為給第二個OR節(jié)點添加兩個葉節(jié)點,教授,管理員,最后把這兩個分支添加到根節(jié)點。(4)索引分配:給每一個節(jié)點賦予獨有的索引,此索引被用于秘密分享以及拉格朗日差值運算,索引分配利用深度優(yōu)先探尋的方法來保證各個節(jié)點具備獨有的標識。(5)策略驗證:對構(gòu)建的訪問樹進行驗證,檢查樹的完整性和連通性(無環(huán)),節(jié)點類型和閾值是否正確,屬性是否一致。樹的序列化和持久化:為了實現(xiàn)策略的保存與傳輸,系統(tǒng)實現(xiàn)了訪問樹的JSON序列化。序列化后格式包括節(jié)點類型、閾值、屬性、索引、子節(jié)點等信息,具有較好的可讀性及結(jié)構(gòu)。動態(tài)策略調(diào)整:系統(tǒng)允許在不重新加密數(shù)據(jù)的前提下對策略做有限度的修改,可以對屬性進行重命名、增加OR分支(擴大訪問權(quán)限)、調(diào)整閾值門的閾值(合理范圍內(nèi)),但是不允許刪除OR分支(縮小訪問權(quán)限)、增加AND條件、刪除屬性等操作,這些操作都需要重新加密數(shù)據(jù)。3.3加密流程加密流程是系統(tǒng)的主要功能之一,利用分層加密策略來保障數(shù)據(jù)的保密性和訪問控制的精確性,整個加密流程可劃分成如下幾個主要環(huán)節(jié):圖3.SEQ圖3.\*ARABIC2加密流程步驟1:選擇訪問策略,數(shù)據(jù)所有者要選擇或者定義一個訪問策略A,該策略用訪問樹來表達,表明哪些屬性組合能夠解密數(shù)據(jù),用戶可以挑選從文件里加載既有的策略,也可以采用系統(tǒng)賦予的默認策略。步驟2:生成會話密鑰,系統(tǒng)生成一個隨機的128位SM4密鑰K作為會話密鑰,該密鑰將用于對實際數(shù)據(jù)進行對稱加密,選用SM4是因為其加密速度快,適合大量數(shù)據(jù)加密。步驟3:采用數(shù)據(jù)簽名和加密的方法來保證數(shù)據(jù)的完整性和不可否認性,系統(tǒng)首先對原始數(shù)據(jù)進行SM2數(shù)字簽名,再將“數(shù)據(jù)+簽名”進行SM4加密:計算數(shù)據(jù)的SM3哈希值:H=SM3(M)生成SM2數(shù)字簽名:(r,s)=SM2Sign(sksign,M)(3.1)創(chuàng)建簽名數(shù)據(jù):M’=M||r||sSM4加密:Cdata=SM4Enc(K,M’)(3.2)步驟4:CP-ABE密鑰加密這是最關(guān)鍵的步驟,使用CP-ABE技術(shù)對SM4密鑰進行加密。CP-ABE加密過程包含以下子步驟:隨機數(shù)生成:選擇隨機數(shù)s∈Zq,確保隨機數(shù)的質(zhì)量和不可預測性。計算密文組件C:C=g1s,這是密文的主要組件,基于雙線性映射的第一個群G1。計算掩碼:計算e(g1,g2)αs,用于掩碼SM4密鑰。這里利用了雙線性映射的性質(zhì),將主密鑰α和隨機數(shù)s結(jié)合起來。加密SM4密鑰:將SM4密鑰與掩碼進行異或運算,得到掩碼后的密鑰。這種方法確保只有擁有正確屬性的用戶才能恢復原始密鑰。生成屬性密文:對訪問策略中的每個屬性x,計算:hx=H(x)(將屬性哈希到G1群),Cx=hxs。這一步驟為每個屬性生成對應(yīng)的密文分量,這些分量將在解密時用于驗證用戶的屬性。構(gòu)建最終密文:密文CT包含:C=g1s、C’=掩碼后的SM4密鑰、{Cx:對每個屬性x}、訪問策略樹的序列化表示。數(shù)學原理:CP-ABE加密的思想就是用線性秘密共享的方式把密鑰分解成每個屬性相關(guān)的部分。假設(shè)訪問樹的根節(jié)點代表秘密s,利用多項式插值,將這個秘密分配給每一個葉節(jié)點(屬性)。每個葉節(jié)點得到一個秘密分享sx,相應(yīng)的密文組件為Cx=hxsx。性能優(yōu)化:為了提高加密效率,采用如下優(yōu)化策略:預計算常用橢圓曲線點、并行計算多個屬性的密文組件、利用快速冪算法計算指數(shù)、對小規(guī)模配對運算進行緩存。3.4解密流程解密流程是加密流程的逆過程,目的是從密文中恢復原始數(shù)據(jù),同時驗證用戶的訪問權(quán)限和數(shù)據(jù)的完整性。解密流程包括以下主要步驟:圖3.SEQ圖3.\*ARABIC3解密流程步驟1:密文解析首先解析接收到的密文,提取各個組件。系統(tǒng)從密文中提取C、主要的密文組件C’、掩碼后的SM4密鑰Cattrs、屬性對應(yīng)的密文組件policy、訪問策略樹的序列化表示。步驟2:訪問策略驗證檢查用戶的屬性集合是否滿足密文中嵌入的訪問策略。這個驗證過程采用遞歸的方式,從葉節(jié)點開始向上檢查,對于葉節(jié)點,檢查對應(yīng)的屬性是否在用戶的屬性集合中。對于內(nèi)部節(jié)點,計算滿足條件的子節(jié)點數(shù)量,并與閾值比較,只有當根節(jié)點返回True時,用戶才有權(quán)限解密數(shù)據(jù)。步驟3:拉格朗日插值計算如果用戶通過訪問策略驗證,系統(tǒng)使用拉格朗日插值技術(shù)重構(gòu)解密密鑰。這是最復雜的計算步驟:標識滿足節(jié)點:自頂向下找出所有滿足條件的最小節(jié)點集合。計算拉格朗日系數(shù):對于每個滿足的節(jié)點i,計算拉格朗日系數(shù)。這個系數(shù)用于在拉格朗日插值中正確地組合各個秘密分享。重構(gòu)解密值:使用拉格朗日插值公式重構(gòu)原始秘密。通過組合滿足條件的節(jié)點的秘密分享,可以恢復出用于解密的密鑰。步驟4:SM4密鑰恢復通過雙線性配對運算恢復被掩碼的SM4密鑰:計算配對:使用用戶的私鑰和密文組件進行雙線性配對運算。去除掩碼:將配對結(jié)果與掩碼后的SM4密鑰進行異或運算,恢復原始的SM4密鑰。步驟5:數(shù)據(jù)解密和驗證使用恢復的SM4密鑰解密數(shù)據(jù),然后驗證簽名:SM4解密:利用解密所得SM4密鑰對加密數(shù)據(jù)組合解密,獲取“明文+簽名”組合數(shù)據(jù)。為了防止側(cè)信道攻擊,系統(tǒng)保證了解密的時間不會取決于失敗的原因,這樣可以防止攻擊者通過時間分析來獲取系統(tǒng)的有關(guān)信息。簽名驗證:基于SM2算法的數(shù)字簽名有效性驗證確保數(shù)據(jù)傳輸完整性完整性檢查:簽名驗證失敗時,解密過程將終止并返回錯誤,確保系統(tǒng)不輸出篡改數(shù)據(jù)錯誤處理和安全考慮:系統(tǒng)在解密過程中形成起完備的錯誤處理機制,如果用戶屬性不符合訪問策略,則立刻返回解密失敗,不再執(zhí)行后面的計算,倘若拉格朗日插值運算發(fā)生故障,系統(tǒng)就會改用備用算法或者給出出錯消息,如果簽名校驗不成功,那么系統(tǒng)便記下可能存在的竄改舉動。3.5系統(tǒng)信息共享流程加密共享系統(tǒng)和解密共享系統(tǒng)都采用了客戶端-服務(wù)器結(jié)構(gòu),實現(xiàn)了安全的信息交換,分別監(jiān)聽9000和9001端口,所有網(wǎng)絡(luò)通信都由NetworkManager類處理。通信協(xié)議采用固定格式:8字節(jié)的消息類型標識、8字節(jié)的長度以及JSON格式的內(nèi)容,支持“MSG”和“ATTR_REQ”兩種消息。信息交換分為兩個流程,一個是加密消息的傳輸,另一個是策略信息交換。加密系統(tǒng)會對原始數(shù)據(jù)使用SM4加密,再對SM4密鑰使用CP-ABE加密,而解密系統(tǒng)會根據(jù)用戶的屬性來生成密鑰,如果符合訪問策略就可以成功解密。系統(tǒng)安全性依靠三個機制,一是基于屬性的訪問控制,只有擁有合適屬性組合的用戶才能解密數(shù)據(jù),二是采用國密算法(SM2/3/4)與雙線性映射,保障數(shù)據(jù)安全,三是用戶屬性由用戶本地管理,不通過網(wǎng)絡(luò)傳輸,保護屬性隱私。3.6本章小結(jié)本章介紹了基于屬性基加密的數(shù)據(jù)共享系統(tǒng)的核心流程設(shè)計。系統(tǒng)總體設(shè)計展示了一個模塊化的、可以擴展的系統(tǒng),把復雜的密碼學操作封裝在獨立的模塊中,使得系統(tǒng)具有可維護性、安全性。訪問樹定制流程給用戶賦予了靈活且強大的訪問控制策略設(shè)計工具,它依靠AND,OR,Threshold等多種邏輯門,可表現(xiàn)復雜的權(quán)限控制需求,而且,序列化機制和動態(tài)調(diào)整功能也給實際應(yīng)用帶來了便利。加密流程采取分層設(shè)計,各種密碼算法各取所長,SM4給出高效的對稱加密,SM2保障數(shù)據(jù)真實性和完整,CP-ABE做到細粒度的訪問控制,這樣既維持了安全性,又明顯改善了系統(tǒng)性能。解密流程通過嚴格的訪問策略驗證、高效的拉格朗日插值運算以及完備的簽名驗證,從而保證只有合法用戶才能得到正確的解密結(jié)果,而且,完備的錯誤處理機制與安全考量也提升了系統(tǒng)的可靠度和安全性。下一章將深入探討訪問樹的實現(xiàn)細節(jié),包括節(jié)點定義、結(jié)構(gòu)修改與存儲等技術(shù)內(nèi)容。4訪問樹定制設(shè)計與實現(xiàn)4.1引言訪問樹的設(shè)計應(yīng)具備表達能力強、表示復雜的布爾邏輯關(guān)系的能力、計算效率高、在大規(guī)模屬性集合下仍能保持良好性能、易于操作、支持動態(tài)的策略調(diào)整與維護、安全性強、防止惡意用戶繞過訪問控制。4.2設(shè)計目標訪問樹模塊的設(shè)計目標可以從功能性和非功能性兩個維度來考慮:(1)功能性目標:多類型節(jié)點支持:系統(tǒng)需要支持多種類型的節(jié)點,包括葉節(jié)點(LEAF)對應(yīng)具體的屬性、與門節(jié)點(AND)所有子節(jié)點都必須滿足、或門節(jié)點(OR)至少一個子節(jié)點滿足即可、閾值門節(jié)點(Threshold)k個子節(jié)點滿足即可。支持策略表達與驗證,提供語法支持及自動驗證和語法檢查功能。支持動態(tài)策略調(diào)整,實現(xiàn)有限策略調(diào)整而無需重新加密數(shù)據(jù)。支持序列化、持久化及策略的保存、加載與網(wǎng)絡(luò)傳輸。(2)非功能性目標:執(zhí)行性能改良,在維持功能完備性的情況下,把計算效率做到最大,內(nèi)存經(jīng)營,對內(nèi)存運用實施有效的經(jīng)營,規(guī)避內(nèi)存泄漏和棧溢出,可擴充性,形成模塊化的架構(gòu),方便日后增添新功能,出錯處理,給予周全的出錯處理辦法,保障系統(tǒng)穩(wěn)定運行。4.3系統(tǒng)構(gòu)造4.3.1訪問樹節(jié)點定義節(jié)點關(guān)系管理:通過parent和children屬性來維持節(jié)點間的父子聯(lián)系,能夠?qū)崿F(xiàn)雙向遍歷,在添加子節(jié)點的時候,系統(tǒng)會自動更新父子關(guān)系以及索引,在刪除子節(jié)點的時候,系統(tǒng)會重新給剩下的子節(jié)點分配索引,從而保證索引是連續(xù)的。(1)節(jié)點屬性:每個節(jié)點具備節(jié)點種類(AND/OR/LEAF/Threshold),閾值(僅僅內(nèi)部節(jié)點會用得到),屬性(只是葉節(jié)點才會用到),子節(jié)點清單,父節(jié)點參考,節(jié)點編號,秘密共享數(shù)值以及多項式系數(shù)這些屬性。(2)節(jié)點索引機制:每個節(jié)點都有一個索引,索引在以下場景起著關(guān)鍵作用:線性秘密共享時多項式求值的點-拉格朗日插值時的插值點節(jié)點的索引。索引分配采用深度優(yōu)先遍歷方式,保證訪問樹的每個節(jié)點都有唯一標識符,遍歷時從根節(jié)點開始,給當前節(jié)點分配索引,再遞歸地給所有子節(jié)點分配索引。4.3.2訪問樹的結(jié)構(gòu)修改策略等價性檢查:當進行樹結(jié)構(gòu)修改的時候,系統(tǒng)能夠檢查修改前后策略是否等價,這個檢查過程借助于生成測試用例集合,針對每一個測試用例來檢驗修改前后策略給出的結(jié)果是否一致。節(jié)點添加操作:添加新節(jié)點時先判斷插入位置是否合法,比如葉子節(jié)點沒有孩子,然后在指定位置插入新節(jié)點,更新父子關(guān)系,再重新分配索引,檢查樹的合法性。節(jié)點刪除操作:刪除節(jié)點的時候要處理它的子節(jié)點,要是被刪掉的節(jié)點有子節(jié)點,系統(tǒng)就會把子節(jié)點提升到父節(jié)點,維持樹的結(jié)構(gòu)完整,對于葉節(jié)點,可以直截了當刪掉,刪掉以后,系統(tǒng)會重新分派索引,還要檢查樹是否有效。樹結(jié)構(gòu)優(yōu)化:要提升計算效率,系統(tǒng)具備訪問樹自動改良功能:把相同種類的鄰接節(jié)點合起來,比如,兩個相鄰的OR節(jié)點可合成為一個OR節(jié)點,去除不必要的單子樹,要是某個內(nèi)部節(jié)點僅有一子節(jié)點,就可用子節(jié)點來代替它,對子節(jié)點重新排序,依照計算復雜程度或者概率去改良子節(jié)點的訪問次序。4.3.3訪問樹的保存與讀取壓縮和優(yōu)化:對于比較大的訪問樹,系統(tǒng)支持壓縮功能,采用gzip算法壓縮JSON數(shù)據(jù),減少存儲空間與傳輸時間,壓縮后的數(shù)據(jù)仍保留結(jié)構(gòu),可正確解壓恢復。序列化實現(xiàn):序列化把訪問樹轉(zhuǎn)變成字典格式,含有節(jié)點種類,閾值,屬性,索引以及子節(jié)點信息,序列化的數(shù)據(jù)可轉(zhuǎn)變成JSON字符串,可執(zhí)行美化輸出并設(shè)定字符編碼。反序列化實現(xiàn):反序列化過程從字典或者JSON字符串恢復訪問樹結(jié)構(gòu),系統(tǒng)會遞歸創(chuàng)建節(jié)點,正確設(shè)置父子關(guān)系和索引,在反序列化的時候包含全面的錯誤檢查,保證數(shù)據(jù)的完整性和正確性。文件操作:系統(tǒng)提供了方便的文件保存和加載功能。保存的時候會自動創(chuàng)建目錄,文件鎖定等。加載的時候會有完整的錯誤處理,可以處理文件不存在,沒有權(quán)限,格式錯誤等等各種異常。版本控制:為支持策略的版本管理,在序列化時加入版本信息,即版本號、時間戳和校驗和,方便追蹤策略的變更歷史并執(zhí)行一致性驗證。4.4本章小結(jié)這一章細致闡述了訪問樹的設(shè)計與達成狀況,涵蓋節(jié)點界定,結(jié)構(gòu)變動以及儲存方法等方面,依靠TreeNode類的用心規(guī)劃,系統(tǒng)做到了靈活又高效的訪問策略表述及管理工作。訪問樹節(jié)點定義部分主要闡述了節(jié)點的主要屬性和方法,特別是索引機制和節(jié)點之間的關(guān)系,這為后續(xù)秘密共享和拉格朗日插值奠定了基礎(chǔ)。訪問樹的結(jié)構(gòu)修改功能給用戶賦予了動態(tài)修改訪問策略的能力,利用節(jié)點的增添,刪減和移動操作,用戶能夠在不重新加密數(shù)據(jù)的前提下做一些策略上的改動,樹結(jié)構(gòu)改良以及策略等價性檢測功能也提升了該系統(tǒng)的實用性和可靠性。訪問樹的保存與讀取使用了JSON格式,方便閱讀且跨平臺,版本控制和壓縮優(yōu)化功能為實際應(yīng)用提供了更多的便利。下一章將介紹基于雙線性映射的屬性基加密系統(tǒng)的具體實現(xiàn),包括CA的初始化、策略樹的讀取以及國密算法的集成。5屬性基加密系統(tǒng)設(shè)計與實現(xiàn)5.1引言CP-ABE系統(tǒng)的安全性依賴于雙線性映射的困難性假設(shè),其中最重要的是雙線性Diffie-Hellman(BDH)假設(shè)和判斷雙線性Diffie-Hellman(DBDH)假設(shè)。即使攻擊者得到了多個用戶的私鑰,只要這些用戶的屬性組合不滿足密文的訪問策略,他們也無法得到原始數(shù)據(jù)。5.2屬性基加密的實現(xiàn)5.2.1CA的初始化證書頒發(fā)機構(gòu)(CA)在ABE系統(tǒng)中扮演著關(guān)鍵角色,它負責系統(tǒng)參數(shù)的生成、主密鑰的管理和用戶私鑰的頒發(fā)。CA的安全性直接關(guān)系到整個系統(tǒng)的安全性。系統(tǒng)參數(shù)生成:CA初始化過程包含以下步驟:(1)雙線性群的選擇:選擇三個循環(huán)群G?、G?和G?,其中G?和G?的階為q(大素數(shù)),雙線性映射e=G?×G?→G?(5.1)(2)生成元的確定:分別選擇G?和G?的生成元g?和g?。(3)主密鑰的生成:隨機選擇兩個指數(shù)α,β∈Z?,其中α是主密鑰,β是輔助參數(shù)。系統(tǒng)首先初始化雙線性映射引擎,基于BN128橢圓曲線構(gòu)建雙線性群。然后生成主密鑰α和參數(shù)β,這兩個值必須使用密碼學安全的隨機數(shù)生成器,確保其不可預測性。接下來計算公鑰組件,包括g1β、g1α和e(g1,g2)α。最后構(gòu)建并發(fā)布公鑰PP=(g1,g2,g1β,e(g1,g2)α)(5.2)(1)隨機數(shù)生成:利用密碼學安全的隨機數(shù)生成器(CSPRNG),產(chǎn)生α與β,保證隨機性且難以預料。(2)主密鑰保護:α須嚴格保密,不得在系統(tǒng)中存儲或傳輸,相關(guān)計算均在CA內(nèi)部完成(3)參數(shù)驗證:確保參數(shù)生成滿足安全性要求,包括β≠0及群運算的正確性。(4)公鑰的發(fā)布:CA生成的公鑰將公開發(fā)布,供系統(tǒng)用戶使用。5.2.2策略樹的讀取默認策略樹的構(gòu)建:系統(tǒng)提供一個示例策略樹,實現(xiàn)(StuANDGra)OR(ProfORAdmin)的訪問策略,表示要么是研究生(同時具有學生和研究生身份),要么是教授或者管理員。創(chuàng)建根節(jié)點、構(gòu)建子樹、分配索引等。策略樹的解析:系統(tǒng)提供交互式的策略選擇界面,用戶可以選擇從文件加載策略樹或者使用默認的示例策略樹,如果選擇從文件加載策略樹,則提示用戶輸入文件路徑,然后嘗試解析JSON格式的策略文件,如果加載失敗則自動回退到默認策略樹。圖5.SEQ圖5.\*ARABIC1示例訪問樹策略驗證:系統(tǒng)在應(yīng)用策略樹前進行完整性驗證:(1)結(jié)構(gòu)檢查:保證樹結(jié)構(gòu)完整且無循環(huán)依賴。(2)語法驗證:驗證節(jié)點類型與閾值的有效性。(3)語義分析:確保策略邏輯合理性。5.2.3實現(xiàn)屬性基加密的技術(shù)CP-ABE的實現(xiàn)涉及四個核心算法:Setup、KeyGen、Encrypt和Decrypt。每個算法都有其特定的數(shù)學原理和實現(xiàn)方式。Setup算法:Setup算法在CA初始化時執(zhí)行,生成系統(tǒng)的公開參數(shù)和主密鑰。算法選擇雙線性群,選擇生成元,隨機選擇主密鑰和輔助參數(shù),計算公鑰組件并輸出公開參數(shù)和主密鑰。KeyGen算法:KeyGen算法為擁有特定屬性集合的用戶生成私鑰。算法首先選擇隨機數(shù)r,然后計算主密鑰分量對于每個屬性,算法將屬性映射到G?中的點,選擇隨機數(shù)r?,計算屬性私鑰分量D?=g?^r·H(j)^r?。最終用戶私鑰包含主分量D和每個屬性的分量。數(shù)學原理:用戶私鑰包含主分量D=g2(α+r)/β(5.3)和每個屬性j的分量Dj=g1其中H是將屬性映射到G?的哈希函數(shù)。Encrypt算法:Encrypt算法將明文與訪問策略一起加密。算法選擇隨機數(shù)s,計算C=g?s,計算掩碼因子e(g1,g2)αs,使用掩碼加密SM4密鑰。然后為每個屬性計算密文組件,將屬性哈希到G?群,計算Cattr=Hattrs最后構(gòu)建包含所有組件的密文。Decrypt算法:Decrypt算法檢查用戶屬性是否滿足訪問策略,如果滿足則恢復明文。算法首先檢查訪問策略,計算解密值(使用拉格朗日插值),恢復SM4密鑰并解密數(shù)據(jù)。如果任何步驟失敗,算法返回解密失敗。5.3國密算法的參與及實現(xiàn)國密算法在系統(tǒng)中發(fā)揮著重要作用,確保符合我國密碼法規(guī)要求的同時,為數(shù)據(jù)提供全方位的安全保護。5.3.1SM3算法的實現(xiàn)數(shù)據(jù)完整性驗證:系統(tǒng)提供恒定時間比較函數(shù)以防范時序攻擊。(1)屬性映射:屬性字符串到橢圓曲線群點的映射方法研究。(2)數(shù)據(jù)完整性:計算數(shù)據(jù)哈希值以驗證完整性。(3)數(shù)字簽名:數(shù)字簽名算法的消息摘要提供方案。屬性映射實現(xiàn):系統(tǒng)使用try-and-increment方法把屬性字符串映射成橢圓曲線點,算法把屬性編碼成字節(jié),用計數(shù)器產(chǎn)生不同的輸入,算出SHA256哈希,在實際應(yīng)用中應(yīng)當用SM3,把哈希值改成標量,試著生成橢圓曲線點,如果成功就返回點和對應(yīng)的標量,失敗就試著下一個計數(shù)器值。通過計算數(shù)據(jù)的SM3哈希值并與期望值比較,可以驗證數(shù)據(jù)是否被篡改。5.3.2SM2算法的實現(xiàn)SM2橢圓曲線公鑰密碼算法主要用于數(shù)字簽名,確保數(shù)據(jù)的真實性和不可否認性。密鑰對生成:SM2Signer類在初始化時生成密鑰對。系統(tǒng)使用密碼學安全的隨機數(shù)生成器生成私鑰,通過橢圓曲線點乘法計算公鑰。所有操作都在SM2推薦的橢圓曲線上進行。數(shù)字簽名過程:簽名算法首先計算哈希值ZA||M,其中ZA是用戶標識的哈希。然后進入簽名循環(huán):生成隨機數(shù)k,計算橢圓曲線點(x1,y1)=[k]G,計算r=(e+x1)modn(5.6)計算s=((1+dA)-1?
(k-r?dA))modn(5.7)如果r或s為0,重新生成k。最終返回簽名(r,s)。簽名驗證過程:驗證算法檢查r和s的范圍,計算哈希值ZA||M,計算t=(r+s)modn,計算驗證點[s]G+[t]PA,計算R=(e+x1)modn,驗證R是否等于r。5.3.3SM4算法的實現(xiàn)填充機制:實現(xiàn)了標準的PKCS7填充。填充時計算填充的長度,保證數(shù)據(jù)按照16字節(jié)的邊界對齊,填充值就是填充的長度。去除填充時驗證填充的有效性,防止填充Oracle攻擊。加密實現(xiàn):SM4加密函數(shù)先對明文做PKCS7填充,然后創(chuàng)建SM4加密器并設(shè)置密鑰,再執(zhí)行ECB模式加密,最后返回密文。整個過程保證數(shù)據(jù)以16字節(jié)塊的方式被處理。解密實現(xiàn):SM4解密函數(shù)創(chuàng)建SM4解密器并設(shè)置密鑰,執(zhí)行ECB模式解密,去除PKCS7填充,返回明文。解密過程有完整的錯誤檢查,保證填充正確。5.4系統(tǒng)的加密流程加密流程是系統(tǒng)的核心功能,它將普通的數(shù)據(jù)轉(zhuǎn)換為只有授權(quán)用戶才能解密的密文。整個過程涉及多個密碼學算法的協(xié)調(diào)配合。圖5.SEQ圖5.\*ARABIC2加密系統(tǒng)可視化界面完整加密流程:(1)預處理階段:系統(tǒng)首先選擇訪問策略樹,如果是首次使用則提示用戶選擇。然后生成128位隨機SM4密鑰,作為會話密鑰使用。(2)數(shù)據(jù)處理階段:系統(tǒng)對原始數(shù)據(jù)進行UTF-8編碼,計算SM3哈希值保證數(shù)據(jù)完整性,使用SM2算法對數(shù)據(jù)進行數(shù)字簽名,將原始數(shù)據(jù)、簽名r和簽名s組合成一個數(shù)據(jù)包,使用SM4算法加密組合后的數(shù)據(jù)。(3)密鑰加密階段(CP-ABE):這是最關(guān)鍵的步驟,系統(tǒng)選擇隨機數(shù)s,計算密文主組件,計算掩碼因子,將SM4密鑰與掩碼進行異或運算,為訪問策略中的每個屬性計算密文組件。(4)密文構(gòu)建階段:系統(tǒng)構(gòu)建最終密文,包含C、掩碼后的密鑰、屬性密文組件、訪問策略和其他元數(shù)據(jù),將所有組件序列化為JSON格式。數(shù)學理論基礎(chǔ):CP-ABE加密的核心思想基于線性秘密共享方案。設(shè)訪問樹對應(yīng)的秘密共享矩陣為M,標簽函數(shù)為ρ,加密過程涉及以下關(guān)鍵計算:主密文組件:C=g?s,C’=M·e(g?,g?)αs。屬性密文組件:對每個屬性i,計算:C?=g?^λ?·H(ρ(i))-r?(5.8)計算D?=g?r?,其中λ?是秘密分享值,r?是隨機數(shù)。性能優(yōu)化:為提高加密效率,系統(tǒng)采用了多種優(yōu)化技術(shù):預計算技術(shù),預計算常用的橢圓曲線點運算結(jié)果、并行計算,對多個屬性的密文組件并行計算、批處理,批量處理多個加密請求、緩存機制,緩存頻繁使用的中間計算結(jié)果。5.5信息共享的實現(xiàn)加密共享系統(tǒng)與解密共享系統(tǒng)的信息共享原理如下:這兩個系統(tǒng)通過網(wǎng)絡(luò)通信實現(xiàn)了基于屬性的加密(ABE)信息共享功能。下面將詳細解釋它們的信息共享原理:5.5.1網(wǎng)絡(luò)通信架構(gòu)兩個系統(tǒng)均采用了客戶端-服務(wù)器架構(gòu),但可以互相通信,加密共享系統(tǒng)默認監(jiān)聽9000端口,解密共享系統(tǒng)默認監(jiān)聽9001端口。兩者都包含了NetworkManager類,負責處理所有網(wǎng)絡(luò)通信功能,包括服務(wù)器功能(接收消息)、客戶端功能(發(fā)送消息)和策略信息交換。5.5.2通信協(xié)議系統(tǒng)使用一個簡單但有效的通信協(xié)議:(1)消息類型標識:固定8字節(jié)字符串(2)MSG:加密數(shù)據(jù)傳輸(3)ATTR_REQ:策略信息請求(4)消息長度:固定8字節(jié)數(shù)字(5)消息內(nèi)容:JSON格式,包含:對于加密數(shù)據(jù):SM4密文和ABE密文(均為Base64編碼)。對于策略信息:訪問樹結(jié)構(gòu)和屬性列表。5.5.3加密消息傳輸流程(1)加密過程(加密系統(tǒng))的工作流程:首先使用SM4加密原始數(shù)據(jù),然后使用CP-ABE加密SM4密鑰,再將兩部分密文編碼為Base64字符串,最后封裝為JSON格式的消息。(2)然后是發(fā)送流程:建立TCP連接,然后發(fā)送消息類型標識MSG、消息長度、JSON消息內(nèi)容,最后接收確認響應(yīng)。(3)接收過程(解密系統(tǒng))的工作流程如下:首先接收消息類型、長度和內(nèi)容,然后解析JSON數(shù)據(jù)并將消息存入隊列和UI顯示列表,最后發(fā)送確認響應(yīng)。5.5.4策略信息交換流程解密系統(tǒng)請求過程流程如下:發(fā)送ATTR_REQ請求到加密系統(tǒng)且不需要附加數(shù)據(jù)(長度為0)。加密系統(tǒng)的響應(yīng)過程:先獲取當前訪問策略信息,然后將策略樹結(jié)構(gòu)和屬性列表封裝為JSON,再發(fā)送給解密系統(tǒng)。解密系統(tǒng)的處理過程:解析策略信息然后顯示在UI上,幫助用戶選擇正確的屬性組合。5.6系統(tǒng)的解密流程解密流程是加密流程的逆過程,它驗證用戶的訪問權(quán)限并恢復原始數(shù)據(jù)。解密過程必須嚴格按照密碼學協(xié)議執(zhí)行,確保安全性。圖5.SEQ圖5.\*ARABIC3解密系統(tǒng)可視化解密流程詳述:驗證階段:系統(tǒng)首先解析JSON格式的密文,提取各個組件,從密文中恢復訪問策略樹,驗證用戶屬性是否滿足訪問策略。計算階段:如果用戶通過驗證,系統(tǒng)計算解密值,使用遞歸算法遍歷訪問樹,為每個滿足的葉節(jié)點計算配對值,使用拉格朗日插值重構(gòu)根節(jié)點的解密值。密鑰恢復階段:系統(tǒng)計算關(guān)鍵的配對值,理論上應(yīng)恢復e(g?,g?)αs,從密文中提取掩碼標識符和掩碼后的密鑰,使用異或運算恢復原始SM4密鑰。數(shù)據(jù)恢復階段:系統(tǒng)使用SM4密鑰解密數(shù)據(jù),分離原始數(shù)據(jù)和數(shù)字簽名,驗證簽名的有效性,如果所有驗證通過,返回原始明文。拉格朗日插值的數(shù)學原理:在CP-ABE解密中,拉格朗日插值是恢復秘密的關(guān)鍵技術(shù)。對于滿足訪問策略的屬性集合S,拉格朗日系數(shù)定義為:Δ?,?(x)=∏?∈?,?≠?(x-j)/(i-j)(5.9)在實際實現(xiàn)中,x=0,因此:Δ?,?(0)=∏?∈?,?≠?(-j)/(i-j)。這個系數(shù)用于重構(gòu)原始秘密:s=Σ?∈?λ?·Δ?,?(0)。5.7本章小結(jié)加密和解密流程的詳盡敘述顯示了系統(tǒng)的工作方式,分層加密策略很好地利用了對稱加密的效率以及非對稱加密的靈活之處,完備的錯誤處理機制保證了系統(tǒng)的穩(wěn)定可靠。CA初始化部分提到系統(tǒng)參數(shù)的生成以及主密鑰的管理,特別重視安全性考量,隨機數(shù)生成質(zhì)量,主密鑰的保護措施等等都是重要安全因素,公鑰被正確生成并公布是系統(tǒng)安全運作的基本前提。策略樹的讀取與管理給系統(tǒng)賦予了靈活的訪問控制手段,依靠從文件加載以及動態(tài)創(chuàng)建,它就能符合各種復雜的權(quán)限管理需求,示例策略樹的設(shè)計表現(xiàn)出怎樣用邏輯門組合來達成復雜的訪問策略。ABE算法的實現(xiàn)部分對Setup、KeyGen、Encrypt和Decrypt這四個核心算法進行了詳細的實現(xiàn),每個算法都嚴格按照數(shù)學定義進行實現(xiàn),保證了系統(tǒng)的正確性和安全性,尤其是密鑰生成和解密時,線性秘密共享和拉格朗日插值的正確實現(xiàn)是保證系統(tǒng)功能的重要因素。國密算法的集成,顯示了怎樣把SM2、SM3、SM4這些國產(chǎn)密碼算法很好地融入到ABE系統(tǒng)當中去,這樣既符合規(guī)定,又利用了各種算法的優(yōu)點,形成一個有效而且安全的密碼學架構(gòu)。結(jié)論本研究采用屬性基加密技術(shù)設(shè)計并實現(xiàn)了一個符合國密標準的數(shù)據(jù)共享系統(tǒng),系統(tǒng)采用模塊化設(shè)計的方法將系統(tǒng)劃分為證書頒發(fā)機構(gòu)、訪問策略樹管理、加密解密以及數(shù)據(jù)共享等模塊,在BN128橢圓曲線上搭建雙線性映射環(huán)境,并將SM2、SM3、SM4等國密算法應(yīng)用到該環(huán)境中。研究過程里深入挖掘了訪問樹的設(shè)計與改進,實現(xiàn)了一種靈活且直觀的策略表示辦法,支持AND,OR,Threshold之類的邏輯操作相互結(jié)合,能夠應(yīng)對復雜的權(quán)限控制需求,在加解密流程設(shè)計時采用了分層策略,憑借SM4算法高效處理大量數(shù)據(jù)的特性,之后用CP-ABE技術(shù)加密SM4密鑰,如此一來既保證了安全性又提升了系統(tǒng)效率。安全性分析顯示這個系統(tǒng)能夠抵御選擇明文攻擊、合謀攻擊之類的安全威脅,性能測試的結(jié)果同樣表明對的優(yōu)化策略在提升加解密效率方面是有效的,預計算、并行計算這些手段確實改善了系統(tǒng)的性能表現(xiàn)。不過系統(tǒng)也存在一些限制,即便經(jīng)過很多方面的改良,雙線性配對運算的高計算復雜程度依舊是系統(tǒng)性能的瓶頸所在,尤其在大規(guī)模應(yīng)用場合更為突出,而且密鑰以及密文長度會伴隨屬性數(shù)量與策略復雜程度的增多而增大,這對于儲存空間和傳送資源相對匱乏的環(huán)境而言或許會造成困難。未來的工作主要針對算法的改進,優(yōu)化密鑰及密文的存儲結(jié)構(gòu)以減小其大小,使程序更加節(jié)省資源。總的來說,該研究從理論和操作兩個層面給出了解決數(shù)據(jù)共享時精細訪問控制問題的辦法,給國密環(huán)境下的安全應(yīng)用給予了有用的參照及執(zhí)行根基。參考文獻李發(fā)根,胡予濮,李剛.一個高效的基于身份的簽密方案[J].計算機學報,2006,(09):1641-1647
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教職工績效考核結(jié)果公示制度
- 2026廣東深圳理工大學合成生物學院胡強教授課題組招聘備考題庫及答案詳解(新)
- 罕見腫瘤的個體化治療綜合治療模式構(gòu)建
- 2026上半年貴州事業(yè)單位聯(lián)考貴州省紅十字會招聘1人備考題庫及完整答案詳解一套
- 長青集團2025年獎金制度
- 罕見腫瘤的個體化治療治療目標設(shè)定
- 2026中國農(nóng)業(yè)大學人才招聘備考題庫及參考答案詳解一套
- 2026年北京林業(yè)大學附屬小學招聘2人備考題庫參考答案詳解
- 設(shè)計院設(shè)備所財務(wù)制度
- 支票領(lǐng)用內(nèi)部財務(wù)制度
- 2026廣東廣州開發(fā)區(qū)統(tǒng)計局(廣州市黃埔區(qū)統(tǒng)計局)招聘市商業(yè)調(diào)查隊隊員1人參考題庫完美版
- 期末測試卷(試卷)2025-2026學年三年級數(shù)學上冊(人教版)
- 帶式輸送機運輸巷作為進風巷專項安全技術(shù)措施
- 人教版(2024)八年級下冊英語:課文+翻譯
- 水空調(diào)安裝協(xié)議書
- 工程投資估算與審核編制操作規(guī)程
- 《小企業(yè)會計準則》教案(2025-2026學年)
- 合成生物學在呼吸系統(tǒng)疾病治療中的應(yīng)用
- 華為全員持股協(xié)議書
- 2025至2030中國代駕行業(yè)項目調(diào)研及市場前景預測評估報告
- 2025年國家開放大學《交通運輸管理》期末考試備考試題及答案解析
評論
0/150
提交評論