自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

保護(hù)密鑰的安全,統(tǒng)一安全管控之密鑰管理KMS

安全 數(shù)據(jù)安全
談到信息安全免不了要解決一個(gè)問題就是數(shù)據(jù)加密。加密就會(huì)涉及到密鑰相關(guān)的問題,比如密鑰的生成、傳輸、保存、泄露等問題。如何保護(hù)好密鑰的安全就成了信息安全的非常重要的一個(gè)部分。

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

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

對(duì)于大部分沒有KMS管理系統(tǒng)的公司而言,密鑰本地化會(huì)導(dǎo)致密鑰分散在代碼、配置文件中。缺乏統(tǒng)一管理,造成開發(fā)、維護(hù)成本巨大,而且導(dǎo)致密鑰容易泄露。還有一部分公司采用硬件加密機(jī)來管理密鑰即HSM,全稱Hardware Security Module,這種方式管理密鑰安全性確實(shí)很高,但是因?yàn)楦骷?jí)密鑰都在HSM中管理所以成本過高。

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

二、KMS設(shè)計(jì)

1. 密鑰分級(jí)

這里按密鑰作用劃分為三級(jí):

  • 數(shù)據(jù)加密密鑰(DEK):將用于數(shù)據(jù)加密的密鑰,也稱三級(jí)密鑰(DEK);一般公司里面一個(gè)應(yīng)用對(duì)應(yīng)一個(gè)DEK。
  • 密鑰加密密鑰(KEK):保護(hù)三級(jí)的密鑰,也稱二級(jí)密鑰(KEK 即對(duì)DEK進(jìn)行加密);一般公司里面一個(gè)部門對(duì)應(yīng)一個(gè)KEK,DEK在KEK管轄之內(nèi)。
  • 根密鑰(RootKey):保護(hù)二級(jí)密鑰的密鑰,也稱一級(jí)密鑰(RootKey,即是對(duì)KEK進(jìn)行加密),根密鑰構(gòu)成了整個(gè)密鑰管理系統(tǒng)的關(guān)鍵。

2. 基本架構(gòu)

本文中的KMS由三大部分組成SDK、后臺(tái)服務(wù)、HSM。

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

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

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

架構(gòu)圖

架構(gòu)圖描述:

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

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

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

3. 運(yùn)行功能

密鑰派生:

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

創(chuàng)建密鑰:

  • 用戶調(diào)用KMS提供的SDK中的創(chuàng)建用戶數(shù)據(jù)密鑰接
  • 用戶傳入用戶ID等必要信息(如果要?jiǎng)?chuàng)建KEK則傳入部門信息,如果創(chuàng)建DEK則傳入應(yīng)用信息)
  • KMS服務(wù)器驗(yàn)證請(qǐng)求
  • 驗(yàn)證通過,KMS服務(wù)器在該用戶名下創(chuàng)建新的密鑰并返回密鑰ID

密鑰加密(解密同理):

  • 服務(wù)調(diào)用方調(diào)用KMS提供的SDK中直接加密的接
  • 服務(wù)調(diào)用方傳入用戶ID、密鑰ID、待加密明文
  • KMS服務(wù)器驗(yàn)證密鑰ID、用戶ID以及是否為用戶ID名下
  • 驗(yàn)證通過,KMS服務(wù)器返回DEK到SDK中
  • SDK加密算法中對(duì)明文進(jìn)行加密,并返回密文

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

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

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

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

 

責(zé)任編輯:趙寧寧 來源: FreeBuf
相關(guān)推薦

2015-03-24 17:29:40

AWS密鑰管理云安全

2014-10-22 10:44:16

2011-11-14 16:07:22

2015-08-10 14:54:57

公有云云安全數(shù)據(jù)加密

2012-11-27 12:23:28

2015-03-20 17:29:04

密鑰管理AWS云安全

2016-05-18 09:52:20

2017-02-06 12:16:43

2020-10-13 06:59:12

CA簽名密鑰SSH

2016-11-28 19:48:07

2009-12-27 21:29:02

2015-06-30 11:25:40

2011-11-02 12:12:01

量子安全通信安全

2014-06-13 14:27:46

2011-03-10 15:03:40

SQL Server主密鑰

2012-10-23 09:54:17

2019-12-20 07:28:45

Docker容器安全云計(jì)算

2024-08-13 09:39:13

2011-10-28 18:09:09

2017-02-20 15:58:07

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)