Tiểu luận môn an toàn bảo mật thông tin: TÌM HIỂU HẠ TẦNG KHÓA CÔNG KHAI PKI - Pdf 39

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Website: itf.ud.edu.vn, E-mail: [email protected]

TIỂU LUẬN MÔN HỌC
AN TOÀN THÔNG TIN MẠNG

NGÀNH KHOA HỌC MÁY TÍNH
ĐỀ TÀI :

TÌM HIỂU HẠ TẦNG KHÓA CÔNG KHAI PKI
(PUBLIC KEY INFRASTRUCTURE) VÀ ỨNG DỤNG
GVHD :

TS. Nguyễn Tấn Khôi

HVTH :

1. Trần Hữu Phước
2. Hoàng Tiến Sơn

Lớp Cao học KHMT Khóa 31 (2015 − 2017)

ĐÀ NẴNG, 5/2016


MỤC LỤC
Chương 1: Giới Thiệu..................................................................................................1
1.1. Hạ tầng khóa công khai (PKI).......................................................................................................1

2.8. OpenCA hệ thống hạ tầng khóa công khai trong thực tế...........................................................16
2.8.1. Định nghĩa :...................................................................................................................16
2.8.2. Đánh giá về hệ OpenCA................................................................................................16
2.9. Các ứng dụng của PKI trong thực tiễn........................................................................................16


2.9.1. Mô hình phân cấp thứ bậc trên - dưới............................................................................16
2.9.2. Mô hình chứng thực chéo...............................................................................................17
2.9.3. Mô hình CA cầu nối.......................................................................................................17
2.9.4. Các sản phẩm.................................................................................................................17
2.9.5. Định hướng nghiên cứu phục vụ hệ thống PKI chuyên dùng Chính phủ........................17

Chương 3: Triển khai cài đặt ứng dụng OpenSSL..................................................19
3.1. Triển khai cài đặt........................................................................................................................19
3.2. Kịch bản sử dụng opensl để mã hóa bản tin và file....................................................................19
3.2.1. Mã hóa thông điệp với cú pháp......................................................................................19
3.2.2. Giải mã bằng cú pháp.....................................................................................................20
3.2.3 Khóa công khai và khóa cá nhân.....................................................................................20

KẾT LUẬN................................................................................................................22
1. Về mặt lý thuyết............................................................................................................................22
2. Về mặt thực tiễn...........................................................................................................................22
3. Hướng phát triển..........................................................................................................................22


DANH MỤC TỪ VIẾT TẮT

PKI

Public Key Infrastructure


Hash function

RFC

Request For Comments


DANH MỤC HÌNH VẼ VÀ BẢNG
Hình 1.1: Mô hình xây dựng PKI cơ bản
Hình 1.2: Sơ đồ gửi và nhận tin nhắn sử dụng PKI
Bảng 1.3: Bảng mô tả chi tiết các hoạt động của PKI
Bảng 2.1 : Đặc điểm của các thuật toán băm SHA
Bảng 2.2 : So sánh thời gian tạo khóa, tạo chữ ký và xác nhận chữ ký của
RSA với DSA
Hình 2.3 : Thời gian tạo khóa của RSA và DSA
Hình 2.4 : Thời gian tạo chữ ký của RSA và DSA
Hình 2.5 : Thời gian xác nhận chữ ký của RSA và DSA
Hình 2.6 : Mô hình phân cấp
Hình 3.1 : Cài đặt Opensl
Hình 3.2 : Mã hóa thông điệp
Hình 3.3 : Giải mã thông điệp
Hình 3.4 : Tạo khóa cá nhân
Hình 3.5 : Tạo khóa công khai từ khóa cá nhân


Chương 1: Giới Thiệu
1.1. Hạ tầng khóa công khai (PKI)
1.1.1. PKI là gì
- PKI: viết tắt của Public Key Infrastructure tức là hạ tầng cơ sở khóa công

Trạng thái của hệ thống PKI

Bob muốn chuyển một thư điện tử đến cho Phần mềm PKI dùng chìa khóa cá
Alice, với yêu cầu rằng giao dịch phải chứng nhân của Bob tạo ra một chữ ký điện
minh được chính anh đã gởi nó đi và nội tử cho bức thư
dung bức thư không bị thay đổi.
Bob muốn chắc chắn rằng không ai ngoài Phần mềm PKI của Bob dùng chìa
Alice đọc được bức thư này
khóa công cộng của Alice để mã hóa
thông điệp của Bob.
Alice muốn đọc thư do Bob gởi

Phần mềm PKI dùng chìa khóa cá
nhân của Alice để để giải mã thông
điệp.

Alice muốn kiểm chứng rằng chính Bob đã Phần mềm PKI của Alice dùng chìa
gởi đi thông điệp đó và nội dung thông điệp khóa công cộng của Bob để kiểm
không bị chỉnh sửa.
chứng chữ ký điện tử của anh ta.
Bảng 1.3: Bảng mô tả chi tiết các hoạt động của PKI
2


1.2. Một vài kiến trúc và công nghệ PKI hiện hành
1.2.1. Một số ứng dụng
- 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 dạng 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ã hoá Email hoặc xác thực người gửi Email (OpenPGP hay S/MIME).

tính toán khi tìm một khối dữ liệu trong một tập hợp (nhờ việc so sánh các giá trị băm
nhanh hơn việc so sánh những khối dữ liệu có kích thước lớn).
2.1.2. Hàm băm mật mã học
Trong ngành mật mã học, một hàm băm mật mã học (tiếng Anh: Cryptographic
hash function) là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc
sử dụng trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực
(authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity). Một
hàm băm nhận đầu vào là một xâu ký tự dài (hay thông điệp) có độ dài tùy ý và tạo ra
kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là tóm tắt thông điệp
(message digest) hoặc chữ ký số (digital fingerprint).[4]
2.1.3. Đảm bảo tính toàn vẹn dữ liệu
Hàm băm mật mã học là hàm bam và có tính chất là hàm 1 chiều. Từ khối dữ
liệu hay giá trị băm đầu vào chỉ có thể đưa ra 1 giá trị băm duy nhất. Như chúng ta đã
biết đối với tính chất của hàm 1 chiều. Một người nào đó dù bắt được giá trị băm họ
cũng không thể suy ngược lại giá trị, đoạn tin nhắn băm khởi điểm.
- Hàm băm thường được dùng trong bảng băm nhằm giảm chi phí tính toán khi
tìm một khối dữ liệu trong một tập hợp. Giá trị băm đóng vai trò gần như một khóa để
phân biệt các khối dữ liệu
Giá trị đầu vào(tin nhắn, dữ liệu...) bị thay đổi tương ứng giá trị băm cũng bị
thay đổi. Do vậy nếu 1 kẻ tấn công phá hoại, chỉnh sửa dữ liệu thì server có thể biết
ngay lập tức.
2.1.4. Một số hàm băm thông dụng
2.1.4.1. Thuật toán hàm băm MD5
a. Thuật toán hàm băm MD5
- MD5 (Message-Digest algorithm 5) là một hàm băm mật mã được sử dụng
phổ biến, được thiết kể bởi Giáo sư Ronald L. Rivest tại trường MIT vào năm 1991 để
thay thế cho hàm băm trước đó là MD4 (1990). Là một chuẩn Internet (RFC 1321),
MD5 đã được dùng trong nhiều ứng dụng bảo mật và cũng được dùng phổ biến để
kiểm tra tính toàn vẹn của tập tin. Cũng như các hàm băm khác như MD4 và SHS
(Secure Hash Standard), MD5 là phương pháp có ưu điểm tốc độ xử lý rất nhanh, thích

