Bài giảng Nhập môn an toàn thông tin - Chương 4: Chữ ký số trình bày các nội dung: Khái niệm chữ ký số, 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ố. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1"i
Trang 2Noi dung chinh
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ố
eS
=
(Cryptography & Network Security McGraw-
Hill, Inc., 2007., Chapter 13)
Trang 3
Mục tiêu
‹ Khái niệm chữ ký sô (Digital Signature)
- _ Định nghĩa và sự can 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 thong diép (Message authentication) * Toan ven théng diép (Message Interity)
- Chống từ chối (Nonrepudiaton)
Trang 4Muc tiéu
‹ Nêu các tân cong trén Digital Signature
Trang 5CHUNG THU’C THONG DIEP
Chứng thực thông điệp là một
quá trình kiểm tra tính hợp lệ của
JT ee 7, các giao dịch được thực hiện
Trang 6CHUNG THU’C THONG DIEP Xét tình huống sau: Alice và Bob quyết định dùng mã Vigenere đề trao đồi dữ liệu với khóa bí mat Kas Khi Alice giti cho Bob một ban ma C, Bob ding Kas dé giai ma cho ra ban ro
Trudy muốn mạo danh Alice nên tìm một bản mã Crvà gửi Crcho Bob
Bob nghĩ răng Crlà từ Alice nên giải mã bằng Kasvà có được ban 16 Pr
Vân đề ở đây là làm sao Bob biết được Prlà của Trudy chứ không phải của Alice?
Vi Trudy không biết Kasnên Trudy không thé chọn Prtrước rôi mới có Cr
Do đó Trudy phải chọn ngâu nhiên một Crnào đó Bob giải mã có được Pr là „tzrwiydpu'” Tuy nhiên Pr nay không phải là văn bản ban đầu
Có thê thay rang việc Trudy chon duoc mot Crnao do, sao cho sau khi Bob
giải mã cho ra Prlà văn bản có nghĩa, thì có xác suất rất bé Trong trường
Trang 8Sự cân thiết của một hệ thông xác thực điện tử dùng CA Tình trạng/thách thức Ế Các ứng dụng truyền
thống dựa trên giấy tờ
đang chiếm rất nhiêu thời gian, tiền bạc của doanh nghiệp *« Xác thực ứng dụng: dùng user name và password, chưa đủ mạnh Giao dịch truyền đi:Không gắn với định danh (ID) Điều này có
thể gây khó khăn trong Việc xác định trách nhiệm nếu xảy ra sự có _ err] elute xac thực điện tử dua trên công nghệ BH Định hướng/yêu câu v¥ Nang cao bao mat cua các ứng dụng điện tử Ký sô lên thông điệp đảm bảo tính chông từ chối ở mức ứng dụng Đưa ra cơ chế lưu lại
Trang 9Khá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
¢ Message Authentication chi bao vé théng diép trao đổi giữa hai bên tham gia không bị hiệu chỉnh hay gia mao
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 điệp mà
còn bảo vệ môi bên khỏi bên kia
Trang 10
Khái niệm vê chữ ký số ‹ _ Chữ ký số là một dạng chữ ký điện tử ‹ Khái niệm về Digital Signature được để xuất bởi Diffie & Hellman (19/6)
‹ồ 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 dam van đề toàn vẹn dữ liệu, và chống sự
chôi bỏ trách nhiệm khi đã ký
Trang 11Khái niệm vê chữ ký số
‹ _ Chữ ký số dựa trên công nghệ mã khóa cơng khai °Ư Mã khóa công khai - _ Một cặp hai khóa - Bất cứ khóa nào cũng có thể dùng để mã/mở mã ‹- _ Các khóa rất khó suy được từ nhau ¢ Su dung - Str dung tổ hợp các khóa Cách quản lý khóa
- _ Khóa công khai: được công bồ rộng rai
- _ Khoá bí mật: được giữ kín, dùng để ký, mã hóa
Trang 12VI DU CHU KY SO TRONG THU TUC HQDT
ray s—“i—OOS—s—s—sssisisisiC mmm mmm mmm mmm mmm mmm mmm mmm mmm mm em me eee mm eee em ree er errr rr sk Doanh nghiep Hai quan Doanh nghiép nhap to khai Ký điện tử a Kiểm tra chữ ký điện tử Kiểm tra hiệu lực chữ ký số của DN ‘
In to khai va lam cae quy trink
trong thông quan điện tử Lưu tờ khai và xử lý theo quy trình nghiệp vụ
Trang 13
Ví dụ thực hiện chữ ký số
trong doanh nghiệp
# Doanh nghiệp A ký số và gửi doanh nghiệp B
+ A dùng khóa bí mật để ký (¡.e.mã hóa rút gọn của) thông điệp
Trang 14Đặc điểm chữ ký số
1 Đảm bảo tính xác thực
‹ F Chứng minh tính hợp pháp của người gửi
‹Ổ Chứng miinh 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
Trang 15
Z ^^ Đặc điểm chữ ký số Tính bí mật của Khóa bí mật Khóa bí mật Chỉ có người chủ mới biết
Tính sẵn sàng Có thể truy cập thông qua phương tiện thông dụng vào bất cứ |
Khóa công khai truy cập của thời điệm: Chứa trong một thư mục công cộng
khóa công khai Đảm bảo tính chính xác và không giả mạo Công bó khóa công khai Được câp phát bởi tô chức có thâm quyên Chứng thư số Tương ứng tính Khóa có thê có độ dài (thông dụng là) 512, 1024, 2048, 4096 Độ dài khóa i an toàn của khóa Khoa càng dài mã càng chậm
Với công nghệ đảm _ Được cấp phát theo quy trình an toàn với các thông số kỹ
Tính pháp lý bảo sẽ tương thuật đảm bảo
đương chữ ký tay | Được lưu trữ an toàn
: Ngày càng dễ Được lưu trong các thiệt bị cá nhân như USB-token, _
Trang 16
Digital Signature Process
Tao va Kiém tra chữ ký sô Tao chữ ký số Xác nhân chữ ký số Thông điệp Thông điệp Hàm băm Hàm băm Thông điệp Thông điệp rút gon rút gọn
: Khóa công khai :
Khóa bí mật Thuật toán ng Thuật toán Hơn lê /
——| tạo chữ ký —> ——*| Xác nhận pre lê SỐ chữ ký sô la a ied
Trang 17
Digital Signature Process
Tạo và Kiểm tra chữ ký số Bén gui Bén nhan < %09056606000099009040900660660006960900606660690006669609006060600909660620906666006066 > < đ60990606609969660906660699906666606096069009609906060060069060069000660690606066096960606066666â642 > M „| M „| M DS Tinh Hash |-* He | [am mm: a 4 So sanh Kra Ạ Kua Bộ sinh khóa
DS: Data signature — chit ky dién tu
‹Ổ Trong mô hình này, Alice sau khi tính giá tri hash HA cho thông diép M thi 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
gui kem 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 gia tri hash HA cua Alice
« Vi Trudy khéng cé KRA nén khong thé stra duoc HA
« Ngoai ra, vi Alice là người duy nhất có KEA, 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 ban tin 1-17
Trang 18SỬ DỤNG CHỮ KÝ ĐIỆN TỬ WV
—
e Ban dung khoa cá nhân để ký Sau đó, chỉ cung cấp khố cơng cộng cho người cần xác nhận chữ ký đó
(chẳng hạn như ngân hàng, nơi bạn vay tiền)
e Khoa ca nhan và công cộng có quan hệ tương ứng với nhau, nhưng chỉ trên phương diện toán học, vì
thế mã khoá công cộng có thể xác nhận được chữ
ký đó mà không cần phải biết khố cá nhân
« Trên thực tế, không thể dựa vào khố cơng cộng mà
Trang 19
THUAT TOAN CKDT DSA & CHUAN CKDT DS
WV
e Thuat toan CKDT DSA la thuat toan duoc co nghị trong chuẩn chữ ky dién tt DSS (Digital
Signature Standard) cua NIST
e NO cung cap mot trinh tu dé tao va xác nhận
CKDT
e DSA sw dung 1 cap khóa công khai - khóa riêng
Trang 20
Digital Signature Process
Trang 21THUAT TOAN CKDT DSA & CHUAN CKDT DS 1,Tao khoa ov Chọn p là số nguyên tố L bit, sao cho 2L-1<p<2L, 512 <L< 1024,L chia hết cho 64 Chọn q là một số nguyên tố 160 bít và là ước số của p-1 với 2159<q<2160 Chọn h, với 1 <h <p- 1 sao cho ø = h” mod p > 1 (z= (p-1) / q.)
Chọn x ngẫu nhiên, thoả mãn 0 < x< q Tinh gia tri y = g* mod p
Trang 22Thuật giải DSA — Chuẩn chữ ky so b 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
Tinh r = (g* mod p) mod q
Tinh s = (k!(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 $)
Trang 23Thuật giải DSA — Chuẩn chữ ky so 3, Kiểm tra chữ ký Loại bỏ chữ ký nếu hoặc 0< r <q hoặc 0< s <q khơng thỏa mãn ¢ Tínhw= (s)! mod q ¢ Tinh ul = (SHA-1(m)*w) mod q ¢ Tinh u2 = (r*w) mod q © Tinh v= ((g"*y"2) mod p) mod q Chữ ký là có hiệu lực nếu v=r
Nếu v != r văn bản có thể đã được sửa đổi trên đường
truyền hoặc khóa cá nhân mã hóa văn bản không khớp với khóa công khai mà người nhận đang giữ (người gửi
Trang 25Need for Keys
+ Mot digtal signature can hé théng public-key Nguoi
(signer) ky bang private key cua chính mình; người kiêm tra (verifier) kiêm tra băng public key của signer
Alice Bob
lẠt ‹ N f2I/L£ Pt 3 M: Message 1z 4104619 v4.4
Alice's | S: Signature 7 Alice’s
Trang 26signing 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 Alice Bob — v M: Message etre tment e tse tesco se aerate
Alice's | S: Signature (Alice's
M pri 3 key ‹ ? public key M 3
| Hash > Si ash ¡| en + ! : + Le} Verify ny
~-heeeneeeneeneeaene eee eee + Se Hee SS @ Í M
Trang 28
Message Authentication
- 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
Trang 29Message Integrity
‹ Chung ta không thể có được cùng chữ ký nêu thông điệp đã được hiệu chỉnh
Trang 30Nonrepudiation —Khéng thé
choi cal
e Non-repudiation tuc la kha nang lam sang to duoc trường hợp có một bên chối cãi rằng đã không tạo /gửi đi một thông báo giao dịch nào đẩy cho một kẻ thứ ba
làm giả hoặc bên nhận bịa ra)
se Với chữ ký điện tử rõ ràng chỉ có Alice mới biết zA để
tạo ra chữ ký và cô ta phải hoàn toàn chịu trách nhiệm
với nó Do đó ta nói hệ DSA cung cấp nonrepudiation
Trang 31Nonrepudiation
¢ Nonrepudiation cé thé được cung cấp bang cach
dung mot trusted Center
Alice
M Alice’s
' ! M: M ' Public key of g M '
' privatekey | ch TT ng ' trusted ca T
k SA: Alice”s signature '
Sy: Signature of trusted center |
Trusted center
Alice’s M Private key of!
Trang 32Confidentiality : Thêm confidentiality vào cơ chế digital signature M: Message
Alice’s ' S: Signature | Alice’s
private key ' public key
Bob’s ' ! Bob's f
public key ! | private key
Í = ĂẰ mm mm nee ewe ewe eee eee eee ewww ew ew ŸÝŸƑ” CC eee eee ee ee ee he ee ee oe od
Encrypted (M, S)
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
Trang 33Public Notary (công chứng)
se 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ệ thng
sđâ Ngi trng ti 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
Trang 34Proof of delivery (xac nhan giao hang - hoa don)
s© 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
se Đ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
Trang 38Và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
Trang 39RSA Digital Signature Scheme
- Y tuéng mat ma RSA được dùng cho việc ký và kiểm
tra chữ ký, nó được gọi là cơ ché chi ky s6 RSA
°ồ Người gửi dùng private key của chính minh dé ky
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
Trang 40
RSA Digital Signature Scheme
- Ý tưởng tổng quát của cơ chế chữ ký RSA
M: Message (e, ny: Alice’s public key
Trang 41RSA Digital Signature Scheme
Phat sinh khoa (Key Generation)
¢ Phat sinh khéa trong co ché chi ky RSA la hoan toan gidng nhu phat sinh knéda RSA
¢ Trong do d la bi mat, e va n la cong khai
Trang 42RSA Digital Signature Scheme
1) Tao cap khóa (bí mat, 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 = “n và định nghĩa:
Tính ¿(n) = (p-1).(q-1)
Chọn khóa công khai b < $¿(n) ,nguyên tố cùng nhau với $(n)
Khóa bí mật a là phần tử nghịch đảo của b theo
mod 9(n): a*b=1 (mod o(n)
Tập cặp khóa (bí mật, công khai) K = {(a, b)/ a, b € Zn, a*b=1
(mod ¿(n)))
2) Ký số Chữ ký trên x c P là y = sig, (x) = x2 (mod n), yeA
3) Kiểm tra chữ ký: ver,(x, y) = TRUE <> x=y? (mod n) với x, y