You are on page 1of 40

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA AN TOÀN THÔNG TIN

BÁO CÁO BÀI TẬP LỚN

CHỨNG THỰC ĐIỆN TỬ

Nhóm sinh viên thực hiện – Nhóm 4:

Nguyễn Văn An – AT160201


Khương Văn Dương – AT160213
Lê Anh Hoàng – AT160227

Giảng viên hướng dẫn:


TS. Lê Quang Huy

Hà Nội, 2023
MỤC LỤC
LỜI NÓI ĐẦU 2
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT 3
CHƯƠNG 1. TỔNG QUAN VỀ HẠ TẦNG MẬT MÃ KHÓA CÔNG KHAI VÀ ỨNG
DỤNG 4
1.1 Tổng quan về Public Key Infrastructure (PKI).............................................................4
1.1.1 Vai trò và chức năng 4
1.1.2 Các thành phần của một hạ tầng cơ sở khóa công khai 4
1.2 Tổng quan về ứng dụng..................................................................................................8
1.2.1 Khái niệm 8
CHƯƠNG 2. CÔNG NGHỆ XÂY DỰNG HẠ TẦNG PKI VÀ ỨNG DỤNG 9
2.1 Công nghệ CA OpenSSL................................................................................................9
2.1.1 OpenSSL là gì ? 9
2.1.2 Vì sao nên sử dụng OpenSSL 10
2.1.3 Cách thức hoạt động của công nghệ 11
2.2 Công nghệ ứng dụng....................................................................................................12
2.2.1 Ý tưởng thực hiện 12
2.2.2 Nội dung demo 13
CHƯƠNG 3. THỰC NGHIỆM 15
3.1 Cài đặt môi trường........................................................................................................15
3.1.1 Mô hình cài đặt 15
3.1.2 Triển khai 27
3.2 Đánh giá và kết luận.....................................................................................................36
KẾT LUẬN 37
TÀI LIỆU THAM KHẢO 38
1 38
LỜI NÓI ĐẦU

Trong thời đại số hóa ngày nay, chứng thực điện tử đã trở thành một phần quan
trọng trong việc xác minh danh tính và đảm bảo tính toàn vẹn của thông tin trên mạng.
Trong bài báo cáo này, chúng ta sẽ khám phá khái niệm, ý nghĩa và ứng dụng của
chứng thực điện tử.
Trước khi chúng ta tiến vào chi tiết, nhóm muốn lưu ý rằng chứng thực điện tử
không chỉ đơn thuần là một công nghệ, mà nó còn có ảnh hưởng đáng kể đến sự an
toàn và sự tin cậy của các giao dịch trực tuyến, thông tin cá nhân và doanh nghiệp. Vì
vậy, hiểu rõ về chứng thực điện tử là điều quan trọng đối với chúng ta trong thời đại
kỹ thuật số.
Trong bài báo cáo này, nhóm sẽ trình bày tổng quan các khái niệm cơ bản về hạ
tầng mật mã khóa công khai bao gồm các phương pháp và công nghệ được sử dụng,
cũng như công nghệ xây dựng hạ tầng PKI và ứng dụng của nó. Nhóm sẽ cung cấp ví
dụ minh họa về sử dụng chứng thư số SSL đã tạo ra, cài đặt và cấu hình chứng thư số
cho websever.Cấu hình websever xác thực hai chiều sử dụng websever IIS.
DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

STT Ký hiệu, viết tắt Định nghĩa

1 PKI Public Key Infrastructure

2 OpenSSL Open Secure Sockets Layer

8
CHƯƠNG 1. TỔNG QUAN VỀ HẠ TẦNG MẬT MÃ KHÓA
CÔNG KHAI VÀ ỨNG DỤNG

1.1 Tổng quan về Public Key Infrastructure (PKI)


1.1.1 Vai trò và chức năng
PKI cho phép những người tham gia xác thực lẫn nhau. Mục tiêu chính của PKI
là cung cấp khóa công khai và xác định mối liên hệ giữa khóa và định danh 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ã 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 đổi
thông tin:

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

● 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.

1.1.2 Các thành phần của một hạ tầng 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):

o Đố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):

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


o Là thực thể quan trọng trong một PKI mà được thực thể cuối tín nhiệm
o Gồm tập hợp các con người và các hệ thống máy tính có độ an toàn cao

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

