Hai trong số các trở ngại mà các 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óm tắt
- Đã sử dụng khoá công khai/riêng tư để ký và giải mã thông báo 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 lãnh 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ật mã RSA. Khoá công khai được dùng để mã hoá tin nhắn và chỉ có thể giải mã tin nhắn bằng khoá riêng tư tương ứng. Máy chủ web của bạn quảng cáo khoá công khai của mình cho mọi người và các ứng dụng khách (chẳng hạn như trình duyệt web) sử dụng khoá đó để 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 bảo đảm 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 thế nào để ứng dụ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? Trước tiên, không có cách nào để biết. CA xác minh 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 khoá đó để ký bằng mã hoá khoá công khai của trang web đó. Về mặt tính toán, chữ ký này không thể giả mạo. Các trình duyệt (và các ứng dụng khác) duy trì các kho lưu trữ neo đáng tin cậy chứa khoá công khai thuộc sở hữu của các CA nổi tiếng và những trình duyệt này 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 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á đó. Đối với web, chủ sở hữu của 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ẽ trình bày chứng chỉ của mình để ứng dụng 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 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 người ký hoặc người ký trung gian và cuối cùng là tớ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, chẳng hạn như chứng chỉ, 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á đó. Tuy nhiên, khách hàng không diễn giải CSR còn CA thì giải thích. Khi bạn muốn có chứng từ bảo đảm CA cho khóa 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 sẽ cài đặt chứng chỉ đó (hoặc nhiều khả năng là một chuỗi chứng chỉ) và khoá riêng tư của bạn trên máy chủ web.