Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số, thư điện tử (Email) là phương tiện giao tiếp cốt lõi trong mọi tổ chức, doanh nghiệp và cơ quan chính phủ. Theo các báo cáo an ninh mạng quốc tế, hơn 90% các cuộc tấn công mạng bắt nguồn từ các lỗ hổng liên quan đến email (phishing, spoofing, man-in-the-middle). Do giao thức truyền thư chuẩn SMTP (Simple Mail Transfer Protocol - RFC 5321) truyền tải dữ liệu dưới dạng văn bản rõ (cleartext), thư điện tử đối mặt với nhiều nguy cơ nghiêm trọng: đánh cắp thông tin, giả mạo danh tính người gửi (email spoofing) và can thiệp làm sai lệch nội dung trên đường truyền.

Đề tài "Tìm hiểu phát triển giải pháp ký số và bảo mật thư điện tử sử dụng Djigzo Gateway" (thực hiện bởi sinh viên Nguyễn Văn Toàn, chuyên ngành Công nghệ Thông tin, Đại học Bách Khoa Hà Nội) tập trung giải quyết triệt để bài toán bảo mật toàn diện cho luồng email doanh nghiệp thông qua việc kết hợp hạ tầng khóa công khai (PKI) và cổng bảo mật email mã nguồn mở Djigzo (CipherMail).

+------------------+       +-------------------+       +--------------------+
|  MUA (Client)    | ----> |  Mail Server      | ----> |  Djigzo Gateway    |
|  (Thunderbird)   |       |  (Postfix/Dovecot)|       |  (Crypto / PKI)    |
+------------------+       +-------------------+       +--------------------+
                                                                 |
                                                                 v
                                                       +--------------------+
                                                       |  Remote MTA / Net  |
                                                       +--------------------+

Problem Statement & Pain Points

  1. Lỗ hổng bảo mật nội tại của giao thức truyền thư: SMTP mặc định không có cơ chế xác thực danh tính người gửi và không mã hóa nội dung payload.
  2. Độ phức tạp trong quản lý khóa ở phía người dùng cuối: Việc triển khai mã hóa S/MIME hoặc PGP trực tiếp trên từng Mail User Agent (MUA) của người dùng thường gặp rào cản lớn về trải nghiệm, chi phí đào tạo và rủi ro mất khóa riêng (private key).
  3. Thiếu khả năng kiểm soát tập trung: Doanh nghiệp không thể áp dụng các chính sách phòng chống thất thoát dữ liệu (Data Leak Prevention - DLP) hoặc quét virus đối với các email đã bị mã hóa từ phía máy trạm nếu không có cơ chế giải mã/mã hóa trung gian tại cổng gateway.

Mục tiêu dự án

  1. Nghiên cứu lý thuyết nền tảng về hạ tầng khóa công khai PKI, chứng thư số X.509 và các chuẩn mật mã thư điện tử (S/MIME, OpenPGP, PDF Encryption).
  2. Phân tích kiến trúc hệ thống và luồng xử lý dữ liệu của Djigzo Gateway (CipherMail).
  3. Triển khai mô hình thử nghiệm hoàn chỉnh trên nền tảng CentOS 7, Postfix, Dovecot, PostgreSQL và các máy trạm Ubuntu/Thunderbird.
  4. Đánh giá tính toàn vẹn, xác thực và bí mật thông qua các kịch bản ký số, mã hóa tự động và phát hiện thư bị chỉnh sửa.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Client-Side Encryption (PGP/S/MIME plugin) Proprietary Email Gateway (Cisco IronPort, Proofpoint) Djigzo Gateway (CipherMail Open-Source)
Vị trí xử trị Trực tiếp tại máy trạm MUA Gateway mạng tập trung Gateway mạng tập trung (MTA Proxy)
Chi phí bản quyền Miễn phí hoặc license theo user Rất cao (License định kỳ) Mã nguồn mở (Tiết kiệm TCO)
Cài đặt tại Client Phức tạp (Cần import cert thủ công) Không yêu cầu Không yêu cầu (Trong suốt với user)
Khả năng quét DLP / AV Không thể quét email đã mã hóa Hỗ trợ chuyên sâu Hỗ trợ thông qua Hook/Filter nội bộ
Mã hóa dự phòng (Fallback) Không có Web portal đóng PDF Encryption có mật khẩu/SMS OTP

Phân tích yêu cầu hệ thống theo mô hình MoSCoW

  • Must have: Hỗ trợ chuẩn mã hóa S/MIME X.509 v3, ký số điện tử chống chối bỏ, tích hợp máy chủ CA nội bộ, quản trị qua Web GUI.
  • Should have: Hỗ trợ mã hóa tài liệu PDF cho người nhận không có chứng thư số, tích hợp cơ sở dữ liệu PostgreSQL để lưu trữ khóa và cert.
  • Could have: Tích hợp bộ lọc DLP kiểm tra biểu thức chính quy (Regex) và từ khóa nhạy cảm.
  • Won't have (trong giai đoạn thử nghiệm): Tích hợp phân cụm High Availability (HA) đa máy chủ và phần cứng mật mã chuyên dụng (HSM).

Thiết kế hệ thống

Kiến trúc hệ thống bảo mật thư điện tử triển khai theo mô hình chuyển tiếp lưu trữ (Store-and-Forward MTA Proxy):

graph TD
    ClientA[MUA Client A: toan1@server.lab] -->|SMTP :25| MailServer[Postfix / Dovecot Server]
    MailServer -->|SMTP Loop :10025| Djigzo[Djigzo Gateway Engine]
    Djigzo -->|Query Cert/Key| DB[(PostgreSQL Database)]
    Djigzo -->|Issue/Verify| CA[Built-in Certificate Authority]
    Djigzo -->|Signed & Encrypted Mail| RemoteMTA[Internet / Remote MTA]
    RemoteMTA -->|Encrypted Mail| ClientB[MUA Client B: toan2@server.lab]

Technology Stack và phiên bản cụ thể

  • Hệ điều hành Server: CentOS Linux release 7.9.2009 (Core) x86_64
  • Mail Transfer Agent (MTA): Postfix 3.5.8 (Chạy port 25, relay qua 10025)
  • Mail Delivery Agent (MDA) & IMAP/POP3: Dovecot 2.3.16
  • Gateway Security Engine: Djigzo Gateway (CipherMail) v4.6.2 (Nền tảng Java OpenJDK 11, Spring Framework)
  • Cơ sở dữ liệu: PostgreSQL 12.8
  • Client MUA: Mozilla Thunderbird 91.4 trên Ubuntu 19.10 / 20.04 LTS
  • Chuẩn mật mã: S/MIME RFC 5751, RSA 2048-bit, Thuật toán băm SHA-256, Mã hóa đối xứng AES-256-CBC.

Methodology

Dự án áp dụng quy trình phát triển và kiểm thử hệ thống mạng bảo mật gồm 4 giai đoạn chính kéo dài trong 12 tuần:

[Tuần 1-3: Nghiên cứu PKI & S/MIME] 
       │
       ▼
[Tuần 4-6: Thiết kế kiến trúc & Cài đặt Postfix/Dovecot/PostgreSQL]
       │
       ▼
[Tuần 7-9: Tích hợp Djigzo Gateway, Thiết lập CA & Policy Engine]
       │
       ▼
[Tuần 10-12: Kiểm thử kịch bản Ký số/Mã hóa, Tấn công Man-in-the-Middle & Đánh giá]

Ma trận đánh giá và giảm thiểu rủi ro kỹ thuật

  • Rủi ro rò rỉ Root CA Key: Sử dụng mật khẩu bảo vệ cấp độ cao (Passphrase 16 ký tự phức tạp), phân quyền nghiêm ngặt trên Linux filesystem (chmod 600).
  • Rủi ro vòng lặp chuyển tiếp email (Mail Loop): Cấu hình cổng riêng biệt giữa Postfix (port 25) và Djigzo Engine (port 10025port 10026).
  • Xung đột SELinux: Thiết lập các chính sách SELinux Booleans chuyên biệt thay vì tắt hoàn toàn firewall nhằm đảm bảo an toàn hệ thống.

Implementation và kết quả

Development Process

1. Cấu hình Mail Server & Network Interface

Thiết lập địa chỉ IP tĩnh và bản ghi phân giải tên miền nội bộ (/etc/hosts và DNS cấu hình):

  • Máy chủ Mail Server / Gateway: 192.168.136.134 (Hostname: mail.server.lab)
  • Máy Client 1: 192.168.136.135 (User: toan1@server.lab)
  • Máy Client 2: 192.168.136.136 (User: toan2@server.lab)

2. Cấu hình Tích hợp Postfix với Djigzo Gateway

Chỉnh sửa file cấu hình /etc/postfix/main.cf để chuyển tiếp luồng thư qua Djigzo:

# /etc/postfix/main.cf snippet
myhostname = mail.server.lab
mydomain = server.lab
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# Định tuyến qua Djigzo Gateway Filter
content_filter = djigzo:127.0.0.1:10025

Cấu hình /etc/postfix/master.cf bổ sung service trung gian:

# /etc/postfix/master.cf snippet
djigzo unix - - n - - smtp
    -o smtp_send_xforward_command=yes
    -o disable_mime_output_filter=yes
    -o fallback_relay=

127.0.0.1:10026 inet n - n - 10 smtpd
    -o content_filter=
    -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
    -o smtpd_authorized_xforward_hosts=127.0.0.0/8

3. Cấu hình Cơ sở dữ liệu PostgreSQL cho Djigzo

# Khởi tạo và phân quyền cho cơ sở dữ liệu djigzo
sudo systemctl enable postgresql-12
sudo systemctl start postgresql-12
sudo -u postgres createuser -P djigzo
sudo -u postgres createdb -O djigzo djigzo
-- Schema cơ bản quản lý chứng thư số trong Djigzo Database
CREATE TABLE certificates (
    id SERIAL PRIMARY KEY,
    thumbprint VARCHAR(64) NOT NULL UNIQUE,
    subject_dn TEXT NOT NULL,
    issuer_dn TEXT NOT NULL,
    valid_from TIMESTAMP NOT NULL,
    valid_to TIMESTAMP NOT NULL,
    x509_der BYTEA NOT NULL,
    private_key_pkcs8 BYTEA
);

4. Thuật toán Xử lý Mật mã trên Djigzo Gateway

Quá trình ký số và mã hóa kết hợp thực hiện theo tiêu chuẩn PKCS#7 / S/MIME:

Input: Bản rõ M (Plaintext Message), Khóa riêng người gửi PR_A, Khóa công khai người nhận PU_B

1. Tính toán giá trị băm: H = SHA256(M)
2. Ký số trên giá trị băm: Signature = RSA_Sign(PR_A, H)
3. Đóng gói thông điệp kèm chữ ký: M_signed = [M || Signature || Cert_A]
4. Sinh khóa phiên ngẫu nhiên (Session Key): K_sym ~ AES-256
5. Mã hóa đối xứng: C = AES256_Encrypt(K_sym, M_signed)
6. Mã hóa bất đối xứng khóa phiên: Encrypted_K = RSA_Encrypt(PU_B, K_sym)
7. Đóng gói S/MIME EnvelopedData: Output = [Encrypted_K || C]

Testing và validation

Hệ thống được kiểm thử qua 6 kịch bản thực nghiệm với dữ liệu đo đạc trực tiếp trên gói tin bắt bằng Wireshark và log mail:

Mã kịch bản Mô tả kiểm thử Kỳ vọng Kết quả thực tế Trạng thái
TC-01 Gửi email thông thường Mail chuyển nhận tức thời Mail nhận đầy đủ nội dung (Plaintext) PASS
TC-02 Gửi email ký số S/MIME Toàn vẹn nội dung, hiện biểu tượng xác thực MUA hiển thị chữ ký số hợp lệ từ toan1@server.lab PASS
TC-03 Tấn công sửa đổi nội dung trên server Cảnh báo giả mạo / Chữ ký không hợp lệ MUA báo lỗi "Digital Signature is Invalid/Tampered" PASS
TC-04 Mã hóa S/MIME tự động qua Gateway Payload mã hóa toàn bộ trên đường truyền Wireshark chỉ bắt được gói tin application/pkcs7-mime PASS
TC-05 Mã hóa và ký số kết hợp Bảo mật nội dung + Xác thực người gửi Giải mã chính xác, chữ ký xác thực 100% PASS
TC-06 Fallback mã hóa PDF Đính kèm PDF có mật khẩu khi không có Cert File đính kèm mở bằng Adobe Reader yêu cầu password PASS
+-------------------------------------------------------------------------+
|                  Đo lường độ trễ xử lý (Latency Benchmark)              |
+-------------------------------------------------------------------------+
| Plain SMTP Relay       : [42ms]                                         |
| S/MIME Signature Only  : [118ms] (Tăng 76ms - Băm SHA-256 + Ký RSA-2048)|
| S/MIME Encryption Only : [145ms] (Tăng 103ms - Sinh AES-256 + RSA Enc)  |
| S/MIME Sign + Encrypt  : [215ms] (Xử lý chuỗi khép kín tại Gateway)    |
| PDF Encryption Fallback: [310ms] (Render PDF engine + AES-128 Wrapper)  |
+-------------------------------------------------------------------------+

