Tổng quan về hạ tầng khóa công khai – PKI

Một phần của tài liệu Tìm hiểu và ứng dụng của CA trên môi trường windows server 2008 (Trang 41)

2.4.1 Giới thiệu:

Trong hệ thống mã khóa công khai, khóa riêng tư được người dùng giữ bí mật trong khi khóa công khai với tên của người sở hữu tương ứng lại được công bố công khai. Đối với hệ thống này ta cần xác định trả lời một số câu hỏi như sau:

 Ai sẽ tạo ra cặp khoá công khai – bí mật?

 Dữ liệu sẽ được lưu dưới định dạng như thế nào trong hệ thống lưu trữ (khoá công, định danh của người sở hữu và các thông tin khác)?

 Có cơ chế nào để giữ cho thông tin không bị thay đổi trên hệ thống lưu trữ?  Làm thế nào để người sử dụng có thể truy cập được đến nơi lưu trữ?

 Làm thế nào người sử dụng nhận biết được có sự thay đổi trong dữ liệu đang được lưu trên hệ thống lưu trữ?

 Điều gì sẽ xảy với khoá công khai nếu khoá riêng tương ứng bị xâm hại? Để trả lời cho những câu hỏi trên có một giải pháp là sử dụng hạ tầng khoá công khai – PKI. Vậy PKI là gì?

 Trong mật mã học, hạ tầng khóa công khai - PKI ( Public Key Infrastructure) 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 khóa công khai và riêng tư. 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 phối hợp khác tại các địa điểm của người dụng.

PKI là một tập hợp các phần cứng, phần mềm, người dùng, chính sách và các thủ tục cần thiết để tạo, quản lý, lưu trữ, phân phối và thu hồi chứng chỉ khóa công khai dựa trên mật mã khóa công khai.

PKI là hạ tầng cơ sở có thể hỗ trợ quản lý khoá công khai để hỗ trợ các dịch vụ xác thực, mã hoá, toàn vẹn hay chống chối bỏ.

PKI là hạ tầng cơ sở bảo mật có những dịch vụ được triển khai và chuyển giao sử dụng công nghệ và khái niệm khoá công khai.

Khái niệm hạ tầng khóa công khai (PKI) thường được dùng để chỉ toàn bộ hệ thống bao gồm 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ã khóa 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ã hóa khóa công khai.

Nhìn chung, PKI có thể được định nghĩa như một hạ tầng cơ sở sử dụng công nghệ thông tin để cung cấp dịch vụ mã hoá khoá công khai và chữ ký số. Một mục đích quan trọng khác của PKI là để quản lý khoá và chứng chỉ được sử dụng trong hệ thống.

PKI là một chủ đề lớn đến nổi nếu muốn bàn về nó một cách nghiêm túc, chúng ta cần một cuốn sách cỡ vừa, cho nên mục này chỉ là cái nhìn tổng quát về cách thực hiện PKI của Microsoft. Tuy nhiên, hai kết luận quan trọng nhất được rút ra là:

 PKI là một cách dựa trên những tiêu chuẩn và độc lập với hệ điều hành để xác minh chúng ta – tức để chứng tỏ ta có phải là ta hay không.

 Mặc dù có nhiều hứa hẹn, song PKI chưa được sử dụng nhiều trong các hệ điều hành Windows Server.

PKI cho phép những người tham gia xác thực lẫn nhau và sử dụng thông tin từ các chứng thực khóa công khai để mật mã hóa và giải mã trong quá trình trao đổi thông tin.

2.4.2 Các thành phần cơ bản của PKI:

Một hệ thống PKI bao gồm 4 thành phần cơ bản sau:

- Certification Authorithy (CA): là thực thể tạo ra (issuer) các chứng chỉ khóa (certificate) và CRL. CA cũng hỗ trợ một vài chức năng quản lý, mặc dù các chức năng này được ủy quyền cho một hoặc vài RA. CA tạo ra certificate từ các khóa public mà các thực thể đầu cuối ủy quyền cho nó phổ biến, cộng với chữ ký số của chính CA đó. Do vậy, CA phải là một thực thể được tin cậy nếu không, chữ ký của CA sẽ không có ý nghĩa.

- Registration Authority (RA): ): là một thành phần tùy chọn của PKI, có chức năng xử lý một số công việc quản lý nhằm chia sẻ bớt công việc cho CA, chẳng hạn như đăng ký thực thể đầu cuối, kiểm chứng các thực thể đầu cuối, tạo ra các cặp khóa public-private, … Một RA hoạt động như là một xử lý ngoại vi của CA. Một RA chỉ phục vụ cho một CA, nhưng một CA có thể được hỗ trợ bởi nhiều RA..

