Chứng chỉ SSL tự ký có an toàn không?


33

Tôi muốn có một kết nối an toàn, khi tôi đăng nhập vào webmail của mình, phpMyAdmin , v.v.

Do đó, tôi đã ký chứng chỉ SSL của riêng mình với OpenSSL và bảo Apache hãy nghe trên cổng 443.

Điều này trong thực tế có an toàn không? Có phải tất cả mật khẩu của tôi thực sự được gửi qua một lớp an toàn và bảo mật? Nó có gì khác biệt, nếu tôi mua chứng chỉ SSL từ Verisign hoặc ký tên vào chứng chỉ của riêng tôi? Vào cuối ngày, tất cả dữ liệu sẽ có trên máy chủ của tôi. Vậy sự khác biệt lớn là gì?

Câu trả lời:


40

Đây là tất cả về niềm tin. Nếu bạn nhận được một chứng chỉ đã ký từ xác minh, bạn chứng minh cho khách hàng ngẫu nhiên rằng chứng chỉ của bạn đáng tin cậy. Nếu bạn tự ký chứng chỉ, những người không cài đặt chứng chỉ của bạn trên máy tính của họ có thể chắc chắn rằng họ không bị tấn công bởi một cuộc tấn công giữa chừng .

Nếu máy chủ web của bạn chỉ được bạn sử dụng, thì bạn không cần một CA thực sự (chẳng hạn như verisign) để ký chứng chỉ của bạn. Chỉ cần cài đặt chứng chỉ trên các máy bạn muốn sử dụng và bạn sẽ thấy ổn.

Chỉnh sửa: Vì vậy, để trả lời câu hỏi của bạn: Có, mọi thứ đều được mã hóa và bạn có thể chắc chắn không ai có thể đọc dữ liệu nhạy cảm của bạn nếu bạn biết rằng chứng chỉ được trình bày cho trình duyệt web trên thực tế là chứng chỉ bạn đã thiết lập máy chủ web.


12
Mục đích của CA là chứng minh cho người khác thấy một chứng chỉ thuộc về người mà bạn nói nó thuộc về. Vì bạn đã biết chứng chỉ thuộc về ai, về mặt bạn truy cập máy chủ của riêng bạn và xuất trình chứng chỉ của riêng bạn, CA không phục vụ mục đích nào. Tuy nhiên, những người khác không thể truy cập an toàn vào máy chủ của bạn, vì họ không có cách nào để biết chứng chỉ nào đáng tin cậy. (Bạn có biết - tin tưởng vào người bạn đã ban hành.)
David Schwartz

Đây cũng là một cách tiếp cận hợp lý nếu máy chủ sẽ được truy cập bởi một số lượng người dùng hạn chế có thể liên hệ trực tiếp với bạn để xác minh chứng chỉ - các thành viên trong gia đình bạn hoặc nhân viên của một công ty nhỏ, làm ví dụ.
bgvaughan

Một người đàn ông ở giữa có thể phối hợp với CA có thể ghi đè chứng chỉ tự ký không? Ví dụ: Bob kết nối với trang web tự ký của Alice, Scar gửi cho Bob một chứng chỉ khác được ký bởi CA Scar được phối hợp với, trình duyệt của Bob không bao giờ hiển thị cảnh báo SSL. Điều này có thể không?
Xin chào thế giới

14

Đây là tất cả về niềm tin.

Giả sử bạn truy cập một trang web phổ biến xuất trình chứng chỉ. Đây là trang web có nội dung "Đây là tôi là ai, bạn có thể tin tưởng tôi, bởi vì tôi có thư giới thiệu này được ký bởi người mà bạn tin tưởng."

Trong trường hợp này, 'người mà bạn tin tưởng' là một trong những tác giả chứng nhận, người (hy vọng) đã thực hiện công việc chân trong việc thiết lập danh tính của người trình bày giấy chứng nhận thay mặt bạn.

Điều bạn thực sự tin tưởng là sự tin tưởng của tác giả trình duyệt vào sự tin tưởng của cơ quan cấp chứng chỉ vào danh tính của người trình bày chứng chỉ. Cũng thường có nhiều hơn một thẩm quyền giữa bạn và người trình bày, do đó, thuật ngữ: 'Chuỗi tin cậy'. [1]

Khi bạn ký giấy chứng nhận của riêng bạn, không có chuỗi tin cậy. Trang web của bạn đang xuất trình chứng chỉ của riêng bạn cho bạn. Nếu bạn cài đặt chứng chỉ của riêng mình trong trình duyệt của mình như một chứng chỉ mà bạn tin tưởng, thì điều đó được coi là quyền hạn, giống như chứng chỉ được cài đặt sẵn. Sau đó, bạn có một chuỗi tin cậy chỉ với một liên kết.

Nếu sau đó bạn truy cập vào các trang web của riêng bạn và trình duyệt của bạn cảnh báo bạn rằng nó đang xuất trình chứng chỉ không đáng tin cậy, thì bạn nên lo lắng, vì, với bất kỳ trang web nào khác có chứng chỉ không đáng tin cậy, bạn không thể chắc chắn rằng bạn đang liên lạc với trang web thực sự.

Lưu ý rằng tôi đã không đề cập đến mã hóa, chưa. Giấy chứng nhận là về xác thực danh tính của bên mà bạn đang liên lạc. Thông qua các chứng chỉ tin cậy, có một cách để bạn có thể yên tâm một cách hợp lý rằng cửa hàng hoặc ngân hàng của bạn là thật. Khi bạn đã thiết lập danh tính của họ, đảm bảo liên lạc giữa bạn là bước tiếp theo. Điều đó xảy ra rằng các chứng chỉ cũng chứa trong chúng các khóa cần thiết để tạo điều kiện cho bảo mật này. Giả sử bạn đã thiết lập SSL chính xác, thì giao tiếp này an toàn như bạn có với cửa hàng hoặc ngân hàng của mình và mật khẩu của bạn được bảo vệ như nhau. [2]

