Login
Login (англ. login, также встречаются варианты log in, в русском языке — «вход», «вход в систему», реже — «логин» как процесс) — процесс, посредством которого пользователь идентифицируется и получает доступ к информационной системе или приложению.
Термин англ. log in буквально означает «вход в журнал» (англ. log) определённой информационной системы. Для входа в систему обычно требуется указать имя пользователя или адрес электронной почты и пароль. Реже применяют QR-коды или номера телефонов. Механизмы входа являются одним из базовых компонентов информационной безопасности и конфиденциальности в компьютерных системах.
Ввод данных нового пользователя в систему называют регистрацией или англ. signup. Процедура, противоположная входу, то есть завершение работы в системе или приложении, называется выходом из системы.
Компоненты системы, связанные с входом
Процедура входа основана на наличии в системе следующих компонентов:
- Список пользователей;
- Ключ доступа, обычно называемый пароль, для каждого пользователя;
- Права доступа — перечень функций, которые пользователь может выполнять; могут отсутствовать или иметь сложную структуру;
- Классификация пользователя по правам доступа и/или по роли в системе;
- Процедуры, доступные администраторам системы для управления этими сведениями;
- Журнал событий (англ. log), в котором фиксируется история входов и действий.
К этим минимальным сведениям могут добавляться персональные данные пользователя, рабочие предпочтения и другое. Всё это обычно объединяется в учётную запись пользователя (англ. user account).
Процедура входа
- Базовая процедура с текстовым интерфейсом:
- Система запрашивает имя пользователя (англ. username или англ. userid).
- Пользователь вводит своё имя пользователя.
- Система проверяет, содержится ли это имя среди зарегистрированных. В случае успеха она запрашивает пароль; при отсутствии — выдаёт сообщение об ошибке и отказывает во входе.
- Пользователь, уже распознанный, вводит пароль.
- Система сверяет введённый пароль с сохранённым: если они совпадают, предоставляет доступ, иначе сообщает об ошибке и отказывает во входе.
- Более защищённая процедура (также с текстовым интерфейсом):
- Система запрашивает имя пользователя.
- Пользователь вводит имя пользователя.
- Система запрашивает пароль.
- Пользователь вводит пароль.
- Если один из введённых параметров неверен, система сообщает об ошибке, но не уточняет, что именно неверно — имя пользователя или пароль, чтобы затруднить подбор этих данных.
- Процедура с графическим интерфейсом:
- Реализует сходные функции, но обычно одновременно запрашивает имя пользователя и пароль, например, посредством типичной веб-формы приложений. При успешном входе система, как правило, отвечает приветственной страницей системы, приложения или веб-сайта. Иногда применяются упрощённые или менее защищённые процедуры: имя пользователя выбирается из списка или система автоматически предлагает имя по умолчанию.
Во многих случаях, по соображениям безопасности и/или конфиденциальности, пароль хранится в системе в зашифрованном виде; при входе с удалённого устройства также шифруется и вводимый пользователем пароль.
При вводе пароль обычно не отображается на экране явно: вместо него выводятся символы другого типа (чаще всего чёрные кружки, звёздочки и др.), чтобы избежать считывания пароля с экрана; иногда не появляется даже количество символов, чтобы не раскрывать длину пароля. Для той же цели система может изменять число отображаемых символов.
Распространённой проблемой является слабая защищённость паролей, выбираемых пользователями: их можно достаточно быстро подобрать в случае атаки на систему. Недостаточно надёжный пароль сводит на нет пользу от безопасного локального хранения или защищённой передачи пароля и имени пользователя между компьютером и сервером.
Во многих 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.