Tải bản đầy đủ (.docx) (79 trang)

ỨNG DỤNG MÃ HÓA VÀ CHỮ KÝ SỐ CHO THƯ ĐIỆN TỬ

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 (1.92 MB, 79 trang )

1
LỜI CAM ĐOAN
Tôi cam đoan đây là công trình nghiên cứu của riêng tôi.
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai
công bố trong bất kỳ công trình nào khác.
Người viết luận văn
MỤC LỤC
2
DANH MỤC CÁC CHỮ VIẾT TẮT
Thuật ngữ Tiếng anh Tiếng việt
CA Certificate authority Tổ chức chứng thư
DLP Data leak Prevention Ngăn ngừa rò rỉ dữ liệu
HTML Hyper Text Markup Language
Ngôn ngữ đánh dấu
siêu văn bản
HTTP HyperText Transfer Protocol
Giao thức truyền tải
siêu văn bản
HTTPS HyperText Transfer Protocol Secure
Bảo mật giao thưc
truyền tải siêu văn bản
IMAP Interactive Mail Access Protocol Giao thức truy nhập thư
tương tác
MDA Mail Delivery Agent Tác tử phân phối thư
MUA Mail User Agent Tác tử người dùng thư
MTA Mail Transfer Agent Tác tử truyền tải thư
MINE Multipurpose Internet Mail Extensions Định dạng mở rộng thư
MRA Mail Retrieval Agent Tác tử người dùng thư
MX Mail xchange Chuyển đổi thư
PKI Public Key Infrastructure Hạ tầng khóa công khai
3


POP Post Office Protocol Giao thức văn phòng
bưu chính
SMTP Simple Mail Transfer Protocol Giao thức truyền tải thư
đơn giản
SSL Secure Socket Layer Bảo mật lớp Socket
S/MIME Security/Multipurpose Internet Mail
Extensions
Bảo mật/ Định dạng mở
rộng thư
TSL Transport Layer Security Bảo mật lớp truyền tải
DANH MỤC CÁC BẢNG
Số hiệu bảng
Tên bảng Trang
Bảng 1.1
Các lệnh POP3 10
Bảng 1.2 Các cổng được gán cho các giao thức ứng dụng chạy
trên TLS/SSL
14
Bảng 1.3 Các Port thông dụng 21
4
DANH MỤC CÁC HÌNH
Số hiệu hình vẽ Tên hình vẽ Trang
Hình 1.1 Mô hình một hệ thống thư điện tử 4
Hình 1.2 Cấu trúc của một thư điện tử 7
Hình 1.3 Mô hình truyền thư sử dụng giao thức SMTP 7
Hình 1.4 Mô hình giao thức SMTP 8
Hình 1.5 Mô hình SMTP với các MTA chuyển tiếp 9
Hình 1.6 Quá trình bảo vệ email bằng S/MIME bên gửi 16
Hình 1.7 Quá trình nhận thư bằng S/MIME bên người nhận 17
Hình 1.8 Xử lý S/MIME bên phía người nhận 17

Hình 1.9 Dữ liệu enveloped – S/MIME 18
Hình 1.10 Dữ liệu ký số S/MIME 18
Hình 1.11 Giao diện trang emkei.cz 23
Hình 2.1 Mô hình phân cấp 35
Hình 2.2 Mô hình mạng lưới 36
Hình 2.3 Mô hình danh sách tin cậy 37
Hình 2.4 Chứng thư số 39
Hình 2.5 Cơ sơ hạ tầng khóa công khai 40
Hình 2.6 Quá trình mã hóa thư điện tử 42
Hình 2.7 Quy trình giải mã thư điện tử 43
Hình 3.1 Lựa chọn chứng chỉ 47
Hình 3.2 Mã hóa PDF 48
Hình 3.3 Mã hóa thư điên tử với PDF 49
Hình 3.4 Quét virus 51
Hình 3.5 Quét virus với mã hõa 51
Hình 3.6 Băt đầu mã hóa S/MIME 53
Hình 3.7 Người nhận bên ngoài 54
Hình 3.8 Mã hóa S/MIME 55
Hình 3.9 Ký S/MIME 55
Hình 3.10 Hệ thống mã hóa qua Djigzo 58
Hình 3.11 Mô hình triển khai 59
5
Hình 3.12 Đăng nhập Djigzo 63
Hình 3.13 Tạo CA mới 64
Hình 3.14 Tạo chứng thư cho người dùng bên trong 65
Hình 3.15 Tạo chứng thư cho người dùng bên ngoài 66
Hinh 3.16 File đính kèm pfx trong Outlook 67
Hình 3.17 Giao diện Outlook ký và mã hóa 67
Hình 3.18 Thêm địa chỉ vào danh bạ Outlook 68
Hình 3.19 Gửi thư đã mã hóa và ký số 69

Hình 3.20 Nhập file chứng thư số trong outlook 69
Hình 3.21 Gửi thư không mã hóa 70
Hình 3.22 Nhận thư chưa thiết lập khóa riêng 71
Hình 3.23 Nhận thư bằng webmail chưa thiết lập khóa riêng 71
Hình 3.24 Kết quả email mã hóa 72
MỞ ĐẦU
Ngày nay, sự phát triển các ứng dụng của 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. Sự bùng nổ của khoa học công nghệ
nói chung và công nghệ thông tin nói riêng đã đem lại rất nhiều lợi ích cho con
người, rút ngắn khoảng cách về địa lý, tăng hiệu suất lao động, tiết kiệm thời gian
và chi phí cho công việc….
Thư điện tử đang ngày càng được sử dụng rộng rãi trong các lĩnh vực của đời
sống xã hội. 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ả. Tuy nhiên, 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. Trong
môi trường truyền thống chúng ta bảo vệ nội dung thư bằng phong bì và chữ ký.
Còn trong môi trường truyền thông điện tử trực tuyến, thư điện tử được bảo vệ bằng
việc sử dụng chứng thư số, chữ ký số.
Quá trình ký vào thư điện tử và các tệp đính kèm nhằm đảm bảo tính xác
thực và chống chối bỏ trong các giao dịch trực tuyến. Điều đó giúp người nhận
kiểm tra tính toàn vẹn của thư điện tử. Mã hóa nội dung thư và các tệp đính kèm để
đảm bảo chỉ người nhận hợp lệ mới xem được nội dung thư.
Các công ty và chính phủ đã nhận ra cần phải bảo mật cho thư điện tử. Đứng
trước nhu cầu thực tế đó, rấ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 email trên môi trường internet. Hiện này có rât nhiều sản phẩm bảo mật
thư điện tử đã được triển khai, chẳng hạn như Lockbin, Ca-microsoft, Safe-mail,
Hushmail.com, 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 bất kỳ

cơ sở hạ tầng thư điện tử hiện có.
Để có thể hiểu biết sâu hơn về mã hóa và giải mã thư điện tử, học viên đã
chọn để tài “Ứng dụng mã hóa và chữ ký số cho thư điện tử” làm đề tài luận văn
tốt nghiệp của mình.
Từ những phân tích trên, có thể thấy rằng đề tài “Ứng dụng mã hóa và chữ
ký số cho thư điện tử” mang tính cấp thiết và có ý nghĩa cả về lý thuyết lẫn ứng
dụng thực tế.
Luận văn bao gồm những chương sau:
Chương 1: Tổng quan về an toàn thư điện tử.
Chường 2: Nghiên cứu ứ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ử
Chương 3: Ứng dụng mã hóa, chữ ký số cho thư điện tử.
Sau một thời gian nỗ lực hết mình, về cơ bản luận văn cũng đã nghiên cứu
tổng quát về mã hóa và giải mã thư điện tử, ứng dụng mã hóa và giải mã thư điện tử
nhằm đảm bảo an toàn và bảo mật cho các hệ thống cung cấp dịch vụ thư điện tử
của doanh nghiệp. Tuy nhiên, do có sự hạn chế về kinh nghiệm, thời gian nên sẽ
không tránh khỏi sai sót.Kính mong Quý Thầy Cô, bạn bè , đồng nghiệp tham khảo
đóng góp ý kiến để luận văn được hoàn thiện hơn.
Em xin chân thành cảm ơn TS.VŨ VĂN THỎA đã bớt chút thời gian qúy
báu, hướng dẫn tận tình và cung cấp tài liệu bổ ích cho em trong qua trình làm luận
văn. Đồng thời cũng xin cảm ơn Quý Thầy Cô của Học viện Công nghệ bưu chính
viễn thông đã tận tình dậy dỗ, truyền thụ kiến thức và kinh nghiệm cho em trong
thời gian học tập và nghiên cứu tại trường.
CHƯƠNG 1: TỔNG QUAN VỀ AN TOÀN VÀ BẢO MẬT THƯ
ĐIỆN TỬ
1.1 Lý thuyết chung về thư điện tử
Hệ thống thư điện tử[2] cho phép người dùng trao đổi thư điện tử với nhau.
Hệ thống này bào gồm một hoặc nhiều máy chủ thư tín (mail server), trên đó có cài
đặt một phần mềm mail server để quản lý tài khoản của người dùng, thực hiện việc
trao đổi thư giữa những người dùng và trao đổi thư với các máy chủ thư tín khác.

1.1.1 Các thành phần cơ bản của hệ thống thư điện tử
Hình 1.1: Mô hình một hệ thống thư điện tử [3]
Để thực hiện việc trao đổi thư[2] với người dùng, giữa máy chủ (mail server)
và các máy khác (mail client) thống nhất sử dụng chung một bộ giao thức gửi và
nhận thư, trong đó có quy định cụ thể về cổng giao tiếp, quy trình thao tác, các câu
lệnh trao đổi, cấu trúc của thư điện tử Hình 1.1 trình bày mô hình một hệ thống thư
tín điện tử với giao thức gửi thư SMTP [2] và giao thức POP hoặc IMAP.
Hệ thống này bao gồm bốn phần tử chính: MUA (Mail User Agent), MTA
(Mail Transfer Agent), MDA (Mail Delivery Agent). MRA (Mail Retrieval Agent).
1.1.1.1 Mail User Agent (MUA)
MUA[3] là chương trình quản lý đầu cuối cho phép người dùng có thể đọc,
soạn thảo và gửi mail.
MUA có thể lấy thư từ mail server về để xử lý(sử dụng giao thức POP) hoặc
chuyển thư cho một MUA khác thông qua MTA(sử dụng giao thức SMTP).
MUA có thể xử lý trực tiếp thư ngay trên mail server (sử dụng giao thức
IMAP).
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ó:
• Soạn thảo, gửi thư.
• Hiển thị thư gồm cả các tập tin đính kèm.
• Gửi trả (Relay) hay chuyển tiếp thư (Create New).
• Đính kèm các tập tin vào các thư gửi đi (Text, HTML, MIME…).
• Thay đổi các tham số (ví dụ như 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.1.1.2 Mail Transfer Agent (MTA)
Khi các thư được gửi đến tử MUA [2], MTA có nhiệm vụ nhận diện người
gửi và người nhận từ thông tin đóng gói trong phần header và điền các thông tin cần

thiết vào header. Sau đó MTA sẽ chuyển thư cho MDA để chuyển đến hộp thư ngay
tại MTA, hoặc chuyển cho Remote MTA.
Việc chuyển giao các thư được các MTA quyết đinh dựa trên địa chỉ người
nhận.
Nếu nó trùng với hộp thư do MTA (local-MTA) quản lý thì thư được chuyển
cho MDA để chuyển vào hộp thư.
Nếu địa chỉ thư bị lỗi, thư có thể được chuyển lại người gửi.
Nếu không bị lỗi nhưng không phải là thư của MTA, tên miền được sử dụng
để xác định xem Remote MTA nào sẽ nhận thư theo các bản ghi MX trên hệ thống
tên miền.
Khi các 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 mà Remote MTA có thể đơn giản chỉ trung
chuyển thư cho một MTA khác, có thể định tuyến thư cho địa chỉ khác như vai trò
của một dịch vụ domain ảo (domain gateway) hoặc người nhận không tồn tại và
Remote MTA sẽ gửi lại cho MUA một lời cảnh báo (warning).
Zimbra Serer là một MTA dùng giao thức SMTP để đóng vai trò là một
SMTP Server làm nhiệm vụ phân phối thư từ vùng này sang vùng khác.
1.1.1.3Mail Delivery Agent(MDA)
MDA [2]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. Ngoài ra MDA còn có khả năng lọc thư, định hướng thư …MTA có thể tích
hợp một hay nhiều MDA.
1.1.1.4 Mail Retrieval Agent (MRA)
MRA [3]Là một chương trình hoặc một dịch vụ có chức năng lấy thư điện tử
về từ một hộp thư trên một máy chủ ở xa và đưa chúng tới một MUA. Các MRA
truy vấn các thư và các phần header từ những hộp thư ở xa và phân phát chúng tới
các MUA trên máy của người dùng.
1.1.2 Cấu trúc một thư điện tử
Thư điện tử thường có hai phần chính: phần đầu (Header)[3] và phần thần

(Body) là văn bản chưa nội dung của thư. Khi gửi đi, toàn bộ thư điện tử được gói
trong nội dung (content). Ngoài ra, hệ thống thư còn tạo thêm một phần nữa được
gọi là bì thư (envelope), phần này chứa các thông tin cần thiết cho việc chuyển thư
đến nơi nhận.
Hình 1.2: Cấu trúc của một thư điện tử [2]
1.2Một số giao thức hoạt động trong hệ thống thư điện tử
Hệ thống Mail [3] được xây dựng dựa trên một số giao thức: SMTP, POP,
MINE và IMAP.
1.2.1 Một số giao thức sử dụng để gửi thư điện tử
1.2.1.1 Giao thức SMTP
SMTP [2] là giao thức tin cậy, chịu trách nhiệm phân phát thư điện tử. Nó
chuyển thư từ hệ thống mạng này sang hệ thống mạng khác, chuyển thư trong hệ
thống mạng nội bộ.
SMTP là giao thức quy định việc truyền thư chủ yếu trên internet, được sử
dụng như một cơ chế chung cho việc chuyển tải thư điện tử giữa các máy tính với
nhau trong giao thức TCP/IP. Khi một tiến trình SMTP thực hiện, SMTP client mở
kết nối TCP tới một tiên trình SMTP server nằm trên một máy chủ ở xa và cố gắng
để gửi mail thông qua kết nối. SMTP server lắng nghe một kết nối TCP trên một
cổng 25.
Hình 1.3: Mô hình truyền thư sử dụng giao thức SMTP [2]
Khi SMTP client có một thông điệp được truyền đi, nó thiết lập một kênh
truyền hai chiều tới một SMTP server. Trách nhiệm của SMTP client là chuyển giao
những thông điệp thư cho một hoặc nhiều SMTP server (hoặc báo những lỗi sai khi
thực hiện).
1.2.1.1.1 Mô hình giao thức SMTP
Mô hình SMTP hỗ trợ cả hai phương pháp truyên phát thư end-to-end
(không có các MTA trung gian) và store and forward. Phương pháp end-to-end được
sử dụng giữa các mạng nội bộ của các tổ chức và phương pháp store-and-forward
được lựa chọn cho cac hệ thống điều hành giữa các tổ chức có mạng sử dụng giao
thức TCP/IP và SMTP cơ sở.

Một tiến trình SMTP cơ bản có thể truyền tải thư điện tử tới một tiến trình
khác trên cùng một mạng hoặc tới một mạng khác thông qua tiến trình truyền tiếp
hoặc cổng nối có thể tới được cả hai mạng. Một mô hình đơn giản các thành phần
của hệ thống SMTP được trình bày trong hình 1.4:
Hình 1.4: Mô hình giao thức SMTP [2]
1.2.1.1.2 Hệ thống chuyển tiếp thư theo giao thức SMTP
Người dùng làm việc với UA (User Agent). Việc trao đổi thư sử dụng giao
thức TCP được thực hiện nhờ một MTA, MTA gửi truyền thư qua mạng tới cổng 25
của giao thức TCP của MTA nhận. Việc truyền thông tin giữa các máy chủ gửi và
máy chủ nhận ở mạng ngoài thì việc chuyển tiếp có thể phức tạp (xem Hình 1.5).
Việc thêm một MTA vào phía người gửi và một MTA vào phía người nhận, các
MTA khác thực hiện như máy chủ và máy khách, có thể chuyển tiếp thư điện tử qua
mạng.
Hình 1.5: Mô hình SMTP với các MTA chuyển tiếp [2]
Hệ thống các MTA relay cho phép những nơi không sử dụng bộ giao thức
TCP/IP để gửi thư điện tử tới những người dùng ở nơi khác có thể hoặc không sử
dụng bộ giao thức TCP/IP.
Sự giữ trễ quá trình phân phát thư.
Giao thức SMTP cho phép giữ trễ sự phân phát, và thư điện tử có thể được
giữ trễ tại vị trí người gửi, chỗ người nhận, hoặc các máy chủ trung gian.
1.2.1.2Giao thức X.400
X.400 là giao thức được ITU-T và ISO định nghĩa và đã được ứng dụng
rộng rãi ở Châu Âu, Canada. X.400 cung cấp tính năng điều khiển và phân
phối e-Mail, sử dụng đinh dạng nhị phân, do đó không cần mã hóa nội dung
khi phân phát thư trên mạng Internet.
1.2.2 Một số giao thức sử dụng để nhận thư điện tử
Có hai giao thức chính thường được dùng bởi các ứng dụng máy thư khách
để truy cập thư tín từ các máy chủ :POP và IMAP.
1.2.2.1 Giao thức POP
1.2.2.1.1 Khái niệm

POP cho phép người dùng có account tại máy chủ thư điện tử kết nối vào
MTA và lấy thư về máy tính của mình, ở đó cơ chế đọc và trả lời lại. POP được phát
triển đầu tiên vào năm 1984 và được nâng cấp từ bản POP2 lên POP3 và 1988 và
hiện nay hầu hết người sử dụng tiêu chuẩn POP3.
POP3 kết nối trên nền TCP/IP để đến máy chủ thư điện tử (sử dụng cổng
110), cho phép người dùng kết nối với server, tải mail về, sau đó có thể xem, thao
tác với mail offline. Mặc dù trong giao thức hỗ trợ để nguyên mail trên server,
nhưng hầu hết người dùng đều thực hiện mặc đinh, tức là: kết nối, tải mail về, xóa
mail trên server rồi ngắt kết nối.
POP3 (phiên bản 3) Đây là một cách thức để nhận các thông báo e-mail
trong đó thông báo được lưu giữ trên server đến khi người nhận lấy nó. POP3 được
quy định bởi tiêu chuân RFC 1939.
1.2.2.1.2 Các lênh của POP3:
Bảng 1.1: Các lệnh POP3 [2]
Lệnh Mô tả
USER Xác định username
PASS Xác định password
STAT Yêu cầu về trạng thái của hộp thư như số lượng thư và độ lớn của thư
LIST Hiện danh sách của thư
RETR Nhận thư
DELE Xóa một bức thư xác định
NOOP Không làm gì cả
RSET Khôi phục lại những thư đã xóa (rollback)
QUIT Thực hiện việc thay đổi và thoát ra
1.2.2.2 Giao thức IMAP
IMAP là một giao thức cho phép client truy nhập email trên một server (cổng
143/tcp) 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 sử dụng (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ếp lập và xóa cờ trạng thái,…
IMAP là thế hệ mới của giao thức POP (Post Office Protocol). IMAP là một

giao thức dạng client/server mà ở đó email được nhận về và được lưu trữ trên
servers. Khi sử dụng các email client như OE, Netscapse, người dùng có thể xem
trước thông tin header bao gồm người gửi và chủ đề lá thư, từ đó cho phép người
dùng quyết định có download lá thư đó về hay không. Người dùng cũng có thể tạo
nhiều folder hoặc mailboxes trên server, xóa tin nhắn.
1.2.3Các giao thức an toàn bảo mật cho thư điện tử
1.2.3.1 Giao thức SSL
SSL là giao thức đa mục đích được thiết kế để tạo ra các giao tiếp giữa hai
chương trình ứng dụng trên một cổng định trước (socket) nhằm mã hoá toàn bộ
thông tin đi/đến, mà ngày nay được sử dụng rộng rãi cho giao dịch điện tử như
truyền số hiệu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trên Internet. Giao
thức SSL được hình thành và phát triển đầu tiên năm 1994 bởi nhóm nghiên cứu
Netscape dẫn dắt bởi Elgammal và ngày nay đã trở thành chuẩn bảo mật thực hành
trên mạng Internet. Phiên bản SSL hiện nay là 3.0 và vẫn đang tiếp tục được bổ
sung và hoàn thiện
Điểm cơ bản của SSL được thiết kế độc lập với tầng ứng dụng để đảm bảo
tính bí mật, an toàn và chống giả mạo luồng thông tin qua Internet giữa hai ứng
dụng bất kỳ, thí dụ như webserver và các trình duyệt khách (browsers), do đó được
sử dụng rộng rãi trong nhiều ứng dụng khác nhau trên môi trường Internet. Toàn bộ
cơ chế hoạt động và hệ thống thuật toán mã hoá sử dụng trong SSL được phổ biến
công khai, trừ khoá chia xẻ tạm thời (session key) được sinh ra tại thời điểm trao
đổi giữa hai ứng dụng là tạo ngẫu nhiên và bí mật đối với người quan sát trên mạng
máy tính. Ngoài ra, giao thức SSL còn đỏi hỏi ứng dụng chủ phải được chứng thực
bởi một đối tượng lớp thứ ba (CA) thông qua giấy chứng thực điện tử (digital
certificate) dựa trên mật mã công khai (thí dụ RSA). Sau đây ta xem xét một cách
khái quát cơ chế hoạt động của SSL để phân tích cấp độ an toàn của nó và các khả
năng áp dụng trong các ứng dụng nhạy cảm, đặc biệt là các ứng dụng về thương mại
và thanh toán điện tử
Giao thức SSL dựa trên hai nhóm con giao thức là giao thức “bắt tay”
(handshake protocol) và giao thức “bản ghi” (record protocol). Giao thức bắt tay

xác định các tham số giao dịch giữa hai đối tượng có nhu cầu trao đổi thông tin
hoặc dữ liệu, còn giao thức bản ghi xác định khuôn dạng cho tiến hành mã hoá và
truyền tin hai chiều giữa hai đối tượng đó. Khi hai ứng dụng máy tính, thí dụ giữa
một trình duyệt web và máy chủ web, làm việc với nhau, máy chủ và máy khách sẽ
trao đổi “lời chào” (hellos) dưới dạng các thông điệp cho nhau với xuất phát đầu
tiên chủ động từ máy chủ, đồng thời xác định các chuẩn về thuật toán mã hoá và
nén số liệu có thể được áp dụng giữa hai ứng dụng.
Ngoài ra, các ứng dụng còn trao đổi “số nhận dạng/khoá theo phiên” (session
ID, session key) duy nhất cho lần làm việc đó. Sau đó ứng dụng khách (trình duyệt)
yêu cầu có chứng thực điện tử (digital certificate) xác thực của ứng dụng chủ (web
server).
Các thuật toán mã hoá và xác thực của SSL được sử dụng bao gồm (phiên
bản 3.0):
• DES - chuẩn mã hoá dữ liệu (ra đời năm 1977), phát minh và sử dụng của
chính phủ Mỹ.
• DSA - thuật toán chữ ký điện tử, chuẩn xác thực điện tử), phát minh và sử
dụng của chính phủ Mỹ.
• KEA - thuật toán trao đổi khoá), phát minh và sử dụng của chính phủ Mỹ.
• MD5 - thuật toán tạo giá trị “băm” (message digest), phát minh bởi
Rivest;
• RC2, RC4 - mã hoá Rivest, phát triển bởi công ty RSA Data Security;
• RSA - thuật toán khoá công khai, cho mã hoá va xác thực, phát triển bởi
Rivest, Shamir và Adleman;
• RSA key exchange - thuật toán trao đổi khoá cho SSL dựa trên thuật toán
RSA;
• SHA-1 - thuật toán hàm băm an toàn, phát triển và sử dụng bởi chính phủ
Mỹ.
• SKIPJACK - thuật toán khoá đối xứng phân loại được thực hiện trong
phần cứng Fortezza, sử dụng bởi chính phủ Mỹ.
• Triple-DES - mã hoá DES ba lần.

