Alibaba Cloud リモート構成証明サービスは、プラットフォームの信頼性と、プラットフォーム上で実行されるバイナリの整合性を検証する統合構成証明ソリューションです。このサービスは、Trusted Platform Module(TPM)環境と信頼できる実行環境(TEE)の構成証明に使用できます。このトピックでは、リモート構成証明サービスの仕組みと使用方法について説明します。
リモート構成証明サービスの仕組み
Alibaba Cloud リモート構成証明サービスは RFC 9394 - Remote ATtestation procedureS (RATS) Architecture 上に構築されており、セキュリティ強化された Elastic Compute Service (ECS) インスタンスのセキュリティステータスと信頼性を検証するために使用できます。このサービスには、次の関係者が関与します。
構成証明者: ECS インスタンスのユーザーであり、ECS インスタンスの ID セキュリティと信頼性を証明する必要があります。
依拠当事者: 構成証明者の ID と信頼性を検証するエンティティ。応答当事者は、TPM および TEE からのメトリックに基づいて評価ポリシーを生成します。
検証者: Alibaba Cloud リモート構成証明サービス。証拠を評価ポリシーと比較し、構成証明結果を提供します。
リモート構成証明サービスは、通常、パスポートモデルと バックグラウンドチェックモデルに基づいて使用されます。これらのモデルには、次の違いがあります。
パスポートモデルは、構成証明者の数が依拠当事者の数よりも大幅に少ない場合に、優れたスケーラビリティを提供します。
バックグラウンドチェックモデルでは、依拠当事者は検証者(Alibaba Cloud リモート構成証明サービス)にいつでも連絡してリモート構成証明を行うことができるため、セキュリティが向上します。
課金
リモート構成証明サービスは無料です。
ただし、リモート構成証明サービスが使用される ECS インスタンスについては課金されます。
API の例
リモート構成証明サービスは、仮想 TPM (vTPM) に基づくトラステッドコンピューティングインスタンスと、Intel Software Guard Extensions (SGX)、Trust Domain Extensions (TDX)、および Enclave に基づく機密コンピューティングインスタンスをサポートしています。
vTPM にリモート構成証明サービスを使用するには、Alibaba Cloud アカウントのセキュリティセンター (SAS) をアクティブ化する必要があります。
Intel SGX または TDX を使用するインスタンスの場合、匿名 HTTP リクエストを介してリモート構成証明サービスを使用できます。
OIDC 関連 API
Alibaba Cloud リモート構成証明サービスは、OpenID Connect (OIDC) 互換 API を提供します。 Alibaba Cloud リモート構成証明サービスは、標準の ID プロバイダー (IdP) サービスと見なすことができます。
Alibaba Cloud リモート構成証明サービスは、トラステッドコンピューティングインスタンスと機密コンピューティングインスタンスに OIDC トークンを発行し、依拠当事者に対してインスタンスの ID を証明します。
依拠当事者は、標準の OIDC プロセスを使用して、OIDC トークンの暗号化の有効性を検証できます。
OIDC ディスカバリ
OIDC ディスカバリは、依拠当事者とリモート構成証明サービス間のインタラクションプロセスを簡素化および自動化します。 OIDC ディスカバリにより、依拠当事者は、標準化されたエンドポイント .well-known/openid-configuration を使用して、認証関連の構成情報を動的に取得できます。情報を手動で構成したり、ハードコーディングしたりする必要はありません。
たとえば、Alibaba Cloud リモート構成証明サービスを Alibaba Cloud Resource Access Management (RAM) または AWS Identity and Access Management (IAM) の外部 IdP として構成し、トラステッドコンピューティングインスタンスと機密コンピューティングインスタンスに信頼できる ID 資格情報を提供できます。
curl https://attest.cn-beijing.aliyuncs.com/.well-known/openid-configuration成功応答の例:
{
"authorization_endpoint": "https://attest.cn-beijing.aliyuncs.com/authorize",
"id_token_signing_alg_values_supported": [
"RS256"
],
"issuer": "https://attest.cn-beijing.aliyuncs.com",
"jwks_uri": "https://attest.cn-beijing.aliyuncs.com/jwks.json",
"response_types_supported": [
"code",
"code id_token",
"id_token",
"token id_token"
],
"subject_types_supported": [
"public"
],
"token_endpoint": "https://attest.cn-beijing.aliyuncs.com/token",
"userinfo_endpoint": "https://attest.cn-beijing.aliyuncs.com/userinfo"
}vTPM インスタンスのリモート構成証明
トラステッドコンピューティングインスタンスについては、「トラステッドコンピューティング機能の概要」をご参照ください。
証拠の提出
リクエストの例 (PutMessage 操作は認証後に呼び出すことができます。詳細については、「リクエスト構文と署名方式」をご参照ください):
access https://trusted-server.cn-hangzhou.aliyuncs.com?Action=PutMessage&PropertyUuid=0f74b5cc-ff0e-4fa6-b457-************&FileData=******************成功応答の例:
{
"PropertyName": "instance-name",
"SystemTrustDetail": {
"pcr3": "d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198exxxx",
"pcr4": "c35cef3b92c3850dc0bfa6139b25dc1c4c3d642b8587bde0fiemd847ufjxxxx",
"pcr5": "aabd7d8c76c931dabed7ea53d1c8f96036c42a29435680ddff3f3148ff70xxxx",
"pcr6": "d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198exxxx",
"pcr0": "d22aa1bba22e829456f0cfda0d87690e6c252032864643da353133f161xxxx",
"pcr1": "d9f056a703f04e4f408445752e97e92c890266d32e2ff1df3e80545aab4fxxxx",
"pcr2": "d458cfe55cc03ea1f443f1562beec8df51c75e14a9fcf9a7234a13f198exxxx",
"pcr7": "dd794f2d0c4cfa28dc9b5a3266e8516378ba551190d9844c38b890f7ad27xxxx",
"pcr8": "deb301d065009d62980110d8173e350bbd43a4997ad74bf358ce5399c0ecxxxx",
"pcr9": "ffe25e93ac7d245159184ac68c7dd5783e4cea978fafb1ad036bc861a8cdxxxx"
},
"RequestId": "D0E0C1D2-2937-54D4-9C52-XXXXXXXXXXXX",
"SystemExceptionNum": 0,
"ProgramWhiteListId": -1,
"SystemWhiteListId": 1234,
"ProgramTrustStatus": 4,
"SystemTrustStatus": 1,
"GmtModified": 1698975648000,
"ProgramWhiteListName": "",
"GmtRecentReport": 1698975648000,
"OnlineStatus": 1,
"Extensions": {
"pcr5": "d1dac9c104c63c7e24f27962f4ad1df639a3f3224b1a968a45916207cf3xxxx"
},
"PropertyPrivateIp": "1.1.X.X",
"PropertyPublicIp": "1.1.X.X",
"GmtCreate": 1698385542000,
"PropertyUuid": "c13fcabe-6683-4a9f-8cdd-xxxxxxxxxxxx",
"ProgramTrustDetail": "{}",
"ProgramExceptionNum": 0,
"PropertyAffiliation": 1
}構成証明結果のクエリ
リクエストの例:
access https://trusted-server.cn-beijing.aliyuncs.com?Action=DescribeInstance&PropertyUuid=0f74b5cc-ff0e-4fa6-b457-1dc58072****成功応答の例:
{
"RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****"
"data": {
"nextClientIMAIndex": 0,
"systemVerificationResult": {
"status": 1,
"code": "TrustedStatus"
},
"programVerificationResult": {
"status": 1,
"code": "TrustedStatus"
}
}
}SGX または TDX インスタンスのリモート構成証明
SGX インスタンスと TDX インスタンスについては、「SGX 機密コンピューティング環境を構築する」および「TDX 機密コンピューティング環境を構築する」をご参照ください。
Trusted Computing Base (TCB) 情報の取得
リクエストの例:
curl https://sgx-dcap-server.cn-beijing.aliyuncs.com/sgx/certification/v3/tcb?fmspc=00606A000000成功応答の例:
{
"tcbInfo": {
// ... (rest of the code block remains in English)
}Quoting Enclave (QE) ID の取得
リクエストの例:
curl https://sgx-dcap-server.cn-beijing.aliyuncs.com/sgx/certification/v3/qe/identity成功応答の例:
{
// ... (rest of the code block remains in English)
}Quote Verification Enclave (QVE) ID の取得
リクエストの例:
curl https://sgx-dcap-server.cn-beijing.aliyuncs.com/sgx/certification/v3/qve/identity成功応答の例:
{
// ... (rest of the code block remains in English)
}TDX インスタンスのリモート構成証明
OIDC トークンの取得
TEE 証拠を Alibaba Cloud リモート構成証明サービスに送信します。 Alibaba Cloud リモート構成証明サービスは、プラットフォームポリシーに基づいて証拠を評価し、Alibaba Cloud によって発行された JSON Web トークン (JWT、RFC 7519) を返します。
curl -X POST https://attest.cn-beijing.aliyuncs.com/v1/attestation -d '{
"evidence": "evidencebase64",
"tee": "tdx",
// 空の policy_ids は、証拠の暗号化の整合性のみをチェックすることを意味します
"policy_ids": []
}'次の表は、リクエストボディのフィールドについて説明しています。
フィールド | タイプ | 説明 |
tee | 文字列 | TEE タイプ。有効な値:
|
evidence | 文字列 | URL SAFE NO PAD Base64 エンコードされた証拠。 |
policy_ids | String[] | 証拠をチェックするために使用されるポリシー ID のリスト。
|
runtime_data | JSON | オプション。ランタイムデータ。 runtime_data が指定されている場合、raw フィールドには Base64 エンコードされたランタイムデータフラグメントが含まれている必要があります。これは、証拠のデータと照合してチェックされる、想定されるランタイムデータとして使用されます。 例: |
応答は、OIDC 標準に準拠した JWT です。応答の例:
// ... (code block remains in English)
JWT デバッガー を使用して、テスト環境で OIDC トークンの有効性を検証できます。 JWT クレームの具体的な内容と説明については、「リモート構成証明サービス EAT プロファイル」をご参照ください。