Sequoia 1.0, библиотека, реализующая стандарты OpenPGP

После трех с половиной лет разработки он был опубликован. редактировать пакет Sequoia 1.0, разработка библиотеки инструментов и функций командной строки с реализацией стандарта OpenPGP (RFC-4880).

Запуск подвел итоги работы над низкоуровневым API, который реализует покрытие стандарта OpenPGP, достаточное для полноценного использования. Код проекта написан на Rust и распространяется под лицензией GPLv2 +.

Проект был основан тремя участниками GnuPG из g10code, разработчик подключаемых модулей GnuPG и аудита криптосистем. Команда Sequoia также известна созданием сервера ключей Hagrid, который используется службой keys.openpgp.org.

Целью нового проекта было изменение архитектуры и применение новых методов для повышения безопасности и надежности кодовой базы.

Чтобы повысить безопасность, Sequoia использует не только инструменты программирования конечно они используют язык Rust, но и защита от ошибок на уровне API.

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

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

Секвойя разрабатывает утилиту командной строки sq с поддержкой подкоманд в стиле Git, программа sqv (замена gpgv) для проверки отдельных подписей, служебная программа sqop (CLI OpenPGP без сохранения состояния) и библиотека sequoia-openpgp.

Есть ссылки для языков C и Python. Большинство функций, описанных в стандарте OpenPGP, поддерживают шифрование, дешифрование, создание и проверку цифровых подписей.

Среди расширенных функций отмечается поддержка проверки с использованием отдельно поставляемых цифровых подписей (отдельная подпись), адаптация для интеграции с менеджерами пакетов (APT, RPM, загрузка и т. Д.), Возможность ограничения подписей с помощью пороговые и временные значения.

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

По соображениям безопасности Поддерживается использование криптографических служб, таких как сопроцессоры для вычислений в изолированных анклавах. Для дополнительной изоляции практикуется разделение на отдельные процессы сервисов, работающих с публичными и приватными ключами (взаимодействие процессов организовано по протоколу Cap'n Proto). Например, хранилище ключей разработано в виде отдельного процесса.

Есть два варианта API: низкий уровень и высокий уровень. Низкоуровневый API максимально точно воспроизводит возможности OpenPGP и некоторых связанных расширений, таких как поддержка ECC, нотариальное заверение (подпись на подписи) и элементы проекта будущей редакции стандарта.

Замечено, что согласно запланированной функциональности, Sequoia достигла готовности к выпуску версии 1.0 год назад, но разработчики решили не торопиться и потратить больше времени искать ошибки и писать полную и качественную документацию со ссылками на информацию в стандарте OpenPGP и примерами использования.

Версия 1.0 пока охватывает только блок sequoia-openpgp и утилита проверки цифровой подписи sqv. "Sq" CLI и API высокого уровня еще не стабилизированы и дорабатываются.

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


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.