Главное:
- PyPI внедрил поддержку цифровой аттестации для проверки подлинности пакетов.
- Цифровая аттестация заменяет устаревшую верификацию PGP-подписей.
- Новая система обеспечивает проверку через внешних провайдеров OpenID Connect.
- Аттестация уже задействована для 21 из 360 популярных пакетов на PyPI.
Переход на новую систему аттестации
Недавно разработчики Python-пакетов в репозитории PyPI объявили о внедрении механизма цифровой аттестации для повышения безопасности и проверки подлинности опубликованных пакетов. Эта новость особенно важна, учитывая, что традиционная система верификации с помощью PGP-подписей была признана устаревшей из-за множества выявленных недостатков, включая трудности с проверкой принадлежности ключей разработчиков. Например, более 29% использованных PGP-ключей не были доступны на публичных серверах, что ставило под сомнение их надежность.
Система цифровой аттестации функционирует иначе: подписи формируются с помощью короткоживущих эфемерных ключей, которые генерируются на основе полномочий, подтвержденных открытыми провайдерами идентификации, такими как OpenID Connect. Это означает, что на этапе публикации пакета, разработчик должен идентифицировать себя через подтвержденный провайдер, что усиливает доверие к данным о пакете.
Преимущества новой системы
Одним из главных преимуществ внедрения цифровой аттестации является независимость от постоянных PGP-ключей. Потеря или компрометация закрытого ключа могут подорвать доверие к подписям, однако в новой системе аттестация основывается на подтвержденных полномочиях в момент размещения пакета. Это обеспечит большее спокойствие разработчиков и пользователей, так как наличие токена верификации делает процесс более безопасным.
Данная система также избавляет от необходимости отслеживать жизненный цикл PGP-ключей. Подтвержденная связь между пакетом и его репозиторием на GitHub или GitLab имеет критическую важность для обеспечения целостности и надежности программного обеспечения.
Текущие результаты и дальнейшие шаги
На данный момент цифровая аттестация внедрена только для 21 из 360 часто загружаемых пакетов на PyPI, что говорит о том, что эта система еще находится на начальной стадии. Важно отметить, что проверки на стороне клиентов (например, pip) пока не интегрированы, что ограничивает возможности пользователей по верификации пакетов. Проект по разработке плагина для pip, который добавит необходимую логику проверки, находится на стадии разработки, что должно улучшить ситуацию в будущем.
Кроме того, система аудита цифровых подписей также включает ведение публичного лога, основанного на структуре "дерево Меркла", что позволяет отслеживать и проверять целостность данных, а также выявлять возможные компрометации как пакетов, так и самого репозитория PyPI. Этот подход значительно повышает уровень прозрачности и безопасности в экосистеме Python, что крайне актуально в условиях постоянных угроз информационной безопасности.
Добавить комментарий