Hiện nay, nhu cầu trao đổi thông tin được phát triển rộng khắp, một trong những phương thức phổ biến nhất trên Internet đó là thư điện tử email, thư điện tử giúp mọi người sử dụng máy tí
Trang 1Số húa bởi Trung tõm Học liệu http://www.lrc-tnu.edu.vn/
đại học thái nguyên
Tr-ờng đại học CÔNG NGHệ THÔNG TIN Và TRUYềN THÔNG
TRẦN THU HIỀN DỊU
NGHIấN CỨU GIẢI PHÁP BẢO MẬT
THƢ ĐIỆN TỬ TRấN HỆ MÃ NGUỒN MỞ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
thái nguyên - năm 2014
Trang 2Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
LỜI CAM ĐOAN
Tôi cam đoan luận văn này là do bản thân nghiên cứu và thực hiện
theo sự hướng dẫn khoa học của thầy giáo TS Hồ Văn Hương
Tôi hoàn toàn chịu trách nhiệm về tính pháp lý quá trình nghiên cứu khoa học của luận văn này
Thái Nguyên, ngày 29 tháng 09 năm 2014
Người cam đoan
Trần Thu Hiền Dịu
Trang 3Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
LỜI CẢM ƠN Trước tiên em xin chân thành cảm ơn thày giáo TS.Hồ Văn Hương công tác tại Ban Cơ yếu Chính phủ đã tận tình hướng dẫn, giúp đỡ, chỉ
bảo và luôn tạo điều kiện cho em hoàn thành luận văn này
Em xin chân thành cảm ơn các thày, các cô trong trường Đại Học
Công Nghệ Thông Tin và Truyền Thông Thái Nguyên và Viện Công Nghệ Thông Tin đã giảng dạy, giúp đỡ và tạo điều kiện thuận lợi cho em
trong suốt thời gian học tập tại trường
Em xin gửi lời cảm ơn tới các bác, các chú và các anh chị công tác
tại Công Ty ECOIT đã cho em một môi trường rất tốt để em được thực
tập, học hỏi trong suốt quá trình thực tập và nghiên cứu luận văn tốt nghiệp
Em đã cố gắng để hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những khiếm khuyết Em rất mong nhận được sự cảm thông và tận tình chỉ bảo, nhận xét đóng góp
ý kiến quý báu của quý thày cô
Thái Nguyên, ngày 29 tháng 09 năm 2014
Tác giả luận văn
Trần Thu Hiền Dịu
Trang 4Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
MỤC LỤC
Danh mục các từ viết tắt………… ……… ……… iii
Danh mục các hình vẽ……… ……… …iv
MỞ ĐẦU 1
Chương 1 TỔNG QUAN VỀ AN TOÀN THƯ TÍN ĐIỆN TỬ 4
1.1 Thư điện tử 4
1.1.1 Giới thiệu thư điện tử [11] 4
1.1.2 Tổng quan về thư điện tử 4
1.1.3 Cấu trúc thư điện tử 7
1.1.4 Các giao thức trong thư điện tử 8
1.2 Các hình thức đe dọa tính an toàn của thông tin khi sử dụng Email 10
1.2.1 Sự thiếu bảo mật trong hệ thống Email 10
1.2.2 Các nguy cơ trong quá trình gửi Email [9] 11
1.3 Hệ điều hành mã nguồn mở [3] 14
1.3.1 Giới thiệu chung về Linux 14
1.3.2 Các thành phần của Linux 15
1.3.3 Một số đặc điểm của hệ điều hành Linux 16
Chương 2 BẢO MẬT THƯ ĐIỆN TỬ DỰA TRÊN MÃ HÓA 19
2.1 Cơ sở lý thuyết mật mã [1], [2], [4] 19
2.1.1 Giới thiệu chung về mật mã 19
2.1.2 Hệ mật mã khóa công khai RSA 22
2.1.3 Thuật toán băm 23
2.1.4 Chữ ký số 24
2.1.5 Chứng thư số 28
2.2 Bảo mật email với SSL và TLS [11] 33
2.3.Bảo mật email với mã hóa khóa bất đối xứng (PGP và S/MIME) [11] 35 2.3.1 Giới thiệu về PGP và S/MIME 35
Trang 5Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
2.3.2 Khả năng tương thích với Email Client 36
2.3.3 Mã hóa và xác thực bằng PGP 37
2.3.4 Mã hóa và xác thực bằng S/MIME 39
2.4 Bảo mật email với PEM 40
2.5 Giải pháp bảo mật cho thư điện tử [7] 41
Chương 3 XÂY DỰNG PHẦN MỀM DEMO BẢO MẬT THƯ TÍN ĐIỆN TỬ 45
3.1 Giới thiệu hệ thống Zimbra Mail Server [14] 45
3.1.1 Zimbra Collaboration Suite 45
3.1.2 Quá trình cài đặt hệ thống Zimbra Mail Server 48
3.2 Phân tích thiết kế xây dựng hệ thống bảo mật thư điện tử trên Zimbra Mail Server 53
3.3 Hệ thống thư điện tử Zimbra 59
3.3.1 Khởi động hệ thống 59
3.3.2 Nạp public Key vào tài khoản 60
3.3.3 Đăng nhập bằng eToken 62
3.3.4 Gửi thư mã hóa và giải mã 63
3.3.5 Gửi thư kèm chữ ký và xác thực 65
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
Trang 6Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC TỪ VIẾT TẮT
CA Certificate Authority
CRC Cyclic Redundancy Check
DNS Domain Name System
HĐH Hệ điều hành
IMAP Internet Message Access Protocol
MTA Message Transfer Agent
MD Message Digest
PGP Pretty Good Privacy
PKI Public Key Infrastructure
POP Post Office Protocol
RA Registration Authority
RSA Rivest Shamir Adleman
SHA Secure Hash Algorithm
SMTP Simple Mail Transfer Protocol
SSL Secure Socket Layer
S/MIME Secure/Multipurpose Internet Mail Extensions
TLS Transport Layer Security
ZCS Zimbra Collaboration Suite
Trang 7Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Mô hình hệ mật mã khóa bí mật 20
Hình 2.2 Mô hình mã hóa khóa công khai 21
Hình 2.3 Lược đồ tạo chữ ký số 26
Hình 2.4 Lược đồ kiểm tra chữ ký số 26
Hình 2.5 Mã hoá email bằng PGP 37
Hình 2.6 Xác thực email bằng PGP 38
Hình 2.7 Kết hợp mã hóa và xác thực email bằng PGP 38
Hình 2.8 Mô hình Client/Server 42
Hình 3.1 Giao diện trang đăng nhập của admin 50
Hình 3.2 Giao diện trang của admin 51
Hình 3.3 Giao diện trang đăng nhập cho user 51
Hình 3.4 Giao diện trang webmail của user 52
Hình 3.5 Giao diện soạn thư 52
Hình 3.6 Sơ đồ nạp eToken 54
Hình 3.7 Sơ đồ đăng nhập bằng eToken 55
Hình 3.8 Sơ đồ mã hóa và giải mã thư 56
Hình 3.9 Sơ đồ gửi thư kèm chữ ký và xác thực 58
Hình 3.10 Đăng nhập vào hệ thống Zimbra bằng cách thông thường 60
Hình 3.11 Nạp public key của eToken vào tài khoản 60
Hình 3.12 Nhập mã PIN của eToken 61
Hình 3.13 Khung thông báo tìm thấy Public key 61
Hình 3.14 Hệ thống yêu cầu nhập mã pin của eToken 62
Hình 3.15 Đăng nhập thông qua eToken 62
Hình 3.16 Trang màn hình hiển thị sau khi đăng nhập 63
Hình 3.17 Gửi thư mã hóa 63
Hình 3.18 Giải mã thư 64
Hình 3.19 Kết quả sau khi giải mã 64
Hình 3.20 Gửi thư kèm theo chữ ký 65
Hình 3.21 Xác thực người gửi 65
Hình 3.22 Kết quả xác thực 66
Trang 8Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
MỞ ĐẦU
Lý do chọn đề tài
Trong những năm gần đây, Internet phát triển mạnh mẽ và đã trở thành nền tảng chính cho sự trao đổi thông tin trên toàn cầu Nhờ có Internet mà việc trao đổi thông tin cũng được trở nên tiện lợi và nhanh chóng hơn Các thông tin nhạy cảm và quan trọng cũng được lưu trữ và trao đổi dưới hình thức điện tử Chính vì thế nguy cơ lừa đảo, can thiệp, tấn công, phá hoại và ăn cắp thông tin ngày càng trở nên nghiêm trọng và nhu cầu sử dụng mật mã càng cao Mật mã không chỉ đơn thuần phục vụ cho chính phủ, cho quân đội…mà nó còn được sử dụng cho mọi người để đảm bảo tính riêng tư của mỗi người Hiện nay, nhu cầu trao đổi thông tin được phát triển rộng khắp, một trong những phương thức phổ biến nhất trên Internet đó là thư điện tử (email), thư điện tử giúp mọi người sử dụng máy tính kết nối Internet có thể trao đổi thông tin với nhau Do đó, có một
số yêu cầu được đặt ra đối với việc trao đổi thông tin trên mạng:
- Bảo mật tuyệt đối thông tin trong giao dịch
- Đảm bảo tính toàn vẹn của thông tin
- Chứng thực được tính đúng đắn về pháp lí của thực thể tham gia trao đổi thông tin
Từ những yêu cầu trên vấn đề đặt ra là cần có phương pháp bảo mật thông tin nhằm cải thiện an toàn trên Internet Việc tìm ra giải pháp bảo mật dữ liệu, cũng như việc chứng nhận quyền sở hữu của cá nhân là một vấn đề luôn luôn mới Bảo mật phải được nghiên cứu và cải tiến để theo kịp sự phát triển không ngừng của cuộc sống
- Làm thế nào để bảo mật dữ liệu?
- Làm sao để tin tức truyền đi không bị mất mát hay bị đánh tráo?
Trang 9Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Làm sao để người nhận biết được thông tin mà họ nhận được có chính xác hay không? đã bị thay đổi gì chưa?
- Làm sao để biết được thông tin này do ai gửi đến? thuộc quyền sở hữu của ai?
Những câu hỏi được đặt ra là một thách thức rất lớn đối với những người nghiên cứu bảo mật Có rất nhiều cách thức để bảo vệ thông tin trên đường truyền, nhiều giả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ồn tạ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ật ngày càng phức tạp, 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
Với mong muốn nghiên cứu tìm hiểu giải pháp bảo mật cho thư điện
tử em đã quyết định lựa chọn đề tài : “Nghiên cứu giải pháp bảo mật thư
điện tử trên hệ mã nguồn mở ”
Đối tượng và phạm vi nghiên cứu
Đối tượng và phạm vi nghiên cứu của đề tài:
- Tổng quan về thư điện tử
- Tìm hiểu về hệ điều hành mã nguồn mở
- Tìm hiểu về lý thuyết mật mã
- Tìm hiểu các giải pháp bảo mật thư điện tử
- Xây dựng ứng dụng chữ ký số trong bảo mật thư điện tử với hệ thống thư điện tử Zimbra Mail Server
Hướng nghiên cứu của đề tài
Đề tài tập trung tìm hiểu, nghiên cứu về thư điện tử, xây dựng ứng dụng chữ ký số trong bảo mật thư điện tử trên hệ thống Zimbra Mail Server để ký số, mã hóa, giải mã và xác thực mail
Trang 10Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Những nội dung chính nghiên cứu
Luận văn gồm 3 chương tập trung nghiên cứu những nội dung chính sau: Chương 1 Tổng quan về an toàn thư tín điện tử
Chương 2 Bảo mật thư điện tử dựa trên mã hóa
Chương 3 Xây dựng phần mềm demo bảo mật thư tín điện tử
Ý nghĩa khoa học của đề tài
Xây dựng và triển khai ứng dụng chữ ký số trong bảo mật thư điện
tử tích hợp trên hệ thống thư điện tử Zimbra Mail Server: Cài đặt hệ thống Zimbra Mail Server, tích hợp bảo mật trên hệ thống Zimbra gồm các nhiệm vụ là gửi thư mã hóa, thư kèm chữ ký, giải mã thư mã hóa, và xác thực người gửi
Trang 11Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chương 1 TỔNG QUAN VỀ AN TOÀN THƯ TÍN ĐIỆN TỬ 1.1 Thư điện tử
1.1.1 Giới thiệu thư điện tử [11]
Để gửi một bức thư thông thường ta có thể mất một vài ngày với một bức thư được gửi ở trong nước và nhiều thời gian hơn với bức thư được gửi ra nước ngoài Do đó, để tiết kiệm thời gian và tiền bạc nhiều người đã sử dụng thư điện tử
Thư điện tử được gửi đến người nhận rất nhanh, dễ dàng và rẻ hơn nhiều so với sử dụng thư tay truyền thống
Vậy thư điện tử là gì? nói một cách đơn giản, thư điện tử là một thông điệp gửi từ máy tính này đến máy tính khác trên mạng máy tính và mang nội dung cần thiết từ người gửi đến người nhận Thư điện tử không những có thể truyền gửi được chữ mà nó còn có thể gửi với file đính kèm như hình ảnh, các công văn tài liệu, âm thanh, phim, các chương trình phần mềm…
1.1.2 Tổng quan về thư điện tử
1.1.2.1 Electronic mail
Email là dịch vụ thư điện tử được sử dụng nhiều nhất hiện nay, trở thành một phương tiện trao đổi thông tin không thể thiếu Sự nhanh chóng, tiện lợi và đặc biệt là miễn phí hoặc rất rẻ đã khiến email trở thành một “huyết thanh điện tử”, sự xuất hiện email được đánh giá là dẫn đến cuộc cách mạng trong kinh doanh Dường như không một doanh nghiệp nào trên thế giới
không dùng email trong các công việc kinh doanh của mình
Một email không có gì đơn giản hơn là một “thông điệp chữ”, một
đoạn văn bản được gửi cho người nhận
Trang 12Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.1.2.2 Mail client
Email client mang bốn đặc điểm sau:
- Cho bạn thấy một danh sách các message trong hộp thư của bạn bằng cách hiển thị phần message header (đầu mục của thư) Message header này chỉ cho bạn ai đã gửi message, tiêu đề của message, những thông tin khác như thời gian gửi, thời gian nhận, kích cỡ …
- Cho phép bạn chọn và đọc nội dung của một message
- Cho phép bạn tạo một message mới và gửi nó đi Bạn nhập vào địa chỉ người gửi, tiêu đề và nội dung của message
- Hầu hết các email client cho phép đính kèm file, văn bản, hình ảnh, video vào message gửi đi và lưu những đính kèm khác từ message nhận được Những email client phức tạp còn có thể có những chức năng khác như: Chat, gọi video Nhưng nói chung về bản chất, đấy là tất cả những gì mà một email client có
1.1.2.3 Máy chủ Mail và tìm hiểu quá trình gửi và nhận mail
Bạn đã có email client trên máy tính của bạn, bạn đã sẵn sàng để gửi và nhận email Tất cả điều bạn cần bây giờ là có một máy chủ thư điện tử để các email client kết nối đến
Những hệ thống máy tính trên Internet có thể chạy những phần mềm ứng dụng được gọi là server (máy chủ, máy phục vụ) Chúng gồm những loại server như web server (máy chủ web), FPT server (máy chủ truyền file), telnet server (máy chủ telnet) và email server (máy chủ thư điện tử)… Những máy chủ này chạy suốt ngày suốt đêm và kiểm tra những cổng đặc biệt, chờ đợi những chương trình kết nối vào cổng đó Một máy chủ email đơn giản nhất sẽ làm những việc như sau:
Máy chủ email sẽ có một danh sách tài khoản email, với mỗi tài khoản ứng với mỗi người có thể nhận email trên máy chủ Nó sẽ có một
Trang 13Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
file văn bản ứng với mỗi tài khoản trong danh sách Nếu một ai đó muốn gửi một message ngắn, khi người đó nhấn nút gửi, email client sẽ kết nối tới các máy chủ thư điện tử và chuyển cho máy chủ tên của người nhận, tên của người gửi và nội dung của bức thư Máy chủ sẽ định dạng đoạnvăn bản ngắn này và gắn nó vào phần cuối của bức thư Phần thêm vào của file sẽ có định dạng như ví dụ sau:
Khi những người khác gửi message, máy chủ thư điện tử sẽ đơn giản là gán tiếp những bức thư đó vào phần cuối của file bức thư ban đầu File văn bản sẽ bao gồm một nhóm 5 hoặc 10 bức thư và cuối cùng người nhận sẽ truy cập vào và đọc chúng Khi người nhận muốn đọc thư, email client sẽ kết nối với máy chủ trong một tiến trình đơn giản nhất mà email client sẽ:
- Hỏi máy chủ để gửi một bản sao của file
- Hỏi máy chủ để xóa và điều chỉnh lại file
- Lưu file trên máy tính cục bộ
- Phân tích file ra từng bức thư riêng biệt (tìm từ “ Form” để tách các bức thư)
- Hiển thị cho người nhận tất cả các message header (đầu mục thư) theo từng danh sách
Trang 14Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Khi người nhận nhấp đúp chuột lên một đầu mục thư, trình duyệt sẽ tìm nội dung của bức thư đó trong file để hiển thị lên
Chúng ta thấy rằng đây là một hệ thống khá đơn giản, thật ngạc nhiên những hệ thống máy chủ email trong thực tế bạn sử dụng hàng ngày đều không phức tạp hơn
1.1.3 Cấu trúc thư điện tử
Thư điện tử (email) được cấu tạo tương tự như những bức thư thông thường và 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ư (subject) Tên và địa chỉ của người gửi, ngày tháng của bức thư
From: Địa chỉ của người gửi
To: Người gửi chính của bức thư
Cc : Những người đồng gửi (sẽ nhận được một bản copy thư)
Bcc : Những người cũng nhận được một bản- nhưng những người này không xem được những ai được nhận thư
Date : Thời gian gửi bức thư
Subject : Chủ đề của bức thư
Messages – ID mã xác định của thư (là duy nhất và được tự động điền vào)
Reply – To: Địa chỉ nhận được phúc đáp
- Thân của bức thư (body): Chứa nội dung của bức thư
Như khi gửi các bức thư bình thường bạn cần phải có địa chỉ chính xác Nếu sử dụng sai địa chỉ hoặc gõ nhầm địa chỉ, thì thư sẽ không thể gửi đến người nhận và nó sẽ chuyển lại cho người gửi, và báo địa chỉ không biết (address unknown)
Trang 15Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Khi nhận được một thư điện tử, thì phần đầu (header) của thư sẽ cho biết nó từ đâu đến, và nó đã được gửi đi như thế nào và khi nào Nó như việc đóng dấu bưu điện
Không như những bức thư thông thường, những bức thư thông thường được để trong phong bì còn thư điện tử thì không được riêng tư như vậy mà nó như một tấm thiếp postcard Thư điện tử có thể bị chặn lại
và bị đọc bởi những người không được quyền đọc Để tránh điều đó và giữ bí mật chỉ có cách mã hóa thông tin gửi trong thư
1.1.4 Các giao thức trong thư điện tử
1.1.4.1 Các giao thức mail thông dụng
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 (Message Transfer Agent) với mail server SMTP (Simple Mail Transfer Protocol) là một giao thức phổ biến nhất trong việc gửi thư, trong việc nhận thư thì phải kể đến là hai giao thức POP (Post Office Protocol) và IMAP (Internet Message Access Protocol)
1.1.4.2 Giao thức SMTP
SMTP là một giao thức được sử dụng rộng rãi cho việc gửi mail, chuẩn này hiện thực hệ thống Store and Forward (lưu trữ và vận chuyển) 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ười nhận, SMTP được dùng để gửi mail, không dùng để nhận mail 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
Trang 16Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
cần thiế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
Đặc biệt, 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 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ại xuất hiện thư nặc danh, thư quảng cáo trong hộp thư của chúng ta
1.1.4.3 Giao thức POP
Nhiệm vụ của POP là lấy mail từ mailbox về khi nào người nhận muốn Đặc điểm của hệ thống dùng POP là: Cho phép người sử dụng đăng nhập vào mail server với tài khoản và mật mã, sau đó nhận các mail từ mailbox của mình trên mail server về quản lý trên máy cục bộ của người
sử dụng, thường sau khi lấy thư về thì thư đó sẽ bị xóa trên server
Phiên bản hiện nay của POP là POP3 và đang được sử dụng rất phổ biến nhờ vào những ưu điểm như các mail được lấy về máy cục bộ nên khi đọc mail thì không cần phải kết nối Internet và giảm đáng kể không gian lưu trữ trên Mail server POP3 định nghĩa 3 giai đoạn tạo thành POP seesion:
- Giai đoạn 1: là giai đoạn xác định tính hợp pháp của người nhận mail
- Giai đoạn 2: là giai đoạn giao dịch giữa PC và mail server
- Giai đoạn 3: là giai đoạn đóng kết nối hiện hành
POP cũng có những hạn chế như bạn không thể đọc mail bởi nhiều máy khác nhau, ví dụ như một nhân viên văn phòng đã duyệt mail ở một máy nào đó trong văn phòng thì họ không thể duyệt những mail đó một lần nữa tại nhà vì những mail đó đã được lấy về máy tại văn phòng và không còn trên mail server nữa Vấn đề trên sẽ được giải quyết nếu sử dụng giao thức IMAP để duyệt mail
Trang 17Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
1.1.4.4 Giao Thức IMAP
IMAP cho phép bạn duyệt mail trực tiếp ngay trên mail server mà không phụ thuộc bạn sử dụng máy tính nào để duyệt mail Điều đó cho thấy bạn có thể duyệt mail ở bất cứ đâu, bằng bất cứ máy tính nào nhưng cũng vẫn có hạn chế đó là nếu bạn không thể kết nối Internet hay chất lượng đường truyền quá xấu thì bạn không thể duyệt mail được Phiên bản hiện nay của IMAP là IMAP4, vì việc thực hiện giao thức IMAP rất phức tạp cho nên IMAP không được dùng rộng rãi bằng POP
Tóm lại, mỗi giao thức POP và IMAP đều có ưu điểm và khuyết điểm riêng nên tùy vào các điều kiện cụ thể mà sử dụng cho thích hợp
1.2 Các hình thức đe dọa tính an toàn của thông tin khi sử dụng Email
1.2.1 Sự thiếu bảo mật trong hệ thống Email
Webmail : Nếu kết nối với Webmail server là không an toàn, lúc đó mọi thông tin bao gồm username và password không được mã hóa khi nó
từ Webmail server tới máy tính
SMTP: SMTP không mã hóa thông điệp, mọi kết nối giữa SMTP servers gửi thông điệp của bạn dưới dạng chữ cho mọi kẻ nghe trộm thấy Thêm vào đó, nếu Email server yêu cầu bạn gửi username và password để
“login” vào SMTP server mục đích để chuyển thông điệp tới một server khác, khi đó tất cả đều được gửi dưới dạng chữ, mục tiêu để nghe trộm Cuối cùng, thông điệp gửi bằng SMTP bao gồm thông tin về máy tính mà chúng được gửi đi, và chương trình email này đã được sử dụng Những thông tin này sẵn sàng cho mọi người nhận, có thể mang tính chất cá nhân
POP và IMAP: Giao thức POP và IMAP yêu cầu bạn gửi username
và password để login, đều không được mã hóa Vì vậy, thông điệp của bạn có thể được đọc bởi bất kì kẻ nào đang nghe lén thông tin của máy tính cũng như nhà cung cấp dịch vụ email của bạn
Trang 18Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Backups: Thông điệp được lưu trữ trên SMTP server dưới dạng chữ, không được mã hóa Việc sao lưu dữ liệu trên server có thể được thực hiện bất cứ lúc nào và người quản trị có thể đọc bất kỳ dữ liệu nào trên máy tính
1.2.2 Các nguy cơ trong quá trình gửi Email [9]
Khi truyền thông tin trên mạng chúng ta có thể bị Hacker tấn công
bằng hình thức chủ động hoặc thụ động để lấy cắp thông tin
Tấn công thụ động là tìm hiểu hoặc sử dụng thông tin từ hệ thống nhưng không ảnh hưởng tới tài nguyên của hệ thống
Tấn công chủ động là cố gắng để thay đổi tài nguyên của hệ thống hoặc ảnh hưởng đến hoạt động của hệ thống
1.2.2.1 Tấn công thụ động
Các cuộc tấn công thụ động bản chất gần giống với việc ai đó ở phòng kế bên đang nghe lén, hoặc giám sát, truyền tải Mục tiêu của kẻ tấn công là để có được thông tin đang truyền đi Hai loại hình tấn công của thụ động là phát lại các nội dung thông điệp và phân tích lưu lượng
Việc phát lại các nội dung thông điệp được hiểu như sau: Một cuộc trò chuyện điện thoại, một tin nhắn gửi qua thư điện tử và một tập tin gửi
đi có thể chứa thông tin nhạy cảm hoặc bí mật, người tấn công ngăn chặn
và sao chép nội dung của các nội dung truyền đi
Loại thứ hai của tấn công thụ động, phân tích lưu lượng truy cập là tinh vi hơn Giả sử chúng ta có một cách để che giấu các nội dung của các thông điệp để ngay cả khi người tấn công chiếm được tin nhắn cũng không thể trích xuất các thông tin từ tin nhắn Kỹ thuật phổ biến cho bảo
vệ nội dung là mã hóa Nếu chúng ta có bảo vệ mã hóa tại chỗ thì người tấn công vẫn có thể quan sát các mô hình của những tin nhắn này
Trang 19Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Người tấn công có thể xác định được vị trí và địa chỉ máy chủ và có thể quan sát được tần số và độ dài của tin nhắn được trao đổi, thông tin này có thể
có ích trong việc đoán bản chất của truyền thông đã được diễn ra
Các cuộc tấn công thụ động rất khó để phát hiện, bởi vì chúng không liên quan đến bất kỳ sự thay đổi nào của dữ liệu Thường thì lưu lượng tin nhắn được gửi và nhận trong một thời gian dường như là bình thường và không phải là người gửi nào cũng nhận biết được là có một bên thứ 3 đã đọc thông điệp hoặc quan sát mô hình gửi
Tuy nhiên, để ngăn chặn sự thành công của các cuộc tấn công thường là sử dụng phương tiện mã hóa Do đó, điểm nhấn trong đối phó với các cuộc tấn công thụ động là phòng chứ không phải phát hiện
Xét trường hợp sau: Giả sử Mai là nhân viên ngân hàng còn Hương
là một khách hàng Hương gửi thông điệp cho Mai đề nghị chuyển cho Nam số tiền là 10 triệu Hương có áp dụng các biện pháp như chữ ký điện
tử với mục đích không cho Nam mạo danh cũng như sửa chữa thông điệp Tuy nhiên nếu Nam sao chép và phát lại thông điệp thì các biện pháp bảo
Trang 20Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
vệ này không có ý nghĩa Mai tin rằng Hương gửi tiếp một thông điệp mới
để chuyển thêm cho Nam 10 triệu nữa
- Thay đổi thông điệp (modification of mesages): Thay đổi thông điệp
là một phần của thông điệp hợp pháp bị thay đổi, bị trì hoãn hoặc sắp xếp lại
Ví dụ: Một thông báo có nghĩa là “cho phép Mai đọc tập tin tài khoản bí mật” được sửa đổi lại thành “cho phép Nam đọc các tài khoản bí mật tập tin”
- Từ chối dịch vụ (denial of service): Từ chối dịch vụ là ngăn chặn hoặc cản trở sự sử dụng bình thường hoặc quản lý các cơ sở thông tin liên lạc, cuộc tấn công này có thể có mục tiêu cụ thể
Dịch vụ kiểm toán bảo mật là một hình thức khác của từ chối dịch
vụ là sự gián đoạn của toàn bộ mạng hoặc bằng cách vô hiệu hóa mạng hoặc do quá tải
Các cuộc tấn công chủ động trình bày các đặc điểm ngược lại với các cuộc tấn công thụ động Trong khi các cuộc tấn công thụ động khó phát hiện thì các cuộc tấn công chủ động khá khó khăn để ngăn chặn Thay vào đó, phát hiện tấn công chủ động để phục hồi từ bất kỳ sự gián đoạn hoặc chậm trễ bị gây ra Nếu phát hiện được có tác dụng răn đe và cũng có thể đóng góp cho công tác phòng chống
1.2.2.3 Một số phương pháp tấn công hệ thông tin mã hóa
Bất cứ ai cũng có thể tạo ra một hệ thống thông tin mã hóa cho riêng mình Nhưng để có một hệ thống an toàn và hiệu quả đòi hỏi người thiết kế phải có kiến thức toán học sâu sắc, có kinh nghiệm về bảo mật và
am hiểu các phương pháp tấn công
- Brute – Force attack (exhaustive key search): Phương pháp tấn công bằng cách thử tất cả những khóa có thể có, đây là phương pháp tấn công thô sơ nhất và cũng khó khăn nhất Theo lý thuyết, tất cả các thuật toán hiện đại đều có thể bị đánh bại bởi Brute- Force nhưng trong thực
Trang 21Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
tiễn việc này chỉ có thể thực hiện được trong thời gian hàng triệu, thậm chí hàng tỉ năm Vì thế có thể coi một thuật toán là an toàn nếu như không còn cách nào khác để tấn công nó dễ hơn là Brute-Force
- Frequency Analysis: Thống kê tần suất chỉ có thể áp dụng được đối với các thuật toán cổ điển dùng phương pháp thay thế Để thực hiện phương pháp này ta cần một lượng văn bản đã mã hóa đủ lớn để phép thống kê được chính xác Ngoài ra còn phải biết ngôn ngữ sử dụng trong văn bản ban đầu, nếu văn bản ban đầu là Tiếng Anh thì nhiều khả năng kí
tự xuất hiện nhiều nhất trong văn bản đã mã hóa là do chữ e mã hóa thành, kí tự nhiều thứ nhì bắt nguồn từ chữ a
- Differential cryptanalysis: Eli Bibam và Adi Shamir tìm ra phương pháp này vào khoảng cuối năm 1980, nó thường được sử dụng để tấn công các thuật toán khối Phương pháp này dựa trên việc phân tích những biết đổi của hai văn bản gốc có liên quan khi được mã hóa bởi cùng một khóa Còn rất nhiều phương pháp khác như Mod-n cryptanalysis, Linear cryptanalysis, Birthday attack, Algebraic attack…
1.3 Hệ điều hành mã nguồn mở [3]
1.3.1 Giới thiệu chung về Linux
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan Ông làm việc một cách hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994 Bộ phận chủ yếu này được phát triển và tung ra thị trường dưới bản quyền GNU General Public License Do đó mà bất cứ
ai cũng có thể tải và xem mã nguồn của Linux
Một cách chính xác thuật ngữ “Linux” được sử dụng để chỉ nhân Linux, nhưng tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều hành giống Unix được tạo ra bởi việc đóng gói nhân Linux
Trang 22Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
cùng với các thư viện và công cụ GNU, cũng như là các bản phân phối Linux, thực tế thì đó là tập hợp một số lượng lớn các phần mềm như máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môi trường làm việc desktop như GNOME và KDE, và các ứng dụng thích hợp cho công việc văn phòng như OpenOffice
Ban đầu, Linux được phát triển cho dòng vi xử lý 368, hiện tại hệ điều hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các thiết bị nhúng như các máy điện thoại di động
Linux được phát triển và sử dụng bởi những người say mê Tuy nhiên, hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM
và Hewlett-Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền và thậm chí là một thách thức đối với sự thống trị của Microsoft Windows trong một số lĩnh vực Sở dĩ Linux đạt được những thành công một cách nhanh chóng là nhờ vào các đặc tính nổi bật so với các hệ thống khác: Chi phí phần cứng thấp, tốc độ cao và khả năng bảo mật tốt, độ tin cậy cao cũng như là đặc điểm về giá thành rẻ, không bị phụ thuộc vào nhà cung cấp Một đặc tính nổi trội của nó là được phát triển bởi một mô hình phát triển phần mềm nguồn mở hiệu quả, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn còn rất khiêm tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows nhiều hơn là Linux Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho Linux sẽ tăng lên
1.3.2 Các thành phần của Linux
Hệ điều hành Linux gồm các thành phần: Nhân hệ điều hành, các công cụ hệ thống, giao diện đồ họa và ứng dụng
Trang 23Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Nhân HĐH: Nhân HĐH cung cấp một giao diện cho các chương trình và người sử dụng có thể quản lý và khai thác phần cứng máy tính Nhân HĐH bao gồm các driver của một số phần cứng cơ bản, các chương trình lập lịch CPU, quản lý bộ nhớ và quản lý các thiết bị vào ra
Các driver: Ngoài các phần cứng cơ bản của các hệ thống máy tính, còn nhiều các phần cứng khác được quản lý bởi các driver chưa được tích hợp trong nhân Các driver này có thể được tải cùng với nhân hoặc sau khi nhân đã được tải Việc một driver được tích hợp vào trong nhân hay đặt dưới dạng một module hoàn toàn do người dịch nhân quyết định
Các phần mềm hệ thống: Các phần mềm liên quan đến cấu hình hệ thống, giám sát hệ thống, thực hiện các thao tác quản trị
Các phần mềm ứng dụng: Các phần mềm ứng dụng cho người sử dụng: Bộ soạn thảo, mail client, trình biên dịch, thông dịch,…
X Windows và các phần mềm ứng dụng với giao diện đồ họa: Giao diện đồ họa được xây dựng trên cơ sở X, phần mềm cho phép quản lý các vùng logic của màn hình theo các cửa sổ Trên nền của X, có các chương trình quản lý cửa sổ như KDE, GNOME cho phép quản lý các cửa sổ một cách thống nhất, người sử dụng có thể sử dụng các chương trình chạy trên nền đồ họa của X
1.3.3 Một số đặc điểm của hệ điều hành Linux
1.3.3.1 Vấn đề bản quyền
Trong bối cảnh nền kinh tế thế giới đang có xu hướng toàn cầu hóa như hiện nay thì bản quyền là vấn đề đang được quan tâm Hiện nay, Việt Nam là nước dẫn đầu thế giới về số lượng phần mềm dùng không có bản quyền Trước tình hình đó, việc xây dựng cho mình những phần mềm thương hiệu Việt Nam đang là một vấn đề khá cấp bách Phần mềm mã nguồn mở được xem là một giải pháp hữu hiệu nhất cho bài toán bản quyền ở nước ta hiện nay, nó có chi phí rẻ hơn so với các phần mềm
Trang 24Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
truyền thống, mặt khác dễ nâng cấp, cải tiến Chính vì thế, phát triển phần mềm mã nguồn mở chúng ta có thể tận dụng được những công nghệ tiên tiến có sẵn trên thế giới, cải tiến cho phù hợp với người Việt Nam, tiết kiệm được rất nhiều công sức so với việc phát triển từ đầu Linux là một
hệ điều hành mã nguồn mở như vậy
1.3.3.2 Một số đặc điểm kỹ thuật của Linux
Linux là một hệ điều hành mã nguồn mở nên có thể tùy ý sửa chữa theo như yêu cầu của người sử dụng Bạn có thể chỉnh sửa Linux và các ứng dụng trên đó sao cho phù hợp với mình nhất Việc việt hóa Windows được xem là không thể nếu như bạn không có sự đồng ý và hỗ trợ của Microsoft Tuy nhiên với Linux thì bạn có thể làm được điều này, mặt khác do Linux được một cộng đồng rất lớn những người làm phần mềm cùng phát triển trên các môi trường nên việc tìm một phiên bản phù hợp với yêu cầu của bạn không phải là một vấn đề quá khó khăn
Trong Linux có một cơ cấu phân quyền rõ ràng, chỉ có “root” mới
có quyền cài đặt và thay đổi hệ thống Linux cũng có cơ chế để một người dùng bình thường có thể chuyển tạm thời sang quyền “root” để thực hiện một số thao tác Điều này giúp cho hệ thống có thể chạy ổn định và tránh phải những sai sót dẫn đến đổ vỡ hệ thống
Ngoài ra chính nhờ tính chất mở đã tạo nên sự an toàn của Linux, nếu như một lỗ hổng nào đó trên Linux được phát hiện thì nó sẽ được cả cộng đồng mã nguồn mở cùng sửa và thường thì chỉ sau 24h sẽ có thể cho ra bản sửa lỗi Với những hệ điều hành mã nguồn đóng như Windows, bạn không thể biết được người ta viết gì, và viết ra sao mà chỉ biết chúng được chạy như thế nào Đối với người dùng bình thường như chúng ta vấn đề này có vẻ như không quan trọng nhưng đối với một hệ thống tầm cỡ như hệ thống quốc phòng thì vấn đề như thế lại mang tính chất sống còn Các nhân viên an ninh không được phép để lộ một kẽ hở nào, dù là nhỏ nhất vì nó liên quan
Trang 25Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
đến an ninh của cả một quốc gia Một lần nữa các phần mềm mã nguồn mở nói chung và Linux nói riêng lại là sự lựa chọn số 1 Trong Linux mọi thứ đều công khai, người quản trị có thể tìm hiểu tới mọi ngõ ngách của hệ điều hành Điều đó cũng có nghĩa là độ an toàn được nâng cao
Được thiết kế ngay từ đầu cho chế độ đa người dùng, Linux được xem là một hệ điều hành mạng rất giá trị Linux là hệ điều hành thống trị đối với các Server đó là do Linux có rất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ điều hành mạng: Tính bảo mật cao, chạy ổn định, các cơ chế chia sẻ tài nguyên tốt… Giao thức TCP/IP mà chúng ta vẫn thấy ngày nay chính là một giao thức truyền tin của Linux
Dù cho có rất nhiều phiên bản Linux được các nhà phân phối khác nhau ban hành nhưng nhìn chung đều chạy khá ổn định trên mọi thiết bị phần cứng, từ Intel 486 đến những máy Pentium mới nhất, từ những máy
có dung lượng Ram nhỏ đến những máy có cấu hình lớn (không như Windows chỉ do Microsoft phát triển) Đó là do Linux được rất nhiều lập trình viên ở nhiều môi trường khác nhau cùng phát triển và bạn sẽ bắt gặp nhiều người có cùng cảnh ngộ như mình và dễ dàng tìm được các driver tương ứng với thiết bị của mình Tính chất này hoàn toàn trái ngược với Windows, mỗi khi có một phiên bản mới ra đời thì bao giờ cũng kèm theo
đó là một cơn khát về phần cứng vì hệ điều hành mới thường không hỗ trợ các thiết bị quá cũ
Kết luận chương: Chương này đã trình bày được tổng quan về thư
điện tử, hệ điều hành mã nguồn mở, các giao thức trong thư điện tử, các hình thức đe dọa tính an toàn của thông tin khi sử dụng email, làm cơ sở
để tiến hành nghiên cứu các chương tiếp theo
Trang 26Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Chương 2 BẢO MẬT THƯ ĐIỆN TỬ DỰA TRÊN MÃ HÓA 2.1 Cơ sở lý thuyết mật mã [1], [2], [4]
2.1.1 Giới thiệu chung về mật mã
Mật mã đã được con người sử dụng từ lâu đời Các hình thức mật
mã sơ khai đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai Cập cổ đại Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng rãi ở khắp nơi trên thế giới từ đông sang tây để giữ bí mật cho việc giao lưu thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc biệt trong lĩnh vực quân sự, chính trị, ngoại giao Mật mã trước hết là một loại hoạt động thực tiễn, nội dung chính của
nó là để giữ bí mật thông tin
Trong thực tiễn, có những hoạt động ngược lại với hoạt động bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này thường được gọi là thám mã hay phá khóa
5 D là tập các hàm giải mã Với mỗi k K, có một hàm lập mã ek
E, ek : P → C và một hàm giải mã dk D, dk : C → P sao cho dk (ek (x))
Trang 27Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Hình 2.1 Mô hình hệ mật mã khóa bí mật
Sơ đồ mã hóa khóa đối xứng gồm 5 thành phần:
- Bản rõ: Dữ liệu hay thông điệp cần mã hóa
- Thuật toán mã hóa: Thuật toán mã hóa thực hiện những chuyển dịch hay thay thế khác nhau trên bản rõ để sinh ra bản mã
- Khóa bí mật: Khóa bí mật dùng để mã hóa bản rõ, tức nó là đầu vào của thuật toán mã hóa và là giá trị độc lập với bản rõ Thuật toán sinh ra bản mã phụ thuộc vào khóa mã hóa
- Bản mã: Dữ liệu hay thông điệp đã mã hóa Bản mã phụ thuộc vào bản mã và khóa bí mật
- Thuật toán giải mã: Thuật toán giải mã thực hiện những chuyển dịch và thay thế trên bản mã và khóa bí mật để sinh ra bản rõ
Ƣu điểm: Tốc độ mã hóa và giải mã nhanh Đây là ưu điểm nổi bật
của hệ mã hóa đối xứng Sử dụng đơn giản chỉ cần dùng một khóa cho hai quá trình mã hóa và giải mã
Nhƣợc điểm: Không an toàn vì độ phức tạp tính toán nằm trong
khả năng của máy tính ngày nay Để an toàn hơn đòi hỏi thuật toán mã hóa mạnh.Vì bên nhận và bên gửi đều sử dụng một khóa, cho nên khóa
Trang 28Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
cần phải được trao tận tay hay truyền trên kênh an toàn, điều này làm phức tạp cho hệ thống khi cài đặt hệ mật mã khóa đối xứng, không thể cho phép tạo ra chữ ký điện tử
2.1.1.3 Mã hóa khóa công khai
Hệ mã hóa khóa công khai là hệ mã hóa có khóa lập mã và khóa giải mã khác nhau, biết được khóa này khó tính được khóa kia
Hệ mã hóa này được gọi là hệ mã hóa khóa công khai vì khóa lập
mã được công khai (Public key), khóa giải mã giữ bí mật (Private key) Điều quan trọng đối với hệ thống là không thể tìm ra khóa bí mật nếu chỉ biết khóa công khai
Hình 2.2 Mô hình mã hóa khóa công khai
Sơ đồ mã hóa khóa công khai gồm 5 thành phần:
- Bản rõ: Dữ liệu hay thông điệp cần mã hóa
- Thuật toán mã hóa: Thuật toán mã hóa thực hiện những chuyển dịch khác nhau trên bản rõ để tạo ra bản mã
- Khóa công khai và khóa riêng: Đây là một cặp khóa, mà khóa công khai dùng để mã hóa còn khóa riêng dùng để giải mã
- Bản mã: Dữ liệu hay thông điệp đã mã hóa dùng khóa công khai
Trang 29Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Thuật toán giải mã: Thuật toán giải mã sinh ra bản rõ dùng khóa
bí mật và bản mã
Ƣu điểm: Mặc dù kẻ tấn công biết thuật toán mã hóa và khóa mã
hóa cũng không thể xác định được khóa giải mã Chức năng này đạt được trên nguyên tắc sử dụng các hàm một chiều trong toán học khi tính hàm y= f(x) là đơn giản nhưng ngược lại việc tính giá trị y khi đã biết x là rất khó khăn Vậy, khi biết khóa công khai hoặc không thể tính được khóa riêng hoặc tính được khóa riêng với khoảng thời gian dài hàng trăm năm
Nhƣợc điểm: Quá trình mã hóa, giải mã chậm, chỉ nên dùng cho
những dữ liệu không quá lớn Quá trình mã hóa khóa đối xứng bằng khóa công khai sẽ tạo ra phong bì số Tuy có tính bảo mật cao khó có thể phá
vỡ nhưng phương pháp mã hóa khóa công khai vẫn có lỗ hổng
Nơi sử dụng: Sử dụng chủ yếu trên các mạng công khai như
Internet Ví dụ khóa công khai trong các giao dịch điện tử
2.1.2 Hệ mật mã khóa công khai RSA
Thuật toán RSA
RSA là tên viết tắt của ba tác giả Rivest, Sharmir, Adleman của trường MIT đã đề ra hệ mật mã công khai Hệ mật này được đề xuất năm
1977, dựa trên cơ sở tính các lũy thừa trong số học Độ an toàn của hệ mật dựa trên độ khó của việc phân tích thành thừa số nguyên tố của các số nguyên lớn Nhiều hệ mật mã khóa công khai sau này đã được phát triển nhưng đều thua kém hệ RSA Các hệ balo cửa sập đã bị phá vỡ và cho đến nay, ngoài hệ RSA, chưa có một hệ nào khác cung cấp được cả độ an toàn
và chữ ký số
Thuật toán tạo khóa
Bước 1: B (người nhận) tạo hai số nguyên tố lớn ngẫu nhiên p và q (p<>q) Bước 2: B tính n = p*q và (n) = (p-1)(q-1)
Trang 30Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Bước 3: B chọn một số ngẫu nhiên e (0< e < (n)) sao cho ƯCLN (e, (n))=1
Bước 4: B tính d=e-1
bằng cách dùng thuật toán Euclide Bước 5: B công bố n và e trong danh bạ làm khóa công khai, còn d làm khóa bí mật
Thuật toán mã hóa và giải mã
- Mã hóa
Bước 1: A nhận khóa công khai của B
Bước 2: A biểu diễn thông tin cần gửi thành số m (0<= m <= n-1)
Bước 3: Tính c = me
mod n Bước 4: Gửi c cho B
- Giải mã: B giải mã bằng cách tính m=cd mod n
2.1.3 Thuật toán băm
Để đảm bảo tính toàn vẹn của dữ liệu (không bị thay đổi so với dữ liệu ban đầu), người ta đưa ra các phương thức mã hóa một chiều sử dụng các thuật toán băm
Dù chỉ là một sự thay đổi nhỏ, ví dụ chỉ thay đổi 1 bit dữ liệu của bản
tin gốc x, thì giá trị băm h(x) của nó cũng vẫn thay đổi Điều này có nghĩa là:
hai thông điệp khác nhau, thì giá trị băm của chúng cũng khác nhau
Nội dung của bản tin gốc khó thể suy ra từ giá trị hàm băm của nó Nghĩa là với thông điệp x thì dễ tính được z = h(x), nhưng lại khó tính ngược lại được x nếu chỉ biết giá trị băm h(x) (kể cả khi biết hàm băm h)
Trang 31Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Tính chất của hàm băm
Hàm băm không va chạm yếu: Hàm băm h được gọi là không va chạm yếu, nếu cho trước bức điện x, khó thể tính toán để tìm ra bức điện
x’ x mà h(x’) = h(x)
Hàm băm không va chạm mạnh: Hàm băm h được gọi là không
va chạm mạnh nếu khó thể tính toán để tìm ra hai bức thông điệp khác
truyền…
- Một ứng dụng điển hình của phương pháp tóm lược thông điệp là phương pháp kiểm tra CRC (Cyclic Redundancy Check) được sử dụng
trong hầu hết các cơ chế truyền nhận dữ liệu
- Phương pháp này là nền tảng của việc tạo và kiểm tra chữ ký số
2.1.4 Chữ ký số
2.1.4.1 Giới thiệu chữ ký số
Chữ ký số là thông tin được mã hóa bằng khóa riêng của người gửi, được gửi đính kèm theo văn bản đảm bảo cho người nhận xác thực đúng nguồn gốc, tính toàn vẹn của dữ liệu
Chữ ký số chỉ dùng được trong môi trường số, giao dịch điện tử với máy tính và mạng Internet, chữ ký số có thể sử dụng trong các giao dịch
Trang 32Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
thư điện tử, mua bán hàng trực tuyến, đầu tư chứng khoán trực tuyến, chuyển tiền ngân hàng, thanh toán trực tuyến…
- Sử dụng giải thuật MD5 (Message Digest 5) nên thu được digest có độ dài 128 bits
- Tiếp tục sử dụng giải thuật SHA (Secure Hash Algorithm) nên thu được message digest có độ dài 160 bits
- Sử dụng khóa bí mật của người gửi để mã hóa bản phân tích văn bản thu được ở các bước trước Trong bước này, thông thường, người ta sử dụng giải thuật RSA Kết quả thu được trong bước này là chữ ký điện tử của thông điệp ban đầu
- Gộp chữ ký điện tử vào thông điệp ban đầu Công việc này gọi là ký nhận thông điệp
- Sau khi đã ký nhận thông điệp, mọi sự thay đổi trên thông điệp sẽ bị phát hiện trong giai đoạn kiểm tra Ngoài ra, việc ký nhận này đảm bảo người nhận tin tưởng vào thông điệp này xuất phát từ người gửi chứ không phải ai khác
- Sau khi nhận được thông điệp có đính kèm chữ ký điện tử người nhận kiểm tra lại thông điệp:
Trang 33Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
+ Người nhận sử dụng khóa công khai của người gửi để giải mã chữ ký điện tử đính kèm trong thông điệp
+ Sử dụng giải thuật MD5 hay SHA để băm thông điệp đính kèm + So sánh kết quả thu được ở hai bước trên Nếu trùng nhau thì ta kết luận thông điệp này không bị thay đổi trong quá trình gửi, người gửi
là chính xác và ngược lại
Hình 2.3 Lược đồ tạo chữ ký số
Hình 2.4 Lược đồ kiểm tra chữ ký số
Bản chất của thuật toán tạo chữ ký số là đảm bảo nếu chỉ biết thông điệp thì rất khó (hầu như không thể) tạo ra chữ ký số của người gửi nếu
Trang 34Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
không biết khóa bí mật của người gửi Nên nếu phép so sánh cho kết quả đúng thì có thể xác nhận người gửi là chính xác
Tuy nhiên khi tạo chữ ký số, người gửi thường không mã hóa toàn
bộ thông điệp với khóa bí mật mà chỉ thực hiện với bản băm của thông
điệp (bản tóm tắt thông điệp 160 bits) nên có thể xảy ra trường hợp hai
thông điệp khác nhau có cùng bản băm nhưng với xác suất rất thấp
2.1.4.2 Các cách tấn công chữ ký điện tử [8]
Khi nói đến chữ ký điện tử chúng ta luôn đặt mục tiêu an toàn lên hàng đầu, một chữ ký điện tử chỉ thực sự được áp dụng trong thực tế nếu như nó được chứng minh là không hề giả mạo Mục tiêu lớn nhất của những kẻ tấn công các sơ đồ chữ ký là giả mạo, điều này có nghĩa là kẻ tấn công sinh ra được chữ ký của người ký lên thông điệp mà chữ ký này
sẽ được chấp nhận bởi người xác nhận Trong thực tế các hành vi tấn công chữ ký điện tử rất đa dạng, để dễ dàng phân tích một sơ đồ chữ ký là an toàn hay không người ta tiến hành kiểm nghiệm độ an toàn của chữ ký trước các sự tấn công sau:
- Total break (tấn công toàn bộ): Một kẻ giả mạo không những tính được
thông tin về khóa riêng còn có thể sử dụng một thuật toán sinh chữ ký tương ứng tạo ra được chữ ký cho thông điệp
- Selective forgert (giả mạo có lựa chọn): Kẻ tấn công có khả năng tạo ra được một tập hợp các chữ ký cho một lớp các thông điệp nhất định, các
thông điệp này được ký mà không cần có khóa bí mật của người ký
- Existential forgery (giả mạo với thông điệp biết trước): Kẻ tấn công có
khả năng giả mạo chữ ký cho một thông điệp, kẻ tấn công không thể
hoặc có rất ít khả năng kiểm soát thông điệp giả mạo này
Trang 35Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
Ngoài ra hầu hết các chữ ký điện tử đều dựa vào cơ chế mã hóa khóa công khai, các chữ ký điện tử dựa trên cơ chế này có thể bị tấn công theo phương thức như sau:
- Key-only attacks (tấn công với khóa): Kẻ tấn công chỉ biết khóa chung
của người ký
- Message attacks (tấn công vào thông điệp): Ở đây kẻ tấn công có khả năng kiểm tra các chữ ký khác nhau có phù hợp với một thông điệp cho trước hay không Đây là kiểu tấn công rất thông dụng trong thực tế nó thường được chia làm 3 lớp:
+ Know-message attack (tấn công với thông điệp đã biết): Kẻ tấn
công có chữ ký cho một lớp các thông điệp
+ Chosen-message attack (tấn công lựa chọn thông điệp): Kẻ tấn
công dành được các chữ ký đúng cho một danh sách các thông điệp trước khi tiến hành hoạt động phá hủy chữ ký, cách tấn công này là non-adaptive (không mang tính phù hợp) bởi vì thông điệp được chọn trước khi bất kỳ một chữ ký nào được gửi đi
+ Adaptive-message attack (tấn công lựa chọn thông điệp chủ
động): Kẻ tấn công được phép sử dụng người ký như là một bên đáng tin
cậy, kẻ tấn công có thể yêu cầu chữ ký số cho các thông điệp mà các thông điệp này phụ thuộc vào khóa công khai của người ký, như vậy kẻ tấn công có thể yêu cầu chữ ký của các thông điệp phụ thuộc vào chữ ký
và thông điệp dành được trước đây và qua đó tính toán được chữ ký
2.1.5 Chứng thư số
Phương pháp mã hóa khóa công khai đã thực hiện được yêu cầu mã hóa, chữ ký số đã đảm bảo được tính toàn vẹn (thực chất là phát hiện sự thay đổi của thông điệp trên đường truyền chứ không ngăn cản được sự thay đổi) và xác thực được người gửi Trở lại vấn đề giả mạo khóa công
Trang 36Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
khai, vấn đề này đòi hỏi xác thực người nhận là ai Điều này chữ ký số chưa thực hiện được Vì vậy, để đáp ứng nhu cầu đó một hệ thống tổ chức
đã ra đời để các cung cấp chứng thư số
Chứng thư số là một file điện tử dùng để xác thực danh tính một cá
nhân, một máy chủ hay một công ty, tổ chức trên Internet
2.1.5.1 Nhà cung cấp chứng thư số (Certificate Authority – CA)
Cũng như các giấy tờ chứng thực cá nhân khác, chứng thư số phải
do một tổ chức đứng ra chứng nhận những thông tin của bạn là chính xác
Tổ chức đó gọi là nhà cung cấp chứng thư số (Certificate Authority – CA) Các CA phải đảm bảo về độ tin cậy, chịu trách nhiệm về độ chính xác của chứng thư số mà mình cấp cho khách
2.1.5.2 Nhà quản lý đăng ký
Một nhà quản lý đăng ký là một cơ quan thẩm tra trên một mạng máy tính Nó có chức năng xác minh yêu cầu của người sử dùng muốn xác thực một chứng thư số và yêu cầu CA đưa ra kết quả
2.1.5.3 Cơ sở hạ tầng bảo mật khóa công khai PKI [10]
Cơ sở hạ tầng bảo mật khóa công khai (Public Key Infrastructure- PKI) là một tập hợp phần cứng, phần mềm, chính sách, thủ tục cần thiết
để tạo, quản lý và lưu trữ, phân phối và thu hồi các chứng chỉ số dựa trên công nghệ mã hóa khóa công khai
Mã hóa và chữ ký số đã trở thành một phần không thể thiếu được đối với thương mại điện tử cũng như các lĩnh vực đòi hỏi an toàn và bảo mật PKI cung cấp cơ sở hạ tầng giúp cho việc sử dụng mã hóa và chữ ký
số một cách dễ dàng và trong suốt đối với người sử dụng
PKI là một khái niệm mô tả toàn bộ nền tảng cơ sở nhằm cung cấp các dịch vụ quản lý truy cập, tính toàn vẹn, tính xác thực, tính bí mật và tính chống chối bỏ Nền tảng này bao gồm các hệ thống phần mềm như
Trang 37Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
nhà phát hành chứng chỉ, kho chứa dữ liệu phần cứng sử dụng hỗ trợ trong quá trình trao đổi khóa, các chính sách…
PKI đảm bảo cho các giao dịch điện tử cũng như những liên kết nối
bí mật được an toàn dựa trên công nghệ mã hóa khóa công khai
Các dịch vụ sử dụng PKI có khả năng đảm bảo 5 yếu tố sau:
- Bảo mật thông tin: Các thực thể không được cấp quyền thì khó có thể xem bản tin
- Toàn vẹn thông tin: Đảm bảo cho thông tin khó bị thay đổi bởi những thực thể không được cấp quyền
- Xác thực thực thể: Một thủ tục nhằm kiểm tra các thông báo nhận được xem chúng có đến từ một người gửi hợp lệ và có bị sửa đổi hay không
- Chống chối bỏ: Các thực thể không thể chối bỏ các hành động đã thực hiện
- Tính pháp lý: Thông tin phải ở dạng cố định được ký bởi tất cả các bên hợp pháp và phải cho phép thực hiện thẩm tra
Phạm vi ứng dụng của PKI:
- PKI được coi là giải pháp hữu hiệu hiện nay trong việc đảm bảo
an ninh an toàn cho hệ thống thông tin
- Phạm vi ứng dụng của PKI bao gồm: Mã hóa email hoặc xác thực người gửi email, mã hóa hoặc xác 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 toàn trao đổi khóa bằng khóa bất đối xứng, còn mã hóa bằng khóa đối xứng
Các thành phần của PKI:
PKI bao gồm ba thành phần chính:
- Phần 1: Tập hợp các công cụ, phương tiện, các giao thức đảm bảo
an toàn thông tin
Trang 38Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/
- Phần 2: Hành lang pháp lý là luật, các qui định dưới luật về giao dịch điện tử
- Phần 3: Các tổ chức điều hành giao dịch điện tử (CA,RA,…)
Một số chức năng của PKI:
Phân phối và thu hồi khóa:
- Phân phối khóa: Thông qua các kênh truyền không cần đảm bảo an toàn Còn khóa bí mật được phân phối cho người dùng thông qua các kênh truyền an toàn
- Thu hồi, treo khóa: Thông qua việc thu hồi chứng chỉ, là quá trình thu hồi khóa tạm thời, khóa đó có thể được sử dụng lại
Cập nhật thông tin về cặp khóa: Cặp khóa của các đối tượng tham
gia vào hệ thống PKI cần phải được cập nhật một cách thường xuyên, vì
các cặp khóa có thể được thay bằng cặp khóa mới
Cập nhật thông tin về cặp khóa của CA: Cũng giống như sử dụng
chứng chỉ, cặp khóa của CA được cập nhật thường xuyên
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
sử dụng cuối, một để ký số và một để mã hóa để sao lưu dự phòng khóa