大きなサイズのインテル® Software Guard Extensions (インテル® SGX) エンクレーブの初期化が遅い
コンテンツタイプ: メンテナンス & パフォーマンス | 記事 ID: 000089477 | 最終改訂日: 2022/02/14
原因:
エンクレーブ・山のために大量のメモリーを初期化するには時間がかかることが予想されます。エンクレーブのエンクレーブ・ページ・キャッシュ (EPC) の初期化とメモリーの追加は、通常のアプリケーションの単純なメモリー割り当てよりもはるかに複雑です。メモリーのチャンクを EPC に追加する前に、256 ビット SHA-2 セキュア・ハッシュ関数を使用して測定するなど、複数のセキュリティー・チェックを実行する必要があります。
説明した SGX のセクション 5.1、5.3、5.6、およびエンクレーブのライフサイクルにおける EADD および EEXTEND の手順インテル SGX参照してください。
緩和:
プロセッサーが インテル® Software Guard Extensions (インテル® SGX) SGX2 をサポートしている場合、Enclave Configuration File で:
HeapInitSize は、エンクレーブの起動時に完全に初期化する量です (つまり、 EADD ページを EEXTEND します)。最小の初期化サイズでは、より高速になり、ランタイム中にエンクレーブによって、プロトロックを介して割り当てられると、SGX2 命令を使用してメモリーの残りの部分のみが追加されます。