После трех с половиной лет разработки был выпущен пакет Sequoia 1.0 edition , содержащий библиотеку функций и инструментов командной строки с реализацией стандарта OpenPGP (RFC-4880).
В релизе обобщена работа над низкоуровневым API , который обеспечивает покрытие стандарта OpenPGP, достаточное для полноценного использования. Код проекта написан на Rust и распространяется под лицензией GPLv2+.
Проект был основан тремя участниками команды GnuPG из g10code, компании, занимающейся разработкой плагинов для GnuPG и аудитом криптосистем. Команда Sequoia также известна созданием сервера ключей Hagrid, используемого сервисом keys.openpgp.org.
Целью нового проекта было изменение архитектуры и применение новых методов для повышения безопасности и надежности кодовой базы.
Для повышения уровня безопасности Sequoia использует не только защищенные инструменты программирования на языке Rust, но и защиту от ошибок на уровне API.
Например, API предотвращает случайный экспорт секретного ключа , поскольку операции экспорта по умолчанию требуют явного выбора. Аналогичным образом, API гарантирует, что при обновлении цифровой подписи не будут пропущены важные шаги; по умолчанию время создания, алгоритм хеширования и эмитент подписи обновляются автоматически.
Sequoia также пытается избавиться от недостатков GnuPG , таких как рассинхронизация функциональности инструментов командной строки с библиотекой функций (некоторые действия можно выполнить только с помощью утилиты) и чрезмерно тесная связь между компонентами, что затрудняет внесение изменений, затрудняет понимание кода и препятствует созданию полноценной системы модульного тестирования.
Компания Sequoia разрабатывает утилиту командной строки sq с поддержкой подкоманд в стиле Git , программу sqv (замену gpgv) для проверки отдельных подписей, утилиту sqop (интерфейс командной строки 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" и высокоуровневые API все еще находятся в стадии доработки и не стабилизированы.
Ограничения, которые планируется снять в будущих выпусках, включают реализацию служб для хранения закрытых и открытых ключей, поддержку цифровых подписей в виде открытого текста и возможность использования регулярных выражений для определения доверенных подписей.