一種基于屬性集及關系謂詞的加密系統(tǒng)及訪問控制方法
【技術領域】:
[0001] 本發(fā)明設及信息技術領域,特別設及一種基于屬性集及關系謂詞的加密系統(tǒng)及訪 問控制方法。
【背景技術】:
[0002] 隨著網(wǎng)絡技術的發(fā)展,越來越多的新型網(wǎng)絡形態(tài)和系統(tǒng)紛紛涌現(xiàn),包括:物聯(lián)網(wǎng)、 移動互聯(lián)網(wǎng)、云計算、服務計算等,其特點是數(shù)據(jù)日趨繁雜巨大、開放性日益擴大、數(shù)據(jù)流動 性增加,運也導致了一些新的網(wǎng)絡安全問題,特別是用戶數(shù)據(jù)和信息的隱私保護與共享問 題。一方面我們開放的網(wǎng)絡促使信息的交換和共享更加便利,另一方面,不受控制的信息交 換與共享必然帶來一系列的數(shù)據(jù)濫用、侵權等非法行為。
[0003] 傳統(tǒng)的網(wǎng)絡技術,特別是加密和認證技術已經(jīng)不能滿足現(xiàn)有網(wǎng)絡的需要,主要是 開放性的增加,使得傳統(tǒng)的保護邊界消失;同時,數(shù)據(jù)共享范圍的增大,傳統(tǒng)密碼體制也無 法滿足大范圍信息共享的需要。由此可知,傳統(tǒng)密碼學技術已經(jīng)無法解決前述安全問題。因 此,如何同時實現(xiàn)數(shù)據(jù)的隱私保護與有效信息共享,已經(jīng)成為互聯(lián)網(wǎng)迫切需要解決的核屯、 問題。
[0004] 訪問控制是實現(xiàn)用戶數(shù)據(jù)機密性和進行隱私保護的重要手段。為了解決上述問 題,一種被稱為"屬性基加密"的新型密碼訪問控制技術已經(jīng)被提出。所謂屬性基加密就是 指一種將用戶的身份表示為一個屬性集合,而加密數(shù)據(jù)則與訪問控制結構相關聯(lián),一個用 戶能否解密密文,取決于密文所關聯(lián)的屬性集合與用戶身份對應的訪問控制結構是否匹 配。具體而言,屬性基加密具有如下性質(zhì):
[0005] 1)采用一組"屬性"進行訪問主體的表示;
[0006] 2)采用面向?qū)傩缘撵`活策略進行授權判定;
[0007] 3)通過支持屬性策略的加密方法實現(xiàn)數(shù)據(jù)保護;
[000引4)通過分配用戶屬性密鑰實現(xiàn)授權;
[0009] 5)通過屬性密鑰與密文訪問策略的匹配實現(xiàn)解密與否的判定。
[0010] 屬性基加密本質(zhì)是一種訪問授權與認證服務技術,保證非授權用戶沒有資格訪問 特定的數(shù)據(jù)。屬性基加密屬于公鑰加密機制,其面向的解密對象是一個群體,而不是單個用 戶,它使用群體的屬性組合作為群體的公鑰,所有用戶向群體發(fā)送數(shù)據(jù)使用相同公鑰。 [OOW 例如,一個屬性基加密的訪問策略為("北京大學"OR"北京科技大學")AND"2015 年"AND "學位委員會"AND(N0T "生物學院"AND NOT "化學學院")
[0012]現(xiàn)有的屬性基加密都是采用字符串來生成訪問策略,所有屬性都是孤立的,不能 定義屬性彼此之間關系,同時支持AND、0R和簡單非邏輯。其實現(xiàn)是采用嚴格的字符串匹配 方式,即用戶只擁有一組字符串作為屬性標識。
[OOU]由上例可知,現(xiàn)有屬性基力幡存在從下問題:
[0014] 1)不支持同類屬性構成的"屬性集合"概念,而是所有屬性均采用字符串表示;
[0015] 2)不支持集合上的"屬于"和"不屬于"操作,只支持等于操作。
[0016] 針對目前屬性基加密存在的上述問題,本發(fā)明提出了一種支持"屬性集合"概念和 密碼學上的屬性集合操作。具體專利內(nèi)容簡介如下:
[0017] 1)支持屬性集的概念,即同類型的屬性值構成一個集合;
[0018] 2)不限制集合的規(guī)模,比如全球所有城市構成"城市"集,每個城市稱為一個屬性 值,可W用字符串、數(shù)字等加 W表示;
[0019] 3)支持集合值之間"屬于"、"不屬于"、"等于"、"不等于"等操作。
[0020] 本發(fā)明是對現(xiàn)有屬性基加密功能的一種巨大改進。例如,在上面例子中,我們可W 建立下面屬性值的集合:
[0021 ]大學名:={……,"北京大學","北京科技大學","清華大學",……},
[0022] 部口 : = {……,"生物學院","化學學院","信息學院",……},
[0023] 年份:={……,2013,2014,2015,2016,……},
[0024] 角色:={……,"教授會V學術委員會V學位委員會',……}。
[0025] 與此相應的,我們可W為任何資源(包括文件、存儲空間、網(wǎng)絡信道、進程等)重新 定義上述安全策略為
[0026] (大學名e {"北京大學","北京科技大學"}AND年份= 2015AND角色="學位委員 會"AND部口 g r生物學院","化學學院'})。
[0027] 通過上述定義,假設一個用戶具有如下身份屬性:{大學名:="北京科技大學",年 份:=2015,角色:="學位委員會",部n :="信息學院"},運表示該用戶在2015年任職于北 京科技大學的數(shù)學學院,并且是學位委員會委員。顯然,該用戶的身份可W通過上述安全策 略的認證,因此,將被允許訪問由上述策略加密的資源。
[00%]顯然,我們的方法能夠產(chǎn)生更加簡單清晰的安全策略表示,同時,AND/OR操作數(shù)目 由原來的5個減少到3個,屬性值比較由原來的6個減少到了 4個。因此,計算量上也有顯著的 降低。鑒于近年來新的網(wǎng)絡應用中的安全問題和需求日益引起廣泛關注,所發(fā)明裝置對于 解決對于互聯(lián)網(wǎng)和通信技術的發(fā)展必然產(chǎn)生巨大推進作用。
【發(fā)明內(nèi)容】
:
[0029] 針對現(xiàn)有技術中存在的技術問題,本發(fā)明的目的在于提供一種基于屬性集及關系 謂詞的加密系統(tǒng)及訪問控制方法。
[0030] 本發(fā)明的技術方案為:
[0031] -種基于屬性集及關系謂詞的加密系統(tǒng)訪問控制方法,其步驟為:
[0032] 根據(jù)給定的安全參數(shù)k,輸出安全加密系統(tǒng)的公鑰m地和主密鑰msk;
[00削 2)對于每一給定屬性集Ai= {vii, ...,vim},通過主密鑰msk生成該屬性集的公鑰 pki和私鑰ski,并將公鑰pki加入到公鑰mpk中、私鑰ski添加到主密鑰msk中;其中,具有相同 性質(zhì)的屬性或標識位于同一數(shù)據(jù)集中,每個屬性集具有一唯一名稱,在屬性集里的每個屬 性或標識稱為一屬性值,Vim為第i個屬性集Al中的第m個屬性值;
[0034] 3)根據(jù)用戶輸入的身份屬性值列表O = {vueAi}為該用戶生成一用戶私鑰SkW;
[0035] 4)為數(shù)據(jù)資源M設置一訪問策略n ;根據(jù)步驟2)中的公鑰mpk和該訪問策略n對該 數(shù)據(jù)資源M進行加密,得到密文Cn;其中,訪問策略n中含有若干子集Si和對應二元關系謂 詞A :=可4, W且f e {e,g,=,句,Si為Al的子集;
[0036] 5)當一用戶要求訪問該數(shù)據(jù)資源M時,安全加密系統(tǒng)根據(jù)該用戶輸入的身份屬性 值列表判斷該用戶是否能夠訪問該數(shù)據(jù)資源M,如果能夠訪問,則根據(jù)該用戶的用戶私鑰對 該密文Cn進行解密,輸出明文M;否則輸出空。
[0037] 進一步的,生成所述用戶私鑰SkW的方法為:對于用戶Uk,首先生成該用戶的主私 鑰USk^ ;然后對于該用戶在身份屬性值列表O = {vijEAi}中的任意屬性值Vij EAi,生成對 應的用戶屬性值密鑰VSku,得到該用戶私鑰("為",如皆e Al為該用戶化的屬 性集。
[0038] 進一步的,判斷該用戶是否能夠訪問該數(shù)據(jù)資源M的訪問策略n的方法為:將該用 戶輸入的身份屬性值列表O和該數(shù)據(jù)資源的訪問策略n作為二元關系謂詞的輸入,如果二 元關系謂詞的判定輸出結果為真,則判斷該用戶是否能夠訪問該數(shù)據(jù)資源M,否則不能夠訪 問。
[0039] 進一步的,對于訪問策略中的邏輯非,利用摩爾定律將邏輯非轉(zhuǎn)化為二元關系謂 詞中的否定謂詞,得到布爾代數(shù)邏輯表示的訪問策略。
[0040] 進一步的,所述密文Cn =供0,掉y n啤.巧,),C任是包含二元關系巧;叩4,&)生 成的子密文。
[0041] -種基于屬性集及關系謂詞的加密系統(tǒng),其特征在于,包括系統(tǒng)密鑰生成模塊、屬 性集合密鑰生成模塊、用戶密鑰生成模塊、加密模塊和解密模塊;其中,
[0042] 所述系統(tǒng)密鑰生成模塊,用于根據(jù)給定的安全參數(shù)k,輸出安全加密系統(tǒng)的公鑰 mpk和主密鑰msk;
[0043] 所述屬性集合密鑰生成模塊,對于每一給定屬性集Ai=Ivii, ...,vim},通過主密鑰 msk生成該屬性集的公鑰Pki和私鑰ski,并將公鑰地1加入到公鑰mpk中、私鑰Ski添加到主密 鑰msk中;其中,具有相同性質(zhì)的屬性或標識位于同一數(shù)據(jù)集中,每個屬性集具有一唯一名 稱,在屬性集里的每個屬性或標識稱為一屬性值,Vim為第i個屬性集Al中的第m個屬性值;
[0044] 所述用戶密鑰生成模塊,用于根據(jù)用戶輸入的身份屬性值列表O = IvueAJ為該 用戶生成一用戶私鑰Sk^;
[0045] 所述加密模塊,用于根據(jù)數(shù)據(jù)資源M的訪問策略n和公鑰mpk對該數(shù)據(jù)資源M進行 加密,得到密文Cn;其中,訪問策略n中含有若干子集Si和對應二元關系謂詞戶,) 且C巨耗,《,=,句,Si為Ai的子集;
[0046] 所述解密模塊,用于根據(jù)訪問用戶輸入的身份屬性值列表判斷該用戶是否能夠訪 問要訪問的數(shù)據(jù)資源M,如果能夠訪問,則根據(jù)該用戶的用戶私鑰對該密文Cn進行解密,輸 出明文M;否則輸出空。
[0047] 本發(fā)明設及