- PVSM.RU - https://www.pvsm.ru -
free@turing ~$ gpg --keyserver pgp.mit.edu --recv-keys 10000001
gpg: requesting key 10000001 from hkp server pgp.mit.edu
gpg: key 10000001: public key "Linus Torvalds" imported
gpg: key 10000001: public key "Linus Torvalds" imported
gpg: Total number processed: 2
gpg: imported: 2 (RSA: 2)
Давно известно [1], что PGP уязвим к атакам на короткий идентификатор (short-ID). Относительно несложно сгенерировать пару совместимых с GnuPG 4096-битных RSA-ключей с заранее заданным коротким (32-битным) идентификатором short-ID, именем владельца и адресом электронной почты. Процедура поиска коллизии занимает буквально 10-20 минут на обычном компьютере, что демонстрировалось неоднократно. На современном GPU она занимает 4 секунды при использовании программы Scallion [2].
Раньше атака рассматривалась чисто теоретически, но с начиная с июня 2016 года разработчики начали сообщать [3] о реальных случаях подделки их коротких идентификаторов — фальшивые ключи размещались на серверах криптографических ключей. А сейчас дело дошло до Линуса Торвальдса [4] и ведущих разработчиков ядра Linux.
Среди пострадавших — Линус Торвальдс, Грег Кроа-Хартман (Greg Kroah-Hartman) и другие известные разработчики.
Поисковый результат для 0x00411886: https://pgp.mit.edu/pks/lookup?search=0x00411886&op=index [5]
Фальшивый Линус Торвальдс: 0F6A 1465 32D8 69AE E438 F74B 6211 AA3B [0041 1886]
Настоящий Линус Торвальдс: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 [0041 1886]
Поисковый результат для 0x6092693E: pgp.mit.edu/pks/lookup?search=0x6092693E&op=index [6]
Фальшивый Грег Кроа-Хартман: 497C 48CE 16B9 26E9 3F49 6301 2736 5DEA [6092 693E]
Настоящий Грег Кроа-Хартман: 647F 2865 4894 E3BD 4571 99BE 38DB BDC8 [6092 693E]
В первом случае совпадает короткий идентификатор 0041 1886, имя и адрес электронной почты (Linus Torvalds <torvalds@linux-foundation.org>).
Во втором случае совпадает короткий идентификатор 6092 693E (Greg Kroah-Hartman (Linux kernel stable release signing key) <greg@kroah.com>).
Теоретически, коллизию можно найти не только для 32-битного, но даже для 64-битного короткого идентификатора [7]. Пусть не за несколько секунд, а за несколько дней или недель на обычном GPU. Хотя, на кластере ASIC это будет на порядок быстрее. Скажем, современный биткоин-майнеры ASIC работают с хешрейтом 14 терахешей в секунду. А если задаться такой целью и задействовать кластер?
Есть мнение, что все поддельные ключи попали на сервер криптографических ключей из базы Evil 32 [8]. Там уже давно накапливается база клонированных ключей (примерно 24 тыс.). Видимо, недавно какой-то шутник решил залить их на публичный сервер криптографических ключей.
Даже если ребята с Evil 32 удалят свою базу поддельных ключей, кто угодно может повторить атаку.
Вывод очевиден: лучше вообще прекратить использовать Short-ID, нигде их не указывать, а использовать только полные отпечатки открытого ключа. Тем более последняя версия GPG 2.1 уже показывает полные отпечатки по умолчанию.
Автор: alizar
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/173979
Ссылки в тексте:
[1] Давно известно: http://www.asheesh.org/note/debian/short-key-ids-are-bad-news.html
[2] Scallion: https://github.com/lachesis/scallion
[3] начали сообщать: http://gwolf.org/node/4070
[4] дело дошло до Линуса Торвальдса: https://lkml.org/lkml/2016/8/15/445
[5] https://pgp.mit.edu/pks/lookup?search=0x00411886&op=index: https://pgp.mit.edu/pks/lookup?search=0x00411886&op=index
[6] pgp.mit.edu/pks/lookup?search=0x6092693E&op=index: https://pgp.mit.edu/pks/lookup?search=0x6092693E&op=index
[7] даже для 64-битного короткого идентификатора: https://lists.debian.org/debian-devel/2016/08/msg00215.html
[8] Evil 32: https://evil32.com/
[9] Источник: https://geektimes.ru/post/279534/
Нажмите здесь для печати.