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

Hai trong số những trở ngại 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 tổng quan ngắn gọn về cả hai cách.

[Tên người]
Chris Palmer

Tóm tắt

  • Sử dụng khoá công khai/riêng tư để ký và giải mã thư 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 bảo đảm cho việc ánh xạ 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 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 tư là một cặp số rất lớn được dùng làm khoá mã hoá và giải mã và có chung một mối quan hệ toán học đặc biệt. Một hệ thống phổ biến cho các cặp khoá là hệ thống mã hoá RSA. Khoá công khai được dùng để mã hoá thông báo và chỉ có thể giải mã thông báo theo cách khả thi bằng khoá riêng tư tương ứng. Máy chủ web của bạn sẽ quảng cáo khoá công khai đó cho toàn thế giới và các khách hàng (chẳng hạn như trình duyệt web) sẽ sử dụng khoá đó để khởi động một kênh an toàn cho 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 việc 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 để khách hàng biết được một khoá công khai cụ thể có phải là khoá công khai true cho www.foobar.com hay không? Tiền nghiệm thì không có cách nào để biết được. CA đảm bảo một khoá cụ thể là khoá thực sự của 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 bằng tính toán. Các trình duyệt (và các ứng dụng khác) duy trì kho lưu trữ cố định tin cậy chứa các khoá công khai do các CA nổi tiếng sở hữu, đồng thời sử dụng các khoá công khai đó để xác minh theo phương thức mã hoá chữ ký của CA.

Chứng chỉ X.509 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á đó. Trong trường hợp web, chủ sở hữu khoá là toán tử 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 kết nối với một máy chủ web HTTPS, máy chủ web sẽ đưa ra chứng chỉ để ứng dụng xác minh. Ứng dụng sẽ 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, cũng như một CA của neo tin cậy đã biết đã ký chứng chỉ. Trong hầu hết trường hợp, các CA không trực tiếp ký chứng chỉ máy chủ web; thông thường, có một chuỗi chứng chỉ liên kết một neo tin cậy với một người ký hoặc người ký trung gian và cuối cùng là với chứng chỉ riêng của 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ư chứng chỉ) sẽ 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, khách hàng không được diễn giải CSR mà các CA. Khi bạn muốn có bảo đảm CA cho 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 này để 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 nhiều khả năng hơn là một chuỗi chứng chỉ) và khoá riêng tư của mình trên máy chủ web.