Thuật ngữ bảo mật quan trọng

Hai trong số những rào cản mà nhà phát triển gặp phải khi di chuyển sang HTTPS là khái niệm và thuật ngữ. Hướng dẫn này cung cấp thông tin tổng quan ngắn gọn về cả hai.

Chris Palmer
Chris Palmer

Tóm tắt

  • Sử dụng khoá công khai/riêng tư để ký và giải mã thông điệp giữa trình duyệt và máy chủ.
  • Tổ chức phát hành chứng chỉ (CA) là một tổ chức đảm bảo mối liên kết giữa khoá công khai và tên DNS công khai (chẳng hạn như "www.foobar.com").
  • Yêu cầu ký chứng chỉ (CSR) là một định dạng dữ liệu gói một khoá công khai cùng với một số siêu dữ liệu về thực thể sở hữu khoá

Cặp khoá công khai và riêng tư là gì?

Cặp khoá công khai/riêng là một cặp số rất lớn được dùng làm khoá mã hoá và giải mã, đồng thời có mối quan hệ toán học đặc biệt. Một hệ thống phổ biến cho cặp khoá là hệ thống mật mã RSA. Khoá công khai được dùng để mã hoá thư và bạn chỉ có thể giải mã thư bằng khoá riêng tư tương ứng. Máy chủ web của bạn quảng cáo khóa công khai của nó cho mọi người và ứng dụng (chẳng hạn như trình duyệt web) sử dụng khóa đó để khởi động một kênh bảo mật đến máy chủ của bạn.

Tổ chức phát hành chứng chỉ là gì?

Tổ chức phát hành chứng chỉ (CA) là một tổ chức đảm bảo mối liên kết giữa khoá công khai và tên DNS công khai (chẳng hạn như "www.foobar.com"). Ví dụ: làm cách nào để ứng dụng biết một khoá công khai cụ thể có phải là khoá công khai thực sự cho www.foobar.com hay không? Trước tiên, không có cách nào để biết. CA chứng thực một khoá cụ thể là khoá thực sự cho một trang web cụ thể bằng cách sử dụng khoá riêng tư của chính CA đó để ký mã hoá khoá công khai của trang web. Chữ ký này không thể giả mạo được về mặt tính toán. Trình duyệt (và các ứng dụng khác) duy trì kho lưu trữ neo tin cậy chứa các khoá công khai thuộc sở hữu của các CA nổi tiếng và sử dụng các khoá công khai đó để xác minh bằng mật mã chữ ký của CA.

Chứng chỉ X.509 là một định dạng dữ liệu gói khoá công khai cùng với một số siêu dữ liệu về thực thể sở hữu khoá. Trong trường hợp web, chủ sở hữu khoá là nhà điều hành trang web và siêu dữ liệu quan trọng là tên DNS của máy chủ web. Khi một ứng dụng khách kết nối với máy chủ web HTTPS, máy chủ web sẽ trình bày chứng chỉ của mình để ứng dụng khách xác minh. Ứng dụng xác minh rằng chứng chỉ chưa hết hạn, tên DNS khớp với tên của máy chủ mà ứng dụng đang cố kết nối và một CA neo đáng tin cậy đã ký chứng chỉ. Trong hầu hết trường hợp, CA không trực tiếp ký chứng chỉ máy chủ web; thường thì có một chuỗi chứng chỉ liên kết một neo tin cậy với một hoặc nhiều chữ ký trung gian, và cuối cùng là với chứng chỉ của chính máy chủ web (thực thể cuối).

Yêu cầu ký chứng chỉ là gì?

Yêu cầu ký chứng chỉ (CSR) là một định dạng dữ liệu, giống như một chứng chỉ, gói một khoá công khai cùng với một số siêu dữ liệu về thực thể sở hữu khoá đó. Tuy nhiên, ứng dụng không diễn giải CSR; CA mới diễn giải. Khi bạn muốn một CA xác nhận khoá công khai của máy chủ web, bạn sẽ gửi CSR cho CA. CA xác thực thông tin trong CSR và sử dụng thông tin đó để tạo chứng chỉ. Sau đó, CA sẽ gửi cho bạn chứng chỉ cuối cùng và bạn cài đặt chứng chỉ đó (hoặc có thể là một chuỗi chứng chỉ) và khoá riêng tư trên máy chủ web của mình.