つまり、DRM スキームを実装したいとします。あなたが試みる前に、それらの多くは失敗しました。ユーザーに何か (ハードウェア、データ) を渡して、意図しない方法で使用したり、コピーしたりすることを防ぐことはできません。難しくすることはできますが、防ぐことはできません。あなたが試したよりも多くのリソースを持っている他の企業 (例:コンソール ゲームの海賊版を防止するためのソニー、マイクロソフト、任天堂) が、最終的にすべてが壊れました。
私の以前の回答によると、@logneck による提案と少しの google-fu
、質問で要求されたスキームを で実装できるという結論に達しました 利用可能なツールと多くの忍耐/専門知識。このアプローチはOPの要求を満たす必要がありますが、多くの欠点/落とし穴があるため、設計ガイダンスにすぎません。 OPがナイーブから防御するのに役立ちます 攻撃者が暗号化されたディスクからデータをコピーしようとしています。
TPM チップを使用するという私の以前の考えは有効です。このガイド、私は決して パスワードを入力せずにディスクを暗号化し、別のマシンでデータを解読できないようにする方法を表示します。
TPM は通常、マザーボードに組み込まれているため、他のハードウェアに移動することはできません。 TPM はハードウェア構成証明を実行するため、ハードウェア環境が準拠していること、およびサードパーティのカードがマザーボードに接続されていないことを確認できます。
ハードウェア構成証明に合格すると、TPM はそれ自体のロックを解除します。次に、LUKS モジュールは、ロックされていない TPM 内に保存されているディスクの暗号化キーを TPM に要求できます。
ディスクが別のマシンに移された場合、キーは手元にありません。
ガイドに記載されているように、プロセスには以下が含まれます。
- お好みのディストリビューションをインストールする
trousers
を使用して TPM チップの所有権を取得します そしてtpm-tools
trustedgrub2
をインストール ブートローダーとして使用- LUKS 復号化キーを TPM に追加します
- 封印 TPM
TPM をシールするということは、ハードウェアの構成証明を行うことを意味します。私がリンクした guoide は、UEFI ではなく BIOS ブートについて述べています (UEFI ユーザーはセキュア ブートの概念に精通しています)。基本的に trustedgrub2
測定する ソフトウェア。これは、カーネルをチェックサムして変更されていないことを確認することで簡素化できます。 TPM も測定します TPM が封印されて以来、他の PCI カードまたは同様のものが取り付けられていないことを確認するためのハードウェア。
起動プロセス中に、ハードウェアに触れたり改ざんしたりしていない場合、および ブート カーネルは TPM を封印した人物と同じであり、TPM は秘密の LUKS キーをシステムに発行して、システムが自身を復号化できるようにします。
結果:1) ディスクは暗号化されます。2) 起動時にパスワードが必要ないため、ユーザーはいつでもマシンを再起動できます。3) キーはハードウェア ストレージに存在するため、ユーザーが復元することはできません。
このソリューションは、Microsoft BitLocker と同様に完璧ではなく、Microsoft のソリューションと同じセキュリティの落とし穴があることに注意してください。実際、PIN ではなく TPM のみを使用する BitLocker は、セキュリティが弱いと繰り返し批判されていましたが、ここでは説明しません。