999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

PDF中隱私數據的保護方法

2017-06-20 20:35:24程旋何成萬
軟件導刊 2017年4期

程旋+何成萬

摘要:PDF是一種可移植文檔,具有許多優點。隨著PDF應用的普及,PDF中隱私數據的保護也變得非常重要。針對PDF表單文本字段提出了數據加解密方法。基于Acrobat工具,結合Javascript事件,調用加解密方法,實現加解密。對用戶在表單文本字段中的數據自動加解密,順應用戶操作習慣,在用戶保存時實施加密。為了方便用戶修改,在保存后對加密數據解密顯示,保證文件上的字段隱私數據明文不會保存在磁盤文件中。這種加密方式,可以在不改變加密文件格式的情況下有效防止文件被拷貝竊密。

關鍵詞:PDF;隱藏字段;加解密

中圖分類號:TP309

文獻標識碼:A

文章編號:16727800(2017)004019403

0引言

PDF文檔格式與操作系統無關,是一種可移植文檔,支持超鏈接、交互表單等功能[1]。這些特性使PDF文檔格式成為當今的主流格式。PDF應用越來越廣,文檔隱私數據信息保護需求也愈發強烈。 隱私數據是數據所有者不愿意披露的敏感信息,通常所說的隱私都指敏感數據,如個人薪資、病人患病記錄、公司財務信息等。不同的數據以及數據所有者,隱私的定義會有差別。例如保守的病人會視疾病信息為隱私, 而開放的病人卻不視之為隱私[2]。對于隱私數據的保護有很多方法,如數據替換、數據加密等。 本文對PDF隱私保護方法進行研究,對PDF表單文本數據字段進行加解密,其加密算法不局限于PDF內置的加密算法,并且將加密的時機選擇在用戶編輯過程中,用戶點擊保存就可實現表單文本字段數據的加密。在隱藏字段實現加解密,用戶感覺不到變化就可完成整個加解密過程。

1相關研究

傳統的信息安全領域研究在于防止外部入侵導致的數據破壞和泄密,主要技術有防火墻、防病毒產品和入侵檢測技術。近年來企業內隱私信息泄露主要方式由外部入侵變為內部泄密。有關報告顯示,在隱私信息泄密中內部泄密占八成。內部泄密主要包括企業內部人員對信息的泄密和盜竊[3],這種泄密形式隱蔽性、針對性強,給企業造成了不少損失。隱私信息內部泄密問題成為亟待解決的問題。

隱私信息防泄密的基礎工作是做好加密解密。加密通常指對文件采用文檔級加密方式,將整個文件流視為一個對象對其進行加密[4-5]。這種加密方式會因為破壞了PDF文件結構導致打開異常。改進方法是結構級加密方法,基于PDF組織結構只對文檔中顯示的內容加密,對應于流對象的關鍵字“stream”和“endstream”之間的字節流[6]。這種方法對顯示內容整體進行加密,在顯示內容較多時會耗費大量的時間,并且加密粒度太大,不夠靈活。 為解決上述問題,本文提出了細粒度加密——對用戶感興趣區域的加密方案。這個方案支持用戶對某一特定頁面內的區域對象加密,這個對象可能是文字也可能是圖片。通過鼠標選定這個矩形區域,然后對矩形區域內的PDF對象進行加解密[7]。此方案縮小了加密粒度,用戶可靈活選擇自己想要保護的對象。 文件生成后通過人工特意為之加密稱為“靜態加密”,這樣的密文解密時會在磁盤留下明文文件,拷貝即可竊取。傳統的文檔保密方法有3種:①通過網絡協議及外設對文件進行保護;②手動對文件和文件夾加密;③將需要保護的文檔轉換成另一種文件格式進行保護。操作時明文文件會存在于磁盤,從而不可避免地造成內部信息泄密,這是手動加密和轉換格式共有的缺點。 近年來,動態加解密技術逐步受到人們重視,它通過采取智能化思想和靈活的安全策略,在不改變用戶操作習慣和文件存儲格式的情況下進行加解密。當用戶使用時,內存中的文件是明文,而在硬盤上則以密文存儲[8]。

本文針對PDF的表單部分數據進行加解密,而不是將整個PDF文檔作為對象,是小粒度的加密。使用Acrobat javascript對用戶在表單文本字段編輯時進行加密,實現了動態加解密。在編輯過程中實現加密,完全符合用戶的操作習慣。加密之后解密回顯,方便用戶再次修改,整個過程從用戶角度來看就像沒有發生一樣,對用戶完全透明。加密也沒有改變文件格式,只是將對應部分以密文形式存儲,實現了動態加密理念。

2隱私保護原理

2.1隱藏字段,保存事件

