GIÁO TRÌNH AN TOÀN VÀ BẢO MẬT THÔNG TIN – ĐẠI HỌC BÁCH KHOA HÀ NỘI: MÔ TẢ NỘI DUNG VÀ CẤU TRÚC HỌC THUẬT


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

Giáo trình An toàn và bảo mật thông tin do Đại học Bách khoa Hà Nội biên soạn là tài liệu giảng dạy và học tập thuộc khối kiến thức cơ sở ngành và chuyên ngành trong chương trình đào tạo kỹ sư, cử nhân các ngành Công nghệ thông tin, An toàn thông tin và Điện tử – Viễn thông. Về mặt vị trí học phần, giáo trình cung cấp nền tảng lý thuyết hệ thống và toán học mật mã, chuẩn bị cho sinh viên tiếp cận các chuyên đề chuyên sâu về an ninh mạng, mật mã học ứng dụng và an toàn hệ điều hành.

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

  • Kiến thức: Trang bị các nguyên lý bảo vệ an toàn thông tin dữ liệu; phân biệt các hình thức tấn công mạng; hiểu rõ định nghĩa hình thức của hệ mật mã $5$ thành phần $(P, C, K, E, D)$; nắm vững cơ chế toán học của các hệ mật mã cổ điển (mã dịch vòng, mã thay thế, mã Affine, mã Vigenère, mã Hill, mã dòng, hệ tạo khóa LFSR) và các phương pháp thám mã tương ứng.
  • Kỹ năng: Có khả năng phân tích độ an toàn của hệ thống theo các mô hình tấn công; tính toán thực nghiệm các phép mã hóa và giải mã trên vành số học modulo; thực hiện các thuật toán thám mã thống kê (phân tích tần suất, phép thử Kasiski, chỉ số trùng hợp Friedman) và đại số tuyến tính ma trận.

Cấu trúc giáo trình được xây dựng theo phương pháp tiếp cận từ tổng quan đến chi tiết, từ nguyên lý an toàn hệ thống đến mô hình toán học giải thuật. Điểm đặc sắc của tài liệu là việc kết hợp chặt chẽ giữa lý thuyết đại số trừu tượng (nhóm Abel, vành hữu hạn, ma trận đồng dư) với các ví dụ thực nghiệm cụ thể và các phương pháp thám mã thực tế theo nguyên lý Kerckhoffs.


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

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

Nội dung trích xuất từ giáo trình tập trung vào hai khối kiến thức nền tảng:

