TPMを使用して一部の秘密キーを保存することはできますか?これはフルディスク暗号化ではなく、既存のLUKSと互換性があり、別のキーを追加してTPMに保存するだけです。
Tpm-luks [1]を試してください。これは、TPMのNVRAMとLUKSキースロットの両方に新しいシークレットを格納するのに役立つスクリプトです。
これでうまくいくはずです:
$ tpm-luks -c -d <device>
LUKSデバイスは次の方法で見つけることができます。
# blkid -t TYPE=crypto_LUKS
私はごく最近tpm-luksをリリースしたので、git ATMでのみ使用できます。
私が知っていることから、実際にはこれを妨げるものは何もありませんが、コードはまだ書かれていません。ただし、次を参照することができます http://publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/index.jsp?topic=%2Fliaai%2Fecrypts%2Fliaaiecryptfs.htm
アイデアは、tpm_sealdataを使用してファイルを暗号化することです。これは、ブートがいじられていない場合にのみロックを解除できます。
Trusted grubと呼ばれるパッチを当てたバージョンのgrubを使用する必要がある場合があります。これはgrub2に統合されたとは思いません。
ファイルのロックが解除されたら、それをcryptsetupのキーとしてフィードし、失敗した場合は通常の「パスワードの確認」ダイアログを実行して、ハードウェアがいじられた場合に起動できるようにします。しかしもちろん、それはシステムがデフォルトでパスワードなしで起動することを意味します。
ちなみに、tpm-luksに小さな変更を加えて、TPM NVRAMのルートパーティションのLUKキーを保護するために、アプリケーションと連携させました。スクリプトは魅力のように機能します。ルートパーティションではなく、他のパーティションやファイルでも簡単です。 PCR 0〜9および12と13に基づいてキーをNVRAMに関連付けました。BIOSはNIST SP800-147に準拠する必要があることに注意してください。一部のMITER研究者が穴を発見しました。