YHorror
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору На досуге заинтересовался криптозащитой с возможностью "правдоподобного отрицания". Изучая историю версий Truecrypt и Veracrypt наткнулся на фрагмент, где атакующий мог выявить наличие скрытого тома (уязвимости подвержены финальная версия Truecrypt и Veracrypt до версии 1.18), и применённое в свежих версиях Veracrypt "лечение" меня порядком удивило: Цитата: Luckily, there is an obvious way to protect about such attack: volumes should always have two headers! When there is no volume header, we just create a "fake" hidden volume that uses a random master key. This way, the distinguisher mentioned above will always return that there is a hidden volume without being able to say if the hidden volume is a fake one or not. | На мой взгляд, это противоречит философии "правдоподобного отрицания": вместо невозможности атакующему доказать наличие вложенного криптоконтейнера, защищающийся вынужден будет доказать, что определённо существующий с точки зрения атакующего вложенный криптоконтейнер является "фейковым". На языке простых аналогий, разница следующая: либо подозрительная стена моей квартиры девственно гладкая, и тогда обнюхивать, простукивать и просвечивать её - проблема атакующего; либо на ней красуется сейфовая дверь со всеми причиндалами - и тогда, увы, уже моя проблема доказать, что я не могу (а не не хочу) её открыть, потому что за ней ничего нет, и никогда не было, и быть не может, да и сам я не настоящий сварщик. С точки зрения параноика, предложенное решение также является неполноценным. Ведь если доказанно существует функция, отличающая без расшифровки заголовок вложенного криптоконтейнера от "белого шума" (на месте отсутствующего заголовка), это уже означает, что криптостойкость кодирования заголовков недостаточна, и, в принципе, ничто не мешает появиться процедуре, так же без расшифровки отличающей "фейковый" заголовок от "настоящего" (благо, способ генерации тех и других известен). |