Ru-Board.club
← Вернуться в раздел «Программы»

» TrueCrypt

Автор: RamireZ
Дата сообщения: 12.02.2007 13:07

Цитата:
Если все тут такие умные и образованные, что в простейшей криптографической схеме разобраться не могут, может тогда кто-нить предложит своё, простоё и понятное объяснение в виде 10-20 строк текста, как работает схема смены пароля, без перешифрации всего диска ? Вот только не надо ссылок на умные тексты, своим словами лучше объясните.

Ок, представлюсь.
Виталий. Учусь в аспирантуре по специальности "Теоретические основы информатики", работаю в Институте систем обработки изображений РАН. Область интересов - криптография, обработка изображений, стеганография.

Итак, по порядку.


Цитата:

1. Я где нибудь хоть слово про salt сказал ? Те константы что я привёл НИКАКОГО ОТНОШЕНИЯ К SALT НЕ ИМЕЮТ.

Предположим, что вы действительно не хеш имели в виду. ХОтя тогда непонятна ваша фраза
Цитата:

Да всё понятно, что реальная KDF сложнее. Но:

Ведь KDF - это именно функция "перемешиания" ключа и salt. Salt в данном случае нужен для защиты от перебора значений хеша. Очевидно, что количество различных хешей (256 бит) на порядки больше количества, например, восьмисимвольных паролей. Поэтому можно заранее перебрать все восьмисимвольные комбинации, вычислить от них хеш и получить универсальный "словарь" часто используемых значений хеша- и использовать в дальнейшем этот словарь для подбора паролей к любому контейнеру. Salt как раз делает невозможным данный перебор, т.к. он каждый раз новый и составить "универсальный" словарь нет возможности.
Далее.
Как
Цитата:
как работает схема смены пароля, без перешифрации всего диска

Во-первых, как уже сказали - диск шифруется так называемым "мастер-ключом". Обычно это случайное число размером этак 512 байт . К паролю этот мастер-ключ отношения никакого не имеет. Хешем пароля (либо хешем salt+пароль) шифруется мастер-ключ и записывается в заголовок контейнера (вот почему при повреждении заголовка криптоконтейнера данные нельзя извлечь уже никак - их просто нечем расшифровывать).
Таким образом, шифрование получается двухступенчатое - сначала контейнер шифруется мастер-ключем, а потом сам мастер-ключ шифруется хешем пароля и записывается в заголовок.
При смене пароля мастер-ключ извлекается из заголовка, зашифровывается уже с помощью хеша нового пароля. После этого перезаписывается ТОЛЬКО ЗАГОЛОВОК КОНТЕЙНЕРА. Сами данные в контейнере не изменяются.
У такой схемы есть принципиальная уязвимость - если атакующий смог скопировать заголовок и впоследствии узнал "старый" пароль, то он может расшифровать контейнер даже после смены пароля.
ИТОГО - при такой схеме шифрования использование вашего подхода с константами просто бессмысленно. Точнее, ваш подход будет просто вариацией на тему - в качестве зашифрованного мастер-ключа будет выступать константа A
Цитата:
hash пароля A + константа A = ключ для шифра A
. Соответственно, при вводе пароля будет извлекаться его хеш и складываться с хранящимся в заголовке значением константы - и полученная сумма будет являться ключем шифрования.
В чем разница? В том, что вы СТОЙКУЮ к криптоанализу схему ШИФРОВАНИЯ мастер-ключа заменяете НЕСТОЙКОЙ операцией сложения или XOR с констатнтой. При этом размер хеша пароля
предполагается равным размеру мастер-ключа (в случае, если хеш будет значительно меньше мастер-ключа, то мастер-ключ можно будет подобрать из значений, близких к записанной в заголовке константе) - что снижает производительность и гибкость такой схемы.
ВОПРОСЫ?
Автор: Kommunist
Дата сообщения: 13.02.2007 11:33

Цитата:
Виталий. Учусь в аспирантуре по специальности "Теоретические основы информатики", работаю в Институте систем обработки изображений РАН. Область интересов - криптография, обработка изображений, стеганография.

Кандидат физ-мат наук, криптография один из интересов.


Цитата:
ИТОГО - при такой схеме шифрования использование вашего подхода с константами просто бессмысленно. Точнее, ваш подход будет просто вариацией на тему - в качестве зашифрованного мастер-ключа будет выступать константа A

Ну вот, уже лучше. От "полного бреда" перешли к "вариации на тему".


Цитата:
В том, что вы СТОЙКУЮ к криптоанализу схему ШИФРОВАНИЯ мастер-ключа заменяете НЕСТОЙКОЙ операцией сложения или XOR с констатнтой. При этом размер хеша пароля предполагается равным размеру мастер-ключа (в случае, если хеш будет значительно меньше мастер-ключа, то мастер-ключ можно будет подобрать из значений, близких к записанной в заголовке константе) - что снижает производительность и гибкость такой схемы.

