Cách Forward Email Bảo Vệ Quyền Riêng Tư, Tên Miền và Bảo Mật Của Bạn: Phân Tích Kỹ Thuật Sâu

Lời nói đầu

Các vụ rò rỉ dữ liệu, giám sát và quảng cáo nhắm mục tiêu dựa trên nội dung email khiến ngày càng nhiều người dùng tìm đến các dịch vụ ưu tiên quyền riêng tư. Tại Forward Email, chúng tôi đã xây dựng dịch vụ của mình từ đầu với quyền riêng tư làm nền tảng cho kiến trúc của chúng tôi. Bài viết này trình bày các triển khai kỹ thuật giúp dịch vụ của chúng tôi trở thành một trong những giải pháp chuyển tiếp email tập trung vào quyền riêng tư nhất hiện có.

Triết lý Quyền Riêng Tư của Forward Email

Triết lý quyền riêng tư của chúng tôi: email của bạn thuộc về bạn và chỉ bạn mà thôi. Nguyên tắc này hướng dẫn mọi quyết định kỹ thuật mà chúng tôi thực hiện, từ cách chúng tôi xử lý chuyển tiếp email đến cách chúng tôi triển khai mã hóa.

Không giống như nhiều nhà cung cấp email quét tin nhắn của bạn cho mục đích quảng cáo hoặc lưu trữ chúng vô thời hạn trên máy chủ của họ, Forward Email hoạt động theo cách khác:

  1. Chỉ xử lý trong bộ nhớ: Chúng tôi không lưu email chuyển tiếp của bạn lên đĩa
  2. Không lưu trữ siêu dữ liệu: Chúng tôi không giữ hồ sơ ai gửi email cho ai
  3. 100% mã nguồn mở: Toàn bộ mã nguồn của chúng tôi minh bạch và có thể kiểm tra
  4. Mã hóa đầu-cuối: Chúng tôi hỗ trợ OpenPGP cho giao tiếp riêng tư

Triển khai SQLite: Độ bền và Tính di động cho Dữ liệu của Bạn

Một trong những lợi thế chính về quyền riêng tư của Forward Email là việc chúng tôi triển khai SQLite. Chúng tôi đã tinh chỉnh SQLite với các thiết lập PRAGMA cụ thể và Ghi nhật ký trước (WAL) để giữ dữ liệu của bạn bền vững, di động, riêng tư và an toàn. Cách chúng tôi triển khai SQLite với ChaCha20-Poly1305 làm thuật toán mã hóa để chống lại các mối đe dọa lượng tử:

// Khởi tạo cơ sở dữ liệu với better-sqlite3-multiple-ciphers
const Database = require('better-sqlite3-multiple-ciphers');

// Thiết lập mã hóa với thuật toán ChaCha20-Poly1305
db.pragma(`key="${decrypt(session.user.password)}"`);

// Bật Write-Ahead Logging để tăng độ bền và hiệu suất
db.pragma('journal_mode=WAL');

// Ghi đè nội dung đã xóa bằng số 0 để bảo mật
db.pragma('secure_delete=ON');

// Bật tự động dọn dẹp để quản lý lưu trữ hiệu quả
db.pragma('auto_vacuum=FULL');

// Thiết lập thời gian chờ busy để xử lý truy cập đồng thời
db.pragma(`busy_timeout=${config.busyTimeout}`);

// Tối ưu đồng bộ để đảm bảo độ tin cậy
db.pragma('synchronous=NORMAL');

// Bật ràng buộc khóa ngoại để đảm bảo tính toàn vẹn dữ liệu
db.pragma('foreign_keys=ON');

// Thiết lập mã hóa UTF-8 để hỗ trợ ký tự quốc tế
db.pragma(`encoding='UTF-8'`);

// Tối ưu hiệu suất cơ sở dữ liệu
db.pragma('optimize=0x10002;');

// Sử dụng đĩa cho lưu trữ tạm thay vì bộ nhớ
db.pragma('temp_store=1;');

Việc triển khai này giữ dữ liệu của bạn an toàn và có thể di động. Bạn có thể mang theo email của mình bất cứ lúc nào bằng cách xuất ra định dạng MBOX, EML, hoặc SQLite. Khi bạn xóa dữ liệu, chúng tôi xóa các tập tin khỏi bộ nhớ đĩa thay vì chạy các lệnh SQL DELETE ROW, vốn có thể để lại dấu vết trong cơ sở dữ liệu.