của nhóm tác giả Xiaoyun Wang, Dengguo Feng, Xuejia Lai, và Hongbo ngày
19/8/2004; của Arjen Lenstra, Xiaoyun Wang, và Benne de Weger ngày 1/3/2005; và
của Vlastimil Klima, ...
2.1.4.2. Chuẩn băm an toàn SHS
- SHS (Secure Hash Standard) là chuẩn gồm tập hợp các thuật toán băm mật mã
an toàn (Secure Hash Algorithm - SHA) như SHA-1, SHA-224, SHA- 256, SHA-384,
SHA-512 doNIST2 vàNSA3 xây dựng.
- Phương pháp SHA-1 (cũng như SHA-0) được xây dựng trên cùng cơ sở với
phương pháp MD4 và MD5. Tuy nhiên, phương pháp SHA-1 sử dụng trên hệ thống
Big-endian5 thay vì Little-endian6 như phương pháp MD4 và MD5. Ngoài ra, hàm
băm SHA-1 tạo ra thông điệp rút gọn kết quả có độ dài 160 bit nên thường được sử
dụng
- Phương pháp SHA-1 giống với MD5 (cải tiến từ MD4) nhưng thông điệp tóm
tắt được tạo ra có độ dài 160 bit. Dưới đây là một số điểm so sánh giữa MD5 và SHA1:
+ Giống như MD5, SHA-1 cũng thêm chu kỳ thứ 4 để tăng mức độ an toàn cho
thuật toán. Tuy nhiên, chu kỳ 4 của SHA-1 sử dụng lại hàm f của chu kỳ thứ 2.
5


+ Trong SHA-1, 20 bước biến đổi trong cùng một chu kỳ sử dụng cùng một
hàng số K[t] . Trong khi đó, mỗi bước biến đổi trong cùng một chu kỳ của MD5 sử
dụng các hằng số khác nhau.
+ So với MD4, hàm G trong MD5 được thay thế thành hàm mới để làm giảm
tính đối xứng. Trong khi SHA-1, hàm G trong SHA-1 vẫn giữ lại hàm G của MD4.
+ Cả MD5 và SHA-1, mỗi bước biến đổi trong từng chu kỳ chịu ảnh hưởng kết
quả của biến đổi trước, vì vậy làm tăng nhanh tốc độ của hiệu ứng lan truyền.
Kích thuớc tinh theo bit

Số



160

512

264 - 1 32

80

256/224

256

512

264 - 1 32

64

512/384

512 1024 2128 - 1 64

80

SHA256/224
SHA512/384

Trạng


+. and. or,
xor. shr, rotr

80

Chưa

112/128

Chưa

192/256

Bảng 2.1: Đặc điểm của các thuật toán băm SHA
2.2. Mã hóa thông tin
- Có rất nhiều thông tin mà chúng ta không muốn người khác biết khi gửi đi
như: thông tin về Credit-Card, thông tin về kinh doanh của công ty, thông tin về tài
khoản cá nhân, thông tin về cá nhân như số chứng minh thư, số thẻ...
- Các thông tin bí mật được cung cấp cho các máy tính quan mạng Internet bằng
nhiều phương thức khác nhau ví dụ: Một cách bảo mật đơn giản nhưng minh bạch nhất
là lưu các thông tin bí mật trên các bộ nhớ có thể xoá được (Removable Storage) như
đĩa mềm. Tuy nhiên dạng bảo mật phổ biến nhất vẫn là dựa vào quá trình mã hoá dữ
liệu (Encryption).
- Các hệ thống mã hoá trong máy tính phổ biến nhất thuộc một trong hai loại
sau:
+ Mã hoá với khoá đối xứng (Symmetric-key Encryption) : Trong phương pháp
mã hoá với khoá đối xứng, mỗi máy tính có một khoá bí mật (dạng mã) dùng để mã
hoá các gói thông tin trước khi chúng được gửi qua mạng tới các máy tính khác.
Phương pháp mã hoá với khoá đối xứng đòi hỏi người sử dụng phải xác định được
những máy tính nào đang liên lạc trao đổi thông tin với nhau để cài đặt khoá này trên

toán tương ứng để xác nhận chữ ký số.
2.3.2.2. Thuật toán chữ ký số RSA
- Phương pháp chữ ký số RSA được xây dựng dựa trên thuật toán mã hóa khóa
công khai RSA. Để tạo một cặp khóa, RSA thực hiện các bước sau:
+ Chọn 2 số nguyên tố lớn ngẫu nhiên p, q. Nhằm có sự an toàn tối đa nên chọn
p và q có độ dài bằng nhau.
+ Tính n=pq và φ =(p - 1 )(q - 1).
+ Chọn ngẫu nhiên một số nguyên e (l


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status