Формально моя схема слабее, так как если взломщик следит за изменениями константы (пароля) то он может проследить как изменился hash. Дельту изменений hash пароля. Но само значение hash для него не доступно.

В прицнипе, обе схемы сходятся к одному принципу. Если в моей схеме заменить + на шифрование константы.
Автор: RamireZ
Дата сообщения: 13.02.2007 11:54

Цитата:
В прицнипе, обе схемы сходятся к одному принципу. Если в моей схеме заменить + на шифрование константы.

Нет.
Принципиальное различие - возможность атаки на вашу схему, если известен ключ шифрования ("ключ для шифра A"). Такая возможность есть, например, при некоторых атаках с известным или подобранным открытым текстом ( атака особенно актуальна для шифрованных контейнеров...Разумеется, не для всех алгоритмов и режимов шифрования ). Элементарно вычитая из ключа шифрования известную константу, получите хеш пароля (либо пароля плюс salt). Если использовался salt - ничего страшного не произойдет. Если salt не используется - фактически, злоумышленник получит доступ ко ВСЕМ контейнерам, зашифрованным данным паролем, и в перспективе сможет восстановить сам пароль.

В "традиционной" схеме восстановить хеш ключа по мастер-ключу нельзя. Поэтому зная мастер ключ, злоумышленник будет иметь доступ только к даному контейнеру...

Так что я до сих пор не могу понять - что такого полезного вы предложили в своей схеме? Чем она выгодно отличается от классической? Смена пароля без "перелопачивания" всего контейнера есть и в классической схеме.
Недостаток я уже описал - это недостаточная "надежность" операции сложения мастер-ключа с хешем. Это фактически убирает одну из "степеней защиты" схемы шифрования (и хорошо, что у этой схемы заложен запас прочности - то же использование salt).
ИМХО, ваша схема - это попытка изобрести велосипед с квадратными колесами...

Автор: Kommunist
Дата сообщения: 13.02.2007 12:27

Цитата:
RamireZ
Принципиальное различие - возможность атаки на вашу схему, если известен ключ шифрования ("ключ для шифра A"). Такая возможность есть, например, при некоторых атаках с известным или подобранным открытым текстом

Да, такая уязвимость существует.


Цитата:
RamireZ
Так что я до сих пор не могу понять - что такого полезного вы предложили в своей схеме? Чем она выгодно отличается от классической? Смена пароля без "перелопачивания" всего контейнера есть и в классической схеме.

Наличие работающей схемы не означает, что не нужно искать другие механизмы защиты или авторизации.
Автор: Shigo
Дата сообщения: 13.02.2007 12:59
Господа, научные споры и титулы - это конечно хорошо..
Но мне нужна бесплатная, надежная программа для защиты данных..
Насколько, она надежна...
Насколько, она безглючна..
Автор: terminat0r
Дата сообщения: 13.02.2007 13:22
Shigo

Цитата:
Насколько, она надежна...
Насколько, она безглючна..

в последней версии глючности замечено вообще не было. уже использую около 30 ДВД разных конейнеров
почти каждый день монтируется один с этих ДВД. (как под Виндовсом так и под Линуксом)
Насчет надежности ничего сказать не могу, но исходники открыты, так что остается только надеятся
Автор: Shigo
Дата сообщения: 13.02.2007 13:30
terminat0r

Спасибо
Автор: cracklover
Дата сообщения: 13.02.2007 13:47
Shigo

Единственный маленький глючок!

В общем пока замечено только на одной машине, так что может и глюк одной машины.

Если на компе установлен Eset NOD32 и подмонтирован том под трукрипт, то при остановке нода и попытке отмонтирования диска иногда бсодится комп именно из-за драйвера трукрипта. Так что смотри сам!
Автор: RamireZ
Дата сообщения: 13.02.2007 14:09

Цитата:
Насколько, она надежна...
Насколько, она безглючна..

Что значит в вашем понимании - надежна?
От кейлоггеров аппаратных и програмных она не спасет.
От троянов тоже.
В условиях надежной операционной среды - TrueCrypt, в принципе, надежен.
"В принципе" - потому что была в версии 3.х очень глупая и опасная ошибка - пароль к контейнеру хранился в памяти в открытом виде, причем даже после отмонтирования контейнера. После такой ошибки стали возникать сомнения в квалификации разработчиков.
Насчет безглючности - за 2 года использования различных версий под win2000 SP4 глюков, падений, и тем паче порчи контейнеров замечено не было.
В отличие, например, от BestCrypt (контейнер переставал монтироваться при обновлении до какой-то версии, кажется 7.12) и DriveCrypt (контейнер переставал монтироваться "просто так", на ровном месте. Плюс к этому у DriveCrypt есть странная фича - счетчик, показывающий сколько раз открывался данный контейнер.)


