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

Giáo trình Khái Niệm Cơ Bản Về An Toàn Bảo Mật Thông Tin (hay Mật mã và An toàn Thông tin) do tác giả Nguyễn Khanh Văn, Bộ môn H3T, Khoa Công nghệ Thông tin – Trường Đại học Bách Khoa Hà Nội (HUT) biên soạn năm 2000. Đây là tài liệu giảng dạy chuyên đề được thiết kế cho chương trình đào tạo đại học ngành Công nghệ Thông tin, định hướng trực tiếp cho sinh viên năm cuối chuẩn bị làm đồ án tốt nghiệp hoặc tiếp cận các nghiên cứu chuyên sâu về an ninh mạng và bảo vệ dữ liệu.

Mục tiêu học tập của giáo trình tập trung vào việc cung cấp một hệ thống lý thuyết và phương pháp luận hoàn chỉnh về an toàn hệ thống tin học. Người học được trang bị các nguyên tắc bảo vệ tài sản số, phân tích mô hình đe dọa, nắm vững nền tảng toán học của mật mã học cổ điển và hiện đại, hiểu rõ cơ chế vận hành của các thuật toán mã khóa công khai, hàm băm, chữ ký điện tử và các giao thức quản lý khóa.

Giáo trình tiếp cận theo cấu trúc phân tầng logic: xuất phát từ bức tranh tổng quan về an toàn hệ thống (mục tiêu CIA, phân loại mối đe dọa, các biện pháp kiểm soát), đi qua nền tảng lý thuyết thông tin và thám mã cổ điển, sau đó nâng cấp lên các kiến trúc mật mã hiện đại (mã khóa công khai RSA, El-Gamal, Rabin), và kết thúc ở các ứng dụng xác thực, chữ ký số chuyên dụng cùng giao thức phân phối khóa.

Điểm đặc thù của giáo trình là tính toán học chặt chẽ. Thay vì dừng lại ở việc mô tả cách sử dụng công cụ phần mềm, tài liệu tập trung diễn giải bản chất thuật toán dựa trên số học đồng dư, lý thuyết số lớn, độ phức tạp tính toán và các định lý xác thực mức độ an toàn (như định lý Shannon, định lý Euler, định lý Lehman, nguyên lý Dirichlet trong nghịch lý ngày sinh).


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

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

Cấu trúc giáo trình bao gồm 5 học phần cốt lõi được sắp xếp theo tiến trình phát triển của khoa học mật mã:

┌────────────────────────────────────────────────────────┐
│  Chương 0: Tổng quan ATBM & Mô hình truyền tin cơ bản  │
└───────────────────────────┬────────────────────────────┘
                            │
┌───────────────────────────▼────────────────────────────┐
│  Chương 1: Mật mã cổ điển & Lý thuyết Shannon          │
└───────────────────────────┬────────────────────────────┘
                            │
┌───────────────────────────▼────────────────────────────┐
│  Chương 3: Hệ thống mã khóa công khai (PKC)            │
└───────────────────────────┬────────────────────────────┘
                            │
┌───────────────────────────▼────────────────────────────┐
│  Chương 4: Chữ ký điện tử & Hàm băm mật mã             │
└───────────────────────────┬────────────────────────────┘
                            │