[1] Đây không phải là một hệ thống hoàn hảo. Một thị trường tự do và một doanh nghiệp có lợi nhuận cao, khối lượng lớn chắc chắn sẽ dẫn đến cắt giảm chi phí: http://www.theregister.co.uk/2011/04/11/state_of_ssl_analysis/

[2] Ít nhất, được bảo vệ đủ để ai đó đột nhập vào nhà bạn sẽ đánh bại những bí mật của bạn thay vì cố gắng bẻ khóa chúng: http://xkcd.com/538/


11

Trên thực tế, chứng chỉ tự ký có thể được bảo mật, không phải theo mô hình chúng tôi đang sử dụng.


Theo mô hình CA (cơ quan chứng nhận) phổ biến rộng rãi mà mọi người hiện đang sử dụng, mục đích của chứng chỉ được ký bởi một CA đáng tin cậy là cung cấp xác thực.

Khi chúng tôi nhận được chứng chỉ, tất cả những gì chúng tôi thực sự thấy là 1 và 0 đến từ jack trên tường; chúng tôi không biết những người 1 và 0 đến từ đâu. Tuy nhiên, vì chứng chỉ được bởi CA - điều mà không ai trên thế giới ngoài CA đó có thể làm - và vì chúng tôi tin tưởng CA xác minh danh tính của chủ sở hữu chứng chỉ, chúng tôi tin rằng chứng chỉ đến từ người mà họ yêu cầu đến.

Tất nhiên, nếu CA bị xâm phạm hoặc không xác minh chính xác chủ sở hữu , tất cả các cược đã bị tắt.


Tuy nhiên, có một mô hình khác, theo đó các chứng chỉ tự ký sẽ cung cấp tính xác thực. Nó được gọi là mô hình công chứng .

Về cơ bản, thay vì tin tưởng vào một CA, chúng tôi phân phối niềm tin cho bất kỳ số công chứng viên nào . Những công chứng viên này lùng sục trên Internet để tìm kiếm các chứng chỉ, giữ một bộ đệm của tất cả các chứng chỉ mà họ đã thấy. Khi bạn truy cập một trang web lần đầu tiên và nhận được chứng chỉ, bạn hỏi một số công chứng viên phân phối toàn cầu xem chứng chỉ cuối cùng họ thấy là gì. Nếu họ không đồng ý với những gì bạn đang thấy, bạn có thể là một phần của cuộc tấn công trung gian.

Theo mô hình này, chứng chỉ tự ký là hoàn toàn an toàn, miễn là chúng tôi cho rằng máy chủ không bị xâm phạm ngay lập tức trước khi bất kỳ công chứng viên nào có thể xem chứng chỉ của nó.


Mô hình công chứng vẫn còn ở giai đoạn sơ khai, và nghi ngờ là nó sẽ chiếm lấy mô hình CA (thực ra, nó không phải - chúng có thể được sử dụng song song) . Dự án hứa hẹn nhất cho đến nay là Convergence.io , có plugin cho Firefox.


2

Đó không phải là TẤT CẢ về niềm tin ....

SSL certs có thể phục vụ hai mục đích - 1) là máy chủ web bạn đang kết nối với mục đích bạn muốn kết nối; và 2) để mã hóa thông tin liên lạc.

Bạn có thể có # 2 mà không có # 1, đó là những gì bạn đã hoàn thành. Những gì còn lại sau đó là xác minh rằng hộp bạn đang kết nối là hộp bạn muốn.

Nếu đó là máy chủ CỦA TÔI, tôi không có vấn đề gì với việc sử dụng chứng chỉ tự ký từ chính mình - mặc dù có một số rủi ro là ai đó có thể giả mạo mọi thứ để tôi kết nối với máy chủ của họ thay vì của tôi. Vì không ai quan tâm đến tôi và máy chủ của tôi và tôi có ít giá trị ở đây, tôi không thấy quá nhiều rủi ro trong việc này.

Mặt khác, nếu thay vì một máy chủ của tôi thì nó là một máy chủ của bạn, thì tôi sẽ lo ngại.


Bạn có định nói: "Nếu đó là máy chủ của bạn thì tôi sẽ KHÔNG quan tâm"?
cherrun

không, anh ấy nói "nếu đó là máy chủ CỦA TÔI thì tôi không có vấn đề gì ... nếu đó là máy chủ CỦA BẠN thì tôi có vấn đề".
Francesco

Bạn không chính xác. Không ai có thể giả mạo mọi thứ để khiến bạn kết nối với máy chủ của họ thay vì của bạn. Họ không có khóa tương ứng với chứng chỉ tự ký mà bạn đã cấp và không thể xuất trình chứng chỉ khác cho bạn vì bạn sẽ không chấp nhận.
David Schwartz

@cherun Quan điểm của tôi là tôi tin tưởng tôi - không phải bạn (hoặc bất kỳ ai khác). Bạn có thể / nên tin tưởng chính mình.
uSlackr

1
-1. Mã hóa được thực hiện bằng cách sử dụng các khóa đối xứng được đàm phán trong quá trình bắt tay. Tất nhiên, bạn sử dụng chứng chỉ để kiểm tra danh tính của bên từ xa, nếu không sẽ có rất ít điểm mã hóa thông tin liên lạc (đó có thể là MITM). Nếu đó là máy chủ của bạn và chứng chỉ tự ký, hãy nhập chứng chỉ của bạn một cách rõ ràng vào máy khách của bạn.
Bruno
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.