Короткие идентификаторы (short-ID) разных PGP-ключей могут совпадать, об этой проблеме известно уже давно. Однако до недавнего времени короткие, 32-битные версии ключей и их проблемы почти никого не тревожили. Теперь стало известно о том, что неизвестные подделали ключи Линуса Торвальдса и Грега Кроа-Хартмана, которые, как правило, подписывают своими PGP-ключами новые релизы ядра Linux. Также аналогичным образом были скомпрометированы PGP-ключи нескольких разработчиков Tor Project.
По сути, short ID используются просто для удобства: куда проще использовать и запоминать восемь hex-символов, вместо полного PGP-ключа, который не в пример длиннее. Однако short ID подвержены атаке через выявление коллизий, причем об этой проблеме известно более пяти лет. Такую атаку можно использовать для создания «клона» ключа, точнее его short-ID. К примеру, при помощи утилиты Scallion создать «дубликат» можно за считанные секунды.
В 2015 году даже был запущен проект Evil32, где собирают базу таких клонированных 32-битных short-ID и уже собрали порядка 24 000.
В минувший понедельник, 15 августа, в рассылке для разработчиков ядра Linux были опубликовано предупреждение. Оказалось, что некто подделал short-ID ключей Линуса Торвальдса, Грега Кроа-Хартмана и других разработчиков, причем атаки начались еще в июне 2016 года. В рассылке сказано, что поддельные ключи были обнаружены на серверах МТИ и не только.
- Поиск 0x00411886: https://pgp.mit.edu/pks/lookup?search=0x00411886&op=index
Поддельный ключ Торвальдса: 0F6A 1465 32D8 69AE E438 F74B 6211 AA3B [0041 1886]
Настоящий ключ Торвальдса: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 [0041 1886] - Поиск of 0x6092693E: https://pgp.mit.edu/pks/lookup?search=0x6092693E&op=index
Поддельный ключ Кроа-Хартмана: 497C 48CE 16B9 26E9 3F49 6301 2736 5DEA [6092 693E]
Настоящий ключ Кроа-Хартмана: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 [6092 693E]
Также об аналогичной проблеме 16 августа 2016 года сообщила разработчица Tor Project Айсис Агора Лавкрафт (Isis Agora Lovecruft). По словам Лавкрафт, не только ее собственный PGP-ключ был подделан, пострадали и другие разработчики Tor.
Neat. Someone faked the short keyid for my OpenPGP key. This is your regular reminder to only use full fingerprints. pic.twitter.com/D4iAEQdroN
— Inhomogeneous-SIS (@isislovecruft) August 16, 2016
Others @torproject had OpenPGP keys with colliding short ids uploaded today. Remember: if the hash isn't legit, don't stick it in your pipes
— Inhomogeneous-SIS (@isislovecruft) August 16, 2016
Лавкрафт и другие специалисты полагают, что кто-то попросту залил содержимое баз проекта Elvil32 на серверы ключей, так что от «подделок» пострадали более 20 000 человек. Основатель Evil32 Эрик Свонсон (Eric Swanson) уже заявил, что инициировал процесс аннулирования сертификатов для всех дубликатов.
https://twitter.com/1sand0s/status/765616702893789184
Вывод из случившегося прост: не нужно использовать 32- и 64-битные short-ID, вместо них стоит пользоваться полными версиями PGP-ключей.