Tải bản đầy đủ (.doc) (338 trang)

Bài giảng bảo mật máy tính

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.02 MB, 338 trang )

MỤC LỤC
Chương I: MỘT SỐ KHÁI NIỆM MỞ ĐẦU 15
1.1. Giới thiệu chung về an toàn và bảo mật thông tin 15
1.1.1. Khái niệm an toàn và an toàn đữ liệu 15
1.1.2. Một số nguy cơ tiềm ẩn về khả năng mất an toàn thông tin 17
1.1.3. Mục tiêu của an toàn dữ liệu 19
1.1.4. Các yêu cầu của An toàn dữ liệu 20
1.1.5. Quy trình đảm bảo an toàn dữ liệu 25
1.1.6. Các loại tấn công phá hoại an toàn: 30
1.1.6.1. Nghe trộm đường truyền 32
33
1
1.1.6.2. Giả mạo người gửi 36
1.1.6.3. Thay đổi thông điệp 39
1.1.6.4. Tấn công lặp lại 41
1.1.6.5. Tấn công từ chối dịch vụ 43
1.2. Lý thuyết số 48
1.2.1. Định nghĩa Modulo 48
1.2.2. Các phép toán số học trên Modulo 51
1.2.3. Ước số chung lớn nhất (Greatest Common Divisor) 54
1.2.4. Tìm số nghịch đảo a-1 58
1.2.6. Phép toán đa thức với Modulo đa thức 67
1.2.7. Các số nguyên tố 75
2
1.2.8. Phân tích ra thừa số nguyên tố 76
1.2.9. Các số nguyên tố cùng nhau và GCD 77
1.2.10. Định lý Ferma (Định lý Ferma nhỏ) 77
1.2.11. Kiểm tra tính nguyên tố 79
Chương II: MẬT MÃ CỔ ĐIỂN VÀ MÃ HÓA ĐỐI XỨNG 83
2.1. Các hệ mật mã cổ điển 83
2.1.1. Khái niệm Hệ mật mã 83


2.1.2. Mã dịch chuyển (shift cipher - Caesar) 85
2.1.3. Mã thay thế (substitution cipher) 87
2.1.4. Hệ mật mã Affine 90
2.1.5. Hệ mật mã Vigenere 92
3
2.1.6. Hệ mật mã Hill 95
2.1.7. Mã hoán vị (permutation cipher) 98
2.1.8. Mã dòng (stream cipher) 98
2.2. Một số phương pháp thám mã 103
2.2.1. Khái niệm 103
2.2.2. Thám mã tích cực 105
2.2.3. Thám mã thụ động 105
2.2.4. Phương pháp thống kê 106
2.2.5. Thám mã Affine 108
2.2.6. Thám mã Vigenere 112
2.3. Mã nén dữ liệu 116
4
2.3.1. Các khái niệm cơ bản 116
2.3.2. Các phương pháp nén dữ liệu 116
2.3.2.1. Nén bảo toàn 116
2.3.2.2. Nén không bảo toàn 117
2.3.3. Mô hình thống kê 119
2.3.3.1. Mô hình thống kê tĩnh 119
2.3.3.2. Mô hình thống kê động 120
2.3.4. Một số mã nén cơ bản 122
2.3.4.1. Mã nén Huffman 122
a. Thuật toán tạo mã Huffman 123
2.3.4.2. Mã RLE (Run- Length- Encoding) 136
5
Thuật toán giải nén 138

b, Thuật toán giải nén RLE như sau: 138
b, Ví dụ: 139
2.3.5. Mô hình từ điển 139
2.3.5.1. Tổng quát 139
2.3.5.2. Từ điển tĩnh 141
2.3.5.3. Từ điển động 142
2.3.5.4. LZ77 <Sliding Window> 142
=>(4,2,“d”)
a) Thuật toán nén 146
b) Ví dụ 147
6
c) Thuật toán giải nén 148
d) Ví dụ: 149
2.3.5.5. LZ78 150
a, Thuật toán 151
b, Ví dụ: 153
c) Thuật toán giải nén 154
2.4. Mã hóa đối xứng 157
2.4.1. Các khái niệm 157
2.4.2. Mã Fiestel 161
2.4.3. Chuẩn mã dữ liệu (DES) 166
2.4.3.1. Lịch sử DES 166
7
2.4.3.2. Sơ đồ mã DES 167
2.4.3.3. Cấu tạo một vòng của DES 169
2.4.3.4. Sinh khoá con của DES 173
2.4.3.5. Giải mã DES 176
2.4.3.6. Tính chất của DES 176
2.4.3.7. Thám mã tuyến tính 182
2.4.4. Chuẩn mã hóa AES (Xem TLTK) 184

