統(tǒng)一安全管控之密鑰管理KMS

一、為什么要統(tǒng)一管控密鑰

談到信息安全免不了要解決一個問題就是數(shù)據(jù)加密较幌。加密就會涉及到密鑰相關(guān)的問題白翻,比如密鑰的生成、傳輸岛琼、保存巢株、泄露等問題。如何保護(hù)好密鑰的安全就成了信息安全的非常重要的一個部分。某司員工將密鑰泄漏到開源網(wǎng)站導(dǎo)致重要數(shù)據(jù)丟失事件灭袁,君們還記得否?如果有完善的KMS系統(tǒng)這種情況很大程度上就可以避免了倦炒。

對于大部分沒有KMS管理系統(tǒng)的公司而言软瞎,密鑰本地化會導(dǎo)致密鑰分散在代碼、配置文件中鳖藕。缺乏統(tǒng)一管理,造成開發(fā)只锭、維護(hù)成本巨大,而且導(dǎo)致密鑰容易泄露喉誊。還有一部分公司采用硬件加密機來管理密鑰即HSM,全稱Hardware Security Module,這種方式管理密鑰安全性確實很高栋盹,但是因為各級密鑰都在HSM中管理所以成本過高敷矫。

采用軟硬件結(jié)合是比較好的方式,通過項目密鑰管理服務(wù)KMS輕松創(chuàng)建和管理密鑰,同時提供對密鑰的保護(hù),避免密鑰泄漏沪饺。使開發(fā)者沒有必要投入大量時間和精力來保證密鑰的保密性整葡、完備性和可用性。通過密鑰管理服務(wù),開發(fā)者在處理密鑰時會更安全啼器、更方便簡單,這樣可以更集中時間精力去研發(fā)如何借助加解密功能來實現(xiàn)業(yè)務(wù)場景俱萍。

二、KMS設(shè)計

a)密鑰分級

這里按密鑰作用劃分為三級:

數(shù)據(jù)加密密鑰(DEK):將用于數(shù)據(jù)加密的密鑰,也稱三級密鑰(DEK);一般公司里面一個應(yīng)用對應(yīng)一個DEK损谦。

密鑰加密密鑰(KEK):保護(hù)三級的密鑰,也稱二級密鑰(KEK 即對DEK進(jìn)行加密);一般公司里面一個部門對應(yīng)一個KEK岳颇,DEK在KEK管轄之內(nèi)。

根密鑰(RootKey):保護(hù)二級密鑰的密鑰栗精,也稱一級密鑰(RootKey瞻鹏,即是對KEK進(jìn)行加密),根密鑰構(gòu)成了整個密鑰管理系統(tǒng)的關(guān)鍵薪夕。

b)基本架構(gòu)

本文中的KMS由三大部分組成SDK叭披、后臺服務(wù)玩讳、HSM嚼贡。

SDK:主要提供給服務(wù)的使用者集成到自己開發(fā)的項目中,實現(xiàn)密鑰的創(chuàng)建、導(dǎo)入樟澜、啟用叮盘、禁用等相關(guān)密鑰管理和加密以及解密等常見操作。SDK分為:Client模塊毒费、加解密模塊愈魏,主要負(fù)責(zé)提供簡單接口完成加密解密功能。

KMS服務(wù):主要負(fù)責(zé)從硬件安全模塊獲取和保存根密鑰,并且安全地保存在后臺內(nèi)存中,然后通過密鑰的派生算法生成KEK進(jìn)而生成DEK溪厘。分為牌柄,根密鑰加載模塊、密鑰派生模塊蹋宦、Server模塊咒锻。

HSM:提供根密鑰生成和保管服務(wù)。

架構(gòu)圖

架構(gòu)圖描述:

根密鑰生成,為了生成根密鑰的保密性敦捧,由三個人分別輸入三段約定好算法的隨機因子到HSM中去生成根密鑰碰镜,非法讀取HSM中的根密鑰會導(dǎo)致HSM被破壞而不可用從而保護(hù)了根密鑰不被泄露。另外為了保存好根密鑰以備及時恢復(fù)秽荤,要將三段隨機因子分別保存到三個保險柜中。

為了防止根密鑰被泄露课兄,根密鑰RootKey由密鑰管理服務(wù)KMS從硬件安全模塊即HSM中讀取,按照一定的分散算法打散存儲在內(nèi)存中晨继。

開發(fā)者將SDK集成到自己開發(fā)的服務(wù)或者系統(tǒng)的代碼中,以實現(xiàn)只需要調(diào)用較為簡單抽象的接口就能夠使用密鑰管理服務(wù)的相關(guān)功能。SDK中進(jìn)行加解密是為了防止業(yè)務(wù)方私自保存密鑰蜒茄。Client模塊主要是負(fù)責(zé)SDK的Http請求相關(guān)的功能,加解密模塊則是負(fù)責(zé)SDK加解密相關(guān)的功能餐屎。

