1. Trang chủ
  2. » Giáo Dục - Đào Tạo

nghiên cứu các mô hình tin cậy trong pki các phương pháp mở rộng miền tin cậy triển khai thực hiện trên ejbca

35 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên cứu các mô hình tin cậy trong PKI, các phương pháp mở rộng miền tin cậy. Triển khai thực hiện trên EJBCA
Tác giả Nguyễn Trí Khanh
Người hướng dẫn Ths. Đinh Văn Hùng
Trường học Học viện Kỹ Thuật Mật Mã
Chuyên ngành An toàn thông tin
Thể loại Khóa luận
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 35
Dung lượng 10,86 MB

Nội dung

Tổng quan về PKITrong giải pháp chữ ký số, hạ tầng cơ sở khóa công khai Public Key Infrastructure – PKI là hệ thống vừa mang tính tiêu chuẩn, vừa mang tính công nghệ cho phép người dùng

Trang 1

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ

Nghiên cứu các mô hình tin cậy trong PKI, các phương pháp mở rộng miền tin cậy Triển

khai thực hiện trên EJBCA.

Sinh viên thực hiện: Nguyễn Trí Khanh (Nhóm 37)

Giảng viên hướng dẫn: Ths Đinh Văn Hùng

Khoa: An toàn thông tin - Học viện Kỹ Thuật Mật Mã

Hà Nội, tháng 6 năm 2023

Trang 2

Mục lục

b Các thành phần cảu một hạ tần cơ sở khóa công khai 3

III Các phương pháp mở rộng miền tin cậy 9

Trang 3

I Tổng quan về PKI

Trong giải pháp chữ ký số, hạ tầng cơ sở khóa công khai (Public Key Infrastructure – PKI) là hệ thống vừa mang tính tiêu chuẩn, vừa mang tính công nghệ cho phép người dùng trong một mạng công cộng không bảo mật (như Internet) có thể trao đổi thông tin một cách an toàn thông qua việc sử dụng một cặp khóa bí mật và công khai được chứng nhận bởi một nhà cung cấp chứng nhận số CA (Certificate Authority) được tín nhiệm PKI cung cấp một chứng chỉ số, dùng để xác minh một cá nhân hoặc một tổ chức, và các dịch vụ danh mục có thể lưu trữ và khi cần có thể thu hồi các chứng chỉ số

1 Giới thiệu chúng về PKI

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

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ã thông tin trong quá trình trao đổi Thông thường, PKI bao gồm phần mềm máy khách (client), phần mềm máy chủ (server), phần cứng (như thẻ thông minh - smart card) và các quy trình hoạt động liên quan Người sử dụng cũng có thể ký các văn bản điện tử với private key của mình và mọi người đều có thể kiểm tra với public key của người đó PKI cho phép các giao dịch điện tử diễn ra đảm bảo tính bí mật, toàn vẹn và xác thực lẫn nhau mà không cần phải trao đổi các thông tin mật từ trước

Ứng dụng của PKI

● Mã hóa, giải mã văn bản;

● Xác thực người dùng ứng dụng;

● Mã hóa email hoặc xác thực người gửi email;

● Tạo chữ ký số trên văn bản điện tử

  Một PKI phải đảm bảo được các tính chất sau trong một hệ thống trao đổithông tin:

● Tính bí mật (Confidentiality): PKI phải đảm bảo tính bí mật của dữ

Trang 4

● Tính toàn vẹn (Integrity): PKI phải đảm bảo dữ liệu không thể bị

mất mát hoặc chỉnh sửa và các giao tác không thể bị thay đổi

● Tính xác thực (Authentication): PKI phải đảm bảo danh tính của

thực thể được xác minh

● Tính không thể chối từ (Non-Repudiation): PKI phải đảm bảo dữ

liệu không thể bị không thừa nhận hoặc giao tác bị từ chối

b Các thành phần cảu một hạ tần cơ sở khóa công khai

PKI là cơ cấu tổ chức gồm con người, tiến trình, chính sách, thủ tục, phần cứng

và phần mềm dùng để phát sinh, quản lý, lưu trữ, triển khai và thu hồi các chứng nhận khóa công khai

PKI gồm các thành phần chính sau:

● Thực thể cuối (End Entity – EE):

○ Đối tượng sử dụng chứng nhận (chứng thư số): có thể là một tổ chức, một người cụ thể hay một dịch vụ trên máy chủ, …

● Tổ chức chứng nhận(Certificate Authority – CA):

○ Có nhiệm vụ phát hành, quản lý và hủy bỏ các chứng thư số

○ Là thực thể quan trọng trong một PKI mà được thực thể cuối tín

Trang 5

○ Gồm tập hợp các con người và các hệ thống máy tính có độ an toàncao

● Chứng nhận khoá công khai (Public Key Certificate):

○ Một chứng nhận khóa công khai thể hiện hay chứng nhận sự ràng buộc của danh tính và khóa công khai của thực thể cuối

○ Chứng nhận khóa công khai chứa đủ thông tin cho những thực thể khác có thể xác nhận hoặc kiể m tra danh tính của chủ nhận chứng nhận đó

○ Định dạng được sử dụng rộng rãi nhất của chứng nhận số dựa trên chuẩn IETF X.509

● Tổ chức đăng kí chứng nhận (Registration Authority – RA): Mục đích chính của RA là để giảm tải công việc của CA

○ Xác thực cá nhân, chủ thể đăng ký chứng thư số

○ 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 những thuộc tính chứng thư sốđược yêu cầu

○ Kiểm tra xem chủ thể có thực sự sở hữu khóa riêng đang được đăng ký hay không (chứng minh sở hữu)

○ Tạo cặp khóa bí mật, công khai (nếu chủ thể yêu cầu)

○ Phân phối bí mật được chia sẻ đến thực thể cuối (ví dụ khóa công khai 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ữ khóa riêng

○ Khởi sinh quá trình khôi phục khóa

○ Phân phối thẻ bài vật lý (thẻ thông minh)

● Kho lưu trữ chứng nhận (Certificate Repository – CR):

○ Hệ thống (có thể tập trung hoặc phân tán) lưu trữ chứng thư và danh sách các chứng thư bị thu hồi

○ Cung cấp cơ chế phân phối chứng thư và danh sách thu hồi chứng thư (CRLs - Certificate Revocatio Lists)

Trang 6

3 CA phát hành thẻ chứng thư số cho người dùng.

4 Người dùng ký thông điệp trao đổi với thẻ chứng thư số mới nhận được

từ CA và sử dụng chúng trong giao dịch

5 Định danh của người dùng được kiểm tra bởi đối tác thông qua sự hỗ trợ của VA (Validation Authority) VA (validation authority) : Cơ quan xác thực của bên thứ ba có thể cung cấp thông tin thực thể này thay mặt cho CA.)

6 Nếu chứng thư số của người dùng được xác nhận tính hợp lệ thì đối tác mới tin cậy người dùng và có thể bắt đầu quá trình trao đổi thông tin với

nó (VA nhận thông tin về thẻ chứng thư số đã được phát hành từ CA (a))

II Các mô hình tin cậy

Hầu hết các hệ thống PKI quy mô doanh nghiệp đều dựa trên các chuỗi chứng thực để xác thực các thực thể Chứng thực của người dùng sẽ được một nhà cung cấp chứng thực số cấp, đến lượt nhà cung cấp này lại có chứng thực được một nhà cung cấp khác ở cấp cao hơn tạo ra Hệ thống sẽ bao gồm nhiều máy tính thuộc nhiều tổ chức khác nhau với các gói phần mềm tương thích từ nhiều nguồn khác nhau Vì vậy, các tiêu chuẩn là yếu tố rất quan trọng đối với hoạt động của các PKI Hầu hết các tiêu chuẩn về PKI hiện tại được soạn thảo bởi nhóm làm việc PKIX của IETF

