2.6. initdata の作成
initdata.toml
ファイルを作成し、それを gzip 形式の Base64 エンコード文字列に変換します。
グローバル設定の場合は、ピア Pod の config map でこの文字列を INITDATA
値として指定します。特定の Pod 用の場合は、ピア Pod のマニフェストでアノテーションとして指定します。
次に、Red Hat build of Trustee の参照値プロバイダーサービス(RVPS)設定マップの initdata.toml
ファイルから Platform Configuration Register (PCR) 8 ハッシュを生成します。
Red Hat build of Trustee は、RVPS を使用して、機密ワークロードによって送信される証明書証明の証拠を検証します。RVPS には、ファイルハッシュなどの信頼できる参照値が含まれています。これらの値は、アテステーション要求に含まれる PCR 測定値と比較されます。これらのハッシュは、Red Hat build of Trustee では生成されません。
kbs-config
設定マップで insecure_http = true
を設定する場合には kbs_cert
設定を削除する必要があります。
手順
以下のコマンドを実行して、Red Hat build of Trustee URL を取得します。
TRUSTEE_URL=$(oc get route kbs-service \ -n trustee-operator-system -o jsonpath='{.spec.host}') \ && echo $TRUSTEE_URL
$ TRUSTEE_URL=$(oc get route kbs-service \ -n trustee-operator-system -o jsonpath='{.spec.host}') \ && echo $TRUSTEE_URL
Copy to Clipboard Copied! Toggle word wrap Toggle overflow initdata.toml
ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
<trustee-url>
;: 信頼の URL の Red Hat ビルドを指定します。テスト目的でinsecure_http
を使用して Red Hat build of Trustee を設定する場合は、HTTP を使用します。それ以外の場合は HTTPS を使用します。実稼働システムでは、プロキシーなどを使用して TLS を外部で処理するように環境を設定しない限り、insecure_http
を使用しないでください。 -
<kbs_certificate>
: Attestation Agent 用の Base64 エンコード TLS 証明書を指定します。 -
kbs_cert
:kbs-config
設定マップでinsecure_http = true
を設定する場合、kbs_cert
設定を削除します。
-
次のコマンドを実行して、
initdata.toml
ファイルを gzip 形式の Base64 エンコード文字列に変換し、テキストファイルに保存します。cat initdata.toml | gzip | base64 -w0 > initdata.txt
$ cat initdata.toml | gzip | base64 -w0 > initdata.txt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ピア Pod の config map またはピア Pod のマニフェスト用に、この文字列を記録しておきます。
次のコマンドを実行して、
initdata.toml
ファイルの SHA-256 ハッシュを計算し、その値をhash
変数に割り当てます。hash=$(sha256sum initdata.toml | cut -d' ' -f1)
$ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
initial_pcr
変数に 32 バイトの 0 を割り当てます。initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
$ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
hash
とinitial_pcr
の SHA-256 ハッシュを計算し、その値をPCR8_HASH
変数に割り当てます。PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
$ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PCR8_HASH
値を記録しておきます。次のコマンドを実行して、initdata.toml
ファイルの SHA-256 ハッシュを計算し、その値をhash
変数に割り当てます。hash=$(sha256sum initdata.toml | cut -d' ' -f1)
$ hash=$(sha256sum initdata.toml | cut -d' ' -f1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
initial_pcr
変数に 32 バイトの 0 を割り当てます。initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
$ initial_pcr=0000000000000000000000000000000000000000000000000000000000000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
hash
とinitial_pcr
の SHA-256 ハッシュを計算し、その値をPCR8_HASH
変数に割り当てます。PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
$ PCR8_HASH=$(echo -n "$initial_pcr$hash" | xxd -r -p | sha256sum | cut -d' ' -f1) && echo $PCR8_HASH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RVPS の config map 用に
PCR8_HASH
値を記録しておきます。