琚 理,趙金幣
(華北理工大學(xué),河北 唐山 063000)
數(shù)據(jù)處理技術(shù)不斷革新背景下,衛(wèi)生信息建設(shè)將醫(yī)院文檔管理納入到現(xiàn)代化管理工作當(dāng)中,生成海量的醫(yī)療文檔電子資料,以更加便捷的方式存儲(chǔ)不同時(shí)間、病癥以及不同患者的治療檔案,現(xiàn)階段的醫(yī)院內(nèi)網(wǎng)文件檔案一體化建設(shè)是醫(yī)院數(shù)字化管理的一項(xiàng)重要環(huán)節(jié)。為了加強(qiáng)對(duì)醫(yī)院內(nèi)網(wǎng)文檔的安全管理,同時(shí)以降低管理成本和實(shí)現(xiàn)資源共享為目的,優(yōu)化加密方案,通過研究全新的檢索機(jī)制進(jìn)一步強(qiáng)化加密等級(jí),并以動(dòng)態(tài)混淆參數(shù)調(diào)節(jié)的方式計(jì)算數(shù)據(jù)之間的相似程度,實(shí)現(xiàn)高效的加密[1]。但由于數(shù)據(jù)具有重復(fù)、重疊等冗余特征,為此一些加密方案以輕量級(jí)閾值重加密機(jī)制優(yōu)化為研究思路,通過不同層次的數(shù)據(jù)加密以保護(hù)醫(yī)療文檔不外泄[2]。但這些研究思路僅僅滿足某一個(gè)階段的醫(yī)療文檔加密要求,隨著醫(yī)院規(guī)模的擴(kuò)大、就醫(yī)人數(shù)的增加、數(shù)字化管理要求的新目標(biāo),都會(huì)增加文檔數(shù)據(jù)加密難度。
為此,針對(duì)數(shù)據(jù)的安全性還提出了混合加密的保護(hù)方案,通過劃分?jǐn)?shù)據(jù)的細(xì)粒度進(jìn)一步實(shí)現(xiàn)對(duì)不同數(shù)據(jù)塊的加密,提升加密效率[3]。但龐大的醫(yī)院醫(yī)療數(shù)據(jù)不僅數(shù)量龐大,類別也較多,為此研究基于卷積神經(jīng)網(wǎng)絡(luò)的文檔有效數(shù)據(jù)加密方法。
醫(yī)院文檔格式包括DOC格式、DOCX格式、PDF格式以及TXT格式四個(gè)主要類型,壓縮處理不同的文檔。解析DOC格式文檔,其中文件頭的部分字段和信息塊中的部分?jǐn)?shù)據(jù),屬于DOC格式的關(guān)鍵屬性,利用隨機(jī)數(shù)替換原數(shù)據(jù),通過抽取位置進(jìn)行ZIP壓縮[4]。壓縮源文件數(shù)據(jù)區(qū)、目錄區(qū)以及目錄結(jié)束標(biāo)識(shí)三個(gè)完全不同的部分,共同組成ZIP壓縮文件,但由于文件頭中大約前30個(gè)字節(jié)內(nèi)無(wú)重要信息,所以跳過30字節(jié)后進(jìn)行位置抽取。目錄區(qū)的起始標(biāo)識(shí)固定4字節(jié),約34字節(jié)不是重要信息,所以跳過34字節(jié)開始直至目錄結(jié)束標(biāo)識(shí)區(qū)抽取隨機(jī)位置[5]。按照上述兩個(gè)環(huán)節(jié)的位置抽取結(jié)果進(jìn)行合并,其中抽取數(shù)據(jù)在前、關(guān)鍵屬性在后??紤]到后續(xù)所有文件的壓縮格式均為ZIP,所以將DOC文檔壓縮后的ZIP格式用“1”表示。DOCX格式的文檔是XML文檔和ZIP文檔的結(jié)合,所以抽取DOCX文檔的部分?jǐn)?shù)據(jù)以及關(guān)鍵屬性,按照同上一文檔一致的操作抽取隨機(jī)位置,這里用“2”表示DOCX文檔壓縮后的ZIP格式[6]。PDF文檔由不同的對(duì)象組成,其中交叉引用表為該文檔的關(guān)鍵屬性,采用同樣的替換方法抽取該數(shù)據(jù)。該文檔以“trailer”和“%%EOF”作為開始和結(jié)束,同時(shí)“startxref”反饋的下一行數(shù)字,作為數(shù)據(jù)表的偏移地址,所以根據(jù)該結(jié)果進(jìn)行3次壓縮,第1次壓縮處理PDF文檔;第2次抽取ZIP壓縮文檔中,與目標(biāo)數(shù)據(jù)相關(guān)的部分壓縮數(shù)據(jù)和關(guān)鍵數(shù)據(jù)屬性,再次壓縮得到ZIP文檔;第3次根據(jù)上一次的壓縮結(jié)果再次抽取,得到新的屬性的最終ZIP文檔,記為“3”。最后為TXT文檔壓縮,該文檔為一種無(wú)特殊結(jié)構(gòu)的文本格式,所以可按照DOC文檔壓縮過程實(shí)現(xiàn)對(duì)該文檔的壓縮,其文檔格式被設(shè)置為“4”。綜合上述四種文檔格式,得到不同ZIP文檔壓縮密鑰結(jié)構(gòu),如表1所示。
表1 不同ZIP文檔壓縮密鑰結(jié)構(gòu)
按照上述四種不同文檔的屬性特征,設(shè)計(jì)不同的密鑰結(jié)構(gòu),按照該結(jié)構(gòu)對(duì)文檔完成壓縮。但由于加密的要求不同,文檔中存在待加密的某一類別數(shù)據(jù)和其它類別的未知數(shù)據(jù),因此在壓縮文檔之前,預(yù)處理醫(yī)院不同文檔數(shù)據(jù)。
2.2.1 加密數(shù)據(jù)和未知數(shù)據(jù)識(shí)別
采集醫(yī)院文檔中的需加密的同一類型數(shù)據(jù),利用Scapy模塊讀取采集的數(shù)據(jù)集,利用該模塊提取不同數(shù)據(jù)結(jié)構(gòu)特征,確認(rèn)有效載荷字節(jié),并用0~255的整數(shù)描述,整數(shù)接近0,代表數(shù)據(jù)有效性較低,接近255,代表數(shù)據(jù)有效性較高,以此實(shí)現(xiàn)對(duì)醫(yī)院圖像數(shù)據(jù)以及文字?jǐn)?shù)據(jù)的有效識(shí)別。采用歸一化方法將標(biāo)度控制在0~1之間,已知有效載荷中前面的數(shù)據(jù)更關(guān)鍵,因此拋棄數(shù)據(jù)中過長(zhǎng)的部分,并利用0填充矩陣中的缺失部分[7]。卷積神經(jīng)網(wǎng)絡(luò)交替使用卷積和池化層,通過兩個(gè)數(shù)據(jù)層的數(shù)據(jù)交叉處理,得到訓(xùn)練數(shù)據(jù),然后再與不同數(shù)量的全連接層連接生成數(shù)據(jù)并導(dǎo)出,卷積核根據(jù)數(shù)據(jù)的局部特征自動(dòng)調(diào)整自身大小,最后將更高層的數(shù)據(jù)整合得到全局信息[8]。卷積神經(jīng)網(wǎng)絡(luò)在激勵(lì)層中設(shè)置激活函數(shù),利用該函數(shù)映射卷積層輸出結(jié)果。激活函數(shù)tanh用f(x)表示,公式為
(1)
其中,ReLU(x)表示線性修正單元,其值域范圍為[0,+∞]。激活函數(shù)tanh的特點(diǎn)是求梯度簡(jiǎn)單、收斂速度較快,能夠?qū)?shù)之間的關(guān)聯(lián)降至最低。激勵(lì)函數(shù)選擇完畢后,為了輔助快速收斂的函數(shù),卷積神經(jīng)網(wǎng)絡(luò)利用GPU訓(xùn)練方法,對(duì)醫(yī)院文檔中的圖像數(shù)據(jù)進(jìn)行復(fù)雜幾何運(yùn)算,輔助激活函數(shù)tanh加快數(shù)據(jù)訓(xùn)練效率。醫(yī)院文檔數(shù)據(jù)的類型極多,因此以針對(duì)全連接層的多分類輸出,損失函數(shù)選擇Softmax,利用該函數(shù)將不同輸出結(jié)果轉(zhuǎn)換為分類概率值,解決醫(yī)院海量管理數(shù)據(jù)的多分類問題[9]。假設(shè)數(shù)據(jù)種類為Q,則損失函數(shù)通過下列公式處理分類問題
(2)
(3)
式中:n表示數(shù)據(jù)總量;1[·]表示指示性函數(shù),根據(jù)結(jié)果為真值和假值時(shí),函數(shù)的值為1或0。通過上述計(jì)算過程,對(duì)數(shù)據(jù)集中圖像數(shù)據(jù)或文字?jǐn)?shù)據(jù)中,與目標(biāo)一致的有效數(shù)據(jù)進(jìn)行識(shí)別,得到待加密數(shù)據(jù)和屬于其它類別的未知數(shù)據(jù),得到不同數(shù)據(jù)的識(shí)別結(jié)果。
2.2.2 文檔有效數(shù)據(jù)分類
醫(yī)院文檔數(shù)據(jù)中包含二維數(shù)據(jù)與三維數(shù)據(jù),利用卷積神經(jīng)網(wǎng)絡(luò)分類模型,對(duì)識(shí)別后的數(shù)據(jù)按照維度分類[10,11]。該過程需要預(yù)先確定卷積核尺寸,并按照?qǐng)D1所示內(nèi)容設(shè)計(jì)分類結(jié)構(gòu)。
圖1 分類結(jié)構(gòu)設(shè)計(jì)
圖1中假設(shè)卷積神經(jīng)網(wǎng)絡(luò)的卷積核尺寸為m×m,這樣尺寸的卷積核共有n個(gè),所以需要設(shè)計(jì)對(duì)應(yīng)的n個(gè)隱藏層單元和m×m個(gè)可見層單元。假設(shè)權(quán)重矩陣為U,根據(jù)兩個(gè)不同處理單元單元,設(shè)置數(shù)據(jù)通道總數(shù)為a,通道尺寸為a×b,設(shè)置數(shù)據(jù)通道中,隨機(jī)數(shù)據(jù)由s個(gè)尺寸為m×m的體素塊構(gòu)成一維向量,當(dāng)s=5時(shí),每個(gè)通道內(nèi)的數(shù)據(jù)可通過下列公式描述
(4)
式中:i、j表示矩陣的橫、縱坐標(biāo);Rand(·)表示隨機(jī)采樣函數(shù);Pic(*)表示通道的體素矩陣;Voxel表示最終得到的結(jié)果。通過計(jì)算得到不同的子數(shù)據(jù),用于文檔有效數(shù)據(jù)分類。根據(jù)上一節(jié)已獲得的訓(xùn)練集T,設(shè)置采樣次數(shù)為q,隨機(jī)初始化權(quán)重矩陣U,得到隱藏層和可見層的概率分布值p,最終完成訓(xùn)練后歸一化操作得到不同卷積核的初始化參數(shù)
(5)
式中:conα表示卷積核參數(shù)矩陣;u、v表示矩陣的橫、縱坐標(biāo)。將上述結(jié)果帶入到不同訓(xùn)練層的函數(shù)中,實(shí)現(xiàn)對(duì)識(shí)別數(shù)據(jù)中文檔有效數(shù)據(jù)的快速分類[12]。綜合上述兩節(jié)內(nèi)容,通過卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)原始數(shù)據(jù)預(yù)處理,為不同文檔的有效數(shù)據(jù)壓縮加密提供初始條件。
S=(Gen,Enc,Dec)
(6)
根據(jù)上述方案,融入抗信息泄漏的搜索技術(shù),生成抗信息泄露的對(duì)稱可搜索加密。該算法滿足一般的可搜索加密安全,對(duì)壓縮后的文檔進(jìn)行加密保證數(shù)據(jù)隱私安全。利用該算法將文檔加密,建立安全索引,完成后將它們存儲(chǔ)到服務(wù)器當(dāng)中。當(dāng)用戶需要查詢某一醫(yī)療信息時(shí),服務(wù)器利用該算法在索引結(jié)構(gòu)上搜索目標(biāo)文檔。根據(jù)上述兩部分內(nèi)容,設(shè)置抗信息泄露的對(duì)稱可搜索加密算法的訪問模式,設(shè)置醫(yī)療數(shù)據(jù)單詞詞典為λ,字典中的隨機(jī)一組文檔集合為W,則k次查詢歷史數(shù)據(jù)Z的訪問模式,可通過二維矩陣?(K)描述,公式為
(7)
式中:yk,k表示兩次查詢返回時(shí)的文檔數(shù)量。定義加密函數(shù)為μ,則根據(jù)此次融合設(shè)計(jì)得到最終的加密結(jié)果為
μ(K)={?(K),lnfS(K)}
(8)
通過上述計(jì)算過程,得到基于對(duì)稱加密方案的抗信息泄露的對(duì)稱可搜索加密結(jié)果,實(shí)現(xiàn)對(duì)醫(yī)院文檔有效數(shù)據(jù)的加密。
搭建仿真測(cè)試環(huán)境,硬件上選擇Intel Core i3 1G 內(nèi)存 30G硬盤的虛擬機(jī),選擇RedHat Linux6.4 64位服務(wù)器版,驗(yàn)證基于卷積神經(jīng)網(wǎng)絡(luò)的文檔有效數(shù)據(jù)加密方法的應(yīng)用效果。實(shí)驗(yàn)選擇W醫(yī)院7~12月份的醫(yī)療文檔作為實(shí)驗(yàn)測(cè)試對(duì)象,分析應(yīng)用本文方法加密有效數(shù)據(jù)時(shí),卷積神經(jīng)網(wǎng)絡(luò)的應(yīng)用效果、加密方法的整體加密耗時(shí)以及加密效率。
利用卷積神經(jīng)網(wǎng)絡(luò)識(shí)別醫(yī)院文檔中的有效數(shù)據(jù),設(shè)置batch_size的數(shù)值為128、Epochs的值為10,也就是對(duì)128組醫(yī)療數(shù)據(jù)的參數(shù)進(jìn)行更新,然后卷積神經(jīng)網(wǎng)絡(luò)共計(jì)進(jìn)行10次訓(xùn)練,此時(shí)每個(gè)Epoch都會(huì)導(dǎo)出訓(xùn)練集和測(cè)試集的訓(xùn)練準(zhǔn)確率。同時(shí)每個(gè)Epoch還會(huì)通過式(2)得出不同集合的訓(xùn)練損失率,兩組測(cè)試結(jié)果如圖2、圖3所示。
圖2 卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練精度測(cè)試結(jié)果
圖3 卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練損失率測(cè)試結(jié)果
根據(jù)上述測(cè)試結(jié)果可知,訓(xùn)練精度處于一個(gè)不斷上升的變化趨勢(shì),10組結(jié)果的訓(xùn)練精度較為穩(wěn)定,約為0.96。同時(shí)隨著訓(xùn)練次數(shù)的增加,兩組集合的損失率測(cè)試結(jié)果快速下降,最終穩(wěn)定在0.1之內(nèi),卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)識(shí)別是可靠的。仿真設(shè)置某一類別有效數(shù)據(jù)的概率條件系數(shù)為0.85,測(cè)試卷積神經(jīng)網(wǎng)絡(luò)分類數(shù)據(jù)的效果,若概率測(cè)試結(jié)果大于0.85,則認(rèn)為分類的數(shù)據(jù)屬于預(yù)期的數(shù)據(jù)類別,若概率測(cè)試結(jié)果均小于0.85,則認(rèn)為分類的醫(yī)療數(shù)據(jù),為醫(yī)療文檔中,其它類型的未知數(shù)據(jù),得到的分類概率如表2所示。
表2 分類概率測(cè)試結(jié)果
根據(jù)上表顯示的測(cè)試結(jié)果可知,第6組的概率最大、第1組的概率次之,兩組結(jié)果均超過了實(shí)驗(yàn)規(guī)定的0.85,認(rèn)為這兩項(xiàng)數(shù)據(jù)為同一類別有效數(shù)據(jù),屬于預(yù)設(shè)的數(shù)據(jù)類別,所以可以確定卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)分類,有較高的準(zhǔn)確性。綜合上述測(cè)試結(jié)果可知,卷積神經(jīng)網(wǎng)絡(luò)識(shí)別與分類數(shù)據(jù)均有較好的效果。
卷積神經(jīng)網(wǎng)絡(luò)處理不同的文檔數(shù)據(jù),雖然保證了加密數(shù)據(jù)的可靠性,但對(duì)于是否影響文件壓縮時(shí)間、從而影響加密效率還有待驗(yàn)證。針對(duì)此次研究方法對(duì)四種醫(yī)療文檔的解析,測(cè)試本文方法對(duì)DOC格式、DOCX格式、PDF格式以及TXT格式共四個(gè)文檔有效數(shù)據(jù)的壓縮時(shí)間與加密耗時(shí)。為了保證測(cè)試結(jié)果具有多樣性,該方法設(shè)置了5個(gè)不同的關(guān)鍵屬性抽取率,得到的結(jié)果如表3所示。
表3 不同抽取率下四個(gè)文檔的壓縮時(shí)間與加密耗時(shí)
根據(jù)表3顯示的測(cè)試結(jié)果可知,加密耗時(shí)與醫(yī)院文檔有效數(shù)據(jù)關(guān)鍵屬性的抽取率相關(guān),當(dāng)抽取率較大時(shí),加密時(shí)間有所增加。但根據(jù)上述壓縮時(shí)間與加密耗時(shí)的測(cè)試結(jié)果可知,整體加密耗時(shí)中,盡管壓縮時(shí)間的比重較大,但壓縮沒有影響最終的加密耗時(shí),也就是完成壓縮后,該方法能夠快速完成有效數(shù)據(jù)加密,說明應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)處理數(shù)據(jù)這一環(huán)節(jié),沒有大幅度增加數(shù)據(jù)加密耗時(shí),能夠在適當(dāng)?shù)姆秶鷥?nèi)保證基本加密效率。
加密效率是影響設(shè)計(jì)方法是否具有實(shí)用性的關(guān)鍵指標(biāo)之一,就比如RSA算法盡管有許多優(yōu)點(diǎn),但其加密效率不高,從而限制了該算法的使用范圍。選擇HDFS當(dāng)中規(guī)格為10GB和50GB的醫(yī)療文檔作為測(cè)試對(duì)象,對(duì)其中規(guī)格為block的有效數(shù)據(jù)進(jìn)行加密,并通過計(jì)算加速比,分析本文方法的加密效率,公式為
(9)
式中:ε表示加速比計(jì)算結(jié)果;T1、T2分別表示單機(jī)上的加密時(shí)間和并行加密時(shí)間。根據(jù)上述測(cè)試條件,對(duì)醫(yī)療文檔進(jìn)行有效數(shù)據(jù)加密,得到的測(cè)試結(jié)果如圖4、圖5所示。
圖4 加密加速比測(cè)試結(jié)果(一)
圖5 加密加速比測(cè)試結(jié)果(二)
根據(jù)圖4、圖5顯示的測(cè)試結(jié)果可知,當(dāng)醫(yī)療文檔的數(shù)據(jù)總量增加時(shí),加速比ε的計(jì)算結(jié)果隨之增大,且與預(yù)期曲線相比更高,說明在海量的醫(yī)療數(shù)據(jù)加密過程中,此次研究的加密方法能夠在卷積神經(jīng)網(wǎng)絡(luò)的幫助下,自適應(yīng)控制加速比,從而將加密耗時(shí)控制在合理范圍內(nèi),說明了本文加密方法面對(duì)海量的醫(yī)療數(shù)據(jù)時(shí),仍然能夠有較大的并行加密優(yōu)勢(shì),證實(shí)了本文方法有較高的加密效率。
此次研究針對(duì)現(xiàn)有加密技術(shù)存在的不足進(jìn)行優(yōu)化,利用卷積神經(jīng)網(wǎng)絡(luò)預(yù)處理文檔有效數(shù)據(jù),解決了以往由于數(shù)據(jù)復(fù)雜導(dǎo)致的加密效率不高的問題,可以說得到了一項(xiàng)具有一定意義的研究成果。今后可以優(yōu)化卷積神經(jīng)網(wǎng)絡(luò),進(jìn)一步提升文檔有效數(shù)據(jù)加密效率。