Title | Bai Giang ATBMTT |
---|---|
Author | Ưng Viết |
Pages | 184 |
File Size | 3 MB |
File Type | |
Total Downloads | 302 |
Total Views | 604 |
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ----- ----- BÀI GIẢNG AN TOÀN VÀ BẢO MẬT THÔNG TIN (Lưu hành nội bộ) Nha Trang, tháng 6 năm 2008 1 BÀI GIẢNG AN TOÀN VÀ BẢO MẬT THÔNG TIN Biên soạn: Trần Minh Văn (Tài liệu tham khảo chính: Cryptography and Network Security P...
B GIÁO D C VÀ ĐÀO T O
TR
NG Đ I H C NHA TRANG
KHOA CÔNG NGH THÔNG TIN ----- -----
BÀI GI NG
AN TOÀN VÀ B O M T THÔNG TIN (L u hành nội bộ)
Nha Trang, tháng 6 năm 2008 1
BÀI GI NG
AN TOÀN VÀ B O M T THÔNG TIN Biên soạn: Trần Minh Văn (Tài liệu tham khảo chính: Cryptography and Network Security Principles and Practices, 4th Edition William Stallings Prentice Hall 2005)
2
M CL C CH
NG 1. GI I THI U V AN TOÀN VÀ B O M T THÔNG TIN .................. 8
1.1
Giới thiệu................................................................................................................. 8
1.2
B o vệ thông tin trong quá trình truyền thông tin trên m ng .................................. 8
1.2.1 1.2.2 1.2.3 1.2.4
Các lo i hình tấn công ..................................................................................... 8 Yêu cầu c a m t hệ truyền thông tin an toàn và b o mật .............................. 10 Vai trò c a mật mã trong việc b o mật thông tin trên m ng ......................... 11 Các giao th c (protocol) thực hiện b o mật.................................................. 11
1.3
B o vệ hệ thống khỏi sự xâm nhập phá ho i từ bên ngoài.................................... 11
1.4
Câu hỏi ôn tập ....................................................................................................... 13
CH
NG 2. MÃ HịA Đ I X NG CĂN B N .......................................................... 14
2.1
Mã hóa Ceasar ....................................................................................................... 14
2.2
Mô hình mư hóa đối x ng (Symmetric Ciphers) .................................................. 15
2.3
Mã hóa thay thế đơn b ng (Monoalphabetic Substitution Cipher) ....................... 17
2.4
Mã hóa thay thế đa ký tự ....................................................................................... 19
2.4.1 2.4.2
Mã Playfair .................................................................................................... 19 Mã Hill ........................................................................................................... 20
2.5
Mã hóa thay thế đa b ng (Polyalphabetic Substitution Cipher) ............................ 21
2.6
One-Time Pad ....................................................................................................... 23
2.7
Mã hoán vị (Permutation Cipher) ......................................................................... 24
2.8
Tổng kết ................................................................................................................ 25
2.9
Câu hỏi ôn tập ....................................................................................................... 27
2.10 Bài Tập .................................................................................................................. 27 2.11 Bài Tập Thực Hành ............................................................................................... 28 CH
NG 3. MÃ HịA Đ I X NG HI N Đ I .......................................................... 30
3.1
Mã dòng (Stream Cipher)...................................................................................... 31
3.1.1 3.1.2 3.2
Mã khối (Block Cipher) ........................................................................................ 37
3.2.1 3.2.2 3.2.3 3.3
A5/1 ............................................................................................................... 32 RC4 ................................................................................................................ 34 Mã khối an toàn lý t ng ............................................................................... 37 M ng SPN ...................................................................................................... 38 Mô hình mã Feistel ........................................................................................ 38
Mã TinyDES ......................................................................................................... 40
3.3.1
Các vòng c a TinyDES.................................................................................. 40 3
3.3.2 3.3.3 3.3.4 3.4
Mã DES (Data Encryption Standard) .................................................................... 43
3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.5
Hoán vị kh i t o và hoán vị kết thúc: ............................................................ 44 Các vòng c a DES ......................................................................................... 45 Thuật toán sinh khóa con c a DES ................................................................ 46 Hiệu ng lan truyền (Avalanche Effect) ........................................................ 47 Đ an toàn c a DES ....................................................................................... 48
M t số ph ơng pháp mư khối khác ....................................................................... 49
3.5.1 3.5.2 3.6
Thuật toán sinh khóa con c a TinyDES......................................................... 42 Ví d về TinyDES .......................................................................................... 42 Kh năng chống phá mã known-plaintext c a TinyDES ............................... 42
Triple DES ..................................................................................................... 49 Advanced Encryption Standard (AES) .......................................................... 49
Các mô hình ng d ng mã khối ............................................................................ 50
3.6.1 3.6.2 3.6.3 3.6.4 3.6.5
Electronic Codebook – ECB .......................................................................... 50 Cipher Block Chaining – CBC....................................................................... 51 Counter – CTR ............................................................................................... 53 Output Feedback – OFB ................................................................................ 53 Cipher Feedback – CFB ................................................................................. 54
3.7
Tính ch ng thực (authentication) c a mư hóa đối x ng........................................ 55
3.8
Tính không thoái thác (non-repudiation) c a mư hóa đối x ng. ........................... 56
3.9
Trao đổi khóa bí mật bằng trung tâm phân phối khóa........................................... 56
3.10 Câu hỏi ôn tập........................................................................................................ 58 3.11 Bài tập.................................................................................................................... 58 3.12 Bài tập thực hành ................................................................................................... 59 CH
NG 4. MÃ HÓA KHÓA CÔNG KHAI ............................................................. 61
4.1
Lý thuyết số ........................................................................................................... 63
4.1.1 4.1.2 4.1.3 4.2
RSA ....................................................................................................................... 66
4.2.1 4.2.2 4.3
4
Nguyên tắc thực hiện c a RSA ...................................................................... 66 Ví d RSA ...................................................................................................... 67
Đ ph c t p tính toán trong RSA .......................................................................... 68
4.3.1 4.3.2 4.4
M t số khái niệm........................................................................................... 63 Định lý Fermat ............................................................................................... 64 Phép logarit r i r c ......................................................................................... 64
Phép tính mã hóa/gi i mã ............................................................................... 68 Phép tính sinh khóa ........................................................................................ 70
Đ an toàn c a RSA .............................................................................................. 70
4.5
B o mật, ch ng thực và không thoái thác với mã hóa khóa công khai................. 71
4.6
Trao đổi khóa ........................................................................................................ 72
4.6.1 4.6.2 4.7
Trao đổi khóa công khai ................................................................................ 73 Dùng mư hóa khóa công khai để trao đổi khóa bí mật .................................. 74
Ph ơng pháp trao đổi khóa Diffie – Hellman ..................................................... 75
4.8
Câu hỏi ôn tập ....................................................................................................... 76
4.9
Bài tập ................................................................................................................... 77
4.10 Bài tập thực hành .................................................................................................. 77 CH
NG 5. MÃ CH NG TH C THÔNG ĐI P, HÀM BĂM ............................... 79
5.1
Mã ch ng thực thông điệp .................................................................................... 80
5.2
Hàm băm – Hash function..................................................................................... 82
5.2.1 5.2.2 5.2.3
Bài toán ngày sinh nhật .................................................................................. 82 Hàm băm MD5 và SHA-1 ............................................................................. 84 HMAC ........................................................................................................... 92
5.3
Hàm băm và chữ ký điện tử .................................................................................. 95
5.4
M t số ng d ng khác c a hàm băm .................................................................... 92
5.4.1 5.4.2 5.4.3
L u trữ mật khẩu ........................................................................................... 92 Đấu giá trực tuyến .......................................................................................... 93 Download file ................................................................................................ 94
5.5
Câu hỏi ôn tập ....................................................................................................... 96
5.6
Bài tập ................................................................................................................... 97
5.7
Bài tập thực hành .................................................................................................. 97
CH
NG 6. GIAO TH C .......................................................................................... 100
6.1
Phát l i thông điệp (Replay Attack) .................................................................... 100
6.2
Giao th c b o mật ............................................................................................... 101
6.2.1 6.2.2
Định danh và trao đổi khóa phiên dùng mư hóa đối x ng với KDC ........... 101 Định danh và trao đổi khóa phiên dùng mã hóa khóa công khai ................. 102
6.3
Câu hỏi ôn tập ..................................................................................................... 103
6.4
Bài tập ................................................................................................................. 103
CH
NG 7. M T S
NG D NG TH C TI N ................................................... 105
7.1
Giới thiệu............................................................................................................. 105
7.2
Ch ng thực X.509 ............................................................................................... 105
7.2.1 7.2.2 7.2.3
Cấu trúc ch ng thực ..................................................................................... 105 Phân cấp ch ng thực .................................................................................... 108 Các định d ng file c a ch ng chỉ X.509 ...................................................... 109 5
7.3
Giao th c b o mật web Secure Socket Layer version 3 - SSLv3 ........................ 110
7.3.1 7.3.2 7.3.3 7.4
Giao th c bắt tay - SSL Handshaking Protocol ........................................... 113 Giao th c truyền số liệu - SSL Record Protocol .......................................... 116 SSL Session và SSL Connection ................................................................. 117
Giao th c b o mật m ng c c b Keberos............................................................ 117
7.4.1
Keberos version 4......................................................................................... 117
7.5
Câu hỏi ôn tập...................................................................................................... 119
7.6
Bài tập thực hành ................................................................................................. 120
CH
NG 8. PHÁ MÃ VI SAI VÀ PHÁ MÃ TUY N TÍNH ................................... 121
8.1
Phá mã vi sai (Differential Cryptanalysis) .......................................................... 121
8.2
Phá mã tuyến tính (Linear Cryptanalysis) ........................................................... 126
8.3
Kết luận về nguyên tắc thiết kế mã khối. ............................................................ 128
CH
NG 9. ADVANCED ENCRYPTION STANDARD ậ AES ............................ 129
9.1
Nhóm, vành, tr
9.1.1 9.1.2 9.1.3
ng ............................................................................................ 129
Nhóm (Group) .............................................................................................. 129 Vành (Ring).................................................................................................. 130 Tr ng (Field) .............................................................................................. 130
9.2
Số học modulo và tr
ng hữu h n GF(p)............................................................ 131
9.3
Số học đa th c và tr
ng hữu h n GF(2n)........................................................... 132
9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.3.6 9.3.7 9.4
Mã hóa AES ........................................................................................................ 139
9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 CH
Phép toán đa th c thông th ng .................................................................. 132 Đa th c định nghĩa trên tập Zp ..................................................................... 133 Phép modulo đa th c.................................................................................... 134 Tr ng hữu h n GF(2n)................................................................................ 134 ng d ng GF(2n) trong mã hóa ................................................................... 136 Tính toán trong GF(2n) ................................................................................. 137 Tính toán trong GF(2n) với phần tử sinh ...................................................... 138 Substitute bytes ............................................................................................ 141 Shift rows ..................................................................................................... 145 Mix columns ................................................................................................ 145 Add row key ................................................................................................. 147 Expand key................................................................................................... 147 Kết luận ........................................................................................................ 148
NG 10. MÃ HịA Đ
NG CONG ELLIPTIC ................................................ 149
10.1 Đ
ng cong Elliptic trên số thực ........................................................................ 149
10.2 Đ
ng cong Elliptic trên tr
6
ng Zp. ................................................................... 152
10.3 Đ
ng cong Elliptic trên tr
10.4 Đ
ng cong Elliptic trong mã hóa - ECC ........................................................... 156
ng GF(2m). ........................................................... 155
10.4.1 Trao đổi khóa EC Diffie-Hellman ............................................................... 156 10.4.2 Mã hóa và gi i mã EC.................................................................................. 157 10.4.3 Đ an toàn c a ECC so với RSA ................................................................. 158 10.5 Chuẩn chữ ký điện tử (Digital Signature Standard – DSS)................................. 158 CH
NG 11. M T S
V N Đ AN TOÀN B O M T .......................................... 161
11.1 Giấu tin trong nh số ........................................................................................... 161 11.2 L i phần mềm ..................................................................................................... 162 11.2.1 Tràn b đệm (Buffer Overflow)................................................................... 162 11.2.2 Chèn câu lệnh SQL (SQL Injection)............................................................ 166 11.2.3 Chèn câu lệnh script (Cross-site Scripting XSS) ......................................... 168 11.3 Bài tập thực hành ................................................................................................ 170 PH L C 1
172
Chi Tiết các S-box c a mã hóa DES ............................................................................. 172 PH L C 2
174
Thuật toán Euclid .......................................................................................................... 174 Ph ơng pháp kiểm tra số nguyên tố lớn Miller-Rabin .................................................. 176 Định lý số d Trung...