Mô Tả Học Thuật Giáo Trình: Chương 6 – Hàm Băm và Chữ Ký Số (An Toàn Thông Tin)
Tổng quan về giáo trình
Tài liệu học tập "Chương 6: Hàm băm – Chữ ký số" (Hash Function - Digital Signatures) là một phần trong chương trình giảng dạy học phần An toàn thông tin, do Bộ môn Hệ thống thông tin – Trường Đại học Công nghiệp Thành phố Hồ Chí Minh biên soạn (giảng viên biên soạn ghi nhận: Nguyễn Thị Hạnh). Về mặt vị trí học phần, nội dung này đóng vai trò là khối kiến thức chuyên sâu về mật mã học ứng dụng, kết nối trực tiếp giữa lý thuyết mã hóa khóa công khai với các giao thức bảo mật dữ liệu và truyền thông an toàn trong môi trường mạng.
Mục tiêu học tập của tài liệu tập trung vào việc trang bị cho người học:
- Hiểu rõ cơ chế toán học và nguyên lý vận hành của các hàm băm một chiều (One-way Hash Functions).
- Nắm vững các mục tiêu an toàn thông tin cốt lõi gồm: Tính toàn vẹn dữ liệu (Data Integrity), Xác thực thông điệp (Message Authentication) và Tính chống chối bỏ trách nhiệm (Non-repudiation).
- Phân tích quy trình tạo lập, kiểm tra chữ ký số và đánh giá các nguy cơ tấn công giả mạo (Forgery Attacks).
Cấu trúc tài liệu được tổ chức thành hai phân hệ kiến thức liên hoàn: Phân hệ lý thuyết hàm băm (định nghĩa, không gian giá trị, tính chất chống va chạm, nghịch lý ngày sinh, các thuật toán SHA-1, MD5) và Phân hệ chữ ký số (nguyên lý khóa công khai, quy trình ký/thẩm tra trên cốt thông điệp, các sơ đồ chữ ký tiêu chuẩn, phân loại tấn công và các biến thể chữ ký mở rộng).
Điểm đặc sắc của tài liệu là phương pháp trình bày dựa trên dữ liệu chuẩn tắc, kết hợp mô hình hóa quy trình xác thực dữ liệu và tham chiếu trực tiếp đến tài liệu học thuật quốc tế Cryptography & Network Security (McGraw-Hill, Inc., Chapter 13).
Nội dung kiến thức cốt lõi
Các chương và chủ đề chính
Tài liệu học tập Chương 6 được tổ chức tuần tự theo các chủ đề chuyên môn sau:
[Nhu cầu toàn vẹn & Hàm băm]
[Lý thuyết Chữ ký số (Public-Key)]
- Nhu cầu toàn vẹn dữ liệu và định nghĩa hàm băm: Trình bày khái niệm "niêm phong" thông điệp (băm, tóm lược - message digest, checksum). Xác định hàm băm $h = H(x)$ là giải thuật không sử dụng khóa, ánh xạ thông điệp $M$ có kích thước bất kỳ thành bản đại diện có độ dài cố định, mang tính chất một chiều (khó tính nghịch đảo).
- Không gian giá trị và tính chất an toàn của hàm băm: Phân tích sự chênh lệch giữa không gian thông điệp và không gian giá trị băm dẫn đến sự tồn tại của đụng độ ($h(x) = h(x')$ với $x \neq x'$). Thiết lập ba tính chất an toàn:
- Tính chống tiền ảnh (Preimage resistant / One-way).
- Tính chống tiền ảnh thứ hai (Second preimage resistant / Weak collision resistant).
- Tính chống trùng mạnh (Strong collision resistant).
- Nghịch lý ngày sinh (Birthday Paradox) và độ phức tạp tính toán: Mô hình hóa toán học xác suất va chạm thông qua bài toán tìm hai người có cùng ngày sinh ($M \ge 23$ cho xác suất $> 50%$ theo công thức $M(M-1) \ge 2 \times 365 \times \ln 2$) và bài toán tìm người trùng ngày sinh với một cá nhân định trước ($M \ge 253$). Xác định không gian vét cạn tìm đụng độ hàm băm xấp xỉ $2^{n/2}$ thông điệp (với $n=128$, số phép thử là $2^{64}$, tương đương độ phức tạp vét cạn khóa của chuẩn DES).
- Các thuật toán băm tiêu chuẩn:
- SHA-1 (Secure Hash Algorithm): Chuẩn do NIST đề xuất và bảo trợ, sử dụng trong chuẩn DSS; kích thước đầu vào là bội số của 512 bit, giá trị băm đầu ra 160 bit, xử lý qua 80 vòng lặp tính toán.
- MD5 (Message Digest 5): Do Ron Rivest đề xuất năm 1991, phục vụ kiểm tra toàn vẹn truyền tập tin và lưu trữ mật khẩu.
- Ứng dụng của hàm băm: Chứng thực thông điệp (Message Authentication), tạo cơ sở cho chữ ký số, lưu trữ mật khẩu an toàn (One-way password file), nhận diện xâm hại và mã độc (Intrusion/Virus detection qua kiểm tra $H(F)$ lưu trên CD-R), tạo hàm/bộ sinh số ngẫu nhiên giả (PRF/PRNG).
- Lý thuyết và quy trình chữ ký số: Trích dẫn mốc lịch sử phát triển từ đề xuất của Diffie & Hellman (1976) và phiên bản thương mại đầu tiên trong Lotus Notes (1989) dựa trên RSA. Trình bày cơ chế ký bằng Khóa riêng (Private Key) của người gửi và thẩm tra bằng Khóa công khai (Public Key) của người gửi thông qua hai thuật toán: Signing Algorithm và Verifying Algorithm.
- Dịch vụ bảo mật, mô hình tấn công và biến thể chữ ký:
- Cung cấp: Xác thực thông điệp, toàn vẹn thông điệp, chống chối bỏ trách nhiệm. Tính bảo mật (Confidentiality) không có sẵn mà phải tích hợp thêm một tầng mã hóa độc lập.
- Các dạng tấn công (Attack Types): Key-Only Attack, Known-Message Attack, Chosen-Message Attack.
- Các dạng giả mạo (Forgery Types): Existential Forgery, Selective Forgery.
- Các biến thể: Chữ ký gắn nhãn thời gian (Time-stamped Signatures chống tấn công phát lại Replay Attack) và Chữ ký mù (Blind Signatures đảm bảo tính riêng tư của nội dung văn bản đối với người ký).
Bảng đối sánh các tính chất an toàn và thuật toán băm
| Đối tượng / Tiêu chí |
Định nghĩa toán học / Kỹ thuật |
Độ phức tạp / Đặc tả kỹ thuật |
Ứng dụng tiêu biểu |
| Tính chống tiền ảnh (Preimage Resistant) |
Cho trước $h$, khó tìm $x$ sao cho $H(x) = h$. |
Độ phức tạp vét cạn: $2^n$ |
Bảo mật one-way password |
| Tính chống trùng yếu (2nd Preimage Resistant) |
Cho trước $x$, khó tìm $x' \neq x$ sao cho $H(x') = H(x)$. |
Bài toán ngày sinh 2 ($M \ge 253$) |
Chống thay thế tài liệu có sẵn |
| Tính chống trùng mạnh (Strong Collision Resistant) |
Khó tìm bất kỳ cặp $(x_1, x_2)$ với $x_1 \neq x_2$ để $H(x_1) = H(x_2)$. |
Bài toán ngày sinh 1: $2^{n/2}$ ($2^{64}$ khi $n=128$) |
Đảm bảo tính duy nhất của Digest |
| Thuật toán SHA-1 |
Chuẩn của NIST (National Institute of Standards and Technology). |
Khối vào: $k \times 512$ bit; Ngõ ra: 160 bit; 80 vòng lặp. |
DSS, SSL, PGP, SSH, S/MIME, IPSec |
| Thuật toán MD5 |
Do Ronald Rivest đề xuất (1991). |
Ngõ ra 128 bit; tạo tóm lược thông điệp. |
Truyền tập tin, kiểm tra mã hash |
Kiến thức nền tảng được xây dựng
Tài liệu xây dựng hệ thống kiến thức dựa trên ba trụ cột lý thuyết:
- Lý thuyết mật mã học phi đối xứng (Asymmetric Cryptography): Nguyên lý cặp khóa Public Key – Private Key và cơ chế phân phối khóa trong xác thực thông tin.
- Cơ sở xác suất thống kê và toán rời rạc: Ứng dụng nguyên lý chuồng bồ câu Dirichlet để giải thích hiện tượng đụng độ trong không gian hữu hạn; mô hình phân phối xác suất trong nghịch lý ngày sinh để tính toán biên độ an toàn cho độ dài khóa.
- Khung phân loại lược đồ chữ ký chuẩn (Standard Signature Schemes): Giới thiệu các họ thuật toán chữ ký số gồm RSA Digital Signature Scheme, ElGamal Digital Signature Scheme, Schnorr Digital Signature Scheme, Digital Signature Standard (DSS), và Elliptic Curve Digital Signature Scheme (ECDSA).
Kỹ năng phát triển
Qua các nội dung lý thuyết và bài tập tình huống, người học phát triển các nhóm kỹ năng cụ thể:
- Kỹ năng kỹ thuật (Technical skills): Nắm bắt cấu trúc tham số kỹ thuật của các hàm băm (kích thước khối đầu vào, độ dài bản băm, số vòng lặp tính toán); xác định luồng dữ liệu khi kết hợp mã hóa khóa công khai với hàm băm để tạo chữ ký trên cốt thông điệp.
- Kỹ năng phân tích an ninh (Analytical skills): Phân biệt được các mức độ kháng va chạm của hàm băm; phân loại chính xác các kiểu tấn công chữ ký số (Key-Only, Known-Message, Chosen-Message) và các cấp độ giả mạo (Existential Forgery so với Selective Forgery).
- Kỹ năng thiết kế giải pháp an toàn (Practical competencies): Nhận diện các rủi ro hệ thống như tấn công phát lại (Replay Attack) để đề xuất tích hợp nhãn thời gian (Timestamp), hoặc áp dụng chữ ký mù (Blind Signatures) khi xử lý các tài liệu đòi hỏi tính bảo mật thông tin trước người ký.
Phương pháp giảng dạy và học tập
Tiếp cận sư phạm (Pedagogical Approach)
Tài liệu áp dụng phương pháp tiếp cận từ trừu tượng toán học đến giải pháp kỹ thuật cụ thể:
- Đặt vấn đề từ nhu cầu thực tế: Xuất phát từ bài toán toàn vẹn thông tin và xác thực người gửi trong môi trường truyền thông không an toàn.
- Hình thức hóa bằng toán học: Sử dụng xác suất thống kê để chứng minh rủi ro va chạm thay vì chỉ đưa ra định nghĩa cơ học.
- Mô hình hóa quy trình (Workflow Modeling): Sử dụng các sơ đồ khối trực quan minh họa quy trình tạo chữ ký số (Signing Process) và thẩm tra chữ ký số (Verifying Process) trên bản tóm lược thông điệp (Message Digest).
[Bên gửi - Alice] [Bên nhận - Bob]
[Thuật toán Ký] [So sánh = ?]
[Public Key A]
Bài tập, tình huống và thực hành
Tài liệu đưa vào các ví dụ tình huống và bài toán tính toán cụ thể nhằm kiểm chứng lý thuyết:
- Bài toán xác suất Nghịch lý ngày sinh:
- Tình huống 1: Tính toán số lượng $M$ sinh viên tối thiểu trong một phòng học để xác suất có ít nhất hai người trùng ngày sinh đạt trên $50%$ ($M \ge 23$).
- Tình huống 2: Tính toán số lượng $M$ sinh viên để xác suất có ít nhất một người trùng ngày sinh với một người cụ thể vượt quá $50%$ ($M \ge 253$).
- Tình huống tấn công phát lại (Replay Attack): Phân tích giao dịch tài chính khi Alice ký yêu cầu ngân hàng chuyển tiền cho Bob; đối tượng Eve chặn bắt tài liệu và phát lại yêu cầu nếu văn bản không được gắn nhãn thời gian (Timestamp).
- Tình huống xác thực phát minh (Blind Signature): Phân tích quy trình công chứng một lý thuyết/phát minh quan trọng của nhà khoa học, trong đó công chứng viên thực hiện ký xác nhận nhưng không được phép đọc nội dung chi tiết của phát minh.
Phương pháp đánh giá và hướng dẫn tự học
- Đánh giá kiến thức: Kiểm tra sự hiểu biết về các tham số kỹ thuật (độ dài bit, số vòng lặp của SHA-1, năm công bố MD5 của Rivest), phân biệt rõ ràng giữa tính toàn vẹn (Integrity) và tính bí mật (Confidentiality).
- Định hướng tự học: Người học cần tự vẽ lại quy trình thẩm tra chữ ký số khi có và không có sử dụng hàm băm; đối chiếu sự khác biệt giữa chữ ký tay truyền thống và chữ ký điện tử dựa trên tính chất trích xuất từ đặc trưng văn bản mã hóa.
Điểm nổi bật và cập nhật kỹ thuật
Tài liệu tổng hợp các hệ thống kỹ thuật và tiêu chuẩn quốc tế có tính ứng dụng cao:
- Hệ thống hóa tiêu chuẩn mật mã chuẩn quốc gia và quốc tế: Trích dẫn các tiêu chuẩn do Viện Tiêu chuẩn và Kỹ thuật Quốc gia Hoa Kỳ (NIST) ban hành, bao gồm chuẩn giải thuật băm an toàn SHA (Secure Hash Algorithm) và chuẩn chữ ký số DSS (Digital Signature Standard).
- Tích hợp các giao thức bảo mật thực tế: Tài liệu nêu rõ phạm vi ứng dụng rộng rãi của thuật toán SHA-1 trong các giao thức an ninh mạng cốt lõi:
- SSL (Secure Sockets Layer): Bảo mật tầng giao vận cho các kết nối web.
- PGP (Pretty Good Privacy): Mã hóa và xác thực thư điện tử/tập tin.
- SSH (Secure Shell): Giao thức đăng nhập và truyền lệnh từ xa an toàn.
- S/MIME (Secure/Multipurpose Internet Mail Extensions): Chuẩn bảo mật nội dung email.
- IPSec (Internet Protocol Security): Bảo mật đường truyền dữ liệu ở tầng mạng.
- Bao quát đầy đủ các dạng lược đồ mật mã hiện đại: Không giới hạn ở một giải thuật đơn lẻ, tài liệu mở rộng khảo sát các cấu trúc chữ ký dựa trên bài toán phân tích số nguyên lớn (RSA), bài toán logarit rời rạc (ElGamal, Schnorr, DSS) và đường cong Elliptic (Elliptic Curve Digital Signature Scheme).
Đối tượng sử dụng giáo trình
Tài liệu học tập được thiết kế phục vụ các nhóm đối tượng và mục đích học thuật cụ thể:
- Sinh viên chuyên ngành: Sinh viên đại học từ năm thứ 3 trở đi thuộc các ngành Hệ thống thông tin, Kỹ thuật phần mềm, Công nghệ thông tin, An toàn thông tin tại Trường Đại học Công nghiệp Thành phố Hồ Chí Minh và các trường đại học khối kỹ thuật.
- Điều kiện 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 tổ hợp, xác suất), Mạng máy tính, và Mật mã học cơ bản (các khái niệm về mã hóa đối xứng và mã hóa khóa công khai).
- Giảng viên và cán bộ giảng dạy: Tài liệu là đề cương chi tiết dùng để xây dựng bài giảng lý thuyết, bài tập thảo luận về cơ chế xác thực thông điệp và toàn vẹn dữ liệu trong môn An toàn thông tin.
- Nghiên cứu và tự học: Dành cho kỹ sư hệ thống, lập trình viên cần tài liệu tham chiếu chuẩn xác về quy trình chữ ký số, nguyên lý bảo vệ mật khẩu một chiều, và các phương thức phòng chống tấn công giả mạo văn bản số.
Câu hỏi thường gặp
1. Giáo trình này phù hợp với đối tượng người học nào?
Tài liệu được biên soạn cho sinh viên bậc đại học và học viên cao học thuộc khối ngành Công nghệ thông tin, Hệ thống thông tin, An toàn thông tin đã có kiến thức cơ sở về mạng máy tính và mật mã học.
2. Cần trang bị những kiến thức nền tảng nào trước khi học chương này?
Người học cần có kiến thức về lý thuyết xác suất thống kê cơ bản (để hiểu Nghịch lý ngày sinh), nguyên lý hoạt động của hệ mật mã khóa bất đối xứng (Public-Key Cryptography), và cấu trúc gói tin mạng cơ bản.
3. Điểm khác biệt căn bản giữa chữ ký số và chữ ký tay truyền thống theo giáo trình là gì?
Chữ ký tay là nét vẽ vật lý cố định của một người trên văn bản, trong khi chữ ký số là một chuỗi số phụ thuộc đồng thời vào Khóa riêng của người ký và nội dung đặc trưng duy nhất của văn bản (bản băm). Chữ ký số cung cấp độ chính xác tuyệt đối và khả năng kiểm tra tự động bằng thuật toán thẩm tra.
4. Chữ ký số có cung cấp tính bảo mật (Confidentiality) cho nội dung thông điệp không?
Không. Chữ ký số thuần túy chỉ cung cấp tính xác thực (Authentication), tính toàn vẹn (Integrity) và tính chống chối bỏ (Non-repudiation). Nếu hệ thống yêu cầu tính bí mật nội dung, thông điệp cần được mã hóa thêm qua một tầng giải thuật mã hóa dữ liệu độc lập.
5. Tài liệu tham khảo chính của chương học này là gì?
Nội dung chương được biên soạn dựa trên giáo trình chuẩn quốc tế Cryptography & Network Security (McGraw-Hill, Inc., Chapter 13) cùng các tiêu chuẩn kỹ thuật số của NIST (DSS, SHA).
Kết luận
Chương 6: "Hàm băm – Chữ ký số" là cấu phần học thuật chuyên sâu về các kỹ thuật bảo đảm toàn vẹn và xác thực trong học phần An toàn thông tin. Nội dung tài liệu xây dựng một lộ trình tiếp cận logic chặt chẽ: bắt đầu từ cơ sở toán học của hàm băm một chiều và phân tích va chạm qua nghịch lý ngày sinh, tiến tới khảo sát các chuẩn thuật toán thực nghiệm (SHA-1, MD5), và hoàn thiện bằng cơ chế chữ ký số khóa công khai cùng các mô hình phòng chống tấn công giả mạo.
Tài liệu định hình lộ trình học tập từ lý thuyết nền tảng đến ứng dụng giao thức mạng thực tế (SSL, PGP, IPSec), hỗ trợ đắc lực cho sinh viên và nhà nghiên cứu trong việc thiết kế các hệ thống trao đổi thông tin tin cậy. Để mở rộng kiến thức, người học được khuyến nghị nghiên cứu song song tài liệu Cryptography & Network Security (McGraw-Hill, Inc.) và các ấn bản tiêu chuẩn mật mã học của NIST.