Bạn đã bao giờ cần email cho ai đó thông tin nhạy cảm như mật khẩu hoặc thông tin đăng nhập máy chủ nhưng lại không biết cách gửi an toàn để tránh thông tin rơi vào tay kẻ xấu?
Bài viết này sẽ giới thiệu cách truyền an toàn các tin nhắn và tệp được mã hóa bằng PGP thông qua công cụ gnupg phổ biến.
cài đặt gnupg
Trước tiên hãy kiểm tra xem gnupg đã được cài đặt trên máy của bạn hay chưa. Trong terminal, chạy lệnh:
gnupg --version
Nếu nó hiển thị phiên bản gnupg đang chạy, thì bạn đã hoàn tất và có thể chuyển sang phần tiếp theo. Nếu không, hãy cài đặt gnupg bằng cách chạy:
sudo apt-get install gnupg2
Sau khi hoàn tất, hãy kiểm tra xem nó được cài đặt chưa bằng lệnh đầu tiên:
gnupg -- version
Giả sử gnupg đã được cài đặt đúng cách, lệnh sẽ trả về số phiên bản.
Tạo khóa PGP
Trước tiên bạn sẽ sử dụng mã hóa bất đối xứng để tạo một cặp khóa PGP bao gồm cả khóa chung và khóa riêng. Khóa chung có thể được gửi cho bất kỳ ai từ người đó bạn muốn nhận tin nhắn được mã hóa, trong khi khóa riêng được giữ cho riêng bạn ở một nơi an toàn.
Sau đó, mọi người có thể mã hóa tin nhắn với khóa chung và gửi nó cho bạn, tin nhắn này sau đó có thể được bạn giải mã bằng khóa riêng. Để tạo cặp khóa, chạy lệnh sau trên terminal:
gpg --generate-key
Quá trình bắt đầu bằng cách hỏi tên và địa chỉ email của bạn. Đây không nhất thiết phải là tên và email thật của bạn nhưng sẽ là thứ mà những người khác sẽ nhìn thấy khi chọn người để mã hóa tin nhắn cho, vì vậy hãy đảm bảo rằng đó là thứ mà dựa vào đó người khác có thể dễ dàng nhận ra bạn.
Tiếp theo, nhập chữ O để xác nhận tên và địa chỉ email, sau đó bạn sẽ được nhắc nhập mật khẩu mong muốn. Bạn sẽ cần nhập mật khẩu này mỗi khi muốn giải mã một tin nhắn được gửi đến cho bạn.
Khi bạn đã xác nhận mật khẩu, nó sẽ bắt đầu tạo cặp khóa PGP mới, quá trình này có thể mất vài phút, sau đó bạn sẽ thấy thông báo cho biết khóa của bạn đã được tạo thành công.
Xuất khóa công khai của bạn
Bây giờ cặp khóa của bạn đã được tạo, bạn cần gửi khóa chung đến cho những người khác. Trong terminal chạy lệnh:
gpg -a --export -e 'myname@domain.com` > mykey.asc
Thay ‘myname@domain.com’ bằng địa chỉ email bạn đã cung cấp khi tạo khóa PGP. Bạn sẽ thấy một tệp mới trong thư mục hiện tại có tên mykey.asc. Gửi tệp này cho bất kỳ ai mà bạn muốn gửi tin nhắn được mã hóa cho bạn.
Nhập khóa công khai
Bạn có thể chia sẻ khóa công khai của mình với người khác và người khác cũng có thể chia sẻ khóa công khai của họ với bạn. Khi nhận được khóa PGP công khai của ai đó, hãy lưu tệp vào một thư mục và truy cập terminal từ cùng một thư mục, hãy chạy:
gpg --import key.asc
Thao tác này sẽ nhập khóa PGP công khai của người đó vào gnupg, cho phép bạn gửi tin nhắn được mã hóa cho họ. Bạn có thể xem danh sách tất cả các khóa PGP hiện có trong gnupg bất cứ lúc nào:
gpg --list-keys
Bạn sẽ thấy một loạt các mục giống như bên dưới, một mục cho mỗi khóa có trong gnupg:
Phần thông tin duy nhất bạn cần chú ý là tên và địa chỉ email của mục nhập, chúng cho biết chủ sở hữu của khóa đó. Khi mã hóa tin nhắn, bạn chỉ cần địa chỉ email của người nhận.
Mã hóa tin nhắn qua PGP
Ví dụ: bạn có thể cần gửi một số thông tin nhạy cảm cho người thiết kế web của bạn, bạn đã nhập khóa PGP của người đó theo địa chỉ email designer@domain.com. Nhập tin nhắn mong muốn và lưu nó vào một tệp văn bản, ví dụ: message.txt . Trong terminal và bên trong thư mục chứa message.txt, chạy lệnh:
gpg -e -a -r 'designer@domain.com' message.txt
Trong lệnh trên:
-e chỉ định rằng chúng ta đang mã hóa dữ liệu (e viết tắt của encryption, nghĩa là mã hóa)
-a nói rằng chúng ta muốn đầu ra ở định dạng ASCII hoặc văn bản thuần túy
-r là viết tắt của recipient, nghĩa là người nhận, đó là lý do nó được theo sau bởi địa chỉ email của nhà thiết kế
Cuối cùng là tệp tin nhắn mà chúng ta muốn mã hóa
Nếu có yêu cầu xác nhận rằng bạn thực sự muốn mã hóa bằng khóa chung này, bạn chỉ cần nhấn phím Y để đồng ý. Một tệp message.txt.asc mới sẽ được tạo và nếu bạn mở tệp trong trình soạn thảo văn bản, bạn sẽ thấy một chuỗi ký tự vô nghĩa:
Đây là dạng tin nhắn được mã hóa mới được tạo . Bạn có thể đính kèm tệp này trong email hoặc copy & paste nội dung của tệp này vào email.
Sau đó, người nhận sẽ có thể giải mã thư bằng khóa riêng tư của họ, đảm bảo rằng bất kỳ ai nhìn thấy thư này trong quá trình di chuyển sẽ không thể hiểu nó có nghĩa gì.
Mã hóa tập tin nhị phân
Trên đây là cách mã hóa tin nhắn văn bản, nhưng còn các tệp nhị phân thì sao? Nó hoạt động khá giống nhau. Ví dụ, để mã hóa một tệp có tên images.zip, trong terminal hãy chạy lệnh:
gpg -e -r 'designer@domain.com' images.zip
Sự khác biệt duy nhất là tùy chọn -a bị xóa. Sau đó, nếu được nhắc xác nhận việc sử dụng khóa chung, chỉ cần nhấn phím Y để đồng ý.
Một tệp mới có tên images.zip.gpg sẽ được tạo, đây là phiên bản được mã hóa của tệp zip mà bạn có thể email cho nhà thiết kế của mình dưới dạng tệp đính kèm. Sau đó, họ có thể giải mã tệp ZIP bằng khóa riêng của họ.
Giải mã tin nhắn
Bạn cũng cần một cách để giải mã các tin nhắn được gửi đến cho bạn. Hãy nhớ rằng, để ai đó gửi cho bạn một tin nhắn được mã hóa, trước đó bạn phải chia sẻ khóa PGP công khai của mình với họ. Bạn sẽ nhận được một khối văn bản được mã hóa, chẳng hạn như:
Lưu khối văn bản này vào một tệp, ví dụ như message.asc và trong terminal chạy lệnh:
gpg -d message.asc > message.txt
Bạn sẽ được nhắc nhập mật khẩu giống với mật khẩu bạn đã cung cấp khi tạo cặp khóa PGP ban đầu. Sau khi nhập thành công mật khẩu, một tệp tin nhắn.txt sẽ được tạo có chứa phiên bản được giải mã của tin nhắn ở dạng văn bản thuần túy.
Mã hóa tin nhắn/email trên Linux
Thông qua hướng dẫn này, bạn đã học được mọi thứ cần thiết để bảo mật thông tin liên lạc của mình thông qua mã hóa PGP. Bạn đã học cách tạo cặp khóa PGP, chia sẻ khóa chung của mình với người khác, nhập khóa chung của người khác, cùng với cách mã hóa và giải mã tin nhắn.
Lần tới khi bạn cần gửi thông tin nhạy cảm qua email, bạn có thể yên tâm rằng chỉ người nhận mới có thể xem nội dung của thư, tránh xa những vị khách không mong muốn.
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/gnupg-encryption-on-linux/
Hồ Chí Minh, Việt Nam – TopDev hân hạnh công bố Báo cáo Thị trường IT Việt Nam năm 2024 – 2025 với chủ đề “Vietnam IT & Tech Talent Landscape”, một bản phân tích toàn diện về bối cảnh công nghệ...
Nhiệt huyết trong công việc, anh Vương Dũng (29 tuổi, Đà Nẵng) là người "truyền lửa" giúp các học viên có thêm động lực trong học tập suốt hai năm qua.
Nhiều phụ huynh lựa chọn hình thức học gia sư trực tuyến cho con với ưu điểm như tiết kiệm thời gian và chi phí, linh hoạt lịch học, đảm bảo chất lượng với sĩ số 1-1.
Người tìm việc có thể thấy thị trường lao động năm 2024 cạnh tranh hơn, vì các công ty thực hiện sa thải để cắt giảm chi phí, chậm tuyển dụng và đề nghị mức lương thấp. Nhưng một số...
Tự học lập trình PHP có khó không là câu hỏi nhiều người thắc mắc, bạn muốn biết phương pháp tự học liệu có hiệu quả, ưu nhược điểm là gì? Câu trả lời có ngay trong bài viết bên...
Lập trình viên PHP là gì? Học lập trình PHP cần có kiến thức, kỹ năng như thế nào để ra nghề nhanh chóng? Bài viết dưới đây sẽ giúp bạn giải đáp chi tiết những thắc mắc trên bằng...
Bạn nghe nói khóa học trí tuệ nhân tạo ở FUNiX được nhiều học viên tin tưởng lựa chọn nhưng chưa biết thực hư như thế nào, lý do gì sao nên “chọn mặt gửi vàng”. Bài viết dưới đây...
Đăng ký nhận bản tin
Nhận bản tin, báo cáo từ các chuyên gia hàng đầu về lĩnh vực Công nghệ thông tin mới nhất!
Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
info@funix.edu.vn
0782313602 (Zalo, Viber)
FUNiX V2 GenAI Chatbot×
yêu cầu gọi lại
Yêu cầu FUNiX gọi lại để hỗ trợ thông tin, chương trình học, chỉ tiêu - điều kiện tuyển sinh - học phí,... hoàn toàn FREE
Bình luận (0
)