Bảo mật & quyền riêng tư

eMudhra thu hồi thêm tám CA sau khi lỗi script làm lộ khóa RSA

eMudhra đã thu hồi tám cơ quan cấp chứng thư số trung gian (intermediate certificate authorities) sau khi phát hiện script chuyển đổi Python của họ làm lộ các khóa riêng tư RSA trong bộ nhớ, vi phạm chính sách bảo mật nội bộ.

Một ổ khóa kính vỡ vụn trên kệ server tượng trưng cho niềm tin TLS bị phá vỡ.
Ảnh minh họa tạo riêng cho bài viết

Bài được dịch tự động từ bản gốc tiếng Anh.

Cơ quan cấp chứng thư số eMudhra đã thu hồi thêm tám cơ quan cấp chứng thư số trung gian (CA) sau khi xác định rằng một script Python tùy chỉnh được sử dụng trong buổi lễ tạo khóa (key ceremony) đã làm lộ các khóa riêng tư RSA. Ban đầu, công ty tuyên bố các CA này không bị ảnh hưởng bởi sự cố xâm nhập vào tháng Mười, nhưng đã thay đổi lập trường vào đầu tháng Mười Một sau khi điều tra thêm và thảo luận với các chương trình root của trình duyệt.

Chuyện gì đã xảy ra

Sự cố bắt nguồn từ một buổi lễ tạo khóa vào ngày 30 tháng 4 năm 2025, nơi eMudhra tạo ra 16 khóa CA trên các mô-đun bảo mật phần cứng (HSM) của Utimaco. Các khóa này dự kiến được chuyển sang HSM Crypto4A tại các địa điểm của công ty ở Mỹ và EU. Vì việc di chuyển khóa giữa các HSM của những nhà cung cấp khác nhau bị hạn chế, đội ngũ vận hành PKI đã viết một script Python để đóng gói (wrap) và mở gói (unwrap) các khóa cho mục đích vận chuyển. Trong quá trình chạy thử nghiệm việc chuyển giao này, script đã đọc các khóa riêng tư từ HSM vào bộ nhớ của máy tính thực hiện buổi lễ để tái tạo chúng.

Đối với tám khóa ECDSA, một dòng lệnh trong script đã cắt ngắn giá trị riêng tư xuống còn byte dẫn đầu, tạo ra các khóa yếu nghiêm trọng và sau đó được chứng nhận. Mặc dù tám khóa này đã bị thu hồi vào tháng Mười, ban đầu công ty tin rằng tám khóa RSA được xử lý qua cùng script là an toàn vì script không cắt ngắn chúng. Tuy nhiên, cuộc điều tra tiết lộ rằng các thành phần riêng tư của những khóa RSA này, chẳng hạn như số mũ riêng tư và các số nguyên tố, vẫn nằm trong bộ nhớ của tiến trình Python trên máy tính thực hiện buổi lễ.

Việc phơi bày này có nghĩa là eMudhra không thể chứng minh sự tuân thủ đối với Tuyên bố Thực hành Chứng nhận (CPS) của chính mình về cách xử lý khóa. Công ty tuyên bố "không thể khẳng định chắc chắn rằng dữ liệu khóa này tuân thủ" các quy tắc quản lý cách khóa ra vào HSM. Do đó, tám CA RSA đã bị thu hồi vào cuối tuần trước. Sáu CA dành cho chứng chỉ website TLS và hai CA dành cho ký mã code, bao phủ 195 chứng chỉ đã được cấp, trong đó có 29 chứng chỉ cho các tên miền của chính eMudhra.

Chi tiết chính

  • Tám CA trung gian bị thu hồi do khóa RSA bị lộ trong bộ nhớ, chứ không phải do lỗi cắt ngắn khóa.
  • Lỗi xuất phát từ một script Python được sử dụng trong buổi lễ tạo khóa vào ngày 30 tháng 4 năm 2025.
  • 195 chứng chỉ bị ảnh hưởng, bao gồm các chứng chỉ cho các trường đại học, một quận và chính eMudhra.
  • Công ty ban đầu tuyên bố các CA này không bị ảnh hưởng trong bản cập nhật gửi Mozilla vào ngày 19 tháng 10.
  • Lý do thu hồi được liệt kê là cessationOfOperation (ngừng hoạt động) thay vì keyCompromise (khóa bị xâm phạm).
  • Microsoft sẽ loại bỏ các root eMudhra còn lại khỏi Windows và Edge bắt đầu từ ngày 16 tháng 11.

