GELI external header

FreeBSD, NetBSD, OpenBSD, DragonFly и т. д.

Модератор: arachnid

Ответить
Аватара пользователя
lastpriot
Сообщения: 218
ОС: FreeBSD

GELI external header

Сообщение lastpriot »

Здраствуйте,
написал патч для поддержки в geli external header, regression's тесты проходит успешно
перед отправкой в FreeBSD хочу устранить все "шероховатости", так что буду рад любым замечаниям)

сам патч
geli_regression.patch
(47.09 КБ) 10 скачиваний
regression
geli_header.patch
(36.91 КБ) 11 скачиваний

FreeBSD 9-STABLE r250964
Спасибо сказали:
Аватара пользователя
lastpriot
Сообщения: 218
ОС: FreeBSD

Re: GELI external header

Сообщение lastpriot »

добавил поддержку Camellia-XTS, алгоритмы Serpent и Twofish (XTS и CBC mode, спс dfly :) )

теперь "ложка дегтя":
- geli (userspace) привязано к openssl, в котором поддержка требуемых twofish и serpent отсутствует. Временно, для тестирования, сделал "костыль" через libgcrypt.
Как правильно: "допилить" openssl или портировать другую библиотеку?
Спасибо сказали:
Аватара пользователя
lastpriot
Сообщения: 218
ОС: FreeBSD

Re: GELI external header

Сообщение lastpriot »

странно, но под лицензией BSD не нашел вменяемой библиотеки. Пришлось создавать "велосипед" libscaf )
Пока есть Serpent и Twofish в режимах ECB и CBC
Спасибо сказали:
Аватара пользователя
lastpriot
Сообщения: 218
ОС: FreeBSD

Re: GELI external header

Сообщение lastpriot »

Результат месячной работы:
- поддержка separated metadata;
- добавлены алгоритмы: Serpent, Twofish, RC6 (-CBC и -XTS mode), Camellia-XTS;
патч (9-STABLE, r255456)
bsd_patch_crypto.patch
(536.37 КБ) 12 скачиваний

P.S.
- для каждого контейнера eli-ключи создаются рандомно и хранятся в метадата в зашифрованном виде (ключом для шифрования eli-ключей есть результат hmac_sha512 пользовательского пароля/ключа).
- проверил результат шифрования контейнера в XTS-mode (использовал tomcrypt и libscaf). Никаких аномалий и "закладок", всё по стандарту)
Спасибо сказали:
Ответить