c)運行功能

密鑰派生:

KMS中最為關(guān)鍵的模塊是密鑰派生模塊。根據(jù)用戶ID和隨機因子通過偽隨機函數(shù)派生出KEK或者DEK等密鑰屿聋。KMS杜絕明文持久化保存密鑰庆聘,派生出來的KEK通過Rootkey加密保存在數(shù)據(jù)庫,派生出來的DEK通過KEK加密保存在數(shù)據(jù)庫象对。

創(chuàng)建密鑰:

1.用戶調(diào)用KMS提供的SDK中的創(chuàng)建用戶數(shù)據(jù)密鑰接

2.用戶傳入用戶ID等必要信息(如果要創(chuàng)建KEK則傳入部門信息勒魔,如果創(chuàng)建DEK則傳入應(yīng)用信息)

3.KMS服務(wù)器驗證請求

4.驗證通過,KMS服務(wù)器在該用戶名下創(chuàng)建新的密鑰并返回密鑰ID

密鑰加密(解密同理):

1.服務(wù)調(diào)用方調(diào)用KMS提供的SDK中直接加密的接

2.服務(wù)調(diào)用方傳入用戶ID菇曲、密鑰ID、待加密明文

3.KMS服務(wù)器驗證密鑰ID弟胀、用戶ID以及是否為用戶ID名下

4.驗證通過,KMS服務(wù)器返回DEK到SDK中

5.SDK加密算法中對明文進(jìn)行加密喊式,并返回密文

三、推動業(yè)務(wù)方使用KMS

就算KMS再安全夏哭,業(yè)務(wù)方不愿意使用對于安全來說無疑也是掩耳盜鈴献联。

如何讓業(yè)務(wù)方愿意使用何址,需要技術(shù)和管理相結(jié)合去推動用爪。管理上:自上往下推動龄减,通過高管的支持通知業(yè)務(wù)方使用KMS以及講述使用KMS帶來的收益,并通過KMS管理規(guī)范約定不通過KMS來使用密鑰所承擔(dān)的責(zé)任烁巫。通過定期安全宣傳和培訓(xùn)從反面和正面去講述其中利害宠能。技術(shù)上:定期進(jìn)行專項檢查,通過代碼掃描查看代碼中存在的密鑰硬編碼阿弃,如果存在密鑰硬編碼則說明很有可能業(yè)務(wù)方自行創(chuàng)建保管密鑰羞延;定期去大數(shù)據(jù)平臺進(jìn)行掃描將個別字段傳入KMS加密接口查看返回密文跟數(shù)據(jù)庫中的密文對比,如果一樣說明采用了KMS加密入愧,如果不一樣很有可能就是自行保管密鑰嗤谚。

現(xiàn)有一切加密技術(shù)都是建立在密鑰破解時間很長的情況下,暢想下如果量子計算機出現(xiàn)了旁赊,幾秒鐘就能破解2048位的密鑰椅野,那么現(xiàn)有的加密技術(shù)都將形同虛設(shè)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末声离,一起剝皮案震驚了整個濱河市瘫怜,隨后出現(xiàn)的幾起案子鲸湃,更是在濱河造成了極大的恐慌,老刑警劉巖暗挑,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件炸裆,死亡現(xiàn)場離奇詭異,居然都是意外死亡国拇,警方通過查閱死者的電腦和手機惯殊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門土思,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人崎岂,你說我怎么就攤上這事闪湾。” “怎么了损合?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵嫁审,是天一觀的道長赖晶。 經(jīng)常有香客問我,道長遏插,這世上最難降的妖魔是什么胳嘲? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮颜屠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘密浑。我一直安慰自己粗井,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布懒构。 她就那樣靜靜地躺著痴脾,像睡著了一般梳星。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上前域,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天韵吨,我揣著相機與錄音,去河邊找鬼椿疗。 笑死糠悼,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的铝条。 我是一名探鬼主播席噩,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悼枢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起假丧,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎渔期,沒想到半個月后疯趟,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡倦青,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年产镐,在試婚紗的時候發(fā)現(xiàn)自己被綠了踢步。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片癣亚。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖获印,靈堂內(nèi)的尸體忽然破棺而出述雾,到底是詐尸還是另有隱情,我是刑警寧澤兼丰,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布玻孟,位于F島的核電站,受9級特大地震影響鳍征,放射性物質(zhì)發(fā)生泄漏黍翎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一蟆技、第九天 我趴在偏房一處隱蔽的房頂上張望玩敏。 院中可真熱鬧,春花似錦质礼、人聲如沸旺聚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽砰粹。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間碱璃,已是汗流浹背弄痹。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留嵌器,地道東北人肛真。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像爽航,于是被迫代替她去往敵國和親蚓让。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容