в начало  предыдущее  закрыть  следущее  в конец
Закрыть окно

Программно-аппаратный токен lsToken


Комитет ТК-26 подготовил документ  « Методические рекомендации. Расширение PKCS#11 для использования российских стандартов ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012, ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015».

Данные рекомендации определяют расширение спецификаций PKCS#11 для использования криптографических алгоритмов ГОСТ Р 34.10-2012 (электронная подпись), ГОСТ Р 34.11-2012 (хэширование), ГОСТ Р34.12-2015 и ГОСТ Р 34.13-2015 (алгоритмы шифрования кузнечик и магма), а также алгоритмов, построенных на их основе, а также использования ключей, сертификатов, параметров алгоритмов и других объектов, предназначенных для работы с этими стандартами. Данный документ базируется на стандарте PKCS#11 v.2.40.

На базе этих методических рекомендаций был разработан программно-аппаратный токен lsToken, реализующий российские криптографические стандарты ГОСТ Р 34.10-2001/2012, ГОСТ Р 34.11-94/2012, ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015, а также ГОСТ 28147-89.

Программно-аппаратный токен lsToken входит в состав семейства токенов LS11. В качестве ключевого носителя используется обыкновенная флешка - USB-флеш-накопитель.

Токен lsToken может хранить объекты ключевой пары (CKO_PRIVATE_KEY, CKO_PUBLIC_KEY) типа CKK_GOSTR3410 или CKK_GOSTR3410_512, объекты сертификатов CKO_CERTIFICATE типа X.509, объекты данных CKO_DATA, ключи для симметричного шифрования и хеширования, а также параметры домена.

lsToken поддерживает следующие механизмы PKCS#11:

bash-4.3$ p11conf -m -A /usr/local/lib64/libls11usb2016.so -c 0

Mechanism #0

Mechanism: CKM_GOSTR3410_KEY_PAIR_GEN (0x1200)

Key Size: 256-256

Flags: 0x10000 ( CKF_GENERATE_KEY_PAIR| )

Mechanism #1

Mechanism: CKM_GOSTR3410_512_KEY_PAIR_GEN (0xD4321005)

Key Size: 512-512

Flags: 0x10000 ( CKF_GENERATE_KEY_PAIR| )

Mechanism #2

Mechanism: CKM_GOSTR3410 (0x1201)

Key Size: 256-256

Flags: 0x2800 ( CKF_SIGN|CKF_VERIFY| )

Mechanism #3

Mechanism: CKM_GOSTR3410_512 (0xD4321006)

Key Size: 512-512

Flags: 0x2800 ( CKF_SIGN|CKF_VERIFY| )

. . .

Mechanism #48

Mechanism: CKM_TLS12_MASTER_KEY_DERIVE (0x3E0)

Key Size: 48-48

Flags: 0x80000 ( CKF_DERIVE| )

Mechanism #49

Mechanism: CKM_TLS12_KEY_AND_MAC_DERIVE (0x3E1)

Key Size: 32-32

Flags: 0x80000 ( CKF_DERIVE| )

Mechanism #50

Mechanism: CKM_TLS_MAC (0x3E4)

Key Size: 12-48

Flags: 0x2800 ( CKF_SIGN|CKF_VERIFY| )

Mechanism #51

Mechanism: CKM_TLS_KDF (0x3E5)

Key Size: 32-48

Flags: 0x80000 ( CKF_DERIVE| )

Mechanism #52

Mechanism: CKM_SHA_1 (0x220)

Key Size: 0-0

Flags: 0x400 ( CKF_DIGEST| )

Mechanism #53

Mechanism: CKM_MD5 (0x210)

Key Size: 0-0

Flags: 0x400 ( CKF_DIGEST| )

OK

bash-4.3$