┌───────────────────────────▼────────────────────────────┐
│  Chương 5: Quản lý khóa & Giao thức Diffie-Hellman     │
└────────────────────────────────────────────────────────┘
  • Chương 0 – Bài mở đầu về ATBM Thông tin: Thiết lập khuôn khổ lý thuyết ban đầu về an toàn hệ thống. Xác định 3 đối tượng tài sản (phần cứng, phần mềm, dữ liệu), 3 hình thức đe dọa (phá hoại, can thiệp, sửa đổi) và 3 mục tiêu cốt lõi của an toàn thông tin (tam giác CIA: Confidentiality – Tính bí mật, Integrity – Tính toàn vẹn, Availability – Tính sẵn dùng). Chương này cũng định hình mô hình truyền tin bảo mật chuẩn gồm người gửi ($S$), người nhận ($R$), kẻ địch ($E$), bản rõ ($X$), bản mã ($Y$), khóa ($Z$) và giả thiết cơ bản của Kerckhoffs về việc thuật toán luôn công khai, độ an toàn chỉ phụ thuộc vào tính bí mật của khóa.
  • Chương 1 – Một số cipher cổ điển: Phân tích các thuật toán mã hóa đơn bảng thế (Monoalphabetic ciphers) bao gồm mã dịch chuyển cộng (Additive cipher/Caesar: $Y = X \oplus Z \pmod{26}$), mã nhân tính (Multiplicative cipher: $Y = X \otimes Z \pmod{26}$ với $\gcd(Z, 26) = 1$), và mã Affine. Chương này đi sâu vào kỹ thuật thám mã thống kê (Statistical cryptanalysis) dựa trên tần suất xuất hiện của ký tự đơn, bigram và trigram trong ngôn ngữ tự nhiên. Tiếp theo là các phương pháp làm phẳng đồ thị tần suất bằng bảng thế đồng âm (Homophonic substitution) và mã đa bảng thế (Polyalphabetic/Vigenère cipher) sử dụng chỉ số trùng khớp $IC$ (Index of Coincidence) để tìm độ dài khóa. Cuối cùng, lý thuyết bí mật tuyệt đối của Claude Shannon (1949) được chứng minh thông qua mô hình One-Time Pad (mã Vernam) cùng khái niệm khoảng cách đơn nhất ($N_0$ – Unicity Distance) dựa trên độ dư thừa ngôn ngữ $d = R - r$.
  • Chương 3 – Hệ thống mã với khóa công khai (Public Key Cryptosystems - PKC): Phân tích hạn chế của hệ mã đối xứng khi quản lý $n(n-1)/2$ khóa trong mạng $n$ người dùng và sự phụ thuộc vào bên thứ ba tin cậy (Trusted Authority). Giới thiệu nguyên lý hàm một chiều có cửa bẫy (Trapdoor one-way function) đề xuất bởi Diffie & Hellman (1976). Trình bày chi tiết hệ mã Merkle-Hellman Knapsack dựa trên bài toán đóng thùng và vector siêu tăng (cùng phân tích nguyên nhân đổ vỡ do các nghiên cứu của Shamir-Adleman và Brickell). Đi sâu vào thuật toán RSA: bài toán phân tích số nguyên lớn ra thừa số nguyên tố, định lý Euler ($X^{\phi(n)} \equiv 1 \pmod n$), giải thuật Euclid mở rộng tìm phần tử nghịch đảo modulo, thuật toán lũy thừa nhanh (bình phương và nhân), thuật toán kiểm tra tính nguyên tố Lehman, và các dạng tấn công RSA (Common modulus attack, Low exponent attack, Low decryption attack). Khảo sát các hệ mã PKC khác gồm hệ Rabin ($Y = X^2 \pmod N$) và hệ El-Gamal dựa trên logarit rời rạc.
  • Chương 4 – Chữ ký điện tử và Hàm băm: Xây dựng mô hình chữ ký điện tử (Digital Signature - DS) gồm thuật toán sinh chữ ký $S_A(X)$ và kiểm định $V_A(X, S)$, cung cấp tính toàn vẹn và chống chối bỏ (Non-repudiation). Phân tích các thuộc tính của hàm băm mật mã (One-way, Collision-free) nhằm khắc phục nhược điểm của việc ký trực tiếp bằng PKC. Trình bày chi tiết tấn công ngày sinh (Birthday attack) dựa trên Birthday Paradox với công thức ước lượng xác suất đụng độ $P(m, k) \approx 1 - e^{-\frac{k(k-1)}{2m}}$ và yêu cầu kích thước không gian băm tối thiểu. Khảo sát các sơ đồ băm từ mã khối (ANSI X9.9, RMDP, Davies-Meyer), phép toán số học đồng dư, và các hàm băm chuyên dụng (MD5 của Rivest, Snefru của Merkle, HAVAL). Phân tích các sơ đồ chữ ký điện tử RSA, El-Gamal, chuẩn DSA (NIST 1994) cùng các biến thể chữ ký đặc biệt: Chữ ký mù (Blind signature trong hệ thống tiền mặt điện tử e-cash bảo đảm quyền riêng tư), Chữ ký nhóm (Group signature), Chữ ký không thể phủ nhận (Undeniable signature), Đồng ký (Multisignature), và Chữ ký ủy nhiệm (Proxy signature).
  • Chương 5 – Quản lý khóa: Đánh giá các phương thức phân phối khóa trong hệ đối xứng (kênh vật lý, trung tâm phân phối khóa KDC) và hiện tượng nút cổ chai (bottleneck). Trình bày giao thức trao đổi và thống nhất khóa Diffie-Hellman thông qua kênh truyền công cộng dựa trên số mũ đồng dư và phần tử nguyên thủy.

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

