身分驗證 - Secure Packager 和 Encoder Key Exchange API 規格

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

身分驗證

SPEKE 需要針對現場部署產品以及在 AWS 雲端執行的服務和功能進行身份驗證。

AWS 雲端實作的身分驗證

SPEKE 需要透過 IAM 角色進行 AWS 身份驗證,才能與加密程式搭配使用。IAM 角色由 DRM 提供者或在 AWS 帳戶中擁有 DRM 端點的操作者建立。系統會將 Amazon Resource Name (ARN) 指派給每個角色,AWS Elemental 服務操作者會在請求加密時,在服務主控台上提供該名稱。必須設定角色的政策許可,以授予存取金鑰提供者 API 的許可,並且不允許其他 AWS 資源存取。當加密程式聯絡 DRM 金鑰提供者時,它會使用角色 ARN 來擔任金鑰提供者帳戶持有人的角色,系統會傳回臨時憑證以供加密程式用於存取金鑰提供者。

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

{ "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。如需簽署請求的詳細資訊,請參閱 AWS Sigv4

內部部署產品的驗證

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

兩種類型的身分驗證都會在 HTTP 請求中使用 Authorization 標頭:

  • 摘要驗證 — 授權標頭由識別碼組成,Digest後面接著一系列用於驗證要求的值。具體來說,回應值是透過一系列 MD5 雜湊函數產生的,其中包含來自伺服器的唯 one-time-use 一隨機數,用於確保密碼安全地傳輸。

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

如需基本和摘要驗證的資訊,其中包括標頭的詳細資訊,請參閱 Internet Engineering Task Force (IETF) 規定 RFC 2617 - HTTP 身分驗證:基本和摘要存取驗證