Понедельник, 27 Апреля 2015 г.
Аутентификации в ОС семейства «Linux» с использованием смарт-карт или USB-токенов на базе российской криптографии
Для аутентификации в ОС семейства «Linux» используется PAM-модули (pluggable authentication modules - подключаемые модули аутентификации).
В настоящее время все более широкое распространение получают программно-аппаратные и аппаратные (например, mToken GOST, MS-key K, eToken ГОСТ, ESMART Token ГОСТ и др.) средства криптографической защиты информации (СКЗИ) на базе смарт-карт и USB-токенов с поддержкой российской криптографии (ГОСТ Р 34.11-94/ГОСТ Р 34.11-2012, ГОСТ Р 34.10-2001/ГОСТ Р 34.10-2012, ГОСТ 28147-89). Все это делает возможным осуществить двухфакторную аутентификацию пользователей по личным сертификатам пользователей, хранящихся на смарт-картах или USB-токенах (далее просто носитель). Наличие личного сертификата предполагает хранение на носителе не только сертификата, но и ключевой пары (закрытого ключа).
Для этих целей, специалистами ООО «ЛИССИ-Софт» разработан PAM-модуль pam_p11_gost . Аутентификация происходит следующим образом:
- на носителе выполняется поиск личного сертификата пользователя;
- через PAM производится запрос PIN-кода к токену;
- если аутентификация на токене прошла успешно, то производится подпись случайных данных с помощью закрытого ключа с носителя. Сама подпись выполняется на СКЗИ;
- полученная электронная подпись проверяется с помощью публичного ключа (ключа проверки электронной подписи) из сертификата пользователя.
Если проверка подписи прошла успешно, то модуль говорит наружу, что все хорошо.
Модуль pam_p11_gost поддерживает работу ключевых пар ГОСТ Р34.10-2001, а также ГОСТ Р 34.10-2012 с длиной открытого ключа как 512, так и 1024 бита, генерируемых на программно-аппаратных и аппаратных СКЗИ, поддерживающих интерфейс PKCS11 с учетом требований и рекомендаций технического комитета по стандартизации «Криптографическая защита информации» (ТК 26).
Для того, чтобы аутентификация проходила с использованием смарт-карт и/или USB-токенов необходимо установить модуль pam_p11_gost в в /lib/security/, а сертификат пользователя в формате PEM добавить в файл доверенных сертификатов ~/.eid/authorized_certificates.
Все приложения, требующие аутентификации, должны иметь одноименный файл в каталоге /etc/pam.d, в котором должны быть указаны модули, с помощью которых производится аутентификация и прочие действия.
Рассмотрим применение модуля pam_p11_gost на примере аутентификации в консольном приложении login и графическом приложении kdm.
Для примера, посмотрим на афайл конфигурации для приложения login в ОС Mageia-4.1:
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
#Подключен модуль pam_p11_gost с библиотекой libls_rtpkcs11ecp.so
auth required pam_p11_gost.so /usr/local/lib/libls_rtpkcs11ecp.so
#Родная аутентификация отключена - закомментирована
#auth include system-auth
account required pam_nologin.so
...
Все что потребовалось от нас это закомментировать строку с родной аутентификаций и добавить строку модулем pam_p11_gost. В качестве параметра для данного модуля указывается путь к библиотеки PKCS11 для данного носителя. В нашем примере мы используем программно-аппаратный токен LS_RTPKCS11ECP с поддержкой ГОСТ Р34.11-94/ГОСТ Р 34.11-2012, ГОСТ Р34.10-2001/ГОСТ Р 34.10-2012, ГОСТ 28147-89, в котором в качестве носителя может использоваться токен ruToken Lite.
Теперь после ввода Login пользователю будет предложено ввести Pin-код (Password) для токена/смарт-карты :
VOrlov login:a513
Password for token ruToken Lite:
-bash-4.2$
Аналогично правится файл и для графического приложения kdm:
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
#Подключен модуль pam_p11_gost с библиотекой librtpkcs11ecp.so
auth required pam_p11_gost.so /usr/local/lib/librtpkcs11ecp.so
#Родная аутентификация отключена - закомментирована
#auth include system-auth
account required pam_nologin.so
...
В данном примере мы используем аппаратный токен ruToken ECP, с поддержкой ГОСТ Р34.11-94, ГОСТ Р34.10-2001 и ГОСТ 28147-89.
Перед вводом Login не забудьте вставить токен/смарт-карту в USB-разъем/карт-ридер.
PAM-модуль pam_p11_gost разработан на базе проекта LCSSL и СКЗИ «ЛИРССЛ-CSP».
Специалисты ООО «ЛИССИ-Софт» готовы разработать PAM-модули аутентификации по требованиям заказчика.
Вернуться в архив новостей