Bối cảnh

Các Mô-đun Bảo mật Phần cứng (HSM) là những thiết bị vật lý được thiết kế để tạo và lưu trữ các khóa mã hóa một cách an toàn. Nguyên tắc cốt lõi khi sử dụng HSM là các khóa riêng tư không bao giờ được rời khỏi thiết bị dưới dạng văn bản rõ (plaintext). Khi các tổ chức cần di chuyển khóa giữa các nhà cung cấp HSM khác nhau, họ thường sử dụng các quy trình đóng gói để mã hóa khóa cho việc vận chuyển. Trong trường hợp này, script tùy chỉnh của eMudhra đã bỏ qua các biện pháp bảo vệ tiêu chuẩn bằng cách đọc khóa vào bộ nhớ hệ thống để tái tạo, tạo ra một khoảng thời gian mà dữ liệu bí mật dễ bị trích xuất hoặc ghi log.

Các Cơ quan Cấp chứng thư số (Certificate Authorities) hoạt động dưới các cuộc kiểm toán nghiêm ngặt như WebTrust và phải tuân theo Tuyên bố Thực hành Chứng nhận (CPS). Nếu một CA không thể chứng minh rằng khóa riêng tư được xử lý theo các quy tắc này, các trình duyệt và hệ điều hành có thể thu hồi niềm tin đối với CA đó. Điều này đảm bảo rằng nếu một khóa có khả năng bị xâm phạm, ngay cả khi chưa có bằng chứng về việc lạm dụng, rủi ro sẽ được giảm thiểu bằng cách vô hiệu hóa chuỗi tin cậy.

Tại sao điều này quan trọng

Đối với các nhóm vận hành phần mềm tự host (self-hosted), sự cố này nhấn mạnh sự mong manh của niềm tin trong hệ sinh thái chứng chỉ công khai. Nếu bạn dựa vào các chứng chỉ từ thương hiệu emSign của eMudhra, dịch vụ của bạn có thể sớm gặp lỗi tin cậy trong trình duyệt và hệ điều hành. Microsoft đang loại bỏ các root eMudhra còn lại vào ngày 16 tháng 11, và Apple sẽ chấm dứt niềm tin đối với tất cả chứng chỉ G1 vào ngày 30 tháng 11. Điều này có nghĩa là các công cụ nội bộ, API hoặc ứng dụng hướng đến khách hàng sử dụng những chứng chỉ này sẽ ngừng hoạt động trừ khi được di chuyển.

Ngoài sự gián đoạn tức thì, câu chuyện này là một bài học cảnh báo về việc viết script tùy chỉnh trong hạ tầng bảo mật then chốt. Ngay cả những tổ chức lớn, đã được kiểm toán cũng có thể đưa ra các lỗ hổng nghiêm trọng thông qua những lỗi lập trình đơn giản. Đối với các trưởng nhóm DevOps và IT, nó nhấn mạnh tầm quan trọng của việc xác minh nguồn gốc và cách xử lý các tài liệu mã hóa, đặc biệt khi sử dụng các CA bên thứ ba có thể đang rút lui khỏi thị trường hoặc gặp vấn đề về ổn định.

Bạn có thể làm gì

  • Kiểm tra xem dịch vụ của bạn có sử dụng chứng chỉ do các phân cấp G1 hoặc G2C của eMudhra cấp hay không thông qua nhật chí Certificate Transparency.
  • Thay thế ngay lập tức bất kỳ chứng chỉ nào bị ảnh hưởng bằng chứng chỉ từ một nhà cung cấp ổn định và đáng tin cậy.
  • Cập nhật các hệ thống macOS lên phiên bản 27.2.1, 26.7.3 hoặc 15.8.3 để đảm bảo các công cụ đi kèm như curl từ chối các root bị xâm phạm.
  • Theo dõi nhật chí ứng dụng của bạn để tìm các lỗi bắt tay TLS (TLS handshake failures) có thể chỉ ra vấn đề tin cậy với các chứng chỉ cũ.
  • Xem xét lại các quy trình quản lý khóa của chính bạn để đảm bảo không có script tùy chỉnh nào làm lộ khóa riêng tư trong bộ nhớ.
  • Xác minh rằng stack giám sát của bạn cảnh báo bạn về tình trạng hết hạn hoặc thay đổi trạng thái thu hồi của chứng chỉ.

Tin khác

Tất cả tin