Tại sao chứng chỉ SSL không dấu được xử lý tệ hơn không có chứng chỉ SSL?


19

Nếu tôi xem một trang web có chứng chỉ SSL không dấu hoặc tự ký, trình duyệt của tôi sẽ đưa ra cảnh báo. Tuy nhiên, cùng một trình duyệt không có vấn đề gì cho phép thông tin đăng nhập được gửi qua các trang không bảo mật.

Tại sao chứng chỉ tự ký lại bị đối xử tệ hơn là không có chứng chỉ?

Câu trả lời:


16

Có rất nhiều người cảm thấy rằng hệ thống này bị hỏng.

Đây là logic đằng sau lý do tại sao trình duyệt của bạn sẽ đưa ra cảnh báo đáng báo động như vậy khi chứng chỉ SSL không hợp lệ:

Một trong những mục đích thiết kế ban đầu của cơ sở hạ tầng SSL là cung cấp xác thực các máy chủ web. Về cơ bản, nếu bạn truy cập www.bank.com, SSL cho phép máy chủ web phản hồi để chứng minh rằng trên thực tế, nó thuộc về ngân hàng của bạn. Điều này ngăn một kẻ mạo danh thao túng DNS hoặc sử dụng một phương pháp khác để có một máy chủ độc hại phản hồi.

"Tin cậy" trong SSL được cung cấp bằng cách yêu cầu bên thứ ba đáng tin cậy (các công ty như VeriSign và Thawte Consulting) ký chứng nhận, cho biết rằng họ đã xác minh rằng nó thuộc sở hữu của người đó (theo lý thuyết bằng cách truy cập quản trị viên CNTT người hoặc phương pháp khác tạo niềm tin trực tiếp, mặc dù bằng chứng cho thấy họ thực sự khá lỏng lẻo về điều đó - tất cả những gì cần có để có chứng chỉ SSL đã ký thường là 800 số và một chút kỹ năng diễn xuất).

Vì vậy, nếu bạn kết nối với máy chủ web cung cấp chứng chỉ SSL, nhưng nó không được ký bởi bên thứ ba đáng tin cậy, theo lý thuyết, điều này có thể có nghĩa là bạn đang liên lạc với một kẻ mạo danh giả danh là máy chủ thuộc một tổ chức khác .


Trong thực tế, chứng chỉ tự ký thường chỉ có nghĩa là tổ chức chạy máy chủ đã chọn không trả tiền cho chứng chỉ đã ký (chúng có thể khá đắt, tùy thuộc vào các tính năng bạn muốn) hoặc thiếu chuyên môn kỹ thuật để định cấu hình ( một số giải pháp doanh nghiệp nhỏ cung cấp cơ chế một lần nhấp cho chứng chỉ tự ký, nhưng để có được chứng chỉ tin cậy đòi hỏi nhiều bước kỹ thuật hơn).

Cá nhân tôi tin rằng hệ thống này đã bị hỏng và việc liên lạc với máy chủ không cung cấp mã hóa sẽ nguy hiểm hơn nhiều so với giao tiếp với máy chủ cung cấp SSL với chứng chỉ tự ký. Có ba lý do trình duyệt không hành động như thế này là trường hợp:

  1. Truyền thông không được mã hóa là tiêu chuẩn trên internet, vì vậy nếu các trình duyệt khiến bạn nhấp qua cảnh báo để xem các trang web không cung cấp mã hóa, bạn sẽ nhanh chóng cảm thấy khó chịu và vô hiệu hóa cảnh báo.
  2. Do những cảnh báo nghiêm trọng cho khách hàng, thật bất thường khi thấy một chứng nhận tự ký trên một trang web sản xuất. Điều này thiết lập một hệ thống tự tồn tại: các certs tự ký là đáng ngờ vì chúng hiếm, chúng hiếm vì chúng đáng ngờ.
  3. Đây là âm thanh hoài nghi đối với tôi, nhưng có những công ty kiếm được rất nhiều tiền từ việc ký chứng chỉ SSL ( ho Verisign ho ), vì vậy họ sử dụng whitepapers (thuật ngữ CNTT có nghĩa là "quảng cáo dài và nhàm chán") và các ấn phẩm khác để thực thi ý tưởng rằng chứng chỉ không dấu là nguy hiểm.

