id: Гость   вход   регистрация
текущее время 10:24 29/11/2020
Владелец: SATtva (создано 05/12/2007 18:36), редакция от 05/12/2007 18:36 (автор: SATtva) Печать
Категории: софт, pgp, инфобезопасность, защита дисков, сайт проекта, статьи, ошибки и баги, уязвимости
создать
просмотр
редакции
ссылки

Ключевое расписание PGPdisk


В нескольких версиях PGPdisk присутствует баг в ключевом расписании симметричного шифра. Уязвима версия PGPdisk for Windows 1.0 и Windows-версия PGPdisk, шедшая в составе PGP 6.0.1. Версия из дистрибутива PGP 6.0.2 исправлена.


PGPdisk — это программа, позволяющая зашифровать часть жёсткого диска, чтобы её нельзя было использовать без знания парольной фразы. PGPdisk функционирует независимо от основной части PGP. Баг заключается в процедуре ключевого расписания шифровального алгоритма CAST. Как и IDEA, CAST вычисляет большой набор подключей из основного ключа, разворачивая его до 1024 бит. Однако, вместо следования спецификации, ключ всего лишь копируется в буфер. Таким образом, инициализируются только 128 бит подключей, остальные остаются забиты нулями. Это означает, что стойкость шифрования эквивалентна двухраундовому CAST, а это не есть очень здорово. Ключ может быть легко восстановлен через атаку с известным открытым текстом.


Баг обнаружила сама NAI. Подобная уязвимость не могла бы просочиться в PGP, поскольку любая ошибка в функционировании шифров привела бы к появлению сообщений, которые другие пользователи не смогли бы прочитать. Контейнеры PGPdisk не создаются с расчётом, чтобы пересылать их между пользователями, но, подозреваю, что после этого случая NAI ввела в этап тестирования дополнительные тесты на кросс-совместимость.


Назад | Дальше


 
— ntldr (05/12/2007 18:59)   профиль/связь   <#>
комментариев: 371   документов: 19   редакций: 20
Вот почему обязательно надо встраивать в программу автоматические тесты всех алгоритмов по стандартным тестовым векторам.
— unknown (07/12/2007 22:14)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
В одной из реализаций ключевого расписания twofish (не имеющей отношения к PGP) был такой баг: если первый байт ключа выпадал "0" то и все последующие считались как-бы нулями и шифрование проходило на ключ "все нули".

Обычно в тестовом наборе есть 256 векторов, в том числе и "все нули" и "все байты по возрастанию", поэтому конкретно такой баг выявляется.
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3