TÀI LIỆU MÔ TẢ HỌC THUẬT: GIÁO TRÌNH AN TOÀN VÀ BẢO MẬT THÔNG TIN

Tổng quan về giáo trình (250-300 từ)

Giáo trình An toàn và Bảo mật Thông tin do tác giả Nguyễn Hữu Tuân biên soạn (hoàn thành vào tháng 12 năm 2007, phục vụ giảng dạy từ năm 2008), trực thuộc Bộ môn Khoa học Máy tính, Khoa Công nghệ Thông tin – Trường Đại học Hàng hải Việt Nam. Đây là tài liệu giảng dạy chính thức cho học phần "An toàn và bảo mật thông tin" (mã học phần: 17212), thuộc khối kiến thức chuyên ngành của chương trình đào tạo trình độ Đại học chính quy ngành Công nghệ Thông tin.

Học phần có khối lượng 3 tín chỉ với tổng thời lượng 75 tiết định mức, bao gồm 45 tiết lý thuyết và 30 tiết thực hành/semina. Mục tiêu học tập (learning outcomes) của giáo trình tập trung truyền đạt các nguyên lý và kỹ thuật cốt lõi trong an toàn máy tính, bao gồm: các giải thuật mã hóa dữ liệu trong truyền tin, cấu trúc hàm băm và chữ ký điện tử, các mô hình trao đổi và quản lý khóa mật mã, cùng các cơ chế chứng thực và giao thức mạng an toàn.

Về mặt cấu trúc và phương pháp tiếp cận, giáo trình được thiết kế tích hợp giữa hai mảng kiến thức: cung cấp hệ thống cơ sở lý thuyết toán học (lý thuyết thông tin, lý thuyết độ phức tạp, đại số và vành số học) và rèn luyện kỹ năng lập trình hiện thực hóa các thuật toán mật mã trên máy tính. Điểm đặc thù của tài liệu là phương pháp diễn giải tuyến tính, đi từ các nguyên lý cơ bản của mật mã học cổ điển đến các hệ mật mã khối, mật mã khóa công khai hiện đại, chuẩn mã hóa dữ liệu thực tế và các giao thức mạng phức hợp.

                    HỌC PHẦN: AN TOÀN VÀ BẢO MẬT THÔNG TIN (MÃ HP: 17212)
                     (3 Tín chỉ | 75 Tiết: 45 Lý thuyết + 30 Thực hành/Semina)

Nội dung kiến thức cốt lõi (500-600 từ)

Các chương/chủ đề chính

Giáo trình gồm 7 chương chuyên đề được sắp xếp theo trình tự logic chặt chẽ:

  • Chương I: Giới thiệu: Trình bày các khái niệm hệ thống thông tin, tài sản hệ thống (phần cứng, phần mềm, dữ liệu, truyền thông, con người); 3 hình thức đe dọa (phá hoại, sửa đổi, can thiệp); 3 mục tiêu an toàn thông tin (tính bí mật, tính toàn vẹn, tính sẵn dùng); mô hình truyền tin bảo mật, nguyên tắc Kerckhoffs; lược sử mật mã từ cổ đại đến hiện đại và phân loại các hệ mật mã (khóa đối xứng SKC, khóa công khai PKC, chữ ký điện tử, hàm băm, mã khối, mã dòng).
  • Chương II: Cơ sở toán học: Xây dựng nền tảng lý thuyết thông tin theo Claude Shannon (Entropy $H(M)$, tốc độ ngôn ngữ $r$, độ dư thừa $D$, khoảng cách unicity $U$); lý thuyết độ phức tạp tính toán (lớp $P$, $NP$, máy Turing); lý thuyết số học trên vành đồng dư $Z_N$, hàm phi Euler $\phi(N)$, định lý Fermat nhỏ, thặng dư bậc hai, thuật toán lũy thừa nhanh, thuật toán Euclid mở rộng, định lý phần dư Trung Hoa và các thuật toán kiểm tra số nguyên tố (Solovay-Strassen, Rabin-Miller, Lehmann).
  • Chương III: Các hệ mã khóa bí mật: Khảo sát các hệ mã hóa thay thế cổ điển (Caesar, Affine, Vigenère, Hill), hệ mã hóa đổi chỗ (đổi chỗ cột, theo mẫu hình học, theo chu kỳ $d$); chi tiết cấu trúc hệ mã khối Feistel, chuẩn mã hóa dữ liệu DES (khóa 56-bit, 16 vòng lặp, hàm mở rộng $E$, hộp thế $S$-Box, hoán vị $P$, tạo khóa con $PC-1$, $PC-2$), các điểm yếu của DES, giới thiệu chuẩn mã hóa cao cấp AES (Rijndael) và các chế độ vận hành mã khối (ECB, CBC).
  • Chương IV: Các hệ mã mật khóa công khai: Phân tích nguyên tắc xây dựng hệ mã khóa bất đối xứng, cơ chế hàm một phía có cửa sập (Trapdoor Knapsack), hệ mã hóa RSA, hệ mã hóa ElGamal và các hệ mật mã dựa trên đường cong Elliptic (ECC).
  • Chương V: Chữ ký điện tử và hàm băm: Định nghĩa chữ ký điện tử, hệ chữ ký RSA, ElGamal, chuẩn chữ ký số DSS/DSA; các đặc tính an toàn của hàm băm một chiều, khảo sát cấu trúc thuật toán băm MD5 và SHA-1.
  • Chương VI: Quản lý khóa: Mô hình phân phối và quản lý khóa trong mạng truyền thông; các giao thức thỏa thuận và trao đổi khóa: sơ đồ phân phối Blom, hệ thống Kerberos, giao thức Diffie-Hellman (có và không có chứng chỉ xác nhận), giao thức Matsumoto-Takashima-Imai (MTI) và giao thức Girault.
  • Chương VII: Giao thức mật mã: Định nghĩa và mục đích giao thức, phân loại vai trò các bên tham gia (giao thức có trọng tài, có người phân xử, tự phân xử) và các phương thức tấn công điển hình vào giao thức mật mã.
  Chương I: Tổng quan & Mô hình Kerckhoffs
  Chương II: Nền tảng Toán học (Shannon, ZN, Số nguyên tố, Độ phức tạp)
  Chương III: Hệ mã Khóa bí mật (Mã cổ điển, Khối Feistel, DES 16 vòng, AES)
  Chương IV: Hệ mã Khóa công khai (Bất đối xứng: Trapdoor Knapsack, RSA, ElGamal, ECC)
  Chương V: Chữ ký điện tử & Hàm băm (RSA, DSS/DSA, MD5, SHA-1)
  Chương VI: Quản lý & Phân phối khóa (Diffie-Hellman, Blom, Kerberos, MTI, Girault)
  Chương VII: Giao thức mật mã & Mô hình tấn công (Trọng tài, Phân xử, Tự phân xử)