Chương 1: Tổng quan về an toàn và bảo mật thông tin

  • Khái niệm và phạm vi an toàn thông tin: Phân loại ba nhóm biện pháp bảo vệ: biện pháp hành chính, biện pháp kỹ thuật (phần cứng), và biện pháp thuật toán (phần mềm). Trong môi trường mạng, biện pháp thuật toán được xác định là phương thức kinh tế và hiệu quả nhất.
  • Các thuộc tính an toàn cơ bản:
    • Tính bí mật (Secrecy): Đảm bảo tính kín đáo, riêng tư của thông tin.
    • Tính xác thực (Authenticity): Bao gồm xác thực đối tác (nhận danh) và xác thực nội dung thông tin trao đổi.
    • Tính trách nhiệm (Non-repudiation): Đảm bảo người gửi không thể thoái thác trách nhiệm về thông tin đã phát.
  • Phân loại hành vi xâm phạm:
    • Vi phạm thụ động: Nắm bắt, đánh cắp thông tin, phân tích lưu lượng, độ dài, tần số trao đổi mà không làm thay đổi hoặc hủy hoại nội dung gói tin; khó phát hiện nhưng có thể ngăn chặn bằng mã hóa.
    • Vi phạm chủ động: Thay đổi, xóa bỏ, làm trễ, sắp xếp lại thứ tự gói tin hoặc chèn thông tin ngoại lai; dễ phát hiện nhưng khó ngăn chặn triệt để.
  • Chiến lược an toàn hệ thống:
    • Quyền hạn tối thiểu (Least Privilege): Giới hạn quyền sử dụng tài nguyên mạng của từng đối tượng ở mức vừa đủ.
    • Bảo vệ theo chiều sâu (Defence In Depth): Kết hợp nhiều cơ chế bảo vệ tương hỗ.
    • Nút thắt (Choke Point): Tạo cửa khẩu hẹp duy nhất để kiểm soát luồng thông tin vào/ra.
    • Điểm nối yếu nhất (Weakest Link): Gia cố các điểm yếu, đặc biệt là an toàn vật lý.
    • Tính toàn cục và Tính đa dạng bảo vệ: Phối hợp nhiều biện pháp khác nhau để ngăn ngừa sự sụp đổ dây chuyền.
  • Các mức bảo vệ trên mạng: Mô hình đa tầng từ ngoài vào trong gồm: Quyền truy nhập (mức tệp), Đăng ký tên/mật khẩu (Login/Password), Mã hóa dữ liệu (Data Encryption), Bảo vệ vật lý (Physical Protection), Tường lửa (Firewalls), và Quản trị mạng (sao lưu định kỳ, bảo dưỡng, hệ thống dự phòng).
  • Mã hóa theo hướng tiếp cận: Phân biệt mã hóa theo đường truyền (Link-Oriented Security) và mã hóa từ nguồn đến đích (End-to-End).
  • Định nghĩa hệ mật mã: Hệ mật mã là một bộ 5 thành phần $(P, C, K, E, D)$, trong đó $P$ là không gian bản rõ, $C$ là không gian bản mã, $K$ là không gian khóa, $E$ là tập các quy tắc mã hóa $e_K: P \rightarrow C$, và $D$ là tập các quy tắc giải mã $d_K: C \rightarrow P$ thỏa mãn điều kiện $d_K(e_K(x)) = x, \forall x \in P$.
  • Phân loại hệ mật mã: Hệ mật đối xứng (khóa bí mật) và bất đối xứng (khóa công khai); Mật mã cổ điển (trước 1970) và hiện đại (sau 1970); Mã khối và Mã dòng.
  • Tiêu chuẩn đánh giá hệ mật: Độ an toàn tính toán (dựa trên bí mật của khóa theo nguyên lý Kerckhoffs, độ phức tạp của hàm một chiều), Tốc độ mã hóa/giải mã, và Chi phí phân phối khóa.

