他の業界と同様、情報セキュリティ業界、より一般的には「サイバーセキュリティ」と呼ばれ、その激しい議論のために、小さなベスト プラクティスの集合体に集まっています。 これは、あなたのデバイスを盗んだ人が、そのデバイスに保存されているすべてのものを知ることができないようにするための暗号化です。 私はセキュリティの専門家なので、おかしなことを言うようですが、最後まで聞いてください。 しかし、特にフルディスク暗号化には反対で、特定のユーザーに対してのみです。

私が主張するのは、圧倒的に一般的な使用例に直面しているほとんどの人にとって、フルディスク暗号化は過剰な行為であるということです。 これらのユーザーは、代替のデータ アットレスト暗号化と比較して、セキュリティにおいて測定可能な利得を得ることはできませんが、測定可能なパフォーマンス ヒットによってその代償を払っているのです。 これは、単に効率やロード時間の問題ではなく、ユーザーにとっては文字通りコスト増になります。

通常の日常的なユーザーが、通常の日常的なセキュリティ上の懸念を持ち、フル ディスク暗号化が提供するものに見合ったレベルの保護を提供できる代替手段が存在します。 ほとんどの消費者向けテクノロジ企業がフル ディスク暗号化を採用しているため、これらは少し一般的ではありませんが、存在します。

There Has to Be Another Way

今日、フル ディスク暗号化は静止データに対する暗号化スキームの中で最も一般的なものです。 静止データとは、後で使用するために何らかの記憶媒体 (ハード ドライブなど) に保存するデータであり、インターネットのような通信チャネル上を移動するデータ (これは転送中のデータ) ではないとお考えください。

このレベルは電気信号レベルより高いですが、ファイルシステムより低く、後者はコンピューターがバイトを単なるバイトではなく、ファイルとして認識するポイントになります。 ファイルシステムは、どのバイトが一緒になってファイルを構成するか、また、ファイルとファイル タイプをどのように区別するかをコンピュータに指示する組織図のような役割を果たします。

では、フル ディスク暗号化ではないディスク暗号化とは一体何なのでしょうか。 ファイルシステム レベル暗号化では、「ファイルベース暗号化」とも呼ばれ、システムは特定のディレクトリ (つまり、フォルダー) とその中のすべてのファイルとディレクトリを、最上位のディレクトリが最終的に含むすべてのものまで再帰的に暗号化します。 ファイルシステムレベルの暗号化では、ファイルシステム全体を暗号化し、そこに保存されるものすべてを自動的に保護することもできます。

正確には、私が考えているモデルは、ユーザーのドキュメント、メディア、および Unix システムで /home ディレクトリの下のユーザーのサブディレクトリにあるその他のファイルのみを暗号化するものです。 この方法では、プログラムを実行するためのコア システム ファイルとソフトウェア バイナリはそのままにして、実際の個人データのみを保護します。

これは、名前が示すように、ファイルシステムのレベルで発生し、フルディスク暗号化が動作する場所から 1 レベル上がります。 このことは、いくつかの重要な意味を生み出します。 まず最初に、すべての暗号化されたファイルはすでにファイルであると理解され、個別に復号化できることを意味します。

また、ユーザーはファイル権限制御でファイル暗号化を補強することも可能です。 フルディスク暗号化ではディスク全体が暗号化されるため、ディスク復号化パスワードを知っているユーザーは、それを入力しなければ何も進めません。 しかし、ユーザーファイルだけでなく、OSが動作するために必要なファイルもすべてロックされる。 ブートに成功するには、ブロック デバイス全体のロックを解除する必要があり、いったんディスクのロックが解除されると、すべてが開かれます。

