Tại sao tôi cần mua chứng chỉ SSL khi tôi có thể tạo chứng chỉ cục bộ?


57

Tôi gặp khó khăn khi hiểu lý do tại sao chúng tôi cần mua chứng chỉ SSL khi chúng tôi có thể tạo chúng tại địa phương bằng cách sử dụng openSSL. Sự khác biệt giữa chứng chỉ tôi mua và chứng chỉ kiểm tra tôi tạo tại địa phương là gì? Có phải nó chỉ là một scam lớn?


17
Về mặt bộ ba CIA về bảo mật thông tin, các certs tự ký cung cấp tính bảo mậttoàn vẹn (nghĩa là chúng cho phép tin nhắn được mã hóa giữa hai bên), nhưng chỉ các cer được ký bởi một nguồn đáng tin cậy mới cung cấp tính xác thực (ví dụ: bên kia trong cuộc trò chuyện được mã hóa của bạn thực sự là người mà bạn nghĩ nó là).
apsillers

10
Hy vọng, khi DNSSEC ra đời, mọi người sẽ có thể tạo chứng chỉ của riêng mình và lưu trữ trong bản ghi DNS. Chuỗi tin cậy DNSSEC sau đó sẽ đủ để chứng minh rằng chứng chỉ thuộc về chủ sở hữu của tên miền. (Tôi không nghĩ rằng đây là một đặc điểm kỹ thuật chính thức (chưa), nhưng nó sẽ rất hay)
jackweirdy

2
Để sử dụng nội bộ, bạn có thể triển khai chứng chỉ dưới dạng tin cậy bằng Chính sách nhóm (trên windows).
Ben

4
Tôi thường tự hỏi tại sao mọi người không chấp nhận tiền in của riêng tôi quá;)
tgkprog

1
Lưu ý: Có (các) nhà cung cấp chứng chỉ cơ bản miễn phí . 90% nhu cầu của mọi người có thể được đáp ứng bởi những điều này. Và một số CA có chứng chỉ chi phí rất thấp, không có lý do gì để phá vỡ ngân hàng bất kể bạn cần gì. (thiếu một phái đoàn tất nhiên)
Chris S

Câu trả lời:


72

Một từ - tin tưởng. Chứng chỉ SSL từ nhà cung cấp mà trình duyệt của bạn tin tưởng có nghĩa là ít nhất họ đã thực hiện xác minh cơ bản để nói rằng bạn là chính bạn.

Nếu không, tôi có thể tạo chứng chỉ của riêng mình cho google.com hoặc yourbank.com và giả vờ là chúng.

Chứng chỉ phải trả tiền không cung cấp bất kỳ mức mã hóa bổ sung nào so với tự ký (thông thường). Nhưng một chứng chỉ tự ký sẽ khiến trình duyệt bị lỗi.

Có các phần của SSL là một scam (chứng chỉ xác thực so với geotrust trong đó verisign đắt hơn tới 100 lần) nhưng không phải tất cả.

Nếu đây là tất cả nội dung, thì không cần chứng chỉ phải trả tiền vì bạn có thể sử dụng các phương thức tin cậy của riêng mình (ví dụ: Không làm gì, hoặc có lẽ chỉ cần kiểm tra dấu vân tay).


8
Nếu đó là tất cả nội dung, bạn có thể triển khai chứng chỉ của mình dưới dạng tin cậy bằng chính sách nhóm.
Ben

2
Mặt khác, ký lái xe là một chút lừa đảo. Đối với những gì nó là, vâng, đó là một sự lột xác lớn, nhưng chúng ta không có lựa chọn nào khác. thành công phần
Matt

2
@Matt - Tôi đã đọc bài viết đó trước đây; khi chúng tôi đang xem xét việc ký mã tại nơi làm việc. Chúng tôi quyết định chỉ tự ký và khuyên mọi người kiểm tra chữ ký. Rất may, chúng tôi có người dùng công nghệ rất cao (chủ yếu).
Mark Henderson

Và certs tự ký tạo ra cảnh báo trong tất cả các trình duyệt. Mặc dù certs từ các nhà cung cấp có thể được xác minh bởi tất cả các trình duyệt chính bởi vì chúng có khóa công khai của các nhà cung cấp đó và có thể xác minh certs của bạn và xác nhận rằng chúng thực sự đã được nhà cung cấp ký.
Matt

23

