a) Đăng nhập:
Hình 4.13: Giao đăng nhập b) Gửi mail:
Hình 4.14: Giao diện send mail mã hoá
- Chức năng gửi thƣ thông thƣờng không mã hóa: Cách thức gửi thƣ cũng giống với các chƣơng trình khác, điền các thông tin nhƣ (To) địa chỉ ngƣời nhận, (BCC, CC)
thêm địa chỉ ngƣời nhận nhập nội dung thƣ rồi chọn
- Chức năng gửi mã hoá: Sau khi nhập thông tin ngƣời dùng nháy nút Add để thêm file mã hóa khi đó sẽ có tên tệp trong hộp thoại Attachments. Để mã hoá nội dung
Body và file nháy nút Button sẽ chuyển sang
60
hóa sau đó nhấn nút Send gửi đi. Ngƣời nhận cần có key hoặc phƣơng thức mã hóa để có thể đọc đƣợc nội dung
Sau khi gửi thƣ thành công nháy nút để thoát
c) Phƣơng pháp mã hóa:
Bƣớc 1. Mã hóa File:
Ở đây tôi sử dụng DESCryptoServiceProvider với không gian tên là System.Security.Cryptographic trong Microsoft .NET Framework.
Tạo khóa: Tạo một khóa bí mật mã hóa và giải mã dữ liệu.
DESCryptoServiceProvider dựa trên một thuật toán mã hóa đối xứng. Mã hóa đối xứng cần một khóa và một véc-tơ khởi tạo (IV) để mã hóa dữ liệu. Để giải mã dữ liệu, bạn phải có cùng khoá và IV cùng. Bạn cũng phải sử dụng các thuật toán mã hóa tƣơng tự. Bạn có thể tạo các khoá bằng cách sử dụng một trong các phƣơng pháp sau:
Phƣơng pháp 1: Bạn có thể nhắc ngƣời dùng mật khẩu. Sau đó, sử dụng mật khẩu chính và các IV.
Phƣơng pháp 2: Khi bạn tạo một phiên bản mới của mật mã hoá lớp đối xứng, khoá mới và IV đƣợc tự động tạo ra cho phiên bản. Sử dụng phím và IV đƣợc tạo bởi quản lý đối xứng mã lớp mã hóa và giải mã tệp.
Bƣớc 2. Mã Hóa Message: Sử dụng DESCryptoServiceProvider trong thƣ viện mscorlib.dll.của Microsoft.
61
d) Nhận thƣ
Cho phép ngƣời dùng có thể nhận email về từ các Mail server, với phƣơng thức nhận POP3. Để nhận đƣợc mail cần khai báo máy chủ POP3/SMTP, cổng máy chủ POP3/SMTP sau đó gõ tên đăng nhập và mật khẩu của ngƣời dùng, sau khi gõ xong nháy vào nút Login (đăng nhập), chƣơng trình sẽ thiết lập kết nối đến máy chủ POP3/SMTP và tải dữ liệu Email trong thƣ mục Inbox của ngƣời dùng về. Hình 4.15 là kết quả khi chạy chƣơng trình kết nối đến máy chủ POP của máy chủ Gmail.
Hình 4.15: Giao diện kết quả nhận thƣ 4.3. Kết luận:
Trong chƣơng IV thực hiện hai công việc công việc đầu tiên là mô tả các thao tác cài đặt một số thuật thuật toán mã hoá thƣờng sử dụng trong bảo mật thƣ điện tử nhƣ DES trong mã hoá bí mật và RSA trong mã hoá công khai,
Việc thứ hai triển khai ứng dụng gửi thƣ điện tử/nhận thƣ điện tử trên ngôn ngữ lập trình C#
62
KẾT LUẬN
Công nghệ thông tin và truyền thông đóng vai trò ngày càng quan trọng trong cuộc sống hàng ngày của con ngƣời, làm biến đổi sâu sắc cách thức làm việc, giải trí, các nguyên tắc tiến hành kinh doanh,… Vì vậy để đảm bảo an toàn thông tin cần phải tìm hiểu, nghiên cứu các nguy cơ mất an toàn thông tin nhƣ: nguy cơ về vật lý, về phầm mềm độc hại,…và sử dụng các biện pháp bảo vệ hệ thống thông tin một cách an toàn nhƣ: sử dụng các chính sách, các kỹ thuật an toàn thông tin và các phần mềm mã hoá - giải mã và gửi thƣ điện tử.
Sau một năm thực hiện, luận văn đã hoàn thành và đạt đƣợc một số kết quả và đƣa ra phƣơng hƣớng phát triển sau đây:
Kết quả đạt đƣợc: Luận văn tập trung xem xét một số vấn đề về kỹ thuật mã hoá và giải mã văn bản, với một số kỹ thuật đi kèm nhƣ DES, RSA, các hàm băm, … Một số kết quả luận văn đã đạt đƣợc:
• Những khái niệm, phân tích các mô hình ATTT, đặc điểm cơ bản của một hệ thống PKI. Ứng dụng của hạ tầng khóa bí mật và công khai trong thƣơng mại điện tử. Tƣ tƣởng của thuật toán cấp phát khóa, sinh, mã hoá rồi giải mã (RSA, DES,…), chỉ rõ ƣu nhƣợc điểm của từng thuật toán, định nghĩa và đặc tính của hàm băm.
• Xây dựng một ứng dụng mã hoá Body message và file dữ liệu text có cấu trúc dùng để gửi thƣ điện tử. Nhằm phục vụ cho nhu cầu gửi thƣ an toàn bảo mật. Điều này đã giúp cho ngƣời dùng giao dịch an toàn hơn trong trƣờng hợp nếu có kẻ tấn công vào truy cập email cũng khó giải mã đƣợc văn bản.
• Chƣơng trình gửi mail sử dụng máy chú SMTP, POP3,… nhƣng không lƣu trữ trong hòm thƣ của các phần mềm web gmail, thunderbird, zimbra,.. nên an toàn hơn nếu bị đánh cắp mật khẩu.
Hƣớng phát triển:
Sử dụng RSA để mã hóa một tập tin lớn không phải là một ý tƣởng tốt. Ta có thể ví dụ tạo ra một khoá AES ngẫu nhiên, mã hóa nó sử dụng RSA và lƣu trữ nó
63
trong tập tin đầu ra, và sau đó mã hóa các tập tin riêng của mình với AES, mà là nhanh hơn nhiều và không có bất kỳ vấn đề với đầu vào lớn. Các giải mã sẽ đọc các khoá AES mã hóa, giải mã nó, và sau đó giải mã phần còn lại của tập tin với AES.
Chúng ta có thể sử dụng một khóa đối xứng để mã hóa và giải mã dữ liệu (> 128 byte) đƣợc chuyển nhƣợng. RSA chỉ có thể mã hóa dữ liệu lên đến một mức độ nhất định (ví dụ nhƣ 128 byte) mà phụ thuộc vào độ dài khóa RSA.
Điều đó có nghĩa là nếu muốn chuyển bất cứ điều gì lớn hơn 128 byte, phải chuyển một khóa đối xứng <128 byte đầu tiên để có thể có những điều sau đây:
Tạo một khóa đối xứng (<128 byte) Khóa đối xứng Mã hóa RSA
Chuyển mã hóa khóa đối xứng Giải mã khóa đối xứng với RSA
Mã hóa dữ liệu (> 128 byte) với khóa đối xứng Truyền dữ liệu mã hóa
Giải mã dữ liệu mã hóa với khóa đối xứng
hoặc (chuyển mã hóa khóa đối xứng và mã hóa dữ liệu cùng một lúc) Tạo một khóa đối xứng (<128 byte)
khóa đối xứng Mã hóa RSA
Mã hóa dữ liệu ( >128 byte) với khóa đối xứng Chuyển mã hóa khóa đối xứng và mã hóa dữ liệu Giải mã khóa đối xứng với RSA
Giải mã dữ liệu mã hóa với khóa đối xứng
Chƣơng trình mới chỉ gửi văn bản mã hóa văn bản, file mà chƣa có chức năng nhận mail mã hóa và nhúng vào đƣợc với các phần mềm mã nguồn mở nhƣ Mozzilla thunderbird, Zimbra,…
Luận văn chƣa đề xuất một cấu trúc an ninh mới cho môi trƣờng điện toán đám mây bao gồm hệ thống mã hóa các tập tin AES, hệ thống RSA cho truyền thông an toàn, mật khẩu một lần để xác thực ngƣời dùng và kỹ thuật băm MD5 để che giấu thông tin. Mô hình này đảm bảo an ninh cho toàn bộ cấu trúc điện toán đám mây.
64
TÀI LIỆU THAM KHẢO
Tài liệu tham khảo tiếng Việt
[1] Phan Đình Diệu (2006), Giáo trình lý thuyết mật mã và an toàn thông tin, NXB ĐH Quốc Gia Hà Nội.
[2] Trần Văn Dũng (2010), Giáo trình An toàn và bảo mật thông tin, Trƣờng Đại học Giao thông Vận tải.
[3] Phạm Huy Điển, Hà Huy Khoái (2003), Mã hóa thông tin, cơ sở toán học và ứng dụng, NXB Quốc gia Hà Nội, Hà Nội.
[4] Nguyễn Hiếu Minh (2013), An ninh hệ thống mạng máy tính, Chƣơng 1, NXB Quân Đội Nhân Dân.
[5] Trịnh Nhật Tiến (2008), Giáo trình an toàn dữ liệu, ĐH Quốc gia Hà Nội. [6] Hoàng Sỹ Tƣơng (2015), ―Mô hình an toàn thông tin thế hệ mới ‖, Công
nghệ thông tin và truyền thông, phần 2
[7] Trần Minh Văn (2008), Bài giảng An toàn và bảo mật thông tin, Trƣờng Đại học Nha Trang.
[8] Nguyễn Khánh Văn – Trần Đức Khánh (2012), Giáo trình an toàn và bảo mật thông tin, ĐH Bách Khoa Hà Nội.
Tài liệu tham khảoWebsites :
[9] https://voer.edu.vn/m/phuong-thuc-hoat-dong-cua-mot-he-thong-thu-dien- tu/7ced7499 6/2016) Cập nhật ngày 6/2016.
[10] Zxc232.wordpress.com, Zimbra, 17/8/2009, Cập nhật ngày 11/2015. [11] https://securityinabox.org/vi/thunderbird_portable Cập nhật ngày 6/2016. [12]Wikipedia, https://vi.wikipedia.org/wiki/DES_(m%C3%A3_h%C3%B3a),
Cập nhật ngày 6/2016.
[13] Wikipedia, https://vi.wikipedia.org/wiki/RSA_(m%C3%A3_h%C3%B3a), Cập nhật ngày 6/2016.
65
Tài liệu tham khảo Tiếng Anh
[14] Alfred J. Menezes, Paul C Oorschot., Scott A. Vanstone (1996). Handbook of Applied Cryptography. CRC Press.
[15] Kawser Wazed Nafi, and Tonny Shekha Kar and Sayed Anisul Hoque and M. M. Hashem (2012) A Newer User Authentication, File encryption and Distributed Server Based Cloud Computing security architecture .
[16] Burt Kaliski The Mathematics of the RSA Public-Key Cryptosystem RSA Laboratories.
[17] Jonathan Katz Yehuda Lindell (2007), Introduction to Modern Cryptography, Chapman &Hall/CRC.
[18] T. ElGamal, ―A subexponential-time algorithm for computing discrete logarithms over GF (p2),‖ IEEE Trans. Inform. Theory, this issue.
[19] W. Diffie and M. Hellman (1976), ―New directions in cryptography.‖ IEEE Trans. Inform. Theory, vol. IT-22, pp. 472-492.
[20] William Stallings (2005) - Cryptography and Network Security Principles and Practices, 4th Edition - Prentice Hall.