Pull to refresh

Ubuntu Open Week: Зашифрованные личные каталоги

Reading time3 min
Views1.8K
Краткая компиляция irc-чата в рамках Ubuntu Open Week на тему «Encrypted Private Directories»

Зашифрованные личные каталоги. Докладчик: Dustin Kirkland

Перед нами снова представитель Ububtu Server Team с увлекательным, но слегка поверхностным докладом о остоянии дел в криптографии для конечных пользователей Убунту. С момента выхода Intrepid Ibex пользователям стало проще сохранять свои маленькие секреты в тайне. Стать великим параноиком легко и непринужденно можно так:


$ sudo apt-get update
$ sudo apt-get install ecryptfs-utils
$ ecryptfs-setup-private

Ок, после установки ecryptfs-utils в системе появится PAM-модуль pam_ecryptfs. Когда при входе в систему вы вводите свой пароль, этот модуль использует его для расшифровки ~/.ecryptfs/wrapped-passphrase файла, который содержит следующую парольную фразу для монтирования утилитой /sbin/mount.ecryptfs_private. Эта setuid-ная утилита делает то, что и положено делать с таким названием — монтирует ~/.Private в ~/Private, используя при этом специальную файловую систему, называемую ecryptfs. Это Enterprise Cryptographic Filesystem, разработанная парнями из IBM. Существуют и другие решения такого плана, например, encfs, truecrypt, dmcrypt и другие. Но для реализации шифрования ~/Private была выбрана ecryptfs и вот почему:
  • она уже в ядре с 2.6.19 во многих дистрибутивах (сейчас уже .28)
  • множество экспертов работают над нею, прошла ревью как комьюнити так и дистростроителей
  • она никуда не исчезнет, что немаловажно для надежного и долгосрочного хранения данных
  • ядерное криптование «теоретически» быстрее юзерспейсного
  • основана на проверенных специалистами и временем «ядерных» алгоритмах шифрования
  • криптуется индивидуально каждый файл ФС, в отличие от блочного шифрования

Oops! Рассмотрим последний пункт, уж очень спорное заявление. Ведь другие решения позволяют полностью шифровать раздел или даже все устройство, например, раздел свопа или том LVM. Но для пользовательского ~/Private подход с шифрованием каждого файла ФС отдельно имеет одно значительное преимущество — инкрементный бэкап хранимых данных. Например, пользователь может просто rsync -aP .Private на удаленный сервер, и будет наверняка уверен, что даже root удаленного бекап-сервера не сможет получить доступ к содержимому бекапа. Ну разве только к имени файлов, которые пока что в текущей реализации не шифруются. Работа над этим идет и в Jaunty можно ожидать появления такого функционала.

Вопрос: Что случится с ecryptfs при автологоне пользователя? Ответ: Да, так как вы входите автоматически, то не вводите пароль, поэтому ваша Private не монтируется как следует. Но такое поведение и предусмотрено дизайном. А фактически при автологоне происходит вот что: вы заходите файловым менеджером в каталог Private и видите только ссылку на приложение вида «Access Your Private Data». По линку происходит запуск /usr/bin/ecryptfs-mount-private приложения, которое спрашивает ваш пароль на вход в систему, затем происходит монтирование.
Вопрос: А как по поводу производительности? Ответ: У автора нету проблем с производительностью. Он предполагает, что если компилировать в ~/Private то, возможно, 10% потеря производительности может иметь место. Далее автор раскрывает вполне разумную мысль: с точки зрения производительности, тотально закриптовать весь раздел это одно, а выбрать и поместить в ~/Private чувствительные к сокрытию доступа данные — совсем другое. Вы сами решаете за сохранность каких данные готовы платить понижением производительности доступа. Еще криптование LVM требует пароля при загрузке, что для удаленного сервера не есть гуд.
Вопрос: Почему бы не шифровать весь Домик пользователя? Ответ: У них была идея, но пока не все так просто. Будут думать дальше, расширять функционал, делать удобнее. Как сейчас? А вот так:
ln -s /home/kirkland/Private/.ssh /home/kirkland/.ssh
Вопрос: Будут ли разработаны графические инструменты? Ответ: да, наверное, в Jaunty.
Вопрос: Что с физическими ключами для криптования? Может применять USB-флешки для хранения ключей? Ответ: ecryptfs поддерживает гибкое управление ключами для криптования:
  1. pkcs11-helper
  2. openssl
  3. passphrase
  4. tspi

Пока что используется только passphrase. Для начала можно просто скопировать ~/.ecryptfs/wrapped-passphrase на флешку, затем установить на него симлинк. Возможно идея получит развитие в дальнейшем! Еще будут вестись инфраструктурные работы в самой Убунте по поддержке аппаратных карт OpenGPG, чипов Trusted Computing, ридеров биометрии(fingerprint).

Далее в чате идет демонстрация простого примера по доступу к своим данным на гостевой машине и ссылки на дополнительную информацию.

Отведенный на эту замечательную тему час закончился. Автор и слушатели обменялись любезностями и распрощались.
Tags:
Hubs:
Total votes 14: ↑14 and ↓0+14
Comments10

Articles