Thành phần cơ bản của PKI

Một phần của tài liệu BẢO MẬT GET VPN TRÊN VPNMPLS (Trang 37)

3.2.1.1 Chứng thực.

Chứng thực được dùng để thiết lập một liên kết giữa một thiết bị và tài liệu điện tử tương ứng. Trong đó, tài liệu là thông tin mã hóa, thường được biết đến như các key mã hóa. Một chứng thực số là một tập hợp các thông tin số độc lập, được kết hợp và ký nhận bởi trung tâm ủy quyền.

Chứng thực có những thông tin chính sau:  Đặc điểm nhận dạng (tên hoặc chứng nhận)

 Các thuộc tính kèm theo đặc điểm nhận dạng hoặc chứng thực ủy quyền sử dụng.  Một public key thực hiện một tập hợp các hoạt động mã hóa định sẵn. nó không

được bảo mật.

 Một chữ ký từ một trung tâm ủy quyền chứng thực (CA – Certification Authority), nó bao phủ toàn bộ các trường thông tin phía trên.

Chương 3: Các phương pháp mã hóa và Cấu trúc PKI

Các chuẩn định dạng của chứng thực:

 X.509v3 là tiêu chuẩn cho PKI internet. Nó dựa vào một mô hình mang tính hệ thống và được trình bày trong RFC-5280.

 Mã hóa PEM (Privacy Enhanced Mail) thì thường tượng trưng cho chứng thực trong định dạng text.

Hình 3.5 Cấu trúc chứng thực X.509 [3].

3.2.1.2 Trung tâm chứng thực CA (Certification Authority).

Vai trò và chức năng.

Vai trò chính của CA xây dựng mối quan hệ tin cậy giữa thiết bị và tài liệu điện tử (ví dụ như cặp key). CA thì chịu trách nhiệm xác nhận sự xác thực của các yêu cầu chứng thực. Để đảm bảo thì chứng thực bao gồm một số thông tin như thông tin thiết bị yêu cầu hoặc các đặc điểm của nó.

Private CA và Public CA.

Phụ thuộc vào mục tiêu tổng quan và phạm vi của việc triển khai PKI, có thể phân biệt thành hai loại CA: private và public.

Các Private CA được tạo ra, khai thác và duy trì bởi một tổ chức cá nhân. Các dịch vụ của nó chỉ cung cấp với chức năng bên trong công ty. Các thành phần bên ngoài sẽ không biết đến hoặc không tin cậy một private CA. Nội dung và cấu trúc của chúng thực không bị ràng buộc. Các chứng thực được cấp miễn phí.

Các Public CA được biết đến và được tin cậy trên phạm vi rộng lớn (như cấp độ Internet). Chúng được khai thác và duy trì bởi các công ty chuyên môn (ví dụ như: Verisign, Entrust, GlobalSign, Thawte). Để sử dụng dịch vụ, một chi phí phải được trả cho các công ty. Nội dung của các chứng thực thường có nhiều ràng buộc.

3.2.1.3 Trung tâm chứng thực phụ Sub-CA (Subordinate CA).

Khi số lượng các thành phần đăng ký tăng lên đáng kể, điều này sẽ ảnh hưởng đến khả năng quản lý của CA. Vì vậy, các CA phải được xây dựng như một hệ thống. Vai trò và chức năng của CA được phân phối đến nhiều sub-CA.

Vai trò và chức năng của một sub-CA cũng giống như một CA:  Hoạt động như một trung tâm ủy quyền tin cậy.

 Xác minh đặc điểm của chủ thể yêu cầu đăng ký.  Ban hành chứng thực.

Một sự khác biệt giữa CA và sub-CA, một CA có thể xem như một vùng tự trị, một thành phần PKI, một sub-CA luôn là con của một CA. Cấu hình một sub-CA sẽ trình bày trong phần sau.

3.2.1.4 Các user và thiết bị cuối.

Vai trò và chức năng:

