Bài giảng Mật mã học - Chương 5+6

NỘI DUNG BÀI HỌC

1. Vị trí của mật mã trong mạng máy tính

2. Cơ sở hạ tầng khoá công khai

3. IPsec

4. SSL/TLS

5. PGP và S/MIME

6. Kerberos

7. SSH

8. Bài tập

pdf106 trang | Chuyên mục: Mật Mã Học | Chia sẻ: yen2110 | Lượt xem: 419 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Mật mã học - Chương 5+6, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
h của PGP
75
5. PGP và S/MIME
S/MIME
S/MIME (Secure/Multipurpose Internet Mail 
Extensions) 
Là một chuẩn Internet về định dạng cho email. 
Hầu như mọi email trên Internet được truyền qua 
giao thức SMTP theo định dạng MIME. 
S/MIME đưa vào hai phương pháp an ninh cho 
email: mã hóa email và chứng thực. Cả hai cách 
đều dựa trên mã hóa bất đối xứng và PKI. 
76
5. PGP và S/MIME
S/MIME
77
5. PGP và S/MIME
S/MIME
78
5. PGP và S/MIME
S/MIME
Các tính năng của một Webmail client hỗ trợ S/MIME:
Tạo ra một chữ ký số cho một email gửi đi để đảm bảo người 
nhận email tin rằng không có sự can thiệp và được đến từ 
người gửi.
Mã hóa một email gửi đi để ngăn chặn bất cứ ai xem, thay 
đổi... Nội dung của email trước khi đến với người nhận.
Xác minh chữ ký số của một email đã ký đến với một quá 
trình liên quan đến một danh sách thu hồi chứng chỉ (CRL).
Tự động giải mã một email gửi đến để người nhận có thể 
đọc được nội dung của email.
Trao đổi chữ ký hoặc email đã được mã hóa với những 
người dùng khác của S/MIME. 
79
5. PGP và S/MIME
S/MIME
80
5. PGP và S/MIME
S/MIME
81
5. PGP và S/MIME
S/MIME
82
6. Kerberos
83
6. Kerberos
Tổng quan
Kerberos là một giao thức mã hoá dùng để xác thực 
trong các mạng máy tính hoạt động trên những đường 
truyền không an toàn. 
Giao thức Kerberos có khả năng chống lại việc nghe lén 
hay gửi lại các gói tin cũ và đảm bảo tính toàn vẹn của 
dữ liệu. 
Mục tiêu khi thiết kế giao thức này là nhằm vào client-
server và đảm bảo chứng thực cho cả hai chiều.
Giao thức được xây dựng dựa trên mật mã hóa khóa đối 
xứng và cần đến một bên thứ ba mà cả hai phía tham 
gia giao dịch tin tưởng.
84
6. Kerberos
Tổng quan
Học viện kỹ thuật Massachusetts (MIT) phát triển 
Kerberos để bảo vệ các dịch vụ mạng cung cấp bởi dự 
án Athena. Tên của giao thức được đặt theo tên của con 
chó ba đầu Cerberus canh gác cổng địa ngục trong thần 
thoại Hy Lạp. Giao thức đã được phát triển dưới nhiều 
phiên bản, trong đó các phiên bản từ 1 đến 3 chỉ dùng 
trong nội bộ MIT. 
Các hệ điều hành Windows XP và Windows Server 2003 
sử dụng một phiên bản thực hiện Kerberos làm phương 
pháp mặc định để chứng thực. Hệ điều hành Mac OS 
cũng sử dụng Kerberos trong các phiên bản máy khách 
và máy chủ của mình. 
85
6. Kerberos
Tổng quan
86
6. Kerberos
Tổng quan
87
6. Kerberos
Tổng quan
88
6. Kerberos
Tổng quan
89
6. Kerberos
Mô tả phiên giao dịch
Với: AS = Máy chủ chứng thực (authentication server), 
TGS = Máy chủ cấp vé (ticket granting server), SS = 
Máy chủ dịch vụ (service server).
Nội dung chính: người sử dụng chứng thực mình với 
máy chủ chứng thực AS, sau đó chứng minh với máy 
chủ cấp vé TGS rằng mình đã được chứng thực để 
nhận vé, cuối cùng chứng minh với máy chủ dịch vụ SS 
rằng mình đã được chấp thuận để sử dụng dịch vụ.
1. Người sử dụng nhập tên và mật khẩu tại máy tính của 
mình (máy khách). 
2. Phần mềm máy khách thực hiện hàm băm một chiều 
trên mật khẩu nhận được. Kết quả sẽ được dùng làm 
khóa bí mật của người sử dụng.
90
6. Kerberos
Mô tả phiên giao dịch
3. Phần mềm máy khách gửi một gói tin (không mật mã 
hóa) tới máy chủ dịch vụ AS để yêu cầu dịch vụ. Nội 
dung của gói tin đại ý: "người dùng XYZ muốn sử dụng 
dịch vụ". (Cả khóa bí mật lẫn mật khẩu đều không được 
gửi tới AS).
4. AS kiểm tra nhân dạng của người yêu cầu có nằm trong 
cơ sở dữ liệu của mình không. Nếu có thì AS gửi 2 gói 
tin sau tới người sử dụng: 
Gói tin A: "Khóa phiên TGS/máy khách" được mật mã 
hóa với khóa công khai của người sử dụng. 
Gói tin B: "Vé chấp thuận" (bao gồm định danh người sử 
dụng (ID), địa chỉ mạng của người sử dụng, thời hạn 
của vé và "Khóa phiên TGS/máy khách") được mật mã 
hóa với khóa bí mật của TGS. 
91
6. Kerberos
Mô tả phiên giao dịch
5. Khi nhận được 2 gói tin trên, phần mềm máy khách giải 
mã gói tin A để có khóa phiên với TGS. (Người sử dụng 
không thể giải mã được gói tin B vì nó được mã hóa với 
khóa bí mật của TGS). Tại thời điểm này, người dùng có 
thể nhận thực mình với TGS. 
6. Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói tin sau tới 
TGS: 
Gói tin C: Bao gồm "Vé chấp thuận" từ gói tin B và chỉ 
danh (ID) của yêu cầu dịch vụ. 
Gói tin D: Phần nhận thực (bao gồm chỉ danh người sử 
dụng và thời điểm yêu cầu), mật mã hóa với "Khóa 
phiên TGS/máy khách". 
92
6. Kerberos
Mô tả phiên giao dịch
7. Khi nhận được 2 gói tin C và D, TGS giải mã D rồi 
gửi 2 gói tin sau tới người sử dụng: 
Gói tin E: "Vé" (bao gồm chỉ danh người sử dụng, 
địa chỉ mạng người sử dụng, thời hạn sử dụng và 
"Khóa phiên máy chủ/máy khách") mật mã hóa với 
khóa bí mật của máy chủ cung cấp dịch vụ. 
Gói tin F: "Khóa phiên máy chủ/máy khách" mật mã 
hóa với "Khóa phiên TGS/máy khách". 
93
6. Kerberos
Mô tả phiên giao dịch
8. Khi nhận được 2 gói tin E và F, người sử dụng đã 
có đủ thông tin để nhận thực với máy chủ cung cấp 
dịch vụ SS. Máy khách gửi tới SS 2 gói tin: 
Gói tin E thu được từ bước trước (trong đó có 
"Khóa phiên máy chủ/máy khách" mật mã hóa với 
khóa bí mật của SS). 
Gói tin G: phần nhận thực mới, bao gồm chỉ danh 
người sử dụng, thời điểm yêu cầu và được mật mã 
hóa với "Khóa phiên máy chủ/máy khách". 
94
6. Kerberos
Mô tả phiên giao dịch
9. SS giải mã "Vé" bằng khóa bí mật của mình và gửi gói 
tin sau tới người sử dụng để xác nhận định danh của 
mình và khẳng định sự đồng ý cung cấp dịch vụ: 
Gói tin H: Thời điểm trong gói tin yêu cầu dịch vụ cộng 
thêm 1, mật mã hóa với "Khóa phiên máy chủ/máy 
khách". 
10.Máy khách giải mã gói tin xác nhận và kiểm tra thời gian 
có được cập nhật chính xác. Nếu đúng thì người sử 
dụng có thể tin tưởng vào máy chủ SS và bắt đầu gửi 
yêu cầu sử dụng dịch vụ. 
11.Máy chủ cung cấp dịch vụ cho người sử dụng. 
95
6. Kerberos
Mô tả phiên giao dịch
96
7. SSH
Tổng quan
Telnet, rlogin, rsh, rcp, và FTP đã từng là những 
giao thức lớp ứng dụng phổ biến giúp người dùng
đăng nhập vào một máy tính từ xa và truyền file giữa 
các máy tính trên mạng. 
Tuy nhiên, các giao thức này truyền tải dữ liệu thô 
mà không có bất kỳ sự bảo vệ nào, nên dễ bị đánh 
cắp mật khẩu, nghe trộm, giả mạo IP, và các loại tấn 
công khác.
Năm 1995, nhà nghiên cứu người Phần Lan Tatu 
Ylonen đưa ra giải thuật Secure Shell (SSH) để bảo 
vệ việc đăng nhập từ xa đối với các cuộc tấn công 
bảo mật.
97
7. SSH
Tổng quan
SSH được định nghĩa trong RFC 4251.
SSH sử dụng cổng TCP 22.
SSH có thể hoạt động trên các flatform khác nhau:
– Kết nối đến một máy chủ SSH trên một router 
của Cisco từ một máy khách chạy Windows
– Kết nối đến một máy chủ Linux từ một router 
Cisco hay có thể kết nối đến một máy chủ 
Windows 2008 từ một máy khách sử dụng hệ 
điều hành Linux. 
98
7. SSH 
Tổng quan
SSH tạo ra một kết nối bảo mật giữa hai máy tính sử 
dụng các giải thuật mã hoá và chứng thực. 
Có khả năng nén dữ liệu, bảo mật cho dữ liệu truyền 
(SFTP) và sao chép file (SCP).
Là giao thức ứng dụng client-server. SSH được chia 
thành 3 lớp trong lớp ứng dụng của mô hình mạng 
TCP/IP:
– Connection Layer
– User Authentication Layer
– Transport Layer
99
7. SSH 
Tổng quan
100
7. SSH
Cách thức hoạt động
SSH được thực hiện qua 3 bước:
1. Định danh host: 
– Việc định danh host được thực hiện qua việc trao 
đổi khoá. Mỗi máy tính có hỗ trợ kiểu truyền thông 
SSH có một khoá định danh duy nhất. Khoá này 
gồm hai thành phần: khoá riêng và khoá công khai. 
Khoá công khai được sử dụng khi cần trao đổi giữa 
các máy chủ với nhau trong phiên làm việc SSH, dữ 
liệu sẽ được mã hoá bằng khoá công khai và chỉ có 
thể giải mã bằng khoá riêng. 
101
7. SSH
Cách thức hoạt động
SSH được thực hiện qua 3 bước:
1. Định danh host: 
– Khi hai hệ thống bắt đầu một phiên làm việc SSH, 
máy chủ sẽ gửi khoá công khai của nó cho máy 
khách. Máy khách sinh ra một khoá phiên ngẫu 
nhiên và mã hoá khoá này bằng khoá công cộng 
của máy chủ, sau đó gửi lại cho máy chủ. Máy chủ 
sẽ giải mã khoá phiên này bằng khoá riêng của 
mình và nhận được khoá phiên. Khoá phiên này sẽ 
là khoá sử dụng để trao đổi dữ liệu giữa hai máy. 
Quá trình này được xem như các bước nhận diện 
máy chủ và máy khách. 
102
7. SSH 
Cách thức hoạt động
103
7. SSH
Cách thức hoạt động
SSH được thực hiện qua 3 bước:
2. Mã hoá: 
– Sau khi hoàn tất việc thiết lập phiên làm việc bảo mật 
(trao đổi khoá, định danh), quá trình trao đổi dữ liệu diễn 
ra thông qua một bước trung gian đó là mã hoá/giải mã. 
Dữ liệu gửi/nhận trên đường truyền đều được mã hoá 
và giải mã theo cơ chế đã thoả thuận trước giữa máy 
chủ và máy khách. 
– Việc lựa chọn cơ chế mã hoá thường do máy khách 
quyết định. Các cơ chế mã hoá thường được chọn bao 
gồm: 3DES, IDEA, và Blowfish. Khi cơ chế mã hoá được 
lựa chọn, máy chủ và máy khách trao đổi khoá mã hoá 
cho nhau. 
104
7. SSH
Cách thức hoạt động
SSH được thực hiện qua 3 bước:
3. Chứng thực: 
– Mỗi định danh và truy nhập của người sử dụng có 
thể được cung cấp theo nhiều cách khác nhau. 
Chẳng hạn, kiểu chứng thực rhosts có thể được sử 
dụng, nhưng không phải là mặc định; nó đơn giản 
chỉ kiểm tra định danh của máy khách được liệt kê 
trong file rhost (theo DNS và địa chỉ IP). 
– Việc chứng thực mật khẩu là một cách rất thông 
dụng để định danh người sử dụng, nhưng ngoài ra 
cũng có các cách khác: chứng thực RSA, sử dụng 
ssh-keygen và ssh-agent để chứng thực các cặp 
khoá. 
105
8. Bài tập
1. Trình bày cơ chế Anti-Replay của 
giao thức AH trong IPsec.
2. Nêu các ứng dụng của Ipsec.
3. Replay attack là gì?
4. Sử dụng ví dụ để trình bày chi tiết cơ 
chế hoạt động của SSL.
5. Mô tả chi tiết hoạt động của giao 
thức SSH.
106
8. Bài tập
6. Nêu sự khác biệt giữa transport mode và 
tunnel mode.
7. Nêu các yêu cầu cần thiết khi triển khai 
Kerberos.
8. Trình bày mục tiêu của chuẩn X.509.
9. X.509 thu hồi các chứng chỉ bằng cách 
nào?
10. Xây dựng một bảng tổng hợp về vai trò, 
công dụng, đặc điểm của các giao thức 
nêu trong bài.

File đính kèm:

  • pdfbai_giang_mat_ma_hoc_chuong_56.pdf
Tài liệu liên quan