Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
0,9 MB
Nội dung
Chữ ký số sử dụng giải thuật RSA Học viện cơng nghệ bưu viễn thơng Khoa cơng nghệ thơng tin I - - BÁO CÁO BÀI TẬP LỚN Mơn: An Tồn Bảo Mật Hệ Thống Thơng Tin Đề tài : Tìm hiểu giải thuật tạo chữ ký số sử dụng RSA Giáo viên hướng dẫn: TS Hồng Xn Dậu Nhóm sinh viên: 1.Vũ Thị La 2.Bùi Thị Khánh Linh 3.Trần Xuân Linh 4.Nguyễn Khánh Ly Nguyễn Đức Mạnh Lớp: Hà Nội, 30/ 09/ 2015 ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xn Dậu Page Chữ ký số sử dụng giải thuật RSA Mục lục: I II Giới thiệu chữ ký số Nội dung Kiến trúc tổng quát chữ ký số chữ ký số sử dụng giải thuật RSA Giải thuật cài đặt giải thuật Các điểm yếu chữ ký số RSA Các dạng công Ứng dụng chữ ký số RSA Kết luận Tài liệu tham khảo III IV I Giới thiệu Một số khái niệm: ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xn Dậu Page Chữ ký số sử dụng giải thuật RSA o Chữ kí số (Digital Signature ) chuỗi liệu liên kết với thông điệp (message) thực thể tạo thông điệp o Giải thuật tạo chữ ký số (Digital Signature generation algorithm) phương pháp sinh chữ ký số o Giải thuật kiểm tra chữ ký số (Digital Signature verification algorithm ) phương pháp xác minh tính xác thực chữ ký số, có nghĩa thực tạo bên định o Một hệ chữ ký số (Figital Signature Scheme) bao gồm giải thuật tạo chữ số giải thuật kiểm tra chữ kỹ số o Quá trình tạo chữ ký số (Digital Signature signing process) bao gồm: Giải thuật tạo chữ ký số Phương pháp chuyển liệu thơng điệp thành dạng ký o Quá trình kiểm tra chữ ký số (Digital signature verification process) bao gồm: Giải thuật kiểm tra chữ ký số, Phương pháp khôi phục liệu từ thông điệp o Hàm băm (Hash Funtion) làm hàm tốn học chuyển đổi thơng điệp (message) có độ dài (hữu hạn) thành dãy bít có độ dài cố định (tùy thuộc vào thuật tốn băm) Dãy bít gọi thơng điệp rút gọn.(message disgest) hay giá trị băm (hash value), đại diện cho thông điệp ban đầu Hàm băm SHA-1: Thuật tốn SHA-1 nhận thơng điệp đầu vào có chiều dài k chuỗi đại diện thông điệp MD2 So sánh MD1 MD2: o Nếu MD1 =MD2 -> chữ ký kiểm tra thành cơng Thơng điệp đảm bảo tính tồn vẹn thực xuất phát từ người gửi (do khóa cơng khai chứng thực) o Nếu MD1 MD2 -> chữ ký khơng hợp lệ Thơng điệp bị sửa đổi không thực xuất phát từ người gửi 1.2 Kiến trúc chữ ký số RSA Cụ thể hơn: ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xn Dậu Page Chữ ký số sử dụng giải thuật RSA a Q trình ký (bên gửi) ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hoàng Xuân Dậu Page Chữ ký số sử dụng giải thuật RSA Tính tốn chuỗi đại diện (message digest/ hash value) thông điệp sử dụng giải thuật băm (Hashing algorithm) SHA-1 Chuỗi đại diện ký sử dụng khóa riêng (Priavte key) người gửi giải thuật tạo chữ ký (Signature/ Encryption algorithm) RSA Kết chữ ký số (Digital signature) thông điệp hay cịn gọi chuỗi đại diện mã hóa giải thuật RSA (Encryted message digest) Thông điệp ban đầu (message) ghép với chữ ký số( Digital signature) tạo thành thông điệp ký (Signed message) Thông điệp ký (Signed message) gửi cho người nhận b Quá trình kiểm tra chữ ký (bên nhận) Tách chữ ký số RSA thông điệp gốc khỏi thông điệp ký để xử lý riêng; Tính tốn chuỗi đại diện MD1 (message digest) thông điệp gốc sử dụng giải thuật băm (là giải thuật sử dụng trình ký SHA-1) Sử dụng khóa cơng khai (Public key) người gửi để giải mã chữ ký số RSA-> chuỗi đại diện thông điệp MD2 So sánh MD1 MD2: o Nếu MD1 =MD2 -> chữ ký kiểm tra thành cơng Thơng điệp đảm bảo tính tồn vẹn thực xuất phát từ người gửi (do khóa cơng khai chứng thực) o Nếu MD1 MD2 -> chữ ký khơng hợp lệ Thơng điệp bị sửa đổi không thực xuất phát từ người gửi Giải thuật cài đặt giải thuật 2.1 Giải thuật RSA dùng việc tạo khóa, mã hóa, giải mã Sơ đồ giải thuật : ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hoàng Xuân Dậu Page Chữ ký số sử dụng giải thuật RSA Thuật tốn RSA có hai Khóa: - Khóa cơng khai (Public key): cơng bố rộng rãi cho người dùng để mã hóa - Khóa bí mật (Private key): Những thơng tin mã hóa khóa cơng khai giải mã khóa bí mật tương ứng a Tạo khóa ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xn Dậu Page Chữ ký số sử dụng giải thuật RSA b Mã hóa giải mã 2.2 Cài đặt giải thuật ngôn ngữ JAVA Sử dụng BigInteger gói java.math.* cung cấp hầu hết hàm dựng hàm số học cho phép thao tác thuận lợi với số ngun lớn ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xuân Dậu Page 10 Chữ ký số sử dụng giải thuật RSA Một số hàm: o Hàm dựng BigInteger (int bitLength, int certainty, Random rnd): sinh số nguyên tố ngẫu nhiên với số bit cho trước; o Hàm BigInteger add(BigInteger val): cộng số nguyên lớn; o Hàm BigInteger subtract(BigInteger val): Trừ số nguyên lớn; o Hàm BigInteger multiply(BigInteger val): nhân số nguyên lớn; o Hàm gcd(BigInteger val): Tìm USCLN số lớn o Hàm mod(BigInteger m): Tính modulo (phần dư) phép chia nguyên; o Hàm BigInteger modInverse(BigInteger m): tính modulo nghịch đảo (this-1mod m); o Hàm BigInteger modPow(BigInteger exponent, BigInteger m): Tính (thisexponent mod m) Cụ thể code RSA Tạo khóa: Mã hóa: (code RSA , chữ ký số d bí mật mã hóa) ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hoàng Xuân Dậu Page 11 Chữ ký số sử dụng giải thuật RSA Giải mã: (code RSA , cịn chữ ký số e cơng khai mã hóa) Giao diện DEMO kết chữ ký số sử dụng RSA: ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hoàng Xuân Dậu Page 12 Chữ ký số sử dụng giải thuật RSA ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xn Dậu Page 13 Chữ ký số sử dụng giải thuật RSA Các điểm yếu chữ ký số sử dụng giải thuật RSA 3.1 Chữ ký số nói chung Sự xuất chữ ký số chức tiền định nó, đặc biệt vai trị cơng cụ việc xác định tính nguyên gốc, xác định tác giả, bảo đảm tính tồn vẹn tài liệu số, đóng vai trị vơ quan trọng việc xác định địa vị pháp lý tài liệu số giao dịch số Việc sử dụng chữ ký số phần lớn trường hợp sở khẳng định giá trị pháp lý văn điện tử tương đương với tài liệu giấy Hiện nay, chữ ký số phương tiện để xác nhận giá trị pháp lý tài liệu điện tử Như vậy, với xuất chữ ký số, vấn đề giá trị pháp lý tài liệu điện tử, coi giải Việc sử dụng chữ ký số giao dịch có ưu điểm bất cập định Dưới hạn chế chữ ký số: - Sự lệ thuộc vào máy móc chương trình phần mềm: chữ ký số chương trình phần mềm máy tính Để kiểm tra tính xác thực chữ ký cần có hệ thống máy tính phần mềm tương thích Đây hạn chế chung sử dụng văn điện tử chữ ký số - Tính bảo mật khơng tuyệt đối: Nếu chữ ký tay thực giấy, ký trực tiếp kèm với vật mang tin, chữ ký tay chuyển giao cho người khác, chữ ký số khơng Chữ ký số mật mã cấp cho người sử dụng, phần mềm máy tính khơng phụ thuộc vào vật mang tin Chính vậy, trở ngại lớn sử dụng chữ ký số khả tách biệt khỏi chủ nhân chữ ký Nói cách khác, chủ nhân chữ ký số người có mật mã chữ ký Tồn số nhóm đối tượng có mật mã, là: phận cung cấp phần mềm; phận cài đặt phần mềm, người sử dụng máy tính có cài đặt phần mềm Ngồi ra, mật mã bị đánh cắp Cũng có thể, chủ nhân chữ ký số chuyển giao cho người khác mật mã Như vậy, tính bảo mật chữ ký số tuyệt đối - Vấn đề gốc, chính: Nếu tài liệu giấy, chữ ký ký lần có (được coi gốc) Bản gốc ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xuân Dậu Page 14 Chữ ký số sử dụng giải thuật RSA ký chữ ký lúc hai chỗ khác Có thể tin tưởng rằng, gốc khơng thể có thứ hai giống hệt Nhưng với văn điện tử ký chữ ký số, người copy lại copy từ copy từ copy khơng có khác biệt so với ký Đây thách thức công tác văn hành Khái niệm gốc, văn hành phải xem xét lại văn điện tử - Sự có thời hạn chữ ký điện tử Chữ ký điện tử chương trình phần mềm cấp có thời hạn cho người sử dụng Về lý thuyết, văn có hiệu lực pháp lý ký thời hạn sử dụng chữ ký Tuy nhiên, thực tế hiệu lực pháp lý văn hồn tồn bị nghi ngờ chữ ký số hết thời hạn sử dụng Đây hạn chế thách thức lớn việc sử dụng chữ ký số 3.2 Chữ ký số sử dụng RSA 3.2.1 Hiệu suất thực thuật toán RSA Tốc độ thực hệ RSA điểm yếu so với hệ mật mã khóa đối xứng Theo ước tính, thực mã hóa giải mã hệ mật mã RSA chậm 100 lần so với hệ mã khóa đối xứng DES (Khi thực phần mềm) Và chậm 1000 lần so với DES (Khi thực phần cứng) 3.2.2 Chi phí tốc độ thực thuật tốn RSA Chi phí Để thực thuật tốn RSA phần lớn tốn chi phí thực phép tính : Tạo khóa, mã hóa, giải mã Q trình mã hóa, giải mã tương với chi phí thực phép tính lũy thừa module n Để đảm bảo cho khóa bí mật an tồn thường chọn mũ cơng khai e nhỏ nhiều so với số mũ bí mật d, chi phí thời gian để thực mã hóa liệu nhỏ nhiều so với thời gian giải mã ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xuân Dậu Page 15 Chữ ký số sử dụng giải thuật RSA 2.Tốc độ hệ RSA Tốc độ RSA điểm yếu RSA so với hệ mã đối xứng, so với hệ mã DSA RSA chậm từ 100 đến 1000 lần, RSA khơng dùng để mã hóa khối lượng liệu lớn mà thường dùng để mã hóa liệu nhỏ Các dạng công 4.1 Tấn công lặp Simons Norris hệ thống RSA bị cơng sử dụng cơng lặp liên tiếp Đó kẻ cơng biết khóa cơng khai (e, n) mã C tính chuỗi mã sau: C1 = Ce (mod n) C2 = C1e (mod n) ………………… e 5.Ci = Ci-1 (mod n) Nếu có phần tử Cj chuỗi iC1, C2, …, C , … cho Cj = C esẽ tìm M = Cj-1 vì: Cj = C j-1 (mod n) C = Me (mod n) 4.2 Kiểu công module n dùng chung Simons Norris hệ thống RSA bị cơng sử dụng module n dùng chung, thông điệp M mã hố hai khố cơng khai e1 e từ hai thành viên hệ thống được: C1 = M e1 (mod n) C2 = M e2 (mod n) Sau người cơng dùng thuật tốn Euclide mở rộng: e1*a +e2*b = cho gcd(e1, e2 ) = M khơi phục lại sau: M = C a C2 b mod n 4.3 Tấn cơng khố cơng khai e nhỏ Hastad đưa kiểu cơng khố công khai e nhỏ (e =3) hệ mã công khai RSA sau: Giả sử để gửi thông điệp M đến người dùng P1, P2 …,Pk với khoá cơng khai (ei , ni) A mã hố M khố cơng khai (ei , ni) gửi mã Ci đến người dùng Pi, biết M < n với i = 1, 2,…, n Ta nghe trộm kết nối A thu thập k ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hồng Xuân Dậu Page 16 Chữ ký số sử dụng giải thuật RSA mã Ci Giả sử cáci khố cơng khai ei = khơi phục M k ≥ Thực vậy, có C1, C2, C3 với C1= M3 mod ni; C2= M3 mod n2; C3= M3 mod n3 gcd(ni, nj) = 1, i ≠ j Áp dụng định lý số dư Trung Hoa với C1,C2,C3 tìm được: C’ thuộc Zn1n2n3 thỏa C’ = M3 mod n1n2n3 -> M3 số nguyên Vậy M= 5.Ứng dụng chữ ký số sử dụng giải thuật RSA -Sử dụng việc đảm bảo vẹn toàn liệu: Chữ ký, công văn, file, tệp tin người gửi qua môi trường Internet cá nhân , quan tổ chức … III Kết luận Bài báo cáo giới thiệu kiến trúc, cài đặt giải thuật, điểm yếu, dạng công chữ ký số sử dụng giải thuật RSA IV.Tài liệu tham khảo 1.Giáo trình An Tồn Bảo Mật Hệ Thống Thơng Tin_TS Hồng Xn Dậu_HVCNBCVT.(Chương 4: Các kỹ thuật mã hóa thơng tin) 2.http://vi.wikipedia.org/wiki/RSA_(m%C3%A3_h%C3%B3a) http://en.wikipedia.org/wiki/RSA 4.http://vi.wikipedia.org/wiki/Ch%E1%BB%AF_k%C3%BD_s %E1%BB%91 http://en.wikipedia.org/wiki/Digital_signature 6.http://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html http://vi.wikipedia.org/wiki/SHA 8.http://www.java2s.com/Tutorial/Java/0490 Security/UseSHA1.htm https://nguyendangkhiemit.wordpress.com/2014/10/19/chu-ky-sosu-dung-giai-thuat-rsa/ ATBMHTTT-D12PM-HT-01- Nhóm - GVHD: TS_Hoàng Xuân Dậu Page 17