宋 深,劉雪冬,龍毅宏
(武漢理工大學信息工程學院,湖北 武漢 430070)
一種基于IBE加密技術的移動文件共享系統(tǒng)
宋 深,劉雪冬,龍毅宏
(武漢理工大學信息工程學院,湖北 武漢 430070)
在移動通信高速發(fā)展的今天,安全可靠的移動文件存儲與共享服務對于企業(yè)和團體內部的信息交流顯得尤為重要。本論文提出并實現了一種適用于企業(yè)和團體的基于IBE加密技術的移動安全文件共享系統(tǒng),系統(tǒng)包括基于安卓的安全文件共享app,以及基于安卓web的無插件安全共享系統(tǒng)。經測試證明,本系統(tǒng)具有良好的性能,能在保證安全的前提下實現文件的共享。
IBE;安卓;安全存儲
近年來,隨著移動通信與移動互聯(lián)網的飛速發(fā)展,以智能手機為代表的移動終端發(fā)展速度驚人[1-5]。根據艾媒咨詢(iiMedia Research)調查數據顯示,截至 2016年第一季度,中國手機網民規(guī)模已達到6.9億,其中智能手機用戶為 6.24億,平均每十個人中就有一個人擁有一部智能手機。由于智能手機的普及量越來越高,以及智能手機的處理能力越來越強大,所以越來越多的人開始使用手機處理部分工作。尤其對于企業(yè)和公司內部,時常需要在移動端查看并共享敏感文件[6-10]。當前市場上已經有一批優(yōu)秀的云存儲產品,例如亞馬遜云服務、SkyD-rive、百度云和阿里云等等。但是這些產品基本都屬于服務大眾的公共云,而不是針對企業(yè)和團體而設計的,并且普遍偏向于高速大容量的存儲服務,而對文件的安全性沒有足夠重視。而2014年杭州奕瑞公司推出的“隱形云”加密云盤,其加密的密鑰只有8-12位字符,安全性不夠強,可能會遭到暴力破解[11-12]。密鑰管理也是由用戶自己操作,相對比較麻煩,一旦遺失容易造成較大損失。而且沒有對文件的訪問權限制定詳細的控制方案。
所以,針對企業(yè)和團體之間的移動安全文件存儲和共享,本文研究并開發(fā)了一種基于IBE加密技術的移動安全文件系統(tǒng)。根據分析與實驗結果,本文提出的系統(tǒng)具備優(yōu)良的伸縮性,能夠在保證安全的情況下實現文件信息的高效共享。
本文所設計的系統(tǒng)是一種向企業(yè)和團體內部用戶提供文件的安全共享服務的系統(tǒng),同時采用了客戶端/服務器模式和瀏覽器/服務器模式,有服務端的文件共享服務器和用戶端的瀏覽器、本地代理、和文件共享客戶端組成。用戶在安卓設備上通過客戶端或者瀏覽登陸本系統(tǒng),可以將需要共享的文件上傳到共享服務器,供組織內部其他用戶瀏覽、下載。
對于保存在文件共享系統(tǒng)中的涉及保密、敏感內容的文件,本系統(tǒng)將采取一定的保護措施。目前在國內外對文件的保護研究主要著力在兩個方向,一是對文件進行適宜強度的加密,二是對文件進行嚴格地訪問控制[13]。比如,由文件共享系統(tǒng)的管理員或文件上載用戶設定共享文件的訪問控制規(guī)則(即權限設置),由文件共享服務器控制只有某個部門人或具有某種特定職務(角色)的人員才能訪問文件共享服務器中的共享文件(比如某個文件目錄下的文件)。進一步地,對于涉及保密、敏感內容的文件,可在訪問控制的基礎上對保存在文件共享服務器上的文件進行加密,從而進一步提高對共享文件的安全保護強度,比如,由文件共享服務器對保存在服務器上的文件進行加密,當授權的人員訪問共享文件并進行操作時,包括下載或在線打開文件時,由文件共享服務器對文件進行解密處理。
但是,以上所述這種常用的訪問控制和文件加密方案是無法防止具有設置文件共享系統(tǒng)的文件訪問控制規(guī)則權限的管理員通過修改針對共享文件的訪問控制規(guī)則從而非法取敏感、保密文件的行為的,比如,通過臨時修改文件的訪問控制規(guī)則從而使得自己能夠訪問敏感、保密文件。
所以本論文提出并實現了一種既能防止來自外部對共享文件的非授權訪問,又能防止來自內部的對共享文件非授權訪問的移動安全文件共享系統(tǒng)。下圖1顯示了系統(tǒng)的整體框架設計。
圖1 系統(tǒng)整體框架Fig.1 System Framework
1.1 訪問控制方案設計
本論文的訪問策略分為客戶端策略和服務器策略,兩種策略基于多種訪問控制模型制訂,聯(lián)合控制著文件的使用權限。本論文結合 AES與 IBE(Identity Based Encryption)算法來對文件進行加密,簡化了密鑰管理的工作,并通過IBE的自動更新密鑰功能提高了系統(tǒng)安全性。
為了避免訪問控制機制單一,實現訪問控制的精確高效,本系統(tǒng)結合以下多種訪問控制模型來制訂訪問控制策略:
(1)基于用戶的訪問控制:指定具體用戶擁有的權限,這種模型可以控制的細粒度最高,但是帶給系統(tǒng)管理員的工作量也最大,常作為輔助手段。
(2)基于角色的訪問控制(RBAC):將訪問權限與用戶的角色相聯(lián)系,指定某個角色擁有某些權限。這樣只要用戶擁有某個角色就擁有了對應的權限,而不需要針對用戶一一設置。由于角色與用戶的職位相關,所以一般相對穩(wěn)定[14-15]。
(3)基于用戶組的訪問控制:與RBAC類似,將訪問權限與用戶組相聯(lián)系,指定某個用戶組內的用戶擁有某些權限。用戶組是指多個用戶組成的一個用戶群,相比角色,用戶組更加靈活,可以在部門內或者跨部門組建,也可以隨時將用戶加入或者移出用戶組。
(4)基于屬性的訪問控制(ABAC):該模型將訪問權限與用戶的身份屬性想聯(lián)系。
本系統(tǒng)將以上多種訪問控制模型根據各自特點結合起來使用,既縮小了制訂策略的工作量,又實現了精確的訪問控制。
為了避免系統(tǒng)管理人員修改服務器上的策略文件以達到為自己或他人非法授權進而解密文件隱患,本系統(tǒng)將文件的訪問策略分拆為客戶端策略和服務器策略兩部分,分別由用戶和系統(tǒng)管理員制訂。
客戶端策略包括個人策略和群組策略兩種,個人策略由多組“明文個人標識+IBE 加密后對稱密鑰”的格式組成。群組策略可以指定兩種權限:文件解密權限(Decrypt)、策略更新權限(UpdateSt)。文件解密權限指定哪些用戶、角色或用戶組可以解密文件,策略更新權限則指定哪些用戶、角色或用戶組可以更新文件的客戶端策略??蛻舳瞬呗杂捎脩粼谏蟼魑募r制訂并寫入到文件的頭部中,其中個人策略寫入到文件頭部的前1024個字節(jié)中,群組策略則以“明文策略+AES加密后策略”的格式寫入到文件頭部第1024字節(jié)之后的部分中。
服務器策略由系統(tǒng)管理員在后臺制訂,寫入到服務器上相應部門的配置文件中,指定哪些用戶、用戶組、角色或擁有某些屬性的用戶可以在某個部門的存儲文件夾下進行文件操作。服務器策略定義的權限共分為 upload、download、update、delete四種,分別對應著如下的文件操作權限:
(1)upload:上傳文件
(2)download:下載文件
(3)update:更新文件、重命名文件、重命名文件夾、新建文件夾
(4)delete:刪除文件、刪除文件夾
當接收到用戶請求時,文件服務器會從配置文件中讀取相關訪問策略并依據用戶的身份信息做出授權。這樣即使管理人員通過修改服務器上的配置文件從而獲取了下載文件的權限,但是由于無法修改文件頭部內的加密客戶端策略,因而也無法解密文件。
1.2 加解密方案設計
密碼學上常用的加密算法有兩類:對稱加密算法和非對稱加密算法。對稱加密算法加密速度快,效率高,但是存在密鑰管理分配較為困難等缺點。非對稱加密算法加密速度相對較慢,但是密鑰的分配管理較為簡單,解密方可公布自己的公鑰由加密方使用公鑰進行加密,自己使用私鑰進行解密[16]。因而在實際應用中,通常將兩者結合起來使用,利用對稱加密算法來加密文件內容等較大數據,然后使用非對稱加密來加密對稱加密算法的對稱密鑰。
本系統(tǒng)采用的就是利用AES算法對文件進行加密,然后使用基于身份標識的加密算法(IBE)對AES密鑰進行加密。IBE的加密方基于用戶的身份標識(如身份證號、手機號、服務器的域名或IP地址等)生成公鑰從而加密數據,解密時使用自己的身份標識和密碼向密鑰服務器申請私鑰,然后用私鑰解密數據。IBE不需要復雜的密鑰管理工作,不需要保存諸多加密公鑰,有效地減小了系統(tǒng)的存儲代價。本系統(tǒng)中的IBE加密調用了Java IBE密碼模塊完成,但是由于客戶端在安卓移動平臺,所以密碼模塊部分有所不同。對于解密,兩端都需要連接密鑰服務器獲取加密所用標識對應的私鑰,申請私鑰成功后,私鑰可以保存在本地,在私鑰的有效期內,不需再度申請,系統(tǒng)解密時會自動使用。
針對加密后的訪問策略與對稱密鑰的傳輸與存儲,本系統(tǒng)將訪問策略及對稱密鑰以一定的形式一起存放在加密文件的頭部,然后上傳到服務器,當需要使用訪問策略或對稱密鑰時,直接從文件中讀取出來。
為了能夠方便地存儲和讀取訪問策略和對稱密鑰,本系統(tǒng)針對共享文件設計了如下存儲方案:在文件的頭部開辟一個 4096節(jié)大小的空間,前面 17個字節(jié)用來存儲加密標識以標識該文件是否已經加密,第18至第1024個字節(jié)(計1007個字節(jié))用來存儲用戶上傳文件時指定的可以解密文件的一個或多個用戶的標識以及基于這些標識用IBE加密后的AES對稱密鑰。后面的3072字節(jié)中,先存儲未加密訪問策略長度及內容,再存儲加密訪問策略長度及內容,最后存儲加密后對稱密鑰長度及密鑰內容。其中未加密策略只在系統(tǒng)開發(fā)初期用來向用戶展示策略時使用,系統(tǒng)的訪問控制都是將加密策略解密后依照解密后的訪問策略來進行的,因而可以防止不法用戶通過篡改策略來進行提權攻擊。加密的共享文件頭部的具體結構如圖2所示。
對于私人文件,由于不需要存儲訪問策略來進行訪問控制,只需要基于用戶的標識使用 IBE對AES對稱密鑰進行加密并存儲在文件頭部即可,私人文件的頭部結構如圖3所示。
針對文件的解密,由于解密運算較為耗時,為了避免給文件服務器造成較大壓力,本系統(tǒng)設計了一個獨立的密鑰交換服務器與文件客戶端進行交互來實現文件解密,主要交互過程如下:
(1)文件客戶端提取加密文件頭部的加密對稱密鑰和加密訪問策略,并連同用戶在身份服務系統(tǒng)中的賬戶名密碼或者身份令牌一同發(fā)送到密鑰交換服務器。身份令牌可以是由文件服務器簽發(fā)的數字證書、SAML斷言等。
(2)密鑰交換服務器使用自己的IBE私鑰解密出加密的對稱密鑰,并使用對稱密鑰解密出加密的訪問策略。
圖2 共享文件頭部結構Fig.2 Structure of the header of shared file
圖3 私人文件頭部結構Fig.3 Structure of the header of personal file
3)文件服務器連接身份服務系統(tǒng)驗證用戶身份信息,并依據身份信息和訪問策略驗證用戶的解密權限,若權限驗證通過則將對稱密鑰基于用戶的身份標識使用IBE加密后發(fā)送回文件客戶端,若未通過則返回授權失敗的響應。
4)文件客戶端使用自己的IBE私鑰解密出對稱密鑰,進而使用對稱密鑰解密文件。
本系統(tǒng)基于安卓web的文件客戶端模塊,是通過瀏覽器登陸系統(tǒng)進行共享文件的操作。但是由于瀏覽器能力和Javascript語言的限制,瀏覽器無法進行復雜的運算處理。因而當用戶使用瀏覽器訪問基于B/S架構的Web系統(tǒng)的時候,常常會產生調用本地API來實現相關功能的需求,比如在本系統(tǒng)中就需要調用本地的密碼模塊來加密和解密文件[17]。為了解決這個問題,各家瀏覽器廠商都提供了相關的控件和插件機制供開發(fā)者使用,較為通用的有IE的ActiveX、火狐瀏覽器的 Mozilla Plug-in、NPAPI,和 Chrome瀏覽器的 Google Native Client以及NativeMessage機制。但是這些技術普遍存在著以下的不足:
(1)各個瀏覽器提供的機制是不通用不統(tǒng)一的,而且瀏覽器所運行的平臺各異,Windows、Linux、Unix、OSX系統(tǒng)對插件機制的支持也存在很大區(qū)別。
(2)由于安全和技術限制,插件機制調用本地API的能力往往是受到限制的,使得很多的本地API都無法調用,特別是大部分插件不支持移動系統(tǒng)。
(3)由于瀏覽器插件的安全隱患越來越嚴重,很多的瀏覽器都開始逐步廢棄NPAPI等舊的插件機制。
為了避免以上所述的瀏覽器插件機制的種種問題,本論文提出了一種適用于安卓平臺、面向Web的無插件本地API調用方案,以完成對本系統(tǒng)中所需的本地密碼模塊的調用。
本方案實現包括瀏覽器JSP頁面、本地代理、以及Web服務器三個部分。本地代理程序運行在本地安卓設備上,通過在登陸JSP頁面時,發(fā)送廣播由安卓系統(tǒng)啟動代理程序,然后本地代理程序將在安卓設備上創(chuàng)建一個指定端口的Http服務器。然后當安卓瀏覽器上JSP頁面有復雜運算需求時,通過Http請求、Socket通信或 Ajax請求向本地該 Http服務器發(fā)送請求,并傳遞所需參數。然后本地代理接收到請求后,按Http協(xié)議解析出其中的調用參數,如調用的本地API名稱、調用時所需的輸入輸出參數等,然后有本地代理完成對本地API的調用。
對于本系統(tǒng),基于安卓Web的文件共享客戶端,由于需要對文件進行加密解密等復雜的運算,所以需要采用該方案實現安卓瀏覽器對本地 API的調用。本系統(tǒng)采用了開源庫 NanoHttpd搭建了一個輕量級的Http服務器作為本地代理程序,并將該部分直接集成在基于安卓的文件共享客戶端中,在進行業(yè)務處理時,直接調用客戶端的加解密模塊進行處理,極大地避免了代碼的冗余和重復開發(fā)。
本論文設計設計了一套基于用戶身份信息,結合了訪問控制模型、數據加密技術和權限分離機制的文件加密共享方案。該方案通過讓用戶和系統(tǒng)管理員一起制訂訪問策略來進行訪問控制,既可以阻止外部非法訪問,又可以防止系統(tǒng)管理員利用權限非法解密文件。此外對安卓瀏覽器調用本地API技術進行了研究,并設計了一種無插件的安卓web調用本地API方案。
[1]劉睿智, 孟繁義, 馮昆鵬, 等.一種用于無線移動通信終端的多頻段可重構天線[J].新型工業(yè)化, 2011, 1(12): 108-112.
[2]孟文超, 段紅光.GEO 多波束衛(wèi)星移動通信系統(tǒng)多址方式選擇的研究[J].新型工業(yè)化, 2013, 3(6): 57-60.
[3]張世紅.基于地市級移動通信的數據倉庫接口與ETL2設計[J].軟件, 2015, 36(12): 216-219.
[4]孟祥雨, 李學軍.智能手機軍事化應用前景研究[J].軟件, 2014, 35(4): 78-79.
[5]李藝琳.基于Android平臺智能手機短信應用的研究與改善[J].軟件, 2014, 35(9): 109-114.
[6]Qi Li, Jianfeng Ma, Rui Li, Ximeng Liu, Jinbo Xiong, Danwei Chen.Secure, efficient and revocable multi-authority access control system in cloud storage[J].Computers & Security, 2016,: 35-38.
[7]譚鵬許.云計算環(huán)境下安全分布式存儲架構與容錯技術研究[D].解放軍信息工程大學, 2013.
[8]王君君.網絡文件的分布式存儲設計與實現[D].山東大學, 2014.
[9]Butler, Brandon.Nine free cloud storage options for small businesses[J].Network World (Online), 2014: 45-49.
[10]李慧.基于 MooseFS 的移動云盤系統(tǒng)的研究與設計[D].大連理工大學, 2014.
[11]焦永鑫.基于瀏覽器插件的網絡釣魚防范研究[D].吉林大學, 2011.
[12]龍毅宏, 唐志紅, 劉旭.一種面向共享文件的文件加密系統(tǒng)[P].CN103916480A, 2014-07-09.
[13]Coyne, Ed, Weil, Timothy R.ABAC and RBAC: Scalable, Flexible, and Auditable Access Management[J].IT Professional Magazine, 2013, 153: 78-82.
[14]Hsing-Chung (Jack) Chen, Marsha Anjanette Violetta, Cheng-Ying Yang.Contract RBAC in cloud computing[J].The Journal of Supercomputing, 2013, 662: 146-147.
[15]具有權限管理的IBE系統(tǒng)的設計與實現[D].長春: 吉林大學, 2009.
[16]Priyadarshini Patil, Prashant Narayankar.A Comprehensive Evaluation of Cryptographic Algorithms: DES, 3DES, AES, RSA and Blowfish[J].Procedia Computer Science, 2016, 78: 155-157.
[17]龍毅宏.無需預先構建安全會話的本地API調用方法[P].CN104158856A, 2014-11-19.
Mobile File Sharing System Based on IBE Encryption Technology
SONG Shen, LIU Xue-dong, LONG Yi-hong
(School of Information Engineering, Wuhan University of Technology, Wuhan 430070, China)
Today, with the rapid development of mobile communication, it is very important for the enterprises to communicate with each other.In this paper, we propose and implement a mobile security file sharing system based on IBE encryption technology, which includes secure file sharing app based Android, and non-plug-in security sharing system based Android web.The test proves that the system has good performance and can realize file sharing under the premise of ensuring security.
IBE; Android; Secure sharing
TP393.08
A
10.3969/j.issn.1003-6970.2017.03.005
國家科技支撐計劃項目(2015BAH17F03);國家科技支撐計劃項目(2014BAH26F03)
宋深(1994-),男,碩士研究生,主要研究方向為信息安全。
龍毅宏,教授,博士,主要研究方向為信息安全。
本文著錄格式:宋深,劉雪冬,龍毅宏.一種基于IBE加密技術的移動文件共享系統(tǒng)[J].軟件,2017,38(3):22-26