5
Không có chuỗi tin cậy, đó là những gì bạn nhận được với chứng chỉ có chữ ký CA chứ không phải tự ký, không có cách nào để xác minh rằng máy chủ mà bạn đang kết nối là ai nói nó là. Chứng chỉ tự ký rất nguy hiểm theo nghĩa là chúng không cung cấp bất kỳ phương tiện nào cho người dùng để xác minh rằng dữ liệu họ đang truyền đang đến đích mà họ nói. Mọi người bắt đầu học cách tìm kiếm "https" khi thực hiện các giao dịch an toàn, do đó, có một cảnh báo lớn về chứng chỉ không hợp lệ hoặc tự ký được bảo đảm 100%, vì họ đang mất một trong những lợi ích chính của SSL.
MDMarra

Tôi sẽ không nói 'hỏng'. Tôi nghĩ rằng tiện ích tuần tra chứng chỉ Firefox gần với việc triển khai chứng chỉ và quản lý tin cậy hơn so với mặc định. Tuy nhiên, mặc định là tốt hơn so với bỏ qua các mạng tin cậy hoàn toàn.
Slartibartfast

4
@MarkM - Cảm giác của tôi là xác thực không nên được coi là lợi ích chính của SSL. Tôi không có dữ liệu để sao lưu, nhưng tôi nghĩ rằng có nhiều sự cố bảo mật hơn do dữ liệu được truyền qua các kết nối không được mã hóa (ví dụ: kỹ sư bảo mật của Facebook đã bị đánh cắp mật khẩu - họ đã đánh hơi mật khẩu của mạng wifi , vì đăng nhập facebook không được mã hóa) hơn thông qua các cuộc tấn công của MitM hoặc mạo danh, việc thực hiện tương đối phức tạp hơn nhiều. Sự tập trung vào xác thực qua mã hóa trong SSL, như tôi đã lưu ý, chính xác là điều gì tạo ra tình huống này.
jcrawfordor

1
@MarkM - trong khi chắc chắn có chi phí hoạt động, đó là mối quan tâm chính đáng, việc sử dụng các loại giấy không dấu sẽ không gây căng thẳng cho CA, đặc biệt vì CA sẽ không được sử dụng cho chứng chỉ tự ký. Ngoài ra, đối với các tổ chức có đủ sức mạnh, điều đó không đáng lo ngại - hãy xem xét rằng Google hiện mặc định là https cho gmail và một số dịch vụ khác. Tôi hiểu quan điểm của bạn rằng không có xác thực, tính hữu dụng của SSL bị suy giảm. Mô hình hiện tại không được thiết kế tốt. Những gì chúng ta thực sự cần là một giao thức được mã hóa tiêu chuẩn và một giao thức được xác thực để sử dụng an toàn hơn.
nhinkle

5
Ý nghĩa lớn hơn của quan điểm của tôi và NRHinkle đã nói trực tiếp điều này, là chúng ta cần bắt đầu coi mã hóa và xác thực là các mục tiêu riêng biệt và cho phép chúng đạt được một cách riêng biệt. Đây là những lỗ hổng cơ bản với hệ thống SSL ngay bây giờ: 1) Chúng tôi thấy mã hóa và xác thực được gắn bó chặt chẽ - để đạt được cái này, bạn phải đạt được cái kia. Chỉ cung cấp một cái là 'đáng ngờ'. 2) Xác thực phải được lấy từ một số lượng hạn chế các CA chủ yếu vì lợi nhuận. Nói chung, CA là một trong hai rất tốn kém (Verisign vv) hoặc rất mờ ám (namecheap vv)
jcrawfordor

6