Chương III: HỆ MẬT MÃ KHOÁ CÔNG KHAI VÀ QUẢN LÝ KHÓA 184
3.1. Hệ mật mã hóa RSA 184
3.1.1. Mã khoá riêng 184
3.1.2. Mã khoá công khai RSA 186
8
Tại sao lại phải dùng mã khoá công khai 189
Các đặc trưng của khoá công khai 190
Ứng dụng khoá công khai 192
3.1.3. Thuật toán RSA 192
3.1.4. Áp dụng RSA mã hóa 194
3.1.5. Lũy thừa 198
Mã hiệu quả: 200
3.2. Phân phối khóa và thỏa thuận khóa 201
3.2.1. Phân phối khoá 201
3.2.2. Phân phối khoá công khai 202
3.2.3. Trao đổi khoá Diffie Hellman 208
9
Yêu cầu 208
Khởi tạo Diffie Hellman 209
Trao đổi khoá Diffie Hellman 210
Chương IV: XÁC THỰC VÀ CHỮ KÝ ĐIỆN TỬ 212
4.1. Hàm băm và thuật toán băm 212
4.1.1. Hàm băm 212
Các yêu cầu 212
4.1.2. Hàm băm SHA (Secure Hash Algorithm) 214
4.1.3. Thuật toán Hash an toàn SHA (Secure Hash Algorithm) 216
4.1.4. Hàm băm MD5 226
4.3. Chữ ký số và ứng dụng 238
10
4.3.1. Khái niệm 238

4.3.2. Đặc điểm của chữ ký điện tử 239
4.3.3. Chức năng 239
4.3.4. Những yêu cầu đối với chữ ký điện tử 239
Chương V: AN TOÀN THÔNG TIN TRONG MÁY TÍNH VÀ MẠNG 241
5.1. Virus máy tính (Computer Virus) 241
5.1.1. Giới thiệu 241
5.1.2. Một số tính chất của virus máy tính 243
5.1.4. Phân loại virus máy tính 246
5.2. Một số loại Virus cơ bản và cách phòng chống 248
5.2.1. Virus lây vào file COM, EXE 248
11
5.2.2. Virus Macro 253
5.2.3. Virus lây nhiễm qua mạng 268
Kỹ thuật lây nhiễm 269
5.2.4. Mã ngoại lai 274
5.3. Chiến lược phòng chống Virus máy tính 278
5.3.1. Sử dụng các công cụ phòng chống virus 278
5.3.2. Sử dụng phần mềm diệt virus 291
5.4. Firewall 305
5.4.1. Khái niệm Firewall 305
5.4.2. Nguyên lý hoạt động và bảo mật trên Firewall 306
Chức năng chính 306
12
Nguyên lý 307
5.4.3. Các luật lọc packet trên Firewall 309
5.4.3. Cấu hình tường lửa 313
5.4.5. Cấu hình tường lửa và Ipsec được tích hợp 317
13
14
Chương I: MỘT SỐ KHÁI NIỆM MỞ ĐẦU