Các hệ thống PKI doanh nghiệp thường được tổ chức theo mô hình danh

bạ trong đó khóa công khai của mỗi người dùng được lưu trữ (bên trong các chứng thực số) kèm với các thông tin cá nhân (số điện thoại, email, địa chỉ, nơi

Trang 7

làm việc ) Hiện nay, công nghệ danh bạ tiên tiến nhất là LDAP và định dạng chứng thực phổ biến nhất (X509) cũng được phát triển từ mô hình tiền nhiệm của LDAP (X.500).

Khi muốn triển khai một mô hình tin cậy PKI đảm bảo một số hoặc tất cả các nguyên tắc, có bốn loại được sử dụng để triển khai mô hình tin cậy PKI bao gồm:

- Mô hình tin cậy phân cấp (Hierarchical Trust Model)

- Mô hình Bridge CA (Bridge Trust Model)

- Mô hình tin cậy hỗn hợp (Hybrid Trust Model)

- Mô hình lưới tin cậy (Mesh Trust Model)

1 Mô hình cây phân cấp (Trust Model Implement)

Đây là mô hình phổ biến nhất để triển khai PKI, nó còn được gọi là mô hình cây Một Root CA ở trên cùng sẽ cung cấp tất cả thông tin của các CA trung gian ở dưới nằm trong hệ thống phân cấp, và chúng chỉ tin duy nhất thôngtin được cung cấp bởi Root Root CA cũng tin tưởng các CA trung gian ở cấp

độ của chúng trong hệ thống phân cấp

Sử sắp xếp này cho phép mức độ kiểm soát cao ở tất cả các cấp của cây phân cấp, là một hình thức phổ biến nhất trong cacs tổ chức lớn với nhu cầu mở rộng khả năng xử lý trong tương lai Mô hình phân cấp cho phép kiểm soát chặt chẽ các hoạt động dự trên các chứng chỉ

Hierarchical Trust Model

2 Mô hình Bridge CA (Bridge Trust Model)

Trong mô hình này chúng ta có triển khai theo hình thức P2P (Point to

Trang 8

Point) với nhiều mối quan hệ giữa các P2P với nhau, giữa các RootCA mà các

CA gốc có thể giao tiếp với nhau và cho phép chứng chỉ chéo Mô hình triển khai này cho phép thiết lập quy trình chứng nhận giữa các tổ chức hoặc các phòng ban

Trong mô hình này, mỗi CA trung gian chỉ tin cậy CA ở trên và dưới nó,

mô hình có thể mở rộng mà không cần tạo thê lớp CA như mô hình CA phân cấp (1) Đây là tính chất linh hoạt, một lợi thể chính của mô hình này

Bridge Trust Model

3 Mô hình tin cậy hỗ hợp (Hybrid Trust Model)

Đôi khi chúng ta cần kết nối 2 hoặc nhiều tổ chức hoặc phòng ban trong một phần nào đó tách bịch của hệ thống mà chúng ta không muốn kết nối với toàn bộ các các bộ phận trong tổ chứ Mô hình tin cậy hỗn hợp là lựa chọn hàng đầu cho trường hợp này Chúng ta có thể linh hoạt xây dựng mô hình, và cho phép chúng ta tạo một mô hình hỗn hợp

Một lưu ý rằng, trong mô hình cấu trúc này các CA trung gian nằm ngoài môi trường Hybrid chỉ có thể tin cậy vào RootCA và CA trung gian trong hệ thống chính

Trang 9

Hybrid trust model

4 Mô hình lưới tin cậy (Mesh Trust Model)

Khi chúng ta muốn triển khai một hệ thống tin cậy phân cấp bằng kiểm tra chứng chỉ chéo hoặc web của Root CA, mô hình lưới tin cậy (Mesh Trust Model) là lựa chọn hàng đầu để giải quyết vấn đề này Trong mô hình này các RootCA của các hệ thống sẽ có cấp ngang nhau

