Оригинальный способ генерации мастер-пароля: используй специальный набор костей
Каждый раз, когда речь заходит о криптостойком мастер-пароле, на ум приходит стандартные генераторы, встроенные в тот же 1password, KeePass или любой другой менеджер паролей по вкусу. Сначала ты его генерируешь, потом учишь как «Отче Наш», а потом уже на самом деле молишься о том, чтобы не забыть его. Но у любого софта, который генерирует случайные стойкие пароли, есть уязвимые точки.
И вот, нашелся человек, который предложил генерировать базу для создания пароля буквально своими руками, без участия софта. Только абсолютный рандом, движимый гравитацией.
Этого человека зовут Стюарт Шехтер, он ученый-информатик из Калифорнийского университета в Беркли. Вопреки все усложняющимся алгоритмам и привлечению все новых и новых методов генерации шифров и паролей, Шехтер предложил крайне элегантный в своей простоте способ генерации базы символов для последующего создания мастер-пароля. Ученый создал набор из 25 шестигранных костей, на грани каждой есть пара из случайной цифры и буквы латинского алфавита. Назвал он свое творение также просто, как выглядит и сама идея, — «DiceKeys».
Ученый предлагает следующий порядок действий.
Вы берете комплект из 25 костей и специального бокса для их хранения. Встряхиваете кости, высыпаете в бокс и помогаете руками всем костяшкам улечься в специальные ячейки корпуса. Все, база для вашего пароля готова!
То, как это работает, демонстрирует сам Шехтер на видео ниже:
После броска предлагается просканировать полученный результат специальным приложением для смартфона, которое создаст мастер-пароль с помощью полученных данных. И вуаля, вы прекрасны.
В комплекте идет бокс для кубиков, сами кубики и мешочек-рандомайзер (для пользователей с большими руками, наверное, необязательный аксессуар).
Почему решение Шехтера кажется нам крайне любопытным на фоне случайной генерации 128, 196 или 256-битных паролей в том же KeePass или другом менеджере?
Первая: созданный машиной пароль никогда до конца не будет полностью случайным, ведь абсолютного программного рандомайзера не существует.
Вторая: пароль может «уйти» от вас еще в процессе генерации его на машине (ведь обычно вы генерируете пароль там, где будете его использовать), а значит он будет скомпрометирован еще на взлете.
Третья: чтобы оградить от злоумышленников не только пароль, но и сам принцип его генерации, нам нужен еще один пароль или изолированная машина (что некст-левел паранойи), так что тут мы попадаем в замкнутый круг из криптостойких паролей.
Что немаловажно, сам Шехтер делает упор на то, что приложение для смартфона никак не взаимодействует с внешним миром и вообще «молчит» в эфире. И, что самое важное, комплект кубиков в боксе кроме базы для генерации пароля выступает еще и бэкапом этого самого мастер-пароля: при повторном сканировании зафиксированной комбинации приложение на том же устройстве восстановит ранее сгенерированный для вас пароль.
Так ученый из Беркли выводом процесса генерации базы для пароля в оффлайн одновременно перекрывает три ранее озвученных слабых места в процессе создания мастер-пароля:
- его рандомайзер по-настоящему рандомный и не основан на алгоритмах;
- два с половиной десятка шестигранных кубиков со случайными комбинациями букв и цифр дают на выходе 2128 вариантов, то есть подобрать базу мастер-пароля, даже зная алгоритм шифрования, не представляется возможным;
- в процессе генерации используется сразу две изолированные от сети системы, то есть сам бокс с кубиками и приложение на смартфоне (а для такого дела, как успокоение внутренней паранойи, можно купить копеечный андроид-смартфон за полсотни баксов и положить его в сейф вместе с самим комплектом кубиков).
Последний пункт, про изолированность системы, наверное, самый важный. Давайте включим режим максимальной паранойи, скрутим себе шапочек из фольги и представим, что за каждым нашим шагом следит злоумышленник.
В итоге, привычные и уже реализованные методы сбора случайных данных для генерации пароля, например, сбор данных «точка-клик-окно» для аккумуляции псевдослучайных данных некоторых генераторов пароля, которые парсят активность на машине в фоне — уже не выглядят так безопасно.
Изолированность уязвимой точки системы — вообще краеугольный камень информационной безопасности. Некоторые специалисты вообще говорят, что «если не хотите, чтобы ваши данные украли — не храните их в цифровом виде/на машине с доступом к сети». По всей видимости, именно этим аспектом руководствовался Шехтер, когда прорабатывал концепцию своих кубиков-ключей.
Его система уязвима только перед методом социальной инженерии, если рассматривать вариант с использованием изолированного смартфона в качестве платформы для генерации мастер-пароля. Но даже в случае физического контакта злоумышленника с владельцем DiceKeys, должно соблюдаться какое-то невероятное количество условий.
Так, хакер должен знать, что ему нужен комплект костей. Кроме комплекта, для повторной генерации пароля, ему потребуется еще и устройство, с которого был сгенерирован мастер-ключ. И все это ему придется физически достать.
При этом взлом даже методом социальной инженерии становится невозможным, если пользователь уничтожит комбинацию кубиков, то есть отсечет возможность повторной генерации своего мастер-пароля. Так, для кражи пароля останется только метод «паяльника», при условии, что человек пароль помнит.
Критика
Но у способа, предложенного Стюартом Шехтером, есть и слабые места. Сейчас принцип работы DiceKyes можно протестировать на веб-сайте dicekeys.app, который как симулирует бросок кубиков, так и сканирует уже реальные комплекты. Сайт используется, пока не готово мобильное приложение.
Больше всего вопросов возникает к итоговому результату генерации — он относительно осмысленный и основан на нижнем регистре. По всей видимости, итоговый пароль формируется по словарю английского языка, для того, чтобы мастер-пароль имел хоть как-то смысл, то есть был запоминаем рядовым пользователем.
Вот несколько вариантов, который получил автор для разных приложений на одном и том же комплекте граней:
1Password: music booth owls cause tweed mutts lance halve foyer sway suave woven item
Authy: dudes acre nifty yoyo sixth plugs relic exert sugar aged chili human alarm
Facebook: delta had aids pox visa perm spied folic crop cameo old aged smite
Во всех этих паролях нет специальных символов, цифр или переменного регистра, хотя они достаточно длинные для того, чтобы сделать взлом бутфорсом подобной комбинации невозможным.
При этом всегда можно пойти дальше и прогнать полученные слова через еще один «генератор», или перевести в шестнадцатиричную кодировку. Вариантов, на самом деле, много.
Итого
В любом случае, разработка Стюарта Шехтера — максимально нишевых продукт для хардкорных пользователей и параноиков. Сейчас на рынке существует множество приемлемо-безопасных решений. Например, можно вспомнить о физических токенах доступа, которые хорошо себя зарекомендовали в индустрии.
При этом сами менеджеры паролей достаточно безопасны: последний большой взлом подобного, согласно гуглу, происходил аж в 2015 году (взломали LastPass), что по меркам индустрии — почти вечность назад. Тогда хакеры украли массу сопутствующих данных, в том числе адреса электронной почты учетной записи LastPass, напоминания о паролях, серверные записи по каждому пользователю и хэши аутентификации. Последнее, в теории, могло дать доступ к мастер-паролю учетной записи, что в дальнейшем открывает доступ к паролям, сохраненным в самом LastPass.
Но нужно помнить, что невзламываемых систем не существует, и пока они, в концепции, невозможны: все что было придумано, так или иначе можно взломать. Не взламывается только то, что не оцифровано или вообще не существует в физическом исполнении.
Помните об этом и берегите свои данные.
На правах рекламы
Серверы с NVMe — это именно про виртуальные серверы от нашей компании.
Уже давно используем исключительно быстрые серверные накопители от Intel и не экономим на железе — только брендовое оборудование и самые современные решения на рынке для предоставления услуг.