Phần mã hóa lượng tử trong triển khai của chúng tôi sử dụng ChaCha20-Poly1305 làm thuật toán khi khởi tạo cơ sở dữ liệu, cung cấp sự bảo vệ mạnh mẽ chống lại cả các mối đe dọa hiện tại và tương lai đối với quyền riêng tư dữ liệu của bạn.

Hàng Đợi Thông Minh và Cơ Chế Thử Lại: Đảm Bảo Giao Thư Điện Tử

Ngoài xử lý tiêu đề, chúng tôi đã triển khai một hệ thống hàng đợi thông minh và cơ chế thử lại với phương thức getBounceInfo của mình. Điều này giúp email của bạn có cơ hội được gửi thành công cao nhất khi có các sự cố tạm thời xảy ra.

function getBounceInfo(err) {
  // Khởi tạo thông tin bounce với các giá trị mặc định
  const bounceInfo = {
    action: err.responseCode >= 500 ? 'reject' : 'defer',
    category: err.category || 'other',
    message: err.message,
    code: err.responseCode || err.code
  };

  // Phân tích phản hồi lỗi để xác định hành động phù hợp
  const response = err.response || err.message || '';

  // Xác định xem sự cố là tạm thời hay vĩnh viễn
  if (response.includes('temporarily deferred') ||
      response.includes('try again later')) {
    bounceInfo.action = 'defer';
  }

  // Phân loại lý do bounce để xử lý thích hợp
  if (response.includes('mailbox full')) {
    bounceInfo.category = 'full';
    bounceInfo.action = 'defer';
  } else if (response.includes('user unknown')) {
    bounceInfo.category = 'unknown';
  }

  return bounceInfo;
}

Note

Đây là đoạn trích của phương thức getBounceInfo và không phải là toàn bộ triển khai chi tiết. Để xem mã đầy đủ, bạn có thể tham khảo trên GitHub.

Chúng tôi thử gửi lại thư trong vòng 5 ngày, tương tự như các tiêu chuẩn ngành như Postfix, cho phép các sự cố tạm thời có thời gian để được giải quyết. Điều này cải thiện tỷ lệ giao thư trong khi vẫn duy trì quyền riêng tư.

Tương tự, chúng tôi cũng xóa nội dung tin nhắn của các email SMTP gửi đi sau khi gửi thành công. Điều này được cấu hình trong hệ thống lưu trữ của chúng tôi với thời gian giữ mặc định là 30 ngày, bạn có thể điều chỉnh trong phần Cài Đặt Nâng Cao của tên miền. Sau khoảng thời gian này, nội dung email sẽ tự động bị xóa và làm sạch, chỉ còn lại một thông báo thay thế:

Tin nhắn này đã được gửi thành công. Nó đã được xóa và làm sạch để bảo vệ an ninh và quyền riêng tư của bạn. Nếu bạn muốn tăng thời gian lưu giữ tin nhắn, vui lòng truy cập trang Cài Đặt Nâng Cao cho tên miền của bạn.

Cách tiếp cận này đảm bảo rằng các email bạn gửi đi sẽ không bị lưu trữ vô thời hạn, giảm thiểu rủi ro vi phạm dữ liệu hoặc truy cập trái phép vào các liên lạc của bạn.

Tài nguyên không giới hạn với Giới hạn Tốc độ Thông minh

Trong khi Forward Email cung cấp tên miền và bí danh không giới hạn, chúng tôi đã triển khai giới hạn tốc độ để bảo vệ hệ thống khỏi việc lạm dụng và đảm bảo sử dụng công bằng cho tất cả người dùng. Ví dụ, khách hàng không phải doanh nghiệp có thể tạo tối đa hơn 50 bí danh mỗi ngày, điều này ngăn cơ sở dữ liệu của chúng tôi bị spam và quá tải, đồng thời cho phép các tính năng chống lạm dụng và bảo vệ theo thời gian thực hoạt động hiệu quả.

// Rate limiter implementation
const rateLimiter = new RateLimiter({
  // Configuration settings
});

// Check rate limits before processing
const limit = await rateLimiter.get({
  key: `domain:${domain.id}`,
  duration: ms('1d')
});

