« Home « Kết quả tìm kiếm

Bài tập lớn An Ninh Mạng


Tóm tắt Xem thử

- Trong đó mã hóa khóa công khai đang tỏ ra rất thích hợp rất trong truyền thông tin dữ liệu và có tính bảo mật khá cao.
- Báo cáo của nhóm đi sâu vào trình bày mã hóa khóa công khai RSA và giao thức thỏa thuận khóa Diffie - Hellman với nội dung gồm 4 chƣơng đƣợc chia thành các chủ đề khác nhau, từ việc giới thiệu sơ bộ, trình bày khái niệm, cách thiết lập, sơ đồ và các ví dụ minh họa cụ thể về giao thức thỏa thuận khóa.
- Thay mặt nhóm em xin chân thành cảm ơn ! PHÂN CÔNG CÔNG CÔNG VIỆC STT Mã Sinh Tên Sinh Viên Nội dung Trang- Nhận xét Viên trang Phan Lạc Dƣơng Tìm hiểu về chung 6 - 12 Tích cực về mã hóa + mã nghiên cứu hóa khóa công hoàn thành khai ( CI + CII ) tốt nhiệm vụ Lƣu Doãn Bắc Tìm hiểu thuật 13-24 Tích cực toán mã hóa khóa nghiên cứu công khai RSA hoàn thành (CIII) tốt nhiệm vụ Nguyễn Xuân Tìm hiểu giao thức 25-34 Tích cực Hiệp thỏa thuận khóa nghiên cứu Diffie - Hellman hoàn thành tốt nhiệm vụ MỤC LỤC LỜI NÓI ĐẦU.
- 4 CHƢƠNG 1: TÌM HIỂU CHUNG VỀ MÃ HÓA.
- Các yêu cầu đối với mã hóa.
- Phân loại mã hóa.
- Tại sao cần phải phân loại mã hóa.
- 7 CHƢƠNG 2: MÃ HÓA KHÓA CÔNG KHAI.
- 9 2.2.Tại sao mã hóa khóa công khai ra đời.
- Nguyên tắc cấu tạo của hệ mã hóa công khai.
- Các đặc điểm của hệ mã hóa công khai.
- Phân biệt mã hóa công khai với mã hóa đối xứng.
- Ứng dụng của hệ mã hóa công khai.
- CHƢƠNG 3: THUẬT TOÁN MÃ HÓA KHÓA CÔNG KHAI RSAError! Bookmark not 3.1.
- Quá trình mã hóa.
- Cách thức mã hóa công khai Hình 3.1: Các tác giả Ronal Rivest, Adi Shamir và Leonard Adleman tại Học Viện Công Nghệ Masachusetts (MIT) vào năm 1977.
- TÌM HIỂU CHUNG VỀ MÃ HÓA 5 1.
- Khái niệm Nói đến mã hóa tức là nói đến việc che dấu thông tin bằng cách sử dụng thuật toán.
- Chẳng hạn tôi có một thuật toán rất đơn giản mã hóa thông điệp cần gửi đi nhƣ sau : Bƣớc 1 : Thay thế toàn bộ chữ cái ―e‖ thành chữ số ―3‖.
- Trên đây chỉ là một ví dụ rất đơn giản mô phỏng cách thức làm việc của mã hóa ( Cryptography.
- Mã hóa cổ điển (Classical cryptography.
- Mã hóa đối xứng (Symmetric cryptography.
- Mã hóa bất đổi xứng (Asymmetric cryptography.
- Mã hóa khóa bí mật (Private-key Cryptography.
- Mã hóa khóa công khai (Public-key Cryptography 1.4.
- Tại sao cần phải mã hóa ? Ngày nay, khi mạng Internet đã kết nối các máy tính ở khắp nơi trên thế giới lại với nhau, thì vấn đề bảo vệ máy tính khỏi sự thâm nhập phá hoại từ bên ngoài là một điều cần thiết.
- Đây là một phƣơng pháp hỗ trợ rất tốt trong việc chống lại những truy cập bất hợp pháp tới các thông tin đƣợc truyền đi trên mạng, áp dụng mã hóa sẽ khiến cho nội dung thông tin đƣợc truyền đi dƣới dạng không thể đọc đƣợc đối với bất kỳ ai cố tình muốn lấy thông tin đó.
- Tất nhiên không phải ai cũng phải dùng mã hóa.
- Nhu cầu về sử dụng mã hóa xuất hiện khi các bên giao tiếp muốn bảo vệ các tài liệu quan trọng hay truyền chúng một cách an toàn.
- Từ đó mã hóa đƣợc áp dụng nhƣ một biện pháp nhằm giúp chúng ta tự bảo vệ chính mình cũng nhƣ những thông tin mà chúng ta gửi đi.
- MÃ HÓA KHÓA CÔNG KHAI 2.1.
- Giới thiệu 8 Mã hóa khóa công khai (Public Key Cryptography) đƣợc thiết kế sao cho khóa sử dụng trong quá trình mã hóa khác biệt với khóa đƣợc sử dụng trong quá trình giải mã.
- Hơn thế nữa, khóa dùng trong quá trình giải mã không thể đƣợc tính toán hay suy luận từ khóa dùng để mã hóa và ngƣợc lại, tức là hai khóa này có quan hệ với nhau về mặt toán học nhƣng không thể suy diễn đƣợc ra nhau.
- Thuật toán này đƣợc gọi là Public-Key bởi vì khóa dùng cho việc mã hóa đƣợc công khai cho tất cả mọi ngƣời.Một ngƣời hòan toàn xa lạ có thể dùng khóa này để mã Hình 2.1: Cách thức mã hóa công khai hóa dữ liệu nhƣng chỉ duy nhất ngƣời mà có khóa giải mã tƣơng ứng mới có thể đọc đƣợc dữ liệu mà thôi.
- Tại sao mã hóa công khai ra đời 9 Mã hóa đối xứng dù rằng đã phát triển từ cổ điển đến hiện đại, vẫn tồn tại hai điểm yếu sau: Vấn đề trao đổi khóa giữa ngƣời gửi và ngƣời nhận: Cần phải có một kênh an toàn để trao đổi khóa sao cho khóa phải đƣợc giữ bí mật chỉ có ngƣời gửi và ngƣời nhận biết.
- Vào năm 1976 Whitfield Diffie và Martin Hellman đã tìm ra một phƣơng pháp mã hóa khác mà có thể giải quyết đƣợc hai vấn đề trên, đó là mã hóa khóa công khai (public key cryptography) hay còn gọi là mã hóa công khai (asymetric cryptography).
- Đây có thể xem là một bƣớc đột phá quan trọng nhất trong lĩnh vực mã hóa.
- Mã hóa khóa công khai ra đời đã giải quyết đƣợc vấn đề mà mã hóa riêng thiếu xót.
- Trong hệ thống mã hóa này thì mỗi một ngƣời sử dụng khi tham gia vào đều đƣợc cấp 2 khóa.
- Một khóa dùng cho việc mã hóa dữ liệu (Public key.
- Và một khóa dùng cho việc giải mã dữ liệu (Private key), Trong đó Public key đƣợc đƣa ra cho tất cả mọi ngƣời cùng biết, còn Private keyphải đƣợc giữ kín một cách tuyệt đối.Giả sử hai phía muốn truyền tin cho nhau thì quá trình truyền sử dụng mã hóa khóa công khai đƣợc thực hiện nhƣ sau.
- Sau đó hai phía thống nhất thuật toán dùng để mã hóa dữ liệu, Sender sử dụng khóa công khai của Receiver cùng với thuật toán đã thống nhất để mã hóa thông tin bí mật.
- Thông tin sau khi mã hóa đƣợc gửi tới Receiver, lúc này chính Sender cũng không thể nào giải mã đƣợc thông tin mà anh ta đã mã hóa (khác với mã hóa khóa riêng.
- 10 Có nhiều phƣơng pháp mã hóa thuộc loại mã hóa khóa công khai.
- Các đặc điểm của hệ mã hóa công khai Thông thƣờng, các kỹ thuật mật mã hóa khóa công khai đòi hỏi khối lƣợng tính toán nhiều hơn các kỹ thuật mã hóa khóa đối xứng nhƣng những lợi điểm mà chúng mang lại khiến cho chúng đƣợc áp dụng trong nhiều ứng dụng.
- Vậy là với sự ra đời của Mã hóa khóa công khai thì khóa đƣợc quản lý một cách linh hoạt và hiệu quả hơn.
- Hệ thống này an toàn hơn nhiều so với mã hóa khóa riêng, ngƣời mã hóa không thể giải mã đƣợc dữ liệu đã mã hóa bằng khóa công khai của ngƣời khác.
- Tuy nhiên nhƣợc điểm của mã hóa khóa công khai nằm ở tốc độ thực hiện, nó chậm hơn mã hóa khóa riêng cỡ ~1000 lần 2.5.
- Phân biệt mã hóa công khai với mã hóa đối xứng Điều kiện cần của những giải thuật này là: 1.
- dùng cho mã hóa.
- Secret key phải trao đổi một cách an toàn giữa hai party tham gia vào quá trình mã hóa.
- Mã hóa bất đối xứng là những giải thuật mã hóa sử dụng 2 khóa : public key và private-key.
- Mã hóa bằng khóa này thì chỉ có thể giải mã bằng khóa kia.
- Có hai ứng dụng của loại mã hóa này : Mã hóa bất đối xứng và chữ ký điện tử ( digital signature.
- Trong ứng dụng mã hóa bất đối xứng ( ví dụ giải thuật RSA )mỗi bên A, B sẽ có một public key (PU) private key (PR) riêng mình.
- PUA sẽ đƣợc A gửi cho B và khi B muốn truyền dữ liệu cho A thì B sẽ mã hóa bằng PUA.
- Ngƣợc lại nếu A muốn truyền cho B thì A sẽ mã hóa bằng PUB và B giải mã bằng PRB.
- Trong ứng dụng chữ ký điện tử thì A sẽ mã hóa mẫu tin bằng PRA.
- Ứng dụng của hệ mã hóa công khai Mã hóa Email hoặc xác thực ngƣời gửi Email (OpenPGP or S/MIME).
- Mã hóa hoặc nhận thực văn bản (Các tiêu chuẩn Chữ ký XML * hoặc mã hóa XML * khi văn bản đƣợc thể hiện dƣới dạng XML).
- Các giao thức truyền thông an toàn dùng kỹ thuật Bootstrapping (IKE, SSL): trao đổi khóa bằng khóa bất đối xứng, còn mã hóa bằng khóa đối xứng.
- THUẬT TOÁN MÃ HÓA KHÓA CÔNG KHAI RSA 3.1.
- Giải thuật mã hóa khóa công khai RSA là một tiêu chuẩn đƣợc các tác giả Ronal Rivest, Adi Shamir và Leonard Adleman phát triển tại Học Viện Công nghệ Masachusetts (MIT) vào năm 1977, tên tiêu chuẩn đƣợc lấy từ 3 chữ cái đầu của tên 3 tác giả, hiện tiêu chuẩn đƣợc các tổ chức Viện Tiêu chuẩn Quốc gia Hoa Kỳ (American National Standards Institute – ANSI), Viện Kỹ nghệ Điện và Điện tử (Institute of Electrical and Electronics Engineers – IEEE) và Phòng thí nghiệm RSA công nhận (RSA Laboratories là một bộ phận của Tập đoàn EMC).
- Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa.
- Các tác giả Ronal Rivest, Adi Shamir và Leonard Adleman tại Học Viện Công nghệ Masachusetts (MIT) vào năm 1977 Trƣớc đó vài năm, Clifford Cox, một chuyên gia mã hóa ngƣời Anh đã phát triển riêng một biến thể của RSA.
- Khóa công khai (Public Key.
- Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã.
- Khóa công khai đƣợc công bố rộng rãi cho mọi ngƣời và đƣợc dùng để mã hóa.
- Giả sử Alice và Bob cần trao đổi thông tin bí mật thông qua một kênh không an toàn (ví dụ nhƣ Internet).
- Với thuật toán RSA, Alice đầu tiên cần tạo ra cho mình cặp khóa gồm khóa công khai và khóa bí mật theo 5 bƣớc sau: 1.
- Khóa công khai bao gồm: n và e.
- Quá trình mã hóa: Giả sử Bob muốn gửi đoạn thông tin M cho Alice.
- Bob sẽ tính c là bản mã hóa của m theo công thức: c  me (mod n) Hàm trên có thể tính dễ dàng sử dụng phƣơng pháp tính hàm mũ (môđun) bằng phƣơng pháp bình phƣơng.
- Hàm mã hóa là: encrypt(m.
- Để mã hóa văn bản có giá trị 123, ta thực hiện phép tính: encrypt(123.
- Nếu m = 0 hoặc m = 1 sẽ tạo ra các bản mã có giá trị là 0 và 1 tƣơng ứng 17  Khi mã hóa với số mũ nhỏ (chẳng hạn e =3) và m cũng có giá trị nhỏ, giá trị me cũng nhận giá trị nhỏ (so với n).
- RSA là phƣơng pháp mã hóa xác định ( không có thành phần ngẫu nhiên) nên kẻ tấn công có thể thực hiện tấn công lựa chọn bản rõ bằng cách tạo ra một bảng tra giữa bản rõ và bản mã.
- Với các hệ thống dùng giá trị e nhỏ thì tất cả ký tự ASCII đều cho kết quả mã hóa không an toàn vì giá trị lớn nhất của m chỉ là 255 và 2553 nhỏ hơn giá trị n chấp nhận đƣợc.
- Để tránh gặp phải những vấn đề trên, RSA trên thực tế thƣờng bao gồm một hình thức chuyển đổi ngẫu nhiên hóa m trƣớc khi mã hóa.
- Sau khi chuyển đổi, mỗi bản rõ khi mã hóa sẽ cho ra một trong số khả năng trong tập hợp bản mã.
- Một số tiêu chuẩn, chẳng hạn nhƣ PKCS, đã đƣợc thiết kế để chuyển đổi bản rõ trƣớc khi mã hóa bằng RSA.
- Các phƣơng pháp chuyển đổi hiện đại sử dụng các kỹ thuật nhƣ chuyển đổi mã hóa bất dối xứng tối ƣu nhƣ (Optimal Asymmetric Encryption Padding – OAEP) để chống lại tấn công dạng này.
- Cần chú ý rằng các phƣơng pháp chuyển đổi bản rõ ( nhƣ RSA-PSS) giữ vai trò quan trọng đối với quá trình mã hóa cũng nhƣ chữ ký điện tử và không đƣợc dùng chung cho đồng thời cho cả hai mục đích trên.
- Vét cạn khóa: cách tấn công này thử tất cả các khóa d có thể có để tìm ra bản giải mã có ý nghĩa, tƣơng tự nhƣ cách thử khóa K của mã hóa đối xứng.
- Tiêu chuẩn RSA đƣợc ứng dụng rộng rãi trong nhiều lĩnh vực nhƣ chữ ký số, thƣơng mại điện tử, bảo mật, xác thực… Trong Thông tƣ số 01/2011/TT-BTTTT ngày của Bộ trƣởng Bộ Thông tin và Truyền thông Công bố Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan nhà nƣớc quy định Khuyến nghị áp dụng tiêu chuẩn RSA, là một trong những giải thuật mã hóa và đƣợc xếp vào nhóm Tiêu chuẩn về an toàn thông tin.
- Chữ ký điện tử đƣợc tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản (mesage digest) hay còn gọi là fingerprint, sau đó mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc đƣợc tính lại fingerprint để so sánh với fingerprint cũ cũng đƣợc phục hồi từ việc giải mã chữ ký số.
- Quy trình thực hiện chữ ký điện tử : Các bước mã hóa : 21 1.
- Sử dụng khóa private key của ngƣời gửi để mã hóa mesage digest thu đƣợc ở bƣớc 1.
- Giáo sư Martin Hellman (giữa) cùng đồng nghiệp là Whitfield Diffie (phải) đã khám phá ra mật mã khóa công khai Diffie-Hellman.
- Năm 1976, một sự đột phá đã thay đổi nền tảng cơ bản trong cách làm việc của các hệ thống mật mã hóa.
- Bài viết còn kích thích sự phát triển gần nhất tức thời của một lớp các thuật toán mật mã hóa mới, các thuật toán chìa khóa bất đối xứng (asymmetric key algorithms).
- Vào năm 2002, Hellman đã đƣa ra thuật toán đƣợc gọi chung là trao đổi khóa Diffie–Hellman–Merkle công nhận sự đóng góp của cả Ralph Merkle, ngƣời đã phát minh ra thuật toán mã hóa công khai.
- Trƣớc thời kỳ này, hầu hết các thuật toán mật mã hóa hiện đại đều là những thuật toán khó đối xứng (symmetric key gorithms), trong đó cả ngƣời gửi và ngƣời nhận phải dùng chung một khóa, tức khóa dùng trong thuật toán mật mã, và cả hai ngƣời đều phải giữ bí mật về khóa này.
- Một hệ thống thuộc loại này đƣợc gọi là một hệ thống dùng chìa khóa mật, hoặc một hệ thống mật mã hóa dùng khóa đối xứng.
- Phƣơng thức tiếp nối ngay sau Diffie – Hellman là RSA, một thể hiện của mã khóa công khai sử dụng thuật toán bất đối xứng.
- Tất cả các giá trị còn lại nhƣ p, g, bA, bB, đều công khai.
- Một khi Alice và Bob tính đƣợc khóa bí mật dùng chung, họ có thể dùng nó làm khóa mã hóa chỉ họ biết để gửi các thông điệp qua cùng kênh giao tiếp mở.
- Kể từ đây, Alice và Bob sẽ trao đổi bằng cách mã hóa và giải mã sử dụng khóa bí mật đó (thể hiện bằng màu sơn bí mật cuối cùng).
- Nghĩa là một ngƣời thứ ba Eve có thể đánh tráo các thông tin trao đổi giữa Alice và Bob.
- Thuật toán mã hóa và ứng dụng