ĐẠI HỌC BÁCH KHOA HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ĐỒ ÁN TỐT NGHIỆP
Đề tài: Triển Khai Giao Thức Bảo Mật Thư Điện Tử Với
Thunderbird
Giáo viên hướng dẫn:………
Sinh viên thực hiện: Nguyễn Đức Long
MSSV: 3574593
Hà Nội, 2020
MỤC LỤC
MỤC LỤC ......................................................................................................... i
DANH MỤC HÌNH VẼ ................................................................................. iii
DANH MỤC KÝ HIỆU ................................................................................. iii
LỜI NÓI ĐẦU ................................................................................................. 1
Chương 1. TỔNG QUAN VỀ HỆ THỐNG THƯ ĐIỆN TỬ ...................... 3
1.1. Giới thiệu về hệ thống thư điện tử .......................................................... 3
1.1.1. Khái niệm thư điện tử ........................................................................... 3
1.1.2. Lợi ích của thư điện tử.......................................................................... 3
1.1.3. Cấu trúc của thư điện tử ....................................................................... 4
1.1.4. Các thành phần cơ bản của hệ thống thư điện tử ............................... 5
1.1.5. Hoạt động của hệ thống thư điện tử .................................................... 7
1.2. Các giao thức truyền và nhận thư điện tử ............................................. 8
1.2.1 Giao thức SMTP (Simple Mail Transfer Protocol) .............................. 8
1.2.2. Giao thức POP (Post Office Protocol) ................................................. 9
1.2.3 Giao thức IMAP (Internet Message Access Protocol) ......................... 9
1.3. Một số hệ thống thư điện tử phổ biến hiện nay ..................................... 9
1.3.1. Gmail ...................................................................................................... 9
1.3.2 Outlook Mail ......................................................................................... 10
1.3.3. iCloud Mail .......................................................................................... 10
1.3. Hệ thống thư điện tử truyền thống và hệ thống thư điện tử trên nền
Web ......................................................................................................... 10
1.3.1. Hệ thống thư điện tử truyền thống ..................................................... 10
1.3.2. Hệ thống thư điện tử trên nền Web .................................................... 10
Chương 2. : NGHIÊN CỨU GIAO THỨC BẢO MẬT MAIL................. 11
2.1. Các hiểm họa an toàn đối với hệ thống thư điện tử ............................ 11
2.1.1. Tấn công từ chối dịch vụ .................................................................... 11
2.1.2. Open Relay ........................................................................................... 11
2.1.3. Giả mạo địa chỉ.................................................................................... 12
2.1.4. Spam (Thư rác) ................................................................................... 12
2.1.5. Virus-worm .......................................................................................... 13
2.1.6. Thư gắn mã độc ................................................................................... 13
2.1.7. Tấn công nghe lén ............................................................................... 13
2.2.Giải pháp phịng chống tấn cơng và bảo mật thư điện tử ................... 13
i
3.1. Giao thức bảo mật thư điện tử S/MIMEv4.......................................... 16
3.1.1. Cơ chế CMS (Cryptography message Syntax): Thuật toán mật mã
trong ký số mã hóa Email. ................................................................. 16
3.1.2.Sơ đồ mã hóa, ký số, mã hóa kết hợp ký số E-mail sử dụng S/MIMEv4
............................................................................................................. 17
3.1.3. Quản lý khóa trong S/MIMEv4 .......................................................... 19
3.2.Những cải tiến của giao thức S/MIMEv4 so với S/MIMEv3 .............. 19
3.3. So sánh giao thức S/MIMEv4 và PGP ................................................. 20
CHƯƠNG 3 : Triển Khai Giao Thức Bảo Mật Thư Điện Tử Với
Thunderbird ............................................................................................... 22
3.1.Mơ hình triển khai .................................................................................. 22
3.2. Cài đặt và cấu hình ................................................................................ 22
3.2.1. Cấu hình máy chủ Mail server trên CentOS 8................................... 22
3.2.2. Cấu hình truyền nhận Email trên các máy trạm CentOS 8 .............. 26
a. Cấu hình kết nối mạng ................................................................................ 26
b. Cấu hình hịm thư điện tử trên Thunderbird ............................................... 28
c. Thực hiện truyền nhận Email ...................................................................... 28
3.2.3. Thực hiện bảo mật dịch vụ thư điện tử .............................................. 28
a. Cài đặt và cấu hình CipherMail gateway trên CentOS7 ............................ 28
b. Cấu hình CipherMail gateway để ký số và mã hóa sử dụng giao thức S/MIME
......................................................................................................................... 31
c. Thực hiện truyền nhận Email sau khi triển khai hệ thống CipherMail gateway
......................................................................................................................... 33
3.3. Đánh giá hệ thống thử nghiệm .............................................................. 34
KẾT LUẬN .................................................................................................... 35
TÀI LIỆU THAM KHẢO. ........................................................................... 36
ii
DANH MỤC HÌNH VẼ
Hình 1.1: Sơ đồ tổng quan hệ thống thư điện tử............................................... 5
Hình 1.2: Hoạt động của hệ thống thư điện tử ................................................. 7
Hình 2.1: Hoạt động của hệ thống thư điện tử ............................................... 14
Hình 2.2: Sơ đồ mã hóa nội dung mail ........................................................... 14
Hình 2.3: Sơ đồ ký số và mã hóa nội dung mail ............................................. 15
Hình 2.4: Sơ đồ mã hóa, ký số, mã hóa kết hợp ký số sử dụng S/MIMEv4 .... 17
Hình 3. 1: Mơ hình triển khai hệ thống........... Error! Bookmark not defined.
Hình 3.2: Cấu hình địa chỉ IP tĩnh cho card mạng ens33 .............................. 23
Hình 3.3: Cấu hình hostnameEquation........... Error! Bookmark not defined.
Hình 3. 4: Cấu hình mạng cho máy Client 1 .................................................. 26
Hình 3. 5: Chỉnh sửa tập tin hosts .................................................................. 27
Hình 3. 6: Chỉnh sửa tập tin resolv.conf ......................................................... 27
Hình 3. 7: Cửa sổ xác thực thành cơng hịm thư
......................................................................... Error! Bookmark not defined.
Hình 3. 8: Giao diện hịm thư của người dùng minh trên Thunderbird Mail
......................................................................... Error! Bookmark not defined.
Hình 3. 9: Người dùng minh soạn thư gửi cho người dùng long............. Error!
Bookmark not defined.
Hình 3. 10: Người dùng long nhận được thư từ người dùng minh .......... Error!
Bookmark not defined.
Hình 3. 11: Cấu hình SELinux ........................................................................ 28
Hình 3. 12: Giao diện đăng nhập vào Ciphermail ......................................... 31
Hình 3. 13: Tạo một CA mới ........................................................................... 32
Hình 3. 14: Cấu hình CA................................. Error! Bookmark not defined.
Hình 3. 15: Tạo chứng thư số mới .................. Error! Bookmark not defined.
Hình 3. 16: Tải chứng thư số và khóa bí mật . Error! Bookmark not defined.
Hình 3. 17: Nhập chứng thư số ....................... Error! Bookmark not defined.
iii
Hình 3. 18: Thiết lập độ tin cậy chứng thư số CA cho người dùng ......... Error!
Bookmark not defined.
Hình 3. 19: Lựa chọn chứng thư số để ký và mã hóaError! Bookmark not
defined.
Hình 3. 20: Gửi thư có ký số ........................... Error! Bookmark not defined.
Hình 3. 21: Người dùng long kiểm tra thư có ký sốError!
defined.
Bookmark
not
Hình 3. 22: Gửi thư có mã hóa ....................................................................... 33
Hình 3. 23: Người dùng long nhận được thư đã mã hóa từ người dùng minh
......................................................................... Error! Bookmark not defined.
Hình 3. 24: Gửi thư có mã hóa và ký số ......................................................... 33
Hình 3. 25: Người dùng long nhận thư có mã hóa và ký sốError! Bookmark
not defined.
iv
DANH MỤC KÝ HIỆU
ASCII
American Standard Code for Information Interchange
CA
Certificate Authority
CR
Certificate Repository
CRL
Certificate Revocation List
CTL
Certificate Trust List
DNS
Domain Name System
DLP
Data Leak Prevention
EE
End Entity
HTML
HyperText Markup Language
HTTP
Hypertext Transfer Protocol
IKE
Internet Key Exchange
IMAP
Internet Message Access Protocol
IP
Internet Protocol
ISP
Internet Service Provider
LDAP
Lightweight Directory Access Protocol
MDA
Mail Delivery Agent
MIME
Multipurpose Internet Mail Extensions
MTA
Mail Transfer Agent
MUA
Mail User Agent
PDF
Portable Document Format
PGP
Pretty Good Privacy
PKI
Public Key Insfrastructure
POP
Post Office Protocol
v
RA
Registration Authority
RFC
Request for Comments
SMTP
Simple Mail Transfer Protocol
S/MIME
Secure Multipurpose Internet Mail Extensions
SSL
Secure Sockets Layer
TCP
Transmission Control Protocol
vi
LỜI NÓI ĐẦU
Trong những năm gần đây, sự phát triển của khoa học cơng nghệ và cơng nghệ
thơng tin có một vị trí quan trọng trong mọi lĩnh vực của cuộc sống. Internet đã và
đang trở thành một phần không thể thiếu đối với đời sống của mỗi người trong việc
tìm kiếm thơng tin, trao đổi dữ liệu trong cơng việc, học tập nghiên cứu… Bên cạnh
đó, thư điện tử là một cơng cụ hữu ích trong việc trao đổi thông tin đang được sử
dụng rộng rãi và phổ biến. Hệ thống thư điện tử cho phép thực hiện các giao dịch một
cách nhanh chóng hiệu quả, nâng cao hiệu quả công việc, năng suất lao động, giảm
thời gian thực hiện và chi phí hoạt động. Các thơng tin nhạy cảm và quan trọng cũng
được trao đổi, lưu trữ dưới hình thức thư điện tử. Do đó, trong mơi trường Internet
thiếu an toàn, thư điện tử dễ dàng bị đọc trộm, thay đổi nội dung, mạo danh trước khi
đến người nhận.
Mục tiêu được đặt ra là cần có phương pháp bảo mật thơng tin nhằm đảm bảo
an tồn và bảo mật cho thư điện tử. Đứng trước nhu cầu thực tế đó, nhiều cơng ty bảo
mật đã phối hợp cùng với các doanh nghiệp, chính phủ phát triển các giải pháp, sản
phẩm để bảo vệ thông tin liên quan đến trao đổi thư điện tử trên môi trường Internet.
Hiện nay có rất nhiều sản phẩm bảo mật thư điện tử đã được triển khai như Lockbin,
Thunderbird Mozilla, Safe mail, Zimbra, CipherMail gateway, Ciphermail gateway,
…
Giao thức bảo mật mail S/MIMEv4 sẽ là một giao thức dùng để mã hóa và giải
mã thư điện tử vào/ra. S/MIME có hỗ trợ trên rất nhiều sản phẩm bảo mật thư điện tử
hiện có. Xuất phát từ giải pháp đó và để có được hiểu biết sâu về hệ thống thư điện
tử có bảo mật, em đã chọn đề tài “ Triển Khai Giao Thức Bảo Mật Thư Điện Tử
Với Thunderbird ” làm nội dung nghiên cứu.
Mục tiêu đề tài: Tìm hiểu về hệ thống thư điện tử và ứng dụng hạ tầng
cơ sở khóa cơng khai trong hệ thống thư điện tử; Tìm hiểu về giải pháp ký số
và bảo mật thư điện tử sử dụng giao thức bảo mật S/MIMEv4; Triển khai và thử
nghiệm bảo mật hệ thống E-mail sử dụng giao thức bảo mật S/MIMEv4.
Đề tài gồm 3 chương với nội dung như sau:
Chương 1: Tổng quan về hệ thống thư điện tử
Chương này trình bày tổng quan về cấu trúc hệ thống thư điện tử, bao gồmcá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 truyền nhận và bảo mật thư điện tử, các hiểm họa an toàn và ứng dụng cơ sở hạ
tầng khóa cơng khai cho an tồn và bảo mật hệ thống thư điện tử.
1
Chương 2: Nghiên cứu giao thức bảo mật mail
Chương này trình bày tổng quan về các nguy cơ , lỗ hổng bảo mật, các tấn
công vào hệ thống thư điện tử, các giải pháp phịng chống tấn cơng. Giao thức bảo
mật thư điện tử S/MIMEv4 , những cải tiến của S/MIMEv4 so với S/MIMEv3.
Chương 3: Triển Khai Giao Thức Bảo Mật Thư Điện Tử Với
Thunderbird Chương này trình bày mơ hình triển khai hệ thống bảo mật thư điện
tử với S/MIMEv4 trên CentOS 8, cài đặt cấu hình các máy Mail server, Client, triển
khai S/MIMEv4 để thực hiện ký số, mã hóa và giải mã thư điện tử.
2
CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG THƯ ĐIỆN TỬ
1.1. Giới thiệu về hệ thống thư điện tử
1.1.1. Khái niệm thư điện tử
Thư điện tử là một thông điệp gửi từ máy tính này đến một máy tính khác trên
mạng và mang nội dung cần thiết từ người gửi đến người nhận. Do thư điện tử được
gửi qua mạng nên có tốc độ rất nhanh. Ngồi ra người dùng cịn có thể gửi hoặc nhận
các thư riêng hoặc các bức điện giao dịch với các file đính kèm như hình ảnh, tài liệu,
bản nhạc, chương trình phần mềm…
Thư điện tử cịn được gọi tắt là E-mail (Electronic mail). E-mail có nhiều cấu
trúc khác nhau tùy thuộc vào hệ thống máy tính của người dùng. Mặc dù khác nhau
về cấu trúc nhưng tất cả đều có một mục đích chung là gửi và nhận thư điện tử từ một
nơi này đến một nơi khác nhanh chóng. Vì vậy, thư điện tử được coi là một trong
những dịch vụ thông dụng nhất, được sử dụng rộng rãi trên mọi hệ thống mạng nhất
là mạng Internet và cho phép người dùng trao đổi thông tin với nhau thông qua các
thông điệp một cách đơn giản và nhanh chóng.
Hiện nay, hệ thống mạng máy tính của các trường đại học, tổ chức thương mại,
cơ quan chính quyền đều kết nối Internet giúp cho việc truyền thư được nhanh chóng
và thuận tiện, nâng cao hiệu quả cơng việc.
1.1.2. Lợi ích của thư điện tử
Thư điện tử phát triển dựa trên cấu trúc của Internet và nó trở thành một dịch
vụ phổ biến trên mạng Internet, được sử dụng rộng rãi trên toàn thế giới.
Thư điện tử ngày càng đóng một vai trị quan trọng trong đời sống, khoa học, kinh tế
xã hội, giáo dục, an ninh quốc gia và mang lại rất nhiều lợi ích như:
- Rút ngắn thời gian và khoảng cách giữa việc gửi và nhận thư:
Nếu gửi thư thông thường, thời gian nhận thư sẽ rất lâu và phụ thuộc vào khoảng
cách địa lý. Nhưng với email, người dùng chỉ cần thực hiện vài thao tác đơn giản là
đã có thể gửi thư đi và người nhận nhanh chóng nhận được thư. Như vậy, thời gian
được rút ngắn đáng kể và thao tác cũng được đơn giản một cách tối đa.
- Tiết kiệm chi phí cho q trình chuyển thư từ nơi này sang nơi khác:
Khi gửi thư thông thường sẽ phải mất phí chuyển phát thư. Nhưng khi dùng
email, thơng tin sẽ được truyền mạng Internet và gần như không tốn phí.
3
- Chứa nhiều nội dung thông tin trong một lần gửi:
Email có thể truyền tải một cách đầy đủ thơng điệp mà người dùng muốn gửi đi
bao gồm hình ảnh, âm thanh, nội dung văn bản… với dung lượng lớn theo dạng nhập
trực tiếp vào khung soạn thảo hoặc đính kèm file.
- Tính bảo mật thơng tin cao:
Thơng tin về thư được gửi qua email sẽ hạn chế bị đọc lén hơn so với thư tay vì
email cá nhân có tài khoản và mật khẩu riêng. Một số phần mềm quản lý và lưu trữ
dữ liệu thư điện thử như Microsoft Outlook, Thunderbird… được tích hợp các giao
thức bảo mật thư như S/MIME, OpenPGP… để mã hóa và ký số nội dung thư, do đó
nếu kẻ tấn cơng biết mật khẩu thì cũng khơng thể giả mạo người gửi hay sửa đổi nội
dung thư (với thư đã ký số) cũng như không thể đọc nội dung thư (với thư đã mã
hóa).
1.1.3. Cấu trúc của thư điện tử
- Cấu trúc của địa chỉ thư:
Mỗi người dùng trong hệ thống thư điện tử phải có một địa chỉ thư dùng để thực
hiện việc gửi và nhận thư. Địa chỉ thư được cấu trúc gồm hai phần như sau:
<Hộp thư>@<Vùng quản lý>
+ <Hộp thư>: là địa chỉ của hộp thư của người nhận hay tài khoản thư của người
dùng trên máy chủ quản lý thư.
+ <Vùng quản lý>: là tên miền hay khu vực quản lý của người nhận thư trên
Internet được đăng ký để chứa hộp thư.
Ví dụ:
Trong đó phần trước là phần tên của người dùng (16typh), thường là hộp thư
của người nhận thư trên máy chủ thư điện tử. Sau đó là phần đánh dấu (@). Cuối
cùng là phần tên miền xác định địa chỉ máy chủ thư điện tử quản lý thư mà người
dùng đăng ký (mail.com) và có hộp thư trên đó. Nó thường là tên của một cơ quan
hay một tổ chức và nó hoạt động dựa trên hoạt động của hệ thống tên miền.
- Cấu trúc của thư điện tử:
Thư điện tử được chia làm hai phần chính:
+ Phần đầu (header): chứa tên và địa chỉ của người nhận, tên và địa chỉ của
những người sẽ được chuyển đến, chủ đề của thư, tên và địa chỉ của người gửi, ngày
tháng gửi của bức thư… Cụ thể bao gồm:
4
From: Địa chỉ của người gửi.
To: Địa chỉ 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 bức thư và biết được những ai cùng nhận thư).
Bcc: Địa chỉ của những người nhận riêng (những người này cũng sẽ nhận được
một bản sao của bức thư nhưng không xem được những ai cùng nhận thư).
Date: Thời gian gửi bức thư.
Subject: Chủ đề của bức thư.
+ Phần thân (body): chứa nội dung của thư và các file đính kèm.
1.1.4. Các thành phần cơ bản của hệ thống thư điện tử
Hệ thống thư điện tử là một hệ thống tổng thể bao gồm nhiều thành phần hoạt
động tương tác với nhau.
.
Remote MTAs
E-mail System
Mail Delivery Agent
E-mail Database
POP/IMAP
Mail User Agent
SMTP
SMTP
Mail Transfer Agent
User
Hình 1.1: Sơ đồ tổng quan hệ thống thư điện tử
Mỗi hệ thống thư điện tử bao gồm ba thành phần cơ bản là MUA, MTA và
MDA:
- MTA (Mail Transfer Agent):
MTA có chức năng nhận thư từ MUA, nhận diện người gửi và người nhận từ
thơng tin đóng gói trong phần header của thư và điền các thông tin cần thiết vào
header, sau đó chuyển thư cho MDA để chuyển đến hộp thư ngay tại MTA hoặc
chuyển cho Remote-MTA.
5
MTA sử dụng giao thức SMTP để thực hiện chức năng nhận và chuyển thư.
Việc chuyển giao các thư được MTA quyết định dựa trên địa chỉ người nhận:
+ Nếu địa chỉ người nhận trùng với hộp thư do Local-MTA quản lý thì thư được
chuyển cho MDA để chuyển vào hộp thư của người nhận.
+ Nếu địa chỉ gửi bị lỗi thì thư có thể được chuyển lại người gửi.
+ Nếu thư không bị lỗi nhưng không phải thư của MTA thì tên miền được sử
dụng để xác định Remote-MTA nào sẽ nhận thư theo các bản ghi MX (Mail
Exchange) trên hệ thống tên miền.
+ Khi các bản ghi MX xác định được Remote-MTA quản lý tên miền đó thì
khơng có nghĩa là người nhận thuộc Remote-MTA đó. Remote-MTA có thể đơn giản
chỉ trung chuyển (relay) thư cho MTA khác. Khi khơng xác định được thì nó sẽ gửi
lại cho MTA một cảnh báo.
- MDA (Mail Delivery Agent):
Là một chương trình được MTA sử dụng để chuyển thư vào hộp thư của người
dùng hoặc để truyền tải thư tới một MTA khác. Mỗi MTA sử dụng một hoặc nhiều
MDA, mỗi MDA được sử dụng cho một loại yêu cầu phân phát thư riêng. Ngồi ra
MDA có khả năng lọc thư, định hướng thư… Thơng thường MTA được tích hợp với
MDA.
- MUA (Mail User Agent):
MUA là chương trình quản lý thư đầu cuối cho phép người dùng có thể đọc,
viết và lấy thư về từ MTA.
Khi MUA lấy thư từ Mail Server sẽ dùng giao thức POP hoặc IMAP, còn khi
gửi thư cho một MUA khác thơng qua MTA thì dùng giao thức SMTP.
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ư, đảm bảo các chức năng như:
+ Soạn thảo và gửi thư.
+ Hiển thị nội dung thư bao gồm cả tập tin đính kèm.
+ Gửi trả lời hoặc chuyển tiếp thư.
+ Đính kèm các tập tin vào thư (Text, HTML, MIME…).
+ Thay đổi các tham số (ví dụ: server được sử dụng, kiểu hiển thị thư, kiểu mã
hóa thư…).
+ Thao tác trên các thư mục thư cục bộ và ở xa.
6
+ Cung cấp sổ địa chỉ thư (danh bạ địa chỉ).
+ Lọc thư.
1.1.5. Hoạt động của hệ thống thư điện tử
Hoạt động chính của hệ thống thư điện tử là thực hiện gửi thư, nhận thư và
chuyển thư. Thư điện tử được chuyển nhận thông qua các máy chủ thư (mail server),
thông thường mỗi mail server bao gồm các thành phần MTA, MDA và Mailbox.
Để gửi thư, ta cần định hướng đến máy chủ thư SMTP server (MTA), máy chủ
thư sẽ tìm kiếm địa chỉ và chuyển máy chủ thư của người nhận cho đến khi thư được
lấy về.
Để gửi và nhận thư, người dùng cần có một tài khoản thư điện tử (account).
Nghĩa là người dùng phải có một địa chỉ để nhận thư. Với tài khoản thư điện tử người
dùng có thể kết nối vào máy chủ thư điện tử để lấy thư về máy tính của mình từ bất
cứ đâu.
Để chuyển thư, các máy chủ MTA của người gửi và người nhận liên lạc với
nhau dựa vào hệ thống DNS. Giao thức sử dụng để chuyển thư là giao thức SMTP.
Hình 1.2: Hoạt động của hệ thống thư điện tử
Hoạt động của hệ thống thư điện tử được thực hiện theo mơ hình sau:
- Gửi thư (send): Người dùng sử dụng MUA để viết thư vào địa chỉ người nhận
và bấm gửi thư để chuyển lên MTA của người gửi. Căn cứ vào địa chỉ người nhận,
máy chủ sẽ chuyển thư đến một MTA thích hợp. Nếu người nhận thuộc sự quản lý
của máy chủ thì thư được chuyển đến MDA cục bộ. Quá trình này được điều khiển
bởi giao thức SMTP.
7
- Chuyển thư (delivery): Một MTA khi nhận được thư gửi cho người dùng do
mình quản lý thì sẽ chuyển cho MDA để chuyển vào hộp thư của người dùng đó. Nếu
khơng có người dùng thích hợp thì nó sẽ thơng báo cho bên gửi là người nhận khơng
thích hợp.
- Nhận thư (receive): Sau khi máy nhận (remote-MTA) đó nhận được thư và
chuyển vào hộp thư của người nhận. MUA của người dùng sẽ kết nối đến máy nhận
để xem thư hoặc lấy thư về để xem. Sau khi xem thư người nhận có thể lưu trữ, xóa,
hoặc trả lời… Quá trình này được điều khiển bởi giao thức POP3 hoặc IMAP.
1.2. Các giao thức truyền và nhận thư điện tử
Cũng như bất kỳ một dịch vụ nào liên quan tới máy tính, thư điện tử địi hỏi một
ngơn ngữ chung cho việc truyền thư trên Internet, ngơn ngữ đó được nói đến như là
một giao thức được dùng để truyền thông giữa các Mail Server với nhau hoặc giữa
MTA với Mail Server. SMTP là một giao thức phổ biến nhất trong việc gửi thư, còn
giao thức POP và IMAP được dùng trong việc nhận thư.
1.2.1 Giao thức SMTP (Simple Mail Transfer Protocol)
SMTP là giao thức truyền thư đơn giản, được sử dụng rộng rãi cho việc gửi
mail, chuẩn này thực hiện “lưu trữ và vận chuyển” (store and forward). SMTP được
MTA sử dụng trong việc truyền thư của người gửi đến mail server của người nhận
hoặc từ mail server này đến mail server khác. Kết quả là thư được gửi sẽ nằm trong
mailbox trên mail server của người nhận. SMTP bao gồm một tập các câu lệnh đơn
giản được dùng để khai báo các thông tin cần thiết trong việc gửi thư như là địa chỉ
người nhận, người gửi và dữ liệu thực tế ứng với các lệnh Mail, Rcpt và Data. Giao
thức này chạy trên tầng ứng dụng của TCP/IP và sử dụng cổng mặc định 25.
Giao thức SMTP khơng địi hỏi phải xác nhận người gửi là ai, do đó bất kỳ ai
trên Internet cũng có thể gửi thư điện tử đến một người hoặc thậm chí là một nhóm
người nào đó. Đây là lý do tại sao xuất hiện thư nặc danh hoặc thư quảng cáo trong
hộp thư của người dùng.
Như vậy, SMTP là giao thức có cấu trúc đơn giản, được dùng rất phổ biến và
được hỗ trợ bởi nhiều tổ chức. Tuy nhiên, SMTP thiếu một số chức năng bảo mật
(SMTP thường được gửi dưới dạng văn bản rõ nên có thể bị đọc trộm, vì vậy phải bổ
sung thêm tính năng về mã hóa dữ liệu S/MIME hoặc OpenPGP), ngồi ra giao thức
SMTP còn hỗ trợ đị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).
8
1.2.2. Giao thức POP (Post Office Protocol)
Giao thức POP được dùng để truy nhập và lấy các thông điệp thư điện tử từ
mailbox trên máy chủ thư. POP được thiết kế hỗ trợ xử lý mail trong chế độ offline.
Các thông báo mail được chuyển tới mail server và máy client sử dụng giao thức POP
kết nối tới mail server đó để tải tất cả các thơng báo thư về máy mình. Sau đó, tất cả
q trình xử lý thư được diễn ra trên chính máy trạm này.
POP là giao thức tầng ứng dụng trong mơ hình TCP/IP với cổng mặc định 110
và được quy chuẩn theo tiêu chuẩn RFC 1939. Phiên bản hiện nay của POP là POP3
đang được sử dụng rộng rãi phổ biến. Mặc dù POP3 là thủ tục đơn giản, tiện lợi nhưng
lại có những hạn chế nhất định như chỉ làm việc với chế độ offline, có nghĩa là thư
được lấy về sẽ bị xóa trên server và người dùng chỉ thao tác, tác động trên MUA.
1.2.3 Giao thức IMAP (Internet Message Access Protocol)
IMAP là giao thức cho phép người dùng truy nhập e-mail trên một server từ các
máy trạm khác nhau. IMAP không chỉ tải thông điệp thư điện tử về máy của người
dùng (thơng qua giao thức POP) mà có thể thực hiện các cơng việc như: tạo, sửa, xóa,
đổi tên mailbox, kiểm tra thơng điệp mới, thiết lập và xóa cờ trạng thái…
IMAP được thiết kế trong mơi trường người dùng có thể đăng nhập vào server
cổng 143 từ các máy trạm khác nhau. Giao thức này rất hữu ích khi việc tải thư của
người dùng từ nhiều thiết bị khác nhau, bởi vì khơng phải lúc nào cũng chỉ sử dụng
một máy tính. Trong khi đó, giao thức POP3 khơng cho phép người dùng tác động
lên các server.
Sử dụng IMAP với các mục đích sau:
- Tương thích đầy đủ với các chuẩn thơng điệp Internet (ví dụ: MIME).
- Cho phép truy nhập và quản lý thư từ nhiều máy tính khác nhau.
- Hỗ trợ cả ba chế độ truy nhập: online, offline và disconnected.
- Hỗ trợ truy nhập đồng thời tới các mailbox dùng chung.
- Phần mềm bên máy trạm không cần thiết phải biết kiểu lưu trữ file của server.
1.3. Một số hệ thống thư điện tử phổ biến hiện nay
1.3.1. Gmail
Gmail mang đến cho người dùng tính ổn định khi sử dụng dịch vụ của mình ngồi
ra kết hợp với giao diện thân thiện thời gian chờ hầu như bằng khơng. Gmail cịn tăng
cường an ninh bảo mật bằng xác mình hai bước và bộ lọc chống spam mạnh mẽ. Hộp
9
thư của bạn sẽ bị hạn chế bởi thư rác. Cuối cùng, nó tích hợp với cơng cụ phổ biến
bao gồm cả Google Calendar và Google Documents.
1.3.2 Outlook Mail
Outlook Mail là dịch vụ email miễn phí được phát triển và cung cấp bởi Microsoft.
Được sử dụng chủ yếu như là một ứng dụng e-mail, Outlook cũng sở hữu các tính
năng khác như lịch, quản lý công việc, quản lý liên lạc, ghi chú….
1.3.3. iCloud Mail
iCloud Email là một dịch vụ email miễn phí do Apple cung cấp. khả năng
bảo mật của iCloud Email khá cao. Apple đã sử dụng một số tính năng để đảm
bảo rằng tài khoản của bạn khơng bị xâm phạm, trong đó bao gồm cả quy trình
xác minh 2 bước hoặc xác thực 2 yếu tố. Bên cạnh đó, nó cũng có một bộ lọc
thư rác.
1.3. Hệ thống thư điện tử truyền thống và hệ thống thư điện tử trên nền
Web
1.3.1. Hệ thống thư điện tử truyền thống
Sử dụng chương trình xem email trên nền máy tính để bàn như Microsoft
Outlook, Mozilla Thunderbird hay Eudora để truy cập xem và gửi email.
1.3.2. Hệ thống thư điện tử trên nền Web
Thuật ngữ Email trên nền web và Webmail ám chỉ việc hiện thực một chương
trình xem Email dưới dạng một ứng dụng web cho phép người dùng truy cập e-mail
của họ thơng qua một trình duyệt web, thay vì sử dụng chương trình xem email trên
nền máy tính để bàn như Microsoft Outlook, Mozilla Thunderbird hay Eudora. (Cần
chú ý thuật ngữ "Web" là nói gọn của thuật ngữ "World Wide Web" (mạng tồn cầu),
và đơi khi có thể viết ở dạng chữ thường.) Một webmail khách thường được cung cấp
bởi dịch vụ email, cho phép khách hàng của nó truy cập thư được lưu trữ trên máy
chủ của dịch vụ, nhưng cũng có những ngoại lệ.
10
CHƯƠNG 2. : NGHIÊN CỨU GIAO THỨC BẢO MẬT MAIL
S/MIMEV4
2.1. Các hiểm họa an toàn đối với hệ thống thư điện tử
Các nguy cơ mất an toàn đối với dịch vụ thư điện tử đến từ các tấn công và
các vấn đề thường gặp như sau:
- Tấn công từ chối dịch vụ
- Cơ chế Open Replay trên máy chủ thư
- Tấn công giả mạo địa chỉ thư điện tử
- Thư rác
- Thư có gắn kèm mã độc
- Tấn cơng nghe lén
2.1.1. Tấn công từ chối dịch vụ
Tấn công từ chối dịch vụ (DoS) nhằm mục đích làm cạn kiệt tài nguyên của hệ
thống bằng cách gửi rất nhiều gói tin khiến cho hệ thống không xử lý kịp, hệ thống
không thể đáp ứng được các yêu cầu hợp lệ từ người dùng. Thực chất tấn công DoS
chiếm dụng một lượng lớn tài nguyên trên máy chủ thư làm cho nó không thể đáp
ứng được các yêu cầu của người dùng, máy chủ thư nhanh chóng bị ngừng hoạt động
hoặc khởi động lại. Các tài nguyên đó có thể là các tiến trình, dung lượng ổ cứng, các
file. Tấn cơng DoS có các kiểu sau:
- Tấn cơng DoS vào các tiến trình trên máy chủ thư.
- Tấn cơng DoS làm giảm dung lượng.
2.1.2. Open Relay
Open Relay cho phép bất kỳ ai từ Internet cũng có thể dùng máy chủ thư làm
SMTP gateway. Điều này rất nguy hiểm, vì hiện nay trên Internet các công ty gửi thư
quảng cáo (spam mail) liên tục quét scan các máy chủ OpenRelay
SMTP và sẽ dùng các máy chủ đó để gửi thư đến các mailbox khác. Như vậy
máy chủ thư không những bị tốn tài ngun mà cịn có khả năng bị thêm vào những
danh sách đen (black list) và như vậy nhiều máy chủ thư khác sẽ từ chối tất cả các
thư gửi từ máy chủ đó gửi đi.
11
2.1.3. Giả mạo địa chỉ
Giả mạo địa chỉ là cách thức kẻ tấn công mạo danh địa chỉ thư điện tử của người
khác để gửi thư với nhiều mục đích khác nhau, làm cho người khác lầm tưởng đã
nhận được thư điện tử đáng tin cậy. Kẻ tấn công đã lợi dụng mối quan hệ tin tưởng
này để gửi thư điện tử, có kèm theo virus hoặc các đoạn mã độc hại, đánh cắp các
thông tin hoặc phá hoại các giao dịch của các đối tác kinh doanh làm ăn.
2.1.4. Spam (Thư rác)
Spam hay còn gọi là UBE (Unsolicited Bulk Email) là những thư rác.
Spam lan tràn trên môi trường Internet bằng cách gửi đi rất nhiều các gói tin
với cùng một nội dung, những gói tin này được truyền đến những người mà họ không
thể không nhận chúng. Hầu hết spam nhằm mục đích quảng bá cho các sản phẩm
khơng đáng tin cậy. Khơng những thế spam cịn lừa đảo người dùng tiết lộ những
thông tin tài khoản ngân hàng, thẻ tín dụng và là cơng cụ phát tán virus, Trojan… rất
nguy hiểm. Có hai loại spam chính, chúng có những ảnh hưởng khác nhau đến người
dùng Internet:
- Usernet spam: đây là dạng spam thường gặp trên các diễn đàn, một gói tin sẽ
được gửi đến trên 20 nhóm làm việc mới (newsgroup). Qua quá trình sử dụng,
người dùng thấy rằng bất kỳ một tin nào được gửi đến nhiều nhóm mới một
lúc thường sẽ mang những thơng tin không cần thiết. Usernet spam cố gắng trở
thành một “kẻ giấu mặt” – đọc thơng tin trong các nhóm mới nhưng ít khi hoặc
khơng bao giờ đăng bài hay cho địa chỉ của mình. Usernet spam chiếm quyền
sử dụng của các nhóm mới bằng cách làm tràn ngập các quảng cáo hoặc những
bài viết khơng phù hợp. Ngồi ra, usernet spam có thể làm ảnh hưởng đến quyền
điều khiển quản trị hệ thống, chiếm quyền quản lý một topic nào đó.
- Email spam: Email spam hướng đến người dùng riêng biệt trực tiếp qua các
thư điện tử. Những người tạo spam sẽ tiến hành thu thập địa chỉ thư điện tử bằn
cách duyệt hòm thư người dùng, đánh cắp danh sách thư hay tìm kiếm trên web.
Đối với những người dùng sử dụng dịch vụ điện thoại thì đồng hồ đo vẫn chạy
trong khi họ nhận hay đọc thư, chính vì vậy mà spam làm họ tốn thêm một khoản
tiền. Trên hết, các nhà cung cấp dịch vụ (ISP) và các dịch vụ trực tuyến (online
services) phải tốn tiền để chuyển các email spam đi, những chi phí này sẽ được
chuyển trực tiếp đến các thuê bao.
12
2.1.5. Virus-worm
Từ khi ra đời, email ngày càng chứng tỏ được tính ưu việt so với phương pháp
gửi thư truyền thống. Số lượng người sử dụng thư điện tử ngày càng gia tăng. Chính
vì vậy, nguy cơ gây hại cho hệ thống thư điện tử ảnh hưởng đến rất nhiều người. Các
hacker đã và đang sử dụng thư điện tử như một phương tiện để phát tán virus hiệu
quả với số lượng lớn.
2.1.6. Thư gắn mã độc
Từ khi ra đời, thư điện tử ngày càng chứng tỏ được tính ưu việt so với phương
pháp gửi thư truyền thống. Số lượng người sử dụng thư điện tử ngày càng gia tăng.
Chính vì vậy, nguy cơ gây hại cho hệ thống thư điện tử ảnh hưởng đến rất
nhiều người. Kẻ tấn công đã và đang sử dụng thư điện tử như một phương tiện để
phát tán mã độc hiệu quả với số lượng lớn.
2.1.7. Tấn công nghe lén
Kẻ tấn công sử dụng kỹ thuật tấn công này để bắt thư điện tử gửi đi trong hệ
thống E-Mail. Tấn công này được thực hiện kỹ thuật tấn công này khi nằm cùng mạng
nội bộ với máy người dùng mục tiêu và hệ thống thư điện tử không thiết lập các biện
pháp bảo mật nội dung thư.
2.2.Giải pháp phịng chống tấn cơng và bảo mật thư điện tử
Các tổ chức thông thường muốn bảo vệ tính bảo mật và tính tồn vẹn cho thư
điện tử của họ, chẳng hạn như ngăn chặn sự tiếp xúc tới thơng tin cá nhân trong một
tập tin đính kèm email. Thư điện tử có thể được bảo vệ bằng cách sử dụng mật mã
trong nhiều cách khác nhau, chẳng hạn như sau:
-
Kí một thơng báo email để đảm bảo tính tồn vẹn của nó và xác nhận danh
tính của người gửi.
13
Hình 2.1: Hoạt động của hệ thống thư điện tử
- Mã hóa nội dung của 1 email để đảm bảo tính bí mật.
Hình 2.2: Sơ đồ mã hóa nội dung mail
-
Hai phương pháp đầu tiên, kí và mã hóa phần thân tin nhắn, thường được sử
dụng cùng với nhau. Ví dụ, nếu 1 thơng báo cần phải được mã hóa để bảo vệ
bí mật của nó, nó thường được kí số, để người nhận đảm bảo tính tồn vẹn của
thơng điệp và xác minh danh tính của người kí. Tin nhắn và kí số thường được
mã hóa nếu như tính bảo mật của các nội dung thư cần được bảo vệ.
14
Hình 2.3: Sơ đồ ký số và mã hóa nội dung mail
Phương pháp mã hóa thứ 3 được liệt kê ở trên, mã hóa đường truyền giữa các
máy chủ mail, thường chỉ áp dụng khi 2 tổ chức muốn bảo vệ email thường xuyên
gửi giữa họ. Ví dụ, các tổ chức có thể thiết lập một mạng riêng (VPN) để mã hóa
thơng tin liên lạc giữa máy chủ mail của họ trên Innternet. Không giống như các
phương pháp mà chỉ mã hóa phần thân tin nhắn, một VPN có thể mã hóa tồn bộ tin
nhắn, trong đó có thơng tin tiêu đề tin nhắn như người gửi người nhận và đối tượng.
Trong 1 số trường hợp, các tổ chức có thể cần phải bảo vệ thông tin tiêu đề. Tuy
nhiên, một giải pháp VPN đơn độc không thể cung cấp một cơ chế tin nhắn và cũng
không thể cung cấp việc bảo vệ cho thư điện tử dọc theo toàn tuyến từ người gửi đến
người nhận,.
Thư điện tử hầu hết được bảo vệ bằng chữ kí số và tùy chọn mã hóa chúng.
Các tiêu chuẩn được sử dụng rộng rãi cho việc kí tin nhắn và mã hóa thân tin nhắn là
OpenPGP và S/MIME. Cả 2 đều đều dựa vào hệ mật mã hóa cơng khai, trong đó một
người dùng một cặp khóa liên quan: một khóa cơng khai mà bất kì ai có thể giữ và
một khóa riêng được giữ độc quyền bởi chủ sở hữu của nó. Vì mã hóa khóa cơng khai
địi hỏi việc tính tốn lớn, nên nó phải được sử dụng hạn chế trong bảo mật email;
mật mã khóa đối xứng hiệu quả hơn, được sử dụng nhiều hơn.
Mật mã khóa đối xứng địi hỏi một khóa duy nhất được chia sẻ giữa các bên
truyền tin, người gửi và người nhận của 1 email. Quá trình này bao gồm việc người
gửi tạo ra một khóa ngẫu nhiên và mã hóa các thơng điệp bằng nó sử dụng một thuật
tốn mã hóa đối xứng. Người gửi sau đó mã hóa khóa đối xứng với một thuật tốn
mã hóa khóa cơng khai tương ứng sử dụng khóa công khai của người nhận và gửi cả
15
tin nhắn được mã hóa và khóa đối xứng đã được mã hóa cùng với nhau tới người
nhận. Q trình lai này sử dụng mã hóa khóa cơng khai chỉ để mã hóa khóa đối xứng.
Bởi vì chỉ những người nhận thơng báo hợp lệ mới nắm giữ khóa riêng cần thiết để
khơi phục lại khóa đối xứng, khơng một người nào khác có thể giải mã thơng điệp và
đọc nó. Kĩ thuật chữ kí số dựa trên việc tạo ra một chữ kí hoặc dấu vân tay của các
thơng tin (VD, tin nhắn được gửi đi) sử dụng một hàm băm mật mã, có thể được kí
có hiệu quả hơn so với việc kí tồn bộ tin nhắn.
3.1. Giao thức bảo mật thư điện tử S/MIMEv4
S/MIME (Secure/Multipurpose Internet Mail Extensions), ban đầu được đề
xuất vào năm 1995 bởi RSA data Security, Inc, được dựa trên bản quyền PKCS#7
cho định dạng dữ liệu của các thơng điệp được mã hóa và tiêu chuẩn X.509 phiên bản
4 cho các chứng chỉ số.
S/MIME phiên bản 4 được xác định bởi các RFC như sau:
-
Cryptographic Message Syntax (RFC 5652).
S/MIMEv4 Secure/Multipurpose Internet Mail Extensions (RFC 8551).
S/MIMEv4 Certqificate Handling (RFC 5280).
Diffie- Hellman Key Argeemant Method (RFC 7748).
Enhanced Security Services for S/MIME (RFC 5035).
Tính năng quan trọng nhất của S/MIME là built-in và gần như “tự động” tự
nhiên. Chức năng S/MIME có trong cài đặt mặc định của trình duyệt mail phổ biến
như Mozilla và Outlook Express.
S/MIME phiên bản 4.0 hỗ trợ 2 thuật toán mã hóa khóa đối xứng được khuyến
cáo của FIPS PUB 140-2. AES, được đề nghị nhưng là tùy chọn cho phù hợp triển
khai để hỗ trợ và 3DES, đó là bắt buộc đối với việc triển khai để hỗ trợ. Tổ chức sử
dụng S/MIME để bảo vệ email nên sử dụng AES hay 3DES (tốt nhất là AES vì AES
mạnh hơn 3DES).
3.1.1. Cơ chế CMS (Cryptography message Syntax): Thuật toán mật mã trong
ký số mã hóa Email.
Thơng điệp S/MIME là sự kết hợp của nội dung kiểu MIME và cú pháp
thông điệp mật mã (Cryptographic Message Syntax – CMS). Đây là cú pháp
được sử dụng để ký số, phân loại, xác thực hay mã hóa nội dung thơng điệp tùy
ý. Dữ liệu phải được bảo đảm luôn luôn là một thực thể kiểu MIME (bao gồm
các thông tin như văn bản thơng thường (ngoại trừ văn bản sử dụng bộ kí tự
ASCII), các nội dung dạng 8-bít như hình ảnh, âm thanh, video và các chương
16
trình máy tính). Thực thể kiểu MIME và các dữ liệu khác, chẳng hạn như chứng
thư số hay và định danh thuật toán, được xử lý để tạo ra một đối tượng CMS.
Đối tượng CMS thường được mã hóa sử dụng base64 (một thuật ngữ chỉ một
số cơ chế mã hóa tương tự dùng để mã hóa dữ liệu bằng cách xử lý số và biên
dịch nó thành dạng 64 ký tự trong bảng mã ASCII) với kiểu nội dung (contenttype) application/pkcs7-mime bao gồm 6 kiểu nội dung như sau: “data”,
“signedData”, “envelopedData”, “signedAndEnvelopedData”, “digestedData”
và “encryptedData”. Bên nhận phải hỗ trợ kiểu “data”, “signedData” và
“envelopedData”, bên gửi có thể gửi hoặc không gửi bất kỳ kiểu nội dung nào,
phụ thuộc vào dịch vụ của bên gửi. Phần mở rộng tệp tin cho kiểu nội dung này
có dạng “.p7s”. Tham số bổ sung “smime-type” chỉ ra thơng điệp được mã hóa
hay được ký số. Nếu thông điệp chứa một thành phần bản rõ (clear-text) thì
thành phần này cùng với đối tượng CMS được kết hợp với nhau thành nội dung
đã ký/đa phần (multipart/signed) và đối tượng CMS là thuộc kiểu nội dung
application/pkcs7-signature. Cuối cùng, đối tượng CMS được gói trong định
dạng kiểu MIME. Ngoài ra, S/MIME cũng cung cấp định dạng chỉ cho việc
gói (enveloped) dữ liệu và một số định dạng khác chỉ thực hiện việc ký dữ liệu,
một số định dạng đồng thời thực hiện ký và gói dữ liệu.
3.1.2.Sơ đồ mã hóa, ký số, mã hóa kết hợp ký số E-mail sử dụng S/MIMEv4
Hình 2.4: Sơ đồ mã hóa, ký số, mã hóa kết hợp ký số sử dụng S/MIMEv4
Mơ tả q trình mã hóa và giải mã trong hệ thống:
17
(1) Người dùng A có cặp khóa (Public Key A và Private Key B) được cung cấp bởi
ROOT CA CipherMail. Khi cần gửi email mã cho người dùng B. Người dùng A sử
dụng Public Key B của người dùng B và mã hóa thơng điệp. Cịn khi gửi email đính
kèm chữ kí số để xác thực cho người dùng B thì người dùng A dùng Public A. Quá
trình người dùng A gửi email qua người dùng B và sử dụng giao thức SMTP trên
Server Mail Exchange.
(2) Sau khi qua Server mail exchange bản tin được forward đến cipherMail gateway.
(3) Tại đây bản tin được CipherMail sử dụng giải thuật RSA mã hóa bản tin gửi đi và
đồng thời gửi đến người dùng B.
(4) Bản tin đã được mã hóa.
(5) Tại phía người nhận, hệ thống CipherMail gateway dựa vào giải thuật RSA để
giải mã thư nhận với Private key B. Để chứng thực email do chính người A gửi thì
CipherMail Gateway sử dụng Private key A để giải mã bản tin và match với bản tin
A đã gửi qua hàm băm SHA. Nếu hai bản tin giống nhau thì nội dung thu tồn vẹn và
khơng bị thay đổi.
(6) Sau khi giải mã email nhận, CipherMail gateway chuyển tiếp mail đến Mail
Server.
(7) Tại phía người dùng B đọc thư do người dùng A gửi đến bằng giao thức POP3
gửi lên mail server để lấy mail về.
Mail gateway: Một mail gateway là một máy kết nối giữa các mạng dùng các
giao thức truyền thông khác nhau hoặc kết nối các mạng khác nhau dùng chung giao
thức. Ví dụ một mail gateway có thể kết nối mạng TCP/IP với một mạng chạy bộ
giao thức SNA (system network architure). Một mail gateway chuyển mail giữa
domain nội bộ và các domain bên ngoài.
Mail server: Mail server chứa mailbox của người dùng, nhận mail từ mail
client gửi đến và đưa vào hàng đợi để gửi đến mail host. Mail server nhận mail từ
mail host gửi đến và đưa vào mailbox của người dùng.
Người dùng sử dụng NFS (Network File system) để gắn kết thư mục chưa
mailbox trên mail server để đọc mail. Nếu NFS không được hỗ trợ thì
người dùng phải login vào mail server để nhận thư.
Trong trường hợp mail client hỗ trợ POP/IMAP và trên mail server cũng hỗ trợ
POP/IMAP thì người dùng có thể đọc thư bằng POP/IMAP.
18