Toàn bộ điểm của chứng chỉ SSL là để trình duyệt có mức độ tin cậy hợp lý đối với khóa chung của máy chủ cho các giao dịch HTTPS.

Đầu tiên, hãy khám phá những gì sẽ xảy ra nếu chúng ta không sử dụng chứng chỉ. Thay vào đó, máy chủ sẽ gửi khóa công khai bằng văn bản gốc và trình duyệt sẽ bắt đầu giao tiếp được mã hóa bằng cách sử dụng nó (điều đầu tiên cần làm là mã hóa khóa công khai của chính nó và gửi nó một cách an toàn). Điều gì sẽ xảy ra nếu tôi, và kẻ tấn công, nêm mình vào giữa? Tôi có thể thay thế khóa công khai của bạn bằng cách sử dụng khóa của tôi, có kết nối được mã hóa với trình duyệt, giải mã tất cả nội dung tôi nhận được, mã hóa nó bằng khóa chung của bạn và gửi nó (và ngược lại cho lưu lượng truy cập loại phản hồi). Không bên nào nhận thấy sự khác biệt, vì không ai biết các khóa công khai trước đó.

OK, vì vậy chúng tôi đã thiết lập rằng chúng tôi cần một số cách để trình duyệt tin tưởng khóa công khai của tôi. Một cách để làm điều này là lưu trữ tất cả các khóa công khai đã đăng ký trong trình duyệt. Tất nhiên, điều này sẽ yêu cầu cập nhật mỗi khi ai đó đăng ký khóa công khai và điều này sẽ dẫn đến sự phình to. Người ta cũng có thể giữ các khóa công khai trong tay máy chủ DNS 1 , nhưng máy chủ DNS cũng có thể bị giả mạo và DNS không phải là một giao thức bảo mật.

Vì vậy, lựa chọn duy nhất còn lại là "xâu chuỗi" niềm tin thông qua cơ chế ký kết. Trình duyệt lưu trữ thông tin chi tiết của một vài CA và chứng chỉ của bạn sẽ được gửi cùng với một chuỗi các chứng chỉ khác, mỗi chứng chỉ ký tên tiếp theo và đi lên CA gốc / tin cậy / được xây dựng. Công việc của CA là đảm bảo rằng tên miền thuộc về bạn trước khi ký chứng nhận cho bạn.

Vì là một CA là một doanh nghiệp, họ tính phí cho việc này. Một số nhiều hơn những người khác.


Nếu bạn tạo chứng chỉ của riêng mình, bạn sẽ gặp lỗi tương tự như:

nhập mô tả liên kết ở đây

Không có giá trị cho một chứng chỉ không dấu. Nó giống như lấy một cây bút chì và một cuốn sách nhỏ, một bản vẽ hộ chiếu tuyên bố rằng bạn là Barack Obama. Không ai sẽ tin tưởng nó.

1. Sau tất cả, mục nhập DNS của bạn được tạo khi bạn đăng ký tên miền. Sử dụng một giao thức mạnh mẽ hơn cho phép bạn đăng ký đồng thời các khóa công khai sẽ là một khái niệm thú vị.


Bạn cũng có thể sử dụng ghim DNSSEC cho chứng chỉ SSL của mình, vì vậy chứng chỉ xuất phát (cuối cùng) từ ICANN là CA, thay vì từ cơ quan chứng nhận khác. Không có trình duyệt hiện tại nào hỗ trợ điều này, mặc dù Chrome đã từng sử dụng.
Richard Gadsden

Và hiện tại bạn có Dane và bản ghi TLSA DNS của nó cho phép bạn giới hạn một số dịch vụ nhất định đối với các khóa cụ thể hoặc CA cụ thể.
Patrick Mevzek

5

Câu trả lời cho câu hỏi của bạn phụ thuộc vào đối tượng của bạn: Vì toàn bộ hệ thống chứng chỉ dựa trên "niềm tin", người dùng của bạn phải có sẵn để chứng minh chứng chỉ của mình hoặc tin tưởng bên thứ 3 đã thực hiện kiểm tra này và thể hiện thành công bằng cách ký Giấy chứng nhận của bạn. Thuật ngữ "để chứng minh chứng chỉ của bạn" tôi đã sử dụng hơi không chính xác: phiên bản dài phải là: "để chứng minh rằng bạn là chủ sở hữu của chứng chỉ và được phép sử dụng nó".

