So sánh chữ ký số rsa và elgamal năm 2024

Presentation on theme: "Chương IV 4 CHỮ KÝ ĐIỆN TỬ (CHỮ KÝ SỐ) (DIGITAL SIGNATURES)"— Presentation transcript:

1 Chương IV 4 CHỮ KÝ ĐIỆN TỬ (CHỮ KÝ SỐ) (DIGITAL SIGNATURES)

2 Nội dung chính Khái niệm về chữ ký số (Digital Signature) Các dịch vụ bảo mật cung cấp bởi chữ ký số Một vài chữ ký số thông dụng Mô tả vài ứng dụng của chữ ký số (Cryptography & Network Security. McGraw-Hill, Inc., 2007., Chapter 13)

3 Khái niệm về chữ ký điện tử Khái niệm về Digital Signature được để xuất bởi Diffie & Hellman (1976) “Chữ ký điện tử (còn gọi là chữ ký số) là thông tin được mã hoá bằng Khoá riêng của người gửi, được gửi kèm theo văn bản nhằm đảm bảo cho người nhận định danh, xác thực đúng nguồn gốc và tính toàn vẹn của tài liệu nhận. Chữ ký điện tử thể hiện văn bản gửi đi là đã được ký bởi chính người sở hữu một Khoá riêng tương ứng với một Chứng chỉ điện tử nào đó.” Chữ ký điện tử và chữ ký tay đều có chung đặc điểm là rất khó có thể tìm được hai người có cùng một chữ ký. Chữ ký điện tử được ngườii ký tạo ra bằng Khoá riêng và phần có đặc tính duy nhất của văn bản được ký.”

4 Khái niệm về chữ ký điện tử Chữ ký điện tử là một trong ứng dụng quan trọng nhất của mã hóa khóa công khai. Message Authentication chỉ bảo vệ thông điệp trao đổi giữa hai bên tham gia không bị hiệu chỉnh hay giả mạo từ bên thứ 3, nhưng nó không bảo vệ thông điệp bị hiệu chỉnh hay giả mạo từ một trong 2 bên tham gia, nghĩa là: Bên nhận giả mạo thông điệp của bên gửi Bên gửi chối là đã gửi thông điệp đến bên nhận Chữ ký điện tử không những giúp xác thực thông điệp mà còn bảo vệ mỗi bên khỏi bên kia

5 Hải quan Doanh nghiệp VÍ DỤ CHỮ KÝ SỐ TRONG THỦ TỤC HQĐT Khai hải quan Doanh nghiệp nhập tờ khai Khai hải quan Ký điện tử Kiểm tra chữ ký điện tử Kiểm tra hiệu lực chữ ký số của DN Trả phản hồi về cho DN In tờ khai và làm các quy trình trong thông quan điện tử Lưu tờ khai và xử lý theo quy trình nghiệp vụ

6 Khái niệm về chữ ký điện tử Ví dụ cơ bản: Mike có hai khóa, một khóa công khai và một khóa riêng. Mike đưa khóa công khai của mình cho Amanda, nhưng giữ lại khóa riêng cho mình. Khi muốn chuyển tài liệu cho Amanda, Mike có thể xác nhận (ký) các tài liệu này dùng chính khóa riêng của mình và gửi chúng đến Amanda. Amanda sau đó sẽ dùng khóa công khai của Mike, để có thể kiểm tra tài liệu mà cô ấy nhận được, thực sự được gửi bởi Mike.

7 Mục tiêu của chữ ký điện tử Mục tiêu an toàn Xác thực (Authentication) Chống phủ nhận (Non-repudiation)

8 Đặc điểm chữ ký số 1. Đảm bảo tính xác thực Chứng minh tính hợp pháp của người gửi Chứng minh tính toàn vẹn của dữ liệu 2. Chữ ký số là hàm của các tham số Thông báo giao dịch (văn bản gốc) Thông tin bí mật của người gửi (Khóa riêng của sender) Thông tin công khai trên mạng (Khóa công khai) Mã xác thực : Đảm bảo tính toàn vẹn của thông điệp

9 Đặc điểm chữ ký số

10 Nguyên lý ký điện tử trong hệ mật mã công khai Người gởi (chủ nhân văn bản): ký văn bản bằng cách mã hóa nó với khóa bí mật của mình, rồi gởi cho bên nhận. Người nhận tiến hành kiểm tra chữ ký bằng cách sử dụng khóa công khai của người gởi để giải mã văn bản. Nếu giải mã thành công thì văn bản ký là đúng người gởi

11 Sơ đồ sử dụng chữ ký điện tử

12 Nhận xét Mô hình ký trên đảm bảo ký tá thông thường hay không??? Mô hình trên chỉ mang tính nguyên tắc, không khả thi trong thực tiễn.

13 Hàm băm mật mã Dùng để chiết xuất đặc trưng của văn bản, đầu ra là một dãy số xác định gọi là mã băm. Rất “nhạy” đối với các thay đổi trong văn bản. Có tính kháng xung đột, tính một chiều và tốc độ nhanh.

14 Hàm băm mật mã Signing the Digest Ký trên digest của thông đệp sẽ ngắn hơn ký trên thông điệp Người gửi có thể ký trên cốt thông điệp và người nhận có thể kiểm tra trên cốt thông điệp

15 Tạo và Kiểm tra chữ ký số

16 Digital Signature Process Tạo và Kiểm tra chữ ký số Trong mô hình này, Alice sau khi tính giá trị hash HA cho thông điệp M thì sẽ mã hóa HA bằng khóa riêng của Alice để tạo thành chữ ký điện tử DS. Alice gửi kèm DS theo M cho Bob. Bob dùng khóa công khai của Alice để giải mã chữ ký điện tử DS và có được giá trị hash HA của Alice. Vì Trudy không có KRA nên không thể sửa được HA. Ngoài ra, vì Alice là người duy nhất có KRA, nên chỉ có Alice mới có thể tạo DS từ M. Do đó Alice không thể từ chối là đã gửi bản tin.

17 Nhận xét Chữ ký không phải là nét vẽ ngoằn ngoèo khó bắt chước mà là một dãy số trích từ đặc trưng văn bản đã được mã hóa. So với chữ ký thông thường, chữ ký số có ưu thế vượt trội hơn chữ ký tay. Chính xác tuyệt đối Kiểm định dễ dàng và chính xác “Chữ ký điện tử mở đường cho các dịch vụ có độ tin cậy cao”

18 Nhược điểm mô hình chữ ký số Mô hình CKS ở trên chỉ đạt được nếu như mỗi người sở hữu đúng cặp chìa khóa của chính mình. Có thể xẩy ra hiện tượng “mạo danh” người gởi. Do đó, ta cần có cơ chế để xác định “ai là ai” trên toàn hệ thống. Giải pháp: chứng minh thư số

19 Ứng dụng của chữ ký số Xác thực thông điệp (Message Authentication): Người ký được xác nhận là chủ chữ ký. Toàn vẹn thông điệp (Message Integrity): Nội dung chưa bị thay đổi hoặc xáo trộn kể từ khi nó được ký điện tử. Chống từ chối (Non-repudiation): Chứng minh với tất cả các bên về nguồn gốc của nội dung đã ký. Từ "thoái thác" dùng để chỉ hành động của một người ký từ chối bất kỳ mối liên kết nào với nội dung đã ký. Bảo mật (Confidentiality)

20 Nonrepudiation Nonrepudiation có thể được cung cấp bằng cách dùng một trusted Center

21 Confidentiality Thêm confidentiality vào cơ chế digital signature Một Digital Signature không cung cấp tính bí mật. Nếu cần bảo mật, một lần khác của encryption/decryption được áp dụng

22 Public Notary (công chứng) Trong trường hợp bên Alice cố cãi rằng cô ta chẳng may làm thất lạc hay vô tình đánh lộ zA và bị một kẻ thứ ba lợi dụng chứ không có ý định tạo ra văn bản có chữ ký như thế khi đó có thể thêm trọng tài vào hệ thống. Người trọng tài này cũng còn gọi là công chứng viên (public notary) sẽ ký đè lên chữ ký của Alice để chứng thực, Alice không thể nào chối cãi.

23 Proof of delivery (xác nhận giao hàng - hoá đơn) Ngược lại, bên gửi cũng cần được bảo vệ để chống lại hiện tượng người nhận có nhận được thông báo nhưng chối là chưa nhận được. Điều này có thể thực hiện được qua những giao thức có phân xử (adjudicated protocol), tức là những giao thức mà sau đó cho phép người thứ ba có thể kiểm định lại được.

24 Tấn công trên Digital Signature Các loại tấn công trên Digital Signature (Attack Types) Giả mạo chữ ký (Forgery)

25 Attack Types Key-Only Attack Known-Message Attack Chosen-Message Attack

26 Forgery Types Existential Forgery Selective Forgery

27 Vài chữ ký số thông dụng RSA Digital Signature Scheme ElGamal Digital Signature Scheme Schnorr Digital Signature Scheme Digital Signature Standard (DSS) Elliptic Curve Digital Signature Scheme

28 RSA Digital Signature Scheme Ý tưởng mật mã RSA được dùng cho việc ký và kiểm tra chữ ký, nó được gọi là cơ chế chữ ký số RSA Người gửi dùng private key của chính mình để ký vào tài liệu; người nhận dùng public key của người gửi để kiểm tra chữ ký So với chữ ký truyền thống, private key đóng vai trò là chữ ký của chính người gửi, public key của người gửi đóng vài trò là bản sao của chữ ký mà có thể được công khai

29 RSA Digital Signature Scheme Ý tưởng tổng quát của cơ chế chữ ký RSA

30 RSA Digital Signature Scheme Phát sinh khóa (Key Generation) Phát sinh khóa trong cơ chế chữ ký RSA là hoàn toàn giống như phát sinh khóa RSA Trong đó d là bí mật, e và n là công khai

31 RSA Digital Signature Scheme

  1. Tạo cặp khóa (bí mật, công khai) (a, b): Chọn 2 số nguyên tố p, q, xác định n = p * q, n là công khai, đặt P = A = Zn và định nghĩa: Tính (n) = (p-1).(q-1). Chọn khóa công khai e < (n), nguyên tố cùng nhau với (n). Khóa bí mật d là phần tử nghịch đảo của e theo mod (n): e*d1 (mod (n). Tập cặp khóa (bí mật, công khai) K = (e, d)/ e, d  Zn , e*d 1 (mod (n)). 2) Ký số: Chữ ký trên M  P là S = sigk (M) = Md (mod n), SA 3) .Kiểm tra chữ ký: verk(M, S) = TRUE  MSe (mod n) với M,S  Zn .

32 RSA Digital Signature Scheme Tạo và Thẩm tra chữ ký

33 RSA Digital Signature Scheme Ví dụ: Phát sinh khóa: Alice chọn p = 823 và q = 953, và tính n = Giá trị f(n) là Alice chọn e = 313 và tính d = Alice muốn ký và gửi thông điệp M=19070 cho Bob Tạo chữ ký: S=( ) mod = mod Gửi (M, S) cho Bob Bob nhận (M, S) và tính M’ M’= mod = mod  M  M’ mod n

34 EXAMPLE Chữ ký trên m = 2 *Tạo cặp khóa (bí mật, công khai) : Chọn 2 số nguyên tố: p=3, q=5  n = p*q = 3*5 = 15(công khai) Đặt P = A = Zn . Tính (n) = (p-1).(q-1) = 2 * 4 = 8. Chọn khóa công khai e = 3 < (n), nguyên tố với (n) = 8. =>Tìm d: là phần tử nghịch đảo của e theo mod (n): e*d1 (mod (n)). Bước i N b Ri+1 Qi+1 Xi Xi+1 Xi+2 8 3 2 1 -2 -5 Vậy khóa bí mật a = 3

