Tổng quan về giáo trình

Giáo trình Bảo mật thông tin do Khoa Công nghệ Thông tin – Trường Đại học Phan Thiết biên soạn và lưu hành nội bộ là tài liệu học tập dành cho bậc đào tạo đại học ngành Công nghệ Thông tin. Môn học giữ vị trí cốt lõi trong khối kiến thức chuyên ngành, trang bị cho người học các nguyên lý bảo vệ dữ liệu và hệ thống thông tin độc lập với môi trường vật lý.

Mục tiêu học tập của giáo trình bao gồm:

  • Xác định và phân tích các mối đe dọa an toàn thông tin (phá hoại, sửa đổi, can thiệp) và ba mục tiêu an toàn cơ bản: tính bí mật (Confidentiality), tính toàn vẹn (Integrity) và tính sẵn dùng (Availability).
  • Nắm vững nền tảng toán học của mật mã học (lý thuyết thông tin, lý thuyết độ phức tạp, số học modulo, lý thuyết số nguyên tố và vành đồng dư).
  • Hiểu rõ cơ chế hoạt động, cấu trúc và cách cài đặt của các hệ mã hóa khóa bí mật (cổ điển và hiện đại như DES, AES), hệ mã hóa khóa công khai (RSA, ElGamal, ECC), chữ ký điện tử, hàm băm và giao thức quản lý khóa.

Cấu trúc giáo trình gồm 7 chương, đi từ bức tranh tổng quan, nền tảng lý thuyết toán học đến các kỹ thuật mật mã hiện đại và ứng dụng giao thức. Cách tiếp cận của tài liệu dựa trên mô hình hình thức hóa toán học của Claude Shannon kết hợp với hướng dẫn lập trình thuật toán cụ thể bằng ngôn ngữ C/C++.

Điểm đặc thù của giáo trình là việc phân tích chi tiết các bảng biến đổi, sơ đồ hàm (như các hộp S-Box, hàm mở rộng E, hoán vị P trong DES), chứng minh định lý toán học (Euler, Fermat, định lý phần dư Trung Hoa) và cung cấp đoạn mã nguồn mẫu thực thi giải thuật.


Nội dung kiến thức cốt lõi

                             GIÁO TRÌNH BẢO MẬT THÔNG TIN
[CƠ SỞ & NGUYÊN LÝ]                                                [KỸ THUẬT & ỨNG DỤNG]

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

  1. Chương I: Giới thiệu: Trình bày khái niệm an toàn hệ thống, tài sản công nghệ thông tin, phân loại nguồn đe dọa (insider, hacker/cracker, phần mềm độc hại) và các biện pháp kiểm soát. Định nghĩa hệ mã mật $CryptoSystem$ là bộ 5 $(P, C, K, E, D)$, mô hình kênh truyền không an toàn của Claude Shannon và luật Kirchoff (độ an toàn của hệ thống chỉ phụ thuộc vào việc giữ bí mật khóa, không phụ thuộc vào độ bí mật của thuật toán). Phân loại mật mã học theo số lượng khóa (SKC, PKC), hàm băm, chữ ký điện tử và cách thức xử lý dữ liệu (mã khối, mã dòng).
  2. Chương II: Cơ sở toán học: Xây dựng nền tảng lý thuyết thông tin với các khái niệm Entropy $H(M) = \log_2 n$, tốc độ thực tế $r = H(M)/N$, tốc độ tuyệt đối $R = \log_2 L$, độ dư thừa $D = R - r$, và khoảng cách Unicity $U = H(K)/D$. Phân tích hai nguyên lý thiết kế: sự hỗn loạn (Confusion) và sự khuếch tán (Diffusion). Phân loại độ phức tạp thuật toán (lớp P, lớp NP, máy Turing đơn định và không đơn định). Thiết lập khái niệm an toàn tính toán và an toàn không điều kiện (hệ mật hoàn thiện Shannon với điều kiện $|K| \ge |C|$). Trình bày lý thuyết số học: modulo, vành $Z_N$, hàm phi Euler $\phi(N)$, thặng dư bậc hai, thuật toán Euclid mở rộng, định lý phần dư Trung Hoa, lũy thừa nhanh và các thuật toán kiểm tra số nguyên tố xác suất (Soloway-Strassen, Rabin-Miller, Lehmann).
  3. Chương III: Các hệ mã khóa bí mật: Phân tích hệ mã thay thế (đơn âm, đồng âm, đa mẫu tự, đa sơ đồ) như Caesar, Affine, Vigenère, Hill (dựa trên ma trận nghịch đảo) và hệ mã đổi chỗ (đổi chỗ cột, hoán vị theo chu kỳ $d$, hệ mã ADFGV). Phân tích cấu trúc chuẩn mã hóa dữ liệu DES (khối 64-bit, khóa 56-bit, 16 vòng Feistel, hàm mở rộng E, 8 hộp S-Box phi tuyến, hoán vị P, thuật toán sinh khóa con với bảng PC-1 và PC-2) cùng giới thiệu chuẩn mã hóa nâng cao AES (Rijndael).
  4. Chương IV: Các hệ mã mật khóa công khai: Trình bày nguyên tắc xây dựng hàm một phía có cửa bẫy (trapdoor one-way function). Chi tiết cấu tạo của các hệ mã Knapsack, hệ mã RSA (dựa trên bài toán phân tích thừa số nguyên tố), hệ mã ElGamal (dựa trên bài toán logarit rời rạc) và hệ mã mật trên đường cong Elliptic (ECC).
  5. Chương V: Chữ ký điện tử và hàm băm: Định nghĩa chữ ký số, hệ chữ ký RSA, ElGamal, chuẩn DSS. Khảo sát đặc tính hàm băm (tính kháng tiền ảnh, tính kháng va chạm), các hàm băm tiêu chuẩn (MD5, SHA-1, SHA-256, SHA-512) và ứng dụng trong xác thực tính toàn vẹn.
  6. Chương VI: Quản lý khóa: Mô hình phân phối khóa Blom, kiến trúc Kerberos, giao thức trao đổi khóa Diffie-Hellman (có và không có chứng chỉ xác nhận), giao thức Matsumoto-Takashima-Imai và Girault.
  7. Chương VII: Giao thức mật mã: Phân loại giao thức có trọng tài, giao thức có người phân xử, giao thức tự phân xử và các dạng tấn công điển hình lên giao thức truyền thông.

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

  • Lý thuyết nền tảng (Fundamental theories): Lý thuyết thông tin của Claude Shannon (1948, 1949), lý thuyết độ phức tạp tính toán (lớp bài toán P/NP), lý thuyết số và đại số trừu tượng (vành đồng dư $Z_N$, nhóm cyclic, thặng dư bậc hai).
  • Nguyên lý cốt lõi (Core principles): Luật Kirchoff; nguyên lý an toàn hoàn thiện Shannon; nguyên tắc Confusion (triệt tiêu phân tích thống kê qua phép thay thế) và Diffusion (khuếch tán ảnh hưởng của từng bit qua phép hoán vị); hàm giải mã là ánh xạ ngược đơn ánh $d_K(e_K(x)) = x$.
  • Khung phân tích chuẩn (Essential frameworks): Mô hình truyền tin cơ bản (Sender - Receiver - Enemy qua kênh không an toàn); cấu trúc mã hóa lặp Feistel nhiều vòng; mô hình chữ ký số gắn liền với hàm băm.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Lập trình cài đặt các thuật toán toán học mật mã (Euclid mở rộng, lũy thừa nhanh Chivers, kiểm tra nguyên tố Rabin-Miller, giải hệ đồng dư bằng định lý phần dư Trung Hoa); triển khai thư viện xử lý số nguyên lớn (BigInteger) bằng ngôn ngữ C/C++/Java/C#.
  • Kỹ năng phân tích (Analytical skills): Tính toán Entropy và khoảng cách Unicity để đánh giá khả năng bị thám mã vét cạn; phân tích tần số xuất hiện của ký tự trong văn bản tự nhiên để thám mã hệ cổ điển; đánh giá tính phi tuyến và cân bằng thống kê của các hộp S-Box.
  • Năng lực thực tiễn (Practical competencies): Tính toán các bước biến đổi chi tiết của thuật toán mã khối; thiết kế sơ đồ phân phối và thỏa thuận khóa trong hệ thống mạng; tích hợp chữ ký điện tử và hàm băm vào các ứng dụng xác thực dữ liệu.