Nếu tất cả người dùng của bạn biết bạn cá nhân và có khả năng kỹ thuật để chứng minh rằng chứng chỉ của bạn đã được cấp bởi chính bạn, thì không có nhu cầu kỹ thuật để sử dụng chứng chỉ từ nhà cung cấp "được chứng nhận". Trong trường hợp này, chứng chỉ tự ký thậm chí có thể tốt hơn một trong số các nhà cung cấp.

Nhưng trong hầu hết các trường hợp, không có khả năng cho người dùng tự thực hiện quá trình này. Ở đây, những nhà cung cấp SSL đi vào thị trường. Họ cung cấp dịch vụ để thực hiện các kiểm tra này và thể hiện kết quả của các kiểm tra bằng cách ký giấy chứng nhận. Nhưng một thực tế quan trọng cần ghi nhớ là: Bằng cách ký chứng chỉ, nhà cung cấp SSL thể hiện rằng họ đã kiểm tra danh tính nhà phát hành chứng chỉ theo chính sách ký của chính mình. Vì vậy, người dùng phải quyết định xem chính sách này có đủ chính xác hay không và liệu họ có thể tin tưởng vào nhà cung cấp hay không.


4

Điểm chính là, nếu chứng chỉ tự tạo, người dùng thông thường không có cách nào để xác minh tính trung thực của nó. Đối với một chứng chỉ đã mua, họ cho rằng ít nhất đã xác minh những gì được in bên trong chứng chỉ là chính xác. Ý tưởng: nếu bạn đặt điện thoại và địa chỉ của bạn vào chứng chỉ, CA giả sử xác minh nó, nhưng họ hiếm khi làm.

Ngoài ra, chứng chỉ mua hàng có thể theo dõi, điều đó có nghĩa là người dùng của họ luôn có thể theo dõi chứng chỉ đến từ đâu, trong khi chứng chỉ tự ký chỉ là một danh tính ngẫu nhiên.

Đối với nhiều hệ thống, "ký mã" trước đây được yêu cầu từ một CA được ủy quyền, vốn được điều khiển bởi chính sách, nhưng vì chứng chỉ tự ký rất nhiều, nên giờ đây nó không còn được thi hành 100% nữa.


4

Không có sự khác biệt về kỹ thuật (những thứ của riêng bạn không kém an toàn) chỉ là một tổ chức: Chứng chỉ CA của bạn không phải là một phần của cài đặt chuẩn của trình duyệt. Điều này khiến hầu hết mọi người không thoải mái khi kết nối với chứng chỉ của bạn. Nhưng sẽ không có ý nghĩa gì khi mua chứng chỉ cho mạng nội bộ.


3

Nó đi xuống để tin tưởng. Nhà cung cấp SSL "được chứng nhận" được cho là có uy tín (mặc dù điều này có thể bị thao túng) so với chứng chỉ tự ký từ chính máy chủ.

Nếu tổ chức của bạn có ký chứng chỉ riêng thì điều này hoàn toàn có thể chấp nhận được và không gây ra bất kỳ cảnh báo nào cho người dùng (miễn là họ đang sử dụng khóa chứng chỉ của bạn làm nguồn đáng tin cậy) nhưng vẫn sẽ tạo cảnh báo nếu bạn cố gắng sử dụng bên ngoài.

Điểm mấu chốt: để sử dụng nội bộ thì không sao, nếu bạn đang cung cấp bên ngoài cho khách hàng trả tiền, không có cảnh báo nào là yên tâm. Bạn có cảm thấy an toàn hơn khi các giao dịch tài chính của bạn đi qua một nguồn được công nhận hoặc một người nào đó đứng trên đường mà bạn không thực sự biết?


3

Gần đây, LetsEncrypt đã công bố sự sẵn có của các công cụ dòng lệnh của họ để tạo chứng chỉ hợp lệ.

Không có email xác nhận, không chỉnh sửa cấu hình phức tạp, không có chứng chỉ hết hạn phá vỡ trang web của bạn. Và tất nhiên, vì Let Encrypt cung cấp chứng chỉ miễn phí, không cần phải sắp xếp thanh toán.

Đối với những người tự hỏi liệu những chứng chỉ đó có hợp lệ trong các trình duyệt chính hay không, câu trả lời là Có:

Vào ngày 19 tháng 10 năm 2015, các chứng chỉ trung gian đã được IdenTrust ký hợp đồng chéo, khiến tất cả các chứng chỉ do Let Encrypt cấp được tin cậy bởi tất cả các trình duyệt chính. [20]

..... Vào ngày 8 tháng 3 năm 2016, Let Encrypt đã cấp chứng chỉ thứ một triệu sau bảy tháng tồn tại. [39]

Vào ngày 12 tháng 4 năm 2016, Hãy mã hóa rời Beta.

Liên kết dành cho quản trị viên và nhà phát triển hệ thống: https://letsencrypt.org/getting-started/

Trong thời đại công nghệ blockchain và loại bỏ các hệ thống ủy thác của bên thứ ba, đã đến lúc việc cấp giấy chứng nhận đắt tiền bởi một số cơ quan được chọn bắt đầu bị nghi ngờ.

Mặc dù Letsencrypt không liên quan gì đến công nghệ blockchain, nhưng đó là một khởi đầu đúng hướng. Sự cần thiết phải trả một khoản phí cao hàng năm cho một Cơ quan Chứng nhận đắt tiền hy vọng sẽ đi đến hồi kết hợp lý.


2

Nói một cách đơn giản, chứng chỉ SSL tự ký không có nghĩa gì cả. Nó không có giá trị với thế giới bên ngoài. Nó giống như nói "Tôi sở hữu Tây Ban Nha". Bạn có thể thành thật nghĩ rằng bạn làm, nhưng không ai sẽ nhận ra yêu cầu của bạn.

Một sự tương tự tương tự sẽ được phát minh ra một cái gì đó và sau đó tuyên bố bạn sở hữu các quyền đối với sáng chế, nhưng trừ khi bạn đăng ký bằng sáng chế tại văn phòng, bây giờ sẽ khó để nhận được lời của bạn cho nó?


Toàn bộ quan điểm của một chứng chỉ là nó được ký bởi một người có thẩm quyền tin tưởng. Nếu một số trang web có chứng chỉ SSL hợp lệ, điều đó có nghĩa là chủ sở hữu đã gặp rắc rối khi đăng ký trang web của mình, trả tiền cho chứng chỉ SSL và nhận được chứng nhận chính thức từ một số cơ quan chứng nhận trong thế giới thực, do đó có thể không phải là trang web lừa đảo giá rẻ. Mặt khác, nếu bạn tin tưởng các chứng chỉ tự ký, thì trang web lừa đảo có thể chỉ cần tạo chứng chỉ giả mạo của riêng anh ấy (mà bạn sẽ vui vẻ chấp nhận) và voila.

Tất nhiên, nếu đây là mạng nội bộ trên mạng nội bộ riêng tư, thì bạn có thể tin tưởng lẫn nhau vì vậy trong trường hợp này, chứng chỉ có thẩm quyền không thực sự thêm bất cứ điều gì, vì vậy bạn có thể bỏ qua đèn đỏ sáng mà trình duyệt của bạn sẽ ném vào bạn . Tương tự đối với các trang web nhỏ nơi bạn vẫn muốn lưu lượng máy chủ-máy khách được mã hóa nhưng mô hình mối đe dọa của bạn không đảm bảo xác thực mạnh, trong trường hợp đó bạn có thể nhận được bằng chứng chỉ tự ký và chấp nhận (không đáng kể bởi mô hình mối đe dọa của bạn) rủi ro của MITM.

Điều này có thể thỏa đáng khi xem xét các chứng chỉ SSL đáng tin cậy có thể đắt như thế nào.


Nói cách khác, một chứng chỉ tự ký có nghĩa là "Tôi chứng nhận tôi là chính mình - hãy tin tôi !".


2
Điều này là chính xác, nhưng vẫn đáng chú ý rằng các khoản thanh toán chỉ là bằng chứng cho thấy ai đó đã trải qua khó khăn trong việc trả tiền cho cơ quan chứng nhận. Những người bán hàng ở phía bên kia của Verisign / Namecheap / Dù-CA sẽ không làm gì hơn là chỉ gửi một chứng chỉ đến hostmaster@example.org (ví dụ: họ sẽ gửi một đến trang web lừa đảo tiềm năng exqmple.org) .
89c3b1b8-b1ae-11e6-b842-48d705

