Использование аппаратного токена для входа в систему

StackOverflow https://stackoverflow.com/questions/804676

  •  03-07-2019
  •  | 
  •  

Вопрос

Я новичок в теме криптографии и изучаю PKI, PKCS и т.д.Я понимаю основную концепцию PKI и то, как она используется для шифрования / дешифрования.Однако я сбит с толку тем, как аппаратный токен, такой как USB-токен или смарт-карта, используется для безопасного входа на ваш компьютер.Вот шаги, как я их понимаю, и та часть, которая меня смущает (заранее прошу прощения за объем вопроса):

Сценарий:Компьютер xyz в сети содержит данные, доступ к которым имеют только пользователи, принадлежащие к группе SECRET.Пользователи Боб и Джо входят в эту группу, и им были выданы USB-токены, которые они могут использовать для предоставления учетных данных, которые позволят им получить доступ к этим ресурсам.USB-токен использует двухфакторную аутентификацию и требует ввода PIN-кода.Токен совместим с PKCS11.

  1. Боб вставляет USB-токен в компьютер с Linux
  2. Модуль PAM-PKCS11 распознает это событие и предлагает Бобу ввести свой PIN-код.
  3. Как только Боб правильно вводит свой 4-значный PIN-код, модуль проверяет действительность сертификата на токене Боба с помощью (это варьируется, но что является минимальным?):
    • Поиск корневого сертификата для проверки наличия доверенного центра сертификации
    • Проверка дат действия сертификатов и списков отзыва
    • Сопоставление идентификатора токена с пользовательским файлом (где?, пропуская шаг) или каталог (LDAP и т.д.)
  4. Если все выглядит хорошо, модуль информирует PAM об успешном результате.
  5. Эта строка помечена как достаточная, чтобы PAM приняла аутентификацию, а Боб вошел в систему и мог просматривать информацию, доступную только пользователям из СЕКРЕТНОЙ группы.

Часть, которую я упускаю, заключается в том, где хранится информация о том, может ли Боб получить доступ к этому компьютеру и как именно он привязан к Бобу, сетевому (или даже настольному) пользователю.Я понимаю, что другие идентифицирующие данные о Бобе будут храниться на USB-накопителе, включая идентификатор (например, адрес электронной почты).Однако, как обеспечивается такая надежная защита?Где используется криптография во время процесса входа в систему, если используется вообще (или это не является реальной целью этих токенов)?Если кто-то доберется до USB и узнает 4-значный PIN-код, это, по-видимому, все, что нужно, не так ли?Более того, по сути ли это доверие к CA, которое позволяет доверять тому, что другой пользователь не может получить новый USB-токен, и использовать доверенный CA для получения нового сертификата, но указать, что все идентифицирующие данные совпадают с данными Боба?Я знаю , что есть какая - то важная часть , которой мне не хватает ..но после прочтения десятков статей объяснение этой области кажется затушеванным.Хорошая ли идея использовать аппаратный токен в качестве достаточного средства аутентификации для входа на компьютер, содержащий конфиденциальные данные?Или назначение таких токенов в первую очередь заключается в безопасном хранении пар ключей, которые используются в других приложениях?Спасибо за вашу помощь!

Это было полезно?

Решение

PAM (как следует из названия) обрабатывает только аутентификацию.Аутентификация заключается в подтверждении того, кто является пользователем, т.е."Докажи мне, кто ты такой, за кого себя выдаешь". Это отдельно от авторизации, которая есть, т.е."У вас есть доступ к этому ресурсу?".

Аутентификация имеет три аспекта:
1.Я Знаю
2.У меня есть
3.Я Такой и есть

Типичная комбинация имени пользователя и пароля вписывается в 1.В то время как токен или другое устройство PKCS вписывается в число 2, а биометрические данные, такие как распознавание радужной оболочки глаза или считывание отпечатков пальцев, вписываются в число три.

Чем больше этих аспектов у вас есть в вашей системе безопасности, тем лучше / строже система безопасности.В этом случае логин вписывается в 1 и 2, поэтому является более безопасным, чем просто имя пользователя и пароль.Если кто-то вытащит у него pin-код и украдет его устройство, то да, это не будет доказательством того, что им пользуется Боб.Но тогда и этого бы не произошло, если бы Боб дал кому-то свое имя пользователя и пароль.

Смысл токена состоит в том, чтобы ввести второй фактор "наличия" чего-либо, тот факт, что вам также нужен PIN-код, означает, что также требуется "знание" чего-либо.Таким образом, система может быть больше уверена в том, что человек является тем, за кого себя выдает.

Недостающая часть, на которую вы ссылаетесь, это Авторизация как указано, это отдельный процесс от аутентификации и происходит только после того, как пользователь аутентифицировал себя.В этом случае PAM аутентифицировала Боба и предоставила операционной системе подтверждение того, что Боб действительно использует систему.Однако затем операционной системе пришлось бы выполнить какую-то другую проверку на шаге 5, чтобы подтвердить, что у Боба был доступ к ресурсу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top