Sử dụng hàm băm trong chữ ký số người xác nhận không thể chối bỏ

MỤC LỤC

Hàm Hash

Giới thiệu

Mặt khác, các thông báo cần ký thờng có độ dài khác nhau và trong nhiều trờng hợp chúng có độ dài lớn cỡ vài Kilôbyte hoặc vài Megabyte. Do vậy, muốn ký một chữ ký ngắn trên một thông báo dài ta cần phải cắt thông báo ra nhiều đoạn có độ dài hữu hạn và cố định rồi tiến hành ký độc lập từng đoạn đó và gửi từng. - Dễ xảy ra trờng hợp không sắp xếp đợc thông báo theo đúng trật tự ban.

Hàm Hash chấp nhận một thông báo có độ dài bất kỳ làm đầu vào, hàm Hash sẽ biến đổi thông báo này thành một thông báo rút gọn, sau đó ta sẽ dùng lợc đồ chữ ký để ký thông báo rút gọn.

Một số hàm Hash sử dụng trong chữ ký số 1. Các hàm Hash đơn giản

Ci là bit kiểm tra tính chẵn lẻ cho vị trí thứ i khi ta chia tệp dữ liệu thành từng khối, mỗi khối có n vị trí. Tiếp theo ta sẽ đề cập tới loại hàm Hash mạnh với đầu vào vô hạn thu đợc do mở rộng một hàm Hash mạnh có đầu vào độ dài hữu hạn. Nhng MD5 và SHS đều dựa trên nền tảng của MD4 và SHS đã đợc thừa nhận nh là một chuẩn hoá vào tháng 5 năm 1993.

Mỗi vòng thực hiện các phép toán số học và logic trên 16 từ của X, các toán hạng này sau khi thực hiện trong 3 vòng sẽ cho giá trị mới bằng cách cộng vào các giá trị đợc lu trữ trong bớc 4.

Sơ đồ hàm Hash sử dụng phép XOR:
Sơ đồ hàm Hash sử dụng phép XOR:

Ch÷ Ký Chèng Chèi Bá

Giới thiệu

Chữ ký chống chối bỏ đợc công bố bởi Chaum và van Antwerpen vào năm 1989. Quan trọng nhất trong số đó là chữ ký không thể kiểm tra khi không có sự cộng tác của ngời ký, Bob. Sự bảo vệ này của Bob đề phòng khả năng chữ ký trong tài liệu của anh ta bị sao chép và phân bố bởi thiết bị điện tử mà không có sự đồng ý của anh ta.

Ví dụ, Bob có một phần mềm và chữ ký kèm theo đợc tạo ra nhờ thuật toán của chữ. Nh vậy, sẽ không tránh khỏi trờng hợp phần mềm đó bị sao chép mà Bob không biết. Ngời mua sẽ kiểm tra chữ ký kèm theo phần mềm nhờ thuật toán kiểm tra công khai Ver và công nhận đó là chữ ký đúng.

Vì nh chúng ta đã biết bản sao của chữ ký số là đồng nhất với bản gốc. Để tránh điều bất lợi đó Bob đã dùng chữ ký số chống chối bỏ. Lợc đồ chữ ký chống chối bỏ gồm 3 phần: thuật toán ký, giao thức kiểm tra, giao thức chối bỏ.

Lợc đồ chữ ký chống chối bỏ 1. Thuật toán ký

Lợc đồ nằm trong Zp; tuy nhiên chúng ta cần tính toán trong phân nhóm nhân G của Zp* của bậc nguyên tố lẻ. Trong các phép toán dới đây, tất cả số mũ là biến đổi theo modun q. Một vấn đề đặt ra, nếu sự cộng tác của Bob là cần thiết trong việc kiểm tra chữ ký thì điều gì đã ngăn cản Bob từ chối chữ ký do chính anh ta tạo ra trong thời gian gần đây?.

Tất nhiên, Bob có thể cho rằng chữ ký đúng đó là giả mạo và từ chối kiểm tra nó hoặc Bob thực hiện một giao thức mà theo đó chữ ký sẽ không đợc kiểm tra. Vì vậy, một lợc đồ chữ ký chống chối bỏ đợc kết hợp chặt chẽ với một giao thức chối bỏ và nhờ điều đó Bob có thể chứng minh. (Nếu anh ta từ chối thực hiện một phần trong giao thức chối bỏ, điều đó đồng nghĩa với dấu hiệu chứng minh chữ ký đó là xác thực trên thực tế và anh ta đang cố gắng từ chối chữ ký của mình).

Bob có thể thuyết phục Alice rằng chữ ký không đúng đó là giả mạo. Bob không thể làm cho Alice bị thuyết phục rằng chữ ký đúng đó là giả.

Các định lý

Vậy, xác suất rằng Bob đa cho Alice câu trả lời d mà sẽ đợc kiểm tra là. Vì vậy, nếu y là chữ ký giả mạo thì Bob có thể thuyết phục Alice tin chữ. Trong trờng hợp này, chúng ta không thể giả định Bob làm theo giao thức nghĩa là Bob có thể không xây dựng d và D nh lý thuyết bởi giao thức, chúng.

Ba định lý trong phần này đều mới chỉ đề cập tới một khía cạnh là Bob chấp nhận hay chối bỏ chữ ký của mình mà cha nói tới một khía cạnh khác là Alice có thể chối bỏ việc mình đã đọc thông báo do Bob gửi. Ta giả định rằng, nếu Bob gửi cho Alice một thông báo đòi nợ nhng Alice cha muốn trả hoặc không muốn trả thì cô ta sẽ lờ đi và coi nh cha nhận hay cha đọc thông báo đó. Vậy Bob có thể làm cách nào để chứng minh Alice đã mở thông báo?.

Trớc tiên, Bob và Alice cùng xây dựng khoá K theo lợc đồ trao đổi khoá Diffie – Hellman. Khi Bob và Alice tiến hành theo giao thức trên, muốn đọc đợc thông báo thì Alice phải gửi lại một thông báo (đã đợc mã hoá bằng khoá K) tới Bob, yêu cầu Bob gửi khoá K1 cho mình bởi vì K1 chỉ mình Bob biết. Bob kiểm tra thông báo của Alice theo thuật toán kiểm tra công khai Ver để xác định thông báo có.

Bob thực hiện theo cách trên sẽ có đủ chứng cứ để chứng minh trớc toà rằng Alice có mở và đọc thông báo anh ta gửi tới bằng cách đa thông báo có kèm theo chữ ký của Alice và cả ngày giờ Bob nhận đợc thông báo đó.

Chữ ký ngời xác nhận không thể chối bỏ

    Các chữ ký ngời xác nhận không thể chối bỏ mù quáng có lợi ích trong nhiều ứng dụng nh các hệ thống trả tiền trớc với mạng lớn của các dịch vụ nơi mà quyền riêng t của ngời sử dụng mạng nên đ- ợc bảo vệ trong khi kiểm duyệt sự mua bán của các dấu hiệu mua bán dài hạn cần phải đợc ngăn chặn. Nó cung cấp sự định nghĩa không đổi cho các giao thức giải mã sử dụng các khái niệm chuẩn của máy Turing tơng tác, hệ thống chứng minh tơng tác và tri thức không. - Tính không thể phân biệt đợc của chữ ký: Chữ ký mô phỏng SIGNsim đợc tạo bằng thuật toán thời gian đa thức theo xác suất, nó nhận thông báo m, 2 khoá.

    - Tính không thể giả mạo của chữ ký: Không tồn tại thuật toán thời gian đa thức nhận khoá công khai PS của ngời ký; khoá bí mật SC, khoá công khai PC của ngời xác nhận và truy cập đến chữ ký ngời tin cậy SIGN, cho ra một cặp thông báo- chữ ký (m’, σ’) không đợc tạo bởi SIGN với xác suất đáng kể. Đầu tiên ngời kiểm tra sẽ kiểm tra độ tin cậy của (σ1, σ2) với σ1 là chữ ký Chaum-Petersen đẳng thức của thuật toán rời rạc tin cậy trên thông báo m và σ2 là chữ ký Schnorr tin cậy trên σ1. Để chỉ ra rằng cấu trúc là an toàn, chúng ta giả sử rằng lợc đồ chữ ký Schnorr và chữ ký Chaum-Petersen dựa vào đẳng thức của thuật toán rời rạc là an toàn.

    Dới đây là các chứng minh chỉ ra rằng cấu trúc của chữ ký ngời xác nhận không thể chối bỏ là không thể giả mạo, không thể phân biệt đợc và sự kiểm tra chữ ký là nhất quán. Bằng trực giác, đặc tính không thể giả mạo chữ ký vững chắc có nghĩa rằng khi truy cập đến chữ ký Oracle của tất cả các chữ ký công khai tin cậy cho tất cả các thông báo cần chữ ký mong muốn, nó là không thể sinh ra chữ ký σ dới khoá công khai mong muốn, trên thông báo mong muốn m. Định lý: Trong mô hình Oracle ngẫu nhiên, nếu tồn tại ngời giả mạo A mà có thể phân biệt chữ ký tin cậy từ chữ ký giả mạo đã đợc tạo ra dùng định nghĩa ở trên trong thời gian đa thức theo xác suất thì có một thuật toán giải quyết vấn đề Diffie – Hellman trong thời gian đa thức theo xác suất.

    Nó không phức tạp để chỉ ra sự tơng quan đối lập, nói cách khác nếu đạt đợc hoặc αs+c /αs = αc hoặc αs = αs thì σ1 là phép chứng minh hợp lý của tri thức và đẳng thức, σ2 là chữ ký tin cậy, σ là chữ ký đúng. Giao thức chữ ký ngời xác nhận không thể chối bỏ mù quáng gồm đặc thù của chữ ký Schnorr mù quáng và đặc thù của chữ ký Chaum – Petersen của đẳng thức mù quáng thực hiện song song với nhau. Trong cấu trúc này, chữ ký ngời xác nhận không thể chối bỏ mù quáng là σ = (σ+1, σ+2), chúng ta đánh lạc hớng một đặc thù tơng tác của giao thức tạo chữ.

    Để truy cập tới các dịch vụ trực tuyến, ngời sử dụng chứng tỏ giấy chứng nhận trả trớc tin cậy với ngời cung cấp dịch vụ, ngời có vai trò ngời xác nhận trong lợc đồ chữ ký.