[sisyphus] encfs (was: kphone 1.0.1 package)

Alexey Borovskoy =?iso-8859-1?q?alexey=5Fborovskoy_=CE=C1_mail=2Eru?=
Ср Мар 2 07:00:34 MSK 2005


* Среда 02 Март 2005 02:59 Michael Shigorin <mike на osdn.org.ua>

> On Tue, Mar 01, 2005 at 10:56:16PM +1200, Alexey Borovskoy 
wrote:
> > P.S. У моей паранойи сегодня праздник. Портировал encfs,
> > отковырял коробку дискет, сижу развлекаюсь с
> > крипто-контейнерами.
>
> Эээ... а вот тут попрошу поподробнее :-)

В Сизифе есть encfs, который через fuse позволяет прозрачно 
шифровать какой-либо каталог. Работает это так:
encfs ~/crypto_dir /~uncrypted_crypto_dir.

Если теперь в /~uncrypted_crypto_dir насоздавать каталогов и 
файлов, то они в зашифрованном и совершенно нечитаемом виде 
появятся в ~/crypto_dir. Шифры берутся из openssl, особенно мне 
понравился AES-512. Параметры нечитаемости ~/crypto_dir 
настраиваются в широких пределах. Если в ~/crypto_dir копались 
ручками, то это отслеживается сразу.

Мне эта идея понравилась, теперь encfs есть в backports для M24.

encfs работает только с файлами, зашифровать блочное устройство 
он не умеет.

При утере пароля на крипто-контейнер, его можно только стереть. 
Расковырять контейнер скорее всего нереально.

Из возможных минусов есть три: не умеет общатся с gpg, не может 
иметь больше одного владельца, и не знает что такое смарт-карты 
и токены. Но есть возможность получить пароль на 
крипто-контейнер от внешней программы. Я вижу это так:

1. Надо смонтировать крипто-контейнер. encsf хочет пароль от 
контейнера.
2. Вызывается внешняя программа, которая умеет общаться с gpg или 
со смарт-картами.
3. Программа возвращает encfs требуемый пароль.

Учитывая, что в смарт-картах есть маленький процессор и 
операционка, можно выполнять некоторые операции 
шифрования/дешифрования непосредственно в смарт-карте.

Наверное примерно так:
1. Инициализируется карта, вводятся PIN админа и пользователя, 
генерируются ключи. Если у админа полные права на файловую 
систему карты, то он может делать всё что хочет?

2. Карте передается пароль для крипто-контейнера с указанием 
зашифровать его ключём, доступным через PIN пользователя, и 
сохранить его в файле у себя где-нибудь. Сохраненный файл 
защитить PIN'ом пользователя.

Как это работает:
1. При монтировании контейнера, вызывается программа, которая 
умеет общаться со смарт-картами через opensc (есть в Сизифе) и 
openct (нет в Сизифе).

2. Программа говорит смарт-карте: расшифруй и отдай мне 
содержимое такого-то файла.

3. Смарт-карта: дай PIN пользователя. Пользователь вводит свой 
PIN.

4. Смарт-карта выполняет расшифровку и отдает содержимое файла.

5. Программа закрывает смарт-карту и отдает пароль из полученного 
файла в encfs.

Учитывая, что крипто-контейнер не может иметь больше одного 
владельца может выползти бяка при утере PIN'a пользователем.

Возможные пути решения:
1. Админ хранит у себя все пароли на крипто-контейнеры 
пользователей.

2. Админ хранит у себя дубликаты смарт-карт. Но это скорее всего 
фантастика.

3. Пользователь идет на экзекуцию  к админу, который с помощью 
своего PIN'а меняет PIN пользователя на смарт-карте.

Эм, что-то у меня фантазия разыгралась.

Интересно, а смарт-карту (токен) убить насмерть можно?
Стереть ее можно?
Где можно почитать о том, что можно сотворить со смарт-картой 
(токеном) с помощью ридера?

-- 
Алексей.
GPG key fingerprint
949B BC0E 2C44 7528 4F63  2753 E37A 9E3F 11F3 BDE1
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: signature
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20050302/a9721164/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus