隨着雲計算、大數據、AI等技術的不斷髮展,企業中各類系統中存儲了
大量的核心數據,已成爲企業重要的
生產資源和生存命脈,
數據安全也因此成爲了企業
最核心且最突出的問題。
在國家《數據安全法》正式實施的背景下,愛奇藝安全團隊
基於《GBT22239-2019信息安全技術網絡安全等級保護基本要求》以及《中華人民共和國密碼法》的相關標準與要求,推出了
Cloud KMS 密鑰管理平臺,重點解決數據存儲加密以及密鑰管理的相關問題。
由於
會員敏感數據量級、使用場景基本一致,單系統逐一接入會造成
開發人力成本過高,並且不利於系統維護,所以會員部門針對現有
Cloud KMS進行二次封裝,將
數據加密和密鑰管理與業務運行相結合,有效提升了會員數據的
安全性。
Cloud KMS
(
Cloud Key Management System
,簡稱
Cloud KMS
)密鑰管理平臺是基於
HSM
硬件、虛擬化等技術,實現對密鑰的安全存儲、管理和更新的一站式密鑰管理和數據加密服務平臺,其核心在於安全保存業務密鑰,並且支持使用專用的存儲設備來保障密鑰的存儲安全使用安全的散列算法生成用戶密鑰,使用身份認證機制來控制對密鑰的訪問。
主要功能
●
Cloud KMS
提供對密鑰的集中化託管與控制,託管在
KMS
上的密鑰叫做業務主密鑰(
CustomerMaster Key
,簡稱
CMK
),業務可以自行創建用戶主密鑰
(CMK)
,並通過認證機制輕鬆管理密鑰的訪問。
●
KMS
支持從外部導入密鑰,目前支持
128位、256位
的對稱密鑰的導入,方便業務更便捷的接入到
KMS
。
同時,
KMS採用兩地三中心的部署方式來保障服務的高可用性,
並提供了簡單高效的API來支持創建數據密鑰、對數據加密和解密等操作。
KMS藉助身份認證機制(AccessKey)來鑑別請求的合法性,並支持業務自行創建和管理
AK/SK密鑰對。
信封加密:
使用
KMS
創建一個主密鑰,使用主密鑰生成一個數據密鑰,再使用。
數據密鑰在本地加解密數據。這種場景適用於數據對象較大(如文件、視頻等)的加解密。
加密內容較大,且多爲文件、視頻類非結構型,則使用信封加密場景合適。
在線加密:使用
KMS創建一個主密鑰,使用主密鑰直接對數據進行加解密。這種場景
適用於數據對象較小的加解密。
背景
愛奇藝會員業務
敏感數據主要集中在
會員密鑰、激活碼等場景,主要體現爲
單體數據量不大、數據量級大、調用頻次高。且對數據異常場景敏感,由此在二次封裝的基礎上優先使用的是
在線加密的方式。
實踐過程中,在
Cloud KMS底層基礎功能之上增加業務適配功能,包括
緩存、重試策略、定時更新密文等,並且將與
底層服務交互的細節進行隱藏,減少業務使用方的接入以及學習成本,提供適配
SpringBoot、MyBatis、配置中心等組件的Starter,做到低侵入式的引入。
框架結構
目前會員內部部分系統已經接入
KMS,所有
對外&內部存儲的數據均爲加密數據,加解密都是基於
國密局批准的硬件芯片相關的算法完成,整體架構如下:
適配功能拓展
1. 支持短時間內業務方在內存中存儲密文數據,可根據實際情況配置不同的存儲時間和存儲方式。
2. 定製化緩存密鑰淘汰策略,根據實際情況配置淘汰策略,目前支持全部更新、FIFO更新,後續會支持更多算法。
3. 插拔式重試策略,內置默認重試策略,業務方可根據外露接口,定製化重試策略。
處理流程
主要處理流程分爲:
權限驗籤、配置解析、自定義邏輯處理、重試策略、緩存更新等,會服務平臺根據業務方分配主密鑰,業務方把主密鑰配置到配置中心、非敏感信息放到本地文件,引入KMS工具包後通過配置即可實現加解密功能。
權限驗籤:
通過使用方配置的
AK/SK
校驗接入方身份
自定義邏輯處理:
用戶實現擴展接口,實現自定義處理邏輯
重試策略:
Cloud KMS
調用出現異常情況,重試配置
緩存變更:會在業務方系統緩存一定時間的密文數據,避免對下游造成較大壓力
業務價值
接入KMS加解密之後,使用方不再需要把重心放在數據的加解密轉換,甚至於對數據的形態不需要關注,很大程度上減少了使用方的開發成本,與此同時上下游的交互以及數據的流轉不再需要冗餘的代碼進行適配,使得業務邏輯更加的簡潔明瞭。其更多的價值體現在以下數據層面和系統層面:
數據層面
1. 確保每一條敏感數據的加解密都是通過KMS完成、確保每一條數據都符合安全等級保護基本要求
2. 提升密文數據在多系統內的通用性,減少系統耦合,重複開發減少大約80%,減少除開業務之外的因素影響、使得業務邏輯更加的清晰
3. 敏感數據管理更加統一和規範,減少數據運維工作量50%
系統層面
1. 減少對接頻率,降低系統複雜度,熔斷限流等操作更加統一,減少運維成本30%(僅和加解密相關)
2. 避免重複造輪子,複用性強,便於升級迭代
目前,二次封裝的
Cloud KMS
還是屬於較小範圍內的推廣,雖然適配了絕大多數場景,但是仍存在許多需要調整的地方,後續此工具的定位是一個
基礎組件
,具備一定的
分流、容災、數據備份
的功能。
● 擴大對業務方的自主權,可以對加密過程進行
定製化
關注我們,更多精彩內容陪伴你!
本文分享自微信公衆號 - 愛奇藝技術產品團隊(iQIYI-TP)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。