it-swarm-vi.com

Có ai đang sử dụng chứng chỉ trình duyệt của khách hàng không?

Chứng chỉ trình duyệt của khách hàng dường như là một cách hay để bảo vệ các trang web khỏi những kẻ xâm nhập - không thể đoán được và sẽ khó bị đánh cắp hơn. Tất nhiên, họ không giải quyết tất cả các vấn đề, nhưng họ thêm bảo mật.

Tuy nhiên, tôi đã không gặp phải bất kỳ trang web công cộng sử dụng chúng. Có những trang web sử dụng chúng? Có một số lỗ hổng trong chúng ngăn cản việc sử dụng ngay cả khi bảo mật là quan trọng hoặc một số lý do khác tại sao có quá ít việc sử dụng chúng?

43
StasM

Phía khách hàng được chứng nhận là không có sự đánh đổi chi phí/lợi ích đủ tốt. Chúng rất khó hiểu với người dùng nên chi phí hỗ trợ tăng lên. Và chúng vẫn chỉ là bit và do đó "một cái gì đó bạn biết" và dễ bị tấn công bởi một loạt các cuộc tấn công phần mềm trên trình duyệt, sơ đồ phân phối, lừa đảo, v.v.

Đề án mã thông báo phần cứng (authn hai yếu tố) là tốt hơn cho authn tốt. Các lược đồ đăng nhập một lần (SSO), có khả năng được liên kết và có khả năng được hỗ trợ bởi các mã thông báo phần cứng, giải quyết nhiều vấn đề hơn và dễ triển khai hơn.

Việc quản lý nhiều chứng chỉ sẽ phức tạp hơn nhiều đối với người dùng so với vấn đề nhiều mật khẩu khó khăn hiện tại và các trình duyệt không cung cấp hỗ trợ tốt để chọn chứng chỉ phù hợp. Và nếu người dùng sử dụng một chứng chỉ duy nhất cho nhiều trang web, thì sẽ có vấn đề về quyền riêng tư kể từ khi sử dụng chứng chỉ xác định người dùng.

Trong nhiều thập kỷ, rất nhiều người trong chúng ta đã nghĩ rằng thời đại của PK-crypto của người dùng cuối chỉ ở gần, đặc biệt là những người như tôi say mê vẻ đẹp của RSA. Nó chỉ ra rằng cách nó đã phát triển, bàn trợ giúp và chi phí phát triển và sự tinh tế và phức tạp và vướng mắc pháp lý của PKI trong thế giới thực tiếp tục ăn hết lợi ích.

Thiết bị có vẻ đắt hơn bit, nhưng không phải nếu bit không thực hiện được công việc hoặc sử dụng hiệu quả chúng sẽ làm tăng năng suất.

20
nealmcb

Tôi sử dụng chứng chỉ trình duyệt cho một số ít trang web, nhưng như bạn đã nói chủ yếu chứ không phải trang web công cộng.

Khó khăn chính trong Chứng chỉ phía khách hàng là phân phối chúng. Đó là, làm thế nào tôi có thể cung cấp cho bạn chứng chỉ "toàn năng" một cách an toàn sẽ cấp cho bạn quyền truy cập vào hệ thống của tôi, nếu tôi không biết bạn?
[.___.] Các hệ thống công ty dễ dàng hơn, tất nhiên, cũng như các hệ thống mở cho một nhóm đối tác nhỏ. Nhưng phân phối khóa luôn là một câu đố khó giải. Khó hơn nhiều so với việc chỉ chia sẻ mật khẩu giữa hai bên, xem xét các khía cạnh khóa riêng và bảo vệ chứng chỉ, ....

Tất nhiên, thực sự giải pháp cho vấn đề này, và tôi thậm chí còn sử dụng một giải pháp cho một trang web "công khai". (Tình cờ là trong ngành kinh doanh danh tính, vì vậy nó đáng để họ phải trả giá ...). Giải pháp đó dựa trên xác thực chính qua mật khẩu và sau khi tôi được xác thực đầy đủ, tôi có tùy chọn tải xuống chứng chỉ của mình - giả sử tôi biết phải làm gì với nó.
[.__.] Không nhiều tốt hơn, vì kênh mật khẩu vẫn mở ... nhưng điều đó ít nhất mang lại cho tôi khả năng thay đổi mật khẩu thành một thứ không thể và không thể sử dụng được, và chỉ có CSC ....

