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

Trong bối cảnh công nghệ thông tin 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ố mang tính quyết định trong hoạt động kinh doanh hiện đại. Sự chuyển dịch từ các mô thức giao thương truyền thống sang môi trường mạng Internet đem lại sự thuận tiện vượt bậc, song cũng đặt ra thách thức to lớn về an ninh thông tin và nguy cơ gian lận thương mại. Chữ ký số ra đời như một phương tiện kỹ thuật số thay thế chữ ký tay của cá nhân và con dấu của tổ chức, được pháp luật công nhận giá trị pháp lý, đóng vai trò then chốt trong việc bảo vệ tính toàn vẹn và xác thực các giao dịch trực tuyến.

Đồ án tốt nghiệp được thực hiện nhằm giải quyết các mục tiêu và nhiệm vụ nghiên cứu cụ thể sau:

  1. Nghiên cứu lý thuyết nền tảng về mật mã khóa công khai và cơ chế hoạt động của chữ ký số.
  2. Nắm vững và phân tích vai trò của mật mã khóa công khai trong các giao dịch thương mại điện tử.
  3. Hệ thống hóa cơ sở toán học của mật mã học và an toàn thông tin.
  4. Lựa chọn một hệ mật mã khóa công khai phù hợp để làm chuẩn chữ ký số (lược đồ RSA kết hợp cùng hàm băm).
  5. Thực hành tạo và kiểm tra chữ ký số trên văn bản/thông điệp giao dịch, tiến hành nhận xét, đánh giá và xây dựng ứng dụng minh họa.
  • Đối tượng nghiên cứu: Cơ sở toán học lý thuyết số, hệ mật mã khóa công khai RSA, các hàm băm mật mã (MD5, SHA-1), chứng chỉ số và quy trình xác thực giao dịch trong thanh toán điện tử.
  • Phạm vi và địa điểm thực hiện: Đề tài thuộc ngành Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng; sinh viên 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 thực hiện từ ngày 11 tháng 10 năm 2021 đến ngày 31 tháng 12 năm 2021.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết và khái niệm sử dụng

  • Thương mại điện tử: Tiếp cận theo định nghĩa của Ủy ban Châu Âu, 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), tập trung vào các giao dịch mua bán hàng hóa, dịch vụ qua mạng máy tính và thanh toán trực tuyến qua thẻ tín dụng/tài khoản điện tử. Hai mô hình kinh doanh cốt lõi được nghiên cứu là Doanh nghiệp với Khách hàng (B2C) và Doanh nghiệp với Doanh nghiệp (B2B).
  • Yêu cầu an toàn giao dịch: Hệ thống an toàn phải thỏa mãn 5 khía cạnh bao gồm tính sẵn dùng (Availability), tính xác thực (Authentication), tính toàn vẹn (Integrity), tính không chối bỏ (Non-repudiation) và tính bảo mật/tin cậy (Confidentiality).
  • Cơ sở số học của mật mã: Lý thuyết chia hết, số nguyên tố và số nguyên tố cùng nhau, lý thuyết đồng dư, vành số nguyên Modulo $n$, hàm số Euler $\phi(n)$, định lý Euler, định lý nhỏ Fermat, thuật toán Euclide và thuật toán Euclide mở rộng tìm nghịch đảo Modulo.
  • Hệ mật mã khóa công khai: Khái niệm cặp khóa bất đối xứng gồm khóa công khai (Public Key) và khóa bí mật (Private Key), bài toán phân tích thừa số nguyên tố lớn làm nền tảng an toàn cho thuật toán RSA.
  • Hàm băm mật mã (Hash Function): Kỹ thuật chuyển đổi thông điệp có độ dài tùy ý thành chuỗi tóm lược thông điệp (Message Digest) có độ dài cố định (như MD5 tạo chuỗi 128-bit, SHA-1), ứng dụng trong kiểm tra dư (Redundancy Check) nhằm phát hiện sai lỗi và biến đổi dữ liệu.

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

  • Phương pháp phân tích - tổng hợp tài liệu: Khai thác và hệ thống hóa lý thuyết từ tài liệu tham khảo chí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 khoa học về thanh toán điện tử.
  • Phương pháp mô hình hóa hệ thống: Phân tích quy trình nghiệp vụ thông qua lược đồ Use Case, xác định các tác nhân và luồng tương tác giữa Khách hàng (Customer), Người bán (Vendor) và Máy chủ thanh toán (Payment Server).
  • Phương pháp thiết kế và lập trình thực nghiệm: Cài đặt thuật toán mật mã RSA và hàm băm trên nền tảng ứng dụng web thương mại điện tử để kiểm chứng quy trình ký và xác thực đơn hàng.

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 tập trung làm rõ bức tranh tổng thể về thương mại điện tử và vai trò trọng yếu của an toàn thông tin trong thanh toán số:

  • Khái niệm và mô hình giao dịch: Trình bày định nghĩa TMĐT theo nghĩa rộng và nghĩa hẹp; 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).
  • Chu trình giao dịch TMĐT: Chuỗi hoạt động mua bán qua mạng gồm 6 bước: Thu hút khách hàng, Tương tác với khách hàng, Đặt hàng, Thanh toán, Thực hiện đơn đặt hàng và Dịch vụ hỗ trợ sau bán hàng.
  • Các tiêu chuẩn đối với hệ thống thanh toán điện tử: Phân tích chi tiết các yêu cầu kỹ thuật cần đạt:
    • Tính an toàn (Security): Ngăn ngừa gian lận, rò rỉ thông tin thẻ và tài khoản.
    • Tính trong suốt (Transparency): Mô hình và tiến trình giao dịch dễ hiểu, rõ ràng.
    • Tính mở (Extensibility): Dễ dàng tương thích với nhiều mô hình thương mại khác nhau.
    • Chi phí giao dịch thấp (Low Transaction Costs): Cân bằng giữa tài nguyên tính toán và giá trị kinh tế.
    • Tính hiệu quả: Tối ưu hóa thuật toán, giảm thiểu truyền thông dư thừa giữa các nút mạng.
  • Mô hình thanh toán dùng chứng chỉ số và chữ ký số: Phân tách giữa khâu phân phối hàng hóa và khâu thanh toán. Sử dụng chứng chỉ số làm bằng chứng giao dịch (Signed Receipt) được ký bởi máy chủ thanh toán (Payment Server), phối hợp cùng các trung gian tài chính để đảm bảo tính pháp lý và độ tin cậy.