Gửi thông tin đăng nhập từ trang này sang trang khác về cơ bản là thực hiện HTTP POST. Không có gì đặc biệt về việc gửi thông tin đăng nhập so với gửi, ví dụ: Tìm kiếm thông qua POST. Nếu bất kỳ bài đăng nào đến trang không an toàn sẽ kích hoạt cảnh báo, người dùng sẽ bị bắn phá bởi các cảnh báo vô nghĩa.

Sử dụng kênh bảo mật cho thấy ý định của lập trình viên để bảo đảm việc chuyển tiền. Trong trường hợp này, sử dụng cảnh báo chứng chỉ tự ký là điều rất đúng đắn.


Đủ công bằng với tôi
dag729

Như một vấn đề thực tế, tôi nhớ lại rằng ít nhất các phiên bản cũ của Netscape Navigator đã bật lên một cảnh báo cho mọi POST không được mã hóa. Tất nhiên, mọi người đều vô hiệu hóa chúng sau năm phút, vì vậy tôi đoán đó là lý do tại sao họ lấy nó ra ...
sleske

4

Tôi không thể nhận xét, vì vậy tôi sẽ đăng thông tin này bổ sung cho thông tin chính xác của user40350.

Tuy nhiên, cùng một trình duyệt không có vấn đề gì cho phép thông tin đăng nhập được gửi qua các trang không bảo mật.

Điều đó thực sự không đúng. Hầu hết các trình duyệt sẽ hiển thị cảnh báo như bạn sắp gửi dữ liệu qua kết nối không bảo mật khi bạn thử lần đầu tiên, nhưng bạn có thể tắt nó để nó không bao giờ hiển thị nữa và tôi cá rằng đó chính xác là những gì bạn đã làm ...

Miro A đã viết:

Gửi thông tin đăng nhập từ trang này sang trang khác về cơ bản là thực hiện HTTP POST. Không có gì đặc biệt về việc gửi thông tin đăng nhập so với gửi ví dụ: Tìm kiếm thông qua POST

Điều này cũng không chính xác, vì các trường mật khẩu là các thẻ html đặc biệt chẳng hạn. Trên hết, các nhãn như "tên người dùng" và "mật khẩu" cũng phản bội rất nhiều sự nhạy cảm của họ. Nó sẽ là hoàn toàn khả thi cho các trình duyệt để xem xét loại thông tin này.


3

Các kết nối được bảo mật bởi giao thức https: // được trình duyệt chỉ ra là "được bảo mật". Ví dụ: một Padlock nhỏ được hiển thị hoặc các phần của URL được đánh dấu màu xanh lá cây.

Do đó, người dùng phải tin tưởng rằng các trang anh ta đang truy cập thực sự là từ URL anh ta đã nhập và không phải từ người khác.

Nếu anh ta không sử dụng https: //, người dùng phải biết rằng dữ liệu đã nhập không được bảo vệ và trang web anh ta đang lướt có thể bị đánh cắp.

Chứng chỉ tự ký không đảm bảo - không mong đợi, rằng trang được lướt tới không bị mạo danh, do đó nó không bảo mật thêm.


1

Một sự khác biệt phải được thực hiện giữa một người đáng tin cậy (được ký bởi một cơ quan mà bạn tin tưởng) và chứng chỉ không đáng tin cậy. Nếu không, ai đó có thể mạo danh ngân hàng của bạn (ví dụ) bằng cách sử dụng chứng chỉ tự ký với sự miễn cưỡng tương đối.

Một cảnh báo trong khuôn mặt của bạn là thích hợp hơn một cảnh báo tinh tế trong trường hợp này bởi vì rủi ro tiềm ẩn là tương đối cao. Mọi người có thể nhấp vào liên kết https và thậm chí không nghĩ rằng ai đó có thể đang ngồi ở giữa theo dõi kết nối. Nếu dấu hiệu cho thấy chứng chỉ không đáng tin cậy là tinh tế (giả sử biểu tượng màu đỏ thay vì màu xanh lá cây, v.v.), thì mọi người có thể dễ dàng bị lừa, loại bỏ các lợi ích của SSL.


