07/01/2018

Chương 4:

CHỮ KÝ SỐ

(DIGITAL SIGNATURES)

GV: Nguyễn Thị Hạnh

GV: Nguyễn Thị Hạnh

Nội dung chính

1. Khái niệm về chữ ký số (Digital Signature)

2. Các dịch vụ bảo mật cung cấp bởi chữ ký số

3. Một vài chữ ký số thông dụng

4. Mô tả vài ứng dụng của chữ ký số (Cryptography & Network Security. McGraw-Hill,

GV: Nguyễn Thị Hạnh

1

Inc., 2007., Chapter 13)

07/01/2018

Mục tiêu

(cid:1) Định nghĩa và sự cần thiết (cid:1) Qui trình tạo (sign) và thẩm tra (Verify) chữ ký (cid:1) Chữ ký có dùng khóa (Private Key, Public Key) (cid:1) Ký trên Message Digest

˗ Khái niệm chữ ký số (Digital Signature)

˗ Các dịch vụ bảo mật được cung cấp bởi

GV: Nguyễn Thị Hạnh

Digital Signature (cid:1) Xác thực thông điệp (Message authentication) (cid:1) Toàn vẹn thông điệp (Message Interity) (cid:1) Chống từ chối (Nonrepudiaton) (cid:1) Bảo mật (Confidentiality)

Mục tiêu

˗ Nêu các tấn công trên Digital Signature ˗ Thảo luận các cơ chế Digital Signature (RSA,

ELGamal, Shnorr, DSS, và Elliptic Curve) (cid:1) Ý tưởng tổng quát (cid:1) Phát sinh khóa (cid:1) Tạo và thẩm tra chữ ký (cid:1) Ví dụ cụ thể

GV: Nguyễn Thị Hạnh

2

˗ Mô tả vài ứng dụng của Digital Signatures

07/01/2018

1. Khái niệm về chữ ký số

˗ Chữ ký số là một trong ứng dụng quan trọng

nhất của mã hóa khóa công khai.

GV: Nguyễn Thị Hạnh

˗ 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à: (cid:1) Bên nhận giả mạo thông điệp của bên gửi (cid:1) Bên gửi chối là đã gửi thông điệp đến bên nhận ˗ Chữ ký số 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

1. Khái niệm về chữ ký số

˗ Chữ ký số là một dạng chữ ký điện tử. ˗ Về căn bản chữ ký số có khái niệm giống như chữ ký thông thường nhưng được xây dựng dựa trên mật mã khóa công khai.

GV: Nguyễn Thị Hạnh

3

˗ Nhằm bảo đảm vấn đề toàn vẹn dữ liệu, và chống sự chối bỏ trách nhiệm khi đã ký.

07/01/2018

Digital Signature Process

˗ Người gửi dùng một thuật toán tạo chữ ký

(signing algorithm) để ký thông điệp. Thông điệp và chữ ký được gửi cho người nhận. ˗ Người nhận dùng thuận toán thẩm tra chữ ký

(Verifying algorithm) để thẩm tra.

˗ Nếu đúng, thông điệp được chấp nhận, ngược

GV: Nguyễn Thị Hạnh

lại sẽ từ chối thông điệp

Digital Signature Process

GV: Nguyễn Thị Hạnh

4

07/01/2018

Need for Keys

(cid:1) Dùng khóa bí mật secret key, ký và thẩm tra chữ ký

được không?

GV: Nguyễn Thị Hạnh

˗ Một digtal signature cần hệ thống public-key. Người ký (signer) ký bằng private key của chính mình; người kiểm tra (verifier) kiểm tra bằng public key của signer

Signing the Digest

˗ Ký trên digest của thông điệ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à

GV: Nguyễn Thị Hạnh

5

người nhận có thể kiểm tra trên cốt thông điệp

07/01/2018

2. Các dịch vụ bảo mật cung cấp

bởi chữ ký số

˗ Xác thực thông điệp (Message authentication)

˗ Toàn vẹn thông điệp (Message Interity)

˗ Chống từ chối (Nonrepudiaton)

GV: Nguyễn Thị Hạnh

˗ Bảo mật (Confidentiality)

Message Authentication

GV: Nguyễn Thị Hạnh

6

˗ Một cơ chế chữ ký số giống như một chữ ký truyền thống là có thể cung cấp sự xác thực thông điệp

07/01/2018

Message Integrity

˗ Chúng ta không thể có được cùng chữ ký nếu

GV: Nguyễn Thị Hạnh

thông điệp đã được hiệu chỉnh

Nonrepudiation

˗ Nonrepudiation có thể được cung cấp bằng

GV: Nguyễn Thị Hạnh

7

cách dùng một trusted Center

07/01/2018

Confidentiality

˗ Thêm confidentiality vào cơ chế digital signature

GV: Nguyễn Thị Hạnh

Một Digital Signature không cung cấp tính bí mật. Nếu cần bảo mật, một tần khác của encryption/decryption được áp dụng

Tấn công trên Digital Signature

˗ Các loại tấn công trên Digital Signature

(Attack Types)

GV: Nguyễn Thị Hạnh

8

˗ Giả mạo chữ ký (Forgery)

07/01/2018

Attack Types

˗ Key-Only Attack: Eve chỉ có thể truy suất đến các thông tin công khai của Alice, Để giả mạo thông điệp, Eve cần tạo chữ ký của Alice để thuyết phục Bob rằng thông điệp đến từ Alice

GV: Nguyễn Thị Hạnh

˗ Known-Message Attack: Eve có thể truy suất đến một hoặc nhiều cặp thông điệp – chữ ký, Eve cố gắng tạo một thông điệp khác và giả chữ ký của Alice trên thông điệp đó

Attack Types

GV: Nguyễn Thị Hạnh

9

˗ Chosen-Message Attack: Eve bằng cách này hay cách khác sắp đặt Alice ký một hoặc nhiều thông điệp cho cô ta. Eve có một cặp choose- message/signature. Sau đó Eve tạo ra một thông điệp khác, với nội dung cô ta muốn, và giả mạo chữ ký của Alice lên đó

07/01/2018

Forgery Types

˗ Existential Forgery: có thể tìm và chỉ ra được thông điệp (có thể vô nghĩa), đối phương có thể tạo chữ ký hợp lệ trên thông điệp này

GV: Nguyễn Thị Hạnh

˗ Selective Forgery: cho trước một thông điệp, đối phương tạo chữ ký hợp lệ trên thông điệp này (rất khó)

3. 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

GV: Nguyễn Thị Hạnh

10

07/01/2018

3.1 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ý

GV: Nguyễn Thị Hạnh

˗ 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

3.1 RSA Digital Signature Scheme

GV: Nguyễn Thị Hạnh

11

˗ Ý tưởng tổng quát của cơ chế chữ ký RSA

07/01/2018

3.1 RSA Digital Signature Scheme

Phát sinh khóa (Key Generation) ˗ Phát sinh khóa trong cơ chế chữ ký RSA là

GV: Nguyễn Thị Hạnh

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

RSA Digital Signature Scheme

GV: Nguyễn Thị Hạnh

12

Tạo và Thẩm tra chữ ký

07/01/2018

RSA Digital Signature Scheme

Ví dụ: Phát sinh khóa:

(cid:1) Alice chọn p = 823 và q = 953, và tính n = 784319. (cid:1) Giá trị f (n) là 782544 (cid:1) Alice chọn e = 313 và tính d = 160009

Alice muốn ký và gửi thông điệp M=19070 cho Bob

(cid:1) Tạo chữ ký:

S=(19070160009) mod 784319 = 210625 mod 784319

(cid:1) Gửi (M, S) cho Bob ˗ Bob nhận (M, S) và tính M’

M’=210625313mod 784319 = 19070 mod 784319

˗ (cid:2) M ” M’ mod n

GV: Nguyễn Thị Hạnh

Chữ ký RSA trên Message Digest

GV: Nguyễn Thị Hạnh

13

07/01/2018

Chữ ký RSA trên Message Digest

Lưu ý: ˗ Khi cốt thông điệp được ký thay cho thông

GV: Nguyễn Thị Hạnh

đ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

ElGamal Digital Signature Scheme

GV: Nguyễn Thị Hạnh

14

˗ Ý tưởng tổng quát của chữ ký ElGamal

07/01/2018

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

GV: Nguyễn Thị Hạnh

˗ Trong đó (e1,e2,p) là public key; d là private key

ElGamal Digital Signature Scheme

r £ p-1, gcd(r, p-1)=1

k mod p

(cid:1) Chọn ngẫu nhiên r, 1 £ (cid:1) Tính s1 = e1 (cid:1) 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

(cid:1) Chữ ký là (S1,S2)

Tạo chữ ký

£ p-1;

£ p; 1 £ S2

M mod p S1x S1

(cid:1) Kiểm tra 1 £ S1 (cid:1) Tính v1 = e1 (cid:1) Tính v2= e2 (cid:1) Chữ ký hợp lệ (cid:219)

S2 mod p v1=v2

GV: Nguyễn Thị Hạnh

15

Thẩm tra chữ ký

07/01/2018

ElGamal Digital Signature Scheme

GV: Nguyễn Thị Hạnh

Tạo và Thẩm tra chữ ký

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

giá trị r, từ đó có được private key a

được ký (cid:1) (s1-s2)r = (h(m1)-h(m2))mod (p-1) (cid:1) Nếu gcd((s1-s2),p-1)=1 thì có thể dễ dàng xác đinh

˗ Nếu không dùng hàm băm thì có thể bị tình

GV: Nguyễn Thị Hạnh

16

trạng existential forgery

07/01/2018

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 (cid:2) chữ ký là 2048-bit.

GV: Nguyễn Thị Hạnh

˗ Để 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.

Schnorr Digital Signature Scheme

GV: Nguyễn Thị Hạnh

17

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

07/01/2018

Schnorr Digital Signature Scheme

Phát sinh khóa 1. Chọn một số nguyên tố p, thường chọn p có

d mod p.

độ lớn 1024-bit

GV: Nguyễn Thị Hạnh

2. Chọn số nguyên tố q 3. Alice chọn e1 sao cho e1 p = 1 mod p. 4. Chọn 1 số nguyên d, làm private key 5. Tính e2= e1 6. Public key là (e1, e2, p, q); private key là d

Schnorr Digital Signature Scheme

GV: Nguyễn Thị Hạnh

18

Tạo và Thẩm tra chữ ký

07/01/2018

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)

GV: Nguyễn Thị Hạnh

˗ 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 186-3. 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

Digital Signature Standard (DSS)

GV: Nguyễn Thị Hạnh

19

˗ Ý tưởng tổng quát của chữ ký DSS

07/01/2018

Digital Signature Standard (DSS)

p, và e1 = g(p-1)/q mod p, e1

*)

Phát sinh khóa ˗ Chọn số nguyên tố p và q ˗ Chọn g trong Z*

d mod p

„ 1 (e1 là phần tử sinh của nhóm con bậc q của Zp

GV: Nguyễn Thị Hạnh

˗ Chọn 1 £ d £ q-1, tính e2= e1 ˗ Public key (e1, e2, p, q), private key d

Digital Signature Standard (DSS)

GV: Nguyễn Thị Hạnh

20

˗ Tạo và Thẩm tra chữ ký

07/01/2018

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ì

GV: Nguyễn Thị Hạnh

q nhỏ hơn p

Elliptic Curve Digital Signature Scheme

GV: Nguyễn Thị Hạnh

21

˗ Ý tưởng tổng quát của chữ ký EC

07/01/2018

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)

GV: Nguyễn Thị Hạnh

˗ 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.

Elliptic Curve Digital Signature Scheme

GV: Nguyễn Thị Hạnh

22

Tạo và Thẩm tra chữ ký

07/01/2018

Những biến thể chữ ký

(cid:1) 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

(cid:1) Ví dụ: Alice ký một yêu cầu đối với nhà bang 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

GV: Nguyễn Thị Hạnh

˗ Time Stamped Signatures

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ý

GV: Nguyễn Thị Hạnh

23

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.

07/01/2018

Những biến thể chữ ký

(cid:1) Bob tạo một thông điệp, ẩn (Blind) nó, và gửi

thông điệp ẩn này cho Alice

(cid:1) Alice ký thông điệp ẩn và trả về chữ ký trên thông

điệp ẩn.

(cid:1) Bob bỏ ẩn chữ ký để thu về chữ ký trên thông điệp

gốc

GV: Nguyễn Thị Hạnh

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

Mô tả vài ứng dụng của chữ ký số

GV: Nguyễn Thị Hạnh

24

07/01/2018

Câu hỏi và bài tập

1. Những đặc tính nào mà chữ ký số nên có? 2. Những yêu cầu nào mà một chữ ký số cần

GV: Nguyễn Thị Hạnh

25

phải thỏa mãn?