Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
1,3 MB
Nội dung
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ──────── * ─────── BÁO CÁO MƠN: Project I-Bộ mơn Khoa học máy tính Đề tài: Ứng dụng giải pháp chữ ký điện tử trao đổi thông tin phương pháp kết hợp băm MD5 mã hóa khóa cơng khai RSA Sinh viên thực hiện: Phùng Ngọc Duy Mã số sv: 20101256 Email: tonybka@gmail.com Giáo viên hướng dẫn: TS Trần Vĩnh Đức Hà Nội, tháng 11 năm 2012 Digital Signature – RSA & MD5 Mục lục Chương I Tổng quan Lý chọn đề tài Mục đích nghiên cứu Nhiệm vụ nghiên cứu Phương pháp nghiên cứu Chương II.Nội dung An tồn thơng tin,chứng thực thơng tin chữ kí điện tử Mã hóa liệu giải mã a Tổng quan mã hóa liệu b Mã hóa đối xứng c Mã hóa bất đối xứng d Hàm băm e Mã hóa RSA chuẩn bị toán học cần thiết f Chứng nhận số(Digital certificate) tổ chức chứng nhận số(Certificate Authority) Chữ kí điện tử a Tổng quan chữ kí điện tử b Kết hợp hàm băm vào chữ kí điện tử c Sử dụng chữ kí điện tử Chương III Cài đặt Cài đặt chương trình tạo chữ kí điện tử với kết hợp RSA MD5 a Môi trường cơng cụ cài đặt b Tích hợp thư viện Crypto++ vào mơi trường lập trình c Mục đích hướng tới Kết qủa đạt Hướng phát triển Digital Signature – RSA & MD5 Chương I Tổng quan Lý chọn đề tài Ngày cơng nghệ thơng tin ngày có vai trị quan trọng thành phần xã hội kinh tế, trị , quân sự… Với chức thiếu ứng dụng manh mẽ truyền thông Rất nhiều thông tin liên quan đến công việc ngày di máy tính quản lý trao đổi với qua mạng internet Vấn đề nảy sinh làm để chứng thực xác nguồn tin thơng tin nhận có phải người gửi thơng tin nhận bị thay đổi thay chưa? Khi thông tin gửi từ người A tới B bị thay đổi hacker virus sau nhận thơng tin , người B khơng có phương pháp để kiểm tra nội dung thơng tin có phải người A gửi hay khơng khơng đảm bảo tính tồn vẹn thơng tin Vấn đề nêu đưa tới giải pháp “Sử dụng chữ ký điện tử trao đổi thông tin” để nâng cao khả bảo mật thông tin truyền tải thông qua internet Mục đích nghiên cứu Tìm hiểu lý thuyết chứng thực thông tin, chữ ký điện tử, thuật tốn cần thiết q trình mã hóa Cài đặt chương trình minh họa chữ kí sử dụng chữ kí điện tử phương pháp kết hợp hàm băm MD5 thuật tốn mã hóa RSA Nhiệm vụ nghiên cứu - Nắm lý thuyết chứng thực thông tin - Quy trình sử dụng chữ kí điện tử - Tìm hiểu phương thức mã hóa liệu - Thuật tốn mã hóa RSA chuẩn bị toán học - Hàm băm - Cài đặt chương trình đồ họa minh họa cho tìm hiểu Phương pháp nghiên cứu - Tìm hiểu lịch sử phát triển mã hóa thơng tin, lý thyết mã hóa thơng tin quy trình sử dụng chữ kí điện tử từ tài liệu có internet - Hàng tuần có buổi trao đổi vớigiảng viên hướng dẫn, làm theo định hướng mà thầy đề để áp dụng lý thuyết tìm hiểu theo hướng xác Chương II Nội dung An tồn thơng tin, chứng thực thơng tin chữ ký điện tử Digital Signature – RSA & MD5 Xã hội giai đoạn phát triển mạnh mẽ, nhu cầu trao đổi thơng tin thiếu quan trọng tất lĩnh vực đời sống Cùng với phát triển địi hỏi tính bảo mật chứng thực thơng tin ngày có vai trị quan trọng phổ biến Có nhiều trường hợp khác nhu cầu an tồn thơng tin với khái niệm: Bảo mật: Giữ thơng tin giữ bí mật với tất người ngoại trừ trường hợp , cá nhân đặc biệt Tồn vẹn thơng tin: Đảm bảo thông tin không bị thay đổi cá nhân khác khơng có thẩm quyền q trình truyền tải internet Chữ ký: cách gắn kết gói thơng tin với thực thể để đảm bảo tính cá nhân người gửi Cấp chứng chỉ: Cấp xác nhận thơng tin thực thể tín nhiệm Để xác thực người mức độ tin cậy thơng tin máy tính ta sử dung phương pháp như: thẻ bảo mật, password chữ ký điện tử Mã hóa liệu giải mã a Tổng quan mã hóa liệu Sự phát triển nhanh chóng Internet có nhiều đến công việc kinh doanh người tiêu dùng làm thay đổi cách cong người sống làm việc Tuy nhiên , với phát triển nhu cầu cần nâng cao tính bảo mật truyền tải thông tin , đặc biệt thông tin nhạy cảm truyền tải mạng Mã hóa lĩnh vực nghiên cứu phương thức, thuật tốn để bảo mật thơng tin Các sàn phẩm lĩnh vực hệ mật mã, hàm băm, chế phân phối ,quản lý khóa giao thức mật mã Q trình mã hóa máy tính dựa khoa học mật mã(Cryptography) người sử dụng từ lâu, sử dụng nhiều có lẽ phủ, chủ yếu lĩnh vực quân Hầu hết mã hóa dựa vào máy tính mã hóa người tự sinh dễ bị phá máy tính, máy tính có khả tính tốn tốt người Như , máy tính tiến hành mã hóa dựa thuật tốn mã hóa mà người tạo Các hệ thống mã hóa máy tính thơng thường chia làm hai loại ( cách phân loại dựa vào đặc điểm khóa sử dụng để mã hóa): - Mã hóa với khóa bí mật ( Private key Encryption) - Mã hóa khóa cơng khai (Public key Encryption) Nếu dựa theo phương pháp mã hóa mã hóa thơng tin chia thành: - Mã hóa cổ điển(Classical Cryptography) - Mã hóa đối xứng(Symetric Cryptography) - Mã hóa phi đối xứng (Asymetric Cryptography) - Hàm băm ( Hash Function) b Mã hóa đối xứng Là lớp thuật tốn mã hóa mà khóa dùng cho việc mã hóa giải mã có quan hệ rõ ràng với nhau( dễ dàng tìm thấy khóa biết khóa kia) Digital Signature – RSA & MD5 Khóa dùng để mã hóa có liên hệ rõ ràng với khóa để giải mã có nghĩa chúng hồn tồn giống , khác nhờ biến đổi đơn giản hai khóa Phương thức mã hóa đối xứng thường nhanh nhiều mã hóa bất đối xứng nên thực tế, khóa đại diện cho bí mật hưởng hai bên sử dụng để giữ gìn bí mật kênh truyền thông tin Nếu key bị hay bị lộ, khơng đảm bảo tính bảo mật liệu Mã hóa đối xứng chia làm hai loại: - Block cipher Là giải pháp hoạt động chống lại hạn chế liệu tĩnh Dữ liệu chia thành blocks với size cụ thể blocks mã hóa cách khác - Stream cipher Là giải pháp hoạt động chống lại liệu luôn sử dụng phương thức để truyền Một vùng đệm , block, đợi cho tồn thơng tin block chứa vùng đệm sau block mã hóa truyền cho người nhận Một khác liệu truyền liệu nguyên Không giải pháp sử dụng mật mã đối xứng block sử dụng key khác trình truyền thơng tin c Mã hóa bất đối xứng Mã hóa bất đối xứng phương thức mã hóa mà key dùng để mã hóa key dùng giải mã hồn tồn khác từ key khơng thể có key Mật mã bất đối xứng sử dụng cặp key public key private key, q trình truyền thơng tin sử dụng mật mã bất đối xứng chúng cần cặp key Nó tạo khả sử dụng linh hoạt phát triển tương lai mật mã đối xứng Private key cần phải giữ riêng đảm bảo tính bảo mật khơng truyền mạng , public key cung cấp miễn phí chia sẻ cho người Ví dụ, Tom muốn gửi thông tin cho Bob, Tom sử dụng public key Bob để mã hóa thơng tin gửi cho Bob Khi Bob nhận thông tin mã hóa Tom giải mã thơng tin Pivate key Mật mã bất đối xứng hoạt động chậm phương thức mật mã đối xứng,không phải mã hố khối lượng liệu lớn Nó thường sử dụng để bảo mật trình truyền key mật mã đối xứng Nó cung cấp bảo mật cho q trìnhtruyền thơng tin dịch vụ: Authentication, Integrity, Protection, Nonrepudiation Một số phương thức mã hóa bất đối xứng : - Rivest Shamir Adleman(RSA) - Error Correcting - Diffie- Hellman d Hàm băm Digital Signature – RSA & MD5 Hàm băm chuyển đổi thơng điêp có độ dài thành dãy bit có độ dài cố đinh Các hàm băm nhận chuỗi bit có chiều dài tùy ý( hữu hạn) làm liệu đầu vào tạo chuỗi bit có chiều dài cố định n bit( n>0) gọi mã băm Tính chất hàm băm: - Tính tiền ảnh: với đầu y cho trước khơng thể tính tốn để tìm liệu đầu vào x’ cho giá trị băm h(x’) giá trị đầu y cho - Tính tiền ảnh thứ hai: với liệu đầu vào x1 cho trước , tính tốn để tìm đầu vào x2 (x1#x2) cho giá trị băm h(x1)=h(x2) - Tính kháng xung đột: Khơng thể tính tốn để tìm hai liệu đầu vào x1#x2 cho chúng có giá trị băm Trong lĩnh vực mã hóa thơng tin , mã băm xem hình ảnh đặc trưng thu gọn chuỗi bit có độ dài tùy ý hữu hạn, dùng để nhận diện chuỗi bit Kết hợp với cơng cụ tạo chữ kí số, hàm băm dùng cho việc đảm bảo tính tồn vẹn liệu - Về MD5(Message Digest) Ronald Rivest người phát minh hàm Băm MD2, MD4 (1990) MD5 (1991) Do tính chất tương tự hàm Băm này, sau xem xét hàm Băm MD5, cải tiến MD4 hàm Băm sử dung rộng rãi nhất, nguyên tắc thiết kế hàm băm nguyên tắc chung cho nhiều hàm băm khác Thuật mã hóa: MD5 biến đổi thơng điêp có chiều dài thành khối có kích thước cố định 128bit Thông điệp đưa vào cắt thành khối 512 bits Thông điệp đưa vào đệm để chiều dài chia hế cho 512 Hoạt động đệm: Trèn bit vào cuối thông điệp, tiếp hồng loạt bit Zero ch tới chiều dài nhỏ bội số 512 khoảng 64 bits Phần lại lấp đầy số nguyên 64 bits biểu diễn chiều dài ban đầu thơng điệp Thuật tốn MD5 hoạt động 128 bit Chia nhỏ thành từ 32 bits, kí hiệu A,B,C D Các giá trị số cố định Sau thuật tốn luân phiên hoạt động khối 512 bits Mỗi khối dẽ phối hợp với Quá trình sử lý khối thông điệp bao gồm bước tương tự nhau, gọi vòng Mỗi vòng lại gồm 16 trình tương tự dựa hàm chiều F, phép cộng module phép xoay trái Một trình vịng mơ tả theo hình sau: Digital Signature – RSA & MD5 e Mã hóa RSA chuẩn bị toán học cần thiết - Thuật tốn mã hóa RSA Thuật tốn mã hóa RSA có hai khóa: Khóa cơng khai khóa bí mật Mỗi khóa số cố định sử dụng q trình mã hóa giải mã Khóa cơng khai công bố rộng rãi cho người dùng để mã hóa Những thơng tin mã hóa khóa cơng khai giải mã khóa bí mật tương ứng Nói cách khác , người mã hóa có người biết khóa cá nhân giải mã Mô trực quan: Bob gửi cho Tom thơng điệp mật mà muốn có Tom biết Để làm điều Tom đươc cho Bob hộp có khóa mở sẵn giữ lại chìa khóa Sau nhận hộp Bob bỏ thơng điệp vào sập khóa lại( Với loại khóa sập thơng thường, sau chốt khóa kể Bob đọc lại thông điệp nữa) Sau Bob gửi hộp cho Tom, Tom mở hộp với khóa tương ứng đọc thơng điệp đựng Trong ví dụ , hộp với khóa mở sẵn đóng vai trị khóa cơng khai, chìa khóa Tom giữ lại khóa bí mật mà Tom có - Các khái niệm tốn học cần thiết + Hàm phía: Hàm phía hàm dễ tính tốn quan hệ chiều khó để tính ngược lại( biết x tính y biết y khó suy x) , “ khó” có nghĩa tính phải khoảng thời gian vô tận để tính Hộp thư ví dụ thực tế hàm phía, bỏ thư vào thùng hành động công cộng mở thùng thư hành động cơng cộng , muốn mở ta cần có chìa khóa hộp thư Digital Signature – RSA & MD5 + Số nguyên tố Khái niệm số nguyên tố khái niệm toán học để số nguyên chia hết cho +Khái niệm ngun tố nhau(relatively prime) Trong toán học hai số nguyên a b gọi nguyên tố chùng có ước số chung lớn +Khái niệm Modulo Với m số nguyên dương Ta nói hai số nguyên a b đồng dư với modulo m m chia hết cho hiệu a-b ( viết m|(a-b) ) Kí hiệu a≡b(mod m) Ta có a≡b(mod m) tồn số nguyên k cho a=b+km +Phi hàm Euler Theo lý thuyết số hàm số Euler( ký hiệu ∅(n) ) số nguyên dương n định nghĩa số số nguyên dương nhỏ n nguyên tố với n Ví dụ : ∅(5)=4, ∅(9)=6 Từ lý thuyết toán học chuẩn bị ta tiến hành tạo khóa sau : - Tạo ngẫu nhiên hai số nguyên tố vô lớn p q - Tính N=p.q - Tính giá trị hàm số Euler ∅(n)=(p-1)(q-1) - Chọn số tự nhiên e cho 1