Cơ sở lý thuyết và cơ chế hoạt động của các thuật toán sử dụng về bảo mật
bên trên hiện nay là phổ biến rộng rãi và công khai, trừ các giải pháp thực hiện
trong ứng dụng thực hành vào trong các sản phẩm bảo mật (phần cứng, phần mềm,
firmware).
1.2.3.2 Giao thức TLS
Trong các ứng dụng thiết kế, TLS thường được thực hiện trên đầu trang của
bất kỳ giao thức vận tải tầng nào, đóng gói ứng dụng giao thức cụ thể như HTTP,
FTP, SMTP, NNTP, POP3 và IMAP…
Thông thường, hầu như tất cả hệ thống mail server đều yêu cầu lựa chọn cơ
chế mã hóa kết nối. Hai phương thức sau được sử dụng - hoặc toàn bộ các địa chỉ
gửi qua SSL hoặc 1 cơ chế khác là StartTLS sẽ được sử dụng để kích hoạt quá trình
mã hóa sau khi nhận được yêu cầu kết nối.
Dịch vụ SSL, thường được sử dụng với các yêu cầu chuyên dụng, đặc biệt
qua cổng TCP. Sau đây là bảng tham khảo về các cổng quan trọng khác:
Bảng 1.2: Các cổng được gán cho các giao thức ứng dụng chạy trên TLS
Dịch vụ Từ khóa Cổng
HTTP trên SSL https 443
IMAP trên SSL imaps 993
IRC trên SSL ircs 994
POP3 trên SSL Pop3s 995
SMTP trên SSL smtp 465
Dịch vụ này sẽ lắng nghe yêu cầu từ cổng TCP, đặc biệt là những kết nối trực
tiếp qua SSL, ví dụ những hệ thống mail client nào không hỗ trợ SSL sẽ không thể
giao tiếp với server IMAPs qua cổng 993. Một khi các dữ liệu và thông số mã hóa
đã được thực hiện, chúng sẽ được “cấp phép” và tạo ra 1 tunnel - đường hầm riêng
biệt, thông qua đó, quá trình lưu chuyển dữ liệu được thực hiện trong thực tế. Dựa
vào sự kết hợp và các thành phần liên quan trong kết nối SSL, khi xảy ra bất kỳ sự
cố nào, các công cụ hỗ trợ như telnet và netcat thường có xu hướng rút ngắn qua
trình này lại.
Ngày càng nhiều, các SMTP được bảo vệ bởi TLS (RFC 3207).Các ứng

