PuTTY-CAC

Бесплатно
Открытый исходный код
Windows

Сайт: github.com/NoMoreFood/putty-cac

PuTTY-CAC — это форк популярного SSH-клиента PuTTY, адаптированный для работы с аппаратными средствами аутентификации, такими как смарт-карты и аппаратные токены. Проект фокусируется на добавлении поддержки сертификатной аутентификации через Windows CAPI, PKCS#11 и современных FIDO-ключей, обеспечивая возможность использования Common Access Card (CAC), PIV-карт, YubiKey и подобных устройств в сценариях удалённого доступа по SSH. Целью разработки является интеграция криптографических операций, выполняемых на аппаратных носителях, с привычным интерфейсом и функционалом PuTTY.

Исторически PuTTY-CAC возник как ответ на потребности организаций и пользователей, которым требуется безопасная аутентификация с использованием ключей, хранящихся в аппаратных токенах, при этом сохраняя совместимость с протоколом SSH и экосистемой PuTTY. Документация и исходный код форка отражают применение стандартных интерфейсов (CAPI, PKCS#11) и расширение возможностей клиента для работы с сертификатами, PIN-кодами и взаимодействием с операционной системой при выборе и использовании ключей. Если публичной документации недостаточно, в тексте кратко отражены общие принципы работы аналогичных расширений PuTTY для аппаратной аутентификации.

  • Поддержка смарт-карт: возможность использования сертификатов и приватных ключей, хранящихся на смарт-картах (CAC, PIV) через интерфейсы CAPI и PKCS#11.
  • Интеграция с FIDO-ключами: совместимость с аппаратными токенами, реализующими FIDO-алгоритмы аутентификации, для использования в SSH-авторизации.
  • Совместимость с PuTTY: сохранение привычного пользовательского интерфейса и настроек PuTTY, включая управление сессиями, туннелированием и настройками соединения.
  • Выбор ключа и PIN: диалог выбора сертификата и ввод PIN-кода для доступа к ключам на устройстве непосредственно из клиента.
  • Поддержка PKCS#11: загрузка и использование PKCS#11-модулей для взаимодействия с широким набором аппаратных токенов и HSM.
  • Совместимость с CAPI: использование встроенных средств Windows для работы с ключами и сертификатами, управляемыми в хранилище ОС.
  • Поддержка нескольких провайдеров: возможность работы с различными поставщиками смарт-карт и библиотеками PKCS#11 без значительных изменений в клиенте.
  • Управление сессиями и ключами: функции для сохранения настроек аутентификации в профилях сессий, упрощающие повторное подключение с теми же аппаратными средствами.
  • Логирование и отладка: улучшенные средства для диагностики проблем аутентификации, включая вывод ошибок взаимодействия с криптопровайдерами и токенами.
  • Платформенная направленность: основной фокус на Windows-средах с возможностью использования PKCS#11-модулей для расширения совместимости с другими платформами.
Подробнее