Đồ án tốt nghiệp nghiên cứu xây dựng hệ thống bảo mật nội dung số

65 1.4K 11
Đồ án tốt nghiệp nghiên cứu xây dựng hệ thống bảo mật nội dung số

Đ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

1 MỤC LỤC Danh mục hình vẽ Danh mục từ viết tắt LỜI NÓI ĐẦU CHƯƠNG TỔNG QUAN VỀ MÃ HÓA .5 1.1 Khái niệm mã hóa thơng tin 1.2 Sơ lược lịch sử mã hóa thơng tin .6 1.3 Hệ thống mã hóa 1.4 Phân loại thuật toán mã hóa .8 1.4.1 Mã hóa cổ điển 1.4.2 Mã hóa đối xứng 10 1.4.3 Mã hóa bất đối xứng .12 1.4.4 Hàm băm – Hashing 14 1.5.Ứng dụng mã hóa 16 1.5.1 Giao thức SSL .16 1.5.2 Chữ ký số 19 1.5.3 Cơng cụ mã hóa PGP 21 CHƯƠNG CƠ SỞ LÝ THUYẾT .27 2.1 Hệ mã RSA 27 2.1.1 Giới thiệu 27 2.1.2 Q trình tạo khóa cho hệ mật RSA .27 2.1.3 Quá trình mã hóa 29 2.1.4 Quá trình giải mã 30 2.1.5 Một số ý quan trọng RSA 31 2.2 Hệ mã AES 32 2.2.1 Giới thiệu 32 2.2.2 Một số khái niệm định nghĩa 33 2.2.3 Cơ sở toán học hệ mã .36 2.2.4 Thuật tốn mã hóa 36 2.2.5 Thuật toán giải mã 41 2.2.6 An toàn thuật toán 43 2.3 Tìm hiểu mã nguồn mở GnuPG 45 2.3.1 Giới thiệu 45 2.3.2 Cài đặt 45 2.3.3 Khố cơng khai khoá riêng tư 46 2.3.4 Tạo cặp khóa 46 2.3.5 Xuất, nhập trao đổi khóa 47 2.3.6 Mã hoá giải mã tài liệu .49 2.3.7 Tạo xác minh chữ ký 50 2.3.8 Quản lý khóa 51 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH 58 3.1 Mơ tả chương trình xây dựng 58 3.2 Kết đạt 59 3.3 Kết luận kiến nghị 62 KẾT LUẬN 64 Danh mục tài liệu tham khảo 64 Danh mục hình vẽ Hình 1 Hệ thống mã hóa Hình Bảng thay ký tự Hình Mơ hình mã hóa sử dụng khóa đối xứng .11 Hình Một số thuật tốn mã hóa đối xứng .12 Hình Sơ đồ mã hóa cơng khai 14 Hình Lược đồ ký kiểm tra chữ ký số 21 Hình Mơ tả thuật tốn 28 Hình 2 Sơ đồ thuật tốn mã hóa giải mã .37 Hình Bảng S-box 38 Hình Hàm ShiftRows 38 Hình Hàm MixColumns 39 Hình Hàm AddRoundKey 40 Hình Hàm InvShiftRows 42 Hình Mã hóa liệu .58 Hình Giải mã liệu .59 Hình 3 Giao diện 60 Hình Giao diện mã hóa 60 Hình Giao diện giải mã 61 Hình Giao diện sinh khóa .61 Hình Giao diện thêm khóa cơng khai .62 Hình Giao diện mã hóa nội dung văn 62 Danh mục từ viết tắt STT 01 02 03 04 05 06 Từ viết tắt RSA USB DES PKI ECC MAC Giải nghĩa Rivest, Shamir, Adleman Universal Serial Bus Data Encryption Standard Public Key Infrastructure Elliptic Curve Cryptography Message Authentication Code 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 MD5 MD4 SHA-1 SSL TCP/IP IETF TSL HTTP IMAP FTP 3-DES DSA PGP NIST S/MIME NSA GCHQ GPL Message Digest Message Digest Secure Hash Algorithm Secure Socket Layer Transmission Control Protocol/ Internet Protocol Internet Engineering Task Force Transport Layer Security Hypertext Transfer Protocol Internet Message Access Protocol File Transfer Protocol Triple-DES Digital Signature Algorithm Pretty Good Privacy National Institute of Standards and Technology Secure/Multipurpose Internet Mail Extensions National Security Agency Government Communications Headquarters General Public License LỜI NÓI ĐẦU Ngày với phát triển mạnh mẽ công nghệ thông tin, gần thông tin quan trọng cá nhân, doanh nghiệp hay phủ lưu trữ máy tính Trong nguy an ninh mạng bảo mật an tồn thơng tin mức báo động tình trạng bị hacker, virus, malware công từ tổ chức khác chương trình giám sát truyền thơng quan An ninh Quốc gia Mỹ - National Security Agency mà Edward Snowden tiết lộ khiến cho thông tin bị đánh cắp, bị theo dõi, quyền điều hành, lây truyền virus sang máy tính khác, liệu bị xóa… liên tục gia tăng không ngừng, gây hậu thiệt hại vô lớn Số vụ công, xâm nhập hệ thống thông tin gia tăng mức báo động số lượng, đa dạng hình thức, tinh vi công nghệ trở thành mối đe dọa an ninh thơng tin địi hỏi nỗ lực phịng chống mạnh mẽ cho hoạt động thơng tin toàn An ninh mạng Việt Nam trở thành đề tài nóng sau hàng loạt công rầm rộ vào website Việt Nam kể từ cuối tháng đến tháng 10 vừa qua Cho nên cá nhân, doanh nghiệp,… việc tuân theo sách bảo mật, dịch vụ an tồn thơng tin từ tổ chức hay cá nhân nên tự bảo vệ thơng tin Đó lí mà em chọn nghiên cứu đề tài “Nghiên cứu xây dựng hệ thống bảo mật nội dung số” Đồ án tập trung tìm hiểu mã hóa thơng tin dựa mã nguồn mở Được hướng dẫn nhiệt tình thầy giáo, em hoàn thành đề tài đồ án tốt nghiệp Do lượng tài liệu chủ yếu tiếng anh kiến thức cịn hạn chế nên khơng tránh khỏi sai sót, mong nhận đóng góp thầy bạn CHƯƠNG TỔNG QUAN VỀ MÃ HÓA 1.1 Khái niệm mã hóa thơng tin Thuật ngữ Cryptography đề cập tới ngành khoa học nghiên cứu mã hóa giải mã thông tin Cụ thể nghiên cứu cách thức chuyển đổi thông tin từ dạng rõ sang dạng mờ ngược lại Đây phương pháp hỗ trợ tốt việc chống lại truy cập bất hợp pháp tới liệu truyền mạng, áp dụng mã hóa khiến cho nội dung thông tin truyền dạng mờ đọc cố tình muốn lấy thơng tin Như biết, Internet hình thành phát triển từ yêu cầu phủ Mỹ nhằm phục vụ cho mục đích quân Khi tham gia trao đổi thông tin, Internet mơi trường khơng an tồn, đầy rủi ro nguy hiểm, khơng có đảm bảo thông tin mà truyền không bị đọc trộm đường truyền Do đó, mã hóa áp dụng biện pháp nhằm giúp tự bảo vệ thơng tin mà gửi Bên cạnh đó, mã hóa cịn có ứng dụng khác bảo đảm tính tồn vẹn liệu 1.2 Sơ lược lịch sử mã hóa thơng tin Mật mã có lịch sử lâu dài đầy màu sắc Nói chung, dạng sớm cách viết bí mật (ngày gọi chung mật mã cổ điển) cần có bút giấy Hai phạm trù mật mã cổ điển mật mã hoán vị, người ta xếp lại trật tự chữ thông điệp, mật mã thay thế, người ta thay có hệ thống chữ hay nhóm chữ chữ hay nhóm chữ khác Văn mật mã hóa mật mã cổ điển có xu hướng lộ thông tin thống kê định văn thường Bằng cách sử dụng thông tin này, mật mã cổ điển dễ bị dò (ví dụ phân tích tần suất) Mật mã cổ điển phổ biến tới ngày nay, chủ yếu thông qua việc giải ô đố chữ Các thiết bị kỹ thuật khác sử dụng để mật mã hóa Một thiết bị sớm có lẽ gậy mật mã Trong nửa đầu kỷ 20, số thiết bị khí phát minh để thực mật mã hóa, bao gồm rotor machines tiếng máy Enigma người Đức sử dụng thứ hai Mật mã thực máy móc tăng độ phức tạp lên đáng kể công việc phân tích mã Với đời máy tính kỹ thuật số điện tử học mật mã phức tạp thực Đặc trưng mật mã máy tính chúng thực chuỗi nhị phân, không giống mơ hình mật mã hóa cổ điển học (chỉ sử dụng bảng chữ với khoảng 26 ký tự-phụ thuộc vào ngôn ngữ) Mật mã máy tính có khả chịu đựng việc phân tích mật mã tốt hơn; mật mã dễ bị tổn thương kiểu cơng biết mã Các nghiên cứu rộng rãi có tính học thuật mật mã hóa đại tương đối gần bắt đầu cộng đồng mở kể từ năm thập niên 1970 với chi tiết kỹ thuật DES (viết tắt tiếng Anh Data Encryption Standard tức Tiêu chuẩn Mật mã hóa Dữ liệu) phát minh RSA Kể từ đó, mật mã hóa trở thành công cụ sử dụng rộng rãi liên lạc bảo mật máy tính Cũng giống học thu từ lịch sử nó, nhà mật mã hóa thận trọng nhắc đến tương lai Định luật Moore thông thường nhắc đến nói độ lớn khóa, hiệu ứng tiềm máy tính lượng tử 1.3 Hệ thống mã hóa Hệ thống mã hóa năm thành phần (P, C, K, E, D) thỏa mãn điều kiện sau: - Tập nguồn P tập hữu hạn tất mẫu tin nguồn cần mã hóa có - Tập đích C tập hữu hạn tất mẫu tin có sau mã hóa - Tập khóa K tập hữu hạn khóa sử dụng - E D tập luật mã hóa giải mã Với khóa k thuộc K, tồn luật mã hóa ek thuộc E luật giải mã dk thuộc D tương ứng Luật mã hóa ek : P → C luật giải mã d k : C → P hai ánh xạ thỏa mãn dk(ek(x)) = x, x thuộc P Hình 1 Hệ thống mã hóa Bên cạnh việc làm để che dấu nội dung mã hóa cần phải đảm bảo yếu tố sau: • Tính bí mật (Confidentiality): Đảm bảo liệu truyền cách an tồn khơng bị lộ thơng tin có cố tình muốn có nội dung liệu gốc ban đầu Và người phép có khả đọc nội dung liệu ban đầu • Tính xác thưc (Authentication): Giúp cho người nhận liệu xác định chắn liệu mà họ nhận liệu gốc ban đầu Kẻ giả mạo có khả để giả dạng người khác hay nói cách khác khơng thể mạo danh để gửi liệu Người nhận có khả kiểm tra nguồn gốc thơng tin mà họ nhận • Tính toàn vẹn (Integrity): Giúp cho người nhận liệu kiểm tra liệu không bị thay đổi q trình truyền Kẻ giả mạo khơng thể có khả thay liệu ban đầu liệu khác • Tính khơng thể chối bỏ (Non-repudation): Người gửi hay người nhận chối bỏ sau gửi nhận thông tin 1.4 Phân loại thuật tốn mã hóa Có nhiều thuật tốn mã hóa khác Từ thuật tốn cơng khai cho tất người sử dụng áp dụng chuẩn chung cho việc mã hóa liệu đến thuật tốn mã hóa khơng cơng bố Có thể phân loại thuật tốn mã hóa sau: Phân loại theo phương pháp: - Mã hóa cổ điển (Classical cryptography) - Mã hóa đối xứng (Symetric cryptography) - Mã hóa bất đối xứng (Asymetric cryptography) - Hàm băm (Hash function) Phân loại theo số lượng khóa: - Mã hóa khóa bí mật (Private-key Cryptography) - Mã hóa khóa cơng khai (Public-key Cryptography) Dưới tìm hiểu khái quát phương pháp mã hóa: 1.4.1 Mã hóa cổ điển Xuất lịch sử, thuật tốn khơng dùng khóa, đơn giản dễ hiểu Là phương pháp mà kí tự (hay nhóm kí tự) rõ thay kí tự (hay nhóm kí tự) khác tạo mã Bên nhận việc đảo ngược lại trình tự thay mã để có rõ ban đầu Nhưng từ phương pháp mã hóa giúp ta tiếp cận với thuật tốn mã hóa đối xứng sử dụng ngày Trong mã hóa cổ điển có hai phương pháp bật là: - Mã hóa thay (Substitution Cipher): Là phương pháp mà kí tự (hay nhóm kí tự) rõ thay kí tự (hay nhóm kí tự) khác để tạo mờ Bên nhận cần đảo ngược trình tự thay mờ để có rõ ban đầu Hình Bảng thay ký tự Ví dụ: Giả sử xây dựng bảng thay kí tự bạn có bảng thay Khi muốn truyền thơng tin cho bạn, chẳng hạn gửi cho bạn dịng văn sau: CABBAC, dựa vào bảng thay kí tự mà tơi bạn xây dựng tơi chuyển thành sau: FEDDEF Sau tơi gửi tới cho bạn, bạn nhận thông tin trên, bạn có bảng thay bạn việc thay ngược lạo bạn có thông tin ban đầu mà muốn gửi cho bạn - Mã hóa hốn vị (Transposition Cipher) hay cịn gọi mã hóa dịch chuyển: Nếu phương pháp mã hóa thay kí tự rõ thay hồn tồn kí tự mờ, phương pháp mã hóa hốn vị, kí tự rõ giữ 10 nguyên, chúng xếp lại vị trí để tạo mờ Tức kí tự rõ hồn tồn khơng bị thay đổi kí tự khác Ngồi cịn có số phương pháp khác: Phương pháp Affine, Vigenere, Hill, … 1.4.2 Mã hóa đối xứng Ở phần trên, tìm hiểu mã hố cổ điển, có nói mã hố cổ điển khơng dùng khố Nhưng thực phân tích cách tổng quát, thấy sau: - Mã hoá cổ điển có sử dụng khố Bằng chứng phương pháp thay khố phép dịch ký tự Trong phương pháp mã hố hốn vị khóa nằm số hàng hay số cột mà qui định Khố thay đổi tuỳ theo mục đích mã hố chúng ta, phải nằm phạm vi cho phép - Để dùng mã hố cổ điển bên mã hoá bên giải mã phải thống với chế mã hoá giải mã Nếu khơng có cơng việc hai bên làm việc với Mã hố đối xứng cịn có số tên gọi khác Secret Key Cryptography (hay Private Key Cryptography), sử dụng khố cho hai q trình mã hố giải mã Quá trình thực sau: Trong hệ thống mã hoá đối xứng, trước truyền liệu, hai bên gửi nhận phải thoả thuận khố dùng chung cho q trình mã hố giải mã Sau đó, bên gửi mã hố rõ (Plaintext) cách sử dụng khố bí mật gửi thơng điệp mã hố cho bên nhận Bên nhận sau nhận thơng điệp mã hố sử dụng khố bí mật mà hai bên thoả thuận để giải mã lấy lại rõ (Plaintext) 51 -END PGP SIGNATURE Dùng tuỳ chọn verify để xác minh chữ kí 2.3.7.3 Chữ kí tách rời Chữ kí tài liệu tách rời nhau, nhờ khơng cần phải khơi phục tài liệu kí gpg output doc.sig detach-sig doc Việc xác minh chữ kí cần tài liệu chữ kí tách rời gpg verify doc.sig doc 2.3.7.4 Cùng lúc mã hố kí tài liệu Đây kết hợp vừa mã hố vừa kí tài liệu gpg -sear uid doc với s: sign, e: encrypt, a: armor, r: recipient Bỏ tuỳ chọn a muốn tạo tập tin nhị phân 2.3.8 Quản lý khóa 2.3.8.1 Thao tác xâu khố Trên xâu khố cơng khai (~/.gnupg/pubring.gpg): gpg list-keys liệt kê khố gpg list-sigs list-keys, kèm chữ kí gpg fingerprint list-keys, kèm dấu vân tay gpg delete-key uid xoá khoá khỏi xâu khoá Trên xâu khoá riêng tư (~/.gnupg/secring.gpg): gpg list-secret-keys liệt kê khố (việc liệt kê chữ kí hay dấu vân tay khố riêng tư khơng có ý nghĩa.) gpg delete-secret-key uid 52 xố khố khỏi xâu khố riêng tư cơng khai Có thể thêm tham số uid vào lệnh liệt kê nêu để xem khố riêng uid 2.3.8.2 Thao tác khố - Xem cặp khóa: gpg edit-key uid Hiển thị khố cơng khai cho dù khố riêng tư có hay khơng Cột cho biết loại khố (pub: khố cơng khai (public master signing key), sub: khố cơng khai phụ (public subordinate key)) Cột thứ hai cho biết chiều dài bit, loại (D: khoá DSA, g: khoá ElGamal dùng mã hoá, G: khố ElGamal dùng cho mã hố kí), ID khoá Cột thứ ba thứ tư cho biết ngày tạo ngày hết hạn khoá Tiếp theo khoá danh sách cước người dùng Lệnh toggle chuyển qua lại khố cơng khai khố riêng tư, hai có mặt Thơng tin khố riêng tư hiển thị tương tự khố cơng khai Từ sec cho biết khố riêng tư (private master signing key) sbb cho biết khoá riêng tư phụ (private subordinate key) - Tính tồn vẹn khố: Một khố cơng khai, cơng bố, bị thay đổi cách thêm hay thay khoá phụ, thêm hay thay đổi cước người dùng Một cách giải cho trường hợp dùng chữ kí số Khi liệu kí khố riêng tư, khố cơng khai tương ứng gắn lên liệu kí Nói cách khác, có khố cơng khai tương ứng dùng để xác minh chữ kí bảo đảm liệu không bị thay đổi Khố cơng khai bảo vệ cách dùng khố riêng tư chủ (master) tương ứng kí lên thành phần cước người dùng khoá cơng khai, từ gắn kết thành phần vào khố cơng khai chủ Việc kí thành phần khố cơng khai với khố riêng tư chủ gọi tự kí Chữ kí cước người dùng kiểm tra lệnh check từ menu lệnh gpg edit-key 53 - Thêm xoá thành phần khoá: Thêm cước người dùng: adduid, có ích cần nhiều cước, thí dụ cước riêng cho nơi làm việc, cho hoạt động xã hội, cho gia đình, dùng nhiều địa email với khoá Thêm khoá phụ (subkey): addkey Giao diện tương tự tạo cặp khoá Khố phụ có ích lợi khố cơng khai chủ, lần thay đổi cần tái xác thực, việc khó khăn thời gian; khố phụ thay đổi dễ dàng việc thay đổi định kì khố phụ điều tốt Nếu khố phụ bị phá tài liệu mã hố với khố bị lộ Khi khoá phụ hay cước người dùng phát sinh, tự kí với khố kí chủ, q trình địi cung cấp cụm từ vượt Xoá cước người dùng khoá phụ: trước hết cần chọn cước khoá phụ muốn thao tác lệnh tương ứng uid key với đối số số thứ tự cước khố phụ Các lệnh có trạng thái bật/tắt (lặp lại lệnh để bỏ chọn chọn lại) Nếu đối số đưa ra, tất cước người dùng khoá phụ bị bỏ chọn Sau chọn, cước người dùng khoá phụ xoá lệnh tương ứng deluid delkey Trong việc quản lí xâu khố chỗ, xoá thành phần khoá cách tốt để loại bỏ thơng tin khơng cần thiết khỏi khố cơng khai người khác Tuy nhiên xố cước người dùng khố phụ khố khơng ln cách hay gây rắc rối cho việc phân phối khoá Theo mặc định, người nhập khố cơng khai cập nhật bạn trộn lẫn với phiên cũ khố cơng khai bạn xâu khố anh ta, tồn Các thành phần từ hai khố kết hợp, phục hồi lại mà bạn xố Trong trường hợp để cập nhật đắn khoá, người dùng cần phải xoá phiên cũ khoá trước nhập khoá Điều đặt thêm gánh nặng cho Hơn bạn gửi khố lên key server, q trình hồ trộn xảy khơng thay đổi Do đó, cập nhật khố người dùng nên thu hồi thành phần khố thay xố chúng 54 - Thu hồi thành phần khoá: Thu hồi khoá phụ với lệnh revkey sau chọn khoá phụ cần thao tác Khố thu hồi có chữ kí tự thân báo thu hồi Khơng tuỳ chọn dịng lệnh gen-revoke, việc thu hồi khố phụ có tác dụng tức Căn cước người dùng miêu tả người thực sở hữu khoá liên hệ, lí thuyết khơng thể thay đổi Tuy thực tế thành tố cước người dùng thay đổi trình sử dụng, địa email lời bình, làm hiệu lực cước người dùng Quy định kĩ thuật OpenPGP không hỗ trợ thu hồi cước người dùng, cước người dùng thu hồi hiệu cách thu hồi chữ kí tự thân có Do đó, lí an tồn, cước người dùng khơng có chữ kí tự thân khơng tin tưởng Chữ kí thu hồi lệnh revsig, có dấu nhắc để định chữ kí cần thu hồi Lệnh check liệt kê chữ kí bị thu hồi.Khố phụ chữ kí tự thân bị thu hồi khơng bị xố mà có chữ kí tự thân thơng báo thu hồi Vì việc thu hồi giúp khố cơng khai giữ quán phân phối nhập với cũ - Cập nhật thời gian hết hiệu lực: Cập nhật thời gian hết hiệu lực (expiration time) khoá lệnh expire Nếu khơng chọn khố khố cập nhật - Xác thực khố: Phần nhập khóa đề cập việc xác thực khố, cách khó khăn có số lượng lớn khố cần xác thực GnuPG giải vấn đề với mạng lưới tin tưởng (web of trust), việc xác thực khố cơng khai uỷ thác cho người tin tưởng, đánh giá qua lệnh trust Trong thực tế, mức tin tưởng mang tính chủ quan Ví dụ A kí khố B B kí khố C D Do khố B xác thực A; A khơng tin tưởng B xác thực đắn khố kí, A khơng chấp nhận khoá C D xác thực dựa chữ kí B Mơ hình mạng lưới 55 tin tưởng giúp kiểm tra khả xác thực khoá cách liên hệ khoá xâu khoá với mức độ tin tưởng bạn vào người chủ khố Có mức tin tưởng: - unknown (q): Không rõ đánh giá người sở hữu kí khố Các khố (khơng phải bạn) xâu khố cơng khai lúc đầu đánh giá mức - none (n): Người sở hữu biết kí khơng khố khác - marginal (m): Người sở hữu hiểu ý nghĩa việc kí khố, xác thực khố trước kí - full (f): Người sở hữu hiểu biết rõ việc kí khố, chữ kí tốt chữ kí bạn - ultimate (u): Bạn có khố riêng tư khố cơng khai Mức tin tưởng đánh giá khoá xem thơng tin riêng tư khơng kèm theo khố xuất Nó lưu trữ sở liệu bên ngồi xâu khố Trong mơ hình mạng lưới tin tưởng, khố K xem xác thực thoả mãn điều kiện: - Nó kí đủ số khố xác thực, nghĩa • Chính bạn kí nó, • Nó kí khố tin tưởng mức full, • Nó kí khố tin tưởng mức marginal; - Khoảng cách từ khoá K trở khố bạn bước Khoảng cách bước, số khố marginal full cân thiết thay đổi Các số bên theo giá trị mặc định dùng GnuPG 2.3.8.3 Tạo chứng nhận thu hồi Chứng nhận thu hồi nên tạo sau tạo cặp khoá để đề phịng trường hợp khố riêng tư, qn cụm từ vượt Tuy nhiên, sau tạo lại chứng nhận thu hồi, có lí cụ thể cho trường hợp thu hồi chuẩn OpenPGP cho phép nêu lí lời bình lí thu hồi 56 gpg output my-revocation.asc gen-revoke mykeyid mykeyid ID cặp khố chính, my-revocation.asc chứng nhận thu hồi phát sinh Nếu khơng có tuỳ chọn output, kết xuất standard output Chứng nhận thường ngắn, in giữ nơi an toàn Chứng nhận thu hồi cơng bố để báo cho người khác biết khố cơng khai khơng cịn sử dụng Trường hợp gặp người dùng quên cụm từ vượt, khố riêng tư bị lộ, Vì hầu hết keyserver không chấp nhận chứng nhận thu hồi dạng "trần trụi", nên chứng nhận cần nhập vào gpg gửi khoá bị thu hồi lên keyserver: gpg import my-revocation.asc gpg keyserver certserver.pgp.com send-keys mykeyid Khố cơng khai bị thu hồi dùng để xác minh chữ kí khứ, dùng để mã hố thơng điệp gửi đến người chủ Nó khơng ảnh hưởng đến việc giải mã thông điệp cũ người dùng cịn khố riêng tư 2.3.8.4 Phân phối khố Khố trao trực tiếp người sử dụng Trong thực tế, khoá thường gửi qua email, số lượng trao đổi ít, đặt trang web riêng tư máy phục vụ lưu trữ chữ kí cơng khai (public key server) Lưu trữ chữ kí key server có ưu điểm nhiều người truy cập lấy chữ kí Gửi khoá lên key server: gpg keyserver key_server send-keys uid Lấy khoá từ key server kiểm tra chữ kí mới: gpg keyserver key_server recv-keys uid Có thể liệt kê nhiều uid lúc thực lệnh Nếu rõ uid, tìm (rồi sau nhập) khố: 57 gpg keyserver key_server search-keys từ_cần_tìm từ_cần_tìm chứa khoảng trắng Nhiều key server cơng cộng có tên miền pgp.net keyserver.net; dùng lệnh "host -la " hay "dig @ axfr " để có danh sách Danh sách key server công cộng liệt kê http://keyserver.kjsl.com/~jharris/keyserver.html Một số ví dụ wwwkeys.eu.pgp.net, pgp.mit.edu, pgp.nic.ad.jp (pgp.nic.ad.jp dùng với cổng 80 - cổng thông thường key server 11371.) Vì key server đồng hố sở liệu nên cần gửi khố cơng khai lên server thường vài khố có mặt hầu hết server Điều làm cho việc dỡ bỏ hay xoá khoá gửi khỏi key server điều không khả thi; thay vào đó, người dùng huỷ bỏ khố cũ cách tải chứng nhận thu hồi lên key server Trong trường hợp quên cụm từ vượt khoá riêng tư để tạo chứng nhận thu hồi, người dùng áp dụng cách sau để báo cho người khác biết khố cơng khai khơng cịn sử dụng: tạo khố mới, tự kí (đừng tải lên key server vào lúc này), thêm ID người dùng "Key revoked not use" vào khố đó, cho ID làm ID người dùng chính, tự kí nó, kí khố cơng khai cũ (nếu bị lấy từ key server) với khố này, tải khố cơng khai cũ lên key server, xoá ID người dùng "Key revoked not use" khỏi khoá mới, tải khố lên key server Ngồi có báo cáo việc bị nhận spam email địa email bị tiết lộ gửi khoá lên key server công cộng Cách giải chủ yếu dựa phần mềm lọc spam cho email người dùng key server khơng làm nhiều chuyện 58 CHƯƠNG XÂY DỰNG CHƯƠNG TRÌNH 3.1 Mơ tả chương trình xây dựng Mục đích xây dựng chương trình nhằm thực việc sinh khóa riêng khóa chung thuật tốn RSA, cơng bố khóa chung cho người, quản lý khóa riêng, khóa chung tạo khóa chung người để sử dụng khóa việc mã hóa giải mã q trình trao đổi liệu Đồng thời người sử dụng dùng chương trình để mã hóa liệu để bảo vệ khỏi nguy an tồn thơng tin Thao tác sử dụng đơn giản với người dùng cuối, đảm bảo an toàn Thời gian mã hóa giải mã liệu phải nhanh Chương trình xây dựng đóng gói giải mã vào nhớ ngồi usb, khóa lữu trữ quản lý usb Khi cắm vào máy tính tự động chạy chương trình cho người sử dụng Q trình mã hóa liệu, chương trình sử dụng khóa để mã hóa liệu Khóa tham gia mã hóa khóa riêng bạn để gửi liệu bạn cho người có khóa riêng bạn khóa chung người mà bạn muốn gửi liệu cho họ Cũng sử dụng khóa bí mật sinh ngẫu nhiên từ khóa riêng cụm từ coi mật bảo vệ khóa bí mật để mã hóa liệu riêng bạn Hình Mã hóa liệu Q trình giải mã sử dụng khóa riêng tương ứng với khóa cơng khai bạn mà người mã hóa để gửi tài liệu cho bạn Cũng tương tự mã hóa, có 59 thể sử dụng khóa cơng khai người khác để giải mã liệu mà họ có chủ đích gửi cho bạn xem sử dụng mật bảo vệ khóa bí mật hay khóa riêng để giải mã liệu mà bạn mã hóa trước Hình Giải mã liệu 3.2 Kết đạt Chương trình viết ngơn ngữ lập trình Dotnet, thực việc tạo cặp khóa cơng khai khóa riêng Xuất khóa ngồi để lưu trữ an tồn trao đổi khóa với người Quản lý khóa cơng khai người trao đổi với Thực viện việc mã hóa giải mã liệu với thời gian mã hóa giải mã chấp nhận Một số hình ảnh chương trình ứng dụng: 60 Hình 3 Giao diện Hình Giao diện mã hóa 61 Hình Giao diện giải mã Hình Giao diện sinh khóa 62 Hình Giao diện thêm khóa cơng khai Hình Giao diện mã hóa nội dung văn 3.3 Kết luận kiến nghị Mặc dù chương trình xây dựng thực chức theo mục tiêu định trước tạo xóa khóa, thêm xuất khóa, chỉnh sửa số thơng tin khóa, mã hóa giải mã liệu cịn hạn chế Chương 63 trình địi hỏi người sử dụng phải tuân thủ theo quy định sử dụng khóa để đảm bảo tính an tồn địi hỏi người sử dụng ln phải nhớ mật Passphrase hay nhiều người sử dụng chương trình sử dụng chương trình máy tính dùng chung hay có kẻ xấu sử dụng máy tính cá nhân người dùng khơng xóa khóa sau sử dụng xong kẻ xấu lấy khóa thứ lúc đảm bảo cho khóa an tồn mật Passphrase nên nguy an toàn cao nhiều Khi muốn thao tác với thư mục phải thao tác tệp tin thư mục trừ thư mục nén lại ví dụ nén thành định dạng tệp đuôi rar Chưa xây dựng chức xác thực tính tồn vẹn liệu, chưa tự động chạy chương trình cắm usb Chương trình thêm khóa có định dạng asc theo tiêu chuẩn OpenPGP nên có phần hạn chế Kết nghiên cứu cịn có hạn chế cần bổ sung: Chương trình cần chỉnh sửa, hoàn thiện để khắc phục hạn chế nêu trên; mở rộng thêm nhiểu chức tự động xóa tệp tin gốc sau mã hóa 64 KẾT LUẬN Sau thực đề tài “ Nghiên cứu xây dựng hệ thống bảo mật nội dung số” em tìm hiểu lý thuyết mã hóa thơng tin tập trung tìm hiểu hai hệ mã hóa RSA hệ mật khóa cơng khai AES mật mã đối xứng đồng thời tìm hiểu cấu trúc, cách sử dụng mã nguồn mở GnuPG Từ lý thuyết tìm hiểu nghiên cứu mà ứng dụng để xây dựng chương trình sinh khóa, trao đổi khóa, mã hóa giải mã liệu thời gian chấp nhận Mặc dù kiến thức cịn hạn chế nên cịn có thiếu sót cần phải nghiên cứu, phát triển them xây dựng chuwogn trình hệ thống để có tính ứng dụng thực tế sử dụng Trong q trình nghiên cứu gặp nhiều khó khăn, vướng mắc nội dung nghiên cứu nhờ có hướng dẫn giúp đỡ tận tình thầy Hồng Tuấn Hảo mà em có kết Em xin chân thành cảm ơn thầy! Danh mục tài liệu tham khảo Phan Đình Diệu, Lý thuyết mật mã an tồn thơng tin, 1999 Đại học Quốc gia Hà Nội 65 Trần Văn Minh, Bài giảng an tồn bảo mật thơng tin, Đại học Nha Trang Cryptography and Network Security Principles and Practices, 4th Edition William Stallings Prentice Hall 2005 Công cụ PGP, http://en.wikipedia.org/wiki/Pretty_Good_Privacy Tiêu chuẩn OpenPGP, http://www.openpgp.org/ The GNU Privacy Guard Manual , version 2.1.0, November 2014 Cryptography, http://en.wikipedia.org/wiki/Cryptography ... đề tài ? ?Nghiên cứu xây dựng hệ thống bảo mật nội dung số? ?? Đồ án tập trung tìm hiểu mã hóa thơng tin dựa mã nguồn mở Được hướng dẫn nhiệt tình thầy giáo, em hoàn thành đề tài đồ án tốt nghiệp Do... gửi kèm với thơng điệp mật mã hóa hệ thống mật mã bất đối xứng tự giải mã với khóa bí mật người nhận Hệ thống phải sử dụng dạng thuật toán để tận dụng ưu hai: thuật toán bất đối xứng đơn giản... thuật tốn bình phương nhân 2.1.5 Một số ý quan trọng RSA Độ an toàn hệ thống RSA dựa vấn đề toán học: toán phân tích thừa số nguyên tố số nguyên lớn toán RSA Nếu toán khơng tìm thuật tốn hiệu để giải

Ngày đăng: 18/03/2016, 18:03

Từ khóa liên quan

Mục lục

  • Danh mục hình vẽ

  • Danh mục những từ viết tắt

  • LỜI NÓI ĐẦU

  • CHƯƠNG 1. TỔNG QUAN VỀ MÃ HÓA

    • 1.1. Khái niệm về mã hóa thông tin

    • 1.2. Sơ lược lịch sử của mã hóa thông tin

    • 1.3. Hệ thống mã hóa

    • 1.4. Phân loại các thuật toán mã hóa

      • 1.4.1. Mã hóa cổ điển

      • 1.4.2. Mã hóa đối xứng

      • 1.4.3. Mã hóa bất đối xứng

      • 1.4.4. Hàm băm – Hashing

      • 1.5.Ứng dụng mã hóa

        • 1.5.1. Giao thức SSL

        • 1.5.2. Chữ ký số

        • 1.5.3. Công cụ mã hóa PGP

          • 1.5.3.1. Giới thiệu chung

          • 1.5.3.2. Mục đích sử dụng PGP

          • 1.5.3.3. Hoạt động của PGP

          • 1.5.3.4. Tính an toàn của PGP

          • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

            • 2.1. Hệ mã RSA

              • 2.1.1. Giới thiệu

              • 2.1.2. Quá trình tạo khóa cho hệ mật RSA

              • 2.1.3. Quá trình mã hóa

              • 2.1.4. Quá trình giải mã

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

  • Đang cập nhật ...

Tài liệu liên quan