АНБ скомпрометировало протокол Диффи-Хеллмана?
Уже давно ходят слухи, что АНБ способно дешифровать значительную часть зашифрованного интернет-трафика. Этому есть косвенные свидетельства. В 2012 году некий сотрудник АНБ на условиях анонимности утверждал, что агентство добилось «прорыва в вычислениях», которые дают им «возможность взломать нынешнюю публичную криптографию». Документы Сноудена тоже указывают на некоторые исключительные возможности АНБ: из них следует, что агентство построило широкую инфраструктуру для перехвата и расшифровки VPN-трафика, и что оно вероятно обладает возможностью расшифровать по крайней мере часть HTTPS и SSH соединений по запросу.
Документы не дают понять, как такое возможно. 13 октября на конференции ACM CCS выступили известные криптографы Алекс Халдерман (Alex Halderman) и Надя Хенингер (Nadia Heninger) с докладом, в котором они предполагают, что решили эту таинственную загадку. Кстати, их работа признана лучшим докладом конференции.
По мнению специалистов, проблема в алгоритме Диффи-Хеллмана, который широко используется в интернете для обмена ключами при установке защищённого канала. Это краеугольный камень надёжной криптографической защиты. Он используется в VPN, HTTPS и многих других протоколах.
Протокол Диффи-Хеллмана позволяет двум и более сторонам получить общий секретный ключ, используя незащищённый от прослушивания канал связи. Полученный ключ используется для шифрования дальнейшего обмена с помощью алгоритмов симметричного шифрования.
Проблема вот в чём. Если клиент и сервер обмениваются ключами по протоколу Диффи-Хеллмана, то изначально им нужно договориться о большом простом числе, которое используется для дальнейших вычислений. Казалось бы, нет проблем, если все будут использовать одно и то же число, и в реальности во многих приложениях жёстко зашиты такие числа. Но есть одна важная деталь. А что, если некий злоумышленник вложит гигантские средства, чтобы выполнить единственное вычисление и «взломать» конкретное простое число, а потом легко будет расшифровывать коммуникации всех, кто использует это число.
В своей работе Халдерман и Хенингер оценивают масштаб инвестиций. Для наиболее распространённого типа Диффи-Хеллмана (1024 бит) такой суперкомпьютер, сделанный на стандартном железе, будет стоить несколько сотен миллионов долларов. Он сможет взломать одно простое число примерно за год.
Есть ли смысл разведывательному агентству инвестировать такие деньги, чтобы обрабатывать по одному числу за год? Халдерман и Хенингер считают, что есть. Дело в том, что если взломать самое распространённое в реальных приложениях простое число, то вы сможете дешифровать две трети мирового VPN-трафика и получите доступ к четверти SSH-серверов!
Взлом второго по популярности числа даёт вам доступ к пассивной прослушке примерно 20% HTTPS-серверов из списка миллиона самых популярных сайтов.
Другими словами, однократные инвестиции в оборудование позволят расшифровать триллионы зашифрованных соединений.
Бюджет АНБ, несомненно, достаточен для этого.
Подробнее см. работу Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice.