Вернер Кох (Werner Koch), основният разработчик и създател на проекта GnuPG (GNU Privacy Guard), основа проекта LibrePGP, който е фокусиран върху развитието на обновената спецификация, алтернатива на стандарта OpenPGP. Форкът беше създаден в отговор на промените, предвидени от работната група IETF за следващото обновление на спецификацията OpenPGP (RFC-4880) и възприети от Кох като съмнителни по отношение на запазването на съвместимостта и осигуряването на безопасност. Подкрепилите форка разработчици на проектите GnuPG, RNP (реализация на OpenPGP от Thunderbird) и Gpg4win се опасяват, че предвидените изменения могат да окажат разрушително влияние върху съществуващите внедрения на приложения на базата на OpenPGP, потребителите на които разчитат на стабилността на спецификацията в дългосрочен план и не са готови да се примирят с промени, нарушаващи съвместимостта.
LibrePGP включва полезни подобрения, развивани през последните години за бъдещата версия на спецификацията OpenPGP, но изключва изменения, които негативно влияят на осигуряването на съвместимост. Например, в сравнение с действащия стандарт RFC-4880, в LibrePGP са приети следните възможности:
- Поддръжка на алгоритъма за криптиране Camellia (RFC-5581),
- Разширения ECC (Elliptic Curve Cryptography) за OpenPGP (RFC-6637).
- Задължителна поддръжка на хешове SHA2-256 (SHA-1 и MD5 са класифицирани като неподходящи, а възможността за декриптиране на данни без проверка на целостта е напълно остаряла).
- Увеличение на размера на проверъчния слепък (fingerprint) до 256 бита.
- Поддръжка на схемите за цифрови подписи EdDSA и елиптичните криви BrainpoolP256r1, BrainpoolP384r1, BrainpoolP512r1, Ed25519, Curve25519, Ed488 и X448.
- Поддръжка на алгоритъма CRYSTALS-Kyber, устойчив на подбора от квантови компютри.
- Поддръжка на режимите на автентифицирано криптиране OCB (Offset codebook mode).
- Реализация на пета версия на формата на цифровите подписи с защита на метаданните.
- Поддръжка на разширени субпакети с цифрови подписи.
Основни елементи на критиката на новата спецификация OpenPGP:
- Работната група IETF вместо постепенно инкрементално обновление на спецификацията се опита да преизмисли стандарта, внасяйки значителни изменения, нарушаващи съвместимостта.
- Налагането на поддръжка на симетричен режим на криптиране GCM (Galois/Counter Mode), който е труден за правилно реализиране, игнорирайки режима OCB (Offset codebook mode), чийто патенти изтекоха преди няколко години.
- Добавянето на опционални пакети с произволно допълнително запълване за защита срещу анализ на трафика. Според създателите на LibrePGP, такива пакети с непроверимо начално произволно запълване създават заплаха за използването им за създаване на скрити канали за предаване на данни и за заобикаляне на системи за предотвратяване на изтичане на данни. По-рано идеята за включване на допълнително запълване беше отхвърлена, тъй като беше обект не на ниво криптиране, а на ниво приложение.
- Прилагане на модифицирана схема на криптиране ECDH (промяна на формата OID), вместо използване на вече описаното в RFC-6637 и реализирано в PGP и GnuPG.
- Премахване на някои на практика използвани функции, като класическия метод за отмяна на ключове, флага ‘m’ за обозначаване на MIME данни и флага ‘t’ за отделяне на текстови данни от бинарни (на мястото на флага ‘t’ беше въведен флаг ‘u’ за текст в UTF-8 кодировка).
- Отказ да се включи в новия формат на подписите защита на метаданните на подписания файл (например, името на файла може да бъде променено без да се нарушава подписа).
- Съмнителната възможност за добавяне на ‘сол’ към подписите (Salted signature) за засилване на защитата срещу колизионни атаки с определен префикс. Стойността със сол може да се използва като неотключаем скрит канал за предаване на 32 байта данни в подписа.
- Изместване на стандарта към основна употреба за онлайн комуникация, игнорирайки нуждите за дългосрочно съхранение на данни.
Поддръжниците на OpenPGP вече публикуваха критика на критиката. В крайна сметка, ако не успеят да намерят компромис, разколът може да доведе до нарастване на несъвместимости в реализирането на OpenPGP/LibrePGP. Частично за решаване на този проблем разработчиците на OpenPGP фиксираха петата версия на формата на подписите така, че да бъде съвместима с LibrePGP и преминаха към работа върху шеста версия.
Източник: opennet.ru
