Tìm Hiểu Giải Pháp Bảo Mật Thư ĐiệnTử Sử Dụng Mã Nguồn Mở TUTANOTATìm hiểu về các giải pháp bảo mật thư điện tửVà triển khai giải pháp bảo mật thư điện tử sử dụng mã nguồn mở TutanotaTỔNG QUAN VỀ HỆ THỐNG THƯ ĐIỆN TỬ TÌM HIỂU CÁC GIẢI PHÁP BẢO MẬT THƯ ĐIỆN TỬMột số thuật toán mật mã sử dụng trong bảo mật thư điện tửKhóa luận tốt nghiệp học viện công nghệ bưu chính viễn thông PTIT
Trang 1Hà Nội, 2022
BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHÓA LUẬN TỐT NGHIỆP
TÌM HIỂU GIẢI PHÁP BẢO MẬT THƯ ĐIỆN TỬ SỬ
DỤNG MÃ NGUỒN MỞ TUTANOTA
Sinh viên thực hiện:
Cao Mạnh Long
Lớp: D09VT3
Trang 2BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
TÌM HIỂU GIẢI PHÁP BẢO MẬT THƯ ĐIỆN TỬ SỬ
DỤNG MÃ NGUỒN MỞ TUTANOTA
Sinh viên thực hiện:
Cao Mạnh Long
Lớp: D09VT3
Trang 3MỤC LỤC
MỤC LỤC i
LỜI CẢM ƠN v
BẢN CAM ĐOAN vi
CÁC KÝ HIỆU, CHỮ VIẾT TẮT vii
DANH MỤC HÌNH VẼ viii
LỜI NÓI ĐẦU x
CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG THƯ ĐIỆN TỬ 1
1.1 Giới thiệu về dịch vụ 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ử 1
1.1.3 Cấu trúc của một địa chỉ thư điện tử 2
1.2 Kiến trúc và hoạt động của thư điện tử 3
1.2.1 Kiến trúc thư điện tử 3
1.2.1.1 MUA (Mail User Agent) 3
1.2.1.2 MTA (Mail transfer Agent) 4
1.2.1.3 MDA (Mail Delivery Agent) 4
1.2.1.4 Truy vấn tên miền 5
1.2.2 Hoạt động của thư điện tử 5
1.3 Các giao thức sử dụng trong hệ thống thư điện tử 7
1.3.1 Giao thức MIME (Multipurpose Internet Mail Extensions) 7
1.3.2 Giao thức SMTP (Simple Mail Transfer Protocol) 8
1.3.2.1 Giới thiệu về SMTP 8
1.3.2.2 Mô hình hoạt động của SMTP 9
1.3.2.3 Danh sách các lệnh SMTP cơ bản: 9
1.3.3 Giao thức nhận thư POP3 10
Trang 41.3.3.1 Giới thiệu giao thức POP3 10
1.3.3.2 Nguyên tắc hoạt động của giao thức POP3 10
1.3.4 Giao thức IMAP (Internet Message Access Protocol) 12
1.3.4.1 Giới thiệu về giao thức IMAP 12
1.3.4.2 Hoạt động của IMAP 12
1.4 Các nguy cơ mất an toàn khi sử dụng thư điện tử 16
1.4.1 Đọc lén 16
1.4.2 Phân tích đường truyền 16
1.4.3 Mạo danh 17
1.4.4 Thư rác 18
1.4.5 Sửa đổi thư điện tử 19
1.5 Kết luận chương 19
CHƯƠNG 2: TÌM HIỂU CÁC GIẢI PHÁP BẢO MẬT THƯ ĐIỆN TỬ 20
2.1 Một số thuật toán mật mã sử dụng trong bảo mật thư điện tử 20
2.1.1 Các hệ mật khóa bí mật 20
2.1.1.1 Thuật toán AES 20
2.1.1.2 Thuật toán DES 21
2.1.2 Hệ mật khóa công khai 21
2.1.3 Hàm băm và chữ ký số 23
2.1.3.2 Hàm băm 23
2.1.3.3 Chữ kí số 24
2.2 Mã hóa và xác thực sử dụng PGP 26
2.2.1 Giới thiệu về PGP 26
2.2.2 Mã hóa sử dụng PGP 28
2.2.3 Xác thực sử dụng PGP 28
2.2.4 Kết hợp mã hóa và xác thực 29
Trang 52.3 Giao thức S/MIME 29
2.3.1 Giới thiệu về giao thức S/MIME 29
2.3.2 Kí số sử dụng S/MIME 31
2.3.3 Mã hóa sử dụng S/MIME 32
2.3.4 Quản lí khóa 32
2.4 Bảo mật thư điện tử sử dụng mã nguồn mở Tutanota 33
2.4.1 Giới thiệu về Tutanota 33
2.4.2 Các tính năng 33
2.4.3 Vấn đề khóa trong tutanota 34
2.4.4 Bảo mật và xác thực mật khẩu 36
2.4.5 Mã hóa, giải mã và xác thực thư trong tutanota 38
2.4.5.1 Gửi và nhận Email cho những người dùng tutanota 38
2.4.5.2 Gửi Email mã hóa cho những người dùng khác hệ thống 40
2.5 Kết luận chương 41
CHƯƠNG III: TRIỂN KHAI GIẢI PHÁP BẢO MẬT THƯ ĐIỆN TỬ SỬ DỤNG MÃ NGUỒN MỞ TUTANOTA 42
3.1 Mô hình triển khai 42
3.2 Cài đặt và thử nghiệm hệ thống 42
3.2.1 Quá trình cài đặt trên các máy đơn lẻ 42
3.2.1.1 Đối với Windows 42
3.2.1.2 Đối với Linux 44
3.2.1.3 Biên dịch từ mã nguồn 45
3.2.2 Thử nghiệm hệ thống 46
3.2.2.1 Gửi và nhận thư giữa những người sử dụng cùng hệ thống Tutanota 51
3.2.2.2 Gửi và nhận thư đối với người dùng không cùng hệ thống Tutanota 53
Trang 63.3 Nhận xét độ an toàn 55
3.4 Kết luận chương 56
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 59
Trang 8CÁC KÝ HIỆU, CHỮ VIẾT TẮT
AES Advanced Encryption Standard
ASCII American Standard Code for Information InterchangeDES Data Encryption Standard
GDPR General Data Protection Regulation
HTTP Hypertext Transfer Protocol
HTTPS Hypertext Transfer Protocol Secure
IDEA International Data Encryption Algorithm
IMAP Internet Message Access Protocol
KDF Key Derivation Function
MDA Mail Delivery Agent
MIME Multipurpose Internet Mail Extensions
MTA Mail Transfer Agent
PGP Pretty Good Privacy
PKI Public Key Infrastructure
POP Post Office Protocol
RSA Rivest Shamir Adleman
SMTP Simple Mail Transfer Protocol
S/MIME Secure Multipurpose Internet Mail Extensions
SSL Secure Sockets Layer
TLS Transport Layer Security
TOTP Time-Based One-Time Password
Trang 9DANH MỤC HÌNH VẼ
Hình 1.1 Sơ đồ tổng quan hệ thống thư điện tử 3
Hình 1.2 Hoạt động của hệ thống thư điện tử 6
Hình 1.3 Mô hình sử dụng SMTP 9
Hình 1.4 Quá trình hoạt động của POP3 10
Hình 2.1 Sơ đồ hoạt động của RSA 21
Hình 2.2 Tạo chữ kí và đính kèm trên tài liệu điện tử 24
Hình 2.3 Kiểm tra chữ kí đính kèm trên tài liệu điện tử 25
Hình 2.4 Mã hóa sử dụng PGP 28
Hình 2.5 Xác thực sử dụng PGP 28
Hình 2.6 Kết hợp mã hóa và xác thực PGP 29
Hình 2.7 Kí số sử dụng S/MIME 31
Hình 2.8 Mã hóa sử dụng S/MIME 32
Hình 2.9 Sơ đồ quản lí tài khoản người dùng Tutanota 37
Hình 2.10 Gửi và nhận thư cho người dùng trong hệ thống Tutanota 38
Hình 2.11 Mã hóa và xác thực trong Tutanota 39
Hình 2.12 Gửi, nhận thư giữa người dùng Tutanota và người dùng khác 40
Hình 3.1 Mô hình triển khai thử nghiệm 42
Hình 3.2 Quá trình cài đặt tutanota Windows 43
Hình 3.3 Kết thúc quá trình cài đặt 43
Hình 3.4 Quá trình cài đặt Tutanota Linux 44
Hình 3.5 Xác nhận quá trình cài đặt Tutanota Linux 45
Hình 3.6 Tải bộ mã nguồn mở tutanota 45
Hình 3.7 Biên dịch từ mã nguồn 46
Trang 10Hình 3.8 Chạy máy chủ cục bộ 46
Hình 3.9 Đăng kí tài khoản Tutanota 47
Hình 3.10 Các thông tin tạo tài khoản Tutanota 47
Hình 3 11 Recovery code 48
Hình 3.12 Các bước xóa tài khoản Tutanota 49
Hình 3.13 Xóa tài khoản Tutanota 49
Hình 3.14 Các thông tin khi xóa tài khoản 50
Hình 3.15 Các tùy chỉnh trong phần cài đặt của Tutanota 50
Hình 3.16 Bắt đầu một email 51
Hình 3.17 Quá trình soạn thư 52
Hình 3.18 Đọc thư được gửi đến 52
Hình 3.19 Soạn thư với mật khẩu thỏa thuận 53
Hình 3.20 Nhận thư bằng một dịch vụ thư điện tử không cùng hệ thống 54
Hình 3.21 Nhập mật khẩu thỏa thuận để đọc thư 54
Hình 3.22 Giao diện đọc thư 55
Trang 11LỜI NÓI ĐẦU
Ngày nay với sự phát triển mạnh mẽ của tin học và công nghệ Internet,hầu như người sử dụng Internet đều thấy rõ lợi ích mà các dịch vụ do môitrường Internet đem lại Một trong những dịch vụ phổ biến nhất, ra đời sớmnhất đó là dịch vụ thư điện tử Cùng với sự phát triển mạnh mẽ của thư điện
tử, các thông tin được trao đổi qua dịch vụ này cũng trở nên đa dạng và phongphú Khi giá trị thông tin được trao đổi qua thư điện tử tăng lên kéo theo việc
có nhiều kẻ muốn tấn công vào các hệ thống thư nhằm phá hoại hệ thống, ăncắp thông tin, Do vậy việc đảm bảo an toàn cho những thông tin được traođổi qua thư điện tử là một vấn đề cấp thiết, đang được quan tâm và đầu tưnhiều không chỉ đối với những nhà xây dựng phần mềm thư điện tử mà ngay
cả với các tổ chức, công ty hay cá nhân sử dụng dịch vụ thư điện tử
Có rất nhiều cách thức để bảo vệ thông tin trên đường truyền, nhiềugiải pháp được đề xuất như: sử dụng mật khẩu, mã hóa dữ liệu hay giấu sự tồntại của dữ liệu… cùng với sự phát triển của các biện pháp bảo đảm an toàn,thì các hình thức tấn công ngày càng tinh vi hơn, do đó vấn đề là làm sao đưa
ra một giải pháp thích hợp và có hiệu quả theo thời gian và sự phát triển mạnh
mẽ của khoa học kỹ thuật
Hiện nay có nhiều giải pháp cung cấp các tính năng để bảo mật hệthống thư điện tử và Tutanota là một trong số các giải pháp đáng được nhắcđến cung cấp các tính năng ưu việt so với các giải pháp khác như tiết kiệm chiphí, đặc biệt là khả năng bảo mật cao; là giải pháp nguồn mở cho các doanhnghiệp, nhà cung cấp dịch vụ, các tổ chức giáo dục và chính quyền Nó đemđến những lợi ích cho các nhà quản trị hệ thống và người sử dụng Với mongmuốn tìm hiểu và triển khai thử nghiệm hệ thống thư điện tử có bảo mật, em
đã chọn đề tài “Tìm hiểu giải pháp bảo mật thư điện tử sử dụng mã nguồn
mở Tutanota” để làm đồ án tốt nghiệp.
Trang 12Mục tiêu đề tài: Nghiên cứu, tìm hiểu về giải pháp bảo mật thư điện tử
sử dụng mã nguồn mở Tutanota; Triển khai được mô hình và cài đặt hệ thốngthư điện tử có bảo mật sử dụng Tutanota
Đồ án gồm 3 chương với nội dung sau:
Chương I: 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ử, baogồm các thành phần và mối quan hệ giữa các thành phần trong hệ thống thưđiện tử, các giao thức dùng để gửi và nhận trong thư điện tử và các nguy cơmất an toàn
Chương II: Tìm hiểu các giải pháp bảo mật thư điện tử
Chương này trình bày về các thuật toán mật mã sử dụng trong bảo mậtthư điện tử, giao thức PGP và S/MIME, bảo mật thư điện tử sử dụng mãnguồn mở Tutanota
Chương III: Triển khai giải pháp bảo mật thư điện tử sử dụng mã nguồn mở Tutanota
Chương cuối đồ án triển khai mô hình khai thác hệ thống thư điện tửtutanota, cài đặt tutanota mail client trên các hệ điều hành để gửi thư mã hóa,giải mã thư mã hóa, xác thực người gửi, biên dịch tutanota từ mã nguồn mở,khai thác sử dụng hệ thống trong thực tế, nhận xét về độ an toàn
Trang 13CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG THƯ ĐIỆN TỬ
1.1 Giới thiệu về dịch vụ thư điện tử1.1.1 Khái niệm thư điện tử
Thông thường để gửi một bức thư thường sẽ mất một vài ngày đểchuyển thư từ nơi này đến nơi khác Để tiết kiệm thời gian ngày nay thư điện
tử được sử dụng để thay thế cho thư truyền thống Thư điện tử là một thôngđiệp gửi từ máy tính này tới máy tính khác qua môi trường mạng máy tính,nội dung được người gửi biên soạn và gửi cho người nhận thông qua một tàikhoản đại diện cho người dùng
Thư điện tử (email hay e-mail) là một phương thức trao đổi tin nhắngiữa những người sử dụng các thiết bị điện tử Thư điện tử lần đầu tiên đượcđưa vào sử dụng trong thập niên 60 và đến giữa những năm 1970 có dạng nhưngày nay gọi là email Thư điện tử hoạt động trên các mạng máy tính mà hiệnnay chủ yếu là Internet Một số hệ thống thư điện tử ban đầu yêu cầu ngườigửi và nhận đều trực tuyến tại cùng thời điểm, giống với nhắn tin tức thời, tuynhiên hệ thống thư điện tử ngày nay được dựa trên một mô hình lưu vàchuyển tiếp Các máy chủ thư điện tử chấp nhận, chuyển tiếp, phân phối vàlưu tin nhắn Người dùng cũng như máy tính của họ không bắt buộc đang trựctuyến cùng lúc, họ chỉ cần kết nối trong chốc lát, thường là tới một máy chủthư điện tử hay một giao diện email trên nền web có chức năng gửi hoặc nhậntin nhắn
1.1.2 Lợi ích của thư điện tử
Thư điện tử có rất nhiều lợi ích vì quá trình gửi và nhận nhanh chóng
và dễ dàng sử dụng Mọi người có thể trao đổi ý kiến tài liệu với nhau trongthời gian ngắn Thư điện tử ngày càng đóng một vai trò quan trọng trong đờisống, khoa học, kinh tế xã hội, giáo dục, an ninh quốc gia Ngày nay, người tatrao đổi với nhau hàng ngày những ý kiến, tài liệu với nhau bằng thư điện tửmặc dù cách xa nhau hàng ngàn cây số
Vì thư điện tử phát triển dựa vào cấu trúc của Internet cho nên cùng với
sự phát triển của Internet mà thư điện tử ngày càng phổ biến trên toàn thếgiới Thư điện tử phát triển được bổ sung thêm các tính năng sau:
Trang 14- Một bức thư điện tử sẽ mang nhận dạng người gửi Như vậy ngườinhận sẽ biết ai đã gửi cho mình một cách chính xác
Trang 15- Người gửi có thể gửi đồng thời cho nhiều người khác.
- Thay vì gửi thư điện tử bằng chữ, người gửi có thể dùng thư điện tử
để gửi tiếng nói Người nhận sẽ lắng nghe được tiếng nói của người gửi khinhận được thư
- Người gửi có thể gửi đính kèm tập tin như là tài liệu, hình ảnh, âmthanh, đoạn phim,
1.1.3 Cấu trúc của một địa chỉ thư điện tử
Mỗi người dùng trong một hệ thống thư điện tử phải có một địa chỉ thư
để sử dụng, một địa chỉ thư điện tử sẽ bao gồm hai phần chính có dạng nhưsau:
- <Tên Email>@<Tên miền>
Trang 16Remote MTA
1.2 Kiến trúc và hoạt động của thư điện tử
1.2.1 Kiến trúc thư điện tử
Hình 1.1 Sơ đồ tổng quan hệ thống thư điện tử
Hầu hết hệ thống thư điện tử bao gồm ba thành phần cơ bản là MUA,MTA và MDA
1.2.1.1 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
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ứcSMTP) Hoặc MUA có thể xử lý trực tiếp thư ngay trên mail server (sử dụnggiao thức IMAP)
Đằng sau những công việc vận chuyển thì chức năng chính của MUA
là cung cấp giao diện cho người dùng tương tác với thư, gồm có:
- Soạn thảo, gửi thư
- Hiển thị thư, gồm cả các file đính kèm
- Gửi trả hay chuyển tiếp thư
Trang 17- Gắn các file vào các thư gửi đi (Text, HTML, MIME.v.v).
- Thay đổi các tham số (ví dụ như server được sử dụng, kiểu hiển thịthư, kiểu mã hoá thư.v.v)
- Thao tác trên các thư mục thư địa phương và ở đầu xa
- Cung cấp số địa chỉ thư (danh bạ địa chỉ)
- Lọc thư
1.2.1.2 MTA (Mail transfer Agent)
Khi các bức thư được gửi đến từ MUA, MTA có nhiệm vụ nhận diệnngườ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 đó MTA 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 bức thư được các MTA quyết định dựa trên địachỉ người nhận
- Nếu nó trùng với hộp thư do MTA (Local-MTA) quản lý thì bức thưđược chuyển cho MDA để chuyển vào hộp thư
- Nếu địa chỉ gửi bị lỗi, bức thư có thể được chuyển trở lại người gửi
- Nếu không bị lỗi nhưng không phải là bức 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ảnghi MX (bản ghi trao đổi thư) trên hệ thống tên miền
- Khi các 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 Mà Remote-MTA có thểđơn giản chỉ trung chuyển (relay) thư cho một MTA khác, có thể định tuyếnbức thư cho địa chỉ khác như vai trò của một dịch vụ domain ảo (domaingateway) hoặc người nhận không tồn tại và Remote-MTA sẽ gửi trả lại choMUA gửi một cảnh báo
1.2.1.3 MDA (Mail Delivery Agent)
Là một chương trình được MTA sử dụng để đẩy thư vào hộp thư củangười dùng Ngoài ra MDA còn có khả năng lọc thư, định hướng thư Thường là MTA được tích hợp với một MDA hoặc một vài MDA
Trang 181.2.1.4 Truy vấn tên miền
DNS và thư điện tử là 2 dịch vụ có mối quan hệ mật thiết với nhau.Dịch vụ thư điện tử dựa vào dịch vụ DNS để chuyển thư từ mạng bên trong rabên ngoài và ngược lại Khi chuyển thư, Mail Server nhờ DNS để tìm MXrecord để xác định máy chủ nào cần chuyển Mail đến
Khi DNS client cần xác định cho một tên miền nó sẽ truy vấn DNSserver Truy vấn DNS và trả lời của hệ thống DNS cho client sử dụng thủ tụcUDP cổng 53, UPD hoạt động ở tầng thứ 3 (Network) của mô hình OSI, UDP
là thủ tục phi kết nối (Connectionless), tương tự như dịch vụ gửi thư bìnhthường cho thư vào thùng thư và hy vọng có thể chuyển đến nơi cần gửi tới.Mỗi một message truy vấn được gửi đi từ client bao gồm ba phần thông tin:
- Tên của miền cần truy vấn (tên đầy đủ FQDN)
- Xác định loại bản ghi là mail, web
- Lớp tên miền (phần này thường được xác định là IN internet, ở đâykhông đi sâu vào phần này)
"hostname.example.microsoft.com", và loại truy vấn là địa chỉ A Client truyvấn DNS hỏi "Có bản ghi địa chỉ A cho máy tính có tên là
"hostname.example.microsoft.com" khi client nhận được câu trả lời của DNSserver nó sẽ xác định địa chỉ IP của bản ghi A Nói tóm lại các bước của mộttruy vấn gồm có hai phần như sau:
- Truy vấn sẽ bắt đầu ngay tại client computer để xác định câu trả lời;
- Khi ngay tại client không có câu trả lời, câu hỏi sẽ được chuyển đếnDNS server để tìm câu trả lời
1.2.2 Hoạt động của 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ậnthư, 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
Trang 19Để gửi thư, người gửi cần định hướng thư đến máy chủ thư SMTPserver (MTA), máy chủ thư sẽ tìm kiếm địa chỉ và chuyển đến máy chủ thưcủa người nhận cho đến khi thư được lấy về.
Trang 20POP /IMAP
POP /IMAP
MTA
MDA MDA
Mail Box Mail Box
Mail Box
MUA Mail Box
MUA
POP Server
POP Server
Để nhận thư, người nhận cần có một tài khoản thư điện tử (account).Nghĩa là phải có một địa chỉ để nhận thư Với tài khoản thư điện tử ngườinhận có thể kết nối vào máy chủ thư điện tử để lấy thư từ bất cứ đâu
Để chuyển thư, MTA của người gửi và người nhận liên lạc với nhaudựa vào hệ thống DNS Giao thức 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:
Hình 1.2 Hoạt động của hệ thống thư điện tử
Gửi thư: 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ườinhậ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ư: Một MTA khi nhận được thư gửi cho người dùng do mìnhquả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ườinhận không thích hợp
Nhận thư: Sau khi nhận (Remote-MTA) đó nhận được thư và nhậnchuyển vào hộp thư của người nhận MUA của người dùng sẽ kết nối đếnmáy nhận để xem thư hoặc lấy thư về để xem Sau khi xem thư người nhận có
Trang 21thể lưu trữ hoặc xóa, hoặc trả lời… Quá trình này được điều khiển bởi giaothức
Trang 22POP hoặc IMAP Hiện tại POP gồm các phiên bản POP1 (đặc tả trong RFC918), POP2 (đặc tả trong RFC 937), POP3 (đặc tả trong RFC 1081, RFC1939) trong đó POP 3 là phiên bản được sử dụng phổ biến nhất.
Quá trình chuyện nhận thư trên Internet được thực hiện bởi 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ínhxác của hộp thư người nhận
1.3 Các giao thức sử dụng trong hệ thống thư điện tử
1.3.1 Giao thức MIME (Multipurpose Internet Mail Extensions)
Giao thức mở MIME là một tiêu chuẩn Internet về định dạng cho thưđiện tử được đặc tả
RFC 822 cung cấp chuẩn cho việc truyền các thông điệp thư điện tửchứa các nội dung dạng văn bản Tuy nhiên, chuẩn này không trợ giúp cácthông điệp thư điện tử có các thành phần đính kèm (như thông điệp thư điện
tử có đính kèm các tài liệu word hoặc các tệp hình ảnh) Để thay thế cho cácđịnh nghĩa trong RFC 822, giao thức MIME đã được phát triển Đối với phầntiêu đề (header) của các thông điệp vẫn tuân theo chuẩn RFC 822, việc sửađổi và phát triển cho phần mở rộng MIME được thực hiện đối với nội dungcủa thông điệp MIME sử dụng một số quy ước để thể hiện những nội dungriêng trong một thông điệp thư tín điện tử
Ví dụ minh hoạ cho các kiểu nội dung như sau:
- Âm thanh - dùng để truyền các âm thanh hoặc dữ liệu bằng âm thanh
- Ứng dụng- sử dụng để truyền ứng dụng hoặc dữ liệu nhị phân
- Hình ảnh- dùng để truyền dữ liệu hình ảnh
- Thông điệp- dùng để đóng gói thông điệp thư tín khác
- Đa phần - được sử dụng để liên kết nhiều phần thân của thông điệp,
có thể là các kiểu khác nhau của dữ liệu thành một thông điệp cụ thể
- Văn bản - được sử dụng để biểu diễn những thông tin dưới dạng văn bản theo một bộ ký tự nhất định nào đó
- Video - dùng để truyền video hoặc dữ liệu hình ảnh động, có thể có
âm thanh như một phần của phần định dạng dữ liệu video tổng hợp
Trang 23Hiện tại có 5 tài liệu mô tả MIME là: RFC 2045, RFC 2046, RFC 2047,RFC 4288, RFC 4289 và RFC 2049 Trong đó mô tả định dạng cho phần thânthông điệp, các kiểu truyền thông, mã định dạng không thuộc chuẩn của Mỹ,
… Ngoài những tính năng được bổ sung đã liệt kê, các tính năng quan trọngkhác của thư tín như phần đính kèm thông điệp, nhúng trực tiếp phần dữ liệudưới định dạng ngôn ngữ siêu văn bản (HTML) cũng được đưa ra trong cáctài liệu trên Lưu ý rằng, mặc dù các phần mở rộng MIME cho phép sử dụngnội dung thông điệp dạng nhị phân, nhưng nội dung dưới dạng nhị phân phảiđược biểu diễn dưới định dạng Base64 để phù hợp với chuẩn quy định trongRFC 822
1.3.2 Giao thức SMTP (Simple Mail Transfer Protocol)
1.3.2.1 Giới thiệu về SMTP
SMTP là giao thức chuyển thư đơn giản, được sử dụng rộng rãi choviệc gửi mail, 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à mail được gửi sẽ nằm trong mailbox trên mail server của ngườinhận, SMTP được dùng để gửi mail, không dùng để nhận mail SMTP baogồ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ầnthiết trong việc gửi mail 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 giao thứcTCP/IP và sử dụng cổng 25
SMTP gửi thông điệp và không cho phép ai lấy thông điệp về từ máychủ theo yêu cầu của mình một cách tùy ý
Với ưu điểm là được phát triển từ rất sớm, SMTP là chuẩn sử dụngASCII của hầu hết mailserver trên thế giới nên phần lớn các hệ thống thư điện
tử gửi thư qua Internet đều dùng giao thức này Tuy nhiên, giao thức này cũng
có nhược điểm là SMTP thiếu một số chức năng bảo mật, không đòi hỏi phảixác nhận người gửi là ai, do đó bất kỳ ai trên Internet cũng có thể gửi emailđến một người hoặc thậm chí một nhóm người nào đó, đây là lý do vì sao lạixuất hiện thư nặc danh, thư quảng cáo trong hộp thư của chúng ta.,vì vậy phải
bổ sung các giao thức để bảo mật dữ liệu S/MIME hoặc OpenPGP, ngoài ragiao thức SMTP còn được 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)
Trang 241.3.2.2 Mô hình hoạt động của SMTP
Thiết kế SMTP được dựa trên mô hình truyền thông sau: tương tự nhưmột yêu cầu của người sử dụng, Sender-SMTP thiết lập một kênh truyền tải 2chiều tới một Receiver-SMTP Receiver-SMTP hoặc là đích hoặc là điểm tạmthời Các lệnh SMTP được sinh ra bởi Sender-SMTP và gửi tới Receiver-SMTP Đáp lại SMTP được gửi từ Receiver-SMTP các lệnh tới Sender-SMTP
SMTP Commands/replies Mail
Hình 1.3 Mô hình sử dụng SMTP
1.3.2.3 Danh sách các lệnh SMTP cơ bản:
1 HELO Định danh Sender-SMTP đối với Receiver-SMTP
2 MAIL Khởi tạo phiên giao dịch mail tới một hoặc nhiều mailbox
3 RCPT Định danh một người nhận dữ liệu mail thông qua tham số
forward
4 DATA Các dòng sau lệnh này sẽ là dữ liệu thư
5 RSET Chỉ ra phiên giao dịch thư hiện tại sẽ bị loại bỏ
6 SEND Khởi tạo phiên giao dịch dữ liệu thư phân phối tới một hoặc
nhiều terminal
7 SOML Khởi tạo phiên giao dịch dữ liệu mail phân phối tới một hoặc
nhiều terminal hoặc nhiều mailbox
8 SAML Khởi tạo phiên giao dịch dữ liệu mail phân phối tới một hoặc
nhiều terminal và nhiều mailbox
9 VRFY Yêu cầu người nhận mail xác nhận người sử dụng
10 EXPN Yêu cầu xác nhận tham số để định danh danh sách thư
11 HELP Người nhận gửi thông tin trợ giúp tới người gửi
File System
File System
User
Receiver-SMTP Sender-SMTP
Trang 2512 NOOP Nhận được lệnh này từ phía người gửi tức là không thực hiện
gì khác, thì người nhận trả lời OK
13 QUIT Lệnh này yêu cầu người nhận gửi tín hiệu trả lời OK, sau đó
đóng phiên giao dịch
14 TURN Lệnh này yêu cầu người nhận hoặc là phải gửi tín hiệu OK
vàsau đó đóng vai trò là Sender-SMTP hoặc là phải gửi tín hiệu
từ chối và trỏ về đúng vai trò Receiver-SMTP
1.3.3 Giao thức nhận thư POP3
1.3.3.1 Giới thiệu giao thức POP3
Giao thức POP3 được sử 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ư điện tử POP3 được thiết kế hỗ trợ xử lýmail trong chế độ Offline Theo chế độ này, các thông báo mail được chuyểntới máy chủ thư điện tử và một chương trình thư client trên một máy trạm kếtnối tới máy chủ thư điện tử đó và tải tất cả các thông báo mail tới máy trạm
đó Và sau đó, tất cả quá trình xử lý mail được diễn ra trên chính máy trạmnày
1.3.3.2 Nguyên tắc hoạt động của giao thức POP3
Hoạt động của giao thức POP3 được thể hiện ở hình dưới đây:
Hình 1.4 Quá trình hoạt động của POP3
Một POP3 Server được thiết lập chế độ đợi ở cổng 110 Khi POP3client muốn sử dụng giao thức POP3, nó thiết lập một kết nối TCP tới máyserver ở cổng 110 Khi kết nối TCP được thiết lập, POP3 server sẽ gửi một lờichào tới client Phiên làm việc giữa client và server được thiết lập Sau đó
Trang 26client gửi các lệnh tới server và server phản hồi các lệnh đó tới khi đóng kếtnối hoặc kết nối bị huỷ bỏ.
Trang 27Một phiên POP3 có 3 trạng thái là: AUTHORIZATION,TRANSACTION và UPDATE.
- Trạng thái AUTHORIZATION: Khi kết nối TCP được mở và POP3server gửi lời chào tới client thì phiên vào trạng thái AUTHORIZATION,trong trạng thái này server sẽ xác thực client Khi server xác thực client thànhcông thì phiên vào trạng thái TRANSACTION
- Trạng thái TRANSACTION: Tiếp theo trạng tháiAUTHORIZATION là trạng thái TRANSACTION Trong trạng thái này,client có thể truy nhập tới mailbox của mình trên server để kiểm tra, nhậnthư
- Trạng thái UPDATE: Khi client gửi lệnh QUIT tới server từ trạng tháiTRANSACTION, thì phiên vào trạng thái UPDATE, trong trạng thái nàyserver gửi goodbye tới client và đóng kết nối TCP, kết thúc phiên làm việc.Nếu client gửi lệnh QUIT từ trạng thái AUTHORIZATION, thì phiên PO3 sẽkết thúc mà không vào trạng thái UPDATE
Danh sách các lệnh trong giao thức POP3:
1 STAT Yêu cầu tình trãng của hộp thư quy định Máy chủ đáp
ứng cung cấp thông tin như số lượng tin nhắn trong hộp
và số lượng tin nhắn
2 LIST Yêu cầu một phần danh sách các tên hộp thư có sẵn, dựa
trên các tham số được cung cấp
3 RETR Server sẽ gửi toàn bộ thông báo tương ứng với yêu cầu
thông báo tới client
4 DELE Lệnh DELE đánh dấu một thông báo để xoá
5 RSET Lệnh này thì ngược với lệnh DELE
6 NOOP Lệnh này đơn giản chỉ là để kiểm tra kết nối đến Server
7 TOP Nếu không có đối số [n] thì lệnh TOP sẽ lấy header của
thông báo được chỉ ra từ server Nếu có đối [n] thì TOP
sẽ lấy herder của thông báo cùng với n dòng của thôngbáo
Trang 288 UIDL Lệnh này cho phép một trong các lệnh khác được thực
hiện bằng cách sử dụng số nhận dạng duy nhất để xácđinh hoạt động của các
thông báo trình tự
tin nhắn thay vì những con số
9 QUIT Kết thúc phiên POP3
1.3.4 Giao thức IMAP (Internet Message Access Protocol)
1.3.4.1 Giới thiệu về giao thức IMAP
IMAP là một giao thức cho phép client truy nhập thư điện tử trên mộtserver, không chỉ tải thư điện tử về máy của người sử dụng mà có thể thựchiện các công việc như: tạo, sửa, xoá, đổi tên mailbox, kiểm tra thư mới, thiếtlập và xoá 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àoserver cổng 143 từ các máy trạm khác nhau Nó 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 không phải lúc nào cũng chỉ
sử dụng một máy tính Trong khi đó POP không cho phép người sử dụng tácđộng lên các server Đơn giản POP chỉ được phép tải thư điện tử của ngườidùng đang được quản lý trên server, trong inbox của người sử dụng đó Nhưvậy, POP chỉ cung cấp quyền truy nhập tới inbox của người sử dụng màkhông hỗ trợ quyền truy nhập tới pulbic folder (IMAP)
Sử dụng IMAP với các mục đích sau:
- Tương thích đầy đủ với giao thức MIME
- Cho phép truy nhập và quản lý thông điệp từ nhiều máy tính khác nhau
- Hỗ trợ cả 3 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 client không cần thiết phải biết kiểu lưu trữ file củaserver
1.3.4.2 Hoạt động của IMAP
Kết nối IMAP bao gồm: kết nối mạng cho client/server, khởi tạo lệnhtrên server hay gọi là "hello message" và những tương tác client/server tiếptheo Những tương tác này bao gồm: lệnh từ client, dữ liệu trên server và trả
Trang 29lời trên server Tương tác giữa IMAP client và IMAP server thực hiện dựavào các
Trang 30giao thức gửi/nhận của client/server Cụ thể sự tương tác được thể hiện như sau.
a, Giao thức gửi của client và nhận của server
- Khi hoạt động, bên client gửi một lệnh, mỗi lệnh có một định danhđược gọi là một thẻ Mỗi thẻ này được sinh từ phía client cho từng lệnh khácnhau Có 2 trường hợp dòng lệnh gửi từ phía client không được coi là mộtlệnh:
+ Thứ nhất, tham số lệnh được trích dẫn trong dấu ngoặc
+ Thứ hai, tham số lệnh yêu cầu thông tin phản hồi từ phía server
- Trong từng trường hợp thì server gửi một thông tin trả lời (cho lệnhtiếp theo bên phía client) nếu nó đã có các octet và phần lệnh còn lại tươngứng Chú ý rằng đặt trước thông tin trả lời là một dấu "+"
- Nếu server nhận ra lỗi dòng lệnh, thì nó gửi thông tin trả lời là BAD
để huỷ bỏ lệnh và ngăn việc gửi thêm lệnh từ phía client Server có thể gửimột thông tin trả lời cho nhiều lệnh khác nhau cùng một thời điểm (trongtrường hợp gửi nhiều lệnh) hoặc dữ liệu không gán thẻ Trong trường hợpkhác khi yêu cầu tiếp tục gửi lệnh đang chờ thì client thực hiện theo thông tintrả lời lệnh từ phía server và đọc thông tin trả lời khác từ server đến Trong tất
cả các trường hợp thì client phải gửi các thông tin hoàn thành lệnh trước khikhởi tạo lệnh mới
- Giao thức nhận bên server đọc dòng lệnh từ phía client gửi sang, phântích lệnh và các tham số, sau đó truyền tải dữ liệu trên server và thông tinhoàn thành lệnh sang client
b, Giao thức gửi của server và nhận của client
- Dữ liệu đã truyền sang client gồm cả thông tin trạng thái thông báochưa kết thúc lệnh (đặt trước là dấu "*", được gọi là không gán thẻ)
- Dữ liệu trên server có thể được gửi theo lệnh từ phía client, hoặc cóthể được gửi từ phía server mà không cần theo lệnh từ phía client Không có
sự khác nhau về cú pháp giữa 2 cách gửi này
Trang 31- Thông tin hoàn thành đáp lại từ phía server để chỉ ra rằng công việcthực hiện đã hoàn thành hoặc bị lỗi Nó được gán thẻ tương tự thẻ lệnh đã sửdụng cho các lệnh bên phía client Do vậy, nếu có nhiều hơn một lệnh thì thẻ
Trang 32sử dụng trong thông tin hoàn thành lệnh từ phía server còn nhằm dùng để xác nhận sự tương ứng với lệnh mà nó cần thông báo.
Thông tin hoàn thành lệnh từ phía server sử dụng một trong 3 chuỗi sau:
- OK để thông báo lệnh đã thực hiện thành công
- NO để thông báo lệnh thực hiện lỗi
- BAD để thông báo bị lỗi khi sử dụng giao thức (lệnh không đượccông nhận, hoặc cú pháp lệnh sai)
- Giao thức nhận của client đọc thông báo từ phía server gửi sang, sau
đó nó thực hiện theo thông báo đó dựa theo dấu hiệu (+, hoặc *) trên thôngbáo Chú ý rằng, một client phải chấp nhận bất kỳ thông báo nào đó từ phíaserver ở mọi thời điểm, bao gồm cả dữ liệu của server mà nó đã yêu cầu Dữliệu của server được ghi lại, do đó client có thể tham chiếu tới bản sao màkhông cần gửi lệnh yêu cầu dữ liệu tới server Nhưng điều này chỉ thực hiệnđược khi dữ liệu của server đã được ghi lại
c, Danh sách các lệnh sử dụng trong giao thức IMAP:
1 CAPABILITY Yêu cầu đưa ra các khả năng mà server hỗ trợ
4 AUTHENTICATE Chỉ ra một kỹ thuật xác thực server
6 SELECT Chọn mailbox đã chỉ ra để truy nhập
8 CREATE Tạo mailbox với tên đã chỉ ra
10 RENAME Đổi tên mailbox đã tồn tại thành tên mailbox
mới
11 SUBSCRIBE Thêm mailbox vào tập các mailbox có trạng
thái "active" hoặc "subscribed" của server
12 UNSUBSCRIBE Xoá mailbox đã chỉ ra trong tập các mailbox
có trạng thái "active" hoặc "subscribed" của server
Trang 3313 LIST Trả về tập các tên client có hiệu lực
14 LSUB Trả về tập các tên người dùng có khai báo
trạngthái "active" hoặc "subscribed"
15 STATUS Yêu cầu các trạng thái dữ liệu cho mailbox đã
chỉ ra
16 APPEND Nối thêm thông điệp vào cuối mailbox đích đã
chỉ ra
17 CHECK Yêu cầu điểm kiểm soát mailbox đã chọn (ví
dụ, trạng thái vùng nhớ của mailbox trên server)
18 CLOSE Xoá các thông điệp và trả về trạng thái đã xác
24 UID Lệnh này thể hiện ở 2 dạng: Dạng thứ nhất,
nó sử dụng lệnh COPY, FETCH, hoặcSTORE và các tham số của các lệnh tươngứng Dạng thứ 2, nó sử dụng lệnh SEARCH
và các tham sốcủa lệnh này
Trang 341.4 Các nguy cơ mất an toàn khi sử dụng thư điện tử
1.4.1 Đọc lén
Cũng như đối với các ứng dụng khác trên mạng (các phiên đăng nhập
từ xa, tải thông tin sử dụng ftp, hội thoại trực tuyến, ), thư tín điện tử cũng
Những người thực hiện kiểu tấn công này thường là tin tặc Tin tặc cóthể sử dụng các công cụ man-in-the-middle để bắt toàn bộ các gói tin từ người
sử dụng email Việc này có thể được thực hiện một cách dễ dàng thông quacác chương trình như Cain&Abel, Ettercap…
Để phòng tránh tình trạng đọc lén gây ra, người dùng nên sử dụngtường lửa cá nhân, phần mềm chống vi-rút, mạng riêng ảo (VPN), hoặc sửdụng kĩ thuật mật mã để mã hóa các thông tin khi chúng được chuyển đi trênmạng internet để đến server Mail Và ngay trên server, thông tin cũng cầnphải được mã hóa để lưu trữ một cách an toàn sử dụng khóa bảo mật mà chỉ
có người nhận đích thực mới biết
1.4.2 Phân tích đường truyền
Phân tích đường truyền là một kiểu dùng để phân tích các lưu lượngđang được lưu thông trên đường truyền Từ đấy người ta có thể biết được cácthông tin về: password, file, email Các giao thức SMTP, POP, IMAP đều cóthể phân tích và lấy được nội dung bên trong Phương pháp phân tích đườngtruyền ban đầu là dành cho các nhà quản trị hệ thống đề kiểm tra và theo dõimạng
Một số chương trình đề phân tích đường truyền như: Cain&Abel,Wireshark, Pilot…
Trang 35Trong trường hợp nội dung thư được mã hoá, đối tượng đọc trộmkhông thể đọc nội dung bên trong thư điện tử nhưng họ có thể thu thập đượcmột lượng thông tin không nhỏ: Nguồn gửi, nguồn nhận, thời gian gửi…
Việc phân tích đường truyền dựa vào một trong các yếu tố như: gửithư điện tử cho ai,nhận thư điện tử từ ai, độ dài của các thông điệp thư điện
tử, hoặc khi nào thư điện tử được gửi Có rất nhiều thông tin ẩn chứa trongcác yếu tố kiểu như vậy nếu họ biết cách khai thác
Để bảo mật thư trên đường truyền kết hợp các giao thức bảo mật nhưSSL/TLS SSL (Secure Socket Layer) 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 địnhtrước nhằm mã hóa toàn bộ thông tin đi/đến TLS (Transport Layer Security)
là một dạng của SSL có thêm một số thay đổi
1.4.3 Mạo danh
Mạo danh là một vấn đề mất an toàn khác trên mạng máy tính nóichung Khái niệm mạo danh là việc người này giả danh là một người khác.Việc mạo danh có thể xuất phát từ mục đích trêu đùa, làm mất danh dự, bôinhọ người khác hoặc là để lừa gạt
Trong thư điện tử có một số dạng sau:
- Malware-based phishing: Là một phần mềm độc hại được cài trênmáy nạn nhân Kẻ lừa đảo đính kèm các phần mềm độc hại này trong cácchương trình ứng dụng mà người dùng tải về Khi họ cài vào máy tình thì vôtình họ cài luôn các phần mềm độc hại này vào và không hề hay biết mình đã
bị kiểm soát Khi đấy phần mềm này sẽ tự động gửi các thông tin username vàpassword cho các kẻ lừa đảo
- Meceptive phishing: Kẻ lừa đảo sẽ lừa nạn nhận bằng một email có uytín ví dụ từ ngân hàng Trong email đấy có chứa các đường link đề lừa ngườidùng truy cập vào Đường link đó yêu cầu người dùng cung cấp thông tin cánhân Như vậy người dùng đã mắc bẫy của kẻ lừa đảo
- Các kỹ thuật thường được sử dụng là :
+ Social engineering (Tấn công phi kĩ thuât): Là một loại lừa đảo vớimục đích thu thập thông tin, gian lận, hoặc truy cập hệ thống
Trang 36+ Mimicry (Bắt chước): Mọi email và đường link đều giống với nguồn
+ Email spoofing (Giả mạo): Giả mạo địa chỉ của người gửi Giả mạodanh tính và thông tin của người gửi Đề làm cho các nạn nhân tưởng rằng đóchính là người quen của mình
+ URL hiding (Che dấu URL): Kẻ lừa đảo làm cho các đường linkURL trong email liên kết tới các trang khác
+ Invisible content (Ẩn nội dung): Che dấu thông tin trong email nhằmvượt qua các cơ chế lọc email
Một kiểu giả mạo chúng ta có thể lấy ví dụ như kiểu tấn công của kẻthứ ba trong mật mã Ví dụ, Bob và Alice hợp tác với nhau trong một dự ánnào đó, và họ thuờng xuyên trao đổi thông tin với nhau qua thư điện tử Evegiả danh là Bob gửi thư điện tử cho Alice và nói rằng tài khoản thư điện tửtrước đây đã bị huỷ bỏ Tương tự như vậy đối với Bob và nếu cả Bob và Aliceđều tin vào nội dung thư điện tử nhận được thì mọi liên hệ giữa Alice và Bobđược thực hiện thông qua người thứ ba là Eve Khi đó Eve sẽ biết mọi thôngtin về dự án mà Bob và Alice đang hợp tác Eve sẽ là người đánh cắp thôngtin trao đổi giữa Bob và Alice cho tới lúc Bob và Alice trao đổi trực tiếp hoặcthông qua điện thoại
Hiểm hoạ mạo danh có thể được khắc phục thông qua việc sử dụng chữ
ký số Với chữ ký số, Alice (trong ví dụ trên) hoàn toàn có thể kiểm tra đượcnhững thông điệp thư điện tử nào là thật sự của Bob Và cũng không ai có thểmạo danh Alice để gửi các thông điệp điện tử cho người khác
Nếu cần phải tạo ra được 1 sự trao đổi riêng tư, bí mật và an toàn thìnhững thông tin cá nhân và nội dung tin nhắn cần mã hóa khi chúng di chuyểntrên internet
1.4.4 Thư rác
Thư rác, hay còn dược dùng dưới tên gốc Anh ngữ là spam hay spammail, là các thư điện tử vô bổ thường chứa các loại quảng cáo được gửi mộtcách vô tội vạ và nơi nhận là một danh sách rất dài gửi từ các cá nhân hay cácnhóm người và chất lượng của loại thư này thường thấp Đôi khi, nó dẫn dụngười nhẹ dạ, tìm cách đọc số thẻ tín dụng và các tin tức cá nhân của họ
Trang 37Để tránh tình trạng thư rác, các máy chủ thư điện tử cần có một số quytắc để lọc thư.
1.4.5 Sửa đổi thư điện tử
Bất cứ Administrator nào trên bất kỳ SMTP server nơi các email đượcchuyển tiếp qua đó đều có thể đọc nội dung các thông điệp thư điện tử và hơnthế nữa, họ còn có thể hay thay đổi nội dung các thông điệp thư điện tử trướckhi nó tiếp tục đi đến đích Người nhận sẽ không thể biết thông điệp của bạn
có bị thay đổi hay không? Nếu thông điệp bị xóa đi mất thì họ cũng không thểbiết rằng có thông điệp đã được gửi cho họ
Để tránh việc sửa đổi tin nhắn người dùng nên sử dụng các phươngpháp mã hóa để bảo vệ nội dung thư, sử dụng chữ kí số để xác thực người gửithư
1.5 Kết luận chương
Như vậy, trong chương này đồ án đã tìm hiểu về hệ thống thư điện tử,các giao thức truyền nhận thư cũng như một số vấn đề về an toàn trong giaodịch điện tử, các biện pháp đảm bảo an toàn thông tin giao dịch điện tử để làm
cơ sở cho việc nghiên cứu các chương tiếp theo
Trang 38CHƯƠNG 2: TÌM HIỂU CÁC GIẢI PHÁP BẢO MẬT THƯ
ĐIỆN TỬ
2.1 Một số thuật toán mật mã sử dụng trong bảo mật thư điện tửKhi nhắc đến vấn đề an toàn thư điện tử, có nhiều bài toán được đặt ranhư bảo đảm tính toàn vẹn của thông tin, đảm bảo tính xác thực, đảm bảo tính
bí mật và chống chối bỏ Nội dung dưới đây giới thiệu một số thuật toán mật
mã được ứng dụng trong bảo mật thư điện tử để giải quyết các bài toán trên
2.1.1 Các hệ mật khóa bí mật
2.1.1.1 Thuật toán AES
AES mã hóa một khối bản rõ M 128 bit thành một khối bản mã C 128bit bằng cách dùng một khóa mã K có độ dài 128 bit (hoặc 192, 256 bit)tương ứng với AES-128 (hoặc AES-192 hoặc AES-256) Thuật toán thực hiệntrên các byte và kích thước khối đối với đầu vào đầu ra và khóa được biểu thịbằng các từ 32 bit
Quá trình mã hóa AES bao gồm các bước:
Trang 392.1.1.2 Thuật toán DES
DES mã hóa một khối bản rõ có độ dài 64 bit bằng một khóa 56 bit.Bản mã nhận được là một chuỗi bit có độ dài 64 bit Thuật toán được mô tảqua 3 giai đoạn:
1 Với khối bản rõ cho trước x, một chuỗi bit x0 sẽ được xây dựng bằngcách hoán vị các bit của x theo phép hoán vị cố định ban đầu
IP x0 = IP(x) = L0R0trong đó L0 gồm 32 bit đầu và R0 dùng 32 bit cuối
2 Sau đó tính toán 16 lần lặp theo một hàm xác định
Tính LiRi, l ≤ i ≤ 16 theo quy tắc sau
Li = Ri−l
Ri = Li−l ⊕ f(Ri−l), ki)Trong đó ⊕ kí hiệu phép loại trừ của hai chuỗi bit (cộng theo modulo2) f là một hàm, ki là các chuỗi bit độ dài 48 được tính như hàm của khóa k
3 Áp dụng phép hoán vị ngược IP−1 cho xâu bit L16R16, ta thu được bản mã y Tức là y = IP−1(R16L16)
2.1.2 Hệ mật khóa công khai
Hệ mật khóa công khai có nhiều ứng dụng trong bảo mật thư điện tử, phổ biến nhất là hệ mật RSA
Trang 40Hình 2.1 Sơ đồ hoạt động của RSA