Bối cảnh và vấn đề nghiên cứu
Đồ án tốt nghiệp đại học hệ chính quy với đề tài "Tìm hiểu về chữ ký số và ứng dụng của nó trong thương mại điện tử" (hoặc "Tìm hiểu về chữ ký số và ứng dụng trong thương mại điện tử") được thực hiện bởi sinh viên Phạm Trung Hiếu (Mã sinh viên: 1612404011, Lớp: CT2001C), ngành Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng dưới sự hướng dẫn của Đại tá, Tiến sĩ Hồ Văn Canh (Cục KTNV - Bộ Công an). Đồ án được giao ngày 11/10/2021 và hoàn thành trước ngày 31/12/2021; đị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.
Bối cảnh thực tiễn được tác giả xác định là sự bùng nổ của các mô hình kinh doanh trên mạng truyền thông số và Internet, tạo nên cuộc cách mạng kinh tế - xã hội sâu rộng. Tuy nhiên, rào cản lớn nhất đối với sự phát triển của thương mại điện tử là vấn đề an toàn trong giao dịch và thanh toán trực tuyến. Các bên tham gia môi trường mạng phải đối mặt với nguy cơ giả mạo, đánh cắp thông tin thẻ, sửa đổi dữ liệu đơn hàng và chối bỏ trách nhiệm sau khi thực hiện giao dịch. Trong bối cảnh đó, chữ ký số xuất hiện như một phương tiện điện tử có giá trị pháp lý tương đương chữ ký tay của cá nhân hoặc con dấu của doanh nghiệp, giúp bảo vệ tính toàn vẹn, xác thực và bí mật của dữ liệu.
Nhiệm vụ và mục tiêu nghiên cứu của đề tài được quy định cụ thể theo văn bản giao nhiệm vụ gồm các nội dung:
- Nghiên cứu, tìm hiểu mật mã khóa công khai và chữ ký số.
- Nắm vững vai trò của mật mã khóa công khai trong thương mại điện tử.
- Hiểu biết về cơ sở mật mã và an toàn thông tin.
- Lựa chọn một loại mật mã khóa công khai làm chuẩn chữ ký số, thực hành ký trên một văn bản, nhận xét, đánh giá và rút ra kết luận.
Đối tượng nghiên cứu của đồ án là cơ sở toán học lý thuyết số, các hệ mật mã khóa bất đối xứng (trọng tâm là hệ mật mã RSA), hàm băm mật mã học (MD5, SHA-1), lược đồ chữ ký số và chứng chỉ số. Phạm vi nghiên cứu tập trung vào việc ứng dụng chữ ký điện tử nhằm bảo vệ quy trình thanh toán trực tuyến trong các mô hình thương mại điện tử (B2C, B2B), với sản phẩm thử nghiệm là hệ thống mô phỏng thanh toán trực tuyến ba bên (Khách hàng, Máy chủ bán hàng và Máy chủ thanh toán).
Cơ sở lý thuyết và phương pháp nghiên cứu
Về cơ sở lý thuyết, đồ án xây dựng nội dung dựa trên nền tảng toán học của lý thuyết số và mật mã học hiện đại:
- Lý thuyết số: Khái niệm ước số, số nguyên tố, phân tích số nguyên thành tích thừa số nguyên tố $a = p_1^{e_1} p_2^{e_2} \dots p_t^{e_t}$, ước số chung lớn nhất $\gcd(a, b)$ và số nguyên tố cùng nhau.
- Số học đồng dư và vành số nguyên modulo $n$ ($\mathbb{Z}_n$): Khái niệm $a \equiv b \pmod n$, tập hợp $\mathbb{Z}_n = {0, 1, \dots, n-1}$, cùng 10 tính chất đại số cơ bản của phép cộng và phép nhân (tính đóng, giao hoán, kết hợp, phần tử đơn vị, phần tử nghịch đảo và tính phân phối).
- Hàm Euler và các định lý nền tảng: Hàm phi Euler $\phi(n)$ với các tính chất $\phi(p) = p - 1$, $\phi(pq) = \phi(p)\phi(q) = (p - 1)(q - 1)$; Định lý Euler ($a^{\phi(n)} \equiv 1 \pmod n$ khi $\gcd(a, n) = 1$); Định lý Fermat nhỏ ($a^{p-1} \equiv 1 \pmod p$ với $p$ nguyên tố và $a$ không chia hết cho $p$) cùng hệ quả $a^p \equiv a \pmod p$.
- Thuật toán Euclide và Euclide mở rộng: Giải thuật chia dư tìm $\gcd(a, b)$ và thuật toán Euclide mở rộng tìm các hệ số nguyên $x, y$ thỏa mãn $a_0 x + a_1 y = \gcd(a_0, a_1)$, phục vụ việc xác định phần tử nghịch đảo nhân $a^{-1} \pmod n$.
- Hệ mật mã khóa công khai (PKC): Nguyên lý hàm một chiều có cửa sập (trapdoor one-way function); Bài toán logarithm rời rạc trong trường hữu hạn $\mathbb{Z}_p$ (hệ ElGamal); 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ố và bài toán RSA ($m^e \equiv c \pmod N$).
- Hàm băm mật mã học (Hash function): Yêu cầu thông điệp đầu vào có chiều dài bất kỳ, giá trị băm đầu ra có độ dài cố định và tính chất chống đụng độ mạnh (strongly collision-free). Các thuật toán được đề cập gồm SHA-1 (độ dài 160-bit) và MD5 (độ dài 128-bit).
- Lược đồ chữ ký điện tử và chứng thư số: Mô hình tạo chữ ký $y = E_{kd}(H(x))$ và xác thực $D_{ke}(y) == H(x)$; hạ tầng khóa công khai (PKI).
Phương pháp nghiên cứu được tác giả áp dụng gồm:
- Phương pháp phân tích và tổng hợp lý thuyết: Thu thập, hệ thống hóa các định lý số học, nguyên lý mật mã học từ các công trình kinh điển (William Stanley Jevons năm 1874; Whitfield Diffie và Martin Hellman năm 1976; Ronald Rivest, Adi Shamir, Leonard Adleman năm 1977).
- Phương pháp mô hình hóa hệ thống: Thiết kế mô hình hoạt động nghiệp vụ giữa các thực thể thông qua sơ đồ trường hợp sử dụng (Usecase) và luồng trao đổi thông điệp ký số.
- Phương pháp thực nghiệm - phát triển ứng dụng: Lập trình cài đặt giao diện web và các hàm tính toán mật mã để mô phỏng quy trình đặt hàng, băm dữ liệu đơn hàng bằng SHA-1, tạo chữ ký số RSA bằng khóa riêng của người dùng và xác thực chữ ký tại máy chủ bằng khóa công khai.
Nguồn dữ liệu và tài liệu tham khảo chính của đồ án gồm giáo trình chuyên khảo Mật mã và an toàn thông tin – Lý thuyết và ứng dụng của Hồ Văn Canh, Lê Danh Cường (2018), cùng các tài liệu tiêu chuẩn quốc tế về thương mại điện tử của Ủ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).
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 này cung cấp cái nhìn tổng quan về thương mại điện tử và các yêu cầu kỹ thuật đối với thanh toán trực tuyến:
- Khái niệm thương mại điện tử: Phân tích định nghĩa của Ủy ban Châu Âu (EC) về các hoạt động kinh doanh, truyền dữ liệu điện tử, chuyển tiền, đấu giá và dịch vụ sau bán hàng. Phân biệt thương mại điện tử theo nghĩa rộng (tất cả các giao dịch tài chính, thương mại, trao đổi dữ liệu điện tử EDI, rút tiền qua thẻ tín dụng) và nghĩa hẹp (giao dịch mua bán thông qua mạng Internet).
- Các mô hình kinh doanh cốt lõi: Trình bày hai mô hình chủ yếu là giao dịch giữa doanh nghiệp và người tiêu dùng (B2C) và giao dịch giữa các doanh nghiệp (B2B). Quy trình mua bán trên mạng được chuẩn hóa qua 6 giai đoạn: Thu hút khách hàng $\to$ Tương tác với khách hàng $\to$ Đặt hàng $\to$ Thanh toán $\to$ Thực hiện đơn đặt hàng $\to$ Dịch vụ hỗ trợ.
- An toàn trong thanh toán điện tử: Phân tích 5 khía cạnh an toàn thiết yếu gồm: Tính sẵn dùng, tính xác thực, tính toàn vẹn, tính không chối bỏ và tính tin cậy. Đưa ra 5 yêu cầu đối với hệ thống thanh toán: Tính an toàn (Security), Tính trong suốt (Transparency), Tính mở (Extensibility), Chi phí giao dịch thấp (Low Transaction Costs), và Tính hiệu quả (Performance).
- Mô hình thanh toán dùng chứng chỉ số và chữ ký số: Phân tách rõ ràng giữa việc phân phối hàng hóa và thanh toán. Sử dụng chứng chỉ được ký (signed receipt) làm bằng chứng giao dịch. Quy trình gồm 6 bước tương tác giữa Người bán (Vendor), Khách hàng (Customer) và Máy chủ thanh toán (Payment Server) có sự hỗ trợ của hạ tầng PKI.
Chương II: Cơ sở toán học và các hệ mã hóa khóa công khai
Chương này đi sâu vào cơ sở toán học và nguyên lý vận hành của các hệ mật mã bất đối xứng:
- Lý thuyết số chuyên sâu: Trình bày chi tiết các định nghĩa, định lý về ước số, số nguyên tố, phân tích thừa số nguyên tố, phép chia có dư $a = qn + r$ ($0 \le r < n$), lý thuyết đồng dư và cấu trúc đại số của vành $\mathbb{Z}_n$.
- Thuật toán và định lý: Trình bày định lý Euler, định lý Fermat nhỏ, thuật toán Euclide tìm $\gcd(a, b)$ và thuật toán Euclide mở rộng. Chương cung cấp các ví dụ tính toán số học cụ thể như: tính $\gcd(814, 187) = 11$ và tìm phần tử nghịch đảo của $17 \pmod{74}$ là $61$ thông qua phương trình $3 \times 74 - 13 \times 17 = 1$.
- Tổng quan hệ mật mã khóa công khai: Phân tích lịch sử từ bài toán phân tích thừa số nguyên tố của Jevons (1874) đến bài báo New Directions in Cryptography của Diffie và Hellman (1976). Nêu rõ nguyên lý hàm một chiều có cửa sập (trapdoor one-way function) và các bài toán khó (logarithm rời rạc, phân tích số nguyên lớn).
- So sánh mã đối xứng và mã bất đối xứng: Chỉ ra hai điểm yếu cốt tử của mã đối xứng trong môi trường mạng lớn là bài toán bùng nổ khóa quản lý ($n(n-1)/2$ khóa đối với hệ thống có $n$ người dùng) và việc không thể thiết lập chữ ký điện tử để cung cấp dịch vụ chống chối bỏ (non-repudiation).
- Ba mô hình ứng dụng của mật mã khóa công khai:
- Mã hóa và giải mã (Bảo đảm tính mật): Người gửi $A$ mã hóa bằng khóa công khai $keB$ của người nhận: $C = E_{keB}(M)$; người nhận $B$ giải mã bằng khóa riêng $kdB$: $M = D_{kdB}(C)$.
- Chữ ký điện tử (Bảo đảm tính xác thực): Người gửi $A$ mã hóa thông điệp bằng khóa riêng $kdA$: $C = E_{kdA}(M)$; người nhận $B$ giải mã bằng khóa công khai $keA$: $M = D_{keA}(C)$.
- Chuyển đổi khóa (Bảo đảm cả tính mật và xác thực): Kết hợp mã hóa hai lớp $E_{keB}(E_{kdA}(M))$ và giải mã hai lớp tương ứng $D_{keA}(D_{kdB}(\dots)) = M$.
Chương III: Chữ ký số và hàm băm
Chương này tập trung vào hệ mật mã RSA, thuật toán hàm băm và ứng dụng chữ ký số trong thực tế:
- Độ an toàn của RSA: Trình bày Bài toán 1 (phân tích số nguyên dương $N = p_1^{e_1} \dots p_k^{e_k}$) và Bài toán 2 (Bài toán RSA: tìm $m$ sao cho $m^e \equiv c \pmod N$). Tác giả nêu rõ dữ kiện thực nghiệm: chưa có thuật toán hiệu quả phân tích số nguyên $N$ có kích thước từ 232 chữ số thập phân (768-bit) trở lên.
- Quy trình tạo khóa, mã hóa và giải mã RSA:
- Tạo khóa: Chọn hai số nguyên tố lớn ngẫu nhiên $p, q$ (kích cỡ 512 đến 1024-bit), tính $N = p \cdot q$ và $\phi(N) = (p - 1)(q - 1)$. Chọn số $e$ ngẫu nhiên sao cho $1 < e < \phi(N)$ và $\gcd(e, \phi(N)) = 1$. Dùng thuật toán Euclide mở rộng tính $d = e^{-1} \pmod{\phi(N)}$. Công bố khóa công khai $ke = (e, N)$, giữ bí mật khóa riêng $kd = (d, N)$. Xóa bỏ $p, q$.
- Mã hóa khối: Chuyển đổi ký tự thành số theo bảng quy tắc (khoảng trắng $\to 00, A \to 01, B \to 02, \dots, Z \to 26$). Chia thông điệp thành các khối số nguyên $M_i < N$, tính bản mã $C_i = M_i^e \pmod N$.
- Giải mã khối: Tính $M_i = C_i^d \pmod N$ với $0 \le M_i < N$, sau đó chuyển đổi ngược về chuỗi ký tự ban đầu.
- Hàm băm mật mã học: Trình bày các ứng dụng nén thông điệp (Message Digest), tạo mã xác thực thông điệp MAC (Message Authentication Code) để kiểm tra tính toàn vẹn (Data Integrity), tra cứu bảng băm, phát hiện lỗi truyền dữ liệu (redundancy check) và nhận dạng âm thanh tệp MP3.
- Lược đồ chữ ký điện tử: Trình bày 4 yêu cầu của chữ ký số (tính an toàn, tính hiệu quả, chống nhân bản chữ ký, tính không thể phủ nhận). Mô tả quy trình tạo chữ ký $y = E_{kd}(H(x))$, quy trình kiểm tra chữ ký so sánh $h_1 = D_{ke}(y)$ với $h_2 = H(x)$, và quy trình kết hợp mã hóa bảo mật nội dung bằng khóa công khai người nhận $C = E_{keB}(x)$.
- Lược đồ chữ ký điện tử RSA: Người gửi tạo chữ ký $S = M^d \pmod N$ trên bản tóm lược $M = H(m)$; người nhận kiểm tra $S \le N$ và tính $M' = S^e \pmod N$, chấp nhận chữ ký khi $M = M'$. Đồ án nêu rõ sự kết hợp giữa lược đồ RSA và thuật toán băm MD5 (tạo tóm lược 128-bit) hoặc SHA-1 (160-bit).
Thiết kế và triển khai hệ thống thanh toán điện tử
Trong phần thực nghiệm của Chương III, tác giả xây dựng mô hình và cài đặt hệ thống thanh toán điện tử ứng dụng chữ ký số với cấu trúc 3 node tham gia:
[Khách hàng / Client] <---> [Máy chủ bán hàng / Server Vendor] <---> [Máy chủ thanh toán / Server Payment]
-
Các thành phần trong mô hình:
- Khách hàng (Client - Trình duyệt Web): Thực hiện xem mẫu sản phẩm, lựa chọn mặt hàng, điền thông tin đặt hàng, tạo chữ ký số trên đơn hàng và nhận thông báo kết quả.
- Máy chủ bán hàng (Server Vendor): Hiển thị sản phẩm, tiếp nhận yêu cầu đặt hàng, gửi yêu cầu thanh toán sang máy chủ thanh toán và thực hiện chuyển giao sản phẩm sau khi có xác nhận.
- Máy chủ thanh toán (Server Payment): Tiếp nhận yêu cầu thanh toán, quản lý cơ sở dữ liệu khóa và tài khoản, thực hiện kiểm tra và xác thực chữ ký số trên thông điệp thanh toán.
-
Quy trình ký số và xác thực thông điệp đơn hàng trong hệ thống:
- Cấp phát khóa: Sau khi người dùng đăng ký tài khoản thành công, hệ thống sinh cặp khóa công khai $(e_1, N_1)$ và khóa bí mật $(d_1, N_1)$, được mã hóa và lưu trữ trong cơ sở dữ liệu.
- Tạo chữ ký số phía User: Thông tin đặt hàng $X$ (gồm thông tin cá nhân khách hàng và chi tiết sản phẩm) được rút gọn qua hàm băm SHA-1 thành giá trị $Y = H(X)$. Người dùng giải mã khóa bí mật và tính chữ ký số $S = Y^{d_1} \pmod{N_1}$. Cặp dữ liệu $(X, S)$ được gửi lên Server.
- Xác thực chữ ký số phía Server: Server dùng hàm băm SHA-1 tính $Y = H(X)$ từ thông điệp $X$ nhận được. Đồng thời, Server sử dụng khóa công khai $(e_1, N_1)$ của khách hàng để tính $Y_1 = S^{e_1} \pmod{N_1}$. Nếu $Y_1 = Y$, Server công nhận chữ ký $S$ là hợp lệ, xác nhận giao dịch thành công. Nếu $Y_1 \ne Y$, Server từ chối giao dịch do chữ ký bị giả mạo hoặc dữ liệu đơn hàng đã bị thay đổi trên đường truyền.
-
Giao diện cài đặt thực nghiệm: Hệ thống được hiện thực hóa với 6 giao diện chức năng chính gồm:
- Giao diện trang web chính (Hình 3.1)
- Giao diện thêm sản phẩm (Hình 3.2)
- Giao diện đặt hàng (Hình 3.3)
- Giao diện thanh toán (Hình 3.4)
- Giao diện xác nhận thanh toán (Hình 3.5)
- Giao diện xác nhận thanh toán thành công (Hình 3.6)
Kết quả và đóng góp
Đồ án tốt nghiệp đã đạt được các kết quả cụ thể sau:
- Hệ thống hóa đầy đủ cơ sở toán học lý thuyết số (đồng dư, hàm Euler, định lý Fermat, thuật toán Euclide mở rộng) làm nền tảng cho mật mã khóa công khai.
- Phân tích chi tiết thuật toán mã hóa, giải mã và lược đồ chữ ký điện tử RSA, kèm theo các đánh giá về độ an toàn dựa trên bài toán phân tích số nguyên lớn ra thừa số nguyên tố.
- Phân tích cấu trúc, thuộc tính an toàn của hàm băm mật mã học (MD5, SHA-1) và vai trò của thông điệp thu gọn trong chữ ký số.
- Thiết kế và cài đặt thành công ứng dụng web mô phỏng quy trình mua sắm và thanh toán điện tử ba bên, tích hợp thuật toán băm SHA-1 và chữ ký số RSA để bảo đảm tính toàn vẹn và xác thực thông tin đơn hàng giữa khách hàng và máy chủ.
| Thành phần kỹ thuật | Thuật toán / Tiêu chuẩn sử dụng | Vai trò và thông số kỹ thuật trong đồ án |
|---|---|---|
| Cơ chế mật mã | RSA (Rivest - Shamir - Adleman) | Khóa công khai $(e, N)$, khóa riêng $(d, N)$; kích thước số nguyên tố $p, q$ từ 512-bit đến 1024-bit |
| Tính toán khóa | Thuật toán Euclide mở rộng | Tìm phần tử nghịch đảo $d = e^{-1} \pmod{\phi(N)}$ |
| Hàm băm tạo tóm lược | SHA-1 / MD5 | SHA-1 tạo tóm lược 160-bit (dùng trong mô phỏng đơn hàng); MD5 tạo tóm lược 128-bit |
| Ánh xạ chuỗi ký tự | Bảng mã số hóa | Khoảng trắng $\to 00$, ký tự $A \to 01, \dots, Z \to 26$ phục vụ mã hóa khối $M_i < N$ |
| Mô hình kiến trúc | Hệ thống phân tán 3 node | Client (Trình duyệt), Server Vendor (Bán hàng), Server Payment (Thanh toán) |
| Xác thực giao dịch | So sánh giá trị băm | Kiểm tra $Y_1 = S^{e_1} \pmod{N_1}$ với $Y = H(X)$ trên thông điệp đơn hàng $X$ |
Về giải pháp, tác giả đề xuất phân tách rõ ràng luồng xử lý phân phối hàng hóa và luồng xử lý thanh toán, sử dụng chứng chỉ được ký (signed receipt) và chữ ký số trên từng thông điệp truyền thông nhằm loại bỏ rủi ro gian lận thương mại. Về mặt đóng góp, đồ án đã kết nối chặt chẽ giữa lý thuyết mật mã trừu tượng với một kịch bản ứng dụng cụ thể trong thương mại điện tử, minh họa trực quan quy trình ký số trên dữ liệu đặt hàng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đồ án:
- Hệ thống thanh toán dừng lại ở mức độ mô phỏng các giao dịch cục bộ giữa 3 thành phần máy chủ và trình duyệt web, chưa kết nối trực tiếp với hệ thống ngân hàng thương mại thực tế hoặc các trung tâm chuyển mạch tài chính liên ngân hàng.
- Quy trình ký số RSA trong ứng dụng mô phỏng thực hiện ký trực tiếp trên dữ liệu tóm lược đơn hàng, chưa tích hợp đầy đủ quy trình kiểm tra và thu hồi chứng thư số theo thời gian thực (CRL hoặc OCSP) của hạ tầng khóa công khai PKI diện rộng.
Hướng nghiên cứu tiếp được văn bản đề cập:
- Mở rộng ứng dụng chữ ký số và chứng thư số tích hợp vào phần cứng bảo mật chuyên dụng như thẻ chip thông minh (Smartcard), chip nhớ trên thẻ tín dụng, chứng minh nhân dân điện tử, hộ chiếu điện tử và các hệ thống kiểm soát hải quan.
- Nghiên cứu tối ưu hóa hiệu năng thuật toán và tăng cường độ dài khóa mật mã để đối phó với sự gia tăng năng lực tính toán của các hệ thống thám mã trong tương lai.
Giá trị tham khảo
Đồ án là tài liệu tham khảo phù hợp cho:
- Sinh viên chuyên ngành Công nghệ thông tin, An toàn thông tin, Mạng máy tính và Thương mại điện tử đang học tập các học phần về Mật mã học, An toàn mạng, Giao dịch thương mại điện tử hoặc thực hiện đồ án tốt nghiệp liên quan đến bảo mật web.
- Lập trình viên và người nghiên cứu phát triển ứng dụng web cần tài liệu hướng dẫn từng bước về toán học số dư, thuật toán Euclide mở rộng tìm phần tử nghịch đảo và cách tích hợp thuật toán băm (SHA-1/MD5) cùng chữ ký số RSA vào luồng xử lý giao dịch.
- Phần đáng tham khảo nhất của đồ án là Chương II (với các ví dụ tính toán số học tường minh về thuật toán Euclide và Euclide mở rộng) và Chương III (với lược đồ chi tiết các bước tạo, kiểm tra chữ ký số trên thông điệp đơn hàng).
Câu hỏi thường gặp
1. Bài toán phân tích số nguyên đóng vai trò gì đối với độ an toàn của hệ mật mã RSA trong đồ án?
Độ an toàn của hệ mật mã RSA phụ thuộc trực tiếp vào độ khó của bài toán phân tích một số nguyên dương lớn $N$ (với $N = p \cdot q$, trong đó $p$ và $q$ là hai số nguyên tố lớn phân biệt) ra các thừa số nguyên tố. Theo văn bản, nếu không biết $p$ và $q$ thì việc tính hàm Euler $\phi(N) = (p - 1)(q - 1)$ để tìm ra khóa riêng $d$ từ khóa công khai $e$ là bài toán không thể giải nổi trong thời gian thực tế đối với các số nguyên $N$ có từ 232 chữ số thập phân (768-bit) trở lên.
2. Tại sao mật mã khóa đối xứng không phù hợp cho các hệ thống thương mại điện tử quy mô lớn theo phân tích của tác giả?
Mật mã khóa đối xứng bộc lộ hai hạn chế lớn trong môi trường mạng diện rộng: thứ nhất là bài toán quản lý và phân phối khóa phức tạp, khi hệ thống có $n$ người dùng thì cần phải tạo và lưu trữ $n(n - 1)/2$ khóa bí mật (mỗi người phải lưu $n - 1$ khóa); thứ hai là mã đối xứng dùng chung một khóa giữa hai bên nên không thể cung cấp dịch vụ chữ ký điện tử và tính chống chối bỏ trách nhiệm (non-repudiation) trong giao dịch.
3. Thuật toán Euclide mở rộng được sử dụng ở bước nào trong quy trình tạo khóa RSA?
Thuật toán Euclide mở rộng được sử dụng ở bước tính khóa riêng $d$. Cụ thể, sau khi chọn số nguyên $e$ thỏa mãn $\gcd(e, \phi(N)) = 1$, thuật toán Euclide mở rộng được áp dụng để giải phương trình đồng dư $e \cdot d \equiv 1 \pmod{\phi(N)}$, qua đó tìm ra số nguyên dương duy nhất $d$ ($0 < d < \phi(N)$) là phần tử nghịch đảo nhân của $e$ theo modulo $\phi(N)$.
4. Trong hệ thống mô phỏng của đồ án, quy trình ký số và xác thực đơn hàng giữa User và Server diễn ra như thế nào?
Khi người dùng đặt hàng, dữ liệu đơn hàng $X$ được băm bằng SHA-1 thành thông điệp tóm lược $Y = H(X)$. Người dùng dùng khóa riêng $(d_1, N_1)$ tính chữ ký số $S = Y^{d_1} \pmod{N_1}$ và gửi cặp $(X, S)$ lên máy chủ. Máy chủ băm lại thông điệp nhận được để có $Y = H(X)$, đồng thời dùng khóa công khai $(e_1, N_1)$ của người dùng để tí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 đơn hàng.
5. Hàm băm mật mã học phải thỏa mãn những điều kiện tiêu chuẩn nào theo trình bày của tác giả?
Hàm băm dùng trong mật mã học phải đáp ứng ba tiêu chuẩn kỹ thuật: chấp nhận thông điệp đầu vào (Message) có độ dài bất kỳ; tạo ra thông điệp thu gọn (Message Digest) ở đầu ra có độ dài cố định; và có tính chất chống đụng độ mạnh (Strongly collision-free), nghĩa là về mặt tính toán không thể tìm được hai thông điệp khác nhau $x \ne y$ sao cho $H(x) = H(y)$.
Kết luận
Đồ án tốt nghiệp "Tìm hiểu về chữ ký số và ứng dụng của nó trong thương mại điện tử" của sinh viên Phạm Trung Hiếu đã giải quyết trọn vẹn các nhiệm vụ nghiên cứu đặt ra, từ việc hệ thống hóa nền tảng toán học lý thuyết số đến phân tích chuyên sâu hệ mật mã bất đối xứng RSA và hàm băm mật mã học. Công trình đã làm rõ vai trò cốt lõi của chữ ký số trong việc giải quyết 5 yêu cầu an toàn của thanh toán trực tuyến, đồng thời hiện thực hóa thành công mô hình mô phỏng thanh toán 3 bên với cơ chế ký số dữ liệu đơn hàng bằng SHA-1 và RSA. Đây là tài liệu học thuật có cấu trúc chặt chẽ, kết hợp hài hòa giữa cơ sở lý thuyết mật mã và giải pháp kỹ thuật ứng dụng thực tiễn trong ngành Công nghệ thông tin.