tencent cloud

Tencent SGX機密コンピューティング環境の構築
最終更新日:2025-07-18 12:02:27
Tencent SGX機密コンピューティング環境の構築
最終更新日: 2025-07-18 12:02:27

概要

ここでは、M6ceインスタンスでTencent SGXコンフィデンシャル・コンピューティング環境を構築する方法と、Intel SGXSDKを使用してSGX機能を検証する方法をデモンストレーションします。

前提条件

M6ceインスタンス が作成され、ログインしていること。 -インスタンスの作成方法については、購入画面でインスタンスを作成 をご参照ください。 -インスタンスのログイン方法については、標準ログイン方式を使用してLinuxインスタンスにログイン(推奨)をご参照ください。
説明:
ここでの手順は、OSがTencentOS Server 3.1(TK4)のインスタンスを使用した例であり、OSのバージョンが異なると手順も異なる場合がありますので、実際の状況に応じて操作してください。

操作手順

1. 次のコマンドを実行して、kernelバージョンをチェックします。
uname -a
kernelが5.4.119-19.0008より低いバージョンかどうかを確認します。
「はい」の場合は、次のコマンドを実行して、kernelを更新してください。
yum update kernel
「いいえ」の場合は、次の手順に進んでください。
2. 次のコマンドを実行して、SGX runtimeに必要なパッケージをインストールします。
yum install \\
libsgx-ae-le libsgx-ae-pce libsgx-ae-qe3 libsgx-ae-qve \\
libsgx-aesm-ecdsa-plugin libsgx-aesm-launch-plugin libsgx-aesm-pce-plugin libsgx-aesm-quote-ex-plugin \\
libsgx-dcap-default-qpl libsgx-dcap-default-qpl-devel libsgx-dcap-ql libsgx-dcap-ql-devel \\
libsgx-dcap-quote-verify libsgx-dcap-quote-verify-devel libsgx-enclave-common libsgx-enclave-common-devel libsgx-epid-devel \\
libsgx-launch libsgx-launch-devel libsgx-pce-logic libsgx-qe3-logic libsgx-quote-ex libsgx-quote-ex-devel \\
libsgx-ra-network libsgx-ra-uefi libsgx-uae-service libsgx-urts sgx-ra-service \\
sgx-aesm-service
説明:
SGX AESMサービスのデフォルトのインストールディレクトリは、/opt/intel/sgx-aesm-serviceです。
3. 次のコマンドを実行して、Intel SGXSDKをインストールします。
yum install sgx-linux-x64-sdk
説明:
Intel SGXSDKのデフォルトのインストールディレクトリは、/opt/intel/sgxsdkです。Intel SGXSDK ユーザーマニュアルを参照して、SGXプログラムを開発することができます。
4. SGX runtimeとIntel SGXSDKのインストールが完了したら、インスタンスを再起動してください。詳細については、インスタンスの再起動 をご参照ください。
5. Tencent Cloud SGXリモートアテステーションサービスを構成します。 Tencent Cloud SGXリモートアテステーションサービスは、リージョン化デプロイを採用しています。SGX CVMインスタンスが配置されているリージョンでTencent Cloud SGXリモートアテステーションサービスにアクセスすれば、最高のカスタマーエクスペリエンスを体験できます。Intel SGXSDKをインストールすると、リモートアテステーションサービスのデフォルト構成ファイル/etc/sgx_default_qcnl.confが自動的に生成されます。SGX CVMインスタンスが配置されているリージョンのTencent Cloud SGXリモートアテステーションサービスに適応するように、以下の手順に従ってこのファイルを手動で変更してください。
説明:
現在、北京、上海および広州リージョンのみで、Tencent Cloud SGXリモートアテステーションサービスがサポートされています。
Intel Ice Lakeは、Intel SGX DCAPベースのリモートアテステーション方式のみをサポートし、Intel EPIDリモートアテステーション方式はサポートしていません。
VIMエディタを使用して、/etc/sgx_default_qcnl.confを以下のように変更します。
# PCCS server address
PCCS_URL=https://sgx-dcap-server-tc.[Region-ID].tencent.cn/sgx/certification/v3/
# To accept insecure HTTPS cert, set this option to FALSE
USE_SECURE_CERT=TRUE
[Region-ID]をSGX CVMインスタンスが配置されているリージョンのIDに置き換えてください。 例:
北京リージョンの変更例は次のとおりです。
# PCCS server address
PCCS_URL=https://sgx-dcap-server-tc.bj.tencent.cn/sgx/certification/v3/
# To accept insecure HTTPS cert, set this option to FALSE
USE_SECURE_CERT=TRUE
上海リージョンの変更例は次のとおりです。
# PCCS server address
PCCS_URL=https://sgx-dcap-server-tc.sh.tencent.cn/sgx/certification/v3/
# To accept insecure HTTPS cert, set this option to FALSE
USE_SECURE_CERT=TRUE
広州リージョンの変更例は次のとおりです。
# PCCS server address
PCCS_URL=https://sgx-dcap-server-tc.gz.tencent.cn/sgx/certification/v3/
# To accept insecure HTTPS cert, set this option to FALSE
USE_SECURE_CERT=TRUE

