Tìm hiểu Public Key Infrastructure (PKI)

I) 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.

II) Các thành phần của PKI

a.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:
-chứng thực và đăng ký mật mã đầu cuối
-kiểm tra tính toàn vẹn của khoá công khai
-chứng thực yêu cầu trong quá trình bảo quản các khoá công khai
-bí mật cấp phát khoá công cộng
-huỷ bỏ khoá công khai khi nó không có đủ giá trị độ dài
-duy trì việc thu hồi các thông tin về khoá công cộng (CRL) và phân bổ thông tin (thông qua CRL cấp phát hoặc đáp ứng đến Online Certificate Status Protocol [OCSP] messages).
-đảm bảo an toàn về độ lớn của khoá.
·Public Keys Certificates :
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:

  • Mật mã đầu cuối đăng ký với CA hoặc RA. Trong quá trình đăng ký, mật mã đầu cuối đưa ra cách nhận biết đến CA. CA sẽ xác thực đầu cuối, phát public key đến đầu cuối .
  • Các đầu cuối bắt đầu khởi tạo phase bằng cách tạo ra một public/private keypair và public key của keypair được chuyến đến CA.
  • CA viết mật hiệu lên public key certificate cùng với private key để tạo một public key certificate cho mật mã đầu cuối.

Lúc này các mật mã đầu cuối có thể yêu cầu public key certificate từ mật mã đầu cuối khác. Chúng có thể sử dụng CAs public key để giải mã public key certificate để thu được khoá thích hợp·Registration Authorities:
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ư:
kiểm tra mật mã đầu cuối thử đã đăng ký public key với CA để có private key mà được dùng để kết hợp với public key.

  • Phát public/private keypairs được dùng để khởi tạo phase của quá trình đăng ký.
  • xác nhận các thông số của public key.
  • phát gián tiếp các certificate Revocation List (CRL).

·Certificate Authorities :
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.
a.Mục tiêu và các chức năng của PKI
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ư :
-Mã hoá Email hoặc xác thực người gửi Email
-Mã hoá hoặc chứng thực văn bản
-Xác thực người dùng ứng dụng
-Các giao thức truyền thông an toàn : trao đổi bằng khoá bất đối xứng, mã hoá bằng khoá đối xứng.
PKI bao gồm các thành phần sau đây:
-Phát sinh một cặp khoá riêng và khoá chung cho PKI client
-Tạo và xác nhận chữ ký điện tử
-cấp phát chứng nhậo người dùng
-Đánh dấu những khoá đã cấp phát và bảo trì quá trình sử dụng của mỗi khoá
-Hủy bỏ những đăng ký sai và hết hạn
-Xác nhận PKI client
c)Mục đích của PKI
PKI được sử dụng với các mục đích :
-Mã hoá: giữ bí mật thông tin và chỉ có người có khoá bí mật mới giải mã được.
-Tạo chữ ký số : cho phép kiểm tra một văn bản có phải đã được tạo với một khoá bí mật nào đó hay không.
-Thoả thuận khoá: cho phép thiết lập khoá dùng để trao đổi thông tin bảo mật giữa 2 bên.

III) Cơ sở hạ tầng của PKI

1.Các bước mã hoá:
Bước 1:
alt

Dùng giải thuật băm để 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:
alt

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:
alt 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ận 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:
alt

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:
alt

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:
alt

dùng giải thuật MD5 ( hoặc SHA) băm message đính kèm ta có message digest.
Bước 4:
alt

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ố
1)Chữ ký số (digital signature)
– Là một dạng chữ ký điện tử
– Dựa trên công nghệ khoá công khai PKI: mỗi người cần một cặp khoá gồm khoá công khai và khoá bí mật.

  • Khoá bí mật dùng để tạo chữ ký số (CKS)
  • Khoá công khai dùng để thẩm định chữ ký số (xác thực).

2)Tạo Ký chữ số : quá trình tạo ký chữ số như sau :
alt
3)Thẩm định chữ ký số:
alt
-Quá trình thẩm định chữ ký số là quá trình xác thực
-kết quả : xác thực được người gửi
Xác thực toàn vẹn của thông tin
alt
alt

Xem thêm chứng chỉ số chuẩn X.509

Posted on 30/10/2010, in Security, Tổng quan công nghệ and tagged , , , . Bookmark the permalink. Để lại bình luận.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: