Sơ đồ luồng dữ liệu khi ký mù lên đồng tiền

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số kỹ thuật an toàn thông tin dùng trong rút tiền điện tử (Trang 54 - 57)

KHÁCH HÀNG

NGÂN HÀNG

Gửi x’, giá trị tiền k

Gửi z - Làm mù đồng tiền x: x’

- Xóa mù z: y

- Ký lên x’: z - Trừ đi k giá trị tiền trong tài khoản của khách hàng.

3.1.1. Sinh khóa

- Chọn 2 số nguyên tố lớn p, q sao cho p ≠ q. - Tính n = p*q, phi = (p-1)*(q-1);

- Chọn b thỏa mãn b (1; phi); b và phi nguyên tố cùng nhau. - Tìm a sao cho a.b  1 (mod phi)

Khi đó (a,n) khóa bí mật dùng để ký, (b,n) khóa cơng khai để xóa mù và kiểm tra chữ ký.

3.1.2. Ký “mù” lên đồng tiền

Trƣớc tiên chủ tài khoản làm mù đồng tiền rồi sau đó tiến hành gửi đồng tiền đã làm mù theo yêu cầu rút tiền tới ngân hàng để ngân hàng xác thực lên đồng tiền.

Sử dụng khóa cơng khai (n,b) và tham số mù r (r đƣợc chọn ngẫu nhiên sao cho tồn tại phần tử ngịch đảo của r và r  Zn) để làm mù đồng tiền, thu đƣợc z:

z = Blind(x) = x*rb (mod n)

z đƣợc chủ tài khoản gửi đến ngân hàng. Ngân hàng sử dụng khóa bí mật (a,n) để ký lên đồng tiền z:

y = sign(z) = za mod n

Ngân hàng tiến hành gửi y cho chủ tài khoản. Đồng thời trừ trong tài khoản một lƣợng tiền tƣơng ứng với giá trị đồng tiền khách hàng vừa rút.

3.1.3. Xóa mù

Khi chủ tài khoản nhận đƣợc y, thì chủ tài khoản tiến hành xóa mù để thu đƣợc chữ ký thực sự của ngân hàng trên đồng tiền.

Unblind(y) = ymodn

r = sign(x) Vì ymodn

r =( . ) mod . mod mod ( )

b a a ba

a

x r x r

n n x n sign x

rr  

Sau khi thực hiện xóa mù xong, đồng tiền lúc này đƣợc đại diện bởi 2 thành phần là x và sign(x).

3.1.4. Kiểm tra chữ ký

A tiến hành giao dịch và thanh toán tiền cho B. Khi nhận đƣợc tiền (x, sign(x)), B phải tiến hành kiểm tra xem có phải tiền thật không. Bằng việc sử dụng khóa cơng khai tƣơng ứng của ngân hàng để kiểm tra chữ kỹ của ngân hàng.

Ver(x,sign(x)= true thì là tiền thật, ngƣợc lại là tiền “giả”.

3.2. CHỨNG MINH KHÔNG TIẾT LỘ THÔNG TIN TRONG XÁC THỰC CHỦ TÀI KHOẢN THỰC CHỦ TÀI KHOẢN

3.2.1. Khởi tạo các thông số ban đầu

Khởi tạo các thông số ban đầu g1, g2, u1, u2.

- Các giá trị g1, g2 do ngân hàng chọn thỏa mãn (g1,g2) là bộ phần tử sinh của Gq với Gq là nhóm con cấp q của Zp*; p và q là các số nguyên tố thỏa mãn q là ƣớc của p-1. Hai giá trị g1, g2 công khai.

- Giá trị u1, u2 thuộc Zp do chủ tài khoản chọn ngẫu nhiên, đƣợc giữ bí mật. - Chủ tài khoản tính 1 2

1u. 2u

Ig g , gửi giá trị I đến ngân hàng.

3.2.2. Chủ tài khoản gửi yêu cầu xác minh

Chủ tài khoản chọn ngẫu hiên w1, w2  Zp, tính y:

1 2 w w 1 . 2 yg g Gửi y đến ngân hàng. 3.2.3.Ngân hàng gửi thử thách

Ngân hàng nhận y, chọn ngẫu nhiên Cr  Zp. Sau đó tiến hành gửi thử thách Cr lại cho chủ tài khoản.

3.2.4.Chủ tài khoản gửi chứng minh

Chủ tài khoản nhận Cr và tiến hành tính r1, r2:

1 w1 r. mod ;1 2 w2 r. 2mod ;

r  C u p r  C u p

3.2.5. Ngân hàng kiểm tra tính hợp pháp của chủ tài khoản

Ngân hàng nhận r1, r2 rồi tiến hành kiểm tra giá trị của biểu thức:

1 2

1 2

. Cr r. r

y Ig g

Nếu trả về giá trị đúng thì đó đúng là chủ tài khoản, tiến hành tiếp các giao dịch. Ngƣợc lại trả về giá trị sai thì chủ tài khoản là giả mạo, dừng ngay giao dịch.

Vì nếu đó thực sự là chủ tài khoản thì phải biết giá trị bí mật u1, u2, và nếu biết đƣợc chúng thì: 1 2 1 2 1 1 2 2 1 2 w w w w 1 2 1 2 1 2 1 2 . Cr . ( u . u )Cr u Cr. u Cr r. r y Ig g g ggg  g g 3.3. CHƢƠNG TRÌNH THỬ NGHIỆM

3.3.1. Chƣơng trình thử nghiệm chữ ký mù RSA

Dữ liệu đầu vào là tệp đồng tiền dạng *.txt, chứa giá trị của đồng tiền. Ta có Dong tien giá trị 500000 đơn vị tiền (giả sử là Việt Nam đồng)

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số kỹ thuật an toàn thông tin dùng trong rút tiền điện tử (Trang 54 - 57)

Tải bản đầy đủ (PDF)

(66 trang)