o 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
o 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 đó
o Đị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
o Xác thực cá nhân, chủ thể đăng ký chứng thư số.
o Kiểm tra tính hợp lệ của thông tin do chủ thể cung cấp.
o 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.
o 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).
o Tạo cặp khóa bí mật, công khai. (nếu chủ thể yêu cầu)
o 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).
o Thay mặt chủ thể thực thể cuối khởi tạo quá trình đăng ký với CA.
o Lưu trữ khóa riêng.
o Khởi sinh quá trình khôi phục khóa
o 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):

o 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
o 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).

● (1) : Người dùng gửi yêu cầu phát hành thẻ chứng thư số và khóa công khai của
nó đến RA;
● (2) : Sau khi xác nhận tính hợp lệ định danh của người dùng thì RA sẽ chuyển
yêu cầu này đến CA;

● (3) : CA phát hành thẻ chứng thư số cho người dùng;

● (4) : Sau đó người dùng “ký” thông điệp trao đổi với thẻ chứng thư số mới vừa
nhận được từ CA và sử dụng chúng (thẻ chứng thực số + chữ ký số) 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;
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))

1.2 Tổng quan về ứng dụng


1.2.1 Khái niệm
PKI được sử dụng trong nhiều ứng dụng bảo mật thông tin, bao gồm:

✔ Chứng thực người dùng: PKI được sử dụng để chứng thực người dùng trong
các hệ thống thông tin như đăng nhập vào website hoặc truy cập vào các tài
khoản trực tuyến.
✔ Mã hoá dữ liệu: PKI cung cấp các công cụ để mã hoá dữ liệu, đảm bảo tính toàn
vẹn của thông tin trên mạng.
✔ Chứng thực giao dịch: PKI được sử dụng để chứng thực các giao dịch trên
mạng, đảm bảo tính toàn vẹn của thông tin giao dịch.
✔ Đăng ký và xác thực các loại chứng chỉ số: PKI được sử dụng để đăng ký và
xác thực các loại chứng chỉ số, bao gồm chứng chỉ số SSL và chứng chỉ số
S/MIME.
✔ Quản lý danh tính: PKI được sử dụng để quản lý danh tính, bao gồm quản lý và
phát hành chứng chỉ số, quản lý khoá bí mật, quản lý quy trình phê duyệt và thu
hồi chứng chỉ số.
✔ Chứng thực điện tử: PKI được sử dụng để cung cấp các giải pháp chứng thực
điện tử, bao gồm chứng thực hai chiều, chứng thực một chiều và chứng thực
nhiều chiều.
✔ Xác thực và ủy thác: PKI được sử dụng để xác thực và ủy thác các thao tác trên
hệ thống, bao gồm xác thực đăng nhập, xác thực truy cập vào các dịch vụ và
xác thực các yêu cầu của người dùng.
✔ Bảo mật email: PKI được sử dụng để bảo mật email, bao gồm chứng thực và
mã hoá email.
✔ Bảo mật mã hóa tệp tin: PKI được sử dụng để bảo mật mã hóa tệp tin, đảm bảo
tính toàn vẹn và bảo mật của tệp tin.
Trong tổng quan về PKI và ứng dụng của nó, cần lưu ý rằng các giải pháp PKI là một
trong những giải pháp bảo mật hàng đầu được sử dụng hiện nay. Nó cung cấp các
phương tiện để đảm bảo tính toàn vẹn và bảo mật của thông tin trong các ứng dụng và
trên mạng. Tuy nhiên, các giải pháp PKI cần được triển khai và quản lý một cách cẩn
thận để đảm bảo tính ổn định và an toàn của hệ thống.

CHƯƠNG 2. CÔNG NGHỆ XÂY DỰNG HẠ TẦNG PKI VÀ


ỨNG DỤNG

2.1 Công nghệ CA OpenSSL


2.1.1 OpenSSL là gì ?
OpenSSL là một thư viện phần mềm sử dụng các mã nguồn mở để triển khai các giao
thức mạng và mã hoá dữ liệu khác nhau như SSL và TLS. OpenSSL được sử dụng
trong trường hợp cần xác định phe truyền thống ở phía đầu bên kia hoặc các ứng dụng
bảo mật truyền thông qua mạng máy tính để phòng chống nghe trộm.
OpenSSL đã được ra mắt vào năm 1998 và được cài đặt sẵn trên các hệ điều hành
Linux, Windows, macOS hay BSD. Chúng được sử dụng rộng rãi trong nhằm phục vụ
đa số các website hiện nay trong các máy chủ web Internet. Hiện nay, theo thống kê,
OpenSSL là một phương thức bảo mật được sử dụng nhiều nhất. Tuy nhiên, nếu muốn
website được bảo mật tốt nhất, bạn cần gia hạn SSL let’s encrypt.
Khi nhắc tới các chứng chỉ SSL/TLS và cách thức để triển khai chúng, OpenSSL là
một công cụ thích hợp hàng đầu. Thư viện gốc của các phần mềm trong OpenSSL
được viết bằng ngôn ngữ lập trình C. Bên cạnh đó, OpenSSL cũng có nhiều phần mềm
cho phép người dùng sử dụng thư viện với nhiều ngôn ngữ khác nhau. Các phần mềm
đều có chức năng mã hoá tổng quát để mã hoá và giải mã dữ liệu. Bạn cũng có thể sử
dụng dòng lệnh để yêu cầu, tạo và quản lý các chứng thực số.

OpenSSL là một phương thức bảo mật được sử dụng nhiều nhất

2.1.2 Vì sao nên sử dụng OpenSSL


Ta có thể sử dụng OpenSSL để đăng ký chứng chỉ số hay còn gọi là tạo yêu cầu ký
chứng chỉ. Các giao thức SSL cũng được cài đặt trên máy chủ một cách dễ dàng.

Ta có thể sử dụng OpenSSL để đăng ký chứng chỉ số hay còn gọi là tạo yêu cầu ký
chứng chỉ. Các giao thức SSL cũng được cài đặt trên máy chủ một cách dễ dàng.
OpenSSL còn hỗ trợ người dùng thực hiện các loại xác minh và chuyển đổi chứng chỉ
đang có thành các dạng SSL khác nhau. Các lệnh OpenSSL được sử dụng phổ biến để
hỗ trợ quá trình cấu hình hoá trở nên dễ dàng và nhanh chóng hơn. Hiện nay, hầu hết
các máy chủ đều không cung cấp giao diện người dùng web nên bạn hoàn toàn có thể
quản lý SSL. OpenSSL là giải pháp duy nhất trên một số nền tảng để bạn nhập và cấu
hình chứng chỉ.
Tóm lại, nhờ có OpenSSL, bạn có thể tạo ra các tham số chính RSA, DH hay DSA.
Người dùng tạo ra các chứng chỉ X.509, CSR, CRL và mã hoá hoặc giải mã chúng
bằng mật mã. Hơn thế nữa, các lệnh của OpenSSL được dùng để kiểm tra máy khách,
máy chủ SSL/TLS, mã hóa S/MIME và xử lý email đã ký.

2.1.3 Cách thức hoạt động của công nghệ


Công nghệ CA OpenSSL sử dụng OpenSSL và các công cụ đi kèm để triển khai một
Certificate Authority (CA):
1. OpenSSL: OpenSSL là một thư viện mã nguồn mở cung cấp các chức năng mã
hóa và bảo mật. Nó hỗ trợ nhiều giao thức bảo mật, bao gồm SSL/TLS. OpenSSL
cung cấp các công cụ và thủ tục để tạo, quản lý và xác minh chứng chỉ số.
2. Chứng chỉ số: Chứng chỉ số là một tài liệu điện tử chứa thông tin về thực thể
(như một tổ chức hoặc một cá nhân) và được sử dụng để xác minh danh tính của thực
thể đó. Chứng chỉ số thường chứa thông tin như tên, địa chỉ, khóa công khai và chữ ký
số.
3. Certificate Authority (CA): Một CA là một tổ chức đáng tin cậy được phân
quyền để tạo ra, ký và quản lý các chứng chỉ số. CA đảm bảo tính xác thực và toàn vẹn
của các chứng chỉ số bằng cách ký số và cung cấp các dịch vụ liên quan đến chứng
chỉ.
4. Quy trình tạo chứng chỉ: Quy trình tạo chứng chỉ bắt đầu bằng việc tạo một cặp
khóa công khai và khóa cá nhân cho thực thể muốn có chứng chỉ. Khóa công khai
được bao gồm trong chứng chỉ và khóa cá nhân được sử dụng để ký số chứng chỉ. Sau
đó, chứng chỉ được tạo ra bằng cách ký số chứng chỉ bằng khóa cá nhân của CA.
5. Quản lý chứng chỉ: CA OpenSSL cung cấp các công cụ và lệnh để quản lý
chứng chỉ, bao gồm tạo, thu hồi và phân phối chúng. Quy trình quản lý chứng chỉ bao
gồm cập nhật danh sách thu hồi (CRL - Certificate Revocation List), kiểm tra tính hợp
lệ của chứng chỉ và cung cấp các dịch vụ xác thực cho người dùng.
Công nghệ CA OpenSSL cung cấp các công cụ và quy trình cần thiết để triển khai một
hệ thống CA trong môi trường mạng. Nó cho phép bạn tạo và quản lý các chứng chỉ
số, đảm bảo tính xác thực và toàn vẹn của các chứng chỉ trong mạng.

2.2 Công nghệ ứng dụng


Nếu như ở chương 1 ta đã biết PKI được sử dụng trong nhiều ứng dụng bảo mật thông
tin như chứng thực người dùng, mã hóa dữ liệu, chứng thực giao dịch, chứng thực điện
tử,bảo mật mã hóa tập tin, quản lí danh tính thì ở phần này ta sẽ sử dụng chứng thư số
SSL đã tạo ra, cài đặt và cấu hình chứng thư số cho webserver.
Cụ thể, sử dụng chứng thư số cho người dùng cài đặt vào web browser (chrome,
firefox). Cấu hình webserver xác thực hai chiều. Sử dụng webserver IIS

2.2.1 Ý tưởng thực hiện


Công nghệ CA OpenSSL có thể được áp dụng để cung cấp chứng chỉ số cho người
dùng cài đặt vào trình duyệt web như Chrome, Firefox và cấu hình webserver để thực
hiện xác thực hai chiều. Dưới đây là cách ta có thể sử dụng CA OpenSSL để đạt được
điều này trên webserver IIS:
1. Thiết lập Certificate Authority (CA): Sử dụng OpenSSL, tạo một CA và tạo
chứng chỉ CA tự ký. Điều này sẽ tạo ra một cơ sở hạ tầng chứng thực để tạo và xác
thực chứng chỉ.
2. Tạo yêu cầu chứng chỉ (CSR): Trên webserver IIS, tạo yêu cầu chứng chỉ
(CSR) cho máy chủ của bạn. CSR chứa thông tin về máy chủ và khóa công khai tương
ứng.
3. Ký và phát hành chứng chỉ: Sử dụng CA OpenSSL, ký và phát hành chứng chỉ
cho máy chủ dựa trên CSR. Chứng chỉ này sẽ được ký số bằng khóa cá nhân của CA.
4. Cấu hình webserver IIS: Cài đặt chứng chỉ SSL trên webserver IIS bằng cách
nhập chứng chỉ đã ký vào IIS Certificate Store. Sau đó, cấu hình webserver để sử dụng
chứng chỉ này cho kết nối HTTPS.
5. Cấu hình xác thực hai chiều: Để cấu hình xác thực hai chiều, bạn cần cấu hình
webserver IIS yêu cầu chứng chỉ khách hàng khi thiết lập kết nối. Điều này đòi hỏi
client gửi chứng chỉ của họ trong quá trình xác thực.

2.2.2 Nội dung demo


