柳小文,雷軍程,劉雪婷
(1.邵陽學(xué)院 信息工程學(xué)院,湖南 邵陽,422000;2.邵陽學(xué)院 政法學(xué)院,湖南 邵陽,422000)
身份證號碼、電話號碼、銀行卡號這些涉及個人隱私的敏感信息存儲在單位的人事和財務(wù)等管理系統(tǒng)中。由于業(yè)務(wù)需要,比如開發(fā)新的系統(tǒng)或升級業(yè)務(wù)模塊時,軟件產(chǎn)商需要業(yè)務(wù)部門提供真實業(yè)務(wù)數(shù)據(jù)做測試。這些業(yè)務(wù)數(shù)據(jù)往往包含有敏感信息,敏感信息脫離單位的運行環(huán)境進(jìn)入第三方,存在非常大的泄露風(fēng)險。泄漏可能發(fā)生在傳輸過程中,也可能由于第三方的管理缺陷等所致。根據(jù)數(shù)據(jù)脫敏全生命周期過程[1]的管理思想,在提供給第三方含有敏感信息的數(shù)據(jù)之前需要進(jìn)行脫敏處理,企事業(yè)單位的信息管理部門要對交付的數(shù)據(jù)是否含有敏感信息,敏感信息的類型、數(shù)量、脫敏手段、脫敏效果以及隱私信息泄漏風(fēng)險進(jìn)行評估,審核是否允許提供數(shù)據(jù)給第三方。
數(shù)據(jù)脫敏是指對某些敏感信息通過脫敏規(guī)則進(jìn)行數(shù)據(jù)變形,實現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù)[2]。常見的數(shù)據(jù)變形算法有遮擋(hiding)、替代(replace)、混洗(shuffle)、數(shù)值變換(numeric transform)、加密(encryption)和截斷(truncation)等。
數(shù)據(jù)脫敏規(guī)則分為可恢復(fù)和不可恢復(fù)兩類[3]??苫謴?fù)類指脫敏的數(shù)據(jù)(f(A)→B)可以通過某種變形算法恢復(fù)成原數(shù)據(jù)(f′(B)→A),此類脫敏規(guī)則的代表是各類加解密算法規(guī)則。不可恢復(fù)類指脫敏后的數(shù)據(jù)無法還原成原數(shù)據(jù),即變形算法不可逆,代表性算法有替換算法和生成算法兩類。
按照數(shù)據(jù)處理方式,可將數(shù)據(jù)脫敏技術(shù)分為靜態(tài)數(shù)據(jù)脫敏和動態(tài)數(shù)據(jù)脫敏兩類[4]。
靜態(tài)數(shù)據(jù)脫敏處理的數(shù)據(jù)是靜止的,一次脫敏多次使用,適合于對測試、開發(fā)等非業(yè)務(wù)生產(chǎn)系統(tǒng)的數(shù)據(jù)進(jìn)行去隱私化。
動態(tài)數(shù)據(jù)脫敏是針對業(yè)務(wù)生產(chǎn)系統(tǒng)的數(shù)據(jù),在訪問敏感數(shù)據(jù)時,對訪問的數(shù)據(jù)依據(jù)不同用戶的需求進(jìn)行不同級別的脫敏,要求系統(tǒng)有安全措施,確保用戶不能夠繞過數(shù)據(jù)脫敏層次直接接觸敏感數(shù)據(jù)。
圖1 隱私信息管理平臺功能結(jié)構(gòu)圖Fig.1 Functional construction diagram of privacy information management platform
隨著信息化水平的不斷提高,各企事業(yè)單位建有大量的管理信息系統(tǒng)。以高校為例,基本上都建有教務(wù)管理系統(tǒng)、財務(wù)管理系統(tǒng)、檔案管理系統(tǒng)、迎新系統(tǒng)、一卡通等管理信息系統(tǒng)。這些系統(tǒng)儲存了個人身份證號、住址、手機(jī)等隱私信息。單個系統(tǒng)的隱私信息保護(hù)不屬于本文研究范圍。本系統(tǒng)的目標(biāo)是建立單位內(nèi)信息系統(tǒng)隱私數(shù)據(jù)臺賬,在輸出到外部系統(tǒng)前對隱私信息管理的風(fēng)險進(jìn)行評估,以確定是否符合隱私信息管理的要求。
項目組首先通過查閱資料、訪談等方式進(jìn)行需求分析,明確了項目的功能需求和性能需求。然后依據(jù)需求分析完成了系統(tǒng)的概要設(shè)計,其結(jié)構(gòu)功能圖如圖1所示,平臺由資產(chǎn)管理、項目管理、用戶管理和數(shù)據(jù)字典4個功能模塊組成。
建立單位的各部門運行的信息系統(tǒng)資產(chǎn)臺賬。臺賬的內(nèi)容包括系統(tǒng)名稱、產(chǎn)家、運維單位、數(shù)據(jù)庫名稱、數(shù)據(jù)庫類型、隱私信息等。其中,隱私信息為子表,包括類型、數(shù)據(jù)庫、表、字段等信息。
按照“誰建設(shè)、誰管理、誰負(fù)責(zé)”的原則,各部門負(fù)責(zé)維護(hù)本部門的數(shù)據(jù)資產(chǎn)臺賬。需要由系統(tǒng)管理員為各部門的信息員分配賬號。部門信息員可以維護(hù)賬號的基本信息和修改密碼,如遺忘密碼需向系統(tǒng)管理系統(tǒng)申請找回密碼。
為方便操作,對部門信息、數(shù)據(jù)庫類型、隱私信息類型[5]等數(shù)據(jù)字典進(jìn)行維護(hù)。數(shù)據(jù)字典由系統(tǒng)管理員進(jìn)行新增、更新、刪除和查詢操作,其中,刪除為邏輯操作。
圖2 項目管理流程圖Fig.2 Project management flow chart
系統(tǒng)把向外部系統(tǒng)提供數(shù)據(jù)的操作看作1個獨立項目。根據(jù)隱私信息管理的規(guī)定,涉及向外提供隱私信息的業(yè)務(wù),需要經(jīng)過單位網(wǎng)絡(luò)與信息安全領(lǐng)導(dǎo)小組授權(quán)的管理部門審核,認(rèn)為沒有泄露隱私信息的風(fēng)險方可進(jìn)行后續(xù)操作。項目管理流程如圖2所示。
經(jīng)過系統(tǒng)需求分析,借鑒了一些相似系統(tǒng)的設(shè)計經(jīng)驗,最終選擇基于python3+mysql+flask web框架+bootstrap框架的開發(fā)方案。原因如下:
1)mysql完全免費,具有可移植性強(qiáng)、速度快、小巧、簡單易用的特點。
2)python是目前最具人氣的腳本語言,語法簡單接近于自然語言,有豐富代碼庫,開發(fā)速度快。
3)flask web框架是python運用廣泛的web框架之一。支持MVC模式、模板、ORM等開發(fā)方式。
4)bootstrap是一款由知名社交網(wǎng)站Twitter推出的CSS/HTML開源框架,基于bootstrap框架可以快速實現(xiàn)PC、平板和Mobile的多端顯示。
以項目管理模塊為例介紹系統(tǒng)的詳細(xì)設(shè)計與實現(xiàn),本文例舉了項目完善子模塊的部分代碼作為參考。項目管理包括申請、審核、完善3個子功能模塊。
3.2.1 項目申請子模塊
單位信息員點擊圖3的“添加項目”按鈕新建1個項目,在圖4的“項目申請表單”錄入提供項目涉及的隱私數(shù)據(jù)信息、項目的描述和風(fēng)險評估報告等內(nèi)容,點擊“添加“按鈕完成申請操作。
圖3 項目列表設(shè)計界面Fig.3 Design interface of project list
圖4 項目申請表單設(shè)計界面Fig.4 Design interface of project application form
3.2.2 項目審核子模塊
信息主管部門管理員在項目列表界面點擊”審核”按鈕,進(jìn)入項目審核界面。根據(jù)項目主管單位對項目的描述、涉及的字段和記錄數(shù)以及提交的風(fēng)險論證報告進(jìn)行評估,決定是否同意該項目實施,若不同意,則設(shè)置審核狀態(tài)為不通過,退回給該單位改進(jìn)完善,見圖5。
圖5 項目審核設(shè)計界面Fig.5 Design interface of project review
3.2.3 項目完善子模塊
項目主管單位信息員在項目列表界面,點擊需要完善的項目后的修改“按鈕“,進(jìn)入項目修改界面(新增項目和修改項目的條目是相同的,設(shè)計界面與圖4所示的相同)。信息員按要求錄入內(nèi)容后點擊”確定“按鈕完成完善操作。項目部分代碼如下:
@app.route(′/modifyapplication/
def modifyapplication(aid):
##省略登錄判斷
if request.method==′GET′:#get請求
res=Applications.query.filter_by(id=aid).first()
return render_template(′modifyapplication.html′,res=res)#渲染模板
#post請求,保存輸入
aproject=request.form.get(′aproject′,″)
#.....讀取更新的內(nèi)容
application=Applications.query.filter_by(id=aid).first()
#...保存到數(shù)據(jù)庫
application.aproject=aproject
#commit
db.session.commit()
為了發(fā)現(xiàn)問題,項目組搭建了測試環(huán)境,服務(wù)端部署的環(huán)境為ubuntu14.04,+mysql+nginx,客戶端環(huán)境為Windows10,遵循軟件工程的測試規(guī)范進(jìn)行測試。針對測試中發(fā)現(xiàn)的問題進(jìn)行了改進(jìn)。最終的測試結(jié)果表明,系統(tǒng)完全符合項目需求,實現(xiàn)了設(shè)計目標(biāo)。
建立信息系統(tǒng)敏感信息臺賬,有助于單位了解情況,對本單位的存量敏感信息的類型、位置和數(shù)量做到心中有數(shù)。在開展敏感防泄露的網(wǎng)絡(luò)信息安全工作時,能夠做到思路清晰,不遺漏重點,全面覆蓋。建立數(shù)據(jù)交付的審核機(jī)制,能夠增強(qiáng)信息維護(hù)部門的責(zé)任心,通過評估可有效降低發(fā)生隱私信息泄露的風(fēng)險,值得推廣和應(yīng)用。