Tại sao lưu trữ chứng chỉ SSL và khóa riêng trong các tệp riêng biệt?


11

Các tài liệu mod_ssl Apache cho SSLCertificateFileSSLCertificateKeyFile chỉ thị trạng thái mà nó được 'khuyến khích mạnh mẽ' để lưu trữ một khóa bí mật và một giấy chứng nhận SSL trong cùng một tập tin.

Bây giờ rõ ràng tệp khóa riêng nên được giữ an toàn, nhưng giả sử đó là trường hợp, có bất kỳ rủi ro cụ thể nào trong việc lưu trữ chứng chỉ trong cùng một tệp không? Tôi tò mò muốn biết tại sao hành vi này được hỗ trợ, và vẫn không khuyến khích mạnh mẽ mà không giải thích.

Câu trả lời:


15

Tệp chứng chỉ SSL là một khóa.
Tệp khóa chứng chỉ SSL là khóa của nó.

Lưu trữ cả hai cùng nhau là tương đương với việc gõ chìa khóa của bạn vào khóa trên cửa trước của bạn.
Nếu kẻ tấn công xâm phạm tệp duy nhất, chúng có mọi thứ chúng cần để mạo danh thành công trang web của bạn (chứng chỉ và khóa riêng).

Điều này đặc biệt đúng nếu bạn không có cụm mật khẩu trên khóa SSL của mình (nhiều máy chủ web không cho phép chúng tự động khởi động trong trường hợp xảy ra sự cố).


Những gì bạn đang bảo vệ bằng cách tách các tệp là một lỗi Apache khiến nó đổ nội dung của SSLCertificateFile(thứ cần được công khai) cho máy khách web.
(Theo hiểu biết của tôi, không có lỗi như vậy tồn tại hoặc đã từng tồn tại, nhưng Apache là một phần mềm lớn, phức tạp. Hoàn toàn có thể.)

Nếu Apache bỏ tập tin này và tất cả những gì nó chứa là Chứng chỉ SSL (khóa) thì không có vấn đề gì: Mọi người đều nhận được một bản sao của chứng chỉ đó khi họ thực hiện yêu cầu SSL tới máy chủ.
Nếu tệp chứa khóa cũng như bạn đã thổi bay mọi cơ hội bảo mật - toàn bộ mô hình mã hóa của bạn bị xâm phạm và bạn cần thay đổi khóa.


Cảm ơn, lỗi lý thuyết khiến máy chủ web cung cấp khóa riêng cùng với chứng chỉ chung là phỏng đoán tốt nhất của tôi. Tôi thực sự không đồng ý rằng việc đặt chìa khóa và chứng chỉ trong cùng một tệp tương đương với việc gõ chìa khóa vào cửa trước, nhưng đồng thời, tôi không thể nghĩ ra lý do chính đáng để làm điều đó.
Vortura

1
Nó có thể không tệ như gõ phím vào cửa - có thể gần hơn với việc dán chìa khóa trên đỉnh của khung cửa, hoặc sử dụng một trong những hòn đá giấu chìa khóa đó :-)
voretaq7

7

Các phiên bản cũ của OpenSSL yêu cầu hai tệp riêng biệt (công khai và riêng tư). Các phiên bản cũ của các công cụ mã hóa khác yêu cầu một tệp duy nhất (cả hai trong cùng một tệp). Theo "tinh thần" tương thích (hay còn gọi là "Quản trị viên rên rỉ về sự không nhất quán và phải duy trì hai bộ chứng chỉ), hầu hết hiện nay đều hỗ trợ cả hai.

Việc lưu trữ cả hai chứng chỉ (cũng là chuỗi khóa) trong một tệp không được khuyến khích vì các chứng chỉ khác nhau có phạm vi khác nhau. Đó là vấn đề nhất quán hơn là vấn đề kỹ thuật, trong đó chứng chỉ công cộng phải có quyền truy cập tệp có thể đọc công khai và ngược lại cho riêng tư. Không có nguy hiểm trong việc giữ chứng chỉ công khai của bạn dưới khóa và chìa khóa trên hệ thống của bạn, nó chỉ không phù hợp với mục đích của nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.