Chữ ký không thể phủ nhận

9
Chương 3: CHỮ KÝ KHÔNG THPHNHN 3.1 Khái nim chký không thphnhn -Trong các phần trước đã trình bày một vài sơ đồ chký điện tử; trong các sơ đồ đó, việc kim thtính đúng đắn ca chký là do người nhn thc hiện. Như vy,cvăn bản cùng chký có thđược sao chép và phát tán cho nhiều người mà không được phép của người gửi. Để tránh khnăng đó, người ta đưa ra các sơ đồ chkýkhông thphnhn vi mt yêu cu là chký không thphnhn không thđược kim thnếu không có shp tác của người ký. -Shợp tác đó được thc hin thôngqua mt giao thc mi hi và trli gia người nhận và người gửi (cũng là người ký) gi là giao thc kim th. - Khi chký đòi hỏi được xác nhn bng mt giao thc kimththì mt vấn đề khác li ny sinh là làm thế nào để ngăn cản người ký chi bmtchký mà anh ta đã ký bằng cách tuyên bchký đó là giả mạo? Để đáp ứng yêu cầuđó, cần có thêm mt giao thc chi b, thông qua giao thức này người ký có thchng minh mt chký không phi ca mình mà là gimo.Nếu anh ta tchi không tham gia giao thức đó thì có bằng chứng để chng trng anh ta không chứng minh được đó là chký gimo, tc không chi bđược chký ca mình. =>Như vậy, một sơ đồ chký không thphnhn sgm ba phn: mt thut toán ký, mt giao thc kim thvà mt giao thc chi b. 3.2 Hiu quca chký, tính ưu việt so vi các chký khác. -Chký điện tthông thường có thbsao chép. Đôi khi thuộc tính này cũng rất hu ích ví dnhư trong việc phát hành các thông báo công cng.Mặt khác nó cũng là mt vấn đề không tt. Thtưởng tượng xem mt bức thư cá nhận hoặc thư thương mại được ký điện t. Nếu rt nhiu bn sao ca các tài liệu này được phát hành rng rãi, mi mt bản đó có thđược xác thc bi bất kì ai, điều này dẫn đến tình trng lúng túng hoc shăm dọa để tng tiến. - Gii pháp tt nhất để gii quyết vấn đề này là phi xây dng mt loi chký điện tnó có thchứng minh được tính pháp líca chký nhưng người nhn chký không thxác thc chký đó với người th3 mà không được scho phép của người kí.

Transcript of Chữ ký không thể phủ nhận

Page 1: Chữ ký không thể phủ nhận

Chương 3: CHỮ KÝ KHÔNG THỂ PHỦ NHẬN

3.1 Khái niệm chữ ký không thể phủ nhận

-Trong các phần trước đã trình bày một vài sơ đồ chữ ký điện tử; trong các sơ đồ

đó, việc kiểm thử tính đúng đắn của chữ ký là do người nhận thực hiện. Như

vậy,cả văn bản cùng chữ ký có thể được sao chép và phát tán cho nhiều người mà

không được phép của người gửi. Để tránh khả năng đó, người ta đưa ra các sơ đồ

chữ kýkhông thể phủ nhận với một yêu cầu là chữ ký không thể phủ nhận không

thể được kiểm thử nếu không có sự hợp tác của người ký.

-Sự hợp tác đó được thực hiện thôngqua một giao thức mời hỏi và trả lời giữa

người nhận và người gửi (cũng là người ký) gọi là giao thức kiểm thử.

- Khi chữ ký đòi hỏi được xác nhận bằng một giao thức kiểmthử thì một vấn đề

khác lại nẩy sinh là làm thế nào để ngăn cản người ký chối bỏ mộtchữ ký mà anh ta

đã ký bằng cách tuyên bố chữ ký đó là giả mạo? Để đáp ứng yêu cầuđó, cần có

thêm một giao thức chối bỏ, thông qua giao thức này người ký có thểchứng minh

một chữ ký không phải của mình mà là giả mạo.Nếu anh ta từ chối không tham gia

giao thức đó thì có bằng chứng để chứng tỏ rằng anh ta không chứng minh được đó

là chữ ký giả mạo, tức không chối bỏ được chữ ký của mình.

=>Như vậy, một sơ đồ chữ ký không thể phủ nhận sẽ gồm ba phần: một thuật

toán ký, một giao thức kiểm thử và một giao thức chối bỏ.

3.2 Hiệu quả của chứ ký, tính ưu việt so với các chữ ký khác.

-Chữ ký điện tử thông thường có thể bị sao chép. Đôi khi thuộc tính này cũng rất

