GnuPG: Cách mã hóa và giải mã tệp

Ổ khóa điện tử

Trong thời điểm này với rất nhiều lỗ hổng trong cả phần mềm và phần cứng, nơi các vấn đề này có thể bị lợi dụng để có thể truy cập từ xa vào một số máy nhất định và thậm chí thực hiện leo thang đặc quyền từ xa hoặc cục bộ trên máy nạn nhân, điều quan trọng là phải thực hiện tất cả các quy trình và giao thức bảo mật mà chúng tôi biết hoặc chúng tôi có quyền sử dụng để giữ an toàn cho dữ liệu của chúng tôi. Và nếu bạn làm việc với dữ liệu nhạy cảm hoặc có một công ty có khách hàng cung cấp cho bạn thông tin, thì có nhiều lý do hơn.

Chúng tôi đã nhắc lại bằng cách chủ động và bị động rằng bạn phải cập nhật hệ thống, tránh trực tuyến khi có thể, dữ liệu nhạy cảm nhất nên được lưu trữ trong thiết bị lưu trữ cục bộ có thể tháo rời, để tránh thông tin luôn có sẵn trên máy nó có thể dễ bị tấn công và tất nhiên luôn phải sao lưu thường xuyên. Bên cạnh đó, Tôi khuyên bạn nên mã hóa nội dung các tệp của mình hoặc thực hiện mã hóa hoàn toàn các phân vùng của bạn để không thể truy cập dữ liệu nếu không có mật khẩu để giải mã, ngay cả khi bạn có quyền truy cập vào máy ...

Mã hóa là gì?

Ví dụ về mã hóa

Nguồn: Wikipedia

Trên nhiều trang web và hướng dẫn, bạn sẽ tìm thấy từ mã hóa và giải mã để chỉ việc mã hóa và giải mã dữ liệu máy tính. Nhưng, nếu bạn chưa biết, tôi sẽ đề cập với bạn, những thuật ngữ này có một số tranh cãi, mặc dù có vẻ như chúng khá được chấp nhận và phổ biến do mức độ thường xuyên của chúng, ngay cả giữa các chuyên gia trong lĩnh vực này. Sự nhầm lẫn đến từ mật mã hoặc khoa học che giấu, và cụ thể hơn là thuật ngữ tiếng Anh "mã hóa" xuất phát từ một thuyết thần học lấy trực tiếp từ krypto của Hy Lạp và đã được dịch trực tiếp sang tiếng Tây Ban Nha là mã hóa.

Mặt khác, trong tiếng Tây Ban Nha, có vẻ như bạn đang nói "đặt trong hầm mộ" một cái gì đó "lấy thứ gì đó ra khỏi hầm mộ". Tuy nhiên, nếu chúng ta phân tích tiếng Hy Lạp xem tất cả điều này đến từ đâu, thì "krypto" có nghĩa là che giấu. Tuy nhiên, bạn có thể sử dụng thuật ngữ mà bạn thích nhất ... thực tế là RAE đã chấp nhận nó là đồng nghĩa của mã hóa. Cá nhân tôi, tôi không muốn chú ý quá nhiều đến những sửa chữa này và thích sử dụng cả hai từ đồng nghĩa và để "khoa học hoặc nghệ thuật che giấu" cho steganography như một thuật ngữ rộng hơn.

Kết luận, khi chúng ta nói về mã hóa hoặc mã hóa dữ liệu hoặc tin nhắn chúng tôi đang đề cập đến một quy trình chuyển đổi thông tin để bảo vệ thông tin theo một cách nào đó. Phổ biến nhất là sử dụng một số loại hoán đổi ký tự hoặc thuật toán để thông tin nhạy cảm được chuyển thành một chuỗi ký tự, số và ký hiệu vô nghĩa. Trong khi quy trình giải mã hoặc giải mã là quy trình ngược lại, trong đó thông tin vô nghĩa đó được biến đổi thành một thứ gì đó có thể hiểu được đối với máy móc hoặc con người.

Một chút lịch sử

Máy mật mã Enigma của Đức Quốc xã

Nghệ thuật gây khó khăn cho các bên thứ ba bằng cách chuyển đổi thông tin nó không phải là một cái gì đó mới, Nó đã được thực hiện trong nhiều thiên niên kỷ, cụ thể là hơn 2500 năm trước. Từ người Ai Cập sử dụng chữ tượng hình đến thời Đế quốc La Mã với mã Caesar, được gọi như vậy bởi vì Julius Caesar (100 TCN - 44 TCN) đã sử dụng nó để mã hóa các thông điệp ông gửi cho quân đội của mình để nếu những thông điệp này rơi vào tay kẻ thù, họ sẽ không thể hiểu họ và không giành được lợi thế quân sự từ họ.

Trong thời hiện đại hơn, chúng ta cũng có ví dụ về cỗ máy bí ẩn của Đức quốc xã, trong đó sử dụng một loạt xi lanh để mã hóa hoặc mã hóa thông tin mà các chỉ huy Đức truyền cho quân đội và do đó ngăn kẻ thù biết được những chuyển động mà binh lính của Hitler sẽ thực hiện. Trên thực tế, chính những thông điệp được mã hóa này đã thúc đẩy máy tính ở Hoa Kỳ và Anh, khi những cỗ máy tính toán đầu tiên được tạo ra để cố gắng giải mã những thông điệp phức tạp này.

Như bạn đã biết, có một số các loại mã hóa, chẳng hạn như đối xứng và không đối xứngvà bạn sẽ thấy cách GnuGP hoặc GPG có thể hoạt động ở cả hai chế độ:

  • Mã hóa đối xứng- Khi một khóa duy nhất được sử dụng để mã hóa và giải mã tin nhắn, tệp, v.v. Trong loại mã hóa này, chúng ta có thể tìm và sử dụng các thuật toán mã hóa khác nhau như AES, DES, 3DES, v.v.
  • Mã hóa bất đối xứng: trong trường hợp này, hai khóa được sử dụng, một khóa công khai và một khóa riêng tư. Cái công khai được sử dụng để mã hóa và cái riêng để giải mã. Trong loại mã hóa này, chúng tôi cũng có các thuật toán mã hóa khác nhau, chẳng hạn như RSA, ElGramal, v.v.

Chìa khóa những gì nó đạt được là nhờ thuật toán này, thông tin được biến đổi và không thể lấy được nếu không có chìa khóa để giải mã nó ...

Nền: PGP

Nhiều người nhầm lẫn PGP với GPG và nó không giống nhau. PGP là viết tắt của Pretty Good Privacy và trong đó mô tả một chương trình do Phil Zimmermann phát triển để mã hóa, giải mã và ký dữ liệu để bảo vệ nó. Nó xuất hiện vào năm 1991 và là một chương trình khá phổ biến kết hợp các kỹ thuật mã hóa đối xứng và bất đối xứng để bảo mật thông tin.

Nhưng PGP là một phần mềm có vấn đề vì giấy phép của một số thuật toán, chúng không được mở và ở PGP Inc., họ khá lo lắng về các bằng sáng chế khiến họ đi theo hướng khác. Zimmermann hiểu rằng một tiêu chuẩn miễn phí cho PGP là rất cần thiết do tầm quan trọng của PGP vào thời điểm đó, vì vậy họ đề xuất một tiêu chuẩn được gọi là OpenPGP, một thứ gì đó sẽ trở thành mầm mống của GPG.

GPG là gì?

GnuPG hoặc GPG (GNU Privacy Guard) là một phần mềm được phát triển bởi FSF (Tổ chức Phần mềm Tự do) để triển khai chương trình tương thích OpenPGP. Với nó, bạn có thể mã hóa và giải mã các tin nhắn văn bản thuần túy, các tệp và tạo chữ ký điện tử để bảo mật nội dung mà chúng tôi chuyển qua email hoặc bất kỳ dịch vụ mạng nào khác. Ngoài ra, GPG là miễn phí và miễn phí theo giấy phép GPL.

Bạn có thể làm việc từ bảng điều khiển hoặc thiết bị đầu cuối bằng cách sử dụng các lệnh hoặc cũng có một số GUI có thể được cài đặt hoặc các chương trình giúp hoạt động với GPG nhưng từ một giao diện thân thiện và trực quan hơn cho những người không thích shell quá nhiều. để làm điều đó từ môi trường máy tính để bàn. Một số chương trình này chắc chắn sẽ nghe quen thuộc với bạn, vì chúng khá phổ biến trên các bản phân phối Linux, như trường hợp của Cá ngựa.

Hướng dẫn GnuPG:

Như tôi đã nói, nó không phải là giải pháp thay thế duy nhất mà chúng tôi có trong bản phân phối của mình mã hóa và giải mã, vì có nhiều khả năng khác ngoài GPG, chẳng hạn như OpenPGP. Trên thực tế, chúng tôi đã dành một số tiêu đề cho các lựa chọn thay thế khác, chẳng hạn như mật mã để mã hóa các thư mục và phân vùng, cryptmount, tro, v.v. Hơn nữa, nếu bạn quyết định sử dụng GPG thông qua bất kỳ GUI có sẵn nào, bạn cũng có thể tự do làm điều đó, nhưng ở đây tôi sẽ mô tả quy trình mã hóa và giải mã nhanh chóng các tệp bằng cách sử dụng các lệnh từ thiết bị đầu cuối.

Mã hóa tệp bằng GPG:

Xóa mã hóa trong thiết bị đầu cuối

