← 最新の論文
💻 computer science

Linux disk encryption and self-encrypting drives -- A case study on Opal2 drives security

本論文は、Linuxにおける38台の商用Opal2自己暗号化ドライブを対象としたブラックボックス形式のケーススタディを提示するものであり、ファームウェアのセキュリティ上の問題および互換性の欠如を特定してベンダーへ責任を持って開示した結果、最終的にLinuxのディスク暗号化ツールの改善と、独立した評価のためのオープンソースのテストスイートの公開へと繋げたものである。

原著者: Milan Brož, Tamara Čierniková, Ondřej Kozina, Vladimír Sedláček

公開日 2026-07-14
📖 1 分で読めます☕ さくっと読める

原著者: Milan Brož, Tamara Čierniková, Ondřej Kozina, Vladimír Sedláček

原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む

あなたのコンピュータのハードドライブが、ハイテクな銀行の金庫だと想像してみてください。長年、私たちは中にあるお金(あなたのデータ)を守るために、中に入る前や出る前にすべてのバッグを厳重にチェックする非常に注意深いガードマン(ソフトウェア暗号化)を雇ってきました。しかし最近、金庫のメーカーは、そのガードマンを金庫の扉自体に組み込み始めました。これらはSED(自己暗号化ドライブ)、特にOpal2と呼ばれるものです。考え方はシンプルでした。もし金庫自体が自動でロックされるなら、より速く、より安全になるはずだ、というものです。

しかし、マサリク大学の好奇心旺盛な探偵チームが、この理論をテストすることに決めました。彼らは単にメーカーの言葉を鵜呑みにしたわけではありません。さまざまなブランドの「既製品」の金庫を38個入手し、新品も中古品も混ぜて、厳格なブラックボックス・ストレス・テストにかけました。彼らは金庫の内部がどのように作られているかを知らない状態で、ただコマンドを送り、何が起こるかを観察したのです。

以下に、彼らが発見した内容と、なぜこれがジェットコースターのような展開になったのかを記します。

「魔法の鍵」ではなかった魔法

最大の驚きは何だったでしょうか? いくつかの「スマートな」金庫は、実は暗号化に対してトリックを使っていたのです。

暗号化を、書いたすべての文字がバラバラに撹乱される秘密のコードだと考えてみてください。コードを真に安全にするためには、スクランブラー(撹乱器)が日記のページごとに異なる「ひねり(twist)」を使用する必要があります。もしページ1とページ100に全く同じ文章を書いたとしても、そのスクランブルされた姿は全く異なって見えるべきです。

研究者たちは、いくつかのドライブ(LenovoSamsungの一部など)において、これらの「スマートな」金庫が手抜きをしていることを発見しました。それらは複数のページに対して、同じ「ひねり」を使用していました。それはまるで、スパイが会うすべてのエージェントに対して、毎回同じ秘密の手の合わせ方(ハンドシェイク)を使うようなものです。もし攻撃者が同じパターンを2回目に見たとしたら、たとえ鍵を持っていなくても、秘密のメッセージの内容を推測できてしまいます。いくつかのケースでは、ドライブ内部で4096バイトの「ブロック」サイズを使用していながら、実際にはそれより小さいふりをしており、その結果、ブロックの後半部分で「ひねり」が再利用されていました。これは致命的な破滅ではありませんでしたが、パスワードを変更しても、古いパターンが一部の暗解されたデータの中に残ってしまう可能性があることを意味していました。

「乱数」ジェネレーターが「乱数」ではなかった

金庫をロックするには、真にランダムな鍵が必要です。当たり番号を選ぶ抽選機を想像してください。もし番号を選ぶ機械が壊れていて、常に「7, 14, 21」といった具合に選んでいるとしたら、大変なことになります。

Opal2規格では、ドライブに対して乱数生成器として機能することを求めています。研究者たちは、ドライブに1 MBのランダムなデータを吐き出させ、その数字が本当に混ざり合っているかどうかを確認することで、このテストを行いました。

  • 結果: いくつかのドライブは無残にも失敗しました。特定のLenovoSamsungのモデルのように、あまりに予測可能で、「1, 2, 3... 32, 1, 2, 3...」と数えているだけのようなドライブもありました。
  • 結論: この論文は、もしドライブが生成する乱数に頼るなら、攻撃者が推測できる鍵を使用している可能性があると示唆しています。そのため、研究者たちはLinuxの暗号化において、ドライブの乱数生成器を使用しないことに決めました。代わりに、より信頼性の高いコンピュータ自身の乱数生成器を使用しています。

壊れていた「スーパーユーザー」機能

**SUM(シングルユーザーモード)**と呼ばれる特別な機能があります。これは「マネージャー」と「ユーザー」の鍵のようなものです。マネージャーは金庫をセットアップできますが、ユーザーだけが中を開けることができます。マネージャーはユーザーの持ち物を覗き見ることはできません。

