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í | GPG | ZIP / RAR |
|---|---|---|
| Chuẩn | OpenPGP (được audit rộng rãi) | Không phải chuẩn bảo mật |
| Thuật toán | AES256 mặc định | ZIP yếu, RAR phụ thuộc |
| KDF chống brute-force | Có | ZIP gần như không |
| Tính portable | Linux / Windows / macOS | Phụ thuộc phần mềm |
| Phù hợp cho backup | Rất tốt | Khô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 stdoutgpg -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.gzbằ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é! 🙌