Các chứng chỉ trong mỗi CA gốc được cấp phép ở tất cả các Root CA,

CA trung gian và CA cấp dưới cũng như tất cả người người cuối kết nối với từng chuỗi CA

Trang 10

Mesh Trust Model

Tất cả các mô hình có thể sử dụng và triển khai hệ thống một cách linh hoạt và

có thể kết hợp với nhau Tùy thuộc và nhu cầu cầu của hệ thống sẽ có các cách triển khai khác nhau

III Các phương pháp mở rộng miền tin cậy

1 Cầu nối CA (Bridge CA)

Mô tả: Bridge CA là keets nối các CA độc lập, tạo thành một điểm trung

gian để các CA khác có thể tin tưởng lẫn nhau

Ưu điểm: Cho phép liên kết các CA từ các tổ chức khác nhau mà

kkhhoong ần tin tưởng trực tiếp lẫn nhau

Nhược điểm: Vấn đề quản lý các CA phước tạp, yêu cầu phải có một

Bridge CA có độ tin cậy cao

2 CA liên kết (Cross-certification)

Mô tả: Đây là phương pháp cho hai CA sẽ cấp chứng chỉ cho nhau, tạo ra

liên kết trực tiếp giữa các miền tin cậy

Ưu điểm: Tối ưu chi phí, không cần một CA trung gian

Trang 11

Nhược điểm: Khi cần mở rộng thêm CA thì vấn đề quản lý sẽ trở nên

phức tạp

3 Hệ thống chứng chỉ gốc (Root CA)

Mô tả: Một CA gốc tạo ra một điểm tin cậy cao nhất, các CA khác nhận

được chứng chỉ từ CA gốc này (Root CA)

Ưu điểm: Đơn giản trong việc thiết lập và duy trì mootjj chuỗi tin cậy rõ ràng

Nhược điểm: Do phụ thuộc vào CA gốc nên khi có sự cố ở CA gốc cả hệ

thông sẽ bị ảnh hưởng

4 Federated Trust Mode

Mô tả:Các tổ chức liên kết với nhau và chia sẻ một hoặc nhiều CA để tọa

thành một liên minh tin cậy/

Ưu điểm: Cho phép nhiều tổ chức hợp tác và chia sẻ tài nguyên tin cậy Nhược điểm: Cần có các chính sách và quy định rõ ràng để quản lý sự

tin cậy giữa các tổ chức

5 Trust list

Mô tả: Sử dụng danh sách tin cậy được quản lý tập trung hoặc phân tán

để liệt kê các CA tin cậy

Ưu điểm: Linh hoạt và dễ dàng cập nhật

Nhược điểm: Đòi hỏi sự quản lý chặt chẽ để đảm bảo danh sách luôn

2 Đặc điểm kỹ thuật:

Được xây dựng dựa trên Java, EJBCA thực sự là một nền tảng độc lập,

Trang 12

chạy trên hầu như toàn bộ các phần cứng phổ biến cũng như các hệ điều hành thông dụng như Window, Linux Để có thể hoạt động, EJBCA cần chạy trên một nền tảng máy chủ ứng dụng (Application Server) cũng như một hệ thống

Cơ sở dư liệu nhất định Về mặt này, EJBCA cũng hỗ trợ hầu hết các nền tảng App Server phổ biến hiện nay như: JBOSS – Oracle Weblogic – IBM Web Sphere… cũng như các hệ cơ sở dữ liệu từ miễn phí đến trả phí: MySQL, Oracle, IBM DB2, MS SQL,…

Bên cạnh đó, EJBCA còn có một số điểm đặc trưng sau:

● Cung cấp khả năng xây dựng CA theo nhiều mức, không giới hạn số lượng CA;

