AlphaBay SecOps
Trang chủ › Mã Hóa Dữ Liệu

Cách bảo vệ file tài liệu quan trọng bằng mã hóa GPG/PGP

Ban biên tập AlphaBay SecOps · · Cập nhật
Cách bảo vệ file tài liệu quan trọng bằng mã hóa GPG/PGP

Để bảo vệ file tài liệu quan trọng bằng GPG, bạn có hai cách: mã hóa đối xứng bằng một mật khẩu (lệnh gpg -c) khi chỉ mình bạn cần mở file, hoặc mã hóa bằng khóa công khai của người nhận (lệnh gpg -e) khi cần gửi file cho người khác mà không phải chia sẻ mật khẩu. Ngoài mã hóa, GPG còn cho phép ký số để người nhận kiểm tra file không bị sửa đổi. Bài viết hướng dẫn cả trên dòng lệnh và giao diện đồ họa, kèm cách quản lý khóa để không tự khóa mình ra ngoài.

GPG, PGP và OpenPGP là gì

PGP (Pretty Good Privacy) là phần mềm mã hóa ra đời đầu thập niên 1990. Định dạng của nó được chuẩn hóa thành OpenPGP. GnuPG, thường gọi là GPG, là bản triển khai mã nguồn mở miễn phí của chuẩn này, có sẵn trên hầu hết bản Linux và được đóng gói cho Windows (Gpg4win, kèm giao diện Kleopatra) và macOS (GPG Suite). Vì cùng chuẩn, file mã hóa bằng công cụ này có thể giải mã bằng công cụ khác.

Bài này tập trung vào file và tài liệu. Nếu bạn cần mã hóa email, hãy xem hướng dẫn sử dụng PGP để mã hóa email cá nhân.

Chọn kiểu mã hóa phù hợp

Tình huốngKiểu mã hóaLệnh cơ bản
Lưu file nhạy cảm cho riêng mìnhĐối xứng (mật khẩu)gpg -c tenfile
Gửi file cho đồng nghiệp, đối tácBất đối xứng (khóa công khai người nhận)gpg -e -r email_nguoi_nhan tenfile
Gửi file và chứng minh mình là người gửiMã hóa kèm kýgpg -e -s -r email_nguoi_nhan tenfile
Công bố file, cho người khác kiểm tra tính toàn vẹnChỉ ký tách rờigpg --detach-sign tenfile

Mã hóa đối xứng: nhanh và đơn giản

  1. Mở terminal tại thư mục chứa file.
  2. Chạy gpg -c baocao.pdf. GPG hỏi mật khẩu hai lần.
  3. Kết quả là file baocao.pdf.gpg. Thêm tùy chọn --armor nếu muốn file dạng văn bản (.asc) để dán vào email hay ghi chú.
  4. Kiểm tra giải mã bằng gpg -d baocao.pdf.gpg > baocao-kiemtra.pdf hoặc gpg -o baocao-kiemtra.pdf -d baocao.pdf.gpg.
  5. Khi chắc chắn giải mã được, xóa file gốc nếu không cần bản rõ.

Phiên bản GPG hiện đại mặc định dùng AES và có cơ chế bảo vệ toàn vẹn, nên file bị sửa sẽ báo lỗi khi giải mã. Sức mạnh thực sự nằm ở mật khẩu: hãy dùng cụm từ dài, ngẫu nhiên, lưu trong trình quản lý mật khẩu.

Mã hóa bằng khóa công khai

Tạo cặp khóa của bạn

Chạy gpg --full-generate-key, chọn loại khóa mặc định (các bản mới dùng mật mã đường cong elliptic), đặt thời hạn (ví dụ hai năm, có thể gia hạn), nhập tên và email, sau đó đặt cụm mật khẩu bảo vệ khóa riêng. Trên Kleopatra, chọn File > New Key Pair và làm theo trình hướng dẫn.

Trao đổi khóa công khai

  • Xuất khóa công khai: gpg --armor --export email_cua_ban > khoacongkhai.asc, rồi gửi cho người cần gửi file cho bạn.
  • Nhập khóa của người khác: gpg --import khoa_nguoi_nhan.asc.
  • Xác minh dấu vân tay khóa qua một kênh khác như gọi điện, gặp trực tiếp: gpg --fingerprint email_nguoi_nhan. Đây là bước chống giả mạo quan trọng nhất mà nhiều người bỏ qua.

Mã hóa và giải mã

Mã hóa: gpg -e -r email_nguoi_nhan hopdong.docx. Có thể thêm nhiều tùy chọn -r cho nhiều người nhận, và nên thêm chính bạn để bạn cũng mở được file đã mã hóa. Người nhận giải mã bằng gpg -d và cụm mật khẩu khóa riêng của họ.

