Mã hóa là trọng tâm của TextSandbox

TextSandbox sử dụng mã hóa xác thực XChaCha20-Poly1305Argon2id để bảo vệ Master Password. Nội dung Vault được mã hóa cục bộ trước khi lưu hoặc đồng bộ. Trang này mô tả việc mã hóa diễn ra như thế nào — và cả những gì mã hóa không thể bảo vệ.

  • Mã hóa xác thực (AEAD)
  • Argon2id bảo vệ Master Password
  • Mã hóa trước khi lưu

Thuật toán sử dụng

Hai thành phần mật mã cốt lõi

Một thuật toán để mã hóa nội dung, một thuật toán để bảo vệ Master Password. Cả hai đều chạy cục bộ trên thiết bị của bạn.

Mã hóa nội dung

XChaCha20-Poly1305

Mã hóa xác thực (AEAD): XChaCha20 giữ bí mật nội dung, còn tag xác thực Poly1305 phát hiện mọi thay đổi trên dữ liệu đã mã hóa. Nonce mở rộng 192-bit giúp an toàn khi sinh nonce ngẫu nhiên.

Kiểu
AEAD — mã hóa xác thực
Bảo vệ
Tính bí mật + tính toàn vẹn
Áp dụng cho
Nội dung tài liệu, tiêu đề, lịch sử phiên bản, tệp đính kèm, trạng thái workspace

Bảo vệ Master Password

Argon2id

Hàm dẫn xuất khóa tiêu tốn bộ nhớ (memory-hard KDF), người thắng cuộc thi Password Hashing Competition. Argon2id biến Master Password thành khóa mã hóa và làm cho việc dò mật khẩu bằng vũ lực trở nên đắt đỏ.

Kiểu
KDF tiêu tốn bộ nhớ
Mục đích
Dẫn xuất khóa mã hóa từ Master Password
Master Password
Không được lưu, không gửi lên cloud

Toàn bộ việc mã hóa và giải mã diễn ra cục bộ trên thiết bị của bạn. Cloud Sync chỉ lưu dữ liệu đã mã hóa và sẽ không nhận Master Password, Recovery Key hay nội dung dạng đọc được.

Quy trình mã hóa

Nội dung đi qua những bước nào?

Văn bản chỉ tồn tại ở dạng đọc được trong bộ nhớ khi Vault đang mở. Trước khi ghi xuống ổ đĩa hoặc rời thiết bị, nó luôn được mã hóa.

Trong bộ nhớ (Vault đang mở)

# Ghi chú nghiên cứu
Hợp đồng khách hàng — bản nháp 3

Trên ổ đĩa & trên cloud

a7f3e1b9c05d... 4c2d8e
+ tag xác thực Poly1305

Bốn bước mã hóa

  1. 1

    Nhập Master Password

    Mật khẩu chỉ nằm trong bộ nhớ trong thời gian mở Vault.

  2. 2

    Argon2id dẫn xuất khóa

    Master Password được biến thành khóa mã hóa bằng KDF tiêu tốn bộ nhớ.

  3. 3

    XChaCha20-Poly1305 mã hóa

    Nội dung, tiêu đề, lịch sử và tệp đính kèm được mã hóa kèm tag xác thực.

  4. 4

    Ghi vào Vault .tsbx

    Chỉ dữ liệu đã mã hóa được ghi xuống ổ đĩa — và chỉ dữ liệu đó mới được đồng bộ.

Mã hóa cục bộ trước khi lưu

Nội dung Vault, tiêu đề tài liệu, lịch sử chỉnh sửa, tệp đính kèm và trạng thái workspace được mã hóa bằng XChaCha20-Poly1305 trước khi ghi xuống ổ đĩa — không tồn tại dưới dạng văn bản trần.

Master Password không rời thiết bị

Master Password được bảo vệ bằng Argon2id, không được lưu và không được gửi lên cloud. Tài khoản cloud không thay thế Master Password và không thể giải mã Vault thay cho bạn.

Cloud chỉ lưu dữ liệu đã mã hóa

Cloud Sync chỉ lưu dữ liệu đã mã hóa và sẽ không nhận Master Password, Recovery Key hay nội dung dạng đọc được. Dịch vụ cloud không có khóa để giải mã Vault của bạn.

Không có “cửa sau” giải mã

Không tồn tại khóa dự phòng nào khác. Khi mất đồng thời Master Password và Recovery Key, dữ liệu đã mã hóa không thể được giải mã — hệ quả trực tiếp của mã hóa thực sự.

Nhờ mã hóa ở tầng dữ liệu, TextSandbox phù hợp với những ghi chú, bản nháp, tài liệu cá nhân hoặc dữ liệu công việc mà bạn không muốn lưu dưới dạng văn bản trần trên máy hoặc trên cloud.

Recovery Key & auto-lock

Hai lớp bảo vệ quyền truy cập

Khi tạo Vault, TextSandbox cung cấp Recovery Key — con đường thứ hai duy nhất dẫn tới khóa giải mã Vault nếu bạn quên Master Password. Recovery Key cần được lưu ngoại tuyến, tách biệt khỏi Vault và không bao giờ được gửi lên cloud.

Ứng dụng cũng có thể tự động khóa sau một khoảng thời gian không hoạt động. Khi người dùng đóng cửa sổ, TextSandbox lưu các chỉnh sửa và trạng thái workspace, xác nhận Vault đã được khóa an toàn rồi mới thoát.

