金偉民,張逸凡,張淑麗
(哈爾濱理工大學(xué),黑龍江 哈爾濱 150080)
隨著互聯(lián)網(wǎng)對各行各業(yè)的滲透,數(shù)字經(jīng)濟的規(guī)模不斷擴大,人們的生活開始邁向數(shù)字化,世界進(jìn)入數(shù)據(jù)大爆炸的“大數(shù)據(jù)時代”,人們對生活質(zhì)量的要求越來越高,也越來越注重個人隱私數(shù)據(jù)的安全。蘊藏著巨大價值的數(shù)據(jù)能夠以極低的成本復(fù)制和無限使用,這種“野蠻掘金”的誘惑導(dǎo)致數(shù)據(jù)泄露、盜用、濫用等案件頻頻發(fā)生,給人們帶來諸多困擾,同時也造成社會各界對于數(shù)據(jù)安全和隱私保護(hù)的擔(dān)憂。
在大數(shù)據(jù)時代背景下,數(shù)據(jù)的來源越來越廣泛,處理方法也越來越復(fù)雜,如圖1所示。云基礎(chǔ)設(shè)施中存儲大量的用戶信息數(shù)據(jù),各種數(shù)據(jù)供給平臺從中提取數(shù)據(jù),對數(shù)據(jù)進(jìn)行計算、存儲并通過網(wǎng)絡(luò)傳輸數(shù)據(jù),其中包括政府?dāng)?shù)據(jù)資源、信托數(shù)據(jù)資源、企業(yè)數(shù)據(jù)資源等。在各個平臺之間使用統(tǒng)一的安全管理機制、統(tǒng)一的服務(wù)、統(tǒng)一的采集、統(tǒng)一的加工,雖然具有極大的便利性,但與此同時也存在著極大的安全隱患——隱私數(shù)據(jù)的泄露。
圖1 數(shù)據(jù)來源及處理方式示意圖
在現(xiàn)代生活中,有關(guān)個人隱私的數(shù)據(jù)越來越多,個人隱私被暴露的風(fēng)險也越來越大,由此造成的個人損失也愈發(fā)嚴(yán)重。在個人隱私保護(hù)方面,國家出臺了一系列的法律法規(guī),同時在技術(shù)上也要注意數(shù)據(jù)傳遞的安全性,從而為隱私數(shù)據(jù)的保護(hù)提供保障。有鑒于此,研發(fā)一款面向大數(shù)據(jù)的隱私保護(hù)系統(tǒng),其在金融、政務(wù)、醫(yī)療等行業(yè)具有廣泛的市場應(yīng)用前景。
隱私數(shù)據(jù)的保護(hù)主要分為發(fā)布階段的數(shù)據(jù)保護(hù)、傳輸階段的數(shù)據(jù)保護(hù)、發(fā)布結(jié)果的保護(hù)。發(fā)布階段的數(shù)據(jù)保護(hù)是指在數(shù)據(jù)發(fā)布之前要對數(shù)據(jù)進(jìn)行預(yù)處理,包括加密、重編碼、混淆、哈西散列等,避免竊取者直接獲得數(shù)據(jù)的真實含義;傳輸階段的數(shù)據(jù)保護(hù)是指在整個傳輸過程中,不泄露與傳輸信息無關(guān)的數(shù)據(jù),以提高數(shù)據(jù)的安全性;發(fā)布結(jié)果的保護(hù)是指對發(fā)布的數(shù)據(jù)進(jìn)行脫敏處理,以確保發(fā)布的數(shù)據(jù)中不存在隱私漏洞,消息接收者即便是對所接收的數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘也不能分析出其所蘊含的隱私信息,從而避免隱私信息的間接泄露。
數(shù)據(jù)加密處理主要有兩種形式——對稱加密和非對稱加密,前者使用的是對稱加密算法,后者使用的是非對稱加密算法。對稱加密系統(tǒng)是使用相同的密鑰對數(shù)據(jù)進(jìn)行加密和解密,非對稱加密系統(tǒng)是使用一個密鑰加密,使用另一個密鑰解密。從使用安全性來看,非對稱加密更有優(yōu)勢,市場應(yīng)用前景也更加廣闊。非對稱加密的典型算法就是RSA(Rivest、Shamir、Adleman)算法,其具體過程為:
(1)先找到兩個正整數(shù)(這兩個正整數(shù)互為質(zhì)數(shù))。
(2)用函數(shù)()表示正整數(shù)可以在小于的正整數(shù)中找到與互為質(zhì)數(shù)的個數(shù),通常也把這個函數(shù)稱為歐拉函數(shù)。
(3)如果兩個正整數(shù)和互為質(zhì)數(shù),則的歐拉函數(shù)()可以使式(1)成立。
這個公式也稱為歐拉定理。
(4)如果兩個正整數(shù)和互為質(zhì)數(shù),那么一定能夠找到整數(shù),使×-1 可以被整除,那么就稱是的模反元素,得到式(2)。
本系統(tǒng)在實現(xiàn)過程中需要對數(shù)據(jù)進(jìn)行加密處理,在這里數(shù)據(jù)加密算法采用RSA 算法。
數(shù)據(jù)安全管理體系的功能包括五個方面:
(1)數(shù)據(jù)安全需求。明確存在哪些外部和內(nèi)部數(shù)據(jù)安全需求。
(2)數(shù)據(jù)安全關(guān)鍵要素識別。盤點被保護(hù)的數(shù)據(jù)資產(chǎn)目標(biāo)及其保護(hù)等級。
(3)數(shù)據(jù)安全評估。針對一些敏感數(shù)據(jù),根據(jù)其重要等級和安全保護(hù)等級,評估數(shù)據(jù)采集、存儲、傳輸、使用等各個環(huán)節(jié)的風(fēng)險。
(4)數(shù)據(jù)安全規(guī)劃。針對這些需要保護(hù)的數(shù)據(jù),明確風(fēng)險控制等級并制定相應(yīng)的管理規(guī)范、管理制度、數(shù)據(jù)使用規(guī)則、技術(shù)架構(gòu)等,確保數(shù)據(jù)安全。
(5)數(shù)據(jù)安全持續(xù)改進(jìn)。通過行為管理、內(nèi)部審計稽核和閉環(huán)管理等措施,推進(jìn)數(shù)據(jù)安全管理體系的持續(xù)優(yōu)化。以數(shù)據(jù)保護(hù)為核心的數(shù)據(jù)安全管理體系如圖2所示。
圖2 以數(shù)據(jù)保護(hù)為核心的數(shù)據(jù)安全管理體系
本系統(tǒng)的應(yīng)用場景選擇醫(yī)療管理領(lǐng)域,以病例管理為例,病人的病例信息中包含許多隱私信息,在信息的存儲和傳輸過程中都需要進(jìn)行加密處理,下面給出統(tǒng)計計算病歷的關(guān)鍵代碼:
運用模塊化的思想將算法應(yīng)用于具體的系統(tǒng)設(shè)計中,如圖3所示為系統(tǒng)整體研發(fā)架構(gòu)。在系統(tǒng)開發(fā)中首先分析功能需求,然后利用開發(fā)工具和相應(yīng)技術(shù)進(jìn)行功能模塊的設(shè)計,明確各個模塊之間的數(shù)據(jù)交互與數(shù)據(jù)傳遞,構(gòu)建系統(tǒng)的整體架構(gòu),然后對各個模塊進(jìn)行詳細(xì)的功能分析和設(shè)計,這些模塊包括數(shù)據(jù)匿名結(jié)果可視化、數(shù)據(jù)匿名結(jié)果效用度量、數(shù)據(jù)匿名結(jié)果風(fēng)險分析、數(shù)據(jù)匿名結(jié)果快速導(dǎo)出等功能模塊。
圖3 系統(tǒng)整體研發(fā)架構(gòu)
在研發(fā)系統(tǒng)時,基于面向大數(shù)據(jù)的隱私保護(hù)與風(fēng)險分析,能夠構(gòu)建安全的數(shù)據(jù)管理體系,主要體現(xiàn)在以下三個方面:
(1)實現(xiàn)身份匿名保護(hù)。在現(xiàn)實生活中,每個人都有其自己的活動規(guī)律,在計算機應(yīng)用場景中,采用行為識別技術(shù)進(jìn)行數(shù)據(jù)挖掘發(fā)展出了用戶身份的重識別攻擊,攻擊者采用數(shù)據(jù)連接的形式,利用多個數(shù)據(jù)源發(fā)起身份識別請求,企圖發(fā)現(xiàn)用戶的真實身份。在此攻擊方式下采用匿名模式可以實現(xiàn)對用戶隱私數(shù)據(jù)的安全保護(hù)。
(2)保護(hù)敏感信息。敏感信息是指社交關(guān)系、位置屬性等信息。在很多分布式系統(tǒng)中都存儲有大量的用戶個人隱私數(shù)據(jù),借助人工智能、數(shù)據(jù)挖掘、深度學(xué)習(xí)等技術(shù)可以根據(jù)非敏感信息分析推測出部分或全部敏感信息,例如可以通過共同好友、興趣愛好等分析出用戶的社交關(guān)系;通過行為軌跡、網(wǎng)絡(luò)社交等預(yù)判出用戶的地理位置、健康狀況等隱私信息;也可以通過用戶的生活習(xí)慣、人際關(guān)系等分析出用戶的宗教信仰、社會地位等隱私信息。因此,在大數(shù)據(jù)的背景下保護(hù)敏感信息是極其重要的。
(3)確保隱私信息安全。在數(shù)據(jù)采集之后,要采用RSA 算法對一些敏感數(shù)據(jù)進(jìn)行加密處理,在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)也要采取加密手段,確保數(shù)據(jù)在安全管控之內(nèi),不被泄露。
病例中的患病時間、診斷數(shù)據(jù)、治療方案等敏感信息都需要進(jìn)行加密處理,本系統(tǒng)采用RSA 加密算法實現(xiàn)加密處理,主要包括以下六步:
(1)隨機選擇兩個不相等的質(zhì)數(shù)與。
(2)計算、的乘積,在RSA 算法中,基于大數(shù)分解的原理,選擇乘積中較低的位數(shù),一般選取1 024 位。
(3)求的歐拉函數(shù)()。
(4)再次選取一個正整數(shù),使得1 ≤≤(),同時滿足與()互為質(zhì)數(shù)。
(5)求對的模反元素。
(6)將與封裝成公鑰,將與封裝成私鑰。
在數(shù)據(jù)交互的過程中,采用公鑰對數(shù)據(jù)進(jìn)行加密,加密如式(3)所示;在接收到數(shù)據(jù)后可對數(shù)據(jù)進(jìn)行解密,解密使用私鑰,如式(4)所示。
面向大數(shù)據(jù)的隱私保護(hù)在諸多領(lǐng)域有廣泛的應(yīng)用,本文以醫(yī)療領(lǐng)域為例,在電子病例系統(tǒng)、預(yù)約掛號系統(tǒng)等多個醫(yī)療系統(tǒng)中進(jìn)行了實踐應(yīng)用,隱私保護(hù)系統(tǒng)在醫(yī)療領(lǐng)域的應(yīng)用如圖4所示。
圖4 隱私保護(hù)系統(tǒng)在醫(yī)療領(lǐng)域的應(yīng)用
經(jīng)過加密的數(shù)據(jù)在傳輸過程中即使被人意外竊取,竊取者也無法獲得數(shù)據(jù)的真實含義,數(shù)據(jù)加密能夠?qū)?shù)據(jù)起到很好的保護(hù)作用。在數(shù)據(jù)存儲的時候,數(shù)據(jù)庫也是以加密方式保存數(shù)據(jù),以防數(shù)據(jù)意外丟失,敏感醫(yī)療數(shù)據(jù)信息數(shù)據(jù)庫存儲加密情況如圖5所示。
圖5 電子病歷數(shù)據(jù)信息的MySQL 數(shù)據(jù)庫存儲結(jié)果圖
面向大數(shù)據(jù)的隱私保護(hù)系統(tǒng)在醫(yī)療領(lǐng)域進(jìn)行了初步嘗試,其在一定程度上滿足了醫(yī)院信息化服務(wù)和數(shù)據(jù)安全存儲的要求,但是在大數(shù)據(jù)領(lǐng)域還存在許多不同格式的數(shù)據(jù)以及不規(guī)范的數(shù)據(jù),在傳輸?shù)倪^程中也容易出現(xiàn)隱私泄露的情況,在后續(xù)的研究中可以結(jié)合數(shù)字簽名技術(shù)、區(qū)塊鏈技術(shù)等,進(jìn)一步完善對個人隱私數(shù)據(jù)的保護(hù)。