Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh công nghệ thông tin và mạng Internet phát triển mạnh mẽ, việc tối ưu hóa và rút ngắn khoảng cách về không gian và thời gian trở thành yếu tố then chốt đối với các hoạt động sản xuất kinh doanh. Sự xuất hiện của thương mại điện tử (TMĐT) đã mở ra các hình thức giao dịch mới trên nền tảng mạng truyền thông số, đặc biệt trong các mô hình giữa doanh nghiệp với người tiêu dùng (B2C) và giữa doanh nghiệp với doanh nghiệp (B2B). Tuy nhiên, môi trường mạng công cộng luôn tiềm ẩn các nguy cơ về gian lận thương mại, giả mạo danh tính và can thiệp làm sai lệch dữ liệu giao dịch. Do đó, việc xây dựng các giải pháp bảo mật nhằm đảm bảo an toàn cho các giao dịch thanh toán trực tuyến là điều kiện tiên quyết thúc đẩy thương mại điện tử phát triển.

Chữ ký số (digital signature) – một dạng chữ ký điện tử được xây dựng trên nền tảng mật mã khóa công khai – đóng vai trò tương đương như chữ ký tay của cá nhân hay con dấu của doanh nghiệp về mặt pháp lý. Nhờ vào việc sử dụng cặp khóa công khai và khóa bí mật, chữ ký số giải quyết các bài toán về xác thực nguồn gốc, bảo vệ tính toàn vẹn dữ liệu và chống chối bỏ trong các giao dịch trực tuyến.

Đề tài tốt nghiệp "Tìm hiểu về chữ ký số và ứng dụng trong thương mại điện tử" của sinh viên Phạm Trung Hiếu được triển khai nhằm giải quyết các nhiệm vụ và mục tiêu nghiên cứu sau:

  1. Nghiên cứu tìm hiểu mật mã khóa công khai và chữ ký số.
  2. Nắm vững vai trò của mật mã khóa công khai và thương mại điện tử.
  3. Hiểu biết về cơ sở mật mã và an toàn thông tin.
  4. Lựa chọn một loại mật mã khóa công khai làm chuẩn chữ ký số (lược đồ RSA kết hợp hàm băm).
  5. Thực hành ký trên một văn bản/giao dịch bằng chuẩn chữ ký số, xây dựng mô hình hệ thống thanh toán thử nghiệm, đưa ra nhận xét, đánh giá và kết luận.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Lý thuyết số, các hệ mã hóa khóa bất đối xứng, thuật toán mật mã RSA, các hàm băm mật mã học (SHA-1, MD5), giao thức chữ ký số và mô hình thanh toán điện tử sử dụng chứng chỉ số.
  • Không gian thực hiện: Đồ án được thực hiện tại Khoa Công nghệ Thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng; địa điểm thực tập tốt nghiệp tại Văn phòng đại diện Công ty Cổ phần Đầu tư Tài chính và Công nghệ Datatech.
  • Thời gian nghiên cứu: Đề tài được giao ngày 11 tháng 10 năm 2021 và hoàn thành trước ngày 31 tháng 12 năm 2021.

Cơ sở lý thuyết và phương pháp

