PKI, CA, Encryption, Hashing và Digital Certificate – Những khái niệm nền tảng của bảo mật
Khi học về HTTPS, VPN, SSL/TLS, 802.1X, Digital Signature hay Certificate-based Authentication, chúng ta thường gặp một nhóm khái niệm liên quan chặt chẽ với nhau: PKI, CA, Encryption, Hashing và Digital Certificate.
Hiểu được mối quan hệ giữa chúng sẽ giúp kỹ sư IT hiểu rõ hơn cách các hệ thống hiện đại xây dựng Trust – sự tin cậy trên một môi trường vốn không đáng tin cậy như Internet.
1. PKI là gì?
PKI – Public Key Infrastructure (Hạ tầng khóa công khai) là một hệ thống gồm công nghệ, quy trình, chính sách và các thành phần cần thiết để tạo, cấp phát, quản lý, xác thực và thu hồi Digital Certificate.
PKI thường hoạt động dựa trên mật mã khóa công khai, trong đó một thực thể có một cặp khóa:
Public Key thường được đặt bên trong một Digital Certificate để gắn khóa đó với danh tính của một người, server hoặc thiết bị.
Ví dụ khi truy cập:
trình duyệt không đơn giản tin rằng server đó thực sự là www.example.com. Nó kiểm tra Digital Certificate của server và chuỗi tin cậy PKI trước khi thiết lập kết nối TLS an toàn.
PKI vì vậy có thể hiểu đơn giản là:
2. CA là gì?
CA – Certificate Authority là một trong những thành phần quan trọng nhất của PKI.
CA là tổ chức hoặc hệ thống có nhiệm vụ phát hành và ký Digital Certificate nhằm xác nhận mối quan hệ giữa một danh tính và Public Key của danh tính đó.
Có hai mô hình phổ biến:
Public CA là các CA được sử dụng rộng rãi trên Internet như DigiCert, Sectigo, GlobalSign hay Let's Encrypt.
Private CA được doanh nghiệp tự xây dựng để phục vụ hệ thống nội bộ. Ví dụ, doanh nghiệp có thể triển khai Microsoft Active Directory Certificate Services (AD CS) để cấp certificate cho user, computer, VPN, Wi-Fi 802.1X hoặc web server nội bộ.
Điểm quan trọng cần nhớ:
3. Encryption – Mã hóa là gì?
Encryption là quá trình biến dữ liệu có thể đọc được thành dữ liệu không thể hiểu được nếu không có khóa thích hợp.
Dữ liệu ban đầu gọi là:
P – Plaintext
Sau khi mã hóa trở thành:
C – Ciphertext
Quá trình có thể biểu diễn đơn giản:
C = E(K, P)
Trong đó:
Khi giải mã:
P = D(K, C)
Mục tiêu quan trọng nhất của Encryption là đảm bảo:
Ví dụ, khi người dùng truy cập website qua HTTPS, TLS sử dụng các thuật toán mật mã để bảo vệ dữ liệu truyền giữa browser và web server. Nếu hacker bắt được packet, họ cũng không dễ dàng đọc được nội dung bên trong.
4. Hashing là gì?
Hashing hoàn toàn khác Encryption.
Hashing sử dụng một Hash Function để biến dữ liệu có kích thước bất kỳ thành một giá trị có độ dài cố định gọi là:
Ví dụ:
Hello VnPro
có thể được đưa qua SHA-256 để tạo ra một chuỗi hash có độ dài cố định.
Điểm quan trọng là:
Không có quá trình "decrypt hash" tương tự như giải mã Ciphertext.
Chỉ cần thay đổi một ký tự trong dữ liệu đầu vào, kết quả hash có thể thay đổi hoàn toàn.
Vì vậy hashing rất hữu ích để kiểm tra:
Integrity – Tính toàn vẹn của dữ liệu.
Ví dụ, Cisco có thể công bố SHA-256 của một IOS image. Sau khi download, kỹ sư tính lại SHA-256 của file. Nếu hai giá trị giống nhau, chúng ta có cơ sở xác nhận file không bị thay đổi trong quá trình truyền tải.
5. Digital Certificate là gì?
Digital Certificate – Chứng thư số có thể hiểu như một dạng "CMND/CCCD điện tử" của server, user hoặc thiết bị.
Một certificate thường chứa những thông tin như:
Điểm đặc biệt nằm ở chữ ký số của CA.
CA sử dụng Private Key của mình để ký certificate. Client có thể sử dụng Public Key tương ứng của CA để kiểm tra chữ ký, từ đó xác minh certificate có thực sự được CA đó phát hành và có bị sửa đổi hay không.
Trong thực tế thường tồn tại một Certificate Chain:
Root CA → Intermediate CA → Server Certificate
Nếu client tin tưởng Root CA và toàn bộ chuỗi certificate được xác minh hợp lệ, client có thể thiết lập niềm tin với certificate của server.
6. Ghép tất cả các khái niệm lại
Hãy lấy HTTPS làm ví dụ.
Bạn truy cập:
Web server gửi Digital Certificate cho browser.
Certificate chứa Public Key và được CA ký.
Browser kiểm tra:
Sau khi quá trình xác thực và TLS handshake hoàn tất, hai bên thiết lập các khóa phiên để bảo vệ dữ liệu trao đổi.
Có thể hình dung mối quan hệ như sau:
PKI
→ xây dựng hệ thống Trust
→ trong đó CA phát hành và ký Digital Certificate
→ Certificate gắn Public Key với một danh tính
→ các cơ chế mật mã hỗ trợ Authentication, Integrity và Confidentiality. Điều cần nhớ
PKI = Hạ tầng quản lý niềm tin, khóa và certificate.
CA = Thực thể phát hành/ký certificate.
Encryption = Bảo vệ tính bí mật của dữ liệu.
Hashing = Tạo dấu vân tay dữ liệu, hỗ trợ kiểm tra tính toàn vẹn.
Digital Certificate = Gắn một danh tính với Public Key và được CA xác nhận bằng chữ ký số.
Khi hiểu được năm khái niệm này, chúng ta đã có nền tảng để học sâu hơn về HTTPS/TLS, IPsec VPN, Digital Signature, 802.1X EAP-TLS, Cisco ISE, Secure Client VPN và Zero Trust.
Khi học về HTTPS, VPN, SSL/TLS, 802.1X, Digital Signature hay Certificate-based Authentication, chúng ta thường gặp một nhóm khái niệm liên quan chặt chẽ với nhau: PKI, CA, Encryption, Hashing và Digital Certificate.
Hiểu được mối quan hệ giữa chúng sẽ giúp kỹ sư IT hiểu rõ hơn cách các hệ thống hiện đại xây dựng Trust – sự tin cậy trên một môi trường vốn không đáng tin cậy như Internet.
1. PKI là gì?
PKI – Public Key Infrastructure (Hạ tầng khóa công khai) là một hệ thống gồm công nghệ, quy trình, chính sách và các thành phần cần thiết để tạo, cấp phát, quản lý, xác thực và thu hồi Digital Certificate.
PKI thường hoạt động dựa trên mật mã khóa công khai, trong đó một thực thể có một cặp khóa:
- Public Key – Khóa công khai: có thể chia sẻ cho người khác.
- Private Key – Khóa bí mật: phải được chủ sở hữu bảo vệ.
Public Key thường được đặt bên trong một Digital Certificate để gắn khóa đó với danh tính của một người, server hoặc thiết bị.
Ví dụ khi truy cập:
trình duyệt không đơn giản tin rằng server đó thực sự là www.example.com. Nó kiểm tra Digital Certificate của server và chuỗi tin cậy PKI trước khi thiết lập kết nối TLS an toàn.
PKI vì vậy có thể hiểu đơn giản là:
Hạ tầng giúp chúng ta biết Public Key nào thực sự thuộc về ai.
2. CA là gì?
CA – Certificate Authority là một trong những thành phần quan trọng nhất của PKI.
CA là tổ chức hoặc hệ thống có nhiệm vụ phát hành và ký Digital Certificate nhằm xác nhận mối quan hệ giữa một danh tính và Public Key của danh tính đó.
Có hai mô hình phổ biến:
Public CA là các CA được sử dụng rộng rãi trên Internet như DigiCert, Sectigo, GlobalSign hay Let's Encrypt.
Private CA được doanh nghiệp tự xây dựng để phục vụ hệ thống nội bộ. Ví dụ, doanh nghiệp có thể triển khai Microsoft Active Directory Certificate Services (AD CS) để cấp certificate cho user, computer, VPN, Wi-Fi 802.1X hoặc web server nội bộ.
Điểm quan trọng cần nhớ:
CA không chứng minh rằng một website “an toàn tuyệt đối”. CA chủ yếu xác nhận danh tính và mối liên hệ giữa danh tính đó với Public Key theo chính sách cấp chứng thư của CA.
3. Encryption – Mã hóa là gì?
Encryption là quá trình biến dữ liệu có thể đọc được thành dữ liệu không thể hiểu được nếu không có khóa thích hợp.
Dữ liệu ban đầu gọi là:
P – Plaintext
Sau khi mã hóa trở thành:
C – Ciphertext
Quá trình có thể biểu diễn đơn giản:
C = E(K, P)
Trong đó:
- E: thuật toán mã hóa.
- K: Key.
- P: Plaintext.
- C: Ciphertext.
Khi giải mã:
P = D(K, C)
Mục tiêu quan trọng nhất của Encryption là đảm bảo:
Confidentiality – Tính bí mật của dữ liệu.
Ví dụ, khi người dùng truy cập website qua HTTPS, TLS sử dụng các thuật toán mật mã để bảo vệ dữ liệu truyền giữa browser và web server. Nếu hacker bắt được packet, họ cũng không dễ dàng đọc được nội dung bên trong.
4. Hashing là gì?
Hashing hoàn toàn khác Encryption.
Hashing sử dụng một Hash Function để biến dữ liệu có kích thước bất kỳ thành một giá trị có độ dài cố định gọi là:
- Hash
- Hash Value
- Digest
- Message Digest
Ví dụ:
Hello VnPro
có thể được đưa qua SHA-256 để tạo ra một chuỗi hash có độ dài cố định.
Điểm quan trọng là:
Hashing được thiết kế theo hướng một chiều.
Không có quá trình "decrypt hash" tương tự như giải mã Ciphertext.
Chỉ cần thay đổi một ký tự trong dữ liệu đầu vào, kết quả hash có thể thay đổi hoàn toàn.
Vì vậy hashing rất hữu ích để kiểm tra:
Integrity – Tính toàn vẹn của dữ liệu.
Ví dụ, Cisco có thể công bố SHA-256 của một IOS image. Sau khi download, kỹ sư tính lại SHA-256 của file. Nếu hai giá trị giống nhau, chúng ta có cơ sở xác nhận file không bị thay đổi trong quá trình truyền tải.
5. Digital Certificate là gì?
Digital Certificate – Chứng thư số có thể hiểu như một dạng "CMND/CCCD điện tử" của server, user hoặc thiết bị.
Một certificate thường chứa những thông tin như:
- Danh tính của chủ thể – Subject.
- Public Key.
- Certificate Serial Number.
- Issuer – CA phát hành certificate.
- Thời gian hiệu lực.
- Các mục đích sử dụng của certificate.
- Digital Signature của CA.
Điểm đặc biệt nằm ở chữ ký số của CA.
CA sử dụng Private Key của mình để ký certificate. Client có thể sử dụng Public Key tương ứng của CA để kiểm tra chữ ký, từ đó xác minh certificate có thực sự được CA đó phát hành và có bị sửa đổi hay không.
Trong thực tế thường tồn tại một Certificate Chain:
Root CA → Intermediate CA → Server Certificate
Nếu client tin tưởng Root CA và toàn bộ chuỗi certificate được xác minh hợp lệ, client có thể thiết lập niềm tin với certificate của server.
6. Ghép tất cả các khái niệm lại
Hãy lấy HTTPS làm ví dụ.
Bạn truy cập:
Web server gửi Digital Certificate cho browser.
Certificate chứa Public Key và được CA ký.
Browser kiểm tra:
- Certificate có còn hiệu lực không?
- Tên miền có khớp không?
- Certificate có được CA đáng tin cậy ký không?
- Certificate có bị thu hồi không?
- Chuỗi certificate có hợp lệ không?
Sau khi quá trình xác thực và TLS handshake hoàn tất, hai bên thiết lập các khóa phiên để bảo vệ dữ liệu trao đổi.
Có thể hình dung mối quan hệ như sau:
PKI
→ xây dựng hệ thống Trust
→ trong đó CA phát hành và ký Digital Certificate
→ Certificate gắn Public Key với một danh tính
→ các cơ chế mật mã hỗ trợ Authentication, Integrity và Confidentiality. Điều cần nhớ
PKI = Hạ tầng quản lý niềm tin, khóa và certificate.
CA = Thực thể phát hành/ký certificate.
Encryption = Bảo vệ tính bí mật của dữ liệu.
Hashing = Tạo dấu vân tay dữ liệu, hỗ trợ kiểm tra tính toàn vẹn.
Digital Certificate = Gắn một danh tính với Public Key và được CA xác nhận bằng chữ ký số.
Khi hiểu được năm khái niệm này, chúng ta đã có nền tảng để học sâu hơn về HTTPS/TLS, IPsec VPN, Digital Signature, 802.1X EAP-TLS, Cisco ISE, Secure Client VPN và Zero Trust.