基于動態(tài)權(quán)限管理的數(shù)據(jù)安全保障
掃描二維碼
隨時隨地手機(jī)看文章
0 引 言
隨著信息化的不斷發(fā)展,信息交互在各信息化系統(tǒng)中的重要性愈發(fā)凸顯,同時對信息系統(tǒng)海量數(shù)據(jù)的安全性要求也在不斷提高。但目前因信息系統(tǒng)用戶權(quán)限分配漏洞而產(chǎn)生的數(shù)據(jù)泄露事故時有發(fā)生。
2017年京東內(nèi)部員工涉嫌竊取涉及交通、物流、醫(yī)療、社交、銀行等個人信息 50億條,通過各種方式在網(wǎng)絡(luò)黑市販賣。在2013至 2014年間,雅虎兩次被未經(jīng)授權(quán)的第三方分別盜取超過 5 億和 10 億條用戶賬戶信息,內(nèi)容涉及用戶姓名、電子郵箱、電話號碼、出生日期和部分登錄密碼。同樣,順豐出現(xiàn)過多次內(nèi)部人員泄露客戶信息事件,其中包括將個人掌握的公司網(wǎng)站賬號及密碼出售給他人,編寫惡意程序批量下載客戶信息,利用多個賬號大批量查詢客戶信息,通過購買內(nèi)部辦公系統(tǒng)地址、賬號及密碼,侵入系統(tǒng)盜取信息或者研發(fā)人員從數(shù)據(jù)庫直接導(dǎo)出客戶信息等。2016 年孟加拉國央行被黑客攻擊,攻擊者通過網(wǎng)絡(luò)攻擊或者其他方式獲得了孟加拉國央行 SWIFT 系統(tǒng)的操作權(quán)限,導(dǎo)致 8 100 萬美元被竊取。
以上事件表明,未采取有效的數(shù)據(jù)訪問權(quán)限管理、身份認(rèn)證管理、數(shù)據(jù)利用控制等措施是大多數(shù)企業(yè)內(nèi)部人員盜竊數(shù)據(jù)的主要原因。因此,加強(qiáng)信息系統(tǒng)數(shù)據(jù)安全管理不僅需要確保對用戶數(shù)據(jù)進(jìn)行加密處理,還需要對數(shù)據(jù)的訪問權(quán)限進(jìn)行精準(zhǔn)控制。
對于現(xiàn)有電力系統(tǒng)營銷網(wǎng)絡(luò),根據(jù)各項業(yè)務(wù)的要求,系統(tǒng)功能可劃分為兩部分,即營銷管理信息系統(tǒng)(包括核心業(yè)務(wù)模塊、管理功能模塊等)和與其他系統(tǒng)的接口。其對內(nèi)為公司提供經(jīng)營數(shù)據(jù),對外為政府提供社會用電數(shù)據(jù),同時還包含了各服務(wù)提供商以及用戶的大量數(shù)據(jù)。電力營銷系統(tǒng)受多方輸入、操作員隨意性輸入、缺乏數(shù)據(jù)校驗機(jī)制、認(rèn)為故意破壞等因素影響,使得營銷系統(tǒng)中存放的敏感的供電企業(yè)信息與大量客戶數(shù)據(jù)信息易被泄露,而這些數(shù)據(jù)一旦泄露不僅會直接影響業(yè)務(wù)營銷的開展,還可能造成巨大的經(jīng)濟(jì)損失和政治損失。因此,如何保障營銷管理信息系統(tǒng)數(shù)據(jù)安全,防止電力系統(tǒng)營銷數(shù)據(jù)不被非法竊取至關(guān)重要。
Lafuente 等人 [1] 從數(shù)據(jù)加密、權(quán)限訪問控制、數(shù)據(jù)管理框架等多個方面總結(jié)了大數(shù)據(jù)背景下面臨的數(shù)據(jù)安全挑戰(zhàn)。ZHOU Mi 等人 [2] 介紹了大數(shù)據(jù)在電力系統(tǒng)中的應(yīng)用以及安全問題。通過總結(jié)移動平臺中基于Token 的安全訪問控制 [3] 和大數(shù)據(jù)平臺的身份認(rèn)證 [4] 以及計算機(jī)系統(tǒng)中基于 Token 的權(quán)限管理機(jī)制[5],為后續(xù)工作的展開奠定了基礎(chǔ)。近年來發(fā)生的大數(shù)據(jù)安全事件[6-7],風(fēng)險成因復(fù)雜交織,既有外部攻擊,也有內(nèi)部泄露,既有技術(shù)漏洞,也有管理缺陷 ;既有新技術(shù)新模式觸發(fā)的新風(fēng)險,也有傳統(tǒng)安全問題的持續(xù)觸發(fā)。而且威脅范圍全域覆蓋,大數(shù)據(jù)安全威脅滲透在數(shù)據(jù)生產(chǎn)、流通和消費(fèi)等大數(shù)據(jù)產(chǎn)業(yè)鏈的各個環(huán)節(jié),包括數(shù)據(jù)源的提供者、大數(shù)據(jù)加工平臺提供者、大數(shù)據(jù)分析服務(wù)提供者等各類主體。對營銷系統(tǒng)而言,目前信息網(wǎng)絡(luò)高度發(fā)達(dá)、移動設(shè)備等十分便捷,使得營銷系統(tǒng)中存放的敏感的供電企業(yè)信息與大量的客戶數(shù)據(jù)信息易被泄露,可能造成巨大的經(jīng)濟(jì)損失和政治損失。
為避免數(shù)據(jù)泄露帶來的重大損失,針對作為各個行業(yè)信息化建設(shè)重要基礎(chǔ)支撐的大數(shù)據(jù)在收集、存儲、傳輸和使用過程中面臨的諸多安全風(fēng)險,分析了大數(shù)據(jù)在這些過程中面臨的安全威脅 [8]。闡述了大數(shù)據(jù)相關(guān)系統(tǒng)平臺和大數(shù)據(jù)應(yīng)用中安全保障的關(guān)鍵技術(shù)及最新進(jìn)展,包括用戶訪問控制、數(shù)據(jù)隔離、數(shù)據(jù)完整性、隱私保護(hù)、安全審計、高級持續(xù)性攻擊防范等,以應(yīng)對云計算、物聯(lián)網(wǎng)、移動互聯(lián)等新技術(shù)的快速發(fā)展對大數(shù)據(jù)帶來的安全挑戰(zhàn)和更高的安全要求。大數(shù)據(jù)在電力系統(tǒng)中的應(yīng)用為電力系統(tǒng)的安全保障帶來了更大挑戰(zhàn)[9-10]。為解決這一問題,基于角色的權(quán)限訪問控制被應(yīng)用到數(shù)據(jù)的訪問及存取中 [11-12]。此外,當(dāng)前大部分網(wǎng)絡(luò)信息系統(tǒng)中均存在安全隱患[13-16],因此,如何采取有效的安全措施以防止數(shù)據(jù)泄露至關(guān)重要。
1 研究問題
在信息系統(tǒng)中,為了保障數(shù)據(jù)安全,最大程度地防止數(shù)據(jù)被非法讀取或者修改,往往會為不同的用戶分配不同的操作權(quán)限,從而達(dá)到保護(hù)數(shù)據(jù)不被非法訪問的目的。最簡單有效的做法就是為用戶靜態(tài)分配權(quán)限,即在創(chuàng)建用戶時為該用戶分配相應(yīng)的權(quán)限。例如,管理員具有系統(tǒng)最高權(quán)限,而普通用戶則具有較低權(quán)限。這種方法簡單有效,但也會帶來諸多問題 :
(1) 用戶權(quán)限過低。當(dāng)該用戶運(yùn)行某項業(yè)務(wù)需要訪問超出其所有權(quán)限的部分?jǐn)?shù)據(jù)時,會導(dǎo)致該項業(yè)務(wù)操作失敗,而要繼續(xù)進(jìn)行該項業(yè)務(wù)則只能注冊新用戶并分配相應(yīng)權(quán)限,此舉不僅會降低系統(tǒng)應(yīng)用的效率,甚至?xí)槠髽I(yè)帶來一定的經(jīng)濟(jì)損失。
(2) 用戶權(quán)限過高。該用戶可以正常進(jìn)行某些業(yè)務(wù)的操作,但其也具有訪問與操作無關(guān)數(shù)據(jù)的權(quán)限。若該用戶在進(jìn)行該操作時常訪問與該業(yè)務(wù)無關(guān)的數(shù)據(jù),可能會造成數(shù)據(jù)被非法訪問的安全隱患。
(3) 用戶職能的改變。某一用戶職能發(fā)生變化時,其權(quán)限也隨之改變,而對于靜態(tài)分配用戶權(quán)限的信息系統(tǒng)來說,只能注銷舊用戶,然后創(chuàng)建新用戶,但此舉會降低系統(tǒng)效率。
為彌補(bǔ)用戶權(quán)限靜態(tài)分配的缺點(diǎn),用戶的權(quán)限應(yīng)根據(jù)具體任務(wù)的不同而發(fā)生變化,不應(yīng)處于靜態(tài)。此外,為防止系統(tǒng)內(nèi)部人員或非法操作人員竊取數(shù)據(jù),應(yīng)做到用戶與數(shù)據(jù)的隔離,將用戶與系統(tǒng)業(yè)務(wù)功能相關(guān)聯(lián),將業(yè)務(wù)功能與數(shù)據(jù)相關(guān)聯(lián)。因此有必要探索用戶的動態(tài)權(quán)限管理與認(rèn)證方法,實(shí)現(xiàn)任務(wù)感知的權(quán)限管理。
(1) 針對電力系統(tǒng)營銷網(wǎng)絡(luò),明確業(yè)務(wù)分類和業(yè)務(wù)功能與不同身份用戶的關(guān)系 ;
(2) 明確業(yè)務(wù)功能與數(shù)據(jù)的關(guān)系,分清有效數(shù)據(jù)和無關(guān)數(shù)據(jù);
(3) 為用戶動態(tài)分配業(yè)務(wù)操作權(quán)限并根據(jù)日志信息動態(tài)修改業(yè)務(wù)與數(shù)據(jù)的關(guān)聯(lián)關(guān)系。實(shí)現(xiàn)對用戶非法連接的判斷及安全隱患的檢測,并能及時向系統(tǒng)管理員發(fā)出警報。
此外,還要考慮系統(tǒng)運(yùn)行環(huán)境的動態(tài)性,當(dāng)各子系統(tǒng)中增加新設(shè)備時,首先要對該設(shè)備進(jìn)行安全檢查,比如檢查 IP 等, 如果是合法 IP 則允許接入系統(tǒng),同時還會在設(shè)備管理模塊增加該設(shè)備的信息。
2 研究方法
為防止系統(tǒng)內(nèi)部人員或非法人員直接從數(shù)據(jù)庫中竊取數(shù)據(jù),本文設(shè)計了一種用戶與數(shù)據(jù)隔離的方案,通過為用戶動態(tài)分配業(yè)務(wù)操作權(quán)限和關(guān)聯(lián)業(yè)務(wù)功能與數(shù)據(jù)實(shí)現(xiàn)保護(hù)系統(tǒng)數(shù)據(jù)安全的目的。具體權(quán)限授予過程如圖 1 所示。
系統(tǒng)根據(jù)用戶的不同身份為其初始化業(yè)務(wù)操作權(quán)限,并且低等級用戶可以向更高等級用戶申請自身不具備的權(quán)限。另外,當(dāng)用戶向系統(tǒng)發(fā)出操作請求后,由系統(tǒng)生成并分發(fā)給該用戶作為數(shù)據(jù)訪問權(quán)限的 Token,在進(jìn)行數(shù)據(jù)訪問時驗證 Token 的有效性,進(jìn)而才能獲取數(shù)據(jù)信息。
2.1 用戶權(quán)限與業(yè)務(wù)功能動態(tài)分配
為初始化分配不同身份用戶的業(yè)務(wù)操作權(quán)限,需要對業(yè)務(wù)進(jìn)行分類,根據(jù)業(yè)務(wù)執(zhí)行需要不同的數(shù)據(jù)操作權(quán)限以及需要訪問數(shù)據(jù)的不同敏感程度分為四類。另外,根據(jù)某項業(yè)務(wù)的具體步驟,比如查詢、修改和刪除等,在執(zhí)行相應(yīng)步驟時也需要不同權(quán)限 :
一類 :查詢類業(yè)務(wù)。包括大部分監(jiān)控類業(yè)務(wù),需要不斷讀取各種運(yùn)行狀態(tài)(業(yè)務(wù)運(yùn)行狀態(tài)、接口狀態(tài)、終端狀態(tài)等)信息 ;臺帳管理中的查詢部分。
二類:數(shù)據(jù)讀寫類業(yè)務(wù)。包括臺帳管理中的運(yùn)維管理、支撐單位管理和安全督查等,需要對相關(guān)階段的結(jié)果做錄入、修改和刪除等操作。
三類 :敏感信息的查詢、修改操作。對用戶信息、設(shè)備資產(chǎn)信息、支撐單位保密信息等的查詢和修改操作。
四類 :敏感信息的刪除操作。一般情況下,用戶不具有對敏感信息的刪除操作權(quán)限,需向更高等級用戶申請該權(quán)限。
相應(yīng)地,用戶登記可以根據(jù)不同業(yè)務(wù)或同一業(yè)務(wù)的不同操作分為四類,而相應(yīng)權(quán)限也越來越高。高等級用戶具有低等級用戶的全部操作權(quán)限,而當(dāng)某低等級用戶需要更高等級的操作權(quán)限才能完成某項工作時,可以向高等級用戶申請操作權(quán)限,高等級用戶的權(quán)限分配方式分為以下兩種:
(1)授權(quán)。高等級用戶通過授權(quán)的方式賦予低等級用戶某項操作權(quán)限,而自已同時也保留此項權(quán)限。
(2)權(quán)限轉(zhuǎn)移。高等級用戶通過權(quán)限轉(zhuǎn)移的方式賦予低等級用戶某項操作權(quán)限,而有時為了保證需要訪問的數(shù)據(jù)只有唯一用戶操作,此時,高等級用戶將暫時不具有此項權(quán)限。
無論是授權(quán)還是權(quán)限轉(zhuǎn)移的方式,低等級用戶得到的某項權(quán)限只是暫時的,在授權(quán)或權(quán)限轉(zhuǎn)移的過程中,高等級用戶需要為該項權(quán)限增加一個有效期或數(shù)據(jù)訪問次數(shù)限制。
2.2 業(yè)務(wù)功能與數(shù)據(jù)動態(tài)關(guān)聯(lián)
2.2.1 業(yè)務(wù)功能與數(shù)據(jù)關(guān)聯(lián)設(shè)計
除了上文中需要為不同用戶分配不同的業(yè)務(wù)操作權(quán)限外, 還需要根據(jù)用戶訪問數(shù)據(jù)的日志信息動態(tài)更新業(yè)務(wù)功能與數(shù)據(jù)之間的關(guān)系,因此在數(shù)據(jù)庫中設(shè)計兩張關(guān)系表保存數(shù)據(jù)權(quán)限以及業(yè)務(wù)功能和需要訪問的數(shù)據(jù)之間的關(guān)系。數(shù)據(jù) - 權(quán)限關(guān)系見表 1所列,業(yè)務(wù)功能 - 數(shù)據(jù)關(guān)系見表 2 所列。
數(shù)據(jù)權(quán)限關(guān)系表用定長記錄來存儲,為每個數(shù)據(jù)塊分配唯一確定的訪問權(quán)限字段,包括只讀和讀寫權(quán)限,只有取得該數(shù)據(jù)項的訪問權(quán)限才可訪問,每個用戶在操作前先要進(jìn)行身份認(rèn)證,認(rèn)證是否通過則根據(jù)用戶請求的不同操作授予相應(yīng)權(quán)限。
管控系統(tǒng)根據(jù)對日志信息的分析處理得到業(yè)務(wù)功能與數(shù)據(jù)信息的映射關(guān)系表,表明某項功能需要訪問的數(shù)據(jù)項有哪些。其中“訪問數(shù)據(jù)塊標(biāo)識”字段用變長記錄保存,系統(tǒng)可以通過分析用戶訪問數(shù)據(jù)的日志信息動態(tài)更新此表。當(dāng)某一用戶需要執(zhí)行某項操作時,首先需要獲取該項業(yè)務(wù)的操作權(quán)限,然后由系統(tǒng)分配給該用戶一個根據(jù)映射關(guān)系表生成的 Token,其中包含了需要訪問的數(shù)據(jù)項的權(quán)限字段以及其他相關(guān)信息, 如 Token 的有效期等。在進(jìn)行數(shù)據(jù)訪問時,系統(tǒng)驗證該用戶Token 的有效性,驗證通過則可以訪問數(shù)據(jù)。
2.2.2 Token 生成及分發(fā)
利用用戶 ID、生成時間、過期時間(此處設(shè)置為 24 h)和業(yè)務(wù)功能需要訪問數(shù)據(jù)塊的權(quán)限字段生成一個全局唯一標(biāo)識符(GUID)作為 Token。因為相同用戶在同一時間不會進(jìn)行兩項操作,所以每次分配給用戶的 Token 都是唯一的。由于生成的 GUID 是一個 128 位數(shù)組,為了方便攜帶以及提高Token 的安全性,使用 base64 編碼把生成的 GUID 轉(zhuǎn)變?yōu)橐粋€較短的字符串,然后分發(fā)給該用戶。
對于客戶端,Token 分發(fā)給相應(yīng)用戶之后,用戶保存在自身賬戶信息中,如瀏覽器的 cookies,當(dāng)該用戶進(jìn)行某項操作并向服務(wù)器提出請求時,除了要向服務(wù)器發(fā)送請求信息外,還要把本地保存的 Token 一并發(fā)送到服務(wù)器。對服務(wù)器端而言,在生成 Token 分發(fā)給用戶的同時還要把生成的 Token 保存在服務(wù)器中為每個用戶創(chuàng)建的臨時文件中,用于 Token 的驗證,而不是把 Token 寫入數(shù)據(jù)庫,這樣在用戶完成某項操作或者退出系統(tǒng)后可以及時釋放該文件。
2.2.3 Token 驗證模塊
當(dāng)用戶向服務(wù)器提交請求以及 Token 信息后,在服務(wù)器端相應(yīng)用戶的臨時文件中取出 Token 與用戶提交的 Token 進(jìn)行比對,其結(jié)果存在多種情況 :
(1)Token 有效 :Token 字段中包含該用戶需要訪問的數(shù)據(jù)權(quán)限字段,并且在其有效時間內(nèi)。
(2)Token 過期 :根據(jù) Token 中的有效時間判斷該用戶的 Token 是否過期。
(3)Token 無效 :用戶 ID 錯誤或者該用戶不具有訪問數(shù)據(jù)的權(quán)限。
3 結(jié) 語
本文針對營銷系統(tǒng)數(shù)據(jù)安全設(shè)計了一種用戶權(quán)限動態(tài)分配方案,通過用戶與業(yè)務(wù)功能以及業(yè)務(wù)功能與數(shù)據(jù)的動態(tài)關(guān)聯(lián),實(shí)現(xiàn)用戶與數(shù)據(jù)的隔離,有效防止電力營銷系統(tǒng)數(shù)據(jù)被非法竊取,保證營銷系統(tǒng)數(shù)據(jù)安全。