• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種在對象關(guān)系映射中可自毀數(shù)據(jù)方法

    2016-09-02 07:12:53楊家奇王志堅
    關(guān)鍵詞:密文生命周期密鑰

    楊家奇,王志堅,傅 曉,王 宇

    (河海大學計算機與信息學院,南京211100)

    一種在對象關(guān)系映射中可自毀數(shù)據(jù)方法

    楊家奇,王志堅,傅曉,王宇

    (河海大學計算機與信息學院,南京211100)

    提出一種數(shù)據(jù)自毀方法,引入Web分層技術(shù)概念,將對象關(guān)系映射中的過程分為不同層級,通過雙重散列加密,被加密的文件分為兩個部分,將時間、訪問次數(shù)和銷毀策略作為屬性進行加密作為文件頭部.該方法不需要任何認為干涉,生命周期結(jié)束后可自行在分布式系統(tǒng)中自行銷毀,實現(xiàn)對對象關(guān)系映射中文件的細粒度控制.

    對象關(guān)系映射;文件數(shù)據(jù);屬性加密;自毀

    對象關(guān)系映射(Object-Relation Mapping,ORM)是一種用于實現(xiàn)面向?qū)ο缶幊讨胁煌愋拖到y(tǒng)數(shù)據(jù)之間相互轉(zhuǎn)換的技術(shù)[1].通過對象關(guān)系映射,可以直接對關(guān)系數(shù)據(jù)庫系統(tǒng)中的面向?qū)ο箢I(lǐng)域模型進行訪問和操作,而無需關(guān)心其在數(shù)據(jù)庫中的存儲結(jié)構(gòu)以及異構(gòu)數(shù)據(jù)之間的轉(zhuǎn)換如何實現(xiàn),這就為程序的兼容性和移植性提供方便.對象關(guān)系映射本質(zhì)上是業(yè)務(wù)實體(Business Entity)的各種表現(xiàn)形式之間的映射.大多數(shù)對象關(guān)系映射系統(tǒng),例如Hibernate和NHibernate等,都使用可擴展置標語言(Extensible Markup Language,XML)[2]來實現(xiàn)映射持久化.如圖1所示,這些含有對象關(guān)系映射信息的文件因此被稱為映射文件(Mapping Files).

    圖1 對象關(guān)系映射系統(tǒng)結(jié)構(gòu)圖

    映射文件中含有記錄業(yè)務(wù)實體各表現(xiàn)形式的必要信息,其中包括描述業(yè)務(wù)實體在關(guān)系數(shù)據(jù)庫中以關(guān)系數(shù)據(jù)形式存儲的相關(guān)數(shù)據(jù)庫連接串、表名、列名等等.在大多數(shù)情況下,為了保持對象關(guān)系映射在應用中的透明性(Transparence),應用程序開發(fā)者并不希望系統(tǒng)用戶直接訪問上述信息.另一方面,如果惡意用戶獲取了這些信息,也有可能利用其中的相關(guān)內(nèi)容對系統(tǒng)進行攻擊從而造成安全上的風險.在大規(guī)模分布式計算系統(tǒng),尤其是云計算當中,開發(fā)者無法對部署到每個節(jié)點上的分布式應用程序中的映射文件進行細粒度的控制.計算任務(wù)完成后,被提交到節(jié)點上的映射文件依然有可能存在,并造成持續(xù)的泄露風險.

    數(shù)據(jù)加密是保護數(shù)據(jù)的一種有效手段,近幾年國內(nèi)外學者提出一些基于屬性加密的方法,如采用基于屬性的加密算法[3-6]和基于代理重加密[7-9]等技術(shù),在很大程度上實現(xiàn)數(shù)據(jù)安全加密,但均未提出數(shù)據(jù)的生命周期概念,無法將數(shù)據(jù)文檔自動銷毀;而采用Dissolver系統(tǒng)[10]進行數(shù)據(jù)自毀的策略具有生命周期概念,但無法實現(xiàn)分布式系統(tǒng)的數(shù)據(jù)自動銷毀.Xiong[11]先提出一種安全的文檔自毀策略ISDS,利用IBE加密算法將文檔保存與DHT網(wǎng)絡(luò),但容易受到Sybil攻擊,導致密鑰被破解,而后Xiong[12-15]等人又進一步提出的組合文檔加密等3種方式在很大程度上實現(xiàn)了具有生命周期的文檔控制,解決了Sybil等網(wǎng)絡(luò)攻擊,但基于DHT網(wǎng)絡(luò)的應用使其難以滿足ORM關(guān)系中的細粒度控制;岳風順[16]提出了基于DHT網(wǎng)絡(luò)將文件進行拆分成密文和密鑰,從密文中隨機抽取密鑰存儲在DHT網(wǎng)絡(luò),其加密思想較好,且實現(xiàn)難度不大,在生命周期結(jié)束后文檔密鑰消失,密文也就無法破解,但由于密文的大小決定了密鑰的隨機性很大,其密鑰的復雜度受密文大小以及隨機函數(shù)影響較大.Wang[17]和Zeng[18]等人先后提出Vanish系統(tǒng)和SafeVanish系統(tǒng),通過樹結(jié)構(gòu)提高密鑰管理效率,但會受到Sybil攻擊,只要獲得足夠密鑰分量,就可以解析密鑰;尤其是SafeVanish系統(tǒng)增加了密鑰長度,增加了加解密算法的時間損耗.Json[19]提出了一種基于P2P網(wǎng)絡(luò)的文件自毀機制,通過下家peer對上家peer的反饋,來總結(jié)每一個peer是否可信,從而決定將data是否發(fā)送給下家,但該機制中的data只能是一次性的,即一次用完后即刪除,并且該機制需要在每一個peer中添加路由表和可信表,需要實時更新,增加開銷.Fu[20]等人研究了一種可進行自毀的郵件,基于WEB系統(tǒng)和中心服務(wù)器,將郵件進行分割加密組裝成一份url,規(guī)避了SafeVanish系統(tǒng)易受Sybil攻擊,降低了密鑰長度,但該方法只限于在線查看,需要中心服務(wù)器實時服務(wù),而基于離線的data查看問題并未討論,即離線的ORM分布式系統(tǒng)無法實現(xiàn)掌控.Tung,Tsai-Yeh[21]提出一種在可進行短信自刪除的手機端應用XMPP,通過將時間設(shè)定刪除條件,將密鑰刪除,但密文依然存在與手機中.

    本文基于對稱加密算法(Rijndael)和非對稱加密算法(2048位RSA算法),采用類似Web編程的分層思想,分為應用層、數(shù)據(jù)自毀層和數(shù)據(jù)訪問層,合稱為持久層數(shù)據(jù),結(jié)構(gòu)清晰明朗.不同的層之間根據(jù)兩種加密算法的特性而采用不同加密算法.在電子文件頭部添加時間期限、訪問次數(shù)和銷毀策略的屬性,通過雙重散列轉(zhuǎn)換,以實現(xiàn)文件生命周期的控制.將時間作為屬性添加到文件頭部,作為生命周期結(jié)束與否的標志,同時作為散列的密文,增加文件被暴力破解的復雜度.電子文件生命周期結(jié)束后,運用MVC思想中的觀察者模式通過查看銷毀策略,決定對當前文件執(zhí)行相應的自毀步驟.密文和密鑰均受控制條件限制,控制條件可根據(jù)實際情形設(shè)置,實現(xiàn)對電子文件生命周期的細粒度控制.

    1 分析與設(shè)計

    定義1:自毀數(shù)據(jù),是指一條計算機數(shù)據(jù),不論以何種形式存儲,在特定條件下能夠?qū)θ嘶蛴嬎銠C系統(tǒng)變?yōu)椴豢勺x狀態(tài).

    從以上定義中可以看出,自毀數(shù)據(jù)具備兩個基本特征:首先,自毀數(shù)據(jù)作為計算機數(shù)據(jù),其內(nèi)容必然包含有意義的信息;其次,在特定條件下,該數(shù)據(jù)能夠變?yōu)椴豢勺x狀態(tài),即對人或計算機系統(tǒng)呈現(xiàn)無意義的序列.因此,可以使用過程Dest()來表示自毀數(shù)據(jù)兩種形態(tài)——有意義的可讀狀態(tài)RD,以及無意義的不可讀狀態(tài)UD——之間的不可逆的轉(zhuǎn)換:

    在大多數(shù)操作系統(tǒng)中,只有可執(zhí)行文件和腳本中的代碼才能被執(zhí)行.XML之類的數(shù)據(jù)文件內(nèi)部不含有任何可執(zhí)行代碼,因此需要借助第三方程序?qū)崿F(xiàn)對自身的操作.同樣的,過程Dest()也必須是獨立于數(shù)據(jù)文件之外的可執(zhí)行程序或服務(wù),當滿足預設(shè)的特定條件時通過數(shù)據(jù)文件被觸發(fā),以執(zhí)行自毀過程,如圖2所示.

    圖2 自毀過程示意圖

    自毀數(shù)據(jù)在本文需要解決三個問題:

    1)在傳輸過程中防止文件被截取并被篡改;2)在文件生命周期內(nèi)保護數(shù)據(jù)不泄密,特定用戶可查看;3)在文件生命周期結(jié)束后自動徹底銷毀.

    為解決問題1,需對文件數(shù)據(jù)進行加密和解密,保證傳輸過程中文件是不可讀的狀態(tài),到達特定分布式終端后,解密成可讀狀態(tài).為解決問題2,需要對文件進行控制條件設(shè)計,保證文件在生命周期內(nèi)可讀,在生命周期外銷毀.為解決問題3,需要對文件進行自毀設(shè)計,采用DOD 5220-22-M保證文件變?yōu)椴豢勺x,無法恢復.

    根據(jù)以上具體問題和解決方案,設(shè)計數(shù)據(jù)自毀系統(tǒng)如圖3所示.在應用層的對象關(guān)系映射組件與數(shù)據(jù)訪問層的映射文件之間加入一個自毀層.自毀層的數(shù)據(jù)自毀原型系統(tǒng)用以響應應用層讀取持久化的對象關(guān)系映射信息的請求,讀取數(shù)據(jù)訪問層中的對象關(guān)系映射信息并向應用層返回XML格式的數(shù)據(jù).當計算任務(wù)完成時,數(shù)據(jù)層的自毀數(shù)據(jù)調(diào)用自毀層的數(shù)據(jù)自毀原型系統(tǒng)將自身銷毀,應用層將無法通過自毀層讀取數(shù)據(jù)層數(shù)據(jù).

    圖3 改進的對象關(guān)系映射系統(tǒng)結(jié)構(gòu)圖

    1.1數(shù)據(jù)訪問層設(shè)計

    應用程序開發(fā)者習慣將包含對象關(guān)系映射信息的XML數(shù)據(jù)以文件形式封裝.為了不改變開發(fā)者原有的使用習慣,本文所設(shè)計的數(shù)據(jù)訪問層依然使用文件的形式來實現(xiàn)映射關(guān)系持久化.數(shù)據(jù)訪問層中映射文件內(nèi)封裝的數(shù)據(jù)能且僅能通過自毀層原型系統(tǒng)訪問,若用戶使用其他工具直接讀取映射文件,則映射文件呈現(xiàn)為無意義的序列.實現(xiàn)這一要求,需要使用數(shù)據(jù)加密技術(shù)對映射文件進行保護.

    加密后的映射文件分為兩個部分:首部和主體.分別用Header表示首部數(shù)據(jù),Body表示主體數(shù)據(jù).

    設(shè)包含對象關(guān)系映射信息的XML數(shù)據(jù)為D,產(chǎn)生哈希信息BH的哈希過程為BHash(Data),產(chǎn)生隨機密鑰RKey的偽隨機過程為Random(),對稱加密過程為SymmetricEncrypt(PlainText,Key),則主體數(shù)據(jù)Body由以下公式得出:

    設(shè)任務(wù)完成時的判斷條件為 SelfDestCondition,產(chǎn)生哈希信息HH的哈希過程為HHash(Data),非對稱加密過程AsymmetricEncrypt(PlainText,PrivateKey),產(chǎn)生密鑰對(PublicKey,PrivateKey)的過程為Generator(),則首部數(shù)據(jù)Header由以下公式得出:

    加密后的映射文件結(jié)構(gòu)如圖4所示.

    圖4 映射文件結(jié)構(gòu)圖

    在本文研究的問題中,由于云計算的節(jié)點租用多采取計時方式,因此任務(wù)完成時的判斷條件SelfDestCondition可設(shè)為租期到期時間,以Datatime類型數(shù)據(jù)表示.

    映射文件分為兩部分的益處在于,只有使用匹配的公鑰才能解密首部數(shù)據(jù),并得到解密主體數(shù)據(jù)所需的對稱密鑰.由于對稱密鑰由偽隨機過程生成,直接蠻力攻擊(Brute-force Attack)主體數(shù)據(jù)等價于唯密文破解對稱加密過程SymmetricEncrypt所用加密算法的難度;而攻擊首部數(shù)據(jù)的唯一方法是旁路攻擊(Side-way Attack)獲取公鑰,否則只有通過蠻力攻擊,也就是唯密文破解非對稱加密過程AsymmetricEncrypt所用加密算法的等價問題.本文使用Rijndael算法作為對稱加密算法,其中密鑰長度設(shè)為256bit,塊(Block)大小設(shè)置為128bit,以符合FIPS PUB 197關(guān)于國家秘密(National Secret)級別數(shù)據(jù)的加密要求[22].使用RSA作為非對稱加密算法,其中密鑰長度設(shè)置為2 048 bit,以符合SET(Secure Electronic Transaction)協(xié)議中關(guān)于CA(Certificate Authority)中心安全級別的密鑰長度要求.

    首部和主體數(shù)據(jù)中均含有各自的哈希信息,數(shù)據(jù)在傳輸和存儲過程中若被從外部非法篡改,通過哈希過程可以被發(fā)現(xiàn),從而降低遭受中間人攻擊(Man-In-the-Middle Attack)的風險.

    為區(qū)別于原有XML數(shù)據(jù),本文中的映射文件采用.sdd后綴名,以標識其為自毀數(shù)據(jù)(Self-Destructing Data).

    1.2自毀層

    1.2.1自毀層設(shè)計與模型

    自毀層處于應用層和數(shù)據(jù)訪問層之間,應用層對象關(guān)系映射組件通過自毀層上的接口從映射文件中讀取映射信息.當滿足映射文件首部所包含的自毀條件時,自毀層根據(jù)預先設(shè)定的安全銷毀策略將數(shù)據(jù)訪問層中相應的映射文件銷毀.本文使用一個自毀數(shù)據(jù)原型系統(tǒng)來實現(xiàn)自毀層的功能設(shè)計要求.

    自毀層與應用層之間的交互接口需要符合應用層的原有規(guī)范,只有這樣才能實現(xiàn)原有應用程序到使用自毀數(shù)據(jù)的應用程序之間的無縫遷移.而應用程序開發(fā)者也不需要對原有代碼進行修改,只需要簡單的引用自毀數(shù)據(jù)原型系統(tǒng)并導入其命名空間,即可完成程序的移植過程.自毀層與應用層之間的請求-響應(Request-Response)機制如圖5所示.

    對象關(guān)系映射組件請求格式多為字符串類型的文件路徑,返回的響應流(Response Stream)為XML數(shù)據(jù)形式的映射信息.因此,在原型系統(tǒng)中,遵照上述接口,可用以下公式表示自毀層的輸入輸出:

    圖5 自毀層與應用層交互接口

    其中:FilePath為應用層所請求的映射文件路徑,XMLStream為自毀層返回的 XML數(shù)據(jù),SelfDestructingLayer()為自毀層業(yè)務(wù)邏輯過程.

    自毀層數(shù)據(jù)自毀原型系統(tǒng)接收到映射文件路徑請求之后,通過路徑查找文件系統(tǒng)下相應映射文件.若映射文件不存在,原型系統(tǒng)過程終止并拋出出錯信息;若文件存在,則對映射文件進行分割,將其分為首部和主體,并分別對這兩部分數(shù)據(jù)進行處理.對于首部數(shù)據(jù),使用預先存儲的公鑰進行解密,從解密后的首部數(shù)據(jù)明文中分離出自毀條件、主體數(shù)據(jù)的隨機密鑰以及首部數(shù)據(jù)的哈希信息.原型系統(tǒng)根據(jù)首部數(shù)據(jù)哈希信息,對自毀條件、主體數(shù)據(jù)的隨機密鑰進行校驗.若校驗失敗,證明首部數(shù)據(jù)已遭到破壞,過程終止并拋出錯誤信息;若校驗成功,則對自毀條件進行判斷.上文所述,自毀條件為Datetime類型數(shù)據(jù),其含義是節(jié)點租期到期時間.若當前時間已超過租期到期時間,原型系統(tǒng)認為在當前節(jié)點上的計算任務(wù)已完成,執(zhí)行預定安全銷毀策略銷毀相應的映射文件數(shù)據(jù),過程終止并拋出錯誤信息;若當前時間未超過租期到期時間,則使用主體數(shù)據(jù)的隨機密鑰對主體數(shù)據(jù)進行解密,并從解密后的主體數(shù)據(jù)明文中分離出XML數(shù)據(jù)和主體數(shù)據(jù)的哈希信息.原型系統(tǒng)根據(jù)體數(shù)據(jù)哈希信息對XML數(shù)據(jù)進行校驗.若校驗失敗,證明主體數(shù)據(jù)以遭到破壞,過程終止并拋出錯誤信息;若校驗成功,將XML數(shù)據(jù)以響應流的形式返回至應用層,自毀層業(yè)務(wù)邏輯過程成功完成.

    1.2.2時間期限設(shè)計

    原型系統(tǒng)通過映射文件中的租期到期時間和當前時間比較,以判斷節(jié)點租期是否到期.需注意的是,不論操作系統(tǒng)時鐘還是主板上的硬件時鐘,節(jié)點的系統(tǒng)時間都可以被用戶更改從而繞過自毀層控制.為抵抗此類攻擊,自毀層原型系統(tǒng)有必要與Internet日期時間服務(wù)器進行同步,使用世界標準時間而非節(jié)點系統(tǒng)時間作為當前時間.Internet日期時間服務(wù)器使用日期時間協(xié)議(Daytime Protocol)[23],向發(fā)起TCP連接請求的主機返回標準格式的Daytime數(shù)據(jù).原型系統(tǒng)與Internet日期時間服務(wù)器的時間同步過程如圖6所示.

    圖6 Internet時間同步

    當映射文件中的租期到期時間大于或等于當前時間,原型系統(tǒng)將銷毀映射文件數(shù)據(jù).需注意的是,在文件系統(tǒng)中刪除一個文件并不意味著將其數(shù)據(jù)銷毀,而僅是對需刪除的文件進行一個標記操作.

    1.2.3文件數(shù)據(jù)徹底自毀

    以FAT文件系統(tǒng)為例[24],文件數(shù)據(jù)被分開存儲于分區(qū)(Partition)上的簇(Cluster)中,這些包含文件數(shù)據(jù)的簇的地址在文件分配表(File Allocation Table)中以鏈表形式保存,其地址中的值即為下一簇地址,簇鏈尾部的簇地址中值為空.文件目錄表(File Directory Table)中則保存文件的元數(shù)據(jù)和起始簇號.當一個文件被刪除時,文件系統(tǒng)首先在文件分配表中將該文件對應簇鏈中每一個簇標記為空閑,最后在文件目錄表中刪除該文件的信息.但是,文件數(shù)據(jù)仍然存在于簇中,只要通過文件分配表查找到被刪除文件的首簇,然后通過鏈表依次讀取簇鏈中每個簇中的數(shù)據(jù).將每一個簇的數(shù)據(jù)映射到文件數(shù)據(jù)對應偏移位置,當整個簇鏈中的簇的數(shù)據(jù)都被讀取之后,整個文件數(shù)據(jù)即被恢復.

    同樣的,NTFS(New Technology File System)文件系統(tǒng)中,文件數(shù)據(jù)所在的鏈表被存儲在主文件表(Master File Table)中[25].通過讀取被標記為空閑的簇,查找簇鏈上對應的簇數(shù)據(jù),可以對NTFS文件系統(tǒng)中被刪除的文件數(shù)據(jù)進行恢復.

    分布式文件系統(tǒng),例如HDFS(Hadoop Distributed File System)文件系統(tǒng),則是通過名字節(jié)點(Name Node)和數(shù)據(jù)節(jié)點(Data Node)來進行文件數(shù)據(jù)訪問和操作[26].其中,名字節(jié)點用于管理文件系統(tǒng)的命名空間,保存目錄結(jié)構(gòu)以及所有文件夾和文件的元數(shù)據(jù);數(shù)據(jù)節(jié)點則用來存儲文件數(shù)據(jù).和FAT以及NTFS不同的是,HDFS采用塊(Block)而非簇作為保存文件數(shù)據(jù)的最小存儲單位,每個塊的大小為64MB.當在HDFS文件系統(tǒng)中通過-rm進行刪除文件操作時,名字節(jié)點通過傳入請求中的文件路徑將文件移至/trash目錄,此時文件依然存在并可通過命名空間org.apache.Hadoop.fs.Trash訪問.當被移動至/trash中的文件經(jīng)刪除周期org.apache.Hadoop.fs.Trash.Inerval后,HDFS從后臺調(diào)用清理線程org.apache.Hadoop.fs.Trash.Emptier開始清理該文件.清理線程查找被刪除文件的路徑所映射的塊所在的數(shù)據(jù)節(jié)點,并刪除所有對應的塊.數(shù)據(jù)節(jié)點通過心跳(Heartbeat)和塊報告(Block Report)與名字節(jié)點進行通信,以確定其工作狀態(tài)是否正常,數(shù)據(jù)塊是否完整.若數(shù)據(jù)節(jié)點及所要刪除的塊均工作正常,則清理線程向數(shù)據(jù)節(jié)點提交刪除塊的操作.最后,清理線程刪除名字節(jié)點上的文件信息,完成整個刪除過程.

    由于分布式系統(tǒng)的并發(fā)性和異步性,數(shù)據(jù)節(jié)點上相應塊的操作不可能像本地文件系統(tǒng)一樣實時同步完成.而且,為了保障文件數(shù)據(jù)的完整性,HDFS會根據(jù)副本系數(shù)在不同的數(shù)據(jù)節(jié)點上創(chuàng)建塊的冗余副本以進行差錯控制.原則上,只要所有被刪除文件的相應塊沒有全部被刪除,文件數(shù)據(jù)就可以根據(jù)名字節(jié)點中所存儲的塊映射信息被恢復.

    為防止攻擊者通過技術(shù)手段恢復文件系統(tǒng)中刪除的映射文件,必須調(diào)用安全銷毀策略對映射文件內(nèi)容進行清理和銷毀,而非簡單的刪除.美國國防部推薦了一種針對可寫入媒體中信息的銷毀方法:依次使用一個字符(character)、該字符的反碼、一個隨機字符覆蓋所有媒體上的可尋址區(qū)域并校驗[27].基于該方法的原理,在原型系統(tǒng)中引入DOD 5220-22-M標準作為安全銷毀策略,用以實現(xiàn)對文件系統(tǒng)中到期映射文件數(shù)據(jù)的銷毀.具體算法流程如下:首先,使用0x00對映射文件中所對應的每個簇進行覆蓋;然后,使用0x00的反碼,即0xFF再次覆蓋;最后,使用偽隨機函數(shù)生成的隨機字節(jié)最后一次覆蓋.當以上三步均成功完成之后,從文件系統(tǒng)中將映射文件刪除.經(jīng)過該安全銷毀策略銷毀的文件數(shù)據(jù),即使其索引被恢復,由于其數(shù)據(jù)所在的簇(在分布式文件系統(tǒng)中則為塊)中的數(shù)據(jù)已被完全覆蓋,故而不可能重建原文件,攻擊者僅能獲得最后一次覆蓋過程所寫入的無意義的隨機字節(jié)序列.

    2 系統(tǒng)實現(xiàn)

    本節(jié)以NHibenate為例,詳細說明如何在原有的對象關(guān)系映射系統(tǒng)中實添加數(shù)據(jù)自毀系統(tǒng),實現(xiàn)映射文件自毀功能.

    在Microsoft Visual Studio.Net集成開發(fā)環(huán)境中編寫2.2中所設(shè)計的的自毀層原型系統(tǒng)代碼,并編譯成動態(tài)鏈接庫(Dynamic Link Library)形式.在面向?qū)ο箢I(lǐng)域中,2.1中所設(shè)計的映射文件模型定義如下:

    其中,AsymmetricEncrypt使用RSA 2048,SymmetricEncrypt使用Rijndael,HHash和BHash均使用MD5[28].

    動態(tài)鏈接庫僅向外部暴露兩個接口:一個將XML數(shù)據(jù)轉(zhuǎn)換為映射文件,另一個則將映射文件轉(zhuǎn)換為XML數(shù)據(jù).其命名空間與接口如下:

    其中,SelfDestructingData.XMLDataToMapping -

    File供映射文件分發(fā)者使用.分發(fā)者設(shè)定需要封裝的XML數(shù)據(jù),數(shù)據(jù)到期時間以及加密所用的私鑰之后,該函數(shù)將XML數(shù)據(jù)以映射文件方式封裝.

    SelfDestructingData.MappingFileToXMLData供部署了關(guān)系映射系統(tǒng)的應用程序使用,以實現(xiàn)程序中對映射文件的讀取操作.

    在NHibenate中,需要重寫(Override)下面方法,以便于應用程序開發(fā)者使用,關(guān)鍵代碼如下:

    重寫之后,應用程序開發(fā)者只要在項目中引用相應的命名空間,即可將原有應用程序轉(zhuǎn)換為支持自毀數(shù)據(jù)的程序.一個轉(zhuǎn)換后的項目如圖7所示.

    圖7 使用自毀數(shù)據(jù)的應用程序

    3 與現(xiàn)有技術(shù)比較

    3.1功能對比

    本文方案技術(shù)與現(xiàn)有文件生命周期控制方法比較,本方法增加了自主時間期限、訪問次數(shù)自動檢測等功能,實現(xiàn)對數(shù)據(jù)的主動有效控制,當達到判斷條件后自動徹底銷毀,比熊[11-15]等人方法實現(xiàn)方法簡單,算法通用性好,且實踐可行;將岳[16]和Json[19]的方法中被動控制轉(zhuǎn)化為主動設(shè)置時間期限和訪問次數(shù)等控制條件,且無需額外工作(如拉格朗日定理或可信表更新)進行文檔驗證進行解密.具體表現(xiàn)為下面4點:

    1)通過雙重散列實現(xiàn)文件數(shù)據(jù)的散列轉(zhuǎn)換和首部驗證消息散列轉(zhuǎn)換,多重安全機制保障密文數(shù)據(jù)的安全性.將對稱加密密鑰封裝在Header中,并使用非對稱加密手段加密Header部分,防止密鑰丟失或者被竊導致文件數(shù)據(jù)被查看.

    2)在加解密過程中,引入了時間期限、訪問次數(shù)以及銷毀策略等因素,充分考慮文件數(shù)據(jù)的使用規(guī)范,實現(xiàn)對文件數(shù)據(jù)的有效控制,避免文件接收者可以無限期和無限次的訪問數(shù)據(jù).

    3)檢測到數(shù)據(jù)文件使用時間已到期或訪問次數(shù)結(jié)束,自動調(diào)用銷毀策略將數(shù)據(jù)文件銷毀,根據(jù)數(shù)據(jù)文件安全程度的高低,對于數(shù)據(jù)文件分為三種銷毀方式:一次隨機序列覆蓋、三次覆蓋和七次隨機序列覆蓋,降低了用戶殘留文件數(shù)據(jù)泄漏的風險.

    4)達到判斷條件后自動銷毀,無需用戶或可信第三方介入,避免因意外因素導致的文件數(shù)據(jù)外泄、漏刪等情況,規(guī)避人為導致的數(shù)據(jù)外泄風險.

    3.2性能對比

    在時間開銷上,該方案由于進行了對稱加密算法和非對稱加密算法的設(shè)計,在時間開銷上增加不少.但與普通的文件打開耗時相比,對于普通用戶完全是可接受范圍.通過方案自帶檢測代碼加密文件發(fā)現(xiàn),加密一個1M的文件只需要9 ms左右時間,對于用戶反應時間0.1s來說,這點時間開銷可以忽略不計.而解密時間就更小,1M大小的文件解密時間僅為3ms左右,也遠低于0.1s,不改變?nèi)藗兇蜷_電子文件的習慣.在Xiong[11-15]與岳風順[16]的方案中并未對加解密時間開銷進行試驗,僅限于理論研究基礎(chǔ)上的技術(shù)探討;而Fu[20]的方案由于增加了數(shù)據(jù)庫檢索的時間,并且隨著郵件越大,轉(zhuǎn)換成的uuid串的越多,當數(shù)據(jù)庫中保存的uuid達到GB級別,則時間開銷會大幅提升,故在時間開銷上略大于本方案的數(shù)據(jù);Json[19]的方案中由于實時維護路由表和可信表,對于同一個文件data,增加了維護的時間開銷,而本方案無需維護時間;而對于Tung[21]的方案,由于是單重加密,且只有時間屬性,時間開銷較本方案小一些.

    在空間開銷上,該方案中實驗文件大小僅增加1KB大小左右,相比于一個1M左右的文件,其大小僅增加了千分之一,完全在可接受范圍內(nèi).在Json[19]的方案中由于需要實時維護路由表和可信表,當peer越來越多時,其表空間占用就會比1KB大很多;Fu[20]的方案主要開銷是數(shù)據(jù)庫表的維護,當用戶越來越多,服務(wù)器中的表會越來越大,穩(wěn)定性越差,只能進行分布式表結(jié)構(gòu)和負載均衡設(shè)計,而生產(chǎn)的url鏈接則較小,不隨郵件大小而變化;而Xiong[11-15]與岳風順[16]的方案中,由于密文和密鑰均是多重加密,并將密鑰保存與DHT網(wǎng)絡(luò),故不存在多出來的1KB開銷,但超過生命周期的密文未自毀,依然占用服務(wù)器空間,需要人為的定時清理;同理,Tung[21]的密文message也需要sender 和receiver進行定時清理,否則手機空間會越來越小.

    對比以上方案,本方案無需可信服務(wù)器和可信第三方,大大減少服務(wù)器對文件處理壓力,由于加解密過程簡單,對機器性能要求不高.而方案[21]將此過程移至個人終端,適用于大多數(shù)格式的電子文件,未改變?nèi)藗冊袨g覽文件習慣.本方案增加了次數(shù)和銷毀策略屬性,以及在生命周期結(jié)束后對密文自毀的設(shè)置.

    3.3復雜度對比

    在Xiong[11-15]和岳風順[16]的方案中,密鑰從密文中抽取,并保存在DHT網(wǎng)絡(luò),其密鑰需要經(jīng)過各種信道傳輸,如果被截取足夠的分量,其密鑰也就無秘密可言;且密鑰的復雜度受到密文長度的影響,假若密文本身很短,則其隨機抽取的密鑰本身的隨機性就很小,破解的成本大大降低.相比前兩個方案,本文提出的方法優(yōu)勢是在相同密鑰長度的情況下,時間期限作為第二次Hash散列內(nèi)容一部分,在64位系統(tǒng)中,其破解的可能性為,其復雜度穩(wěn)定,不受密文大小影響,即使密文長度為128位也是如此.而Fu[20],Json[19]和Tung[21]均采用對稱加密,其復雜度取決于加解密算法的復雜度,其中Fu[20]的方案中數(shù)據(jù)庫中的uuid串的數(shù)量對復雜度也有影響,數(shù)量越大,其暴力破解獲取加密源字符流的復雜度也越大,而Json[19]和Tung[21]只取決于算法的復雜度,并且需要保護好密鑰表中密鑰.

    3.4綜合性能指標分析

    對比現(xiàn)有方案,可看出本文提出的方法在抵抗攻擊、穩(wěn)定性、可擴展性方面都已經(jīng)很好實現(xiàn)功能,同時能夠進行多屬性多重散列加密,規(guī)避了密鑰管理的煩惱;在生命周期結(jié)束后無需擔心密文未刪除帶來的泄露風險.(見表1).

    表1 性能指標表

    4 結(jié)語

    本文針對對象關(guān)系映射中存在的明文數(shù)據(jù)所造成的脆弱性,提出了一種在大規(guī)模分布式計算環(huán)境下可通過屬性對數(shù)據(jù)進行自毀的方法,以降低以往所使用的XML映射文件被濫用的安全風險.本文中所提出的解決方案仍然是基于傳統(tǒng)的密碼學原理,通過多重加密確保密文安全,具有很好的適用性.我們在后續(xù)工作中將會把研究重心放在更加適合于分布式環(huán)境的相關(guān)技術(shù)上,例如適用于對等網(wǎng)絡(luò)(Peer-to-Peer),分布式哈希表(Distributed Hash Table)等等.

    [1]AMBLER S.Mapping Objects To Relational Databases[C]// O/R Mapping In Detail.http://www.agiledata.org/essays/ mappingObjects.html.2006.

    [2]TIM B,JEAN P,CMS,et al.Extensible Markup Language (XML)1.0[C]//World Wide Web Consortium.2004:115-146.

    [3]XU D,LUO F,GAO L,et al.Fine-grained document sharing using attribute-based encryption in cloud servers[C]//Innovative Computing Technology(INTECH),2013 Third International Conference on.IEEE,2013.65-70.

    [4]LIM,YU S,ZHENG Y,et al.Scalable and Secure Sharing of Personal Health Records in Cloud Computing Using Attribute-Based Encryption[J].IEEE Transactionson Parallel&Distributed Systems,2013,24(1):131-143.

    [5] EMURA K,MIYAJIA,NOMURA A,etal.A Ciphertext-Policy Attribute-Based Encryption Scheme With Constant Ciphertext Length[J].Information Security Practice&Experience,2009,5451(1):46-59.

    [6]ZAVATTONIE,PEREZ L JD,MITSUNARIS,etal.Software Implementation of an Attribute-Based Encryption Scheme[J]. IEEE Transactions on Computers,2015,64:1429-1441.

    [7]GREEN M,ATENIESE G.Identity-Based Proxy Re-encryption[M].springer:Berlin Heidelberg,2007,288-306.

    [8]PublicKey Cryptography PKC.Public-Key Cryptography--PKC 2014[J].Springer Berlin,2014.

    [9]WENG J,YANG Y,TANGQ,etal.Efficient conditional proxy re-encryption with chosen cipher t ext security[J].International Journal of Network Security&Its Applications,2014,2 (4):104-110.

    [10]徐菁,余建橋,朱有佃,等.基于遠程控制的數(shù)據(jù)銷毀技術(shù)的研究與實現(xiàn)[J].計算機工程與設(shè)計,2008,29(9):2206-2208.

    [11] XIONG JB,YAO Z Q,JIAN F,et al.A Secure Self-Destruction Schemewith IBE for the Internet Content Privacy[J]. Chinese Journal of Computers,2014.

    [12]XIONGJB,YAOZQ,JIAN F,et al.A Secure Self-Destruction Scheme for Composite Documentswith Attribute Based Encryption[J].Acta Electronica Sinica,2014,42(2):366-376.

    [13]XIONGJ,YAOZ,M A J,et al.A secure document self-destruction schemewith identity based encryption[C]//Intelligent Networking and Collaborative Systems(INCoS),2013 5th International Conference on.IEEE,2013.239-243.

    [14]熊金波,姚志強,馬建峰,等.基于屬性加密的組合文檔安全自毀方案[J].電子學報,2014(2):366-376.

    [15]熊金波,姚志強,馬建峰,等.基于行為的結(jié)構(gòu)化文檔多級訪問控制[J].計算機研究與發(fā)展,2013,50(7):1399-1408.

    [16]岳風順.云計算環(huán)境中數(shù)據(jù)自毀機制研究[D].長沙:中南大學,2011.

    [17]王麗娜,任正偉,余榮威,等.一種適于云存儲的數(shù)據(jù)確定性刪除方法[J].電子學報,2012,40(2):266-272.

    [18]ZENG L,SHIZ,XU S,et al.Safevanish:An improved data self-destruction for protecting data privacy[C]//Cloud Computing Technology and Science(CloudCom),2010 IEEE Second International Conference on.IEEE,2010.521-528.

    [19]CROFT J,SIGNORILE R.A self-destructing file distribution system with feedback for peer-to-peer networks/[C]//Proceedings of the 9th WSEAS international conference on Applied computer science.World Scientific and Engineering Academy and Society(WSEAS),2009.

    [20]FU X,WANG Z Z,WU H,et al.How to send a self-destructing email:a method of self-destructing email system [C]//Big Data(BigData Congress),2014 IEEE International Congress on.IEEE,2014.304-309.

    [21]TUNG T Y,LIN L,LEE D T.Pandora messaging:an enhanced self-message-destructing secure instantmessaging architecture formobile devices[C]//27th International Conference on Advanced Information Networking and Applications Workshops.IEEE,2012.720-725.

    [22]FPUB NIST,F(xiàn)IPS PUB 197:Advanced Encryption Standard (AES)[S].2001.

    [23]POSTEL J,RFC 867:Daytime protocol[S].1983.

    [24]Microsoft,F(xiàn)AT:General Overview of On-Disk Format[S]. 2000.

    [25]KOZIEROK,CHARLES M.Overview and history of NTFS[EB/OL].http://www.pcguide.com/ref/hdd/file/ntfs/over.htm,2001.

    [26]BORTHAKUR D.The hadoop distributed file system:Architecture and design[J].Hadoop Project Website,2007,11 (11):1-10.

    [27]FRIELDS J.National industrial security program.operating manual supplement[J].National Industrial Security Program Operating Manual Supplement,1995.

    [28]RIVEST R,RFC 1321:The MD5 Message-Digest Algorithm [S].1992.

    A method of self-destructing data in object-relationalmapping

    YANG Jia-qi,WANG Zhi-jian,F(xiàn)U Xiao,WANG Yu
    (School of Computer and Information,Hohai University,Nanjing 211100,China)

    This paper proposed amethod and introduced technology of Web layered concept to divide ORM into three different levels.The encrypted file was divided into two parts.The time,access times,destruction strategy was encrypted as attributes to be a file header by double hash encryption.Thismethod does notneed any intervene,and at the end of the lifecycle it could destroy itself in a distributed system so that it could implement fine-grained control of object relationalmapping files.

    object-relation mapping;file data;ABE;self-destructing

    TP309

    A

    1672-0946(2016)02-0203-09

    2015-08-13.

    江蘇省自然科學基金(BK20130852)

    楊家奇(1990-),男,碩士,研究方向:信息安全和Web開發(fā).

    猜你喜歡
    密文生命周期密鑰
    動物的生命周期
    探索企業(yè)創(chuàng)新密鑰
    一種針對格基后量子密碼的能量側(cè)信道分析框架
    全生命周期下呼吸機質(zhì)量控制
    一種支持動態(tài)更新的可排名密文搜索方案
    基于模糊數(shù)學的通信網(wǎng)絡(luò)密文信息差錯恢復
    密碼系統(tǒng)中密鑰的狀態(tài)與保護*
    從生命周期視角看并購保險
    中國外匯(2019年13期)2019-10-10 03:37:46
    民用飛機全生命周期KPI的研究與應用
    一種對稱密鑰的密鑰管理方法及系統(tǒng)
    宣化县| 甘南县| 炉霍县| 西乌珠穆沁旗| 宾川县| 泉州市| 盐池县| 安康市| 乐清市| 永川市| 铁岭市| 重庆市| 北京市| 常宁市| 绿春县| 山西省| 烟台市| 长汀县| 凤凰县| 高密市| 钟山县| 明光市| 江永县| 岳西县| 岱山县| 濉溪县| 安达市| 浑源县| 栾川县| 陈巴尔虎旗| 北安市| 库车县| 潮安县| 绵阳市| 赤城县| 汶川县| 博野县| 澎湖县| 会同县| 体育| 天长市|