Sử dụng CA OpenSSL để cung cấp chứng chỉ số và cấu hình xác thực hai chiều trên
webserver IIS:
1. Thiết lập Certificate Authority (CA) bằng OpenSSL:
o Tạo một thư mục để lưu trữ các tệp chứng chỉ và khóa.
o Tạo cặp khóa cá nhân và công khai cho CA bằng lệnh sau:
openssl genpkey -algorithm RSA -out private/ca.key openssl req -new -x509 -key
private/ca.key -out certs/ca.crt -days 365
o Trong quá trình tạo chứng chỉ CA, ta sẽ được yêu cầu cung cấp các thông tin
xác định CA, như tên, địa chỉ, và tùy chọn làm thời hạn chứng chỉ.
2. Tạo yêu cầu chứng chỉ (CSR) trên webserver IIS:
o Mở IIS Manager và chọn máy chủ của bạn.
o Trong pane Actions, chọn "Create Certificate Request".
o Điền thông tin yêu cầu chứng chỉ, bao gồm tên miền và các thông tin khác cần
thiết.
o Chọn "Cryptographic Service Provider" và chọn "Microsoft RSA SChannel
Cryptographic Provider".
o Chọn nơi lưu trữ yêu cầu chứng chỉ (CSR) và lưu lại.
3. Ký và phát hành chứng chỉ trên CA OpenSSL:
o Sao chép tệp CSR từ máy chủ IIS sang máy chủ CA của bạn.
o Sử dụng lệnh sau trên máy chủ CA để ký chứng chỉ:
openssl x509 -req -in <path_to_csr> -CA certs/ca.crt -CAkey private/ca.key -
CAcreateserial -out certs/server.crt -days 365
o Điều này sẽ tạo ra chứng chỉ cho máy chủ dựa trên CSR và khóa cá nhân CA.
4. Cấu hình webserver IIS:
o Mở IIS Manager và chọn máy chủ của bạn.
o Chọn "Server Certificates" trong pane Features.
o Chọn "Import" và nhập đường dẫn tới tệp chứng chỉ server.crt.
o Cấu hình trang web của bạn để sử dụng chứng chỉ SSL mới:
o Chọn trang web cần cấu hình và chọn "Bindings" trong pane Actions.
o Thêm một binding HTTPS mới và chọn chứng chỉ SSL mà bạn đã nhập.
5. Cấu hình xác thực hai chiều trên webserver IIS:
o Mở IIS Manager và chọn trang web của bạn.
o Chọn "SSL Settings" trong pane Actions.
o Bật chế độ "Client Certificates" và chọn "Require" hoặc "Accept" để yêu cầu
chứng chỉ khách hàng.
CHƯƠNG 3. THỰC NGHIỆM

3.1 Cài đặt môi trường


3.1.1 Mô hình cài đặt
Bước 1: cài đặt OPENSSL
Download từ Shining Light Productions
Download từ địa chỉ https://slproweb.com/products/Win32OpenSSL.html

Sau khi cài đặt ta sẽ tìm thấy file openssl.exe nằm trong folder bin mà mình vừa cài
đặt:
Bước 2: Cài đặt IIS web server

Chạy Server Manager và nhấp vào Add roles and features.


Nhấp vào nút Next.
Chọn Role-based or feature-based installation.
Chọn host bạn muốn thêm các service.
Tích vào hộp Web Server (IIS).
Các tính năng bổ sung được yêu cầu để thêm IIS Server. Nhấp vào nút Add Features
> Next.
Nhấp vào nút Next.
Nhấp vào nút Next.
Đây là phần chọn các tính năng của Web Server. Hãy chọn những tính năng mà bạn
muốn thêm. Trong ví dụ này, các tùy chọn mặc định được giữ nguyên. Tất nhiên, bạn
có thể thêm các tính năng này sau khi cài đặt IIS.
Nhấp vào nút Install.
Sau khi kết thúc cài đặt, nhấp vào nút Close.
Chạy trình duyệt web và truy cập vào localhost, sau đó bạn có thể xác minh IIS có
đang chạy bình thường không.
3.1.2 Triển khai
Tạo chứng thư số gốc (RootCA) với cặp khóa RSA, 4096 bit và thông tin DN như bạn
đã cung cấp, sử dụng OpenSSL để thực hiện các bước sau:
Bước 1: Tạo cặp khóa cho RootCA
openssl genrsa -out root.key 4096

● openssl genrsa: Dùng để tạo cặp khóa RSA.

● out root.key: Chỉ định tên và đường dẫn cho tệp chứa khóa riêng tư của
RootCA.

● 4096: Độ dài khóa, trong trường hợp này là 4096 bit.

Bước 2: Tạo CSR cho RootCA


openssl req -new -key root.key -out root.csr -subj "/CN=RootCA/OU=Lớp
AT16/O=HọcViệnkỹthuậtmậtmã/emailAddress=rootca@actvn.edu.vn/streetAddr
ess=141 Chiến Thắng/L=Thanh Xuân/ST=Hà Nội/C=VN"

● openssl req: Dùng để tạo yêu cầu chứng chỉ (CSR).

● new: Tạo yêu cầu chứng chỉ mới.

● key root.key: Sử dụng khóa riêng tư của RootCA để tạo CSR.

● out root.csr: Chỉ định tên và đường dẫn cho tệp chứa CSR.