Không lưu Recovery Key trong chính Vault mà khóa đó dùng để khôi phục.

Trạng thái Vault

Đang khóa

Nội dung nằm trên ổ đĩa ở dạng đã mã hóa. Không thể giải mã mà không có Master Password hoặc Recovery Key.

Đang mở

Nội dung được giải mã trong bộ nhớ để bạn làm việc. Autosave mã hóa lại mọi thay đổi trước khi ghi vào Vault.

Tự động khóa

Sau khoảng thời gian không hoạt động do bạn cấu hình, Vault trở về trạng thái khóa và khóa giải mã được loại bỏ khỏi bộ nhớ.

Khi thoát ứng dụng

Lưu chỉnh sửa, lưu trạng thái workspace, xác nhận Vault đã khóa an toàn rồi mới thoát.

Threat Model

Mã hóa bảo vệ được gì, không bảo vệ được gì

Mã hóa bảo vệ dữ liệu khi Vault đang khóa, khi nằm trên ổ đĩa và khi tệp .tsbx bị sao chép khỏi thiết bị. Khi Vault đang mở, nội dung bắt buộc phải được giải mã trong bộ nhớ để bạn làm việc — vì vậy có những rủi ro mã hóa không thể xử lý.

Được mã hóa bảo vệ

  • Tệp Vault đang khóa bị sao chép khỏi thiết bị.
  • Dữ liệu lưu trữ lâu dài trên ổ đĩa.
  • Dữ liệu đã mã hóa nằm trên dịch vụ cloud.
  • Người khác truy cập máy khi Vault đã khóa.
  • Nỗ lực sửa đổi dữ liệu đã mã hóa (bị tag Poly1305 phát hiện).

Mã hóa không xử lý được

  • Phần mềm độc hại đang chạy trên máy.
  • Keylogger ghi lại Master Password.
  • Công cụ chụp màn hình khi Vault đang mở.
  • Hệ điều hành đã bị xâm nhập.
  • Master Password quá yếu hoặc bị chia sẻ.

Tài liệu SECURITY, PRIVACYTHREAT MODEL đi kèm sản phẩm mô tả chi tiết phạm vi bảo vệ. Nếu bạn cần bản mới nhất, hãy xem tại textsandbox.com hoặc liên hệ cuongtechnology@gmail.com.

Dữ liệu ở đâu?

Thành phầnTrên thiết bịTrên cloud
Nội dung tài liệuĐã mã hóaChỉ khi bật Sync — đã mã hóa
Tiêu đề tài liệuĐã mã hóaChỉ khi bật Sync — đã mã hóa
Tệp đính kèmĐã mã hóaChỉ khi bật Sync — đã mã hóa
Lịch sử phiên bảnĐã mã hóaChỉ khi bật Sync — đã mã hóa
Trạng thái workspaceĐã mã hóaChỉ khi bật Sync — đã mã hóa
Nội dung dạng đọc đượcChỉ trong bộ nhớ khi Vault mởKhông bao giờ
Master PasswordKhông được lưu (Argon2id)Không bao giờ
Recovery KeyBạn lưu ngoại tuyếnKhông bao giờ

Quyền riêng tư

Local-first, mã hóa cục bộ, không cần tài khoản

Bạn có thể sử dụng TextSandbox hoàn toàn cục bộ: không cần tạo tài khoản, không cần Internet, không cần đăng ký gói cloud nào — việc mã hóa vẫn diễn ra đầy đủ trên máy bạn. Cloud Sync là lựa chọn bổ sung, không phải điều kiện để sử dụng ứng dụng.

  • Vault cục bộ luôn ở dạng đã mã hóa, kể cả khi không dùng cloud.
  • Autosave mã hóa lại dữ liệu trước mọi lần ghi đĩa.
  • Khóa mã hóa được dẫn xuất tại chỗ từ Master Password, không qua máy chủ nào.
  • Bạn quyết định khi nào dữ liệu đã mã hóa rời khỏi thiết bị.

Nguyên tắc nên tuân thủ

Mã hóa mạnh nhất khi đi cùng thói quen sử dụng đúng của bạn.

Không chia sẻ khóa

Không chia sẻ Master Password hoặc Recovery Key với bất kỳ ai.

Dùng Master Password mạnh

Argon2id làm chậm đáng kể việc dò mật khẩu bằng vũ lực, nhưng độ mạnh của mật khẩu vẫn là yếu tố quyết định.

Tách Recovery Key khỏi Vault

Không lưu Recovery Key trong chính Vault mà khóa đó dùng để khôi phục.

Luôn có bản sao lưu

Giữ ít nhất một bản sao lưu Vault ở vị trí an toàn.

Khóa trước khi rời máy

Khóa Vault trước khi rời khỏi thiết bị dùng chung.

Hiểu rõ hệ quả

Mất đồng thời Master Password và Recovery Key đồng nghĩa với việc không thể khôi phục nội dung.

Bật auto-lock

Cấu hình thời gian tự động khóa phù hợp với môi trường làm việc của bạn.

Còn câu hỏi về mã hóa hay phạm vi bảo vệ?

Hãy liên hệ trực tiếp với tác giả — mọi phản hồi về mã hóa và bảo mật đều được xem xét cẩn thận.