1. Mô hình áp dụng cho trung tâm mạng nhỏ
Sử dụng một Firewall để ngăn cách và kiểm soát sự trao đổi dữ liệu giữa vùng mạng trong (Internal) và vùng mạng ngoài (External).
Thiết bị phát hiện và phòng chống thâm nhập (IDS/IPS) được đặt ở phía trước mạng LAN (vùng Internal) để theo dõi và cảnh báo khi nhận thấy có dấu hiệu tấn công.
Ưu điểm của mô hình này là lắp đặt đơn giản, dễ cấu hình.
Nhược điểm: kém linh hoạt, do các Server đặt trong vùng mạng trong (Internal) nên không thể cấu hình được các luật ngăn chặn tất cả các truy nhập từ bên ngoài (External) vào vùng mạng trong (ví dụ để mọi người truy cập được website trên web server thì phải mở cổng 80; muốn gửi nhận mail thì phải mở cổng 110 và 25). Điều này gây nguy hiểm cho các máy tính khác của người dùng trong vùng mạng trong vì Hacker có thể lợi dụng các cổng được mở để tấn công.
2. Mô hình áp dụng cho trung tâm mạng trung bình
Sử dụng 2 Firewall để bảo vệ hệ thống mạng
- Firewall thứ nhất đặt ngay sau Router để ngăn tất cả các truy nhập từ vùng mạng ngoài vào hệ thống mạng trừ một số truy nhập vào các Server cung cấp dịch vụ như: web, mail, FTP, …
Sử dụng một thiết bị phát hiện và phòng chống xâm nhập để phát hiện và xử lý các thâm nhập trái phép từ bên ngoài
Ưu điểm: do được bảo vệ 2 lớp nên vùng mạng trong (chứa các dữ liệu quan trọng) là khá an toàn.
Nhược điểm: Các máy chủ cơ sở dữ liệu và ứng dụng (DB & APP Server) được đặt trong vùng Internal nên sẽ không ngăn chặn được các cuộc tấn công từ bên trong nội bộ mạng trong vào các hệ thống đòi hỏi độ bảo mật cao nhất này.
3. Mô hình áp dụng cho trung tâm mạng lớn
Sử dụng 2 Firewall để bảo vệ hệ thống mạng
- Firewall thứ nhất đặt ngay sau Router để ngăn tất cả các truy nhập từ vùng mạng ngoài vào hệ thống mạng trừ một số truy nhập vào các Server cung cấp dịch vụ như: web, mail, FTP, …
- Firewall thứ 2 cần có 3 giao tiếp mạng để kết nối với 3 vùng mạng khác nhau. Firewall này có chức năng cho phép các vùng mạng PC Zone và DB&APP Zone đi ra vùng DMZ nhưng không cho phép chiều ngược lại. Đồng thời ngăn chặn được các tấn công từ vùng PC Zone vào các máy chủ DB&APP bằng cách thiết lập các luật phù hợp.
Mô hình này cũng sử dụng 2 thiết bị phát hiện và cảnh báo xâm nhập (IDS/IPS):
- Thiết bị thứ nhất đặt ngày trước vùng DMZ để theo dõi và cảnh báo khi có dấu hiệu truy nhập bất thường từ vùng mạng ngoài (External) vào hệ thống.
- IDS thứ 2 đặt trước vùng DB&APP Server để phát hiện và phòng chống các xâm nhập trái phép từ bên trong hệ thống mạng vào các máy chủ chứa dữ liệu quan trọng.
Ưu điểm: mô hình này đã khắc phục được các nhược điểm của mô hình trước. Với sự phân chia minh bạch các vùng mạng nên có thể xây dựng các luật phù hợp để đáp ứng tốt yêu cầu bảo mật của các vùng mạng riêng biệt.
Nhược điểm: mô hình này đòi hỏi phải có sự đầu tư thiết bị và người quản trị cần có một trình độ cao mới có thể cấu hình và quản trị tốt.
CÂU HỎI ÔN TẬP CHƯƠNG 1
Câu 1: Nêu và phân tích các hình thức tấn công mạng phổ biến?
Câu 2: Phân biệt rõ đặc trưng của tấn công chủ động và tấn công thụ động? Câu 3: Trình bày các tiêu chuẩn an toàn cho một hệ thống mạng?
CHƯƠNG 2: MẬT MÃ VÀ AN TOÀN THÔNG TIN TRÊN MẠNG I. Tổng quan về mật mã
1. An toàn thông tin và mật mã
Mật mã học là một ngành có lịch sử từ hàng nghìn năm nay. Trong phần lớn thời gian phát triển của mình (ngoại trừ vài thập kỷ trở lại đây), lịch sử mật mã học chính là lịch sử của những phương pháp mật mã cổ điển - các phương pháp mật mã với bút và giấy, đôi khi có hỗ trợ từ những dụng cụ cơ khí đơn giản. Vào đầu thế kỷ 20, sự xuất hiện của các cơ cấu cơ khí và điện cơ, chẳng hạn như máy Enigma, đã cung cấp những cơ chế phức tạp và hiệu quả hơn cho việc mã hóa. Sự ra đời và phát triển mạnh mẽ của ngành điện tử và máy tính trong những thập kỷ gần đây đã tạo điều kiện để mật mã học phát triển nhảy vọt lên một tầm cao mới.
Máy Enigma được Phát xít Đức sử dụng trong thế chiến II
Sự phát triển của mật mã học luôn luôn đi kèm với sự phát triển của các kỹ thuật phá mã (hay thám mã). Các phát hiện và ứng dụng của các kỹ thuật phá mã trong một số trường hợp đã có ảnh hưởng đáng kể đến các sự kiện lịch sử. Một vài sự kiện đáng ghi nhớ bao gồm việc phát hiện ra bức điện Zimmermann khiến Hoa Kỳ tham gia Thế chiến I và việc phá mã thành công hệ thống mật mã của Đức Quốc xã góp phần làm đẩy nhanh thời điểm kết thúc thế chiến II. Cho tới đầu thập kỷ 1970, các kỹ thuật liên quan tới mật mã học hầu như chỉ nằm trong tay các chính phủ. Hai sự kiện đã khiến cho mật mã học trở nên thích hợp cho mọi người, đó là: sự xuất hiện của tiêu chuẩn mật mã hóa DES và sự ra đời của các kỹ thuật mật mã hóa khóa công khai.
2. Các thuật ngữ và khái niệm mật mã cơ bản
- Mật mã học: là nghệ thuật và khoa học để giữ thông tin được an toàn.
- Thám mã: nghiên cứu các nguyên lý và phương pháp giải mã mà không biết khoá. Thông thường khi đưa các mã mạnh ra làm chuẩn dùng chung giữa các người sử dụng, các mã đó được các kẻ thám mã cũng như những người phát triển mã tìm hiểu nghiên cứu các phương pháp giải một phần bản mã với các thông tin không đầy đủ.
- Hệ mật mã: là toàn bộ các thuật toán và các thủ tục kết hợp để che dấu thông tin cũng như làm rõ nó.
- Bản rõ (plaintext or cleartext): Chứa các xâu ký tự gốc, thông tin trong bản rõ là thông tin cần mã hoá để giữ bí mật.
- Bản mã (ciphertext): Chứa các ký tự sau khi đã được mã hoá, mà nội dung được giữ bí mật.
- Mã hoá (Encryption): là quá trình chuyển bản rõ thành bản mã, thông thường bao gồm việc áp dụng thuật toán mã hóa và một số quá trình xử lý thông tin kèm theo.
- Giải mã (Decryption): Quá trình biến đổi trả lại bản mã bản thành bản rõ, đây là quá trình ngược lại của mã hóa.
- Thuật toán mã hoá: Là các thủ tục tính toán, sử dụng để che dấu và làm rõ thông tin. Thuật toán càng phức tạp thì bản mã càng an toàn.
- Khoá (Key): Là một giá trị làm cho thuật toán mã hoá chạy theo cách riêng biệt. Khoá càng lớn thì bản mã có được càng an toàn, kích thước của khoá được đo bằng bit; phạm vi các giá trị có thể có của khoá được gọi là “không gian khoá”.
II. Mật mã khoá đối xứng (khóa bí mật)
Mật mã khoá bí mật hay còn gọi là mật mã đối xứng ra đời từ rất sớm. Từ khi máy tính chưa ra đời, mật mã khoá bí mật đã đóng vai trò quan trọng trong việc mã hoá thông tin. Phần này trình bày các nội dung liên quan đến việc sử dụng mật mã khoá bí mật trong việc bảo mật thông tin trên mạng máy tính.
Mã hoá đối xứng hay còn gọi là mã hoá cổ điển là thuật toán mã hoá mà tại đó khoá mã hoá có thể tính toán ra được từ khoá giải mã. Trong rất nhiều trường hợp, khoá mã hoá và khoá giải mã là giống nhau. Thuật toán này còn có nhiều tên gọi khác nhau như: mã khoá bí mật, thuật toán một khoá, …Thuật toán này yêu cầu người gửi và người nhận phải thoả thuận một khoá trước khi thông báo được gửi đi, và khoá này phải được cất giữ bí mật. Độ an toàn của thuật toán này phụ thuộc vào khoá. Nếu để lộ khoá có nghĩa bất kỳ người nào cũng có thể mã hoá và giải mã thông báo trong hệ thống mã hoá.
1. Mô hình mật mã khoá đối xứng
Tại nơi gửi (nguồn thông báo) có một bản rõ R được sinh ra. Để mã R cần có một khoá K. Nếu K được sinh tại nguồn thông báo thì nó phải được chuyển tới đích thông báo theo một kênh an toàn. Hoặc một bên thứ ba có thể sinh khoá và chuyển một cách an toàn tới cả nguồn và đích.
Với thông báo R và khoá K, thuật toán mã E sẽ tạo ra bản mã M = EK(R).
Tại nơi nhận (đích thông báo) với bản mã M và khoá mã K, thuật toán dịch D sẽ tạo ra bản rõ R = DK(M).
Một kẻ tấn công thu được MY nhưng không có khoá K, anh ta phải cố gắng khôi phục R hoặc khoá K. Thừa nhận rằng kẻ tấn công biết thuật toán mã E và thuật toán giải mã D. Nếu kẻ tấn công chỉ quan tâm đến nội dung thông báo, họ cố khôi phục R bằng việc sinh ra một ước lượng R' của R. Tuy nhiên thường kẻ tấn công mong muốn tìm ra khoá K để giải mã các thông báo tiếp theo, bằng cách sinh ra một khoá ước lượng K' của K.
2. Một số hệ mật khoá đối xứng
a. Chuẩn mã hoá dữ liệu DES (Data Encryption Standards)
DES (Data Encryption Standards) là mã khối được đưa ra năm 1976 bởi NBS –
văn phòng chuẩn Quốc gia Hoa kỳ (bây giờ là NIST - Viện chuẩn và công nghệ Quốc gia). DES là mã khối với mỗi khối dữ liệu 64 bít và dùng khoá mã dài 64 bít (56 bit khoá và 8 bit chẵn lẻ kiểm soát lỗi). Nó được sử dụng rộng rãi và đã được tranh luận kỹ về mặt an toàn.
Sơ đồ mã DES Một số đặc điểm của chuẩn mã hoá DES:
- Sử dụng khoá 56 bits
- Xử lý khối dữ liệu vào 64 bits, biến đổi thành khối ra 64 bits
- Mã hoá và giải mã được sử dụng cùng một khoá
- Được thiết kế để chạy trên phần cứng. DES thường được sử dụng để mã hoá các luồng dữ liệu mạng và mã hoá dữ liệu được lưu trữ trên đĩa.
Đánh giá độ an toàn của DES
Tính bảo mật của một hệ mã hoá đối xứng là một hàm hai tham số: độ phức tạp của thuật toán và độ dài của khoá.
Giả sử thuật toán sử dụng mã hoá là an toàn, có nghĩa là chỉ có một phương pháp duy nhất để phá vỡ hệ thống mật mã là cố gắng thử mọi khoá có thể. Phương pháp này được gọi là Brute-force attack (tấn công vét cạn). Nếu khoá có độ dài 8 bít, suy ra sẽ có 28=256 khoá. Vì vậy, sẽ mất nhiều nhất 256 lần thử để tìm ra khoá đúng. Nếu khoá có độ dài 56 bít, thì sẽ có 256 khoá có thể sử dụng. Giả sử một SupperComputer có thể thử một triệu khoá trong một giây, thì nó sẽ cần 2000 năm để tìm ra khoá đúng. Nếu khoá có độ dài 64 bít, thì với chiếc máy trên sẽ cần 600,000 năm để tìm ra khoá đúng trong số 264 khoá. Nếu khoá có độ dài 128 bít, thì sẽ mất 1025 năm để tìm ra khoá đúng.
tốn một khoảng thời gian là 10597 năm để tìm ra khoá. Lúc đó vũ trụ có lẽ không còn tồn tại nữa.
Khi IBM đưa ra thiết kế đầu tiên của hệ mã hoá LUCIFER, nó có khoá dài 128 bits. Ngày nay, DES đã trở thành một chuẩn về mã hoá dữ liệu sử dụng khoá 56 bít, tức kích thước không gian khoá là 256. Rất nhiều nhà mã hoá hiện đang tranh luận về một khoá dài hơn của DES. Nhiều thiết bị chuyên dụng đã được đề xuất nhằm phục vụ cho việc tấn công DES với bản rõ đã biết.
Vào năm 1979, Diffie và Hellman tuyên bố rằng với một máy tính chuyên dụng bản mã hoá DES có thể được phá bằng cách thử mọi trường hợp của khoá trong vòng một ngày – giá của máy tính đó là 20 triệu đôla. Vào năm 1981, Diffie đã tăng lên là cần hai ngày để tìm kiếm và giá của chiếc máy tính đó là 50 triệu đôla.
b. Giải thuật mã hoá 3DES (Triple DES)
Như đã trình bày ở trên, hệ mã DES sử dụng khoá có độ dài 56 bits, tương đương với không gian khoá gồm 256 khoá nên với các công nghệ hiện nay, hệ mã này có thể bị thám mã chỉ trong khoảng thời gian vài giờ đồng hồ. Vì vậy việc tìm kiếm các hệ mã thay thế cho DES là một điều cần thiết. Một trong những cách thức được xem xét đầu tiên là tăng độ an toàn của DES bằng cách sử dụng hai khoá để mã hoá DES hai lần. Cách này gọi là Double DES hay 2DES, với khoá của hệ mã theo mô hình này là 112 bits. Trên nguyên tắc thì 2DES có vẻ an toàn hơn so với DES, tuy nhiên các chứng minh về mặt lý thuyết (không nằm trong phạm vi của giáo trình này) đã cho thấy rằng hệ mã này không hề an toàn hơn DES (thuật toán thám mã theo kiểu vét cạn yêu cầu số phép tính gấp đôi để thám mã 2DES so với DES).
Cách thức thứ 2 và đang được sử dụng rộng rãi hiện nay là mã hoá DES 3 lần, cách này gọi là Triple DES hay 3DES, hoặc một cách chuẩn mực hơn là TDEA (Triple Data Encryption Algorithm). Mô hình đơn giản nhất của Triple DES là mã hoá 3 lần sử dụng 3 khoá có độ dài 168 bits: k1, k2, k3 như hình vẽ
c. Chuẩn mã hoá dữ liệu cao cấp AES (Advanced Encryption Standard)
Chuẩn mã hoá dữ liệu cao cấp AES là một hệ mã khoá bí mật có tên Rijndael (do hai nhà mật mã học người Bỉ Joan Daemen và Vincent Rijmen đưa ra và trở thành chuẩn từ năm 2002) cho phép xử lý các khối dữ liệu đầu vào có kích thước 128 bits, sử dụng các khoá có độ dài 128, 192 hay 256 bits. Hệ mã Rijmen được thiết kế để có thể làm việc với các khoá và các khối dữ liệu có độ dài lớn. Tuy nhiên khi được chọn là một chuẩn của Uỷ ban tiêu chuẩn Hoa Kỳ (năm 2001), nó được quy định chỉ làm việc với các khối dữ liệu 128 bits và các khoá có độ dài 128, 192 hoặc 256 bits (do đó còn được gọi là AES-128, AES-192 hay AES-256, tương ứng với độ dài khoá sử dụng).
Thuật toán mã hoá và giải mã AES
III. Mật mã khoá công khai (bất đối xứng)
Vào những năm 1970, Diffie và Hellman đã phát minh ra một hệ mã hoá mới được gọi là hệ mã hoá công khai hay hệ mã hoá phi đối xứng. Thuật toán mã hoá công khai được thiết kế sao cho khoá sử dụng để mã hoá và khoá sử dụng để giải mã là khác nhau. Hơn nữa, khoá giải mã không thể được tính toán từ khoá mã hoá.
Thuật toán này được gọi là mã khoá công khai vì khoá dùng để mã hoá là công khai (Public key), một người bất kỳ có thể dùng khoá công khai để mã hoá thông báo, nhưng chỉ có người có đúng khoá giải mã (khoá bí mật – Private key) mới có khả năng giải mã.
Vào năm 1977, Rivest, Shamin và Adieman đã thực hiện hệ mật khoá công khai bằng việc tạo nên hệ mật RSA nổi tiếng.
1. Mô hình mật mã khoá công khai và những nguyên tắc của các hệ mã khoá công khai khai
Nguyên tắc hoạt động của hệ mã khoá công khai là mỗi bên tham gia truyền thông sẽ có 2 khoá, một khoá gọi là khoá bí mật và một khoá được gọi là khoá công khai. Khoá bí mật là khoá dùng để giải mã và được giữ bí mật (KU), khoá công khai là khoá dùng để sinh mã, được công khai hoá để bất cứ ai cũng có thể sử dụng khoá này