web-dev-qa-db-ja.com

F2FSファイルシステム暗号化の方法は?

F2fsフォーマットはSSDストレージに適していると読んだので、ドライブの1つをそれでフォーマットしました。また、暗号化が追加されたというカーネルノートもいくつか読みましたが、説明するドキュメントはありません。私は通常、ディスク全体の暗号化を好みます。それがf2fsで可能かどうかはわかりません。

私がf2fsドライブを暗号化できるかもしれないステップを誰かが知っているかどうか疑問に思います。フルドライブ暗号化のためにAndroidで行われていることを知っています(私はUbuntuを実行しています)。LUKSファイルシステムは不可知論者ですか?私はそうは思いません。どんな暗号化でもよいでしょう。

ドキュメントなし==ダメ。

カーネルアップデートのリファレンスは次のとおりです。 http://lkml.iu.edu/hypermail/linux/kernel/1506.3/00598.html

3
xendi

f2fscrypt のマニュアルページから:

_# mkfs.f2fs -O encrypt /dev/sdxx_
_# mount /dev/sdxx /encrypted/_
_# mkdir /encrypted/dir_

まず、キーリングに単純なソルトを使用してキーを作成します(またはランダムなソルトを生成します)。次に、それを使用して、暗号化するディレクトリのポリシーを設定します。

_# f2fscrypt add_key -S 0x1234_
Enter passphrase (echo disabled):
_Added key with descriptor [28e21cc0c4393da1]_

_# f2fscrypt set_policy 28e21cc0c4393da1 /encrypted/dir_
_Key with descriptor [28e21cc0c4393da1] applied to /encrypted/dir._

_# touch /encrypted/dir/test.txt_
_# ls -l /encrypted/dir/_
_-rw-r--r--. 1 root root 0 Mar 5 21:41 test.txt_

再起動するたびに、同じコマンドを使用して、ディレクトリとその子孫を復号化するためのキーを設定できます。

_# ls -l /encrypted/dir/_
_-rw-r--r--. 1 root root 0 Mar 5 21:41 zbx7tsUEMLzh+AUVMkQcnB_

_# f2fscrypt get_policy /encrypted/dir/_
_/encrypted/dir/: 28e21cc0c4393da1_

_# f2fscrypt add_key -S 0x1234_
Enter passphrase (echo disabled):
_Added key with descriptor [28e21cc0c4393da1]_

_# ls -l /encrypted/dir/_
_-rw-r--r--. 1 root root 0 Mar 5 21:41 test.txt_

プロセスキーリングを表示します。

_# keyctl show_
_Session Keyring_
_084022412 --alswrv 0 0 keyring: _ses_
_204615789 --alswrv 0 65534 \_ keyring: _uid.0_
_529474961 --alsw-v 0 0 \_ logon: f2fs:28e21cc0c4393da1_

起動時にこれを実装する方法を理解する

2
xtf

LUKS isファイルシステムに依存しません。これは、ファイルシステムよりも低いレベルで機能します。 LUKSは、Androidがフルディスク暗号化を行う方法です。