1.1. Giới thiệu chung về an toàn và bảo mật thông tin
1.1.1. Khái niệm an toàn và an toàn đữ liệu
Theo từ điển tiếng Việt, an toàn có nghĩa là được bảo vệ, không bị xâm hại.
An toàn thông tin có thể hiểu là quá trình đảm bảo cho hệ thống tránh khỏi những
nguy cơ hỏng hóc hoặc mất mát dữ liệu. Các nguy cơ này có thể là ngẫu nhiên (do tai nạn)
hoặc có chủ định (bị phá hoại từ bên ngoài). Việc bảo vệ dữ liệu có thể được thực hiện bằng
15
các thiết bị phần cứng (các hệ thống backup dữ liệu, ) hay các chương trình phần mềm
(trình diệt virus, các chương trình mã hóa, ).
Trong môi trường mạng toàn cầu như hiện nay, việc đảm bảo an toàn thông tin gặp
khó khăn hơn rất nhiều. Trước đây, dữ liệu chỉ được lưu trữ trong một máy tính cá nhân độc
lập, việc bảo mật dữ liệu được thực hiện dễ dàng bằng cách sử dụng các biện pháp phần cứng
(niêm phong các ổ mềm, ổ CD) hay các trình bảo vệ dữ liệu cục bộ đơn giản. Hiện nay, dữ
liệu không đơn thuần nằm trong một máy tính riêng biệt nữa mà được chia sẻ trên mạng cho
nhiều người sử dụng. Điều này giúp việc trao đổi thông tin thuận lợi hơn bao nhiêu thì cũng
giúp cho việc tấn công dữ liệu dễ dàng hơn bấy nhiêu. Hacker không cần phải động vào máy
tính của nạn nhân, thậm chí cũng không cần biết chiếc máy tính đó như thế nào mà vẫn có
thể xâm nhập vào nó. Dữ liệu có nguy cơ bị tấn công bất cứ lúc nào cho dù có áp dụng các
biện pháp bảo mật tiên tiến nhất. Vì vậy, người đảm bảo an toàn thông tin phải luôn luôn cập
nhật các kiến thức bảo mật mới có thể thích nghi được với tình trạng tấn công dữ liệu ngày
càng gia tăng như hiện nay.
16
1.1.2. Một số nguy cơ tiềm ẩn về khả năng mất an toàn thông tin
Một số nguy cơ về khả năng mất an toàn thông tin mà hệ thống Công nghệ thông tin
(CNTT) cần cảnh báo là:
(1) Nguy cơ bị lộ thông tin của cá nhân, tổ chức và các giao dịch liên quan cho bên thứ
ba (không phải là bên mà thông tin cần được gửi đến).
(2) Nguy cơ bị kẻ xấu làm sai lệch thông tin bằng một trong ba cách:
- “Bắt” thông tin ở giữa đường di chuyển từ “nguồn” đến “đích”, sửa đổi hay chèn,
xoá thông tin và gửi đi tiếp.

- Tạo một nguồn thông tin giả mạo để đưa các thông tin đánh lừa “đích”.
- Tạo “đích” giả để lừa thông tin đến từ các nguồn “thật”. Chẳng hạn như kỹ thuật
đánh lừa “Phishing” hay được nhắc tới gần đây. Tin tặc có thể tạo ra một “đích” giả giống
hệt trang Web giao dịch của ngân hàng để lừa khách hàng vào giao dịch, từ đó bắt được các
mật khẩu của khách hàng. Kỹ thuật này tuy khá mới nhưng phát triển rất nhanh, đồng thời
ngày càng được cải tiến tinh vi hơn về kỹ thuật. Ngoài ra còn có kỹ thuật “Pharming”. Khác
17
với Phishing lừa người giao dịch vào một trang Web có địa chỉ khác, nhưng được ngụy trang
bằng dòng chữ giống hệt địa chỉ của ngân hàng (mặc dù vậy, nếu tinh ý sẽ thấy dòng địa chỉ
“lạ” hiện lên khi bấm vào đó) thì Pharming lừa đưa người giao dịch đến một trang Web giả,
mặc dù địa chỉ vẫn y như thật. Kẻ xấu thực hiện điều này sử dụng các kỹ thuật Hack tinh vi
như “DNS Cache Poisoning”.
(3) Nguy cơ bị tắc nghẽn, ngừng trệ thông tin
18
1.1.3. Mục tiêu của an toàn dữ liệu
Đảm bảo an toàn thông tin cho một hệ thống thông tin là một công việc phức tạp,
nhằm đạt được những mục tiêu cụ thể sau:
(1) Phát hiện các lỗ hổng của hệ thống cũng như dự đoán trước những nguy cơ tấn
công vào hệ thống,
(2) Ngăn chặn những hành động gây mất an toàn thông tin từ bên trong cũng như bên
ngoài,
(3) Phục hồi tổn thất trong trường hợp hệ thống bị tấn công nhằm đưa hệ thống vào
hoạt động trong thời gian sớm nhất.
19
1.1.4. Các yêu cầu của An toàn dữ liệu
An toàn thông tin là một vấn đề phức tạp, liên quan đến nhiều yếu tố khác nhau. Các yếu tố
cơ bản cần phải giải quyết, bao gồm: tính bảo mật, tính toàn vẹn, tính sẵn sàng và tính tin
cậy.
Tính bảo mật (Confidentiality)
Đây là yêu cầu đảm bảo cho dữ liệu của người sử dụng phải được bảo vệ, không bị

