- 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
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).
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 đ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ệ
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
Mail Server
Ngƣời gửi Ngƣời nhận
2. Tải ứng dụng ký số applet
1. Tƣơng tác trực tuyến
4. Tải dữ tài liệu 3. Applet băm và ký số, mã hóa email
5. Xác thực chữ ký số, giải mã email
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
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.
Ứng dụng ký số, mã hóa
Ký số và xác thực nội dung thư
Mã hóa và giải mã nội dung thư Xử lý dữ liệu web
form
Lấy dữ liệu form
Ghép nối dữ liệu tạo dữ liệu ký số, mã hóa
Ký số
Xác thực chữ ký
Mã hóa
Giải mã