SlideShare a Scribd company logo
1 of 84
i
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN QUỐC UY
NGHIÊN CỨU VÀ XÂY DỰNG GIẢI PHÁP
BẢO MẬT VÀ XÁC THỰC THƯ ĐIỆN TỬ
DỰA TRÊN CÔNG NGHỆ MỞ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội - 2016
ii
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN QUỐC UY
NGHIÊN CỨU VÀ XÂY DỰNG GIẢI PHÁP
BẢO MẬT VÀ XÁC THỰC THƯ ĐIỆN TỬ
DỰA TRÊN CÔNG NGHỆ MỞ
Ngành: Công nghệ thông tin
Chuyên ngành: Kỹ thuật Phần mềm
Mã số: 60480103
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Hồ Văn Hương
Hà Nội - 2016
iii
LỜI CẢM ƠN
Tôi xin cảm ơn các Thầy, Cô giáo ở Khoa Công nghệ thông tin, Phòng Đào tạo,
Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã giảng dạy và truyền thụ cho
tôi những kiến thức quý báu trong suốt thời gian tôi học tập và nghiên cứu tại trường.
Tôi xin gửi lời cảm ơn chân thành nhất tới TS. Hồ Văn Hương, người thầy đã
cho tôi những định hướng, tận tình chỉ bảo giúp đỡ, cho tôi những ý kiến rất quý báu
để tôi hoàn thành luận văn tốt nghiệp này.
Tôi cũng xin tỏ lòng biết ơn về sự động viên giúp đỡ của gia đình và bạn bè,
đồng nghiệp, những người luôn quan tâm sát cánh bên tôi và là nguồn động viên khích
lệ, tạo cho tôi có được những điều kiện tốt nhất trong suốt quá trình học tập của mình.
Tôi xin chân thành cảm ơn!
Hà Nội, tháng 12 năm 2016
Học viên
Nguyễn Quốc Uy
iv
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân
tôi, không sao chép lại của người khác. Trong toàn bộ nội dung luận văn, những điều
đã được trình bày hoặc là của riêng cá nhân tôi, hoặc là được tổng hợp từ nhiều nguồn
tài liệu. Tất cả các nguồn tài liệu tham khảo được dùng đều có xuất xứ rõ ràng, được
trích dẫn hợp pháp.
Tôi xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỉ luật theo quy định
cho lời cam đoan của mình.
Hà Nội, tháng 12 năm 2016
Học viên
Nguyễn Quốc Uy
v
MỤC LỤC
Danh mục các ký hiệu, các chữ viết tắt...................................................................vii
Danh mục các hình vẽ, đồ thị .................................................................................viii
MỞ ĐẦU ....................................................................................................................1
Chương 1: TỔNG QUAN VỀ AN TOÀN, BẢO MẬT THƯ ĐIỆN TỬ..................3
1.1. Hệ thống thư điện tử mã nguồn mở ...............................................................3
1.1.1. Cấu trúc hệ thống thư điện tử..................................................................3
1.1.2. Các giải pháp thư điện tử mã nguồn mở.................................................5
1.2. Các hình thức đe dọa an toàn thông tin khi sử dụng thư điện tử .................7
1.2.1. Hiểm hoạ bị đọc lén..................................................................................7
1.2.2. Vấn đề thu thập thông tin ........................................................................8
1.2.3. Phân tích đường truyền ...........................................................................9
1.2.4. Giả mạo...................................................................................................11
1.2.5. Bom thư ..................................................................................................12
1.3. Cơ sở lý thuyết mật mã .................................................................................13
1.3.1. Mã hóa dữ liệu........................................................................................13
1.3.2. Chữ ký số ................................................................................................21
Chương 2: NGHIÊN CỨU HỆ THỐNG THƯ ĐIỆN TỬ ZIMBRA, GIẢI PHÁP
KÝ SỐ, MÃ HÓA THƯ ĐIỆN TỬ .........................................................................25
2.1. Kiến trúc hệ thống thư điện tử mã nguồn mở Zimbra................................25
2.2. Giải pháp ký số, mã hóa thư điện tử ............................................................30
2.2.1. Giải pháp ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư điện tử
trên nền tảng Web............................................................................................31
2.2.2. Giải pháp ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng
Desktop.............................................................................................................34
2.3. Phân tích thiết kế và xây dựng ứng dụng ký số, mã hóa thư điện tử..........35
2.3.1. Ký số, mã hóa, xác thực, giải mã nội dung thư điện tử trên nền tảng
Web...................................................................................................................35
2.3.2. Ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng Desktop.....51
2.3.3. Tính năng mật mã của giải pháp...........................................................62
Chương 3: CÀI ĐẶT, THỬ NGHIỆM GIẢI PHÁP KÝ SỐ, MÃ HÓA THƯ
ĐIỆN TỬ..................................................................................................................63
3.1. Mô tả ứng dụng ký số, mã hóa thư điện tử ..................................................63
3.2. Phương pháp, mô hình triển khai thử nghiệm.............................................69
vi
3.2.1. Mô hình triển khai thử nghiệm..............................................................69
3.2.2. Phương pháp thử nghiệm ......................................................................69
3.3. Nội dung, kết quả thử nghiệm ......................................................................69
3.3.1. Nội dung các bài đo thử .........................................................................69
3.3.2. Kết quả đánh giá ....................................................................................71
vii
Danh mục các ký hiệu, các chữ viết tắt
AES Tiêu chuẩn mã hóa tiên tiến (Advanced Encryption
Standard).
CBC Chế độ liên kết khối mã (Cipher block Chaining)
CFB Chế độ phản hồi mã (Cipher Feed Back)
CMS Cú pháp mã hóa thông điệp
CRL Danh sách hủy bỏ/thu hồi chứng thư số (Certificate
Revocation List)
DNS Domain Name System
ECB Chế độ sách mã điện tử (Electronic code book)
E-Mail Thư điện tử
HTML Ngôn ngữ đánh dấu siêu văn bản (HyperText Markup
Language)
IMAP Internet Message Access Protocol
IV Véc tơ khởi tạo
LDAP Lightweight Directory Access Protocol
MAC Mã xác thực thông báo
MDA Mail Delivery Agent
MIME Multipurpose Internet Mail Extensions
MTA Mail Transfer Agent
MUA Mail User Agent
OFB Chế độ phản hồi đầu ra (Output Feedback)
PKCS Tiêu chuẩn mật mã khoá công khai (Puplic Key
Cryptography Standard) do Phòng thí nghiệm RSA (Mỹ) ban
hành.
PSS Lược đồ ký xác suất (Probabilistic Signature Scheme ).
RFC Request For Comment
RSA Tên của hệ mã do ba nhà toán học Rivest, Shamir và
Adleman sáng tạo ra.
RSASSA Lược đồ ký RSA kèm phụ lục (RSA Signature Scheme with
Appendix).
SHA Thuật toán băm an toàn (Secure Hash Algorithm).
SMTP Simple Mail Transfer Protocol
TDEA Thuật toán mã dữ liệu bội ba (TDEA-Triple Data Encryption
Algorithm)
ZCS Zimbra Collaboration Suite
viii
Danh mục các hình vẽ, đồ thị
Hình 1.1: Sơ đồ tổng quan hệ thống thư điện tử .................................................3
Hình 1.2: Mô hình hoạt động của mã dữ liệu DES ........................................... 15
Hình 1.3: Mạng Feistel..................................................................................... 17
Hình 1.4: Mạng SP với 3 vòng mã hóa/giải mã khối 16 bit............................... 18
Hình 1.5: Sơ đồ một vòng mã hóa.................................................................... 19
Hình 1.6: Mô tả quá trình tạo và kiểm tra chữ ký số [3] ................................... 22
Hình 2.1: Kiến trúc hệ thống Zimbra [8] .......................................................... 26
Hình 2.2: Postfix trong môi trường Zimbra ...................................................... 28
Hình 2.3: Hàng đợi tin nhắn trong Zimbra MTA.............................................. 29
Hình 2.4: Mô hình ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư trên
nền tảng Web ................................................................................................... 32
Hình 2.5: Sơ đồ chức năng ứng dụng ký số, mã hóa applet .............................. 33
Hình 2.6: Mô hình ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng
Desktop............................................................................................................ 34
Hình 2.7: Lược đồ Ký số - Mã hóa nội dung thư điện tử .................................. 35
Hình 2.8: Lược đồ ký số dữ liệu có dấu thời gian............................................. 37
Hình 2.9: Mô hình ký số, mã hóa thư điện tử ................................................... 38
Hình 2.10: Lược đồ Xác thực - Giải mã nội dung thư điện tử........................... 39
Hình 2.11: Lược đồ xác thực ký số có dấu thời gian......................................... 40
Hình 2.12: Mô hình xác thực, giải mã nội dung thư điện tử.............................. 41
Hình 2.13: Lược đồ mã hóa thư điện tử............................................................ 42
Hình 2.14: Mô hình mã hóa thư điện tử............................................................ 43
Hình 2.15: Lược đồ giải mã thư điện tử............................................................ 43
Hình 2.16: Mô hình giải mã thư điện tử............................................................ 44
Hình 2.17: Giao diện soạn thảo thư có tích hợp chức năng bảo mật ................. 49
Hình 2.18: Giải mã nội dung thư ...................................................................... 50
Hình 2.19: Xác thực nội dung thư .................................................................... 50
Hình 2.20: Mô hình ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng
Desktop............................................................................................................ 51
Hình 2.21: Chức năng phần mềm bảo mật thư điện tử...................................... 51
Hình 2.22: Giao diện ký số và mã hóa dữ liệu.................................................. 54
Hình 2.23: Giao diện xác thực dữ liệu.............................................................. 56
ix
Hình 2.24: Giao diện giải mã và xác thực dữ liệu............................................. 56
Hình 2.25: Giao diện ký số nội dung thư điện tử .............................................. 57
Hình 2.26: Giao diện xác thực nội dung thư điện tử ......................................... 57
Hình 2.27: Giao diện quản lý chứng thư số ...................................................... 59
Hình 2.28: Giao diện cấu hình ký số................................................................. 61
Hình 2.29: Giao diện cấu hình hệ thống ........................................................... 61
Hình 3.1: Chọn chứng thư số trong thiết bị....................................................... 63
Hình 3.2: Giao diện ký số và mã hóa nội dung thư........................................... 63
Hình 3.3: Giao diện chứng thực nội dung thư................................................... 64
Hình 3.4: Giao diện giải mã nội dung thư......................................................... 64
Hình 3.5: Giao diện ký số nội dung clipboard .................................................. 65
Hình 3.6: Giao diện ký số, mã hoá nội dung clipboard ..................................... 66
Hình 3.7: Giao diện xác thực nội dung clipboard ............................................. 66
Hình 3.8: Giao diện xác thực, giải mã nội dung clipboard................................ 67
Hình 3.9: Giao diện quản lý chứng thư số ........................................................ 67
Hình 3.10: Giao diện cấu hình hệ thống ........................................................... 68
Hình 3.11: Giao diện ký cấu hình đường dẫn thư viện PKCS#11..................... 68
Hình 3.12: Sơ đồ mô hình thử nghiệm hệ thống bảo mật thư điện tử................ 69
1
MỞ ĐẦU
Trong thời gian gần đây, thư điện tử đã trở thành một công cụ hữu hiệu
trong việc trao đổi thông tin, góp phần quan trọng vào nâng cao hiệu quả công
việc, năng suất lao động, giảm thời gian thực hiện và chi phí hoạt động. Các
thông tin nhạy cảm và quan trọng cũng được trao đổi, lưu trữ dưới hình thức thư
điện tử. Chính vì thế thư điện tử trở thành một mục tiêu tấn công, phá hoại của
tin tặc với nhiều vấn đề liên quan đến mất an toàn thông tin như: Lộ lọt thông tin
bí mật, nhạy cảm; Phát tán thư giả mạo, có nội dung lừa đảo hoặc quảng cáo
không phù hợp; Phát tán, lây lan mã độc, phần mềm quảng cáo trái phép; Chiếm
quyền sử dụng trái phép; Bị lợi dụng để phục vụ cho mục đích xấu.
Vấn đề trên đã gây ảnh hưởng xấu tới việc sử dụng thư điện tử trong hoạt
động quản lý và 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 đảm bảo an toàn, bảo mật thư điện tử.
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. Vấn đề đặt ra là phải
bảo mật dữ liệu, đảm bảo tin tức truyền đi không bị mất mát hay đánh tráo,
người nhận biết được thông tin mà họ nhận được có chính xác của người gửi hay
không và nội dung có bị thay đổi gì không.
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.
Các cơ chế an toàn sử dụng mật mã đã trở thành một nhân tố cốt lõi của
hệ thống thông tin nói chung và thư điện tử nói riêng. Các cơ chế mật mã được
phát triển để giải quyết các vấn đề về an toàn cho hệ thống thư điện tử, bao gồm
[3]:
1. Xác thực: đảm bảo ngăn chặn giả mạo nguồn gốc thông tin;
2. Bí mật dữ liệu: dữ liệu được mã hóa để đảm bảo không thể xem/đọc
được bởi bên thứ 3 không được phép;
3. Toàn vẹn dữ liệu: khi thông tin bị sửa đổi trái phép, người sở hữu thông
tin sẽ có khả năng phát hiện sự thay đổi này;
2
4. Chống chối bỏ: chống việc chối bỏ cái mà mình đã thỏa thuận và ký
nhận.
Các vấn đề trên được phát triển do sự xuất hiện của các tấn công như nghe
lén, giả mạo, vi phạm tính bí mật dữ liệu, vi phạm tính toàn vẹn dữ liệu, từ chối
việc ký nhận. Nếu không có mật mã, không thể xây dựng được các cơ chế an
toàn để đảm bảo chống lại các tấn công này.
Với mong muốn nghiên cứu tìm hiểu giải pháp bảo đảm an toàn cho thư
điện tử sử dụng mật mã em đã lựa chọn luận văn “Nghiên cứu và xây dựng
giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở”.
Cùng với sự phát triển mạnh mẽ của công nghệ thông tin, các hệ thống
phần mềm mã nguồn mở ngày càng được sử dụng phổ biến. Ngày 05 tháng 12
năm 2014, Bộ Thông tin và Truyền thông ban hành Thông tư số 20/2014/TT-
BTTTT quy định về các sản phẩm phần mềm nguồn mở được ưu tiên mua sắm,
sử dụng trong cơ quan, tổ chức nhà nước trong đó khuyến nghị sử dụng hệ thống
phần mềm thư điện tử máy chủ gồm: Zimbra (phiên bản 8.5 trở về sau), OBM
(phiên bản 2.5.5 trở về sau), Sendmail (phiên bản 8.13 trở về sau). Trong khuôn
khổ nghiên cứu của luận văn, hệ thống phần mềm thư điện tử em lựa chọn sử
dụng để tích hợp giải pháp bảo mật và xác thực là Hệ thống thư điện tử mã
nguồn mở Zimbra. Do hệ thống thư điện tử mã nguồn mở Zimbra cung cấp cả
hệ thống phần mềm thư điện tử máy chủ và phần mềm thư điện tử máy trạm.
Bố cục của luận văn gồm các phần sau:
Mở đầu
Chương 1: Tổng quan về an toàn, bảo mật thư điện tử
Chương 2: Nghiên cứu hệ thống thư điện tử zimbra, giải pháp ký số, mã
hóa thư điện tử
Chương 3: Cài đặt, thử nghiệm giải pháp ký số, mã hóa thư điện tử
Kết luận và Kiến nghị
Giá trị của luận văn
Luận văn đã trình bày tổng thể các nghiên cứu về hệ thống thư điện tử mã
nguồn mở Zimbra, đề xuất xây dựng được ứng dụng để đảm bảo tính bí mật, xác
thực và toàn vẹn nội dung thư điện tử. Sản phẩm của đề tài có tính ứng dụng
thực tiễn, có thể sử dụng trong lĩnh vực kinh tế - xã hội. Ngoài ra Mô hình giải
pháp này có thể nghiên cứu để đưa vào ứng dụng trong xác thực giao dịch điện
tử của nhiều hoạt động nghiệp vụ khác nhau đang được triển khai tại Việt Nam.
3
Chương 1: TỔNG QUAN VỀ AN TOÀN, BẢO MẬT THƯ ĐIỆN TỬ
1.1. Hệ thống thư điện tử mã nguồn mở
1.1.1. Cấu trúc hệ thống thư điện tử
Thư điện tử (Electronic Mail) hay còn gọi tắt là E-Mail, là dịch vụ được
triển khai trên các mạng máy tính cho phép người dùng có thể trao đổi thư từ với
nhau mà không phải dùng đến giấy tờ như trong hệ thống thư tín bưu chính
thông thường. 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 tệp đí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.
Hệ thống Mail Server là một hệ thống tổng thể bao gồm nhiều thành phần
hoạt động tương tác với nhau. Mỗi thành phần bản thân phục vụ các dịch vụ
khác nhau, nhưng đồng thời các kết quả lại được đưa đến các thành phần khác
để xử lý tiếp theo. Hình 1.1 dưới đây là mô hình của hệ thống Mail Server và sự
tương tác giữa các thành phần bên trong [12]:
Hình 1.1: Sơ đồ tổng quan hệ thống thư điện tử
Hầu hết hệ thống thư điện tử bao gồm ba thành phần cơ bản là MUA,
MTA và MDA.
MTA(Mail Transfer Agent)
4
Khi các bức thư được gửi đến từ MUA, MTA có nhiệm vụ nhận diện
người gửi và người nhận từ thông tin đóng gói trong phần header của thư và
điền các thông tin cần thiết vào header. Sau đó MTA chuyển thư cho MDA để
chuyển đến hộp thư ngay tại MTA, hoặc chuyển cho Remote-MTA.
Việc chuyển giao các bức thư được các MTA quyết định dựa trên địa chỉ
người nhận tìm thấy trên phong bì.
- Nếu nó trùng với hộp thư do MTA (Local-MTA) quản lý thì bức thư
được chuyển cho MDA để chuyển vào hộp thư.
- Nếu địa chỉ gửi bị lỗi, bức thư có thể được chuyển trở lại người gửi.
- Nếu không bị lỗi nhưng không phải là bức thư của MTA, tên miền
được sử dụng để xác định xem Remote-MTA nào sẽ nhận thư, theo các
bản ghi MX trên hệ thống tên miền.
- Khi các bản ghi MX xác định được Remote-MTA quản lý tên miền đó
thì không có nghĩa là người nhận thuộc Remote-MTA. Mà Remote-
MTA có thể đơn giản chỉ trung chuyển (relay) thư cho một MTA khác,
có thể định tuyến bức thư cho địa chỉ khác như vai trò của một dịch vụ
domain ảo(domain gateway) hoặc người nhận không tồn tại và
Remote-MTA sẽ gửi trả lại cho MUA gửi một cảnh báo.
MDA (Mail Delivery Agent)
Là một chương trình được MTA sử dụng để đẩy thư vào hộp thư của
người dùng. Ngoài ra MDA còn có khả năng lọc thư, định hướng thư... Thường
là MTA được tích hợp với một MDA hoặc một vài MDA.
MUA (Mail User Agent)
MUA là chương trình quản lý thư đầu cuối cho phép người dùng có thể
đọc, viết và lấy thư về từ MTA.
- MUA có thể lấy thư từ Mail Server về để xử lý (sử dụng giao thức
POP) hoặc chuyển thư cho một MUA khác thông qua MTA (sử dụng
giao thức SMTP).
- Hoặc MUA có thể xử lý trực tiếp thư ngay trên Mail Server (sử dụng
giao thức IMAP).
Đằng sau những công việc vận chuyển thì chức năng chính của MUA là
cung cấp giao diện cho người dùng tương tác với thư, gồm có:
- Soạn thảo, gửi thư.
- Hiển thị thư, gồm cả các tệp đính kèm.
- Gửi trả hay chuyển tiếp thư.
5
- Gắn các tệp vào các thư gửi đi (Text, HTML, MIME v.v…).
- Thay đổi các tham số(ví dụ như server được sử dụng, kiểu hiển thị thư,
kiểu mã hoá thư v.v…).
- Thao tác trên các thư mục thư địa phương và ở đầu xa.
- Cung cấp số địa chỉ thư (danh bạ địa chỉ).
- Lọc thư.
1.1.2. Các giải pháp thư điện tử mã nguồn mở
Hiện nay trên thế giới đã xuất hiện rất nhiều sản phẩm xây dựng một hệ
thống Mail Server. Có nhiều sản phẩm với giá cả rất rẻ (thậm chí miễn phí), nhỏ
gọn, cài đặt và quản trị đơn giản, như WorkGroupMail, Surge Mail Server,
Kerio Mail Server. Cũng có những sản phẩm lớn, giá thành cao, tính năng phong
phú, đáp ứng được sự ổn định và an toàn như Mail Exchange của Microsoft,
Merak Mail Server.
Trong thế giới mã nguồn mở hiện nay, đã có rất nhiều hệ thống truyền tải
thư điện tử MTA (Mail Transfer Agent) được phát triển. Nổi tiếng và phổ biến
trong số đó gồm có: Zimbra, Sendmail, Qmail, Postfix, Exim, Courier. Mỗi
MTA đều có những ưu điểm và nhược điểm riêng [12]:
Zimbra
Zimbra, hệ thống thư điện tử thế hệ mới, được xây dựng bởi cộng đồng
phầm mềm tự do nguồn mở và công ty VMWare, đáp ứng các nhu cầu về trao
đổi thư tín điện tử và hỗ trợ làm việc cộng tác kỷ nguyên hậu PC. Ứng dụng
nguồn mở này có thể áp dụng cho các doanh nghiệp, nhà cung cấp dịch vụ, các
tổ chức giáo dục, hay trong môi trường chính phủ..., mang tới cho người dùng
rất nhiều lợi ích trong việc quản lý và chia sẻ thư tín, lịch công tác, sổ địa chỉ, tài
liệu. Với hiệu năng hoạt động cao, các thao tác gửi, nhận, tải dữ liệu diễn ra hết
sức nhanh chóng góp phần tiết kiệm thời gian cho người dùng. Đồng thời, người
dùng cũng không cần phải lo lắng về việc quản trị hệ thống bởi mọi thao tác đều
hết sức đơn giản và tiện lợi.
Một điều rất đáng quan tâm của hệ thống thư điện tử Zimbra đó là công
nghệ trên mã nguồn mở cho phép người dùng tiết kiệm được tối đa chi phí mà
vẫn đảm bảo được nguyên tắc tôn trọng bản quyền.
Sendmail
Sendmail (http://www.sendmail.org) là MTA đơn giản và lâu đời nhất
trên các dòng Unix thời xưa. Ngày nay, trên các hệ thống Linux, đặc biệt là các
sảm phẩm của RedHat, Sendmail vẫn được cài đặt là MTA mặc định cho hệ
6
thống. Ngày nay, Sendmail đa được thương mại hóa bên cạnh sản phẩn miễn phí
và vẫn được tiếp tục duy trì, phát triển. Tuy nhiên, vì được thiết kế theo cấu trúc
khối và ảnh hưởng từ cấu trúc cũ, nên Sendmail chưa đạt được tính năng ổn định
và bảo mật của một MTA như mong muốn.
Qmail
Qmail được viết bởi Bernstein, là một MTA dành cho hệ điều hành tựa
Unix, bao gồm Linux, FreeBSD, Sun Solaris. Qmail ra đời như một tất yếu thay
thế cho Sendmail và các yếu điểm của nó. Vì vậy, Qmail ngay từ ban đầu đã
được thiết kế đơn giản, module hóa với tiêu chí bảo mật được đặt lên rất cao.
Đồng thời, Qmail là một MTA hiện đại nên hỗ trợ tốt các kiểu định dạng mới
hiện nay như định dạng hòm thư Maildir…Do Qmail được thiết kế module hóa
và tối ưu hóa các tính năng ngay từ đầu, nên nó có tốc độ thực thi rất nhanh và
ổn định.
Postfix
Weitse Venema, tác giả của các phần mềm miễn phí nổi tiếng như TCP
Wrappers, SATAN và Logdaemon, ông không hài lòng khi sử dụng các MTA
hiện có (bao gồm cả Qmail), vì vậy, ông đa viết ra Postfix
(http://www.postfix.org). Postfix là một MTA mới, có khả năng thực thi cao,
thừa kế cấu trúc thiết kế tốt từ Qmail, trong khi đó vẫn giữ được tính tương thích
tối đa với Sendmail. So sánh với Qmail, Postfix có kích thước lớn hơn, phức tạp
hơn, trong khi đó lại kém bảo mật, kém tin cậy và chạy chậm hơn. Tuy Postfix
cũng được thiết kế theo cấu trúc module, nhưng các module của Postfix chạy
dưới quyền của cùng một người dùng hệ thống, vì vậy sự hỏng hóc của một
module có thể ảnh hưởng đến toàn bộ hệ thống. Xét về tổng thể, Postfix là một
MTA tốt. Nếu vấn đề bảo mật và khả năng thực thi của hệ thống không được đòi
hỏi quá cao, người quản trị có thể chọn và sử dụng Postfix.
Exim
Philip Hazel đa phát triển Exim (http://www.exim.org) tại trường đại học
Cambridge. Nó được thiết kế theo xu hướng nhỏ và đơn giản nhưng vẫn đảm
bảo các tính năng. Tuy nhiên, Exim vẫn được thiết kế theo cấu trúc khối, và hai
yếu tố quan trọng với các MTA hiện đại là bảo mật và khả năng thực thi lại
không được coi trọng. Hiện nay, Exim là MTA được lựa chọn và cài đặt mặc
định trên các phiên bản phân phối Linux dựa theo Debian, ngoài ra nó không
được sử dụng rộng rãi.
7
Như vậy, tùy theo mục đích và nhu cầu sử dụng, người quản trị sẽ lựa
chọn một MTA cho hệ thống của mình, ngoài ra, với mỗi điều kiện và môi
trường khác nhau, mỗi MTA lại có mức độ phù hợp khác nhau. Với các ưu điểm
vượt trội rõ rệt của Zimbra, đây là một lựa chọn phù hợp cho các doanh nghiệp,
nhà cung cấp dịch vụ, các tổ chức giáo dục, hay trong môi trường chính phủ.
1.2. Các hình thức đe dọa an toàn thông tin khi sử dụng thư điện tử
1.2.1. Hiểm hoạ bị đọc lén
Cũng như đối với các ứng dụng khác trên mạng (các phiên đăng nhập từ
xa, tải thông tin sử dụng ftp, hội thoại trực tuyến, ...), thư tín điện tử cũng có thể
bị đọc lén. Nhưng ai là đối tượng muốn đọc lén nội dung thư của người dùng?
Câu trả lời phụ thuộc vào họ là ai, họ đang làm gì, và ai quan tâm đến việc họ
đang làm. Dưới đây là một vài đối tượng có thể đọc lén thư của người dùng [12].
Nguy cơ bị đọc lén từ chính phủ nước ngoài
Các tổ chức tình báo quân sự nước ngoài là các đối tượng nghe trộm với
những thiết bị tinh vi hiện đại nhất. Đọc trộm nội dung thư cá nhân là nghề của
họ. Khi bắt đầu thời kỳ chiến tranh lạnh, mỗi năm họ đã đầu tư nhiều tỷ Đô la
cho việc thu thập, biên dịch và phân tích dữ liệu của đối phương gửi qua mạng.
Hiện tại khi thời kỳ chiến tranh lạnh đã kết thúc, nhưng không có gì có thể
khẳng định họ không thực hiện những gì họ đã từng làm.
Mối quan hệ giữa quân đội Mỹ và các tổ chức tình báo là một một quan
hệ “mờ ám”, có rất nhiều ứng dụng được xây dựng bởi quân đội Mỹ hiện đang
được sử dụng trong lĩnh vực thương mại. Ở một số nước, mục tiêu thu thập tin
tức của họ là nhằm vào các công ty nước ngoài, thông tin thu thập được sẽ được
sử dụng làm công cụ cạnh tranh cho các công ty thuộc nước bản địa. Nhật Bản
và Pháp là hai nước nổi tiếng nhất trong việc “phạm tội” theo kiểu này, tất
nhiên các nước phát triển khác cũng hoàn toàn có thể làm được điều đó. Ví dụ
NSA đã từng bị buộc tội là có hành vi chặn các cuộc điện thoại giữa hai nước
Châu Âu để ăn cắp thông tin và bán cho các đối tượng cạnh tranh khác.
Nguy cơ bị đọc lén từ chính phủ trong nước
Việc sử dụng gián điệp công nghệ đối với công dân nước mình nhiều nhất
được biết đến là các nước như Trung Quốc, Bắc Triều Tiên, Cuba. Đối với Pháp,
chính phủ chỉ cho phép mã hoá thông tin trao đổi giữa các công dân với nhau
khi thuật toán mã và khoá được cấp bởi cơ quan có thẩm quyền. Còn đối với Đài
Loan và Hàn Quốc thì họ yêu cầu các công ty loại bỏ việc sử dụng mã hoá thông
tin trong các cuộc kết nối thoại, dữ liệu và FAX.
8
Trong bản thân nước Mỹ, nhiều tổ chức thuộc Chính phủ cũng quan tâm
đến việc đọc trộm các thông tin cá nhân được trao đổi qua thư điện tử. Chẳng
hạn đối với FBI, các tổ chức dính dáng đến chính trị, v.v...
Nguy cơ bị đọc lén từ đối thủ cạnh tranh thương mại
Việc kinh doanh có thể bị do thám bởi các công ty cạnh tranh. Các thông
tin đối thủ cần quan tâm ở đây có thể là danh sách khách hàng, nội dung dự án,
kế hoạch triển khai, tiềm lực tài chính, v.v… Ví dụ Coca-Cola có thể trả hậu
hĩnh cho ai biết được kế hoạch quảng cáo mới của Pepsi, hãng Ford cũng có thể
làm như vậy trong việc biết được thông tin về mẫu xe mới của một hãng sản
xuất xe hơi khác.
Nguy cơ bị đọc lén từ tội phạm
Các đối tượng phạm tội có thể thu thập những thông tin có giá trị từ thư
điện tử, đặc biệt là loại tội phạm kinh tế. Cảnh sát ở nhiều nước đã phát hiện ra
việc bọ điện tử được gắn bất hợp pháp trên các kênh điện thoại nhằm giám sát
và nghe trộm thông tin về số thẻ tín dụng được truyền qua đường điện thoại.
Không có lý do nào để có thể nói rằng chúng không làm tương tự đối với thư tín
điện tử khi các thông điệp được truyền trên mạng.
Nhiều công ty đã mở giao dịch điện tử mua bán qua mạng Internet, và đã
có nhiều mặt hàng được mua bán qua mạng thông qua thẻ tín dụng. Sẽ là rất dễ
dàng để xây dựng và thiết lập một ứng dụng chạy tự động quét các thông điệp
trên máy tính người sử dụng nhằm tìm kiếm các thông tin về số thẻ tín dụng
trong các phiên giao dịch điện tử nói trên.
Nguy cơ bị đọc lén từ bạn bè, người thân
Cuối cùng, chính bạn bè, người thân của người dùng cũng có thể là “gián
điệp”. Sử dụng thuật ngữ “gián điệp” trong trường hợp này có thể là chưa được
chính xác, nhưng những đối tượng trên cũng cần được quan tâm khi thư tín điện
tử được sử dụng để trao đổi các thông tin riêng tư. Một ví dụ đơn giản, trong
môi trường làm việc ở một văn phòng, đồng nghiệp hoàn toàn có thể quan tâm
đến những thông tin cá nhân được trao đổi qua thư tín điện tử của chúng ta mà
không chỉ dừng lại ở mục đích tò mò.
1.2.2. Vấn đề thu thập thông tin
Vấn đề lớn nhất khi muốn đọc một thông điệp được gửi qua đường thư tín
điện tử của một ai đó là việc tìm nó giữa một biển các thông điệp thư tín điện tử
khác trên mạng. Công việc này được người ta ví như việc “mò kim đáy biển”.
Tuy là một công việc khó khăn nhưng hiện vẫn có các cơ quan hoặc tổ chức
9
được sinh ra để làm công việc đó. Chẳng hạn, một trong các công việc chính của
NSA, NSA giám sát các luồng dữ liệu máy tính vào, ra nước Mỹ và giữa các
nước khác với nhau.
Nhiệm vụ thu thập thông tin từ các thông điệp thư tín điện tử được ví như
nhiệm vụ của một chàng Herculean. Năm 1994, theo thống kê dữ liệu máy tính
vào ra nước Mỹ đã đạt con số nhiều gigabytes, với hàng tỷ thông điệp được trao
đổi trong một tháng. Trong đó gồm thư tín điện tử, thông tin đăng nhập từ xa,
dịch vụ truyền tệp, dữ liệu “chat” thời gian thực, v.v... Để lưu trữ được lượng dữ
liệu trên đã là một công việc lớn chứ chưa nói gì đến việc đọc và phân tích
chúng [12].
Tuy nhiên đối với các thông tin cần quan tâm, các máy tính có thể thực
hiện việc sàng lọc từ dòng dữ liệu trong thời gian thực. NSA hoàn toàn có thể
thực hiện việc đưa luồng dữ liệu vào ra nước Mỹ vào một hệ thống máy tính
mạnh, hệ thống máy tính này sẽ thực hiện việc tìm kiếm dữ liệu mà NSA quan
tâm. Hệ thống máy tính này có thể tìm kiếm dữ liệu theo từ khoá, giả sử các
thông điệp thư tín điện tử có chứa từ khoá “nuclear” (nguyên tử),
“cryptography” (mật mã), hay “assassination” (cuộc ám sát), sẽ được lưu giữ lại
phục vụ cho mục đích phân tích sau.
Ngoài ra còn rất nhiều công nghệ khác được hệ thống máy tính của NSA
sử dụng. Họ có thể tìm kiếm dữ liệu từ một cá nhân hoặc một tổ chức cụ thể. Họ
cũng có thể tìm kiếm dữ liệu theo một cấu trúc cho trước. Tóm lại NSA được
đầu tư rất nhiều tiền cho vấn đề này, họ đã và đang thực hiện công việc trên
trong một thời gian dài.
Điều quan trọng nhất là họ thực hiện công việc trên trong thời gian thực,
và không nhiều lắm dữ liệu được lưu. Họ hy vọng rằng dữ liệu mà họ thu thập
trong ngày nào sẽ được phân tích luôn trong ngày đó. Việc thu thập dữ liệu sẽ
trở thành vô giá trị nếu dữ liệu đó không được phân tích, bởi vậy vấn đề khăn
chính là việc phân tích dữ liệu. NSA có thể kết hợp rất nhiều công nghệ nhằm
phân tích dữ liệu mà họ quan tâm, như mối quan hệ giữa từ khoá nói lên dữ liệu
cần tìm, đối tượng gửi nhận thông tin, v.v...
1.2.3. Phân tích đường truyền
Trong trường hợp nội dung thư được mã hoá, đối tượng đọc trộm (NSA
chẳng hạn) không thể đọc nội dung thư điện tử, họ có thể thu thập được một
lượng thông tin không nhỏ thông qua việc phân tích đường truyền.
10
Việc phân tích đường truyền dựa vào một trong các yếu tố như: người gửi
gửi thư điện tử cho ai, người nhận nhận thư điện tử từ ai, độ dài của các thông
điệp thư điện tử, hoặc khi nào thư điện tử được gửi. Có rất nhiều thông tin ẩn
chứa trong các yếu tố kiểu như vậy nếu họ biết cách khai thác.
Trước hết chúng ta hãy thử tìm hiểu lĩnh vực cung cấp dịch vụ điện thoại.
Hầu hết các quốc gia châu Âu không ghi chiết khoản mục trong các hoá đơn
điện thoại như đối với các công ty của Mỹ [12]. Các hoá đơn điện thoại ở châu
Âu chỉ liệt kê số lượng cuộc đàm thoại đã sử dụng qua một thuê bao cụ thể,
nhưng không ghi lại thời điểm cũng như địa điểm của các cuộc đàm thoại đó.
Đối với các hoá đơn thanh toán điện thoại của Mỹ, trong đó liệt kê chi tiết tất cả
các cuộc đàm thoại đối với một số thuê bao: thời điểm thực hiện, số được gọi
đến, và thời lượng cuộc gọi. Từ những thông tin các cuộc đàm thoại, các cơ
quan có chức năng của Mỹ có thể phân loại các đối tượng cần theo dõi hoặc đưa
vào danh sách các đối tượng cần đề phòng.
Tương tự như vậy đối với các thông điệp thư tín điện tử. Thậm chí khi các
thông điệp thư tín điện tử đã được mã hoá, phần đầu của thông điệp thư tín điện
tử bao giờ cũng thể hiện rõ đối tượng gửi, đối tượng nhận, thời điểm gửi, và độ
dài của thông điệp. Trên thực tế đã có những dịch vụ thư tín điện tử “ẩn danh”,
nhằm che dấu đi những thông tin chúng ta vừa liệt kê ở trên. Tuy nhiên theo các
nhà phân tích về lĩnh vực này trên thế giới đã cho rằng điều đó chẳng có nghĩa lý
gì đối với các đối tượng nghe trộm cỡ NSA.
Một ví dụ cụ thể hơn, giả sử Eve nghi ngờ Alice là người ủng hộ chủ
nghĩa khủng bố. Trong khi đó tất cả thư tín điện tử của Alice được mã hoá, bởi
vậy Eve không thể đọc được nội dung của các thông điệp thư tín điện tử được
gửi nhận bởi Alice. Tuy nhiên, Eve có thể thu thập tất cả các thông tin trên
đường truyền của Alice. Eve biết tất cả các địa chỉ thư điện tử của những người
mà Alice thường liên lạc. Alice thường gửi các thông điệp thư tín điện tử dài cho
một người có tên là Bob, người thường phúc đáp ngay sau đó với một thông
điệp rất ngắn. Có thể Alice đã gửi Bob các mệnh lệnh và anh ta phúc đáp lại việc
đã nhận được các lệnh đó. Một ngày nào đó bỗng dưng có một bước nhảy vọt
trong việc trao đổi thư điện tử giữa Alice và Bob. Có thể họ đang lập một kế
hoạch gì đó. Và sau đó là sự im lặng, không có một thông điệp thư điện tử nào
được trao đổi qua lại giữa họ. Ngày tiếp theo toà nhà chính phủ bị đánh bom.
Điều này đã đủ làm bằng chứng để bắt giữ họ chưa còn tuỳ thuộc vào nhiều
bằng chứng khác, nhưng ít nhất chúng đã đem lại cho các cơ quan quan tâm đến
lĩnh vực này không ít thông tin quý giá.
11
Khủng bố không phải là đối tượng duy nhất bị theo dõi thông qua việc
phân tích đường truyền. Việc phân tích đường truyền trao đổi thông điệp thư tín
điện tử cũng là một công cụ để FBI căn cứ trong việc điều tra tội phạm buôn bán
ma tuý.
Trong lĩnh vực kinh tế xã hội, một công ty sẽ nghĩ sao khi một thành viên
trong công ty đó thường xuyên liên lạc thư điện tử với một đối thủ cạnh tranh.
Tóm lại việc phân tích đường truyền thư điện tử là một công cụ thông
minh trong việc ăn cắp thông tin cá nhân.
1.2.4. Giả mạo
Giả mạo là một vấn đề an toàn khác trên mạng máy tính nói chung. Khái
niệm ngắn nhất về giả mạo là việc người này giả danh là một người khác. Việc
giả mạo có thể xuất phát từ mục đích trêu đùa, làm mất danh dự, bôi nhọ người
khác hoặc là công cụ để lừa gạt.
Hàng ngày có rất nhiều thông điệp thư tín được gửi một cách tự động đến
hộp thư của người sử dụng trên mạng Internet, với chủ đề kiểu như “tôi là người
thích làm phiền người khác và tôi tự hào về điều đó” hoặc với chủ đề như một
khẩu hiệu trong việc phân biệt chủng tộc, phân biệt giới tính. Nội dung của các
thông điệp thư tín điện tử này hoàn toàn không có ý nghĩa gì. Sau đó một thời
gian lại có một thư khác cũng xuất phát từ cùng một tài khoản với lời xin lỗi về
việc đã gửi thư điện tử thứ nhất. Nói chung không nên tin vào bất kỳ điều gì
trong các thông điệp thư tín kiểu như vậy, đấy chỉ là một trò trêu đùa trên mạng.
Một kiểu giả mạo chúng ta có thể lấy ví dụ như kiểu tấn công của kẻ thứ
ba trong mật mã [12]. Ví dụ, Bob và Alice hợp tác với nhau trong một dự án nào
đó, và họ thương xuyên trao đổi thông tin với nhau qua thư điện tử. Eve giả
danh là Bob gửi thư điện tử cho Alice và nói rằng tài khoản thư điện tử trước
đây đã bị huỷ bỏ. Tương tự như vậy đối với Bob và nếu cả Bob và Alice đều tin
vào nội dung thư điện tử nhận được thì mọi liên hệ giữa Alice và Bob được thực
hiện thông qua người thứ ba là Eve. Khi đó Eve sẽ biết mọi thông tin về dự án
mà Bob và Alice đang hợp tác. Eve sẽ là người đánh cắp thông tin trao đổi giữ
Bob và Alice chừng nào Bob và Alice chưa trao đổi trực tiếp hoặc thông qua
điện thoại.
Hiểm hoạ mạo danh có thể được khắc phục thông qua việc sử dụng chữ
ký điện tử. Với chữ ký điện tử Alice (trong ví dụ trên) hoàn toàn có thể kiểm tra
được những thông điệp thư tín điện tử nào là thật sự của Bob. Và cũng không ai
có thể mạo danh Alice để gửi các thông điệp điện tử cho người khác.
12
1.2.5. Bom thư
Nếu người dùng đang sử dụng thư điện tử, họ có thể đã từng nhận được
một số thông điệp thư điện tử được gửi một cách tự nguyện từ một địa chỉ nào
đó tới mà chưa được sự cho phép của họ, những thông điệp thư điện tử đó được
gọi là spam. Spam là một kiểu thư rác trên Internet, spam được sử dụng cho rất
nhiều mục đích: quảng cáo, quấy rối, v.v...
Nếu là một người mới sử dụng Internet có thể người dùng chỉ nhận được
một số ít thông điệp điện tử không mong muốn như trên. Nhưng khi người dùng
đã sử dụng Internet được một vài năm họ có thể đã cảm thấy rất khó chịu khi
nhận được hàng loạt thư điện tử mà mình không hề mong muốn.
Dưới đây là một số kiểu thư điện tử thường xuyên xuất hiện trong hộp thư
của họ:
- Các thông điệp điện tử được gửi từ các công ty thương mại nào đó mà
họ chưa hề có mối quan hệ trước đây.
- Thư điện tử có mục đích quảng cáo cho các sản phẩm hoặc dịch vụ bất
hợp pháp, mờ ám hoặc thậm chí là có mục đích đánh lừa người nhận.
- Các thư điện tử được gửi từ một địa chỉ không rõ ràng.
- Các thư không hề có địa chỉ để người nhận có thể phúc đáp
Nếu họ đã từng nhận được một mẩu bom thư nào đó, có thể họ đã có cảm
giác bối rối, và tự mình đặt ra những câu hỏi như: thông điệp này là gì vậy? Nó
được gửi từ đâu đến và bằng cách nào những người gửi thư có được địa chỉ hộp
thư của mình?
Khi những băn khoăn của mình vừa qua đi thì người dùng đã nhận được
liên tiếp các thư rác tiếp theo, và như vậy chúng đã gây nên sự bực mình cho
bạn. Có thể, người dùng sẽ viết thư than phiền với người gửi thư rác, nhưng sự
bực mình của người dùng sẽ tăng lên khi biết thư điện tử than phiền của mình sẽ
không đến được đối tượng mình cần gửi, vì kẻ gửi thư rác thường nguỵ trang
hoặc dựng giả một hộp thư nào đó khi gửi cho họ.
Một số loại bom thư [12]:
- Thư điện tử thương mại tự nguyện (UCE - Unsolicited Commercial
Email): là các thông điệp thư điện tử mà người sử dụng nhận được ngoài ý
muốn, với nội dung nhằm quảng cáo cho một sản phẩm hay một dịch vụ nào đó.
Loại bom thư này còn được gọi là “Junk mail”.
13
- Thư điện tử gửi hàng loạt (UBE - Unsolicited Bulk Email): được biết
đến như các thông điệp điện tử được gửi với số lượng lớn cho hàng nghìn thậm
chí hàng triệu người nhận. UBE có thể được sử dụng cho mục đích thương mại,
trong trường hợp đó nó cũng là UCE. Nhưng nó cũng có thể được sử dụng cho
nhiều mục tiêu khác, như vận động bầu cử trong lĩnh vực chính trị, hay chỉ đơn
giản là gây rối hệ thống thư điện tử.
- Các thông điệp thư điện tử kiếm tiền nhanh (MMF - Make Money Fast):
thường các thông điệp này là một chuỗi các thư cùng một mẫu. Nội dung của
các thông điệp thư điện tử kiểu này gợi ý người nhận rằng họ có thể trở nên giàu
có nếu thực hiện theo các bước như:
- Hãy gửi tiền cho người có tên đầu tiên trong danh sách (danh sách được
gửi kèm theo thư).
- Loại bỏ tên của người đó, bổ sung tên của mình vào cuối danh sách và
chuyển thông điệp đó cho người khác.
Các thông điệp thư điện tử MMF được xem là trò sổ số bất hợp pháp ở
nước Mỹ.
Các tấn công sự nổi tiếng: là các thông điệp thư điện tử mà người sử dụng
cho là nó được gửi từ một người hoặc một tổ chức cụ thể, nhưng thực tế nó lại
được gửi từ một địa chỉ nào đó khác. Mục đích của các thông điệp điện tử kiểu
này không phải nhằm quảng cao cho sản phẩm hay dịch vụ, mà nhằm mục đích
làm cho người nhận giận người gửi xuất hiện trong thư.
1.3. Cơ sở lý thuyết mật mã
1.3.1. Mã hóa dữ liệu
Khái quát về thuật toán mã dữ liệu
Trong lĩnh vực bảo vệ thông tin, các thuật toán mật mã được sử dụng để
giải quyết ba vấn đề cơ bản: bảo mật dữ liệu, xác thực nguồn gốc và đảm bảo
tính toàn vẹn của dữ liệu [1].
Các thuật toán mã hóa dữ liệu, đó là những thuật toán biến đổi dữ liệu rõ
(tức ở dạng đọc hiểu, được gọi là bản rõ-plaintext hay cleartext) sang một dạng
mà người không có thẩm quyền sẽ không thể đọc hiểu (được gọi là bãn mã-
ciphertext). Quá trình biến đổi này được gọi là mã hoá, quá trình ngược lại, từ
bản mã tìm ra bản rõ được gọi là giải mã.
Để thực hiện mã hoá và giải mã người gửi cũng như người nhận cần sở
hữu một yếu tố bí mật được gọi là khoá (tương ứng ký hiệu là 1k và 2k ). Gọi M
14
và C tương ứng là bản rõ và bản mã, 1kE và 2kD tương ứng là phép mã hoá và giải
mã, khi đó các quá trình mã hoá và giải mã được viết dưới dạng:
1
2
( )
( )
k
k
E M C
D C M


Căn cứ vào quan hệ giữa khoá mã hoá và khoá giải mã, người ta phân biệt
hai loại thuật toán mật mã: Thuật toán mã đối xứng và thuật toán mã phi đối
xứng.
- Trong thuật toán mã đối xứng, khoá giải mã 2k được tính ra từ khoá
mã hoá 1k (trường hợp riêng thì 1 2k k ), khóa phải được giữ bí mật và
chỉ biết bởi người gửi và người nhận. Ví dụ: thuật toán TDEA, thuật
toán AES,…
- Trong thuật toán mã phi đối xứng khóa mã và khóa giải mã khác nhau,
biết khoá mã hoá 1k , không thể tính ra được khoá giải mã 2k theo
nghĩa độ phức tạp tính toán, khóa giải mã (hay khóa riêng) phải được
giữ bí mật duy nhất bởi người sử dụng. Ví dụ: thuật toán RSA, thuật
toán Elgamal, v.v…
Thuật toán mã đối xứng lại được chia thành hai loại: thuật toán mã dòng
và thuật toán mã khối. Thuật toán mã dòng thực hiện mã hoá từng ký tự của bản
rõ, trong khi thuật toán mã khối chia bản rõ rõ thành từng khối có độ dài cố định
(thường là 64 hoặc 128 bit) và thực hiện mã hoá lần lượt từng khối.
Cả hai loại thuật toán mã đối xứng và mã phi đối xứng đều có thể sử dụng
để mã hoá dữ liệu. Tuy nhiên thuật toán mã phi đối xứng có tốc độ mã hoá chậm
hơn nhiều so với mật mã đối xứng, do đó các thuật toán loại này ít khi được sử
dụng để trực tiếp mã hoá dữ liệu, nhất là với dữ liệu có khối lượng lớn. Chúng
chủ yếu được sử dụng để thiết kế các giao thức phân phối khoá (như truyền khoá
từ một thực thể tới một thực thể khác) và xác thực trên mạng liên lạc (như tạo
chữ ký số của người dùng). Do đó, để mã hóa dữ liệu chủ yếu sử dụng mã khối
và mã dòng.
Mã khối
Nói chung, phần lớn các thuật toán mã dữ liệu được thiết kế dưới dạng mã
khối. Do đó phần này chúng ta sẽ xem xét những đặc trưng cơ bản của mã khối .
Quá trình mã hoá dữ liệu sử dụng mã khối được thực hiện như sau [1]:
Bản rõ được chia thành các khối (block) có độ dài cố định (có kích thước là n)
và thuật toán mã hóa (ký hiệu là Ek) biến đổi từng khối bản rõ (ký hiệu là M)
15
thành từng khối bản mã C = Ek(M). Thuật toán giải mã (ký hiệu là Dk) sẽ biến
đổi theo trình tự ngược lại, nghĩa là biến mỗi khối bản mã C thành khối bản rõ
M = Dk(C). Điều kiện cần để thực hiện các thuật toán mã hóa và giải mã là phải
có khóa mật K.
Cấu trúc lặp
Nguyên lý lặp là một trong các nguyên lý cơ bản trong thiết kế mã khối.
Tinh thần cơ bản của nguyên lý này là một khối bản rõ được xử lý nhiều lần
thông qua một số vòng. Tại mỗi vòng, khối dữ liệu được biến đổi nhờ một khóa
mật Ki được xác định từ một khóa mật ban đầu K. Số vòng lặp được xác định
bởi độ an toàn cần có và hiệu quả thực hiện chương trình mã hoá và giải mã
Về nguyên tắc, số vòng lặp càng nhiều thì độ an toàn của mã khối càng
cao nhưng hiệu quả thực hiện lại giảm đi và ngược lại số vòng lặp càng ít thì độ
an toàn lại giảm và hiệu quả thực thi mã khối lại tăng lên.
Thuật toán mật mã trong Mã dữ liệu
Có hai nguyên lý cơ bản được vận dụng trong quá trình thiết kế mã khối
là xáo trộn và khuyếch tán. Cả hai nguyên lý này nhằm làm tăng độ ngẫu nhiên
và độ phức tạp của bản mã để chống lại các phương pháp tấn công mã thám.
Để đạt được mục tiêu trên người ta sử dụng các phép biến đổi phức tạp
dưới dạng tổ hợp các phép biến đổi đơn giản và thực hiện qua một số vòng lặp.
Hình 1.2 trình bày mô hình hoạt động của thuật toán mã dữ liệu DES [3].
Hình 1.2: Mô hình hoạt động của mã dữ liệu DES
16
Theo mô hình trên, thuật toán mã hoá sẽ thực hiện một số vòng lặp, mỗi
vòng lặp sử dụng các phép biến đổi dạng một (hoán vị) và dạng hai (khuyếch
tán). Trong một số hệ mã đối xứng phép biến đổi dữ liệu tại mỗi vòng có cấu
trúc Feistel. Theo cấu trúc này, khối dữ liệu n bit được chia thành hai nửa bằng
nhau ký hiệu là Livà Ri, thuật toán mã hoá có dạng:
Y1 = X2
Y2 =X1 fi (X2,Ki)
Ở mỗi vòng lặp, đầu vào X được chia thành hai phần X1 và X2. Đầu ra Y
(gồm Y1 và Y2) là kết quả của việc mã hoá khối X bằng hàm fi và khoá Ki.
Trong đó, khoá Ki là khoá tại vòng thứ i và được xác định từ khoá ban đầu K;
hàm fi được gọi là hàm mã hoá, hàm này có thể phụ thuộc hoặc không phụ thuộc
vào số thứ tự của vòng lặp.
Cấu trúc của hàm fi gồm hàm mở rộng (function extention) E, tám phép
biến đổi được gọi là các Hộp-S (S-box) S1, S2, S3, S4, S5, S6, S7,S8 và phép
hoán vị theo bít P. Đối số của hàm fi là véc-tơ Ri-1 và véc-tơ khoá Ki.
Hàm mở rộng E mở rộng Ri-1 thành đoạn E(Ri-1) có độ dài lớn hơn theo
một Quy tắc cho trước (chẳng hạn trong trong tiêu chuẩn mã hóa dữ liệu DES,
Ri-1 có độ dài 32 bít được mở rộng thành 48 bít).
Tiếp đó, E(Ri-1) được cộng theo modulo 2 với khoá Ki cho kết quả là E(Ri-
1)  Ki. Khối kết quả này tiếp theo sẽ được biến đổi qua các Hộp-S tương ứng là
Si. Đầu ra sau Si được biến đổi qua phép hoán vị theo bít P. Đầu ra cuối cùng
của toàn bộ quá trình trên là fi(Ri-1, Ki).
Các tham số của mã khối
Độ dài khối n: để một hệ mã khối là an toàn, độ dài khối n phải đủ lớn để
ngăn cản các tấn công phân tích thống kê, tức là không cho đối phương thu được
thông tin có ích nào về khối rõ thường xuất hiện nhiều hơn các khối rõ khác.
Ngoài ra, độ dài khối n cũng phải được chọn sao cho số các cặp rõ/mã mà đối
phương có thể thu nhận được trong thực tế phải nhỏ hơn rất nhiều so với 2n
.
Độ dài khóa k và cỡ khóa đúng kt : để hệ mã khối an toàn chống lại tấn
công vét cạn khóa, cỡ khóa đúng cần phải đủ lớn sao cho 1
2 tk 
phép mã hóa cần
cho tấn công này là vượt xa khả năng của thám mã. Mặt khác, độ dài khóa k
cũng cần nhỏ ở mức nào đó sao cho việc tạo, phân phối và lưu trữ khóa có thể
thực hiện được hiệu quả và an toàn. Chẳng hạn, DES có độ dài khóa là 64 bít,
còn cỡ khóa đúng là 56 bit. Tấn công vét cạn khóa là không thể nhưng cũng
17
không quá xa vời. Nhiều gợi ý muốn tăng cỡ khóa đúng của DES. Chẳng hạn,
mở rộng cỡ khóa đúng của DES tới 128 bit bằng phép mã bội ba dùng hai khóa
xem là một cách thức chuẩn để sử dụng DES
Phân loại mã khối
Như chúng ta đã biết, mã khối là một hệ mã thực hiện quá trình mã hóa
thông tin trên các khối dữ liệu có độ dài cố định n. Để thực hiện được điều này
thì dữ liệu đầu vào phải được chia ra thành các khối có độ dài n-bit. Trong thực
tế thì các tệp cũng như các dữ liệu điện tử khác có độ dài không phải là bội số
của n cho nên phải sử dụng các phương pháp bổ sung độ dài cho khối mã cuối
cùng.
Phần lớn các hệ mã khối được xây dựng trên cơ sở hai mạng, đó là mạng
Feistel (Feistel Network) và mạng SP (Subtitution - Permutation Network) [3].
Mạng Feistel:
Hình 1.3: Mạng Feistel
Trong sơ đồ này đầu vào X chia ra làm hai phần bằng nhau 0 0( , )L R , một
hàm F bao gồm các khóa con 0 1, ,..., nK K K được đưa các vòng tương ứng
0,1,...i n . Ở mỗi vòng 0,1,...i n tính toán:
18
1
1 ( , )
i i
i i i i
L R
R L F R K



 
Khi đó bản mã là 1 1( , )n nR L  .
Giải mã một bản mã 1 1( , )n nR L  được thực hiện theo vòng
, 1,...,0i n n  được tính toán:
1
1 1( , )
i i
i i i i
R L
L R F L K

 

 
Sau đó được bản rõ 0 0( , )L R
Ưu điểm quan trọng của sơ đồ trên là tính đối xứng đối với 2 quá trình mã
hóa và giải mã. Độ an toàn của hệ mật phụ thuộc hoàn toàn vào độ an toàn của
hàm F.
Mạng SP: Trong mạng SP (Subtitution-Permutation Network), các phép
biển đổi được thực hiện trên toàn bộ khối rõ đầu vào mà không phải chia ra làm
hai phần như trong mạng Feistel nói trên. Thuật toán điển hình thiết kế theo
mạng SP là thuật toán AES (Advanced Encryption Standard).
Hình 1.4: Mạng SP với 3 vòng mã hóa/giải mã khối 16 bit
19
Có một khối bản rõ và khóa đầu vào, sử dụng xen kẽ một số “vòng” hoặc
“lớp” của hộp thay thế S và hoán vị P để tạo ra khối mã. Hộp S và P chuyển đổi
các bit đầu vào thành các bit đầu ra. Nó thực hiện các biến đổi như phép XOR
hoặc cộng từng bit.
S-hộp là hộp thay thế một khối nhỏ của các bit (đầu vào) bởi một khối bit
(đầu ra). Sự thay thế này là thay thế đơn để đảm bảo tính duy nhất. Nó có thuộc
tính khi thay đổi các bit đầu vào sẽ làm thay đổi các bit đầu ra, do đó các bit đầu
ra phụ thuộc vào các bit đầu vào.
P-hộp là một hộp hoán vị thay thế của tất cả các bit. Nó cho kết quả đầu ra
là các bit trong S-hộp từ vòng 1 và đưa vào S-hộp cho các vòng tiếp theo.
Trong cả 2 dạng trên của các hệ mật, biến đổi iF trong từng vòng
' ': , 1...i n m nF V V V i r   có thể chia ra làm ba lớp (Hình 1.5):
Lớp cộng với khóa ( )i iK L K , Lớp thế với S-hộp , 1...iS i k và lớp
khuếch tán.
Hình 1.5: Sơ đồ một vòng mã hóa
Các chế độ hoạt động của mã khối
Có bốn (04) chế độ hoạt động cơ bản của mã khối: Chế độ sách mã điện
tử (ECB), chế độ liên kết khối mã (CBC), chế độ phản hồi mã (CFB) và chế độ
phản hồi đầu ra (OFB).
Chế độ ECB tương ứng với cách dùng thông thường của mã khối: với một
dãy các khối bản rõ cho trước 1 2, ,...x x (mỗi khối có 64 bit), mỗi ix sẽ được mã
hóa bằng cùng một khóa K để tạo thành một dãy các khối bản mã 1 2, ,...y y theo
quy tắc  , 1i K iy E x i  .
20
Trong chế độ CBC, ta bắt đầu với 0 IVy  (là một vector khởi tạo 64 bit)
và một dãy các khối bản rõ cho trước 1 2, ,...x x (mỗi khối có 64 bit), mỗi ix sẽ
được mã hóa bằng cùng một khóa K để tạo thành một dãy các khối bản mã
1 2, ,...y y theo quy tắc  1 , 1i K i iy E y x i   .
Trong chế độ CFB, ta cũng bắt đầu với 0 IVy  (là một vector khởi tạo 64
bit) và tạo phần tử iz của dòng khóa bằng cách mã hóa khối bản mã trước đó.
Tức là  1 , 1i K iz E y i  và dòng khóa được tạo ra sẽ được cộng modulo 2 với
bản rõ (tức là nó hoạt động như một hệ mã dòng: , 1i i iy x z i   ).
Chế độ OFB thực sự là một hệ mã dòng đồng bộ: dòng khóa được tạo bởi
việc mã lặp vector khởi tạo 64 bit (IV). Ta xác định 0 IVz  và sinh dòng khóa
1 2, ,...z z theo quy tắc  1 , 1i K iz E z i  . Dãy bản rõ 1 2, ,...x x sau đó sẽ được
mã hóa bằng cách tính , 1i i iy x z i   .
Cũng còn một số biến thể của OFB và CFB được gọi là các chế độ phản
hồi k- bit  1 64k  . Các chế độ phản hồi 1-bit và 8-bit thường được dùng
trong thực tế cho phép mã hóa đồng thời 1-bit (hoặc byte) số liệu.
Bốn chế độ hoạt động nêu trên có những ưu, nhược điểm khác nhau. Ở
chế độ ECB và OFB, sự thay đổi của một khối bản rõ ix sẽ làm thay đổi khối
bản mã iy tương ứng, nhưng các khối bản mã khác không bị ảnh hưởng. Trong
một số tình huống, đây là một tính chất đáng mong muốn. Ví dụ, chế độ OFB
thường được dùng để mã khi truyền vệ tinh.
Mặt khác ở các chế độ CBC và CFB, nếu một khối bản rõ ix bị thay đổi
thì khối bản mã iy và tất cả các khối bản mã tiếp theo sẽ bị ảnh hưởng. Như vậy
các chế độ CBC và CFB có thể được sử dụng rất hiệu quả cho mục đích xác
thực. Đặc biệt hơn, các chế độ này có thể được dùng để tạo mã xác thực thông
báo (MAC - message authentication code).
Ví dụ, sử dụng chế độ CBC để tạo ra một MAC. Ta bắt đầu bằng vector
khởi tạo IV chứa toàn số 0. Sau đó dùng chế độ CBC để tạo các khối bản mã
1 2, ,..., ny y y theo khóa K. Cuối cùng ta xác định MAC là ny . Người gửi sẽ phát
đi dãy các khối bản rõ 1 2, ,..., nx x x cùng với MAC. Khi người nhận thu được
1 2, ,..., nx x x anh ta sẽ khôi phục lại 1 2, ,..., ny y y bằng khóa K bí mật và xác
minh xem liệu 1 2, ,..., ny y y có giống với MAC mà mình đã thu được hay
không?.
21
Nhận thấy, đối phương không thể tạo ra một MAC hợp lệ do anh ta không
biết khóa K mà người gửi và người nhận đang dùng. Hơn nữa, đối phương thu
chặn được dãy khối bản rõ 1 2, ,..., nx x x và thay đổi ít nhiều nội dung thì chắc
chắn đối phương cũng không thể thay đổi MAC để được người nhận chấp nhận.
1.3.2. Chữ ký số
Trong giao dịch giấy tờ truyền thống chữ ký tay là phương tiện để xác
thực nguồn gốc và nội dung của văn bản. Chữ ký tay còn có khả năng chống
chối bỏ, nghĩa là người gửi sau khi đã ký vào văn bản thì không thể chối bỏ chữ
ký của mình và văn bản sau khi được ký thì không thể thay đổi được nội dung.
Đối với văn bản điện tử chữ ký tay không còn đảm bảo được các tính năng nói
trên, vì vậy chữ ký số điện tử (gọi tắt là chữ ký số) được sử dụng để thay thế vai
trò của chữ ký tay.
Chữ ký số được biểu diễn dưới dạng một chuỗi số nhị phân. Nó được tạo
ra trên cơ sở sử dụngtập hợp các quy tắc và tập hợp các tham số để xác định
danh tính người gửi (người ký) cũng như kiểm tra tính toàn vẹn của dữ liệu.
Phương tiện cơ bản để thực hiện chữ ký số là kỹ thuật mật mã. Mỗi chữ ký số
được thể hiện trên một lược đồ xác định gọi là lược đồ chữ ký số. Lược đồ này
bao gồm ba thành tố: thuật toán chữ ký số, thuật toán hàm băm và thuật toán tạo
số giả ngẫu nhiên. Thuật toán chữ ký số gồm thuật toán ký và thuật toán kiểm
tra. Người gửi sử dụng thuật toán ký và khóa bí mật để tạo ra chữ ký số, người
nhận (người kiểm tra) sử dụng thuật toán kiểm tra và khóa công khai tương ứng
để kiểm tra đồng thời tính chân thực của thông điệp dữ liệu và tính chân thực
của chữ ký số do người gửi tạo ra. Mỗi người sở hữu một cặp khóa bao gồm
khoá công khai (giả thiết là được công bố một cách công khai) và khoá bí mật
(được giữ bí mật tuyệt đối). Bất kỳ ai cũng có thể kiểm tra chữ ký số của một
người nào đó bằng cách sử dụng khóa công khai của người này. Quá trình tạo
chữ ký số chỉ có thể được thực hiện bởi người sở hữu khoá bí mật. Thuật toán
hàm băm là biến đổi toán học dùng để thu gọn văn bản ban đầu (còn gọi là thông
điệp dữ liệu) nhằm tạo ra bản tóm lược của thông điệp. Bản tóm lược này sẽ là
đầu vào của thuật toán tạo chữ ký số. Chữ ký số được đính kèm với thông điệp
dữ liệu đã được ký. Trong quá trình kiểm tra chữ ký số, thuật toán hàm băm
cũng được áp dụng như trong quá trình tạo chữ ký. Thuật toán tạo số giả ngẫu
nhiên dùng để tạo ra các số giả ngẫu nhiên (độc lập, đồng xác suất) làm tham số
trong lược đồ chữ ký số (xem Hình 1.6).
22
Hình 1.6: Mô tả quá trình tạo và kiểm tra chữ ký số [3]
Mô hình toán học của lược đồ chữ ký số
Một lược đồ chữ ký số là bộ 5 ( )R, A, K, S, V , trong đó:
1. R là tập hữu hạn các thông báo có thể.
2. A là tập hữu hạn các chữ ký số có thể.
3. K không gian khóa là tập hữu hạn các khóa có thể.
4. Với mỗi khóa K K , tồn tại một thuật toán ký KSig S và một thuật
toán kiểm tra chữ ký KVer V . Mỗi thuật toán ký :KSig R A và
thuật toán kiểm tra chữ ký :KVer  R A {đúng, sai} là những hàm
thỏa mãn điều kiện dưới đây:
( , )KVer x y

 

đúng, nếu ( )Ky Sig x
sai, nếu ( )Ky Sig x
với mọi thông báo xR và mọi chữ ký y A .
Với mỗi khóa K K , các hàm KSig và KVer là các hàm thời gian đa thức.
KVer sẽ là hàm công khai còn KSig là hàm bí mật. Hàm KSig là khó tính được
nếu không biết khóa bí mật K , điều này đảm bảo cho tính bí mật của chữ ký và
Tạo chữ ký Kiểm tra chữ ký
Thông điệp
Thuật toán băm an
toàn
Bản tóm lược
Tạo chữ
ký số
Khoá
bí mật Chữ
ký số
Thông điệp nhận được
Thuật toán băm an toàn
Bản tóm lược
Kiểm tra
chữ ký số
Chữ
ký số
Khoá
công khai
Chữ ký hợp lệ
hoặc
Chữ ký không hợp lệ
23
chống việc giả mạo chữ ký. Nghĩa là cho trước thông báo x, chỉ có người có
khóa bí mật K mới có thể tính được chữ ký y để ( , )KVer x y đúng .
Khuôn dạng ký số CMS/PKCS#7
CMS viết tắt của Cryptographic Message Syntax (Cú pháp mã hóa thông
điệp). Cú pháp này được sử dụng để ký số, tóm lược, xác thực mã hóa nội dung
của một thông điệp bất kỳ.
CMS mô tả một cú pháp đóng gói để bảo vệ dữ liệu. Nó hỗ trợ mã hóa và
ký số dữ liệu. Cú pháp này cho phép đóng gói nhiều lần; một vỏ bọc gói có thể
được lồng trong gói khác. Tương tự như vậy, một bên có thể ký số lên dữ liệu đã
được đóng gói trước đó. Nó cũng cho phép các thuộc tính bất kỳ, ví dụ thời gian
ký (signing time), được ký cùng với nội dung thông điệp, và cung cấp cho các
thuộc tính như countersignatures được liên kết với một chữ ký.
Các giá trị CMS được tạo ra sử dụng ASN.1, BER-ENCODING. Các giá
trị thông thường được biểu diễn dưới dạng các chuỗi octet. Trong khi nhiều hệ
thống có khả năng truyền nhận các chuỗi octet bất kỳ, trong đó có một số hệ
thống thư điện tử.
CMS được xây dựng dựa trên PKCS#7 phiên bản 1.5. CMS có sự tương
thích với PKCS#7, tuy nhiên cần thiết có một số thay đổi để phù hợp với thuộc
tính chuyển đổi chứng thư số, các kỹ thuật thỏa thuận khóa và khóa mã hóa đối
xứng để quản lý khóa.
CMS sử dụng các yếu tố mật mã để mã hóa và ký số dữ liệu. CMS sử
dụng một kiểu định dạng và giá trí cơ bản như hình bên dưới.
Content Type
Content
CMS định nghĩa sáu kiểu cơ bản để mô tả dạng của mã hóa nâng cao
được áp dụng cho các dữ liệu số, các hình dưới chỉ ra cú pháp cơ bản của chúng.
Sáu kiểu đó là [15]:
- Data: Sử dụng để tham chiếu tới chuỗi octet bất kỳ (ví dụ ASCII) và
thường được đóng gói trong một kiểu khác
- Signed Data: Sử dụng để ký nội dung, có thể có nhiều hơn một người ký
- Enveloped Data: Chứa nội dung được mã hóa với một khóa giải mã cho
mỗi người nhận (khóa này được mã hóa)
24
- Digested Data: Kiểu này chứa nội dung và một tóm lược thông điệp của
nội dung để cung cấp tính toàn vẹn của nội dung
- Encrypted Data: Đây chỉ là dữ liệu được mã hóa. Một phương thức cho
quản lý khóa bắt buộc phải được sử dụng. CMS không định nghĩa bất kỳ
phương thức quản lý khóa cụ thể nào.
- Authenticated Data: Kiểu này bao gồm các nội dung, mã xác thực thông
điệp (MAC), và các khóa xác thực được mã hóa cho một hoặc nhiều
người nhận.
25
Chương 2: NGHIÊN CỨU HỆ THỐNG THƯ ĐIỆN TỬ ZIMBRA, GIẢI
PHÁP KÝ SỐ, MÃ HÓA THƯ ĐIỆN TỬ
2.1. Kiến trúc hệ thống thư điện tử mã nguồn mở Zimbra
Zimbra là ứng dụng thư điện tử nguồn mở cung cấp một giải pháp, một hệ
thống hoàn chỉnh để triển khai dịch vụ email (cả server và client) và môi trường
chia sẻ cộng tác phục vụ cho quản lý và công việc.
Kiến trúc hệ thống thư điện tử nguồn mở Zimbra bao gồm những lõi sau
[16]:
- Các mã nguồn mở tích hợp trong Zimbra: Linux®, Apache Tomcat,
Postfix, MySQL®, OpenLDAP®.
- Giao thức chuẩn được sử dụng là: SMTP, LMTP, SOAP, XML,
IMAP, POP.
- Công nghệ được sử dụng để thiết kế là: Java, JavaScript thin client,
DHTML.
- Trình duyệt dựa trên giao diện giao diện khách hàng, giao diện này cho
phép người dùng dễ dàng truy cập vào tất cả các chức năng của
Zimbra Collaboration Suite (ZCS).
Kiến trúc Zimbra bao gồm mã nguồn mở tích hợp, sử dụng các giao thức
chuẩn. Các phần mềm liệt kê dưới đây được đóng gói, thử nghiệm và cấu hình
làm việc tốt với Zimbra [16]:
- Jetty ứng dụng máy chủ web chạy phần mềm zimbra.
- Postfix một nguồn mở chuyển giao các agent.
- OpenLDAP phần mềm nguồn mở xác thực người dùng (LDAP:
Lightweight Directory Access Protocol).
- Phần mềm cơ sở dữ liệu MySQL.
- Lucence với đầy đủ tính năng và công cụ tìm kiếm.
- Verity dùng để chuyển đổi các tin đính kèm nhất định.
- Anti-virus các thành phần chống thư rác.
- clamAV phần mềm quét chống virus để bảo vệ chống các tập tin độc
hại.
- SpamAssassinxác định thư rác.
- James/Sieve filtering: Sử dụng để tạo các bộ lọc cho thư điện tử.
Hình 2.1 cho thấy kiến trúc hệ thống Zimbra:
26
Hình 2.1: Kiến trúc hệ thống Zimbra [16]
- Zimbra Core: Gói này bao gồm các thư viện, tiện ích, công cụ giám
sát và cấu hình cơ bản các tập tin.
- Zimbra Convertd: Được cài đặt trên máy chủ Zimbra.
- Zimbra LDAP: Xác thực người dùng được cung cấp qua OpenLDAP.
Mỗi tài khoản trên máy chủ Zimbra có một ID hộp thư duy nhất để xác
định tài khoản.
- Zimbra MTA (Mail Transfer Agent): Postfix là nguồn mở để chuyển,
nhận thư thông qua SMTP và định tuyến mỗi tin nhắn đến hộp thư
máy chủ.
- Zimbra Store (Zimbra server):
 Bao gồm các gói phần mềm lưu trữ trong Zimbra giúp cho việc cài
đặt hộp thư máy chủ.
27
 Mỗi tài khoản được cấu hình trên một hộp thư máy chủ, tài khoản
này được liên kết với hộp thư có chứa tin nhắn và các tệp đính kèm.
 Các hộp thư máy chủ bao gồm các thành phần sau:
 Lưu trữ dữ liệu.
 Lưu trữ thông báo.
 Lưu trữ các chỉ số.
 Tiện ích chuyển đổi tệp đính kèm HTML.
 Tệp đính kèm được chuyển sang định dạng HTML khi người dùng
click vào chức năng xem dạng HTML trên web Zimbra.
- Data store: MySQL được dùng để lưu trữ dữ liệu, các ID hộp thư nội
bộ được liên kết với tài khoản người dùng. Cơ sở dữ liệu này chứa các
thiết lập của người dùng định nghĩa, các thư mục, lập lịch, địa chỉ liên
lạc, tình trạng mỗi email (đọc hay chưa đọc), các thẻ liên quan đến tin
nhắn.
- Message store: Đây là nơi lưu trữ tất cả các thông báo của hộp thư, và
các tệp đính kèm. Tin nhắn được lưu trữ theo định dạng MIME
(MIME: Multipurpose Internet Mail Extensions là một chuẩn Internet
về định dạng cho thư điện tử). Mỗi tin nhắn đó được gửi tới nhiều
người nhận có tài khoản trên một hộp thư máy chủ được lưu trữ trong
hệ thống tập tin.
- Index store: Chỉ số và công nghệ tìm kiêm được cung cấp qua Lucene
(Lucenelà thư viện Java mã mở nổi tiếng giúp xây dựng một công cụ
tìm kiếm). Chỉ số các tập tin được duy trì cho mỗi hộp thư.
- Zimbra Logger: Cài đặt gói Zimbra Logger là tùy chọn và được cài
đặt trên hộp thư máy chủ. Các Zimbra Logger được cài đặt làm công
cụ tập hợp, báo cáo syslog. Nếu hệ thống không cài Logger thì số liệu
thông kê log sẽ không hiển thị trên giao diện điều khiển.
- Zimbra Spell: Đây là gói cài đặt để kiểm tra chính tả trên web
Zimbra.
- Zimbra Proxy: Sử dụng IMAP proxy cho phép thu hồi thư cho một
miền được phân chia giữa nhiều máy chủ Zimbra cho mỗi người dùng.
Zimbra MTA: Zimbra MTA (Mail Transfer Agent) là một dịch vụ nhận
mail thông qua giao thức SMTP sử dụng giao thức LMTP (Local Mail Transfer
Protocol) cho phù hợp với mail server Zimbra.
28
- Các máy chủ Zimbra MTA bao gồm các chương trình sau:
 Postfix MTA cho thư định tuyến, chuyển tiếp thư, và đính kèm tệp.
 Antivirus: một công cụ chống virus được sử dụng để quét email, tin
nhắn và tệp đính kèm trong thư điện tử.
 SpamAssassin: một bộ lọc thư rác.
Triển khai Zimbra MTA
- Tổ chức Zimbra bao gồm một phiên bản dịch sẵn của Postfix.
- Postfix thực hiện việc chuyển tiếp mail Zimbra, nó nhận được tin nhắn
thông qua SMTP và các thông điệp từ máy chủ Zimbra.
- Postfix cũng đóng vai trò trong việc chuyển giao các thông điệp gửi đi.
Hình 2.2: Postfix trong môi trường Zimbra [16]
Tiếp nhận và gửi thư thông qua Zimbra MTA
- Các MTA Zimbra cung cấp cả đầu vào và thông điệp gửi đi. Đối với
thư gửi đi các MTA Zimbra xác địa chỉ định đích đến của người nhận.
Nếu đích đến là một máy chủ mail từ xa thì MTA Zimbra phải thiết lập
một phương thức truyền thông để truyền thông điệp đến máy chủ đó.
Đối với tin nhắn gửi đến các MTA phải có khả năng chấp nhận kết nối
các yêu cầu từ máy chủ ở xa và nhận tin nhắn cho mạng nội bộ sử
dụng.
- Để gửi và nhận email các MTA Zimbra phải được cấu hình trong
DNS. Đối với thư gửi đi sử dụng DNS để định tuyến email. Để nhận
29
được email thì bản ghi MX phải được cấu hình định tuyến đúng để thư
đến được máy cài mail server.
- Hàng đợi tin nhắn trong Zimbra MTA:
 Khi nhận được nhiều mail Zimbra MTA có các cơ chế định tuyến
để quản lý hàng đợi tin nhắn
 Trong Zimbra MTA duy trùy 4 hàng đợi: Incoming, active,
deferred, hold
Hình 2.3: Hàng đợi tin nhắn trong Zimbra MTA [16]
- Incoming: Khi các thư, tin nhắn mới được gửi đến sẽ được xếp vào
hàng đợi. Mỗi tin nhắn được xác định với một tệp tin duy nhất. Thông
điệp trong hàng đợi sẽ được chuyển đến nơi mà các thư đang xếp hàng.
Nếu không có vấn đề gì xảy ra thì việc di chuyển tin nhắn thông qua
các hàng đợi này sẽ được diễn ra một cách nhanh chóng.
- Active: Các hàng đợi thư được kích hoạt để sẵn sàng gửi đi.MTA đưa
ra một số lượng giới hạn các tin nhắn được xếp vào hàng đợi tại một
thời điểm. Từ đây các tin nhắn sẽ được chuyển đến hệ thống chống
virus và lọc thư rác trước khi được giao hoặc chuyển đến hàng đợi
khác.
- Deferred: Đây là các tin nhắn không được giao đi và được đặt trong
hàng đợi chậm (chờ). Hàng đợi này sẽ được quét thường xuyên để gửi
lại tin nhắn. Nếu tin nhắn không thể gửi lại sau một số lần nhất định thì
tin nhắn đó sẽ được đánh dấu gửi không thành công. Mặc định cho các
30
hàng đợi trả lại là 5 ngày, bạn cũng có thể thay đổi giá trị mặc định này
trong MTA.
- Hold: Đây là hàng đợi lưu giữ các mail mà có thể không được xử lý.
Các mail ở trong hàng đợi này cho đến khi người quản trị xử lý đến.
2.2. Giải pháp ký số, mã hóa thư điện tử
Hệ thống thư điện tử làm việc theo nguyên tắc lưu và chuyển. Người dùng
giao tiếp với hệ thư thông qua giao diện tại Mail Client. Thư được tạo ra tại mail
Client và được chuyển sang Mail Server mà Mail client kết nối tới. Sau đó sẽ
được chuyển qua một hoặc nhiều Mail Server. Trong quá trình chuyển giao đến
đích thư điện tử có thể được lưu giữ tại một số Mail Server. Do vậy khả năng
thư điện tử bị tấn công là rất cao. Hệ thống thư điện tử mật phải đảm bảo được
các yêu cầu sau:
1. Phải đảm bảo được an toàn thông tin về tài khoản khi kết nối đến
server. Điều này giúp cho thông tin về người dùng được gửi đi an toàn
trong quá trình đăng nhập, kiểm soát chặt chẽ và xác thực người dùng
trong hệ thống.
2. Các thông điệp gửi và nhận giữa các user phải được mã hóa để đảm
bảo an toàn dữ liệu trên đường truyền.
3. Phải xác thực được nội dung các thông điệp và xác thực được người
gửi. Yêu cầu này đưa ra nhằm đảm bảo tính toàn vẹn của dữ liệu
chống giả mạo dữ liệu và chống chối bỏ.
4. Các thao tác khi ứng dụng hệ thống bảo mật vào dịch vụ thư điện tử
phải đơn giản với người dùng.
Hệ thống thư điện tử Zimbra cung cấp một hệ thống hoàn chỉnh để triển
khai dịch vụ email (cả server và client) và môi trường chia sẻ công tác phục vụ
cho quản lý và công việc, tuy nhiên với các chức năng nghiệp vụ chuyên biệt
như ký số, mã hóa, giải mã, xác thực nội dung thư thì Zimbra chưa cung
cấp. Vì vậy, em đề xuất xây dựng giải pháp bảo mật thư điện tử sử dụng hạ tầng
khóa công khai (PKI). Giải pháp bao gồm việc phát triển hai ứng dụng bảo mật
thư điện tử trên công nghệ mở:
- Xây dựng và tích hợp ứng dụng bảo mật thư dựa trên Zimlet và tích hợp
với ứng dụng thư Zimbra (xây dựng trên nền tảngWeb).
- Ứng dụng bảo mật thư điện tử trên nền tảng Destop.
31
2.2.1. Giải pháp ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư
điện tử trên nền tảng Web
Hệ thống thư điện tử Zimbra cung cấp Zimbra web client với giao diện
người dùng trên nền web và làm việc trực tuyến (online). Mọi thông tin sẽ lưu
trên máy chủ Zimbra. Để theo dõi nhận dạng người gửi và đảm bảo tính bí mật,
xác thực và toàn vẹn nội dung thư sau khi họ gửi, hệ thống cần cung cấp cho
người dùng khả năng để ký số, mã hóa nội dung thư được gửi đi.
Ký số chỉ được thực hiện trên máy client
Ký số yêu cầu truy cập vào khóa bí mật của người ký. Bởi vì khóa bí mật
của mỗi người chỉ có thể truy cập bởi chính người đó, do đó việc ký số diễn ra
trên máy tính của người ký. Nếu không người ký sẽ phải gửi khóa bí mật của
mình đến máy chủ, điều này đặt ra mối đe dọa an ninh - khóa bí mật có thể bị
đánh cắp trên đường truyền. Ký số các tài liệu trên máy tính của người sử dụng
trong các ứng dụng web không phải là một nhiệm vụ dễ dàng, bởi vì khách hàng
sử dụng trình duyệt web chuẩn - mà không có tích hợpchức năng cho ký số. Một
số cách tiếp cận vấn đề này bao gồm:
- Sử dụng công cụ ký số ngoài
Một cách tiếp cận đó là người sử dụng cài đặt trên máy tính của họ một số
loại phần mềm thiết kế đặc biệt, nhưng điều này lại có một số khó khăn. Một là
phần mềm ký số phải có các phiên bản riêng biệt hỗ trợ cho các hệ điều hành
khác nhau. Ngoài ra, việc hỗ trợ cho các phần mềm như vậy là phức tạp, bởi vì
bất kỳ sự thay đổi trong đó sẽ buộc người dùng phải tải về và cài đặt phiên bản
mới. Tích hợp với nền tảng web của hệ thống là một nhiệm vụ khó khăn, và nếu
phần mềm không được tích hợp tốt, sử dụng của nó có thể gây phiền hà cho
người sử dụng. Ngoài ra còn có một khả năng mà người sử dụng từ chối cài đặt
phần mềm trên máy tính của họ vì lý do an ninh, hoặc có thể họ không sử dụng
máy tính riêng của họ, do đó họ có thể bị ngăn cấm quyền để cài đặt phần mềm.
- Sử dụng ngôn ngữ kịch bản phía máy trạm
Có thể sử dụng ngôn ngữ kịch bản JavaScrip hoặc một số công nghệ kịch
bản phía máy trạm khác, chẳng hạn như ActiveX, Macromedia Flash, .NET
Windows Forms Controls, hoặc Java applet.
JavaScript: Vấn đề với ngôn ngữ JavaScript là nó không hỗ trợ các hàm
vào ra chuẩn cần thiết để làm việc với chữ ký số và chứng thư số. Bên cạnh đó
nó không thể truy cập vào các chứng thư số được cài đặt vào trình duyệt web
của người dùng, nó cũng không truy cập được vào các kho khóa được bảo vệ
32
bên ngoài. JavaScript cũng không thể truy cập vào hệ thống tập tin cục bộ và do
đó không thể đọc được các tập tin cần ký.
Macromedia Flash: Macromedia Flash cũng không hỗ trợ chữ ký số và
chứng thư số, và nó không thể truy cập vào hệ thống tập tin cục bộ và do đó
cũng không thể đọc được các tập tin cần ký.
ActiveX: điều khiển ActiveX cung cấp một giải pháp về chữ ký số, nhưng
ActiveX chỉ hoạt động với trình duyệt Internet Explorer trên hệ điều hành
Windows. Điều này hạn chế người dùng phải sử dụng hệ điều hành Windows và
trình duyệt Internet Explorer.
Windows Forms Controls: cũng chỉ làm việc với Internet Explorer, và
cài đặt thêm một số yêu cầu bổ sung của nền tảng .NET. Điều này gây khó khăn
cho người dùng khi yêu cầu họ sử dụng trình duyệt Internet Explorer, hệ điều
hành Windows, và .NET Framework để có thể ký được tài liệu trên nền tảng
web.
Java Applet: Java Applet có thể tương thích với tất cả các trình duyệt và
trên tất cả các hệ điều hành. Java Applet cũng có khó khăn mà mặc định không
có quyền truy cập vào hệ thống tập tin cục bộ, nhưng hạn chế này có thể được
khắc phục bằng cách sử dụng các java applet đã được ký số.
Mô hình tổng quan giải pháp ký số, xác thực, mã hóa, và giải mã nội
dung thư điện tử trên nền tảng web
Hình 2.4: Mô hình ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư trên
nền tảng Web
Người gửi sau khi soạn thảo nội dung thư điện tử trên Webform có thể ký
số, mã hóa nội dung thư và gửi lên Mail Server. Người nhận sẽ tải dữ liệu đã ký
số, mã hóa lên Webform trên máy tính của mình và tiến hành xác thực chữ ký
số, giải mã nội dung thư. Ứng dụng applet ký tài liệu phải có một số phương
tiện, mà theo đó để gửi chữ ký số tới máy chủ. Điều này có thể được thực hiện
bằng nhiều cách - Các applet sẽ mở ra một socket để gửi chữ ký, hoặc nó sẽ gửi
33
thông tin của một yêu cầu truy cập vào một địa chỉ URL của máy chủ, hoặc giao
tiếp với các trình duyệt và gửi thông tin cho server. Cách tiếp cận cuối cùng là
thuận tiện nhất, vì nó đòi hỏi ít lập trình nhất để gửi và nhận tập tin đã được ký.
Ứng dụng applet em đề xuất sử dụng giao tiếp với các trình duyệt, trong
trường hợp này máy chủ nhận được nội dung cùng với chữ ký của nội dung
trong một yêu cầu trình duyệt web duy nhất, không cần thiết cho bất kỳ hành
động nào khác.
Giao tiếp giữa Applet và trình duyệt web
Chúng ta có một trang HTML thông thường được sử dụng để gửi thư điện
tử không có chức năng ký số, mã hóa. Nếu chúng ta muốn mở rộng hình thức
này để nó hỗ trợ ký số, mã hóa đơn giản là chúng ta tích hợp một java-applet in
trên đó. Trong trường hợp này applet sẽ thực hiện thực hiện ký số, mã hóa và
đưa chữ ký số vào một số trường của trang HTML. Khi thực thi trang HTML,
trình duyệt web sẽ gửi chữ ký cùng với nội dung thư, vì vậy không cần thiết
thiết lập bất kỳ kênh liên lạc nào giữa máy chủ và applet. Hình 2.5 mô tả các
chức năng của ứng dụng ký số, xác thực, mã hóa, giải mã sử dụng applet.
Hình 2.5: Sơ đồ chức năng ứng dụng ký số, mã hóa applet
Xử lý dữ liệu web form
Người gửi sử dụng Mail Client là trình duyệt web để soạn thảo nội dung
thư. Từ các dữ liệu trên trình duyệt Web chương trình sử dụng các hàm trong
applet gọi và sử dụng các thư viện JavaScript để lấy nội dung thư để xử lý tạo
dữ liệu cần ký số, xác thực chữ ký, mã hóa và giải mã.
Ký số, xác thực nội dung thư
Chức năng này lấy dữ liệu trên Webform và đưa vào trong applet để ký số
và xác thực nội dung thư trên Webform.
34
Mã hóa, giải mã nội dung thư
Chức năng này lấy dữ liệu trên Webform và đưa vào trong applet mã hóa,
giải mã nội dung thư trên Webform
2.2.2. Giải pháp ký số, mã hóa, xác thực, giải mã clipboard trên nền
tảng Desktop
Giải pháp đưa ra là thực hiện ký số, mã hóa, xác thực, giải mã nội dung
dữ liệu trên bộ đệm của máy tính.
Hình 2.6: Mô hình ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng
Desktop
Khi người dùng thực hiện thao tác Copy trên trình soạn thảo, dữ liệu được
lưu trữ trên bộ nhớ tạm Clipboard. Ứng dụng thực hiện ký số, mã hóa, xác thực,
giải mã nội dung bản rõ trên Clipboard này, dữ liệu sau khi đóng gói lại được
lưu trữ lại vào bộ nhớ tạm Clipboard để người dùng có thể dán vào nội dung thư
cần gửi đi.
35
2.3. Phân tích thiết kế và xây dựng ứng dụng ký số, mã hóa thư điện
tử
2.3.1. Ký số, mã hóa, xác thực, giải mã nội dung thư điện tử trên nền
tảng Web
Lược đồ Ký số – Mã hóa nội dung thư điện tử
Hình 2.7: Lược đồ Ký số - Mã hóa nội dung thư điện tử
36
Quá trình ký số, mã hóa nội dung thư điện tử là kết hợp của hai quá trình,
quá trình ký số lên dữ liệu sau đó mã hóa dữ liệu đã được ký [5].
Trong sơ đồ trên, sử dụng phương pháp đóng gói chữ ký vào dữ liệu ký
do vậy, dữ liệu cần ký cũng được ghép vào với khuôn dạng chữ ký đầu ra, dữ
liệu cần ký được băm thông qua một hàm băm (SHA-1 hoặc SHA-2), dữ liệu
băm được ký bởi khóa bí mật của người ký, khóa bí mật được lưu trong thiết bị
USB lưu khóa, ID của chứng thư số người ký cũng được ghép với chữ ký đầu ra.
Để thuận tiện cho người xác thực dữ liệu, chứng thư số của người ký cũng được
ghép với chữ ký đầu ra để người xác thực không phải tìm kiếm chứng thư số của
người ký để xác thực chữ ký. Khuôn dạng chữ ký đầu ra gồm các thông tin
chính sau:
- Dữ liệu ký.
- Tên hàm băm được sử dụng.
- Chữ ký số.
- Chứng thư số người ký.
- ID người ký.
Sau quá trình ký số, dữ liệu rõ được mã hóa bằng thuật toán mã hóa đối
xứng, tên thuật toán mã hóa đối xứng được đưa vào khuôn dạng dữ liệu mã,
mầm khóa đối xứng được mã hóa bằng khóa công khai tách từ các chứng thư số,
các chứng thư số này là các chứng thư số của người nhận dữ liệu mã được lấy từ
kho lưu trữ chứng thứ số chuẩn, các ID của các chứng thư số này và tên thuật
toán mã khóa công khai sử dụng để mã dữ liệu cũng được đưa vào khuôn dạng
dữ liệu mã. Mầm khóa đối xứng được mã và được đưa vào khuôn dạng dữ liệu
mã. Khi muốn mã gửi cho nhiều người thì mỗi chứng thư số của người nhận sẽ
là mầm khóa đối xứng một lần, có bao nhiêu người nhận thì sẽ có bấy nhiêu
đoạn mã của mầm khóa sẽ được ghép vào dữ liệu mã đầu ra. Khuôn dạng dữ
liệu mã đầu ra sẽ bao gồm các thông tin sau:
- Tên thuật toán mã hóa đối xứng.
- Dữ liệu mã.
- Khóa đối xứng được mã.
- Các ID người nhận và tên thuật toán mã hóa công khai.
Quy trình ký dữ liệu cũng dựa trên các thuật toán ký chuẩn đã được thiết
kế trong thư viện của java, tuy nhiên trước khi ký dữ liệu, các chứng thư số ký
được kiểm tra trực tuyến sử dụng CRLs. Ngoài ra, dấu thời gian cũng được sử
dụng trong quy trình này, dấu thời gian gồm có thời gian chuẩn lấy từ máy chủ
37
cấp dấu thời gian và chứng thư số của máy chủ cấp dấu thời gian. Dấu thời gian
sau khi lấy về được kiểm tra trước khi gắn vào chữ ký. Quy trình ký được thể
hiện trên Hình 2.8.
Dữ liệu ký gồm:
- Dữ liệu gốc.
- Tên hàm băm.
- Chữ ký số.
- ID người ký.
- Chứng thư số người ký.
- Dấu thời gian.
Dữ liệu cần ký
Thuật toán băm
Tên hàm băm
Hàm băm
Tóm lược (băm) của
dữ liệu được ký
Ký số
Chữ ký số
Chứng thư số người
ký
ID người ký
Chứng thư số người
ký
Khóa bí
mật
USB lưu
khóa
Kho chứng thư số
Kiểm tra hiệu lực
Dấu thời gian
Các CRLs
Máy chủ
dấu thời
gian
Các dịch
vụ chứng
thực
Hình 2.8: Lược đồ ký số dữ liệu có dấu thời gian
Mô tả mô hình ký số, mã hóa thư điện tử: Từ nội dung thư điện tử, sử
dụng hàm băm SHA-256 để tạo ra bản tóm lược của email. Sau đó sử dụng khóa
bí mật (lưu trữ trong thiết bị lưu khóa) của người dùng ký số nội dung bản tóm
lược (sử dụng thuật toán RSA) và sử dụng các dịch chứng thực chữ ký số (nếu
có) với kết quả là chữ ký số của thư điện tử được gắn kèm nội dung thư. Nếu có
thực hiện mã hóa thư điện tử thì hệ thống sinh ngẫu nhiên khóa để thực hiện mã
khối nội dung thư điện tử đã có ký số, khóa ngẫu nhiên này được mã hóa bằng
khóa công khai của các người nhận được phép để chỉ những người này mới có
thể giải mã được nội dung thư. Sau đó các thành phần gồm nội dung thư điện tử
38
đã được mã hóa và nội dung mật khẩu đã được mã hóa được đóng gói thành nội
dung thư đã được ký số, mã hóa để người dùng gửi đi.
Hình 2.9: Mô hình ký số, mã hóa thư điện tử
39
Lược đồ Xác thực – Giải mã nội dung thư điện tử
Dữ liệu cần ký Tên hàm băm Chữ ký số
Chứng thư số người
ký
ID người ký
Chứng thư số của
người nhân
Khuôn dạng dữ liệu được ký
ID Người nhận &
thuật toán mã
Khóa đối xứng được
mã
Thông tin của những người nhận
Khóa đối xứng được
mã
ID Người nhận &
thuật toán mã
Thuật toán mã đối
xứng
DỮ LIỆU KÝ, MÃ
Giải mã dữ liệu
Giải mã khóa đối
xứng
Khóa đối xứng
Khóa bí
mật
USB lưu
khóa
Xác thực tốt
Không xác thực được
Xác thực
Khóa công khai
người ký
Kho chứng thư số
Chứng thư số người
kýTóm lược gốc
So sánh NO
Yes
Hàm băm
Tóm lược (băm) mới
của dữ liệu được ký
Hình 2.10: Lược đồ Xác thực - Giải mã nội dung thư điện tử
Quá trình xác thực, giải mã dữ liệu là quá trình ngược lại và là kết hợp
quả hai quá trình, quá trình giải mã dữ liệu và quá trình xác thực chữ ký.
Sau khi nhận được dữ liệu mã, bên nhận tiến hành giải mã dữ liệu, tìm
kiếm và sử dụng thuật toán mã hóa đối xứng giống với tên thuật toán được gửi
kèm dữ liệu mã, so sánh ID của chứng thư số người nhận và ID được gửi kèm
dữ liệu mã, nếu chùng thì người nhận được phép giải mã và tiến hành lấy khóa
bí mật tương ứng với chứng thư số người nhận, thường được lưu trong thiết bị
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở
Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở

More Related Content

What's hot

Tổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinTổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinNguyen Thi Lan Phuong
 
Mạng máy tính
Mạng máy tínhMạng máy tính
Mạng máy tínhMai Điệp
 
Bài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITBài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITNguynMinh294
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinTran Tien
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchwem81315
 
Cơ sở mật mã học PTIT
Cơ sở mật mã học PTITCơ sở mật mã học PTIT
Cơ sở mật mã học PTITNguynMinh294
 
slide mon an ngon can tho
slide mon an ngon can thoslide mon an ngon can tho
slide mon an ngon can thoghost243
 
Thiết kế website bán điện thoại di động bằng PHP
Thiết kế website bán điện thoại di động bằng PHPThiết kế website bán điện thoại di động bằng PHP
Thiết kế website bán điện thoại di động bằng PHPNguyễn Danh Thanh
 
Báo cáo thực tập Athena - Xây dựng web tin tức bằng WordPress
Báo cáo thực tập Athena - Xây dựng web tin tức bằng WordPressBáo cáo thực tập Athena - Xây dựng web tin tức bằng WordPress
Báo cáo thực tập Athena - Xây dựng web tin tức bằng WordPressTranVanVuong
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt Hà Vũ
 
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc19849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1Theduyet Pham
 
Chương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạngChương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạngHoa Le
 
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)dlmonline24h
 

What's hot (20)

Tổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinTổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tin
 
Mạng máy tính
Mạng máy tínhMạng máy tính
Mạng máy tính
 
Luận văn: Phát hiện xâm nhập theo thời gian thực trong internet
Luận văn: Phát hiện xâm nhập theo thời gian thực trong internetLuận văn: Phát hiện xâm nhập theo thời gian thực trong internet
Luận văn: Phát hiện xâm nhập theo thời gian thực trong internet
 
01 ma hoa
01 ma hoa01 ma hoa
01 ma hoa
 
Bài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITBài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTIT
 
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đLuận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
Luận văn: Chất lượng dịch vụ cho truyền thông đa phương tiện, 9đ
 
Bài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tinBài giảng bảo mật hệ thống thông tin
Bài giảng bảo mật hệ thống thông tin
 
Đồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịchĐồ án chương trình quản lý website du lịch
Đồ án chương trình quản lý website du lịch
 
Cơ sở mật mã học PTIT
Cơ sở mật mã học PTITCơ sở mật mã học PTIT
Cơ sở mật mã học PTIT
 
Slide mang may tinh
Slide mang may tinhSlide mang may tinh
Slide mang may tinh
 
slide mon an ngon can tho
slide mon an ngon can thoslide mon an ngon can tho
slide mon an ngon can tho
 
Thiết kế website bán điện thoại di động bằng PHP
Thiết kế website bán điện thoại di động bằng PHPThiết kế website bán điện thoại di động bằng PHP
Thiết kế website bán điện thoại di động bằng PHP
 
Báo cáo thực tập Athena - Xây dựng web tin tức bằng WordPress
Báo cáo thực tập Athena - Xây dựng web tin tức bằng WordPressBáo cáo thực tập Athena - Xây dựng web tin tức bằng WordPress
Báo cáo thực tập Athena - Xây dựng web tin tức bằng WordPress
 
Bai giang atbmtt
Bai giang atbmtt Bai giang atbmtt
Bai giang atbmtt
 
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOTĐề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
Đề tài: Chương trình quản lý cho thuê nhà của cơ sở dịch vụ, HOT
 
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc19849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
9849ed58 0205-4740-8040-8c6f33761cb3 computernetworkc1
 
Chương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạngChương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạng
 
Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”
Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”
Luận văn: Xây dựng mạng xã hội cho cộng đồng “gia sư - học sinh”
 
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
An Toàn và bảo mật HTTT-Cơ bản về mã hoá (cryptography)
 
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAYLuận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
 

Similar to Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở

Nghiên cứu phương pháp phân tích phần mềm mã độc.pdf
Nghiên cứu phương pháp phân tích phần mềm mã độc.pdfNghiên cứu phương pháp phân tích phần mềm mã độc.pdf
Nghiên cứu phương pháp phân tích phần mềm mã độc.pdfHanaTiti
 
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...sunflower_micro
 
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...sividocz
 
Lap trinhmang(socket)c#
Lap trinhmang(socket)c#Lap trinhmang(socket)c#
Lap trinhmang(socket)c#cozyhome0923
 
Network Programming in C#
Network Programming in C#Network Programming in C#
Network Programming in C#jvinhit
 
Bai giang lap trinhmang voi c#
Bai giang lap trinhmang voi c#Bai giang lap trinhmang voi c#
Bai giang lap trinhmang voi c#nttrang9090
 
lap-trinh-mang-voi-c#
lap-trinh-mang-voi-c#lap-trinh-mang-voi-c#
lap-trinh-mang-voi-c#Truong NGUYEN
 

Similar to Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở (20)

Luận văn: Ứng dụng chữ số trong quá trình gửi nhận tài liệu điện tử
Luận văn: Ứng dụng chữ số trong quá trình gửi nhận tài liệu điện tửLuận văn: Ứng dụng chữ số trong quá trình gửi nhận tài liệu điện tử
Luận văn: Ứng dụng chữ số trong quá trình gửi nhận tài liệu điện tử
 
Phân tích tự động các website để phát hiện lỗ hổng tiêm nhiễm, 9đ
Phân tích tự động các website để phát hiện lỗ hổng tiêm nhiễm, 9đPhân tích tự động các website để phát hiện lỗ hổng tiêm nhiễm, 9đ
Phân tích tự động các website để phát hiện lỗ hổng tiêm nhiễm, 9đ
 
Lap trinhmangvoic sharp
Lap trinhmangvoic sharpLap trinhmangvoic sharp
Lap trinhmangvoic sharp
 
Nghiên cứu phương pháp phân tích phần mềm mã độc.pdf
Nghiên cứu phương pháp phân tích phần mềm mã độc.pdfNghiên cứu phương pháp phân tích phần mềm mã độc.pdf
Nghiên cứu phương pháp phân tích phần mềm mã độc.pdf
 
Luận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBC
Luận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBCLuận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBC
Luận văn: Chống lại mất mát gói tin của thuật toán mã hóa ILBC
 
Md5
Md5Md5
Md5
 
Luận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAY
Luận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAYLuận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAY
Luận văn: Ứng dụng công nghệ IoT cho giám sát môi trường, HAY
 
Quản lý khóa mật mã và ứng dụng trong thỏa thuận, ký kết hợp đồng
Quản lý khóa mật mã và ứng dụng trong thỏa thuận, ký kết hợp đồngQuản lý khóa mật mã và ứng dụng trong thỏa thuận, ký kết hợp đồng
Quản lý khóa mật mã và ứng dụng trong thỏa thuận, ký kết hợp đồng
 
Đề tài: Vấn đề quản lý khóa mật mã và ứng dụng, HAY, 9đ
Đề tài: Vấn đề quản lý khóa mật mã và ứng dụng, HAY, 9đĐề tài: Vấn đề quản lý khóa mật mã và ứng dụng, HAY, 9đ
Đề tài: Vấn đề quản lý khóa mật mã và ứng dụng, HAY, 9đ
 
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
Nghiên cứu công nghệ mã vạch hai chiều và đề xuất dự án ứng dụng nghiệp vụ nh...
 
Luận văn: An toàn giao thức định tuyến trong mạng manet, HOT
Luận văn: An toàn giao thức định tuyến trong mạng manet, HOTLuận văn: An toàn giao thức định tuyến trong mạng manet, HOT
Luận văn: An toàn giao thức định tuyến trong mạng manet, HOT
 
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
 
Luận văn: Cải tiến công cụ SEO PANEL, HAY, 9đ
Luận văn: Cải tiến công cụ SEO PANEL, HAY, 9đLuận văn: Cải tiến công cụ SEO PANEL, HAY, 9đ
Luận văn: Cải tiến công cụ SEO PANEL, HAY, 9đ
 
Lap trinhmang(socket)c#
Lap trinhmang(socket)c#Lap trinhmang(socket)c#
Lap trinhmang(socket)c#
 
Network Programming in C#
Network Programming in C#Network Programming in C#
Network Programming in C#
 
Bai giang lap trinhmang voi c#
Bai giang lap trinhmang voi c#Bai giang lap trinhmang voi c#
Bai giang lap trinhmang voi c#
 
lap-trinh-mang-voi-c#
lap-trinh-mang-voi-c#lap-trinh-mang-voi-c#
lap-trinh-mang-voi-c#
 
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung, HOT
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung, HOTĐề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung, HOT
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung, HOT
 
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần số
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần sốĐề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần số
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần số
 
Bc
BcBc
Bc
 

More from Dịch vụ viết bài trọn gói ZALO: 0909232620

Danh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới Nhất
Danh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới NhấtDanh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới Nhất
Danh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới NhấtDịch vụ viết bài trọn gói ZALO: 0909232620
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm CaoDịch vụ viết bài trọn gói ZALO: 0909232620
 

More from Dịch vụ viết bài trọn gói ZALO: 0909232620 (20)

Danh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới Nhất
Danh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới NhấtDanh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới Nhất
Danh Sách 200 Đề Tài Tiểu Luận Chuyên Viên Chính Về Bảo Hiểm Xã Hội Mới Nhất
 
Danh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Trị Nguồn Nhân Lực, 9 Điểm
Danh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Trị Nguồn Nhân Lực, 9 ĐiểmDanh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Trị Nguồn Nhân Lực, 9 Điểm
Danh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Trị Nguồn Nhân Lực, 9 Điểm
 
Danh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Lý Văn Hóa Giúp Bạn Thêm Ý Tưởng
Danh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Lý Văn Hóa Giúp Bạn Thêm Ý TưởngDanh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Lý Văn Hóa Giúp Bạn Thêm Ý Tưởng
Danh Sách 200 Đề Tài Luận Văn Thạc Sĩ Quản Lý Văn Hóa Giúp Bạn Thêm Ý Tưởng
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Quản Lý Giáo Dục Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Quản Lý Giáo Dục Dễ Làm Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Quản Lý Giáo Dục Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Quản Lý Giáo Dục Dễ Làm Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Quan Hệ Lao Động Từ Sinh Viên Giỏi
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Quan Hệ Lao Động Từ Sinh Viên GiỏiDanh Sách 200 Đề Tài Báo Cáo Thực Tập Quan Hệ Lao Động Từ Sinh Viên Giỏi
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Quan Hệ Lao Động Từ Sinh Viên Giỏi
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Nuôi Trồng Thủy Sản Dễ Làm Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Nuôi Trồng Thủy Sản Dễ Làm NhấtDanh Sách 200 Đề Tài Báo Cáo Thực Tập Nuôi Trồng Thủy Sản Dễ Làm Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Nuôi Trồng Thủy Sản Dễ Làm Nhất
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Sư, Mới Nhất, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Sư, Mới Nhất, Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Sư, Mới Nhất, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Sư, Mới Nhất, Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phòng, Chống Hiv, Mới Nhất, Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phá Sản, Mới Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phá Sản, Mới NhấtDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phá Sản, Mới Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Phá Sản, Mới Nhất
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Nhà Ở, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Nhà Ở, Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Nhà Ở, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Nhà Ở, Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Ngân Hàng, Mới Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Ngân Hàng, Mới NhấtDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Ngân Hàng, Mới Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Ngân Hàng, Mới Nhất
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Môi Trường, Mới Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Môi Trường, Mới NhấtDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Môi Trường, Mới Nhất
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Môi Trường, Mới Nhất
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hộ Tịch, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hộ Tịch, Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hộ Tịch, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hộ Tịch, Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hình Sự , Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hình Sự , Dễ Làm Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hình Sự , Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hình Sự , Dễ Làm Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hành Chính, Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hành Chính, Dễ Làm Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hành Chính, Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Hành Chính, Dễ Làm Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Giáo Dục, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Giáo Dục, Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Giáo Dục, Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Giáo Dục, Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đấu Thầu, Từ Sinh Viên Khá Giỏi
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đấu Thầu, Từ Sinh Viên Khá GiỏiDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đấu Thầu, Từ Sinh Viên Khá Giỏi
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đấu Thầu, Từ Sinh Viên Khá Giỏi
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư, Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư, Dễ Làm Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư, Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư, Dễ Làm Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư Công, Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư Công, Dễ Làm Điểm CaoDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư Công, Dễ Làm Điểm Cao
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đầu Tư Công, Dễ Làm Điểm Cao
 
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đất Đai, Từ Sinh Viên Khá Giỏi
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đất Đai, Từ Sinh Viên Khá GiỏiDanh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đất Đai, Từ Sinh Viên Khá Giỏi
Danh Sách 200 Đề Tài Báo Cáo Thực Tập Luật Đất Đai, Từ Sinh Viên Khá Giỏi
 

Recently uploaded

Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...hoangtuansinh1
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgsNmmeomeo
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhdtlnnm
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-KhnhHuyn546843
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh chonamc250
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢImyvh40253
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
Danh sách sinh viên tốt nghiệp Đại học - Cao đẳng Trường Đại học Phú Yên năm ...
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
 
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
 
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
cac-cau-noi-tthcm.pdf-cac-cau-noi-tthcm-
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh cho
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 

Giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở

  • 1. i ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN QUỐC UY NGHIÊN CỨU VÀ XÂY DỰNG GIẢI PHÁP BẢO MẬT VÀ XÁC THỰC THƯ ĐIỆN TỬ DỰA TRÊN CÔNG NGHỆ MỞ LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - 2016
  • 2. ii ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN QUỐC UY NGHIÊN CỨU VÀ XÂY DỰNG GIẢI PHÁP BẢO MẬT VÀ XÁC THỰC THƯ ĐIỆN TỬ DỰA TRÊN CÔNG NGHỆ MỞ Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật Phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. Hồ Văn Hương Hà Nội - 2016
  • 3. iii LỜI CẢM ƠN Tôi xin cảm ơn các Thầy, Cô giáo ở Khoa Công nghệ thông tin, Phòng Đào tạo, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã giảng dạy và truyền thụ cho tôi những kiến thức quý báu trong suốt thời gian tôi học tập và nghiên cứu tại trường. Tôi xin gửi lời cảm ơn chân thành nhất tới TS. Hồ Văn Hương, người thầy đã cho tôi những định hướng, tận tình chỉ bảo giúp đỡ, cho tôi những ý kiến rất quý báu để tôi hoàn thành luận văn tốt nghiệp này. Tôi cũng xin tỏ lòng biết ơn về sự động viên giúp đỡ của gia đình và bạn bè, đồng nghiệp, những người luôn quan tâm sát cánh bên tôi và là nguồn động viên khích lệ, tạo cho tôi có được những điều kiện tốt nhất trong suốt quá trình học tập của mình. Tôi xin chân thành cảm ơn! Hà Nội, tháng 12 năm 2016 Học viên Nguyễn Quốc Uy
  • 4. iv LỜI CAM ĐOAN Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của riêng cá nhân tôi, không sao chép lại của người khác. Trong toàn bộ nội dung luận văn, những điều đã được trình bày hoặc là của riêng cá nhân tôi, hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các nguồn tài liệu tham khảo được dùng đều có xuất xứ rõ ràng, được trích dẫn hợp pháp. Tôi xin chịu hoàn toàn trách nhiệm và chịu mọi hình thức kỉ luật theo quy định cho lời cam đoan của mình. Hà Nội, tháng 12 năm 2016 Học viên Nguyễn Quốc Uy
  • 5. v MỤC LỤC Danh mục các ký hiệu, các chữ viết tắt...................................................................vii Danh mục các hình vẽ, đồ thị .................................................................................viii MỞ ĐẦU ....................................................................................................................1 Chương 1: TỔNG QUAN VỀ AN TOÀN, BẢO MẬT THƯ ĐIỆN TỬ..................3 1.1. Hệ thống thư điện tử mã nguồn mở ...............................................................3 1.1.1. Cấu trúc hệ thống thư điện tử..................................................................3 1.1.2. Các giải pháp thư điện tử mã nguồn mở.................................................5 1.2. Các hình thức đe dọa an toàn thông tin khi sử dụng thư điện tử .................7 1.2.1. Hiểm hoạ bị đọc lén..................................................................................7 1.2.2. Vấn đề thu thập thông tin ........................................................................8 1.2.3. Phân tích đường truyền ...........................................................................9 1.2.4. Giả mạo...................................................................................................11 1.2.5. Bom thư ..................................................................................................12 1.3. Cơ sở lý thuyết mật mã .................................................................................13 1.3.1. Mã hóa dữ liệu........................................................................................13 1.3.2. Chữ ký số ................................................................................................21 Chương 2: NGHIÊN CỨU HỆ THỐNG THƯ ĐIỆN TỬ ZIMBRA, GIẢI PHÁP KÝ SỐ, MÃ HÓA THƯ ĐIỆN TỬ .........................................................................25 2.1. Kiến trúc hệ thống thư điện tử mã nguồn mở Zimbra................................25 2.2. Giải pháp ký số, mã hóa thư điện tử ............................................................30 2.2.1. Giải pháp ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư điện tử trên nền tảng Web............................................................................................31 2.2.2. Giải pháp ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng Desktop.............................................................................................................34 2.3. Phân tích thiết kế và xây dựng ứng dụng ký số, mã hóa thư điện tử..........35 2.3.1. Ký số, mã hóa, xác thực, giải mã nội dung thư điện tử trên nền tảng Web...................................................................................................................35 2.3.2. Ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng Desktop.....51 2.3.3. Tính năng mật mã của giải pháp...........................................................62 Chương 3: CÀI ĐẶT, THỬ NGHIỆM GIẢI PHÁP KÝ SỐ, MÃ HÓA THƯ ĐIỆN TỬ..................................................................................................................63 3.1. Mô tả ứng dụng ký số, mã hóa thư điện tử ..................................................63 3.2. Phương pháp, mô hình triển khai thử nghiệm.............................................69
  • 6. vi 3.2.1. Mô hình triển khai thử nghiệm..............................................................69 3.2.2. Phương pháp thử nghiệm ......................................................................69 3.3. Nội dung, kết quả thử nghiệm ......................................................................69 3.3.1. Nội dung các bài đo thử .........................................................................69 3.3.2. Kết quả đánh giá ....................................................................................71
  • 7. vii Danh mục các ký hiệu, các chữ viết tắt AES Tiêu chuẩn mã hóa tiên tiến (Advanced Encryption Standard). CBC Chế độ liên kết khối mã (Cipher block Chaining) CFB Chế độ phản hồi mã (Cipher Feed Back) CMS Cú pháp mã hóa thông điệp CRL Danh sách hủy bỏ/thu hồi chứng thư số (Certificate Revocation List) DNS Domain Name System ECB Chế độ sách mã điện tử (Electronic code book) E-Mail Thư điện tử HTML Ngôn ngữ đánh dấu siêu văn bản (HyperText Markup Language) IMAP Internet Message Access Protocol IV Véc tơ khởi tạo LDAP Lightweight Directory Access Protocol MAC Mã xác thực thông báo MDA Mail Delivery Agent MIME Multipurpose Internet Mail Extensions MTA Mail Transfer Agent MUA Mail User Agent OFB Chế độ phản hồi đầu ra (Output Feedback) PKCS Tiêu chuẩn mật mã khoá công khai (Puplic Key Cryptography Standard) do Phòng thí nghiệm RSA (Mỹ) ban hành. PSS Lược đồ ký xác suất (Probabilistic Signature Scheme ). RFC Request For Comment RSA Tên của hệ mã do ba nhà toán học Rivest, Shamir và Adleman sáng tạo ra. RSASSA Lược đồ ký RSA kèm phụ lục (RSA Signature Scheme with Appendix). SHA Thuật toán băm an toàn (Secure Hash Algorithm). SMTP Simple Mail Transfer Protocol TDEA Thuật toán mã dữ liệu bội ba (TDEA-Triple Data Encryption Algorithm) ZCS Zimbra Collaboration Suite
  • 8. viii Danh mục các hình vẽ, đồ thị Hình 1.1: Sơ đồ tổng quan hệ thống thư điện tử .................................................3 Hình 1.2: Mô hình hoạt động của mã dữ liệu DES ........................................... 15 Hình 1.3: Mạng Feistel..................................................................................... 17 Hình 1.4: Mạng SP với 3 vòng mã hóa/giải mã khối 16 bit............................... 18 Hình 1.5: Sơ đồ một vòng mã hóa.................................................................... 19 Hình 1.6: Mô tả quá trình tạo và kiểm tra chữ ký số [3] ................................... 22 Hình 2.1: Kiến trúc hệ thống Zimbra [8] .......................................................... 26 Hình 2.2: Postfix trong môi trường Zimbra ...................................................... 28 Hình 2.3: Hàng đợi tin nhắn trong Zimbra MTA.............................................. 29 Hình 2.4: Mô hình ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư trên nền tảng Web ................................................................................................... 32 Hình 2.5: Sơ đồ chức năng ứng dụng ký số, mã hóa applet .............................. 33 Hình 2.6: Mô hình ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng Desktop............................................................................................................ 34 Hình 2.7: Lược đồ Ký số - Mã hóa nội dung thư điện tử .................................. 35 Hình 2.8: Lược đồ ký số dữ liệu có dấu thời gian............................................. 37 Hình 2.9: Mô hình ký số, mã hóa thư điện tử ................................................... 38 Hình 2.10: Lược đồ Xác thực - Giải mã nội dung thư điện tử........................... 39 Hình 2.11: Lược đồ xác thực ký số có dấu thời gian......................................... 40 Hình 2.12: Mô hình xác thực, giải mã nội dung thư điện tử.............................. 41 Hình 2.13: Lược đồ mã hóa thư điện tử............................................................ 42 Hình 2.14: Mô hình mã hóa thư điện tử............................................................ 43 Hình 2.15: Lược đồ giải mã thư điện tử............................................................ 43 Hình 2.16: Mô hình giải mã thư điện tử............................................................ 44 Hình 2.17: Giao diện soạn thảo thư có tích hợp chức năng bảo mật ................. 49 Hình 2.18: Giải mã nội dung thư ...................................................................... 50 Hình 2.19: Xác thực nội dung thư .................................................................... 50 Hình 2.20: Mô hình ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng Desktop............................................................................................................ 51 Hình 2.21: Chức năng phần mềm bảo mật thư điện tử...................................... 51 Hình 2.22: Giao diện ký số và mã hóa dữ liệu.................................................. 54 Hình 2.23: Giao diện xác thực dữ liệu.............................................................. 56
  • 9. ix Hình 2.24: Giao diện giải mã và xác thực dữ liệu............................................. 56 Hình 2.25: Giao diện ký số nội dung thư điện tử .............................................. 57 Hình 2.26: Giao diện xác thực nội dung thư điện tử ......................................... 57 Hình 2.27: Giao diện quản lý chứng thư số ...................................................... 59 Hình 2.28: Giao diện cấu hình ký số................................................................. 61 Hình 2.29: Giao diện cấu hình hệ thống ........................................................... 61 Hình 3.1: Chọn chứng thư số trong thiết bị....................................................... 63 Hình 3.2: Giao diện ký số và mã hóa nội dung thư........................................... 63 Hình 3.3: Giao diện chứng thực nội dung thư................................................... 64 Hình 3.4: Giao diện giải mã nội dung thư......................................................... 64 Hình 3.5: Giao diện ký số nội dung clipboard .................................................. 65 Hình 3.6: Giao diện ký số, mã hoá nội dung clipboard ..................................... 66 Hình 3.7: Giao diện xác thực nội dung clipboard ............................................. 66 Hình 3.8: Giao diện xác thực, giải mã nội dung clipboard................................ 67 Hình 3.9: Giao diện quản lý chứng thư số ........................................................ 67 Hình 3.10: Giao diện cấu hình hệ thống ........................................................... 68 Hình 3.11: Giao diện ký cấu hình đường dẫn thư viện PKCS#11..................... 68 Hình 3.12: Sơ đồ mô hình thử nghiệm hệ thống bảo mật thư điện tử................ 69
  • 10. 1 MỞ ĐẦU Trong thời gian gần đây, thư điện tử đã trở thành một công cụ hữu hiệu trong việc trao đổi thông tin, góp phần quan trọng vào nâng cao hiệu quả công việc, năng suất lao động, giảm thời gian thực hiện và chi phí hoạt động. Các thông tin nhạy cảm và quan trọng cũng được trao đổi, lưu trữ dưới hình thức thư điện tử. Chính vì thế thư điện tử trở thành một mục tiêu tấn công, phá hoại của tin tặc với nhiều vấn đề liên quan đến mất an toàn thông tin như: Lộ lọt thông tin bí mật, nhạy cảm; Phát tán thư giả mạo, có nội dung lừa đảo hoặc quảng cáo không phù hợp; Phát tán, lây lan mã độc, phần mềm quảng cáo trái phép; Chiếm quyền sử dụng trái phép; Bị lợi dụng để phục vụ cho mục đích xấu. Vấn đề trên đã gây ảnh hưởng xấu tới việc sử dụng thư điện tử trong hoạt động quản lý và 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 đảm bảo an toàn, bảo mật thư điện tử. 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. Vấn đề đặt ra là phải bảo mật dữ liệu, đảm bảo tin tức truyền đi không bị mất mát hay đánh tráo, người nhận biết được thông tin mà họ nhận được có chính xác của người gửi hay không và nội dung có bị thay đổi gì không. 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. Các cơ chế an toàn sử dụng mật mã đã trở thành một nhân tố cốt lõi của hệ thống thông tin nói chung và thư điện tử nói riêng. Các cơ chế mật mã được phát triển để giải quyết các vấn đề về an toàn cho hệ thống thư điện tử, bao gồm [3]: 1. Xác thực: đảm bảo ngăn chặn giả mạo nguồn gốc thông tin; 2. Bí mật dữ liệu: dữ liệu được mã hóa để đảm bảo không thể xem/đọc được bởi bên thứ 3 không được phép; 3. Toàn vẹn dữ liệu: khi thông tin bị sửa đổi trái phép, người sở hữu thông tin sẽ có khả năng phát hiện sự thay đổi này;
  • 11. 2 4. Chống chối bỏ: chống việc chối bỏ cái mà mình đã thỏa thuận và ký nhận. Các vấn đề trên được phát triển do sự xuất hiện của các tấn công như nghe lén, giả mạo, vi phạm tính bí mật dữ liệu, vi phạm tính toàn vẹn dữ liệu, từ chối việc ký nhận. Nếu không có mật mã, không thể xây dựng được các cơ chế an toàn để đảm bảo chống lại các tấn công này. Với mong muốn nghiên cứu tìm hiểu giải pháp bảo đảm an toàn cho thư điện tử sử dụng mật mã em đã lựa chọn luận văn “Nghiên cứu và xây dựng giải pháp bảo mật và xác thực thư điện tử dựa trên công nghệ mở”. Cùng với sự phát triển mạnh mẽ của công nghệ thông tin, các hệ thống phần mềm mã nguồn mở ngày càng được sử dụng phổ biến. Ngày 05 tháng 12 năm 2014, Bộ Thông tin và Truyền thông ban hành Thông tư số 20/2014/TT- BTTTT quy định về các sản phẩm phần mềm nguồn mở được ưu tiên mua sắm, sử dụng trong cơ quan, tổ chức nhà nước trong đó khuyến nghị sử dụng hệ thống phần mềm thư điện tử máy chủ gồm: Zimbra (phiên bản 8.5 trở về sau), OBM (phiên bản 2.5.5 trở về sau), Sendmail (phiên bản 8.13 trở về sau). Trong khuôn khổ nghiên cứu của luận văn, hệ thống phần mềm thư điện tử em lựa chọn sử dụng để tích hợp giải pháp bảo mật và xác thực là Hệ thống thư điện tử mã nguồn mở Zimbra. Do hệ thống thư điện tử mã nguồn mở Zimbra cung cấp cả hệ thống phần mềm thư điện tử máy chủ và phần mềm thư điện tử máy trạm. Bố cục của luận văn gồm các phần sau: Mở đầu Chương 1: Tổng quan về an toàn, bảo mật thư điện tử Chương 2: Nghiên cứu hệ thống thư điện tử zimbra, giải pháp ký số, mã hóa thư điện tử Chương 3: Cài đặt, thử nghiệm giải pháp ký số, mã hóa thư điện tử Kết luận và Kiến nghị Giá trị của luận văn Luận văn đã trình bày tổng thể các nghiên cứu về hệ thống thư điện tử mã nguồn mở Zimbra, đề xuất xây dựng được ứng dụng để đảm bảo tính bí mật, xác thực và toàn vẹn nội dung thư điện tử. Sản phẩm của đề tài có tính ứng dụng thực tiễn, có thể sử dụng trong lĩnh vực kinh tế - xã hội. Ngoài ra Mô hình giải pháp này có thể nghiên cứu để đưa vào ứng dụng trong xác thực giao dịch điện tử của nhiều hoạt động nghiệp vụ khác nhau đang được triển khai tại Việt Nam.
  • 12. 3 Chương 1: TỔNG QUAN VỀ AN TOÀN, BẢO MẬT THƯ ĐIỆN TỬ 1.1. Hệ thống thư điện tử mã nguồn mở 1.1.1. Cấu trúc hệ thống thư điện tử Thư điện tử (Electronic Mail) hay còn gọi tắt là E-Mail, là dịch vụ được triển khai trên các mạng máy tính cho phép người dùng có thể trao đổi thư từ với nhau mà không phải dùng đến giấy tờ như trong hệ thống thư tín bưu chính thông thường. 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 tệp đí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. Hệ thống Mail Server là một hệ thống tổng thể bao gồm nhiều thành phần hoạt động tương tác với nhau. Mỗi thành phần bản thân phục vụ các dịch vụ khác nhau, nhưng đồng thời các kết quả lại được đưa đến các thành phần khác để xử lý tiếp theo. Hình 1.1 dưới đây là mô hình của hệ thống Mail Server và sự tương tác giữa các thành phần bên trong [12]: Hình 1.1: Sơ đồ tổng quan hệ thống thư điện tử Hầu hết hệ thống thư điện tử bao gồm ba thành phần cơ bản là MUA, MTA và MDA. MTA(Mail Transfer Agent)
  • 13. 4 Khi các bức thư được gửi đến từ MUA, MTA có nhiệm vụ nhận diện người gửi và người nhận từ thông tin đóng gói trong phần header của thư và điền các thông tin cần thiết vào header. Sau đó MTA chuyển thư cho MDA để chuyển đến hộp thư ngay tại MTA, hoặc chuyển cho Remote-MTA. Việc chuyển giao các bức thư được các MTA quyết định dựa trên địa chỉ người nhận tìm thấy trên phong bì. - Nếu nó trùng với hộp thư do MTA (Local-MTA) quản lý thì bức thư được chuyển cho MDA để chuyển vào hộp thư. - Nếu địa chỉ gửi bị lỗi, bức thư có thể được chuyển trở lại người gửi. - Nếu không bị lỗi nhưng không phải là bức thư của MTA, tên miền được sử dụng để xác định xem Remote-MTA nào sẽ nhận thư, theo các bản ghi MX trên hệ thống tên miền. - Khi các bản ghi MX xác định được Remote-MTA quản lý tên miền đó thì không có nghĩa là người nhận thuộc Remote-MTA. Mà Remote- MTA có thể đơn giản chỉ trung chuyển (relay) thư cho một MTA khác, có thể định tuyến bức thư cho địa chỉ khác như vai trò của một dịch vụ domain ảo(domain gateway) hoặc người nhận không tồn tại và Remote-MTA sẽ gửi trả lại cho MUA gửi một cảnh báo. MDA (Mail Delivery Agent) Là một chương trình được MTA sử dụng để đẩy thư vào hộp thư của người dùng. Ngoài ra MDA còn có khả năng lọc thư, định hướng thư... Thường là MTA được tích hợp với một MDA hoặc một vài MDA. MUA (Mail User Agent) MUA là chương trình quản lý thư đầu cuối cho phép người dùng có thể đọc, viết và lấy thư về từ MTA. - MUA có thể lấy thư từ Mail Server về để xử lý (sử dụng giao thức POP) hoặc chuyển thư cho một MUA khác thông qua MTA (sử dụng giao thức SMTP). - Hoặc MUA có thể xử lý trực tiếp thư ngay trên Mail Server (sử dụng giao thức IMAP). Đằng sau những công việc vận chuyển thì chức năng chính của MUA là cung cấp giao diện cho người dùng tương tác với thư, gồm có: - Soạn thảo, gửi thư. - Hiển thị thư, gồm cả các tệp đính kèm. - Gửi trả hay chuyển tiếp thư.
  • 14. 5 - Gắn các tệp vào các thư gửi đi (Text, HTML, MIME v.v…). - Thay đổi các tham số(ví dụ như server được sử dụng, kiểu hiển thị thư, kiểu mã hoá thư v.v…). - Thao tác trên các thư mục thư địa phương và ở đầu xa. - Cung cấp số địa chỉ thư (danh bạ địa chỉ). - Lọc thư. 1.1.2. Các giải pháp thư điện tử mã nguồn mở Hiện nay trên thế giới đã xuất hiện rất nhiều sản phẩm xây dựng một hệ thống Mail Server. Có nhiều sản phẩm với giá cả rất rẻ (thậm chí miễn phí), nhỏ gọn, cài đặt và quản trị đơn giản, như WorkGroupMail, Surge Mail Server, Kerio Mail Server. Cũng có những sản phẩm lớn, giá thành cao, tính năng phong phú, đáp ứng được sự ổn định và an toàn như Mail Exchange của Microsoft, Merak Mail Server. Trong thế giới mã nguồn mở hiện nay, đã có rất nhiều hệ thống truyền tải thư điện tử MTA (Mail Transfer Agent) được phát triển. Nổi tiếng và phổ biến trong số đó gồm có: Zimbra, Sendmail, Qmail, Postfix, Exim, Courier. Mỗi MTA đều có những ưu điểm và nhược điểm riêng [12]: Zimbra Zimbra, hệ thống thư điện tử thế hệ mới, được xây dựng bởi cộng đồng phầm mềm tự do nguồn mở và công ty VMWare, đáp ứng các nhu cầu về trao đổi thư tín điện tử và hỗ trợ làm việc cộng tác kỷ nguyên hậu PC. Ứng dụng nguồn mở này có thể áp dụng cho các doanh nghiệp, nhà cung cấp dịch vụ, các tổ chức giáo dục, hay trong môi trường chính phủ..., mang tới cho người dùng rất nhiều lợi ích trong việc quản lý và chia sẻ thư tín, lịch công tác, sổ địa chỉ, tài liệu. Với hiệu năng hoạt động cao, các thao tác gửi, nhận, tải dữ liệu diễn ra hết sức nhanh chóng góp phần tiết kiệm thời gian cho người dùng. Đồng thời, người dùng cũng không cần phải lo lắng về việc quản trị hệ thống bởi mọi thao tác đều hết sức đơn giản và tiện lợi. Một điều rất đáng quan tâm của hệ thống thư điện tử Zimbra đó là công nghệ trên mã nguồn mở cho phép người dùng tiết kiệm được tối đa chi phí mà vẫn đảm bảo được nguyên tắc tôn trọng bản quyền. Sendmail Sendmail (http://www.sendmail.org) là MTA đơn giản và lâu đời nhất trên các dòng Unix thời xưa. Ngày nay, trên các hệ thống Linux, đặc biệt là các sảm phẩm của RedHat, Sendmail vẫn được cài đặt là MTA mặc định cho hệ
  • 15. 6 thống. Ngày nay, Sendmail đa được thương mại hóa bên cạnh sản phẩn miễn phí và vẫn được tiếp tục duy trì, phát triển. Tuy nhiên, vì được thiết kế theo cấu trúc khối và ảnh hưởng từ cấu trúc cũ, nên Sendmail chưa đạt được tính năng ổn định và bảo mật của một MTA như mong muốn. Qmail Qmail được viết bởi Bernstein, là một MTA dành cho hệ điều hành tựa Unix, bao gồm Linux, FreeBSD, Sun Solaris. Qmail ra đời như một tất yếu thay thế cho Sendmail và các yếu điểm của nó. Vì vậy, Qmail ngay từ ban đầu đã được thiết kế đơn giản, module hóa với tiêu chí bảo mật được đặt lên rất cao. Đồng thời, Qmail là một MTA hiện đại nên hỗ trợ tốt các kiểu định dạng mới hiện nay như định dạng hòm thư Maildir…Do Qmail được thiết kế module hóa và tối ưu hóa các tính năng ngay từ đầu, nên nó có tốc độ thực thi rất nhanh và ổn định. Postfix Weitse Venema, tác giả của các phần mềm miễn phí nổi tiếng như TCP Wrappers, SATAN và Logdaemon, ông không hài lòng khi sử dụng các MTA hiện có (bao gồm cả Qmail), vì vậy, ông đa viết ra Postfix (http://www.postfix.org). Postfix là một MTA mới, có khả năng thực thi cao, thừa kế cấu trúc thiết kế tốt từ Qmail, trong khi đó vẫn giữ được tính tương thích tối đa với Sendmail. So sánh với Qmail, Postfix có kích thước lớn hơn, phức tạp hơn, trong khi đó lại kém bảo mật, kém tin cậy và chạy chậm hơn. Tuy Postfix cũng được thiết kế theo cấu trúc module, nhưng các module của Postfix chạy dưới quyền của cùng một người dùng hệ thống, vì vậy sự hỏng hóc của một module có thể ảnh hưởng đến toàn bộ hệ thống. Xét về tổng thể, Postfix là một MTA tốt. Nếu vấn đề bảo mật và khả năng thực thi của hệ thống không được đòi hỏi quá cao, người quản trị có thể chọn và sử dụng Postfix. Exim Philip Hazel đa phát triển Exim (http://www.exim.org) tại trường đại học Cambridge. Nó được thiết kế theo xu hướng nhỏ và đơn giản nhưng vẫn đảm bảo các tính năng. Tuy nhiên, Exim vẫn được thiết kế theo cấu trúc khối, và hai yếu tố quan trọng với các MTA hiện đại là bảo mật và khả năng thực thi lại không được coi trọng. Hiện nay, Exim là MTA được lựa chọn và cài đặt mặc định trên các phiên bản phân phối Linux dựa theo Debian, ngoài ra nó không được sử dụng rộng rãi.
  • 16. 7 Như vậy, tùy theo mục đích và nhu cầu sử dụng, người quản trị sẽ lựa chọn một MTA cho hệ thống của mình, ngoài ra, với mỗi điều kiện và môi trường khác nhau, mỗi MTA lại có mức độ phù hợp khác nhau. Với các ưu điểm vượt trội rõ rệt của Zimbra, đây là một lựa chọn phù hợp cho các doanh nghiệp, nhà cung cấp dịch vụ, các tổ chức giáo dục, hay trong môi trường chính phủ. 1.2. Các hình thức đe dọa an toàn thông tin khi sử dụng thư điện tử 1.2.1. Hiểm hoạ bị đọc lén Cũng như đối với các ứng dụng khác trên mạng (các phiên đăng nhập từ xa, tải thông tin sử dụng ftp, hội thoại trực tuyến, ...), thư tín điện tử cũng có thể bị đọc lén. Nhưng ai là đối tượng muốn đọc lén nội dung thư của người dùng? Câu trả lời phụ thuộc vào họ là ai, họ đang làm gì, và ai quan tâm đến việc họ đang làm. Dưới đây là một vài đối tượng có thể đọc lén thư của người dùng [12]. Nguy cơ bị đọc lén từ chính phủ nước ngoài Các tổ chức tình báo quân sự nước ngoài là các đối tượng nghe trộm với những thiết bị tinh vi hiện đại nhất. Đọc trộm nội dung thư cá nhân là nghề của họ. Khi bắt đầu thời kỳ chiến tranh lạnh, mỗi năm họ đã đầu tư nhiều tỷ Đô la cho việc thu thập, biên dịch và phân tích dữ liệu của đối phương gửi qua mạng. Hiện tại khi thời kỳ chiến tranh lạnh đã kết thúc, nhưng không có gì có thể khẳng định họ không thực hiện những gì họ đã từng làm. Mối quan hệ giữa quân đội Mỹ và các tổ chức tình báo là một một quan hệ “mờ ám”, có rất nhiều ứng dụng được xây dựng bởi quân đội Mỹ hiện đang được sử dụng trong lĩnh vực thương mại. Ở một số nước, mục tiêu thu thập tin tức của họ là nhằm vào các công ty nước ngoài, thông tin thu thập được sẽ được sử dụng làm công cụ cạnh tranh cho các công ty thuộc nước bản địa. Nhật Bản và Pháp là hai nước nổi tiếng nhất trong việc “phạm tội” theo kiểu này, tất nhiên các nước phát triển khác cũng hoàn toàn có thể làm được điều đó. Ví dụ NSA đã từng bị buộc tội là có hành vi chặn các cuộc điện thoại giữa hai nước Châu Âu để ăn cắp thông tin và bán cho các đối tượng cạnh tranh khác. Nguy cơ bị đọc lén từ chính phủ trong nước Việc sử dụng gián điệp công nghệ đối với công dân nước mình nhiều nhất được biết đến là các nước như Trung Quốc, Bắc Triều Tiên, Cuba. Đối với Pháp, chính phủ chỉ cho phép mã hoá thông tin trao đổi giữa các công dân với nhau khi thuật toán mã và khoá được cấp bởi cơ quan có thẩm quyền. Còn đối với Đài Loan và Hàn Quốc thì họ yêu cầu các công ty loại bỏ việc sử dụng mã hoá thông tin trong các cuộc kết nối thoại, dữ liệu và FAX.
  • 17. 8 Trong bản thân nước Mỹ, nhiều tổ chức thuộc Chính phủ cũng quan tâm đến việc đọc trộm các thông tin cá nhân được trao đổi qua thư điện tử. Chẳng hạn đối với FBI, các tổ chức dính dáng đến chính trị, v.v... Nguy cơ bị đọc lén từ đối thủ cạnh tranh thương mại Việc kinh doanh có thể bị do thám bởi các công ty cạnh tranh. Các thông tin đối thủ cần quan tâm ở đây có thể là danh sách khách hàng, nội dung dự án, kế hoạch triển khai, tiềm lực tài chính, v.v… Ví dụ Coca-Cola có thể trả hậu hĩnh cho ai biết được kế hoạch quảng cáo mới của Pepsi, hãng Ford cũng có thể làm như vậy trong việc biết được thông tin về mẫu xe mới của một hãng sản xuất xe hơi khác. Nguy cơ bị đọc lén từ tội phạm Các đối tượng phạm tội có thể thu thập những thông tin có giá trị từ thư điện tử, đặc biệt là loại tội phạm kinh tế. Cảnh sát ở nhiều nước đã phát hiện ra việc bọ điện tử được gắn bất hợp pháp trên các kênh điện thoại nhằm giám sát và nghe trộm thông tin về số thẻ tín dụng được truyền qua đường điện thoại. Không có lý do nào để có thể nói rằng chúng không làm tương tự đối với thư tín điện tử khi các thông điệp được truyền trên mạng. Nhiều công ty đã mở giao dịch điện tử mua bán qua mạng Internet, và đã có nhiều mặt hàng được mua bán qua mạng thông qua thẻ tín dụng. Sẽ là rất dễ dàng để xây dựng và thiết lập một ứng dụng chạy tự động quét các thông điệp trên máy tính người sử dụng nhằm tìm kiếm các thông tin về số thẻ tín dụng trong các phiên giao dịch điện tử nói trên. Nguy cơ bị đọc lén từ bạn bè, người thân Cuối cùng, chính bạn bè, người thân của người dùng cũng có thể là “gián điệp”. Sử dụng thuật ngữ “gián điệp” trong trường hợp này có thể là chưa được chính xác, nhưng những đối tượng trên cũng cần được quan tâm khi thư tín điện tử được sử dụng để trao đổi các thông tin riêng tư. Một ví dụ đơn giản, trong môi trường làm việc ở một văn phòng, đồng nghiệp hoàn toàn có thể quan tâm đến những thông tin cá nhân được trao đổi qua thư tín điện tử của chúng ta mà không chỉ dừng lại ở mục đích tò mò. 1.2.2. Vấn đề thu thập thông tin Vấn đề lớn nhất khi muốn đọc một thông điệp được gửi qua đường thư tín điện tử của một ai đó là việc tìm nó giữa một biển các thông điệp thư tín điện tử khác trên mạng. Công việc này được người ta ví như việc “mò kim đáy biển”. Tuy là một công việc khó khăn nhưng hiện vẫn có các cơ quan hoặc tổ chức
  • 18. 9 được sinh ra để làm công việc đó. Chẳng hạn, một trong các công việc chính của NSA, NSA giám sát các luồng dữ liệu máy tính vào, ra nước Mỹ và giữa các nước khác với nhau. Nhiệm vụ thu thập thông tin từ các thông điệp thư tín điện tử được ví như nhiệm vụ của một chàng Herculean. Năm 1994, theo thống kê dữ liệu máy tính vào ra nước Mỹ đã đạt con số nhiều gigabytes, với hàng tỷ thông điệp được trao đổi trong một tháng. Trong đó gồm thư tín điện tử, thông tin đăng nhập từ xa, dịch vụ truyền tệp, dữ liệu “chat” thời gian thực, v.v... Để lưu trữ được lượng dữ liệu trên đã là một công việc lớn chứ chưa nói gì đến việc đọc và phân tích chúng [12]. Tuy nhiên đối với các thông tin cần quan tâm, các máy tính có thể thực hiện việc sàng lọc từ dòng dữ liệu trong thời gian thực. NSA hoàn toàn có thể thực hiện việc đưa luồng dữ liệu vào ra nước Mỹ vào một hệ thống máy tính mạnh, hệ thống máy tính này sẽ thực hiện việc tìm kiếm dữ liệu mà NSA quan tâm. Hệ thống máy tính này có thể tìm kiếm dữ liệu theo từ khoá, giả sử các thông điệp thư tín điện tử có chứa từ khoá “nuclear” (nguyên tử), “cryptography” (mật mã), hay “assassination” (cuộc ám sát), sẽ được lưu giữ lại phục vụ cho mục đích phân tích sau. Ngoài ra còn rất nhiều công nghệ khác được hệ thống máy tính của NSA sử dụng. Họ có thể tìm kiếm dữ liệu từ một cá nhân hoặc một tổ chức cụ thể. Họ cũng có thể tìm kiếm dữ liệu theo một cấu trúc cho trước. Tóm lại NSA được đầu tư rất nhiều tiền cho vấn đề này, họ đã và đang thực hiện công việc trên trong một thời gian dài. Điều quan trọng nhất là họ thực hiện công việc trên trong thời gian thực, và không nhiều lắm dữ liệu được lưu. Họ hy vọng rằng dữ liệu mà họ thu thập trong ngày nào sẽ được phân tích luôn trong ngày đó. Việc thu thập dữ liệu sẽ trở thành vô giá trị nếu dữ liệu đó không được phân tích, bởi vậy vấn đề khăn chính là việc phân tích dữ liệu. NSA có thể kết hợp rất nhiều công nghệ nhằm phân tích dữ liệu mà họ quan tâm, như mối quan hệ giữa từ khoá nói lên dữ liệu cần tìm, đối tượng gửi nhận thông tin, v.v... 1.2.3. Phân tích đường truyền Trong trường hợp nội dung thư được mã hoá, đối tượng đọc trộm (NSA chẳng hạn) không thể đọc nội dung thư điện tử, họ có thể thu thập được một lượng thông tin không nhỏ thông qua việc phân tích đường truyền.
  • 19. 10 Việc phân tích đường truyền dựa vào một trong các yếu tố như: người gửi gửi thư điện tử cho ai, người nhận nhận thư điện tử từ ai, độ dài của các thông điệp thư điện tử, hoặc khi nào thư điện tử được gửi. Có rất nhiều thông tin ẩn chứa trong các yếu tố kiểu như vậy nếu họ biết cách khai thác. Trước hết chúng ta hãy thử tìm hiểu lĩnh vực cung cấp dịch vụ điện thoại. Hầu hết các quốc gia châu Âu không ghi chiết khoản mục trong các hoá đơn điện thoại như đối với các công ty của Mỹ [12]. Các hoá đơn điện thoại ở châu Âu chỉ liệt kê số lượng cuộc đàm thoại đã sử dụng qua một thuê bao cụ thể, nhưng không ghi lại thời điểm cũng như địa điểm của các cuộc đàm thoại đó. Đối với các hoá đơn thanh toán điện thoại của Mỹ, trong đó liệt kê chi tiết tất cả các cuộc đàm thoại đối với một số thuê bao: thời điểm thực hiện, số được gọi đến, và thời lượng cuộc gọi. Từ những thông tin các cuộc đàm thoại, các cơ quan có chức năng của Mỹ có thể phân loại các đối tượng cần theo dõi hoặc đưa vào danh sách các đối tượng cần đề phòng. Tương tự như vậy đối với các thông điệp thư tín điện tử. Thậm chí khi các thông điệp thư tín điện tử đã được mã hoá, phần đầu của thông điệp thư tín điện tử bao giờ cũng thể hiện rõ đối tượng gửi, đối tượng nhận, thời điểm gửi, và độ dài của thông điệp. Trên thực tế đã có những dịch vụ thư tín điện tử “ẩn danh”, nhằm che dấu đi những thông tin chúng ta vừa liệt kê ở trên. Tuy nhiên theo các nhà phân tích về lĩnh vực này trên thế giới đã cho rằng điều đó chẳng có nghĩa lý gì đối với các đối tượng nghe trộm cỡ NSA. Một ví dụ cụ thể hơn, giả sử Eve nghi ngờ Alice là người ủng hộ chủ nghĩa khủng bố. Trong khi đó tất cả thư tín điện tử của Alice được mã hoá, bởi vậy Eve không thể đọc được nội dung của các thông điệp thư tín điện tử được gửi nhận bởi Alice. Tuy nhiên, Eve có thể thu thập tất cả các thông tin trên đường truyền của Alice. Eve biết tất cả các địa chỉ thư điện tử của những người mà Alice thường liên lạc. Alice thường gửi các thông điệp thư tín điện tử dài cho một người có tên là Bob, người thường phúc đáp ngay sau đó với một thông điệp rất ngắn. Có thể Alice đã gửi Bob các mệnh lệnh và anh ta phúc đáp lại việc đã nhận được các lệnh đó. Một ngày nào đó bỗng dưng có một bước nhảy vọt trong việc trao đổi thư điện tử giữa Alice và Bob. Có thể họ đang lập một kế hoạch gì đó. Và sau đó là sự im lặng, không có một thông điệp thư điện tử nào được trao đổi qua lại giữa họ. Ngày tiếp theo toà nhà chính phủ bị đánh bom. Điều này đã đủ làm bằng chứng để bắt giữ họ chưa còn tuỳ thuộc vào nhiều bằng chứng khác, nhưng ít nhất chúng đã đem lại cho các cơ quan quan tâm đến lĩnh vực này không ít thông tin quý giá.
  • 20. 11 Khủng bố không phải là đối tượng duy nhất bị theo dõi thông qua việc phân tích đường truyền. Việc phân tích đường truyền trao đổi thông điệp thư tín điện tử cũng là một công cụ để FBI căn cứ trong việc điều tra tội phạm buôn bán ma tuý. Trong lĩnh vực kinh tế xã hội, một công ty sẽ nghĩ sao khi một thành viên trong công ty đó thường xuyên liên lạc thư điện tử với một đối thủ cạnh tranh. Tóm lại việc phân tích đường truyền thư điện tử là một công cụ thông minh trong việc ăn cắp thông tin cá nhân. 1.2.4. Giả mạo Giả mạo là một vấn đề an toàn khác trên mạng máy tính nói chung. Khái niệm ngắn nhất về giả mạo là việc người này giả danh là một người khác. Việc giả mạo có thể xuất phát từ mục đích trêu đùa, làm mất danh dự, bôi nhọ người khác hoặc là công cụ để lừa gạt. Hàng ngày có rất nhiều thông điệp thư tín được gửi một cách tự động đến hộp thư của người sử dụng trên mạng Internet, với chủ đề kiểu như “tôi là người thích làm phiền người khác và tôi tự hào về điều đó” hoặc với chủ đề như một khẩu hiệu trong việc phân biệt chủng tộc, phân biệt giới tính. Nội dung của các thông điệp thư tín điện tử này hoàn toàn không có ý nghĩa gì. Sau đó một thời gian lại có một thư khác cũng xuất phát từ cùng một tài khoản với lời xin lỗi về việc đã gửi thư điện tử thứ nhất. Nói chung không nên tin vào bất kỳ điều gì trong các thông điệp thư tín kiểu như vậy, đấy chỉ là một trò trêu đùa trên mạng. Một kiểu giả mạo chúng ta có thể lấy ví dụ như kiểu tấn công của kẻ thứ ba trong mật mã [12]. Ví dụ, Bob và Alice hợp tác với nhau trong một dự án nào đó, và họ thương xuyên trao đổi thông tin với nhau qua thư điện tử. Eve giả danh là Bob gửi thư điện tử cho Alice và nói rằng tài khoản thư điện tử trước đây đã bị huỷ bỏ. Tương tự như vậy đối với Bob và nếu cả Bob và Alice đều tin vào nội dung thư điện tử nhận được thì mọi liên hệ giữa Alice và Bob được thực hiện thông qua người thứ ba là Eve. Khi đó Eve sẽ biết mọi thông tin về dự án mà Bob và Alice đang hợp tác. Eve sẽ là người đánh cắp thông tin trao đổi giữ Bob và Alice chừng nào Bob và Alice chưa trao đổi trực tiếp hoặc thông qua điện thoại. Hiểm hoạ mạo danh có thể được khắc phục thông qua việc sử dụng chữ ký điện tử. Với chữ ký điện tử Alice (trong ví dụ trên) hoàn toàn có thể kiểm tra được những thông điệp thư tín điện tử nào là thật sự của Bob. Và cũng không ai có thể mạo danh Alice để gửi các thông điệp điện tử cho người khác.
  • 21. 12 1.2.5. Bom thư Nếu người dùng đang sử dụng thư điện tử, họ có thể đã từng nhận được một số thông điệp thư điện tử được gửi một cách tự nguyện từ một địa chỉ nào đó tới mà chưa được sự cho phép của họ, những thông điệp thư điện tử đó được gọi là spam. Spam là một kiểu thư rác trên Internet, spam được sử dụng cho rất nhiều mục đích: quảng cáo, quấy rối, v.v... Nếu là một người mới sử dụng Internet có thể người dùng chỉ nhận được một số ít thông điệp điện tử không mong muốn như trên. Nhưng khi người dùng đã sử dụng Internet được một vài năm họ có thể đã cảm thấy rất khó chịu khi nhận được hàng loạt thư điện tử mà mình không hề mong muốn. Dưới đây là một số kiểu thư điện tử thường xuyên xuất hiện trong hộp thư của họ: - Các thông điệp điện tử được gửi từ các công ty thương mại nào đó mà họ chưa hề có mối quan hệ trước đây. - Thư điện tử có mục đích quảng cáo cho các sản phẩm hoặc dịch vụ bất hợp pháp, mờ ám hoặc thậm chí là có mục đích đánh lừa người nhận. - Các thư điện tử được gửi từ một địa chỉ không rõ ràng. - Các thư không hề có địa chỉ để người nhận có thể phúc đáp Nếu họ đã từng nhận được một mẩu bom thư nào đó, có thể họ đã có cảm giác bối rối, và tự mình đặt ra những câu hỏi như: thông điệp này là gì vậy? Nó được gửi từ đâu đến và bằng cách nào những người gửi thư có được địa chỉ hộp thư của mình? Khi những băn khoăn của mình vừa qua đi thì người dùng đã nhận được liên tiếp các thư rác tiếp theo, và như vậy chúng đã gây nên sự bực mình cho bạn. Có thể, người dùng sẽ viết thư than phiền với người gửi thư rác, nhưng sự bực mình của người dùng sẽ tăng lên khi biết thư điện tử than phiền của mình sẽ không đến được đối tượng mình cần gửi, vì kẻ gửi thư rác thường nguỵ trang hoặc dựng giả một hộp thư nào đó khi gửi cho họ. Một số loại bom thư [12]: - Thư điện tử thương mại tự nguyện (UCE - Unsolicited Commercial Email): là các thông điệp thư điện tử mà người sử dụng nhận được ngoài ý muốn, với nội dung nhằm quảng cáo cho một sản phẩm hay một dịch vụ nào đó. Loại bom thư này còn được gọi là “Junk mail”.
  • 22. 13 - Thư điện tử gửi hàng loạt (UBE - Unsolicited Bulk Email): được biết đến như các thông điệp điện tử được gửi với số lượng lớn cho hàng nghìn thậm chí hàng triệu người nhận. UBE có thể được sử dụng cho mục đích thương mại, trong trường hợp đó nó cũng là UCE. Nhưng nó cũng có thể được sử dụng cho nhiều mục tiêu khác, như vận động bầu cử trong lĩnh vực chính trị, hay chỉ đơn giản là gây rối hệ thống thư điện tử. - Các thông điệp thư điện tử kiếm tiền nhanh (MMF - Make Money Fast): thường các thông điệp này là một chuỗi các thư cùng một mẫu. Nội dung của các thông điệp thư điện tử kiểu này gợi ý người nhận rằng họ có thể trở nên giàu có nếu thực hiện theo các bước như: - Hãy gửi tiền cho người có tên đầu tiên trong danh sách (danh sách được gửi kèm theo thư). - Loại bỏ tên của người đó, bổ sung tên của mình vào cuối danh sách và chuyển thông điệp đó cho người khác. Các thông điệp thư điện tử MMF được xem là trò sổ số bất hợp pháp ở nước Mỹ. Các tấn công sự nổi tiếng: là các thông điệp thư điện tử mà người sử dụng cho là nó được gửi từ một người hoặc một tổ chức cụ thể, nhưng thực tế nó lại được gửi từ một địa chỉ nào đó khác. Mục đích của các thông điệp điện tử kiểu này không phải nhằm quảng cao cho sản phẩm hay dịch vụ, mà nhằm mục đích làm cho người nhận giận người gửi xuất hiện trong thư. 1.3. Cơ sở lý thuyết mật mã 1.3.1. Mã hóa dữ liệu Khái quát về thuật toán mã dữ liệu Trong lĩnh vực bảo vệ thông tin, các thuật toán mật mã được sử dụng để giải quyết ba vấn đề cơ bản: bảo mật dữ liệu, xác thực nguồn gốc và đảm bảo tính toàn vẹn của dữ liệu [1]. Các thuật toán mã hóa dữ liệu, đó là những thuật toán biến đổi dữ liệu rõ (tức ở dạng đọc hiểu, được gọi là bản rõ-plaintext hay cleartext) sang một dạng mà người không có thẩm quyền sẽ không thể đọc hiểu (được gọi là bãn mã- ciphertext). Quá trình biến đổi này được gọi là mã hoá, quá trình ngược lại, từ bản mã tìm ra bản rõ được gọi là giải mã. Để thực hiện mã hoá và giải mã người gửi cũng như người nhận cần sở hữu một yếu tố bí mật được gọi là khoá (tương ứng ký hiệu là 1k và 2k ). Gọi M
  • 23. 14 và C tương ứng là bản rõ và bản mã, 1kE và 2kD tương ứng là phép mã hoá và giải mã, khi đó các quá trình mã hoá và giải mã được viết dưới dạng: 1 2 ( ) ( ) k k E M C D C M   Căn cứ vào quan hệ giữa khoá mã hoá và khoá giải mã, người ta phân biệt hai loại thuật toán mật mã: Thuật toán mã đối xứng và thuật toán mã phi đối xứng. - Trong thuật toán mã đối xứng, khoá giải mã 2k được tính ra từ khoá mã hoá 1k (trường hợp riêng thì 1 2k k ), khóa phải được giữ bí mật và chỉ biết bởi người gửi và người nhận. Ví dụ: thuật toán TDEA, thuật toán AES,… - Trong thuật toán mã phi đối xứng khóa mã và khóa giải mã khác nhau, biết khoá mã hoá 1k , không thể tính ra được khoá giải mã 2k theo nghĩa độ phức tạp tính toán, khóa giải mã (hay khóa riêng) phải được giữ bí mật duy nhất bởi người sử dụng. Ví dụ: thuật toán RSA, thuật toán Elgamal, v.v… Thuật toán mã đối xứng lại được chia thành hai loại: thuật toán mã dòng và thuật toán mã khối. Thuật toán mã dòng thực hiện mã hoá từng ký tự của bản rõ, trong khi thuật toán mã khối chia bản rõ rõ thành từng khối có độ dài cố định (thường là 64 hoặc 128 bit) và thực hiện mã hoá lần lượt từng khối. Cả hai loại thuật toán mã đối xứng và mã phi đối xứng đều có thể sử dụng để mã hoá dữ liệu. Tuy nhiên thuật toán mã phi đối xứng có tốc độ mã hoá chậm hơn nhiều so với mật mã đối xứng, do đó các thuật toán loại này ít khi được sử dụng để trực tiếp mã hoá dữ liệu, nhất là với dữ liệu có khối lượng lớn. Chúng chủ yếu được sử dụng để thiết kế các giao thức phân phối khoá (như truyền khoá từ một thực thể tới một thực thể khác) và xác thực trên mạng liên lạc (như tạo chữ ký số của người dùng). Do đó, để mã hóa dữ liệu chủ yếu sử dụng mã khối và mã dòng. Mã khối Nói chung, phần lớn các thuật toán mã dữ liệu được thiết kế dưới dạng mã khối. Do đó phần này chúng ta sẽ xem xét những đặc trưng cơ bản của mã khối . Quá trình mã hoá dữ liệu sử dụng mã khối được thực hiện như sau [1]: Bản rõ được chia thành các khối (block) có độ dài cố định (có kích thước là n) và thuật toán mã hóa (ký hiệu là Ek) biến đổi từng khối bản rõ (ký hiệu là M)
  • 24. 15 thành từng khối bản mã C = Ek(M). Thuật toán giải mã (ký hiệu là Dk) sẽ biến đổi theo trình tự ngược lại, nghĩa là biến mỗi khối bản mã C thành khối bản rõ M = Dk(C). Điều kiện cần để thực hiện các thuật toán mã hóa và giải mã là phải có khóa mật K. Cấu trúc lặp Nguyên lý lặp là một trong các nguyên lý cơ bản trong thiết kế mã khối. Tinh thần cơ bản của nguyên lý này là một khối bản rõ được xử lý nhiều lần thông qua một số vòng. Tại mỗi vòng, khối dữ liệu được biến đổi nhờ một khóa mật Ki được xác định từ một khóa mật ban đầu K. Số vòng lặp được xác định bởi độ an toàn cần có và hiệu quả thực hiện chương trình mã hoá và giải mã Về nguyên tắc, số vòng lặp càng nhiều thì độ an toàn của mã khối càng cao nhưng hiệu quả thực hiện lại giảm đi và ngược lại số vòng lặp càng ít thì độ an toàn lại giảm và hiệu quả thực thi mã khối lại tăng lên. Thuật toán mật mã trong Mã dữ liệu Có hai nguyên lý cơ bản được vận dụng trong quá trình thiết kế mã khối là xáo trộn và khuyếch tán. Cả hai nguyên lý này nhằm làm tăng độ ngẫu nhiên và độ phức tạp của bản mã để chống lại các phương pháp tấn công mã thám. Để đạt được mục tiêu trên người ta sử dụng các phép biến đổi phức tạp dưới dạng tổ hợp các phép biến đổi đơn giản và thực hiện qua một số vòng lặp. Hình 1.2 trình bày mô hình hoạt động của thuật toán mã dữ liệu DES [3]. Hình 1.2: Mô hình hoạt động của mã dữ liệu DES
  • 25. 16 Theo mô hình trên, thuật toán mã hoá sẽ thực hiện một số vòng lặp, mỗi vòng lặp sử dụng các phép biến đổi dạng một (hoán vị) và dạng hai (khuyếch tán). Trong một số hệ mã đối xứng phép biến đổi dữ liệu tại mỗi vòng có cấu trúc Feistel. Theo cấu trúc này, khối dữ liệu n bit được chia thành hai nửa bằng nhau ký hiệu là Livà Ri, thuật toán mã hoá có dạng: Y1 = X2 Y2 =X1 fi (X2,Ki) Ở mỗi vòng lặp, đầu vào X được chia thành hai phần X1 và X2. Đầu ra Y (gồm Y1 và Y2) là kết quả của việc mã hoá khối X bằng hàm fi và khoá Ki. Trong đó, khoá Ki là khoá tại vòng thứ i và được xác định từ khoá ban đầu K; hàm fi được gọi là hàm mã hoá, hàm này có thể phụ thuộc hoặc không phụ thuộc vào số thứ tự của vòng lặp. Cấu trúc của hàm fi gồm hàm mở rộng (function extention) E, tám phép biến đổi được gọi là các Hộp-S (S-box) S1, S2, S3, S4, S5, S6, S7,S8 và phép hoán vị theo bít P. Đối số của hàm fi là véc-tơ Ri-1 và véc-tơ khoá Ki. Hàm mở rộng E mở rộng Ri-1 thành đoạn E(Ri-1) có độ dài lớn hơn theo một Quy tắc cho trước (chẳng hạn trong trong tiêu chuẩn mã hóa dữ liệu DES, Ri-1 có độ dài 32 bít được mở rộng thành 48 bít). Tiếp đó, E(Ri-1) được cộng theo modulo 2 với khoá Ki cho kết quả là E(Ri- 1)  Ki. Khối kết quả này tiếp theo sẽ được biến đổi qua các Hộp-S tương ứng là Si. Đầu ra sau Si được biến đổi qua phép hoán vị theo bít P. Đầu ra cuối cùng của toàn bộ quá trình trên là fi(Ri-1, Ki). Các tham số của mã khối Độ dài khối n: để một hệ mã khối là an toàn, độ dài khối n phải đủ lớn để ngăn cản các tấn công phân tích thống kê, tức là không cho đối phương thu được thông tin có ích nào về khối rõ thường xuất hiện nhiều hơn các khối rõ khác. Ngoài ra, độ dài khối n cũng phải được chọn sao cho số các cặp rõ/mã mà đối phương có thể thu nhận được trong thực tế phải nhỏ hơn rất nhiều so với 2n . Độ dài khóa k và cỡ khóa đúng kt : để hệ mã khối an toàn chống lại tấn công vét cạn khóa, cỡ khóa đúng cần phải đủ lớn sao cho 1 2 tk  phép mã hóa cần cho tấn công này là vượt xa khả năng của thám mã. Mặt khác, độ dài khóa k cũng cần nhỏ ở mức nào đó sao cho việc tạo, phân phối và lưu trữ khóa có thể thực hiện được hiệu quả và an toàn. Chẳng hạn, DES có độ dài khóa là 64 bít, còn cỡ khóa đúng là 56 bit. Tấn công vét cạn khóa là không thể nhưng cũng
  • 26. 17 không quá xa vời. Nhiều gợi ý muốn tăng cỡ khóa đúng của DES. Chẳng hạn, mở rộng cỡ khóa đúng của DES tới 128 bit bằng phép mã bội ba dùng hai khóa xem là một cách thức chuẩn để sử dụng DES Phân loại mã khối Như chúng ta đã biết, mã khối là một hệ mã thực hiện quá trình mã hóa thông tin trên các khối dữ liệu có độ dài cố định n. Để thực hiện được điều này thì dữ liệu đầu vào phải được chia ra thành các khối có độ dài n-bit. Trong thực tế thì các tệp cũng như các dữ liệu điện tử khác có độ dài không phải là bội số của n cho nên phải sử dụng các phương pháp bổ sung độ dài cho khối mã cuối cùng. Phần lớn các hệ mã khối được xây dựng trên cơ sở hai mạng, đó là mạng Feistel (Feistel Network) và mạng SP (Subtitution - Permutation Network) [3]. Mạng Feistel: Hình 1.3: Mạng Feistel Trong sơ đồ này đầu vào X chia ra làm hai phần bằng nhau 0 0( , )L R , một hàm F bao gồm các khóa con 0 1, ,..., nK K K được đưa các vòng tương ứng 0,1,...i n . Ở mỗi vòng 0,1,...i n tính toán:
  • 27. 18 1 1 ( , ) i i i i i i L R R L F R K      Khi đó bản mã là 1 1( , )n nR L  . Giải mã một bản mã 1 1( , )n nR L  được thực hiện theo vòng , 1,...,0i n n  được tính toán: 1 1 1( , ) i i i i i i R L L R F L K       Sau đó được bản rõ 0 0( , )L R Ưu điểm quan trọng của sơ đồ trên là tính đối xứng đối với 2 quá trình mã hóa và giải mã. Độ an toàn của hệ mật phụ thuộc hoàn toàn vào độ an toàn của hàm F. Mạng SP: Trong mạng SP (Subtitution-Permutation Network), các phép biển đổi được thực hiện trên toàn bộ khối rõ đầu vào mà không phải chia ra làm hai phần như trong mạng Feistel nói trên. Thuật toán điển hình thiết kế theo mạng SP là thuật toán AES (Advanced Encryption Standard). Hình 1.4: Mạng SP với 3 vòng mã hóa/giải mã khối 16 bit
  • 28. 19 Có một khối bản rõ và khóa đầu vào, sử dụng xen kẽ một số “vòng” hoặc “lớp” của hộp thay thế S và hoán vị P để tạo ra khối mã. Hộp S và P chuyển đổi các bit đầu vào thành các bit đầu ra. Nó thực hiện các biến đổi như phép XOR hoặc cộng từng bit. S-hộp là hộp thay thế một khối nhỏ của các bit (đầu vào) bởi một khối bit (đầu ra). Sự thay thế này là thay thế đơn để đảm bảo tính duy nhất. Nó có thuộc tính khi thay đổi các bit đầu vào sẽ làm thay đổi các bit đầu ra, do đó các bit đầu ra phụ thuộc vào các bit đầu vào. P-hộp là một hộp hoán vị thay thế của tất cả các bit. Nó cho kết quả đầu ra là các bit trong S-hộp từ vòng 1 và đưa vào S-hộp cho các vòng tiếp theo. Trong cả 2 dạng trên của các hệ mật, biến đổi iF trong từng vòng ' ': , 1...i n m nF V V V i r   có thể chia ra làm ba lớp (Hình 1.5): Lớp cộng với khóa ( )i iK L K , Lớp thế với S-hộp , 1...iS i k và lớp khuếch tán. Hình 1.5: Sơ đồ một vòng mã hóa Các chế độ hoạt động của mã khối Có bốn (04) chế độ hoạt động cơ bản của mã khối: Chế độ sách mã điện tử (ECB), chế độ liên kết khối mã (CBC), chế độ phản hồi mã (CFB) và chế độ phản hồi đầu ra (OFB). Chế độ ECB tương ứng với cách dùng thông thường của mã khối: với một dãy các khối bản rõ cho trước 1 2, ,...x x (mỗi khối có 64 bit), mỗi ix sẽ được mã hóa bằng cùng một khóa K để tạo thành một dãy các khối bản mã 1 2, ,...y y theo quy tắc  , 1i K iy E x i  .
  • 29. 20 Trong chế độ CBC, ta bắt đầu với 0 IVy  (là một vector khởi tạo 64 bit) và một dãy các khối bản rõ cho trước 1 2, ,...x x (mỗi khối có 64 bit), mỗi ix sẽ được mã hóa bằng cùng một khóa K để tạo thành một dãy các khối bản mã 1 2, ,...y y theo quy tắc  1 , 1i K i iy E y x i   . Trong chế độ CFB, ta cũng bắt đầu với 0 IVy  (là một vector khởi tạo 64 bit) và tạo phần tử iz của dòng khóa bằng cách mã hóa khối bản mã trước đó. Tức là  1 , 1i K iz E y i  và dòng khóa được tạo ra sẽ được cộng modulo 2 với bản rõ (tức là nó hoạt động như một hệ mã dòng: , 1i i iy x z i   ). Chế độ OFB thực sự là một hệ mã dòng đồng bộ: dòng khóa được tạo bởi việc mã lặp vector khởi tạo 64 bit (IV). Ta xác định 0 IVz  và sinh dòng khóa 1 2, ,...z z theo quy tắc  1 , 1i K iz E z i  . Dãy bản rõ 1 2, ,...x x sau đó sẽ được mã hóa bằng cách tính , 1i i iy x z i   . Cũng còn một số biến thể của OFB và CFB được gọi là các chế độ phản hồi k- bit  1 64k  . Các chế độ phản hồi 1-bit và 8-bit thường được dùng trong thực tế cho phép mã hóa đồng thời 1-bit (hoặc byte) số liệu. Bốn chế độ hoạt động nêu trên có những ưu, nhược điểm khác nhau. Ở chế độ ECB và OFB, sự thay đổi của một khối bản rõ ix sẽ làm thay đổi khối bản mã iy tương ứng, nhưng các khối bản mã khác không bị ảnh hưởng. Trong một số tình huống, đây là một tính chất đáng mong muốn. Ví dụ, chế độ OFB thường được dùng để mã khi truyền vệ tinh. Mặt khác ở các chế độ CBC và CFB, nếu một khối bản rõ ix bị thay đổi thì khối bản mã iy và tất cả các khối bản mã tiếp theo sẽ bị ảnh hưởng. Như vậy các chế độ CBC và CFB có thể được sử dụng rất hiệu quả cho mục đích xác thực. Đặc biệt hơn, các chế độ này có thể được dùng để tạo mã xác thực thông báo (MAC - message authentication code). Ví dụ, sử dụng chế độ CBC để tạo ra một MAC. Ta bắt đầu bằng vector khởi tạo IV chứa toàn số 0. Sau đó dùng chế độ CBC để tạo các khối bản mã 1 2, ,..., ny y y theo khóa K. Cuối cùng ta xác định MAC là ny . Người gửi sẽ phát đi dãy các khối bản rõ 1 2, ,..., nx x x cùng với MAC. Khi người nhận thu được 1 2, ,..., nx x x anh ta sẽ khôi phục lại 1 2, ,..., ny y y bằng khóa K bí mật và xác minh xem liệu 1 2, ,..., ny y y có giống với MAC mà mình đã thu được hay không?.
  • 30. 21 Nhận thấy, đối phương không thể tạo ra một MAC hợp lệ do anh ta không biết khóa K mà người gửi và người nhận đang dùng. Hơn nữa, đối phương thu chặn được dãy khối bản rõ 1 2, ,..., nx x x và thay đổi ít nhiều nội dung thì chắc chắn đối phương cũng không thể thay đổi MAC để được người nhận chấp nhận. 1.3.2. Chữ ký số Trong giao dịch giấy tờ truyền thống chữ ký tay là phương tiện để xác thực nguồn gốc và nội dung của văn bản. Chữ ký tay còn có khả năng chống chối bỏ, nghĩa là người gửi sau khi đã ký vào văn bản thì không thể chối bỏ chữ ký của mình và văn bản sau khi được ký thì không thể thay đổi được nội dung. Đối với văn bản điện tử chữ ký tay không còn đảm bảo được các tính năng nói trên, vì vậy chữ ký số điện tử (gọi tắt là chữ ký số) được sử dụng để thay thế vai trò của chữ ký tay. Chữ ký số được biểu diễn dưới dạng một chuỗi số nhị phân. Nó được tạo ra trên cơ sở sử dụngtập hợp các quy tắc và tập hợp các tham số để xác định danh tính người gửi (người ký) cũng như kiểm tra tính toàn vẹn của dữ liệu. Phương tiện cơ bản để thực hiện chữ ký số là kỹ thuật mật mã. Mỗi chữ ký số được thể hiện trên một lược đồ xác định gọi là lược đồ chữ ký số. Lược đồ này bao gồm ba thành tố: thuật toán chữ ký số, thuật toán hàm băm và thuật toán tạo số giả ngẫu nhiên. Thuật toán chữ ký số gồm thuật toán ký và thuật toán kiểm tra. Người gửi sử dụng thuật toán ký và khóa bí mật để tạo ra chữ ký số, người nhận (người kiểm tra) sử dụng thuật toán kiểm tra và khóa công khai tương ứng để kiểm tra đồng thời tính chân thực của thông điệp dữ liệu và tính chân thực của chữ ký số do người gửi tạo ra. Mỗi người sở hữu một cặp khóa bao gồm khoá công khai (giả thiết là được công bố một cách công khai) và khoá bí mật (được giữ bí mật tuyệt đối). Bất kỳ ai cũng có thể kiểm tra chữ ký số của một người nào đó bằng cách sử dụng khóa công khai của người này. Quá trình tạo chữ ký số chỉ có thể được thực hiện bởi người sở hữu khoá bí mật. Thuật toán hàm băm là biến đổi toán học dùng để thu gọn văn bản ban đầu (còn gọi là thông điệp dữ liệu) nhằm tạo ra bản tóm lược của thông điệp. Bản tóm lược này sẽ là đầu vào của thuật toán tạo chữ ký số. Chữ ký số được đính kèm với thông điệp dữ liệu đã được ký. Trong quá trình kiểm tra chữ ký số, thuật toán hàm băm cũng được áp dụng như trong quá trình tạo chữ ký. Thuật toán tạo số giả ngẫu nhiên dùng để tạo ra các số giả ngẫu nhiên (độc lập, đồng xác suất) làm tham số trong lược đồ chữ ký số (xem Hình 1.6).
  • 31. 22 Hình 1.6: Mô tả quá trình tạo và kiểm tra chữ ký số [3] Mô hình toán học của lược đồ chữ ký số Một lược đồ chữ ký số là bộ 5 ( )R, A, K, S, V , trong đó: 1. R là tập hữu hạn các thông báo có thể. 2. A là tập hữu hạn các chữ ký số có thể. 3. K không gian khóa là tập hữu hạn các khóa có thể. 4. Với mỗi khóa K K , tồn tại một thuật toán ký KSig S và một thuật toán kiểm tra chữ ký KVer V . Mỗi thuật toán ký :KSig R A và thuật toán kiểm tra chữ ký :KVer  R A {đúng, sai} là những hàm thỏa mãn điều kiện dưới đây: ( , )KVer x y     đúng, nếu ( )Ky Sig x sai, nếu ( )Ky Sig x với mọi thông báo xR và mọi chữ ký y A . Với mỗi khóa K K , các hàm KSig và KVer là các hàm thời gian đa thức. KVer sẽ là hàm công khai còn KSig là hàm bí mật. Hàm KSig là khó tính được nếu không biết khóa bí mật K , điều này đảm bảo cho tính bí mật của chữ ký và Tạo chữ ký Kiểm tra chữ ký Thông điệp Thuật toán băm an toàn Bản tóm lược Tạo chữ ký số Khoá bí mật Chữ ký số Thông điệp nhận được Thuật toán băm an toàn Bản tóm lược Kiểm tra chữ ký số Chữ ký số Khoá công khai Chữ ký hợp lệ hoặc Chữ ký không hợp lệ
  • 32. 23 chống việc giả mạo chữ ký. Nghĩa là cho trước thông báo x, chỉ có người có khóa bí mật K mới có thể tính được chữ ký y để ( , )KVer x y đúng . Khuôn dạng ký số CMS/PKCS#7 CMS viết tắt của Cryptographic Message Syntax (Cú pháp mã hóa thông điệp). Cú pháp này được sử dụng để ký số, tóm lược, xác thực mã hóa nội dung của một thông điệp bất kỳ. CMS mô tả một cú pháp đóng gói để bảo vệ dữ liệu. Nó hỗ trợ mã hóa và ký số dữ liệu. Cú pháp này cho phép đóng gói nhiều lần; một vỏ bọc gói có thể được lồng trong gói khác. Tương tự như vậy, một bên có thể ký số lên dữ liệu đã được đóng gói trước đó. Nó cũng cho phép các thuộc tính bất kỳ, ví dụ thời gian ký (signing time), được ký cùng với nội dung thông điệp, và cung cấp cho các thuộc tính như countersignatures được liên kết với một chữ ký. Các giá trị CMS được tạo ra sử dụng ASN.1, BER-ENCODING. Các giá trị thông thường được biểu diễn dưới dạng các chuỗi octet. Trong khi nhiều hệ thống có khả năng truyền nhận các chuỗi octet bất kỳ, trong đó có một số hệ thống thư điện tử. CMS được xây dựng dựa trên PKCS#7 phiên bản 1.5. CMS có sự tương thích với PKCS#7, tuy nhiên cần thiết có một số thay đổi để phù hợp với thuộc tính chuyển đổi chứng thư số, các kỹ thuật thỏa thuận khóa và khóa mã hóa đối xứng để quản lý khóa. CMS sử dụng các yếu tố mật mã để mã hóa và ký số dữ liệu. CMS sử dụng một kiểu định dạng và giá trí cơ bản như hình bên dưới. Content Type Content CMS định nghĩa sáu kiểu cơ bản để mô tả dạng của mã hóa nâng cao được áp dụng cho các dữ liệu số, các hình dưới chỉ ra cú pháp cơ bản của chúng. Sáu kiểu đó là [15]: - Data: Sử dụng để tham chiếu tới chuỗi octet bất kỳ (ví dụ ASCII) và thường được đóng gói trong một kiểu khác - Signed Data: Sử dụng để ký nội dung, có thể có nhiều hơn một người ký - Enveloped Data: Chứa nội dung được mã hóa với một khóa giải mã cho mỗi người nhận (khóa này được mã hóa)
  • 33. 24 - Digested Data: Kiểu này chứa nội dung và một tóm lược thông điệp của nội dung để cung cấp tính toàn vẹn của nội dung - Encrypted Data: Đây chỉ là dữ liệu được mã hóa. Một phương thức cho quản lý khóa bắt buộc phải được sử dụng. CMS không định nghĩa bất kỳ phương thức quản lý khóa cụ thể nào. - Authenticated Data: Kiểu này bao gồm các nội dung, mã xác thực thông điệp (MAC), và các khóa xác thực được mã hóa cho một hoặc nhiều người nhận.
  • 34. 25 Chương 2: NGHIÊN CỨU HỆ THỐNG THƯ ĐIỆN TỬ ZIMBRA, GIẢI PHÁP KÝ SỐ, MÃ HÓA THƯ ĐIỆN TỬ 2.1. Kiến trúc hệ thống thư điện tử mã nguồn mở Zimbra Zimbra là ứng dụng thư điện tử nguồn mở cung cấp một giải pháp, một hệ thống hoàn chỉnh để triển khai dịch vụ email (cả server và client) và môi trường chia sẻ cộng tác phục vụ cho quản lý và công việc. Kiến trúc hệ thống thư điện tử nguồn mở Zimbra bao gồm những lõi sau [16]: - Các mã nguồn mở tích hợp trong Zimbra: Linux®, Apache Tomcat, Postfix, MySQL®, OpenLDAP®. - Giao thức chuẩn được sử dụng là: SMTP, LMTP, SOAP, XML, IMAP, POP. - Công nghệ được sử dụng để thiết kế là: Java, JavaScript thin client, DHTML. - Trình duyệt dựa trên giao diện giao diện khách hàng, giao diện này cho phép người dùng dễ dàng truy cập vào tất cả các chức năng của Zimbra Collaboration Suite (ZCS). Kiến trúc Zimbra bao gồm mã nguồn mở tích hợp, sử dụng các giao thức chuẩn. Các phần mềm liệt kê dưới đây được đóng gói, thử nghiệm và cấu hình làm việc tốt với Zimbra [16]: - Jetty ứng dụng máy chủ web chạy phần mềm zimbra. - Postfix một nguồn mở chuyển giao các agent. - OpenLDAP phần mềm nguồn mở xác thực người dùng (LDAP: Lightweight Directory Access Protocol). - Phần mềm cơ sở dữ liệu MySQL. - Lucence với đầy đủ tính năng và công cụ tìm kiếm. - Verity dùng để chuyển đổi các tin đính kèm nhất định. - Anti-virus các thành phần chống thư rác. - clamAV phần mềm quét chống virus để bảo vệ chống các tập tin độc hại. - SpamAssassinxác định thư rác. - James/Sieve filtering: Sử dụng để tạo các bộ lọc cho thư điện tử. Hình 2.1 cho thấy kiến trúc hệ thống Zimbra:
  • 35. 26 Hình 2.1: Kiến trúc hệ thống Zimbra [16] - Zimbra Core: Gói này bao gồm các thư viện, tiện ích, công cụ giám sát và cấu hình cơ bản các tập tin. - Zimbra Convertd: Được cài đặt trên máy chủ Zimbra. - Zimbra LDAP: Xác thực người dùng được cung cấp qua OpenLDAP. Mỗi tài khoản trên máy chủ Zimbra có một ID hộp thư duy nhất để xác định tài khoản. - Zimbra MTA (Mail Transfer Agent): Postfix là nguồn mở để chuyển, nhận thư thông qua SMTP và định tuyến mỗi tin nhắn đến hộp thư máy chủ. - Zimbra Store (Zimbra server):  Bao gồm các gói phần mềm lưu trữ trong Zimbra giúp cho việc cài đặt hộp thư máy chủ.
  • 36. 27  Mỗi tài khoản được cấu hình trên một hộp thư máy chủ, tài khoản này được liên kết với hộp thư có chứa tin nhắn và các tệp đính kèm.  Các hộp thư máy chủ bao gồm các thành phần sau:  Lưu trữ dữ liệu.  Lưu trữ thông báo.  Lưu trữ các chỉ số.  Tiện ích chuyển đổi tệp đính kèm HTML.  Tệp đính kèm được chuyển sang định dạng HTML khi người dùng click vào chức năng xem dạng HTML trên web Zimbra. - Data store: MySQL được dùng để lưu trữ dữ liệu, các ID hộp thư nội bộ được liên kết với tài khoản người dùng. Cơ sở dữ liệu này chứa các thiết lập của người dùng định nghĩa, các thư mục, lập lịch, địa chỉ liên lạc, tình trạng mỗi email (đọc hay chưa đọc), các thẻ liên quan đến tin nhắn. - Message store: Đây là nơi lưu trữ tất cả các thông báo của hộp thư, và các tệp đính kèm. Tin nhắn được lưu trữ theo định dạng MIME (MIME: Multipurpose Internet Mail Extensions là một chuẩn Internet về định dạng cho thư điện tử). Mỗi tin nhắn đó được gửi tới nhiều người nhận có tài khoản trên một hộp thư máy chủ được lưu trữ trong hệ thống tập tin. - Index store: Chỉ số và công nghệ tìm kiêm được cung cấp qua Lucene (Lucenelà thư viện Java mã mở nổi tiếng giúp xây dựng một công cụ tìm kiếm). Chỉ số các tập tin được duy trì cho mỗi hộp thư. - Zimbra Logger: Cài đặt gói Zimbra Logger là tùy chọn và được cài đặt trên hộp thư máy chủ. Các Zimbra Logger được cài đặt làm công cụ tập hợp, báo cáo syslog. Nếu hệ thống không cài Logger thì số liệu thông kê log sẽ không hiển thị trên giao diện điều khiển. - Zimbra Spell: Đây là gói cài đặt để kiểm tra chính tả trên web Zimbra. - Zimbra Proxy: Sử dụng IMAP proxy cho phép thu hồi thư cho một miền được phân chia giữa nhiều máy chủ Zimbra cho mỗi người dùng. Zimbra MTA: Zimbra MTA (Mail Transfer Agent) là một dịch vụ nhận mail thông qua giao thức SMTP sử dụng giao thức LMTP (Local Mail Transfer Protocol) cho phù hợp với mail server Zimbra.
  • 37. 28 - Các máy chủ Zimbra MTA bao gồm các chương trình sau:  Postfix MTA cho thư định tuyến, chuyển tiếp thư, và đính kèm tệp.  Antivirus: một công cụ chống virus được sử dụng để quét email, tin nhắn và tệp đính kèm trong thư điện tử.  SpamAssassin: một bộ lọc thư rác. Triển khai Zimbra MTA - Tổ chức Zimbra bao gồm một phiên bản dịch sẵn của Postfix. - Postfix thực hiện việc chuyển tiếp mail Zimbra, nó nhận được tin nhắn thông qua SMTP và các thông điệp từ máy chủ Zimbra. - Postfix cũng đóng vai trò trong việc chuyển giao các thông điệp gửi đi. Hình 2.2: Postfix trong môi trường Zimbra [16] Tiếp nhận và gửi thư thông qua Zimbra MTA - Các MTA Zimbra cung cấp cả đầu vào và thông điệp gửi đi. Đối với thư gửi đi các MTA Zimbra xác địa chỉ định đích đến của người nhận. Nếu đích đến là một máy chủ mail từ xa thì MTA Zimbra phải thiết lập một phương thức truyền thông để truyền thông điệp đến máy chủ đó. Đối với tin nhắn gửi đến các MTA phải có khả năng chấp nhận kết nối các yêu cầu từ máy chủ ở xa và nhận tin nhắn cho mạng nội bộ sử dụng. - Để gửi và nhận email các MTA Zimbra phải được cấu hình trong DNS. Đối với thư gửi đi sử dụng DNS để định tuyến email. Để nhận
  • 38. 29 được email thì bản ghi MX phải được cấu hình định tuyến đúng để thư đến được máy cài mail server. - Hàng đợi tin nhắn trong Zimbra MTA:  Khi nhận được nhiều mail Zimbra MTA có các cơ chế định tuyến để quản lý hàng đợi tin nhắn  Trong Zimbra MTA duy trùy 4 hàng đợi: Incoming, active, deferred, hold Hình 2.3: Hàng đợi tin nhắn trong Zimbra MTA [16] - Incoming: Khi các thư, tin nhắn mới được gửi đến sẽ được xếp vào hàng đợi. Mỗi tin nhắn được xác định với một tệp tin duy nhất. Thông điệp trong hàng đợi sẽ được chuyển đến nơi mà các thư đang xếp hàng. Nếu không có vấn đề gì xảy ra thì việc di chuyển tin nhắn thông qua các hàng đợi này sẽ được diễn ra một cách nhanh chóng. - Active: Các hàng đợi thư được kích hoạt để sẵn sàng gửi đi.MTA đưa ra một số lượng giới hạn các tin nhắn được xếp vào hàng đợi tại một thời điểm. Từ đây các tin nhắn sẽ được chuyển đến hệ thống chống virus và lọc thư rác trước khi được giao hoặc chuyển đến hàng đợi khác. - Deferred: Đây là các tin nhắn không được giao đi và được đặt trong hàng đợi chậm (chờ). Hàng đợi này sẽ được quét thường xuyên để gửi lại tin nhắn. Nếu tin nhắn không thể gửi lại sau một số lần nhất định thì tin nhắn đó sẽ được đánh dấu gửi không thành công. Mặc định cho các
  • 39. 30 hàng đợi trả lại là 5 ngày, bạn cũng có thể thay đổi giá trị mặc định này trong MTA. - Hold: Đây là hàng đợi lưu giữ các mail mà có thể không được xử lý. Các mail ở trong hàng đợi này cho đến khi người quản trị xử lý đến. 2.2. Giải pháp ký số, mã hóa thư điện tử Hệ thống thư điện tử làm việc theo nguyên tắc lưu và chuyển. Người dùng giao tiếp với hệ thư thông qua giao diện tại Mail Client. Thư được tạo ra tại mail Client và được chuyển sang Mail Server mà Mail client kết nối tới. Sau đó sẽ được chuyển qua một hoặc nhiều Mail Server. Trong quá trình chuyển giao đến đích thư điện tử có thể được lưu giữ tại một số Mail Server. Do vậy khả năng thư điện tử bị tấn công là rất cao. Hệ thống thư điện tử mật phải đảm bảo được các yêu cầu sau: 1. Phải đảm bảo được an toàn thông tin về tài khoản khi kết nối đến server. Điều này giúp cho thông tin về người dùng được gửi đi an toàn trong quá trình đăng nhập, kiểm soát chặt chẽ và xác thực người dùng trong hệ thống. 2. Các thông điệp gửi và nhận giữa các user phải được mã hóa để đảm bảo an toàn dữ liệu trên đường truyền. 3. Phải xác thực được nội dung các thông điệp và xác thực được người gửi. Yêu cầu này đưa ra nhằm đảm bảo tính toàn vẹn của dữ liệu chống giả mạo dữ liệu và chống chối bỏ. 4. Các thao tác khi ứng dụng hệ thống bảo mật vào dịch vụ thư điện tử phải đơn giản với người dùng. Hệ thống thư điện tử Zimbra cung cấp một hệ thống hoàn chỉnh để triển khai dịch vụ email (cả server và client) và môi trường chia sẻ công tác phục vụ cho quản lý và công việc, tuy nhiên với các chức năng nghiệp vụ chuyên biệt như ký số, mã hóa, giải mã, xác thực nội dung thư thì Zimbra chưa cung cấp. Vì vậy, em đề xuất xây dựng giải pháp bảo mật thư điện tử sử dụng hạ tầng khóa công khai (PKI). Giải pháp bao gồm việc phát triển hai ứng dụng bảo mật thư điện tử trên công nghệ mở: - Xây dựng và tích hợp ứng dụng bảo mật thư dựa trên Zimlet và tích hợp với ứng dụng thư Zimbra (xây dựng trên nền tảngWeb). - Ứng dụng bảo mật thư điện tử trên nền tảng Destop.
  • 40. 31 2.2.1. Giải pháp ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư điện tử trên nền tảng Web Hệ thống thư điện tử Zimbra cung cấp Zimbra web client với giao diện người dùng trên nền web và làm việc trực tuyến (online). Mọi thông tin sẽ lưu trên máy chủ Zimbra. Để theo dõi nhận dạng người gửi và đảm bảo tính bí mật, xác thực và toàn vẹn nội dung thư sau khi họ gửi, hệ thống cần cung cấp cho người dùng khả năng để ký số, mã hóa nội dung thư được gửi đi. Ký số chỉ được thực hiện trên máy client Ký số yêu cầu truy cập vào khóa bí mật của người ký. Bởi vì khóa bí mật của mỗi người chỉ có thể truy cập bởi chính người đó, do đó việc ký số diễn ra trên máy tính của người ký. Nếu không người ký sẽ phải gửi khóa bí mật của mình đến máy chủ, điều này đặt ra mối đe dọa an ninh - khóa bí mật có thể bị đánh cắp trên đường truyền. Ký số các tài liệu trên máy tính của người sử dụng trong các ứng dụng web không phải là một nhiệm vụ dễ dàng, bởi vì khách hàng sử dụng trình duyệt web chuẩn - mà không có tích hợpchức năng cho ký số. Một số cách tiếp cận vấn đề này bao gồm: - Sử dụng công cụ ký số ngoài Một cách tiếp cận đó là người sử dụng cài đặt trên máy tính của họ một số loại phần mềm thiết kế đặc biệt, nhưng điều này lại có một số khó khăn. Một là phần mềm ký số phải có các phiên bản riêng biệt hỗ trợ cho các hệ điều hành khác nhau. Ngoài ra, việc hỗ trợ cho các phần mềm như vậy là phức tạp, bởi vì bất kỳ sự thay đổi trong đó sẽ buộc người dùng phải tải về và cài đặt phiên bản mới. Tích hợp với nền tảng web của hệ thống là một nhiệm vụ khó khăn, và nếu phần mềm không được tích hợp tốt, sử dụng của nó có thể gây phiền hà cho người sử dụng. Ngoài ra còn có một khả năng mà người sử dụng từ chối cài đặt phần mềm trên máy tính của họ vì lý do an ninh, hoặc có thể họ không sử dụng máy tính riêng của họ, do đó họ có thể bị ngăn cấm quyền để cài đặt phần mềm. - Sử dụng ngôn ngữ kịch bản phía máy trạm Có thể sử dụng ngôn ngữ kịch bản JavaScrip hoặc một số công nghệ kịch bản phía máy trạm khác, chẳng hạn như ActiveX, Macromedia Flash, .NET Windows Forms Controls, hoặc Java applet. JavaScript: Vấn đề với ngôn ngữ JavaScript là nó không hỗ trợ các hàm vào ra chuẩn cần thiết để làm việc với chữ ký số và chứng thư số. Bên cạnh đó nó không thể truy cập vào các chứng thư số được cài đặt vào trình duyệt web của người dùng, nó cũng không truy cập được vào các kho khóa được bảo vệ
  • 41. 32 bên ngoài. JavaScript cũng không thể truy cập vào hệ thống tập tin cục bộ và do đó không thể đọc được các tập tin cần ký. Macromedia Flash: Macromedia Flash cũng không hỗ trợ chữ ký số và chứng thư số, và nó không thể truy cập vào hệ thống tập tin cục bộ và do đó cũng không thể đọc được các tập tin cần ký. ActiveX: điều khiển ActiveX cung cấp một giải pháp về chữ ký số, nhưng ActiveX chỉ hoạt động với trình duyệt Internet Explorer trên hệ điều hành Windows. Điều này hạn chế người dùng phải sử dụng hệ điều hành Windows và trình duyệt Internet Explorer. Windows Forms Controls: cũng chỉ làm việc với Internet Explorer, và cài đặt thêm một số yêu cầu bổ sung của nền tảng .NET. Điều này gây khó khăn cho người dùng khi yêu cầu họ sử dụng trình duyệt Internet Explorer, hệ điều hành Windows, và .NET Framework để có thể ký được tài liệu trên nền tảng web. Java Applet: Java Applet có thể tương thích với tất cả các trình duyệt và trên tất cả các hệ điều hành. Java Applet cũng có khó khăn mà mặc định không có quyền truy cập vào hệ thống tập tin cục bộ, nhưng hạn chế này có thể được khắc phục bằng cách sử dụng các java applet đã được ký số. Mô hình tổng quan giải pháp ký số, xác thực, mã hóa, và giải mã nội dung thư điện tử trên nền tảng web Hình 2.4: Mô hình ký số, mã hóa, xác thực chữ ký, giải mã nội dung thư trên nền tảng Web Người gửi sau khi soạn thảo nội dung thư điện tử trên Webform có thể ký số, mã hóa nội dung thư và gửi lên Mail Server. Người nhận sẽ tải dữ liệu đã ký số, mã hóa lên Webform trên máy tính của mình và tiến hành xác thực chữ ký số, giải mã nội dung thư. Ứng dụng applet ký tài liệu phải có một số phương tiện, mà theo đó để gửi chữ ký số tới máy chủ. Điều này có thể được thực hiện bằng nhiều cách - Các applet sẽ mở ra một socket để gửi chữ ký, hoặc nó sẽ gửi
  • 42. 33 thông tin của một yêu cầu truy cập vào một địa chỉ URL của máy chủ, hoặc giao tiếp với các trình duyệt và gửi thông tin cho server. Cách tiếp cận cuối cùng là thuận tiện nhất, vì nó đòi hỏi ít lập trình nhất để gửi và nhận tập tin đã được ký. Ứng dụng applet em đề xuất sử dụng giao tiếp với các trình duyệt, trong trường hợp này máy chủ nhận được nội dung cùng với chữ ký của nội dung trong một yêu cầu trình duyệt web duy nhất, không cần thiết cho bất kỳ hành động nào khác. Giao tiếp giữa Applet và trình duyệt web Chúng ta có một trang HTML thông thường được sử dụng để gửi thư điện tử không có chức năng ký số, mã hóa. Nếu chúng ta muốn mở rộng hình thức này để nó hỗ trợ ký số, mã hóa đơn giản là chúng ta tích hợp một java-applet in trên đó. Trong trường hợp này applet sẽ thực hiện thực hiện ký số, mã hóa và đưa chữ ký số vào một số trường của trang HTML. Khi thực thi trang HTML, trình duyệt web sẽ gửi chữ ký cùng với nội dung thư, vì vậy không cần thiết thiết lập bất kỳ kênh liên lạc nào giữa máy chủ và applet. Hình 2.5 mô tả các chức năng của ứng dụng ký số, xác thực, mã hóa, giải mã sử dụng applet. Hình 2.5: Sơ đồ chức năng ứng dụng ký số, mã hóa applet Xử lý dữ liệu web form Người gửi sử dụng Mail Client là trình duyệt web để soạn thảo nội dung thư. Từ các dữ liệu trên trình duyệt Web chương trình sử dụng các hàm trong applet gọi và sử dụng các thư viện JavaScript để lấy nội dung thư để xử lý tạo dữ liệu cần ký số, xác thực chữ ký, mã hóa và giải mã. Ký số, xác thực nội dung thư Chức năng này lấy dữ liệu trên Webform và đưa vào trong applet để ký số và xác thực nội dung thư trên Webform.
  • 43. 34 Mã hóa, giải mã nội dung thư Chức năng này lấy dữ liệu trên Webform và đưa vào trong applet mã hóa, giải mã nội dung thư trên Webform 2.2.2. Giải pháp ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng Desktop Giải pháp đưa ra là thực hiện ký số, mã hóa, xác thực, giải mã nội dung dữ liệu trên bộ đệm của máy tính. Hình 2.6: Mô hình ký số, mã hóa, xác thực, giải mã clipboard trên nền tảng Desktop Khi người dùng thực hiện thao tác Copy trên trình soạn thảo, dữ liệu được lưu trữ trên bộ nhớ tạm Clipboard. Ứng dụng thực hiện ký số, mã hóa, xác thực, giải mã nội dung bản rõ trên Clipboard này, dữ liệu sau khi đóng gói lại được lưu trữ lại vào bộ nhớ tạm Clipboard để người dùng có thể dán vào nội dung thư cần gửi đi.
  • 44. 35 2.3. Phân tích thiết kế và xây dựng ứng dụng ký số, mã hóa thư điện tử 2.3.1. Ký số, mã hóa, xác thực, giải mã nội dung thư điện tử trên nền tảng Web Lược đồ Ký số – Mã hóa nội dung thư điện tử Hình 2.7: Lược đồ Ký số - Mã hóa nội dung thư điện tử
  • 45. 36 Quá trình ký số, mã hóa nội dung thư điện tử là kết hợp của hai quá trình, quá trình ký số lên dữ liệu sau đó mã hóa dữ liệu đã được ký [5]. Trong sơ đồ trên, sử dụng phương pháp đóng gói chữ ký vào dữ liệu ký do vậy, dữ liệu cần ký cũng được ghép vào với khuôn dạng chữ ký đầu ra, dữ liệu cần ký được băm thông qua một hàm băm (SHA-1 hoặc SHA-2), dữ liệu băm được ký bởi khóa bí mật của người ký, khóa bí mật được lưu trong thiết bị USB lưu khóa, ID của chứng thư số người ký cũng được ghép với chữ ký đầu ra. Để thuận tiện cho người xác thực dữ liệu, chứng thư số của người ký cũng được ghép với chữ ký đầu ra để người xác thực không phải tìm kiếm chứng thư số của người ký để xác thực chữ ký. Khuôn dạng chữ ký đầu ra gồm các thông tin chính sau: - Dữ liệu ký. - Tên hàm băm được sử dụng. - Chữ ký số. - Chứng thư số người ký. - ID người ký. Sau quá trình ký số, dữ liệu rõ được mã hóa bằng thuật toán mã hóa đối xứng, tên thuật toán mã hóa đối xứng được đưa vào khuôn dạng dữ liệu mã, mầm khóa đối xứng được mã hóa bằng khóa công khai tách từ các chứng thư số, các chứng thư số này là các chứng thư số của người nhận dữ liệu mã được lấy từ kho lưu trữ chứng thứ số chuẩn, các ID của các chứng thư số này và tên thuật toán mã khóa công khai sử dụng để mã dữ liệu cũng được đưa vào khuôn dạng dữ liệu mã. Mầm khóa đối xứng được mã và được đưa vào khuôn dạng dữ liệu mã. Khi muốn mã gửi cho nhiều người thì mỗi chứng thư số của người nhận sẽ là mầm khóa đối xứng một lần, có bao nhiêu người nhận thì sẽ có bấy nhiêu đoạn mã của mầm khóa sẽ được ghép vào dữ liệu mã đầu ra. Khuôn dạng dữ liệu mã đầu ra sẽ bao gồm các thông tin sau: - Tên thuật toán mã hóa đối xứng. - Dữ liệu mã. - Khóa đối xứng được mã. - Các ID người nhận và tên thuật toán mã hóa công khai. Quy trình ký dữ liệu cũng dựa trên các thuật toán ký chuẩn đã được thiết kế trong thư viện của java, tuy nhiên trước khi ký dữ liệu, các chứng thư số ký được kiểm tra trực tuyến sử dụng CRLs. Ngoài ra, dấu thời gian cũng được sử dụng trong quy trình này, dấu thời gian gồm có thời gian chuẩn lấy từ máy chủ
  • 46. 37 cấp dấu thời gian và chứng thư số của máy chủ cấp dấu thời gian. Dấu thời gian sau khi lấy về được kiểm tra trước khi gắn vào chữ ký. Quy trình ký được thể hiện trên Hình 2.8. Dữ liệu ký gồm: - Dữ liệu gốc. - Tên hàm băm. - Chữ ký số. - ID người ký. - Chứng thư số người ký. - Dấu thời gian. Dữ liệu cần ký Thuật toán băm Tên hàm băm Hàm băm Tóm lược (băm) của dữ liệu được ký Ký số Chữ ký số Chứng thư số người ký ID người ký Chứng thư số người ký Khóa bí mật USB lưu khóa Kho chứng thư số Kiểm tra hiệu lực Dấu thời gian Các CRLs Máy chủ dấu thời gian Các dịch vụ chứng thực Hình 2.8: Lược đồ ký số dữ liệu có dấu thời gian Mô tả mô hình ký số, mã hóa thư điện tử: Từ nội dung thư điện tử, sử dụng hàm băm SHA-256 để tạo ra bản tóm lược của email. Sau đó sử dụng khóa bí mật (lưu trữ trong thiết bị lưu khóa) của người dùng ký số nội dung bản tóm lược (sử dụng thuật toán RSA) và sử dụng các dịch chứng thực chữ ký số (nếu có) với kết quả là chữ ký số của thư điện tử được gắn kèm nội dung thư. Nếu có thực hiện mã hóa thư điện tử thì hệ thống sinh ngẫu nhiên khóa để thực hiện mã khối nội dung thư điện tử đã có ký số, khóa ngẫu nhiên này được mã hóa bằng khóa công khai của các người nhận được phép để chỉ những người này mới có thể giải mã được nội dung thư. Sau đó các thành phần gồm nội dung thư điện tử
  • 47. 38 đã được mã hóa và nội dung mật khẩu đã được mã hóa được đóng gói thành nội dung thư đã được ký số, mã hóa để người dùng gửi đi. Hình 2.9: Mô hình ký số, mã hóa thư điện tử
  • 48. 39 Lược đồ Xác thực – Giải mã nội dung thư điện tử Dữ liệu cần ký Tên hàm băm Chữ ký số Chứng thư số người ký ID người ký Chứng thư số của người nhân Khuôn dạng dữ liệu được ký ID Người nhận & thuật toán mã Khóa đối xứng được mã Thông tin của những người nhận Khóa đối xứng được mã ID Người nhận & thuật toán mã Thuật toán mã đối xứng DỮ LIỆU KÝ, MÃ Giải mã dữ liệu Giải mã khóa đối xứng Khóa đối xứng Khóa bí mật USB lưu khóa Xác thực tốt Không xác thực được Xác thực Khóa công khai người ký Kho chứng thư số Chứng thư số người kýTóm lược gốc So sánh NO Yes Hàm băm Tóm lược (băm) mới của dữ liệu được ký Hình 2.10: Lược đồ Xác thực - Giải mã nội dung thư điện tử Quá trình xác thực, giải mã dữ liệu là quá trình ngược lại và là kết hợp quả hai quá trình, quá trình giải mã dữ liệu và quá trình xác thực chữ ký. Sau khi nhận được dữ liệu mã, bên nhận tiến hành giải mã dữ liệu, tìm kiếm và sử dụng thuật toán mã hóa đối xứng giống với tên thuật toán được gửi kèm dữ liệu mã, so sánh ID của chứng thư số người nhận và ID được gửi kèm dữ liệu mã, nếu chùng thì người nhận được phép giải mã và tiến hành lấy khóa bí mật tương ứng với chứng thư số người nhận, thường được lưu trong thiết bị