Sơ Đồ Chữ Ký Mù Dựa Trên Chữ Ký Rsa

Hình 1. 6: Sơ đồ chữ ký mù dựa trên chữ ký RSA


Ví dụ:

Giả sử ông A gửi ông B thông điệp x=8. Ông B ký lên thông điệp x đã được làm mù, thông điệp được ký sẽ gửi lại ông A, ông A xoá mù.

1/ Theo ví dụ ở phần chữ ký RSA, khi ký trên x=8 thì chữ ký là: Sign(x)= xamod n= 87 mod 15 = 2=y.

2/ Quy trình “ký mù”: ba bước.

Bước 1 (làm mù): làm mù x=8

Blind(x)=x * rb(mod n) = 8 * 57(mod 15)=8*78125(mod 15)

= 625000 mod 15 = 10 = z

với r = 5 là số ngẫu nhiên Z15.

Có thể bạn quan tâm!

Xem toàn bộ 72 trang tài liệu này.


Bước 2 (ký): ký trên z

Nghiên cứu một số giao thức thanh toán qua mạng công khai - 4

y =Sig(z)= za (mod n) = 107(mod 15)= 10000000 (mod 15) = 10.

Bước 3 (xoá mù): xoá mù y= 10

UnBlind(y)= y / r (mod n) = 10 / 5 (mod 15) = 2. (Bởi vì 2*5(mod 15)=10)

1.3.2.4 Chữ ký nhóm

Người tin cậy Z là trưởng nhóm chọn hệ thống khóa bí mật, Z chuyển cho mỗi thành viên trong nhóm một danh sách các khóa bí mật (các danh sách này là khác nhau) và công bố một danh sá ch các khóa công khai tương ứng (theo thứ tự ngẫu nhiên) trong thư mục công khai tin tưởng.

- Mỗi thành viên trong nhóm có thể ký bằng khóa bí mật si trong danh sách của anh ta. Người nhận kiểm tra chữ ký bằng khóa công khai tương ứng:

h = gsi mod p.


- Mỗi khóa bí mật si chỉ được sử dụng một lần

- Z biết danh sách khóa bí mật của mỗi thành viên, vì trong trường hợp cần thiết anh ta biết được ai đã tạo ra chữ ký đó. Để làm được điều này Z mở một chữ ký

- Theo sơ đồ này Z biết danh sách bí mật của mọi thành viên và có thể giả mạo chữ ký. Điều này có thể giải quyết bằng việc sử dụng các khóa công khai mù

1) Cải biên 1

p

Chọn p là số nguyên tố, g là phần tử sinh của nhóm nhân Z *.

Thành viên thứ i tự chọn khóa bí mật “thực sự” của mình là si, khóa công khai

thực sự” là h = gsi mod p. Trưởng nhóm Z có danh sách các khóa công khai khác nhau và tên các thành viên tương ứng trong nhóm

- Mỗi tuần đưa cho thành viên i một số ngẫu nhiên ri {1, 2, …, p-1}, trong tuần này, thành viên i sẽ sử dụng s i r i mod (p-1) làm khóa bí mật ”. (Khóa mật si đã bị che bởi ri).

Khóa công khai ” tương ứng là h - mù =

2) Cải biên 2

gsi ri = (gsi )ri .


- Không cần phải có nhóm trưởng, mỗi thành viên của nhóm gửi các khóa công khai của họ vào một danh sách khoá công khai của nhóm. Chỉ những thành viên của nhóm mới có thể gửi các khóa công khai vào danh sách này.


1.3.2.5 Chữ ký mù nhóm

Chữ ký số “mù nhóm” kết hợp thuộc tính của chữ ký “nhóm” và chữ ký “mù”.

Sơ đồ chữ ký số “mù nhóm” được Lysyanskaya và Ramzam đưa ra năm 1998.

Các thủ tục trong sơ đồ chữ ký “mù nhóm”:


Setup: Dùng thuật toán xác suất để sinh khoá công khai của nhóm và khoá quản lý bí mật cho Trưởng nhóm.

Join: Giao thức tương tác giữa Trưởng nhóm và thành viên mới của nhóm để cung cấp cho thành viên này khoá bí mật và chứng nhận thành viên .

Sign: Giao thức tương tác giữa thành viên nhóm là Bob và người dùng bên ngoài nhóm là Alice có thông điệp m, để Bob có thể tạo chữ ký $ trên thông điệp này.

Verify: Giải thuật có đầu vào (m, $, ) để kiểm tra chữ ký $ trên thông điệp m. Open: Giải thuật có đầu vào ($, ) để xác định thành viên của nhóm đã ký chữ ký $.


Hình 1. 7: Sơ đồ chữ ký mù nhóm


1.4 MỘT SỐ VẤN ĐỀ LIÊN QUAN

1.4.1 Chứng chỉ số

Chứng chỉ khóa công khai là giấy chứng nhận khóa công khai của một thực thể (gọi tắt là chứng chỉ số). Sử dụng chứng chỉ số có thể đảm bảo được các mục tiêu chung của các hệ thống bảo mật:

Tính bí mật: Tài nguyên chỉ có thể được truy cập bởi người có thẩm quyền.

Tính toàn vẹn: Tài nguyên chỉ được sửa đổi bởi người có thẩm quyền.

Tính khả dụng: Tài nguyên luôn được sẵn sàng đáp ứng cho người có thẩm quyền.

Việc ứng dụng hệ mã hoá công khai trong bảo mật thông tin rất quan trọng. Tuy nhiên, có một vấn đề nảy sinh là nếu hai người không quen biết nhau nhưng muốn tiến hành giao dịch thì làm sao họ có thể có mã công khai của nhau. Giả sử Alice muốn giao tiếp với Bob, Alice sẽ vào website của Bob để lấy khóa công khai. Alice sẽ gõ địa chỉ URL của Bob trên trình duyệt, trình duyệt sẽ tìm DNS của trang Web và gửi yêu cầu của Alice. Nhưng không may là kẻ giả mạo Oscar lại nhận yêu cầu của Alice và trả về trang Web của Oscar là bản sao của Bob hoàn toàn giống trang web của Bob khiến cho Alice không thể phát hiện được. Như vậy lúc này Alice sẽ có khoá công khai từ Oscar chứ không phải là của Bob. Alice tiến hành mã hoá thông điệp bằng khoá công khai, Oscar sẽ giải mã thông điệp, đọc thông tin và mã hóa lại bằng khoá công khai của Bob và gửi thông điệp cho Bob. Như vậy cả Alice và Bob hoàn toàn không biết có kẻ thứ ba là Oscar đã đọc được nội dung của thông điệp, trường hợp xấu hơn Oscar sẽ thay đổi nội dung của thông điệp trước khi gửi cho Bob.

Như vậy bài toán đặt ra là phải có một kỹ thuật để đảm bảo rằng khóa công khai được trao đổi an toàn không giả mạo.

Để giải quyết vấn đề này cần một tổ chức cung cấp chứng nhận rằng khóa công khai này thuộc về một người, một công ty hay tổ chức. Tổ chức gọi là CA (Certification Authority), và chứng nhận này gọi là chứng thực số hay chứng chỉ số.

1.4.2 Đại diện thông điệp

1) Định nghĩa

Hàm H sinh ra giá trị băm h theo công thức: h=H(M) Trong đó:

- M là thông điệp có độ dài thay đổi

- H(M) là giá trị băm có độ dài cố định

Giá trị băm sinh ra được gắn vào thông điệp nguồn, người nhận xác thực thông báo bằng cách tính lại giá trị băm so với thông điệp hiện tại và so sánh với giá trị băm gắn trên thông điệp nguồn. Nếu kết quả so sánh giống nhau là hợp lý.

2) Các thuộc tính của hàm băm

Tham số của H là một khối dữ liệu có kích thước bất kỳ

- Hàm băm H là hàm một chiều, nghĩa là dễ dàng tính H(x) cho bất kỳ giá trị x nhưng “khó” có thể tìm được x khi biết H(x) = h.

- H sinh ra giá trị băm có độ dài cố định.

- Hai văn bản giống hệt nhau thì qua hàm băm phải cho ra đại diện giống nhau

- Với mỗi đại diện chỉ có duy nhất một bản gốc tương ứng (trên thực tế)

3) Một số hàm băm

- MD5 (Message Digest): 128 bit, nhanh và được sử dụng rộng rãi.

- SHA (Secure Hash Algorithm): 160 bit


1.4.3 Giao thức cắt và chọn (Cut and Choose)

Giao thức này được Rabin sử dụng đầu tiên vào năm 1978. Ý tưởng của giao thức này là:

- Alice cắt thông điệp thành 2 phần.

- Bob chọn một trong 2 phần.

- Alice giữ phần còn lại.

Ở đây là Alice không biết Bob sẽ chọn phần nào.

Trong hệ thống tiền điện tử, vấn đề đặt ra là làm sao có thể ngặn chặn việc Alice gửi những đồng tiền không trung thực cho nhà cung cấp để ký. Bởi vì trước khi gửi, những đồng tiền đã được Alice làm mù. Vấn đề này có thể giải quyết được bằng cách áp dụng giao thức cắt chọn.

- Alice gửi k đồng tiền đã làm mù đến tổ chức phát hành (ngân hàng).

- Tổ chức phát hành chọn k/2 đồng tiền, yêu cầu Alice cung cấp thông tin để xoá mù k/2 đồng tiền này và kiểm tra để đảm bảo rằng Alice không gian lận. Nếu không có lỗi xảy ra, tổ chức phát hành sẽ ký lên những đồng tiền còn lại và gửi chúng cho Alice.


1.4.4 Giao thức chia sẻ bí mật (Secret Spliting)

Giao thức chia sẻ bí mật thường được dùng, khi người ta có một bí mật M nhưng không muốn để lộ ra, nên chia nhỏ thành nhiều phần P1, …, Pk với các yêu cầu sau:

Từ mỗi phần hoặc một số phần (không phải cả k phần) không thể tính được M.

Với tất cả các phần P1, …, Pk, người ta có thể tính được bí mật M.

Sơ đồ ngưỡng là một dạng sơ đồ chia sẻ bí mật đặc biệt

Cho t, w là các số nguyên dương, tw. Sơ đồ ngưỡng A(t, w) là một phương pháp phân chia bí mật K cho một tập gồm w thành viên sao cho t bất kỳ có thể tính được K, nhưng một nhóm gồm t-1 thành viên không thể làm được việc đó.

Chương 2. TỔNG QUAN VỀ THANH TOÁN TỪ XA


2.1 GIỚI THIỆU VỀ THANH TOÁN TỪ XA


2.1.1 Khái niệm thanh toán từ xa

Thanh toán là một trong những vấn đề phức tạp nhất của hoạt động thương mại điện tử (TMĐT). Hoạt động TMĐT chỉ phát huy được tính ưu việt của nó khi áp dụng được hình thức thanh toán từ xa (thanh toán điện tử).

Thanh toán điện tử (electronic payment) là việc thanh toán tiền thông qua các thông điệp điện tử (electronic message) thay cho việc thanh toán bằng séc hay tiền mặt. Bản chất của mô hình TTTX cũng là mô phỏng lại những mô hình mua bán truyền thống, nhưng từ các thủ tục giao dịch, thao tác xử lý dữ liệu rồi thực hiện chuyển khoản, tất cả đều thực hiện thông qua hệ thống máy tính được nối mạng bằng các giao thức riêng chuyên dụng.

Về mặt mô hình, một phương thức thanh toán nói chung là một mô tả hoạt động của một hệ thống xử lý phân tán có nhiều bên tham gia, trong đó có hai bên cơ bản là bên mua (người trả tiền) và bên bán (người được trả tiền). Các bên được đại diện bởi các máy tính của mình nối với nhau qua mạng máy tính, sử dụng chúng để thực hiện các giao thức thanh toán.

Hệ thống có thể có các tổ chức tài chính (ví dụ các ngân hàng) đại diên cho mỗi bên. Trong một số hệ thống thanh toán lại sử dụng một thực thể khác đóng vai trò là người môi giới, đảm nhiệm việc phát hành những hình thức của tiền hoặc một vật thể nào đó mang giá trị trao đổi thanh toán thường được gọi là đồng tiền số (digital coin) hoặc séc điện tử (electronic cheque) và đổi lại thành tiền mặt.

Đặc trưng của mô hình TTTX là các bên tham gia sẽ trao đổi với nhau các chứng từ được số hóa (thành những chuỗi bit máy tính có thể sử dụng được ). Bản chất là bên được thanh toán có thể thông qua ngân hàng của mình để chuyển tiền vào tài khoản của mình. Các quá trình này sẽ được phản ánh trong các giao thức thanh toán của mỗi hệ thống.

2.1.2 Các mô hình thanh toán

Hệ thống TTĐT thực hiện thanh toán cho khách hàng theo một số cách mà tiền mặt và séc thông thường không thể làm được. Hệ thống thanh toán cũng cung cấp khả năng thanh toán hàng hoá và dịch vụ qua thời gian, bằng cách cho phép người mua trả tiền ngay, trả tiền sau hoặc trả tiền trước.

2.1.2.1 Mô hình trả sau

Trong mô hình này, thời điểm tiền mặt được rút ra khỏi tài khoản bên mua để chuyển sang bên bán, xảy ra ngay (pay-now) hoặc sau (pay-later) giao dịch mua bán. Hoạt động của hệ thống dựa trên nguyên tắc tín dụng (credit credential). Nó còn được gọi là mô hình mô phỏng Séc (Cheque-like model)



Chuyển tiền mặt

Ngân hàng đại diện bên mua

thực sự

Ngân hàng đại diện bên bán



Thông báo lưu ý

Chuyển khoản


Chứng từ tín dụng



Alice


Bob


Hình 2. 1: Mô hình mô phỏng séc

Với mô hình mô phỏng Séc, bên mua sẽ trả cho bên bán một chứng từ tín dụng (credit credential) nào đó có tác dụng giống như séc. Bên bán có hai cách lựa chọn: chấp nhận giá trị thay thế của tín dụng đó và chỉ liên lạc chuyển khoản với ngân hàng của mình sau này (pay-later), hoặc liên lạc với ngân hàng của mình trong quá trình mua bán, việc chuyển khoản xảy ra ngay trong giao dịch (pay-now).

Với pha chuyển khoản, người được thanh toán sẽ nêu yêu cầu chuyển khoản với ngân hàng đại diện của mình để thực hiện liên lạc với ngân hàng đại diện của người thanh toán, thực hiện kiểm tra/chấp nhận chứng từ tín dụng, khi đó việc chuyển tiền thực sự sẽ diễn ra giữa tài khoản của người thanh toán và người được thanh toán.

Xem toàn bộ nội dung bài viết ᛨ

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 09/05/2022