
まず、裏話をいくつかお話ししましょう。あるコンピュータ技術者が、私にノートパソコンを渡して、ハードドライブに「隠したい」情報があれば何でも見せろと要求しました。彼は、私が何を隠そうとも、何でも取り出せると主張しました。
「それについては何もできない」というような絶対的な発言は好ましくないので、私は頭の中でこのことについて考え始めました。ハード ドライブ内のものを見つけるためにこの特定のハード ドライブから起動する必要がないため、非常に安全なオペレーティング システムでは不十分であることがわかりました。
ここでの一般的な質問は次のとおりです。
ハードディスク内のすべてのデータを完全に保護する方法はありますか? (詳細な方法の説明は必要ありません。方向性を示していただくだけで結構です。詳しくは自分で調べることができます)
具体的には、次のものが必要になると思われます。
非常に安全で、保存するすべてのデータを暗号化する可能性のあるオペレーティング システム (そのようなものが存在するかどうかはわかりません)。
上記が存在しない場合は、ハード ドライブ内のデータを手動で暗号化し、そのハード ドライブから起動できるようにする方法はありますか?
一般的に、私以外の人(特定のパスワード/キーを知っている人)がハードドライブにできるだけアクセスできないようにしたいので、どのような解決策でも歓迎します。
答え1
ほとんどの機密ファイルを暗号化するにはこれで十分です。AES 256 ビットで暗号化された ZIP ファイルと長いパスワードは、パスワードなしではアクセスがほぼ不可能です。(PKZIP ストリーム暗号/ZipCrypto と呼ばれる従来の ZIP 暗号化は使用しないでください。この暗号化は弱いことが知られています。)
パーティション全体を暗号化して、その中のすべてを隠すことも可能です。トゥルークリプトは、家庭(および一部のビジネス)のパーティション/イメージ暗号化の事実上の標準プログラムです。オペレーティングシステムに組み込まれているツールと比較して、Truecryptの最も優れた点は、ポータブル: 消費者向けオペレーティング システムの大部分を占める Windows、Mac OS X、Linux 用のバージョンがあります。
隠したい場合すべて、起動元のパーティションも含め、システム内のすべてのパーティションを暗号化できます。パスワード/キーを知らないと、暗号化されたドライブからデータを読み取ることはできません。問題は、Windows オペレーティング システムが暗号化されたハード ドライブからの起動を常にサポートしているわけではないことです。*Truecryptには、システム暗号化彼らはそれを非常にうまく要約しています:
システム暗号化には起動前認証が伴います。つまり、暗号化されたシステムにアクセスして使用したり、システム ドライブに保存されているファイルの読み取りや書き込みなどを行うユーザーは、Windows が起動する前に毎回正しいパスワードを入力する必要があります。起動前認証は、起動ドライブの最初のトラックと TrueCrypt Rescue Disk にある TrueCrypt ブート ローダーによって処理されます。
そのため、Truecrypt ブートローダーは OS の前に読み込まれ、パスワードの入力を求められます。正しいパスワードを入力すると、OS ブートローダーが読み込まれます。ハードドライブは常に暗号化されているため、起動可能な CD でもそこから有用なデータを読み取ることはできません。
既存のシステムを暗号化/復号化することもそれほど難しくありません。
TrueCrypt は、オペレーティング システムの実行中に、暗号化されていない既存のシステム パーティション/ドライブをその場で暗号化できます (システムが暗号化されている間、コンピューターは通常どおり制限なく使用できます)。同様に、TrueCrypt で暗号化されたシステム パーティション/ドライブは、オペレーティング システムの実行中にその場で復号化できます。暗号化または復号化のプロセスはいつでも中断でき、パーティション/ドライブを部分的に暗号化されていない状態にして、コンピューターを再起動またはシャットダウンしてから、プロセスを再開できます。プロセスは停止した時点から続行されます。
*他のさまざまなオペレーティングシステムでもシステムドライブの暗号化がサポートされています。たとえば、Linuxカーネル2.6以降では、dm-crypt、Mac OS X 10.7以降ではファイルボールト2Windowsにはこのようなサポートがありますビットロッカーただし、Enterprise/Business/Server エディションのみで、Vista 以降でのみ使用できます。前述のように、Truecrypt はより移植性に優れていますが、システム ドライブを暗号化するために必要な統合が欠けていることが多く、Windows は例外です。
答え2
一言で言えば、フルディスク暗号化、できれば辞書に載っていない長くて良いキーを使う。また、外部キーファイルを使ってこれを実行するシステムも検討するとよいでしょう。基本的に、ブートローダー以外のシステム全体が暗号化されているので、直接メモリアクセス攻撃- つまり、メモリの内容を取得するために DMA を備えた FireWire またはその他のデバイスを使用したり、コールド ブート攻撃を使用して情報を取得したりすることです。これを阻止するのは簡単です。システムを渡す直前に、システムの電源をオフにし、バッテリーを取り外しておくだけです。ハード ドライブだけの場合は、これらの攻撃はどちらも起こりそうにありません。
私なら、おそらく TrueCrypt を試して、非常に長いランダムなパスワード (長いとブルート フォース攻撃が難しくなり、ランダム性によって辞書攻撃が防止されます) を使って、彼に自由にやらせます。あるいは、Windows の一部のバージョンには、Windows に組み込まれた強力な FDE オプションである BitLocker があります。同様に、Linux 用のソリューションとして、luks や dmcrypt などがあります。
または、ディスクをランダムなデータでいっぱいにして、彼がそれを理解するまでにどれくらいかかるか見てみましょう ;)
答え3
「結果を確認するためにパスワードをください」といった詐欺には騙されないでください。
私が参加したセキュリティ カンファレンスでは、最初にパスワードの入力を求められました。カンファレンスの途中で、ほとんどの人がパスワードを惜しげもなく教えているため、プレゼンターは最大のセキュリティ リスクはあなただと言いました。
(そして、関連するデータだけを暗号化します。)
答え4
私は他の TrueCrypt の回答に同意します。ただし、1 つ重要な点を付け加えておきます。TrueCrypt のもっともらしい否認機能です。これは、TrueCrypt が暗号化したディスクやファイルに、明確に識別できる署名を一切残さないことを意味します。したがって、ディスク上のビット セットがランダム ビットなのか暗号化されたデータなのかを誰も証明できません。これは非常に重要なため、最近の裁判で影響がありました。