// Apply appropriate action based on limit status
if (limit.remaining <= 0) {
  // Handle rate limit exceeded
}

Bạn có thể tạo bao nhiêu địa chỉ email tùy ý cho quản lý quyền riêng tư, và dịch vụ của chúng tôi vẫn nhanh và ổn định cho tất cả người dùng.

Mã hóa trong môi trường cách ly để Tăng cường Bảo mật

Cách tiếp cận mã hóa trong môi trường cách ly của chúng tôi mang lại lợi thế bảo mật mà nhiều người dùng thường bỏ qua khi chọn dịch vụ email.

Các dịch vụ như Gmail và Proton rất có thể sử dụng cơ sở dữ liệu quan hệ dùng chung, điều này tạo ra một điểm yếu bảo mật mang tính cấu trúc. Trong môi trường cơ sở dữ liệu dùng chung, nếu ai đó truy cập được dữ liệu của một người dùng, họ có thể có đường dẫn để truy cập dữ liệu của các người dùng khác. Điều này là do tất cả dữ liệu người dùng đều nằm trong cùng các bảng cơ sở dữ liệu, chỉ được phân tách bằng ID người dùng hoặc các định danh tương tự.

Thay vào đó, Forward Email sử dụng mã hóa trong môi trường cách ly:

  1. Cách ly hoàn toàn: Dữ liệu của mỗi người dùng được lưu trữ trong một tệp cơ sở dữ liệu SQLite được mã hóa riêng biệt, hoàn toàn tách biệt với người dùng khác
  2. Khóa mã hóa độc lập: Mỗi cơ sở dữ liệu được mã hóa bằng một khóa duy nhất được tạo ra từ mật khẩu của người dùng
  3. Không lưu trữ dùng chung: Khác với cơ sở dữ liệu quan hệ nơi tất cả email của người dùng có thể nằm trong một bảng "emails" duy nhất, cách tiếp cận của chúng tôi đảm bảo không có sự trộn lẫn dữ liệu
  4. Phòng thủ nhiều lớp: Ngay cả khi cơ sở dữ liệu của một người dùng bị xâm phạm, cũng không thể truy cập dữ liệu của người dùng khác

Cách tiếp cận cách ly này tương tự như việc bạn giữ email trong một két sắt vật lý riêng biệt thay vì trong một kho lưu trữ chung có các vách ngăn nội bộ. Kiến trúc này tăng cường quyền riêng tư và bảo mật của bạn.

Xử lý Email trong Bộ nhớ: Không Lưu Trữ Đĩa để Đạt Quyền Riêng Tư Tối Đa

Đối với dịch vụ chuyển tiếp email của chúng tôi, chúng tôi xử lý email hoàn toàn trong RAM và không bao giờ ghi chúng vào bộ nhớ đĩa hoặc cơ sở dữ liệu. Điều này bảo vệ bạn chống lại việc giám sát email và thu thập siêu dữ liệu.

Cái nhìn đơn giản về cách xử lý email của chúng tôi:

async function onData(stream, _session, fn) {
  // Store clone of session since it gets modified/destroyed
  const session = JSON.parse(safeStringify(_session));

  try {
    // Process the email stream in memory
    const messageSplitter = new MessageSplitter({
      maxBytes: MAX_BYTES
    });
    stream.pipe(messageSplitter);
    const body = await getStream.buffer(messageSplitter);

    const { headers } = messageSplitter;

    // Update session object with useful debug info for error logs
    await updateSession.call(this, body, headers, session);

    // Process the email without storing to disk
    // [Processing code omitted for brevity]

    // Return success without persisting email data
    fn();
  } catch (err) {
    // Handle errors without storing sensitive information
    fn(err);
  }
}

Cách tiếp cận này có nghĩa là ngay cả khi máy chủ của chúng tôi bị xâm phạm, cũng sẽ không có dữ liệu email lịch sử nào để kẻ tấn công truy cập. Email của bạn đi qua hệ thống của chúng tôi và đến thẳng đích mà không để lại dấu vết. Cách tiếp cận chuyển tiếp email không ghi nhật ký này bảo vệ các liên lạc của bạn khỏi sự giám sát.

Mã hóa đầu-cuối với OpenPGP để bảo mật hoàn toàn

