Chương 5 : CHỮ KÝ NGƯỜI XÁC NHẬN KHÔNG THỂ CHỐI BỎ
5. Phép phân tích an tồn:
Để 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 tốn rời rạc là an tồn. Phép chứng minh ký tương tác Fujioka – Okamoto – Ohta của đẳng thức là an tồn, đúng đắn và chứng cớ khơng phân biệt được. Phép chứng minh an tồn này có thể được chứng minh trong mơ hình Oracle ngẫu nhiê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 giả mạo, không thể phân biệt được và sự kiểm tra chữ ký là nhất quán.
5.1. Chữ ký không thể giả mạo:
Định nghĩa: Đặc tính khơng thể giả mạo chữ ký vững chắc.
Ngoại trừ với xác suất khơng đáng kể, khơng tồn tại thuật tốn trong thời gian đa thức theo xác suất A mà có thể sinh ra chữ ký σ trên thơng báo đặc biệt m, kiểm tra với khóa cơng khai y khi truy cập đến chữ ký Oracle của tất cả khóa cơng khai y* cho tất
cả các thơng báo cần truy cập đến y để được thông báo m. Ở đây khi mọi thơng báo m*, chữ ký Oracle của khóa cơng khai y* sinh ra chữ ký σ* của m* kiểm tra với y*.
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 σ dưới khóa cơng khai mong muốn, trên thơng báo mong muốn m.
Định nghĩa này thuyết phục hơn khái niệm chữ ký an tồn chuẩn. Nó là bản sao tương đương của an tồn đối lập với các lựa chọn thích hợp đặc tính tấn cơng văn bản mật mã của lược đồ giải mã. Do đó, lược đồ chữ ký là khơng thể giả mạo vững chắc nếu nó thỏa mãn đặc tính khơng thể giả mạo chữ ký vững chắc.
Bổ đề: Chữ ký σ = (σ1, σ2) là chữ ký qua được sự kiểm tra chỉ nếu σ1 = CP(r, α, αs+c, g,
gs+c)(m), σ2 = S(sr, g, αs)(σ1) và r1 = r2.
Chứng minh:
Nếu σ là tin cậy, (σ1 và σ2 được thành lập là σ1 = CP(r, α, αs+c, g, gs+c)(m), σ2 =
S(sr, g, αs)(σ1). Còn lại chứng tỏ r1 = r2. Chúng ta giả sử rằng s khác 0.
Chữ ký σ được coi là tin cậy nếu nó trải qua một trong hai bước thử kiểm tra, đó là kiểm tra đối với người xác thực và kiểm tra đối với người ký.
Kiểm tra đối với người xác nhận phải thực hiện phép chứng minh ký
Bi – Proof [logg(gc) ≡ logα(αc)]. Do đó nó chỉ ra rằng αc = αc hoặc αc = αs+c/ αs. Hơn
nữa σ1, σ2 là đúng => tồn tại r1 và sr2, xem rằng:αs+c =gr1
c
s+ = g(s+c)r1 , αs = gsr2
⇒ αc = gcr1= g(s+c)r1/ gsr2
⇒ gsr1 =gsr2
Vì s ≠ 0 ⇒ r1 = r2.
Với trường hợp kiểm tra đối với người ký tương tự như trên.
Định lý : Trong mơ hình Oracle ngẫu nhiên, chữ ký người xác nhận không thể chối bỏ
là không thể giả mạo. Chứng minh:
Theo bổ đề trên, chữ ký σ+ là tin cậy nếu σ+1 = CP(r1, α, αs+c, g, gs+c)(m), σ+2 =
S(sr2, g, αs)(σ+1) và r1 = r2. Điều này có nghĩa rằng nếu tồn tại thời gian đa thức đối thủ
A thành công tạo ra cả σ+
1 và σ+
2, sau đó A phải biết r1, r2s và khóa bí mật s. Vì vậy chỉ có một viễn cảnh rằng A có thể giả mạo σ+ mà khơng cần truy cập đến khóa bí mật s để đạt được hoặc σ+ 1 hoặc σ+ 2. Giả sử A đạt được σ+ 1, σ+ 2 hình thành từ chữ ký σ* = (σ+ 1,σ *
2). Theo bổ đề trên, điều này có nghĩa là σ* 2, σ+
2 đã được tạo ra cùng một khóa bí mật r2s => A biết bí mật để tạo σ*
2. Điều này mâu thuẫn với đặc tính khơng thể giả mạo vững chắc của σ2.
Định nghĩa 4: (chữ ký bị giả mạo)
Cho x, gy = gy và gz = gz, chữ ký giả mạo σ* = (σ* 1, σ*
2) trên thơng báo m được tính:
σ*
1= CP(x, X, Xy+c, g, gy+c) và σ*
2= S(z, g, yz)( σ* 1)
Trong đó c, gc là khóa bí mật và cơng khai của người xác nhận, X = gx, Xy+c = gxy+c và gy+c = gygc.
Chữ ký như trên được đặt dưới mô hình Oracle ngẫu nhiên. Phần đầu của chữ ký là
σ*
1 có thể ln ln được thành lập khi biết x. Phần tiếp theo của chữ ký là σ*
2, chữ ký Schnorr kiểm tra dùng khóa cơng khai gz = gz. Chữ ký Schnorr (u, v) được giả mạo trong mơ hình Oracle ngẫu nhiên. Điều này thực hiện bằng cách chọn u, v ngẫu nhiên và Oracle ngẫu nhiên giả mạo trong cách mà nó có các đầu ra u với đầu vào (m || y || g || gvyu).
Đị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 tốn giải quyết vấn đề Diffie – Hellman trong thời gian đa thức theo xác suất.
Chứng minh:
Giả sử có một đối thủ A mà có thể phân biệt chữ ký tin cậy σ từ chữ ký giả mạo σ* dùng thông tin công khai.
Ký hiệu tập hợp của tất cả (a, gb, gcab = c) là D và ( a, gb, gc a∈R Z*q ) là X. Lấy t* = (x1, gy, gz ) ∈ D, t+ = (x2, gy, gz )∈ X. Theo định nghĩa của chữ ký giả mạo, A có thể tạo ra 2 chữ ký giả mạo σ*, σ+ lần lượt từ t*, t+. Ở đây khóa cơng khai của người ký là gy.
Theo bổ đề trong phần [VI.5.1 ], σ là chữ ký tin cậy, σ+ là chữ ký khơng tin cậy. Ngồi ra sự thuận lợi của A trong phân biệt σ* từ σ+ là không đáng kể hơn phân biệt
giữa t* và t+. Vì vậy nếu A có khả năng nhận biết chữ ký chính xác từ σ* và σ+, chúng ta nói rằng t* hoặc t+ hình thành từ D. A đã giải quyết được vấn đề của Diffie – Hellman.
5.3. Tính nhất quán của kiểm tra chữ ký:
Theo bổ đề phần [ VI.5.1 ], chữ ký là tin cậy chỉ khi hoặc αs+c /αs = αc hoặc αs = αs. 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. Vì vậy tính nhất qn của sự kiểm tra chữ ký tuân theo tính đúng và hợp lý của phép chứng minh ký của tri thức.