Đổi mới và đóng góp

Đổi mới kỹ thuật nổi bật

  1. Kiến trúc mã hóa Gateway trong suốt: Người dùng cuối không cần thay đổi thói quen soạn thảo email, không cần tự quản lý hay import khóa bí mật phức tạp; mọi hoạt động mã hóa và ký số được thực thi tự động dựa trên Policy Engine tại Djigzo Gateway.
  2. Cơ chế dự phòng PDF Encryption đa kênh: Cho phép giao tiếp an toàn với các đối tác ngoại vi chưa triển khai hạ tầng PKI bằng cách tự động chuyển đổi email thành tài liệu PDF mã hóa mật khẩu, hỗ trợ gửi mật khẩu động qua SMS OTP.
  3. Tích hợp CA nội bộ linh hoạt: Cung cấp khả năng tự phát hành, quản lý vòng đời chứng thư số (X.509 v3), đồng thời tự động cập nhật danh sách thu hồi chứng thư số (CRL) qua HTTP/LDAP.

So sánh với các giải pháp hiện nay

Đặc tính kỹ thuật Microsoft Exchange / O365 Message Encryption GnuPG / Enigmail Client Giải pháp Djigzo Gateway
Tính tương thích hệ thống Phụ thuộc hệ sinh thái Microsoft Cần cài extension trên từng máy Tương thích mọi MTA (Postfix, Sendmail, Exim)
Mức độ phụ thuộc Client Trung bình (Yêu cầu Web Login) Rất cao (Người dùng tự xuất/nhập key) Hoàn toàn không phụ thuộc Client
Khả năng mở rộng quy mô Chi phí license tăng tuyến tính Khó quản trị tập trung khi > 50 user Quản lý không giới hạn người dùng qua Web
Tối ưu chi phí vận hành Thấp Rất cao (Tốn chi phí hỗ trợ kỹ thuật) Giảm 75% thời gian hỗ trợ CNTT

Ứng dụng thực tế và triển khai

Use Cases thực tiễn

  • Cơ quan hành chính nhà nước: Gửi văn bản chỉ đạo, báo cáo nội bộ bảo đảm tính pháp lý và chống giả mạo nguồn gốc.
  • Tổ chức tài chính - Ngân hàng: Gửi sao kê tài khoản cá nhân, thông tin định danh khách hàng dưới dạng file PDF mã hóa bảo mật.
  • Doanh nghiệp vừa và nhỏ (SMEs): Thiết lập hệ thống bảo mật thư điện tử nội bộ với chi phí 0 đồng tiền bản quyền.

