Автор Тема: Шифрование SD-карты  (Прочитано 632 раз)

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 170
  • Лайков: 6
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Шифрование SD-карты
« : Май 28, 2016, 11:47:12 am »
Здравствуйте форумчане! Есть ли у кого мысли по поводу шифрования данных на SD картах.
Дело в том, что если достать SD карту и вставить ее в комп с Linux, то она монтируется и все файлы на ней в открытом доступе.
Вопрос можно ли сделать так, чтобы данные (или часть) с SD карты (с установленной системой для OrangePI) не открывались в обычном Linux.

Есть cryptsetup, но в модулях нет dm-crypt.
Есть следы для Raspberry https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=80265, но как-то я не догнал как это использовать для каталога на SD карте.
Прошу помощи у знатоков.
« Последнее редактирование: Май 28, 2016, 11:52:28 am от vash_sa »

Оффлайн rygoravich

Re: Шифрование SD-карты
« Ответ #1 : Май 29, 2016, 12:49:53 am »
Если нужно шифровать пользовательские данные, то можно посмотреть в сторону ecryptfs. Хотя странно, что dm-crypt нет, может быть, в других ядрах найдется? Или перекомпилировать самостоятельно.

Вообще говоря, есть у меня подозрение, что надежное шифрование (например, aes256) будет источником огромных тормозов - dm-crypt (в частности, на счет других систем не знаю) не использует многопоточность, а на одном ядре шифрование/дешифровка будут очень задумчивы - насколько я понимаю, аппаратный aes h3 не умеет... Но могу ошибаться.

Отпишитесь, что в итоге получится - самому интересно, хотя на шифровать на оранжевой пипиське пока не нужно, но мало ли что в будущем вздумается.

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 170
  • Лайков: 6
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Шифрование SD-карты
« Ответ #2 : Май 30, 2016, 10:07:31 pm »
Кое-что удалось. Хотя dm-crypt в модулях нет эта инструкция работает и без него https://wiki.debian.org/ru/Crypt. Удалось создать зашифрованный разделе на SD карте. Сделал LUKS шифрование. В принципе не сложно. По приведенной инструкции. Так же можно подключать к Апельсину и зашифрованные винты.
« Последнее редактирование: Май 30, 2016, 10:10:27 pm от vash_sa »

Оффлайн rygoravich

Re: Шифрование SD-карты
« Ответ #3 : Май 31, 2016, 12:57:58 am »
Видимо, в вашем ядре dm-crypt вкомпилен статически, не модулем. Лень сейчас апельсинку включать, чтобы в моем проверить.

А как со скоростью, можете измерить чтение/запись для шифрованного диска? И попробуйте - выводит ли что-нибудь команда "sudo cryptsetup benchmark" - я как-то пробовал на дебиане, но похоже, что в дебиановской сборке cryptsetup для arm бенчмарк почему-то отключен, если у вас ubuntu или еще что-то - может и скажет что-нибудь толковое.

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 170
  • Лайков: 6
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Шифрование SD-карты
« Ответ #4 : Июнь 01, 2016, 09:31:50 am »
Видимо, в вашем ядре dm-crypt вкомпилен статически, не модулем.

А как можно это проверить?

Оффлайн rygoravich

Re: Шифрование SD-карты
« Ответ #5 : Июнь 01, 2016, 11:14:06 pm »
Найти в /boot файл config-{версия-ядра} и в нем строку, содержащую CONFIG_DM_CRYPT, посмотреть значение. Кстати, проверил у себя на armbian с дефолтовым ядром:

$ grep DM_CRYP /boot/config-3.4.112-sun8i 
CONFIG_DM_CRYPT=y
$

Здесь "y" означает, что dm_crypt действительно вкомпилен в сам образ ядра. Еще может быть "n" (отключен) или "m" (скомпилировано отдельным модулем).

Кстати, похоже, что я бенчмарк как раз на какой-то *buntu и запускал (а мож дебиановский пакет обновился), потому как сейчас запустился :) . Результаты такие:

$ sudo cryptsetup benchmark
# Tests are approximate using memory only (no storage IO).
PBKDF2-sha1       112993 iterations per second
PBKDF2-sha256      78019 iterations per second
PBKDF2-sha512      35617 iterations per second
PBKDF2-ripemd160  104025 iterations per second
PBKDF2-whirlpool    8668 iterations per second
#  Algorithm | Key |  Encryption |  Decryption
     aes-cbc   128b    17,8 MiB/s    18,8 MiB/s
 serpent-cbc   128b           N/A           N/A
 twofish-cbc   128b           N/A           N/A
     aes-cbc   256b    13,9 MiB/s    14,4 MiB/s
 serpent-cbc   256b           N/A           N/A
 twofish-cbc   256b           N/A           N/A
     aes-xts   256b           N/A           N/A
 serpent-xts   256b           N/A           N/A
 twofish-xts   256b           N/A           N/A
     aes-xts   512b           N/A           N/A
 serpent-xts   512b           N/A           N/A
 twofish-xts   512b           N/A           N/A
$

Отсюда видим, что доступен только aes-cbc, остальные режимы почему-то недоступны, лично я не имею ничего против aes, однако xts считается надежнее cbc. Но с другой стороны, если не иметь дело с документами уровня top secret, то 256-битный aes-cbc будем считать приемлемым вариантом, скорость как раз в районе дешевых sd-карточек, так что в целом можно считать, что вполне можно и на апельсинке шифровать :) .