dụng này sử dụng giấy chứng nhận để xác minh nhận dạng của thiết bị đầu cuối.
1.2.3.3 Giao thức HTTPS
Giao thức HTTPS là tổ hợp của giao thức HTTP với giao thức SSL/TLS. Các
kết nối HTTPS thường được sử dụng cho các giao dịch thanh toán hoặc các giao
dịch nhạy cảm giữa các hệ thống thông tin trên World Wide Web. HTTPS khác với
Secure HTTP (S-HTTP – định nghĩa trong RFC 2660).
Nguyên lý của giao thức HTTPS là tạo ra một kênh bảo mật (secure channel)
trên một mạng không bảo mật, đảm bảo không bị nghe lén hay bị tấn công.
Độ tin cậy của HTTPS dựa chủ yếu vào các CA – Certificate Authorities đã
được cài sẵn vào các trình duyệt. Vì vậy một kết nối HTTPS đến một website được
coi là tin cậy nếu tất cả các điều kiện sau được thỏa mãn:
• Người sử dụng tin CA chỉ xác thực các trang web hợp pháp
• Website cung cấp một chứng chỉ (certificate) hợp lệ - chứng chỉ đã được
ký bởi một CA tin cậy.
• Chứng chỉ chỉ rõ (một cách chính xác) website đó
• Hoặc là các trạm trung chuyển (intervening hop) trên internet đáng tin
cậy, hoặc người dùng tin lớp mã hóa của giao thức (TLS hay SSL) là
không thể bị nghe trộm.
1.2.4 Giao thức S/MIME
Giao thức MIME[9], [14] quy đinh cách thức định dạng nội dung các thông
điệp email (email message) giữa các thệ thống email. Định dạng MIME rất phức
tạp, cho phép đưa bất kỳ dạng file hoặc tài liệu vào một thông điệp email như text,
âm thanh, hình ảnh hoặc các định dạng dữ liệu. Một thông điệp email đinh dạng
MIME có thể chứa:
• Đưa nhiều object vào trong một thông điệp email.
• Không giới hạn độ dài text trong một thông điệp email.
• Ngoài ra ASCII còn hỗ trợ các character set, cho phép thể hiện các thông
điệp email trong nhiều ngôn ngữ khác nhau.
• Nhiều font chữ khác nhau
• Các file nhị phân hoặc các file ứng dụng (ví du: doc, pdf…)

