
Защитите свои ключи SSH с помощью Secure Enclave вашего Mac
Secretive — это приложение для защиты и управления SSH-ключами с помощью Secure Enclave.
Самый распространённый способ настройки SSH-ключей — хранить их на диске, защищая соответствующими правами доступа. В большинстве случаев это приемлемо, но злоумышленнику или вредоносному ПО скопировать ваш закрытый ключ не так уж сложно. Если вы защищаете ключи с помощью Secure Enclave, их невозможно экспортировать — это заложено в конструкцию.
Если на вашем Mac есть Secure Enclave, он также поддерживает мощные средства управления доступом, такие как Touch ID или аутентификация с помощью Apple Watch. Вы можете настроить ключи так, чтобы для доступа к ним требовалась аутентификация по Touch ID (или через Watch).
Secretive также уведомляет вас всякий раз, когда выполняется обращение к вашим ключам, так что вы никогда не останетесь в неведении.
Для Mac без Secure Enclave можно настроить смарт-карту (например, YubiKey) и использовать её для подписи.
Вы можете загрузить последний релиз на Странице релизов.
brew install secretive
FAQ здесь.
Сборки создаются GitHub Actions с прозрачным процессом сборки и создания релизов, подлежащим аудиту. Начиная с Secretive 3.0, сборки заверяются с помощью GitHub Artifact Attestation. Аттестации можно просмотреть в журнале сборки, а также на основной странице аттестаций.
Хотя Secretive использует Secure Enclave для защиты ключей, он по-прежнему полагается на API Связки ключей для их хранения и доступа. Связка ключей ограничивает чтение ключей приложением (и, в частности, его bundle ID), которое их создало. Если вы собираете Secretive из исходников, убедитесь, что вы используете один и тот же bundle ID, чтобы Связка ключей могла найти ваши ключи.
Поскольку секреты в Secure Enclave не могут быть экспортированы, их невозможно резервировать, и вы не сможете перенести их на новую машину. Если вы приобрели новый Mac, просто создайте новый набор секретов, предназначенный для этого Mac.
Политика безопасности Secretive подробно описана в SECURITY.md. Чтобы сообщить о проблемах безопасности, используйте функцию приватного репортинга GitHub.
Secretive был вдохновлён проектом sekey.
Secretive переведён на множество языков благодаря щедрой команде волонтёров. Чтобы узнать больше, см. LOCALIZING.md. Рабочий процесс локализации Secretive любезно предоставлен Crowdin.