
By Hong Chang Bum
SamsungやCrucial製のSSD(ソリッド・ステート・ドライブ)で、暗号化して保存されているデータが第三者によって解読されてしまうという脆弱性が明らかにされました。この問題はSSDのデバッグ機能を利用したもので、ひとたびクラッキングが行われるとユーザーが設定していたパスワードがなくとも中身のデータを開くことが可能になるとのことです。
Solid state of fear: Euro boffins bust open SSD, Bitlocker encryption (it's really, really dumb) • The Register
https://www.theregister.co.uk/2018/11/05/busted_ssd_encryption/
この問題を発表したのは、オランダのラドバウド大学の研究者であるCarlo Meijer氏とBernard van Gastel氏の二人。SSDに実装されたハードウェア暗号化機能を使い、パスワードを設定してデータを保護していたとしても、なんとこのパスワードをバイパスして中身のデータを完全な状態で見られることを明らかにしています。
基本的に、SSDのデータ暗号化と復号化に使用される暗号化キーは、ユーザーのパスワードから派生したものではありません。これはつまり、第三者がSSD本体を入手して「デバッグポート」経由でどんなパスワードでも受け付けるように再プログラムできることを意味しています。

二人の研究者は、Samsung製のSSD4機種とCrucial製のSSD3機種でこの問題をテストしたところ、全てのモデルで暗号解読が可能になってしまったとのこと。ここで重要なのは、暗号解読が複数のメーカーのモデルで可能だったというところにあります。特定のメーカーのファームウェアなどに起因するのではなく、SSDのハードウェア暗号化機能のフローそのものに問題が存在していると研究者たちは指摘しています。
具体的には、問題のSSDにはいずれもチップ内に保存されている所有者のパスワードと実際のデータ暗号化キー(DEK)をリンクすることに失敗するという問題が存在するとのこと。SSD内蔵のプロセッサとファームウェアは必要な時にいつでもDEKを使用できますが、これは正しいパスワードが入力されている場合に限られます。しかし、SSDのデバッグポートに物理的にアクセスしている第三者がファームウェアを再プログラムしたり操作したりすると、パスワードの認証をスキップしてDEKを使用できるようになってしまうことが明らかにされています。

本来であれば、DEKは何らかの形で所有者のパスフレーズから得られるべき性質のもの。しかし実際のSSDでは、その原則が適用されていないケースがある模様です。さらに、多くのSSDでは「セクションごとに異なるパスワード設定可能」とうたっておきながら、実際にはデバイスで単一のDEKが使用されているケースも確認されているとのこと。
この問題を回避するための方法として、二人の研究者は「SSDのハードウェア暗号化機能を利用せず、ホスト側のコンピューターでドライブ全体を暗号化すること」を推奨しています。