mất mát vào những người không được phép. Nói khác đi là phải đảm bảo được ai là người
được phép sử dụng (và sử dụng được) các thông tin (theo sự phân loại mật của thông tin).
Thông tin đạt được tính bảo mật khi nó không bị truy nhập, sao chép hay sử dụng trái
phép bởi một người không sở hữu. Trên thực tế, mọi rất nhiều thông tin cá nhân của người sử
dụng đều cần phải đạt được độ bảo mật cao chẳng hạn như mã số thẻ tín dụng, số thẻ bảo
hiểm xã hội, Vì vậy đây có thể nói là yêu cầu quan trọng nhất đối với tính an toàn của một
hệ thống thông tin.
Tính toàn vẹn (Integrity)
20
Trong an toàn thông tin, tính toàn vẹn có nghĩa là dữ liệu không bị tạo ra, sửa đổi hay
xóa bởi những người không sở hữu. Tính toàn vẹn đề cập đến khả năng đảm bảo cho các
thông tin không bị thay đổi nội dung bằng bất cứ cách nào bởi người không được phép trong
quá trình truyền thông.
Chính sách toàn vẹn dữ liệu phải đảm bảo cho ai là người được phép thay đổi dữ liệu
và ai là người không được phép thay đổi dữ liệu. Dữ liệu trên thực tế có thể vi phạm tính
toàn vẹn khi một hệ thống không đạt được độ an toàn cần thiết. Chẳng hạn một hệ quản trị
CSDL xây dựng kém có thể gây mất mát dữ liệu trong trường hợp mất điện đột ngột. Các
hành động phá hoại cũng có thể gây ra mất tính toàn vẹn của dữ liệu.
Việc đảm bảo tính toàn vẹn của dữ liệu bao gồm:
- Đảm bảo sự toàn vẹn dữ liệu đổi với dữ liệu gốc
- Bảo vệ dữ liệu khỏi sự sửa chữa và phá hoại của những người dùng không có thẩm
quyền
- Bảo vệ dữ liệu tránh khỏi những thay đổi không đúng về mặt ngữ nghĩa hay logic
Tính sẵn sàng (Availability)
21
Tuy dữ liệu phải được đảm bảo bí mật và toàn vẹn nhưng đối với người sử dụng, dữ
liệu phải luôn trong trạng thái sẵn sàng. Các biện pháp bảo mật làm cho người sử dụng gặp
khó khăn hay không thể thao tác được với dữ liệu đều không thể được chấp nhận. Nói khác
đi, các biện pháp đảm bảo an toàn thông tin phải đảm bảo được sự bảo mật và toàn vẹn của
dữ liệu đồng thời cũng phải hạn chế tối đa những khó khăn gây ra cho người sử dụng thực

sự.
Tính tin cậy (Confidentiality)
Yêu cầu này liên quan đến khả năng đảm bảo rằng, ngoài những người có quyền,
không ai có thể xem các thông điệp và truy cập những dữ liệu có giá trị. Mặt khác, nó phải
đảm bảo rằng thông tin mà người dùng nhận được là đúng với sự mong muốn của họ.
22
Hình 1.3. Các yêu cầu trong đảm bảo an toàn thông tin
23
Bảo mật
Tính sẵn sàng
Sự tin cẩn
Tính toàn vẹn
Việc đánh giá độ an toàn của một hệ thống thông tin phải xem xét đến tất cả những
yếu tố trên. Nếu thiếu một trong số đó thì độ bảo mật của hệ thống là không hoàn thiện.
24
1.1.5. Quy trình đảm bảo an toàn dữ liệu
Quy trình đảm bảo an toàn thông tin cho một hệ thống bao gồm bốn bước như hình
sau:
25

×