Tips

FileVaultの必要性って?オフで良いか?パフォーマンスへの影響は?

2017年頃からSecure Enclaveというセキュリティのためだけの物理的な領域がMacに搭載され、FileVaultのON、OFFに関わらずハードウェア側で暗号化する仕様になりました。そこでFileVaultをONにする必要はないのでは?という疑問が湧きます。ONにすることでパフォーマンスが落ちるならむしろONにしないほうが良いのではないかと思えます。そんな疑問に答えるために調査しました。

初期セットアップでいきなり難問をつきつけられる

新しいM2 Macbook Airを購入し、よーし、これで仕事をバリバリやるぞー!と思ってセットアップを開始すると次のようなプロンプトが表示され頭を抱えました。

当方最初は言語を英語に設定していたので英語のプロンプトですが、要は

  • FileVaultを有効にしますか?
  • iCloudアカウントでロック解除できるようにしますか?

というものです。

もしかしたら、ここではチェックしないで後から有効にすることもできるかもしれませんが、まっさらなMacなので最初から最適解で運用したい!と思い、調べてみることにしました。

結論から言っちゃいます

FileVaultはONにすべきです。

Secure EnclaveのおかげでONでもOFFでもパフォーマンスに違いがないためです。

そして、iCloudとMacを紐付けている方は、iCloudアカウントでロック解除できるようにしておくべきです。

これ以降で仕組みを説明していきますが、この記事での「FileVault」という言葉は、

「内蔵ディスクに対する『FileVault』」

に限定させて頂きます。

次の記事で詳しく説明しているように、「FileVault」という言葉は、本来Appleは対象のディスクの種類や暗号化の方式によらず、広い意味で「Macのディスクの暗号化機構全般」の意味で使っています。