● Hỗ trợ thuật toán RSA với độ dài khóa lên tới 4096 bits;

● Hỗ trợ các thuật toán DSA với độ dài khóa lên tới 1024 bits;

● Hỗ trợ các hàm băm như MD5, SHA-1, SHA-256;

● Chứng thư được phát hành tuân thủ nghiêm ngặt chuẩn X509

3 Kiến trúc

Kiến trúc EJBCA

● Tầng dữ liệu (Data Tier): Tầng dữ liệu lưu trữ các chứng nhận, CRL cũng như các thực thể cuối EJBCA sử dụng một cơ sở dữ liệu mặc định để lưu trữ các thực thể cuối CÁc chứng nhận được lưu trữ trong một kho chứa LDAP (Lightweight Directory Access Protocol)

● Thành phần CA: Thành phần có chức năng tạo các CA gốc, CA

Trang 13

con chứng nhận, CRL và giao tiếp với kho chứa LDAP để lưu trữ thông tin chứng nhận

● Thành phần RA: Thành phần có chức năng tạo, xóa và hủy bỏ người dùng Nó giao tiếp với cơ sở dữ liệu cục bộ để chứa thông tin người dùng

● Tầng Web: Đây là giao diện (điển hình là giao diện người dùng - máy bằng đồ họa) để client tương tác với hệ thống EJBCA, đồng thời quy định các cấp đọ và phạm vi truy cập thông tin kahcs nhau cho thực thể cuối

● Trình khách: trình khách là thực thể cuối hay người sử dụng như trình khách thư điện tử, máy chủ web, trình duyệt web hay cổng VPN Các thực thể cuối không được phép phát hành chứng nhận đến các thực thể khác, nói cách khác chúng là các nút lá trong PKI

4 Đặc điểm nội bật

- EJBCA là phần mềm chứng nhận được sử dụng phổ biến

- Tùy chọn giữa các thuật toán SHA1 hay SHA256 với RSA và các kích thước khác nhau như 1024, 2048, 4096

- Cung cấp một số tính năng nổi bật về lựa chọn ngôn ngữ trong quá trình cấu hình hệ thông

- Ngoài ra cũng có thể chọn loại Publisher mình muốn như LDAP, thư mục

tự động (AD-Active Directory) hay một kết nối publisher tự làm

- Sự phát hành của chứng nhận luôn luôn thuộc chuẩn X509

- Việc ký chứng nhận có thể là tự ký (self-signed), CA bên ngoài (external CA) hay CA quản trị (admin CA)

V Triển khai ẸBCA

1 Mô tả:

Trong bài bài lab này thì để đơn giàn và cài đặt nhanh chóng, chúng ta sẽ cài đặtthông qua docker

2 Chuẩn bị và cài đặt:

Trong bài lab này hệ thống được triển khai trên: ubuntu 22.04, docker

Docker file như sau:

Trang 15

$ docker-compose up

Khi chạy lên chúng ta có thể truy cập qua: https://0.0.0.0/ejbca/adminweb/chúng ta có thể chỉnh sửa file host của máy để trỏ về địa chỉ:

https://lab.ejbca.com/ejbca/adminweb/

Giao diện sau khi vào trang như sau:

Giao diện trang chủ

3 Thiết lập CA gốc (Root CA) và các Sub CA

- Truy cập: https://lab.ejbca.com/ejbca/adminweb/

Trang 16

Tạo một CA gốc bằng cách cung cấp các thông tin cần thiết (tên CA, chính sách, thuật toán, độ dài khóa)

Trang 19

Tạo Profile Sub CA

Trang 20

Chỉnh sửa Sub CA tương tự như ở Root CA

Trang 23

Tạo Cryto Token

Trang 27

Tạo Root CA:

Trang 29

Tạo Sub CA

Trang 32

Tạo End Entity:

Trang 35

● Tài liệu tham khảo:

Ngày đăng: 03/07/2024, 15:08

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w