Ký số: chứng minh file không bị sửa

Chữ ký số dùng khóa riêng của bạn để ký giá trị băm của file. Người nhận dùng khóa công khai của bạn để kiểm tra: gpg --verify baocao.pdf.sig baocao.pdf. Nếu chỉ một byte thay đổi, việc kiểm tra thất bại. Nguyên lý dựa trên hàm băm mật mã, được giải thích trong bài hàm băm và vai trò trong xác thực dữ liệu. Đây cũng là cách các dự án phần mềm mã nguồn mở cho phép người dùng kiểm tra bản tải về.

Mã hóa cả thư mục

GPG làm việc với từng file. Để bảo vệ thư mục, hãy nén trước rồi mã hóa: tar czf - hoso | gpg -c -o hoso.tar.gz.gpg. Trên Windows, có thể nén bằng công cụ nén rồi mã hóa file nén bằng Kleopatra. Nếu cần bảo vệ toàn bộ ổ đĩa hoặc USB, giải pháp mã hóa toàn ổ phù hợp hơn, xem bài mã hóa USB bằng BitLocker.

Quản lý khóa để không mất dữ liệu

  • Sao lưu khóa riêng: gpg --armor --export-secret-keys email > khoarieng.asc, lưu vào USB mã hóa cất nơi an toàn, không lưu trên dịch vụ đám mây không mã hóa.
  • Tạo chứng chỉ thu hồi: GPG thường tự tạo khi sinh khóa. Cất giữ để công bố nếu khóa bị lộ.
  • Đừng quên cụm mật khẩu: không có nó, khóa riêng vô dụng và file mã hóa không thể mở lại.
  • Gia hạn trước khi hết hạn: gpg --edit-key rồi dùng lệnh expire.

Dùng GPG qua giao diện đồ họa

Nếu không quen dòng lệnh, Kleopatra trên Windows và GPG Suite trên macOS cho phép làm mọi thao tác trên bằng chuột. Thường bạn chỉ cần nhấp chuột phải vào file, chọn mục ký và mã hóa, rồi chọn người nhận từ danh sách khóa đã nhập hoặc chọn mã hóa bằng mật khẩu. Giao diện cũng hiển thị rõ trạng thái xác minh của từng khóa, giúp bạn nhận ra khi đang dùng một khóa chưa được kiểm tra dấu vân tay. Với nhóm làm việc nhỏ, nên thống nhất một công cụ chung và soạn một trang hướng dẫn nội bộ ngắn để mọi người thao tác giống nhau.

Những sai lầm thường gặp

  1. Để lại file gốc chưa mã hóa trong thư mục Tải về hoặc thùng rác.
  2. Gửi mật khẩu file mã hóa đối xứng qua cùng kênh với file, chẳng hạn cùng một email.
  3. Nhập khóa công khai từ nguồn không xác minh.
  4. Đặt tên file mã hóa tiết lộ nội dung, ví dụ "luong-nhan-vien-2026.xlsx.gpg". Tên file không được mã hóa.
  5. Không thử giải mã trước khi xóa bản gốc.

GPG có đường cong học tập ban đầu, nhưng sau vài lần sử dụng, mã hóa một file chỉ mất vài giây. Đó là cái giá rất nhỏ để giữ an toàn cho hợp đồng, hồ sơ cá nhân hay dữ liệu khách hàng.

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

GPG có miễn phí không?

Có. GnuPG là phần mềm mã nguồn mở miễn phí. Gpg4win cho Windows cũng miễn phí; GPG Suite cho macOS có phần miễn phí, một số tính năng tích hợp thư cần trả phí.

Quên mật khẩu file mã hóa GPG có mở được không?

Không có cách khôi phục chính thống. Với mật khẩu đủ mạnh, việc thử đoán là không khả thi. Vì vậy hãy lưu mật khẩu trong trình quản lý mật khẩu.

File mã hóa GPG có mở được trên điện thoại không?

Có. Trên Android có các ứng dụng hỗ trợ OpenPGP; trên iOS cũng có ứng dụng tương thích. Bạn cần nhập khóa riêng vào ứng dụng nếu file được mã hóa bằng khóa công khai.

Nên chọn GPG hay nén file có mật khẩu?

Định dạng nén hiện đại với mã hóa AES cũng an toàn nếu mật khẩu mạnh, nhưng GPG hỗ trợ thêm mã hóa bằng khóa công khai và ký số, phù hợp hơn khi trao đổi với người khác.

Bài liên quan