Yêu cầu cấu hình triển khai thực tế (Production Requirements)

  • Hạ tầng phần cứng tối thiểu (cho 500 - 1000 người dùng):
    • CPU: Quad-Core Intel Xeon / AMD EPYC 2.4GHz
    • RAM: 8 GB DDR4 (Đảm bảo bộ nhớ đệm cho Java Virtual Machine)
    • Ổ cứng: 100 GB SSD (Enterprise RAID 1/10)
    • Network: 1 Gbps Ethernet
  • Phần mềm: RHEL 8 / AlmaLinux 8 / Ubuntu 20.04 LTS, Postfix 3.x, PostgreSQL 13+, OpenJDK 11.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  1. Hệ thống thử nghiệm triển khai trên kiến trúc Single-Node, chưa kiểm thử tải cao (Stress Testing) trên 100,000 email/ngày.
  2. Khóa riêng của hệ thống CA nội bộ được lưu trữ dưới dạng mã hóa trên ổ đĩa mềm (Software Key Storage), chưa kết nối với mô-đun phần cứng bảo mật chuyên dụng (Hardware Security Module - HSM qua chuẩn PKCS#11).
  3. Tính năng quét DLP hiện tại mới chỉ áp dụng được trên văn bản ASCII/HTML thuần, chưa trích xuất sâu các file nén đa tầng (.zip, .rar).

Hướng phát triển tiếp theo

  • Nghiên cứu tích hợp mô-đun phần cứng bảo mật HSM (như YubiHSM2 hoặc Nitrokey) để bảo vệ Root Key của hệ thống CA.
  • Mở rộng giao diện Webmail Messenger cho phép người ngoài hệ thống trả lời trực tiếp trong phiên làm việc bảo mật.
  • Ứng dụng các thuật toán mật mã hậu lượng tử (Post-Quantum Cryptography - PQC) tương thích với chuẩn S/MIME thế hệ mới.

Đối tượng hưởng lợi

  • Sinh viên & Học viên: Làm tài liệu tham khảo thực nghiệm chuyên sâu về cấu hình mạng, cơ chế hoạt động của hạ tầng PKI và giao thức S/MIME.
  • Kỹ sư quản trị hệ thống (System Engineers): Nắm vững các bước thực hành tích hợp MTA Postfix với các bộ lọc bảo mật mã nguồn mở độc lập.
  • Doanh nghiệp & Tổ chức: Có một giải pháp khả thi để triển khai ngay chính sách bảo mật email tuân thủ các tiêu chuẩn ISO/IEC 27001 và GDPR với chi phí tối ưu.
  • Nhà nghiên cứu an toàn thông tin: Nền tảng thử nghiệm mở rộng các thuật toán băm và ký số mới vào luồng lưu chuyển email thực tế.

Câu hỏi thường gặp

1. Djigzo Gateway có đòi hỏi phải cài thêm plugin hay chứng thư số trên thiết bị di động không?

Không. Đối với email gửi từ bên ngoài đến người dùng di động, nếu gateway được cấu hình mã hóa định dạng PDF, người nhận chỉ cần trình đọc PDF có sẵn trên smartphone (iOS/Android) và nhập mật khẩu nhận qua SMS để xem nội dung.

2. Sự khác biệt giữa PGP/MIME và PGP/INLINE trên Djigzo Gateway là gì?

PGP/MIME mã hóa toàn bộ cấu trúc thông điệp (bao gồm cả định dạng HTML và các tệp đính kèm), giữ nguyên vẹn cấu trúc email. Ngược lại, PGP/INLINE chỉ mã hóa khối văn bản thô (plain text), không hỗ trợ định dạng phong phú và xử lý tệp đính kèm rời rạc. Djigzo khuyến nghị sử dụng chuẩn PGP/MIME.

3. Khi máy chủ Djigzo Gateway bị gián đoạn, luồng email của tổ chức có bị mất không?

Không bị mất dữ liệu. Nhờ cơ chế hoạt động theo chuẩn MTA Store-and-Forward của Postfix, khi Gateway gặp sự cố, các email sẽ được lưu tạm trong hàng đợi (Mail Queue) của Postfix và tự động thử gửi lại (retry) khi dịch vụ Djigzo phục hồi.

4. Hệ thống xử lý chứng thư số hết hạn hoặc bị thu hồi như thế nào?

Djigzo Gateway tích hợp trình thu hồi tự động kiểm tra định kỳ các danh sách Certificate Revocation List (CRL) qua giao thức HTTP hoặc LDAP. Khi một chứng thư nằm trong CRL hoặc quá hạn hiệu lực, hệ thống sẽ từ chối ký số/mã hóa và gửi cảnh báo cho quản trị viên.

5. Chi phí triển khai và thời gian hoàn vốn (ROI) của giải pháp này ra sao?

Do sử dụng hoàn toàn các thành phần mã nguồn mở (Linux, Postfix, PostgreSQL, Djigzo Community Edition), chi phí bản quyền phần mềm là 0 đồng. Doanh nghiệp chỉ đầu tư chi phí hạ tầng phần cứng và nhân lực cấu hình ban đầu, giúp tiết kiệm hơn 80% TCO so với các giải pháp thương mại như Cisco hay Proofpoint, đạt điểm hòa vốn ROI ngay trong năm đầu tiên vận hành.


Kết luận

Đồ án tốt nghiệp "Tìm hiểu phát triển giải pháp ký số và bảo mật thư điện tử sử dụng Djigzo gateway" đã giải quyết thành công bài toán bảo đảm an toàn thông tin cho hệ thống thư điện tử trong môi trường mạng thiếu tin cậy. Thông qua việc phân tích chuyên sâu lý thuyết mật mã khóa công khai PKI và triển khai thực nghiệm hoàn chỉnh giải pháp Djigzo Gateway kết hợp Postfix/Dovecot trên CentOS 7, đề tài đã chứng minh tính khả thi, hiệu quả và độ tin cậy vượt trội của mô hình bảo mật email ở cấp độ gateway. Giải pháp không chỉ bảo đảm toàn vẹn, xác thực và bí mật thông tin mà còn giữ nguyên trải nghiệm thông suốt cho người dùng cuối, mở ra hướng ứng dụng thực tế rộng rãi cho các cơ quan, tổ chức và doanh nghiệp trong tiến trình số hóa an toàn.