偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

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

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

二、KMS設計

1. 密鑰分級

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

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

2. 基本架構

本文中的KMS由三大部分組成SDK、后臺服務、HSM。

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

KMS服務:主要負責從硬件安全模塊獲取和保存根密鑰,并且安全地保存在后臺內存中,然后通過密鑰的派生算法生成KEK進而生成DEK。分為,根密鑰加載模塊、密鑰派生模塊、Server模塊。

HSM:提供根密鑰生成和保管服務。

架構圖

架構圖描述:

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

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

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

3. 運行功能

密鑰派生:

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

創(chuàng)建密鑰:

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

密鑰加密(解密同理):

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

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

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

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

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

 

責任編輯:趙寧寧 來源: FreeBuf
相關推薦

2015-03-24 17:29:40

AWS密鑰管理云安全

2014-10-22 10:44:16

2011-11-14 16:07:22

2012-11-27 12:23:28

2015-08-10 14:54:57

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

2015-03-20 17:29:04

密鑰管理AWS云安全

2016-05-18 09:52:20

2020-10-13 06:59:12

CA簽名密鑰SSH

2017-02-06 12:16:43

2016-11-28 19:48:07

2014-06-13 14:27:46

2015-06-30 11:25:40

2011-11-02 12:12:01

量子安全通信安全

2009-12-27 21:29:02

2011-03-10 15:03:40

SQL Server主密鑰

2024-08-13 09:39:13

2019-12-20 07:28:45

Docker容器安全云計算

2012-10-23 09:54:17

2011-04-26 18:28:13

2017-02-20 15:58:07

點贊
收藏

51CTO技術棧公眾號