需要驗證 SPEKE - 安全封裝器和編碼器金鑰交換API規格

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

需要驗證 SPEKE

SPEKE需要內部部署產品以及在AWS雲端中執行的服務和功能的驗證。

AWS雲端實作的驗證

SPEKE需要通過IAM角色進行AWS身份驗證才能與加密器一起使用。IAM角色由DRM提供者或AWS帳戶中擁有DRM端點的操作員建立。每個角色都會指派一個 Amazon 資源名稱 (ARN),AWSElemental 服務操作員在要求加密時會在服務主控台上提供此名稱。必須設定角色的原則權限,才能授與存取金鑰提供者的權限,API而不能存取其他AWS資源。當加密程式聯絡DRM金鑰提供者時,它會使用該角色ARN承擔金鑰提供者帳戶持有者的角色,該角色會傳回用於存取金鑰提供者的加密程式的臨時認證。

一種常見的實作方式是讓操作員或DRM平台廠商在金鑰提供者前面使用 Amazon API Gateway,然後在API閘道資源上啟用 AWS Identity and Access Management (AWSIAM) 授權。您可以使用下列政策定義範例,並將它連接到新的角色,以授予適當資源的許可。在此情況下,權限適用於所有API閘道資源:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": [ "arn:aws:execute-api:us-west-2:*:*/*/GET/*" ] } ] }

最後,角色需要新增信任關係,且操作者必須能夠選擇服務。

下列範例顯示為存取DRM金鑰提供者ARN而建立的角色:

arn:aws:iam::2949266363526:role/DRMKeyServer

如需有關建立角色的詳細資訊,請參閱AWS AssumeRole。如需簽署要求的詳細資訊,請參閱 AWSSigv4

內部部署產品的驗證

對於內部部署產品,我們建議您使用SSL/TLS和摘要驗證以獲得最佳安全性,但至少應該使用基本驗證HTTPS。

這兩種類型的身份驗證都使用HTTP請求中的Authorization標頭:

  • 摘要驗證 — 授權標頭由識別碼Digest後跟一系列用於驗證要求的值組成。具體來說,響應值是通過一系列MD5哈希函數生成的,該函數包括來自服務器的唯 one-time-use 一隨機數,用於確保密碼安全地傳輸。

  • 基本驗證 — 授權標頭由識別碼組成,Basic後面接著代表使用者名稱和密碼的 base-64 編碼字串,並以冒號分隔。

如需有關基本和摘要驗證的資訊,包括標頭的詳細資訊,請參閱網際網路工程工作小組 (IETF) 規格 RFC2617-HTTP 驗證:基本和摘要存取驗證