Chứng chỉ SSL là gì và nó được sử dụng để làm gì?
1. Giới thiệu
Chứng chỉ SSL được sử dụng để tạo kênh được mã hóa giữa máy khách và máy chủ. Việc truyền các dữ liệu như chi tiết thẻ tín dụng, thông tin đăng nhập tài khoản, bất kỳ thông tin nhạy cảm nào khác đều phải được mã hóa để tránh bị nghe trộm.
Với chứng chỉ SSL, dữ liệu được mã hóa trước khi truyền qua Internet. Dữ liệu được mã hóa chỉ có thể được giải mã bởi máy chủ mà bạn thực sự gửi nó đến. Điều này đảm bảo rằng thông tin bạn gửi đến các trang web sẽ không bị đánh cắp.
Bắt đầu từ 06/08/2014, Google đã thông báo rằng việc cài đặt chứng chỉ SSL trên trang web của bạn sẽ làm tăng vị trí xếp hạng của bạn, đó là một lý do tuyệt vời khác để sử dụng SSL.
Bản thân chứng chỉ đại diện cho dữ liệu được mã hóa base64 chứa thông tin về thực thể mà chứng chỉ được cấp, khóa công khai cần thiết để mã hóa và xác minh chữ ký số và chữ ký điện tử được tạo bằng khóa riêng của tổ chức phát hành chứng chỉ.
Chứng chỉ SSL phải được cài đặt ở phía máy chủ. Khi bạn truy cập vào một trang web được bảo mật bằng chứng chỉ SSL do Tổ chức phát hành chứng chỉ đáng tin cậy cấp, bạn sẽ thấy https: // ở đầu URL của nó. Một trình duyệt cũng sẽ hiển thị kết nối là an toàn bằng cách hiển thị biểu tượng “khóa” trên thanh địa chỉ:
2. Các loại chứng chỉ SSL
Chứng chỉ SSL có thể được chia thành 3 nhóm xác thực:
Chứng chỉ xác thực tên miền
Chỉ yêu cầu người đăng ký chứng chỉ chứng minh quyền kiểm soát của mình đối với tên miền. Chứng chỉ đã cấp có chứa tên miền đã được cung cấp cho Tổ chức phát hành chứng chỉ trong yêu cầu chứng chỉ.
Chứng nhận xác thực của tổ chức
Yêu cầu người đăng ký chứng chỉ chứng minh rằng công ty của họ là một doanh nghiệp đã đăng ký và có trách nhiệm pháp lý, đồng thời vượt qua xác thực miền. Chứng chỉ đã cấp có tên miền và tên công ty của người đăng ký chứng chỉ.
Chứng chỉ xác thực mở rộng
Bao gồm các yêu cầu xác thực của hai loại xác nhận được đề cập ở trên và các yêu cầu bổ sung . Chứng chỉ đã cấp có tên miền và tên công ty của người đăng ký chứng chỉ.
Tổng quan về kỹ thuật
- Mật mã không đối xứng – mật mã bao hàm các khóa khác nhau cho các quy trình mã hóa và giải mã
- Bộ mật mã – tập hợp các thuật toán trao đổi khóa, xác thực, mã hóa và mã xác thực tin nhắn (MAC) được sử dụng trong các giao thức SSL / TLS
- Bắt tay – sử dụng giao thức trong SSL / TLS cho mục đích thương lượng các thông số bảo mật
- Trao đổi khóa – trong ngữ cảnh của SSL / TLS, cách máy khách và máy chủ thiết lập một cách an toàn bí mật trước tổng thể cho một phiên
- Bí mật chính – tài liệu khóa được sử dụng để tạo khóa mã hóa, bí mật MAC và vectơ khởi tạo (IV)
- Mã xác thực tin nhắn (MAC) – hàm băm một chiều được tính toán qua tin nhắn và bí mật
- Bí mật trước tổng thể – tài liệu quan trọng được sử dụng để tạo ra bí mật tổng thể
- Mật mã đối xứng – mật mã ngụ ý cùng một khóa cho cả quá trình mã hóa và giải mã
4. Mật mã đối xứng & không đối xứng
Hai loại mật mã đang được sử dụng bởi các giao thức SSL / TLS: đối xứng và bất đối xứng.
Mật mã đối xứng (còn được gọi là “mã hóa số lượng lớn”) ngụ ý cùng một khóa để mã hóa cũng như để giải mã. Trong mật mã đối xứng SSL / TLS thường được sử dụng để xử lý dữ liệu ứng dụng.
Ví dụ về mật mã đối xứng: AES, RC4, DES
Mật mã không đối xứng (còn được gọi là “mật mã khóa công khai”) ngụ ý các khóa khác nhau để mã hóa và giải mã.
Khóa công khai có trong CSR và sau đó trong chứng chỉ SSL được sử dụng để mã hóa và xác minh chữ ký. Khóa riêng tư thường được giữ trên máy chủ có thể được sử dụng, tùy thuộc vào bộ mật mã được thương lượng trong quá trình bắt tay, hoặc để giải mã bí mật trước bản gốc cần thiết để tính toán bí mật chính hoặc để ký các tham số cần thiết để tính toán bản chính bí mật.
Nói một cách dễ hiểu, trong ngữ cảnh của các giao thức SSL / TLS, mã hóa không đối xứng phục vụ mục đích tính toán khóa mã hóa đối xứng an toàn cho cả hai bên (máy khách / máy chủ).
Ví dụ về hệ thống mật mã không đối xứng: RSA, DHE, ECDHE
5. Bộ mật mã
Bộ mật mã là một tập hợp các thuật toán trao đổi khóa, xác thực, mã hóa và mã xác thực tin nhắn (MAC) được sử dụng trong các giao thức SSL / TLS.
Ví dụ:
Bộ mật mã TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 ngụ ý
– DHE để trao đổi khóa
– RSA để xác thực
– AEC_256_GCM để mã hóa hàng loạt
– SHA384 là một hàm băm được sử dụng để tính toán MAC
6. Bắt tay
Bắt tay là một giao thức được sử dụng trong SSL / TLS cho mục đích thương lượng các tham số bảo mật. Tùy thuộc vào bộ mật mã, một cái bắt tay có thể bao gồm các thông điệp khác nhau mà các bên gửi cho nhau.
Sơ đồ dưới đây mô tả một trong những luồng thông báo bắt tay phổ biến nhất ngụ ý việc ký kết khóa nhanh hơn với khóa công khai RSA. Luồng thông báo bắt tay như vậy có thể áp dụng cho các bộ mật mã như sau (ví dụ):
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_ARS_256_256HA38