Добавлено:
В общем, я бы для практических целей советовал именно TrueCrypt из всех существующих решений. Есть еще неплохой FreeOTFE, но он более сложен в использовании и не поддерживает режим шифрования LRW (который стал де-факто стандартом для шифрованных контейнеров)
Автор: Shigo
Дата сообщения: 13.02.2007 14:20
cracklover

Цитата:
установлен Eset NOD32


У меня avast

RamireZ

Спасибо, за ответ.
Автор: cracklover
Дата сообщения: 13.02.2007 14:29
Shigo

Я не сомневаюсь. что антивирус может быть и другим, но где гарантия, что на компе где будет запускаться том, будет не нод?
Автор: Shigo
Дата сообщения: 13.02.2007 14:46
cracklover

Спасибо за наколку буду внимательнее, но пока за время тестирования (1 месяц) такой проблемы не встречал...
Автор: ded55
Дата сообщения: 13.02.2007 19:56
Подскажите плз, какой можно создать минимальный размер контейнера?
Автор: AmdAd
Дата сообщения: 13.02.2007 20:33
ded55
19 кб - вес контейнера. Своб. места на диске (в контейнере) - 512 байт
Автор: ded55
Дата сообщения: 13.02.2007 21:08
AmdAd

Цитата:
19 кб - вес контейнера


Контейнер Portable?
Автор: PluZ
Дата сообщения: 23.02.2007 12:43
А можно ли с помощью TrueCrypt зашифровать диск, чтоб запрашивался пароль до загрузки операционной системы?
Т.е. если не знаешь пароля, то ты на винте ничего не увидишь вообще.
Или есть другая программа с такой функцией? (вроде бы есть, но не могу вспомнить/найти её).
Автор: GoooRooo
Дата сообщения: 23.02.2007 13:11
PluZ
TrueCrypt таким функционалом не обладает. Есть DriveCrypt
Автор: ded55
Дата сообщения: 23.02.2007 16:23
PluZ

Цитата:
чтоб запрашивался пароль до загрузки операционной системы?


Цитата:
Т.е. если не знаешь пароля, то ты на винте ничего не увидишь вообще.


Сильно смахивает на ,,учетные записи,,: не знаешь пароль и ничего не видишь...
Автор: populus
Дата сообщения: 27.02.2007 13:22
PluZ
не так давно нарисовались дядьки с политиленом. Сунули в морду лица постановление. Загрузили системник в политилен. Сказали. винда левая....
О как... Шифруюсь trueCrypt теперь. Хрен с ней, с виндой... данные жалко.
10 гиг диск porno.avi
2 пароля. Один сдам, если прижмут
Автор: ded55
Дата сообщения: 27.02.2007 13:31
populus

Цитата:
не так давно нарисовались дядьки с политиленом.

Домa?
Автор: pablo37
Дата сообщения: 27.02.2007 16:16
Домa?!
Автор: ded55
Дата сообщения: 27.02.2007 16:33
pablo37

Так и не понял: Домa?! - это произошло все-таки в Вашей квартире или в офисе?

Автор: Xandr
Дата сообщения: 02.03.2007 07:08
Подскажите какой алгоритм лучше(надежней) выбирать и какой хеш.
Автор: AzefWetaly
Дата сообщения: 02.03.2007 09:04
Xandr
Самый надежный - Blowfish (448-бит ключ)
Автор: RamireZ
Дата сообщения: 02.03.2007 12:13
Xandr
Все используемые в TrueCrypt алгоритмы на данный момент считаются стойкими.
Выбирать ИМХО стоит тот, у которого производительность больше.
Хеш-функции - аналогично. Правда, за последнее время были скомпрометированы MD-5 и SHA-1, но в рамках TrueCrypt их можно использовать без особых подозрений.
Автор: AmdAd
Дата сообщения: 02.03.2007 20:12
Всегда можно выбирать AES. Под этоим алгоритмом обычно самый стойкий, самый быстрый, т.к. AES определяется по конкурсу среди остальных алгоритмов.
Автор: AzefWetaly
Дата сообщения: 03.03.2007 18:15
AmdAd
AES можно, но с ключ должен быть не менее 256-бит.

Добавлено:
Но самый надежный (но не самый быстрый)

Цитата:
Blowfish (448-бит ключ)

Автор: AmdAd
Дата сообщения: 03.03.2007 20:12
Так там меньше чем 256 бит вроде и нет. Чего вполне достаточно чтобы для полной безопасности - пароль длиной более 12 символов подобрать невозможно.
Автор: RamireZ
Дата сообщения: 03.03.2007 22:53

Цитата:
Так там меньше чем 256 бит вроде и нет. Чего вполне достаточно чтобы для полной безопасности - пароль длиной более 12 символов подобрать невозможно.

На вашем месте я бы не зарекался...
"Полная безопасность" - миф, и пароль из 12 символов тут не при чем...
Автор: AzefWetaly
Дата сообщения: 05.03.2007 09:45
RamireZ
Это точно - особенно учитывая материалы этой статьи
http://www.vz.ru/society/2007/2/16/68719.html

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: QDictionary


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.