Giáo trình thiết lập hệ thống lý thuyết dựa trên 3 trụ cột toán học và kỹ thuật:

  1. Lý thuyết thông tin và Xác suất thống kê: Xây dựng khái niệm entropy thông tin, tỷ lệ tuyệt đối ($R = \log_2 A$), tỷ lệ thực ($r$), độ dư thừa ngôn ngữ ($d = R - r$), và phân phối xác suất có điều kiện $P(X) = P(X|Y)$ trong bài toán bảo mật tuyệt đối. Phân tích xác suất va chạm hàm băm dựa trên phân phối đồng đều và nguyên lý Dirichlet.
  2. Lý thuyết số và Số học Modular: Cung cấp cơ sở cho các thuật toán mã hóa hiện đại thông qua các cấu trúc và định lý: trường hữu hạn $Z_n$, ước số chung lớn nhất ($\gcd$), phần tử nguyên thủy, định lý số dư Euler, tính nghịch đảo nhân modulo bằng thuật toán Euclid mở rộng, và độ phức tạp của bài toán logarit rời rạc cũng như bài toán phân tích thừa số nguyên tố lớn ($L(n)$).
  3. Mô hình kiến trúc bảo mật hệ thống: Xây dựng mô hình phân lớp kiểm soát từ phần cứng, hệ điều hành, cơ sở dữ liệu đến các chính sách an toàn thông tin (như chính sách thay đổi mật khẩu định kỳ, kiểm soát truy cập DBMS).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật: Thực hiện các phép tính số học modular trên số lớn, tính toán chuỗi khóa, sinh cặp khóa RSA $(e, n)$ và $(d, p, q)$, triển khai giải thuật tính lũy thừa nhanh theo modulo $n$, áp dụng giải thuật Euclid mở rộng tìm khóa giải mã, tính toán chỉ số trùng khớp $IC$ trên văn bản mã hóa.
  • Kỹ năng phân tích thám mã: Phân tích biểu đồ phân bố tần suất ký tự để bẻ khóa các hệ mật mã thay thế cổ điển; đánh giá độ an toàn của hệ thống thông qua khoảng cách đơn nhất $N_0$; xác định các nguy cơ tiềm ẩn trong triển khai hệ thống (như sử dụng chung modulo trong RSA hoặc không gian băm quá nhỏ dưới 64-bit).
  • Kỹ năng thiết kế hệ thống: Kết hợp linh hoạt giữa mã khóa công khai (PKC - dùng cho khởi động mồi, trao đổi khóa và ký số) và mã khóa đối xứng (SKC - dùng cho mã hóa dữ liệu tốc độ cao) nhằm tối ưu hóa hiệu năng và độ an toàn trên toàn hệ thống mạng.

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

Giáo trình được biên soạn phục vụ trực tiếp cho công tác giảng dạy trên giảng đường đại học với phương pháp tiếp cận diễn dịch: đi từ các mô hình khái quát hóa cao nhất để định hình bức tranh toàn cảnh, sau đó phân tích sâu vào các công thức toán học và giải thuật cụ thể, rồi tổng hợp lại thành các giải pháp ứng dụng trong các hệ thống mạng và thương mại điện tử.

┌────────────────────────────────────────────────────────┐
│ 1. Khái quát hóa lý thuyết (Mục tiêu CIA, Luật Kerckhoffs)│
└───────────────────────────┬────────────────────────────┘
                            │
┌───────────────────────────▼────────────────────────────┐
│ 2. Mô hình hóa toán học (Lý thuyết số, Xác suất, Euclid)│
└───────────────────────────┬────────────────────────────┘
                            │
┌───────────────────────────▼────────────────────────────┐
│ 3. Triển khai thuật toán (RSA, El-Gamal, MD5, Vigenère)│
└───────────────────────────┬────────────────────────────┘
                            │
┌───────────────────────────▼────────────────────────────┐
│ 4. Ứng dụng thực tế & Thám mã (E-cash, Trao đổi khóa)  │
└────────────────────────────────────────────────────────┘

Tài liệu tích hợp hệ thống ví dụ tính toán số học chi tiết để sinh viên thực hành từng bước:

  • Ví dụ giải mã thám mã thống kê: Trình bày bảng phân tích tần suất cụ thể của đoạn văn bản mã hóa 338 ký tự tiếng Anh để khôi phục từng cặp ký tự bản rõ và bản mã.
  • Ví dụ tính toán số học RSA: Minh họa quy trình chọn $p=11, q=13 \implies n=143, m=120$, chọn $e=37$ và dùng Euclid mở rộng tính $d=13$, thực hiện phép mã hóa khối dữ liệu $X=2 \implies Y=12$ và giải mã ngược lại.
  • Ví dụ thuật toán Euclid mở rộng: Bảng tính từng bước truy hồi các tham số $(r, q, a_1, b_1, a_2, b_2)$ để tìm phần tử nghịch đảo của 11 modulo 39.
  • Ví dụ chữ ký mù trong thanh toán điện tử: Minh họa luồng dữ liệu giữa Alice (người rút tiền), Nhà băng (bên ký căn bậc 3 modulo $N$) và Bob (người bán hàng) để tạo ra đồng tiền điện tử vô danh.