Đối với người dùng yêu cầu mức độ bảo mật cao nhất khỏi sự giám sát email, chúng tôi hỗ trợ OpenPGP cho mã hóa đầu-cuối. Khác với nhiều nhà cung cấp email yêu cầu cầu nối hoặc ứng dụng độc quyền, triển khai của chúng tôi hoạt động với các khách hàng email tiêu chuẩn, giúp giao tiếp an toàn trở nên dễ tiếp cận với mọi người.

Cách chúng tôi triển khai mã hóa OpenPGP:

async function encryptMessage(pubKeyArmored, raw, isArmored = true) {
  // [Initial validation code omitted for brevity]

  // Read the public key
  const pubKey = isArmored
    ? await openpgp.readKey({
        armoredKey: tools.prepareArmoredPubKey(pubKeyArmored),
        config: { tolerant: true }
      })
    : pubKeyArmored;

  if (!pubKey) throw new TypeError('Public key does not exist');

  // Perform the actual encryption using OpenPGP
  const ciphertext = await openpgp.encrypt({
    message: await openpgp.createMessage({
      binary: Buffer.concat([Buffer.from(bodyHeaders + '\r\n\r\n'), body])
    }),
    encryptionKeys: pubKey,
    format: 'armored',
    config: { minRSABits: 1024 }
  });

  // Format the encrypted message as a proper MIME message
  // [MIME formatting code omitted for brevity]

  return Buffer.concat([headers, breaker, Buffer.from(text)]);
}

Việc triển khai này đảm bảo rằng email của bạn được mã hóa trước khi rời thiết bị của bạn và chỉ có người nhận dự kiến mới có thể giải mã, giữ cho các liên lạc của bạn được riêng tư ngay cả với chúng tôi.

Bảo vệ nội dung đa lớp cho an ninh toàn diện

Forward Email bật mặc định nhiều lớp bảo vệ nội dung:

  1. Bảo vệ nội dung người lớn: Lọc nội dung không phù hợp mà không làm ảnh hưởng đến quyền riêng tư
  2. Bảo vệ phishing: Chặn các cố gắng đánh cắp thông tin trong khi vẫn giữ ẩn danh
  3. Bảo vệ tệp thực thi: Ngăn chặn các tệp đính kèm có thể gây hại mà không quét nội dung
  4. Bảo vệ virus: Quét phần mềm độc hại bằng các kỹ thuật bảo vệ quyền riêng tư

Nhiều nhà cung cấp để người dùng tự chọn bật các tính năng này. Chúng tôi bật sẵn chúng và cho phép người dùng chọn tắt, vì vậy tất cả người dùng đều có các biện pháp bảo vệ này theo mặc định.

Cách chúng tôi khác biệt với các dịch vụ email khác: Lợi thế kỹ thuật về quyền riêng tư

Khi so sánh Forward Email với các dịch vụ email khác, một số điểm khác biệt kỹ thuật chính làm nổi bật cách tiếp cận ưu tiên quyền riêng tư của chúng tôi:

Minh bạch mã nguồn mở để xác minh quyền riêng tư

Trong khi nhiều nhà cung cấp email tuyên bố là mã nguồn mở, họ thường giữ mã backend ở chế độ đóng. Forward Email là 100% mã nguồn mở, bao gồm cả mã frontend và backend. Sự minh bạch này cho phép kiểm toán bảo mật độc lập tất cả các thành phần, đảm bảo các tuyên bố về quyền riêng tư của chúng tôi có thể được bất kỳ ai xác minh.

Không bị khóa nhà cung cấp để bảo vệ quyền riêng tư không thỏa hiệp

Nhiều nhà cung cấp email tập trung vào quyền riêng tư yêu cầu bạn sử dụng ứng dụng hoặc cầu nối độc quyền của họ. Forward Email hoạt động với bất kỳ khách hàng email tiêu chuẩn nào thông qua các giao thức IMAP, POP3, và SMTP, cho bạn tự do chọn phần mềm email ưa thích mà không làm giảm quyền riêng tư.

Dữ liệu trong môi trường cách ly cho sự cô lập thực sự

Không giống như các dịch vụ sử dụng cơ sở dữ liệu chia sẻ nơi dữ liệu của tất cả người dùng bị trộn lẫn, phương pháp cách ly của chúng tôi đảm bảo rằng dữ liệu của từng người dùng được cô lập hoàn toàn. Kiến trúc này cung cấp các đảm bảo về quyền riêng tư mạnh hơn so với hầu hết các dịch vụ email khác.

