天天看點

雲密鑰管理服務用例

作者:qaseven

每日分享最新,最流行的軟體開發知識與最新行業趨勢,希望大家能夠一鍵三連,多多支援,跪求關注,點贊,留言。

本文将比較 Azure 密鑰庫、AWS KMS、Google CKMS 和其他雲密鑰管了解決方案中的主要安全密鑰管理服務解決方案用例。

如今,許多業務解決方案已選擇雲環境作為其應用程式的主要托管環境。他們可以選擇軟體即服務(SaaS)、平台即服務 (PaaS) 或基礎架構即服務 (IaaS) 不同的解決方案類型來建構滿足業務需求的解決方案。但是,将業務資料存儲在雲環境中,在向公衆公開業務資料方面将面臨巨大挑戰。由于關注資料安全問題,每個雲平台廠商都提供了不同的資料安全解決方案。了解這些解決方案的異同将有助于業務客戶為業務應用程式選擇合适的解決方案。

本文将讨論 Microsoft Azure、Amazon AWS 和 Google Cloud Platform 之間用于管理密鑰、證書和資料加密的主要解決方案用例和密鑰管理的主要差別。盡管平台可以為特定用例提供類似的解決方案或間接解決方案,但隻要不是常用用例,它仍然會被作為差異進行比較。

Azure 安全密鑰保管庫服務

Microsoft Azure 雲平台提供集中式解決方案密鑰庫,用于保護應用程式敏感資訊、管理 Azure Web 應用程式、功能應用程式和冷存儲的機密、安全密鑰和證書。它可以用作 PaaS 解決方案,與其他 Azure 雲服務內建,同時支援軟體密鑰和硬體密鑰。

Azure 安全密鑰是在具有密鑰保管庫名稱、區域、定價層(标準和進階)和一組通路政策的資源組中建立的。可以從多種方法通路 Vault 密鑰,例如 Rest API、Ney SDK、Java SDK、Node.js、Python、Azure CLI、PowerShell 等。

雲密鑰管理服務用例

Azure 密鑰保管庫提供标準和進階兩種服務層級,可用于以下主要用例:

  1. 使用Azure 密鑰保管庫通過 VM 密鑰管理 VM 和磁盤存儲
  2. 使用 Azure 密鑰庫管理後端 Azure SQL、邏輯應用程式和 Web 應用程式,通過 Secrets 和證書進行監控和日志記錄
  3. 跨其他雲平台的身份翻譯或代理服務,例如 AWS、Google 雲平台等。

AWS 密鑰管理服務

AWS 密鑰管理系統(KMS) 是一個區域密鑰系統。多區域密鑰可用于多個區域,例如災難恢複或全球應用程式運作。

AWS 密鑰管理服務包括用戶端加密和伺服器端加密。它在 AWS Amazon Elastic Compute Cloud (EC2) 内部進行管理。KMS 使客戶能夠配置和使用加密密鑰來保護資料,還使客戶能夠建立、使用和管理加密密鑰。

例如,在 KMS 中,使用者可以使用資料密鑰來加密檔案或存儲資料。加密的資料密鑰存儲在加密的資料檔案中,并通過 KMS 加密模型進行加密。在解密過程中,首先将資料密鑰解密,然後将其用于解密資料檔案。

AWS KMS 使用主密鑰生成将用于加密和解密資料檔案的資料密鑰。主密鑰使用 AES 256 加密算法和提供的密碼進行加密。AWS 還管理 AWS 雲跟蹤中管理的加密/解密活動和審計事件。

與 Azure Key Vault 相比,AWS Key Management Service (KMS) 中的常見用例是使用對稱密鑰。這意味着相同的密鑰用于資料加密和解密(使用 256 AES 算法)。它是加密和解密資料檔案的主要方式,密鑰也可以用于簽名和簽名。

Azure 保管庫是一種具有公鑰和私鑰的非對稱密鑰機制。私鑰用于解密或簽名,公鑰用于加密或驗證。公鑰被提供給每個人進行加密。它對解密沒有幫助

