裴彥純
數(shù)字經(jīng)濟時代,數(shù)據(jù)作為關鍵生產(chǎn)要素其重要性日益凸顯。數(shù)字化轉型使得數(shù)據(jù)流通和共享成為必需,由此也帶來了愈加嚴峻的數(shù)據(jù)泄露風險。隨著《中華人民共和國數(shù)據(jù)安全法》《中華人民共和國個人信息保護法》等法律法規(guī)的出臺,填補了數(shù)據(jù)安全保護立法的空白,完善了網(wǎng)絡空間安全治理的法律體系,促進了我國數(shù)據(jù)保護法律法規(guī)體系的清晰、嚴謹,實現(xiàn)了對數(shù)據(jù)監(jiān)管的有法可依。在強監(jiān)管趨勢下,粗放型數(shù)據(jù)交易模式已游走在法律紅線的邊緣,對仍處于此類灰色地帶的企業(yè)將造成重創(chuàng),積極探索符合合規(guī)要求的業(yè)務路線是其當前唯一的出路。保障數(shù)據(jù)安全以及數(shù)據(jù)的合規(guī)合法使用成為了數(shù)據(jù)流通、共享的前提[1]。
本文從數(shù)據(jù)安全共享服務平臺的設計角度切入,詳細描述了平臺架構和系統(tǒng)組成,其采用微服務架構實現(xiàn)了數(shù)據(jù)資源服務總線,通過任務驅(qū)動的協(xié)同機制實現(xiàn)了基于隱私計算的安全計算系統(tǒng)。最終在平臺內(nèi)部構建了數(shù)據(jù)安全監(jiān)測和數(shù)據(jù)集中管控系統(tǒng),保證系統(tǒng)安全穩(wěn)定的運行。
平臺通過終端網(wǎng)關支持多種數(shù)據(jù)安全接入服務,實現(xiàn)外部數(shù)據(jù)大批量、高并發(fā)的安全接入與傳輸;通過基于微服務架構的數(shù)據(jù)資源服務總線進行安全共享,滿足符合訪問授權規(guī)范要求的數(shù)據(jù)共享與訪問操作。在相關數(shù)據(jù)訪問操作符合訪問授權規(guī)范要求時,平臺也可實現(xiàn)內(nèi)部數(shù)據(jù)與其他數(shù)據(jù)的共享,可以選擇通過本平臺實現(xiàn)發(fā)布使用與訪問控制[2]。
平臺融入了數(shù)據(jù)安全管控系統(tǒng)[3],實現(xiàn)了智能匹配相應的安全管控策略,采用基于人工智能的用戶異常行為分析,對所有數(shù)據(jù)操作進行全程安全管控和全生命周期的審計溯源,實現(xiàn)了對異常行為、安全風險的自動感知與處置。
基于微服務架構的數(shù)據(jù)資源服務總線也稱微服務API 網(wǎng)關,相對于傳統(tǒng)的資源服務總線,具有可彈性擴展、分布式、自維護、輕量級、松耦合等特點。采用面向服務的體系結構實現(xiàn)數(shù)據(jù)資源應用間的數(shù)據(jù)共享和使用,主要解決數(shù)據(jù)資源的封裝問題[4](如圖1 所示),包括:
數(shù)據(jù)使用方:需要通過總線獲取數(shù)據(jù)服務的請求程序。
數(shù)據(jù)提供方:在總線上提供數(shù)據(jù)服務的服務程序。
圖1 數(shù)據(jù)服務總線
數(shù)據(jù)服務注冊:數(shù)據(jù)提供方發(fā)布自己的數(shù)據(jù)服務和服務規(guī)約至服務注冊中心,以便數(shù)據(jù)使用方可以發(fā)現(xiàn)和訪問該服務。
數(shù)據(jù)服務管理:總線通過記錄數(shù)據(jù)服務請求、提供的內(nèi)容,了解數(shù)據(jù)服務的狀況、性能,進而發(fā)現(xiàn)其中存在的問題,實現(xiàn)對數(shù)據(jù)服務的控制。
數(shù)據(jù)服務內(nèi)容:包括數(shù)據(jù)服務請求內(nèi)容和數(shù)據(jù)服務提供內(nèi)容。
數(shù)據(jù)服務總線主要提供對接服務、級聯(lián)服務、網(wǎng)關服務及跨網(wǎng)授權、權限控制、服務注冊、訪問審計、日志同步等功能,可滿足不同業(yè)務場景下的技術要求。
(1)服務注冊
服務提供者將自己的數(shù)據(jù)資源服務和服務規(guī)約依據(jù)服務資源注冊信息格式要求發(fā)布到服務注冊中心,生成服務目錄并由服務總線統(tǒng)一管理和提供調(diào)用。
(2)服務請求
服務請求者按照服務文檔的請求調(diào)用報文格式構造報文并發(fā)送至服務總線。服務請求主要是通過代理訪問模式來實現(xiàn)服務調(diào)度,即將服務請求發(fā)往服務接口所掛接的移動服務總線,再由服務總線通過路由代理訪問服務接口返回結果;還可通過支持直接訪問模式實現(xiàn)服務請求,即根據(jù)服務請求方的權限信息進行認證和授權,服務請求方獲得授予訪問令牌后可以向服務接口方發(fā)送請求。服務提供方通過檢查訪問令牌可直接向服務請求方提供服務[5-6]。
(3)異步服務請求
服務總線支持服務請求者的異步服務請求。即服務總線將返回結果緩存,當服務請求者獲取異步請求時再將返回結果發(fā)回給服務請求者。
(4)服務路由
服務路由是服務總線基于服務請求進行路由匹配的核心功能。服務發(fā)起方通過權限校驗后提交服務請求,服務總線在接收后開始進行路由匹配,匹配成功即開始處理該請求,并將服務響應結果傳輸給服務提供方。
和傳統(tǒng)服務總線相比,數(shù)據(jù)資源服務總線需要滿足海量的應用訪問請求以及支持分布式的擴展。服務總線的路由支持1 個API 多個后端節(jié)點模式(即集群模式);后端支持IP 地址注冊和服務名稱注冊;使用服務名稱注冊時,移動服務總線必須提供一種可靠的服務注冊發(fā)現(xiàn)機制,確保后端節(jié)點地址的動態(tài)變化。
(5)服務編排
服務編排指將多個服務進行編排形成新的服務?;诜照{(diào)用方關心的是想要的結果而不是調(diào)用的復雜過程,支持直觀方式定義的新組合服務流程(工作流或代碼級編排),通過少量的可視化定制化開發(fā),即可實現(xiàn)服務的編排功能。
(6)訪問控制
對接入服務總線的服務請求方和服務接口進行身份合法性驗證。對服務請求方發(fā)出的請求進行權限檢查,對于越權訪問予以拒絕。服務總線支持對客戶端身份和用戶端身份的分別進行訪問控制和同時進行訪問控制。訪問控制既支持對應用層的權限審查,也支持對訪問發(fā)起方的權限檢查。
(7)流量控制
流量控制可以以分鐘、小時、天為時間單位來管控API 的被訪問頻率、應用的請求頻率、用戶的請求頻率等。同時支持允許設置特殊的應用或者用戶作為流控例外。
(8)服務管理
①服務監(jiān)控:實現(xiàn)對服務接口等相關資源的運行狀態(tài)、性能、負載的監(jiān)控,異常時自動告警;從在線率、訪問量、訪問成功率、響應速度等方面對服務接口的服務質(zhì)量進行評價和排名;通過監(jiān)控日志,從地區(qū)、應用、時間、頻度等多個維度,對服務資源運行情況進行統(tǒng)計分析,并采用業(yè)務視角展現(xiàn)服務資源的實戰(zhàn)成果。
② 調(diào)用鏈跟蹤:服務總線通過識別請求方發(fā)送的跟蹤信息,在日志中形成存儲1 條調(diào)用鏈。后續(xù)可以通過直觀的方式查看一個請求的每個環(huán)節(jié)的消耗時間、錯誤狀態(tài)和采集到的關聯(lián)日志,包括從客戶端發(fā)起,到經(jīng)過網(wǎng)關路由,再到后端節(jié)點,甚至到數(shù)據(jù)庫的調(diào)用鏈。
③異常處理:服務總線支持對服務請求接收直到服務結束期間所有異常的完整處理,包括異常反饋,即讓服務請求方知道服務調(diào)用失敗,以及記錄異常日志,即將異常情況告知網(wǎng)關。
(9)安全防護
支持多種認證方式,支持HMAC(SHA-1,SHA-256)算法簽名,支持HTTPS 協(xié)議,支持SSL 加密.防攻擊、防注入、請求防重放、請求防篡改[7]。
(10)安全審計
主要通過日志采集、分析和處理實現(xiàn)對服務行為進行安全審計。行為日志包括服務資源注冊、授權和訪問3 種類型,采集的數(shù)據(jù)項目應符合相關要求,并通過采集匯總服務總線節(jié)點和信息資源服務資源的狀態(tài)和日志信息,從而實現(xiàn)日志查詢、統(tǒng)計分析功能,進而為服務總線的運行維護提供數(shù)據(jù)支持。
1.2.1 數(shù)據(jù)安全接入網(wǎng)關
數(shù)據(jù)安全接入服務基于代理技術開發(fā),使用TLS 連接提供安全服務,通過重寫鏈接和端口來處理遠程用戶對內(nèi)網(wǎng)的訪問請求,采用國密加密算法,進行鏈路數(shù)據(jù)加密[8],具有維護簡單、移動性強、訪問控制能力強等特點。主動采集系統(tǒng)自身運行狀態(tài)信息、客戶端訪問流量信息,確保做到過程可信、結果準確、證據(jù)可查,有效實現(xiàn)了“主動/被動安全防御”的結合,保護內(nèi)部網(wǎng)絡不被攻擊,內(nèi)部資源不被竊取。
(1)數(shù)據(jù)加密傳輸
采用TLS 協(xié)議保證通訊雙方的信息安全,通過可靠的TCP 傳輸層來傳輸和接收數(shù)據(jù);鏈路數(shù)據(jù)加密支持國產(chǎn)加密算法;采取特有應答糾錯機制,包括確定應答與重發(fā)、記錄重組等機制,保證數(shù)據(jù)包有序、完整到達安全接入網(wǎng)關TLS 會話模塊。
(2)日志監(jiān)控審計
可視化的管理平臺,配置有遠程客戶端和服務發(fā)布。可實時監(jiān)控內(nèi)網(wǎng)資源訪問情況,并自動記錄相關日志;可實時查看所有在線客戶端的情況,并隨時中斷可疑會話。
(3)資源服務發(fā)布
支持在安全接入平臺以服務的形式發(fā)布內(nèi)網(wǎng)資源,客戶端可通過安全接入網(wǎng)關訪問已發(fā)布的服務;支持對發(fā)布的服務生成唯一簽名;支持服務端發(fā)布多個內(nèi)網(wǎng)資源服務,并可對每1個服務進行獨立的認證、配置與管理;所有內(nèi)網(wǎng)資源服務的IP、端口不會在客戶端暴露[9]。
(4)遠程接入管控
支持在安全接入平臺管理遠程接入的客戶端,已在安全接入平臺配置并認證的客戶端方可遠程訪問內(nèi)部資源服務;支持配置認證多個客戶端,同時可對每1 個客戶端進行獨立的認證、配置與管理;支持同一客戶端同時訪問多個內(nèi)網(wǎng)資源服務;對客戶端使用服務端已發(fā)布服務的簽名和證書與服務端具體服務進行TLS 握手認證。
集成彈性伸縮、身份認證、通道管理、流量監(jiān)控、服務管控等,支持跨區(qū)容災和就近路由,規(guī)避單可用區(qū)可能存在的不可抗力風險,提高服務的高可用性和容災能力[10]。線性擴展,包括本身的擴展性及業(yè)務的擴展性具有最靈活的安全接入方式,支持Web 代理、文件共享、端口轉發(fā)、網(wǎng)絡擴展、支持IPv6網(wǎng)絡。為確保良好業(yè)務和數(shù)據(jù)應用體驗,采用動態(tài)檢測接入條件最優(yōu)網(wǎng)關,智能優(yōu)選接入鏈路。
1.2.2 API 服務接口規(guī)范
所有服務的接口均基于HTTP/HTTPS協(xié)議,符合Swagger 2.0 接口描述規(guī)范。服務提供方和服務使用方必須同時使用相同類型的技術進行開發(fā)和調(diào)用,調(diào)用的服務通過HTTP URL 中特定屬性進行標識,具體詳見接口協(xié)議。
服務的接口數(shù)據(jù)包含所有的業(yè)務數(shù)據(jù),數(shù)據(jù)采用JSON格式表示,并且符合相應的JSON Schema.服務提供方和服務使用方必須同時使用相同的格式進行數(shù)據(jù)交互。
1 個服務只實現(xiàn)1 個業(yè)務功能。服務應是無狀態(tài)的,2 次請求之間無須狀態(tài)和會話的保持,并可以采用輪詢的方式在負載均衡器上進行注冊。
服務請求和返回的的報文應符合JSON Schema 格式,統(tǒng)一采用UTF-8 進行編碼。服務請求方和提供方應采用通用的JSON 解析器來構造和解析數(shù)據(jù),對JSON不同含義的段落用明確含義的字段名稱來定義,對相同內(nèi)容的數(shù)據(jù)應采用數(shù)組來進行描述,服務請求方和提供方應根據(jù)JSON名稱和路徑進行精確定位,不應根據(jù)字段的順序來獲取字段值,字段值不受字段順序調(diào)整的影響。
為提高數(shù)據(jù)查詢類服務的通用性和性能,查詢類服務在入?yún)⒅卸x返回字段列表,服務提供方根據(jù)入?yún)⒅兄付ǖ淖侄畏祷匦畔ⅰ?/p>
為防止非法訪問和入侵,服務提供方應對請求報文格式和關鍵信息進行合規(guī)性和業(yè)務校驗。
一般情況下,服務調(diào)用方和服務提供方進行請求采用的是同步調(diào)用的方式,如需使用異步調(diào)用則可采用消息隊列,或者通過服務調(diào)用方定義異步通知接口來實現(xiàn)。
服務接口采用微服務架構進行開發(fā)和部署[11]。微服務是指開發(fā)一個單個、小型、具備業(yè)務功能的服務,其特點是每1 個服務都有自己的處理和輕量通訊機制,可以部署在單個或多個服務器上。微服務架構是一種松耦合的,有一定的有界上下文的面向服務架構。和單體架構和SOA 相比,微服務架構具有組件化、松耦合、自治和去中心化的優(yōu)點。
數(shù)據(jù)安全管控系統(tǒng)主要針對數(shù)據(jù)安全監(jiān)測和數(shù)據(jù)集中管控,系統(tǒng)通過收集各接入系統(tǒng)上報的安全事件和業(yè)務運行信息,對信息進行存儲、分析、展示和響應控制,從而實現(xiàn)安全運行集中監(jiān)測和管理的目的(如圖2 所示)。同時,系統(tǒng)還可以幫助管理人員進行線上業(yè)務的實時監(jiān)控、業(yè)務異常原因的定位、應用的數(shù)據(jù)統(tǒng)計分析、安全數(shù)據(jù)的分析和審計。以及在出現(xiàn)安全事件時進行及時的相應控制,實現(xiàn)對終端的接入管控,主動斷開存在安全威脅終端的連接[12],對內(nèi)部的數(shù)據(jù)和應用服務進行保護。
(1)數(shù)據(jù)采集
數(shù)據(jù)采集作為系統(tǒng)安全監(jiān)控的基礎,主要使用采集探針技術對基礎信息和運行數(shù)據(jù)進行采集。在這一過程中,采集探針安裝于不同的模塊中,實現(xiàn)獲取數(shù)據(jù)的目標。數(shù)據(jù)采集探針用來探測終端、網(wǎng)絡、應用、數(shù)據(jù)基礎信息外,還負責探測安全事件和業(yè)務運行數(shù)據(jù),并將探測結果定時上報至監(jiān)控中心。
(2)數(shù)據(jù)分析
平臺對數(shù)據(jù)采集的信息進行分析,并做出分類處理。一般而言采集的信息被分為統(tǒng)計信息和安全事件2 大類,其中統(tǒng)計信息包括設備信息和流量信息等,安全事件則指的是違背監(jiān)測策略項的內(nèi)容。平臺在對采集到的監(jiān)測信息進行分類、分析后,支持進行可視化展示。
(3)數(shù)據(jù)展示
通過引入安全框架對采集到的信息進行分析,并將得到的結果通過大屏進行可視化展示。展示內(nèi)容包括:整體安全信息分析展示、用戶信息分析展示、網(wǎng)絡信息分析展示、終端信息分析展示、應用信息分析展示、數(shù)據(jù)信息分析展示、安全事件分析展示。
(4)響應控制
對發(fā)生的安全事件,提供具體管控能力。主要包括,告警提示、終端控制、應用控制和數(shù)據(jù)控制。同時可以在管控平臺的策略模塊根據(jù)安全事件的嚴重程度,針對用戶、網(wǎng)絡、終端、應用、數(shù)據(jù)配置不同的管控策略。
圖2 數(shù)據(jù)安全管控系統(tǒng)
(5)平臺管理
平臺管理為平臺的安全提供基礎性保,主要負責對安全保護環(huán)境中的計算節(jié)點、安全區(qū)域邊界、安全通信網(wǎng)絡實施集中管理和維護,包括用戶身份管理、終端信息管理、接入設備管理、權限管理、應急處理等。平臺管理符合國家相關安全規(guī)定和標準,監(jiān)測內(nèi)容標準化、采集數(shù)據(jù)格式標準化、設備接口標準化、違規(guī)信息處理標準化。
數(shù)據(jù)安全共享服務平臺使用微服務技術,滿足了跨行業(yè)、跨區(qū)域的多源數(shù)據(jù)安全對接、傳輸與共享需求;采用API 網(wǎng)關進行安全共享,滿足了符合訪問授權規(guī)范要求的數(shù)據(jù)共享與訪問操作,在保證數(shù)據(jù)安全前提下提供數(shù)據(jù)共享服務能力。數(shù)據(jù)安全共享服務平臺基于數(shù)據(jù)安全共享節(jié)點,利用可信受控存儲環(huán)境下的數(shù)據(jù)分析與計算實現(xiàn)了對受限數(shù)據(jù)的安全使用,解決了內(nèi)外部數(shù)據(jù)不能被直接獲取,甚至部分數(shù)據(jù)不能被訪問的問題。