Tìm hiểu Public Key Infrastructure (PKI) và Chứng chỉ khoá công khai X.509

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

Chứng chỉ khoá công khai X.509

Chứng chỉ X.509 v3 là định dạng chứng chỉ được sử dụng phổ biến và được hầu hết các nhà cung cấp sản phẩm PKI (public-key infrastructures) triển khai.

Chứng chỉ khoá công khai X.509 được Hội viễn thông quốc tế (ITU) đưa ra lần đầu tiên năm 1988 như là một bộ phận của dịch vụ thư mục X.500.

Chứng chỉ gồm 2 phần. Phần đầu là những trường cơ bản cần thiết phải có trong chứng chỉ. Phần thứ hai chứa thêm một số trường phụ, những trường phụ này được gọi là trường mở rộng dùng để xác định và đáp ứng những yêu cầu bổ sung của hệ thống

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

– Certification Authorities (CA ) Cấp và thu hồi chứng chỉ.

– Registration Authorities (RA) Gắn kết giữa khoá công khai và định danh của người giữ chứng chỉ.

– Clients

– Người sử dụng chứng chỉ PKI hay theo cách khác được xác định như những thực thể cuối.

– Người sử dụng cuối hoặc hệ thống là chủ thể của chứng chỉ PKI.

– Repository

– Hệ thống (có thể phân tán) lưu trữ chứng chỉ và danh sách cácchứng chỉ bị thu hồi.

– Cung cấp cơ chế phân phối chứng chỉ và CRLs đến các thực thể cuối

Những trường cơ bản của chứng chỉ X.509

Bảng 1: Các trường Chứng chỉ khóa công khai X509

clip_image002

  • · Version: xác định số phiên bản của chứng chỉ.
  • · Certificate Serial Number: do CA gán, là định danh duy nhất của chứng chỉ.
  • · Signature Algorithm ID: chỉ ra thuật toán CA sử dụng để ký số chứng chỉ. Có thể là thuật toán RSA hay DSA…
  • · Issuer: chỉ ra CA cấp và ký chứng chỉ.
  • · Validity Period: khoảng thời gian chứng chỉ có hiệu lực. Trường này xác định thời gian chứng chỉ bắt đầu có hiệu lực và thời điểm hết hạn.
  • · Subject: xác định thực thể mà khoá công khai của thực thể này được xác nhận. Tên của subject phải duy nhất đối với mỗi thực thể CA xác nhận.
  • · Subject public key information: chứa khoá công khai và những tham số liên quan; xác định thuật toán (ví dụ RSA hay DSA) được sử dụng cùng với khoá.
  • · Issuer Unique ID (Optional): là trường không bắt buộc, trường này cho phép sử dụng lại tên người cấp. Trường này hiếm được sử dụng trong triển khai thực tế.
  • · Extensions (Optional): chỉ có trong chứng chỉ v.3.
  • · Certification Authority’s Digital Signature: chữ ký số của CA được tính từ những thông tin trên chứng chỉ với khoá riêng và thuật toán ký số được chỉ ra trong trường Signature Algorithm Identifier của chứng chỉ.

    Ngoài ra chứng chỉ X509 còn một số trường mở rộng, phần mở rộng là những thông tin về các thuộc tính cần thiết được đưa vào đểgắn những thuộc tính này với người sử dụng hay khoá công. Những thông tin trong phần mở rộng thường được dùng để quản lý xác thực phân cấp, chính sách chứng chỉ, thông tin về chứng chỉ bị thu hồi…Nó cũng có thể được sử dụng để định nghĩaphần mở rộng riêng chứa những thông tin đặc trưng cho cộng đồng nhất định. Mỗi trường mở rộng trong chứng chỉ được thiết kế với cờ “critical” hoặc “uncritical”.

    Tính toàn vẹn của chứng chỉ được đảm bảo bằng chữ ký số của CA trên chứng chỉ. Khoá công khai của CA được phân phối đến người sử dụng chứng chỉ theo một số cơ chế bảo mật trước khi thực hiện các thao tác PKI. Người sử dụng kiểm tra hiệu lực của chứng chỉ được cấp với chữ ký số của CA và khoá công khaicủa CA.

Chứng thực (certification) là chức năng quan trọng nhất của hệ thống PKI. Đây là quá trình ràng buộc khoá công khai với định danh của thực thể. CA là thực thể PKI thực hiện chức năng chứng thực. Có hai phương pháp chứng thực:

Tổ chức chứng thực (CA) tạo ra cặp khoá công khai / khoá bí mật và tạo ra chứng chỉ cho phần khoá công của cặp khoá.

Người sử dụng tự tạo cặp khoá và đưa khoá công cho CA để CA tạo chứng chỉ cho khoá công đó. Chứng chỉ đảm bảo tính toàn vẹn của khoá công khai và các thông tin gắn cùng.

· Thẩm tra (validation)Quá trình xác định liệu chứng chỉ đã đưa ra có thể được sử dụng đúng mục đích thích hợp hay không được xem như là quá trình kiểm tra tính hiệu lực của chứng chỉ. Quá trình này bao gồm một số bước sau:

Kiểm tra xem liệu có đúng là CA được tin tưởng đã ký số lên chứng chỉ hay không (xử lý theo đường dẫn chứng chỉ).

Kiểm tra chữ ký số của CA trên chứng chỉ để kiểm tra tính toàn vẹn.

Xác định xem chứng chỉ còn ở trong thời gian có hiệu lực hay không.

Xác định xem chứng chỉ đã bị thu hồi hay chưa.

Xác định xem chứng chỉ đang được sử dụng có đúng mục đích, chính sách, giới hạn hay không (bằng cách kiểm tra những trường mở rộng cụ thể như mở rộng chính sách chứng chỉ hay mở rộng việc sử dụng khoá).

Hệ thống PKI thực hiện chức năng chứng thực, thẩm tra cùng với một số chức năng phụ trợ khác. Dưới đây là một số chức năng và dịch vụ được hầu hết các hệ thống PKI cung cấp. Một số những chức năng khác có thể được định nghĩa tuỳ theo yêu cầu cụ thể của các hệ thống PKI.

Nguồn:LÊ Tôn Phát.

Advertisements

Trả lời

Please log in using one of these methods to post your comment:

WordPress.com Logo

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

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s