
引言理賠系統里最該保護、也最容易被看光的字段保險業務的核心是理賠而理賠系統的核心數據是三類高度敏感、又必須被反復查詢的字段被保人證件號、理賠收款銀行卡號、以及出險病歷與診斷結論。這三類字段有兩個共同特點恰好讓它們成為數據安全的重災區。第一它們查詢頻率極高。客服坐席每接一通電話要核對證件號財務每筆付款要核對銀行卡核賠員每審一單要看病歷。字段就在 SQL 的 SELECT 列表里、就在接口返回里、就在坐席屏幕里幾乎無法靠少查來降風險。第二它們可見范圍極廣。一條理賠記錄從進件、初審、查勘、核賠、付款到歸檔要經過客服、查勘員、公估機構、核賠員、財務人員、甚至外部合作醫院與數據公司任何一環都能看到明文任何一環出問題都是大面積的個人信息泄露。這些年監管對保險行業個人信息保護、病歷數據出境與使用的處罰幾乎都繞不開這三類字段。但很多保險公司的數據庫安全建設還停留在庫前加一道防火墻、庫后做一份備份的階段。庫里的證件號、銀行卡、病歷全是明文誰能連上庫誰就能 SELECT 出來應用接口把字段原樣返給前端坐席屏幕、外包坐席屏幕、公估平臺屏幕照單全收。這種庫外嚴防、庫內裸奔的格局正是內部泄露與外部合規風險的交匯點。本文要講清楚的是在不改寫理賠系統一行代碼的前提下怎樣用字段級加密網關把這三類字段在存儲側加密、在查詢側按角色動態脫敏讓客服只看見該看的、讓外包公估只拿到能用的脫敏結果、讓整個鏈路留下可被監管檢查的證據。背景理賠系統里到底有哪些看字段的角色與通道要談保護先得把誰能看到字段、通過什么通道看到這件事列清楚。保險理賠系統的字段可見鏈條遠比一張表復雜。角色維度。至少可以拆出七類主體報案客服坐席核對證件號、登記銀行卡、理賠初審員看基本信息與初步材料、現場查勘員看出險地點與基本信息、外部公估機構評估損失、看相關病歷、核賠員看全部材料定損、財務付款崗看銀行卡與金額、以及合作醫院與數據服務方提供病歷與診療數據。這七類角色對證件號、銀行卡、病歷的可見必要度完全不同客服只需核對證件號后四位財務只需銀行卡號與戶名公估只需與定損相關的病歷片段核賠才需要相對完整的信息。通道維度。字段從庫里出來至少走四條通道應用服務端 SQL 查詢后返回接口坐席前端、移動查勘端運維與數據人員直連數據庫做排查DBA、數據工程師批量作業抽取日終對賬、精算建模、監管報送的數據抽取以及對外接口與合作醫院、公估平臺、再保公司的數據交換。四條通道里前兩條是日常主通道后兩條是批量與外聯通道風險點各不相同。系統維度。典型理賠系統不是一個庫而是核心業務庫存保單與理賠主表、影像與病歷庫存病歷 PDF、影像、診斷結構化字段、財務庫存收款賬戶、以及數據中臺做抽取與建模。字段分散在 MySQL、SQL Server、Oracle、甚至達夢、人大金倉等國產化庫里跨庫、跨類型統一加密與脫敏策略如果逐庫做運維成本會失控。把三個維度合起來看問題就清楚了保護的不是字段本身而是字段在不同角色、不同通道、不同系統下的可見形態。這正是字段級加密網關與動態脫敏三視圖要解決的事。技術拆解一字段級加密與動態脫敏是兩件不同的事但共用一條鏈路很多方案把加密和脫敏混為一談結果要么全加密導致業務查不了要么全脫敏導致庫里沒有真值。正確的理解是兩者解決不同環節且應串聯在一條透明代理鏈路上。環節一存儲加密落庫即密文。字段級加密網關部署在應用與數據庫之間對指定的列證件號、銀行卡號、病歷關鍵字段在寫入時加密、在讀出時解密數據庫落盤文件里存的是密文。它的價值是即便 DBA 直連生產庫、即便數據庫文件被拖走、即便云上管理員看到數據文件看到的也只是密文。這解決了庫內裸奔的問題屬于靜態保護。環節二查詢側脫敏按角色給不同視圖。但存儲加密只解決庫里的安全。應用查出來之后坐席、外包、公估看到的還是明文。所以網關在讀出解密之后、返回應用之前還要按訪問主體的角色再做一次動態脫敏——同樣的 SQL、同樣的行客服看到證件號打碼、核賠看到完整、公估看到脫敏后的可用結果。這解決的是庫外可見范圍的問題屬于動態保護。兩者串在一條鏈路上安當DBG 即以透明加密網關 運維管控網關雙模式支撐這條鏈路透明加密網關負責字段級加密存儲運維管控網關負責明文存儲場景下的輸出脫敏與 SQL 級攔截。對理賠系統更推薦前者——落庫即密文從根上消除明文泄露面。以安當DBG為例它在應用與數據庫之間做透明代理對列級字段加密存儲同時按角色策略在結果集上做動態脫敏應用零改造就能同時拿到存儲安全和可見收斂兩層收益。技術拆解二三類字段各自的加密與脫敏設計三類字段的業務語義不同加密與脫敏策略要分開設計不能一刀切。證件號身份證。這是核對型字段客服要驗證是不是這個人財務要跟銀行卡戶名對不對得上但日常不需要看到完整十八位。加密側用字段級加密國密 SM4落庫脫敏側按角色給視圖客服坐席返回310***********1234保留前三位與后四位中間掩碼核賠與風控返回完整外包與公估只返回已核驗通過/未通過的狀態位不返回明文。關鍵點是證件號經常要參與相等判斷“查這個人的所有保單”所以加密要支持等值查詢——這正是保留格式加密FPE的價值加密后仍可 LIKE、可等值比對業務查詢不中斷。銀行卡號。這是付款型字段財務要看完整卡號與戶名做付款客服只需核對后四位防填錯。加密側同樣字段級加密脫敏側客服返回后四位掩碼、財務返回完整、公估與醫院側根本不應出現在查詢權限里。銀行卡號還會被用于查重同一卡號多筆理賠可能是欺詐信號所以同樣依賴 FPE 的等值比對能力加密后仍能在庫內做去重與關聯無需解密。病歷與診斷。這是內容型字段結構化字段診斷編碼、科室、用藥與半結構化字段病歷 PDF、影像報告并存。結構化部分按列加密、按角色脫敏核賠看完整、公估看與定損相關片段、客服不看半結構化部分PDF、報告文本建議做全文加密存儲對外部公估平臺只輸出脫敏后的結構化摘要絕不出原始病歷文本。病歷還涉及病歷數據合規使用邊界對外提供必須最小化這一條在策略里要寫成硬規則。三類字段的設計原則可以歸納為一句話能等值比對的用 FPE 保查詢能掩碼的按角色掩內容型的只給摘要不給原文。技術拆解三客服坐席按角色最小可見策略怎么寫“最小可見落到字段級加密網關上就是給每個角色定義一套字段可見策略”。這套策略不是寫在應用代碼里而是寫在網關的策略引擎里與應用解耦改策略不碰業務系統。角色畫像先行。先把理賠系統里的角色枚舉清楚給每個角色定義對每類字段的可見級別完整、掩碼、狀態位、不可見。例如角色證件號銀行卡號病歷原文病歷摘要報案客服坐席掩碼前后四位掩碼后四位不可見不可見理賠初審員掩碼掩碼不可見可見現場查勘員掩碼不可見不可見可見出險相關外部公估機構狀態位不可見不可見可見定損相關片段核賠員完整掩碼財務段才完整完整完整財務付款崗不可見付款時由系統校驗完整不可見不可見合作醫院/數據方不可見不可見不可見僅回傳結構化字段這張表是策略的真相來源也是后面合規檢查的核心證據之一。策略如何與登錄身份綁定。網關需要知道當前是誰、什么角色才能路由到對應視圖。工程上不推薦讓網關自己管身份而是復用企業已有的統一身份認證如 SSO 下發的角色聲明、或應用下傳的會話角色。網關在收到 SQL 時從連接會話里取出角色標識匹配策略引擎決定字段返回形態。這里有個關鍵約束角色標識必須從可信通道獲得不能由應用隨便傳一個字符串就信——否則攻擊者偽造角色就能拿完整字段。因此角色映射建議由網關側的配置仲裁應用只傳會話標識角色與字段權限的對應在網關側閉環。最小可見的反向校驗。策略寫完后要反過來問一句有沒有角色拿到的字段超過了它的業務必需比如客服坐席如果某天突然能查到完整病歷一定是策略配錯了核賠員如果連證件號都看不到一定是權限漏了。把角色—字段矩陣當成一張強約束的授權表任何偏離都要告警這是最小可見能長期成立的前提。技術拆解四理賠外包與公估如何用脫敏結果而不是明文保險理賠高度依賴外包與公估查勘定損常外包給公估機構大案要案要外部專家參與甚至部分初審崗是外包坐席。這些外部主體必須能用數據但又絕不能拿到明文。字段級加密網關的脫敏三視圖正好把外部角色卡在脫敏結果這一層。公估機構的數據使用形態。公估機構評估一輛車的損失需要的是出險時間、車型、定損項目、歷史理賠概要——它不需要被保人完整證件號不需要銀行卡也不需要原始病歷全文。因此它拿到的應當是證件號狀態位已核驗、銀行卡狀態位已核驗、病歷的脫敏摘要與定損相關的傷情描述已去除姓名與可識別信息。這種脫敏結果足以支撐它的業務又從源頭切斷了敏感字段流向外部的可能。外包坐席的視圖隔離。外包客服坐席與自有坐席用同一套前端、查同一張表差異只在角色。網關按角色返回不同視圖外包坐席屏幕天然只顯示掩碼與狀態位。這里要特別注意一個盲區外包坐席如果可以通過導出 Excel打印工單把屏幕內容落盤脫敏就白做了。所以脫敏策略必須與終端側的外發管控聯動——導出與打印的也是脫敏后的結果而不是屏幕背后解密出來的明文。對外接口的脫敏輸出。與合作醫院、再保公司、數據服務方的數據交換往往走接口批量推送。這類接口最容易順手把完整字段推過去。正確做法是接口在網關側統一收口推送出去的字段全部走脫敏策略合作方拿到的永遠是脫敏結果若某業務確實需明文極個別情形必須走單獨的明文外發審批且審批單、用途、有效期、接收方全部留痕。脫敏結果的可還原性邊界。必須明確脫敏結果在外部不可還原。也就是說公估拿到的狀態位與摘要無法通過任何手段反推證件號與銀行卡。這就要求脫敏函數走單向或密鑰隔離設計脫敏視圖用的密鑰與存儲加密的密鑰嚴格分離外部系統即便拿到脫敏數據也還原不出明文。這一條常被忽略卻是外部合規審查的硬指標。技術拆解五留 Evidence 給合規檢查——哪些證據必須可查保險行業受多重監管個人信息保護、病歷數據使用、金融數據安全、等保與密評。字段級加密網關要在這些檢查里說清楚靠的不是一句我們加密了而是一組可被抽取、可被核驗的證據材料。證據一字段加密的存證。證明證件號、銀行卡、病歷字段在庫里是密文導出的表結構或抽樣數據要能展示這些列的內容為密文形態且加密算法為合規的國密 SM4。同時要能說明密鑰由密鑰管理系統集中管理、根密鑰受硬件保護、密鑰生命周期可控——這對應密評對密鑰管理的要求。證據二角色—字段授權矩陣。即上一節的角色可見表它是最小可見的可審計依據。檢查時要能回答每個角色為什么能看到它看到的字段、看不到的字段是被誰攔的。矩陣要帶版本與生效時間變更有審批。證據三動態脫敏的命中日志。每一次查詢返回的是完整、掩碼還是狀態位都要記下來誰、什么角色、查了哪張表的哪一行、哪些字段走了脫敏、脫敏形態是什么、結果放行還是攔截。這套日志是按角色最小可見真正落地的證明也是事后追溯誰看過某客戶的證件號的依據。證據四運維 SQL 攔截與全量審計。理賠系統的 DBA、數據工程師常直連庫做排查這類通道最易泄露。網關的運維管控能力要在 SQL 級做攔截比如禁止 SELECT 證件號/銀行卡的明文、禁止整表導出并把所有運維操作全量審計。合規檢查時會重點看有沒有人繞過脫敏直接拉明文、攔截規則是否被觸發過、告警有沒有人處理。證據五對外數據交換的留痕。與合作醫院、公估、再保的每次數據推送記下發往哪、發了什么字段形態脫敏/明文、有沒有走審批。這是病歷數據合規使用與外部數據共享審查的主線證據。把五類證據串起來合規檢查要回答的核心問題就閉環了字段有沒有加密靜態、誰能看到什么動態、外部拿到的是什么脫敏、運維有沒有越界攔截、全鏈路能不能追溯審計。技術拆解六與 TDE 的雙層配合以及密鑰怎么歸口字段級加密網關解決的是列的問題但它不是銀彈。理賠系統的病歷 PDF、影像報告這類大對象、以及庫文件本身更適合在文件系統層用透明加密兜底。兩者配合構成雙層防護。內層DBG 字段級加密。針對證件號、銀行卡、病歷結構化字段做列級加密與脫敏控制字段可見。外層TDE 透明加密。對數據庫落盤文件、病歷 PDF 存儲目錄、備份集做文件系統層透明加密控制文件落地即密文即使庫文件、備份被拷走也打不開。兩層疊加字段級防內部窺探、文件級防介質丟失覆蓋面互補。密鑰歸口到 KSP。無論是 DBG 的字段密鑰還是 TDE 的文件密鑰根密鑰都應統一收口到密鑰管理系統KSP由硬件密碼機保護根密鑰、做密鑰生成到銷毀的全生命周期管理。這樣做有兩個好處一是滿足密評對密鑰集中管理的要求二是當某個角色權限要回收、某把字段密鑰要輪換時有統一的管控面不至于散落在各系統各自為政。改造路徑六步落地理賠系統上字段級加密網關最忌一口氣全庫加密。建議按六步推進每步有產出物。第一步字段盤點與分級。拉出理賠相關全部庫表標出敏感字段證件號、銀行卡、病歷結構化字段、病歷原文對象。給每類字段定密級與默認策略加密 默認脫敏形態。產出《敏感字段清單》與《字段分級表》。這步不做后面策略全是拍腦袋。第二步角色—字段矩陣評審。聯合業務、合規、安全三方把上一節的角色可見表逐字段確認合規簽字生效。產出帶版本號的《角色字段授權矩陣》。這是后續所有策略與證據的源頭。第三步先在影子模式跑。網關先以審計不攔截模式上線觀察真實查詢里各角色實際訪問了哪些字段、有沒有越權訪問、脫敏策略會不會誤傷業務。影子期跑至少一個完整業務周期建議覆蓋月初報案高峰與月末付款高峰確認無誤再切真實加密。第四步核心字段先加密。優先把證件號、銀行卡兩類核對型字段加密落庫用 FPE 保等值比對驗證客服核對、財務付款、反欺詐查重都不受影響。病歷類大對象放到與 TDE 配合的外層處理降低單點改造風險。第五步脫敏策略按角色灰度。先放開自有坐席與核賠員視圖再放開外包坐席與公估接口。每放開一類角色觀察脫敏日志與業務反饋確認該看的看到、不該看的看不到。第六步證據歸檔與合規預檢。按下一節清單導出五類證據做一次內部預檢補掉缺口后再迎接外部檢查。配置示例以下示例用于說明策略形態具體參數以實際環境為準。字段加密與脫敏策略網關策略側類 YAML 描述# 理賠系統字段級加密與動態脫敏策略claimFieldPolicy:cipher:algorithm:SM4# 國密 SM4合規算法mode:FPE# 保留格式加密支持等值/LIKE 比對keySource:ksp# 字段密鑰由密鑰管理系統統一下發與輪換columns:-table:policy_claimcolumn:id_cardencrypt:true-table:policy_claimcolumn:bank_cardencrypt:true-table:claim_medicalcolumn:diagnosis_codeencrypt:truedesensitize:# 動態脫敏三視圖按角色路由defaultView:mask# 默認掩碼白名單思維roleViews:-role:cs_agent# 報案客服坐席id_card:310***********1234# 保留前后四位bank_card:****1234medical:none-role:claim_assessor# 核賠員id_card:plainbank_card:mask_finance# 財務段才完整medical:plain-role:outsourced_cs# 外包客服坐席id_card:maskbank_card:maskmedical:none-role:public_adjuster# 外部公估機構id_card:status_only# 只給狀態位bank_card:nonemedical:summary_only# 只給定損相關摘要-role:finance_pay# 財務付款崗id_card:nonebank_card:plainmedical:noneroleBinding:source:sso_session# 角色取自可信 SSO 會話應用不自行聲明enforceGatewayArbiter:true# 角色—字段映射在網關側閉環仲裁運維 SQL 攔截與審計運維管控側opsGuard:sqlIntercept:-pattern:SELECT .*id_card.* FROM policy_claimroleNotIn:[claim_assessor,finance_pay]action:mask_result# 非授權角色查證件號返回脫敏結果-pattern:SELECT .* FROM policy_claimaction:full_audit# 整表查詢全部審計-pattern:SELECT .*bank_card.*roleNotIn:[finance_pay]action:mask_resultaudit:fields:[account,role,table,row_key,columns,view_type,result,ts]exportTo:central_log# 全量審計上報獨立日志服務outbound:partnerPush:defaultView:desensitized# 對外推送默認脫敏plainRequires:approval# 明文外發必須走審批approvalBind:[file_sm3,partner,valid_until]審計記錄樣例服務端集中留存{event_id:DBG-20260912-003314,timestamp:2026-09-12T10:05:2208:00,subject:{account:cs_wang,role:cs_agent,session:SSO-9f2a},object:{table:policy_claim,row_key:CLM-2026-88123,columns:[id_card,bank_card]},action:{sql:SELECT id_card,bank_card FROM policy_claim WHERE ...,view_type:mask,result:allowed},policy:{rule:desensitize.roleViews[cs_agent],approval_id:null}}驗證確認字段加密與脫敏真的生效-- 1. 庫內抽樣直連數據庫看到的應是密文而非明文證件號SELECTid_cardFROMpolicy_claimWHEREclaim_noCLM-2026-88123;-- 預期返回 SM4/FPE 密文形如 a7f3***不是 310***********1234 也不是明文-- 2. 坐席視圖以 cs_agent 角色查詢返回掩碼/* 通過網關以 cs_agent 會話執行 */SELECTid_card,bank_cardFROMpolicy_claimWHEREclaim_noCLM-2026-88123;-- 預期id_card 顯示前后四位掩碼bank_card 顯示后四位掩碼-- 3. 公估視圖以 public_adjuster 角色查詢證件號只給狀態位/* 通過網關以 public_adjuster 會話執行 */SELECTid_card,medicalFROMpolicy_claimWHEREclaim_noCLM-2026-88123;-- 預期id_card 返回 已核驗medical 返回定損相關摘要無原始病歷驗證方法六條實測庫內密文驗證。直連生產庫抽樣證件號、銀行卡列應為密文形態非明文、非掩碼。這一條證明靜態保護成立。角色視圖驗證。用每類角色會話查同一行返回形態應嚴格符合授權矩陣客服掩碼、核賠完整、公估狀態位。這一條證明動態最小可見成立。越權攔截驗證。用無權限角色如外包坐席嘗試查病歷原文、財務查完整證件號應被攔截或返回脫敏。這一條證明策略沒配漏。FPE 查詢驗證。用加密后的證件號做等值查詢與 LIKE 前綴查詢應能正常命中、性能在預期損耗內網關整體 5%-10%、可承載 3 萬 QPS。這一條證明加密沒打斷業務。對外推送驗證。觸發一次與合作醫院/公估的數據推送抓取出站內容應為脫敏結果明文外發必須命中審批且有綁定。這一條證明外部合規邊界。審計與反查驗證。給定某客戶證件號能反查誰在什么時間、什么角色、以什么視圖查過它給定某角色能列出其全部查詢。這一條證明證據可追溯。風險與誤區誤區一把加密和脫敏當成一件事。只加密不脫敏坐席屏幕還是明文只脫敏不加密DBA 直連庫照樣拿全部。兩者必須串聯。誤區二角色權限配成都能看。最小可見失效最常見的原因是上線時為省事把外包與公估也配成完整視圖。必須以授權矩陣為準任何偏離告警。誤區三脫敏密鑰與存儲密鑰不分。外部拿到的脫敏結果若能用存儲密鑰還原等于沒脫敏。兩套密鑰必須隔離脫敏結果外部不可還原。誤區四忽略導出與打印旁路。屏幕脫敏了但坐席能導出 Excel、打印工單明文就落盤了。脫敏必須聯動終端外發管控。誤區五密鑰散落各系統。字段密鑰、文件密鑰各管各的輪換與回收沒有統一面密評一定卡。應歸口密鑰管理系統。誤區六只在應用層做脫敏。應用層脫敏繞不過運維直連與文件拷貝。字段級加密網關在數據庫側兜底才覆蓋全通道。證據材料清單合規檢查取證用敏感字段清單字段名、所屬表、密級、默認加密與脫敏策略、生效時間。角色—字段授權矩陣角色、每類字段的可見級別、制定依據、合規簽字、版本與變更審批。字段加密存證抽樣密文數據、加密算法說明國密 SM4/FPE、密鑰由密鑰管理系統集中管理與根密鑰硬件保護的說明。動態脫敏命中日志含主體、角色、表、行、字段、視圖形態、結果的完整記錄樣本可脫敏。運維 SQL 攔截記錄攔截規則、觸發樣本、告警處理記錄。對外數據交換留痕合作方、推送字段形態、審批單與綁定、有效期。雙層防護說明字段級加密與透明加密的配合關系、密鑰歸口到密鑰管理系統的架構圖。六條驗證的實測記錄每項操作步驟、命令、結果、結論。合規映射說明與個人信息保護、病歷數據使用、等保2.0、密評國密 GM/T 0051/0028條款的對應表。方案參考落地保險理賠系統的字段級加密與動態脫敏建議按下面順序推進先盤兩張表敏感字段清單字段—密級—策略與角色字段授權矩陣角色—字段—可見級別由業務、合規、安全三方簽字生效這是所有策略與證據的源頭。字段加密用國密 SM4 的保留格式加密FPE保住證件號、銀行卡的等值與 LIKE 比對能力不讓反洗錢查重、反欺詐關聯這類業務中斷。動態脫敏走三視圖客服與外包坐席給掩碼、核賠給完整、公估與外部給狀態位與摘要默認掩碼、白名單思維絕不默認完整。角色標識必須從可信 SSO 會話獲得角色—字段映射在網關側閉環仲裁不讓應用自行聲明角色防止偽造身份拿明文。外包與公估一律拿脫敏結果不準拿明文脫敏密鑰與存儲密鑰嚴格隔離確保外部不可還原確需明文外發必須走審批且單綁定。脫敏必須聯動終端外發管控導出、打印、接口推送都只出脫敏結果堵住屏幕脫敏后的落盤旁路。運維直連庫做 SQL 級攔截與全量審計禁止非授權角色拉明文、整表導出告警要有人處理并留痕。與透明加密構成雙層字段級管可見、文件級管落地即密文密鑰統一歸口密鑰管理系統滿足密評對密鑰集中管理的要求。上線先影子模式跑一個完整業務周期確認無誤再切真實加密核心字段先上、病歷大對象交給外層透明加密。合規證據按五類歸檔字段加密存證、授權矩陣、脫敏命中日志、運維攔截、對外留痕并提前做內部預檢再迎檢。以安當DBG為例其以應用與數據庫之間的透明代理實現字段級加密與動態脫敏三視圖應用零改造即可讓理賠系統的證件號、銀行卡與病歷在存儲側加密、在查詢側按角色最小可見并可與密鑰管理系統對接實現密鑰全生命周期治理為保險行業的個人信息保護與密評合規提供可追溯的證據鏈。