hữu ích ví dụ như trong việc phát hành các thông báo công cộng.Mặt khác nó cũng

là một vấn đề không tốt. Thử tưởng tượng xem một bức thư cá nhận hoặc thư

thương mại được ký điện tử. Nếu rất nhiều bản sao của các tài liệu này được phát

hành rộng rãi, mỗi một bản đó có thể được xác thực bởi bất kì ai, điều này dẫn đến

tình trạng lúng túng hoặc sự hăm dọa để tống tiến.

- Giải pháp tốt nhất để giải quyết vấn đề này là phải xây dựng một loại chữ ký điện

tử mà nó có thể chứng minh được tính pháp lícủa chữ ký nhưng người nhận

chữ ký không thể xác thực chữ ký đó với người thứ 3 mà không được sự cho

phép của người kí.

Page 2: Chữ ký không thể phủ nhận

3.3 Ví dụ về hiệu quả của chữ kí

-Công ty phần mềm của An phát hành sản phẩm DEW (Do-Everything-World).Để

đảm bảo với khách hàng là sản phẩm của họ hoàn toàn không có virus, họ đã thêm

một chữ ký điện tử cùng với mỗi một bản sao của phần mềm. Tuy nhiên, họ muốn

chỉ những người mua sản phẩm hợp pháp mới có thể xác nhận được chữ ký này,

còn những người mua bất hợp pháp không thể xác nhận được chữ ký này. Đồng

thời nếu những bản sao của phần mềm DEW được tìm ra là có chứa virus, thì công

ty phần

mềm An không thể chối bỏ một chữ ký hợp pháp.

-Chữ ký không thể phủ nhận rất thích hợp cho những nhiệm vụ như thế này.

Giống như chữ ký điện tử thông thường, một chữ ký không thể phủ nhận phụ thuộc

vào tài liệu được ký và khóa bí mật của người ký. Nhưng nó không giống chữ ký

điện

tử thông thường ở chỗ: chữ ký không thể phủ nhận không thể xác thực nếu

không

có sự cho phép của người ký. Một cái tên hay hơn cho những loại chữ ký như này

có thể là một cái gì đó kiểu như “chữ ký không thể chuyển giao quyền sở hữu”

cái tên này bắt nguồn từ thực tế là nếu trước tòa An buộc phải hoặc thừa nhận hoặc

chối bỏ chữ ký, thì cô ấy không thể chối bỏ chữ ký thật của của cô ta.

-Tính toán thì rất là phức tạp nhưng mà ý tưởng cơ bản thì rất đơn giản:

(1) An giới thiệu với Bình chữ ký.

(2) Bình chọn một số ngẫu nhiên gửi cho An.

(3) An làm các tính toán bằng số ngẫu nhiên đó với khóa bí mật của cô ta và gửi

kết quả cho Bình. An chỉ có thể làm các phép tính đó nếu chữ ký đó là hợp pháp.

(4) Bình xác nhận kết quả này.

-Cũng có một giao thức khác để An có thể chứng minh là cô ấy đã không ký tài

liệu này và không thể chối bỏ một chữ ký hợp pháp.Bình không thể quay sang và

thuyết phục Chi rằng chữ ký của An là hợp pháp bởi vì Chi không biết rằng những

số của Bình là ngẫu nhiên. Bình đã làm việc với giao thức đó một cách dễ dàng

trên giấy mà không cần bất cứ sự giúp đỡ nào từ phía An và sau đó Bình đưa kết

quả cuối cùng cho An. Chi có thể bị thuyết phục rằng chữ ký của An là hợp pháp

chỉ trong trường hợp Chi hoàn thành giao thức với An bởi chính Chi.

Page 3: Chữ ký không thể phủ nhận

-Giải pháp này không phải là hoàn hảo. Yvo Desmedt và Moti Yung đã chỉ ra

rằng nó không thích hợp trong một vài ứng dụng, cho việc Bình thuyết phục Chi

rằng chữ ký của An là có hiệu lực.

-Chẳng hạn như, Bình mua phần mềm DEW có bản quyền. Bình có thể xác

nhận tính hợp lệ của chữ ký trong gói phần mềm đó bất cứ lúc nào anh ta muốn.

Sau

đó, Bình thuyết phục Chi rằng Bình là một đại diện của công ty phần mềm của An.

-Bình bán cho Chi một bản sao bất hợp pháp của phần mềm DEW. Khi mà Chi thử

xác nhận tính hợp lệ của chữ ký với Bình, Bình ngay lập tức xác nhận tính hợp lệ

của chữký đó với An. Khi mà Chi gửi cho Bình số ngẫu nhiên, Bình ngay lập tức

gửi nó tớiAn. Khi An trả lời, ngay sau đó Bình gửi kết quả đó tới Chi. Chi đã bị

thuyết phục

rằng cô ta là người mua phần mềm hợp pháp mặc dù sự thực không phải như thế.

Cách

tấn công này là một ví dụ của vấn đề Chess Grandmaster.

-Tuy nhiên, chữ ký không thể phủ nhận có rất nhiều ứng dụng, trong rất nhiều

trường hợp An không muốn bất cứ ai có thể xác thực chữ ký của cô ta. An có

thểkhông muốn thư từ cá nhân bị xác thực bởi báo chí, bị chỉ ra và xác thực ngoài

ngữcảnh, hoặc thậm chí bị xác thực sau khi bị chỉnh sửa một vài thứ. Nếu An kí

một phần thông tin mà cô ta đã bán, An không muốn người không trả tiền cho

thông tin có khảnăng xác nhận tính xác thực của thông tin đó. Điều khiển những

người xác thực thong tin là cách cho An bảo vệ thông tin bí mật cuả cô âý.

-Một biến thể của chữ ký không thể phủ nhận tách rời sự quan hệ giữa người kí và

thông điệp với sự quan hệ giữa người ký và chữ ký. Trong một sơ đồ ký, bất cứ ai

có thể xác thực chữ ký mà người ký đã thực sự tạo ra nó, nhưng người cộng tác của

người ký phải được yêu cầu để xác thực chữ ký (chữ ký có giá trị đối với thông

điệp).

-Một khái nhiệm liên quan là chữ ký không thể phủ nhận được giao phó. Hãy

tưởng tượng rằng An làm việc cho tập đoàn FPT, An gửi tài liệu buộc tội cho một

tờbáo sửdụng một giao thức kí không thể phủ nhận. An có thể xác thực chữ ký của

cô ta

với phóng viên, nhưng không thể làm điều này với bất cứ ai khác. Tuy nhiên, Bình

(chủ tịch của FPT) nghi ngờ An là người đã gửi những tài liệu đó cho tòa soạn.

Page 4: Chữ ký không thể phủ nhận

Bình yêu cầu An chạy giao thức chối bỏ (disavowal protocol) để xác định rõ tên

của cô ta và An đã từ chối việc này. Bình nghĩ rằng lý do duy nhất mà An từ chối

là chính An đã làm việc gửi các tài liệu đó cho tờ báo và Bình đã buộc tội cho An.

-Chữ ký không thể phủ nhận được giao phó cũng giống như chữ ký không thể

phủ nhận, chỉ khác chữ ký không thể phủ nhận ở chỗ giao thức chối bỏ chỉ có thể

thực

thi bởi Đức. Bình không thể bắt An chạy giao thức chối bỏ, chỉ Đức mới có thể

làm

điều đó. Và nếu Đức là quan tòa, thì anh ta sẽ chạy giao thức đó và giải quyết tranh

cãi.

3.4 Sơ đồ chữ ký không thể phủ nhận Chaum-van Antwerpen.

-Sơ đồ này được Chaum-van Antwerpen giới thiệu lần đâu tiên vào năm 1989,

từ đó đến nay mỗi năm có khoảng hơn mười công trình nghiên cứu về chữ ký

không

thể phủ nhận nhưng đều dựa trên nên tảng chữ ký không thể phủ nhận của Chaum-

van Antwerpen. Do vậy, đầu tiên chúng ta sẽ nghiên cứu sơ đồ chữ ký không thể

phủ nhận

củaChaum-van Antwerpen.

3.4.1 Giao thức ký.

* Sinh khóa.

-Mỗi chủ thể lựa chọn một khóa bí mật và một khóa công khai tướng ứng như

các bước dưới đây:

+Bước 1: Lựa chọn một số nguyên tố ngẫu nhiên p = 2q+1 (q cũng là sốnguyên

tố)

+Bước 2: Lựa chọn phần tử sinh α cho nhóm con bậc q (α ∈ Z*p)

Tiếp theo lựa chọn phần tử β∈Z*p,Z, tính α = β

( p−1) / qmod p .

Nếu α =1 thì quay lại (a).

+Bước 3: Lựa chọn một số nguyên a∈{1, 2,3,..., q −1}, tính y =αamod p

Khóa công khai là (p,α,y), khóa bí mật là a.

3.4.2Thuật toán ký.

-A ký một thông điệp m mà B có thể xác nhận chữ ký đó với sự cộng tác của A.

A: s = ma mod p ,slà chữ ký của A trên m.

Page 5: Chữ ký không thể phủ nhận

s =mamod p

3.4.3 Giao thức kiểm thử.

+Bước 1: B chọn ngẫu nhiên 2 số nguyên x1 ,x2∈1, 2,3,.., p −1} sau đó tính

z = sx1

yx2

(mod p) và gửi z cho A.

+Bước 2: A tính w=(z)a-1

mod p ( aa−1

=1mod p ) sau đó gửi w cho B.

+Bước 3: B tính w' = mx1

αx2

mod p , B chấp nhận s là chữ kí của A trên m nếu w =

w' .

-Sau khi Bình và An thực hiện xong giao thức này thì Bình sẽ tin là An đã kí thông

điệp này. Bình muốn thuyết phục Chi, do đó Bình đưa ra một bản sao của giao

thức. Tuy nhiên, Đức muốn thuyết phục Chi rằng người nào đó đã ký văn bản đó

chứ không phải là An. Đức tạo ra một bản sao giả của giao thức. Đầu tiên Đức

sinh ra thông điệp trong bước 1.Sau đó trong bước 3 Đức sinh ra w và sự chuyển

giao giả từ người khác trong bước 2.Kết thúc, Đức tạo ra thông điệp trong bước 2.

Với Chi, cả bản sao của Bình và Đức đều giống hệt nhau.

- Chi không thể bị thuyết phục về giá trị pháp lí của chữ ký trừ khi Chi thực thi

giao thức kiểm thử bởi chính cô ta.

-Tất nhiên, nếu Chi được xem trực tiếp Bình hoàn thành giao thức kiểm thử thì

cô ấy sẽ bị thuyết phục. Chi phải nhìn thấy những bước đã hoàn thành theo thứ tự

Bình vừa làm xong.

Có thể có vấn đề với sơ đồ kí này, ta sẽ bàn đến trong phần những yếu điểm

của chữ ký không thể phủ nhận.

(p,α,y)

a z=sx1

yx2

(mod p) x1,x2

Người xác nhận

m S

Người ký

Page 6: Chữ ký không thể phủ nhận

w=(za)

-1mod p

w=w’ w

’=m

x1α

x2mod p

Mô hình: Giao thức kiểm thử

(*)Tính hợp thức của giao thức kiểm thử.

Định lý1: Nếu s đúng là chữ ký của A trên m , tức s ≡ mamod p , thì việc B chấp

nhận s là chữ ký của A trên m theo giao thức kiểm thử là đúng.

Chứng minh:

-Giả sử 1:s≡mamod p⇒(s

a)

-1mod p =mmod p (1)

-Ta cũng có: y=αamod p⇒( y

a)

-1mod p =α mod p (2)

Mà w=(za)

-1mod p=(s

x1a)

-1.(y

x2a)

-1(mod p) (3)

Từ (1),(2),(3) ⇒w = mx1

αx2

(mod p) và theo giao thức kiểm thử, B chấp nhận s là

chữ ký của A trên m , và việc chấp nhận đó là đúng.

Định lý2:Nếus ≠ mamod p , tức s không phải là chữ ký của A trên m thì việc

B theo giao thức kiểm thử chấp nhận s là chữ ký của A trên m có thể xẩy ra với xác

suất 1/ q .

Chứng minh:

Giả sử s ≠ ma mod p .

Mỗi một z tương ứng với q cặp (x1,x2) .

-Do s, y là các phần tử của nhóm nhân G cấp q .Khi A nhận được z , A không có

cách gì để biết B đã dùng cặp (x1, x2) trong q cặp có thể có.

-Ta chứng minh rằng do s ≠ mamod p nên trong q cặp đó chỉ có 1 cặp thỏa mãn

đồng dư thức w = mx1

αx2

(mod p)

-Đặt z=αi,w=α

j,m=α

k,s=α

l,I,j,k,l∈ Zp

Vì α là phần tử sinh của G nên :

⇒ Định thức của hệ phương trình thứ 2 là:

D=l-ak (1) Do s ≠ ma mod p ⇒l − ak≠ 0(mod q) (2)

Từ (1),(2)⇒mỗi w∈G là câu trả lời đúng (theo giao thức kiểm thử) chỉ với

một cặp (x1, x2) trong q cặp có thể. Vì vậy nếu s ≡ mamod p thì xác suất để B chấp

thuận s là chữ kí của A trên m(theo giao thức) là bằng 1/ q (Điều phải chứng minh).

3.4.4 Giao thức chối bỏ.

A có thể từ chối một chữ ký đúng bằng các cách sau:

(1)Từ chối tham gia vào giao thức

(2) Cố tình làm sai trong giao thức kiểm thử.

Page 7: Chữ ký không thể phủ nhận

(3) Tuyên bố rằng chữ kí là giả mạo mặc dù nó được xác minh một cách chính xác.

Các bước thực hiện:

Bước 1: B lấy khóa công khai của A ( p,α , y) , chọn ngẫu nhiên 2 số nguyên x1,

x2∈{1,2,3,..,q−1} tính z = sx1

yx2

mod p , sau đó gửi cho A.

Bước 2: A tính w=(za)

-1mod p , gửi w cho B.

Bước 3: B thử điều kiện w≡mx1

αx2

mod p

Bước 4: B chọn ngẫu nhiên 2 số nguyên tố x1 ', x2 '∈{1,2,3,..,q−1 }tính z ' = sx1'

yx2

'mod p sau đó gửi cho z ' cho A.

Bước 5: A tính w'= (z 'a)

-1mod p , sau đó gửi w' cho B.

Bước 6: B thử điều kiện w'=mx1

αx2'

mod p .

Bước 7: B tính c = (wα −x2

)x1'

modp, c' = (w'α −x2 '

)x1

mod p

=>Nếu c = c'B kết luận s là chữ ký giả mạo, nếu không thì s là chữ ký đúng, Acố

tình chối bỏ.

Page 8: Chữ ký không thể phủ nhận

(p,α,y)

a x1,x2∈ Z*p

z=sx1

yx2

(mod p)

w=(za)

-1 mod p

Kiểm tra

w=mx1

αx2

mod p

x1’,x2

’∈Zp*

z’=sx1’

yx2’

(mod p)

w’=(z’a)

-1 mod p Kiểm tra

w=mx1

αx2

mod p

c = (wα −x2

)x1'

mod p

Nếu c=c’ =>Giả mạo

c' = (w'α −x2 '

)x1

mod p

Mô hình:Giao thức chối bỏ

Người ký Người xác nhận

Page 9: Chữ ký không thể phủ nhận

(*)Tính hợp thức của giao thức chối bỏ.

Định lý 3:

-Nếu s ≠ mamod p và cả A, B điều tuân theo giao thức chối bỏ, thì c = c' tức giao

thức cho kết quả chính xác.

-Nếu s ≠ mamod p,A và B đều tuân theo giao thức và có w≠ m

x1α

x2(mod p) và

w'≠mx1

α' x2'

(mod p).

-Khi đó đồng dư thức (wα −x2

)x1'

= (w'α −x2 '

)x1

(mod p) đúng với xác suất

1/q, tức nếu y đúng là chữ ký của A trên x, thì theo giao thức , B có thể kết luận

rằng

nó là giả mạo (một cách sai lầm) với xác suất 1/q.

*Chứng minh:

-Giả sử s ≠ ma mod p , và A, B cùng thực hiện giao thức chối bỏ. Do s không là chữ

ký của A trên m nên B sẽ kiểm thử đúng các bất đồng dư thức trong các bước 3, 6

của giao thức.

-Vì y =αamod p nên:

c= (wα−x2

)x1'

mod p

=((sx1

yx2

)a)

-1α

x2)

x1'(mod p)= (s

a)

-1x1 x1'(y

a)

-1 x2 x1’α

-x2x1’mod

p

= (sa)

-1x1 x1’mod p

Tương tự ta có: c’=(wα−x2

)x1'

mod p= (sa)

-1x1 x1’mod p

- Như vậy, đồng dư thức ở điểm 7 của giao thức được kiểm nghiệm đúng và kết

luận s là chữ ký giả mạo của A trên x là chính xác, không thể bác bỏ được.

-Ta giả thiết s = ma mod p và A, B cùng thực hiện giao thức chối bỏ.

Đặt m0= w 1/x1

−α-x2/x1

(mod p) ta có:

m0a= w

a/x1α

-x2/x1= (m

x1 α

x2)

a/x1 α

-ax2/x1=m

a=s(mod p)

-Theo định lý 2, B có thể chấp nhận s là chữ ký của A trên m0, tức là đồng dư thức

w' ≡m0 x1’

α x2’

mod p với xác suất 1/q. Nhưng đồng dư thức đó tương đương với

đồng dư thức (wα −x2

)x1'

= (w'α −x2 '

)x1

(mod p).

=>Tức đồng dư thức này cũng có thể xảy ra với xác suất 1/q. Định lý được chứng

minh.