Каждый первый четверг мая в IT-мире отмечается World Password Day: всемирный день паролей. Его предложил ввести в 2005 году Марк Бернетт как напоминание о важности паролей — и выразил пожелание, чтобы хотя бы в этот день пользователи вспоминали о необходимости их периодически обновлять. По предложению Intel Security, с 2013 года он получил своё место в календаре: в 2022 году он пришёлся на четверг 5-го мая.

Современные компьютерные технологии и Интернет невозможны и не представимы без бесчисленных паролей. А также менеджеров паролей, многоэтапных авторизаций, сложных систем шифрования и прочих подобных радостей. Информация во все века была ценностью, угрозой и оружием. Естественно, в информационную эпоху тотальной цифровизации это стало актуальным, как никогда прежде.

▍ Но кто, как и когда придумал снабжать цифровую информацию паролями?


Это случилось на заре компьютерной эры, когда машины были ещё большими, но уже (большей частью) не ламповыми.

Фернандо Хосе Корбато, более известный друзьям и коллегам как «Корби», с середины 1950-х работал в вычислительном центре MIT, Массачусетского технологического института. К началу 1960-х Корбато и его команда работали над перспективной, передовой и очень актуальной тогда идеей систем разделения времени.


Компьютеров было мало, были они большими, крайне дорогими и сложными в обращении. Достаточно вспомнить суету всего НИИЧаВо вокруг «Алдана-3» Привалова у Стругацких в «Понедельник начинается в субботу». А ведь эти машины, при всеобщей потребности в вычислительных мощностях, большую часть времени вычислениями не занимались, а попросту простаивали.

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

Из этих страданий и простоев и родилась рационализаторская идея систем разделения времени. Ведь один редкий и дорогой компьютер, который нужен всем, всегда и ещё вчера, может быть использован гораздо более эффективно, если многозадачная, многопрограммная операционная система позволит нескольким пользователям одновременный интерактивный доступ к вычислительным мощностям с разных коммутаторов или терминалов. Пока одни будут вводить данные или править код, машина будет обрабатывать уже введённые данные других. Паузы в работе одних пользователей заполняются активностью других для оптимального и полного использования вычислительных ресурсов. Профит!


Концепцию систем разделения времени предложили в середине 1950-х Джон Бэкус из MIT и Боб Бемер из IBM, после чего ей плотно занялись в MIT и Оксфорде. «Научить» ранние компьютеры работать в таком режиме было весьма непросто: данные каждого пользователя и его программ должны были храниться в одной и той же машине, способной быстро переключаться между ними. Это занимало бесценные тогда компьютерные циклы, и поначалу, на медленных машинах, это было проблемой.

Фернандо Хосе Корбато и его команда из вычислительного центра MIT стали пионерами в деле практического воплощения этой идеи, продемонстрировав в ноябре 1961 году в деле программный пакет CTSS: Compatible Time-Sharing System. Он работал на специально модифицированной ламповой ЭВМ IBM 709. Затем, после настоятельного убеждения начальства в важности и полезности систем разделения времени, в 1962-м CTSS перенесли на более совершенный транзисторный мейнфрейм IBM 7090. В итоге, в 1963-м, он обосновался на модифицированной же IBM 7094, оставшейся в истории ВЦ MIT как «синяя машина».


Машина в первом варианте имела три или четыре пользовательских терминала Friden Flexowriter. К каждому из них прилагались три блока магнитных ленточных запоминающих устройств IBM 729 Magnetic Tape Unit. При общей памяти IBM 7094 в 32 36-битных «kilowords» пользователи имели доступ к 27000 «слов», ещё 5000 были зарезервированы для операционной системы.

Практический рабочий доступ к CTSS пользователи вычислительного центра MIT получили летом 1963-го года. В октябре 1963-го CTSS развернули на ещё одной IBM 7094, которую назвали «красной машиной» (привет, Морфеус!). В последующие годы к терминалам этих двух ЭВМ с системой разделения времени получили доступ не только сотрудники MIT, но и пользователи из Калифорнии, а затем — из Оксфорда и Эдинбургского университета. А ведь дело было до первого запуска прото-интернета ARPANET в 1969 году.

И всё бы хорошо, но дело было на одном из пиков холодной войны: как раз во время отладки CTSS и её подготовки к практическому применению мир побывал на грани ядерной войны во время Карибского ракетного кризиса. Вычислительные мощности тех лет часто применялись для решения деликатных вопросов, в значительной степени связанных с военными программами. Файлы и хранящаяся в них информация, нередко были делом секретным, или, по меньшей мере, для служебного доступа. Вдруг кто-то из имеющих доступ к системе разделения времени работает на КГБ? Тем паче, что каждый из терминалов использовали разные люди, вычислительные мощности были нужны всем и во всё больших объёмах.

Уже на стадии работ по созданию CTSS возник вопрос: как совместить рациональное использование вычислительных мощностей с тем, чтобы воспрепятствовать доступу любого пользователя к любым данным на «синей» или «красной» машине? Одной из идей было предложить пользователям в начале работы вводить ответы на контрольные вопросы: вроде номера паспорта или водительского удостоверения, «девичьей фамилии матери» и тому подобного. Но в связи с перманентным тогда дефицитом памяти Фернандо Корбато решил, что пароль банально потребует меньше места.

И ещё в 1961 году, при создании CTSS, «прикрутил» к ней пароли. Для подключения к системе через терминал каждый пользователь должен был вводить индивидуальный пароль, позволяющий получить доступ только к его файлам. Более того, было предусмотрено даже отключение печатающего устройства при вводе пароля: для пущей секретности и безопасности.

