電子政務(wù)中屬性加密機制的應(yīng)用
隨著計算機和互聯(lián)網(wǎng)的到廣泛的應(yīng)用,電子政務(wù)的出現(xiàn)大大提高了人們的工作效率,加快了信息的處理速度和傳輸速度。但是,隨之而來的對電子信息的泄密、假冒、抵賴、篡改等諸多問題,開始困擾人們的工作、學(xué)習(xí)、生活。為此我們在對電子政務(wù)中應(yīng)用屬性加密機制實現(xiàn)訪問控制進行研究的基礎(chǔ)上,結(jié)合電子政務(wù)已有授權(quán)管理基礎(chǔ)設(shè)施PMI,提出屬性加密方案的部署架構(gòu)。
一、屬性加密機制的相關(guān)說明
1、訪問控制
常見的訪問控制模型有自主訪問控制(DAC)、強制訪問控制(MAC) 和基于角色的訪問控制(RBAC)等。其中基于角色的訪問控制的優(yōu)點是管理簡單,在角色數(shù)量相對穩(wěn)定的情況下,用戶和資源數(shù)量越大,越能體現(xiàn)基于角色訪問控制的優(yōu)勢,非常適宜在局部的獨立應(yīng)用中使用。但現(xiàn)有的基于角色的訪問控制模型不適宜在電子政務(wù)這樣的大型分布式網(wǎng)絡(luò)環(huán)境中應(yīng)用,體現(xiàn)為:
1)電子政務(wù)中行政角色數(shù)量巨大,直接定義和維護困難;
2)行政角色間關(guān)系復(fù)雜,現(xiàn)有的角色表達方式使用不便;
3)用戶同時擁有的行政角色較多,且角色變化頻繁,維護用戶和角色關(guān)聯(lián)的工作量巨大。基于屬性的訪問控制(ABAC)能夠很好地解決上述問題。
在基于屬性的訪問控制中,用戶的政務(wù)屬性由授權(quán)管理基礎(chǔ)設(shè)施(PMI)以職屬證書形式統(tǒng)一管理,授權(quán)規(guī)則由屬性表達式描述,根據(jù)請求者的屬性是否滿足屬性表達式進行裁決,實現(xiàn)訪問控制。這種訪問控制模型中,訪問控制裁決執(zhí)行者并不關(guān)心訪問者是誰,只關(guān)心訪問者是否具備相應(yīng)的屬性,可很好地將屬性管理和訪問裁決相分離,在電子政務(wù)中得到很好的應(yīng)用。
2、屬性加密
屬性加密機制(attribute-based encryption,ABE) 是由基于身份的加密機制發(fā)展而來,屬性加密方案將身份加密方案表示用戶身份的唯一標識擴展成與用戶相關(guān)的多個屬性組成的屬性集合。從唯一標識符擴展成屬性集合,不僅是用戶身份信息表示方式上的改變,屬性集合能夠非常方便地和訪問結(jié)構(gòu)相結(jié)合,實現(xiàn)對密文和密鑰的訪問控制。屬性加密方案中結(jié)合訪問控制策略,構(gòu)造訪問結(jié)構(gòu),只有用戶屬性集合滿足訪問控制策略時才能進行正確的解密操作,因而具有細粒度訪問控制的能力。根據(jù)控制策略的不同,屬性加密機制主要分為3類。
1)密鑰策略屬性加密(KP-ABE, Key-policyABE)將訪問控制策略部署到用戶私鑰中,結(jié)合訪問控制結(jié)構(gòu)訪問樹(Access tree)產(chǎn)生用戶的私鑰。訪問樹描述用戶私鑰的權(quán)限,密文由屬性集合計算而得,當且僅當密文的屬性集合滿足訪問樹時,用戶才能解密密文。該機制主要適用于面向訪問主體(用戶)的授權(quán)場景。
2)密文策略屬性加密(CP-ABE, Ciphertext-policy ABE)將訪問控制策略部署到密文中,用戶私鑰根據(jù)一個屬性集合產(chǎn)生,當且僅當用戶的屬性集合滿足密文的訪問控制策略時,用戶才能解密密文。訪問控制策略部署在密文中有很強的靈活性,信息的發(fā)送者可以自己決定采用什么樣的訪問控制策略限制對信息的訪問,主要適用于面向訪問客體(被保護對象)的授權(quán)。
3)雙策略屬性加密(Dual-policy ABE)是在同一個加密方案中實現(xiàn)密鑰和密文兩種訪問控制策略,用戶私鑰由一個訪問結(jié)構(gòu)構(gòu)造,密文也由一個訪問結(jié)構(gòu)構(gòu)造,是密鑰策略和密文策略屬性加密的組合。
在電子政務(wù)應(yīng)用中,人們更關(guān)心對信息數(shù)據(jù)實施保護,所以本文重點研究密文策略加密機制解決面向信息數(shù)據(jù)保護的授權(quán)和訪問控制問題。
二、屬性加密機制中架構(gòu)的設(shè)計
1、電子政務(wù)中的授權(quán)管理和授權(quán)服務(wù)模型
在日常政務(wù)工作中,對用戶的授權(quán)是根據(jù)其政務(wù)角色進行的,而政務(wù)角色是由用戶擁有的政務(wù)屬性集確定的。筆者在電子政務(wù)中實現(xiàn)了一個基于屬性證書(AC)的授權(quán)管理基礎(chǔ)設(shè)施(PMI)和授權(quán)服務(wù)系統(tǒng),并在實際工作中取得了很好的應(yīng)用效果。授權(quán)管理和授權(quán)服務(wù)架構(gòu)如圖1所示。
用戶是具有特定政務(wù)屬性集合的實體,用戶的政務(wù)屬性集合借助屬性證書(AC)形式,采用授權(quán)管理基礎(chǔ)設(shè)施(PMI)進行管理,由屬性權(quán)威(AA)為用戶簽發(fā)屬性證書。政務(wù)屬性包括單位、部門、崗位、職務(wù)、職級、職稱等。授權(quán)服務(wù)系統(tǒng)完成授權(quán)策略管理和訪問控制裁決,用于制定訪問控制策略,將屬性條件表達式和對資源的操作權(quán)限相關(guān)聯(lián),以屬性條件表達式的形式限定對資源擁有操作權(quán)限的用戶集合范圍,實現(xiàn)對資源的授權(quán)。授權(quán)控制判決點根據(jù)用戶屬性證書中的屬性是否滿足屬性表達式的條件,給出裁決結(jié)果。訪問控制實施點根據(jù)裁決結(jié)果實施訪問控制。
基于政務(wù)屬性表達式的訪問控制模型可描述為(u,Au)和(con,p),其中(u,Au)表示將用戶u與政務(wù)屬性Au相關(guān)聯(lián),(con,p)表示將權(quán)限p授予屬性條件表達式con描述的政務(wù)角色,當用戶u的政務(wù)屬性集合Au滿足屬性條件表達式時,用戶u即擁有權(quán)限p。
基于政務(wù)屬性表達式的訪問控制模型是基于屬性的訪問控制在電子政務(wù)應(yīng)用中的一個特例,具有以下特點:
1)實現(xiàn)政務(wù)角色的隱式定義和使用,通過屬性條件表達式實現(xiàn)政務(wù)角色的隱式定義,通過用戶政務(wù)屬性集合滿足表達式定義的條件,隱式關(guān)聯(lián)用戶范圍,政務(wù)角色不必事先顯式定義。
2)屬性條件表達式具有通用性,統(tǒng)一的屬性表達式可確保授權(quán)裁決的統(tǒng)一標準。該模型可解決電子政務(wù)應(yīng)用中3個方面的問題:
1)電子政務(wù)應(yīng)用繁多,因此角色數(shù)量巨大,角色是和應(yīng)用相關(guān)的,不同應(yīng)用中角色的定義不同,使得角色的直接定義和維護非常困難。該模型可以解決角色的直接定義和維護的難題。
2)電子政務(wù)用戶同時具有多重角色,且角色變化頻繁,維護角色關(guān)聯(lián)的工作量巨大。通過隱式定義用戶的屬性變化,對應(yīng)的政務(wù)角色也自動變化。該模型可減輕維護用戶和角色關(guān)聯(lián)的工作量。
3)該模型可解決跨部門、跨應(yīng)用間的統(tǒng)一授權(quán)、統(tǒng)一裁決問題。
基于政務(wù)屬性表達式的訪問控制和屬性加密機制擁有共性的用戶屬性集,可以用政務(wù)屬性集生成用戶私鑰,把屬性加密機制應(yīng)用到電子政務(wù)中實現(xiàn)同樣的訪問控制策略。
2、屬性加密方案的構(gòu)成
以密文策略屬性加密方案為例,介紹屬性加密機制的組成6一個屬性加密方案由4個算法組成,包括:
1)初始化算法Setup()。初始化算法以一個隱含的安全參數(shù)為輸入,生成公共參數(shù)PK和系統(tǒng)主密鑰MK,公共參數(shù)也就是系統(tǒng)公鑰。
2)用戶密鑰生成算法Keygen( MK,S)。用戶密鑰生成算法通過輸入系統(tǒng)主密鑰MK和用戶的屬性集合S,生成用戶關(guān)于屬性集合S的私鑰SK。
3)加密算法Encrypt( PK,M,A)。加密算法根據(jù)系統(tǒng)公鑰PK,按照訪問控制結(jié)構(gòu)A描述的控制策略,加密文件M,輸出密文CT。
4)解密算法Decrypt (PK,CT,SK)。解密算法輸入系統(tǒng)公鑰參數(shù)PK,用戶私鑰SK和密文CT,密文CT中包含了訪問控制策略A,用戶私鑰SK由屬性集S產(chǎn)生。如果S滿足A,則解密密文CT,返回明文M。
基于屬性的訪問控制與屬性加密機制中的屬性集是具有共性的交集,所以基于屬性的訪問控制很容易引入屬性加密體制,實現(xiàn)基于屬性加密體制的訪問控制。
3、屬性加密機制的部署及應(yīng)用流程
在電子政務(wù)中,結(jié)合現(xiàn)有的PMI授權(quán)管理架構(gòu)部署屬性加密機制,可實現(xiàn)基于密碼的強訪問控制。部署及應(yīng)用流程如圖2所示。
將屬性加密方案中的初始化和用戶私鑰生成算法部署到屬性認證中心AA上,在屬性認證中心AA初始化時,執(zhí)行初始化算法Setup(),生成系統(tǒng)公鑰參數(shù)PK和系統(tǒng)主密鑰MK。將系統(tǒng)公鑰參數(shù)PK寫入用戶屬性證書(AC)中,通過屬性證書查詢驗證系統(tǒng)發(fā)布,以備使用時查詢。系統(tǒng)主密鑰MK由AA本地保存于安全的載體,用于生成用戶私鑰。用戶申請屬性證書時,由AA根據(jù)其職務(wù)屬性集S調(diào)用密鑰生成算法Keygen(MK,S),生成的用戶私鑰SK通過安全通道將SK傳給屬性證書注冊審核機構(gòu)ARA,由ARA寫入用戶的安全載體。
應(yīng)用流程如下:信息的發(fā)布者根據(jù)信息的密級確定授權(quán)范圍,制定訪問控制策略A,通過調(diào)用加密算法Encrypt(PK,M,A)加密信息,將加密后的信息發(fā)到服務(wù)器以備用戶查閱。用戶訪問信息時,先調(diào)用解密函數(shù)Decrypt(PK,CT,SK)對密文進行解密,當用戶的屬性集S滿足訪問控制策略A時,即可得到明文。
4、屬性條件表達式與屬性加密訪問結(jié)構(gòu)映射
屬性加密中,訪問結(jié)構(gòu)是關(guān)鍵,其決定訪問控制策略。
屬性加密方案中,常用訪問結(jié)構(gòu)是訪問樹(Ac-cess tree)。訪問樹T的構(gòu)造如下:
每一個非葉子節(jié)點由一個門限訪問結(jié)構(gòu)(k,n)組成,其中n是該節(jié)點的子節(jié)點個數(shù),k是門限值。當k=1時,表示“或”門,當k=n時,表示“與”門。每一個葉子節(jié)點對應(yīng)一個具體屬性,當一個屬性與該葉子節(jié)點屬性相同時,表示該屬性滿足該葉子節(jié)點。節(jié)點z的子樹記為L,如果一個屬性集合S滿足一個子樹Tx,記為Tx(S)=1。當一個子樹的對應(yīng)子樹滿足的數(shù)目達到該子樹節(jié)點門限值時,認為滿足該子樹。因此可以遞歸計算一個屬性集合是否滿足一個訪問樹,由此訪問樹就可以映射出屬性條件表達式,如“部門=辦公室”and“職務(wù)=處長”or職稱一“高級工程師”,如圖3所示。同樣,通過訪問樹的構(gòu)造實現(xiàn)“與”、“或”邏輯組合,可以表達更復(fù)雜的訪問控制策略。
三、電子政務(wù)中屬性加密機制的應(yīng)用實驗結(jié)果
以cpabe工具包為基礎(chǔ),結(jié)合屬性證書認證中心AA實現(xiàn)了一個原型系統(tǒng),并進行了實驗測試。測試中,由原型系統(tǒng)為3個用戶a、b、c分別頒發(fā)3個用戶私鑰SKa、Sl<6和SKc。用戶a的屬性集為“部門=人事處,職務(wù)一處長,職稱=工程師”;b的屬性集為“部門一人事處,職務(wù)=科長,職稱=高級工程師”,c的屬性集為“部門=人事處,職務(wù)=副科長,職稱一助理工程師”。用訪問控制策略“部門一人事處”and“職務(wù)一副處長”or“職稱一高級工程師”加密一個文件得到密文。3個用戶分別用自己的私鑰解密密文,測試結(jié)果表明,因為a和b的屬性集滿足上述控制策略,所以它們的私鑰可以解密密文,得到正確明文,而c的解密請求被拒絕。
測試結(jié)果表明,基于屬性的加密機制可以應(yīng)用于電子政務(wù)實現(xiàn)細粒度的訪問控制。
小知識之DAC
即數(shù)/模轉(zhuǎn)換器,一種將數(shù)字信號轉(zhuǎn)換成模擬信號的裝置。 DAC的位數(shù)越高,信號失真就越小。聲音也更清晰穩(wěn)定。



