Cách tạo GPG key trong Linux

Bạn có file hoặc tin nhắn muốn giữ kín không? Để giữ chúng an toàn, bạn nên sử dụng các khóa mã hóa GPG. Nếu bạn đang chạy Linux, việc mã hóa các file bằng GPG rất dễ dàng, miễn là bạn đã cài đặt GnuPG.

Bài viết hôm nay sẽ chỉ cho bạn cách tạo các GPG key trong Linux chỉ bằng một vài lệnh terminal đơn giản.

Cài đặt GnuPG

Bạn cần phải bắt đầu bằng cách cài đặt GnuPG trước. Đối với các bản phân phối dựa trên Debian hoặc Ubuntu, hãy mở một terminal và chạy:

sudo apt install gnupg

Đối với các bản phân phối Linux sử dụng DNF hoặc YUM (như Fedora), hãy chạy lệnh sau:

yum install gnupg

Hoặc là:

dnf install gnupg

Nếu bạn đang chạy Arch, hãy cài đặt GnuPG bằng lệnh sau:

pacman -S screen

Bạn cũng có thể tải xuống mã nguồn tại đây và tự biên dịch nó nếu bạn thích.

Tạo cặp GPG key

Khi GnuPG được cài đặt, bạn sẽ cần tạo cặp GPG key của riêng mình, bao gồm một private và một public key. Private key cho phép bạn giải mã hoặc mã hóa các file và tạo chữ ký (signature) bằng chính private key đó.

Public key mà bạn chia sẻ có thể được sử dụng để xác minh rằng, file được mã hóa thực sự đến từ bạn và được tạo bằng key của chính bạn. Public key cũng có thể được những người khác sử dụng để mã hóa các file cho bạn giải mã.

Để tạo cặp private và public key này, hãy mở terminal và nhập lệnh sau:

gpg --gen-key

Lệnh này sẽ bắt đầu tạo cặp private và public key. Bạn sẽ được yêu cầu nhập tên đầy đủ và địa chỉ email. Hãy thực hiện điều đó và nhấn Enter.

Nhập tên và địa chỉ email

Bạn sẽ được yêu cầu xác nhận lựa chọn của mình, chỉnh sửa hoặc thoát. Chọn tùy chọn bạn muốn và nhấn Enter.

Trước khi key được tạo, bạn sẽ cần cung cấp cụm mật khẩu an toàn. Nhập cụm mật khẩu vào và nhấn Enter.

Nhập cụm mật khẩu

Có thể mất chút thời gian để key của bạn được tạo. Sau khi thực hiện xong, bạn sẽ thấy thông báo xác nhận.

Thông báo xác nhận

Thu hồi key

Nếu vì lý do nào đó, bạn cần thu hồi key của mình, hãy chạy lệnh sau:

gpg --output revoke.asc --gen-revoke uid

uid là User ID. Ví dụ, bạn có thể sử dụng địa chỉ email của mình ở đây. Điều này sẽ tạo ra một chứng chỉ thu hồi (bạn sẽ cần cung cấp mật khẩu để thực hiện điều này). Bạn cần đưa ra một lý do, chọn một trong các tùy chọn được đánh số từ 0 đến 3.

Chọn 1 trong các lý do

Bạn có thể làm điều này ngay lập tức sau khi bạn tạo key của mình. Chứng chỉ của bạn sẽ được xuất thành một file - trong trường hợp này là file có tên “revoke.asc”.

Xuất public key vào một file

Để chia sẻ file hoặc tin nhắn của bạn với người khác, bạn sẽ cần chia sẻ public key của mình, nghĩa là xuất nó từ máy tính. Để xuất public key của bạn sang một file, hãy mở một terminal và nhập:

gpg --armor --export your@emailaccount.com > key.asc

Nếu bạn muốn key ở định dạng có thể đọc được (ví dụ: ASCII trong file văn bản), hãy chạy lệnh sau:

gpg --armor --output key.txt --export your@emailaccount.com

Sau đó, bạn có thể mở file này bằng bất kỳ trình soạn thảo văn bản tiêu chuẩn nào.

Xuất public key sang keyserver

Bạn có thể làm cho public key của mình dễ dàng chia sẻ và tìm kiếm, bằng cách đăng ký nó vào keyserver, một kho lưu trữ key công khai. Ví dụ, bạn có thể sử dụng kho lưu trữ MIT (link tham khảo: https://pgp.mit.edu/) để đồng bộ hóa key của mình với các kho lưu trữ khác.

Đầu tiên, tìm Key ID bằng cách mở terminal và nhập:

gpg --fingerprint

Xác định vị trí key và ghi chú 8 chữ số cuối của User ID (fingerprint của User ID). Ví dụ: B852 085C.

Xác định vị trí key và ghi chú 8 chữ số cuối của User ID

Sử dụng User ID 8 chữ số tìm được và nhập thông tin sau (thay thế B852 085C bằng ID của riêng bạn):

gpg --keyserver gpg.mit.edu --send-key B852085C

Public key sau đó sẽ được đăng ký với keyserver, nơi người khác có thể tìm và nhập nó. Hãy nhớ rằng, không có vấn đề gì khi chia sẻ public key. Nó không thể được sử dụng để giải mã các file hoặc tin nhắn nhưng có thể được sử dụng để mã hóa chúng trước khi gửi cho bạn và chỉ bạn mới có thể giải mã chúng.

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

Để mã hóa một file, hãy mở một terminal và chạy lệnh sau:

gpg --encrypt --recipient 'your@emailaccount.com' --output encryptedfile.txt.enc originalfile.txt

Bạn có thể thay thế email người nhận bằng key fingerprint nếu thích. Thay thế tên file đầu ra và đầu vào bằng các file bạn sẽ mã hóa, cũng như file đầu ra của riêng bạn.

Để giải mã file, hãy chạy lệnh sau:

gpg --decrypt --output decrypted.txt encryptedfile.txt.enc

Bạn sẽ được yêu cầu cung cấp cụm mật khẩu để cho phép truy cập vào private key và giải mã file. Sau đó, nội dung được giải mã sẽ được xuất dưới dạng file, liệt kê dưới flag --output.

Hãy yên tâm với mã hóa GPG!

Trong một thế giới lý tưởng, bạn sẽ không cần phải lo lắng về việc mã hóa các file nhạy cảm của mình. Tuy nhiên, thế giới thực không hề lý tưởng chút nào. Nếu bạn lo lắng về những con mắt tò mò, mã hóa GPG sẽ giữ cho các file, tin nhắn và email của bạn an toàn.

Nếu bạn sử dụng Windows, bạn có thể mã hóa các file của mình bằng Powershell hoặc Gpg4win.

Nếu bạn có mẹo mã hóa hay muốn chia sẻ với mọi người, hãy để lại ý kiến ​trong phần bình luận bên dưới nhé!

Thứ Năm, 04/07/2019 23:17
52 👨 74