Chương 2: Các phương pháp mã hóa cổ điển và kỹ thuật mã thám

  • Cơ sở số học modulo: Định nghĩa quan hệ đồng dư $a \equiv b \pmod m$, tập thặng dư $\mathbb{Z}_m = {0, 1, \dots, m-1}$, các tính chất đại số thiết lập cấu trúc nhóm Abel theo phép cộng và vành hữu hạn $\mathbb{Z}_m$.
  • Mã dịch vòng (Shift Cipher): Xác định trên $\mathbb{Z}_{26}$ với hàm $e_K(x) = (x + K) \bmod 26$ và $d_K(y) = (y - K) \bmod 26$. Trường hợp $K = 3$ là mã Caesar. Không gian khóa $|K| = 26$, không an toàn trước tấn công vét cạn.
  • Mã thay thế (Substitution Cipher): Sử dụng các phép hoán vị $\pi$ trên tập 26 ký tự. Không gian khóa $|K| = 26! \approx 4 \times 10^{26}$, loại bỏ khả năng thám mã vét cạn nhưng bị phá vỡ bởi phân tích tần suất.
  • Mã Affine: Hàm mã hóa có dạng $e(x) = (ax + b) \bmod 26$ với điều kiện $\gcd(a, 26) = 1$. Số khóa hợp lệ là $\phi(26) \times 26 = 12 \times 26 = 312$ khóa. Hàm giải mã là $d(y) = a^{-1}(y - b) \bmod 26$, trong đó $a^{-1}$ là phần tử nghịch đảo của $a$ theo modulo 26.
  • Mã Vigenère: Hệ thay thế đa biểu (polyalphabetic) với từ khóa độ dài $m$, thực hiện phép cộng modulo 26 theo từng vị trí ký tự: $e_K(x_1, \dots, x_m) = (x_1 + k_1, \dots, x_m + k_m) \bmod 26$. Không gian khóa có kích thước $26^m$.
  • Mã Hill: Do Lester S. Hill đề xuất, sử dụng ma trận vuông $K$ cấp $m \times m$ làm khóa để biến đổi tuyến tính: $y = xK \bmod 26$. Điều kiện khả nghịch là $\gcd(\det K, 26) = 1$. Giải mã bằng công thức ma trận nghịch đảo $x = yK^{-1} \bmod 26$.
  • Mật mã dòng (Stream Cipher): Định nghĩa toán học qua bộ 7 $(P, C, K, L, F, E, D)$. Phân biệt mã dòng đồng bộ và không đồng bộ (như mật mã khóa tự sinh với $z_1 = K, z_i = x_{i-1}$). Cơ chế sinh dòng khóa tuyến tính qua phương trình đệ quy $z_{i+m} = \sum_{j=0}^{m-1} c_j z_{i+j} \bmod 2$ và mô hình phần cứng thanh ghi dịch hồi tiếp tuyến tính (LFSR) tạo chu kỳ cực đại $2^m - 1$.
  • Kỹ thuật mã thám cổ điển:
    • Giả thiết Kerckhoffs: Độ an toàn của hệ mật chỉ phụ thuộc vào sự bí mật của khóa, thuật toán được công khai.
    • Bốn mô hình tấn công: Chỉ có bản mã (Ciphertext-only), Bản rõ đã biết (Known-plaintext), Bản rõ được lựa chọn (Chosen-plaintext), và Bản mã được lựa chọn (Chosen-ciphertext).
    • Phân tích thống kê ngôn ngữ: Bảng xác suất 26 chữ cái tiếng Anh của Beker và Piper chia thành 5 nhóm tần suất; danh mục 30 bộ đôi (digrams) và 12 bộ ba (trigrams) thông dụng nhất.
    • Phương pháp thám mã Vigenère: Phép thử Kasiski (Kasiski Friedrich, 1863) tìm ước chung của khoảng cách lặp để xác định độ dài khóa $m$; Chỉ số trùng hợp (Index of Coincidence - $I_c$) do Wolfe Friedman (1920) đề xuất (văn bản tiếng Anh $I_c \approx 0{,}065$, xâu ngẫu nhiên $I_c \approx 0{,}038$); Chỉ số trùng hợp tương hỗ ($MI_c$) để xác định độ dịch tương đối $k_i - k_j \bmod 26$ giữa các xâu con.
    • Thám mã hệ Hill: Sử dụng mô hình tấn công bản rõ đã biết để lập phương trình ma trận $Y = XK \Rightarrow K = X^{-1}Y \bmod 26$.
+-------------------------------------------------------------------------+
|                  HỆ MẬT MÃ BỘ 5 (P, C, K, E, D)                         |
+-------------------------------------------------------------------------+
                                    |
          +-------------------------+-------------------------+
          |                                                   |
+----------------------+                             +--------------------+
|  MẬT MÃ KHỐI CỔ ĐIỂN |                             |    MẬT MÃ DÒNG     |
+----------------------+                             +--------------------+
          |                                                   |
    +-----+--------------------+                      +-------+-------+
    |                          |                      |               |