Chương II: Cơ sở toán học và các hệ mã hóa khóa công khai

Chương II thiết lập nền tảng toán học chặt chẽ làm tiền đề cho việc xây dựng chữ ký số:

  • Lý thuyết số:
    • Trình bày tính chất của số nguyên tố, cặp số nguyên tố cùng nhau ($\gcd(a,b) = 1$).
    • Lý thuyết đồng dư thức và cấu trúc số nguyên modulo $n$.
    • Phát biểu và chứng minh ứng dụng của hàm số Euler $\phi(n)$, định lý Fermat ($a^{p-1} \equiv 1 \pmod p$) và định lý Euler ($a^{\phi(n)} \equiv 1 \pmod n$).
    • Thuật toán Euclide và thuật toán Euclide mở rộng dùng để tìm ước chung lớn nhất và tính phần tử nghịch đảo modulo ($d = e^{-1} \pmod{\phi(n)}$).
  • Tổng quan hệ mã hóa khóa công khai:
    • Trình bày nguyên lý khóa bất đối xứng: dữ liệu mã hóa bằng khóa công khai chỉ có thể giải mã bằng khóa bí mật tương ứng và ngược lại.
    • Phân tích cơ chế đảm bảo tính bảo mật (Confidentiality) khi mã hóa bằng khóa công khai của người nhận, và đảm bảo tính xác thực (Authentication) khi mã hóa/ký bằng khóa bí mật của người gửi.

Chương III: Chữ ký số và hàm băm

Chương III đi sâu vào cơ chế kỹ thuật của chữ ký số, hàm băm và giải pháp tích hợp vào hệ thống:

  • Đặc trưng của chữ ký số: So sánh sự khác biệt với chữ ký tay (chữ ký số nằm tách biệt với thông điệp, giá trị chữ ký biến đổi linh hoạt phụ thuộc vào từng nội dung thông điệp cụ thể).
  • Bốn yêu cầu cốt lõi của hệ thống chữ ký điện tử:
    1. Tính an toàn (Security): Không thể giả mạo nếu không có khóa bí mật (Private Key).
    2. Tính hiệu quả (Performance): Quá trình ký và xác minh diễn ra nhanh chóng, tốn ít tài nguyên.
    3. Chống nhân bản chữ ký: Chữ ký gắn liền với thông điệp duy nhất, không thể sao chép để áp dụng cho thông điệp khác.
    4. Tính không thể phủ nhận (Non-repudiation): Người ký không thể chối bỏ trách nhiệm đối với tài liệu đã ký.
  • Hàm băm và lược đồ chữ ký điện tử RSA:
    • Sử dụng hàm băm (như SHA-1 hoặc MD5 với độ dài chuỗi tóm lược 128-bit) để rút gọn thông điệp kích thước bất kỳ thành chuỗi tóm lược $h = \text{Hash}(x)$.
    • Quy trình ký: Người gửi dùng khóa bí mật $k_d$ mã hóa chuỗi $h$ tạo thành chữ ký $y = E_{k_d}(h)$.
    • Quy trình xác minh: Người nhận dùng khóa công khai $k_e$ của người gửi giải mã $y$ để thu được $h_1 = D_{k_e}(y)$, đồng thời tính $h_2 = \text{Hash}(x)$ từ thông điệp nhận được. Nếu $h_1 = h_2$, chữ ký được chấp nhận là hợp lệ.
    • Phân tích mô hình kết hợp vừa ký số vừa mã hóa nội dung thông điệp để đảm bảo đồng thời tính toàn vẹn, tính xác thực và tính bí mật trên đường truyền Internet.

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

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

Hệ thống thử nghiệm được thiết kế theo mô hình 3 nút (node) mạng độc lập tương tác qua giao thức web:

  • Khách hàng (Client / Customer): Trình duyệt web của người mua, thực hiện duyệt danh mục sản phẩm, đặt hàng, tự động kích hoạt tiến trình băm dữ liệu đơn hàng và thực hiện ký số bằng khóa bí mật của người dùng.
  • Máy chủ bán hàng (Server Vendor): Quản lý cơ sở dữ liệu hàng hóa, tiếp nhận đơn đặt hàng, giao tiếp với máy chủ thanh toán để nhận thông báo xác nhận và thực hiện chuyển giao sản phẩm.
  • Máy chủ thanh toán (Server Payment): Quản lý tài khoản người dùng, lưu trữ cặp khóa bảo mật, thực hiện giải mã, kiểm tra chữ ký số trên dữ liệu đơn đặt hàng, cấp phát chứng nhận thanh toán khi giao dịch hợp lệ.

Quy trình kỹ thuật tạo và kiểm tra chữ ký trên đơn hàng

Thông điệp giao dịch $X$ bao gồm thông tin cá nhân khách hàng và chi tiết sản phẩm đặt mua. Quy trình xử lý dữ liệu giữa Client và Server được thực hiện theo các bước sau:

Bước Thực thể thực hiện Thao tác kỹ thuật Công thức / Diễn giải
1 Client (Hệ thống) Rút gọn thông điệp đặt hàng $X$ $Y = H(X)$ (Sử dụng hàm băm SHA-1)
2 Client (Người dùng) Tạo chữ ký số trên chuỗi rút gọn $S = Y^{d_1} \pmod{N_1}$ (Dùng khóa bí mật $d_1, N_1$)
3 Client $\rightarrow$ Server Truyền dữ liệu giao dịch Gửi gói tin gồm bản rõ $X$ và chữ ký $S$: $(X, S)$
4 Payment Server Băm lại thông điệp nhận được Tính $Y = H(X)$
5 Payment Server Giải mã chữ ký số $Y_1 = S^{e_1} \pmod{N_1}$ (Dùng khóa công khai $e_1, N_1$)
6 Payment Server Đối sánh và kết luận So sánh $Y_1$ và $Y$: Nếu $Y_1 = Y \rightarrow$ Chữ ký đúng, giao dịch hợp lệ; Nếu $Y_1 \neq Y \rightarrow$ Từ chối giao dịch

Các giao diện chức năng đã cài đặt

Trong khuôn khổ đồ án, hệ thống web hoàn thiện đã triển khai các giao diện thực nghiệm bao gồm:

  • Giao diện trang chủ và danh mục sản phẩm (Hình 3.1).
  • Giao diện thêm sản phẩm vào giỏ hàng (Hình 3.2).
  • Giao diện đặt hàng và nhập thông tin giao dịch (Hình 3.3).
  • Giao diện thanh toán tích hợp tạo chữ ký số (Hình 3.4).
  • Giao diện máy chủ xác nhận và kiểm tra tính hợp lệ của chữ ký (Hình 3.5).
  • Giao diện thông báo giao dịch thanh toán thành công (Hình 3.6).

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

Kết quả chính

  • Hệ thống hóa toàn diện cơ sở toán học số học modulo, các định lý nền tảng (Euler, Fermat, Euclide mở rộng) phục vụ việc chứng minh tính đúng đắn của thuật toán mã hóa và ký số RSA.
  • Phân tích chi tiết các yêu cầu kỹ thuật và cấu hình an toàn cho hệ thống thanh toán điện tử, làm rõ vai trò của chứng chỉ số và biên lai ký số trong việc phân tách luồng thanh toán với luồng giao nhận hàng hóa.
  • Xây dựng thành công ứng dụng web mô phỏng đầy đủ chu trình giao dịch thương mại điện tử 3 nút (Khách hàng - Nhà cung cấp - Máy chủ thanh toán), tích hợp thuật toán băm SHA-1 và cơ chế ký số RSA để xác thực thông tin đặt hàng.

Giải pháp và kiến nghị

  • Tác giả đề xuất tích hợp lược đồ chữ ký số RSA kết hợp cùng các hàm băm chuẩn (MD5/SHA-1) vào các cổng thanh toán điện tử nhằm giải quyết triệt để bài toán mạo danh và chối bỏ giao dịch.
  • Đề xuất kiến trúc phân tách giữa máy chủ bán hàng và máy chủ thanh toán độc lập nhằm đảm bảo an toàn tuyệt đối cho thông tin thẻ và tài khoản của khách hàng, hạn chế tối đa nguy cơ gian lận từ phía người bán.

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

  • Hạn chế: Hệ thống mới được xây dựng và thử nghiệm ở quy mô mô hình mô phỏng học thuật; các chức năng quản trị khóa và chứng chỉ số được lưu trữ trong cơ sở dữ liệu nội bộ của ứng dụng, chưa kết nối trực tiếp với hạ tầng khóa công khai (PKI) tiêu chuẩn hay các cổng thanh toán của ngân hàng thương mại thực tế.
  • Hướng phát triển: Nghiên cứu mở rộng việc tích hợp chứng thư số do các tổ chức chứng thực chữ ký số công cộng (CA) cấp phát; nâng cấp các thuật toán băm an toàn thế hệ mới; tối ưu hóa hiệu năng xử lý tính toán của hệ thống khi xử lý đồng thời khối lượng giao dịch lớn.

Giá trị tham khảo

  • Đối tượng sử dụng: Tài liệu là nguồn tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ thông tin, An toàn thông tin, Hệ thống thông tin quản lý và Thương mại điện tử khi nghiên cứu về Mật mã học, An toàn mạng và Lập trình ứng dụng web bảo mật.
  • Nội dung giá trị nhất: Phần tổng hợp công thức toán học lý thuyết số (Chương II) và quy trình 6 bước tạo/kiểm tra chữ ký số RSA kết hợp hàm băm trên thông điệp đơn hàng (Chương III) có tính ứng dụng cao cho các đề tài khóa luận về giao dịch điện tử an toàn.

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

1. Điểm khác biệt căn bản giữa chữ ký tay truyền thống và chữ ký số là gì?

Chữ ký tay truyền thống nằm trực tiếp bên trong văn bản và có hình dạng tương đối cố định trên mọi tài liệu. Ngược lại, chữ ký số là một đoạn dữ liệu ngắn được gửi kèm nhưng tách biệt với thông điệp; giá trị của chữ ký số thay đổi linh hoạt phụ thuộc trực tiếp vào từng nội dung thông điệp cụ thể và khóa bí mật của người ký.

2. Năm khía cạnh cốt lõi của an toàn thanh toán điện tử được nêu trong đồ án gồm những gì?

Năm khía cạnh bắt buộc phải đảm bảo gồm: tính sẵn dùng (Availability), tính xác thực (Authentication), 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).

3. Thuật toán mật mã và hàm băm nào được lựa chọn để triển khai hệ thống trong đồ án?

Đồ án lựa chọn hệ mật mã khóa công khai RSA làm chuẩn chữ ký số, kết hợp với các thuật toán băm mật mã như MD5 (tạo tóm lược thông điệp 128-bit) và SHA-1 để tạo thông điệp thu gọn trước khi thực hiện phép ký số.

4. Quy trình kiểm tra chữ ký số tại Máy chủ thanh toán (Payment Server) diễn ra như thế nào?

Máy chủ tiếp nhận cặp dữ liệu $(X, S)$. Tại đây, máy chủ dùng hàm băm tính chuỗi rút gọn $Y = H(X)$, đồng thời dùng khóa công khai $(e_1, N_1)$ của khách hàng để giải mã chữ ký thành $Y_1 = S^{e_1} \pmod{N_1}$. Nếu $Y_1 = Y$, máy chủ xác nhận chữ ký hợp lệ và chấp nhận giao dịch; nếu $Y_1 \neq Y$, giao dịch bị từ chối do dữ liệu bị giả mạo hoặc thay đổi.


Kết luận

Đồ án 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 đã hệ thống hóa đầy đủ cơ sở toán học và lý thuyết mật mã khóa công khai phục vụ an toàn thông tin. Tác giả đã phân tích sâu sắc các yêu cầu bảo mật trong thanh toán điện tử và đề xuất mô hình ứng dụng chữ ký số RSA kết hợp hàm băm để giải quyết bài toán xác thực và chống chối bỏ. Việc xây dựng thành công hệ thống thử nghiệm với đầy đủ các giao diện giao dịch thực tế đã chứng minh tính khả thi, đúng đắn của giải pháp kỹ thuật được nghiên cứu.