最新のAMD CPUには、次のソフトウェアがあります。SMB用の安全なメモリ暗号化利用可能な場合は、このパラメータをLinuxコマンドラインに追加して明示的に有効にできます。
mem_encrypt=on
(によるとhttps://libvirt.org/kbase/launch_security_sev.html)
私のシステム(AMD EPYC CPUを含む)でこの機能が有効になっているか(つまり、デフォルトで有効になっているか)わかりません。
私の質問は、AMD SME機能が有効になっていることを確認する方法です。
~からhttps://www.kernel.org/doc/html/latest/x86/amd-memory-encryption.html提案:
SMEのサポートがある場合は、MSR 0xc00100010(MSR_K8_SYSCFG)を使用して、SMEが有効になっていること、および/またはメモリ暗号化が有効になっていることを確認できます。
私はこのコマンドを実行しました(debian 10で):
apt-get install msr-tools
rdmsr --raw 0xc0010010 | xxd -b
これは私に次のような結果を与えます
00000000: 00000000 00000000 11110100 00000000 00000000 00000000 ......
00000006: 00000000 00000000
引用されたソースに応じて、ビット23はSMEが実際にアクティブ/アクティブ(= 1)か無効/アクティブ(= 0)かを示します。
上記が実際にこれをテストする正しい方法である場合、確認はもちろん、いくつかの文脈で有効な答えと見なすことができます。それ以外の場合は、実行中のLinuxシステムでSMEの状態を確認できれば幸いです。
答え1
SMEがサポートされている場合(対応するCPUID
ビット設定を表示)そして有効にすると(適切なMSRビットがセットされている)、/proc/cpuinfo
このsme
フラグが含まれます。これを確認できます。SME検出用のカーネルコードの表示/proc/cpuinfo
:SMEが完全に有効になっていない場合、直接反映されたSME機能は削除されます。
あなたも見なければなりませんカーネルブートログの対応するメッセージ:
AMDメモリ暗号化を有効にする:SME
中小企業が活発であれば、
AMDメモリ暗号化機能を有効にする:SEV SEV-ES
SEVおよび/またはSEV-ESが有効になっている場合。
また、見ることができます/proc/cpuinfoのフラグはどういう意味ですか?