Đồ án xây dựng nội dung dựa trên khung lý thuyết về an toàn mạng, mật mã học hiện đại và kinh tế số:

  • Khái niệm và mô hình thương mại điện tử: Định nghĩa thương mại điện tử theo Ủy ban Châu Âu (EC), Tổ chức Thương mại Thế giới (WTO) và Tổ chức Hợp tác và Phát triển Kinh tế (OECD); phân loại mô hình giao dịch B2C và B2B; quy trình mua bán trực tuyến 6 giai đoạn (Thu hút khách hàng, Tương tác, Đặt hàng, Thanh toán, Thực hiện đơn hàng, Dịch vụ hỗ trợ).
  • Các yêu cầu an toàn trong giao dịch thanh toán điện tử: 5 khía cạnh an toàn thông tin gồm: Tính sẵn dùng (Availability), Tính xác thực (Authenticity), Tính toàn vẹn (Integrity), Tính không chối bỏ (Non-repudiation) và Tính tin cậy/Bảo mật (Confidentiality); cùng 5 tiêu chuẩn đối với hệ thống thanh toán: Tính an toàn, Tính trong suốt, Tính mở, Chi phí giao dịch thấp và Tính hiệu quả.
  • Cơ sở toán học lý thuyết số:
    • Lý thuyết chia hết, số nguyên tố, phân tích thừa số nguyên tố, ước số chung lớn nhất $\gcd(a, b)$, số nguyên tố cùng nhau.
    • Đồng dư thức và số học trong vành số dư $\mathbb{Z}_n$.
    • Hàm Phi-Euler $\phi(n)$, Định lý Euler ($a^{\phi(n)} \equiv 1 \pmod n$ với $\gcd(a, n) = 1$), Định lý Fermat nhỏ ($a^{p-1} \equiv 1 \pmod p$).
    • Thuật toán Euclide tìm $\gcd(a, b)$ và Thuật toán Euclide mở rộng xác định phần tử nghịch đảo modulo ($a^{-1} \pmod n$).
  • Mật mã khóa công khai và hàm băm:
    • Mô hình hàm một chiều có cửa sập (Trapdoor one-way function) của Diffie - Hellman (1976).
    • Hệ mật mã RSA (Rivest - Shamir - Adleman, 1977) dựa trên bài toán phân tích số nguyên lớn ra thừa số nguyên tố.
    • Hàm băm mật mã học (Hash functions) thỏa mãn tiêu chuẩn kháng va chạm mạnh (Strongly collision-free) như SHA-1 (160 bits) và MD5 (128 bits).
    • Hạ tầng khóa công khai (PKI) và chứng thư số (Digital Certificate) phục vụ xác minh danh tính.

Phương pháp nghiên cứu:

  • Phương pháp nghiên cứu lý thuyết: Thu thập, tổng hợp, phân tích các tài liệu học thuật về giải thuật mã hóa, lý thuyết số rời rạc và các chuẩn chữ ký số.
  • Phương pháp mô hình hóa và thiết kế: Phân tích kiến trúc giao dịch thanh toán trực tuyến ba thành phần (Khách hàng, Người bán, Máy chủ thanh toán), xây dựng biểu đồ ca sử dụng (Use Case) và mô hình hóa luồng thông điệp.
  • Phương pháp thực nghiệm - mô phỏng: Cài đặt chương trình ứng dụng web mô phỏng quy trình đặt hàng, băm thông điệp bằng SHA-1, sinh chữ ký số RSA bằng khóa bí mật và kiểm tra chữ ký số tại máy chủ bằng khóa công khai.

Nguồn dữ liệu tham khảo: Giáo trình "Mật mã và an toàn thông tin – Lý thuyết và ứng dụng" (Hồ Văn Canh, Lê Danh Cường, 2018), cùng các tài liệu chuyên ngành về mật mã học và chuẩn giao thức thanh toán trực tuyến.


Nội dung chính theo từng chương

CHƯƠNG I. THƯƠNG MẠI ĐIỆN TỬ VÀ VAI TRÒ CỦA CHỮ KÝ SỐ TRONG THƯƠNG MẠI ĐIỆN TỬ

Chương I trình bày bức tranh tổng quan về thương mại điện tử, các mô hình kinh doanh và vai trò của các giải pháp kỹ thuật bảo mật trong giao dịch điện tử:

  • Khái niệm và phân loại TMĐT: Định nghĩa TMĐT theo nghĩa rộng (toàn bộ các giao dịch tài chính, thương mại qua phương tiện điện tử, chuyển tiền điện tử, trao đổi dữ liệu điện tử EDI) và nghĩa hẹp (mua bán hàng hóa, dịch vụ qua Internet với phương thức thanh toán bằng thẻ). Phân tích hai mô hình B2C (bán lẻ trực tiếp đến người tiêu dùng) và B2B (giao dịch cung ứng, bán buôn giữa các tổ chức).
  • Giao dịch thanh toán điện tử: Xác định thanh toán trực tuyến là nền tảng cốt lõi của TMĐT. Phân tích chi tiết 5 yêu cầu kỹ thuật: tính an toàn (chống gian lận), tính trong suốt (quy trình rõ ràng), tính mở (hỗ trợ nhiều mô hình thương mại), chi phí giao dịch thấp và tính hiệu quả tính toán.
  • Mô hình thanh toán dùng chứng chỉ số và chữ ký số: Đề xuất cơ chế phân tách giữa khâu phân phối hàng hóa và khâu thanh toán thông qua chứng chỉ được ký (signed receipt). Luồng xử lý gồm ba tác nhân: Người bán (Vendor), Khách hàng (Customer) và Máy chủ thanh toán (Payment Server). Trong đó, Payment Server liên kết với các môi giới thanh toán để chuyển tiền thực và phát hành chứng chỉ điện tử cho khách hàng dựa trên nền tảng hạ tầng khóa công khai (PKI).
Thành phần tham gia Vai trò trong mô hình thanh toán Cơ chế an toàn sử dụng
Khách hàng (Customer) Chọn sản phẩm, gửi yêu cầu thanh toán, nhận chứng chỉ Ký số lên đơn hàng bằng khóa bí mật
Người bán (Vendor) Cung cấp danh mục hàng hóa, tiếp nhận chứng chỉ, giao hàng Xác thực chứng chỉ thanh toán
Máy chủ thanh toán (Payment Server) Tiếp nhận yêu cầu, trừ tiền tài khoản, phát hành chứng chỉ Ký số phát hành chứng chỉ thanh toán (Signed Receipt)

CHƯƠNG II. CƠ SỞ TOÁN HỌC VÀ CÁC HỆ MÃ HÓA KHÓA CÔNG KHAI

Chương II hệ thống hóa nền tảng toán học của mật mã phi đối xứng và phân tích nguyên lý cấu tạo của hệ mã khóa công khai:

  • Lý thuyết số và số học đồng dư:
    • Định nghĩa ước số, số nguyên tố, phân tích số nguyên $a = p_1^{a_1} p_2^{a_2} \dots p_t^{a_t}$. Xác định $\gcd(a, b) = \prod p^{\min(a_p, b_p)}$. Hai số $a, b$ nguyên tố cùng nhau khi $\gcd(a, b) = 1$.
    • Số học trong tập $\mathbb{Z}_n = {0, 1, \dots, n-1}$: Chứng minh các tính chất đóng, giao hoán, kết hợp, phần tử đơn vị và phần tử nghịch đảo đối với phép cộng và nhân modulo $n$.
    • Hàm Phi-Euler: Công thức tổng quát $\phi(n) = n \prod_{p|n} \left(1 - \frac{1}{p}\right)$; với $p, q$ là số nguyên tố thì $\phi(pq) = (p-1)(q-1)$.
    • Định lý Euler và Định lý Fermat nhỏ: Ứng dụng để chứng minh tính đúng đắn của thuật toán giải mã trong hệ mật mã khóa công khai.
    • Thuật toán Euclide và Euclide mở rộng: Trình bày thuật toán tìm $\gcd(a_0, a_1)$ qua dãy phép chia liên tiếp và phương pháp truy hồi tìm các hệ số $x, y$ sao cho $a_0 x + a_1 y = \gcd(a_0, a_1)$, từ đó tính phần tử nghịch đảo modulo.
  • Hệ mật mã khóa công khai (Public-Key Cryptography):
    • Khắc phục hạn chế của mật mã đối xứng: Mật mã đối xứng yêu cầu tạo và quản lý $\frac{n(n-1)}{2}$ khóa bí mật khi có $n$ người dùng, đồng thời không thể cung cấp dịch vụ chống chối bỏ.
    • Nguyên lý hàm một chiều có cửa sập (Trapdoor One-Way Function): Phép biến đổi xuôi $Y = f(X)$ dễ tính toán, phép biến đổi ngược $X = f^{-1}(Y)$ không khả thi về mặt tính toán trừ khi biết được thông tin bí mật (cửa sập/khóa riêng).
    • Phân tích 3 mô hình ứng dụng của cặp khóa:
      1. Mã hóa bảo mật: Người gửi dùng khóa công khai của người nhận $C = E_{keB}(M)$; người nhận dùng khóa riêng giải mã $M = D_{kdB}(C)$.
      2. Xác thực danh tính / Chữ ký điện tử: Người gửi dùng khóa riêng mã hóa thông điệp $C = E_{kdA}(M)$; người nhận dùng khóa công khai người gửi giải mã $M = D_{keA}(C)$.
      3. Kết hợp bảo mật và xác thực: Thực hiện mã hóa hai lần $E_{keB}(E_{kdA}(M))$, đảm bảo chỉ người gửi mới ký được và chỉ người nhận mới đọc được nội dung.

CHƯƠNG III. CHỮ KÝ SỐ VÀ HÀM BĂM

Chương III đi sâu vào thuật toán RSA, kỹ thuật băm dữ liệu và mô tả thiết kế hệ thống ứng dụng chữ ký số trong giao dịch đặt hàng:

  • Hệ mật mã và lược đồ chữ ký số RSA:
    • Độ an toàn dựa trên độ khó của hai bài toán: Bài toán phân tích số nguyên dương lớn $N = p \cdot q$ ra thừa số nguyên tố (chưa có thuật toán giải hiệu quả trong thời gian đa thức cho số có từ 232 chữ số thập phân / 768-bits trở lên) và Bài toán RSA (tìm $m$ thỏa mãn $m^e \equiv c \pmod N$).
    • Quy trình sinh khóa, mã hóa và giải mã RSA:
Giai đoạn Thao tác toán học Đầu vào / Đầu ra
1. Tạo khóa 1. Chọn 2 số nguyên tố lớn $p, q$ ($512 \div 1024$ bits)
2. Tính $N = p \cdot q$ và $\phi(N) = (p-1)(q-1)$
3. Chọn $e$ ngẫu nhiên sao cho $1 < e < \phi(N)$ và $\gcd(e, \phi(N)) = 1$
4. Dùng Euclide mở rộng tính $d = e^{-1} \pmod{\phi(N)}$
Khóa công khai: $ke = (e, N)$
Khóa riêng: $kd = (d, N)$
(Xóa $p, q$ sau khi tạo)
2. Mã hóa Chuyển bản rõ thành khối $M_i < N$; tính $C_i = M_i^e \pmod N$ Bản mã: ${C_1, C_2, \dots, C_k}$
3. Giải mã Khôi phục khối rõ: $M_i = C_i^d \pmod N$ Bản rõ khôi phục: $M$
  • Hàm băm mật mã học (Hash Functions):
    • Biến đổi thông điệp đầu vào có độ dài bất kỳ thành chuỗi bit đầu ra có độ dài cố định (Message Digest).
    • Tiêu chuẩn bắt buộc: Tính một chiều và kháng va chạm mạnh (không thể tìm được $x \neq y$ sao cho $H(x) = H(y)$).
    • Các hàm băm được khảo sát: MD5 (tạo bản băm 128-bit) và SHA-1 (tạo bản băm 160-bit).
    • Ứng dụng: Nén thông điệp phục vụ chữ ký số, kiểm tra tính toàn vẹn (Message Authentication Code - MAC), kiểm tra dư đường truyền và ứng dụng bảng băm tra cứu.
  • Lược đồ chữ ký số kết hợp:
    • Quy trình ký: $h = \text{Hash}(x) \rightarrow y = E_{kd}(h)$ (ký lên bản băm).
    • Quy trình xác minh: Giải mã chữ ký bằng khóa công khai $h_1 = D_{ke}(y)$; đồng thời băm trực tiếp văn bản nhận được $h_2 = \text{Hash}(x)$. So sánh nếu $h_1 = h_2$ thì chấp nhận chữ ký hợp lệ.
    • Đảm bảo tính bí mật kèm chữ ký: Mã hóa toàn bộ gói tin bằng khóa công khai của người nhận $C = E_{keB}(x)$.
    • Vai trò của chứng thư số (CA): Cung cấp hạ tầng xác thực danh tính cho ngân hàng, giao dịch liên ngân hàng, thẻ ATM, hộ chiếu điện tử và thanh toán trực tuyến.

Thiết kế và triển khai hệ thống thử nghiệm

Trên cơ sở lý thuyết đã nghiên cứu, đồ án xây dựng hệ thống thử nghiệm mô phỏng quy trình đặt hàng và thanh toán trực tuyến có tích hợp chữ ký số:

1. Kiến trúc mô hình hệ thống

Hệ thống gồm 3 thực thể phân tán:

  • Client (Khách hàng): Sử dụng trình duyệt web để xem sản phẩm, tạo đơn hàng và thực hiện ký số.
  • Server bán hàng (Vendor Server): Trưng bày sản phẩm, tiếp nhận đơn hàng, gửi yêu cầu thanh toán và chuyển giao hàng hóa.
  • Server thanh toán (Payment Server): Quản lý tài khoản người dùng, tiếp nhận yêu cầu thanh toán, xác thực chữ ký số và xác nhận giao dịch thành công.

2. Cơ chế tạo và xác thực chữ ký số trên đơn hàng

  • Đăng ký tài khoản: Mỗi người dùng khi đăng ký thành công sẽ được hệ thống sinh một cặp khóa RSA gồm khóa công khai $(e_1, N_1)$ và khóa bí mật $(d_1, N_1)$ (khóa bí mật được lưu trữ dưới dạng mã hóa trong cơ sở dữ liệu).
  • Quy trình ký phía Client:
    1. Người dùng chọn sản phẩm vào giỏ hàng và nhập thông tin đặt hàng, tạo thành thông điệp $X$ (bao gồm thông tin cá nhân và chi tiết đơn hàng).
    2. Hệ thống tự động thu gọn thông điệp $X$ bằng hàm băm SHA-1: $Y = H(X)$.
    3. Người dùng giải mã khóa bí mật $(d_1, N_1)$ để ký lên bản băm $Y$: $$S = Y^{d_1} \pmod{N_1}$$
    4. Trình duyệt gửi gói dữ liệu gồm thông điệp rõ và chữ ký $(X, S)$ lên máy chủ.
  • Quy trình xác minh phía Server:
    1. Máy chủ thực hiện băm lại thông điệp $X$ bằng hàm băm SHA-1 để thu được $Y = H(X)$.
    2. Máy chủ truy xuất khóa công khai $(e_1, N_1)$ của người dùng để giải mã chữ ký $S$: $$Y_1 = S^{e_1} \pmod{N_1}$$
    3. Đối chiếu hai giá trị:
      • Nếu $Y_1 = Y$: Chữ ký số $S$ hợp lệ, thông điệp $X$ không bị thay đổi và đúng do người dùng gửi; hệ thống phê duyệt thanh toán và gửi chứng chỉ xác nhận.
      • Nếu $Y_1 \neq Y$: Chữ ký không hợp lệ (thông điệp bị can thiệp hoặc chữ ký giả mạo); hệ thống từ chối giao dịch.

3. Giao diện chức năng đã cài đặt

Hệ thống xây dựng hoàn chỉnh 6 màn hình chức năng phục vụ luồng giao dịch:

  • Giao diện trang web hiển thị danh mục sản phẩm.
  • Giao diện thêm sản phẩm vào giỏ hàng.
  • Giao diện đặt hàng và nhập thông tin giao dịch.
  • Giao diện thanh toán trực tuyến.
  • Giao diện xác nhận thanh toán (xử lý chữ ký số).
  • Giao diện thông báo xác nhận thanh toán thành công.

Kết quả và đóng góp

1. Kết quả kỹ thuật đạt được

  • Hệ thống hóa toàn bộ lý thuyết toán học nền tảng phục vụ mật mã khóa công khai: lý thuyết chia hết, đồng dư, hàm Euler, định lý Fermat nhỏ, thuật toán Euclide và Euclide mở rộng.
  • Phân tích chi tiết quy trình hoạt động, cấu trúc khóa và các bước tính toán của hệ mật mã RSA và các hàm băm MD5, SHA-1.
  • Xây dựng thành công mô hình thử nghiệm ứng dụng web TMĐT gồm 3 node (Client, Vendor Server, Payment Server), hiện thực hóa quy trình ký số trên thông điệp đặt hàng bằng khóa bí mật RSA và hàm băm SHA-1, tự động xác minh tính toàn vẹn và tính xác thực của giao dịch tại máy chủ.

2. Bảng tổng hợp thông số kỹ thuật của hệ thống

Hạng mục kỹ thuật Đặc tả trong đồ án
Thuật toán chữ ký số RSA (dựa trên bài toán phân tích số nguyên lớn ra thừa số nguyên tố)
Kích thước khóa thử nghiệm Số nguyên tố $p, q$ từ 512 bits đến 1024 bits
Hàm băm sử dụng SHA-1 (độ dài bản băm 160 bits) cho hệ thống thử nghiệm; khảo sát thêm MD5 (128 bits)
Kiến trúc phân hệ 3 node: Trình duyệt khách hàng (Client), Máy chủ bán hàng (Vendor), Máy chủ thanh toán (Payment Server)
Dữ liệu ký số Chuỗi thông điệp đặt hàng $X$ (thông tin cá nhân + danh mục mặt hàng)
Phương thức xác thực So sánh $Y_1 = S^{e_1} \pmod{N_1}$ với $Y = H(X)$

3. Đóng góp của đề tài

  • Làm rõ cơ chế kết hợp giữa hàm băm và mã hóa bất đối xứng để tối ưu hóa hiệu năng ký số (chỉ ký trên bản băm thay vì toàn bộ dữ liệu lớn).
  • Cung cấp mô hình giải pháp kỹ thuật minh họa trực quan cách thức chữ ký số bảo đảm đồng thời các thuộc tính an toàn: tính xác thực, tính toàn vẹn và tính không thể phủ nhận trong thương mại điện tử.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế:
    • Hệ thống dừng lại ở mức độ mô phỏng thử nghiệm quy trình thanh toán và ký số đơn hàng, chưa kết nối trực tiếp với các cổng thanh toán ngân hàng thực tế.
    • Chưa tích hợp đầy đủ hệ thống quản lý vòng đời chứng thư số (CA - Certificate Authority) hoàn chỉnh như thu hồi chứng thư (CRL) hay kiểm tra trực tuyến (OCSP).
    • Độ dài khóa và cơ chế sinh số nguyên tố ngẫu nhiên trong phần mềm thử nghiệm chủ yếu phục vụ mục đích học thuật và minh họa nguyên lý.
  • Hướng nghiên cứu tiếp:
    • Mở rộng tích hợp hạ tầng chứng thực khóa công khai (PKI) chuẩn hóa cho hệ thống.
    • Nghiên cứu và thử nghiệm bổ sung các chuẩn chữ ký số khác như DSA (Digital Signature Algorithm) hoặc chữ ký số trên đường cong Elliptic (ECDSA).
    • Tối ưu hóa hiệu năng tính toán và nâng cao khả năng bảo mật cho các giao dịch quy mô lớn trên thiết bị di động.

Giá trị tham khảo

Tài liệu đồ án có giá trị tham khảo thiết thực cho các đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin và An toàn thông tin: Nguồn tài liệu tham khảo chi tiết về cơ sở toán học lý thuyết số (đồng dư, hàm Euler, thuật toán Euclide mở rộng) và cách cài đặt giải thuật RSA từng bước.
  • Sinh viên ngành Thương mại điện tử và Hệ thống thông tin: Tham khảo mô hình kiến trúc phân tách giữa luồng hàng hóa và luồng thanh toán điện tử, cùng phương pháp sử dụng chứng chỉ số (signed receipt) để kiểm soát gian lận.
  • Lập trình viên phát triển ứng dụng web: Tham khảo luồng xử lý thực tế khi tích hợp module băm dữ liệu SHA-1 và thuật toán chữ ký số RSA vào các biểu mẫu đặt hàng và thanh toán trực tuyến.

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

1. Cơ sở toán học nào bảo đảm độ an toàn của hệ mật mã và chữ ký số RSA trong đồ án?

Độ an toàn của hệ mật mã RSA dựa trên độ khó tính toán của bài toán phân tích một số nguyên dương lớn $N = p \cdot q$ ra các thừa số nguyên tố $p$ và $q$. Khi $N$ có kích thước đủ lớn (từ 768-bits / 232 chữ số thập phân trở lên), hiện chưa có thuật toán đa thức nào giải quyết hiệu quả bài toán này trong thời gian thực, do đó thám mã không thể tính được giá trị $\phi(N) = (p-1)(q-1)$ để suy ra khóa bí mật $d$ từ khóa công khai $e$.

2. Thuật toán Euclide mở rộng đóng vai trò gì trong quá trình thiết lập cặp khóa RSA?

Thuật toán Euclide mở rộng được sử dụng ở bước tạo khóa để tìm số nguyên $d$ là phần tử nghịch đảo modulo của khóa công khai $e$ theo modulo $\phi(N)$, tức thỏa mãn điều kiện: $$e \cdot d \equiv 1 \pmod{\phi(N)} \quad \text{với } 0 < d < \phi(N)$$ Số $d$ được giữ bí mật để làm khóa riêng phục vụ giải mã hoặc ký số.

3. Tại sao trong lược đồ chữ ký số, người ta không ký trực tiếp lên toàn bộ văn bản mà phải ký lên bản băm (Message Digest)?

Việc ký trực tiếp lên toàn bộ văn bản bằng mã hóa khóa công khai đòi hỏi chi phí tính toán rất lớn và làm giảm tốc độ xử lý đối với các văn bản có dung lượng lớn. Sử dụng hàm băm (như SHA-1 hay MD5) giúp thu gọn thông điệp có độ dài bất kỳ thành một chuỗi đại diện có kích thước cố định ngắn gọn (160 bits hoặc 128 bits). Việc thực hiện phép tính lũy thừa modulo trên chuỗi ngắn này giúp tối ưu hóa hiệu năng, giảm thời gian xử lý và tiết kiệm dung lượng truyền dẫn mà vẫn đảm bảo tính toàn vẹn của văn bản gốc nhờ đặc tính kháng va chạm mạnh.

4. Quy trình ký và xác minh đơn hàng trong hệ thống thử nghiệm của tác giả diễn ra như thế nào?

Khi khách hàng đặt hàng, thông tin đơn hàng $X$ được băm bằng SHA-1 thành $Y = H(X)$, sau đó dùng khóa riêng $d_1$ để ký $S = Y^{d_1} \pmod{N_1}$ và gửi cặp $(X, S)$ lên server. Server băm lại $X$ để lấy $Y = H(X)$, đồng thời giải mã chữ ký bằng khóa công khai của khách hàng $Y_1 = S^{e_1} \pmod{N_1}$. Nếu $Y_1 = Y$, server xác nhận đơn hàng không bị giả mạo hay chỉnh sửa và chấp nhận thanh toán.

5. Hệ thống thanh toán thử nghiệm trong đồ án gồm những tác nhân nào và giao tiếp với nhau ra sao?

Hệ thống gồm 3 tác nhân: Khách hàng (Client), Máy chủ bán hàng (Vendor Server) và Máy chủ thanh toán (Payment Server). Khách hàng chọn sản phẩm tại Vendor Server, gửi yêu cầu thanh toán kèm chữ ký số tới Payment Server; Payment Server xác thực chữ ký, xử lý trừ tiền và phát hành chứng chỉ thanh toán thành công gửi lại cho Khách hàng; Khách hàng chuyển chứng chỉ này cho Vendor Server để nhận sản phẩm.


Kết luận

Đồ án tốt nghiệp của sinh viên Phạm Trung Hiếu đã hoàn thành đầy đủ các mục tiêu nghiên cứu về mật mã khóa công khai, hàm băm và chữ ký số trong thương mại điện tử. Công trình đã hệ thống hóa chặt chẽ cơ sở toán học lý thuyết số, phân tích chuyên sâu giải thuật RSA và các chuẩn hàm băm SHA-1, MD5. Đồng thời, đề tài đã thiết kế và cài đặt thành công mô hình hệ thống web mô phỏng quy trình thanh toán trực tuyến có tích hợp chữ ký số trên đơn hàng, chứng minh tính ứng dụng của các giải pháp an toàn thông tin trong thực tiễn giao dịch số.