35 EXAMPLE * Ký số: Chữ ký trên M = 2P là: S = sigk (M) = Md (mod n) \= 8, SA. * Kiểm tra chữ ký: verk(M, S) = TRUE MSe (mod n)  283 (mod 15).

36 BÀI TẬP Sử dụng cơ chế chữ ký RSA cho các bài toán sau: Cho p=5, q=11, e=7. Tạo và kiểm tra chữ ký điện tử với bản tin M=5 D=23, S =15 Cho p=7, q=11, e=17. Tạo và kiểm tra chữ ký điện tử với bản tin M=3 D=53, s=5

37 ĐỘ AN TOÀN CỦA CHỮ KÝ RSA Bài toán căn bản bảo đảm độ an toàn của Sơ đồ chữ ký RSA: a) Ký trước, Mã hóa sau: T ký trước vào x bằng chữ ký S = sigk(M), sau đó mã hoá x và y nhận được z = eT(M, S). T gửi z cho N. Nhận được z, N giải mã z để được M, S. Tiếp theo kiểm tra chữ ký verN(M, S) = true ? b) Mã hóa trước, Ký sau: T mã hoá trước M bằng u = eT (M), sau đó ký vào u bằng chữ ký v = sigT(u). T gửi (u, v) cho N. Nhận được (u, v), N giải mã u được M. Tiếp theo kiểm tra chữ ký verN(u, v) = true ?

38 Chữ ký RSA trên Message Digest

39 Chữ ký RSA trên Message Digest Lưu ý: Khi cốt thông điệp được ký thay cho thông điệp của nó, thì độ nhạy cảm của chữ ký số RSA tùy thuộc vào sức mạnh của hàm băm

40 ElGamal Digital Signature Scheme Ý tưởng tổng quát của chữ ký ElGamal

41 ElGamal Digital Signature Scheme Phát sinh khóa (Key Generation) Phát sinh khóa trong cơ chế chữ ký ElGamal là hoàn toàn giống như phát sinh khóa mật mã ElGamal Trong đó (e1,e2,p) là public key; d là private key

42 ElGamal Digital Signature Scheme Tạo chữ ký Chọn ngẫu nhiên r, 1  r  p-1, gcd(r, p-1)=1 Tính S1 = e1k mod p Tính S2 = (M-d x S1) x r-1 mod (p-1), với r-1 là nghịch đảo nhân của r modulo n Chữ ký là (S1,S2) Thẩm tra chữ ký Kiểm tra 1  S1  p; 1  S2  p-1; Tính v1 = e1M mod p Tính v2= e2S1x S1S2 mod p Chữ ký hợp lệ  v1=v2

43 ElGamal Digital Signature Scheme Tạo và Thẩm tra chữ ký

44 ElGamal Digital Signature Scheme Một số vấn đề Giá trị r phải phân biệt cho mỗi thông điệp được ký (S1-S2)r = (h(m1)-h(m2))mod (p-1) Nếu gcd((S1-S2),p-1)=1 thì có thể dễ dàng xác đinh giá trị r, từ đó có được private key a Nếu không dùng hàm băm thì có thể bị tình trạng existential forgery

45 HỆ CHỮ KÝ ELGAMMAL 1) Tạo cặp khóa (bí mật, công khai) (a, k) : Chọn phần tử nguyên tử α Zp* . Đặt P = Z p*, A = Z p* x Z p-1. Chọn khóa bí mật là a Zp* . Tính khóa công khai β  α a mod p. Định nghĩa tập khóa: = {(p, α, a, β): β  α a mod p}. Các giá trị p, α, β được công khai, phải giữ bí mật a.

46 HỆ CHỮ KÝ ELGAMMAL 2) Ký số: Dùng 2 khóa ký: khóa a và số ngẫu nhiên kZp-1* . (Vì kZp-1* , nên nguyên tố cùng p -1, do đó tồn tại k-1 mod (p -1) ). Chữ ký trên xP là y = sigk(x, k) = (, ), yA (E1) Trong đó Z p*,  Zp-1:  = α k mod p và  = (x – a *  ) * k-1 mod (p -1) 3) Kiểm tra chữ ký: verk (x, , ) = TRUE  β *  α x mod p. (E2)

47 EXAMPLE Chữ ký Elgamal trên dữ liệu x = 112.

  1. Tạo cặp khóa (bí mật, công khai) (a, β) : Chọn số nguyên tố p = 463. Đặt P = Z p*, A = Z p* x Z p-1. Chọn phần tử nguyên tử α = 2Zp* . Chọn khóa bí mật là a = 211Zp* . Tính khóa công khai β  α a mod p = 2211 mod 463 = 249. Định nghĩa tập khóa: = {(p, α, a, β): β  α a mod p}. Các giá trị p, α, β được công khai, phải giữ bí mật a.

48 EXAMPLE Tính β α a mod p = 2211 mod 463 = 249. i e[i]= 21110 p=p*p p=p mod 463 p= p*2 p= p mod 463 1 2 4 8 64 - 3 642 392 784 321 3212 255 5 2552 205 6 2052 355 710 247 7 2472 356 712 249

49 EXAMPLE 2) Ký số: Chọn ngẫu nhiên bí mật k= 235 Zp-1* . Khóa ký là (a, k ). Vì kZp-1* nguyên tố cùng p -1, Ǝ k-1 mod (p -1). Cụ thể: ƯCLN(k, p-1) = ƯCLN(235, 462) = 1, nên k-1 mod (p-1) = 235 -1 mod 462 = 289. Chữ ký trên dữ liệu x = 112 là ( ,  ) = (16, 108), trong đó:  = α k mod p = 2235 mod 463 = 16  = (x – a* )*k-1 mod (p -1) \=(112- 211*16)*289 mod 462 = 108

50 EXAMPLE k-1 mod (p-1) = 235 -1 mod 462 = 289. Bước i N b Ri+1 Qi+1 Xi 462 235 227 1 -1 8 2 3 28 -57 116 4 -173 5 289

51 EXAMPLE Tính  = α k mod p = 2235 mod 463 = 16 i e[i]= 23510 p=p*p . i e[i]= 23510 p=p*p p=p mod 463 p= p*2 p= p mod 463 1 2 4 8 64 128 3 1282 179 - 1792 94 188 5 1882 156 6 1562 260 520 57 7 572 16

52 EXAMPLE 3) Kiểm tra chữ ký: verk (x, , ) = đúng  β *  α x mod p. β * = * mod 463 = 132 α x mod p = 2112 mod 463 = 132. Hai giá trị đó bằng nhau, như vậy chữ ký là đúng.

53 ĐỘ AN TOÀN CỦA HỆ CHỮ KÝ ELGAMAL * Bài toán căn bản bảo đảm độ an toàn của Sơ đồ chữ ký Elgammal: 1). TH1: Giả mạo chữ ký cùng với tài liệu được ký. T có thể ký trên tài liệu ngẫu nhiên bằng cách chọn trước đồng thời x,,. Chọn x,, thoả mãn điều kiện kiểm thử như sau: Chọn các số nguyên i, j sao cho 0  i, j  p-2, GCD(j, p-1) = 1 và tính:  = α i β j mod p  = - j -1 mod (p -1) x = - ij -1 mod (p -1). Chứng minh (, ) là chữ ký trên x, bằng cách kiểm tra điều kiện kiểm thử: β *  β αi β j( αi β j ) αi β j j -1 mod p  α x mod p

