1. Bài (chương, mục): Chương 7: Các ứng dụng mật mã trong an ninh mạng
2. Thời lượng:
- GV giảng: 3 tiết.
- Thảo luận:
- Thực hành:
- Bài tập: 3 tiết.
- Tự học: 9 tiết
3. Mục đích, yêu cầu:
Mục đích: Bài giảng cung cấp các kiến thức liên quan đến các vấn đề unưg dụng mật mã
trong an ninh mạng, trong đó tập trung vào các nội dung sau:
- Các ứng dụng xác thực
- An toàn thư điện tử
- An toàn Web.
Yêu cầu:
- Học viên tham gia học tập đầy đủ.
- Nghiên cứu trước các nội dung có liên quan đến bài giảng
- Tham gia thảo luận và thực hiện các bài tập trên lớp
7 trang |
Chia sẻ: thanhle95 | Lượt xem: 562 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Đề cương bài giảng học phần Mã hóa - Nguyễn Hiếu Minh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bộ môn An ninh mạng
HỌC VIỆN KỸ THẬT QUÂN SỰ
KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ CƯƠNG BÀI GIẢNG
HỌC PHẦN: MÃ HÓA
Bộ môn: An ninh mạng
Giáo viên: 1) Nguyễn Hiếu Minh
2) Nguyễn Đức Thiện
1. Bài (chương, mục): Chương 7: Các ứng dụng mật mã trong an ninh mạng
2. Thời lượng:
- GV giảng: 3 tiết.
- Thảo luận:
- Thực hành:
- Bài tập: 3 tiết.
- Tự học: 9 tiết
3. Mục đích, yêu cầu:
Mục đích: Bài giảng cung cấp các kiến thức liên quan đến các vấn đề unưg dụng mật mã
trong an ninh mạng, trong đó tập trung vào các nội dung sau:
- Các ứng dụng xác thực
- An toàn thư điện tử
- An toàn Web.
Yêu cầu:
- Học viên tham gia học tập đầy đủ.
- Nghiên cứu trước các nội dung có liên quan đến bài giảng (đã có trên http://
http:/fit.mta.edu.vn/~minhnh/).
- Tham gia thảo luận và thực hiện các bài tập trên lớp.
4. Nội dung:
a) Nội dung chi tiết: (công thức, định lý, hình vẽ)
Tiết 1: Các ứng dụng xác thực
- Bên cạnh vấn đề trao đổi khóa, vấn đề xác thực đối tượng cũng cần được quan tâm. Khái
niệm xác thực đối tượng cho phép ngăn chặn sự giả mạo. Nhờ xác thực đối tượng, A có
thể tin tưởng rằng đang thực hiện truyền thông với B.
- Một số giao thức được mô tả dưới đây sẽ cung cấp cả khả năng xác thực đối tượng và
trao đổi khóa.
- Kerberos
- Kerberos là dịch vụ xác thực phân tán bắt nguồn từ dự án Athena của MIT. Giao thức
này cung cấp cả khả năng xác thực và thiết lập khóa nhờ sử dụng mật mã khóa bí mật và
một bên thứ ba tin cậy.
- Kerberos được thiết kế để xác thực các đầu cuối (clients) khi cố gắng truy nhập tới các
máy chủ (servers) trên một mạng. Một trung tâm có vai trò xác thực được thực hiện bởi
một server tin cậy được gọi là server xác thực Kerberos (Kerberos Authentication
Server, AS). Hình 1 trình bày sơ đồ tổng quan các dịch vụ của Kerberos.
Bộ môn An ninh mạng
1. Yêu cầu giấy phép
để truy nhập vào TGS
2. Giấy phép + Khóa phiên
3. Yêu cầu giấy phép để
truy nhập vào máy chủ
4. Giấy phép + Khóa phiên
5. Yêu cầu dịch vụ
6. Xác nhận dịch vụ
Máy chủ
xác thực (AS)
Máy chủ cấp
phát giấy
phép (TGS)
Một lần/mỗi phiên
giao dịch
Một lần/mỗi dạng
dịch vụ
Một lần/mỗi phiên
dịch vụ
2). Hệ thống AS xác nhận quyền truy nhập vào
cơ sở dữ liệu và cấp phát giấy phép + khóa
phiên. Tất cả được mã hóa bằng khóa được tạo
ra trên cơ sở mật khẩu của người sử dụng.
1). Người sử dụng
máy trạm để yêu cầu
dịch vụ của máy chủ.
4). TGS giải mã giấy phép
và yêu cầu, sau đó cấp giấy
phép để truy nhập vào máy
chủ + Khóa phiên.
3). Máy trạm yêu cầu
mật khẩu của người sử
dụng và sử dụng mật
khẩu này để giải mã tin
tức khi nhận, sau đó gửi
giấy chứng nhận, gồm
tên người sử dụng, địa
chỉ mạng và thời gian
cho TGS.
5). Máy trạm gửi giấy
chứng nhận cho máy chủ.
6). Máy chủ xác minh sự phù hợp
của giấy chứng nhận, sau đó
cho phép truy nhập vào dịch
vụ. Nếu sự chứng nhận lẫn
nhau được yêu cầu, thì máy
chủ quay trở lại giấy chứng nhận.
Hình 1. Sơ đồ tổng quan mô tả các bước thực hiện trong Kerberos
- Mô tả giao thức:
- A chọn giá trị rA ngẫu nhiên và gửi (A, B, rA) tới AS.
- AS sinh ra một khóa phiên mới k và tạo ra một thẻ t = (A, k, l), ở đây l xác định một chu
kỳ hợp lệ (thời gian bắt đầu và kết thúc) cho một thẻ bài. AS gửi
, , , ,
A BK A K
E k r l B E t tới A.
- A khôi phục k, rA, l, B và xác thực rằng rA và B phù hợp với các giá trị trong bước 1. Sau
đó A tạo thông tin xác thực a = (A, tA), ở đây tA là nhãn thời gian từ đồng hồ cục bộ của A
và gửi ,
BK K
E a E t tới B.
- B khôi phục t = (A, k, l) và a = (A, tA) và xác thực rằng:
o Định đanh của A trong thẻ là phù hợp với giá trị trong thông tin xác thực.
o Nhãn thời gian tA sẽ được làm mới với giá trị đồng hồ cục bộ của B.
o Nhãn thời gian tA là hợp lệ trong chu kỳ l.
- Nếu thực hiện thêm việc xác thực B tới A, thì các bước 5 và 6 sẽ được thực hiện.
- B nhận tA và gửi Ek(tA) tới A.
- A khôi phục tA từ Ek(tA) và kiểm tra rằng nó phù hợp với giá trị tA được gửi trong bước 3.
Nếu đúng thì B được xác thực tới A.
Tiết 2: An toàn thư điện tử
- Giao thức S/MIME:
- S/MIME là một chuẩn internet về định dạng cho mail. Hầu như mọi email trên internet
đều được truyền qua giao thức SMTP theo định dạng MIME chưa có sự đảm bảo an
toàn. Ví dụ, người gửi tin nhắn có thể dễ dàng giả mạo, tức là email nhận được mà
không chắc có đúng là người mà mình mong muồn nhận tin hay tin nhắn có bị giả mạo
hay không. Thêm vào đó, email thường không được mã hóa, có nghĩa rằng nếu một
người nào đó truy cập vào hộp thư cá nhân thì có thể xem được email.
Bộ môn An ninh mạng
- MIME khắc phục những hạn chế của SMTP (Simple Mail Transfer Protocol)
o Không truyền được file nhị phân (chương trình, ảnh,...)
o Chỉ gửi được các ký tự ASCII 7 bit
o Không nhận thông báo vượt quá kích thước cho phép
- Giao thức S/MIME là một giải pháp an toàn thư điện tử. S/MIME đưa vào hai phương
pháp an ninh cho email đó là mã hóa và chứng thực. Cả hai phương pháp đều dựa trên
mã hóa bất đối xứng và PKI.
- S/mime cung cấp một giải pháp cho quá trình gửi nhận dữ liệu 7 bit. S/mime có thể
được sử dụng với những hệ thống cho phép truyền nhận dữ liệu MIME. Nó có thể được
sử dụng cho các phương pháp gửi mail truyền thống có thêm dịch vụ an ninh cho mail
gửi và giải mã các dịch vụ an ninh cho bên nhận. S/MIME bảo vệ các thực thể MIME
với chữ ký, mã hoặc cả hai. Để tạo ra một tin nhắn s/mime, Người dùng s/mime phải
tuân theo các thông số kỹ thuật cũng như cú pháp của tin nhắn.
- Các tính năng của một webmail client hỗ trợ S/MIME là tính bảo mật, tính xác thực, tính
toàn vẹn, tính chống chối từ.
Hình 2. Quá trình bảo vệ E-mail bằng S/MIME bên gửi
Hình 3. Quá trình nhận E-mail bằng S/MIME bên nhận
Bộ môn An ninh mạng
- Giao thức PGP:
Hình 4. Quá trình bảo vệ E-mail bằng PGP bên gửi
Hình 5. Quá trình nhận E-mail bằng PGP bên nhận
Tiết 3: An toàn WEB
- Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất
nhiều các hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin trên
Bộ môn An ninh mạng
đường truyền. Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát
nào đối với đường đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào
thông tin trên đường truyền. Để bảo vệ những thông tin mật trên mạng Internet hay bất
kỳ mạng TCP/IP nào, SSL đã kết hợp những yếu tố sau để thiết lập được một giao dịch
an toàn:
o Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết nối.
Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử
dụng.
o Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại trừ
việc nghe trộm những thông tin “ nhạy cảm” khi nó được truyền qua Internet, dữ
liệu phải được mã hoá để không thể bị đọc được bởi những người khác ngoài người
gửi và người nhận.
o Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính xác
thông tin gốc gửi đến.
- Với việc sử dụng SSL, các Web site có thể cung cấp khả năng bảo mật thông tin, xác
thực và toàn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các browser và
Web server, cho phép người sử dụng làm việc với các trang Web ở chế độ an toàn. Khi
Web browser sử dụng kết nối SSL tới server, biểu tượng ổ khóa sẽ xuất hiện trên thanh
trạng thái của cửa sổ browser và dòng “http” trong hộp nhập địa chỉ URL sẽ đổi thành
“https”. Một phiên giao dịch HTTPS sử dụng cổng 443 thay vì sử dụng cổng 80 như
dùng cho HTTP.
- Giao thức SSL: Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer
(SSL) đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá
thông tin giữa client và server. Tổ chức IETF (Internet Engineering Task Force ) đã
chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù là có sự thay
đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL. Phiên bản TSL 1.0 tương
đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.
- SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất
nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức
ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( Internet
Messaging Access Protocol) và FTP (File Transport Protocol). Trong khi SSL có thể sử
dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác nhau trên Internet, thì
hiện nay SSL được sử dụng chính cho các giao dịch trên Web.
- SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hoá để
thực hiện các nhiệm vụ bảo mật sau:
- Xác thực server: Cho phép người sử dụng xác thực được server muốn kết nối. Lúc này,
phía browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng certificate và
public ID của server là có giá trị và được cấp phát bởi một CA (certificate authority)
trong danh sách các CA đáng tin cậy của client. Điều này rất quan trọng đối với người
dùng. Ví dụ như khi gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm
tra liệu server sẽ nhận thông tin này có đúng là server mà họ định gửi đến không.
- Xác thực Client: Cho phép phía server xác thực được người sử dụng muốn kết nối. Phía
server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem certificate và public
ID của server có giá trị hay không và được cấp phát bởi một CA (certificate authority)
trong danh sách các CA đáng tin cậy của server không. Điều này rất quan trọng đối với
Bộ môn An ninh mạng
các nhà cung cấp. Ví dụ như khi một ngân hàng định gửi các thông tin tài chính mang
tính bảo mật tới khách hàng thì họ rất muốn kiểm tra định danh của người nhận.
- Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được mã hoá trên
đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai
bên khi có các giao dịch mang tính riêng tư. Ngoài ra, tất cả các dữ liệu được gửi đi trên
một kết nối SSL đã được mã hoá còn được bảo vệ nhờ cơ chế tự động phát hiện các xáo
trộn, thay đổi trong dữ liệu. ( đó là các thuật toán băm – hash algorithm).
- Giao thức SSL bao gồm 2 giao thức con: giao thức SSL record và giao thức SSL
handshake. Giao thức SSL record xác định các định dạng dùng để truyền dữ liệu. Giao
thức SSL handshake (gọi là giao thức bắt tay) sẽ sử dụng SSL record protocol để trao
đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL.
- Các thuật toán mật mã trong SSL:
o DES (Data Encryption Standard): là một thuật toán mã hoá có chiều dài khoá là 56
bit.
o 3-DES (Triple-DES): là thuật toán mã hoá có độ dài khoá gấp 3 lần độ dài khoá
trong mã hoá DES
o DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực số.
o KEA (Key Exchange Algorithm): là một thuật toán trao đổi khoá.
o MD5 (Message Digest algorithm): được phát thiển bởi Rivest.
o RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ
liệu được Rivest, Shamir, and Adleman phát triển.
o RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên thuật toán
RSA.
o RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dùng cho RSA
Data Security.
o SHA-1 (Secure Hash Algorithm): là một thuật toán băm.
b) Nội dung thảo luận
Tiết 4:
- Giao thức Kerberos.
- An toàn thư điện tử.
- Giao thức S/MIME.
- Giao thức PGP.
- Các thuật toán mật mã liên quan.
- An toàn WEB.
- Giao thức SSL/TLS.
- Nguyên tắc chương trình hóa các mô hình trao đổi khóa.
c) Nội dung tự học
- Một số giao thức xác thực khóa khác.
- Tìm hiểu sâu về các giải pháp bảo vệ an toàn thư điện tử.
- Tìm hiểu sâu về giải pháp tấn công và bảo vệ WEB.
d) Bài tập (bắt buộc, mở rộng):
Tiết 5 + 6:
Bắt buộc:
- Xây dựng chương trình mô phỏng các giao thức:
o Giao thức Kerberos.
o Giao thức S/MIME.
Bộ môn An ninh mạng
o Giao thức PGP.
- Mở rộng:
- Xây dựng chương trình mô phỏng các giao thức:
o Giao thức SSL/TLS.
o Giao thức thư điện tử: SMTP, IMAP, POP3.
5. Tài liệu tham khảo (sách, báo – chi tiết đến chương, mục, trang)
- Bài 7: Slide bài giảng của giáo viên.
- Chương 14, 15, 17, Phần 3: William Stallings, “Cryptography and Network Security
Principles and Practices”, Prentice Hall, 2005.
- Chương 11, 12, Phần 4: Wenbo Mao, “Modern Cryptography: Theory and Practice”,
Prentice Hall, 2004.
- Chương 7, 8, 9: Man Young Rhee, “Internet Security Cryptographic Principles,
Algorithms and Protocols”, Wiley, 2003.
- Chương 8: Douglas Stinson, “Cryptography: Theory and Practice”, CRC Press, CRC
Press LLC, ISBN: 0849385210, Pub Date: 03/17/95.
6. Câu hỏi ôn tập
- Giao thức Kerberos.
- An toàn thư điện tử.
- Giao thức S/MIME.
- Giao thức PGP.
- Các thuật toán mật mã liên quan.
- An toàn WEB.
- Giao thức SSL/TLS.
- Một số giao thức xác thực khóa khác.
- Tìm hiểu sâu về các giải pháp bảo vệ an toàn thư điện tử.
- Tìm hiểu sâu về giải pháp tấn công và bảo vệ WEB.
- Nguyên tắc chương trình hóa các giao thức.