Khả năng di động và kiểm soát dữ liệu

Chúng tôi tin rằng dữ liệu của bạn thuộc về bạn, đó là lý do tại sao chúng tôi làm cho việc xuất email của bạn sang các định dạng chuẩn (MBOX, EML, SQLite) trở nên dễ dàng và xóa hoàn toàn dữ liệu của bạn khi bạn muốn. Ít nhà cung cấp email nào mang lại mức độ kiểm soát này.

Những thách thức kỹ thuật của chuyển tiếp email ưu tiên quyền riêng tư

Xây dựng một dịch vụ email ưu tiên quyền riêng tư đi kèm với những thách thức kỹ thuật. Những trở ngại mà chúng tôi đã vượt qua:

Quản lý bộ nhớ cho xử lý email không ghi nhật ký

Xử lý email trong bộ nhớ mà không lưu trữ trên đĩa đòi hỏi quản lý bộ nhớ cẩn thận để xử lý lưu lượng email lớn một cách hiệu quả. Các tối ưu hóa bộ nhớ của chúng tôi giữ hiệu suất ổn định mà không vi phạm chính sách không lưu trữ.

Phát hiện spam mà không phân tích nội dung để lọc bảo vệ quyền riêng tư

Hầu hết các hệ thống phát hiện spam dựa vào việc phân tích nội dung email, điều này mâu thuẫn với nguyên tắc bảo mật của chúng tôi. Chúng tôi đã phát triển các kỹ thuật để nhận diện các mẫu spam mà không đọc nội dung email của bạn.

Duy trì tương thích với thiết kế ưu tiên quyền riêng tư

Đảm bảo tương thích với tất cả các khách hàng email trong khi triển khai các tính năng quyền riêng tư tiên tiến đòi hỏi các giải pháp kỹ thuật sáng tạo. Đội ngũ của chúng tôi đã làm việc để các tính năng quyền riêng tư dễ sử dụng, để bạn không phải lựa chọn giữa sự tiện lợi và bảo mật.

Thực hành tốt nhất về quyền riêng tư cho người dùng Forward Email

Để tối đa hóa sự bảo vệ của bạn trước giám sát email và tăng cường quyền riêng tư khi sử dụng Forward Email, chúng tôi khuyến nghị các thực hành tốt nhất sau:

  1. Sử dụng bí danh riêng biệt cho các dịch vụ khác nhau: Tạo một bí danh email khác nhau cho mỗi dịch vụ bạn đăng ký để ngăn chặn việc theo dõi chéo dịch vụ
  2. Bật mã hóa OpenPGP: Đối với các liên lạc nhạy cảm, sử dụng mã hóa đầu cuối để đảm bảo quyền riêng tư hoàn toàn
  3. Thường xuyên thay đổi bí danh email của bạn: Cập nhật định kỳ các bí danh cho các dịch vụ quan trọng để giảm thiểu việc thu thập dữ liệu lâu dài
  4. Sử dụng mật khẩu mạnh và duy nhất: Bảo vệ tài khoản Forward Email của bạn bằng mật khẩu mạnh để ngăn chặn truy cập trái phép
  5. Triển khai ẩn địa chỉ IP: Cân nhắc sử dụng VPN kết hợp với Forward Email để có sự ẩn danh hoàn toàn

Kết luận: Tương lai của chuyển tiếp email riêng tư

Tại Forward Email, chúng tôi coi quyền riêng tư là một quyền cơ bản. Các triển khai kỹ thuật của chúng tôi phản ánh niềm tin này, cung cấp cho bạn dịch vụ chuyển tiếp email tôn trọng quyền riêng tư ở mọi cấp độ và bảo vệ bạn khỏi giám sát email và thu thập siêu dữ liệu.

Khi phát triển dịch vụ, chúng tôi tiếp tục nghiên cứu các phương pháp mã hóa mới, khám phá các biện pháp bảo vệ quyền riêng tư bổ sung và tinh chỉnh mã nguồn để cung cấp trải nghiệm email an toàn nhất có thể.

Bằng cách chọn Forward Email, bạn ủng hộ một internet nơi quyền riêng tư là mặc định.