ファイルレベルの暗号化では、OS 全体で、何がいつ復号されるかの区別が強制されます。 各ユーザーは、自分のファイルのどれをどのパスワードで暗号化するかを定義できます。 そのため、ファイルベースの暗号化では、あるユーザーが自分のファイルを復号化しても、他のユーザーのデータはロックされたままになってしまいます。 ドキュメントやメディア ファイルを開くつもりがなければ、個人用ファイルをロックしたままコンピューターのプログラムを使用することができ、たとえば、マルウェアに感染させることはできません。 そのために、ファイルベース暗号化の最大の強みは、その速度がフルディスク暗号化を埃まみれにすることです。 その理由を理解するために、暗号化されたブロック デバイス (フラッシュ ストレージなど) がどのように機能するのかについて説明します。 用語の復習として、「暗号文」は正しい鍵がないと読めない情報の暗号化されたフォームで、「平文」は元の理解可能なフォームの情報です。

残りの時間で暗号化データを復号するとき、コンピューターはストレージ ハードウェア上のすべてのビットを暗号文から平文に文字通り変更するわけではありません。 それには時間がかかりすぎるし、デバイスを起動およびシャットダウンするたびにドライブ全体に書き込むので、すぐにドライブが壊れてしまうでしょう。 その代わり、ドライブの物理ビットはそのままで、正しい鍵が適用された後にメモリ上に存在するバッファを通じて読み書きが行われます。 バッファは、情報が読み込まれると復号化処理を、書き込まれると暗号化処理を、ドライブに適用します。 データが復号化されて読み込まれる間、平文はメモリに保持されるので、使い終わるまで簡単に参照できます。

このように多くの追加手順を追加すると、暗号化されていない読み取りや書き込みに比べて、10 倍も速度が低下します。 フルディスク暗号化では、ブロック デバイス全体とそのコンテンツが暗号化されているため、コンピューター上で行うあらゆることがこの復号化バッファを通して読み取られる必要があります。 重要なのは、これには OS 自体とその上のすべてのソフトウェアを実行するすべてのバイナリが含まれるということです。

しかし、私たちが選んだファイルベースの暗号化の構成では、ユーザー ドキュメントとメディア ファイルだけが復号化を必要とします。 日常的に使用するソフトウェアのほとんどは、これらのファイルには含まれません。 何も復号化する必要がないようなコンピューティング タスクもたくさんあります。 たとえば、私たちは Web ブラウザーの中で生活しているので、過去 24 時間に開いたユーザー ファイルの数は片手で数えられるほどです。

明らかに、コンピューターはある時間帯にいくつかのデータを復号化する必要がありますが、それでも、暗号化はファイルシステム レベルで実装されているので、ファイルベースの暗号化 OS はフルディスク暗号化のアナログよりも効率的にそれを実行できます。

結局のところ、完全に暗号化されたディスクであれファイルシステムで暗号化されたディスクであれ、すべてのディスク アクセスはオペレーティング システムの中核であるカーネルからの承認が必要です。 しかし、フルディスク暗号化における暗号化はシステム管理者権限レベルで管理されるため、復号化バッファを介したブロック デバイスの読み取りにもカーネルが関与しなければなりません。

ファイルベースの暗号化は、ユーザー自身のファイルの復号化に非特権ユーザー権限のみを必要とするので、この障害に直面することはありません。 その結果、フル ディスク暗号化では、ファイルベース モデルでの同じプロセスと比較して、ディスクへの読み取りまたは書き込みのためにカーネルから追加の許可を取得する必要があります。 繰り返しになりますが、フル ディスク暗号化で行われる暗号化はブロック デバイス レベルで行われ、ブロック (バイトの均一サイズ ユニット) のみを認識します。 しかし、すべてのデータがブロック全体を占めるわけではありません。 実際、そうでないデータもたくさんあります。 そのため、ブロックレベルでの暗号化は、実際に変更された部分のみを変更するという、コンピュータに内蔵された効率的なメカニズムを妨害することになる。 フルディスク暗号化がなければ、コンピュータは、メモリ上のファイルの更新版とドライブ上の旧版を比較し、どの部分が異なっているかを判断し、その新しい異なる部分をファイルに書き込むことができます。

