Professional Documents
Culture Documents
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
8
CHƯƠNG 1. TỔNG QUAN VỀ HẠ TẦNG MẬT MÃ KHÓA
CÔNG KHAI VÀ ỨNG DỤNG
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:
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ủ, …
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)
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;
● (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))
✔ 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.
OpenSSL là một phương thức bảo mật được sử dụng nhiều nhất
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ý.
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
● out root.key: Chỉ định tên và đường dẫn cho tệp chứa khóa riêng tư của
RootCA.
● 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).
● 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.
● 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
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.
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
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