Là điểm cuối cây hệ thống PKI nên chúng không thể ban hành các chứng thực.Chúng sử dụng chứng thực cho các hoạt động mã hóa liên quan trực tiếp đến chúng, phổ biến như việc xác thực đến các hệ thống thông tin như VPN, web server…, chữ ký số đối với các email, mã hóa nội dung.

Chương 3: Các phương pháp mã hóa và Cấu trúc PKI

Chức năng bảo mật:

Một chứng thực số là sự nhận dạng số của một điểm cuối. Một điều quan trọng là phải bảo vệ chúng. Bản thân chứng thực là các thông tin chung; tuy nhiên, cặp key liên kết (cụ thể là key riêng) là một thông tin bí mật vì nó được sử dụng để tạo nội dung mã hóa liên kết đến chứng thực.

Một thiết bị lưu trữ được dùng để lưu một bản sao chứng thực luôn sẵn sàng để sử dụng và việc bảo vệ các cặp key. Các nơi lưu trữ thường được sử dụng như: Microsoft Windows Certificate Storage, Linux, MAC OS, Cisco IOS, Cisco ASA, Smart Card…

3.2.2 Quá trình đăng ký PKI.

Một vài quá trình xảy ra trong mạng PKI như:  Enrollment.

 Hết hạn và cấp mới chứng thực.  Kiểm tra chứng thực.

3.2.2.1 Enrollment.

Enrollment là quá trình để đạt được chứng thực. Có hai cách thực hiện quá trình enrollment:

 Manual enrollment.

 Network SCEP-based enrollment.

Cả hai quá trình giống nhau về nguyên lý nhưng cách thực hiện khác nhau. Bao gồm các sự kiện như sau:

 Các host tạo một cặp key RSA.

 Một chứng thực yêu cầu chứa public key của host được đưa đến CA.

 CA ký nhận yêu cầu với private key của CA và tạo một chứng thực cho host.  Chứng thực được mang trở lại cho host.

Hình 3.6 Quá trình đăng kí chứng thực [5]. Để tạo một cặp RSA key, ở mode config dùng lệnh:

Router(config)#crypto key generate rsa label pki-client module 1024 exportable Để cấu hình quá trình enrollment, phải tạo một trustpoint trùng tên với trustpoint trên

CA cho thiết bị:

Router(config)#crypto pki trustpoint name-trustpoint

Manual Enrollment.

Trong vài trường hợp, kết nối mạng không đảm bảo giữa khách hàng và server chứng thực. Trong trường hợp này, người quản trị mạng phải copy và paste bằng tay chứng thực vào router.

Manual enrollment gồm các bước sau:

1. Cấu hình spoke sử dụng terminal để enrollment: Router(config)#crypto pki trustpoint name-trustpoint

Router(ca-trustpoint)#enrollment ternimal

2. Trên CA, xuất chứng thực của nó ra terminal và copy chứng thực. Router(config)#crypto pki export name-trustpoint pem terminal

3. Thiết bị spoke xác thực chứng thực của CA và xác nhận fingerprint. Router(config)#crypto pki authenticate name-trustpoint

Chương 3: Các phương pháp mã hóa và Cấu trúc PKI

Router(config)#crypto pki enroll name-trustpoint

Trên CA, paste yêu cầu chứng thực của spoke vào. 5. CA cấp chứng thực cho yêu cầu.

Router(config)#crypto pki server name-server grant number-cert

6. Trên spoke, paste chứng thực được CA cấp ở trên vào terminal. Router(config)#crypto pki import name-trustpoint certificate

Network SCEP-based enrollment.

Khi các kết nối mạng sẵn sàng giữa các khách hàng và server chứng thực, một cách thực hiện dựa trện mạng thì mang lại nhiều tiện lợi hơn. SCEP (Simple Certificate Enrollment Protocol) enrollment là một giải pháp thích hợp. Nó chỉ yêu cầu cấu hình đơn giản trên router và thích hợp cho mạng quy mô lớn, cải thiện tính mở rộng của hệ thống.

