Аутентификация

Аутентификация — это процесс подтверждения и распознавания правильной личности пользователя. Как правило, это касается имени пользователя, пароля, проверки OTP и некоторых дополнительных проверок.

Типы аутентификации

Однофакторная аутентификация (SFA)

Двухфакторная аутентификация (2FA)

Многофакторная аутентификация (MFA)

Токен Аутентификация

Аутентификация на основе сертификата

Биометрическая аутентификация

Однофакторная аутентификация (SFA)

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

Двухфакторная аутентификация (2FA)

Как и SFA, 2FA также использует имя пользователя и пароль с дополнительным проверочным кодом, который будет доступен на их собственном устройстве (мобильном). Это дополнительный уровень защиты для подтверждения их личности. Например, при включении двухфакторной аутентификации в Gmail будет отправлен OTP для подтверждения личности пользователя.

Многофакторная аутентификация (MFA)

Для MFA требуется более одного типа проверки подлинности, например один фактор проверки подлинности, включая биометрический фактор (отпечаток пальца, распознавание лица, распознавание сетчатки глаза и т. д.) или приложение для проверки подлинности. Код, сгенерированный приложением-аутентификатором, является временным, срок действия которого может истечь в течение короткого времени.

Токен Аутентификация

Токен — это материальное устройство, такое как электронный ключ, карта или RFID-чип, которое используется для безопасного доступа к системам. Хакеру сложнее получить доступ к учетной записи, поскольку у него длинные учетные данные.

Аутентификация на основе сертификата

Аутентификация на основе сертификатов использует цифровые сертификаты для идентификации личности пользователя. Цифровой сертификат — это электронный документ, содержащий цифровую идентификацию пользователя, включая открытый ключ, и цифровую подпись центра сертификации. Только центр сертификации может предоставить цифровой сертификат пользователю. Пользователь может войти на свой сервер, используя этот цифровой сертификат.

Биометрическая аутентификация

Самым уникальным методом аутентификации является биометрическая аутентификация, поскольку она аутентифицируется с характеристиками человека. Этот процесс аутентификации включает в себя распознавание лиц, отпечатков пальцев, сканирование сетчатки глаза и так далее.

Авторизация

Авторизация — это процесс предоставления кому-либо возможности доступа к ресурсу с помощью определенных действий.

Типы авторизации

ключи API

Базовая аутентификация

HMAC

ОАут 2.0

ключи API

Как правило, большинство служб API используют ключ API. Ключ API — это длинная строка, к которой прилагается заголовок запроса или URL-адрес запроса, чтобы идентифицировать человека, который выполняет вызов API. В некоторых случаях API предоставляют как открытый ключ, так и закрытый ключ. Открытый ключ может быть включен в запрос, а закрытый ключ может использоваться только при обмене данными между серверами.

Базовая аутентификация

Базовая аутентификация использует имя пользователя: пароль, которые можно поместить в заголовок запроса. Чтобы избежать общедоступного чтения, имя пользователя и пароль могут быть закодированы с помощью метода кодирования Base64. Base64 — это алгоритм кодирования, который позволяет преобразовать любые символы в алфавит, состоящий из латинских букв, цифр, плюса и косой черты.

Например,

Авторизация: Базовая aGVsbG8gd29ybGQ=

Базовая аутентификация использует HTTPS, содержимое сообщения может быть зашифровано в транспортном протоколе HTTP. Когда сервер API получает сообщение, он расшифровывает сообщение и предоставляет запрошенные данные.

HMAC

HMAC расшифровывается как Hash-based Message Authorization Code и является более надежным типом аутентификации, используемым в финансовых API. Секретный ключ доступен только для отправителя и получателя. Отправитель может создать сообщение аутентификации с помощью хеш-функции в сочетании с секретным ключом. Полученное значение, называемое подписью, помещается в заголовок запроса.

Когда получатель (сервер API) получает запрос от отправителя, он генерирует такое же сообщение, в котором используется хеш-функция в сочетании с секретным ключом. Если сообщение соответствует подписи в заголовке запроса, оно принимает запрос, в противном случае запрос отклоняется.

ОАут 2.0

OAuth 2.0 — это самый популярный метод аутентификации и авторизации, который использует сервер аутентификации для связи с сервером API для предоставления доступа. OAuth 2 обеспечивает потоки авторизации для веб-приложений и настольных приложений, а также для мобильных устройств. Платформа авторизации OAuth 2.0 позволяет стороннему приложению получать ограниченный доступ к службе HTTP. Например: Войти через Google, Войти через Facebook, Войти через Github и т.д.