Nén và mã hoá file an toàn bằng GPG (Linux ↔ Windows)

1. GPG là gì?

GPG (GNU Privacy Guard) là một phần mềm mã nguồn mở, triển khai chuẩn OpenPGP – một chuẩn mã hoá được sử dụng rộng rãi trong:

  • Bảo mật email
  • Ký số
  • Mã hoá file và backup dữ liệu

GPG hỗ trợ 2 hình thức:

  • Mã hoá bất đối xứng (public/private key)
  • Mã hoá đối xứng (password)

Trong bài này, ta dùng mã hoá đối xứng (gpg -c) vì:

  • Đơn giản.
  • Phù hợp cho mục đích backup và truyền tải file an toàn.
  • Dễ giải mã trên Windows.

2. Vì sao không nên dùng ZIP/RAR có mật khẩu?

❌ ZIP có mật khẩu

  • ZIP truyền thống dùng ZipCrypto → rất yếu
  • Có thể crack nhanh bằng brute-force
  • Thực tế: ZIP có pass ≠ dữ liệu được mã hoá an toàn

⚠️ RAR có mật khẩu

  • RAR mới có AES-128/256
  • Nhưng:
    • Đóng mã nguồn
    • Phụ thuộc phiên bản WinRAR
    • Không phải chuẩn bảo mật độc lập

3. GPG an toàn hơn ở điểm nào?

Tiêu chíGPGZIP / RAR
ChuẩnOpenPGP (được audit rộng rãi)Không phải chuẩn bảo mật
Thuật toánAES256 mặc địnhZIP yếu, RAR phụ thuộc
KDF chống brute-forceZIP gần như không
Tính portableLinux / Windows / macOSPhụ thuộc phần mềm
Phù hợp cho backupRất tốtKhông khuyến nghị

👉 GPG là công cụ mã hoá.
👉 ZIP/RAR chỉ là công cụ nén có thêm password.

4. Nguyên tắc quan trọng khi dùng GPG

GPG không dùng để nén
Phải nén trước, mã hoá sau

Vì vậy:

  • Thư mục → phải nén bằng tar/zip/…
  • Sau đó → mã hoá bằng gpg

5. Nén và mã hoá trên Linux

Nén thư mục + mã hoá (1 lệnh)

tar -czf - my_folder | gpg -c -o backup.tar.gz.gpg

Ý nghĩa:

  • tar -czf - → nén và ghi ra stdout
  • gpg -c → mã hoá đối xứng bằng mật khẩu
  • Không tạo file trung gian → gọn và an toàn

Kết quả file sẽ được tạo ra như sau:

backup.tar.gz.gpg

Mã hoá file đơn lẻ

gpg -c myfile.sql

Chỉ định thuật toán rõ ràng (khuyến nghị)

gpg --symmetric --cipher-algo AES256 backup.tar.gz

6. Giải mã

Trên Linux

gpg backup.tar.gz.gpg
tar -xzf backup.tar.gz

Trên Windows

Cách dễ nhất: Gpg4win (GUI)

  • Cài Gpg4win
  • Chuột phải file .gpg
  • Chọn Decrypt and Verify
  • Nhập mật khẩu
  • Giải nén .tar.gz bằng 7-Zip

Nếu dùng dòng lệnh:

gpg backup.tar.gz.gpg > backup.tar.gz

7. Ứng dụng thực tế (backup database)

Ví dụ backup database:

mysqldump mydb > db.sql
tar -czf db.sql.tar.gz db.sql
gpg -c db.sql.tar.gz
rm db.sql db.sql.tar.gz

Khi này an toàn lưu trữ file tại bất cứ đâu bạn muốn.

8. Khi nào nên dùng GPG?

  • Backup source code / database.
  • Lưu file nhạy cảm trên cloud.
  • Truyền file giữa Linux ↔ Windows.
  • Không tin tưởng môi trường lưu trữ.

9. Kết luận

  • ZIP/RAR có pass không đủ an toàn cho dữ liệu quan trọng.
  • GPG là chuẩn mã hoá thực sự, được dùng rộng rãi và đáng tin cậy.
  • Kết hợp tar + gpg là cách đơn giản nhưng rất hiệu quả cho backup.
  • Đặc biệt phù hợp với developer, sysadmin, VPS, server cá nhân.

Cảm ơn bạn đọc đã theo dõi bài viết nhé! 🙌

Content Protection by DMCA.com

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *