Wiki

Clone wiki

comp-house.repo / aladdin-etoken-pro-java

Дошли руки посмотреть/потестировать устройство под названием Aladdin eToken pro 72k под федорами 16 и 17 x86 и x86_64.

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

Итак, что нам надо знать:

  • Opensc не поддерживает этот токен. Вообще. По крайней мере, пока.
  • В opensc и openct вообще нет никакой необходимости. В сети во всех howto используют команды opensc (например, печать публичных ключей токена в формате openssh) исключительно от недостатка фантазии и эрудиции.
  • Несмотря на то, что данный токен позволяет делать многие нестандартные вещи (например, однофакторную защиту или беспарольный контейнер), конечный софт вас, скорее всего, не поймет, поэтому если уж хотите экспериментов - попробуйте сначала стандартную конфигурацию чтобы понимать, где виноваты руки, а где надо лечить беспокойную голову.

Архитектура решения.

Для начала работы с токеном нужен:

pсsc-lite

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

SafeNet Authentication Client (SAC)

Бинарный блоб от нынешнего владельца аладдина - компании safenet.

Текущая версия 8.1. Это первая версия, которая нормально собрана под x86 и x86_64. Таким образом, платформа arm уже вылетает.

Еще минус, эта версия слинкована с libhal, который был выпилен еще в 16 федоре. Но минус не блокирующий. Пакет hal пересоирается с минимальными патчами, а сервис hald вообще ставить необязательно, достаточно одной so.

Помимо прочих печалей, это блоб отсутствует в свободном доступе, хотя спокойно выдается техподдержкой safenet/aladdin по запросу.

Технически блоб состоит из нескольких частей разной степени необходимости:

  • Драйвер для pcsc-lite. Бинарный бандл, который, собственно, обеспечивает чтение-запись токена на самом низком уровне.
  • Модуль libeToken.so с кучей псевдонимов/симлинков libeTFS.so, libeTPkcs11.so,libeTSapi.so. Это тот самый модуль, реализующий высокоуровневый интерфейс pksc#11, которым пользуются все программы-клиенты, когда когда хотят что-нибудь сделать с картами.

Этих двух частей необходимо и достаточно. Кроме того, все это хозяйство работает в консоли.

  • Пара необязательных, но иногда полезных утилит - etProps и Монитор.

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

Эти инструменты требуют тулкит qt4, но несут все необходимое с собой, причем на общем фоне удивительно, что библиотеки qt4 слинкованы динамически и даже прописан верный rpath, так что все работает сразу из коробки и без приседаний!

  • Сервер etSrv

Не могу гарантировать, но по всему выходит, что это сервер, который эмулирует аппаратный токен, реализуя возможности под коммереским названием "виртуальный токен" и "спасательный токен". Для работы с аппартным токеном он не нужен.

Все здорово, но создать виртуальный токен может только продукт safenet TMS, стоимостью в под 200 000р за лицензию, так что соменваюсь, что эта функциональность сильно востребована.

С точки зрения администрирования eTsrv убог и глючен. Сообщений ноль,параметров ноль. Молча стартует и висит демоном. На старте создает сокет в /tmp/eTsrv-*, при остановке не удаляет и молча падает при последующих запусках, если этот сокет не удалить.

  • Дополнительно в пакет завернули сборку nss из мозиллы с утилитами certutil и modtool, чтобы в скриптах при установке и удалении пакета невозбранно лазить по хомякам пользователей, прописывая/удаляя свой модуль защиты libeToken. Эта функциональность не просто не нужна, но и вообще сомнительна с точки зрения здравого смысла и безопасности.

Все вышеперечисленное собрано и упаковано для двух архитектур в deb и rpm, образуя таким образом 4 пакета. Кроме этого, для окончательного запутывания добавлены примитивные скрипты для установки этих пакетов с проверкой подписей в rpm и без.

Забегая вперед, пакеты эти ставить не надо, скрипты запускать тем более.

Установка

Напоследок, то что у нас по теме есть в сети:

Достоинства: Как видно уже из название, это целый сайт, посвящен токенам аладина под линукс.

Недостатки: какой-то старперский сайт, на котором муторно и с ужасным шамканьем рассказывается про перанальные операции на древних дистрах. Асолютно бесполезен.

Раздел про поддержку eToken на сайте роекта opensc. Страница написана так, что сведет с ума любого, кто захочет понять, что же там написано. Не просто бесполезна, но опасна.

Короткое howto на тему, как использовать етокены. Информация отрывочна, инструменты используются неоптимально, без всякой логики. Тем не менее, это один из самых полезных текстов в сети (до появления этой страницы).

Updated