● subj: Chỉ định các thuộc tính Distinguished Name (DN) cho chứng chỉ, bao
gồm tên chủ thể (Common Name - CN), đơn vị tổ chức (Organization Unit -
OU), tổ chức (Organization - O), địa chỉ email (emailAddress), địa chỉ đường
phố (streetAddress), thành phố (L), tiểu bang (ST), quốc gia (C).

Bước 3: Tạo chứng thư số cho RootCA từ CSR


openssl x509 -req -in root.csr -signkey root.key -out root.crt -days 3650

● openssl x509: Dùng để tạo chứng chỉ từ CSR.

● req: Xác định rằng đầu vào là yêu cầu chứng chỉ (CSR).

● in root.csr: Chỉ định tên và đường dẫn cho tệp chứa CSR.

● signkey root.key: Sử dụng khóa riêng tư của RootCA để ký chứng chỉ.

● out root.crt: Chỉ định tên và đường dẫn cho tệp chứa chứng chỉ đã ký.

● days 3650: Độ dài thời gian hiệu lực của chứng chỉ, trong trường hợp này là
3650 ngày (khoảng 10 năm).
Bước 4: Tạo cặp khóa cho SubCA

openssl ecparam -genkey -name secp384r1 -out subca.key

Bước 5: Tạo CSR cho SubCA


openssl req -new -key subca.key -o ni ut subca.csr -subj "/CN=SubCA/OU=Lớp
AT16/O=HọcViệnkỹthuậtmậtmã/emailAddress=subca@actvn.edu.vn/streetAddr
ess=141Chiến Thắng/L=Thanh Xuân/ST=Hà Nội/C=VN"

Bước 6: Tạo chứng thư số cho SubCA từ CSR, ký bởi RootCA


openssl x509 -req -in subca.csr -CA root.crt -CAkey root.key -out subca.crt -days
3650 –Cacreateserial

Bước 7: Tạo cặp khóa cho thực thể cuối (client và server) - RSA 2048-bit:
openssl genrsa -out entity.key 2048
Bước 8 : Tạo CSR cho thực thể cuối
openssl req -new -key entity.key -out entity.csr -subj "/CN=Nhóm 11/OU=Lớp
AT16/O=HọcViệnkỹthuậtmậtmã/emailAddress=nhom11@actvn.edu.vn/telephon
eNumber=0987654321/streetAddress=141 Chiến Thắng/L=Thanh Xuân/ST=Hà
Nội/C=VN"
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: Tạo một tệp PEM chứa chứng chỉ SubCA và khóa riêng tư:
type entity.crt entity.key > entity.pem
Lệnh này sẽ gộp nội dung của tệp "entity.crt" (chứng chỉ entity) và tệp "entity.key"
(khóa riêng tư của entity) thành một tệp PEM "entity.pem".

Bước 11: Tạo tệp PFX từ tệp PEM và chứng chỉ gốc SubCA:
openssl pkcs12 -export -in entity.pem -inkey entity.key -certfile subca.crt -out
entity.pfx
Lệnh này sẽ tạo một tệp PFX "entity.pfx" từ tệp PEM "entity.pem", khóa riêng tư
"entity.key" và chứng chỉ gốc "subca.crt". Trong quá trình tạo, bạn sẽ được yêu cầu
nhập mật khẩu cho tệp PFX mới được tạo.

Quá trình xác thực


Bước 1: Import file
Mở IIS Manager > chọn Server Certificates:
Chọn Import.
Tìm đến file pfx đã xuất, chọn OK.

PFX được import thành công.

Bước 2: Cấu hình Website với SSL


Trên màn hình Internet Information Services (IIS) Manager, chọn Site, sau đó
chuột phải vào trang web và chọn Edit Binding…

Tại Type chọn https, SSL Certificate đã tạo ở bước trên, click OK.
Truy cập vào địa chỉ https://192.168.25.182/ ta thấy truy cập thành công.
Bước 3: Xác thực2chiều
Đầu tiên cài đặt SSL Settings để bật tính năng Require SSL

Trên Google Chrome:


Mở trình duyệt Chrome và truy cập vào trang chrome://settings/certificates.
Trong cửa sổ "Certifcates", chọn tab "Personal".

Chọn "Import" và chọn tệp PKCS#12 (entity.p12) chứa chứng thư số.
Nhập mật khẩu nếu được yêu cầu.
Sau khi chứng thư số được nhập thành công, nó sẽ hiển thị trong danh sách chứng thư
số cá nhân.
3.2 Đánh giá và kết luận