SCEP cho phép các thiết bị tham gia yêu cầu chứng thực hoặc các chức năng liên quan chứng thực (kiểm tra, hủy bỏ) từ xa. SCEP sử dụng kết nối TCP, mặc định chạy trên port 80, nhưng cũng có thể cấu hình sử dụng port khác (phải đồng bộ trên server và endpoint).

Khi một thiết bị có một cặp key RSA, nó tạo môt yêu cầu đến CA sử dụng SCEP. Chứng thực bao gồm public key của nó. CA cấp một chứng thực mới được mã hóa bằng public key của thiết bị. Vì vậy, chỉ có thiết bị yêu cầu mới giải mã được chứng thực.

Cấu hình router sử dụng SCEP-based enrollment: Router(config)#crypto pki trustpoint name-trustpoint

Router(ca-trustpoint)#enrollment url http://địa_chỉ_IP_của_server:80 Sau đó spoke phải xác thực với CA và yêu cầu đăng ký:

Router(config)#crypto pki authenticate name-truspoint Router(config)#crypto pki enroll name-truspoint

3.2.2.2 Hết hạn và cấp mới chứng thực.

Chứng thực có thời hạn nhất định. Cả chứng thực CA và chứng thực spoke đều hết hạn. Khi đó, các xác thực giữa các thành viên sử dụng chứng thực sẽ bị lỗi; vì vậy, các kết nối không được thiết lập. Để ngăn chặn đều này, hai cơ chế được triển khai cho việc cấp mới chứng thực: auto enrollment, sử dụng cho spoke và rollover, sử dụng cho sever chứng thực.

Auto enrollment

Khi các chứng thực hết hạn, auto enrollment cho phép thiết bị đạt được một chứng thực mới mà không có gián đoạn. Các host có thể yêu cầu một chứng thực tại khoảng thời gian xác định trước khi chứng thực hết hạn, được sử dụng với SCEP.

Để cấu hình auto enrollment, vào mode phụ ca-trustpoint và dùng lệnh (giả sử yêu cầu cấp mới vào thời điểm bằng 80% thời gian sống của chứng thực):

Router(ca-trustpoint)#auto-enroll 80

Rollover

Khi chứng thực trên CA server hết hạn, rollover cho phép CA đạt được một chứng thực một chứng thực mới mà không có sự gián đoạn. Bằng việc cấu hình rollover, CA có thể tạo một chứng thực mới tại thời điểm đã xác định trước khi chứng thực hết hạn. Chứng thực mới gọi là một ảnh của chứng thực, sẽ kích hoạt tại thời điểm mà chứng thực hiện tại hết hạn.

Để cấu hình rollover, vào mode phụ cs-server và dùng lệnh: Router(cs-server)#auto-rollover 3 3 30

Trong đó, ba thông số trên lần lượt là ngày giờ phút, thời điểm mà cấp chứng thực mới trước khi chứng thực hiện tại hết hạn.

3.2.2.3 Kiểm tra chứng thực.

Trong các trường hợp, các chứng không được sử dụng nữa thì cần có một phương pháp thu hồi lại chứng thực thay vì đợi đến cho chứng thực hết hạn. Có ba phương pháp thực hiện quan trọng là:

 Sử dụng certificate revocation list (CRL), nó được tải xuống router định kỳ.

 Sử dụng online certificate status protocol (OCSP), cung cấp update thời gian thực và tạo một yêu cầu cho mọi chứng thực xuất hiện.

Chương 3: Các phương pháp mã hóa và Cấu trúc PKI

 Sử dụng authentication, authorization, and accouting (AAA) server kết hợp với chứng thực, liên quan đến các user thực hiện việc xác thực.

So sánh ưu khuyết điểm các phương pháp:

Ưu điểm Khuyết điểm

CRL Yêu cầu chi phí mạng thấp,

được hỗ trợ trong IOS. Không đáp ứng thời gian thực nếu chứng thực bi thu hồi khi chưa đến thời hạn update.

Nếu danh sách CRL dài, thì thời gian xử lý update chậm.

