Tổng quan về PKI
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.
Các thành phần của PKI
PKIs dựa vào một thiết bị mật mã để bảo đảm các khoá công khai được quản lý an toàn. Các thiết bị này không hoạt động cùng lúc được thực hiện ở các hàm mảng rộng có liên quan đến việc quản lý phân phối khoá, bao gồm các thành phần sau:
Mục tiêu của việc trao đổi khoá bất đối xứng là phát một cách an toàn khoá công khai từ người gửi (mã hoá) đến người nhận (giải mã). PKI hỗ trợ tạo điều kiện cho việc trao đổi khoá an toàn để đảm bảo xác thực các bên trao đổi với nhau.
Public key Certificate được phát bởi Certificate Authority(CA ). Để CA phát public key certificate cho đáp ứng mật mã đầu cuối thì đầu cuối đầu tiên phải đăng ký với CA. Quá trình đăng ký gồm: sự đăng ký, sự kích hoạt, và sự chứng nhận của mật mã đầu cuối với PKI (CAs và RAs). Quá trình đăng ký như sau:
Trong nhiều trường hợp, CA sẽ cung cấp tất cả các dịch vụ cần thiết của PKI để quản lý các public key bên trong mạng. Tuy nhiên có nhiều trường hợp CA có thể uỷ nhiệm làm công việc của RA. một số chức năng mà CA có thể uỷ nhiệm thay thế cho RA như:
CA dùng để cấp phát chứng nhận, xác thực PKI clients, và khi cần thiết thu hồi lại chứng nhận.
CA đại diện cho nguồn tin cậy chính của PKI. Vì CA là yếu tố duy nhất trong PKI mà có thể phát Public Key Certificates đến các mật mã đầu cuối.
CA cũng luôn đáp ứng cho việc duy trì CRL và phục vụ các loại như: CRL Issuer. PKI không phải chỉ có 1 CA mà PKI có thể thiết lập nhiều CAs.
CAs giúp thiết lập cho việc nhận dạng của các thực thể giao tiếp với nhau được đúng đắn. CAs không chỉ chứng cho PKI client mà còn cho nhứng CAs khác bằng cách cấp phát những chứng nhận số đến chúng. Những CAs đã chứng nhận lần lượt có thể chứng nhận cho những CAs khác cho đến khi mỗi thực thể có thể uỷ nhiệm cho những thực thể khác có liên quan trong quá trình giao dịch.
PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng các thông tin từ các chứng thực khoá công khai để mật mã hoá và giải mã thông tin trong quá trình trao đổi.
PKI cho phép các giao dịch điện tử được diễn ra đảm bảo tính bí mật, toàn vẹ và xác thực lẫn nhau mà không cần trao đổi các thông tin bảo mật từ trước.
Mục tiêu chính của PKI là cung cấp khoá công khai và xác định mối liên hệ giữa khoá và định dạng người dùng. Nhờ vậy, người dùng có thể sử dụng trong một số ứng dụng như :
PKI bao gồm các thành phần sau đây:
PKI được sử dụng với các mục đích :
Cơ sở hạ tầng của PKI
Bước 1:
dùng giải thuật băm để thay đổi thông điệp cần truyền đi. kết quả ta được một message digest. Dùng giải thuật MD5 (message digest 5) ta được digest có chiều dài 128 bit, dùng giải thuật SHA (Secure Hash Algorithm) ta có chiều dài 160 bit.
Bước 2:
sử dụng khóa private key của người gửi để mã hóa message digest thu được ở bước 1. Thông thường ở bước này dùng giải thuật RSA ( hay DSA, RC2, 3DES, …). Kết quả thu được gọi là digital signature của thông điệp ban đầu.
Bước 3:
sử dụng public key của người nhận để mã hoá những thông tin cần gửi đi.
Bước 4:
Gộp digital signature vào message đã được mã hoá và gửi đi. Như vậy sau khi đã kí nhận digital signature vào message đã được mã hoá, mọi sự thay đổi trên message sẽ bị phát hiện trong giai đoạn kiểm tra. Ngoài ra, việc kí nhận này đảm bảo người nhậ tin tưởng message này xuất phát từ người gửi chứ không phải là ai khác.
2. Các bước kiểm tra:
Bước 1:
người nhận dùng private key của mình để giải mã thông tin nhận được gồm 2 phần: phần message và phần chữ ký người gửi.
Bước 2:
dùng public key của người gửi (khoá này được thông báo đến mọi người ) để giải mã chữ ký số của message, ta được message digest.
Bước 3:
dùng giải thuật MD5 ( hoặc SHA) băm message đính kèm ta có message digest.
Bước 4:
So sánh kết quả thu được ở bước 2 và 3 nếu trùng nhau, ta kết luận message này không bị thay đổi trong quá trình truyền và message này là của người gửi.
IV) Thuật toán tạo chữ ký số
2.Tạo Ký chữ số : quá trình tạo ký chữ số như sau :
3. Thẩm định chữ ký số:
Xác thực toàn vẹn của thông tin