Я реализовал ниже кода для шифрования моего диска.
Нужно разъяснение относительно ecryptfs использования.
Я реализовал ниже кода в моем сценарии
FILES_TO_BACKUP="/opt /opt/test /opt/test2 /opt/test3"
KEY=1234
time printf "%s" "${KEY}" | ecryptfs-add-passphrase --fnek - > tmp.txt
cat tmp.txt
#Now get the signature from the output of the above command
SIG=`tail -1 tmp.txt | awk '{print $6}' | sed 's/\[//g' | sed 's/\]//g'`
echo $SIG
for i in $FILES_TO_BACKUP
do
PATH_TO_CRYPT=$i
time mount -i -t ecryptfs $PATH_TO_CRYPT $PATH_TO_CRYPT \
-o noauto,ecryptfs_passthrough,ecryptfs_key_bytes=16,ecryptfs_cipher=aes,ecryptfs_sig=$SIG,ecryptfs_fnek_sig=$SIG,ecryptfs_unlink_sigs
done
Из вышеупомянутого кода я добавляю ключ к брелоку для ключей ядра. Оттуда на, я использую SIG (аутентификационный маркер) для монтирования папки как зашифрованных папок. Обратите внимание, что я не использую $KEY больше.
После запущения моего скрипта, если я выполняю команду $mount, я вижу
---
/opt/test on /opt/test type ecryptfs (rw,relatime,ecryptfs_fnek_sig=3208187a52bf0f9c,ecryptfs_sig=3208187a52bf0f9c,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough,ecryptfs_unlink_sigs)
---
Где аутентификационный маркер 3208187a52bf0f9c отображен. Это безопасно? Если кто-то вводит, монтируют команду, когда мой devivce будет идти и более поздняя попытка использовать этот тот же идентификатор для монтирования моего раздела жесткого диска путем соединения с другим ПК, они смогут взломать мой жесткий диск?
Они должны были бы иметь возможность отменить хэш SHA512, чтобы использовать подпись ключа. В настоящее время это невозможно, поэтому с вами все будет в порядке.
Я надеюсь, что скрипт, содержащий ключ, не будет храниться на том же устройстве, на котором вы используете eCryptfs. Если злоумышленник овладеет этим сценарием, у него будет все необходимое для расшифровки ваших файлов.