Краткая история паролей от античности до наших дней

в 13:30, , рубрики: безопасность, Блог компании Selectel, интернет, информационная безопасность, пароли, Сетевые технологии, Социальные сети и сообщества
Краткая история паролей от античности до наших дней - 1

Несмотря на то, что Microsoft много лет активно продвигает концепцию «беспарольного будущего», пока что поверить в удивительный новый мир довольно трудно. Разве может быть что-то более незыблемое и постоянное, чем проверка «свой-чужой» с помощью кодового слова? Разбираемся, как пароли появились, распространились и почему IT-корпорации планируют от них отказываться.

Пароль жизни и смерти


Кодовые фразы в привычной нам форме использовались как минимум за 200 лет до Рождества Христова, уже в Древнем Риме. От желающих попасть на территорию городов требовали конкретную фразу, которую часовые получали на деревянной табличке. Что забавно, уже тогда использовался своеобразный аналоговый древнеримский блокчейн — при передаче таблички всегда было известно, у какой группы людей она находится прямо сейчас и если в нужный момент она не возвращалась обратно на регулярную «верификацию», этой группе людей грозили серьезные неприятности.

Следующим логичным шагом в развитии аналоговых паролей стало end-to-end-шифрование. Во многих военных операциях (например, битве за Нормандию), ключевой частью коммуникации стало не только знание пароля, но и знание ответа, которые менялись максимально часто. Практически сличение эмодзи в секретных чатах Telegram.

Первый цифровой пароль и первые утечки


Операционной системой, где был представлен вход по паролю, стала Compatible Time-Sharing System (CTSS), разработанная в MIT. Одной из главных задач в ходе ее создания было распределение ценнейшего ресурса — времени, в течение которого люди могли работать с системой. После ввода пароля человек мог работать в течение четырех часов, за которые нужно было успеть выполнить максимум задач.

Во время ввода пароля был даже аналог современных «звездочек»: если это было возможно, система отключала печатающий механизм для большей приватности во время ввода.

Разумеется, известно и имя «отца» концепции. Это Фернандо Корбато, руководитель команды, создавшей CTSS. Забавно, что, хотя целью было обеспечение информационной безопасности, безопасное хранение самих паролей предусмотрено не было. Причина прозаична: ресурсов у компьютерных систем того времени было не так много, и тратить их еще и на решение этой проблемы было чистым расточительством. «Никто не хотел посвящать слишком много машинных ресурсов задачам аутентификации», — вспоминал Корбато. Разумеется, при таких исходных просто не могли не случиться первые инциденты безопасности.

Они произошли в начале 1960-х. Один из сотрудников обнаружил, что мастер-файл с паролями можно просто распечатать, подав соответствующую команду. Простой и очевидный способ обойти защиту. Первый задокументированный случай стопроцентного компрометирования базы пользователей одного «сервиса».

А в 1966 году кто-то перепутал приветственное сообщение ОС и мастер-файл с паролям. То есть любой, кто заходил в систему, получал доступ ко всем данным сотрудников. По воспоминаниям Корбато, даже нашлись люди, которые воспользовались этим. Ничего криминального: просто сотрудники ради шутки заходили в файлы коллег и оставляли там разные сообщения. Такой вот троллинг на огромных вычислительных машинах 1960-х. Возможность хранить пароли в операционных системах Unix в хешированном виде появилась только в 1970-х.

Обозреваем на Хабре самые интересные и дискуссионные темы из мира IT. Если хотите быть в курсе новостей, традиционно входящих в топ читаемых, подписывайтесь на наш блог.

Возврат к истокам


Следующий этап эволюции — это менеджеры для всех сервисов. Они поспособствовали популяризации мнения, что записать мастер-пароль на бумаге и положить в надежное место — лучшее, что можно здесь сделать. Доводов в пользу этого всего два, но звучат они весьма логично.

  1. Если вы храните пароль в действительно надежном месте, очень маловероятно, что кто-то будет нарушать законы вашей страны, чтобы выкрасть его.
  2. Вы наверняка сделаете свой мастер-пароль длинным и уникальным, чтобы точно не забыть его. Довольно сложно относиться несерьезно к вопросам собственной безопасности. И именно поэтому высок риск однажды все-таки его забыть. И в этом случае восстановление всех паролей (конечно же, тоже сложных и уникальных) ко всем своим сервисам превратится в серьезную проблему.

Таким образом, история паролей прекрасным образом закольцевалась. Начавшись с деревянных табличек в Древнем Риме, она закончилась листочками бумаги в надежных местах.

Пароль как зло


Что интересно, в 2014 году Корбато охарактеризовал придуманную им систему паролей как «кошмар». По его словам, в момент создания они не могли предвидеть появления интернета в его современном виде. По его мнению, ситуация очевидна: никто не может запомнить множество разных сложных слов для всех нужных сервисов, поэтому в реальном мире происходит одно из двух. Либо люди пользуются костылями для запоминания, которые серьезно снижают эффективность концепции, либо пользуются менеджерами, которые Корбато тоже не считает чем-то надежным.

«Пароли не обеспечивают супервысокий уровень безопасности, но их достаточно для защиты от случайного подглядывания», — так Корбато оценивал надежность системы как таковой под конец жизни. Что характерно, Билл Гейтс предсказывал «скорую» смерть паролей (по тем же причинам) еще в 2004 году, однако они до сих пор с нами.

По признанию самого Корбато, у него было около 150 паролей от различных сервисов, и он пользовался различными ухищрениями, чтобы их запомнить. В июле 2019 года он умер в возрасте 93 лет.

Судя по всему, на этом моменте история паролей заканчивается, и они, возможно, переродятся во что-то более надежное и интересное. Конечно, избавление от паролей — процесс не быстрый, но, если идея приживется, через несколько лет мы сможем ощутить результаты изменений. Хотелось бы, чтобы они были положительными.

Автор: softley

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js