1
@tristan Hoàn toàn đúng, họ có thể sử dụng các thủ tục chính thức tốt hơn cho loại điều này nhưng tôi đoán các yêu cầu hậu cần sẽ không hợp lý.
Thomas

1
@tristan - đó là một hệ thống không hoàn hảo, nhưng các cơ quan có thẩm quyền có một số động lực để đáng tin cậy. Ví dụ: nếu họ đưa cho một người ngẫu nhiên một chứng chỉ Google, họ sẽ bị xóa khỏi tất cả các trình duyệt theo thứ tự ngắn. Họ cũng cung cấp các certs "xác nhận mở rộng", theo lý thuyết, có nghĩa là họ kiểm tra nhiều hơn. Bất kỳ ai trong số họ cũng có thể quyết định rằng điều này đòi hỏi các xét nghiệm DNA trực tiếp nếu họ nghĩ rằng điều đó sẽ củng cố danh tiếng của họ và mang lại cho họ công việc kinh doanh.
Nathan Long

1
@NathanLong Không phải là đưa ra một 'chứng chỉ Google' cho một số người vô đạo đức, mà ngay cả chứng chỉ EV vẫn chỉ là "ai đó có thể trả lời e-mail từ tên miền này". Dù sao, chúng tôi đang xoay quanh những điểm giống nhau: a) người dùng vẫn cần biết để không đưa tiền cho payqal.com, b) rào cản chi phí cho SSL không đáng có đối với một số kẻ lừa đảo, c) certs trả tiền có nghĩa là nhiều hơn có khả năng một trang web có thể là một tra cứu DNS mà người ta muốn và d) đó là một cách tiếp cận hợp lý để cung cấp giá trị hạt giống trong kịch bản "máy chủ này được sở hữu bởi cùng một người / khác so với lần trước bạn đã kiểm tra"
89c3b1b8- b1ae-11e6-b842-48d705

Tristan, đó là một phần của chi phí. Certs rất rẻ làm xác nhận rất rẻ. Các certs rất đắt tiền (cấp doanh nghiệp) có thể xác nhận rất tốn kém. (mặc dù giá không phải là một chỉ số trực tiếp cho thấy công việc xác thực được thực hiện tốt như thế nào) Một số certs đảm bảo tuyệt đối về bạn là ai nhưng hầu hết chỉ đảm bảo rằng bạn có quyền kiểm soát đối với tên miền mà họ được cấp cho .. .

1

Để giữ cho nó ngắn gọn và đơn giản ... và phá hủy một chút những gì đã nói ...

Đó không phải là vấn đề Mã hóa, với các công cụ thích hợp, bạn có thể tạo chứng chỉ cục bộ với loại mã hóa bạn muốn ... và nhận chứng chỉ hợp lệ.

Ưu điểm chính bạn có được khi mua chứng chỉ từ tổ chức chứng nhận là trong thời gian chứng chỉ hợp lệ, họ giữ trong máy chủ của mình một cơ chế để xác thực bất cứ điều gì bạn đã ký với chứng nhận trực tuyến của bạn ...

PC của bạn không cần phải được kết nối để các sản phẩm kỹ thuật số của bạn được xác minh và xác thực với chứng chỉ của bạn ... bạn nên chuyển hướng xác thực đến tổ chức chứng nhận.


1

Xin lỗi vì đã tham gia vào cuộc thảo luận này quá muộn - tôi nghĩ rằng đáng để chỉ ra rằng bằng cách sử dụng openssl, có thể thiết lập một CA riêng, với chứng chỉ gốc của chính nó, và sau đó tạo chứng chỉ máy chủ được ký bởi CA này. Với điều kiện là chứng chỉ gốc CA được nhập vào trình duyệt và trình duyệt được yêu cầu chấp nhận, chứng chỉ máy chủ sẽ được chấp nhận mà không cần bình luận. (Rõ ràng đây chỉ là một lựa chọn khả thi nếu cộng đồng người dùng nhỏ và tất cả người dùng đều biết nhau.)


-2

Bạn có tin tưởng ai đó nói rằng "Hãy tin tôi" không? Niềm tin vào tính xác thực chỉ có thể được cung cấp bởi "Cơ quan đáng tin cậy" mà mọi người đều tin tưởng. Đây là lý do tại sao chúng ta phải tăng số tiền lớn cho các certs.


2
Theo logic đó, sẽ không có nhà cung cấp chứng chỉ miễn phí. Nhưng mà có.
Chris S
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.