[Đơn biểu]                [Đa biểu]              [Đồng bộ/LFSR]  [Không đồng bộ]
- Mã dịch vòng/Caesar     - Mã Vigenère          - Đệ quy tuyến  - Mã khóa tự sinh
- Mã thay thế (26!)       - Mã ma trận Hill        tính (2^m - 1)
- Mã Affine (ax + b)

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

  1. Đại số trừu tượng và Số học Modulo: Lý thuyết đồng dư trên tập $\mathbb{Z}_m$, cấu trúc nhóm Abel, vành hữu hạn, trường $\mathbb{Z}_p$, tính chất hàm số Euler $\phi(m)$, và thuật toán tìm phần tử nghịch đảo nhân modulo.
  2. Đại số tuyến tính trên vành hữu hạn: Các phép toán ma trận, định thức, ma trận bù đại số, điều kiện khả nghịch modulo 26, và kỹ thuật giải hệ phương trình ma trận trên $\mathbb{Z}_{26}$.
  3. Lý thuyết xác suất và thống kê ứng dụng: Phân bố xác suất ký tự đơn lẻ, phân tích chuỗi $n$-gram, chỉ số trùng hợp và chỉ số trùng hợp tương hỗ.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật: Cài đặt các thuật toán biến đổi ký tự, mã hóa đại số, tính toán ma trận nghịch đảo và mô phỏng hoạt động của thanh ghi dịch LFSR.
  • Kỹ năng phân tích: Đánh giá không gian khóa, tính toán độ phức tạp thuật toán mã thám, phân loại nguy cơ an ninh mạng và xác định cấp độ tấn công.
  • Kỹ năng giải quyết bài toán: Khôi phục khóa bí mật từ bản mã thông qua phân tích phân bố thống kê tần suất và giải hệ phương trình đồng dư tuyến tính.

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

Phương pháp tiếp cận sư phạm

Giáo trình sử dụng phương pháp diễn dịch kết hợp quy nạp toán học. Nội dung đi từ việc thiết lập các định nghĩa hình thức (bộ 5 của hệ mật, cấu trúc vành $\mathbb{Z}_m$), phát biểu các định lý toán học (điều kiện nghiệm duy nhất của phương trình đồng dư, tính khả nghịch của ma trận), sau đó áp dụng vào xây dựng thuật toán mã hóa và đối sánh trực tiếp bằng quy trình giải mã và thám mã thực nghiệm.

Bài tập và các ca thực nghiệm điển hình

Tài liệu cung cấp các ví dụ tính toán số học chi tiết từng bước:

  • Mã dịch vòng: Mã hóa chuỗi "wewillmeetatmidnight" với $K = 11$ thành "HPHTWWXPPELEXTOYTRSE"; thám mã bản mã "JBCRCLQRWCRVNBJENBWRWN" bằng phương pháp vét cạn 13 bước để tìm ra khóa $K = 9$ và bản rõ "astitchintimesavesnine".
  • Mã Affine: Mã hóa từ "hot" với khóa $K = (7, 3)$ thành bản mã "AXG"; quy trình thám mã bản mã 57 ký tự "FMXVEDRAPHFERBNDKRXRSREFMORUDSDKDVSHVUFEDKPKDLYEVLRHHRH" qua giải hệ phương trình đồng dư tuyến tính $4a + b \equiv 17 \pmod{26}$ và $19a + b \equiv 3 \pmod{26}$, loại bỏ các khóa không hợp lệ để xác định $K = (3, 5)$ và giải mã thành công bản rõ "algorithmsarequitegeneraldefinitionsof arithmeticprocesses".
  • Mã thay thế: Thám mã bản mã phức tạp sử dụng phân tích tần suất ký tự $Z$ ($d_K(Z) = e$), phân tích các bộ đôi $ZW, DZ, NZ$ và các nguyên âm để khôi phục đoạn văn bản gốc tiếng Anh ("Our friend from Pais examined his empty glass with surprise...").
  • Mã Vigenère: Mã hóa chuỗi "Thiscryptosystemisnotsecure" với từ khóa "CIPHER" ($m = 6$) thành "VPXZGIAXIVWPUBTTMJPWIZITWZT"; thám mã văn bản 348 ký tự bằng phép thử Kasiski tìm các khoảng cách lặp của cụm "CHR" (khoảng cách 165, 235, 285 có ước chung là 5), kết hợp tính toán chỉ số trùng hợp $I_c$ và chỉ số trùng hợp tương hỗ $MI_c$ để xác định từ khóa "JANET" và khôi phục bản rõ ("The almond tree was in tentative blossom...").
  • Mã Hill: Mã hóa từ "July" với ma trận khóa $K = \begin{pmatrix} 11 & 8 \ 3 & 7 \end{pmatrix}$ thành "DELW"; thực hiện thám mã bản rõ đã biết trên chuỗi "Friday" với bản mã "PQCFKU" qua việc nghịch đảo ma trận $X$ để tìm $K = \begin{pmatrix} 7 & 19 \ 8 & 3 \end{pmatrix}$.
  • Mã dòng và LFSR: Tạo dòng khóa tuần hoàn chu kỳ 15 từ quan hệ đệ quy $z_{i+4} = (z_i + z_{i+1}) \bmod 2$ với vector khởi tạo $(1, 0, 0, 0)$; mã hóa chuỗi "rendezvous" bằng mã khóa tự sinh với $K = 8$ thành "ZVRQHDUJIM".
