Dstack-TEE / Dstack-TEE/dstack

gateway: ACME rotation does not deactivate the old account at the CA

Đang mở
#1,009 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Rust
Star
544
Fork
96
Merge trung bình
23 giờ 40 phút
Pull request đã merge (30 ngày)
126

Mô tả

Follow-up to #935.

`RotateAcmeCredentials` registers a replacement account and re-pins every ZT domain's CAA `accounturi` to it. The old ACME account remains valid at the CA.

## Impact

CAA pinning only prevents the old account from issuing for our domains as long as the attacker cannot alter DNS. If the rotation motive is key compromise and the attacker also controls (or races) DNS, the old account can still complete issuance — and CAA resolver caching leaves a window even after re-pinning. Rotation as shipped is an operational re-pin, not a compromise-response tool; #935 documents this but does not close the gap.

## Proposal

Deactivate the old account (RFC 8555 §7.3.6, `"status": "deactivated"`) after the new credentials are published and CAA re-pinning succeeds:

- best-effort with a warning on failure, since the old credential may already be unusable (that is one reason to rotate);
- requires loading the old credential before overwriting it in KV, so the deactivation step must be sequenced into `do_rotate_acme_credentials`;
- check what `instant-acme` exposes for account deactivation.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với do_rotate_acme_credentials và flow RotateAcmeCredentials, sau đó kiểm tra instant-acme cung cấp gì cho việc vô hiệu hóa tài khoản RFC 8555. Giữ lại thông tin xác thực cũ trước khi ghi đè chúng trong KV, công bố thông tin xác thực thay thế và CAA pinning trước, rồi thực hiện việc vô hiệu hóa tài khoản cũ theo best-effort kèm cảnh báo. Hoàn tất khi tài khoản cũ được vô hiệu hóa nếu có thể mà không làm rotation thất bại khi tài khoản đó đã không thể sử dụng.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
rust
Lĩnh vực
security
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
55/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.