OCSP Đáp ứng thời gian thực. Không hỗ trợ trong IOS.

IOS CA thì không hỗ trợ OCSP, chỉ có sự kiểm tra của khách hàng được hỗ trợ.

AAA Thi hành việc cấp phép thời gian thực

Các thông tin chứng thực cụ thể phải được nhập vào AAA server. Phụ thuộc vào các tiêu chí lựa chọn, nó có thể làm mất nhiều thời gian cho người quản lý.

Trong phần này, chỉ trình bày về phương pháp CRL để kiểm tra chứng thực.

Certificate Revocation Lists

Certificate revocation list (CRL) cho phép các thiết bị xác định việc một chứng thực bị thu hồi trước thời hạn. Một CRL thì bao gồm số serial của chứng thực (ban hành bởi CA) và ngày thu hồi chứng thực. Để cho phép tính năng CRL hoạt động trên thiết bị ta dùng lệnh:

Router(ca-trustpoint)#revocation-check crl

Mặc định, CRL được lưu trên CA, nhưng nó được đề nghị lưu trên sever bên ngoài (ví dụ như tftp server) nếu có sự cố xảy ra (mất điện hoặc router bị hư) thì hệ thống PKI có thể phục hồi được. Để lưu CRL trên server bên ngoài, trong mode phụ cs- server ta dùng lệnh:

CRL cũng có thời gian sống. Khi khoảng thời gian này kết thúc, CRL sẽ được update lại thông tin. Để chỉnh thời gian sống của chứng thực, trong mode phụ cs- server dùng lệnh:

Router(cs-server)#lifetime crl ngày giờ

Để thu hồi một chứng thực, trong mode priviledge dùng lệnh: Router#crypto pki server name-server revoke số-serial

Chứng thực sẽ bị thu hồi, nhưng thông tin này sẽ không được CRL update cho đến khi nó hết hạn.

3.2.3 Kiến trúc hệ thống CA phân cấp.

Hệ thống CA theo kiến trúc phẳng cơ bản thì chỉ sử dụng cho hệ thống nhỏ, các spoke sẽ đăng ký trực tiếp đến root CA.

Hình 3.7 Cấu trúc hệ thống CA phẳng [3].

Một PKI cho một mạng có hàng trăm hoặc nhiều hơn các spoke thì kiến trúc phẳng sẽ xuất hiện các vấn đề như: xử lý chậm, khó khăn trong việc quản lý và độ mở rộng. Để đáp ứng trường hợp này, một hệ thống CA có kiến trúc phân cấp sẽ được triển khai.

Chương 3: Các phương pháp mã hóa và Cấu trúc PKI

Hình 3.8 Cấu trúc hệ thống CA phân cấp [3] Thiết kế hệ thống phân cấp có hai loại như sau:

 Đầu tiên, nội dung chuỗi chứng thực được sử dụng cho phép tất cả các thiết bị cùng root-CA xác thực lẫn nhau. Nghĩa là mặc dù hai thiết bị đăng ký với hai sub- CA khác nhau vẫn chứng thực được với nhau. Ví dụ trong IKE (Internet Key Exchange), chuỗi chứng thực mặc định được thực hiện.

 Cái còn lại, chuỗi chứng thực không được cho phép. Nghĩa là chỉ có các thiết bị cùng sub-CA mới chứng thực được lẫn nhau mặc dù các sub-CA có cùng một root- CA. Ví dụ trong SSL (Secure Sockets Layer), chuỗi chứng thực phải được enable một cách rõ ràng nếu muốn sử dụng.

Cấu hình root CA:

Đầu tiên, cần phải cấu hình một root CA cho hệ thống. Để cấu hình root-CA, thực hiện các bước sau:

1. Tạo một cặp RSA key dùng cho việc xác thực. 2. Cấu hình certificate server:

 Tạo một cs-sever cho root CA.

 Xác định định dạng tên cho chứng thực của server: có hai dạng là FQND (mặc định) và X500

 Xác định nơi trữ các file dữ liệu của CA

 Cấu hình cấp độ lưu trữ thông tin của cơ sở dữ liệu, có cấp độ là: nimimum, name, complete.