- Repositories:

 Kho lưu trữ certificate, CLR và cung cấp chúng cho các thực thể đầu cuối khi có yêu cầu. Có nhiều cách để thực thể đầu cuối truy xuất các certificate này tại PKI: X.500 Directory System Agents (DSAs), dịch vụ thư mục LDAP, FTP hoặc HTTP, …

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

- Clients:

 Người sử dụng các chứng chỉ PKI hay theo cách khác được xác định như những thực thể cuối( người dùng, máy tính, thiết bị mạng …).  Người sử dụng cuối hoặc hệ thống là chủ thể của chứng chỉ PKI.

- Certificte Revocation Lists Issuer (CRLs:) sau một khoảng thời gian nhất định hoặc theo yêu cầu của thực thể đầu cuối, certificate có thể bị thu hồi. CRL là danh sách các certificate bị thu hồi, được tạo ra bởi CA

hoặc CA ủy quyền cho CRL issuer tạo ra. Như vậy, CRL issuer cũng là một thành phần tùy chọn của PKI.

Các thành phần PKI và các mối quan hệ giữa chúng được chỉ ra như hình bên dưới. Đây là mô hình kiến trúc PKI do PKIX đưa ra.

Hình 2.6 Các thành phần cơ bản của PKI (adsbygoogle = window.adsbygoogle || []).push({});

a) Tổ chức chứng thực ( Certification Authority ):

Trong các hệ thống quản lý chứng thực số đang hoạt động trên thế giới, Nhà cung cấp chứng thực số (Certificate authority - CA) là một tổ chức chuyên đưa ra

C er ti fi ca te /C R L r es p os it or y End Entity Management Transactions Operational Transactions Management Transactions Management Transactions Management Transactions PKI users PKI management entities Certificate publication Certificate/CRL publication Registration Authority Certification Authority Certification Authority

và quản lý các nội dung xác thực bảo mật trên một mạng máy tính, cùng các khoá công khai để mã hoá thông tin. Là một phần trong Cơ sở hạ tầng khoá công khai (public key infrastructure - PKI), một CA sẽ kiểm soát cùng với một nhà quản lý đăng ký (Registration authority - RA) để xác minh thông tin về một chứng chỉ số mà người yêu cầu xác thực đưa ra. Nếu RA xác nhận thông tin của người cần xác thực, CA sau đó sẽ đưa ra một chứng chỉ.

Tuỳ thuộc vào việc triển khai cơ sở hạ tầng khoá công khai, chứng chỉ số sẽ bao gồm khoá công khai của người sở hữu, thời hạn hết hiệu lực của chứng chỉ, tên chủ sở hữu và các thông tin khác về chủ khoá công khai.

Trong hạ tầng cơ sở khóa công khai, chứng chỉ có vai trò gắn kết giữa định danh với khóa công. Chứng chỉ là cấu trúc dữ liệu đặc biệt , gắn kết khóa công khai với chủ sở hữu của nó. Việc gắn kết này được đảm bảo bằng chữ ký số của nơi được ủy quyền cấp chứng chỉ. Một Certification Authority (CA) là một thực thể PKI có trách nhiệm cấp chứng chỉ cho các thực thể khác trong hệ thống.

Tổ chức chứng thực – CA cũng được gọi là bên thứ ba được tin tưởng vì người sử dụng cuối tin tưởng vào chữ ký số của CA trên chứng chỉ trong khi thực hiện những hoạt động mã hóa công khai cần thiết. Tổ chức cung cấp dịch vụ chứng thực – Certification Service Provider là một thuật ngữ khác nhắc đến CA trong luận văn.

Thông thường, CA thực hiện chức năng xác thực bằng cách cấp chứng chỉ cho các CA khác và cho thực thể cuối (người giữ chứng chỉ) trong hệ thống. Nếu CA nằm ở đỉnh của mô hình phân cấp PKI và chỉ cấp chứng chỉ cho những CA ở mức thấp hơn thì chứng chỉ này được gọi là chứng chỉ gốc “root certificate”.

b) Trung tâm đăng ký (Registration Authorities):

Một nhà quản lý đăng ký (Registration Authority - RA) là một cơ quan thẩm tra trên một mạng máy tính, xác minh các yêu cầu của người dùng muốn xác thực một chứng chỉ số, và yêu cầu CA đưa ra kết quả. RA là một phần trong cơ sở hạ

