Что такое аутентификация в контексте информационной безопасности?

«Что такое аутентификация в контексте информационной безопасности?» — вопрос из категории Тестирование безопасности, который задают на 24% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Аутентификация — это процесс верификации подлинности субъекта (пользователя, системы или устройства), подтверждающий, что он действительно является тем, за кого себя выдает.

Основные методы аутентификации:

  1. Знание (Something you know): Пароль, PIN-код, секретный вопрос.
  2. Владение (Something you have): Физический токен (RSA SecurID), смарт-карта, мобильное устройство для получения SMS/кода из приложения.
  3. Свойство (Something you are): Биометрия (отпечаток пальца, сканирование лица, радужной оболочки глаза).

Многофакторная аутентификация (MFA) использует комбинацию методов из разных категорий для повышения безопасности (например, пароль + код из SMS).

Пример проверки аутентификации в тесте API (с использованием Bearer Token):

import requests

# 1. Получение токена (процесс аутентификации)
auth_response = requests.post('https://api.example.com/auth', json={'login': 'user', 'pass': '123'})
token = auth_response.json()['access_token']

# 2. Использование токена для доступа к защищенному ресурсу
headers = {'Authorization': f'Bearer {token}'}
api_response = requests.get('https://api.example.com/secure-data', headers=headers)

# Проверка сценариев:
# - Успех: status_code == 200 с валидным токеном.
# - Ошибка: status_code == 401 с невалидным/просроченным токеном.
# - Ошибка: status_code == 403 если токен валиден, но прав недостаточно (это уже авторизация).

Важное отличие:

  • Аутентификация (Authentication): «Кто вы?» — проверка личности.
  • Авторизация (Authorization): «Что вам разрешено?» — проверка прав доступа к ресурсам.