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 M
Trang 1ĐẠ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 2LỜ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 h t t p :/ / www l r c - t n u. e d u v n /
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ốtnghiệp
Em đã cố gắng để hoàn thành luận văn trong phạm vi và khả năngcho phép nhưng chắc chắn sẽ không tránh khỏi những khiếm khuyết Emrấ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 h t t p :/ / www l r c - t n u. e d u v n /
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
Trang 6Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
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 7CRC 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 821Hình 2.3 Lược đồ tạo chữ ký số
26Hình 2.4 Lược đồ kiểm tra chữ ký số
26Hình 2.5 Mã hoá email bằng PGP
37Hình 2.6 Xác thực email bằng PGP
38Hình 2.7 Kết hợp mã hóa và xác thực email bằng PGP
38Hình 2.8 Mô hình Client/Server
42Hình 3.1 Giao diện trang đăng nhập của admin
50Hình 3.2 Giao diện trang của admin
51Hình 3.3 Giao diện trang đăng nhập cho user
51Hình 3.4 Giao diện trang webmail của user
52Hình 3.5 Giao diện soạn thư
52Hình 3.6 Sơ đồ nạp eToken
54Hình 3.7 Sơ đồ đăng nhập bằng eToken
55Hình 3.8 Sơ đồ mã hóa và giải mã thư
56Hình 3.9 Sơ đồ gửi thư kèm chữ ký và xác thực
58
Trang 960Hình 3.12 Nhập mã PIN của eToken
61Hình 3.13 Khung thông báo tìm thấy Public key
61Hình 3.14 Hệ thống yêu cầu nhập mã pin của eToken
62Hình 3.15 Đăng nhập thông qua eToken
62Hình 3.16 Trang màn hình hiển thị sau khi đăng nhập
63Hình 3.17 Gửi thư mã hóa
63Hình 3.18 Giải mã thư
64Hình 3.19 Kết quả sau khi giải mã
64Hình 3.20 Gửi thư kèm theo chữ ký
65Hình 3.21 Xác thực người gửi
65Hình 3.22 Kết quả xác thực
66
Trang 10Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
Trang 11Số hóa bởi Trung tâm Học
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 giatrao đổ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ậtthông tin nhằm cải thiện an toàn trên Internet Việc tìm ra giải pháp bảomậ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ộtvấn đề luôn luôn mới Bảo mật phải được nghiên cứu và cải tiến để theokị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 12- 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ữngngườ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ủacá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ôngngày càng tinh vi hơn, do đó vấn đề là làm sao đưa ra một giải pháp thíchhợ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 ứngdụng chữ ký số trong bảo mật thư điện tử trên hệ thống Zimbra MailServer để ký số, mã hóa, giải mã và xác thực mail
Trang 13Nhữ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ốngZimbra Mail Server, tích hợp bảo mật trên hệ thống Zimbra gồm cácnhiệm vụ là gửi thư mã hóa, thư kèm chữ ký, giải mã thư mã hóa, và xácthực người gửi
Trang 14Chươ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ớimộ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ềungườ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ơnnhiề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ộtthô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ôngnhững có thể truyền gửi được chữ mà nó còn có thể gửi với file đính kèmnhư hình ảnh, các công văn tài liệu, âm thanh, phim, các chương trìnhphầ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ộccách mạng trong kinh doanh Dường như không một doanh nghiệp nào trênthế 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 151.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ạnbằng cách hiển thị phần message header (đầu mục của thư) Messageheader này chỉ cho bạn ai đã gửi message, tiêu đề của message, nhữngthô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ừ messagenhận được Những email client phức tạp còn có thể có những chức năngkhá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ầnmềm ứng dụng được gọi là server (máy chủ, máy phục vụ) Chúng gồmnhữ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 tranhữ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àikhoản ứng với mỗi người có thể nhận email trên máy chủ Nó sẽ có một
Trang 16file văn bản ứng với mỗi tài khoản trong danh sách Nếu một ai đó muốngửi một message ngắn, khi người đó nhấn nút gửi, email client sẽ kết nốitớ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àocủ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ẽ đơngiả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ườinhận sẽ truy cập vào và đọc chúng Khi người nhận muốn đọc thư, emailclient sẽ kết nối với máy chủ trong một tiến trình đơn giản nhất mà emailclient 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áchcá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 17Khi 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ạcnhiê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ôngthườ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à địachỉ 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ườinà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ínhxá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 18Khi 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ôngthườ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ácmail server với nhau hoặc giữa MTA (Message Transfer Agent) với mailserver SMTP (Simple Mail Transfer Protocol) là một giao thức phổ biếnnhất trong việc gửi thư, trong việc nhận thư thì phải kể đến là hai giaothức POP (Post Office Protocol) và IMAP (Internet Message AccessProtocol)
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 mailserver của người nhận hoặc từ mail server này đến mail server khác Kếtquả 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
Trang 19cầ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ặcthậm chí một nhóm người nào đó, đây là lý do vì sao lại xuất hiện thư nặcdanh, thư quảng cáo trong hộp thư của chúng ta
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ênkhi đọc mail thì không cần phải kết nối Internet và giảm đáng kể khônggian lưu trữ trên Mail server POP3 định nghĩa 3 giai đoạn tạo thành POPseesion:
- 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ềumáy khác nhau, ví dụ như một nhân viên văn phòng đã duyệt mail ở mộtmáy nào đó trong văn phòng thì họ không thể duyệt những mail đó mộtlầ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 201.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 đó chothấy bạn có thể duyệt mail ở bất cứ đâu, bằng bất cứ máy tính nào nhưngcũng vẫn có hạn chế đó là nếu bạn không thể kết nối Internet hay chấtlượng đường truyền quá xấu thì bạn không thể duyệt mail được Phiên bảnhiện nay của IMAP là IMAP4, vì việc thực hiện giao thức IMAP rất phứctạ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 SMTPservers 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 serverkhá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ữngthô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ủabạn có thể được đọc bởi bất kì kẻ nào đang nghe lén thông tin của máytính cũng như nhà cung cấp dịch vụ email của bạn
Trang 21Backups: Thông điệp được lưu trữ trên SMTP server dưới dạngchữ, không được mã hóa Việc sao lưu dữ liệu trên server có thể đượcthự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àotrê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ôngbằ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ốngnhư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ốnghoặ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ôngcủ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ộctrò 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ácthông điệp để ngay cả khi người tấn công chiếm được tin nhắn cũngkhô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ườitấ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 22Ngườ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úngkhông liên quan đến bất kỳ sự thay đổi nào của dữ liệu Thường thì lưulượng tin nhắn được gửi và nhận trong một thời gian dường như là bìnhthườ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ênthứ 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ôngthườ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 choNam 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 23vệ 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ếplạ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ậptin”
- Từ chối dịch vụ (denial of service): Từ chối dịch vụ là ngăn chặnhoặ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ênlạ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ạnghoặ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ớicá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 choriêng mình Nhưng để có một hệ thống an toàn và hiệu quả đòi hỏi ngườithiế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ấncông bằng cách thử tất cả những khóa có thể có, đây là phương pháp tấn
Trang 24công thô sơ nhất và cũng khó khăn nhất Theo lý thuyết, tất cả các thuậttoán hiện đại đều có thể bị đánh bại bởi Brute- Force nhưng trong thực
Trang 25tiễn việc này chỉ có thể thực hiện được trong thời gian hàng triệu, thậmchí hàng tỉ năm Vì thế có thể coi một thuật toán là an toàn nếu như khôngcò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ệnphương pháp này ta cần một lượng văn bản đã mã hóa đủ lớn để phépthống kê được chính xác Ngoài ra còn phải biết ngôn ngữ sử dụng trongvă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óathành, kí tự nhiều thứ nhì bắt nguồn từ chữ a
- Differential cryptanalysis: Eli Bibam và Adi Shamir tìm raphươ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íchnhữ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ùngmộ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ệcmột cách hăng say trong vòng 3 năm liên tục và cho ra đời phiên bảnLinux 1.0 vào năm 1994 Bộ phận chủ yếu này được phát triển và tung rathị 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ânLinux, 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 26cùng với các thư viện và công cụ GNU, cũng như là các bản phân phốiLinux, thực tế thì đó là tập hợp một số lượng lớn các phần mềm như máychủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu, các môitrường làm việc desktop như GNOME và KDE, và các ứng dụng thíchhợ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êumá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ê Tuynhiê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ủaMicrosoft Windows trong một số lĩnh vực Sở dĩ Linux đạt được nhữngthà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ớicác hệ thống khác: Chi phí phần cứng thấp, tốc độ cao và khả năng bảomậ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ểnbở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ớiWindows vì các trình điều khiển thiết bị tương thích với Windows nhiềuhơn là Linux Nhưng trong tương lai số lượng phần cứng được hỗ trợ choLinux 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áccông cụ hệ thống, giao diện đồ họa và ứng dụng
Trang 27Nhân HĐH: Nhân HĐH cung cấp một giao diện cho các chươngtrì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ươngtrì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íchhợp trong nhân Các driver này có thể được tải cùng với nhân hoặc sau khinhân đã được tải Việc một driver được tích hợp vào trong nhân hay đặtdướ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: Giaodiện đồ họa được xây dựng trên cơ sở X, phần mềm cho phép quản lý cácvù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ươngtrình quản lý cửa sổ như KDE, GNOME cho phép quản lý các cửa sổ mộtcách thống nhất, người sử dụng có thể sử dụng các chương trình chạy trênnề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óanhư hiện nay thì bản quyền là vấn đề đang được quan tâm Hiện nay, ViệtNam là nước dẫn đầu thế giới về số lượng phần mềm dùng không có bảnquyền Trước tình hình đó, việc xây dựng cho mình những phần mềmthươ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ảnquyền ở nước ta hiện nay, nó có chi phí rẻ hơn so với các phần mềm
Trang 28truyề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ầnmềm mã nguồn mở chúng ta có thể tận dụng được những công nghệ tiêntiế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ếtkiệ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ữatheo 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ủaMicrosoft Tuy nhiên với Linux thì bạn có thể làm được điều này, mặtkhác do Linux được một cộng đồng rất lớn những người làm phần mềmcù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ợpvớ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ườidùng bình thường có thể chuyển tạm thời sang quyền “root” để thực hiệnmột số thao tác Điều này giúp cho hệ thống có thể chạy ổn định và tránhphả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ếunhư 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ảnsửa lỗi Với những hệ điều hành mã nguồn đóng như Windows, bạn khôngthể biết được người ta viết gì, và viết ra sao mà chỉ biết chúng được chạynhư 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ânviê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 29đế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ềuhà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 đượcxem 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ỏicủ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 naychí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ácnhau 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ậptrì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ặpnhiều người có cùng cảnh ngộ như mình và dễ dàng tìm được các drivertươ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ớiWindows, 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áchì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 30Chươ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ềnvă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 conngười và các quốc gia, đặc biệt trong lĩnh vực quân sự, chính trị, ngoạigiao 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ảomật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động nàythườ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))
= x, x P
2.1.1.2 Mã hóa khóa bí mật
Mã hóa khóa đối xứng hay còn gọi là mã hóa khóa đơn là hệ mãhóa chỉ dùng một khóa cho cả việc mã hóa và giải mã, khóa đó gọi làkhóa bí mật
Trang 31Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
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ịchhay 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àocủ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 rabả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àobả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ểndị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 haiquá 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 32Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
cần phải được trao tận tay hay truyền trên kênh an toàn, điều này làmphứ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óagiả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ểndị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óacô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 33Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
- 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 đượctrê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àmy= 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ấtkhó khăn Vậy, khi biết khóa công khai hoặc không thể tính được khóariê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óacô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ủatrườ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ậtdự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ểnnhưng đều thua kém hệ RSA Các hệ balo cửa sập đã bị phá vỡ và cho đếnnay, 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 34Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
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ụngcá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ínhngượ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 35Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
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
- 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ụngtrong 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 đúngnguồ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ớimáy tính và mạng Internet, chữ ký số có thể sử dụng trong các giao dịch
Trang 36Số hóa bởi Trung tâm Học
- 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 đượcmessage 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ụnggiải thuật RSA Kết quả thu được trong bước này là chữ ký điện tử củathô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ảongườ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ậnkiểm tra lại thông điệp:
Trang 37Số hóa bởi Trung tâm Học
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 38Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
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ênhàng đầu, một chữ ký điện tử chỉ thực sự được áp dụng trong thực tế nếunhư nó được chứng minh là không hề giả mạo Mục tiêu lớn nhất củanhữ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ôngchữ ký điện tử rất đa dạng, để dễ dàng phân tích một sơ đồ chữ ký là antoà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 đượcthô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ácthô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 39Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
Ngoài ra hầu hết các chữ ký điện tử đều dựa vào cơ chế mã hóakhó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ôngtheo 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 chungcủ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 chotrướ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ấncô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ấncông dành được các chữ ký đúng cho một danh sách các thông điệp trướckhi 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ướckhi 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ácthô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 40Số hóa bởi Trung tâm Học
liệu h t t p :/ / www l r c - t n u. e d u v n /
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ínhxá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ạngmáy tính Nó có chức năng xác minh yêu cầu của người sử dùng muốnxá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 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
Infrastructure-để 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êncô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ảomậ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ấpcá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ư