Page tree
Skip to end of metadata
Go to start of metadata

Обеспечение поддержки входа в Mac OS X по токену или смарт-карте Рутокен ЭЦП.

Данная инструкция применима к OS X версии 10.9 и новее

В качестве примера настроим аутентификацию для учетной записи mactest сертификатом некого Фомичева Артема

Предварительная подготовка.

1. Для аутентификации в системе используется сертификат RSA (1024 или более), выписанный на токен Рутокен ЭЦП. Также вам понадобится корневой сертификат (в виде .cer файла). Для аутентификации в OS X может использоваться любое устройство данного семейства:

  • Рутокен ЭЦП
  • Рутокен ЭЦП SC (Смарт-карты)
  • Рутокен ЭЦП Flash
  • Рутокен ЭЦП Bluetooth (при подключении по USB-кабелю)

2. На компьютере под управлением OS X должен быть установлен модуль поддержки Связки ключей (Keychain), который можно скачать с официального сайта по ссылке. После установки данного модуля токены Рутокен будут видны в Связке ключей. Связку ключей (Keychain) можно найти в Программы/Утилиты (Applications/Utilities).

Внешний вид панели Связки ключей при установленном модуле поддержки и подключенном к компьютеру Рутокен ЭЦП

Настройка аутентификации

1. Операции по настройки аутентификации осуществляются через Терминал (Terminal) который можно найти в Программы/Утилиты (Applications/Utilities).

Внешний вид Терминала

2. Первоначально необходимо активировать возможность аутентификации по смарт-картам с помощью команды:

sudo security authorizationdb smartcard enable

Данная команда возвращает YES (0) в случае успешного выполнения.

 

3. Привяжем приватный ключ на токене к аккаунту пользователя.

  • Выполним в Терминале:

    sc_auth hash

    Будет выведен список сертификатов и соответствующих им хешей, например в нашем случае это

    2EBBFE1E97C69C112C8D62BAD14179DD700361D6 0x00000001 <blob>=0xD0A4D0BED0BCD0B8D187D0B5D0B220D090D180D182D0B5D0BC "\320\244\320\276\320\274\320\270\321\207\320\265\320\262\320\220\321\200\321\202\320\265\320\274
    11DDC9B01B6FE8DCF5B30BF0577F345C6A9AC8B6 com.apple.systemdefault
    1875A5E521113C138308DCC5E52A1F1B3BB382A6 com.apple.kerberos.kdc
    11DDC9B01B6FE8DCF5B30BF0577F345C6A9AC8B6 com.apple.systemdefault
    1875A5E521113C138308DCC5E52A1F1B3BB382A6 com.apple.kerberos.kdc

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

  • Свяжем пользователя с приватным ключом на токене по хешу сертификата, выполнив

    sudo sc_auth accept -u `whoami` -h ${HASH}

    Где в качестве ${HASH} используется хеш сертификата, находящегося на токене. Его можно скопировать любым удобным способом из выдачи предыдущей команды. Обращаю ваше внимание, что с whoami используются обратные кавычки. Альтернативно можно здесь и далее вместо `whoami` использовать имя вашего пользователя (в данном случае - mactest). 

  • Проверить корректность привязки можно с помощью команды

    sc_auth list -u `whoami`

    Команда должна вернуть указанный нами хеш.

 

4. В "Связке ключей" (Keychain) необходимо разместить корневой сертификат в связке "Система" (System). Сделать это можно перетащив сертификат в окошко связки "Система".

Установка корневого сертификата в Связку ключей "Система"

Для проверки корректности работы аутентификации извлечем токен Рутокен и перезагрузим систему. Первоначально мы увидим стандартный запрос пароля, однако с подключением токена вместо "пароль" в окошке ввода появится "PIN".

Запрос пин-кода токена при аутентификации

 Вводим пин-код пользователя токена и успешно аутентифицируемся в системе. 

  • No labels