đề cương môn bảo mật máy tính vfa mạng
MỤC LỤC MỤC LỤC 1 BÀI 1: GIỚI THIỆU CHUNG 4 1.1. Giới thiệu mục tiêu, nội dung, phương pháp học . 4 1.2. Một số khái niệm về an toàn và bảo mật thông tin . 5 1.2.1. Khái niệm an toàn và an toàn đữ liệu . 5 1.2.2. Một số nguy cơ tiềm ẩn về khả năng mất an toàn thông tin 6 1.2.3. Mục tiêu của an toàn dữ liệu 6 1.2.4. Các yêu cầu của An toàn dữ liệu 7 1.2.5. Quy trình đảm bảo an toàn dữ liệu 8 1.2.6. Các loại tấn công phá hoại an toàn: . 10 1.2.6.1. Nghe trộm đường truyền . 11 1.2.6.2. Giả mạo người gửi . 12 1.2.6.3. Thay đổi thông điệp . 13 1.2.6.4. Tấn công lặp lại 14 1.2.6.5. Tấn công từ chối dịch vụ . 15 1.3. Các chủ đề làm tiểu luận . 16 BÀI 2: CƠ SỞ LÝ THUYẾT SỐ . 19 2.1. Định nghĩa Modulo . 19 2.2. Các phép toán số học trên Modulo 20 2.3. Ước số chung lớn nhất (Greatest Common Divisor) . 21 2.4. Tìm số nghịch đảo a-1 . 23 2.5. Số học đa thức . 25 2.6. Phép toán đa thức với Modulo đa thức 26 2.7. Các số nguyên tố . 29 2.8. Phân tích ra thừa số nguyên tố 29 2.9. Các số nguyên tố cùng nhau và GCD 29 2.10. Định lý Ferma (Định lý Ferma nhỏ) . 30 2.11. Hàm Ole . 30 2.12. Định lý Ole . 31 2.13. Kiểm tra tính nguyên tố . 31 BÀI 3: CÁC HỆ MẬT MÃ CỔ ĐIỂN . 33 3.1. Khái niệm Hệ mật mã . 33 3.2. Mã dịch chuyển (shift cipher - Caesar) . 34 3.3. Mã thay thế (substitution cipher) 35 3.4. Hệ mật mã Affine 36 3.5. Hệ mật mã Vigenere . 37 3.6. Hệ mật mã Hill 38 Trang 1 3.7. Mã hoán vị (permutation cipher) 39 3.8. Mã dòng (stream cipher) 39 3.9. Một số phương pháp thám mã . 41 3.9.1. Khái niệm . 41 3.9.2. Thám mã tích cực . 42 3.9.3. Thám mã thụ động . 42 3.9.4. Phương pháp thống kê 42 3.9.5. Thám mã Affine . 42 3.9.6. Thám mã Vigenere . 44 BÀI 4 – THẢO LUẬN VỀ CÁC HỆ MẬT MÃ CỔ ĐIỂN . 45 BÀI 5 - MÃ NÉN DỮ LIỆU 46 5.1. Khái niệm cơ bản 46 5.2. Các phương pháp nén dữ liệu 46 5.2.1. Nén bảo toàn 46 5.2.2. Nén không bảo toàn 46 5.3. Mô hình thống kê 47 5.3.1. Mô hình thống kê tĩnh 47 5.3.2. Mô hình thống kê động 47 5.4. Một số mã nén cơ bản . 48 5.4.1. Mã nén Huffman 48 a) Thuật toán tạo mã Huffman 48 5.4.2. Mã RLE (Run- Length- Encoding) 54 5.5. Mô hình từ điển . 55 5.5.1. Tổng quát . 55 5.5.2. Từ điển tĩnh 56 5.5.3. Từ điển động 56 5.5.4. LZ77 <Sliding Window> . 56 5.5.5. LZ78 . 59 BÀI 6: HỆ MÃ HÓA ĐỐI XỨNG . 62 6.1. Các khái niệm . 62 6.2. Mã Fiestel . 64 6.3. Chuẩn mã dữ liệu (DES) 66 6.3.1. Lịch sử DES . 67 6.3.2. Sơ đồ mã DES 67 6.3.3. Cấu tạo một vòng của DES 68 6.3.4. Sinh khoá con của DES 69 6.3.5. Tính chất của DES 70 6.3.6. Thám mã tuyến tính . 72 6.5. Chuẩn mã hóa AES (Xem TLTK) . 73 BÀI 7: THẢO LUẬN VỀ HỆ MÃ HÓA KHÓA ĐỐI XỨNG 73 BÀI 8: HỆ MẬT MÃ HÓA KHÓA CÔNG KHAI RSA . 73 8.1. Mã khoá riêng . 74 8.2. Mã khoá công khai RSA . 74 8.3. Thuật toán RSA 76 Trang 2 8.4. Áp dụng RSA mã hóa . 77 8.5. Lũy thừa . 78 BÀI 9: PHÂN PHỐI KHÓA VÀ TRAO ĐỔI KHÓA 80 9.1. Phân phối khoá . 80 9.2. Phân phối khoá công khai . 80 9.3. Trao đổi khoá Diffie Hellman 83 9.3.1. Yêu cầu . 83 9.3.2. Khởi tạo Diffie Hellman 83 9.3.3. Trao đổi khoá Diffie Hellman 83 BÀI 10: HÀM BĂM VÀ THUẬT TOÁN BĂM 84 10.1. Hàm băm . 84 10.1.1. Các yêu cầu 84 10.1.2. Các tính chất của hàm băm 85 10.2. Hàm băm SHA (Secure Hash Algorithm) . 85 10.3. Thuật toán Hash an toàn SHA (Secure Hash Algorithm) . 86 10.4. Hàm băm MD5 . 90 BÀI 11: THẢO LUẬN VỀ HỆ MÃ HÓA KHÓA CÔNG KHAI 93 BÀI 12: XÁC THỰC VÀ CHỮ KÝ SỐ 93 12.1. Mã xác thực mẩu tin (MAC – Message Authentication Code) 94 12.1.1. Các tính chất của MAC 94 12.1.2. Yêu cầu đối với MAC 94 12.1.3. Sử dụng MAC 94 12.2. Chữ ký số 95 12.2.1. Khái niệm . 95 12.2.2. Đặc điểm của chữ ký điện tử 96 12.2.3. Chức năng . 96 12.3. Hệ mật mã và sơ đồ chữ ký El Gamal . 96 12.4. Những yêu cầu đối với chữ ký điện tử . 96 BÀI 13. AN NINH ĐƯỜNG TRUYỀN 97 13.1. Giới thiệu . 97 13.2. IP/IPSec . 98 13.2.1. Phần đầu xác thực (Authentication Header - AH) . 99 13.2.2. Tải trọng an toàn đóng gói (ESP) . 99 13.2.3. Chế độ vận chuyển và chế độ ống ESP 99 13.3. SSL/TSL (Secure Socket Layer) 100 13.3.1. Kiến trúc SSL . 100 13.3.2. Hoạt động của SSL . 102 13.4. Các dịch vụ bảo mật tầng ứng dụng (Xem TLTK) . 103 BÀI 14: VIRUS MÁY TÍNH (Computer Virus) 103 14.1. Giới thiệu . 104 14.2. Một số tính chất của virus máy tính 105 Trang 3 14.2.1. Tính lây lan . 105 14.2.2. Tính tương thích . 105 14.2.3. Tính nhỏ gọn 105 14.2.4. Tính phá hoại . 106 14.3. Phân loại virus máy tính 106 14.3.1. Phân loại theo đối tượng lây nhiễm . 106 14.3.2. Phân loại theo phương thức hoạt động . 106 14.4. Một số loại Virus cơ bản và cách phòng chống . 107 14.4.1. Virus lây vào file COM, EXE 107 14.4.2. Virus Macro . 108 14.4.3. Virus lây nhiễm qua mạng 115 14.4.4. Mã ngoại lai 117 BÀI 15: FIREWALL 119 15.1. Khái niệm Firewall . 119 15.2. Nguyên lý hoạt động và bảo mật trên Firewall . 120 15.2.1. Chức năng chính 120 15.2.2. Nguyên lý . 120 15.3. Các luật lọc packet trên Firewall . 121 15.4. Cấu hình tường lửa . 123 BÀI 16: THẢO LUẬN VỀ VIRUS VÀ FIREWALL 133 TÀI LIỆU THAM KHẢO . 134 BÀI 1: GIỚI THIỆU CHUNG 1.1. Giới thiệu mục tiêu, nội dung, phương pháp học + Mục tiêu Học xong module này, người học có khả năng: - Giải thích được các thuật toán mã hóa đảm bảo an ninh mạng - Mô tả được các nguyên lý bảo mật và các kỹ thuật bảo mật mạng doanh nghiệp - Phân tích rủi ro cho một hệ thống thông tin; - Triển khai các kỹ thuật bảo mật bảo vệ hệ thống thông tin; - Tư vấn về các vấn đề bảo mật cho mạng doanh nghiệp. Module này sẽ giúp người học phát triển các năng lực: Phân tích (4); Tư vấn (4); Thực hiện (3) và Bảo trì (3). + Nội dung Module giới thiệu các vấn đề bảo mật máy tính và mạng máy tính. Các chủ đề (không hạn chế) bao gồm: Trang 4 Các kỹ thuật đảm bảo an toàn cho các hệ thống máy tính đa người dùng và các hệ thống máy tính phân tán; Hệ mật mã: khóa bí mật, khóa công khai, chữ ký điện tử; Sơ đồ nhận dạng và xác thực điện tử; Phát hiện xâm nhập: virus máy tính; Các mô hình bảo mật; Bảo mật hệ điều hành; Bảo mật phần mềm; Bảo mật thư điện tử và WWW; Thương mại điện tử: giao thức thanh toán, tiền điện tử; Tường lửa; Đánh giá rủi ro. Phương pháp học tập Để đăng ký học module này, trước đó người học phải tích lũy tín chỉ của các module Mạng máy tính, Kiến trúc máy tính, Toán chuyên ngành, Kỹ nghệ phần mềm và Hệ điều hành. Thời lượng của module tương đương 3 tín chỉ, có kết cấu dạng lý thuyết kết hợp làm tiểu luận do vậy người học phải đăng ký chủ đề nghiên cứu theo nhóm (từ 2 đến 3 người) ngay từ buổi học đầu tiên. Trong quá trình học tập, sinh viên tham gia học tập trên lớp và làm việc nhóm theo các chủ đề đã đăng ký. Sau khi kết thúc 11 buổi học lý thuyết, các nhóm sinh viên báo cáo kết quả nghiên cứu trước lớp trong 4 buổi còn lại. 1.2. Một số khái niệm về an toàn và bảo mật thông tin 1.2.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 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 Trang 5 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. 1.2.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 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 1.2.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. Trang 6 1.2.4. Các yêu cầu của An toàn dữ liệu Hình 1.1. Minh hoạ về an toàn thông tin 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) 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 Trang 7 - 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) 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ọ. Hình 1.2. Các yêu cầu trong đảm bảo an toàn thông tin 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. 1.2.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: Trang 8 Hình 1.3. Quy trình bảo đảm an toàn hệ thống Xác định Bước này phân tích trực tiếp toàn bộ hệ thống, tìm ra những kẽ hở mà các tin tặc có thể lợi dụng để tấn công. Ngoài ra khi hệ thống bị tấn công thì cần nhanh chóng xác định rõ là bị tấn công từ đâu và tấn công băng cách nào để có thể đưa ra các biện pháp khắc phục trong thời gian nhanh nhất. Để thực hiện tốt giai đoạn này, phải trả lời được 3 câu hỏi: (1) bảo vệ cái gì (2) bảo vệ khỏi ai (3) bảo vệ bằng cách nào Để tìm ra những lỗ hổng trong hệ thống, người quản trị phải xem mình như một hacker, tự tấn công vào chính hệ thống của mình. Một hệ thống dù hoàn thiện đến đâu nhưng cũng không tránh khỏi những kẽ hở, dù là rất nhỏ. Trong khi hacker ngày càng nghĩ ra nhiều cách thức tấn công mà chúng ta không ngờ tới. Đánh giá Sau khi đã xác định được những kẽ hở và phân tích các nguy cơ bị tấn công của hệ thống, người quản trị phải đề ra những biện pháp đề phòng đống thời đánh giá các chi phí bỏ ra để tiến hành khắc phục các lỗ hổng trên cũng như chi phí cho thiệt hại khi xảy ra tấn công. Lựa chọn giải pháp Trên cơ sở đánh giá tất cả các yếu tố: độ an toàn, tính khả thi, chi phí, . người quản trị lựa chọn ra giải pháp thích hợp nhất trong số những phương pháp bảo mật dữ liệu trong cả 2 trường hợp là khắc phục lỗ hổng của hệ thống hoặc khi hệ thống bị tấn công. Trong trường hợp hệ thống đang bị tẫn công thì cần lựa chọn một cách nhanh nhất một giải pháp để có thể ngăn chặn cuộc tấn công này hay ít nhất cũng là hạn chể được những thiệt hại về sau. Trang 9 Xác định Đánh giá Giám sát rủi ro Lựa chọn giải pháp Giám sát rủi ro Một hệ thống dù hoàn thiện đến đâu những cũng không thể tránh được các lỗ hổng không ngờ tới, vì vậy quá trình giám sát trong lúc hệ thống đang được vận hành là một yêu cầu bắt buộc cần phải được tiến hành thường xuyên. Hệ thống có thể an toàn tại thời điểm này nhưng lại mất an toàn vào thời điểm khác. Nhiệm vụ quan trọng của việc giám sát hệ thống là cần thường xuyên tiến hành kiểm tra và đánh giá về các nguy cơ có thể xảy ra với hệ thống và tìm cách hạn chế tác hại của các nguy cơ này, đảm bảo cho hệ thống hoạt động một cách bình thường. Giám sát hệ thống đồng thời đưa ra các giải pháp khắc phục khi bị tấn công sẽ giúp cho việc bảo mật dữ liệu trở nên hiệu quả hơn. 1.2.6. Các loại tấn công phá hoại an toàn: Hình 1.4 - Mô hình truyền thông qua 3 thực thể Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công: - Tấn công giả mạo là một thực thể tấn công giả danh một thực thể khác. Tấn công giả mạo thường được kết hợp với các dạng tấn công khác như tấn công chuyển tiếp và tấn công sửa đổi thông báo. - Tấn công chuyển tiếp xảy ra khi một thông báo, hoặc một phần thông báo được gửi nhiều lần, gây ra các tác động tiêu cực. - Tấn công sửa đổi thông báo xảy ra khi nội dung của một thông báo bị sửa đổi nhưng không bị phát hiện. - Tấn công từ chối dịch vụ xảy ra khi một thực thể không thực hiện chức năng của mình, gây cản trở cho các thực thể khác thực hiện chức năng của chúng. - Tấn công từ bên trong hệ thống xảy ra khi người dùng hợp pháp cố tình hoặc vô ý can thiệp hệ thống trái phép. Còn tấn công từ bên ngoài là nghe trộm, thu chặn, giả mạo người dùng hợp pháp và vượt quyền hoặc lách qua các cơ chế kiểm soát truy nhập. • Tấn công bị động. Do thám, theo dõi đường truyền để: Trang 10 . động Tìm hiểu hệ mật mã IDEA Tìm hiểu hệ mật mã RC5 Xây dựng chương trình DEMO một số hệ mật mã cổ điển Xây dựng chương trình DEMO một số hệ mật mã sử. của DES ................................................................................................................ 68 6.3.4. Sinh khoá con của DES