Программно-аппаратный токен поставляется как флешка, на которой создан токен, а также хранятся (каталог DISTR) для различных платформ (MS Windows/Linux/ARM/MK) и разрядности:

  • Библиотека PKCS#11 ls11usb;

  • Утилита p11conf;

  • Руководство Программиста «lsToken – программно-аппаратная реализация PKCS#11 v2.40 с поддержкой ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012, ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015»;

  • Тестовые сертификаты;

  • Дистрибутивы Firefox и Thunderbird с поддержкой российской криптографии;

  • Дополнительное ПО по желанию заказчика (на цену не влияет), работающее через интерфейс PKCS#11.

  • Если вы используете токен lsToken в Linux, то желательно, чтобы в системе было включено автомонтирование USB-устройств. Если этого нет, то необходимо примонтировать флэшку с токеном.

    После получения токена lsToken все, что требуется пользователю – скопировать с флэшки библиотеку ls11usb, а также установить требуемое ПО.

    И самое главное, поскольку. Пользователь получает токен с предустановленным User PIN (см. README.txt на флэшке) и первым делом в целях безопасности он должен сменить этот PIN-код. Для этого в состав поставки входит утилита p11conf :

    #p11conf -h

    usage: p11conf [-hitsmIupPred] -A APIpath [-c s-U userPin -S SOPin -n newPin -L label]

    -h display usage

    -i display PKCS11 info

    -t display token info

    -s display slot info

    -m display mechanism list

    -I initialize token

    -u initialize user PIN

    -p set the user PIN

    -P set the SO PIN

    -r remove all objects

    -e enumerate objects

    -d dump enumerated object attributes

    #

    И так, первое, что должен сделать пользователь после получения токена - это изменение user PIN:

    #p11conf -A /usr/local/lib64/ls11usb2016.so -p -c 0

    Enter user PIN: *********

    Enter the new user PIN: ************

    Re-enter the new user PIN: ***********

    #

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

    bash-4.3$ /usr/local/bin64/p11conf -s -A /usr/local/lib64/libls11usb2016.so

    Slot with ID 0 Info

    Description: Flash Udisk

    Manufacturer: Generic

    Flags: 0x7 ( TOKEN_PRESENT|REMOVABLE_DEVICE|HW_SLOT )

    Hardware Version: 2.0

    Firmware Version: 2.0

    Token #0 Info:

    Label: LS11USB_RAB

    Manufacturer: Generic

    Model: Flash Udisk

    Serial Number: ECBC5E8FEA09E720

    Flags: 0x80040D ( RNG|LOGIN_REQUIRED|USER_PIN_INITIALIZED|TOKEN_INITIALIZED)

    Sessions: 0/256

    R/W Sessions: 0/256

    PIN Length: 4-32

    Public Memory: -1/-1

    Private Memory: -1/-1

    Hardware Version: 2.0

    Firmware Version: 2.0

    Time: 17:59:27

    Slot with ID 1 Info

    Description: MassStorage

    Manufacturer: Rutoken

    Flags: 0x7 ( TOKEN_PRESENT|REMOVABLE_DEVICE|HW_SLOT )

    Hardware Version: 2.0

    Firmware Version: 2.0

    Token #1 Info:

    Label: LS11USB_RUTOKEN_64

    Manufacturer: Rutoken

    Model: MassStorage

    Serial Number: 40D17616A5F6F718

    Flags: 0x80040D ( RNG|LOGIN_REQUIRED|USER_PIN_INITIALIZED|TOKEN_INITIALIZED|)

    Sessions: 0/256

    R/W Sessions: 0/256

    PIN Length: 4-32

    Public Memory: -1/-1

    Private Memory: -1/-1

    Hardware Version: 2.0

    Firmware Version: 2.0

    Time: 17:59:27

    . . .

    Slot with ID 3 Info

    Description: LS11USB2016 Slot 3

    Manufacturer: LISSI-Soft Ltd

    Flags: 0x6 ( REMOVABLE_DEVICE|HW_SLOT )

    Hardware Version: 2.0

    Firmware Version: 2.0

    OK

    bash-4.3$

    Все, после копирования в систему библиотеки ls11usb и смены пользовательского PIN, токен lsToken готов к использованию в приложениях:, например, подключайте в Firefox, Thunderbird и пользутесь ГОСТ-ым https, подписывайте и шифруйте почту. Если у вас на токене lsToken хранится, ваш личный сертификат, полученный в одном из аккредитованных УЦ,  то вы можете получить доступ в личный кабинет на портале Госуслуг.

    Альтернативой такому токену может быть облачный токен LS11CLOUD:





    Дополнительные материалы по PKCS#11:

    1. Доступ к порталу Госуслуг из Linux с токенами PKCS#11
    2. Доступ в личный кабинет налоплательщика ФНС с помощью браузера Firefox с поддержкой российской криптографии
    3. Браузер Redfox и почтовый клиент Redfoxmail
    4. Токены PKCS#11: сертификаты и закрытые ключи
    5. Токены PKCS#11: генерация ключевой пары и неизвлекаемость приватного ключа (Продолжение)

    © 2002-2018. ООО "ЛИССИ-Софт". Все права защищены
    Телефон: +7(495) 589-99-53
    Техническая поддержка: +7(499) 110-90-40
    E-mail: [email protected]