• Hình ảnh, âm thanh, video và các dạng multimedia khác.
Phần lớn các email trên internet truyền đi bởi giao thức SMTP trong đinh
dạng MIME. Hai giao thức này có liên quan mật thiết với nhau nên thường được
gọi là SMTP/MIME.
Phiên bản bảo mật của MIME , S/MIME hỗ trợ mã hóa các thông điệp email.
Bắt nguồn từ chuẩn MIME. Giao thức S/MINE [3] là một tiêu chuẩn hỗ trợ an toàn,
cụ thể là mã hóa cho giao thức MIME. S/MIME cung cấp các dịch vụ bảo mật sau
cho các ứng dụng truyền thông điệp điện tử:
• Xác thực (authentication).
• Toàn vẹn (message integrity).
• Chống từ chối (non-repudiation of origin)
• Bảo mật dữ liệu (data security)
1.2.4.1 Các chức năng S/MIME
S/MIME [9], [14]cung cấp một giải pháp cho quá trình gửi nhận dữ liệu 7
bit.S/MIME có thể được sử dụng với những hệ thống cho phép truyền nhận dữ liệu
MIME. Nó có thể được sử dụng cho các phương pháp gửi mail truyền thống có
thêm dịch vụ an ninh cho mail gửi và giải mã các dịch vụ an ninh cho bên nhận.
S/MIME bảo vệ các thực thể MIME với chữ ký, mã hóa hoặc cả hai.
Để tạo ra một tin nhắn S/MIME, người dùng S/MIME phải tuân theo các
thông số kỹ thuật cũng như cú pháp của tin nhắn.
Các tính năng của một webmail client hỗ trợ S/MIME là tính bảo mật, tính
xác thực, tính toàn vẹn, tính chống chối bỏ.
Hình 1.6: Quá trình bảo vệ email bằng S/MIME[9] bên gửi
Hình 1.7: Quá trình nhận thư bằng S/MIME[9] bên người nhận
Hình 1.8: Xử lý S/MIME bên phía người nhận [9]
+ Bộ xử lý S/MIMEsinh PKCS object.
+ PKCS=Public Key Cryptography Standard, một tập các đặc tả được phát
triển bởi RSA (PKCS#7).
+ PKCS object chứa thông tin cần thiết để người nhận dùng thông tin này
để giải mã, xác thực nội dung gốc .

+ Nhưng PKCS objects là định dạng nhị phân -> base64 bằng S/MIME
content-type.
+ Bên nhận thực hiện các bước ngược lại.
Hình 1.9: Dữ liệu enveloped – S/MIME [9]
Hình 1.10: Dữ liệu ký số S/MIME [9]
1.2.4.2 Các thuật toán mã hóa S/MIME[9], [14]
+ Các chữ ký diện tử DSS và RSA.
+ Các hàm hash: SHA-1 va MD5.
+ Mã khóa kỳ: Elgamla và RSA.
+ Mã mẩu tin: AES, Triple-DES, RC2/40,…
+ MAC:HMAC với SHA-1.
+ Có quá trình quyết đinh sử dụng thuật toán nào.
1.2.4.3 Quá trình chứng thư S/MIME:
S/MIME sử dụng chứng thư X.509[9], [14] phiên bản 3.
Quản trị việc sử dụng kết hợp sơ đồ phân cấp CA của X.509 [7] và Web tin
cậy của PGP.
Mỗi client có một danh sách các chứng thư cho CA tin cậy và có các chứng
thư và cặp khóa công khai/ khóa riêng của mình.
Chứng thư cần được ký bởi các CA tin cậy.
1.3 Các yếu tố mất an toàn thông tin thư điện tử
1.3.1 Hiểm họa đọc lén thư điện tử
Đọc lén [3] thư điện tử nói chung và đọc/xem hay sử dụng thông tin ăn cắp
nói riêng rất nguy hiểm cho các đối tượng bị ăn cắp thông tin. Với những người sử
dụng bình thường thì việc lộ thông tin có thể chỉ là lộ thông tin cá nhân, quan hệ
bạn bè. Tuy nhiên, với một công ty thì việc lộ thông tin cho đối thủ cạnh tranh sẽ
làm thiệt hại về kinh tế.
Cá nhân người sử dụng:
Làm lộ các thông tin cá nhân gây tổn hại danh tiếng, địa vị,
Với các tổ chức, công ty
Thông tin có thể bị rò rỉ là thông tin về nhân sự, tài chính, dự án. Các thông

tin này tác động trực tiếp tới lợi nhuận của công ty, làm giảm tăng trưởng và có thể
dẫn đến suy thoái, phá sản công ty.
Có thể nói đọc lén hay bị đánh cắp thông tin là một hiểm họa không thể lường hết
được hậu quả. Do đó, cần phải có các giải pháp đảm bảo an toàn và bảo mật thư
điện tử vì sự an toàn của mỗi người, mỗi tổ chức, mỗi quốc gia khi tham gia mạng
Internet.
1.3.2 Mạo danh
1.3.2.1 Mạo danh [3] địa chỉ IP
Hầu hết các máy tính đều dùng địa chỉ IP để nhận dạng và trao đổi thông tin.
Kẻ tấn công có thể dùng một công cụ đặc biệt để tạo ra các gói tin có địa chỉ IP
nguồn là địa chỉ cục bộ của một mạng. Các gói tin này thường chứa mã độc tấn
công phá hoại hoặc giành quyền kiểm soát hệ thống.
Do các gói tin có địa chỉ IP nguồn là địa chỉ cục bộ nên chúng có khả năng
vượt qua một số biện pháp an ninh, như kiểm soát truy nhâp, …
1.3.2.2 Mạo danh thư điện tử
Mạo danh thư điện tử là việc ai đó sử dụng địa chỉ gửi đi giống với một địa
chỉ khác hoàn toàn có thật, mà không hề xâm nhập hoặc sử dụng phiên đăng nhập
thực sự của tài khoản đó
Các mức độ mạo danh thư điện tử:
Mạo danh phân tên trong trường địa chỉ người gửi: Do có một số trang
webmail, hoặc phần mềm quản lý mail, mặc định chỉ hiển thị “tên người gửi” mà
không hiện đầy đủ cả địa chỉ email người gửi, nên đã xuất hiện hình thức giả mạo
phần tên hiển thị này nhằm đánh lừa những người dùng không có kinh nghiệm. Việc
này rất dễ thực hiện, đơn giản chỉ là thay lại tên hiển thị mà ta muốn giả mạo.
Mạo danh hoàn toàn cả trường địa chỉ người gửi: Việc này đòi hỏi phải có
một SMTP server cho phép mạo danh và gửi thư đi. Có một số trang web miễn phí,
cho phép thực hiện điều này. Hoặc nếu thuê được một server riêng trên Internet, ta
có thể tự cài đặt phần mềm máy chủ thư rồi gửi mạo danh đi.
1.3.2.3 Nghiên cứu cách thức tiến hành mạo danh thư điện tử
Tìm hiểu về một số SMTP thông dụng

Phần lớn người dùng đều sử dụng dịch vụ mail của các hãng như gmail,
yahoo, Hotmail, MSN, …. Tất cả các SMTP Server của các hãng trên đều yêu cầu
phải xác thực bằng giao thức SSL/TLS trước khi gửi thư và địa chỉ gửi đi sẽ được
SMTP “gắn vào” bằng chính tài khoản mà người gửi dùng để xác thực với Server.
Do vậy, không thể mạo danh thành các tài khoản khác trong hoặc bên ngoài tên
miền của nhà cung cấp được.
Tuy nhiên, khi sử dụng Telnet kết nối đến một SMTP Server, ta có thể sử
dụng một số câu lệnh đơn giản để gửi thư mạo danh hoặc xét xem SMTP đó có cho
phép gửi thư mạo danh không.
Địa chi SMTP và Port của một số hãng thông dụng:
• SMTP AUTH: Port 25 hoặc 587
• SMTP StartTLS: Port 587
• SMTP SSL: Port 465
Bảng 1.3: Các Port thông dụng [3]
Tên nhà cung cấp Tên server SMTP Số hiệu cổng (port)
Gmail
smtp.gmail.com SSL:465
StartTLS:587
Outlook.com smtp.live.com StartTLS:587
Hotmail smtp.live.com StartTLS:587
Yahoo Mail smtp.mail.yahoo.com SSL:465
Yahoo Mail Plus plus.smtp.mail.yahoo.com SSL:465
Yahoo UK smtp.mail.yahoo.co.uk SSL:465
AT&T smtp.att.yahoo.com SSL:465
Gửi mail bằng Telnet và OpenSSL
Khi sử dụng Telnet kết nối đến một SMTP Server, ta có thể sử dụng một số
câu lệnh đơn giản để gửi thư mạo danh, xem SMTP đó có cho phép gửi thư mạo
danh không.
Telnet thường được sử dụng để kết nối đến các SMTP có cổng 25 (hoặc 587,
nếu server hỗ trợ STartTLS.Còn với các SMTP hỗ trợ SSL, ta có thể dùng OpenSSL

để kết nối đến (cổng 465). Thường các SMTP đều bắt buộc người dùng phải xác
thực, nhập username và password ở dang Base64.
Dùng OpenSSL kết nối đến SMTP Gmail:
root@bt:~# openssl s_client -crlf -connect smtp.gmail.com:465
CONNECTED(00000003)
220 mx.google.com ESMTP gf8sm13011398pbc.52
ehlo gmail.com
250-mx.google.com at your service, [58.187.56.169]
250-SIZE 35882577
250-8BITMIME

×