フルディスク暗号化は別の話です。

このモデルでは、OS はファイルのどの部分が変更されたかを知っていますが、暗号化がファイル単位ではなくブロック単位なので、OS はファイルをブロックに変換し、ブロックを暗号化し、それらのブロックをブロック デバイスに書き込まなければならなくなりました。 1ブロック分のデータ量に満たないファイルの改訂は、複数のブロックにまたがる可能性があり、そのすべてを暗号化バッファでフィルタリングし、ブロックデバイスに全体を書き戻す必要があります。 変更されたすべてのデータが 1 つのブロックに格納されている場合でも、ブロック全体が書き直されるため、大きな書き込みオーバーヘッドになります。

その性質上、ファイルシステムレベルの暗号化では、フルディスク代替では不可能な柔軟性が生まれます。 前述のように、フル ディスク暗号化はすべてかゼロかです。 これは、システム全体、コア ファイル、およびすべてのユーザー データを暗号化します。 つまり、より速くロードしたい機密性のないデータ (編集用のビデオまたはオーディオ メディアなど) は、読み取り/書き込みの速度が低下します。

フル ディスク暗号化も、共有家庭デバイスなどのマルチユーザー システムには最適ではありません。 デバイスを使用したい人は誰でも、フルディスク復号化パスフレーズを知らなければならず、さもなければデバイスは OS を起動することすらできません。 また、あるユーザーのためにデバイスのロックを解除すると、すべてのユーザーのデータもロックされます。 これは、ユーザー ファイルへのアクセスをブロックしたまま OS を使用できる非特権「ゲスト」アカウントなどの機能を有効にできないことも意味します。

最終的に、ファイルベースの暗号化は、ほとんどの人が必要とするものに対してより合理的です。 私は、セキュリティには不便さが伴うと自分で言ってきましたが、これは真実です。 しかし、一連のセキュリティ対策を設計する際、攻撃のリスクを軽減するために必要以上の不便さを背負うことは、何の役にも立ちません。 ユーザーのセキュリティ手順があまりにも過酷な場合、そのユーザーは最終的に手を抜いてしまいます。

簡単に言うと、フルディスク暗号化は、ほとんどの場合、ユースケースに対して過剰な行為です。 これまで並べてきた 2 つの暗号化構成は、それぞれ異なる方法でユーザーを保護します。 両者のセキュリティの度合いの主な違いは、ファイル ベースの暗号化ではユーザー ドキュメントとメディア ファイルのみを保護することです。 これに対して、フル ディスク暗号化では、これらとコア OS ファイルを暗号化します。

Some Potential Downsides

容易に想像できるように、フル ディスク暗号化で行うようにすべてを暗号化しないことには欠点もあります。 理論的には、ファイル ベースの暗号化を採用したデバイスに物理的にアクセスできる攻撃者は、暗号化されていない OS データを変更することができます。 そこから、攻撃者はマシンを起動してそこに置いたコードを実行するか、マシンを起動するまで待ち、悪意のあるコードがデータを盗むために何かを行います。 実際、敵対者のほとんど、あるいは誰もそれを試みないでしょう。 彼らは、ファイル システム レベルの暗号化で十分に阻止できるほど原始的か、あるいは、あなたのデータを取得するためのより効率的な方法を持っているほど洗練されている (つまり、強力である) かのいずれかです。

圧倒的多数のユーザーにとって、静止データの暗号化が解決する問題は、あなたのデバイスを物理的に盗む泥棒があなたのデータを入手できないようにすることです。 そのため、賢い泥棒はデータを手に入れることを当てにせず、お金のためにデバイスを囲い込むという手段に出ます。

逆に、敵が政府当局 (例: 警察) の場合、ファイル ベースの暗号化もフル ディスク暗号化も役に立ちません。 司法権によっては、デバイスのロックを解除するように合法的に命令することができます。 他のほとんどの国では、政府は、データをクラウドに保存するサービスに対して、欲しいものを渡すように命令を出すことができます。

