Skip to content

Instantly share code, notes, and snippets.

@Leo5878
Last active July 15, 2022 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Leo5878/33987eb4b477b3d075675154b2a3b6f3 to your computer and use it in GitHub Desktop.
Save Leo5878/33987eb4b477b3d075675154b2a3b6f3 to your computer and use it in GitHub Desktop.

Проброс USB токенов по сети

Задача

Создать возможность использование USB токенов для подписи документов, без физического владения токеном, а так же возможность подписывать документы нескольким лицам одной подписью.

Решение

Решением является технология «Ethernet over USB» (eng - Wikipedia.org). Чаще всего данную технологию можно найти по запросу USB over IP (далее usbip). Usbip - состоит из клиент-серверного ПО. Клиентом выступает компьютер которому необходимо подписать документ. Сервером (главным компьютером. Далее сервер) - выступает компьютер внутри компании, к которому подключается USB токен для подписи. Для работы сервера необходимо следующее:

  • Операционная система (далее ОС) Linux. Ubuntu или Arch Linux.
  • Серверное ПО под названием usbip
  • Достаточно количество USB кондецаторов (USB порты) для подключения токенов.

Для работы клиента: Клиентское ПО так же необходимо usbip, только, клиентский и настроить на стороне клиента. Для программ и сайтов, где необходима подпись, выглядит это все так, как-будто USB вставлен физически в компьютер, благодаря симуляции, которая создаёт программа.

Если кратко То работает это все по принципу браузера. Вот как сайты вы открывайте, точно так же. Для пользователя процесс подписания изменится не должен.

Безопасность Технология - безопасна, при соблюдении основных атрибутов безопасности. Так же возможна подпись из дома, благодаря изоляции протокола в VPN.

Оценка времени работ Примерно: от 2х-5 дней учитывая тестирование. На разворачивание рабочего прототипа: от 1-4х дней, в случае дополнительных препятствий не зависящих от компании It-do время может быть увеличено. Так же время может быть увеличено, в случае непредвиденных ситуаций или ситуаций, которые сложно оценить не проведя реальных тестов:

  • Пропускная способность интернета внутри офиса.
  • Проблемы с крипто-про или какими-то другими сервисами/программами.
  • и т.д.

Планируется выделить от 4х-8 часов в день на: обсуждение, подготовку, разворачивание прототипа, настройку у клиентов.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment