Bài giảng An toàn hệ thống thông tin - Chương 4: Chữ ký số (Digital Signatures) - Nguyễn Thị Hạnh
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,
Inc., 2007., Chapter 13)
GV: Nguyễn Thị Hạnh
1
07/01/2018
Mục tiêu
˗ Khái niệm chữ ký số (Digital Signature)
° Định nghĩa và sự cần thiết
° Qui trình tạo (sign) và thẩm tra (Verify) chữ ký
° Chữ ký có dùng khóa (Private Key, Public Key)
° Ký trên Message Digest
˗ Các dịch vụ bảo mật được cung cấp bởi
Digital Signature
° 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)
° Bảo mật (Confidentiality)
GV: Nguyễn Thị Hạnh
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)
° Ý tưởng tổng quát
° Phát sinh khóa
° Tạo và thẩm tra chữ ký
° Ví dụ cụ thể
˗ Mô tả vài ứng dụng của Digital Signatures
GV: Nguyễn Thị Hạnh
2
07/01/2018
1. Khái niệm về chữ ký số
˗ Chữ ký sô
nhất của mã hóa khóa công khai.
˗ Message Authentication chỉ bảo vê
́ là một trong ứng dụng quan trọng
̣
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ý sô
́
không những giúp xác thực thông
mỗi bên khỏi bên kia
điệp mà còn bảo vê
̣
GV: Nguyễn Thị Hạnh
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.
˗ 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ý.
GV: Nguyễn Thị Hạnh
3
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
lại sẽ từ chối thông điệp
GV: Nguyễn Thị Hạnh
Digital Signature Process
GV: Nguyễn Thị Hạnh
4
07/01/2018
Need for Keys
˗ 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
° 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
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à
người nhận có thê
̉
kiểm tra trên cốt thông điệp
GV: Nguyễn Thị Hạnh
5
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)
˗ Bảo mật (Confidentiality)
GV: Nguyễn Thị Hạnh
Message Authentication
˗ Một cơ chê
truyền thống là có thê
thông điệp
́
chữ ký sô
́
giống như một chữ ký
cung cấp sư xác thực
̉
̣
GV: Nguyễn Thị Hạnh
6
07/01/2018
Message Integrity
˗ Chúng ta không thể có được cùng chữ ký nếu
thông điệp đã được hiệu chỉnh
GV: Nguyễn Thị Hạnh
Nonrepudiation
˗ Nonrepudiation có thể được cung cấp bằng
cách dùng một trusted Center
GV: Nguyễn Thị Hạnh
7
07/01/2018
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 tần khác của
encryption/decryption được áp dụng
GV: Nguyễn Thị Hạnh
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)
GV: Nguyễn Thị Hạnh
8
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
˗ 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 đó
GV: Nguyễn Thị Hạnh
Attack Types
˗ 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 đó
GV: Nguyễn Thị Hạnh
9
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
˗ 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ó)
GV: Nguyễn Thị Hạnh
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ý
˗ 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
GV: Nguyễn Thị Hạnh
3.1 RSA Digital Signature Scheme
˗ Ý tưởng tổng quát của cơ chế chữ ký RSA
GV: Nguyễn Thị Hạnh
11
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à
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
GV: Nguyễn Thị Hạnh
RSA Digital Signature Scheme
Tạo và Thẩm tra chữ ký
GV: Nguyễn Thị Hạnh
12
07/01/2018
RSA Digital Signature Scheme
Ví dụ:
Phát sinh khóa:
° Alice chọn p = 823 và q = 953, và tính n = 784319.
° Giá trị φ(n) là 782544
° 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
° Tạo chữ ký:
S=(19070160009) mod 784319 = 210625 mod 784319
° Gửi (M, S) cho Bob
˗ Bob nhận (M, S) và tính M’
M’=210625313mod 784319 = 19070 mod 784319
˗ ‰ 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
đ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
GV: Nguyễn Thị Hạnh
ElGamal Digital Signature Scheme
˗ Ý tưởng tổng quát của chữ ký ElGamal
GV: Nguyễn Thị Hạnh
14
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
˗ Trong đó (e1,e2,p) là public key; d là private
key
GV: Nguyễn Thị Hạnh
ElGamal Digital Signature Scheme
Tạo chữ ký
° Chọn ngẫu nhiên r, 1 ≤ r ≤ p-1, gcd(r, p-1)=1
k
° Tính s1 = e1 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
GV: Nguyễn Thị Hạnh
15
07/01/2018
ElGamal Digital Signature Scheme
Tạo và Thẩm tra chữ ký
GV: Nguyễn Thị Hạnh
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
GV: Nguyễn Thị Hạnh
16
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 ‰ 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.
GV: Nguyễn Thị Hạnh
Schnorr Digital Signature Scheme
Ý tưởng tổng quát của chữ ký Schnorr
GV: Nguyễn Thị Hạnh
17
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ó
độ lớn 1024-bit
2. Chọn số nguyên tố q
p
3. Alice chọn e1 sao cho e1 = 1 mod p.
4. Chọn 1 số nguyên d, làm private key
d
5. Tính e2= e1 mod p.
6. Public key là (e1, e2, p, q); private key là d
GV: Nguyễn Thị Hạnh
Schnorr Digital Signature Scheme
Tạo và Thẩm tra chữ ký
GV: Nguyễn Thị Hạnh
18
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)
˗ 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
GV: Nguyễn Thị Hạnh
Digital Signature Standard (DSS)
˗ Ý tưởng tổng quát của chữ ký DSS
GV: Nguyễn Thị Hạnh
19
07/01/2018
Digital Signature Standard (DSS)
Phát sinh khóa
˗ Chọn số nguyên tố p và q
˗ Chọn g trong Z*p, và e1 = g(p-1)/q mod p, e1≠1
(e1 là phần tử sinh của nhóm con bậc q của
*
Zp )
d
˗ Chọn 1 ≤ d ≤q-1, tính e2= e1 mod p
˗ Public key (e1, e2, p, q), private key d
GV: Nguyễn Thị Hạnh
Digital Signature Standard (DSS)
˗ Tạo và Thẩm tra chữ ký
GV: Nguyễn Thị Hạnh
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng An toàn hệ thống thông tin - Chương 4: Chữ ký số (Digital Signatures) - Nguyễn Thị Hạnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_an_toan_he_thong_thong_tin_chuong_4_chu_ky_so_digi.pdf