由于對稱或非對稱密鑰方法之間的差異,AWS 中的主要用例與 Azure 密鑰庫用例不同:

  1. 在 AWS 中,系統會生成一個新資料密鑰,AWS KMS 将使用主密鑰加密該新資料密鑰,并将其保護在 KMS 内部。AWS 将通過 TLS 将明文版本密鑰和加密版本密鑰發送回使用者。用戶端可以使用加密版本密鑰進行後續解密,也可以使用明文版本密鑰進行加密。
  2. 在 Azure Vault 中,用戶端将生成自己的密鑰,使用 Azure Key Vault 提供的公鑰加密資料檔案,并使用私鑰解密資料檔案。

谷歌雲密鑰管理服務

Google Cloud Key Management Service (CKMS) 是一種集中式雲服務,用于管理加密密鑰,用于加密其他 Google 服務(例如 API 令牌、資料檔案、存儲或 Web 應用程式)的雲資料檔案。它使用 AES 256 加密算法來保護資料檔案。

Google Cloud KMS 支援非對稱密鑰和對稱密鑰。它與 Google 提供的其他服務內建,例如 Cloud Identity and Access Management、存儲管理和内容管理。與 Azure Vault 一樣,Google CKMS 也內建了雲監控和日志記錄、硬體安全模型等。

主要用例:

  1. 使用 Google Cloud KMS 管理對内容、磁盤存儲和 Web 應用 API 的通路。
  2. 使用非對稱密鑰(公鑰和私鑰)或對稱密鑰(主密鑰和資料密鑰)來管理資料檔案的加密和解密
  3. 通過 Google 提供的服務中的 API在BigQuery中使用加密資料

其他雲密鑰管理服務

還有一些其他的雲密鑰管理服務,例如 Spring Cloud Vault,它提供了一個具有外部用戶端配置的中心位置來管理外部安全機密。Spring Cloud Vault 是一個用于管理安全機密的開放式結構架構,可用于保護外部服務,如 Can 資料庫(MySQL、PostgreSQL、MongoDB 等)

IBM Security Guardium Key Lifecycle Manager 也是一種集中的、透明的加密密鑰管理服務,用于密鑰生命周期管理,例如密鑰建立、存儲、自加密、互操作和 API 通路。它是 IBM Security Guardium 套件中的一項內建服務。

Oracle Cloud 再次為 Oracle Cloud Infrastructure (OCI) Vault 提供了一個集中位置,用于管理跨 OCI 服務以及 Oracle 身份和通路管理 (IAM) 服務的密鑰和機密的使用。它支援使用 AES 256 加密算法的對稱和非對稱密鑰。

總結

雖然 Azure 密鑰庫、AWS 密鑰管理服務和谷歌雲密鑰管理服務提供幾乎相似的安全、密鑰管理、加密和解密服務來保護雲資料檔案、存儲、内容、證書、硬體、通路等,但它們在主要用例、系統接入和開發、成本模型等方面仍有一些差異。以下是這些平台之間主要差別的摘要讨論:

從發展的角度

Azure Key Vault 支援使用本機 API 的本地開發環境,在開發人員的本地計算機上設定要容易得多。AWS KMS 需要從密鑰管理控制台生成密鑰并使用加密 SDK 設定開發。谷歌 CKS 需要谷歌雲服務 API 進行開發

從部署的角度來看

Azure Key Vault 和 google CKMS 支援遠端本地開發和部署。Azure 密鑰保管庫可用作跨其他雲平台進行身份轉換的代理。

從密鑰加密/解密的角度

Azure 密鑰保管庫主要用作非對稱密鑰系統(公鑰和私鑰)。AWS KMS 使用對稱密鑰(主密鑰和資料密鑰),而 Google CKMS 兩者都使用。

從密鑰管理和資料保留的角度

在 Azure 密鑰保管庫中,密鑰将在保留期過後銷毀。AWS KMS 将在 7-30 天後删除密鑰。Google CKMS 不會删除密鑰。

結論

如您所知,在雲環境中,不同的平台為資料檔案的加密和解密提供了類似的安全密鑰管理服務。它們之間的差別非常微妙。選擇将在您的解決方案中使用的系統應該在您組織的戰略路線圖計劃的大範圍内考慮。

但是,僅針對密鑰管理和資料檔案加密,IT開發人員和架構師會考慮對稱或非對稱密鑰結構、使用原生環境開發的便利性、跨雲平台通路服務的便利性以及成本模型等。

感謝您的閱讀,希望這篇文章對您有所幫助。

繼續閱讀