Login

Login (англ. login, также встречаются варианты log in, в русском языке — «вход», «вход в систему», реже — «логин» как процесс) — процесс, посредством которого пользователь идентифицируется и получает доступ к информационной системе или приложению.

Термин англ. log in буквально означает «вход в журнал» (англ. log) определённой информационной системы. Для входа в систему обычно требуется указать имя пользователя или адрес электронной почты и пароль. Реже применяют QR-коды или номера телефонов. Механизмы входа являются одним из базовых компонентов информационной безопасности и конфиденциальности в компьютерных системах.

Ввод данных нового пользователя в систему называют регистрацией или англ. signup. Процедура, противоположная входу, то есть завершение работы в системе или приложении, называется выходом из системы.

Компоненты системы, связанные с входом

Процедура входа основана на наличии в системе следующих компонентов:

  • Список пользователей;
  • Ключ доступа, обычно называемый пароль, для каждого пользователя;
  • Права доступа — перечень функций, которые пользователь может выполнять; могут отсутствовать или иметь сложную структуру;
  • Классификация пользователя по правам доступа и/или по роли в системе;
  • Процедуры, доступные администраторам системы для управления этими сведениями;
  • Журнал событий (англ. log), в котором фиксируется история входов и действий.

К этим минимальным сведениям могут добавляться персональные данные пользователя, рабочие предпочтения и другое. Всё это обычно объединяется в учётную запись пользователя (англ. user account).

Процедура входа

undefined
  • Базовая процедура с текстовым интерфейсом:
    1. Система запрашивает имя пользователя (англ. username или англ. userid).
    2. Пользователь вводит своё имя пользователя.
    3. Система проверяет, содержится ли это имя среди зарегистрированных. В случае успеха она запрашивает пароль; при отсутствии — выдаёт сообщение об ошибке и отказывает во входе.
    4. Пользователь, уже распознанный, вводит пароль.
    5. Система сверяет введённый пароль с сохранённым: если они совпадают, предоставляет доступ, иначе сообщает об ошибке и отказывает во входе.
  • Более защищённая процедура (также с текстовым интерфейсом):
    1. Система запрашивает имя пользователя.
    2. Пользователь вводит имя пользователя.
    3. Система запрашивает пароль.
    4. Пользователь вводит пароль.
    5. Если один из введённых параметров неверен, система сообщает об ошибке, но не уточняет, что именно неверно — имя пользователя или пароль, чтобы затруднить подбор этих данных.
  • Процедура с графическим интерфейсом:
    • Реализует сходные функции, но обычно одновременно запрашивает имя пользователя и пароль, например, посредством типичной веб-формы приложений. При успешном входе система, как правило, отвечает приветственной страницей системы, приложения или веб-сайта. Иногда применяются упрощённые или менее защищённые процедуры: имя пользователя выбирается из списка или система автоматически предлагает имя по умолчанию.

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

При вводе пароль обычно не отображается на экране явно: вместо него выводятся символы другого типа (чаще всего чёрные кружки, звёздочки и др.), чтобы избежать считывания пароля с экрана; иногда не появляется даже количество символов, чтобы не раскрывать длину пароля. Для той же цели система может изменять число отображаемых символов.

Распространённой проблемой является слабая защищённость паролей, выбираемых пользователями: их можно достаточно быстро подобрать в случае атаки на систему. Недостаточно надёжный пароль сводит на нет пользу от безопасного локального хранения или защищённой передачи пароля и имени пользователя между компьютером и сервером.

Во многих Linux/Unix-серверах применяется полуавтоматическая аутентификация с использованием асимметричной криптографии по протоколу SSH. Пользователь генерирует пару открытого и закрытого ключей, устанавливает открытый ключ на серверах, к которым требуется доступ (отключая обычный вход по имени и паролю), а закрытый ключ хранит на своём компьютере, защищая его паролем-фразой (passphrase). При последующих соединениях с серверами из списка вход осуществляется автоматически между компьютером пользователя и сервером.
Открытый ключ выполняет функцию «имени пользователя», а в роли «пароля» выступает закрытый ключ (обычно длиной не менее 128 символов), что решает проблему слабых паролей. Пользователь остаётся анонимным, так как пара ключей генерируется самостоятельно, а не выдается центром сертификации (англ. certification authority), который должен был бы проверить личность пользователя.

Литература

  • Брайан У. Керниган, Роб Пайк. The UNIX Programming Environment. Prentice-Hall, 1984. ISBN 0-13-937681-X.
  • С. Р. Борн. The UNIX System. Addison-Wesley, 1983. ISBN 0-201-13791-7.
  • Морис Дж. Бах. The Design of the UNIX Operating System. Prentice-Hall, 1986. ISBN 0-13-201757-1. (рус. перевод: UNIX: архитектура системы. Джексон, 1988).
  • Генри МакДжилтон, Рейчел Морган. Introducing the UNIX System. McGraw-Hill, 1983. (рус. перевод: Операционная система UNIX. МакГроу-Хилл Либри Италия, 1986, ISBN 88-386-0603-X).
  • С. Г. Кочан, П. Х. Вуд. UNIX Shell Programming. Hayden, 1985.
  • Стивен Прата. Advanced UNIX: A Programmer's Guide. Howard W. Sams & Company (Macmillan), 1985. ISBN 0-672-22403-8.
  • Билл Коурингтон. The UNIX System: a Sun Technical Report. Sun Microsystems Inc, 1985.
  • System V Interface Definition: Issue 2. AT&T, 1986, 3 тома. ISBN 0-932764-10-X.
  • Ребекка Томас, Лоуренс Р. Роджерс, Жан Л. Ятес. Advanced Programmer's Guide to UNIX System V. McGraw-Hill, 1986. ISBN 0-07-881211-9.

Примечания

Ссылки