C =E K1 (D K2 (E K1 (M )))
Tiêu chuẩn mã hóa nâng cao
3.2 PUBLIC KEY INFRASTRUCTURE (PKI) – (Đỗ Quang Hải)
Hạ tầng cơ sở khóa công khai
Trong ngành Mật mã học, PKI là sự sắp xếp kết hợp Khóa Công Khai với Các Yếu Tố Định Danh (identities) của đối tượng tạo thành một Chứng Nhận (Certificate) bới một thành phần thứ ba gọi là Nhà Cung Cấp Dịch Vụ Chứng Nhận (Certification Authority _ viết tắt là CA) thông qua các thuật toán
Cơ chế này gán cho mỗi đối tượng tham gia giao dịch một cặp mã khóa gồm Khóa Công Khai (Public key) và Khóa bí mật ( Private Key), một khóa dùng để mã hóa (thường là Khóa Công Khai) và khóa còn lại dùng để giải mã (thường là Khóa Bí mật).
Để chứng nhận tính xác thực về giá trị Khóa Công Khai, CA sẽ sừ dụng Chữ Ký Số (Digital Signature _ viết tắt là DS) của mình để chứng thực thông tin kết hợp gồm : Các Thông Tin Định Danh và Khóa Công Khai của đối tượng để tạo nên Chứng Nhận cho đối tượng đó. Quá trình này được thực hiện bởi phần mềm tại CA và các phần mềm phối hợp mà đối tượng sử dụng. Khái niệm PKI ngày nay thường được dùng để chỉ toàn bộ các hệ thống sử dụng phương pháp mã hóa thông tin trong giao dịch dựa trên cơ sở kết hợp cặp Khóa Công Khai, Khóa Cá Nhân cùng tất cả các yếu tố liên quan, thành phần liên quan như các Thuật Toán Mã Hóa được sử dụng. Trong phần lớn các trường hợp, để bảo đảm tính xác thực, giá trị Khóa Công Khai cần được chứng thực bởi một CA và được công bố trong Chứng Nhận của đối tượng, tuy nhiên một số hệ thống vẫn sử dụng cặp mã khóa này mà không hề có Chứng Nhận
Bây giờ thì Alice đã có chứng nhận kỷ thuật số, Bob có thể gởi cho cô những thông tin quan trọng được số hóa. Bob có thể xác nhận với cô là thông điệp đó xuất phát từ anh ta cũng như được bảo đảm rằng nội dung thông điệp không bị thay đổi và không có ai khác ngoài Alice đọc nó.
Diễn biến thực tế không phải mất nhiều thời gian như những giải thích trên, phần mềm tại máy trạm của Bob tạo ra một chữ ký điện tử và mã hóa thông điệp có chứa chữ ký đó. Phần mềm sử dụng chìa khóa cá nhân của Bob để tạo ra chữ ký điện tử và dùng chìa khóa công cộng của Alice để mã hóa thông điệp. Khi Alice nhận được thông điệp đã được mã hóa có chữ ký của Bob, phần mềm sẽ dùng chìa khóa cá nhân của cô để giải mã thông điệp. Vì chỉ có duy nhất chìa khóa cá nhân của Alice mới có thể giải mã thông điệp đã được mã hóa bằng chìa khóa công cộng của cô, cho nên độ tin cậy của thông tin hoàn toàn được bảo đảm. Sau đó, phần mềm dùng chìa khóa công cộng của Bob xác minh chữ ký điện tử, để đảm bảo rằng chính Bob đã gởi thông điệp đi, và thông tin không bị xâm phạm trên đường di chuyển.
Bob muốn chuyển một thư điện tử đến cho Alice, với yêu cầu rằng giao dịch phải chứng minh được chính anh đã gởi nó đi và nội dung bức thư không bị thay đổi.Phần mềm PKI dùng chìa khóa cá nhân của Bob tạo ra một chữ ký điện tử cho bức thư Bob muốn chắc chắn rằng không ai ngoài Alice đọc được bức thư nàyPhần mềm PKI của Bob dùng chìa khóa công cộng của Alice để mã hóa thông điệp của Bob.Alice muốn đọc thư do Bob gởiPhần mềm PKI dùng chìa khóa cá nhân của Alice để để giải mã thông điệp.Alice muốn kiểm chứng rằng chính Bob đã gởi đi thông điệp đó và nội dung thông điệp không bị chỉnh sửa.Phần mềm PKI của Alice dùng chìa khóa công cộng của Bob để kiểm chứng chữ ký điện tử của anh ta.
Bảng sau minh họa cho tiến trình của chữ kỹ điện tử và độ tin cậy cao đáp ứng cho yêu cầu của giao dịch điện tử an toàn giữa B và A
Hành động Trạng thái PKI
B chuyển 1 thư điện tử đến cho A với yêu cầu là giao dịch được chứng minh là chính B đã gửi nó đi và nội dung bức thư không có sự thay đổi
Phần mềm PKI dùng chìa khóa cá nhân của B tạo ra 1 chữ ký điện tử cho bức bức thư
B muốn chắc chắn không ai ngoài A đọc được bức thư này
Phần mềm PKI của B dùng chìa khóa công cộng của A để mã hóa thông điệp B.
A muốn đọc thư B gửi Phần mềm PKI dùng chìa khóa cá nhân của A để giải mã thông điệp
A muốn kiểm chứng rằng chính B đã gửi thư đó và nội dung không bị chỉnh sửa
Phần mềm PKI của A dùng chìa khóa công khai của B để kiểm chứng thư điện tử
Ưu điểm PKI
Cái hay của PKI là vừa tạo ra được các chức năng mã hóa, giải mã và kiểm chứng vô hình với người sử dụng như Bob và Alice vừa bảo đảm tính riêng tư và an toàn cho giao dịch giữa họ giống như một cuộc gặp gỡ mặt đối mặt.
Certificate là một phương pháp dùng để mã hoá và giải mã các thông tin mật như thông tin cá nhân hoặc các thông tin cần bảo mật cao. Certificate bạn có thể hiểu đơn giản như chứng minh nhân dân, trên chứng minh nhân dân các thông tin về bạn sẽ được mã hoá bởi một cơ quan công quyền có nghĩa là họ nắm phần thông tin công cộng hay gọi là public key đối với Certificate. Trong trường hợp bị kiểm tra chỉ có bạn mới có thể trả lời chính xác các thông tin của bạn (như vậy bạn được cho là nắm phần private key) với sự thẩm tra của một cơ quan công quyền (Public key), như vậy tất cả các thông tin của bạn sẽ được giải mã sau khi private key và public key của bạn được so sánh. Xin xem cấu trúc của Certificate AuthorityPKI : Public Key Infrastructure là một kiến trúc phân phối khóa dựa trên thuật toán mã hóa bất đối xứng như RSA và một vài thuật toán mã hóa đối xứng và mảng băm.
Điều thú vị của CA chính là thuật toán mã hóa bất đối xứng, với cặp khóa public key và private key, vì thế trước hết để hiểu vấn đề này mình nghĩ phải tìm hiểu về
thuật toán trước đã.
Tuy nhiên để nói 1 cách đơn giản về thuật toán mã hóa đối xứng như RSA thì ta có thể tưởng tượng rằng, giả sử PKI sẽ cung cấp cho ta 2 cái khóa đi với nhau, nếu sử dụng khóa này để khóa
thì chỉ có thể sử dụng khóa kia để mở.
Như vậy ta sẽ dùng 1 cái làm public key và công bố rộng rãi, còn cái private key sẽ giữ kín cho riêng mình thôi. Giờ đây nếu như một ai đó muốn gửi thông tin gì cho
ta thì người đó chỉ việc sử dụng Public key của ta mã hóa thông tin rồi gửi cho ta, và
ngược lại.
Public key và private key cũng chính là nền tảng của PKI và điển hình là cấu trúc CA(Certificate Authority) cung cấp chứng chỉ (certificate) được sử dụng hết sức rộng rãi ngày nay A
Public Key Infrastructure (PKI) là một cơ chế để cho một bên thứ ba (thường là nhà cung cấp chứng thực số ) cung cấp và xác thực định danh các bên tham gia vào quá trình trao đổi thông tin. Cơ chế này cũng cho phép gán cho mỗi người sử dụng trong hệ thống một cặp public/private. Các quá trình này thường được thực hiện bởi một phần mềm đặt tại trung tâm và các phần mềm khác tại các địa điểm của người dùng. Khoá công khai thường được phân phối trong chứng thực khóa công khai – hay Public Key Infrastructure.
Khái niệm hạ tầng khoá công khai (PKI) thường được dùng chỉ toàn bộ hệ thống bao gồm cả nhà cung cấp chứng thực số (CA) cùng các cơ chế liên quan đồng thời với toàn bộ việc sử dụng các thuật toán mã hoá công khai trong trao đổi thông tin. Tuy nhiên phần sau được bao gồm không hoàn toàn chính xác bởi vì các cơ chế trong PKI không nhất thiết sử dụng các thuật toán mã hoá công khai.