Router(config)#crypto pki server root-CA

Router(cs-server)#issuer-name CN=root-CA, OU=GETVPN, O=BachKhoa, C=VietNam

Router(cs-server)#database url nvram: Router(cs-server)#database level name 3. Cấu hình các chính sách ban hành cho CA:

 Xác định thuật toán hash sử dụng cho quá trình ký nhận chứng thực, có hai cách là MD5 (mặc định) và SHA-1.

 Xác định thời gian sống cho các chứng thực được ban hành (thường là 2 hoặc 3 năm), thời gian sống cho chứng thực của CA (mặc định là 5 năm).

 Cấu hình phương pháp cấp chứng thực cho router, có 2 phương pháp: tự động và bằng tay.

o Tự động: trong mode phụ trustpoint dùng lệnh grant auto cho chứng thực của spoke, lệnh grant auto rollover ca-cert

o Bằng tay: ở mode priviledge, dùng lệnh crypto pki server root-CA

{grant|reject} req-id

Router(config)#crypto pki server root-CA

Router(cs-server)# hash sha1

Router(cs-server)# lifetime certificate 730 Router(cs-server)# lifetime ca-certificate 3650 Router(cs-server)# grant auto

Chương 3: Các phương pháp mã hóa và Cấu trúc PKI

4. Cấu hình chính sách thu hồi chứng thực:

Để điều chỉnh thời gian sống cho crl, trong modecs-server dùng lệnh lifetime crl giờ

(từ 0-366 giờ).

5. Cấu hình SCEP interface (nếu dùng SCEP enrollment) Trong mode config, dùng lệnh ip http server

6. Cho phép CS server hoạt động.

Dùng lệnh no shutdown trong mode phụ cs-server. Sau khi server được bật lên, nó không cho phép thay đổi cấu hình, nếu muốn thay đổi ta phải shutdown sever.

Cấu hình một sub-CA:

Để có hệ thống trên, cần phải cấu hình chính xác một sub-CA mới. Sub-CA phải đăng ký đến root CA và đại diện cho root CA cấp chứng thực cho các spoke. Để cài đặt sub-CA, cần thực hiện các bước sau:

1. Cấu hình server cho sub-CA: tương tự như cấu hình root CA. Để nó hoạt động như sub-CA, cần thêm vào câu lệnh:

Router(config)#crypto pki server sub-CA-1

Router(cs-server)#mode sub-cs

2. Thiết lập một trustpoint cho sub-CA:

Router(config)#crypto pki trustpoint sub-CA-1

Router(ca-trustpoint)#enrollment url http://địa-chỉ-IP-root-CA:80 Router(ca-trustpoint)#rsakeypair subca-key

Router(ca-trustpoint)#revocation crl none

3. Vào no shutdown cho server và chấp nhận chứng thực của root CA.

4. Trên root CA, phải cấp bằng tay cho yêu cầu đăng ký của sub CA bằng câu lệnh: Router#crypto pki server root-CA grant all

5. Trên sub CA, dùng các câu lệnh show để xác nhận đã nhận chứng thực. Router#show crypto pki server

3.2.4 Mô phỏng hệ thống CA.

Hoạt cảnh mô phỏng.

Mô hình mô phỏng là một hệ thống CA hai cấp, các client (spoke) sẽ đăng ký chứng thực với root-CA thông qua các sub-CA.

Hình 3.9 Mô hình mô phỏng CA hai cấp.

Kết quả mô phỏng:

Chương 3: Các phương pháp mã hóa và Cấu trúc PKI

Hình 3.11 Nội dung chứng thực trên Client. Nhận xét:

 Trên sub-ca nhận chứng thực từ root-ca và đại diện cho root-ca cấp chứng thực cho

Một phần của tài liệu BẢO MẬT GET VPN TRÊN VPNMPLS (Trang 37)

Tải bản đầy đủ (PDF)

(81 trang)