使用Acrobat javascript,通過filed對象對PDF表單部分操作對數據加解密。TextField文本字段是7種field對象之一,類似于html表單中的text控件。隱藏字段就是TextField文本字段display屬性為hidden,即顯示屬性為隱藏的字段,可以起到保存數據而不影響原文的作用。本文通過動態生成隱藏字段,將加密生成的密文保存到其中,解密時從中讀取密文。從視覺上整個過程幾乎“透明”,感覺不到什么變化。 事件是javascript的核心之一,jacrobat javascript 的保存事件有 “將保存”和“已保存”兩個。對于事件觸發的時機,“將保存”事件觸發的時機和“已保存”事件觸發的時機相同。保存有3種選項:是、否、取消。當且僅當為“是”選項時,觸發“將保存”和“已保存”,“將保存”在“已保存”之前,其它情況都不會觸發這兩個事件。 “將保存”事件在保存文件之前執行,執行的結果與文件相關的部分將會保存在磁盤文件中,而“已保存”事件觸發在文件保存之后,其結果不會保存在磁盤文件中,但會臨時保存在計算機內存中。

2.2流程圖

如圖1所示,在用戶編輯PDF文檔點擊保存時觸發事件,將目標表單文本字段部分的數據進行加密,保存至隱藏字段,并且清空字段數據。再將密文從隱藏字段中加密出來顯示到目標表單文本字段中。

2.3實現原理

對用戶輸入表單的文本字段數據實現加密,需要輸入的數據不會以明文的形式保存到文件中,這樣可防止敏感數據被拷貝竊取。當用戶向表單輸入數據時,在未保存之前的數據暫存在表單字段,并沒有保存到PDF文件中。當用戶選擇保存時,相應的數據才會保存到文件中。 在用戶向表單文本字段輸入數據,按下保存按鈕或鍵盤“Ctrl+S”時,觸發保存動作事件。保存事件分為兩個動作事件:“將保存”事件和“已保存”事件。“將保存”事件調用加密函數對表單字段的數據(明文)進行加密,將加密的密文保存到對應的隱藏字段中。然后將表單字段的value值設置為‘即空。之后文檔執行保存,此時用戶輸入的表單字段保存到文件中的數據為‘,它的明文加密后保存在隱藏字段并保存到文件中,從而對數據進行加密。 文檔的實際編輯過程很少一次完成,往往需要多次修改,這就需要將保存前輸入的信息再顯示回表單字段中。在“將保存”事件和保存之后,“已保存”事件被執行,調用解密方法將保存在隱藏字段的密文解密,解密出來的明文設置到表單字段中。此時表單字段的明文只是保存在字段中,并沒有保存在文件中,文件中對應表單字段的數據為‘。當用戶重新修改后再保存,仍然執行的是“將保存”事件,保存 “已保存”事件。最終表單字段部分保存的數據為‘,對應隱藏字段保存的數據為最終確定的數據密文。

3隱私保護實現

3.1數據加解密實現

用戶按下保存,觸發“將保存”事件,文件保存,再觸發“已保存”事件。 “已保存”事件包括從隱藏字段取值解密,顯示解密結果到字段兩個動作。下面以Text1為例說明加密字段過程。

3.1.1管理字段列表 遍歷字段,獲得文本字段name列表,用數組存儲。由文本字段的name有規則生成隱藏字段name列表,以文本字段name+“hfield”的形式定義隱藏字段的name值。用hash數組將文本字段與隱藏字段進行關聯,以隱藏字段的name為鍵、文本字段的name為值建立映射。

3.1.2加解密中實現保存事件(1)將保存事件。①隱藏字段的定義:

var ft=this.getField("Text1");//獲得Text1對象 var hfname=ft.name+"'hfield";//對應的隱藏字段name屬性 var hfield=this.getField(hfname);//獲得隱藏字段對象 if(hfield==null){//創建隱藏字段 var myrect=this.getField("Text1").rect; hfield =this.addField(hfname, "text", this.pageNum, myrect); Hfield.dispaly=display.hidden;}

②對字段值加密,代碼如下:

var key=this.setkey(); //生成密鑰 var aftersfvalue=this.security(ft.value,key);//對字段值進行加密

③將加密后的值保存至隱藏字段:

if(ft.value!=''&&ft.value!=null){hfield.value=aftersfvalue;}

④清空:

ft.value='';

(2)已保存事件。生成解密密鑰并對隱藏字段的值進行解密:

var afterjfvalue=this.security(hfield.value,key); ft.value=afterjfvalue;

3.2方法測試及結果分析