議論のために、あなたが政府関係者と対峙しており、前述のすべての手法が機能しなかったとしましょう。 フルディスク暗号化は、政府があなたのシステムを攻撃する、より洗練された方法を持っていない場合にのみ機能するでしょう。 世界の強力な政府のほとんどは、ブルート フォースまたは何らかの方法で暗号化を回避できるほど高度なので、これは問題ではありません。

したがって、フルディスク暗号化が本当にあなたを救うケースはそれほど多くありません。

つまり、敵によっては、攻撃者を困難にすることで得られるものが何もないとは言いません – 攻撃者の生活をできるだけ困難にすることは、昔からあるセキュリティ戦略です – しかし、フルディスク暗号化が保証できることはそれだけだと認識しておいてください。 しかし、繰り返しになりますが、皆さんが見ているのはほとんどそのようなものではありません。

Practical Encryption, Impractical Implementation

ファイル レベルの暗号化について納得し、読み書きパフォーマンスと SSD の寿命を取り戻したい人は、おそらくどこでこの素晴らしいファイル レベルの暗号化を手に入れられるのかと考えていることでしょう。 しかし、ここで事態は複雑になります。

その主な理由は、主要な消費者向け OS がすでにフルディスク暗号化されているからです。 Apple と Google は、モバイル デバイスにフルディスク暗号化を設定し、ユーザーがそれを無効にすることを拒否しています。 Apple と Microsoft もデフォルトでフル ディスク暗号化を有効にしますが、どちらも勇敢な人のためにそれを無効にする方法を提供しています。

LinuxベースのデスクトップOS(私の好み)では、ファイルシステム レベルの暗号化でシステムをインストールすることは、ボックスをチェックするだけで簡単にできましたが、これはすぐにドジョウの道になりつつあります。 Ubuntu は最近グラフィカルインストーラのこのインストールオプションを廃止し、Linux Mint は私が知る限りまだこのオプションを提供している唯一のディストリビューションとなりました。 Arch LinuxのようなDIYディストロでさえ、ファイルレベル暗号を設定しようとすることを思いとどまらせてくれます。 その代わりに、彼らはブロック暗号化に誘導し、そのドキュメントがより徹底しています。

もし、フルディスク暗号化をオフにするために必要な長さに喜んで行くなら、いくつかのオプションが利用できます。 より堅牢なオプションの 1 つに VeraCrypt があります。 廃れた TrueCrypt のマントルを引き継ぐために生まれた VeraCrypt は、既存のファイルシステムの上に暗号化されたディレクトリ構造を作成するためのグラフィカルなツールです。 暗号化されていないファイルシステムと同等の読み書き速度を実現するオプションや、暗号化されたデータがドライブ上の通常の未使用領域のように見える、否認可能な暗号化といった超スパイ的な機能さえも自慢です。 基本的な VeraCrypt の機能でさえも、すでに長くなってしまったこの記事の範囲を超えてしまいますが、おそらく将来の記事の材料にはなるでしょう。

ではなぜ、最もアクセスしやすいとは言えない (確かに最もそうではありませんが) ものについて、この時間をかけてお話ししたのでしょうか。 基本的に、何が可能かを知ることは、最も情報に基づいた選択ができ、自分のニーズに最も応えられるコンピューティング エクスペリエンスを構築するために重要です。 コンピュータは無限にカスタマイズできるので、ユーザーが自分にとって最適なセットアップを拒否される理由はありません。

何が可能かを認識することは、最高のデジタル ライフを送ること以上に、それを可能にする開発者にユーザーシップであってもサポートを提供することです。 もしこれがあなたの人生をより良くするものに思えるなら、私はあなたに、行っていじりなさいと言います!

コメントを残す

メールアドレスが公開されることはありません。