macOS 10.13 High SierraのディスクユーティリティのヒントにAPFSの暗号化用パスワードが平文で表示されてしまう不具合の対処法です。詳細は以下から。
ブラジルのエンジニアMatheus Marianoさんが発見した「暗号化されたAPFSボリュームのパスワードがディスクユーティリティのヒント欄に平文で表示されてしまう不具合」は複数のエンジニアの検証の結果、APFSやキーチェーンの不具合ではなく、High Sierraのディスクユーティリティの不具合であることが検証されたようですが、パスワードのヒントに平文でパスワードが保存されているのは不安なので、以下にヒントを消去する方法をまとめました。
Creating a volume via diskutil, the hint, not the pw is shown. Looks like the root cause is Disk Utility storing the password as hint. #APFS pic.twitter.com/y0vo57Cjvi
— Felix Schwarz (@felix_schwarz) 2017年10月5日
この不具合はキーチェーンに影響はないものの、パスワードがキーチェーンに保存されないという不具合はあります。
diskutil
ディスクユーティリティを確認したところ、ユーザーが一度設定した「パスワードのヒント」を削除する機能は現在のv17.0 (1626)には備わっていない様なので、diskutilコマンドを利用してヒントを削除します。High Sierraのdiskutilコマンドにはcs(CoreStorage)に加え、ap(APFS)ボリュームで利用可能な以下のverbとoptionsが用意されています。
diskutil apfs
Usage: diskutil [quiet] ap[fs] <verb> <options>
where <verb> is as follows:
list (Show status of all current APFS Containers)
convert (Nondestructively convert from HFS to APFS)
create (Create a new APFS Container with one APFS Volume)
createContainer (Create a new empty APFS Container)
deleteContainer (Delete an APFS Container and reformat disks to HFS)
resizeContainer (Resize an APFS Container and its disk space usage)
addVolume (Export a new APFS Volume from an APFS Container)
deleteVolume (Remove an APFS Volume from its APFS Container)
eraseVolume (Erase contents of, but keep, an APFS Volume)
changeVolumeRole (Change the Role metadata bits of an APFS Volume)
unlockVolume (Unlock an encrypted APFS Volume which is locked)
lockVolume (Lock an encrypted APFS Volume (diskutil unmount))
listCryptoUsers (List cryptographic users of encrypted APFS Volume)
changePassphrase (Change the passphrase of a cryptographic user)
setPassphraseHint (Set or clear passphrase hint of a cryptographic user)
encryptVolume (Start async encryption of an unencrypted APFS Volume)
decryptVolume (Start async decryption of an encrypted APFS Volume)
updatePreboot (Update the APFS Volume's related APFS Preboot Volume)
ヒントを削除する方法
- diskutilコマンドを利用してAPFSボリュームの一覧を表示し、ヒントを設定してあるボリュームのID(ここでは”disk4s5″)を探します。
- 次にdiskutilコマンドの”setPassphraseHint”オプションに、先程見つけたボリュームのIDを加えヒントを”-clear”します。
- 以上でパスワードのヒントが削除され、パスワードがディスクユーティリティのヒント欄に表示されることがなくなるので、ディスクユーティリティでヒントを設定してしまった方は試してみて下さい。
diskutil apfs list
diskutil apfs setPassphraseHint disk4s5 -user disk -clear
diskutilコマンドにはヒントを表示させるオプションは明示されていませんが、この不具合は現在Beta版のmacOS 10.13.1でも修正されていません。
- Tools and APIs – Apple Develper
- diskutil – Manual for macOS – DSSW
コメント
申し訳ないがガバガバすぎてワロタ
「世界で最も先進的なOS」とやらは失態の犯し方も斜め上を行ってますな。破られたなら兎も角、不具合だからこれは完全な設計とチェックのミスでしょう。フリーでアップグレード出来るようになってから根幹がグラグラ過ぎ。社長であれ、OS設計者であれ、誰であれ、プレゼンでドヤ顔しながら「史上最強の…」とか、「CPU速度がxx倍早くなりました!!(ドヤァ!!)」はもういいから、次のmacOSはもっと基礎的なところを頑張ってくださいね。