Về phương pháp tự học và đánh giá, tài liệu đưa ra các câu hỏi mở và bài tập yêu cầu người học tự chứng minh các định lý toán học (như chứng minh công thức tổng quát của Birthday Paradox, chứng minh tại sao $p$ và $q$ trong RSA phải có độ dài xấp xỉ nhau, giải thích nguyên nhân hàm băm Davies-Price không đạt tính chất một chiều). Do văn bản gốc mang tính chất đề cương soạn giảng thử nghiệm, tác giả lưu ý sinh viên cần kết hợp chặt chẽ việc đọc tài liệu với việc nghe giảng giải chi tiết trên lớp để nắm bắt đầy đủ các chứng minh toán học phức tạp.


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

Tại thời điểm biên soạn (năm 2000), giáo trình phản ánh các bước phát triển quan trọng của ngành an toàn thông tin toàn cầu:

Chủ đề / Lĩnh vực Nội dung cập nhật trong giáo trình Dữ kiện / Tác giả trích dẫn
Hệ thống mã khóa công khai Sự chuyển dịch từ mã hóa đối xứng cổ điển sang mã phi đối xứng Diffie & Hellman (1976), RSA (1978)
Phân tích lỗ hổng thuật toán Lỗ hổng cấu trúc của hệ mã Knapsack và các dạng tấn công RSA Shamir-Adleman (1982), Brickell (1984), Coppersmith
Tiêu chuẩn hàm băm mật mã Các thuật toán băm tối ưu cho kiến trúc vi xử lý 32-bit và phân tích va chạm MD5 (Rivest 1992), Snefru (Merkle 1989), Biham, HAVAL
Tiêu chuẩn chữ ký số Các chuẩn mật mã quốc tế và phản biện học thuật DSA (NIST 1994), El-Gamal
Ứng dụng thương mại điện tử Bảo vệ quyền riêng tư người dùng trong thanh toán số Blind signature, E-cash protocols, Public Notary

Giáo trình không chỉ trình bày các thuật toán thành công mà còn phân tích chi tiết các mô hình thất bại hoặc bị phá vỡ trong lịch sử mật mã học (như hệ Knapsack bị bẻ gãy sau 1 giờ tính toán trên siêu máy tính Cray-1, hệ băm Davies-Price bị chứng minh không đạt tính một chiều bởi Girault). Cách tiếp cận này giúp sinh viên hiểu rõ ranh giới giữa an toàn lý thuyết (Unconditional/Perfect secrecy) và an toàn thực tế (Practical security) dựa trên năng lực tính toán.


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

Giáo trình được biên soạn phục vụ các nhóm đối tượng học thuật và chuyên môn sau:

┌────────────────────────────────────────────────────────┐
│             ĐỐI TƯỢNG SỬ DỤNG GIÁO TRÌNH               │
├──────────────────────────┬─────────────────────────────┤
│ Sinh viên năm cuối       │ Ngành CNTT, Kỹ thuật Máy    │
│ & Học viên Cao học       │ tính, An toàn Mạng          │
├──────────────────────────┼─────────────────────────────┤
│ Giảng viên Đại học       │ Thiết kế đề cương môn học,  │
│                          │ xây dựng bài tập số học     │
├──────────────────────────┼─────────────────────────────┤
│ Kỹ sư & Lập trình viên   │ Tra cứu nguyên lý PKC,      │
│                          │ thiết lập giao thức bảo mật │
└──────────────────────────┴─────────────────────────────┘
  1. Sinh viên năm 3, năm 4 và Học viên cao học: Chuyên ngành Công nghệ Thông tin, Mạng máy tính và Truyền thông, Khoa học Máy tính. Tài liệu cung cấp cơ sở lý thuyết để thực hiện các đồ án tốt nghiệp liên quan đến xác thực người dùng, bảo mật cơ sở dữ liệu, thiết lập đường truyền mã hóa hoặc xây dựng cổng thanh toán trực tuyến.
  2. Yêu cầu kiến thức tiên quyết (Prerequisites): 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ị, số học đồng dư, đại số trừu tượng), Cấu trúc dữ liệu và Giải thuật, Xác suất thống kê, và Kiến trúc mạng máy tính/Hệ điều hành.
  3. Giảng viên chuyên ngành: Sử dụng giáo trình làm khung tham chiếu cấu trúc giảng dạy môn An toàn và Bảo mật Thông tin, khai thác hệ thống ví dụ tính toán số học để thiết kế bài tập kiểm tra và định hướng đề tài nghiên cứu cho sinh viên.
  4. Kỹ sư phát triển phần mềm và Chuyên viên bảo mật: Tra cứu các nguyên lý mã hóa nền tảng, nắm vững cơ chế hoạt động của thuật toán trao đổi khóa Diffie-Hellman, thuật toán RSA và các yêu cầu kỹ thuật khi triển khai hàm băm và chữ ký số trong môi trường sản xuất.

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

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

Giáo trình được thiết kế chuẩn cho sinh viên đại học năm cuối và học viên cao học thuộc khối ngành Công nghệ Thông tin, Kỹ thuật Mạng và An ninh Thông tin. Ngoài ra, tài liệu phù hợp cho các kỹ sư phần mềm muốn nắm vững bản chất toán học của các giao thức mật mã.

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

Người học cần có nền tảng vững chắc về Toán rời rạc (đặc biệt là số học đồng dư, phép chia modulo, số nguyên tố), Đại số tuyến tính, Xác suất thống kê cơ bản, Cấu trúc dữ liệu và hiểu biết tổng quan về giao thứ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 khác là gì?

Tài liệu tập trung vào nền tảng lý thuyết toán học và cơ chế thám mã thực tế (Cryptanalysis) thay vì chỉ hướng dẫn cấu hình phần mềm bảo mật. Giáo trình phân tích chi tiết các định lý nền tảng (Shannon, Euler, Lehman), các thuật toán kinh điển (RSA, Rabin, El-Gamal, Knapsack), và các biến thể chữ ký số chuyên dụng (Blind, Group, Proxy signature).

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

Người học nên kết hợp đọc lý thuyết với việc tự giải lại bằng tay các ví dụ tính toán số học trong tài liệu (như thuật toán Euclid mở rộng, quy trình sinh khóa RSA, giải mã thống kê văn bản). Sau đó, viết các đoạn mã chương trình nhỏ (bằng C/C++ hoặc Python) để mô phỏng lại các thuật toán tính lũy thừa nhanh, kiểm tra số nguyên tố Lehman và phân tích tần suất ký tự.

5. Giáo trình có đề cập đến các tài liệu bổ trợ hoặc chuẩn mật mã nào?

Giáo trình dẫn chiếu trực tiếp đến các công trình học thuật nền tảng: bài báo về lý thuyết thông tin của Claude Shannon (1949), bài báo New Directions in Cryptography của Diffie & Hellman (1976), các công bố của Rivest - Shamir - Adleman về RSA (1978), các nghiên cứu thám mã của Merkle, Biham, Coppersmith, chuẩn mã hóa ngân hàng ANSI X9.9 và tiêu chuẩn chữ ký số DSA (NIST 1994).


Kết luận

Giáo trình Khái Niệm Cơ Bản Về An Toàn Bảo Mật Thông Tin của tác giả Nguyễn Khanh Văn (Đại học Bách Khoa Hà Nội) là tài liệu học thuật hệ thống hóa toàn diện các nguyên lý bảo mật hệ thống và mật mã học. Tài liệu cung cấp đường dẫn nghiên cứu logic từ các mô hình bảo mật tổng quan (tam giác CIA), mật mã học cổ điển, lý thuyết thông tin Shannon đến các cấu trúc mật mã khóa công khai, hàm băm và các giao thức chữ ký điện tử hiện đại.

Lộ trình học tập đề xuất bắt đầu từ việc nắm vững mô hình an toàn thông tin và kỹ thuật thám mã thống kê ở Chương 0 và 1, tiếp tục làm chủ các phép toán số học đồng dư cùng thuật toán PKC ở Chương 3, và hoàn thiện kỹ năng thiết kế giao thức xác thực, chữ ký số và quản lý khóa ở Chương 4 và 5. Để mở rộng kiến thức, người học nên nghiên cứu thêm các bài báo khoa học gốc của Claude Shannon, Diffie - Hellman, Rivest - Shamir - Adleman và các tài liệu tiêu chuẩn mật mã học quốc tế do NIST và ANSI ban hành.