Команда, разрабатывающая PyPI, индекс пакетов Python, добавляет поддержку WebAuthn в качестве новой бета-функции. Поддержка аппаратных ключей безопасности, совместимых с U2F, позволит PyPI предложить метод двухфакторной аутентификации для входа в систему, работа над которым финансировалась за счет гранта Фонда открытых технологий.
Новый объект проходит тестирование пользователями, входящими в индекс канонического пакета Python по адресу PyPI.org и испытательный полигон в test.pypi.org. Этот метод включает в себя генерацию кода с помощью приложения одноразового пароля на основе времени (TOTP), чтобы сделать учетные записи более безопасными.
В настоящее время это средство расширяется, так что PyPI также поддерживает ключи безопасности WebAuthn, совместимые с U2F для второго фактора входа в систему. Это бета-версия, и она включает в себя ключ безопасности, совместимый с UF2, например, от Yubikey, Google Titan и Thetis. Ключ взаимодействует через USB, NFC или Bluetooth. PyPI поддерживает любой ключ, совместимый с FIDO U2F, и соответствует стандарту WebAuthn. Пользователям, настроившим этот второй фактор, будет предложено использовать свой ключ (обычно вставляя его в USB-порт и нажимая кнопку) при входе в систему.
Сопровождающим и владельцам проектов настоятельно рекомендуется войти в систему и добавить второй фактор. Тем пользователям, которые не хотят использовать бета-версию, рекомендуется использовать приложение TOTP для второго фактора.
2FA используется только для входа в систему через веб-сайт, и предполагается, что это использование защитит от вредоносных изменений в собственности проекта, удаления старых выпусков и захвата учетных записей. Загрузка пакетов будет продолжать работать без предоставления пользователями кодов 2FA.
Продвигаясь вперед, разработчики PyPI работают над реализацией ключей API для каждого пользователя в качестве альтернативной формы многофакторной аутентификации. Это будет использоваться для ряда областей, включая инструменты настройки, шпагат и потоки аутентификации PyPI. Это будут токены для конкретных приложений, которые относятся к отдельным пользователям или проектам, и это будет означать, что пользователи смогут использовать логины на основе токенов, чтобы сделать загрузку более безопасной. Кроме того, планируется создать расширенный контрольный журнал конфиденциальных действий пользователей.
С основными разработчиками Python, стремящимися сократить стандартную библиотеку, PyPI будет использоваться все чаще, поскольку ранее основные модули должны были перейти на нее. Безопасность становится все более важной по мере ее возрастания.