0
0
Lập trình
Admin Team
Admin Teamtechmely

HTTPS: Tất Tần Tật Về Giao Thức Bảo Mật và Chứng Chỉ SSL (Phần 2)

Đăng vào 3 tuần trước

• 3 phút đọc

Giới Thiệu

Bài viết này là phần 2 trong chuỗi bài viết khám phá về giao thức HTTPS và cách thức hoạt động của các chứng chỉ SSL. Nếu bạn chưa đọc phần 1, hãy tìm hiểu tại đây để nắm bắt đủ thông tin cần thiết.

4. Chứng Chỉ SSL (Certificate) Là Gì?

Trong phần trước, chúng ta đã đặt ra câu hỏi quan trọng: Làm thế nào để đảm bảo rằng public key mà bạn nhận được thực sự thuộc về Netflix và không phải từ một kẻ tấn công nào khác? Đáp án là Netflix không chỉ gửi cho bạn public key của họ, mà sẽ gửi một chứng chỉ SSL.

Chứng chỉ SSL chứa các thành phần sau:

  • Subject (Chủ thể): Tên miền mà chúng ta cần public key, ví dụ: netflix.com.
  • Subject Public Key: Chìa khóa công khai mà chúng ta cần xác thực.
  • Issuer Name (Tên bên phát hành): Tên của tổ chức cấp chứng chỉ, chẳng hạn như Amazon Root CA.
  • Issuer Signature (Chữ ký bên phát hành): Chữ ký số từ bên phát hành chứng chỉ, đảm bảo rằng nội dung chứng chỉ không bị thay đổi hay giả mạo.

Thông qua chứng chỉ SSL này, chúng ta có thể xác định xem public key có đúng là của chủ thể hay không, miễn là chúng ta xác nhận được rằng chứng chỉ này không bị giả mạo.

5. Chữ Ký Số (Digital Signature)

Chữ ký số mang lại hai lợi ích lớn:

  • Giúp xác minh rằng dữ liệu đã ký không bị thay thế hay làm giả.
  • Không cần che giấu dữ liệu ký.

Trước khi tạo chữ ký số, bên ký cần phải có một cặp public key và private key. Có hai hành động chính trong chữ ký số: ký (sign) và xác nhận (verify).

  • Tạo chữ ký: Dữ liệu sẽ được xử lý qua hàm băm (hash function) để tạo ra mã băm, sau đó mã hóa mã băm bằng private key để tạo nên chữ ký số.
  • Xác nhận chữ ký: Băm lại dữ liệu bằng hàm băm, sau đó giải mã chữ ký số. Nếu hai mã băm trùng khớp, điều đó chứng tỏ dữ liệu không bị thay đổi từ khi nó được ký.

6. Quá Trình Tạo Chứng Chỉ và Cách Hoạt Động

Khi Netflix muốn có một chứng chỉ cho tên miền của họ, họ sẽ gửi yêu cầu cấp chứng chỉ tới một Tổ chức Cấp Chứng Chỉ (CA), chẳng hạn như Amazon, thông qua dịch vụ AWS Certificate Manager. CA này sẽ sử dụng private key của mình để ký cho chứng chỉ của Netflix sau khi họ đã chứng minh public key của họ là chính xác.

Khi chúng ta nhận được chứng chỉ từ Netflix, nhiệm vụ của chúng ta là xác minh chứng chỉ này có hợp lệ hay không, để đảm bảo rằng nó chứa public key chính xác của netflix.com.

Để xác minh chứng chỉ, chúng ta cần biết public key của Issuer, bên đã ký chứng chỉ. Như ở đây, Issuer là Amazon Root CA. Trong máy tính của chúng ta sẽ tồn tại chứng chỉ gốc của Issuer này, có chứa public key của Amazon Root CA và được ký bởi chính Amazon Root CA.

Có được public key của Issuer, chúng ta có thể xác minh lại chứng chỉ để xác nhận rằng nó là hợp lệ.

7. Chuỗi Tin Cậy (Chain of Trust)

Trên thực tế, chứng chỉ thường không được cấp trực tiếp bởi CA gốc như Amazon Root CA. Thay vào đó, chúng được cấp thông qua các CA trung gian, tạo thành một chuỗi chứng chỉ liên kết với nhau.

Kết Luận

Qua bài viết này, chúng ta đã tìm hiểu quy trình cơ bản của việc tạo ra một kết nối an toàn trong giao thức HTTPS, từ mã hóa bất đối xứng cho đến chứng chỉ và chữ ký số. Nếu bạn thấy bài viết này hữu ích, hãy nhấn nút upvote hoặc để lại câu hỏi trong phần bình luận nhé!

Tài Liệu Tham Khảo

  • Beta to Prod: Cách hoạt động thực sự của chứng chỉ SSL.
    source: viblo
Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào