MỤC LỤC 1. GIỚI THIỆU CHỮ KÍ MÙ 3 2. CHỮ KÝ MÙ CỦA CHAUM 3 2.1. Sõ ðồ chữ ký số RSA 3 2.2. Sõ ðồ chữ ký mù dựa trên giao thức ký RSA 3 3. ỨNG DỤNG CHỮ KÝ MÙ 3 3.1. Ứng dụng chữ ký mù trong ðấu giá ðiện tử 3 3.1.1. Giai ðoạn ðãng ký 3 3.1.2. Giai đoạn đấu giá 3 3.1.3. Giai đoạn kiểm tra 3 3.1.4. Yêu cầu 3 3.2. Ứng dụng chữ ký mù trong bỏ phiếu ðiện tử 3 3.2.1. Giai ðoạn ðãng ký 3 3.2.2. Giai ðoạn bỏ phiếu 3 3.2.3. Giai ðoạn kiểm tra 3 3.2.4. Giai ðoạn Kiểm phiếu 3 3.3. Ứng dụng chữ ký mù trong thýõng mại ðiện tử 3 4. XÂY DỰNG CHÝÕNG TRÌNH THỬ NGHIỆM CHỮ KÝ MÙ TRONG THANH TOÁN ÐIỆN TỬ SỬ DỤNG TIỀN ÐIỆN TỬ 3 4.1. Chýõng trình mô phỏng cách thức sử dụng tiền ðiện tử trong thanh toán 3 4.2. Các thành phần của chýõng trình 3 1. GIỚI THIỆU CHỮ KÍ MÙ Chữ ký số lần đầu tiên được Chaum giới thiệu vào năm 1983, cho phép khách hàng mua hàng nặc danh trong các hệ thống thương mại điện tử. Ở đây người ký văn bản không biết được nội dung văn bản mà mình ký, ký cho ai (dù rằng anh ta xác thực được chữ ký của mình). Điều này đồng nghĩa với việc chúng ta ký mà không biết nội dung của nó. Nhưng nó lại rất hữu ích trong các vấn đề đòi hỏi sự nặc danh trong thương mại điện tử, đấu giá điện tử và bỏ phiếu điện tử. Định nghĩa: Chữ ký mù là chữ ký mà người không biết mình đang ký trên nội dung gì. Vì vậy người ta gọi là Mù. Làm được như vậy vì nội dung X khi ký đuợc làm mù thành X’. Người ký, ký trên X’chứ không phải ký trên X. A cần B ký cho một chữ ký trên nội dung X, A không đưa X cho B ký mà làm mù X thành X’. Sau đó đưa X’ cho B ký. Sau khi nhận được chữ trên X’. A xóa mù để thu được chữ ký trên X. Như vậy vẫn có chữ ký trên X mà B không biết thông tin gì về X cả. 2. CHỮ KÝ MÙ CỦA CHAUM 2.1. Sõ ðồ chữ ký số RSA
AN NINH CƠ SỞ DỮ LIỆU CHỮ KÝ MÙ Giảng viên: PGS TS. Trịnh Nhật Tiến Học viên: Nguyễn Xuân Minh 1 MỤC LỤC 2 1. GIỚI THIỆU CHỮ KÍ MÙ Chữ ký số lần đầu tiên được Chaum giới thiệu vào năm 1983, cho phép khách hàng mua hàng nặc danh trong các hệ thống thương mại điện tử. Ở đây người ký văn bản không biết được nội dung văn bản mà mình ký, ký cho ai (dù rằng anh ta xác thực được chữ ký của mình). Điều này đồng nghĩa với việc chúng ta ký mà không biết nội dung của nó. Nhưng nó lại rất hữu ích trong các vấn đề đòi hỏi sự nặc danh trong thương mại điện tử, đấu giá điện tử và bỏ phiếu điện tử. Định nghĩa: Chữ ký mù là chữ ký mà người không biết mình đang ký trên nội dung gì. Vì vậy người ta gọi là Mù. Làm được như vậy vì nội dung X khi ký đuợc làm mù thành X’. Người ký, ký trên X’chứ không phải ký trên X. A cần B ký cho một chữ ký trên nội dung X, A không đưa X cho B ký mà làm mù X thành X’. Sau đó đưa X’ cho B ký. Sau khi nhận được chữ trên X’. A xóa mù để thu được chữ ký trên X. Như vậy vẫn có chữ ký trên X mà B không biết thông tin gì về X cả. 2. CHỮ KÝ MÙ CỦA CHAUM 2.1. Sõ ðồ chữ ký số RSA Cho n = p * q với p và q là số nguyên tố lớn ( tối thiểu cỡ 10150), ta tính giá trị φ(n ) = (p – 1).(q – 1 ). Đặt P =A = Zn Chọn khóa kiểm tra chữ ký là b: 1<b <φ (n ), b nguyên tố cùng nhau với φ(n) (UCLN ( b, φ(n) = 1). Chọn khóa ký là a: a là phần tử nghịch đảo của b theo φ (n) K = {( n, p, q, a, b ) / n = p * q là các số nguyên tố, a * b ≡ 1 ( mod φ (n) )} k’ = (n, b) là khóa công khai và giá trị k’’ = (a, p, q )là giá trị khóa bí mật. Với mỗi K = (n, p, q, a, b ), x∈P ta định nghĩa: Ký: y = sigk(x, y) = x a mod n, y ∈ A Kiểm thử chữ ký: Ver (x, y) = đúng ⇔ x ≡ y b ( mod n ) Ví dụ về sơ đồ chữ ký số RSA: Ký : y = Sig k (x ) = x a mod n, y ∈ A Dùng sơ đồ chữ ký số RSA với K = {n, p, q, a, b} trong đó : P = 113, q = 139, n =q. p =15707, φ (n) = ( p-1) * (q-1) = 15456. Chọn b = 1627 ( nguyên tố cùng nhau với φ(n)), a = 19 là nghịch đảo của b theo φ(n). Khi đó: ta ký lên thông điệp x = 100: Ký: y = Sig k (x) = x a mod n = 100 19 mod 15707 = 1731. 3 Kiểm thử: Ver k (x,y) = đúng ⇔ x ≡ y b (Mod n) Thật vậy: 1731 1627 mod 15707 = 100 2.2. Sõ ðồ chữ ký mù dựa trên giao thức ký RSA Giả sử A yêu cầu B ký một số tài liệu, nhưng lại không muốn B biết nội dung của các tài liệu đó. Mục đích của chúng ta là có được chữ ký của B trên văn bản X, theo sơ đồ chữ ký RSA chữ ký đó là giá trị x a mod n. Lúc này A và B phải thực hiện một số bước sau: Bước 1. A làm mù x (che x): Blind (x) = x.r b ( Mod n) = u, với r là ngẫu nhiên ∈ Z n , n và b được lấy từ khóa công khai của B. Bước 2. A gửi u cho B Khi B ký trên u sẽ nhận được chữ ký là v = Sig (z), sau đó gửi lại cho A: v = Sig (Blind (x)) = sig(x * r b ) = x a. . (r b ) a = x a. . r (mod n) Bước 3. A xóa mù trên v, sẽ nhận được chữ ký trên x z = Unblind (v) = v/r mod n = x a . r/r mod n = x a (mod n) Như vậy ta đã đạt được mục đích là nhận đươc chữ ký B: x a mod n mà B không hay biết nội dung của văn bản x. Bởi vì nội dung của thông điệp đã được che mù thông qua việc nhân với r b , cho dù b là số công khai lấy từ B, nhưng r là số ngẫu nhiên mà B không thể biết được. Sau khi B ký xong A xóa mù (nhân với r -1 ) để nhận được chữ ký của B. Thực tế thì khi nhận được thông điệp B có thể kiểm thử được chữ ký của mình, tuy nhiên B không thể xác định được mình đã ký cho ai. Ví dụ cho sơ đồ chữ ký mù dựa trên giao thức ký RSA Sơ đồ chữ ký mù RSA với K= (n, p, q, b, a )trong đó : P = 113, q = 139, n=p * q= 15707, φ(n) = (p-1) * (q-1) = 15456 Chọn b=1627 (nguyên tố cùng φ(n)); a=19 (phần tử nghịch đảo của b theo φ (n)). Giả sử thông điệp cần ký x=100 . Nếu theo sơ đồ chữ ký RSA thì sẽ nhận được chữ là E (x)=x a (mod n )=100 19 mod 15707 = 1731. Nhưng với sơ đồ chữ ký mù ta không làm như vậy! Bước 1. Che dấu số định danh x bằng bí danh u: u= Blind (x) = x * r b (mod n)=100 * 17 1627 (mod 15707) = 3075 (r = 17 được chọn vì tồn tại phần tử nghịch đảo r –1 (mod 15707 ) = 924). Bài toán tìm phần tử nghịch đảo ta sử dụng thuật toán Euclid mở rộng. Bước 2. Gửi bí danh u cho người ký nhận được chữ ký v: v = E(y)=u a mod n = 3075 19 (mod 15707)=13720 Bước 3. Người gửi nhận được chữ ký trên số định danh x: Người nhận “xóa mù” trên v sẽ nhận được chữ ký trên số định danh: 4 Unblind (v) = v * r –1 mod n= 13720 * 924 (mol 15707 )=1731. 3. ỨNG DỤNG CHỮ KÝ MÙ 3.1. Ứng dụng chữ ký mù trong đấu giá điện tử Một qui trình đấu giá điện tử bao gồm bốn giai đoạn chính: Giai đoạn đăng ký: Ban đăng ký xác nhận quyền đấu giá của người tham gia và ký ; - Mỗi người tham gia có một định danh riêng; - Ban đăng ký, ký vào số định danh, gửi chữ ký cho người tham gia. Giai đoạn đặt giá: Người tham gia ghi nội dung phiếu đặt giá, mã hóa phiếu đặt giá, gửi tới ban duyệt giá. Giai đoạn kiểm tra: Kiểm tra chữ ký cấp quyền trên phiếu đặt giá xem có hợp lệ hay không nếu hợp lệ thì chuyển đến ban duyệt giá. Giai đoạn duyệt giá: Chọn ra giá cao nhất và thông báo kết quả. 3.1.1. Giai đoạn đăng ký a. Công việc: * Người đấu giá: - Người đấu giá chọn bí mật số định danh x, giấy chứng minh thư điện tử (CMT), thông tin nhận dạng. Người đấu giá "làm mù" x thành y = Blind(x). - Người đấu giá gửi tới ban đăng ký thông tin nhận dạng của mình CMT, số y (định danh x được người đấu giá làm mù thành y). * Ban đăng ký: - Ban đăng ký nhận dạng người đấu giá, kiểm tra CMT của người đấu giá. - Nếu hồ sơ của người đấu giá hợp lệ, khớp với danh sách người đấu giá của Ban điều hành, người đấu giá chưa xin cấp chữ ký lần nào, thì ra lệnh cho Hệ thống "ký" lên y. Đó là chữ ký z = sign(y). - Ban đăng ký ghi số CMT của người đấu giá vào danh sách người đấu giá đã được cấp chữ ký (để tránh việc người đấu giá xin cấp chữ ký nhiều lần). - Ban đăng ký gửi chữ ký z về cho người đấu giá. * Người đấu giá: - Khi nhận được chữ ký này, người đấu giá "xoá mù" trên z, họ sẽ nhận được chữ ký sign(x) trên định danh thật x. Phiếu đặt giá có gắn chữ ký sig(x) được xem như đã có chữ ký của Ban đăng ký. Đó là phiếu đặt giá hợp lệ để người đấu giá ghi giá của mình. - Người đấu giá có thể kiểm tra chữ ký của Ban đăng ký trên phiếu đặt giá của mình có hợp lệ hay không bằng cách dùng hàm kiểm tra chữ ký và khoá công khai của Ban đăng ký. (Chú ý: khoá ký trên định danh của người đấu giá được chia sẻ cho mọi 5 thành viên của Ban đăng ký và Ban kiểm tra, nhờ đó sau này Ban kiểm tra có thể phát hiện ra những người đấu giá giả mạo chữ ký của Ban đăng ký.) b. Kỹ thuật sử dụng: Kỹ thuật "chia sẻ khoá bí mật": Hệ thống phân phối khoá tin cậy đã chia sẻ khoá ký cho các thành viên Ban đăng ký và ban kiểm tra trước đó. Sau khi xét duyệt hồ sơ xin chữ ký của người đấu giá, nếu mọi thành viên của Ban đăng ký đều nhất trí cho ký thì họ sẽ khớp các mảnh khoá riêng để nhận được khoá ký. - Mục đích của kỹ thuật: từng thành viên của Ban đăng ký không thể tuỳ tiện cấp chữ ký. Kỹ thuật "chữ ký mù": - Ban đăng ký sử dụng kỹ thuật ký "mù" để ký tên lên định danh "mù" của người đấu giá. Mục đích của kỹ thuật: Ban đăng ký không thể biết được ai đã ghi thông tin về giá vào phiếu đặt giá tức là bảo đảm không lộ danh tính người đấu giá. 3.1.2. Giai đoạn đấu giá a. Công việc: Sau khi phiếu đặt giá có chữ ký của Ban đăng ký, người đấu giá ghi giá (đặt giá) của mình vào phiếu đặt giá ; Người đấu giá mã hoá phiếu đặt giá bằng khoá công khai của Ban duyệt giá. Người đấu giá gửi tới Ban duyệt giá: phiếu đặt giá đã mã hoá, định danh thật (không bị làm mù) của họ, chữ ký của Ban đăng ký trên phiếu đặt giá, "chứng minh không tiết lộ thông tin" về phiếu đặt giá ; Chú ý rằng phiếu đặt giá không được chuyển thẳng tới ban duyệt giá, mà trước đó phải qua Ban kiểm tra. Tại đây họ kiểm tra chữ ký cấp quyền bỏ phiếu có bị giả mạo không, họ xác minh tính hợp lệ của phiếu đặt giá. b. Kỹ thuật sử dụng: Kỹ thuật "chứng minh không tiết lộ thông tin" Mục đích của kỹ thuật: ở giai đoạn sau, ban kiểm tra có cơ sở để xác minh tính hợp lệ của phiếu đặt giá (vì ở dưới dạng mã hoá, nên không thể biết phiếu đặt giá có hợp lệ không). 3.1.3. Giai đoạn kiểm tra a. Công việc: Kiểm tra chữ ký, cấp quyền trên phiếu đặt giá (Liên hệ với Ban đăng ký) ; Mã hoá lại phiếu đặt giá, gửi về ban duyệt giá ; 6 Ban kiểm tra đứng trung gian giữa Người đấu giá và Ban duyệt giá để ngăn chặn một số tình huống thiếu an toàn hay vi phạm luật đấu giá, ví dụ trường hợp thông đồng giữa những người đấu giá. b. Kỹ thuật sử dụng: Kỹ thuật ký số Mục đích của kỹ thuật: kiểm tra chữ ký cấp quyền đấu giá trên phiếu đặt giá. Kỹ thuật mã hoá: Mục đích của kỹ thuật: mã hoá lại phiếu đặt giá và gửi ban duyệt giá 3.1.4. Yêu cầu Trong thực hành, qui trình đấu giá điện tử phải thỏa mãn vài yêu cầu: - Tính hợp pháp: Chỉ có những người đấu giá hợp lệ được phép đặt giá. - Tính bí mật: Không có sự liên hiệp nào của những người tham gia. Không người đấu giá nào có thể biết được bất kỳ thông tin phiếu đặt giá của người đấu giá khác. - Tính cá nhân: Mỗi người đấu giá hợp pháp có thể kiểm tra rằng phiếu đặt giá của anh ta thật sự được duyệt. - Tính xác minh phổ thông: Bất kỳ người đấu giá nào hoặc người quan sát có thể kiểm tra phiên đấu giá rõ ràng, chung cuộc được công bố thật sự là giá cao nhất (hoặc thấp nhất) trong số các phiếu đặt giá. - Tính rõ ràng: Không có người tham gia nào có thể biết được bất kỳ thông tin nào quanh Bộ phận duyệt giá trước Giai đoạn duyệt giá. - Tính trung thực: Không có sự liên hiệp nào của những người đấu giá có thể phá vỡ phiên đấu giá và bất kỳ hành vi gian lận nào cũng sẽ được phát hiện ra. 3.2. Ứng dụng chữ ký mù trong bỏ phiếu điện tử Một qui trình bỏ phiếu điện tử thường bao gồm bốn giai đoạn chính: Giai đoạn đăng ký, giai đoạn bỏ phiếu. giai đoạn kiểm tra và giai đoạn kiểm phiếu. 3.2.1. Giai đoạn đăng ký a. Công việc Cử tri: - Cử tri chọn bí mật số định danh x, giấy chứng minh thư điện tử (CMT), thông tin nhận. Cử tri “làm mù” x thành y = Blind(x). - Cử tri gửi tới Ban đăng ký thông tin nhận dạng của mình, CMT, số y (định danh x đã được họ làm mù thành y). Ban đăng ký: - Ban ĐK nhận dạng cử tri, Kiểm tra CMT của cử tri. 7 - Nếu hồ sơ của cử tri hợp lệ, khớp với danh sách cử tri của Ban điều hành, cử tri chưa xin cấp chữ ký lần nào, thì ra lệnh cho Hệ thống “ký” lên y. Đó là chữ ký z = sign(y). - Ban đăng ký ghi số CMT của cử tri vào danh cử tri đã được cấp chữ ký (để tránh việc cử tri đăng ký bỏ phiếu nhiều lần). - Ban đăng ký gửi chữ ký z về cho cử tri. Cử tri: - Khi nhận được chữ ký này, cử tri “xóa mù” trên z, họ sẽ nhận được chữ ký sign(x) trên định danh thật x. Lá phiếu có gắn chữ ký sign(x) được xem như đã có chữ ký của Ban đăng ký, đó là lá phiếu hợp lệ để cử tri ghi ý kiến của mình. Cử tri có thể kiểm tra chữ ký của Ban điều hành trên lá phiếu của mình có hợp lệ hay không bằng cách dùng hàm kiểm tra chữ ký và khóa công khai của Ban điều hành. Chú ý rằng khóa ký trên định danh của cử tri được chia sẻ cho mọi thành viên của Ban đăng ký và Ban kiểm tra, nhờ đó sau này Ban kiểm tra có thể phát hiện ra những cử tri giả mạo chữ ký của Ban đăng ký. b. Kỹ thuật sử dụng Kỹ thuật “Chia sẻ khóa bí mật” (Secret Sharing): Hệ thống phân phối khóa tin cậy đã chia sẻ khóa ký cho các thành viên Ban đăng ký và Ban kiểm tra trước đó. Sau khi xét duyệt hồ sơ xin chữ ký của cử tri, nếu mọi thành viên của Ban đăng ký đều nhất trí cho ký thì họ sẽ khớp các mảnh khóa riêng để nhận được khóa ký. Mục đích của kỹ thuật: Từng thành viên của Ban đăng ký không thể tùy tiện cấp chữ ký. Kỹ thuật “Chữ ký mù”(Blind Signature): Ban đăng ký sử dụng kỹ thuật ký “mù” để ký lên định danh “mù” của cử tri. Mục đích của kỹ thuật: Ban đăng ký không thể biết được ai đã ghi ý kiến vào lá phiếu, tức là bảo đảm không lộ danh tính cử tri. 3.2.2. Giai đoạn bỏ phiếu a. Công việc: - Sau khi lá phiếu có chữ ký của Ban ĐK, cử tri ghi ý kiến (lựa chọn) của mình vào lá phiếu. - Cử tri mã hoá lá phiếu bằng khoá công khai của Ban kiểm phiếu (KP). - Cử tri gửi tới Ban kiểm tra: Lá phiếu đã mã hoá, Định danh thật x (không bị làm mù) của họ, Chữ ký của Ban đăng ký trên lá phiếu, “Chứng minh không tiết lộ thông tin” về lá phiếu. 8 Chú ý rằng lá phiếu không được chuyển thẳng tới hòm phiếu, mà trước đó phải qua Ban kiểm tra. Tại đây họ kiểm tra chữ ký cấp quyền bỏ phiếu có bị giả mạo không, họ xác minh tính hợp lệ của lá phiếu. b. Kỹ thuật sử dụng Kỹ thuật “Mã hóa đồng cấu” (Homomorphism Cryptography): Mã hoá đồng cấu có tính chất đặc biệt: tích của các “bản tin” (message) được mã hoá bằng tổng các “bản tin” được mã hoá. Điều này rất thích hợp cho loại bỏ phiếu điện tử khi mà các “bản tin” được mã hoá thành 0 hay 1. Mục đích của kỹ thuật: Ban kiểm phiếu không cần giải mã từng lá phiếu, vẫn có thể kiểm phiếu được. 3.2.3. Giai đoạn kiểm tra a. Công việc: - Kiểm tra chữ ký cấp quyền bỏ phiếu trên lá phiếu. (liên hệ với Ban đăng ký). - Kiểm tra tính hợp lệ của lá phiếu. (Xác nhận với Cử tri). - Mã hóa lại lá phiếu, gửi về hòm phiếu. - Khi gửi lá phiếu (đã mã hoá) về Ban kiểm tra, cử tri phải gửi kèm theo định danh thật x (không bị làm mù). Như vậy Ban kiểm tra biết được chữ ký thật Sign(x) của Ban đăng ký trên lá phiếu và định danh thật x của cử tri, nhưng không biết danh tính thật của cử tri. Ban đăng ký biết các thông tin này, nhưng lại không biết định danh thật x của cử tri (vì nó đã bị làm mù trước khi gửi tới họ). Như trên đã nói, khóa ký vào định danh của cử tri được chia sẻ cho mọi thành viên của Ban đăng ký và Ban kiểm tra. Vì vậy trong giai đoạn này, Ban kiểm tra dùng khóa ký đó để ký lên định danh thật x của cử tri, kiểm tra xem có giống như chữ ký Sign(x) mà cử tri đã gửi tới họ. Nếu hai chữ ký không khớp nhau, họ xem chữ ký trong lá phiếu trên là giả mạo, lá phiếu này sẽ không được gửi tiếp tới hòm phiếu. - Ban kiểm tra thực hiện các giao thức tương tác với cử tri để kiểm tra tính hợp lệ của lá phiếu. - Sau khi xác minh tính hợp lệ của lá phiếu, Ban kiểm tra gửi nó về hòm phiếu. Ban kiểm tra đứng trung gian giữa Cử tri và Ban Kiểm phiếu để ngăn chặn một số tình huống thiếu an toàn hay vi phạm luật bỏ phiếu, ví dụ trường hợp mua bán phiếu bầu cử. b. Kỹ thuật sử dụng: Kỹ thuật “ Ký số ” ( Digital Signature): - Mục đích của kỹ thuật: kiểm tra chữ ký cấp quyền bỏ phiếu trên lá phiếu. Kỹ thuật “Chứng minh không tiết lộ thông tin”( Zero_knowledge proof) - Mục đích của kỹ thuật: để kiểm tra tính hợp lệ của lá phiếu. 9 Kỹ thuật “Mã hoá” (Cryptography): - Mục đích của kỹ thuật: Mã hóa lại lá phiếu, gửi về hòm phiếu. 3.2.4. Giai đoạn Kiểm phiếu a. Công việc: - Các lá phiếu sẽ được “trộn” nhờ kỹ thuật “trộn” trước khi chúng được chuyển về Ban KP, nhằm giữ bí mật danh tính cho các cử tri. - Ban kiểm phiếu tính kết quả dựa vào các lá phiếu (đã mã hoá) gửi về. Chú ý là theo phương pháp mã hóa đồng cấu, Ban KP không cần giải mã từng lá phiếu, vẫn có thể kiểm phiếu được. - Khi kiểm phiếu, các thành viên Ban KP dùng các mảnh khóa riêng của mình để khôi phục khóa bí mật (khóa này đã bị chia sẻ qua một sơ đồ chia sẻ bí mật). Ban kiểm phiếu dùng khóa bí mật này để tính kết quả cuộc bầu cử. - Ban kiểm phiếu thông báo kết quả lên Bảng niêm yết công khai. b. Kỹ thuật sử dụng: Kỹ thuật “Trộn” (Mixing) Ban kiểm phiếu gồm m thành viên, để họ không thể biết được lá phiếu nào là của ai, người ta xây dựng hệ thống mã hoá m tầng và phải giải mã m lần mới biết được nội dung của các lá phiếu. Đầu tiên người thứ nhất trong Ban kiểm phiếu biết được từng lá phiếu là của ai, nhưng lại không biết nội dung của chúng. Anh ta giải mã lần 1, vẫn không biết nội dung của chúng, người này“trộn” theo trật tự khác. Mọi người tiếp theo trong Ban KP thực hiện các công việc như người thứ nhất. Sau khi người cuối cùng trong Ban kiểm phiếu giải mã lần thứ m thì nội dung các lá phiếu đã rõ ràng, nhưng các thành viên trong Ban kiểm phiếu thì không thể biết được “tác giả” của từng lá phiếu vì chúng đã được“trộn” m-1 lần. Kỹ thuật “Chia sẻ khóa bí mật” (Secret Sharing) Kỹ thuật “Mã hóa đồng cấu” (Homomorphism Cryptography) Kỹ thuật “Chứng minh không tiết lộ thông tin” - Mục đích của kỹ thuật: ở giai đoạn sau, Ban kiểm tra có cơ sở để xác minh tính hợp lệ của lá phiếu. Vì dưới dạng mã hoá, nên không thể biết lá phiếu có hợp lệ không. 3.3. Ứng dụng chữ ký mù trong thương mại điện tử Các bước của quá trình thanh toán điện tử dưới hình thức sử dụng tiền điện tử, có chữ ký của đơn vị phát hành tiền điện tử. Quy trình thanh toán điện tử gồm 4 pha sau: Pha 1. Tạo tiền điện tử (tương ứng với giao thức rút tiền) Phía A (người rút tiền): 10 [...]... dịch kết thúc 4 XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM CHỮ KÝ MÙ TRONG THANH TOÁN ĐIỆN TỬ SỬ DỤNG TIỀN ĐIỆN TỬ Chương trình thử nghiệm Pha 1 trong các pha của quá trình thành toán điện tử bằng đồng tiền điện tử 4.1 Chương trình mô phỏng cách thức sử dụng tiền điện tử trong thanh toán Hệ thống gồm có các thành phần: Khách (Client), Ngân hàng (Server) và cơ sở dữ liệu DBMS Ứng dụng phát triển dựa trên mô hình... một khoản tiền tương ứng trong tài khoản của A - Mã hóa đồng tiền đã được ký mù mới khóa công khai của A và gửi cho A - A khử mù đồng tiền và thu được đồng tiền có chữ ký hợp lệ của ngân hàng Pha 2 Tiêu tiền điện tử (tương ứng giao thức trả tiền) - A gửi yêu cầu mua hàng đến B - B gửi trả về thông tin sản phẩm, số tiền cần thanh toán cho A - Sau khi A chấp nhận giao dịch, A gửi các đồng tiền điện tử... giá trị đồng tiền - Làm mù giá trị N trên một số ngẫu nhiên bí mật r, mã hóa bằng khóa công khai của ngân hàng và gửi cho ngân hàng giá trị của đồng tiền và Serial đã được mù hóa Ngân hàng: - Sau khi nhận được các thông tin từ A sẽ thực hiện - Kiểm tra tài khoản của A có đủ để rút đồng tiền anh ta yêu cầu hay không? - Nếu tài khoản của A còn đủ tiền, ký mù lên Serial đã được làm mù với khóa bí mật tương... trường Windows và cơ sở dữ liệu Access 4.2 Các thành phần của chương trình Bao gồm chức năng: Rút tiền: Chon phép khách hàng rút tiền điện tử trong định mức tài khoản của mình tại ngân hàng về ví tiền điện tử của mình Ngân hàng sẽ trừ vảo tài khoản của khách hàng tương ứng với số tiền đã rút Các bước thực hiện chương trình - Đăng nhập hệ thống Hiển thị đồng tiền điện tử mà ngân hàng đang phát hành, cho... và số tiền trong tài khoản Tại đây người sử dụng chọn đồng tiền tiện tử cần rút về Chọn đồng tiền điện tử muốn rút về ví 13 - Thông báo nhập tham số lien quan của đồng tiền 14 - Nhập giá trị làm mù r 15 - Đồng tiền được ký mù và được nhận về và xóa mù 16 Đồng tiền được cập nhật vào trong ví tiền điện tử của khách hàng, đồng thời tài khoản của khách hàng bị trừ đi một khoản tương ứng với số tiền rút 17... (tương ứng giao thức gửi tiền) - Trước khi chấp nhận thanh toán, B gửi đồng tiền nhận được đến ngân hàng để kiểm tra tính hợp lệ - Ngân hàng kiểm tra chữ ký trên đồng tiền và xem nó đã được tiêu chưa Nếu tất cả chúng hợp lệ ngân hàng chấp nhận những đồng tiền và tăng tài khoản của B tương ứng với đồng tiền đồng thời lưu dãy số Serial trên đồng tiền vào danh sách những đồng tiền đã tiêu Pha 4 Kết thúc giao . (Liên hệ với Ban đăng ký) ; Mã hoá lại phiếu đặt giá, gửi về ban duyệt giá ; 6 Ban kiểm tra đứng trung gian giữa Người đấu giá và Ban duyệt giá để ngăn chặn một số tình huống thiếu an toàn hay. và khoá công khai của Ban đăng ký. (Chú ý: khoá ký trên định danh của người đấu giá được chia sẻ cho mọi 5 thành viên của Ban đăng ký và Ban kiểm tra, nhờ đó sau này Ban kiểm tra có thể phát hiện. ký và khóa công khai của Ban điều hành. Chú ý rằng khóa ký trên định danh của cử tri được chia sẻ cho mọi thành viên của Ban đăng ký và Ban kiểm tra, nhờ đó sau này Ban kiểm tra có thể phát hiện