Dù sao cũng không dễ để mạo danh ngân hàng nếu bạn có quyền truy cập vào máy tính của người dùng và sửa đổi chứng chỉ của họ? Nếu máy tính của người dùng không bị thay đổi, thì trình duyệt web sẽ không thể sửa đổi URL của trang web để tuyên bố rằng họ là ngân hàng; và nếu họ nhận được một URL rất giống nhau, họ vẫn có thể nhận được chứng chỉ cho trang web đó và người dùng sẽ không quan tâm trang web đó được ký bởi ai, họ sẽ chỉ thấy rằng đó là https và hy vọng rằng URL không phải là URL của ngân hàng của họ ...
Dmitry

Lợi ích của SSL không phải là tin tưởng rằng trang web là bạn nghĩ họ là ai (Điều này là không thể vì ứng dụng của bên thứ 3 có thể thay đổi chứng chỉ của bạn hoặc ngân hàng có thể bị hack); nhưng đúng hơn là tin tưởng rằng giao tiếp giữa bạn và bất cứ ai mà trang web nghĩ là, chỉ có giữa hai bạn và không ai khác có thể hiểu ý nghĩa của giao tiếp đó. Không có chứng chỉ còn tệ hơn là tự ký vì điều đó không quan trọng với việc bạn đang nói chuyện với ai, điều quan trọng là không ai khác có thể chặn được những gì bạn đang nói.
Dmitry

Ngoài việc là người dùng, tôi có thực sự biết Verisign là ai không và tại sao tôi nên tin tưởng họ? Không phải họ quan tâm đến việc bán chứng chỉ cao hơn việc giữ các chủ sở hữu chứng chỉ chịu trách nhiệm cho việc lạm dụng thông tin bạn gửi cho họ?
Dmitry

0

Nhiều lý do tốt đã được liệt kê. Đây là một trong những:

Hãy suy nghĩ về các trường hợp trong đó một trang web an toàn nhúng các yếu tố từ một trang khác. Kẻ tấn công có thể phát hiện những yêu cầu nào dành cho trang web bên ngoài (giả sử bằng cách xem xét thời gian, nó phải đến trước) và những yêu cầu nào dành cho các yếu tố bên trong. Anh ta có thể tự tiêm như một MITM chỉ trong các yếu tố bên trong, sử dụng chứng chỉ tự ký và kiểm soát các phần của trang. Trừ khi có cảnh báo cho các thành phần bên trong sử dụng SSL nhưng không sử dụng chứng chỉ tin cậy, bảo mật của trang bên ngoài sẽ bị tổn hại.

Đây là một ví dụ thực tế. Giả sử tôi là nhà cung cấp và tôi có liên kết 'thanh toán bằng PayPal'. Bạn bấm vào đó, và tôi biết. Tôi chuyển hướng bạn đến PayPal và cho phép bạn có được trang PayPal hợp pháp, an toàn. Nếu tôi đang xem mạng của bạn, tôi biết đó sẽ là yêu cầu đầu tiên của bạn từ PayPal và ngay sau đó bạn sẽ gửi mật khẩu của mình. Vì vậy, tôi MITM submitchứa địa chỉ email và mật khẩu của bạn, thay thế chứng chỉ tự ký của tôi cho PayPal.

Bạn thấy làm thế nào bảo mật của trang bên ngoài bị tổn hại bằng cách không cảnh báo nếu chứng chỉ của trang bên trong là tự ký? Vì vậy, nó phải cảnh báo về các chứng chỉ tự ký đến từ các liên kết.

Và, tất nhiên, nếu bạn nhập httpsthủ công, nó phải cảnh báo bạn. Bởi vì bạn mong đợi nó được an toàn.


-1

Khi người đàn ông trong cuộc tấn công giữa được thực thi trong trang web https: // , cảnh báo chỉ là dấu hiệu của một cái gì đó sai đối với người dùng trung bình. Do đó, đây là một phần rất quan trọng trong bảo mật HTTPS.

Câu hỏi hay là tại sao mã hóa không an toàn một phần là ví dụ không thể có trên HTTP.

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.