+---------------------------------------------------------------------------------+
|                       QUY TRÌNH THÁM MÃ VIGENÈRE                                |
+---------------------------------------------------------------------------------+
| 1. Bản mã y                                                                     |
|    --> 2. Phép thử Kasiski & Chỉ số trùng hợp Ic --> Xác định độ dài khóa m     |
|    --> 3. Chia y thành m xâu con y1, y2, ..., ym                                |
|    --> 4. Tính chỉ số trùng hợp tương hỗ MIc(yi, yj) --> Tìm độ dịch tương đối  |
|    --> 5. Vét cạn 26 trường hợp khóa cơ sở --> Khôi phục từ khóa hoàn chỉnh    |
|    --> 6. Giải mã ra Bản rõ x                                                   |
+---------------------------------------------------------------------------------+

Phương pháp đánh giá và hướng dẫn tự học

  • Đánh giá học tập: Thông qua các bài tập kiểm tra tính đúng đắn của thuật toán, bài toán giải hệ phương trình đồng dư tìm khóa giải mã, tính định thức và ma trận nghịch đảo trên $\mathbb{Z}_{26}$, và bài tập lập trình mô phỏng các kỹ thuật mã thám.
  • Hướng dẫn tự học: Người học cần thực hành chuyển đổi thủ công bảng chữ cái sang tập thặng dư $\mathbb{Z}_{26}$, làm quen với các bảng tra cứu xác suất thống kê ký tự của Beker - Piper, tự kiểm tra quy trình giải mã cho các bài tập mở trong tài liệu (như giải mã chuỗi "AXG" trong mã Affine).

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

  • Tính hệ thống và chuẩn hóa giải thuật: Giáo trình chuẩn hóa định nghĩa toán học của hệ mật mã thông qua cấu trúc đại số và bộ tham số hình thức, tạo tiền đề tiếp cận trực tiếp với các tiêu chuẩn mật mã hiện đại.
  • Cân bằng giữa Mật mã hóa (Cryptography) và Thám mã (Cryptanalysis): Thay vì chỉ trình bày chiều thuận (mã hóa và giải mã), tài liệu dành dung lượng phân tích chi tiết chiều nghịch (phá mã) dựa trên các công trình kinh điển: bảng phân tích tần suất của Beker và Piper, phép thử Kasiski (1863), phương pháp chỉ số trùng hợp của Wolfe Friedman (1920).
  • Liên kết giữa thuật toán phần mềm và phần cứng: Trình bày rõ ràng nguyên lý hoạt động của các bộ ghi dịch hồi tiếp tuyến tính (LFSR), minh họa cách ứng dụng mạch logic (phép cộng XOR modulo 2) để sinh dòng khóa giả ngẫu nhiên có chu kỳ cực đại $2^m - 1$.
  • Mô hình hóa an toàn thông tin mạng: Tổng kết đầy đủ 6 chiến lược bảo vệ hệ thống (Quyền hạn tối thiểu, Phòng thủ theo chiều sâu, Nút thắt, Mắt xích yếu nhất, Tính toàn cục, Tính đa dạng) và 6 lớp rào chắn an ninh mạng từ mức quản trị vật lý đến tầng ứng dụng.

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

  • Sinh viên đại học và học viên cao học:
    • Sinh viên các ngành Công nghệ thông tin, An toàn thông tin, Mạng máy tính và Truyền thông dữ liệu, Khoa học máy tính, Kỹ thuật Điện tử – Viễn thông, Toán tin ứng dụng.
    • Phù hợp giảng dạy từ năm thứ 2 đến năm thứ 4 sau khi sinh viên đã hoàn thành các học phần đại cương.
  • Yêu cầu kiến thức tiên quyết (Prerequisites):
    • Toán rời rạc (lý thuyết chia hết, đồng dư, tổ hợp).
    • Đại số tuyến tính (ma trận, định thức, hệ phương trình tuyến tính).
    • Xác suất thống kê cơ bản.
    • Cơ sở mạng máy tính và cấu trúc dữ liệu.
  • Giảng viên: Sử dụng làm khung bài giảng chuẩn cho học phần An toàn và bảo mật thông tin, khai thác hệ thống dữ liệu số học mẫu để xây dựng ngân hàng câu hỏi thi và bài tập thực hành thám mã.
  • Tự học và nghiên cứu: Tài liệu tham khảo nền tảng cho lập trình viên, chuyên viên an ninh mạng cần nắm vững bản chất toán học của các cơ chế mã hóa trước khi đi sâu vào mật mã khóa công khai và an toàn ứng dụng.

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

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, học viên cao học thuộc các ngành kỹ thuật công nghệ thông tin, viễn thông và toán tin, cũng như các kỹ sư mạng muốn củng cố nền tảng lý thuyết mật mã học.

