Использование аппаратного токена для входа - PullRequest
3 голосов
/ 30 апреля 2009

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

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

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

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

1 Ответ

5 голосов
/ 30 апреля 2009

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

У аутентификации есть три аспекта:
1. Я знаю
2. У меня есть
3. Я

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

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

Смысл токена состоит в том, чтобы ввести второй фактор «обладания» чем-либо; тот факт, что вам также нужен ПИН-код, означает, что «знание» чего-либо также необходимо. Таким образом, система может иметь больше уверенности в том, что человек является тем, кем он себя считает.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...