Phương pháp giảng dạy và học tập

Giáo trình triển khai phương pháp tiếp cận diễn dịch: đi từ các định lý toán học thuần túy, mô hình hóa bằng công thức, sau đó chuyển dịch thành thuật toán mã giả và mã nguồn thực thi.

Nội dung kết hợp chặt chẽ giữa lý thuyết và các bài toán mẫu tính toán từng bước:

  • Minh họa thám mã và mã hóa cổ điển: Mã hóa xâu HELP bằng hệ mã Hill cấp 2 với ma trận khóa cụ thể; tính nghịch đảo ma trận trên vành $Z_{26}$.
  • Minh họa hệ mã khóa bí mật hiện đại: Trình bày chi tiết từng chuỗi bit qua 16 vòng lặp của DES với bản rõ 0123456789ABCDEF và khóa 133457799BBCDFFI, thể hiện rõ các trạng thái trung gian của các nửa khối $L_i, R_i$, đầu ra của hàm mở rộng E, phép cộng XOR khóa con $K_i$, đầu ra hộp S-Box và phép hoán vị P-Box.

Hệ thống bài tập cuối mỗi chương chia làm hai dạng:

  1. Bài tập tính toán đại số: Ví dụ tính $17^{53} \bmod 29$ bằng số phép nhân tối thiểu; tính toán ký hiệu Legendre và Jacobi.
  2. Bài tập lập trình: Yêu cầu cài đặt chương trình tìm phần tử nghịch đảo, lũy thừa nhanh, giải hệ phương trình đồng dư bậc nhất hai ẩn, cài đặt thuật toán kiểm tra số nguyên tố cho số nguyên nhỏ hơn $2 \times 10^9$ và xây dựng thư viện tính toán số nguyên lớn hỗ trợ các phép toán cộng, trừ, nhân, chia, lấy modulo.

Quy trình tự học khuyến nghị: Đọc hiểu các định lý toán học $\rightarrow$ Tự thực hiện các phép tính tay trên số liệu nhỏ $\rightarrow$ Đối chiếu kết quả với các bảng mẫu trong giáo trình $\rightarrow$ Viết code cài đặt thuật toán trên máy tính để kiểm chứng.


Điểm nổi bật và cập nhật

Giáo trình phản ánh các mốc phát triển và chuyển dịch công nghệ trong lịch sử mật mã học:

  • Tiến trình chuẩn hóa mã khối: Ghi nhận sự chuyển giao từ chuẩn mã hóa DES (công bố năm 1977 bởi NBS/NIST, phát triển từ Lucifer của IBM) sang chuẩn mã hóa cao cấp AES (thuật toán Rijndael của Joan Daemen và Vincent Rijmen, chuẩn hóa năm 2001) do không gian khóa 56-bit của DES không còn đảm bảo an toàn trước năng lực tính toán hiện đại.
  • Cập nhật nghiên cứu về an toàn hàm băm: Đưa vào tài liệu các sự kiện nghiên cứu mật mã thực nghiệm, cụ thể là công trình của nhóm tác giả Xiaoyun Wang, Yiqun Lisa Yin và Hongbo Yu trong việc tìm ra va chạm trên các hàm băm phổ biến MD5 (của Ron Rivest) và SHA-1. Từ đó, giáo trình cập nhật các khuyến cáo kỹ thuật về việc chuyển dịch sang sử dụng các hàm băm có độ dài khối đầu ra lớn hơn như SHA-256 và SHA-512.
  • Tích hợp ứng dụng thực tế: Giáo trình phân tích ứng dụng mật mã trong hệ điều hành, cơ sở dữ liệu, phần mềm ứng dụng mạng (như hệ thống nhắn tin), thương mại điện tử, dịch vụ chống chối bỏ (Non-Repudiation), hạ tầng xác thực Kerberos và giao thức trao đổi khóa Diffie-Hellman.

