Tìm hiểu và triển khai giải pháp bảo mật thư điện tử sử dụng ENIGMAIL học viện kỹ thuật mật mã hoc vien ky thuat mat ma kma CÀI ĐẶT VÀ TRIỂN KHAI THỬ NGHIỆM HỆ THỐNG THƯ ĐIỆN TỬ CÓ BẢO MẬT SỬ DỤNG THUNDERBIRD VÀ ENIGMAIL Chương I: Tổng quan về hệ thống thư điện tử Chương này đồ án trình bày tổng quan về cấu trúc hệ thống thư điện tử, bao gồm các thành phần và mối quan hệ giữa các thành phần trong hệ thống thư điện tử, các giao thức dùng để gửi và nhận trong thư điện tử, các nguy cơ mất an toàn và giải pháp bảo mật thư điện tử. Chương II: Giải pháp bảo mật thư điện tử sử dụng Enigmail Chương này đồ án trình bày về giới thiệu chung cùng các tính năng cơ bản của phần mềm Mozilla Thunderbird, cũng như tiện ích bảo mật Enigmail. Các giao thức bảo mật của Enigmail. Chương III: Cài đặt và triển khai thử nghiệm hệ thống thư điện tử có bảo mật sử dụng Thunderbird và Enigmail Chương cuối đồ án triển khai mô hình khai thác hệ thống thư điện tử sử dụng bảo mật Enigmail, cài đặt trên mail client để thực hiện mã hóa và giải mã thông điệp, ký số cho thư điện tử; mã hóa và giải mã file đính kèm, đảm bảo tính bảo mật và toàn vẹn cho thư điện tử.
TỔNG QUAN VỀ HỆ THỐNG THƯ ĐIỆN TỬ
Giới thiệu về thư điện tử
Thư điện tử, hay còn gọi là email, là phương thức trao đổi tin nhắn điện tử nhanh chóng giữa người gửi và một hoặc nhiều người nhận Được ra mắt lần đầu trong thập niên 60 và phát triển mạnh mẽ đến giữa những năm 1970, email đã dần thay thế thư truyền thống trong việc giao tiếp.
Thư điện tử hoạt động qua Internet, với mô hình lưu và chuyển tiếp cho phép người dùng không cần trực tuyến cùng lúc Các máy chủ thư điện tử chịu trách nhiệm chấp nhận, chuyển tiếp và lưu trữ tin nhắn Người dùng chỉ cần kết nối tạm thời để gửi hoặc nhận thông điệp qua máy chủ hoặc giao diện email trên Web Thông tin có thể được truyền ở dạng mã hóa hoặc thông thường, với hai định dạng nội dung phổ biến là Plain Text và HTML Định dạng HTML cho phép truyền tải đa dạng thông tin như hình ảnh, âm thanh và video, vượt ra ngoài giới hạn của văn bản truyền thống.
1.1.2 Lợi ích và các khía cạnh an toàn của thư điện tử
1.1.2.1 Lợi ích của thư điện tử
Với sự phát triển của công nghệ, nhu cầu trao đổi thông tin nhanh chóng và hiệu quả trở nên cấp thiết hơn bao giờ hết Thư điện tử đã ra đời để đáp ứng nhu cầu này, mang lại nhiều lợi ích như khả năng truyền tải thông tin nhanh chóng, đơn giản và tiện lợi.
Bất kỳ đâu trên thế giới, chỉ cần có Internet, bạn có thể sử dụng các ứng dụng thư điện tử một cách đơn giản và dễ dàng, hầu hết đều miễn phí.
Thư điện tử ngày càng trở nên phổ biến và đóng vai trò quan trọng trong nhiều lĩnh vực như khoa học, kinh tế, giáo dục và an ninh quốc gia, nhờ vào sự phát triển của Internet Do đó, việc khai thác tối đa các tính năng của thư điện tử, bao gồm xác thực người dùng, hỗ trợ chữ ký số và bảo mật mã hóa nội dung, đang được chú trọng.
1.1.2.2 Các khía cạnh an toàn của thư điện tử
An toàn thông tin và an toàn hệ thống là rất quan trọng trong việc gửi và nhận email Để đảm bảo an toàn trong quá trình này, hệ thống cần phải chú ý đến các khía cạnh thiết yếu.
- Tính toàn vẹn: Khả năng đảm bảo thông tin không bị mất mát
- Tính chống chối bỏ: Khả năng đảm bảo các bên tham gia gửi/nhận email
- Tính xác thực: Khả năng đảm bảo nhận biết các đối tác tham gia gửi/nhận email
- Tính bí mật: Khả năng kiểm soát các thông tin và dữ liệu của người dùng
- Tính sẵn sàng: Khả năng đáp ứng của kênh truyền khi thực hiện gửi nhận email
1.1.3 Cấu trúc của thư điện tử
1.1.3.1 Cấu trúc của địa chỉ thư
Mỗi người dùng trong hệ thống thư điện tử cần có một địa chỉ thư điện tử, bao gồm hai phần chính.
+ : Đây là phần xác định hộp thư Phần tên này thường do người đăng ký hộp thư điện tử đặt ra
+ : Đây là tên miền của nơi cung cấp dịch vụ thư điện tử
Ví dụ: nglinh@tdh.com
Địa chỉ email bao gồm ba phần chính: tên người dùng (nglinh), ký hiệu @, và tên miền (tdh.com) Tên người dùng là hộp thư của người nhận trên máy chủ thư điện tử, trong khi tên miền xác định địa chỉ máy chủ quản lý thư mà người dùng đã đăng ký Tên miền thường đại diện cho một cơ quan hoặc tổ chức và hoạt động trong hệ thống tên miền.
1.1.3.2 Cấu trúc của thư điện tử
Thư điện tử (E-mail) được chia thành 2 phần chính:
Phần đầu của bức thư bao gồm tên và địa chỉ của người nhận, tên và địa chỉ của người gửi, chủ đề của thư, cùng với ngày tháng viết thư.
From: địa chỉ của người gửi
To: địa chỉ của người nhận chính
Cc: địa chỉ của những người đồng nhận thư điện tử (những người này sẽ nhận được một bản sao của thư)
Bcc là địa chỉ của những người nhận riêng, cho phép họ nhận bản sao của bức thư mà không biết ai khác cũng nhận thư.
Date: thời gian gửi bức thư
Phần thân (body): chứa nội dung của thư và các file đính kèm.
Kiến trúc và hoạt động của hệ thống thư điện tử
1.2.1 Kiến trúc của hệ thống thư điện tử
Hệ thống thư điện tử là một cấu trúc tổng thể với nhiều thành phần tương tác, mỗi thành phần cung cấp các dịch vụ riêng biệt Các kết quả từ từng thành phần sẽ được chuyển đến các thành phần khác để tiếp tục xử lý.
4 tiếp theo Hình dưới đây là mô hình của hệ thống thư điện tử và sự tương tác giữa các thành phần bên trong:
Hầu hết hệ thống thư điện tử bao gồm ba thành phần cơ bản là MUA, MTA và MDA
MUA là một ứng dụng thư điện tử trên máy trạm, cho phép người dùng đọc và tải thư từ MTA hoạt động trên máy chủ thư tín.
MUA có khả năng lấy thư từ Mail server để xử lý qua giao thức POP3 hoặc chuyển tiếp cho MUA khác thông qua MTA bằng giao thức SMTP Ngoài ra, MUA cũng có thể xử lý trực tiếp thư trên Mail server thông qua giao thức IMAP.
Sau việc vận chuyển thì chức năng chính của MUA là cung cấp giao diện cho người dùng tương tác với thư, gồm có:
- Hiển thị thư, gồm cả các file đính kèm
- Gửi trả hay chuyển tiếp thư
Hình 1.1 Sơ đồ tổng quan hệ thống thư điện tử
- Gắn các file vào các thư gửi đi (Text, HTML, MIME.v.v)
- Thay đổi các tham số (ví dụ như server được sử dụng, kiểu hiển thị thư, kiểu mã hoá thư.v.v)
- Thao tác trên các thư mục thư địa phương và ở đầu xa
- Cung cấp số địa chỉ thư (danh bạ địa chỉ)
Có hai loại MUA là email client và web mail:
Email client là phần mềm cài đặt trên thiết bị người dùng, cho phép tải và lưu trữ thư trên máy tính Một số email client phổ biến bao gồm Outlook Express và Thunderbird Mail.
Hình 1.2 Minh họa cho Email Client
Web mail là ứng dụng email hoạt động trên máy chủ, cho phép người dùng truy cập và tương tác qua giao diện Web Khác với email client, web mail chỉ tải thư từ máy chủ khi người dùng đăng nhập, mà không lưu trữ nội bộ Một số dịch vụ web mail phổ biến hiện nay bao gồm Gmail và Outlook.com.
Hình 1.3 Minh họa cho Web mail 1.2.1.2 MTA (Mail Transfer Agent)
Khi nhận được thư từ MUA, MTA có trách nhiệm xác định người gửi và người nhận thông qua thông tin trong phần header Sau đó, MTA sẽ điền các thông tin cần thiết vào header và chuyển thư đến MDA để gửi đến hộp thư tại MTA hoặc chuyển tiếp đến Remote-MTA.
MTA sử dụng giao thức SMTP để nhận và chuyển thư, quyết định việc chuyển thư dựa trên địa chỉ người nhận trong header của mỗi bức thư.
- Nếu nó trùng với hộp thư do MTA (Local-MTA) quản lý thì bức thư được chuyển cho MDA cục bộ để chuyển vào hộp thư của người nhận
- Nếu địa chỉ gửi bị lỗi, bức thư có thể được chuyển trở lại người gửi
Nếu không có lỗi nhưng thư không phải của MTA, tên miền sẽ được sử dụng để xác định Remote-MTA nhận thư thông qua các bản ghi MX (bản ghi trao đổi thư) trong hệ thống tên miền.
Khi các bản ghi MX xác định Remote-MTA quản lý tên miền, điều này không có nghĩa là người nhận thuộc về Remote-MTA Remote-MTA có thể chỉ đơn giản là trung chuyển thư cho một MTA khác, định tuyến bức thư đến địa chỉ khác như một dịch vụ domain ảo, hoặc người nhận không tồn tại, dẫn đến việc Remote-MTA gửi trả lại cho MUA một cảnh báo.
Phần mềm quản lý thư MTA được tích hợp trong hầu hết các phần mềm Mail Server như: Madaemon, Exchange Server, Sendmail, Qmail, Postfix,…
MDA là chương trình mà MTA sử dụng để chuyển thư vào hộp thư của người dùng, đồng thời có khả năng lọc và định hướng thư MTA thường tích hợp với một hoặc nhiều MDA, và trong một số trường hợp, MDA còn được xem như LDA (Local Delivery Agent).
DNS và dịch vụ thư điện tử có mối liên hệ chặt chẽ, trong đó dịch vụ thư điện tử phụ thuộc vào DNS để gửi và nhận thư giữa các mạng Khi thực hiện việc chuyển thư, Mail Server sử dụng DNS để tra cứu MX record, từ đó xác định máy chủ đích cho việc chuyển tiếp Mail.
Khi một client DNS cần xác định địa chỉ cho một tên miền, nó sẽ thực hiện truy vấn đến máy chủ DNS Quá trình truy vấn và phản hồi của hệ thống DNS cho client được thực hiện thông qua giao thức UDP trên cổng.
UDP hoạt động ở tầng thứ 3 (Network) của mô hình OSI và là một giao thức phi kết nối (Connectionless) Nó tương tự như dịch vụ gửi thư thông thường, nơi thư được bỏ vào thùng thư với hy vọng sẽ đến nơi cần gửi Mỗi message truy vấn từ client bao gồm ba phần thông tin.
- Tên của miền cần truy vấn (tên đầy đủ FQDN)
- Xác định loại bản ghi là mail, web
- Lớp tên miền (phần này thường được xác định là IN internet, ở đây không đi sâu vào phần này)
Tên miền truy vấn đầy đủ là "hostname.example.microsoft.com" với loại truy vấn là địa chỉ A Khi client gửi yêu cầu đến DNS, nó hỏi xem có bản ghi địa chỉ A cho máy tính "hostname.example.microsoft.com" hay không Sau khi nhận được câu trả lời từ DNS server, client sẽ xác định địa chỉ IP của bản ghi A Tóm lại, quy trình của một truy vấn DNS bao gồm hai phần chính.
- Truy vấn sẽ bắt đầu ngay tại client computer để xác định câu trả lời;
- Khi ngay tại client không có câu trả lời, câu hỏi sẽ được chuyển đến DNS server để tìm câu trả lời
1.2.2 Hoạt động của hệ thống thư điện tử
Hệ thống thư điện tử chủ yếu thực hiện việc gửi, nhận và chuyển thư thông qua các máy chủ thư (Mail Server), bao gồm các thành phần MTA, MDA và Mailbox Để gửi thư, người gửi phải định hướng đến máy chủ thư SMTP server (MTA), nơi sẽ tìm kiếm địa chỉ và chuyển thư đến máy chủ của người nhận cho đến khi thư được lấy về Người nhận cần có tài khoản thư điện tử để nhận thư, cho phép họ kết nối vào máy chủ thư điện tử và lấy thư từ bất kỳ đâu Quá trình chuyển thư diễn ra khi MTA của người gửi và người nhận liên lạc qua hệ thống DNS, sử dụng giao thức SMTP để thực hiện việc này.
Hoạt động của hệ thống thư điện tử được thực hiện theo mô hình sau:
Hình 1.4 Hoạt động của hệ thống thư điện tử
Các giao thức hoạt động trong hệ thống thư điện tử
Giao thức mở MIME là tiêu chuẩn Internet định dạng cho thư điện tử, được mô tả trong RFC 822, chỉ hỗ trợ truyền thông điệp văn bản Tuy nhiên, RFC 822 không hỗ trợ các thông điệp có thành phần đính kèm như tài liệu Word hoặc hình ảnh Để khắc phục điều này, giao thức MIME đã được phát triển, trong đó phần tiêu đề của thông điệp vẫn tuân theo RFC 822, nhưng nội dung được mở rộng để hỗ trợ nhiều loại định dạng khác nhau MIME sử dụng các quy ước đặc biệt để thể hiện nội dung đa dạng trong thông điệp thư điện tử.
Ví dụ về các kiểu nội dung đính kèm như sau:
- Âm thanh (Audio) - dùng để truyền các âm thanh hoặc dữ liệu bằng âm thanh
- Ứng dụng (Application) - sử dụng để truyền ứng dụng hoặc dữ liệu nhị phân
- Hình ảnh (Image) - dùng để truyền dữ liệu hình ảnh
- Thông điệp (Message)- dùng để đóng gói thông điệp thư tín khác
Đa phần (Multipart) là một phương thức được sử dụng để kết nối nhiều phần thân của thông điệp, cho phép kết hợp các kiểu dữ liệu khác nhau thành một thông điệp cụ thể.
- Văn bản (Text) - được sử dụng để biểu diễn những thông tin dưới dạng văn bản theo một bộ ký tự nhất định nào đó
- Video (Video) - dùng để truyền video hoặc dữ liệu hình ảnh động, có thể có âm thanh như một phần của phần định dạng dữ liệu video tổng hợp
Các tiêu chuẩn MIME hiện tại gồm 5 phần: RFC 2045, RFC 2046, RFC
RFC 4289 và RFC 2049 mô tả định dạng cho phần thân thông điệp, các loại phương tiện và phần mở rộng tiêu đề thư không thuộc chuẩn ASCII Ngoài các tính năng bổ sung, tài liệu cũng đề cập đến các tính năng quan trọng khác của thư tín như phần đính kèm thông điệp và nhúng dữ liệu dưới định dạng HTML Mặc dù các phần mở rộng MIME cho phép sử dụng nội dung thông điệp dạng nhị phân, nhưng nội dung này phải được biểu diễn dưới định dạng Base64 để tuân thủ quy định trong RFC 822.
Giao thức SMTP, được phát triển bởi Jon Postel từ Đại học Nam California vào tháng 8 năm 1982, là nền tảng của Internet Mail, được định nghĩa trong RFC 821 SMTP cho phép tải lên tin nhắn từ ứng dụng thư khách (MUA) đến máy chủ thư (MTA) và trao đổi tin nhắn giữa các MTA Tuy nhiên, SMTP chỉ được sử dụng để gửi mail, không hỗ trợ việc nhận mail, vì nó không cho phép người dùng lấy thông điệp từ máy chủ theo yêu cầu Giao thức này hoạt động trên giao thức TCP và sử dụng cổng 25.
SMTP, được phát triển từ rất sớm và sử dụng chuẩn ASCII, là giao thức chính cho hầu hết các mailserver trên thế giới, cho phép gửi email qua Internet Tuy nhiên, giao thức này có nhược điểm là thiếu các chức năng bảo mật và không yêu cầu xác nhận danh tính người gửi, dẫn đến việc bất kỳ ai cũng có thể gửi email, gây ra tình trạng thư nặc danh và thư quảng cáo Do đó, cần bổ sung các giao thức bảo mật như S/MIME hoặc OpenPGP để bảo vệ dữ liệu.
12 định dạng dữ liệu rất kém (phải chuyển dữ liệu sang dạng ASCII bằng giao thức MIME)
Khi số lượng người dùng email gia tăng, nhu cầu về các chức năng bổ sung trong ứng dụng thư khách và máy chủ SMTP cũng tăng theo Để đáp ứng nhu cầu này, các tiện ích mở rộng đã được tích hợp vào SMTP Năm 1993, RFC 1425 đã giới thiệu khái niệm mở rộng dịch vụ SMTP, và sau đó đã được thay thế bởi RFC 1651 vào năm 1994, RFC 1869 vào năm 1995, và RFC 2821 vào năm 2001 Những RFC này đã bổ sung ba phần quan trọng vào khung SMTP.
Các lệnh SMTP mới (RFC 1425)
Đăng ký mở rộng dịch vụ SMTP (RFC 1651)
Các tham số bổ sung cho các lệnh SMTP MAIL FROM và RCPT TO (RFC
1.3.2.2 Mô hình hoạt động của SMTP
Thiết kế SMTP dựa trên mô hình truyền thông hai chiều, trong đó Sender-SMTP thiết lập kênh truyền tải tới Receiver-SMTP, có thể là đích hoặc điểm tạm thời Các lệnh SMTP được tạo ra bởi Sender-SMTP và gửi đến Receiver-SMTP, và Receiver-SMTP sẽ phản hồi bằng các lệnh SMTP gửi lại cho Sender-SMTP.
Danh sách các lệnh sử dụng trong SMTP:
Hình 1.5 Mô hình hoạt động của SMTP
1 HELO Định danh Sender-SMTP đối với Receiver-SMTP
2 MAIL Khởi tạo phiên giao dịch mail tới một hoặc nhiều mailbox
3 RCPT Định danh một người nhận dữ liệu mail thông qua tham số forward
4 DATA Các dòng sau lệnh này sẽ là dữ liệu thư
5 RSET Chỉ ra phiên giao dịch thư hiện tại sẽ bị loại bỏ
6 SEND Khởi tạo phiên giao dịch dữ liệu thư phân phối tới một hoặc nhiều terminal
7 SOML Khởi tạo phiên giao dịch dữ liệu mail phân phối tới một hoặc nhiều terminal hoặc nhiều mailbox
8 SAML Khởi tạo phiên giao dịch dữ liệu mail phân phối tới một hoặc nhiều terminal và nhiều mailbox
9 VRFY Yêu cầu người nhận mail xác nhận người sử dụng
10 EXPN Yêu cầu xác nhận tham số để định danh danh sách thư
11 HELP Người nhận gửi thông tin trợ giúp tới người gửi
12 NOOP Nhận được lệnh này từ phía người gửi tức là không thực hiện gì khác, thì người nhận trả lời OK
13 QUIT Lệnh này yêu cầu người nhận gửi tín hiệu trả lời OK, sau đó đóng phiên giao dịch
Lệnh này yêu cầu người nhận phải gửi tín hiệu OK để trở thành Sender-SMTP, hoặc gửi tín hiệu từ chối để xác nhận vai trò Receiver-SMTP.
1.3.3.1 Giới thiệu giao thức POP3
Giao thức POP, được phát triển lần đầu vào năm 1984, chủ yếu được sử dụng để sao chép thư từ máy chủ đến ứng dụng thư khách Nó hoạt động tương tự như một hộp thư bưu điện truyền thống.
Giao thức POP3, phiên bản thứ 3 của giao thức POP, được thiết kế để xử lý email trong chế độ Offline Trong chế độ này, các thông báo mail được chuyển đến máy chủ thư điện tử, và một chương trình thư client trên máy trạm sẽ kết nối với máy chủ để tải tất cả các thông báo mail về máy trạm Sau đó, toàn bộ quá trình xử lý mail diễn ra trên máy trạm đó.
Tiêu chuẩn truy cập hộp thư POP có những hạn chế đáng kể, đặc biệt là việc xóa các bản sao tin nhắn trên máy chủ khi người dùng truy xuất email Điều này đặt ra trách nhiệm lưu trữ thông điệp hoàn toàn cho người dùng, điều này có thể chấp nhận đối với tài khoản cá nhân nhưng không phù hợp với các tổ chức thương mại hoặc chính phủ do yêu cầu pháp lý Mặc dù POP có thể được cấu hình để giữ lại tin nhắn gốc trên máy chủ, người dùng vẫn phải tải xuống tất cả các tin nhắn đã xem trước đó cùng với các tin nhắn mới khi truy cập từ máy chủ khác, hoặc thiết lập thời gian lưu giữ để tin nhắn tự động bị xóa.
1.3.3.2 Nguyên tắc hoạt động của giao thức POP3
Hoạt động của giao thức POP3 được thể hiện ở hình dưới đây:
Hình 1.6 Hoạt động của giao thức POP3
Máy chủ POP3 hoạt động ở chế độ chờ tại cổng 110 Khi khách hàng POP3 muốn sử dụng giao thức này, họ sẽ thiết lập một kết nối TCP tới máy chủ qua cổng 110.
Khi kết nối TCP được thiết lập, máy chủ POP3 sẽ gửi lời chào đến máy khách Phiên làm việc giữa máy khách và máy chủ được khởi tạo, sau đó máy khách gửi các lệnh đến máy chủ và nhận phản hồi cho đến khi kết nối được đóng hoặc bị hủy bỏ.
Một phiên POP3 có 3 trạng thái là: AUTHORIZATION, TRANSACTION và UPDATE
Khi kết nối TCP được thiết lập và máy chủ POP3 gửi lời chào đến client, phiên sẽ chuyển sang trạng thái AUTHORIZATION, nơi máy chủ thực hiện xác thực client Nếu quá trình xác thực thành công, phiên sẽ chuyển sang trạng thái TRANSACTION.
The TRANSACTION state follows the AUTHORIZATION state, allowing the client to access their mailbox on the server to check and receive emails.
- Trạng thái UPDATE: Khi client gửi lệnh QUIT tới server từ trạng thái
Các nguy cơ mất an toàn hệ thống thư điện tử và giải pháp phòng chống
1.4.1 Nghe lén (Eavesdropping) Đọc lén là một tấn công vào lớp Network, tập trung vào việc bắt các gói tin được truyền trên mạng bởi các máy tính khác và đọc nội dung dữ liệu để tìm kiếm bất kỳ loại thông tin nào Một cuộc tấn công đọc lén lợi dụng thông tin liên lạc mạng không bảo mật để truy cập dữ liệu được gửi và nhận Các cuộc tấn công rất khó phát hiện vì chúng không làm cho việc truyền mạng dường như hoạt động bất thường
Tin tặc thường thực hiện các cuộc tấn công man-in-the-middle để bắt gói tin từ người sử dụng email Họ có thể dễ dàng sử dụng các công cụ như Cain&Abel và Ettercap để thực hiện hành vi này.
Để ngăn chặn tình trạng đọc lén, người dùng nên áp dụng các biện pháp bảo mật như sử dụng tường lửa cá nhân, phần mềm chống vi-rút, mạng riêng ảo (VPN) và kỹ thuật mã hóa thông tin khi truyền tải trên mạng.
Để đảm bảo an toàn cho thông tin, việc mã hóa dữ liệu trên server Mail là rất quan trọng Chỉ những người nhận đích thực mới có khóa bảo mật để truy cập thông tin này.
Mạo danh là một vấn đề an ninh mạng nghiêm trọng, trong đó một người giả danh người khác với nhiều mục đích khác nhau, như trêu đùa, làm mất danh dự, bôi nhọ hoặc lừa gạt Trong môi trường thư điện tử, mạo danh có thể xuất hiện dưới nhiều hình thức khác nhau.
Phishing dựa trên malware là một loại phần mềm độc hại được cài đặt trên máy tính của nạn nhân Kẻ lừa đảo thường đính kèm phần mềm độc hại trong các ứng dụng mà người dùng tải về Khi người dùng cài đặt ứng dụng, họ vô tình cũng cài đặt luôn phần mềm độc hại mà không hay biết, dẫn đến việc máy tính của họ bị kiểm soát Phần mềm này sẽ tự động gửi thông tin username và password của nạn nhân cho kẻ lừa đảo.
Meceptive phishing là hình thức lừa đảo mà kẻ gian gửi email giả mạo từ các tổ chức uy tín, chẳng hạn như ngân hàng Email này chứa các đường link dẫn dụ người dùng nhấp vào, yêu cầu cung cấp thông tin cá nhân Khi người dùng làm theo, họ đã rơi vào bẫy của kẻ lừa đảo.
- Các kỹ thuật thường được sử dụng là :
+ Social engineering (Tấn công phi kĩ thuât): Là một loại lừa đảo với mục đích thu thập thông tin, gian lận, hoặc truy cập hệ thống
Mimicry (Bắt chước) là hiện tượng mà mọi email và đường link đều giống với nguồn gửi, trong khi email spoofing (Giả mạo) là việc giả mạo địa chỉ của người gửi, làm cho nạn nhân tin rằng thông tin đến từ người quen của họ.
+ URL hiding (Che dấu URL): Kẻ lừa đảo làm cho các đường link URL trong email liên kết tới các trang khác
+ Invisible content (Ẩn nội dung): Che dấu thông tin trong email nhằm vượt qua các cơ chế lọc email
Để khắc phục vấn đề, cần thiết lập một kênh trao đổi riêng tư, bí mật và an toàn bằng cách mã hóa thông tin cá nhân và nội dung tin nhắn khi truyền tải trên internet Ngoài ra, việc sử dụng chữ ký điện tử cũng giúp giảm thiểu nguy cơ mạo danh.
1.4.3 Sửa đổi thông điệp (Message Modification)
Bất kỳ quản trị viên nào trên SMTP server nơi email được chuyển tiếp đều có khả năng đọc và thay đổi thông điệp của bạn Điều này có nghĩa là người nhận không thể xác định liệu thông điệp của bạn có bị chỉnh sửa hay không Nếu thông điệp bị xóa, họ cũng sẽ không biết rằng một thông điệp đã được gửi đến họ.
Khi email được gửi đến máy chủ mail, nó cần được lưu trữ dưới dạng mã hóa bằng một khóa bảo mật riêng Điều này đảm bảo rằng ngay cả những người có quyền admin trên máy chủ cũng không thể thay đổi nội dung của email.
Thêm nữa cũng phải ngăn chặn không cho System administrator có quyền truy xuất tài khoản email bằng cách đơn giản reset và tạo ra 1 password mới
Phân tích đường truyền là phương pháp dùng để theo dõi và phân tích lưu lượng dữ liệu trên mạng, giúp thu thập thông tin như mật khẩu, tệp tin và email Các giao thức như SMTP, POP và IMAP có thể được phân tích để lấy nội dung bên trong Ban đầu, phương pháp này được thiết kế cho các nhà quản trị hệ thống nhằm kiểm tra và giám sát mạng.
Một số chương trình đề phân tích đường truyền như: Cain&Abel, Wireshark, Pilot…
Khi nội dung thư được mã hóa, kẻ đọc trộm không thể tiếp cận thông tin bên trong, nhưng vẫn có thể thu thập các dữ liệu quan trọng như nguồn gửi, nguồn nhận và thời gian gửi.
Phân tích đường truyền có thể dựa vào các yếu tố như người gửi và người nhận thư điện tử, độ dài thông điệp, và thời điểm gửi Những yếu tố này chứa đựng nhiều thông tin quý giá nếu được khai thác đúng cách.
Giải pháp bảo mật thư trên đường truyền bao gồm việc kết hợp các giao thức bảo mật như SSL và TLS SSL (Secure Socket Layer) là giao thức đa mục đích, được thiết kế để mã hóa toàn bộ thông tin trong quá trình giao tiếp giữa hai chương trình ứng dụng trên một cổng định trước TLS (Transport Layer Security) là phiên bản nâng cấp của SSL, với một số cải tiến bổ sung.
Kết luận chương
Trong chương này, đồ án đã nghiên cứu hệ thống thư điện tử, các giao thức truyền nhận thư, và những vấn đề liên quan đến an toàn trong giao dịch điện tử Bên cạnh đó, các biện pháp đảm bảo an toàn thông tin trong giao dịch điện tử cũng được xem xét, tạo nền tảng cho việc nghiên cứu các chương tiếp theo.
GIẢI PHÁP BẢO MẬT THƯ ĐIỆN TỬ SỬ DỤNG ENIGMAIL
Tìm hiểu về phần mềm Mozilla Thunderbird và tiện ích bảo mật Enigmail 29
2.1.1 Phần mềm thư điện tử Mozilla Thunderbird
2.1.1.1 Giới thiệu về phần mềm Mozilla Thunderbird
Mozilla Thunderbird là một ứng dụng email, tin tức, RSS và trò chuyện đa nền tảng, mã nguồn mở, được phát triển bởi Mozilla Foundation, lấy cảm hứng từ trình duyệt Mozilla Firefox.
Vào ngày 7 tháng 12 năm 2004, phiên bản 1.0 đã được phát hành và nhanh chóng thu hút hơn 500.000 lượt tải trong ba ngày đầu tiên, đạt 1.000.000 lượt chỉ sau 10 ngày Phiên bản này được cài đặt mặc định trên các hệ thống desktop của Ubuntu.
Hình 2.1 Trang chủ của Mozilla Thunderbird 2.1.1.2 Lịch sử phát triển của Mozilla Thunderbird
Ban đầu, Thundernird được biết đến với tên gọi Minotaur, lấy cảm hứng từ Phoenix, tên gốc của Mozilla Firefox Dự án này không thu hút nhiều sự chú ý Tuy nhiên, khi Phoenix thành công, nhu cầu về một ứng dụng email tăng cao, dẫn đến việc Minotaur được hồi sinh với tên mới và chuyển sang bộ công cụ phát triển của nhóm Firefox.
Từ phiên bản 1.5 trở đi, Thunderbird đã khởi động lại các phần việc quan trọng với thông báo mới, trong đó bộ Mozilla chính được thiết kế từ các chương trình tách biệt sử dụng toolkit mới Điều này đánh dấu sự khác biệt so với hướng tiếp cận all-in-one trước đây, với hy vọng tạo ra mã hiệu quả hơn và cho phép người dùng kết hợp các chương trình của Mozilla với các ứng dụng thay thế Đồng thời, bộ ứng dụng Mozilla gốc vẫn tiếp tục được phát triển dưới tên SeaMonkey.
Vào ngày 23/12/2004, Dự án Lightning được giới thiệu như một chức năng lịch tích hợp vào Thunderbird, hiện nay dưới dạng phần bổ trợ Lightning hỗ trợ đầy đủ các cơ chế và giao thức lịch của hạ tầng Mozilla Calendar, tương tự như Sunbird phiên bản hiện đại (post-0.2).
Vào ngày 11/10/2006, Qualcomm và Mozilla Foundation đã công bố rằng các phiên bản tương lai của Eudora sẽ được phát triển dựa trên nền tảng công nghệ tương tự như email client mã nguồn mở của Mozilla, với dự án mang tên mã Penelope.
Cuối năm 2006, Debian đổi thương hiệu Thunderbird thành Icedove vì lý do thương hiệu và bản quyền
Vào ngày 26/07/2007, Mozilla Foundation thông báo rằng Thunderbird sẽ được phát triển bởi một tổ chức độc lập, trong khi Mozilla Corporation, một chi nhánh của quỹ, sẽ tập trung vào việc phát triển trình duyệt Mozilla Firefox.
On September 17, 2007, the Mozilla Foundation announced its sponsorship of a new internet communication initiative in collaboration with Dr David Ascher from ActiveState The goal of this initiative is to "develop internet communication software based on the Thunderbird brand, source code, and products."
Ngày 19/02/2008, Mozilla Messaging bắt đầu hoạt động với tư cách là một chi nhánh của Mozilla Foundation, chịu trách nhiệm phát triển các phương thức
Phiên bản Thunderbird 3 sắp ra mắt với tên mã "Shredder" đã có các bản phát hành Alpha Preview Người dùng có thể liên lạc qua thư điện tử hoặc các phương tiện tương tự.
Ngày 04/04/2011, Mozilla Messaging sáp nhập vào nhóm Mozilla Labs của Mozilla Foundation
Vào ngày 06/07/2012, một bản ghi nhớ bí mật từ Jb Piacentino, Giám đốc điều hành Thunderbird tại Mozilla, đã bị rò rỉ và đăng tải trên TechCrunch, cho thấy rằng Mozilla sẽ chuyển một số nhóm ra khỏi dự án và để lại việc phát triển các tính năng mới cho cộng đồng Bản ghi nhớ này dự kiến được phát hành vào ngày 09/07/2012 Sau đó, giám đốc điều hành Mozilla, Mitchell Baker, đã công bố quyết định của Mozilla về việc chuyển Thunderbird sang một mô hình quản trị và phát hành mới.
Vào ngày 01/12/2015, một bản ghi nhớ toàn công ty đã đề xuất rằng Thunderbird cần được tách rời khỏi hạ tầng của Firefox Thunderbird được xem như một gánh nặng đối với Firefox và không có khả năng tạo ra "tác động toàn ngành" như Firefox đã thực hiện.
Vào ngày 09/05/2017, Philipp Kewisch thông báo rằng Quỹ Mozilla sẽ tiếp tục là tổ chức tài chính và pháp lý cho dự án Thunderbird, trong khi Thunderbird sẽ tách ra khỏi hạ tầng của Mozilla Corporation để hoạt động độc lập hơn.
Các phiên bản beta Thunderbird 57 và 58, được phát hành vào cuối năm
Vào năm 2017, Firefox Quantum đã thực hiện nhiều thay đổi, bao gồm giao diện người dùng mới Mặc dù đã ngừng hỗ trợ các tiện ích bổ sung dựa trên XUL và chuyển sang WebExtensions, phiên bản ổn định/ESR của Thunderbird 60 vào giữa năm 2018 vẫn tiếp tục hỗ trợ các tiện ích này, mặc dù hầu hết cần được cập nhật và không hỗ trợ WebExtensions.
Vào năm 2018, Mozilla đã thông báo rằng họ đang tiến hành hỗ trợ WebExtensions trong Thunderbird 63, đồng thời tiếp tục duy trì một phần hỗ trợ cho các add-on kế thừa.
2.1.1.3 Tính năng của Mozilla Thunderbird
Thunderbird là một ứng dụng quản lý email mạnh mẽ, cho phép người dùng quản lý nhiều tài khoản email, nhóm tin tức và nguồn cấp tin tức, đồng thời hỗ trợ nhiều danh tính trong mỗi tài khoản Với các tính năng nổi bật như tìm kiếm nhanh, thư mục tìm kiếm đã lưu, lọc tin nhắn nâng cao, nhóm tin nhắn và nhãn, Thunderbird giúp người dùng dễ dàng quản lý và tìm kiếm tin nhắn Trên các hệ thống Linux, ứng dụng này hỗ trợ tài khoản thư hệ thống và cung cấp thông báo email mới cơ bản, có thể được mở rộng với các add-on để nâng cao trải nghiệm thông báo.
Các giao thức bảo mật của Enigmail
2.2.1 Giao thức bảo mật PGP
PGP is a protocol designed to provide security at the application layer It is specifically created for encrypting and authenticating emails.
PGP, được ra mắt lần đầu vào năm 1991, nhằm mục đích mã hóa nội dung thư điện tử và các tệp đính kèm cho người dùng phổ thông Từ năm 2002, PGP đã phát triển thành một tập hợp ứng dụng mã hóa đa dạng, có thể được quản lý bởi máy chủ Hiện nay, các ứng dụng PGP bao gồm thư điện tử, chữ ký số, mã hóa ổ đĩa cứng máy tính xách tay, bảo mật tệp và thư mục, bảo vệ các phiên trao đổi IM, mã hóa luồng chuyển tệp, cũng như bảo vệ các tệp và thư mục lưu trữ trên máy chủ mạng.
PGP sử dụng mật mã hóa khóa bất đối xứng, yêu cầu người dùng phải có một cặp khóa bao gồm khóa công khai và khóa bí mật Người gửi mã hóa khóa phiên bằng khóa công khai của người nhận, khóa này được sử dụng trong các thuật toán mật mã hóa khóa đối xứng để bảo vệ thông tin trong phiên giao dịch Nhiều khóa công khai của người dùng PGP được lưu trữ trên các máy chủ khóa PGP toàn cầu.
Trong hệ thống PGP, người nhận sử dụng khóa phiên để giải mã các gói tin, khóa này được gửi kèm với thông điệp nhưng được mã hóa bằng mật mã bất đối xứng Khóa phiên có thể được giải mã bằng khóa bí mật của người nhận Để xác thực thông điệp, người gửi cần ký văn bản bằng thuật toán RSA hoặc DSA, trong đó PGP sẽ tính giá trị hàm băm của văn bản và tạo ra chữ ký số.
Khi người gửi sử dụng khóa bí mật để ký số văn bản và gửi đến người nhận, người nhận sẽ tính lại giá trị băm của văn bản và giải mã chữ ký số bằng khóa công khai của người gửi Nếu hai giá trị băm trùng khớp, điều này cho thấy văn bản chưa bị thay đổi kể từ khi gửi và xác nhận rằng người gửi là chủ sở hữu khóa bí mật tương ứng.
Trong quá trình mã hóa và kiểm tra chữ ký, việc đảm bảo rằng khóa công khai thực sự thuộc về người sở hữu là rất quan trọng Tải xuống khóa công khai từ nguồn không rõ ràng không đảm bảo tính xác thực PGP sử dụng chứng thực số để phân phối khóa, giúp phát hiện sửa đổi không hợp pháp Tuy nhiên, điều này chỉ ngăn chặn sửa đổi sau khi chứng thực đã được tạo ra Người dùng cần có khả năng kiểm tra tính xác thực của khóa công khai Từ phiên bản đầu tiên, PGP đã giới thiệu mạng lưới tín nhiệm, cho phép bên thứ ba xác nhận mỗi khóa công khai và thông tin liên quan.
Trong các đặc tả mới nhất của OpenPGP, chữ ký tin cậy được sử dụng để tạo ra các nhà cung cấp chứng thực số (CA) Chữ ký tin cậy chứng minh rằng một khóa thuộc về người sử dụng và người đó có thể đáng tin cậy để xác nhận khóa ở mức thấp hơn Chữ ký mức 0 tương đương với chữ ký trong mô hình mạng lưới tín nhiệm, trong khi chữ ký mức 1 tương đương với chữ ký của một CA, có khả năng xác nhận vô hạn chữ ký mức 0 Chữ ký mức 2 tương tự như chữ ký trong danh sách.
CA mặc định trong Internet Explorer; nó cho phép người chủ tạo ra các CA khác
PGP được phát triển với tính năng cho phép hủy bỏ hoặc thu hồi các chứng thư đã bị vô hiệu hóa, tương tự như danh sách chứng thư.
39 bị thu hồi của mô hình hạ tầng khóa công khai Các phiên bản PGP gần đây cũng hỗ trợ tính năng hạn sử dụng của chứng thư
Vấn đề xác định mối quan hệ giữa khóa công khai và người sở hữu không chỉ là thách thức của PGP mà còn là vấn đề chung của tất cả các hệ thống sử dụng cặp khóa công khai và khóa bí mật Đến nay, chưa có giải pháp hoàn thiện nào được tìm ra cho vấn đề này Trong khi mô hình ban đầu của PGP trao quyền quyết định cuối cùng cho người sử dụng, các mô hình PKI yêu cầu tất cả các chứng thư phải được xác nhận bởi một nhà cung cấp chứng thư trung tâm, có thể là trực tiếp hoặc gián tiếp.
2.2.1.2 Hoạt động của PGP a, Cơ chế hoạt động của PGP
- Tạo khóa công khai và khóa bí mật
- Trao đổi khóa công khai giữa người gửi và người nhận
- Mã hóa dữ liệu bằng khóa công khai của người nhận
- Giải mã dữ liệu bằng khóa bí mật của người gửi b, Hoạt động của PGP
Hình 2.3 Sơ đồ PGP xác thực
M: Thông báo gốc Z: Nén Z -1 : Giải nén
H: Hàm băm EP: Mã hóa khóa công khai DP: Giải mã khóa công khai
||: Ghép KRa: Khóa riêng của A KUa: Khóa công khai của A
+ Soạn thông báo dạng bản rõ;
+ Tính giá trị hàm băm SHA-256 của nội dung thông báo;
+ Dùng thuật toán RSA mã hóa giá trị hàm băm bằng khóa riêng của người gửi A;
+ Ghép kết quả vừa mã hóa cùng với nội dung thông báo ban đầu và nén; + Gửi cho người nhận B
+ Sau khi giải nén nhận được nội dung thông báo và kết quả mã hóa hàm băm; + Tính giá trị hàm băm SHA-256 của nội dung thông báo;
+ Dùng khóa công khai của người gửi A để giải mã giá trị mã hóa hàm băm rồi so sánh với giá trị băm vừa tính được
- Nếu kết quả bằng nhau thì:
Người nhận đảm bảo rằng thông báo không bị sửa đổi, vì kẻ tấn công không có khóa bí mật để tính đúng giá trị băm của thông báo đã bị thay đổi Đồng thời, người nhận cũng xác nhận rằng thông báo đến từ người gửi, vì chỉ có người gửi mới sở hữu khóa bí mật.
EC: Mã hóa đối xứng DC: Giải mã đối xứng
+ Soạn thông báo dạng bản rõ và nén
+ Người gửi tạo số giả ngẫu nhiên 128 bit;
+ Mã hóa thông báo được nén bằng thuật toán mã hóa (3DES, CAST_128 hoặc IDEA) dùng số giả ngẫu nhiên vừa sinh ra làm khóa phiên liên lạc;
+ Mã hóa khóa phiên bí mật của người gửi A bằng khóa công khai của người nhận B rồi ghép vào đầu thông báo được mã hóa và gửi cho B
+ Tách kết quả mã hóa khóa phiên bí mật ra khỏi thông báo mã hóa;
+ Dùng khóa bí mật của người nhận B để giải mã khóa phiên bí mật;
Sử dụng khóa vừa nhận để giải mã thông báo mã hóa, ta sẽ nhận được thông báo nén Tiếp theo, tiến hành giải nén để lấy lại nội dung thông báo gốc ban đầu.
Kẻ tấn công không thể truy cập nội dung thư vì thiếu khóa bí mật của người nhận, điều này ngăn cản việc giải mã khóa phiên bí mật Ks và nội dung thư.
Hình 2.4 Sơ đồ PGP mã hóa
• PGP kết hợp mã hóa và xác thực
+ Soạn thông báo dạng bản rõ;
+ Tính giá trị hàm băm SHA-256 của nội dung thông báo;
+ Mã hóa giá trị hàm băm bằng khóa riêng của người gửi A;
+ Ghép phần vừa mã hóa cùng nội dung thông báo ban đầu và nén;
+ Tạo số giả ngẫu nhiên 128 bit;
+ Dùng số giả ngẫu nhiên vừa tạo làm khóa phiên liên lạc để mã hóa phần vừa nén;
+ Mã hóa khóa phiên liên lạc bằng khóa công khai của người nhận B và ghép vào phần vừa mã hóa Sau đó gửi cho B
+ Tách kết quả mã hóa khóa phiên bí mật và mã hóa bản nén;
+ Dùng khóa bí mật của người nhận B giải mã khóa phiên bí mật;
+ Dùng khóa phiên giải mã giá trị bản nén, sau đó giải nén;
+ Tách kết quả mã hóa hàm băm ra khỏi nội dung thông báo gốc;
+ Tính giá trị hàm băm SHA-256 của nội dung thông báo gốc;
Hình 2.5 Sơ đồ PGP xác thực và mã hóa
+ Dùng khóa công khai của người gửi A giải mã giá trị mã hóa hàm băm rồi so sánh với giá trị băm vừa tính được
- Nếu kết quả bằng nhau thì:
Người nhận đảm bảo rằng thông báo không bị thay đổi, vì kẻ tấn công không có khóa bí mật và không thể tính toán chính xác giá trị băm của thông báo đã bị sửa đổi.
+ Người nhận đảm bảo rằng thông báo đến từ người gửi vì chỉ có người gửi có khóa bí mật
Kẻ tấn công không thể truy cập nội dung thư vì thiếu khóa bí mật của người nhận, điều này ngăn cản việc giải mã khóa bí mật Ks và nội dung thư.
2.2.1.3 Ưu nhược điểm của PGP
PGP kết hợp mã đối xứng và bất đối xứng, cho phép người dùng chia sẻ thông tin và khóa mật mã an toàn qua Internet Hệ thống này mang lại sự bảo mật của mã hóa đối xứng cùng với tốc độ nhanh chóng Ngoài ra, tính năng chữ ký số của PGP đảm bảo tính toàn vẹn dữ liệu và xác thực người gửi.
Kết luận chương
Chương này tập trung vào phần mềm Mozilla Thunderbird và tiện ích bảo mật Enigmail, khám phá lịch sử phát triển và các tính năng nổi bật của Thunderbird, cũng như các giao thức bảo mật được áp dụng trong Enigmail.