Русский
Русский
English
Статистика
Реклама

Openpgp

Вышел пакет Sequoia 0.20.0, реализация OpenPGP на Rust

18.10.2020 20:21:07 | Автор: admin

Вчера был представлен выпуск пакета Sequoia 0.20.0. Он предлагает библиотеку функций и инструментарий командной строки с реализацией стандартов OpenPGP (RFC-4880). Команда проекта состоит из трех человек участников проекта OpenPGP (RFC-4880). Для повышения безопасности и надежности кодовой базы они решили создать новую свободную реализацию OpenPGP на языке Rust. Код проекта распространяется под лицензией GPLv2+.

Цель разработчиков не только повышение безопасности продукта, но и избавление от недостатков GnuPG. Без нарушения совместимости или кардинальной переработки кодовой базы их нельзя устранить в основном проекте. Так, связь между отдельными компонентами GnuPG достаточно сильная, так что вносить изменения сложно, не говоря уже о создании системы unit-тестирования. Инструментарий командной строки gpupg не синхронизирован по функциональности и библиотекой функций, так что ряд действий можно выполнить лишь при помощи утилиты.

У Sequoia есть утилита командной строки sq с поддержкой субкоманд в стиле Git, плюс два вариант API низкоуровневый и высокоуровневый. Есть обвязки для языков C и Python. Поддерживается большая часть возможностей, которые описаны в стандарте OpenPGP, для шифрования, расшифровки, создания и проверки цифровых подписей.

Из дополнительных возможностей это поддержка верификации по отдельно поставляемым цифровым подписям, адаптация для интеграции с пакетными менеджерами и возможность ограничения подписей по пороговым значениям и времени.

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

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

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

sq packet dump --hex message.pgp

New CTB, 13 bytes: One-Pass Signature Packet
Version: 3
Type: Binary
Pk algo: EdDSA Edwards-curve Digital Signature Algorithm
Hash algo: SHA512
Issuer: 83F8 2E4F E9A5 E098
Last: true

00000000 c4 0d frame
00000002 03 version
00000003 00 sigtype
00000004 0a hash_algo
00000005 16 pk_algo
00000006 83 f8 2e 4f e9 a5 e0 98 issuer
0000000e 01 last


Что касается поддержки платформ, то сейчас пакет работает с платформами Linux, FreeBSD, Windows, macOS, Android и iOS. Есть и возможность работы с предоставляемыми этими платформами криптографическими сервисами, включая сопроцессоры для вычисления в изолированных анклавах. Чтобы обеспечить дополнительную изоляцию, практикуется разделение по отдельным процессам сервисов, которые работают с открытыми и закрытыми ключами. Например, в форме отдельного процесса развивается хранилище ключей. Для обеспечения взаимодействия отдельных процессов используется протокол Capn Proto.

В представленной новой версии появился низкоуровневый пакет sequoia-openpgp, программа sqv (замена gpgv) для верификации отсоединенных цифровых подписей (detached signature) и утилита sqop с реализацией интерфейса, не учитывающего состояние (Stateless OpenPGP CLI). Требования к Rust подняты до версии 1.46. Еще расширено использование системы непрерывной интеграции для проверки изменений и улучшен набор для тестирования совместимости с OpenPGP.

В ближайшее время разработчики планируют выпустить версию 1.0, в которой появится и высокоуровневый API, а не только низкоуровневый, как сейчас.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru