Digital signatures
Trang 1Khoa CNTT – ĐH Sư Phạm Tp HCM
Digital signatures
MÔN: CHỮ KÝ SỐ
GVHD: Lương Trần Hy Hiến
Trang 2Mục lục
CHƯƠNG 9:CHỮ KÝ KỸ THUẬT SỐ
1 Các thành phần của chữ ký số.
2 Chữ ký số.Mô hình chức năng trapdoor.
3 Xác định và chứng minh bảo mật cho chữ ký đề án.
4 Chữ ký xác suất.
5 Cụ thể bảo mật và thực tế dựa trên chữ ký RSA.
6 Ngưỡng chữ ký đề án.
Trang 42 Chữ ký số.Mô hình chức năng trapdoor
Diffie và Hellman [68] đề xuấtrằng với một hệ thống mật mã khóa công khai (G, E D) dựa trên chức năng mô hình trapdoor,người dùng A có thể đăng ký bất kỳ thông điệp M bằng cách phụ thêm như một chữ ký kỹ thuật số D (M) = (M) từ M trong đó f là chức năng công cộng của một trapdoor
mà mình biết các thông tin tương ứng với trapdoor Bất cứ ai có thể kiểm tra tính hợp lệ của chữ ký này sử dụng của một khóa công khai từ các thư mục công cộng, kể từ khi E (D (M)) =(M) (F
(M)) Cũng lưu ý rằng chữ ký này sẽ trở thành không hợp lệ nếu tin nhắn được thay đổi, do đó A được bảo vệ chống lại thay đổi sau khi đã ký tin nhắn, và người kiểm tra các chữ ký có thể chắc chắn rằng ta đã nhận được tin nhắn đầu tiên được chữ ký của A
Trang 53.Xác định và chứng minh bảo mật cho chữ ký đề án.
a.Các cuộc tấn công cơ bản chống lại chữ ký số:
-Key-Only Attack:Trong cuộc tấn công này đối thủ chỉ biết khóa công khai của người ký và
do đó chỉ có khả năng kiểm tra tính hợp lệ của chữ ký tin nhắn trao cho anh ta
-Known Signature Attack:Các đối thủ biết khóa công khai của người ký và đã nhìn thấy tin nhắn / chữ ký được chọn bởi người ký hợp pháp Trong thực tế là kẻ thù có thể làm được.-Chosen Message Attack:Các đối thủ được phép yêu cầu người ký phải ký một số thông báo của
sự lựa chọn của kẻ thù Sự lựa chọn của những tin nhắn này có thể phụ thuộc vào chữ ký thu được trước đó
Trang 6-Khóa bí mật:x sao cho y=g^x mod p.
-Ký:Chữ ký của tin nhắn m là một cặp (r,s) sao cho r khác 0,s khác p-1 và
g^m=[(y^r)*(r^x)] mod p.
-Kiểm tra: kiểm tra g^m=[(y^r)*(r^s)] mod p.
Trang 7Đề án 9.3.4 Rabin
Ý tưởng:
-Khóa công khai: n=pq
-Khóa bí mật: Các số nguyên tố p,q -ký:
-Kiểm tra: kiểm tra s^2= m mod n.
Trang 84.Chữ ký xác suất.
a.Hoán v claw-free trap-door.ị
Đ nh ngh a : 1 gia đìnhị ĩ
Đượ ọc g i là m t gia đình hoán v claw-free trap-door n u :ộ ị ế
-T n t i 1 thu t toán G sao cho G(1^k) cho k t qu đ u ra là 2 c p ồ ạ ậ ế ả ầ ặ n i mà ti ơ
là thông tin c a b y cho fi.ử ẫ
-T n t i thu t toán PPT cho ồ ạ ậ tính
-T n t i (thu t toán ngh ch đ o) I,có m t s ch c năng không đáng k VI,nh v y cho t t ồ ạ ậ ị ả ộ ố ứ ể ư ậ ấ
c k đ l n.ả ủ ớ
Trang 10c.Làm thế nào để đăng ký 1 tin nhắn.
Như trước đây, D là miền chung của các cặp miễn phí {f0, F1}, Và x được lựa chọn ngẫu nhiên trong D
Với x thuộc D,ký thông điệp đầu tiên với m^1
Và xác minh bằng cách:
Cho
Trang 11Rõ ràng fm là một hoán vị trên D và dễ dàng tính toán.ký thông điệp m^2 tiếp theo.Áp dụng hoán vị chữ ký theo thời gian
Và xác minh bằng cách.
Trang 12d Đề án chữ ký an toàn dựa trên hoán vị free-claw
Chọn 2 cặp móng miễn phí (f0,f1),(g0,g1),mà chúng ta biết :
Chọn x thuộc Df,chọn khóa công khai chứa Df,X,f0,f1,g0,g1 và để cho các khóa bí mật chứa :
Có chức năng nối và thiết lập lại H1=rỗng.Ký Mi,sao cho
1.Chọn Ri thuộc Dg
2.Đặt :
3.Đặt :
4.Thiết lập chữ ký :
Trang 14e.Đề án chữ ký dựa trên hoán vị trapdoor
1.Chọn 1 hoán vị f1 mà ta biết nghịch đảo,chọn:
Trong đó K(k) là một đa thức trong k thống nhất và độc lập,cho khóa công khai chứa f1, tất cả và
để cho khóa bí mật chứa f1^-1,cho H1=rỗng
Để ký thông điệp m^i=m1m2 mk:
2.Đặt
Là chữ kí m^i của fi,và
3.Chọn một chức năng mới để biết
Trang 165.Cụ thể bảo mật và thực tế dựa trên chữ ký RSA.
a.Chương trình chữ ký số:
Một chương trình chữ ký kỹ thuật số DS = (K, S, V) Bao gồm ba thuật toán, như sau:
-Thế hệ chính của thuật toán K là một thuật toán ngẫu nhiên đó trả về một cặp (pk, sk) của khóa, khóa công khai và khóa bí mật phù hợp, tương ứng, chúng tôi viết
-Các ký thu t toán S là m t (có th là ng u nhiên) thu t toán mà có sk khóa bí m t và m t tin ậ ộ ể ẫ ậ ậ ộ
nh n M đ tr l i th ho c ch ký , chúng tôi vi t:ắ ể ở ạ ẻ ặ ữ σ ế
Trang 17-Các thuật toán xác minh V là một thuật toán xác định cần có các khóa công khai pk, tin nhắn M,
và một chữ ký ứng cử viên σ cho M để trở lại một bit, chúng ta viết:
Trang 18b.Một khái niệm về bảo mật
- Chữ ký kỹ thuật số nhằm mục đích để cung cấp,đảm bảo tàn sản tương tự như chương trình xác thực thông điệp,chỉ là thay đổi các cấu trúc linh hoạt hơn.
- Theo đó, chúng ta có thể xây dựng trên công việc trước đây trong sự hiểu biết và ghim xuống một khái niệm về an ninh để xác thực thư, một cho chữ ký
kỹ thuật số khác chỉ rằng kẻ thù đã truy cập vào khóa công khai.
- Trong thực tế, các truy vấn tương ứng với thư tin nhắn có chữ ký của người gửi hợp pháp, và nó sẽ có ý nghĩa.
Trang 19c.Tạo khóa cho các hệ thống RSA.
Thuật toán K
Chọn ngẫu nhiên 2 số nguyên tố khác nhau p,q với độ dài k/2 bit
Return pk,sk.
Trang 20d.Chữ ký trapdoor
Chữ ký trapdoor đại diện cho cách trực tiếp nhất cố gắng xây dựng trên một wayness của RSA để đăng ký Tin rằng người ký được sở hữu khóa bí mật N, d, là người duy nhất có thể tính toán RSA dựa trên chức năng nghịc đảo của RSA Đối với bất cứ ai khác,chỉ biết
có khóa công khai N, d,thì nhiệm vụ tính toán là không khả thi Theo đó, người ký ký tin nhắn bằng cách thực hiện hoạt động này khó,đòi hỏi là thành viên của .
Nó có thể xác minh một chữ ký bằng cách thực hiện dễ dàng các hoạt động tính toán RSA trên và tuyên bố chủ quyền chữ ký và nhìn thấy nếu chúng ta lấy lại tin nhắn.
Trang 21e PSS0: Một cải tiến bảo mật
Chương trình được gọi là PSS0, cho "chương trình chữ ký xác suất, phiên bản 0" để nhấn mạnh một khía cạnh quan trọng của nó,nó là ngẫu nhiên Cụ thể: các thuật toán ký chọn một giá trị ngẫu nhiên mới mỗi khi nó được triệu gọi và sử dụng để tính toán chữ ký.Nó làm cho việc sử dụng 1 chức năng băm công cộng được mô hình hóa như một oracle ngẫu nhiên,ngoài ra nó còn có 1 tham số ,đó
là chiều dài của giá trị ngẫu nhiên được chọn bởi thuật toán ký.
Trang 22f Chữ ký Đề án xác suất - PSS
-Chương trình chữ ký PSS[k0,k1]=(K,SignPSS,VerifiPSS) với tham số k0 và k1,nó là số nằm giữa 1 và k với k0+k1<=k-1.Để cụ thể người ta giả sử k=1024,k0=k1=128.Đề án có khóa RSA để tạo thuật toán K và thuật toán xác minh sử dụng 2 chức năng băm.
-Hiệu quả của chương trình như tuyên bố chủ quyền.
-PSS và PSS0 có khá nhiều điểm giống nhau về cơ bản là chặt chẽ và chặt chẽ hơn nhiều
so với chúng ta đã thấy ở chương trình FDH.Tuy nhiên nó đã đạt được mà không tăng kích thước chữ ký.
Trang 23g.Ký với thông điệp phục hồi-PSS-R.
-Trong một chương trình tiêu chuẩn chữ ký, người ký tin nhắn M rõ ràng,gắn với chữ ký x.Cung cấp trong một chương trình phục hồi tin nhắn, chỉ là “cải thiện chữ ký"τ được truyền với mục đích là để tiết kiệm băng thông cho một tin nhắn ký: chúng tôi muốn chiều dài của chữ ký cải thiện phải nhỏ hơn | M | + | x
| Các kiểm định phục hồi các tin nhắn M từ chữ ký và tăng cường kiểm tra tính xác thực cùng một lúc.
-Sự an toàn của PSS-R cũng giống như PSS
Trang 24h.Làm thế nào để thực hiện chức năng băm.
Trong PSS chúng ta cần một băm cụ thể chức năng h với chiều dài đầu ra với một số k1 thông thường Chúng tôi sẽ xây dựng h từ một số chức năng băm mật mã H = H: chẳng hạn như MD5 hoặc H = SHA-1 Cách để làm điều này đã được thảo luận trước trong [15, 23] Cho đầy đủ chúng tôi tóm tắt một số những khả năng nhanh chóng.Đơn giản nhất là để xác định h (x) là tiền
tố phù hợp độ dài của
H (const <0> X) H (const <1> X) H (const <2> X) · · ·
Truyền cho h một hằng số, để thực hiện một chức năng băm, g, chỉ cần chọn một khác nhau không đổi
Trang 256.Ngưỡng đề án chữ ký.
a Thế hệ khóa cho ngưỡng đề án.
-Nhiệm vụ tạo ra một chìa khóa cho một chương trình ngưỡng chữ ký là phức tạp hơn cho chúng ta khi là người ký đơn.Thật vậy, chúng ta phải tạo ra một khóa công khai pk phù hợp với khóa bí mật
là sk chia sẻ trong một số hình thức
- Đối với trường hợp của các chương trình chữ ký rời rạc dựa trên đăng nhập, nhiệm vụ này đã thành công lược đồ ngưỡng chữ ký mạnh mẽ cho El Gamal, Schnorr và lược đồ chữ ký DSS , tất cả đều sử dụng kết quả tiềm ẩn của Feldman và Pedersen
- Tuy nhiên, trong một số trường hợp, các giải pháp đại lý là tốt nhất chúng ta có thể làm
Trang 26b.Chữ ký nghị định thư.
-Cho đầu vào thông điệp thông điệp M,các máy chủ sẽ tham gia vào một số hình thức giao tiếp sẽ cho phép họ tính toán một chữ ký σ cho M mà không tiết lộ khóa bí mật.Giao thức như vậy sẽ không bị rò rỉ.
Đối với chương trình El Gamal giống như các chương trình chữ ký ngưỡng mạnh mẽ.
RSA thậm chí còn ít tuân theo việc xây dựng các đề án mạnh mẽ,một phần nào giải pháp sẽ không hiệu quả.
Trang 27Mô hình hash-then-invert
chương trình DS = (K, S, V) có các thu t toán t o khóa trên, xác minh các thu t toán b ng ậ ạ ậ ằsau đây:
Trang 28 Bây giờ ta tấn công thứ hai, chúng tôi trình bày ở trên, mà dựa vào
multiplicativity của hàm RSA Cho cuộc tấn công này làm việc theo nghịch chương trình, nó sẽ có để có thể đúng
Trang 29băm-then-Mô hình hash-then-invert
cho m t s ng u nhiên ộ ố ẫ
Trang 30Các Ch ươ ng trình PKCS # 1
RSA công ty là m t trong nh ng ngu n chính c a ph n m m các tiêu ộ ữ ồ ủ ầ ề chu n v m t mã RSA d a trên.RSA Labs (nay là m t ph n c a T ng ẩ ề ậ ự ộ ầ ủ ổ công ty an ninh Dynamics) đã t o ra m t b tiêu chu n đ ạ ộ ộ ẩ ượ ọ c g i là PKCS (h Tiêu chu n m t mã key). PKCS # 1 là v ch ký (và mã hóa) ồ ẩ ậ ề ữ các ch ươ ng trình d a trên RSA ch c năng. Tiêu chu n này là s d ng ự ứ ẩ ử ụ
r ng rãi, và nó phù h p s đ ộ ợ ẽ ượ c minh h a đ xem nh ng gì h làm ọ ể ữ ọ
Trang 31Các Ch ươ ng trình PKCS # 1
Tiêu chuẩn này sử dụng các mô hình băm-then-nghịch, instantiating Hash
thông qua một chức năng đặc biệt băm PKCS-Hash.Trước khi xác định nó chúng ta cần phải chú ý đến một số vấn đề thực hiện Vì vậy, đến nay chúng tôi đã nghĩ đến việc băm một yếu tố nhóm, cụ thể là một điểm trong tập
Trang 33Mô hình hash-then-invert
Đ u tiên, các s nguyên ph i t ầ ố ả ươ ng đ i chính đ t n t i, th hai nó ố ể ồ ạ ứ
ph i đ ả ượ c nhi u nh t là N th hai có th đ ề ấ ứ ể ượ c đ m b o n u bit cao ả ả ế theo đ n đ t hàng c a k-bit chu i y là 0, có ngh a là m t s nguyên y là ơ ặ ủ ỗ ĩ ộ ố nhi u nh t là ề ấ
Trang 34Các Ch ươ ng trình PKCS # 1
đ u tiên chúng tôi ch đ n gi n là trong s nguyênph m vi {1,. . . , N} ầ ỉ ơ ả ố ạ
không ph i là nguyên t cùng đ n N Trên th c t , các ph n nh c a s ả ố ế ự ế ầ ỏ ủ ố nguyên nh v y trong {1,. . . , N} là ư ậ
Trang 35Mô hình hash-then-invert
PKCS-hash (M) = 0x 00 01 FF FF · · · FF FF 00 h (M).