Professional Documents
Culture Documents
Hà Nội, 2023
1
MỤC LỤC
DANH MỤC TỪ VIẾT TẮT..............................................................................4
DANH MỤC HÌNH VẼ......................................................................................5
LỜI MỞ ĐẦU......................................................................................................6
I. Tính cấp thiết của đề tài........................................................................6
II. Mục tiêu thực hiện đề tài.....................................................................6
CHƯƠNG 1: TỔNG QUAN VỀ HẠ TẦNG BẢO MẬT KHÓA CÔNG
KHAI....................................................................................................................7
1.1 Tổng quan về hạ tầng khóa công khai...............................................7
1.1.1 Định nghĩa.................................................................................7
1.1.2 Các thành phần của hạ tầng khóa công khai.........................7
1.1.3 Quá trình hoạt động của mật mã khóa công khai.................8
1.1.3 Lợi ích của hệ mật khóa công khai.........................................9
1.2 Tổng quan về ứng dụng hệ mật khóa công khai............................10
CHƯƠNG 2: cÔNG NGHỆ XÂY DỰNG HẠ TẦNG ỨNG DỤNG............10
2.1 Giới thiệu về phần mềm openssl......................................................10
2.1.1 Giới thiệu về openssl...............................................................10
2.1.2 Ưu điểm của openssl trong tạo chứng thư số........................11
2.1.3 Tính năng của openssl............................................................11
2.2 Giới thiệu về ký số Pdf trên Foxit Reader.......................................12
2.2.1 Giới thiệu về ký số Pdf...........................................................12
2.2.2 Công nghệ ký số Pdf trên Foxit Reader...............................12
2.2.3 Tính năng của Foxit Reader để tạo chữ kí số......................12
CHƯƠNG 3: tHỰC NGHIỆM VÀ VẬN HÀNH HỆ THỐNG.....................13
3.1 Xây dựng kịch bản............................................................................13
3.1.1 Tạo chứng thư số thực thể cuối và ký số Pdf.......................13
3.2 Kết luận..............................................................................................20
PHỤ LỤC...........................................................................................................21
2
TÀI LIỆU THAM KHẢO................................................................................23
PHÂN CHIA CÔNG VIỆC và bài tập nhóm:................................................24
3
DANH MỤC TỪ VIẾT TẮT
Từ viết tắt Chú giải tiếng Anh Chú giải tiếng Việt
PKI Public Key Intrastructure Hệ thống mật mã khóa công
khai
CA Certificate Authority Đơn vị cung cấp chứng chỉ số
RA Registration Authority Bên trung gian giữa người
dùng và đơn vị cung cấp
chứng chỉ số
CR Certificate Repository Nơi lưu trữ các chứng thư số
CVE Common Vulnerability and Các lỗ hổng và lỗi khai thác
Exposures phổ biến
4
DANH MỤC HÌNH VẼ
Hình 1 Câu lệnh tạo khóa cho RootCA.........................................................................14
Hình 2 Khóa của RootCA.............................................................................................14
Hình 3 Câu lệnh tạo CSR cho RootCA.........................................................................15
Hình 4 Kết quả nhận được khi chạy câu lệnh tạo CSR.................................................15
Hình 5 Câu lệnh tạo chứng thư số cho RootCA từ CSR...............................................16
Hình 6 Câu lệnh tạo cặp khóa cho SubCA....................................................................16
Hình 7 Câu lệnh tạo CSR cho SubCA..........................................................................16
Hình 8 Câu lệnh tạo chứng thư số cho SubCA từ CSR ký tới RootCA........................17
Hình 9 Câu lệnh tạo cặp khóa cho thực thể cuối...........................................................17
Hình 10 Câu lệnh tạo CSR cho thực thể cuối...............................................................17
Hình 11 Câu lệnh tạo chứng thư số cho thực thể cuối từ CSR, ký bởi SubCA............17
Hình 12 Câu lệnh xuất chứng thư số thực thể cuối dưới dạng file PKCS#12..............18
Hình 13 Tạo chữ ký số từ file .p12...............................................................................18
Hình 14 Thực hiện tạo chữ ký số thành công...............................................................19
Hình 15 Sử dụng chữ ký số để ký lên file Pdf..............................................................19
Hình 16 Kết quả khi ký lên file Pdf..............................................................................20
5
LỜI MỞ ĐẦU
6
CHƯƠNG 1: TỔNG QUAN VỀ HẠ TẦNG BẢO MẬT KHÓA CÔNG
KHAI
1.1 Tổng quan về hạ tầng khóa công khai
1.1.1 Định nghĩa
PKI (Public Key Infrastructure) là một hệ thống mật mã công khai cung
cấp các dịch vụ bảo mật cho các ứng dụng và mạng truyền thông. PKI bao
gồm một tập hợp các phương thức, quy trình và các thành phần cơ bản để tạo
ra, phân phối, quản lý và thu hồi các chứng chỉ số.
PKI được sử dụng rộng rãi trong các ứng dụng bảo mật như xác thực
người dùng, mã hóa và ký số. Các ứng dụng của PKI bao gồm các dịch vụ
web, mạng VPN, email bảo mật, thẻ thông minh, chứng thực điện tử và chữ ký
số.
1.1.2 Các thành phần của hạ tầng khóa công khai
a) Certificate Authority (CA):
CA là một đơn vị cung cấp chứng chỉ số, đóng vai trò như một bên thứ ba
đáng tin cậy để chứng nhận tính xác thực của các thực thể khác, bao gồm cả
người dùng và các tổ chức.
CA có nhiệm vụ phát hành, thu hồi và quản lý các chứng chỉ số, cũng như
xác nhận tính hợp pháp của các chứng chỉ này. Các chứng chỉ này được sử dụng
để thiết lập liên lạc an toàn qua Internet bằng cách mã hóa dữ liệu được truyền
giữa máy chủ và thiết bị khách.
CA đóng một vai trò quan trọng trong cơ sở hạ tầng bảo mật của Internet
bằng cách đảm bảo rằng các chứng chỉ kỹ thuật số là xác thực và các khóa riêng
được sử dụng để mã hóa dữ liệu được bảo mật.
b) Registration Authority (RA):
RA là một bên trung gian giữa người dùng và CA, chịu trách nhiệm thực
hiện xác thực người dùng, thu thập thông tin cần thiết và chuyển tới CA để phát
hành chứng chỉ số.
RA thực hiện các nhiệm vụ khác nhau, chẳng hạn như xác nhận danh tính
và thông tin liên hệ của người xin cấp chứng chỉ, xác minh tính đủ điều kiện của
họ đối với loại chứng chỉ cụ thể được yêu cầu và cung cấp cho CA thông tin cần
thiết để cấp chứng chỉ kỹ thuật số.
7
RA thường được sử dụng trong môi trường doanh nghiệp lớn, cơ quan
chính phủ và các tổ chức khác yêu cầu mức độ bảo mật cao cho thông tin liên
lạc kỹ thuật số của họ.
c) Certificate Repository (CR):
CR là nơi lưu trữ các chứng chỉ số, giúp người dùng có thể truy cập và xác
minh tính hợp pháp của chứng chỉ.
Chứng chỉ số là tài liệu điện tử được sử dụng để xác thực danh tính của cá
nhân, tổ chức hoặc thiết bị và để thiết lập các kênh liên lạc an toàn trên internet.
CR hoạt động như một cơ quan đáng tin cậy để phát hành, thu hồi và xác minh
chứng chỉ kỹ thuật số và các khóa công khai liên quan của chúng. Nó cũng cung
cấp một vị trí trung tâm để lưu trữ và truy xuất chứng chỉ kỹ thuật số, giúp người
dùng và ứng dụng dễ dàng tìm thấy chứng chỉ chính xác cần thiết để thiết lập kết
nối an toàn. CR thường được sử dụng trong môi trường doanh nghiệp, cơ quan
chính phủ và các tổ chức khác yêu cầu trao đổi dữ liệu và liên lạc an toàn.
d) Digital Certificate:
Là một tài liệu điện tử chứa thông tin xác thực về tính danh và khóa công
khai của một thực thể, được ký bằng khóa riêng của CA.
e) Digital Signature
Là một phương pháp mã hóa và xác thực tính toàn vẹn của một tài liệu bằng
cách sử dụng khóa riêng của người ký.
1.1.3 Quá trình hoạt động của mật mã khóa công khai
a) Đăng ký xác thực:
Người dùng cung cấp thông tin cá nhân và yêu cầu phát hành chứng chỉ số.
RA xác thực thông tin và chuyển tới CA để phát hành chứng chỉ.
b) Phát hành chứng chỉ số:
CA sẽ xác nhận thông tin và tạo chứng chỉ số, sau đó gửi cho người dùng
thông qua kênh bảo mật.
c) Certificate Repository (CR):
CR là nơi lưu trữ các chứng chỉ số, giúp người dùng có thể truy cập và xác
minh tính hợp pháp của chứng chỉ.
d) Quản lý chứng thư số:
CA có trách nhiệm quản lý các chứng chỉ đã phát hành, đảm bảo tính hợp
pháp và cập nhật thông tin khi cần thiết. Nếu chứng chỉ bị mất tính hợp pháp
hoặc hết hạn, CA sẽ thu hồi chứng chỉ và thông báo cho các bên liên quan.
8
e) Xác minh chứng thư số:
Xác minh chứng thư số là quá trình kiểm tra tính hợp lệ của chữ ký số hoặc
chứng thư số để xác định xem liệu tài liệu được ký bởi một người dùng có được
chấp nhận hay không. Quá trình này được thực hiện bằng cách sử dụng các công
cụ mã hóa và giải mã để xác minh tính toàn vẹn và tính xác thực của chữ ký số
hoặc chứng thư số. Khi người dùng truy cập một tài liệu hoặc ứng dụng yêu cầu
chứng chỉ số, phần mềm sẽ sử dụng chứng chỉ số để xác minh tính xác thực của
người dùng.
f) Sử dụng chữ ký số:
CA sẽ xác nhận thông tin và tạo chứng chỉ số, sau đó gửi cho người dùng
thông qua kênh bảo mật.
1.1.3 Lợi ích của hệ mật khóa công khai
a) Tăng cường tính bảo mật:
PKI cung cấp các phương tiện để đảm bảo tính xác thực và toàn vẹn của
thông tin. Hệ mật khóa công khai giúp bảo vệ thông tin bằng cách mã hóa nó với
khóa công khai, chỉ có người sử dụng có khóa bí mật mới có thể giải mã được
thông tin đó. Điều này giúp đảm bảo rằng thông tin không bị đánh cắp hoặc sửa
đổi trên đường truyền.
b) Giảm thiểu rủi ro:
PKI giúp đảm bảo tính khả dụng của thông tin và dịch vụ, giảm thiểu thời
gian gián đoạn trong các hoạt động kinh doanh. Hệ mật khóa công khai giúp bảo
vệ thông tin truyền tải giữa các bên trong quá trình trao đổi thông tin. Thông tin
được mã hóa và chỉ có bên nhận được khóa riêng tư mới có thể giải mã. Điều
này giúp ngăn chặn các kẻ tấn công mạng truy cập thông tin quan trọng của tổ
chức hoặc doanh nghiệp.
c) Đảm bảo tính khả dụng:
CR là nơi lưu trữ các chứng chỉ số, giúp người dùng có thể truy cập và xác
minh tính hợp pháp của chứng chỉ.
d) Tăng cường uy tín:
PKI giúp tăng cường uy tín và niềm tin của người dùng, tăng cường sự tin
tưởng giữa các tổ chức và cá nhân. PKI được sử dụng rộng rãi và có nhiều kinh
nghiệm và kiến thức để đảm bảo tính bảo mật và độ tin cậy. Nó được sử dụng
trong các giao dịch tài chính, giao dịch trực tuyến và nhiều lĩnh vực khác, cho
phép các bên tham gia tạo ra và trao đổi thông tin một cách an toàn và tin cậy.
9
1.2 Tổng quan về ứng dụng hệ mật khóa công khai
Hệ mật khóa công khai (Public Key Infrastructure - PKI) là một hệ thống
phức tạp bao gồm nhiều thành phần, bao gồm các giải pháp phần mềm và phần
cứng để xác thực danh tính, đảm bảo tính toàn vẹn và bảo mật thông tin. Các
ứng dụng của PKI rất đa dạng, từ các ứng dụng nhỏ gọn trong doanh nghiệp đến
các ứng dụng lớn của các tổ chức quốc gia.
Các ứng dụng chính của PKI bao gồm:
Chứng thực và ủy quyền: PKI được sử dụng để chứng thực danh tính
của các cá nhân, tổ chức hoặc thiết bị, đảm bảo tính xác thực của
thông tin và giúp các tổ chức có thể ủy quyền quyền hạn đối với các
cá nhân hoặc thiết bị cụ thể.
Ký số và mã hóa: PKI được sử dụng để ký số và mã hóa thông tin,
đảm bảo tính toàn vẹn và bảo mật của thông tin trong các giao dịch
điện tử. Việc ký số và mã hóa được sử dụng trong nhiều lĩnh vực như
giao dịch tài chính, giao dịch thương mại điện tử, truyền tải thông tin
bảo mật...
Quản lý chứng chỉ số: PKI được sử dụng để quản lý các chứng chỉ số,
bao gồm phát hành, thu hồi, gia hạn và cập nhật các chứng chỉ số.
Truy cập và xác thực: PKI được sử dụng để đảm bảo tính bảo mật của
thông tin và truy cập vào các hệ thống nhạy cảm, bao gồm các hệ
thống ngân hàng, hệ thống y tế và hệ thống quân sự.
Tích hợp hệ thống: PKI được sử dụng để tích hợp các hệ thống khác
nhau, đảm bảo tính tương thích và khả năng mở rộng của hệ thống.
10
vụ nào (tên ứng dụng và phiên bản OS) đang hoạt động, những bộ lọc packet /
tường lửa nào đang sử dụng và hàng tá những đặc điểm khác.
2.1.2 Ưu điểm của openssl trong tạo chứng thư số
Đa nền tảng: OpenSSL có sẵn trên nhiều nền tảng hệ điều hành khác nhau,
cho phép người dùng triển khai và sử dụng nó trên các hệ thống khác nhau.
Miễn phí: OpenSSL là một phần mềm mã nguồn mở miễn phí, cho phép
người dùng sử dụng và phát triển nó mà không cần phải trả phí.
Dễ sử dụng: OpenSSL cung cấp một giao diện dòng lệnh dễ sử dụng để tạo
chứng thư số. Người dùng có thể sử dụng các lệnh để tạo chứng thư số và các
khóa liên quan một cách dễ dàng.
Hỗ trợ các chuẩn mật mã: OpenSSL hỗ trợ nhiều chuẩn mật mã, bao gồm
RSA, DSA, DH, ECC, AES, DES, SHA, và nhiều loại khác.
Độ tin cậy: OpenSSL được sử dụng rộng rãi trong ngành công nghiệp bảo
mật, đảm bảo tính tin cậy và đáng tin cậy của các chứng thư số được tạo ra bằng
OpenSSL.
Tài liệu đầy đủ: Người dùng có thể tìm được cả ebook, các bài hướng dẫn
về nmap dễ dàng.
Hỗ trợ PKCS#12: OpenSSL cung cấp hỗ trợ cho PKCS#12, cho phép người
dùng lưu trữ khóa bí mật và chứng thư số trong một tệp tin duy nhất.
Hỗ trợ nhiều loại chứng thư số: OpenSSL hỗ trợ nhiều loại chứng thư số,
bao gồm X.509, PKCS#7, và CMS.
2.1.3 Tính năng của openssl
Tạo chứng chỉ số (Digital Certificates): OpenSSL cho phép người
dùng tạo các chứng chỉ số để bảo mật thông tin trên mạng. Các chứng
chỉ số này có thể được sử dụng để xác thực danh tính của người dùng
và tránh các cuộc tấn công giả mạo.
Tạo khóa công khai và khóa bí mật: OpenSSL cũng cho phép người
dùng tạo khóa công khai và khóa bí mật để sử dụng trong các giao
thức mã hóa khác nhau.
Tạo chữ ký số (Digital Signatures): OpenSSL cung cấp tính năng tạo
chữ ký số để đảm bảo tính toàn vẹn và xác thực của dữ liệu.
Mã hóa dữ liệu: OpenSSL cho phép mã hóa dữ liệu với các thuật toán
mã hóa khác nhau, bao gồm AES, DES, Triple DES, RC4, và RC2.
11
Xác thực thông tin: OpenSSL cũng cung cấp tính năng xác thực thông
tin, bao gồm các thuật toán tiêu chuẩn như MD5, SHA-1, SHA-2,
SHA-3.
Quản lý chứng chỉ số: OpenSSL cho phép quản lý các chứng chỉ số và
các chứng chỉ được phát hành bởi các tổ chức được tin cậy.
Hỗ trợ các giao thức bảo mật mạng: OpenSSL hỗ trợ các giao thức
bảo mật mạng, bao gồm SSL (Secure Socket Layer) và TLS
(Transport Layer Security).
Hỗ trợ nhiều nền tảng: OpenSSL hỗ trợ nhiều nền tảng khác nhau bao
gồm Windows, Linux, macOS, Android, iOS, và các nền tảng khác.
Tích hợp với các ứng dụng bảo mật: OpenSSL cũng được tích hợp với
nhiều ứng dụng bảo mật khác nhau như Apache, Nginx, OpenVPN, và
nhiều ứng dụng khác.
12
Foxit Reader hỗ trợ sử dụng các chứng thư số do bên thứ ba cấp phát, bao
gồm các loại chứng thư số như USB Token, Smart Card và chứng thư số trên đĩa
cứng.
2.2.3 Tính năng của Foxit Reader để tạo chữ kí số
Lưu chữ ký số: Sau khi tạo chữ ký số, người dùng có thể lưu chữ ký
số đó và sử dụng lại cho các tài liệu PDF khácTạo chữ ký số (Digital
Signatures): OpenSSL cung cấp tính năng tạo chữ ký số để đảm bảo
tính toàn vẹn và xác thực của dữ liệu.
Tạo chữ ký số: Foxit Reader cho phép người dùng tạo chữ ký số trên
tài liệu PDF một cách dễ dàng. Người dùng có thể tạo chữ ký số bằng
cách sử dụng chuột hoặc bút cảm ứng, hoặc nhập chữ ký bằng tay.
Tùy chỉnh chữ ký số: Foxit Reader cho phép người dùng tùy chỉnh
chữ ký số bằng cách thay đổi kích thước, màu sắc, kiểu chữ và vị trí
của chữ ký.
Xác thực chữ ký số: Foxit Reader cung cấp tính năng xác thực chữ ký
số, giúp người dùng kiểm tra tính toàn vẹn và xác thực nguồn gốc của
các tài liệu PDF.
Quản lý chữ ký số: Foxit Reader cho phép người dùng quản lý các
chữ ký số đã tạo bằng cách lưu trữ chúng trong thư viện chữ ký số.
Các chữ ký số này có thể được sử dụng lại cho các tài liệu PDF khác.
Hỗ trợ chứng thư số: Foxit Reader hỗ trợ các chứng thư số phổ biến
như USB Token, Smartcard, PKCS#11 và Windows Certificate Store,
giúp người dùng tạo và quản lý chữ ký số một cách an toàn và tin cậy.
13
Bước 2: Tạo chứng thư số cho SubCA từ CSR, ký bởi
RootCA
Bước 3: Tạo chứng thư số cho thực thể cuối từ CSR, ký bởi
SubCA
Bước 4: Xuất chứng thư số thực thể cuối dưới dạng file
PKCS#12 (*.p12)
Bước 5: Thực hiện ký số Pdf bằng chứng thư thực thể cuối
vừa tạo
- Quy trình thực hiện
Tạo cặp khóa cho RootCA
Hình 4 Kết quả nhận được khi chạy câu lệnh tạo CSR
15
Hình 5 Câu lệnh tạo chứng thư số cho RootCA từ CSR
16
Hình 8 Câu lệnh tạo chứng thư số cho SubCA từ CSR ký tới RootCA
Hình 9 Câu lệnh tạo cặp khóa cho thực thể cuối
Tạo chứng thư số cho thực thể cuối từ CSR, ký bởi SubCA
Hình 11 Câu lệnh tạo chứng thư số cho thực thể cuối từ CSR, ký bởi SubCA
17
Xuất chứng thư số thực thể cuối dưới dạng file PKCS#12 (*.p12)
Hình 12 Câu lệnh xuất chứng thư số thực thể cuối dưới dạng file PKCS#12
18
Hình 14 Thực hiện tạo chữ ký số thành công
19
Hình 16 Kết quả khi ký lên file Pdf
Dựa trên báo cáo, ta có thể kết luận rằng OpenSSL là một công cụ mã hóa
và xác thực rất mạnh mẽ. Nó cung cấp cho người dùng khả năng tạo ra các
chứng chỉ số, mã hóa các thông tin quan trọng, ký số các tài liệu, và cung cấp
các công cụ để quản lý các khóa và chứng chỉ. OpenSSL cũng có tính linh hoạt
cao, cho phép người dùng tùy chỉnh các tham số để đáp ứng nhu cầu của họ. Nó
hoạt động trên nhiều nền tảng khác nhau và hỗ trợ nhiều giao thức mã hóa khác
nhau. Tóm lại, OpenSSL là một công cụ mã hóa và xác thực mạnh mẽ và linh
hoạt, nhưng người dùng cần phải hiểu rõ về các quy định và chính sách bảo mật,
và sử dụng nó một cách cẩn thận để tránh gây ra các vấn đề bảo mật tiềm tàng.
Báo cáo cũng nhận thấy rằng, do vốn kiến thức hạn hẹp, nó có thể không tránh
khỏi các thiếu sót.
Chúng em xin cảm ơn thầy giáo đã theo dõi, góp ý, hướng dẫn, đánh giá
khách quan nhất bài báo cáo này giúp chúng em rút kinh nghiệm làm tốt cho
những bài tiếp theo. Một lần nữa, chúng em xin chân thành cảm ơn!
20
PHỤ LỤC
Để tạo chứng thư số cho máy RootCA, SubCA và thực thể cuối (client và
server) theo thông tin bạn đã cung cấp, bạn cần sử dụng phần mềm CA như
OpenSSL để thực hiện các bước sau:
21
Bước 7: Tạo cặp khóa cho thực thể cuối (client và server) - Ví dụ, RSA 2048-
bit:
openssl genrsa -out entity.key 2048
Bước 9: Tạo chứng thư số cho thực thể cuối từ CSR, ký bởi SubCA
openssl x509 -req -in entity.csr -CA subca.crt -CAkey subca.key -out entity.crt -
days 3650 -CAcreateserial
Bước 10: Xuất chứng thư số thực thể cuối dưới dạng file PKCS#12 (*.p12):
openssl pkcs12 -export -in entity.crt -inkey entity.key -out entity.p12 -name
"Entity Certificate"
22
TÀI LIỆU THAM KHẢO
[1] https://bizflycloud.vn/tin-tuc/openssl-la-gi-2022010409571044.htm
[2] https://vietnix.vn/openssl-la-gi/
[3] https://esign.misa.vn/2573/foxit-reader-chu-ky-so-pdf/
[4] https://esign.misa.vn/2573/foxit-reader-chu-ky-so-pdf/
23
PHÂN CHIA CÔNG VIỆC VÀ BÀI TẬP NHÓM:
Nguyễn Ngọc Sơn:
- Nhóm trưởng
- Làm slide
Nguyễn Tuấn Tùng
- Tìm hiểu phần mềm tạo chứng thư số openssl window
-
Nguyễn Chí Hào
- Viết doc
24