研究者たちは、ドライブ上でこれを設定しようと試みました。その結果、多くのドライブがこの機能をサポートしていると「主張」してはいるものの、実際の動作はしばしば不完全であることが分かりました。一部のドライブでは、「マネージャー」が依然として「ユーザー」のデータにアクセスできてしまったり、あるいはモードの切り替えが非常に不安定であったりしたため、攻撃者がプロセスを中断してデータを盗み出すことができました。これらの不具合により、研究者たちは、この「スーパーユーザー」モードをサポートすると主張していた24台のドライブのうち、実際に信頼できるほど正しく動作したのはわずか14台であることを突き止めました。

「リセットボタン」の問題

すべての金庫には、PSID(物理セキュリティ識別番号)と呼ばれるマスターリセットボタンがあります。これはドライブに貼られたステッカーに印刷されているコードです。パスワードを忘れた場合、このコードを使ってドライブを消去してやり直すことができます。

研究者たちは、ここでいくつかの問題を発見しました。

  1. 予測可能なコード: 一部のドライブ(具体的にはWestern Digitalの一部のバッチ)では、リセットコードが真にランダムではありませんでした。それらは一定のパターンに従っていました。もしあるドライブのコードを知っていれば、同じバッチの別のドライブのコードを、いくつかの数字を試すだけで推測できてしまうのです。
  2. 忘れられた秘密: 多くのユーザーは、このステッカーのコードが秘密であることを理解していません。人々はドライブの写真を、コードがはっきりと見える状態でオンラインに投稿しています。もしハッカーがその写真を見つけ、あなたのロックされたドライブにリモートアクセスできれば、瞬時にデータを消去できてしまいます。
  3. 寛容すぎるチェッカー: 一部のドライブ(特定のMicronモデルなど)は、あまりに「親切」すぎました。リセットコードの末尾に余分な文字を追加しても、それを受け入れてしまったのです。これは、名簿に「ジョン」とあっても「ジョン・スミス」と言えば通してしまう門番のようなものです。直接的なハックではありませんが、セキュリティ設計がいかにずさんであるかを示しています。

偽物「Pyrite」

テストを開始する前に、チームは12台のドライブを廃棄しなければなりませんでした。なぜでしょうか? それらは「Opal2」(高セキュリティ版)とラベル付けされていましたが、実際にはPyrite2だったからです。Pyrite2は、いわば「ライト版」の金庫です。ロックは付いていますが、実際には中にデータを暗号化していません。それは単に「立ち入り禁止」と書いてあるだけのドアであり、実際には壁が存在しない状態なのです。研究者たちは、本物の暗号化をテストするために、これらをフィルタリングして除外する必要がありました。

朗報:Linuxのための新しいツール

これらの不安定な金庫の数々にもかかわらず、研究者たちは単に「壊れている」と言って立ち去ったわけではありません。彼らはLinux(多くのサーバーやプライバシー重視のコンピュータで使用されるオペレーティングシステム)のための新しいツール群を構築しました。

彼らは、ドライブを使用する前に、そのドライブが正しく動作しているかどうかを自動的にチェックする方法を作成しました。もしドライブが不適切な乱数生成器を使用しようとしたり、壊れたスーパーユーザーモードを持っていたりする場合、新しいソフトウェアはそれを検知し、自動的に、より安全な標準モードへと切り替えます。また、彼らは自らの「Opalテストスイート」をオープンソースのツールとして公開しており、誰でも自分のドライブをチェックできるようになっています。

まとめ

この論文は、ハードウェア暗号化(SED)は素晴らしいアイデアではあるものの、現在の実態は混沌としていると結論付けています。メーカーはしばしば手抜きをし、機能を誤って実装したり、セキュリティホールを残したりしています。

  • 否定したもの: 彼らは、ドライブの乱数生成器や「スーパーユーザー」モードを、事前に確認することなしに盲目的に信頼することはできないことを証明しました。
  • 証明したもの: 彼らは38台のドライブにおける具体的な失敗を測定し、ファームウェアのバグが現実的であり、かつ一般的であることを示しました。
  • 教訓: ハードウェア暗号化は、まだ「魔法の盾」ではありません。それは有用なレイヤーではありますが、ハードウェアが行うミスを検知するためのスマートなソフトウェア(彼らが構築した新しいLinuxツールのようなもの)と組み合わせる必要があります。メーカーがこれらのファームウェアの問題を修正するまでは、ハードウェアを唯一の守護者としてではなく、あくまで「助っ人」として扱うのが最も安全な選択です。

自分の分野の論文に埋もれていませんか?

研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。

Digest を試す →