Sự chuyển đổi từ PGP sang Sigstore của Python gây lo ngại về xác thực

BigGo Editorial Team
Sự chuyển đổi từ PGP sang Sigstore của Python gây lo ngại về xác thực

Đề xuất của Python Software Foundation về việc từ bỏ chữ ký PGP để chuyển sang sử dụng sigstore đã làm dấy lên một cuộc tranh luận đáng kể trong cộng đồng lập trình viên, đặc biệt liên quan đến độ tin cậy trong việc xác thực gói phần mềm và những tác động của việc bắt buộc áp dụng.

Hiện trạng của Hệ thống Xác thực Gói Python

Những phát hiện gần đây đã cho thấy những vấn đề đáng lo ngại với hệ thống xác thực PGP hiện tại. Theo các cuộc thảo luận trong cộng đồng, một cuộc kiểm tra được thực hiện vào tháng 5 năm 2023 đã cho thấy trong số 1.069 khóa độc nhất được sử dụng cho chữ ký gói trên PyPI:

  • 30% không thể tìm thấy trên các máy chủ khóa công khai chính
  • Gần một nửa trong số 71% còn lại không thể được xác thực một cách có ý nghĩa
  • Ngay cả các phiên bản CPython cũ hơn phiên bản 2.7 cũng gặp phải thách thức trong việc xác thực

Kế hoạch Chuyển đổi

Seth Myhre Larson, nhà phát triển bảo mật nội bộ của PSF, đã đề xuất việc chuyển đổi hoàn toàn sang sigstore vào năm tới. Sự chuyển đổi này sẽ đánh dấu một bước chuyển đáng kể từ phương thức ký PGP truyền thống vốn đã ăn sâu vào văn hóa mã nguồn mở.

Những Khác biệt Chính và Tác động

Cách tiếp cận của Sigstore

  • Sử dụng OpenID Connect (OIDC) cho việc xác thực danh tính
  • Loại bỏ nhu cầu quản lý khóa PGP thủ công
  • Dựa vào các cơ quan tập trung thay vì mạng lưới tin cậy
  • Triển khai chứng chỉ một lần và xác nhận sổ cái công khai

Những lo ngại của Cộng đồng

  1. Áp dụng Bắt buộc : Một số thành viên cộng đồng cho rằng việc loại bỏ hoàn toàn hỗ trợ PGP mâu thuẫn với nguyên tắc lựa chọn của mã nguồn mở
  2. Tác động đến Phân phối : Các bản phân phối Linux lớn hiện thiếu quy trình làm việc với sigstore
  3. Tập trung hóa : Hệ thống mới phụ thuộc vào một số lượng hạn chế các nhà cung cấp

Giải pháp Thay thế

Một số thành viên cộng đồng đã đề xuất khám phá các phương pháp xác thực khác, bao gồm:

  • W3C DIDs với xác thực dựa trên blockchain
  • Thông tin xác thực có thể kiểm chứng (VCs)
  • Triển khai TUF và Uptane
  • Các phương pháp kết hợp duy trì cả hỗ trợ PGP và sigstore

Sự chuyển đổi này thể hiện một bước ngoặt quan trọng trong cơ sở hạ tầng bảo mật của Python, cân bằng giữa nhu cầu bảo mật hiện đại với sở thích của cộng đồng và những thách thức trong việc triển khai thực tế.