Đánh giá:

Khả năng linh hoạt: OpenSSL cung cấp nhiều tùy chọn và cấu hình linh hoạt cho quá
trình tạo CA. Có thể tùy chỉnh các thông số như độ dài khóa, thuật toán mã hóa,
đường dẫn chứng chỉ, mật khẩu, v.v. Điều này cho phép ta tạo CA theo yêu cầu cụ thể
của môi trường và hệ thống của mình.

Sự bảo mật: OpenSSL cung cấp các công cụ và thuật toán mã hóa mạnh mẽ để bảo vệ
khóa riêng tư và chứng chỉ. Việc sử dụng khóa riêng tư và chứng chỉ để xác thực 2
chiều giữa máy khách và máy chủ IIS tăng cường sự bảo mật trong quá trình truyền
thông qua SSL/TLS.

Học tập và kiến thức: Quá trình tạo CA bằng OpenSSL yêu cầu bạn có kiến thức cơ
bản về quản lý chứng chỉ, công nghệ mã hóa và một số lệnh dòng lệnh. Điều này đòi
hỏi một thời gian học tập và tìm hiểu để hiểu rõ các khái niệm và quy trình liên quan.

Kết luận:

Tạo CA bằng OpenSSL là một quá trình mạnh mẽ và linh hoạt để triển khai hệ thống
chứng thực phân cấp trong môi trường IIS. Bằng cách sử dụng OpenSSL, có thể tạo ra
cặp khóa CA, ký chứng chỉ và triển khai mô hình chứng thực 2 chiều để tăng cường
bảo mật cho ứng dụng web của mình. Tuy nhiên, quá trình này đòi hỏi kiến thức và kỹ
năng về quản lý chứng chỉ và OpenSSL. Điều này có thể đòi hỏi một thời gian học tập
và thử nghiệm để làm quen với các lệnh và quy trình liên quan.
KẾT LUẬN

Bài báo cáo đã nghiên cứu và trình bày về việc áp dụng chứng thư số SSL trong môi
trường webserver và xác thực 2 chiều. Mục tiêu của báo cáo đã được đạt được và đem
lại những kết quả quan trọng.

Qua việc tìm hiểu và thực hiện cài đặt chứng thư số SSL, báo cáo đã phân tích các ưu
điểm và lợi ích của việc sử dụng SSL trong việc bảo mật giao tiếp qua mạng internet.
Các khái niệm quan trọng như mã hóa, xác thực và bảo mật dữ liệu đã được hiểu rõ
hơn thông qua việc áp dụng chứng thư số SSL.

Ngoài ra, báo cáo cũng tập trung vào việc xác thực 2 chiều, một phương thức xác thực
mạnh mẽ đòi hỏi cả máy chủ và máy khách xác minh danh tính của nhau. Phương
pháp xác thực 2 chiều đã được trình bày và mô tả, cùng với các bước cấu hình để triển
khai xác thực này.

Phân tích và đánh giá thông tin trong báo cáo đã chỉ ra rằng sử dụng chứng thư số SSL
và xác thực 2 chiều là cách hiệu quả để đảm bảo tính bảo mật và xác thực trong môi
trường webserver. Tuy nhiên, cũng cần lưu ý đến những khó khăn và yêu cầu kỹ thuật
trong quá trình cài đặt và cấu hình.

Dựa trên phân tích và đánh giá đã được thực hiện, báo cáo đề xuất một số khuyến nghị
để tối ưu hóa việc sử dụng chứng thư số SSL và xác thực 2 chiều. Điều này bao gồm
việc thực hiện các bước cấu hình chính xác, tuân thủ các tiêu chuẩn bảo mật và thường
xuyên kiểm tra và cập nhật chứng thư số SSL.

Báo cáo này đã cung cấp một cái nhìn tổng quan và chi tiết về việc sử dụng chứng thư
số SSL và xác thực 2 chiều trong môi trường webserver.
TÀI LIỆU THAM KHẢO

[1] Cài đặt và thiết lập một trang web trong IIS trên Windows 10 (quantrimang.com)

[2] Hướng dẫn cài đặt SSL trên máy chủ Windows IIS - Trung tâm hỗ trợ kỹ thuật |
MATBAO.NET
[3] cau hinh Https lấy chứng chỉ số cho IIS Web Server , windows server 2012 R2 -
YouTube

You might also like