BÁO CÁO TIỂU LUẬN MÔN HỌC AN TOÀN VÀ BẢO MẬT MẠNG NGÀNH KHOA HỌC MÁY TÍNH ĐỀ TÀI KỸ THUẬT MÃ HÓA PGP-Lớp Cao học KHMT Khóa 28 TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

40 873 2
BÁO CÁO TIỂU LUẬN MÔN HỌC AN TOÀN VÀ BẢO MẬT MẠNG NGÀNH KHOA HỌC MÁY TÍNH  ĐỀ TÀI  KỸ THUẬT MÃ HÓA PGP-Lớp Cao học KHMT Khóa 28 TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel. (84-511) 736 949, Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn BÁO CÁO TIỂU LUẬN MÔN HỌC AN TOÀN VÀ BẢO MẬT MẠNG NGÀNH KHOA HỌC MÁY TÍNH ĐỀ TÀI : KỸ THUẬT MÃ HÓA PGP Nhóm HV: 1. Trần Tấn Phước 2. Đào Lê Tùng Lớp Cao học KHMT Khóa 28 (2013  2015) ĐÀ NẴNG, 12/2014 An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 1 MỤC LỤC LỜI NÓI ĐẦU 3 Chương 1. CÁC KHÁI NIỆM CƠ BẢN 4 1. Giới thiệu 4 2. Kỹ thuật mã hóa 4 2.1. Khái niệm hệ mã hóa 4 2.2. Hệ mã hóa khóa đối xứng 5 2.3. Hệ mã hóa khóa bất đối xứng (hệ mã hóa khóa công khai) 5 2.4. Chữ ký số 6 2.5. Hàm băm 7 Chương 2. TÌM HIỂU KỸ THUẬT MÃ HÓA PGP 8 1. Giới thiệu về hệ mã hóa PGP 8 2. Các thuật toán sử dụng trong PGP 8 2.1. Mã hóa đối xứng 8 2.2. Mã hóa bất đối xứng 10 2.3. Hàm Hash 11 Chương 3. QUY TRÌNH THỰC HIỆN MÃ HÓA 13 1. Mã hóa 13 1.1. Chuẩn bị file 13 1.2. Chữ ký số 14 1.3. Nén 14 1.4. Mã hóa 14 1.5. Tính tương thích Email 14 2. Giải mã 15 3. Khóa 15 3.1. Khóa công khai 16 3.2. Khóa bí mật 16 4. Chữ ký số 17 5. Nén 19 6. Mã hóa và giải mã thông điệp 19 Chương 4. HỆ THỐNG MINH HỌA 22 1. Chuẩn bị 22 An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 2 2. Quản lý khóa 22 2.1. Tạo khóa 22 2.2. Chứng chỉ thu hồi 24 2.3. Tạo khóa bí mật và khóa công khai 27 2.4. Nhập khóa công khai và upload lên máy chủ 31 3. Mã hóa và giải mã 34 3.1. Mã hóa 34 3.2. Giải mã 36 4. Tạo chữ ký điện tử 36 KẾT LUẬN 38 TÀI LIỆU THAM KHẢO 39 An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 3 LỜI NÓI ĐẦU Với sự phát triển mạnh mẽ của mạng máy tính đặc biệt là sự ra đời của mạng toàn cầu (Internet), nó đã giúp cho mọi người khắp trên thế giới có thể trao đổi thông tin và liên lạc với nhau một cách chính xác, dễ dàng trong một thời gian ngắn nhất. Trong môi trường mạng, một lượng tin hay một khối dữ liệu khi được gửi đi từ người gửi đến người nhận thường phải qua nhiều nút, nhiều trạm với nhiều người sử dụng khác nhau, không ai dám bảo đảm rằng thông tin đến người nhận không bị sao chép, không bị đánh cắp hay không bị xuyên tạc… Chúng ta đã nghe nhiều về máy tính và những mối đe doạ từ Internet đối với sự riêng tư của chúng ta, hay những kẻ đánh cắp mật khẩu, những kẻ săn tin chuyên nghiệp, những kể quấy nhiễu,… chúng sẽ không bao giờ buông tha chúng ta. Chính bởi lý do này mà vấn đề an toàn dữ liệu trên mạng nói riêng và an toàn dữ liệu nói chung là một trong những vấn đề đang được quan tâm hàng đầu khi nghiên cứu đến truyền dữ liệu trên mạng. Việc đề xuất ra các hệ mật để mã hóa dữ liệu trước khi truyền hoặc trước khi lưu là một trong những công việc cấp bách, khi dữ liệu đã được mã hóa thì kẻ tấn công dù có lấy được dữ liệu đó thì chúng cũng khó có khả năng giải mã. Đặc biệt là với một hệ thống mã hóa được đánh giá khả năng bảo mật cực kỳ cao là hệ mã hóa PGP. Chính vì những lý do trên nhóm chúng em đã chọn đề tài: “Kỹ thuật mã hóa PGP” để có thể đào sâu nghiên cứu về cách thức hoạt động, các thuật toán sử dụng trong nó, ứng dụng thực tiễn cũng như việc xây dựng và cài đặt hệ thống minh họa. Do trình độ chuyên môn chưa nhiều nên không thể tránh khỏi những thiếu sót. Vì vậy em rất mong nhận được sự góp ý của các thầy và các bạn để nhóm chúng em có thể hoàn thiện tốt hơn đề tài này. Cuối cùng em xin chân thành cảm ơn TS. Nguyễn Tấn Khôi đã tận tình giúp đỡ nhóm chúng em hoàn thành đề tài này. An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 4 Chương 1. CÁC KHÁI NIỆM CƠ BẢN 1. Giới thiệu Giới thiệu về các phương pháp bảo vệ thông tin truyền thống:  Xây dựng hệ thống các bức tường lửa.  Áp dụng các phương pháp xác thực.  Thiết lập mạng riêng ảo, các hệ thống cảnh báo truy cập trái phép … Dựa vào các cơ chế an toàn bảo mật trên, chúng ta không có cách nào đảm bảo an toàn (tính bí mật, toàn vẹn và xác thực) của thông tin giữa hai đối tượng bất kỳ (vì không có cách tổng quát nào để xác định độ tin cậy giữa chúng trước khi truyền thông). Phần dưới đây sẽ đề cập đến một số phương pháp bảo vệ thông tin bằng mật mã (cryptography). Phương pháp này được xem như là một phương pháp bổ sung bảo vệ thông tin cho hệ thống hiện thời. 2. Kỹ thuật mã hóa 2.1. Khái niệm hệ mã hóa Mã hóa dữ liệu là cơ chế chuyển đổi dữ liệu sang một định dạng khác không thể đọc được, để có thể ngăn cản những truy cập bất hợp pháp khi dữ liệu trao đổi trong môi trường mạng không an toàn. Và để những người tham gia liên lạc hiểu được nội dung của nhau thì ngoài thuật toán mã hóa dữ liệu, họ phải thống nhất với nhau về khóa mã hóa và giải mã. Theo quan điểm toán học, hệ mã hóa được định nghĩa là một bộ năm (P, C, K, E, D) trong đó:  P là tập hữu hạn các bản rõ có thể.  C là tập hữu hạn các bản mã có thể.’K là tập hữu hạn các khóa có thể. An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 5  E là tập các hàm lập mã.  D là tập các hàm giải mã.  Với mỗi  , có một hàm lập mã       và một hàm giải mã        sao cho            . 2.2. Hệ mã hóa khóa đối xứng Hệ mã hóa khóa đối xứng hay là hệ mã hóa mà khóa mã hóa có thể dễ tính toán được từ khóa giải mã và ngược lại. Trong nhiều trường hợp, khóa mã hóa và khóa giải mã là giống nhau. Thuật toán này yêu cầu người gửi và người nhận phải thỏa thuận trước một khóa khi thông báo được gửi đi, và khóa này phải được tuyệt đối giữ bí mật giữa 2 người. Hệ mã hóa này còn được gọi là hệ mã hóa khóa bí mật. Mô hình mã hóa sử dụng khóa đối xứng được mô tả như sau: Hình 1. Mô hình mã hóa khóa đối xứng 2.3. Hệ mã hóa khóa bất đối xứng (hệ mã hóa khóa công khai) Hệ mã hóa khóa công khai hay còn được gọi là hệ mã hóa bất đối xứng sử dụng một cặp khóa, khóa mã hóa còn gọi là khóa công khai (public key) và khóa An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 6 giải mã được gọi là khóa bí mật hay khóa riêng (private key). Trong hệ mật này, khóa mã hóa khác với khóa giải mã. Chủ sở hữu giữ khóa riêng và cho công khai khóa mã hóa (public key). Bất cứ ai cũng có thể sử dụng khóa công khai (public key) để mã hóa thông điệp và gửi đi, nhưng chỉ có người sở hữu khóa riêng (private key) mới có thể giải mã được. Và cặp khóa này không thể suy ra nhau, tức là nếu có khóa công khai thì cũng không có cách nào để có thể suy ra được khóa riêng. Mô hình sử dụng khóa bất đối xứng được mô tả trong hình sau: Hình 2. Mô hình mã hóa khóa bất đối xứng 2.4. Chữ ký số Quá trình mã hóa thông điệp với khóa riêng của người gửi gọi là quá trình “ký số”. Sơ đồ chữ ký là một bộ năm (P, A, K, S, V), trong đó: An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 7  P là một tập hữu hạn các văn bản có thể  A là một tập hữu hạn các chữ ký có thể  K là một tập hữu hạn các khóa có thể  S là tập các thuật toán ký  V là tập các thuật toán kiểm thử  Với mỗi   , có một thuật toán    ,      và một thuật toán kiểm thử    ,      , thỏa mãn điều kiện sau đây                   2.5. Hàm băm Hàm băm được hiểu là các thuật toán không để mã hóa (ở đây ta dùng thuật ngữ “băm” thay cho “mã hóa”), nó có nhiệm vụ băm thông điệp được đưa vào theo một thuật toán một chiều nào đó, rồi đưa ra một bản băm – văn bản đại diện – có kích thước cố định. Giá trị của hàm băm là duy nhất và khó có thể suy ngược lại nội dung thông điệp từ giá trị băm này. Hàm băm một chiều h có hai đặc tính quan trọng sau:  Với thông điệp đầu vào x thu được bản băm z = h(x) là duy nhất.  Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để hóa thành thông điệp x’ thì       . Hàm băm ứng dụng trong việc tạo và kiểm tra tính toàn vẹn của chữ ký số. An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 8 Chương 2. TÌM HIỂU KỸ THUẬT MÃ HÓA PGP 1. Giới thiệu về hệ mã hóa PGP PGP (Pretty Good Privacy) là một phần mềm máy tính dùng đễ mã hóa dữ liệu và xác thực. PGP được công bố đầu tiên bới Philip R. Zimmermann năm 1991 trong thời gian đang làm việc tại PKWARE. Kể từ đó, phần mềm này đã có nhiều cải tiến và hiện nay tập đoàn PGP cung cấp nhiều phần mềm dựa trên nền tảng này. Với mục tiêu ban đầu là phục vụ cho mã hóa thư điện tử, PGP hiện nay đã trở thành một giải pháp mã hóa cho các công ty lớn, chính phủ và cá nhân. Các phần mềm dựa trên PGP được dùng để mã hóa và bảo vệ thông tin lưu trữ trên máy tính xách tay, máy tính để bàn, máy chủ và trong quá trình trao đổi thông qua email, IM hoặc chuyển file. Giao thức hoạt động của hệ thống này có ảnh hưởng lớn và trở thành một trong hai tiêu chuẩn mã hóa (tiêu chuẩn còn lại là S/MIME). PGP thường được sử dụng cho chữ ký điện tử, mã hóa và giải mã text, email, tệp tin, thư mục, các phân vùng của đĩa cứng hay tăng tính bảo mật trong việc truyền tải email. 2. Các thuật toán sử dụng trong PGP 2.1. Mã hóa đối xứng 2.1.1. IDEA IDEA ra đời từ những năm 1991 có tên IPES (Improved Proposed Encyption Standard). Đến năm 1992 được đổi tên thành International Data Encrytion Algorithm. Tác giả là Xuejia Lai và James Massey. Thiết kế loại mã này dựa trên phép cộng modulo 2(OR), phép cộng modulo 2 16 và phép nhân modulo 2 16 +1 (số nguyên tố 65537). Loại mã này rất nhanh về phần mềm (mọi chíp xử lý của máy tính cá nhân có thể thực hiẹn phép nhân bằng một lệnh đơn). IDEA được cấp bằng sáng chế và bằng này do công ty Ascom – Tech AG của Thuỵ sĩ cấp. Đến nay chưa có cuộc tấn công nào cho phép huỷ được hoàn toàn thuật toán IDEA. Do đó An toàn và bảo mật mạng Nhóm 7 – KHMT K28 Trang 9 đây là một thuật toán có độ an toàn cao. IDEA là loại mã khối sử dụng một Chìa khóa 128 bit để mã hóa dữ liệu trong những khối 64 bít với 8 vòng lặp. Mỗi lần lặp IDEA sử dụng 3 phép toán khác nhau, mỗi phép toán thao tác trên hai đầu vào 16 bít để sản sinh một đầu ra 16 bít đơn. Ba phép toán đó là: 1. Phép XOR theo bít. 2. Phép cộng modulo 2 16 với đầu vào và đầu ra là những số nguyên không dấu 16 bít. Hàm này láy hai số nguyên 16 bit làm dầu vào và sản sinh một tổng 16 bít; nếu bị tràn sang bít thứ 17, thì bit này bị vứt bỏ. Phép nhân số nguyên theo modulo 2 16 +1. với đầu vào và đầu ra là những số nguyên 16 bít. Trừ trường hợp cả khối đều là 0 thì được xem như 2 16 . 2.1.2. 3DES Thuật toán DES (Data Encryption Standard) được chính phủ Mỹ tạo ra năm 1977 (NIST và NSA) dựa trên các công việc mà IBM làm. DES thuộc loại mã khối 64 bits với khoá dài 64 bits. Thuật toán DES đầu tiên đã được nghiên cứu trong thời gian dài. Thuật toán 3DES cải thiện độ mạnh của thuật toán DES bằng việc sử dụng một quá trình mã hóa và giải mã sử dụng 3 khóa. Các chuyên gia xác định rằng 3DES rất an toàn. Nhược điểm của nó là chậm hơn một cách đáng kể so với các thuật toán khác. Bản thân DES đã chậm do dùng các phép hoán vị bit. Lý do duy nhất để dùng 3DES là nó đó được nghiên cứu rất kỹ lưỡng. 2.1.3. AES AES (Advanced Encryption Standard) được dựa trên một nguyên tắc thiết kế được biết đến như là một mạng hoán vị thay thế. Đó là nhanh chóng ở cả hai phần mềm và phần cứng. Không giống như thuật toán tiền nhiệm của nó, DES, AES không sử dụng mạng Feistel. AES có kích thước khối là 128 bit và kích thước khóa 128, 192, hoặc 256 bit. [...]... mã hóa thông điệp gửi đi Nhóm 7 – KHMT K28 Trang 27 An toàn và bảo mật mạng Vào Tập tin → Xuất khóa ra tập tin Chọn Xuất các khóa Bí mật ra Nên nén lại và lưu khóa bí mật ở một nơi an toàn nhằm bảo vệ thông tin của khóa bí mật Một khóa bí mật sẽ có dạng như sau: Nhóm 7 – KHMT K28 Trang 28 An toàn và bảo mật mạng Tương tự bạn cũng làm như vậy để tạo ra khóa công khai Vào Tập tin → Xuất khóa ra tập tin. .. nhập khóa từ tập tin để có thể sử dụng khóa này mã hóa thông điệp 2.4 Nhập khóa công khai và upload lên máy chủ 2.4.1 Nhập khóa công khai Để mã hóa thông điệp trước khi gửi đi thì người nhận phải gửi khóa công khai cho đối tác của mình, và người gửi phải nhập khóa công khai vào, dùng khóa công khai của người nhận để mã hóa Nhóm 7 – KHMT K28 Trang 31 An toàn và bảo mật mạng Vào Tập tin → Nhập khóa vào.. .An toàn và bảo mật mạng 2.2 Mã hóa bất đối xứng 2.2.1 RSA Thuật toán RSA được phát minh năm 1978 Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân) 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 Những thông tin được mã hóa bằng khóa công khai chỉ... Tập tin → Xuất khóa ra tập tin Chọn Chỉ xuất khóa công ra thôi Nhóm 7 – KHMT K28 Trang 29 An toàn và bảo mật mạng Một khóa công khai được tạo có dạng như sau: Nhóm 7 – KHMT K28 Trang 30 An toàn và bảo mật mạng Sau khi tạo khóa công khai, nên gửi khóa công khai cho các đối tác tham gia liên lạc Vào Tập tin → Gửi khóa công bằng thư điện tử Thông tin của khóa công khai sẽ được đính kèm trong nội dung thư... toàn và bảo mật mạng Email daoletung2@gmail.com có màu xám mờ chứng tỏ khóa công khai này đã được thu hồi 2.3 Tạo khóa bí mật và khóa công khai Khi quá trình tạo khóa hoàn tất, PGP sẽ tạo ra một cặp khóa công khai và bí mật Khóa bí mật là khóa riêng phải lưu trữ cẩn thận để đảm bảo an toàn thông tin của khóa Để đảm bảo điều đó nên dùng phần mềm nén lại và đặt mật khẩu bảo vệ cho khóa Khóa công khai dùng... Một keyID, là định danh cho khóa này  Thông tin khác liên quan đến độ tin cậy của khóa và chủ nhân của nó 3.2 Khóa bí mật Để sử dụng PGP, người dùng cần phải có một khóa bí mật Nếu muốn người dùng có thể tạo nhiều khóa bí mật Vòng khóa bí mật chứa đựng thông tin của mỗi khóa Nhóm 7 – KHMT K28 Trang 16 An toàn và bảo mật mạng  Khóa riêng gồm 128 bit được sinh ra nhờ một passphrase và hàm băm MD5  User... hồi khóa Nhóm 7 – KHMT K28 Trang 25 An toàn và bảo mật mạng Kiểm tra xem khóa đã bị thu hồi hay chưa Ví dụ sử dụng email trantanphuoc1@gmail.com để kiểm tra xem thử khóa bí mật của email daoletung2@gmail.com đã bị thu hồi hay chưa Vào máy phục vụ khóa → Tìm kiếm khóa Chọn server đã upload khóa công khai lên Thông báo khóa công khai ở trên server đã được tải về Nhóm 7 – KHMT K28 Trang 26 An toàn và bảo. .. dụng thuật toán mã hóa đối xứng mã hóa bản rõ bằng một khóa chung (còn gọi là khóa phiên) Tiếp theo người dùng sẽ sử dụng cặp khóa công khai bí mật được tạo bởi thuật toán mã hóa bất đối xứng Sử dụng khóa công khai trong cặp khóa công khai – bí mật mã hóa khóa phiên được tạo ra sau quá trình mã hóa bản rõ bằng thuật toán mã hóa đối xứng Phần mã hóa thông điệp gửi đi của PGP sử dụng cả hai thuật toán mã. .. chọn Khóa không có hạn Nhóm 7 – KHMT K28 Trang 23 An toàn và bảo mật mạng - Nâng cao: chọn kích cỡ khóa và kiểu mã hóa Ở hai thuật toán mã hóa DSA và RSA cung cấp 3 size để mã hóa dữ liệu Nếu gửi tài liệu trong một thời gian ngắn thì nên sử dụng 1024bits, và tùy theo số năm sử dụng để chọn kích cỡ khóa cho hợp lý Nếu kích cỡ khóa càng cao thì quá trình tạo khóa càng mất nhiều thời gian để mã hóa dữ... gán vào thông điệp và sử dụng nó để lấy khóa bí mật đúng từ vòng khóa bí mật Một người dùng có thể có hơn một khóa riêng 2 Người nhận cung cấp một passphrase Nó cho phép PGP giải mã khóa riêng của người nhận 3 PGP sử dụng RSA với khóa riêng để giải mã và khôi phục khóa phiên 4 PGP sử dụng khóa phiên giải mã thông điệp Nhóm 7 – KHMT K28 Trang 20 An toàn và bảo mật mạng Passphrase của người nhận Vòng khóa

Ngày đăng: 08/07/2015, 15:59

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan