Tải bản đầy đủ (.pdf) (69 trang)

TÌM HIỂU PHÁT TRIỂN GIẢI PHÁP KÝ SỐ VÀ BẢO MẬT THƯ ĐIỆN TỬ SỬ DỤNG DJIGZO GATEWAY

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.62 MB, 69 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ĐỒ ÁN TỐT NGHIỆP
TÌM HIỂU PHÁT TRIỂN GIẢI PHÁP KÝ SỐ VÀ
BẢO MẬT THƯ ĐIỆN TỬ SỬ DỤNG DJIGZO
GATEWAY
Sinh viên thực hiện:
Nguyễn Văn Toàn
Chuyên ngành: Công Nghệ Thông Tin

Hà Nội, 2022


MỤC LỤC
MỤC LỤC ...................................................................................................... i
DANH MỤC CÁC CHỮ VIẾT TẮT ............................................................ iii
DANH MỤC CÁC HÌNH VẼ ........................................................................ v
LỜI NĨI ĐẦU ............................................................................................. vii
TỔNG QUAN VỀ HỆ THỐNG THƯ ĐIỆN TỬ ..................... 1
1.1. Giới thiệu về hệ thống thư điện tử .......................................................... 1
1.1.1. Khái niệm thư điện tử ........................................................................... 1
1.1.2. Lợi ích của thư điện tử.......................... Error! Bookmark not defined.
1.1.3. Cấu trúc của thư điện tử ....................................................................... 1
1.1.4. Các thành phần cơ bản của hệ thống thư điện tử ................................... 2
1.2. Một số giao thức sử dụng trong hệ thống thư điện tử .............................. 4
1.2.1. Các giao thức truyền và nhận thư điện tử.............................................. 4
1.2.2. Các giao thức bảo mật thư điện tử ........................................................ 5
1.3. Hoạt động của hệ thống thư điện tử và quá trình truyền nhận thư trên
Internet ......................................................................................................... 10
1.3.1. Hoạt động của hệ thống thư điện tử .................................................... 10


1.3.2. Quá trình truyền nhận thư trên Internet ............................................... 11
1.4. Các hiểm họa an toàn đối với hệ thống thư điện tửError! Bookmark not
defined.
1.4.1. Tấn công từ chối dịch vụ ...................... Error! Bookmark not defined.
1.4.2. Open Relay........................................... Error! Bookmark not defined.
1.4.3. Giả mạo địa chỉ .................................... Error! Bookmark not defined.
1.4.4. Spam Error! Bookmark not defined.
1.4.5. Virus-worm .......................................... Error! Bookmark not defined.
1.5. Ứng dụng cơ sở hạ tầng khóa cơng khai cho an toàn và bảo mật thư điện
tử 12
1.5.1. Cơ sở hạ tầng khóa cơng khai (PKI) ................................................... 12
1.5.2. Chữ ký số ........................................................................................... 23
1.5.3. Chứng thư số ...................................................................................... 26
1.5.4. Ứng dụng PKI cho an toàn và bảo mật thư điện tử ............................. 29
1.6. Kết luận chương ................................................................................... 32
i


GIẢI PHÁP KÝ SỐ VÀ BẢO MẬT THƯ ĐIỆN TỬ SỬ DỤNG
DJIGZO GATEWAY ................................................................................... 33
2.1. Tổng quan về Djigzo gateway .............................................................. 33
2.1.1. Giới thiệu về Djigzo gateway ............................................................. 33
2.1.2. Đặc điểm và tính năng của Djigzo gateway ........................................ 33
2.2. Lưu đồ hoạt động của hệ thống Djigzo gateway ................................... 38
2.3. Một số ưu nhược điểm của hệ thống Djigzo gateway ........................... 41
2.3.1. Ưu điểm ............................................................................................. 41
2.3.2. Nhược điểm ........................................................................................ 42
2.4. Kết luận chương ................................................................................... 42
TRIỂN KHAI VÀ THỬ NGHIỆM HỆ THỐNG THƯ ĐIỆN TỬ
MẬT DJIGZO GATEWAY ......................................................................... 43

3.1. Mơ hình triển khai ................................................................................ 43
3.2. Cài đặt và cấu hình ............................................................................... 43
3.2.1. Cấu hình máy chủ Mail server trên CentOS 7 ..................................... 43
3.2.2. Cấu hình truyền nhận Email trên các máy trạm Ubuntu 19.04 ............ 47
3.2.3. Thực hiện bảo mật dịch vụ thư điện tử ............................................... 49
3.3. Đánh giá hệ thống thử nghiệm .............................................................. 57
3.4. Kết luận chương ................................................................................... 57
KẾT LUẬN .................................................................................................. 59
TÀI LIỆU THAM KHẢO ............................................................................ 60

ii


DANH MỤC CÁC CHỮ VIẾT TẮT
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
iii


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

iv


DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Sơ đồ tổng quan hệ thống thư điện tử ............................................. 2
Hình 1.2: Sơ đồ ký số và kiểm tra chữ ký sử dụng S/MIME ........................... 6
Hình 1.3: Sơ đồ mã hóa và giải mã sử dụng S/MIME ..................................... 7
Hình 1.4: Sơ đồ kết hợp ký số và mã hóa sử dụng S/MIME ........................... 7
Hình 1.5: Sơ đồ ký số và kiểm tra chữ ký sử dụng PGP ................................. 8
Hình 1.6: Sơ đồ mã hóa và giải mã sử dụng PGP ........................................... 9
Hình 1.7: Sơ đồ kết hợp ký số và mã hóa sử dụng PGP .................................. 9
Hình 1.8: Hoạt động của hệ thống thư điện tử .............................................. 10
Hình 1.9: Quá trình chuyển nhận thư ............................................................ 12
Hình 1.10: Mơ hình kiến trúc PKI ................................................................ 13
Hình 1.11: Mơ hình CA đơn ......................................................................... 18
Hình 1.12: Mơ hình danh sách tin cậy cơ bản ............................................... 18
Hình 1.13: Mơ hình danh sách tin cậy mở rộng ............................................ 19
Hình 1.14: Mơ hình CA phân cấp ................................................................. 20

Hình 1.15: Mơ hình mạng lưới ..................................................................... 21
Hình 1.16: Mơ hình chứng thực chéo ........................................................... 22
Hình 1.17: Mơ hình cầu nối .......................................................................... 23
Hình 1.18: Sơ đồ tạo và kiểm tra chữ ký số .................................................. 25
Hình 1.19: Chứng thư số khóa cơng khai đơn giản ....................................... 28
Hình 1.20: Đường dẫn chứng thực ............................................................... 29
Hình 1.21: Q trình mã hóa thư điện tử ...................................................... 31
Hình 1.22: Quá trình giải mã thư điện tử ...................................................... 31
Hình 2.1: Mã hóa PDF ................................................................................. 35
Hình 2.2: Qt nội dung ............................................................................... 37
Hình 2.3: Quét virus ..................................................................................... 37
Hình 2.4: Quét virus với mã hóa ................................................................... 37
Hình 2.5: Bắt đầu mã hóa S/MIME .............................................................. 39
Hình 2.6: Mã hóa S/MIME ........................................................................... 40
Hình 2.7: Ký S/MIME .................................................................................. 41
Hình 3.1: Mơ hình triển khai hệ thống Djigzo gateway ................................ 43
Hình 3.2: Cấu hình địa chỉ IP tĩnh cho card mạng ens33 .............................. 44
Hình 3.3: Cấu hình phân giải tên miền ......................................................... 44
Hình 3.4: Cấu hình hostname ....................................................................... 44
Hình 3.5: Khởi động lại Postfix .................................................................... 45
Hình 3.6: Khởi động lại Dovecot và Postfix ................................................. 47
Hình 3.7: Tạo tài khoản người dùng ............................................................. 47
Hình 3.8: Cấu hình mạng cho máy Client 1 .................................................. 47
Hình 3.9: Chỉnh sửa tập tin hosts .................................................................. 48
Hình 3.10: Chỉnh sửa tập tin resolv.conf ...................................................... 48
v


Hình 3.11: Cửa sổ xác thực thành cơng hịm thư ........ 48
Hình 3.12: Giao diện hịm thư của người dùng toan1 trên Thunderbird Mail.... 48

Hình 3.13: Người dùng toan1 soạn thư gửi cho người dùng toan2 ................ 49
Hình 3.14: Thông tin trao đổi giữa máy Mail server và Client 1 ................... 49
Hình 3.15: Người dùng toan2 nhận được thư từ người dùng toan1 ............... 49
Hình 3.16: Cấu hình SELinux ...................................................................... 49
Hình 3.17: Mở cổng firewall cho giao thức SMTP và HTTPS...................... 49
Hình 3.18: Khởi tạo và khởi động lại PostgreSQL........................................ 50
Hình 3.19: Giao diện đăng nhập vào Djigzo gateway ................................... 51
Hình 3.20: Tạo một CA mới ......................................................................... 52
Hình 3.21: Cấu hình CA ............................................................................... 52
Hình 3.22: Tạo chứng thư số cho người dùng toan1 ..................................... 53
Hình 3.23: Tải chứng thư số và khóa bí mật ................................................. 53
Hình 3.24: Nhập các chứng thư số và khóa cho người dùng toan1 ............... 53
Hình 3.25: Thiết lập độ tin cậy chứng thư số của CA cho người dùng .......... 53
Hình 3.26: Lựa chọn chứng thư số để ký số và mã hóa................................. 55
Hình 3.27: Người dùng toan1 gửi thư có ký số cho người dùng toan2 ............. 55
Hình 3.28: Người dùng toan2 nhận thư có ký số từ người dùng toan1 .......... 55
Hình 3.29: Người dùng toan2 gửi thư có ký số cho người dùng toan1 ............. 55
Hình 3.30: Thư có ký số của người dùng toan1 trên Mail server .................. 55
Hình 3.31: Thư người dùng toan1 nhận được sau khi bị chỉnh sửa ............... 55
Hình 3.32: Người dùng toan1 gửi thư có mã hóa cho người dùng toan2 ............ 56
Hình 3.33: Người dùng toan2 nhận thư có mã hóa từ người dùng toan1 ........... 56
Hình 3.34: Thơng tin trao đổi giữa máy Mail server và Client 1 được mã hóa . 56
Hình 3.35: Thư đã mã hóa của người dùng toan1 trên Mail server ............... 56
Hình 3.36: Người dùng toan1 gửi thư có ký số và mã hóa cho người dùng
toan2 ............................................................................................................ 57
Hình 3.37: Người dùng toan2 nhận thư có ký số và mã hóa ......................... 57

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,
Djigzo gateway…
Giải pháp nguồn mở Djigzo gateway sẽ là một máy chủ email MTA dùng
để mã hóa và giải mã thư điện tử vào/ra. Djigzo gateway tương thích với mọi
cơ sở hạ tầng 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 “Tìm hiểu phát
triển giải pháp ký số và bảo mật thư điện tử sử dụng Djigzo gateway” 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 Djigzo gateway; Triển khai và thử nghiệm hệ
thống thư điện tử mật Djigzo gateway.
Đồ án 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ồ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ử,
vii


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ử.
Chương 2: Giải pháp ký số và bảo mật thư điện tử sử dụng Djigzo
gateway
Chương này trình bày tổng quan về Djigzo gateway, lưu đồ hoạt động và
ưu nhược điểm của hệ thống Djigzo gateway.
Chương 3: Triển khai và thử nghiệm hệ thống thư điện tử mật Djigzo
gateway
Chương này trình bày mơ hình triển khai hệ thống thư điện tử sử dụng
Djigzo gateway, cài đặt cấu hình các máy Mail server, Client, cài đặt Djigzo
gateway để thực hiện ký số, mã hóa và giải mã thư điện tử.

viii


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. 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 (user1), 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

1


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:
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
E-mail System
E-mail Database

Mail Delivery Agent
SMTP

POP/IMAP
Mail User Agent

Remote MTAs

SMTP

Mail Transfer Agent

