Как смарт-карты работают для проверки подлинности клиентского сертификата?

Я пытаюсь понять, как аутентификация сертификата клиента работает со смарт-картами.

Я читал о настройке Apache для аутентификации пользователей с помощью сертификата. В Интернете есть множество руководств, таких как Веб-сервер APACHE и аутентификация SSL из LinuxConfig.

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

В настоящее время существует несколько USB-токенов, внутри которых могут быть сертификаты, которые можно использовать для аутентификации сертификатов клиентов на веб-сайтах. Вот мои вопросы по таким устройствам:

  • При импорте сертификата как физического устройства браузер позволит мне использовать сертификат в том виде, в котором я его импортировал?
  • Что произойдет, если сертификат имеет PIN-код? Запрашивает ли браузер PIN-код при каждом запуске?
  • Могу ли я быть уверен, что сертификат не может быть извлечен из устройства чтения токенов/смарт-карт? Следовательно, если токен не будет украден, могу ли я быть уверен, что сертификат невозможно клонировать?

person Ottavio Campana    schedule 17.07.2013    source источник
comment
Сразу поясню: сертификат — это публичный ключ, возможно, какие-то дополнительные атрибуты и подпись, покрывающая эти данные. Так что ничего секретного здесь нет и копии не навредят. Секрет — это соответствующий закрытый ключ, а безопасность достигается за счет применения закрытого ключа (обычно в зависимости от ввода PIN-кода) таким образом, чтобы его можно было проверить с помощью открытого ключа из сертификата. Одним из основных назначений смарт-карт является защита закрытого ключа от несанкционированного использования, не говоря уже о извлечении.   -  person guidot    schedule 18.07.2013


Ответы (1)


при импорте сертификата как физического устройства браузер позволит мне использовать сертификат в том виде, в котором я его импортировал?

да. Однако вы можете распознать более высокую задержку при использовании аппаратного токена по сравнению с программным токеном (например, для смарт-карты 2-3 секунды).

что произойдет, если сертификат имеет булавку? Браузер запрашивает пин каждый раз при запуске?

по умолчанию, например. Firefox пытается получить доступ к клиентским сертификатам, только если вы подключаетесь к веб-странице, на которой включена аутентификация клиента HTTPS. Затем будет запрошен PIN-код. Обычно PIN-код больше не нужен, пока токен не удален, но это поведение может отличаться в зависимости от используемого модуля PKCS#11 (программное обеспечение, которое соединяет Firefox с токеном).

Могу ли я быть уверен, что сертификат не может быть извлечен из устройства чтения токенов/смарт-карт? Следовательно, если токен не будет украден, могу ли я быть уверен, что сертификат невозможно клонировать?

Дальше зависит от токена. У некоторых может быть API для извлечения закрытого ключа, но обычно вы можете использовать или удалить только закрытый ключ + сертификат из токена.

person Robert    schedule 17.07.2013