Để mã hóa các tệp bằng GPG từ bảng điều khiển của bản phân phối GNU / Linux của bạn, điều đầu tiên bạn nên làm là có đã cài đặt GPG trong bản phân phối của bạn, để làm điều này, bạn có thể sử dụng bất kỳ công cụ quản lý gói nào vì chức năng của công cụ này làm cho nó có sẵn trong tất cả các kho. Ví dụ, trên Debian và các dẫn xuất, bạn có thể thử:

sudo apt-get install gnupg2

Sau khi cài đặt, bạn có thể bắt đầu sử dụng nó. Ví dụ: hãy tưởng tượng rằng bạn có một tệp văn bản mà bạn muốn mã hóa. Chúng tôi sẽ gọi tệp này là Private.txt, trong đó tôi sẽ nhập văn bản LinuxAdictos.com và mã hóa nó:

gpg -c privado.txt

Và bây giờ Chúng tôi đã mã hóa nó sau khi nhập cụm mật khẩu điều đó sẽ hỏi chúng tôi, nghĩa là, khóa mã hóa (nó yêu cầu chúng tôi một lần nữa để xác nhận và thấy rằng chúng tôi không mắc lỗi khi nhập nó, vì nếu bạn đặt một khóa khác và không nhớ nó hoặc bị nhầm lẫn, thì bạn sẽ không có thể giải mã nó). con mắt! Hãy cẩn thận vì tệp được mã hóa sẽ không được gọi là private.txt, mà thay vào đó là phần mở rộng .gpg được thêm vào để phân biệt với tệp khác, vì vậy đừng nhầm lẫn khi gửi tệp ban đầu, vì nó sẽ không được bảo vệ ...

Giải mã tệp bằng GPG:

Ví dụ giải mã với gpg

Bây giờ, bạn có thể xóa bản gốc nếu bạn muốn và chỉ để lại tệp riêng tư.txt.gpg xuất hiện đã được mã hóa và bạn không thể hiểu được thông điệp mà chúng tôi đã đưa vào bên trong nó, hãy nhớ rằng đó là tên của blog này. Tốt nếu chúng ta muốn giải mã tin nhắn và khôi phục tệp mà con người có thể đọc và hiểu được của chúng tôi, nó sẽ đủ để chúng tôi nhớ mật khẩu mà chúng tôi đã đặt trước đó khi nó yêu cầu chúng tôi sau khi thực hiện lệnh sau:

gpg privado.txt.gpg

Và bây giờ sau khi nhập mật khẩu chúng tôi sẽ có lại tệp như trước khi mã hóa nó. Nhân tiện, như bạn có thể thấy trong ảnh chụp màn hình mà tôi thực hiện, có thể thấy rằng chương trình GPG đã sử dụng thuật toán mã hóa AES128 theo mặc định, vì chúng tôi không chỉ định bất kỳ thay thế nào khác khi chúng tôi mã hóa tệp. Nhưng nếu bạn muốn sửa đổi loại thuật toán, bạn có thể thông qua tùy chọn –Cypher-cái gì đó tiếp theo là loại thuật toán bạn muốn trong số những thuật toán mà GPG hỗ trợ (bạn có thể xem thêm thông tin trong man gpg). Và nếu bạn muốn biết các thuật toán được hỗ trợ, bạn có thể xem chúng bằng:

gpg --version

danh sách thuật toán cộng với thông tin về phiên bản GPG, v.v.

Đừng quên để lại bình luận của bạn, câu hỏi và gợi ý ... Tôi hy vọng bài hướng dẫn này sẽ giúp ích nhiều cho bạn.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   đùa giỡn dijo

    Nhược điểm duy nhất mà tôi thấy là với hệ thống này, tệp KHÔNG được mã hóa vẫn "khả dụng". Trong trường hợp của tôi, tôi cần tệp ban đầu được xóa một cách an toàn và / hoặc chuyển đổi sang mã hóa khác mà không để lại bất kỳ phần nào còn lại trên máy khách.

    Có một ứng dụng dựa trên CCRYPT với giao diện đồ họa (qt5) hoặc với một thiết bị đầu cuối, nó được gọi là Qccrypt cho debian / ubuntu.

    Một lời chào!

  2.   xiib dijo

    Tôi đã làm một bài kiểm tra và với lệnh để mã hóa, tôi không gặp vấn đề gì nhưng khi sử dụng lệnh để giải mã, hóa ra nó không yêu cầu tôi nhập mật khẩu và tệp gốc lại xuất hiện. Chuyện gì đã xảy ra?

    1.    Tháng Ba dijo

      Troszkę późno, ale odszyfrowanie pwidłowo, powinno wyglądać tak: gpg -o (nazwa pliku jaki chcemy otrzymać po odszyfrowaniu) -d (nazwa zaszyfrowanego pliku.gpg)

      Trong tiếng Tây Ban Nha: "Hơi muộn, nhưng giải mã chính xác, nó sẽ giống như sau: gpg-o (tên tệp chúng tôi muốn nhận sau khi giải mã) -d (tên tệp được mã hóa.gpg)".