用戶編輯結果如圖2所示,用戶保存后的字段視圖如圖3所示。圖3比圖2多出的兩個文本字段是前面字段的隱藏字段,隱藏字段在界面上不顯示,可以在字段界面上顯示信息。可以看出,左邊值為“張三豐”的字段,其隱藏字段的值顯示為其它字符碼,即為字段加密后的結果。另一個顯示電話號碼的字段同理。可以看出,用戶編輯并保存后,生成了隱藏字段并進行了加密,加密結果保存在隱藏字段,然后將原字段的值進行清空。最后顯示原字段的值,由于對隱藏字段的值進〖LL〗行了加密,重新保存到了原字段。

4結語

本文方法能實現對隱私數據的動態加解密,當然也存在諸多不足,比如對于用隱藏字段的name來標示它本身, name是允許重名的,雖然可以用特殊字符串命名name,但無法保證不出現其它name與其重復,可能會出現一些無法預料的情況。該方法功能也過于單一,將在今后進一步研究。

參考文獻:

[1]張波. PDF文檔語義信息抽取研究[D].保定:河北大學,2004.

[2]陳珂. 開放式環境下敏感數據安全的關鍵技術研究[D].杭州:浙江大學,2007.

[3]梁菊華. Adobe PDF安全策略及實施[J]. 印刷,2010(3):4447.

[4]符凱,陳曉江,何路,等. 電子文檔保護系統的設計與實現[J]. 微電子學與計算機,2006(9):176178.

[5]李計勇. 面向PDF文檔對象的安全保護系統設計與實現[D].哈爾濱:哈爾濱工業大學,2009.

[6]張金輝,郭曉彪,符鑫. AES加密算法分析及其在信息安全中的應用[J]. 信息網絡安全,2011(5):3133.

[7]高蒙,范磊,李建華. 基于PDF文檔保護系統的設計與實現[J]. 信息安全與通信保密,2008(3):6971.

[8]蘇晴,李永珍. 基于訪問控制的隱私保護方法的研究[J]. 延邊大學學報:自然科學版,2016(1):6974.

(責任編輯:杜能鋼)

主站蜘蛛池模板: 91伊人国产| 朝桐光一区二区| 国产日韩精品欧美一区喷| 欧美不卡在线视频| 天天色天天操综合网| 久草网视频在线| 色天堂无毒不卡| 真实国产乱子伦视频| 激情综合五月网| 久久公开视频| 曰AV在线无码| 波多野结衣一区二区三区四区| 国产在线精品99一区不卡| 亚洲成a人在线播放www| 国产成人AV综合久久| 国产视频你懂得| 九色最新网址| 色偷偷一区| 亚洲最大情网站在线观看| 亚洲色大成网站www国产| 天堂中文在线资源| 亚洲成人精品久久| 91av成人日本不卡三区| 国产精品专区第1页| 精品午夜国产福利观看| 精品乱码久久久久久久| 日本黄色不卡视频| 欧美精品在线视频观看| 中文字幕日韩久久综合影院| 伊人天堂网| 久久久精品久久久久三级| 婷婷久久综合九色综合88| 91色爱欧美精品www| 国产尤物jk自慰制服喷水| 国产成人精品18| 欧美在线一级片| 91网红精品在线观看| 精品三级在线| 91视频精品| 亚洲日韩AV无码精品| 亚洲AV无码乱码在线观看裸奔| 国产精品自在线天天看片| 国产JIZzJIzz视频全部免费| 91丝袜美腿高跟国产极品老师| 亚洲精品无码久久毛片波多野吉| 久草视频精品| 日韩毛片视频| 国产精品55夜色66夜色| 亚洲精品无码日韩国产不卡| 国产精品尤物在线| 欧美国产精品不卡在线观看 | 91福利免费视频| 久久久久亚洲AV成人网站软件| 色AV色 综合网站| 欧美丝袜高跟鞋一区二区| 综合色婷婷| 国产欧美又粗又猛又爽老| 无码专区国产精品一区| 麻豆国产原创视频在线播放| 老司机精品一区在线视频| 秋霞一区二区三区| 国产啪在线91| 欧美中文字幕在线播放| 亚洲免费三区| 精品综合久久久久久97超人| 欧美区一区二区三| 91久久偷偷做嫩草影院电| 国产精品视频白浆免费视频| 在线观看网站国产| 青青青视频91在线 | 91年精品国产福利线观看久久| 亚洲欧洲日产国产无码AV| 九九久久精品国产av片囯产区| 深爱婷婷激情网| 麻豆精品视频在线原创| 国产一区二区三区在线观看视频 | 亚洲日本在线免费观看| 无遮挡国产高潮视频免费观看| 97成人在线视频| 欧美高清国产| 久操中文在线| 亚洲欧美一区二区三区图片|