Nhưng điều này không phải là nhỏ và phức tạp để thực hiện chính xác. Phân phối vẫn sẽ lỗi hầu hết người dùng.

18
AviD

Theo tôi hiểu, có rất nhiều vấn đề với việc sử dụng chứng chỉ ứng dụng khách trong thực tế. Đây là một số vấn đề tôi đã nghe:

  1. Bắt certs khách hàng. Đó là một nỗi đau cho người dùng ban đầu để có được một chứng chỉ khách hàng ở nơi đầu tiên. Rõ ràng, các trang web không muốn tạo ra những rào cản không cần thiết mà người dùng phải vượt qua trước khi họ thậm chí có thể bắt đầu sử dụng trang web của mình. (Ngay cả khi trang web tạo chứng chỉ ứng dụng khách và cung cấp cho khách hàng không phải là thao tác quen thuộc đối với người dùng - không đề cập đến việc nó có vấn đề về bảo mật, vì lý tưởng nhất là chỉ khách hàng mới biết khóa riêng của khách hàng.) cung cấp các cách để tạo hoặc nhập khóa riêng và certs của khách hàng, nhưng trải nghiệm người dùng thật kinh khủng.

  2. Tôi đã nghe nói rằng một số máy chủ dường như không hỗ trợ tốt máy khách (ví dụ: http://osdir.com/ml/encryption.cryptlib/2005-09/msg00000.html).

  3. Vận động là một vấn đề. Mặc dù tất cả các vấn đề của họ, mật khẩu rất dễ mang theo; certs khách hàng không. Ngay cả khi khách hàng quản lý để tạo khóa riêng và nhận chứng chỉ ứng dụng khách cho nó, nếu họ muốn bắt đầu sử dụng máy tính thứ hai, họ sẽ phải thực hiện một điệu nhảy phức tạp và khó hiểu để chuyển khóa riêng và chứng nhận sang khóa thứ hai máy vi tính. Nếu máy tính đầu tiên của họ chết (hoặc bị lỗi ổ cứng) và họ phải cài đặt lại hệ điều hành hoặc mua một máy tính mới, và nếu khách hàng không sao lưu khóa riêng của họ, họ sẽ không có cách nào để đặt riêng tư khóa và chứng nhận vào máy tính mới của họ; họ khá say sưa. Một trang web có thể tạo phương thức xác thực sao lưu để người dùng bị mất khóa riêng có thể tạo và gửi khóa riêng mới, nhưng phương thức xác thực sao lưu này có thể dễ dàng trở thành liên kết yếu nhất trong chuỗi. Không quan trọng phương thức xác thực chính của bạn mạnh đến mức nào, nếu phương thức sao lưu của bạn dễ dàng bị đánh bại.

  4. Không rõ liệu có sự hỗ trợ đầy đủ từ các trình duyệt cho các máy khách không. Tôi không biết liệu tất cả các trình duyệt khác nhau ngoài đó (bao gồm cả các trình duyệt di động) có hỗ trợ đầy đủ cho khách hàng không.

  5. Mô hình PKI dù sao cũng bị hỏng khá nhiều. Giả định là CA sẽ xác minh danh tính của người dùng (ví dụ: tên thật của họ) trước khi cấp cho họ chứng chỉ ứng dụng khách và giao thức được thiết kế xung quanh giả định này. Tuy nhiên, các CA ngày nay không thực sự xác minh danh tính. Điều này tạo ra sự không phù hợp giữa các giả định thiết kế và thực tế.

  6. Certs khách hàng tạo rủi ro riêng tư cho người dùng. Trong một số trình duyệt, chúng cho phép theo dõi người dùng trên các miền. (Tất cả các trình duyệt đảm bảo cookie cẩn thận chống lại mối đe dọa này: chỉ tên miền đặt cookie mới có thể đọc được. Tuy nhiên, các trình duyệt không kết hợp các biện pháp bảo vệ tương tự đối với các máy khách SSL.) vấn đề, nhưng đó là một lĩnh vực nơi các khách hàng tương đối chưa trưởng thành, theo như tôi biết.

  7. Có những vấn đề kỹ thuật gây phiền nhiễu, nếu khách hàng tạo và ký chứng chỉ ứng dụng khách của chính họ. Theo giao thức TLS, trước tiên, máy chủ được yêu cầu danh sách các CA mà nó sẵn sàng chấp nhận; khách hàng sau đó trả lời bằng chứng nhận ứng dụng khách do CA đó cấp, nếu có. (Lưu ý rằng điều này xảy ra trước khi khách hàng gửi yêu cầu HTTP, bất kỳ cookie HTTP, tên người dùng hoặc bất kỳ thông tin nhận dạng nào khác.) Điều này có nghĩa là, nếu bạn muốn sử dụng các máy khách (tự ký) do khách hàng cấp, thì máy chủ phải biết tên của CA mà máy khách đang sử dụng trước khi máy khách thậm chí xác thực hoặc nhận dạng chính nó. Đó là khó khăn.

  8. Cuối cùng, anh đào trên chiếc bánh: các khách hàng không giải quyết được vấn đề lừa đảo. Chúng ngăn chặn hành vi trộm cắp khóa riêng của khách hàng, nhưng không phải thông tin cá nhân khác. Kẻ xấu vẫn có thể thiết lập một trang web ngân hàng giả (loại bỏ bất kỳ thông tin khách hàng nào gửi đến nó). Trang web lừa đảo sẽ không tìm hiểu khóa riêng của người dùng, nhưng nếu người dùng nghĩ rằng họ đã kết nối với trang web ngân hàng thực, họ có thể nhập số tài khoản ngân hàng, SSN, PIN, v.v., tiết lộ thông tin đó cho kẻ tấn công.

Tất cả những điều này chuyển thành khả năng sử dụng kém và tăng chi phí hỗ trợ (ví dụ: các cuộc gọi trợ giúp). Nói tóm lại, bạn có thể sử dụng certs của khách hàng, ít nhất là về nguyên tắc; Trong thực tế, thực tế, làm như vậy là bất tiện cho mọi người và khả năng sử dụng rất tệ.

Về cơ bản hơn, có một vấn đề gà và trứng: cho đến khi nhiều trang web bắt đầu sử dụng certs của khách hàng, các nhà sản xuất trình duyệt sẽ không đặt ưu tiên cao cho việc sử dụng certs của khách hàng; và cho đến khi các trình duyệt làm cho các ứng dụng khách có thể sử dụng được, các trang web sẽ không chấp nhận chúng. Nói cách khác, nếu chúng ta muốn sử dụng các máy khách để giải quyết vấn đề xác thực chung, chúng ta phải cả thuyết phục tất cả các nhà sản xuất trình duyệt thực hiện các thay đổi lớn đối với trình duyệt, thuyết phục các trang web áp dụng công nghệ mới. Không có lợi ích tích lũy cho bất cứ ai cho đến khi tất cả các bên này thực hiện thay đổi phối hợp. Đó là một trở ngại lớn cho việc áp dụng.

Có các giải pháp tốt hơn để xác thực an toàn trên web, liên quan đến HTTPS, cookie an toàn liên tục và khôi phục dựa trên email. Tuy nhiên, điều đó vượt ra ngoài phạm vi câu hỏi của bạn.

Nhận xét cuối cùng: Thách thức cơ bản trong xác thực web an toàn là khả năng sử dụng, khả năng sử dụng, khả năng sử dụng. Làm cho các hệ thống hoạt động tốt cho người dùng - và an toàn, khi được sử dụng như người dùng thông thường có khả năng sử dụng chúng - rất khó khăn và là vấn đề quan trọng. Tiền điện tử chỉ là một phần nhỏ của vấn đề này.

15
D.W.

Tôi nghĩ rằng chủ yếu họ không được sử dụng bởi vì người bình thường (tức là không phải bạn vì bạn đang hỏi câu hỏi này) không thể hiểu được cách sử dụng của họ. Có một vài trang web thương mại sử dụng chúng nhưng chúng thường có mục đích rất đặc biệt hoặc để tự động hóa. Ví dụ, Oracle sử dụng chứng chỉ ứng dụng khách để xác thực người dùng cuối bằng các hợp đồng hỗ trợ hợp lệ để cập nhật gói. Nhưng ngay cả với người dùng kỹ thuật cao nhận được trao đổi khóa thích hợp có thể là thách thức.

Tất cả điều đó đã được nói, tôi sử dụng các máy khách để bảo vệ các phần của trang web mà tôi để ngỏ cho công chúng và tôi nghĩ chúng thật tuyệt vời.

7
bahamat

Thẻ nhận dạng quốc gia Estonia là thẻ thông minh có chứa chứng chỉ ứng dụng khách được nhúng trên đó. Bạn có thể nhận đầu đọc thẻ thông minh cho nó và sử dụng nó tại nhà để đăng ký các dịch vụ của chính phủ hoặc xác thực cho các ngân hàng chính của Estonia. Tất cả những gì người dùng nhìn thấy là một thẻ/pin Nhắc và điều tiếp theo họ biết là họ đã được xác thực.

6
blowdart

On của khách hàng của chúng tôi sử dụng certs của khách hàng để xác thực hệ thống kiốt màn hình cảm ứng. Các hệ thống được phân phối cho các đại lý và mỗi người được cài đặt chứng chỉ gốc CA cũng như chứng chỉ ứng dụng khách duy nhất.

Chứng chỉ ứng dụng khách được sử dụng để xác thực hệ thống kiosk với máy chủ web, mà không yêu cầu đại lý thực hiện xác thực thủ công khi khởi động thiết bị. Nếu một hệ thống riêng lẻ cần phải tắt, khách hàng của chúng tôi dễ dàng thu hồi chứng chỉ.

5
Martijn Heemels

Bộ trưởng Kinh tế Pháp đã xuất bản một trang web công cộng để quản lý thuế (thanh toán thuế trực tuyến, thông tin về thời hạn, tải mẫu ...) sử dụng chứng chỉ SSL để xác thực người dùng. Đăng ký người dùng (vai trò này được quy cho Cơ quan đăng ký trong PKI) đã được AviD ♦ chỉ ra là khó khăn chính trong một dự án như vậy, đã được giải quyết vì chính quyền này đã có đủ thông tin để xác định người nộp thuế.

4
Jcs

Một biến thể của chứng chỉ trình duyệt được sử dụng trong giao thức ActiveSync dựa trên HTTP/S.

Một số quản trị viên email sử dụng chứng chỉ để xác thực thiết bị di động để email di động không đột nhiên ngừng hoạt động khi người dùng thay đổi mật khẩu.

1
goodguys_activate

Chứng chỉ ứng dụng khách có tất cả chất lượng tốt nhất để xác thực. Nhưng do vấn đề về gà và trứng, người dùng không có lý do gì để có được chứng chỉ nghiêm túc (tốn tiền và thời gian vì việc giao hàng phải đối mặt với hoạt động) vì rất ít trang web sử dụng chúng và quản trị viên trang không có lý do để chủ động hỗ trợ họ. người dùng của họ thường không có chứng chỉ.

Các hệ thống doanh nghiệp là khác nhau bởi vì nếu yêu cầu bảo mật đủ cao, chi phí toàn cầu của cơ sở hạ tầng PKI là hoàn toàn có thể xác định được.

Nhưng khi bạn nhớ tổng chi phí và thủ tục thực sự cho chứng minh thư quốc gia (không nói về hộ chiếu), việc thêm chứng chỉ do chính quyền quốc gia thành lập sẽ không thêm nhiều và sẽ giải quyết tốt tất cả các câu hỏi xác thực với các trang web tổ chức như chính quyền, ngân hàng, ... Tất nhiên tôi sẽ không sử dụng nó cho các trang web thương mại hoặc các diễn đàn được kiểm soát nhỏ

1
Serge Ballesta

Tôi làm việc phát triển một trang web cung cấp xác thực thẻ thông minh. Người dùng kết nối đầu đọc thẻ USB, truy cập trang web và khi muốn đăng nhập, anh ta sẽ chèn thẻ và cung cấp mã PIN. Vấn đề là hệ thống sử dụng một Java Applet và các applet này không còn được hỗ trợ bởi Chrome hoặc bởi MS Edge. Phần mềm trung gian mới đang được phát triển không sử dụng Java Applet và đó là một cuộc chạy đua với thời gian vì chúng ta có thể thấy tất cả các trình duyệt chính dừng Java Các ứng dụng tương tác với phần cứng trên PC của bạn trong tương lai.

0
Totoro53

Nếu chúng tôi mở rộng trên phạm vi OP để đi qua trình duyệt. Chứng chỉ ứng dụng khách cũng có thể được sử dụng trong ngữ cảnh không có trình duyệt. Ví dụ Docker sử dụng TLS và chứng chỉ ứng dụng khách để bảo mật các kết nối giữa máy khách docker từ xa với trình nền của chúng.

Điều này vẫn cần phải được quản lý, nhưng nó không cần phải thông qua một CA chính thức, nó có thể là một CA công ty nội bộ để quản lý tất cả các chứng chỉ được sử dụng bởi các máy.

0
Archimedes Trajano