54 EXAMPLE Chọn các tham số của sơ đồ chữ ký Elgammal: Chọn p = 463, phần tử sinh α = 2, Khóa bí mật a = 135. Khóa công khai β = α a mod p = 2 135 mod 463 = 272. Chọn x,, thoả mãn điều kiện kiểm thử như sau: Chọn i = 89, j = 125, 0  i, j  p-2, gcd(j, p-1) = 1. Tính j -1 mod (p-1) = 377.  = α i * β j mod p = 289 * mod 463 = 218  = –  * j -1 mod (p -1) = -218 * 377 mod 462 = 50 x = - * i * j -1 mod (p -1) = -218 * 89 * 377 mod = 292 (, ) = (218, 50) là chữ ký trên x = 292, vì TM Đkiện kiểm thử: β * = 272 218 * 218 50 322 (mod 463) α x = 2 292322 (mod 467)

55 ĐỘ AN TOÀN CỦA HỆ CHỮ KÝ ELGAMAL

  1. TH2: Sử dụng lại chữ ký của bức điện trước đó Nếu (, ) là chữ ký trên tài liệu x có từ trước, thì có thể giả mạo chữ ký trên tài liệu x’ khác. Chọn số nguyên k, i, j thỏa mãn 0  k, i, j  p-2, (k – j, p-1) = 1 và tính:  = h α i β j mod p  =  (h – j) -1 mod (p -1), x’ =  (hx + i) (h – j) -1 mod (p -1) (, ) là chữ ký trên x’, vì thỏa mãn điều kiện kiểm thử: β *   α x' mod p.

56 TÓM LẠI Cả hai cách giả mạo nói trên đều cho chữ ký đúng trên tài liệu tương ứng, nhưng đó không phải là tài liệu được chọn theo ý của người giả mạo. Tài liệu đó đều được tính sau khi tính chữ ký, vì vậy giả mạo loại này trong thực tế cũng không có ý nghĩa nhiều.

57 Schnorr Digital Signature Scheme Với chữ ký ElGamal thì p cần phải rất lớn thì mới đảm bảo bài toán logaric rời rạc là khó thực hiện trong Z*p. Theo khuyến cáo p phải ít nhất 1024-bit  chữ ký là 2048-bit. Để giảm kích cỡ của chữ ký, Schnorr đề xuất một cơ chế chữ ký mới dựa trên ElGamal nhưng với một kích cỡ chữ ký được giảm.

58 Schnorr Digital Signature Scheme Ý tưởng tổng quát của chữ ký Schnorr

59 Schnorr Digital Signature Scheme Phát sinh khóa Chọn một số nguyên tố p, thường chọn p có độ lớn 1024-bit Chọn số nguyên tố q Alice chọn e1 sao cho e1p = 1 mod p. Chọn 1 số nguyên d, làm private key Tính e2= e1d mod p. Public key là (e1, e2, p, q); private key là d

60 Schnorr Digital Signature Scheme Tạo và Thẩm tra chữ ký

61 THUẬT TOÁN CKĐT DSA & CHUẨN CKĐT DSS Thuật toán CKĐT DSA là thuật toán được đề nghị trong chuẩn chữ ký điện tử DSS (Digital Signature Standard) của NIST. Nó cung cấp một trình tự để tạo và xác nhận CKĐT DSA sử dụng 1 cặp khóa công khai – khóa riêng. Trong cả giai đoạn ký và xác nhận văn bản được ký thể hiện dưới dạng thông điệp rút gọn là kết quả của việc áp dụng hàm băm SHA-1 lên văn bản cần ký.

62 Digital Signature Process Tạo và Kiểm tra chữ ký số

63 THUẬT TOÁN CKĐT DSA & CHUẨN CKĐT DSS 1,Tạo khoá Chọn p là số nguyên tố L bit, sao cho 2L-1 1. (z = (p-1) / q.) Chọn x ngẫu nhiên, thoả mãn 0 < x < q. Tính giá trị y = gx mod p. Khoá công là (p, q, g, y). Khoá riêng là x.

64 Thuật giải DSA – Chuẩn chữ ký số

  1. Tạo chữ kí số Tạo 1 số ngẫu nhiên với mỗi thông điệp, giá trị k thỏa mãn 0 < k < q Tính r = (gk mod p) mod q Tính s = (k-1(SHA-1(m) + x*r)) mod q, ở đây SHA-1(m) là hàm băm mã hoá SHA-1 áp dụng cho thông điệp m Tính toán lại chữ ký trong trường hợp không chắc chắn khi r=0 hoặc s=0 Dữ liệu được gửi đi là Văn bản M, chữ ký (r, s).

65 Thuật giải DSA – Chuẩn chữ ký số 3, Kiểm tra chữ ký Loại bỏ chữ ký nếu hoặc 0< r

66 Thuật giải DSA – Chuẩn chữ ký số

67 Digital Signature Standard (DSS) NIST đã công bố chuẩn xử lý thông tin liên ban FIPS 186, được biết như là Digital Signature Standard (DSS) DSS được đề xuất năm 1991 và hiểu chỉnh lại 1993, 1996 có một hiệu chỉnh nhỏ, năm 2000, một phiên bản mở rộng của chuẩn được phát hành như FIPS 186-2, 2009 cập nhật FIPS Phiên bản cuối cùng hợp nhất các thuật tóan chữ ký số dựa trên mật mã RSA và đường cong Eliptic

68 Digital Signature Standard (DSS) Ý tưởng tổng quát của chữ ký DSS

69 CHUẨN CKĐT DSS 1) Tạo cặp khóa: Cho p là 1 số nguyên tố 512 bit trong trường logarit rời rạc Zp ; q là 1 số nguyên tố 160 bit và q chia hết cho (p-1). Cho α Є Zp*; P=Zp*; A =Zp*Zq: K={(p, q, α, a, β): β  αa (mod p)} với p, q, α, β công khai, a là bí mật Chọn 1 số ngẫu nhiên k(1<=k<=q-1) 2) Ký số: sigk( , ) trong đó: =(ak mod p) mod q & =(x+a* )k-1 mod q Với x Є Zp* và ,  Є Zq 3) Kiểm tra chữ ký: Tính e1=x* -1 và e2= * -1 Ver(x,  , )= TRUE  (αe1βe2 mod p) mod q= 

70 Digital Signature Standard (DSS) Tạo và Thẩm tra chữ ký

71 CHUẨN CKĐT DSS Giả sử: q=101, p=78q + 1=7879 3 là phần tử nguyên tử trong Z7879 nên ta có thể lấy: a = 3 78 mod 7879 =170 Giả sử a=75, khi đó B=aa mod 7879 = 4567 Bây giờ giả sử Bob muốn kí bức điện x = 1234 anh ta chọn số ngẫu nhiên k = 50, vì thế: k -1 mod 101 =99 Khi đó:  =(17050 mod 7879) mod 101 \= 2518 mod 101=94 Và  =( *94) mod 101=97 \=> chữ ký: ( 94, 97)

72 CHUẨN CKĐT DSS Chứng minh:  -1 =97-1 mod 101 = 25 e1= 1234 * 25 mod 101=45 e2=94 * 25mod 101=27 (17045* mod 7879) mod 101=2518 mod 101=94 Vì thế chữ kí hợp lệ

73 Digital Signature Standard (DSS) Lưu ý: Các tính toán chữ ký DSS nhanh hơn tính toán của chữ ký RSA khi dùng cùng giá trị p Chữ ký DSS là nhỏ hơn chữ ký Elgamal bởi vì q nhỏ hơn p

74 Elliptic Curve Digital Signature Scheme Ý tưởng tổng quát của chữ ký EC

75 Elliptic Curve Digital Signature Scheme Phát sinh khóa Chọn một đường cong elliptic Ep(a, b). Chọn số nguyên tố q, chọn private key d (số nguyên) Chọn e1(…, …), một điểm trên đường cong. Tính e2(…, …) = d × e1(…, …). Public key là (a, b, p, q, e1, e2); private key là d.

76 Elliptic Curve Digital Signature Scheme Tạo và Thẩm tra chữ ký

77 Những biến thể chữ ký Time Stamped Signatures Một tài liệu được ký cần được gắn nhãn thời gian (Timestamped) để ngăn chặn tài liệu bị phát lại (replay) bởi đối phương Ví dụ: Alice ký một yêu cầu đối với nhà băng của cô ta, Bob chuyển tiền cho Eve. Tài liệu yêu cầu này có thể bị chặn và phát lại bởi Eve nếu không có nhãn thời gian gắn trên tài liệu

78 Những biến thể chữ ký Blind Signatures Giả sử có một tài liệu mà chúng ta muốn có chữ ký mà không muốn tiết lộ nội dung của tài liệu đối với người ký. Ví dụ: Nhà khoa học phát minh ra một lý thuyết rất quan trọng mà cần được ký bởi công chứng viên, công chứng viên sẽ ký nhưng sẽ không biết gì về nội dung của phát minh.

79 Những biến thể chữ ký Blind Signatures Các bước thực hiện: Bob tạo một thông điệp, ẩn (Blind) nó, và gửi thông điệp ẩn này cho Alice Alice ký thông điệp ẩn và trả về chữ ký trên thông điệp ẩn. Bob bỏ ẩn chữ ký để thu về chữ ký trên thông điệp gốc

80 Chứng thư số Là chứng thực để gắn một chìa khóa công khai với một thực thể (cá nhân, máy chủ, cty,…). Hay nói cách khác, CTS giúp xác định chìa khóa công khai thuộc về thực thể nào. Một CTS thường gồm chìa khóa công khai và một số thông tin khác về thực thể sở hữu chìa khóa đó. Chứng thư số thuộc sở hữu của nhà cc chứng thư số, viết tắt CA (certificate authority).

81

82

83

84 Cấp phát chứng thư số Sinh cặp chìa khóa bất đối xứng an toàn Đăng ký chứng thực CA Cấp chứng thực cho người dùng Sinh cặp chìa khóa bất đối xứng an toàn Tránh xung đột chứng thực Hoặc tránh định danh giống nhau

85 Sơ đồ tạo chứng thư số

86 Sơ đồ kiểm tra chứng thư số

87 Các mô hình hệ thống

88 Tem thời gian tin cậy (trusted timestamping) Là quá trình lưu trữ an toàn các dấu tích về thời gian tạo ra văn bản cùng với những lần sửa đổi nó. Được sử dụng để xác định thời điểm ký văn bản Được phát hành bởi bên thứ 3 tin cậy và đóng vai trò như cơ quan đóng dấu tem thời gian.

89 Tem thời gian tin cậy (trusted timestamping) Qui trình đóng dấu và kiểm định tem thời gian có sự tham gia của các đối tượng sau: Dữ liệu cần đóng dấu tem thời gian Bên thứ 3 tin cậy (TSA-time stamp authority) Dịch vụ gắn tem thời gian: cung cấp thẻ tem thời gian. Người yêu cầu tem thời gian Người kiểm tra tem thời gian

90 Sơ đồ đóng tem thời gian tin cậy cho dữ liệu

91 Kiểm tra tem thời gian tin cậy

92 Nhận xét Do tính chất của hàm băm nên tem thời gian tin cậy không chỉ khẳng định dữ liệu đã tồn tại trước thời điểm ghi nhãn thời gian mà còn khẳng định dữ liệu không hề thay đổi kể từ khi được cấp phát tem thời gian. Tem thời gian chỉ khẳng định dữ liệu được sinh ra trước thời điểm cấp tem thời gian. Để xác định chính xác khoảng thời gian xẩy ra một sự kiện nào đó đối với dữ liệu, ta tiến hành đóng tem thời gian hai lần.