Đối tượng sử dụng giáo trình

  • Sinh viên: Tài liệu được thiết kế cho sinh viên năm thứ ba hoặc năm thứ tư thuộc các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Mạng máy tính và Truyền thông dữ liệu, Hệ thống Thông tin.
  • Kiến thức tiên quyết: Người học cần hoàn thành các học phần Toán rời rạc (lý thuyết đồ thị, logic toán), Đại số tuyến tính (ma trận, định thức), Cấu trúc dữ liệu & Giải thuật, và có kỹ năng lập trình bằng một trong các ngôn ngữ: C, C++, Java hoặc C#.
  • Giảng viên: Giáo trình cung cấp khung đề cương chi tiết cho môn học từ 2 đến 3 tín chỉ, kèm theo bảng số liệu, ma trận mẫu, và hệ thống câu hỏi bài tập phục vụ việc thiết kế bài giảng, bài tập lập trình lớn (assignment) và đề thi đánh giá kết quả học tập.
  • Tự học và nghiên cứu: Phù hợp cho lập trình viên và kỹ sư hệ thống cần tài liệu tham khảo có tính hệ thống để hiểu rõ cấu trúc toán học bên dưới của các thư viện mã hóa tiêu chuẩn.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với ai?

Tài liệu phù hợp với sinh viên đại học ngành Công nghệ Thông tin, kỹ sư mạng, lập trình viên phần mềm và những người cần nghiên cứu cơ sở lý thuyết và thuật toán mật mã học.

2. Cần kiến thức nền tảng nào để học tốt giáo trình?

Người học cần nắm vững toán học cơ bản (số học chia hết, đồng dư modulo, xác suất thống kê), lý thuyết ma trận và kỹ năng lập trình cấu trúc/hướng đối tượng (C, C++, Java hoặc C#) để thực hành cài đặt thuật toán.

3. Điểm khác biệt của giáo trình so với các tài liệu an toàn thông tin đại chúng là gì?

Giáo trình tập trung sâu vào bản chất toán học của mật mã học (Entropy, Unicity Distance, cấu trúc vành $Z_N$, định lý số học) và giải thích chi tiết cấu tạo bên trong của thuật toán (các hộp S-Box, hàm mở rộng, thuật toán sinh khóa con) thay vì chỉ hướng dẫn cấu hình công cụ bảo mật phần mềm bề ngoài.

4. Làm sao để tự học và nắm vững kiến thức trong giáo trình hiệu quả?

Người học nên kết hợp tính toán thủ công các bài toán đại số nhỏ ở Chương II và Chương III, sau đó tự viết chương trình cài đặt các giải thuật (lũy thừa nhanh, tìm số nghịch đảo, kiểm tra số nguyên tố, mã hóa DES) để đối chiếu kết quả từng bước.

5. Có tài liệu và công cụ bổ trợ nào đi kèm giáo trình?

Giáo trình cung cấp các đoạn mã nguồn C mẫu cho các thuật toán Euclid, Jacobi, CRT; hệ thống bảng tra chuẩn của DES (PC-1, PC-2, S-Box 1 đến 8, P-Box) và danh mục tài liệu tham khảo học thuật (các công trình của Shannon, Diffie-Hellman, Rivest, NIST).


Kết luận

Giáo trình Bảo mật thông tin của Khoa Công nghệ Thông tin – Trường Đại học Phan Thiết là tài liệu học thuật tổng hợp đầy đủ các nguyên lý nền tảng của mật mã học và an toàn dữ liệu.

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

[Toán học & Lý thuyết thông tin (Chương I, II)]
   [Hệ mã khóa bí mật: DES/AES (Chương III)]
[Hệ mã khóa công khai: RSA/ElGamal/ECC (Chương IV)]
   [Chữ ký số & Hàm băm: DSS/SHA (Chương V)]
[Quản lý khóa & Giao thức bảo mật (Chương VI, VII)]

Tài liệu cung cấp nền tảng lý thuyết và bài tập lập trình hoàn chỉnh, hỗ trợ hiệu quả cho việc đào tạo chuyên ngành Công nghệ Thông tin cũng như nghiên cứu ứng dụng an toàn thông tin trong thực tế.