tầng khoá công khai PKI, một hệ thống cho phép các công ty và người dùng trao đổi các thông tin và hoạt động tài chính một cách an toàn bảo mật.

Mặc dù CA có thể thực hiện những chức năng đăng ký cần thiết, nhưng đôi khi cần có thực thể độc lập thực hiện chức năng này. Thực thể này được gọi là “registration authority” - trung tâm đăng ký. Ví dụ khi số lượng thực thể cuối trong miền PKI tăng lên và số thực thể cuối này được phân tán khắp nơi về mặt địa lý thì việc đăng ký tại một CA trung tâm trở thành vấn đề khó giải quyết. Để giải quyết vấn đề này cần thiết phải có một hoặc nhiều RAs (trung tâm đăng ký địa phương).

Mục đích chính của RA là để giảm tải công việc của CA. Chức năng thực hiện của một RA cụ thể sẽ khác nhau tuỳ theo nhu cầu triển khai PKI nhưng chủ yếu bao gồm những chức năng sau:

 Xác thực cá nhân chủ thể đăng ký chứng chỉ.

 Kiểm tra tính hợp lệ của thông tin do chủ thể cung cấp.

 Xác nhận quyền của chủ thể đối với các thuộc tính chứng chỉ được yêu cầu.

 Kiểm tra xem chủ thể có thực sự sở hữu khoá riêng đang được đăng ký hay không - điều này thường được đề cập đến như sự chứng minh sở hữu (proof of possession - POP).

 Tạo cặp khoá bí mật /công khai.

 Phân phối bí mật được chia sẻ đến thực thể cuối (ví dụ : khoá công của CA).

 Thay mặt chủ thể thực thể cuối khởi tạo quá trình đăng ký với CA.  Lưu trữ khoá riêng.

 Khởi sinh qúa trình khôi phục khoá.

 Phân phối thẻ bài vật lý (ví dụ như thẻ thông minh) chứa khoá riêng. Nhìn chung, RA xử lý việc trao đổi (thường liên quan đến tương tác người dùng) giữa chủ thể thực thể cuối và quá trình đăng ký, phân phối chứng chỉ và quản lý vòng đời chứng chỉ/khoá. Tuy nhiên, trong bất kỳ trường hợp nào thì RA cũng chỉ đưa ra những khai báo tin cậy ban đầu về chủ thể. Chỉ CA mới có thể cấp chứng chỉ hay đưa ra thông tin trạng thái thu hồi chứng chỉ như CRL.

c) Thực thể cuối ( Người giữ chứng chỉ và Clients):

Thực thể cuối trong PKI có thể là người dụng, máy tính, thiết bị mạng hay thậm chí là một chương trình phần mềm nhưng thường là người sử dụng hệ thống. Thực thể cuối sẽ thực hiện những chức năng mật mã (mã hoá, giải mã và ký số). Theo định nghĩa, thực thể cuối không phải là một CA.

d) Kho lưu trữ chứng chỉ(Certificate Depositories):

Cũng như một RA, một kho lưu trữ chứng chỉ ( Certificate Depository) cũng thường được kể đến như là một danh mục của chứng chỉ (certificate directory), nó là một phần không bắt buộc nhưng là thành phần khá phổ biến trong các hệ thống PKI. Kho lưu trữ cho các khóa, các chứng chỉ, CRLs thường được sử dụng phổ biến trên nền giao thức LDAP. Kho lưu trữ các chứng chỉ có thể là một giải pháp có hiệu quả cao cho một hệ thống khép kín (vd: intranet) hoặc trong môi trường xử lý riêng biệt (vd: chipcard-based applications) nơi mà khóa công khai của Root CA được phân phát cục bộ hoặc danh sách thu hồi được lưu trữ cục bộ. Trong nhiều hoàn cảnh khác, nó cũng chứng thực việc sử dụng chứng chỉ hoặc danh sách thu hồi chứng chỉ CRL.

Sự phân phát chứng chỉ có thể được hoàn tất bởi việc phát hành các chứng chỉ trong danh mục được điều khiển bởi CA hay RA. Khi danh mục được điều khiển bởi một CA hay RA thì việc phân phát chứng chỉ sẽ trở nên đơn giản hơn. LDAP là một điển hình cho việc phân phát này. LDAP - Lightwight Directory Acess Protocol là dịch vụ thư mục của IETF (Internet Engineering Task Force) đã được dùng rộng rãi trên Internet. Được thiết kế dùng với mục đích truy xuất dữ liệu trên mô hình client – server.