Kiến thức nền tảng được xây dựng

Giáo trình hình thành hệ thống lý thuyết dựa trên:

  • Lý thuyết thông tin và độ phức tạp: Các mô hình toán học của Shannon về độ an toàn hoàn thiện ($|K| \ge |C|$), độ an toàn tính toán, độ hỗn loạn (Confusion) và khuếch tán (Diffusion), cùng sự phân định giữa các lớp bài toán thời gian đa thức ($P$) và không đơn định ($NP$).
  • Đại số trừu tượng và số học: Các cấu trúc vành $Z_N$, nhóm nhân $Z^*_N$, các bài toán phân tích thừa số nguyên tố, bài toán thặng dư bậc hai và bài toán logarit rời rạc làm cơ sở cho an toàn khóa công khai.
  • Nguyên lý thiết kế mật mã: Quy tắc biến đổi phi tuyến (S-Box), mạng hoán vị - thay thế (SPN), cấu trúc lặp Feistel và nguyên lý Kerckhoffs (toàn bộ thuật toán được công khai, độ an toàn phụ thuộc duy nhất vào việc bảo mật khóa).

Kỹ năng phát triển

Thông qua nội dung giảng dạy và bài tập, sinh viên phát triển:

  • Kỹ năng kỹ thuật (Technical skills): Cài đặt bằng mã nguồn (ngôn ngữ C/C++, Java, C#) các giải thuật số học lớn, thuật toán tính lũy thừa nhanh $a^m \bmod N$, tìm nghịch đảo modulo $a^{-1} \bmod N$ bằng Euclid mở rộng, kiểm tra số nguyên tố (Rabin-Miller, Solovay-Strassen), và lập trình mô phỏng các giải thuật mã hóa đối xứng, bất đối xứng.
  • Kỹ năng phân tích (Analytical skills): Phân tích thống kê tần suất ký tự trên các hệ mã cổ điển, tính toán khoảng cách unicity $U = H(K)/D$, đánh giá các điểm yếu cấu trúc khóa của DES (khóa yếu, khóa nửa yếu), cũng như phân tích đụng độ trên các hàm băm MD5 và SHA-1.
  • Kỹ năng thực hành (Practical competencies): Thiết lập quy trình phân phối khóa an toàn qua giao thức Kerberos/Diffie-Hellman, tích hợp cơ chế đóng dấu hàm băm và ký số vào ứng dụng bảo vệ tính toàn vẹn dữ liệu.

Phương pháp giảng dạy và học tập (300-350 từ)

Phương pháp sư phạm của giáo trình được thiết kế theo hướng kết hợp chặt chẽ giữa thuyết giảng cơ sở toán học và thực hành mô phỏng thuật toán:

  • Cách tiếp cận sư phạm (Pedagogical approach): Phân bổ cân đối giữa 45 tiết lý thuyết phục vụ việc chứng minh các định lý, phân tích cấu trúc giải thuật và 30 tiết thực hành/semina chuyên đề nhằm cài đặt chương trình, thảo luận các giải pháp thám mã và nghiên cứu cơ chế bảo mật mạng.
  • Bài tập và nghiên cứu tình huống (Case studies): Giáo trình cung cấp hệ thống câu hỏi lý thuyết và bài toán tính tay cụ thể (như bài tập tính $17^{53} \bmod 29$, giải phương trình đồng dư bậc nhất, tính toán các bảng biến đổi IP, PC-1, PC-2 trong DES). Bên cạnh đó, các sự kiện thực tế như vụ giải mã bức điện Zimmermann trong Thế chiến I hay công trình tìm ra đụng độ hàm băm MD5, SHA-1 của nhóm tác giả Xiaoyun Wang được lồng ghép thành các trường hợp điển hình.
  • Bài tập thực hành (Practical exercises): Yêu cầu sinh viên trực tiếp lập trình (sử dụng C, C++, Java hoặc C#) để xây dựng thư viện tính toán số nguyên lớn, viết module tìm phần tử nghịch đảo, giải hệ phương trình đồng dư Trung Hoa và cài đặt thuật toán kiểm tra số nguyên tố với dữ liệu đầu vào lên tới 32-bit.
  • Phương pháp đánh giá (Assessment methods): Điểm học phần tổng hợp ($Z$) được tính toán dựa trên thang điểm 10 theo công thức quy định: $$Z = 0{,}3X + 0{,}7Y$$ Trong đó, $X$ là điểm kiểm tra quá trình kết hợp đánh giá thực hành/semina, và $Y$ là điểm thi kết thúc học phần.
  • Hướng dẫn tự học (Self-study guidelines): Sinh viên cần chuẩn bị trước các kiến thức toán rời rạc và thuật toán, nghiên cứu các đoạn mã nguồn C mẫu được cung cấp trong giáo trình (như hàm tính GCD, Jacobi, lũy thừa nhanh, đồng dư Trung Hoa), tự kiểm thử các trường hợp dữ liệu biên và đối chiếu tài liệu tham khảo chuyên ngành.

Điểm nổi bật và cập nhật (250-300 từ)

Giáo trình An toàn và Bảo mật Thông tin ghi nhận các nội dung cập nhật kỹ thuật và định hướng học thuật tại thời điểm biên soạn:

  • Tính đầy đủ về mã nguồn thực thi: Khác với các tài liệu thuần lý thuyết định tính, giáo trình cung cấp trực tiếp các đoạn mã cài đặt mẫu bằng ngôn ngữ C cho các giải thuật số học cơ bản như: thuật toán Euclid tìm GCD, lũy thừa nhanh modexp(), thuật toán giải hệ đồng dư Trung Hoa chinese_remainder() và hàm tính ký hiệu jacobi().
  • Chuyển tiếp chuẩn mã hóa từ DES sang AES: Giáo trình làm rõ nguyên nhân suy giảm độ an toàn của chuẩn mã hóa DES (không gian khóa 56-bit không còn đủ an toàn trước tấn công vét cạn) và cập nhật kiến trúc của chuẩn mã hóa nâng cao AES (thuật toán Rijndael do Joan Daemen và Vincent Rijmen phát triển), bao gồm các phép biến đổi ma trận MixColumns, AddRoundKey, InvShiftRows và các bảng thế S-Box.
  • Tích hợp hệ mật mã đường cong Elliptic (ECC): Giáo trình bổ sung chuyên đề phân tích toán học và cấu trúc của các hệ mã dựa trên đường cong Elliptic trên trường số thực và trường hữu hạn $E_{23}(1, 1)$, so sánh hiệu năng và độ dài khóa của ECC với hệ mã RSA (được sự đóng góp chuyên môn từ ThS. Nguyễn Đình Dương).
  • Phản ánh các nghiên cứu thực nghiệm về hàm băm: Cập nhật công trình nghiên cứu của nhóm tác giả Xiaoyun Wang, Yiqun Lisa Yin và Hongbo Yu về việc tìm ra xung đột (va chạm) trên các hàm băm phổ biến MD5 và SHA-1, đồng thời nêu rõ khuyến cáo của giới mật mã học về việc chuyển đổi sang sử dụng các hàm băm SHA-256 và SHA-512.

Đối tượng sử dụng giáo trình (200-250 từ)

Giáo trình được biên soạn phục vụ các nhóm đối tượng cụ thể trong đào tạo đại học và nghiên cứu kỹ thuật:

  • Đối tượng sinh viên: Sinh viên năm thứ 3 hoặc năm thứ 4 theo học chương trình Đại học chính quy ngành Công nghệ Thông tin, chuyên ngành Khoa học Máy tính, Kỹ thuật Phần mềm và Mạng máy tính.
  • Điều kiện tiên quyết (Prerequisites): Để tiếp thu giáo trình, người học bắt buộc phải hoàn thành 3 học phần nền tảng:
    1. Lập trình hướng đối tượng
    2. Cấu trúc dữ liệu
    3. Phân tích, thiết kế và đánh giá thuật toán Cùng với kiến thức nền về Toán rời rạc, Đại số tuyến tính và Xác suất thống kê.
  • Giảng viên và sử dụng giảng dạy: Giảng viên thuộc các bộ môn Khoa học máy tính và An toàn thông tin sử dụng tài liệu làm khung đề cương chi tiết cho học phần 3 tín chỉ, khai thác hệ thống bảng tra cấu trúc DES/AES và bảng bài tập lập trình để tổ chức các buổi thực hành phòng máy và semina.
  • Tự học và tham khảo: Kỹ sư phát triển phần mềm, chuyên viên an ninh mạng và học viên cao học có thể sử dụng giáo trình như một tài liệu tra cứu về giải thuật toán học mật mã, cơ chế sinh khóa và giao thức chứng thực dữ liệu.

Câu hỏi thường gặp (250-300 từ)

1. Giáo trình này phù hợp với đối tượng người học nào?

Giáo trình được thiết kế cho sinh viên đại học chính quy ngành Công nghệ Thông tin, giảng viên chuyên ngành và kỹ sư phần mềm cần nắm vững nguyên lý toán học và cách thức cài đặt các thuật toán an toàn bảo mật.

2. Cần chuẩn bị kiến thức nền tảng nào trước khi học?

Người học cần hoàn thành 3 học phần tiên quyết: Lập trình hướng đối tượng, Cấu trúc dữ liệu, Phân tích, thiết kế và đánh giá thuật toán, đồng thời có kiến thức về lý thuyết số học (modulo, vành $Z_N$, đại số ma trận).

3. Giáo trình có điểm gì khác biệt về cấu trúc nội dung?

Tài liệu trình bày chi tiết từ biểu diễn ma trận toán học, bảng hoán vị bit cụ thể (bảng IP, PC-1, PC-2 trong DES, các bảng S-Box trong AES) đến việc cung cấp mã nguồn ngôn ngữ C mẫu cho các thuật toán lõi, giúp người học chuyển đổi trực tiếp từ lý thuyết sang lập trình.

4. Phương pháp tự học giáo trình như thế nào để đạt hiệu quả?

Người học nên đọc song song phần lý thuyết toán học tại Chương II và làm bài tập tính tay (tìm nghịch đảo, lũy thừa nhanh), sau đó tiến hành viết mã nguồn kiểm thử các bài toán số nguyên lớn trên máy tính bằng C/C++ hoặc Java theo yêu cầu của từng chương.

5. Có những tài liệu tham khảo chính nào được liên kết trong giáo trình?

Giáo trình được xây dựng dựa trên 5 tài liệu tham khảo chuyên khảo chuẩn:

  1. Lý thuyết mật mã và An toàn thông tin (Phan Đình Diệu, ĐHQG Hà Nội)
  2. Cryptography Theory and Practice (Douglas R. Stinson)
  3. Handbook of Applied Cryptography (Alfred J. Menezes et al.)
  4. Cryptography and Network Security Principles and Practices, 4th Edition (William Stallings)
  5. Cryptography in C and C++ (Michael Welschenbach)

Kết luận (150 từ)

Giáo trình An toàn và Bảo mật Thông tin của Trường Đại học Hàng hải Việt Nam xác lập hệ thống tri thức chuẩn mực về cơ sở mật mã học và bảo vệ dữ liệu trong hệ thống máy tính.

       (Chương I, II)                  (Chương III)                 (Chương IV, V)
                                        (Chương VII)                     (Chương VI)

Lộ trình học tập đề xuất:

  1. Tiếp cận lý thuyết thông tin và cơ sở số học (Chương I, II).
  2. Nắm vững kỹ thuật mã hóa đối xứng và mã khối DES/AES (Chương III).
  3. Làm chủ các hệ mật bất đối xứng RSA, ElGamal, ECC và cơ chế hàm băm, ký số (Chương IV, V).
  4. Nghiên cứu phương thức phân phối khóa và các giao thức bảo mật mạng (Chương VI, VII).

Tài liệu kết hợp chặt chẽ giữa lý thuyết hình thức và lập trình ứng dụng, là nguồn học liệu học thuật phục vụ trực tiếp cho công tác đào tạo đại học và định hướng nghiên cứu chuyên sâu về an toàn thông tin.