Фернандо Корбато и «железо» его проекта

Впрочем, система была крайне простой и где-то примитивной. В созданной в интересах безопасности системе безопасность доступа к паролям не особенно предусматривалась: для неё не хватало ограниченных машинных ресурсов. Все пароли хранились в одном мастер-файле на мейнфрейме.

Уже год спустя, в 1962-м, до ввода в практическую эксплуатацию, произошёл первый взлом паролей. Аспирант и сотрудник команды Алан Шер, которому постоянно не хватало отведённых ему на работу с CTSS четырёх часов в неделю, в один прекрасный день «психанул». Он прописал команды, и получил на выходе распечатку мастер-файла с паролями всех пользователей. И даже поделился секретом с парой коллег. В чём чистосердечно признался, но только спустя 25 лет.

И ладно бы хитрый взлом — но в 1966 году из-за сбоя в системе CTSS сама вывела при приветствии вместо соответствующего текста мастер-файл со списком паролей всех пользователей. После чего работавшие с CTSS сотрудники, успевшие записать выведенное, периодически «подкалывали» коллег посредством разных безобразий под их «учётками». В основном невредно и беззлобно, на уровне подписи условного «превед» в чужих файлах.

В целом, созданная Корбато система паролей была весьма примитивной, где-то наивной и не слишком защищённой от взломов. Только в 1970-х годах криптограф Роберт Моррис-старший из Bell Labs изобрёл хэширование: процесс, с помощью которого строка символов трансформируется в цифровой код, представляющий собой заложенную пользователем фразу. В 1988 году «Червь Морриса» осуществил первый массовый взлом паролей в Интернете. С тех пор и компьютерные пароли, и способы их взлома прошли огромный путь — но первым в деле «паролизации» компьютеров и данных всё же был Фернандо Хосе Корбато.


В 1990 году за создание CTSS и паролей к ней Фернандо Хосе Корбато получил одну из самых престижных наград в IT-сфере, а именно Премию Тьюринга за большой вклад в информатику. Впрочем, сам он к концу жизни — а скончался Корбато в 2019-м году — пребывал в несколько мрачном настроении по поводу бесконечного обилия паролей во всемирной сети. И жаловался, что ему приходится хранить список паролей к разнообразным аккаунтам на трёх бумажных листах.

А как вы храните свои пароли?

Комментарии (5)


  1. saipr
    07.05.2022 14:24
    +1

    А как вы храните свои пароли?

    Всё началось в середине 80-х годов прошлого столетия. Когда мы начинали создавать стенд имитационного моделирования, то было принято решение создавать его на базе Unix-а. До этого я работал на ЭВМ М-220 и на первых ЕС ЭВМ. Никаких проблем с паролями не были, я даже и не помню что мы их использовали. Но вот у нас появились на первых импортных персоналках Xenix и SCO UNIX System V/386. Да, конечно появился и MS Dos и Windows. Но мне на всю жизнь запомнился SCO Unix, ну не пускал он в систему с простым паролем, вот тогда и запомнилось, что пароль должен включать строчные и прописные, цифры… Мы несколько дней ставили SCO, а в итоге забыли пароль, никто не записал. Пришлось переустанавливать систему, а это в те времена непростая задача, десятки дискет, скорость и т.д. И тут систем предложила сама сгенерировать пароль для root-а. Я доверился ей. С тех пор (а прошло более 30 лет) этот пароль в моей памяти хранится на первом месте. Я его нигде не записываю, и в наше время, когда без пароля никуда, я использую только его. Правда, для того или иного приложения приходится его модифицировать, то цифры добавишь, то заглавные буквы.
    И, конечно, был прав Фернандо Хосе Корбато по поводу "бесконечного обилия паролей во всемирной сети", от которого можно сойти с ума. Хорошая статья.


    1. litos
      07.05.2022 17:40
      +2

      Неужели в те годы, не было возможности загрузки в однопользовательский режим и сброса пароля или иной процедуры? Вроде ведь UNIX. Зачем переустанавливать?


      1. saipr
        07.05.2022 19:04

        Может и была, но ещё не знали! Слово Unix в диковинку было, а если бы вы знали как все были против Unix и языка C!!! Только СВМ, только ПЛ/1. Сколько мне пришлось бороться, но об этом я ещё расскажу в продолжении.


      1. Paul_Arakelyan
        08.05.2022 15:49
        +1

        Это сейчас нам легко - у каждого вагон компов вокруг, виртуальные машины для экспериментов и цена ошибки в эксперименте - "стремится к 0". А тогда - это, скорее, сравнимо с получением "рута" на новом гаджете, который то ли окирпичится, то ли всё получится, то ли не получится.

        Вполне могла быть ситуация, когда установщик - "совсем не полноценнная ОС", а грубо - "штука для заливания образа дисков". Учитывая, скорее всего, "не очень законное происхождение дистрибутива" и цену звонков по телефону (а то и их невозможность - хз где человек пахал, язык, опять же) - спросить у производителя "а шо делать?" могло быть не вариантом. Зато "просто поставить по новой" - 99% рабочий вариант, вполне приемлемый, если на тебя не давят сроками.


  1. ainoneko
    09.05.2022 07:08

    Его предложил ввести в 2005 году Марк Бернетт как напоминание о важности паролей — и выразил пожелание, чтобы хотя бы в этот день пользователи вспоминали о необходимости их периодически обновлять. 

    А о розовых единорогах вспоминать не надо?
    Периодическая смена паролей — устаревшая практика, пришло время от неё отказаться.