FileVaultとAPFS(暗号化) の違いは?Secure EnclaveがキーにMacの暗号化は多くの概念があってわかりづらいです。混同されがちな「FileVault」とファイルシステムフォーマットの「APFS(暗号...

Macの初期セットアップ時に選ばさせられるFileVaultのON、OFFや「システム設定」から「プライバシーとセキュリティ」にあるFileVaultの項目は、この「内蔵ディスクに対する『FileVault』」を示します。

では、仕組みを説明していきます!

FileVaultがOFFならハードウェアUIDのみ使われる

ハードウェアUIDというのはお使いのMac一つ一つに割り振られた番号のようなものです。個体ごとに必ず違います。UIDは「ユニークID」の略です。ユニークというのは一意ということで一つしかないという意味です。次のドキュメントに以下のようにあります。

FileVaultがオフになっている内蔵ストレージ

AppleシリコンまたはT2チップを搭載したMacでは、初回のセットアップアシスタントのプロセス中にFileVaultをオンに しなかった場合でもボリュームが暗号化されます。ただし、ボリューム暗号鍵はSecure Enclave内のハードウェアUID のみによって保護されます。

あなたのデータは「ボリューム暗号化鍵」というもので暗号化されます。ハードウェアUID は直接あなたのデータを暗号化するのではなく、その「ボリューム暗号化鍵」を暗号化するために使われます。

「ハードウェアUIDのみ使われる」という言い方は語弊があるかもしれないので正確には先程のページを全て読んで頂きたいです。図もわかりやすいです。

FileVaultがONならハードウェアUIDとユーザパスワードが使われる

FileVaultがONだと、前述した「ボリューム暗号化鍵」をハードウェアUIDだけではなくユーザパスワードも使って暗号化します。ポイントは「ボリューム暗号化鍵」自体はFileVaultがONでもOFFでも変わらないということです。つまり、ONやOFFを切り替えたり、ユーザパスワードを変更しても、あなたが守りたいデータを暗号化しなおす必要がないということです。「『ボリューム暗号化鍵』の暗号化」のみをやり直せばいいだけです。これは大きな時間の節約になります。

Secure Enclaveで暗号化と復号化は行われる

Macの暗号化と複合化はT2チップあるいはApple Sillicon内のSecure Enclaveで行われます。つまり、ハードウェア的に行われるということです。なのであなたのデータが入るSSDにはこれらの情報は残らないということです。

FileVaultがOFFでもSSD単独だとデータを取り出せない

Secure Enclaveが登場する前のMacでは、FileVaultをOFFにしている場合で、仮にSSDのみ取り出すことができれば、別のマシンからデータを取り出すことができました。

しかし、Secure Enclave以降は、FileVaultをOFFにしている場合でも、前述したようにデータはボリューム暗号化鍵によって暗号化されているため、SSDだけ入手してもデータを使うことはできません。復号化のための情報はチップ内のSecure Enclaveにしか入っていないためです。

現行のMacbookはSSDもSecure Enclaveもボードに半田付けされてる

とはいえ、現行のMacbook AirやProはSSDもSecure Enclaveも同じボードに半田付けされてるはずなので、SSDだけ取り出すといいうケースは稀だと思います。(当方はiMacなどのノート型以外のMacの事情はわかりません)

なので、FileVaultがOFFの時の暗号化の意義がよくわかりません。これはAppleのサポートに聞いてもわからないようでした。

FileVaultがOFFだとMac共有モード(ターゲットディスクモード)で取り出し可能

なので、大抵の状況なら、Secure Enclaveで暗号化されているとしても、FileVaultがOFFだとMac共有モード(以前は「ターゲットディスクモード」と呼ばれていた)でデータを取り出すことができてしまいます。Mac共有モードというのはあるMacのディスクを外部ディスクのように他のMacから使えるようにするための機能です。

私は試していないのですが、以下の掲示板でできた人がいます。

Filevault needed on a MBP 2019 with T2 chip?

私もこの記事を書きながら学んだのですが、これは恐ろしいことですよね。もし、Macが物理的に奪われてしまったり、寝ている間に触れられてしまったら、パスワードも無しにデータを取られてしまうということですから。

FileVaultがONだとMac共有モードでもパスワードが必要

当然ですが、FileVaultがONだとMac共有モードでアクセスするにはユーザ名とパスワードが必要になります。

ONをデフォルトにするべきだと思いました。それでないと、ログインパスワードって何の意味があるのでしょうか?

FileVaultがOFFの場合でも、Macを紛失したり盗難されたとしたら、「Macを探す」機能で探したり、見つからない場合リモートからデータ消去できてデータを守れるから、デフォルトでONにする必要は無い、という思想なのでしょうか。紛失や盗難ではなく、単にMacから目を離した隙にこっそりデータを奪われることは防ぎようがないですが。

FileVaultがONのデメリット

FileVaultがOFFの場合、もしログインパスワードを忘れてしまっても、Mac共有モードでデータを取り出すことができます。当然ですがONの状態でログインパスワードを忘れてしまったら、データを取り出すことはできなくなってしまいます。

とはいえ、FileVaultがOFFの場合、前述したように、少し知識のある悪人にとってはログインパスワードを設定してないのと同じようなもです。なので、ログインパスワードを設定するならFileVaultをONにするのが筋が通っていると思います。

この辺りはSecure Enclave以前も同じなのですが。

万が一ログインパスワードを忘れてしまったケースに備えて、以下の二つのどちらかの選択をすることができます。

  • iCloudのアカウントのIDとパスワードでも解除できるようにしておく
  • 復旧キーを生成しておいてそれをメモしておく

MacをiCloudに紐づけちゃっている人は前者を選べばいいと思います。ログインパスワードとiCloudのアカウントとパスワードを両方忘れちゃうのはなかなか難しいとは思います。

でも最近はTouch IDなどが便利で入力する機会が減って忘れてしまう可能性もあるので、こういった重要なアカウントのIDやパスワードは紙などに書いておいてもいいかもしれません。

MacをiCloudと紐づけたくない人は、復旧キーを選ぶしかないのですが、これは自動生成される文字列になるので、当然覚えづらくて扱いにくいかもしれません。

FileVaultのON、OFFはTime Machineの暗号化に影響を与えない

FileVaultというかSecure Enclaveはボリュームごと暗号化するので、Time Machineに入っているデータはどうなるんだろう?と疑問に思っていました。なので、気軽にON、OFFを変えてしまったらTime Machineのデータがおかしくなってしまうのでは?と恐れていました。

しかし、サポートに確認したところ、その心配は無いことがわかりました。Time Machineを暗号化するかどうかは、FileVaultの設定に関わらず、Time Machine側の設定で決まります。Time Machine側の設定で暗号化を有効にしていない限り、暗号化されていな素のデータが入ることになります。

逆に言うと、FileVaultを有効化にしているからといって、Time Machine側も暗号化されているんだ!と勝手に安心しないようにしましょう。

なぜこのようになるのか少し不思議ですが、おそらく、Secure Enclaveは暗号化されたデータをSSDから取り出した瞬間復号化しているので、Time Machine側にコピーや転送するデータは復号化されているということだと思います。

結局Secure Enclaveって何がいいの?

Secure Enclaveで自動的に暗号化されるようになったけど、FileVaultがOFFなら全然安全じゃないって話をしてきました。では、Secure Enclave以前と以降で何が良くなったの?という点の私なりの説明をします。

Secure Enclave以前のFileVaultはソフトウェア的に暗号化、復号化を行っていました。なので、マシンパワーに負担を与えます。他のアプリと同じように、CPUやメモリー食います。なので、FileVaultがONの場合、OFFの時より重くなるということが考えられます。

しかし、Secure Enclaveはチップ内の専用の物理的な領域なので暗号化や復号化をハードウェア的にしています。なので、理論的にはCPUやメモリーに負荷を与えません。

これまで、セキュリティ的な不安はあるけど処理が重くなるからFileVaultをOFFにしていた人も気兼ねなくONにすることができます。

Secure Enclaveのデメリット

パフォーマンスに影響なくFileVaultをONにさせてくれるSecure Enclave最高!って思うけど、デメリットもあります。

Secure Enclave以前、Macが何らかの理由で起動しなくなってしまったとしても、SSDさえ正常に動けば他のパーツが壊れていてもデータを取り出すことができました。

しかし、Secure Enclave以降、Macが起動しなくなったとしたら、SSDが動いたとしてもチップ部分が壊れていたら、データを取り出すことはできません。データは暗号化されていて、復号にのための情報はチップの中にあるSecure Enclaveに入っているためです。

なので、Secure Enclave以降は、TimeMachineなどでバックアップをこまめにとっておく必要があります。

さいごに

書いていて、メリットの裏返しがそのままデメリットになっていることに気づきました。ただ、Secure Enclave以降、FileVault ONのデメリットは小さくなってきているので、もはやON以外の選択の余地は無くなってきたかなと感じます。