2. Người học cần chuẩn bị kiến thức nền tảng gì trước khi đọc giáo trình?

Cần nắm vững kiến thức toán học về số học modulo (tập $\mathbb{Z}_m$), đại số tuyến tính (phép nhân và nghịch đảo ma trận), các khái niệm cơ bản về cấu trúc đại số (nhóm, vành, trường) và kiến thức tổng quan về kiến trúc mạng máy tính.

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

Tài liệu tập trung sâu vào bản chất toán học của các hệ mật và giải thuật thám mã thực nghiệm, phân tích chi tiết từng bước tính toán số học trên các bản mã mẫu, không dừng lại ở mức mô tả khái niệm định tính.

4. Làm thế nào để tự học và làm chủ các thuật toán trong giáo trình một cách hiệu quả?

Người học nên thực hiện tính toán tay các ví dụ số học trên tập $\mathbb{Z}_{26}$, vẽ sơ đồ dịch chuyển bit của LFSR, sau đó lập trình tự động hóa các thuật toán phân tích tần suất, phép thử Kasiski và giải ma trận khóa trên máy tính.

5. Giáo trình cung cấp những tài liệu bổ trợ và công cụ phân tích nào?

Tài liệu tích hợp sẵn bảng xác suất xuất hiện của 26 chữ cái tiếng Anh, danh mục 30 bộ đôi và 12 bộ ba thông dụng theo nghiên cứu của Beker và Piper, cùng bảng giá trị mẫu chỉ số trùng hợp tương hỗ ($MI_c$) phục vụ việc giải mã thực nghiệm.


Kết luận

Giáo trình An toàn và bảo mật thông tin của Đại học Bách khoa Hà Nội cung cấp hệ thống kiến thức nền tảng và chuẩn mực về lý thuyết an toàn hệ thống và mật mã học cổ điển. Lộ trình học tập đề xuất đi từ việc nắm vững nguyên lý an ninh mạng và các mô hình tấn công tại Chương 1, chuyển tiếp sang làm chủ cơ sở đại số số học modulo và các hệ mã hóa đơn biểu, đa biểu, mã dòng cùng kỹ thuật thám mã thống kê tại Chương 2. Đây là bước đệm lý thuyết trực tiếp để người học tiếp tục nghiên cứu các chuyên đề mật mã hiện đại như mật mã khóa công khai (RSA, ECC), hàm băm mật mã và các giao thức an toàn mạng nâng cao.