SGX機能の検証例

例1:Enclaveの起動

Intel SGXSDKは、SGX機能を検証するためのSGXサンプルコードを提供します。デフォルトのディレクトリは、/opt/intel/sgxsdk/SampleCodeです。この例のコード(SampleEnclave)の効果は、Enclaveを起動して、インストールされたSGXSDKが正常に使用されているか、また、SGX CVMインスタンスの機密メモリリソースが使用可能かどうかを検証することです。
1. 次のコマンドを実行して、Intel SGXSDKに関連する環境変数を設定します。
source /opt/intel/sgxsdk/environment
2. 次のコマンドを実行して、サンプルコードSampleEnclaveをコンパイルします。
cd /opt/intel/sgxsdk/SampleCode/SampleEnclave && make
3. 次のコマンドを実行して、コンパイルされた実行可能ファイルを実行します。
./app
以下のような結果が返されれば、起動に成功しています。



例2:SGXリモートアテステーション

Intel SGXのcode treeは、SGXリモートアテステーション機能(DCAP)を検証するためのサンプルコードを提供します。この例は、Quoteを発行および検証するためのもので、Quote Generator(QuoteGenerationSample)とQuote Verifier(QuoteVerificationSample)が含まれます。
1. 次のコマンドを実行して、Intel SGXSDKに関連する環境変数を設定します。
source /opt/intel/sgxsdk/environment
2. 次のコマンドを順に実行してgitをインストールし、Intel SGX DCAP code treeをダウンロードします。
cd /root && yum install git
git clone https://github.com/intel/SGXDataCenterAttestationPrimitives.git
3. 次のコマンドを順に実行して、Quote GeneratorのサンプルコードQuoteGenerationSampleをコンパイルして実行します。
3.1 QuoteGenerationSampleディレクトリに入ります。
cd /root/SGXDataCenterAttestationPrimitives/SampleCode/QuoteGenerationSample
3.2 QuoteGenerationSampleをコンパイルします。
make
3.3 QuoteGenerationSampleを実行し、Quoteを発行します。
./app
4. 次のコマンドを実行して、QuoteVerifierのサンプルコードQuoteVerificationSampleをコンパイルします。
cd /root/SGXDataCenterAttestationPrimitives/SampleCode/QuoteVerificationSample && make
5. 次のコマンドを実行して、QuoteVerificationSample Enclaveに署名します。
sgx_sign sign -key Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xml
6. 次のコマンドを実行して、QuoteVerificationSampleを実行し、Quoteを検証します。
./app
以下のような結果が返されれば、検証に成功しています。


この記事はお役に立ちましたか?
営業担当者に お問い合わせ いただくか チケットを提出 してサポートを求めることができます。
はい
いいえ

フィードバック