Chứng chỉ, khóa và thông tin thu hồi chứng chỉ phải được phân phối sao cho những người cần đến chứng chỉ đều có thể truy cập và lấy được. Có 2 phương pháp phân phối:

- Phân phối cá nhân: là cách phân phối cơ bản nhất. Trong phương pháp này thì mỗi cá nhân sẽ trực tiếp đưa chứng chỉ của họ cho người dùng khác. Việc này có thể thực hiện theo một số cơ chế khác nhau. Chuyển giao bằng tay chứng chỉ được lưu trong đĩa mềm hay trong một số các môi (adsbygoogle = window.adsbygoogle || []).push({});

trường lưu trữ khác. Cũng có thể phân phối bằng cách gắn chứng chỉ trong e-mail để gửi cho người khác. Cách này thực hiện tốt trong một nhóm ít người dùng nhưng khi số lượng người dùng tăng lên thì có thể xảy ra vấn đề về quản lý.

- Phân phối công khai: phương pháp phổ biến hơn để phân phối chứng chỉ (và thông tin thu hồi chứng chỉ) là công bố các chứng chỉ rộng rãi, các chứng chỉ này có thể sử dụng một cách công khai và được đặt ở vị trí có thể truy cập dễ dàng. Một số giao thức phổ biến được sử dụng cho mục đích này như: DSAs - X.500 Directory System Agents, LDAP -

Lightweight Directory Access Protocol, OCSP - Online Certificate Status Protocol

e) Danh sách thu hồi chứng chỉ (CRLs):

Một chứng thư khi được ban hành thì luôn kèm theo thời hạn sử dụng và nó luôn được mong đợi sử dụng hết khoảng thời gian đó. Khi hết thời hạn này thì chứng thư sẽ được thu hồi bởi CA, tuy nhiên vẫn có các chứng thư bị thu hồi trước thời hạn sử dụng do nhiều lý do khác nhau. Các trường hợp thu hồi chứng thư này có thể là do thay đổi thông tin cá nhân, bỏ không dùng, mất, lộ hoặc hỏng khóa...

ITU đã đưa ra khuyến nghị X.509 về tiêu chuẩn định dạng chứng thư số, trong đó đưa ra một phương thức thu hồi chứng thư. Theo phương thức này, mỗi CA phải phát hành một cấu trúc dữ liệu đã được xác nhận được gọi là danh sách chứng thư số bị thu hồi (CRL). Định dạng cho CRL sử dụng trong môi trường Internet của ITU là tiêu chuẩn X.509 v2 CRL. Một CRL là một danh sách các chứng thư bị thu hồi theo thời gian bởi một CA hoặc một nhà cung cấp chứng thư số, và danh sách này được công bố miễn phí công cộng. Mỗi chứng thư số bị thu hồi nằm trong một CRL được nhận diện bằng số hiệu chứng thư số của nó.

Windows Server 2008 hỗ trợ hai loại CRLs: base CRL và delta CRL.

 Base CRL là một danh sách của tất cả các chứng thư thực thể cuối và tổ chức cấp chứng thư bị thu hồi với mọi lý do.

 Delta CRL là một CRL chỉ mang những thay đổi của một tập gồm một hoặc nhiều base CRL với những phạm vi được đưa ra, trong đó,

một số hoặc tất cả các chứng thư có thể không được phát hành bởi tổ chức đã ký và phát hành CRL này.

Delta CRL thì nhỏ hơn Base CRL vì nó chỉ chứa những Serial Number và lý do thu hồi các chứng chỉ kể từ bản Base CRL mới nhất được phát hành. Khi một bản Base CRL mới được phát hành thì các chứng chỉ trong Delta CRL sẽ được thêm vào Base CRL mới đó và bản delta CRL kế tiếp sẽ chỉ chứa các chứng chỉ bị thu hồi kể từ bản base CRL mới đó được phát hành.

Hình 2.7 Ví dụ về CRL

Các trường chính:

Version: trường này cho biết phiên bản của CRL.

Signature: Trường này cho biết thuật toán được sử dụng để ký cho CRL này

Issuer:Cho biết các thông tin về tổ chức phát hành CRL này

EffectiveUpdate: Cho biết các thông tin về tổ chức phát hành CRL này

Next Update: Là thời điểm muộn nhất mà CRL tiếp theo được phát hành. Tuy nhiên, CRL này vẫn được cập nhật và ban hành.

Một phần của tài liệu Tìm hiểu và ứng dụng của CA trên môi trường windows server 2008 (Trang 41)