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