User
đượ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.3. 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. Hình 1.1 dưới đây cho thấy sơ đồ tổng quan của
hệ thống thư điện tử.
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):
2


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.
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 và gửi thư, hiển thị nội dung thư,
gửi trả lời hay chuyển tiếp thư, gửi file đính kèm vào thư, lập sổ địa chỉ thư…
+ 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…);
3


+ 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;
+ Cung cấp sổ địa chỉ thư (danh bạ địa chỉ);
+ Lọc thư.
1.2. Một số giao thức sử dụng trong hệ thống thư điện tử
1.2.1. 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ư.
a. 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).
b. Giao thức POP (Post Office Protocol)
4


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.
c. 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.2.2. Các giao thức bảo mật thư điện tử
a. Giao thức S/MIME (Secure/Multipurpose Internet Mail Extensions)
S/MIME lần đầu tiên được giới thiệu vào năm 1995 bởi RSA Data
Security, Inc, được dựa trên chuẩn mật mã khóa cơng khai tương ứng PKCS#7
(Public Key Cryptography Standard #7) sử dụng 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 3 cho các chứng thư số.
5



S/MIME cung cấp các dịch vụ mật mã an toàn cho thư điện tử như: xác

thực, toàn vẹn dữ liệu, chống chối bỏ nguồn gốc (sử dụng chữ ký số), bí mật
dữ liệu (sử dụng mã hóa).
S/MIME dựa trên mật mã bất đối xứng sử dụng một cặp khóa cơng khai/bí
mật để hoạt động. Email được mã hóa với khóa cơng khai của người nhận và
chỉ có thể được giải mã bằng khóa bí mật tương ứng của người nhận. S/MIME
cho phép ký email để chứng minh danh tính hợp pháp. Khóa bí mật của người
gửi sẽ được sử dụng để tạo chữ ký số duy nhất và đính kèm vào thư. Khi người
nhận mở email, khóa cơng khai được sử dụng để xác minh chữ ký.
* Sơ đồ ký số và kiểm tra chữ ký sử dụng S/MIME
Hình 1.2: Sơ đồ ký số và kiểm tra chữ ký sử dụng S/MIME
- Bên A soạn thảo thông báo dưới dạng bản rõ.
- Sử dụng hàm băm để tính giá trị băm của thơng báo.
- Giá trị băm được mã hóa bởi khóa bí mật của bên A.
- Đính kèm chữ ký số và chứng thư số của mình vào thơng báo và gửi đi.
- Bên B tính giá trị băm của thơng báo vừa nhận được.
- Sử dụng khóa cơng khai của bên A lấy từ chứng thư số để giải mã chữ
ký số thu được giá trị băm.
- So sánh giá trị băm vừa thu được với giá trị băm tự tính. Nếu hai giá trị
băm trùng nhau thì chữ ký số hợp lệ và thơng báo là tồn vẹn.

6


* Sơ đồ mã hóa và giải mã sử dụng S/MIME
Hình 1.3: Sơ đồ mã hóa và giải mã sử dụng S/MIME
- Bên A soạn thảo thông báo dưới dạng bản rõ.

- Sử dụng khóa cơng khai của bên B để mã hóa thơng báo và gửi bản thơng

báo đã được mã hóa cho bên B.
- Bên B sử dụng khóa bí mật của mình để giải mã lấy nội dung thư.
* Sơ đồ kết hợp ký số và mã hóa sử dụng S/MIME
Hình 1.4: Sơ đồ kết hợp ký số và mã hóa sử dụng S/MIME
- Bên A tạo chữ ký số và được ghép vào thông báo. Thông báo kèm chữ
ký số tiếp tục được mã hóa bằng khóa cơng khai của bên B.
- Đính kèm chứng thư số của mình vào thơng báo kèm chữ ký số đã được
mã hóa và gửi đi.
- Bên B sử dụng khóa bí mật của mình để giải mã thu được thơng báo kèm

chữ ký số.
- Bên B tính giá trị băm của thơng báo vừa nhận được. Sau đó, sử dụng
khóa cơng khai của bên A lấy từ chứng thư số để giải mã chữ ký số thu được
7


giá trị băm. So sánh giá trị băm vừa thu được với giá trị băm tự tính. Nếu hai
giá trị băm trùng nhau thì chữ ký số hợp lệ và thơng báo là tồn vẹn.
b. Giao thức PGP (Pretty Good Privacy)
PGP được tạo ra bởi Phil Zimmerman và cài đặt như một sản phẩm đầu
tiên phát hành vào năm 1991. Mục tiêu ban đầu của PGP chỉ được sử dụng để
mã hóa nội dung email và tệp đính kèm. Hiện nay PGP được sử dụng cho nhiều

ứng dụng khác nhau như thư điện tử, chữ ký số, mã hóa ổ đĩa cứng, bảo mật
tệp và thư mục…
PGP sử dụng mật mã bất đối xứng, đầu tiên người dùng phải có một cặp
khóa cơng khai/bí mật. Người gửi sử dụng khóa cơng khai của người nhận để
mã hóa một khóa chung (cịn gọi là khóa phiên). Khóa phiên này chính là khóa

để mã hóa các thơng tin được gửi qua lại trong phiên giao dịch. Người nhận
trong hệ thống PGP sử dụng khóa phiên để giải mã các gói tin. Khóa phiên này
cũng được gửi kèm với thông điệp và được giải mã với khóa bí mật của người
nhận.
* Sơ đồ ký số và kiểm tra chữ ký sử dụng PGP
Hình 1.5: Sơ đồ ký số và kiểm tra chữ ký sử dụng PGP
- Bên A soạn thảo thông báo dưới dạng bản rõ.
- Sử dụng hàm băm để tính giá trị băm của thông báo.
- Giá trị băm được mã hóa bởi khóa bí mật của bên A.
- Đính kèm chữ ký số vào thông báo và gửi cho bên B.
- Bên B tính giá trị băm của thơng báo vừa nhận được.
- Sử dụng khóa cơng khai của bên A để giải mã chữ ký số thu được giá trị băm.
- So sánh giá trị băm vừa thu được với giá trị băm tự tính. Nếu hai giá trị
băm trùng nhau thì chữ ký số hợp lệ và thơng báo là toàn vẹn.
8


* Sơ đồ mã hóa và giải mã sử dụng PGP

Hình 1.6: Sơ đồ mã hóa và giải mã sử dụng PGP
- Bên A tạo khóa phiên ngẫu nhiên.
- Mã hóa thơng báo bằng khóa phiên vừa tạo.
- Mã hóa khóa phiên của bên A bằng khóa cơng khai của bên B và gắn
kèm với thơng báo đã mã hóa gửi đi.
- Bên B sử dụng khóa bí mật của mình giải mã để lấy khóa phiên và dùng
khóa phiên giải mã để lấy nội dung thư.
* Sơ đồ kết hợp ký số và mã hóa sử dụng PGP
Hình 1.7: Sơ đồ kết hợp ký số và mã hóa sử dụng PGP
- Bên A tạo chữ ký số và được ghép vào thông báo. Thông báo kèm chữ
ký số tiếp tục được mã hóa bằng khóa phiên và khóa phiên cũng được mã hóa

bằng khóa cơng khai của bên B.
- Gửi thơng báo kèm chữ ký số và khóa phiên đã mã hóa đến bên B.
- Bên B sử dụng khóa bí mật của mình giải mã để lấy khóa phiên và dùng
khóa phiên giải mã thơng báo kèm chữ ký số.

9


- Bên B tính giá trị băm của thơng báo vừa nhận được. Sau đó, sử dụng
khóa cơng khai của bên A để giải mã chữ ký số thu được giá trị băm. So sánh

giá trị băm vừa thu được với giá trị băm tự tính. Nếu hai giá trị băm trùng nhau
thì chữ ký số hợp lệ và thơng báo là toàn vẹn.
1.3.

Hoạt động của hệ thống thư điện tử và quá trình truyền nhận thư

trên Internet
1.3.1. 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.
Hình 1.8: Hoạt động của hệ thống thư điện tử
Để 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.
Hoạt động của hệ thống thư điện tử được thực hiện theo mơ hình sau:

10


- 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.
- 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… Q trình này được điều khiển bởi giao thức
POP3 hoặc IMAP.
1.3.2. Quá trình truyền nhận thư trên Internet
Quá trình truyền nhận thư trên Internet được thực hiện bởi các mail server
và dựa vào hệ thống tên miền để truy vấn tên miền và tìm được địa chỉ chính
xác của hộp thư người nhận.
Ví dụ q trình gửi nhận thư giữa hai người dùng thư điện tử là
và được thực hiện qua các bước sau:


11


Hình 1.9: Quá trình chuyển nhận thư
Máy chủ thư thứ nhất (Mail Server 1) kiểm tra phần header trong thư của
người gửi và truy vấn hệ thống tên miền để xác định phần domain của người
nhận.
Khi xác định được địa chỉ của máy chủ thư thứ hai (Mail Server 2), dựa
vào giao thức SMTP để kết nối tới máy chủ thư điện tử thứ hai và chuyển thư
đến cho máy chủ thư này. Máy chủ thư thứ hai sẽ có nhiệm vụ chuyển thư và
hộp thư của người nhận.
1.4. Ứng dụng cơ sở hạ tầng khóa cơng khai cho an toàn và bảo mật thư
điện tử
1.4.1. Cơ sở hạ tầng khóa cơng khai (PKI)
1.4.1.1. Khái niệm PKI
PKI (Public Key Infrastructure) là một cơ chế để một bên thứ ba (thường
là nhà cung cấp chứng thư số) cung cấp và xác thực định danh các bên tham
gia vào quá trình trao đổi thông tin. Cơ chế này cũng cho phép gán cho mỗi
người dùng trong hệ thống với một cặp khóa cơng khai/bí mật. Các q trình
này thường được thực hiện bởi một phần mềm đặt tại trung tâm và các phần
mềm khác đặt tại các điểm của người dùng. Khóa cơng khai thường được phân
phối trong chứng thư khóa cơng khai.
PKI cho phép các giao dịch điện tử được diễn ra đảm bảo tính bí mật, tồn
vẹn và xác thực lẫn nhau mà không cần trao đổi các thông tin bảo mật từ trước.
Mục tiêu chính của PKI là cung cấp khóa cơng khai và xác định mối liên hệ
12


giữa khóa và định dạng người dùng. Nhờ vậy, người dùng có thể sử dụng trong
một số ứng dụng như:

- Mã hóa email hoặc xác thực người gửi email.
- Mã hóa hoặc chứng thực văn bản.
- Xác thực người dùng ứng dụng.
- Các giao thức truyền thơng an tồn dùng kỹ thuật Bootstrapping (IKE,
SSL): trao đổi bằng khóa bất đối xứng, mã hóa bằng khóa đối xứng.
Vậy PKI là một tập hợp các phần cứng, phần mềm, con người, các chính
sách và các thủ tục cần thiết để tạo, quản lý, lưu trữ, phân phối và thu hồi các
chứng thư khóa cơng khai dựa trên mật mã khóa cơng khai.
1.4.1.2. Các thành phần cơ bản của PKI

Hình 1.10: Mơ hình kiến trúc PKI
Mơ hình kiến trúc PKI gồm các thành phần như sau:
- Thực thể cuối (End Entity): có thể là người dùng cuối, thiết bị (ví dụ:
máy chủ, bộ định tuyến) hoặc bất kỳ thực thể nào khác có thể được xác định
trong chứng thư khóa cơng khai. Thực thể cuối thường thực hiện hoặc hỗ trợ
các dịch vụ liên quan PKI.
- Thẩm quyền chứng thực (Certification Authority – CA): tổ chức phát
hành và thu hồi chứng thư. Nó cũng có thể hỗ trợ một loạt các chức năng quản
trị, mặc dù việc này thường được ủy quyền cho một hoặc nhiều RA.
- Thẩm quyền đăng ký (Registration Authority – RA): đây là thành phần
tùy chọn có thể thực hiện một số chức năng quản trị từ CA. RA thường được
13


liên kết với quá trình đăng ký thực thể cuối nhưng cũng có thể hỗ trợ trong một
số phần khác.
- Kho lưu trữ chứng thư (Certificate Repository – CR): lưu trữ chứng thư
và CRL (Certificate Revocation List) mà có được từ các thực thể cuối.
1.4.1.3. Các chức năng của PKI
Những hệ thống PKI khác nhau thì có các chức năng khác nhau nhưng

nhìn chung có hai chức năng chính là chứng thực và thẩm tra.
- Chứng thực
Chứng thực là chức năng quan trọng nhất của PKI. Đây là quá trình ràng
buộc khóa cơng khai với định danh của thực thể. CA là thực thể PKI thực hiện
chức năng chứng thực. Có hai phương pháp chứng thực:
+ CA tạo cặp khóa cơng khai/khóa bí mật và tạo ra chứng thư số cho phần
khóa cơng khai của cặp khóa đó.
+ Người dùng tự tạo cặp khóa và đưa khóa cơng khai cho CA để CA tạo
chứng thư số cho khóa cơng khai đó. Chứng thư số đảm bảo tính tồn vẹn của
khóa công khai và các thông tin gắn cùng.
- Thẩm tra
Quá trình xác thực chứng thư số được sử dụng với mục đích kiểm tra tính
hiệu lực của chứng thư số. Quá trình này bao gồm các bước như sau:
+ Kiểm tra có đúng là CA tin cậy đã ký lên chứng thư hay không.
+ Kiểm ta chữ ký số của CA trên chứng thư để kiểm tra tính tồn vẹn.
+ Xác định chứng thư số còn trong thời gian hiệu lực hay không.
+ Xác định chứng thư số bị thu hồi hay chưa.
+ Xác định chứng thư đang được sử dụng có đúng mục đính, chính sách,
giới hạn hay khơng (bằng cách kiểm tra các trường mở rộng như mở rộng chính
sách chứng thư hoặc mở rộng việc sử dụng khóa).
Ngồi hai chức năng chính như trên thì hệ thống PKI cịn có một số chức
năng khác như sau:
- Đăng ký
Đăng ký là quá trình người dùng liên lạc với các tổ chức, trung tâm tin cậy
để đăng ký các thông tin và xin cấp chứng thư số. RA và CA là các thực thể
tiếp nhận và xử lý trong quá trình đăng ký. Quá trình đăng ký phụ thuộc vào
chính sách của tổ chức.
- Khởi tạo ban đầu
14



Khi hệ thống trạm của chủ thể nhận được các thơng tin cần thiết để liên
lạc với CA thì q trình khởi tạo bắt đầu. Những thơng tin này có thể là khóa
cơng khai của CA, chứng thư của CA, cặp khóa cơng khai/khóa bí mật của chủ
thể.
- Tạo khóa
Cặp khóa cơng khai/khóa bí mật có thể được tạo ra bằng phầm mềm từ
phía người dùng và được gửi tới CA để chứng thực. CA cũng có thể tạo cặp
khóa trước khi chứng thực. Trong trường hợp này, CA tự tạo ra cặp khóa và
gửi cặp khóa bí mật này cho người dùng theo một cách an tồn. Nếu khóa do
bên thứ ba tạo ra thì những khóa này phải được CA tin cậy trong miền xác định
trước khi sử dụng.
- Khơi phục khóa
Hầu hết hệ thống PKI tạo ra hai cặp khóa cho người dùng cuối. Lý do tạo hai
cặp khóa khác nhau xuất phát từ u cầu khơi phục và sao lưu dự phịng khóa.
Tùy theo chính sách của tổ chức, cặp khóa (mã và giải mã) và những thơng
tin liên quan đến khóa của người dùng phải được sao lưu để có thể lấy lại được
dữ liệu khi người dùng mất khóa riêng hay rời khỏi hệ thống. Riêng khóa bí
mật của CA thì được lưu trữ dự phòng trong một thời gian dài để giải quyết
những vấn đề nhầm lẫn có thể xảy ra trong tương lai.
- Cập nhật khóa
Một trong những thuộc tính của chứng thư số là thời gian hiệu lực. Thời
gian hiệu lực của mỗi cặp khóa xác định theo chính sách sử dụng. Các cặp khóa
của người dùng nên được cập nhật khi có thơng báo về ngày hết hạn. Hệ thống
sẽ thơng báo về tình huống này trong một thời gian nhất định. Chứng thư mới
sẽ được người cấp công bố tự động sau thời gian hết hạn.
- Thu hồi
Chứng thư được công bố sẽ được sử dụng trong khoảng thời gian có hiệu
lực. Nhưng trong trường hợp khóa bị rị rỉ hoặc có sự thay đổi thơng tin của
chứng thư thì chứng thư mới sẽ được cơng bố và chứng thư cũ sẽ bị thu hồi.

- Chứng thực chéo
Hai CA trao đổi thông tin được sử dụng trong việc thiết lập chứng thực
chéo. Chứng thư chéo là chứng thư được cấp phát bởi một CA cho CA khác có
chứa chữ ký của CA được sử dụng để cấp phát chứng thư.
1.4.1.4. Các dịch vụ của PKI
15


a. Dịch vụ đảm bảo tính bí mật
Dịch vụ đảm bảo tính bí mật nhằm đảm bảo tính bí mật của dữ liệu, dữ
liệu chỉ có thể truy nhập bởi những người có quyền, khơng ai đọc được nội
dung của dữ liệu ngoại trừ những người dùng có quyền được đọc.
Dữ liệu cần phải được đảm bảo bí mật khi lưu trữ hay sao lưu dữ liệu đó
trên các thiết bị như ổ đĩa cứng, bộ nhớ USB, đĩa CD… và khi truyền dữ liệu
trên đường truyền.
b. Dịch vụ đảm bảo tính tồn vẹn
Tồn vẹn dữ liệu là đảm bảo dữ liệu ổn định không bị thay đổi thông qua
các hoạt động như truyền đi hay lưu trữ. Để đảm bảo tính tồn vẹn, một hệ
thống cần phải có khả năng phát hiện những thay đổi dữ liệu trái phép và do đó
các kỹ thuật mật mã được sử dụng. Các thuật tốn và khóa cần được thống nhất
giữa các thực thể muốn cung cấp toàn vẹn dữ liệu và thực thể muốn đảm bảo
tính tồn vẹn dữ liệu. Mục đích là giúp cho người nhận dữ liệu xác minh được
rằng dữ liệu không bị thay đổi.
Dịch vụ đảm bảo tính tồn vẹn của PKI có thể xây dựng dựa trên hai kỹ thuật:
- Mã xác thực thông báo MAC (Message Authentication Code): kỹ thuật
này thường sử dụng mật mã khối đối xứng hoặc một hàm băm mật mã.
- Chữ ký số: kỹ thuật này được dùng cho mục đích vừa cung cấp tính xác
thực, vừa cung cấp tính tồn vẹn trên dữ liệu được ký. Nếu có sự thay đổi bất
kỳ trước và sau khi ký thì chữ ký số sẽ bị loại bỏ khi kiểm tra, vì vậy, việc mất
tính tồn vẹn của dữ liệu sẽ dễ dàng bị phát hiện.

c. Dịch vụ đảm bảo tính xác thực
Dịch vụ đảm bảo tính xác thực nhằm đảm bảo cho một người dùng rằng
một thực thể nào đó đúng là đối tượng mà họ cần khẳng định. Có hai kiểu xác
thực: xác thực cục bộ và xác thực từ xa.
- Xác thực cục bộ: xác thực một thực thể với môi trường cục bộ, luôn yêu
cầu người dùng trực tiếp tham gia (ví dụ: mật khẩu hay số PIN để đăng nhập,
sử dụng vân tay để nhận dạng). Xác thực cục bộ dù là một hay nhiều nhân tố
đều không sử dụng dịch vụ PKI.
- Xác thực từ xa: xác thực một thực thể ở mơi trường từ xa, có thể không
cần sự tham gia trực tiếp của người dùng, khó bảo vệ dữ liệu nhạy cảm và
khơng thuận tiện cho người dùng khi nhập vào thông tin xác thực nhiều lần.
Xác thực với môi trường từ xa thường sử dụng dịch vụ PKI.
16


×