GPG simetrik şifreleme kullanırken “UYARI: mesaj bütünlük korumalı değildi” nasıl düzeltilir?


45

Böyle bir dosyayı simetrik şifreleme kullanarak şifreledim:

gpg --symmetric myfile

bir dosyada sonuçlanır myfile.gpg.

Peki. Şimdi dosyayı tekrar şifresini çözelim:

gpg -o myfile --decrypt myfile.gpg

Yaptığım parola soruluyor, sonra görüyorum.

gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected

Oradaki ilk ve son satırdan emin değilim.

  • CAST5 şifresi nedir ve güvenli midir? 3DES ve AES'i biliyorum ve bunların güvenli olduğunu biliyorum.
  • Neden bütünlük için korunmuyor?
  • Dahası, bunu nasıl düzeltebilirim?

Btw sadece gpg -c myfileşifrelemek ve gpg myfile.gpgşifresini çözmek için, çıkış myfilevarsayılan olarak şifresi çözülür .
CPN

1
@CyprianGuerra gpg myfile.gpgsistemimde stdout'a gönderilen şifrenin çözülmesiyle sonuçlanacak ...
gertvdijk

İlginç. Varsayılan
ayarlarda var

GUI'yi buradan indirdim ve dosyanın şifresini çözdüm. İşe yaradı! pgptool.github.io
Iftikhar Ahmad Dar

Yanıtlar:


69

Arka fon

CAST-5 , GnuPG tarafından kullanılan daha eski bir şifreleme algoritmasıdır, çünkü GnuPG başlangıçta kaynak yaratıldığı sırada AES yoktu . Yaygın olarak kullanılmamaktadır (uyumluluk nedeniyle GnuPG dışında).

Bunun WARNING: message was not integrity protectednedeni, şifreleme sırasında bu özelliğin varsayılan olarak açık olmamasıdır. Bu açıksa, GnuPG dosyanın aktarım sırasında değiştirilip değiştirilmediğini söyleyebilirdi.

Güncelleme: Ubuntu / Debian ile birlikte gelen GnuPG'nin modern versiyonları artık varsayılan olarak MDC'yi etkinleştirmiştir ve bu yeni versiyonlarla imzalanan herhangi bir şey için bir daha asla bu mesajı görmemelisiniz.

Çözümler

Daha güçlü bir AES-256 kullanmak için, onu komut satırında veya yapılandırma dosyanızda belirtmelisiniz.

  • Komut satırı: --cipher-algo AES256seçeneği şifrelemek için tam satır olacak şekilde ekleyin

    gpg -o myfile.gpg --cipher-algo AES256 --symmetric myfile
    
  • Yapılandırma dosyası (önerilir): ~/.gnupg/gpg.confyapılandırma dosyanızı aşağıdaki satırı ekleyin .

    cipher-algo AES256
    

    Bu yaklaşımı öneririm, çünkü bu kullanıcı hesabındaki gelecekteki tüm GPG işlemleri için kullanılacak.

Kullanıcının dosyanın şifresini çözmesi için değiştirilecek bir şey yok - GnuPG bunu otomatik olarak algılar.

AES-256 şifresini kullanarak, mesajın bütünlük için otomatik olarak korunduğunu unutmayın. Bütünlük korumasını, etkin olmadığı diğer şifrelerde (CAST-5 gibi) manuel olarak etkinleştirmek için --force-mdc, şifrelemede seçenek ekleyin .

Daha da iyisi: imzala!

Daha iyi bir yaklaşım da (eğer varsa) dosyalarınızı keypair'iniz ile imzalamak olacaktır. Bu --signseçeneği şifreleme komutuna ekleyin , şunun gibi:

gpg -o myfile.gpg --cipher-algo AES256 --sign --symmetric myfile

Bu sadece dosyanın bütünlüğünü doğrulamakla kalmaz, aynı zamanda dosyanın alıcısının menşei doğrulamasını da mümkün kılar. Dosyadaki herhangi bir değişiklik başarısızlık imza imzasına sahip olacaktır.


İmzalamak için sertifikaya ihtiyacım yok mu?
bilal fazlani

@bilalfazlani imzalamak için GnuPG keypair'e ihtiyacınız olacak, evet. İstemiyorsanız herkese açık hale getirmeye gerek yok. Sadece ortak anahtarı, şifreli dosyaları paylaştığınız meslektaşlarınızla paylaşın; anahtarın parmak izini sizinle birlikte doğrulamaları gerekir.
gertvdijk

Detaylı cevap için teşekkür ederim. Tuş takımının nasıl kullanılacağı hakkında daha fazla bilgi verebilir misiniz?
ben-Nabiy Derush

Alıcı tarafında "ileti bütünlüğü korunmadı" ve bunun gönderen tarafında nasıl düzeltileceğini anlatıyorsunuz. Sorun, alıcı tarafında daha eski mesajların şifresini çözebilmek için konuyu görmezden
gelmektir

@ ben-NabiyDerush Bu iki makale, kamuya açık ve özel bir keypair'i nasıl (ve neden) kullanacağınız konusundaki sorularınızı silebilir. Açık anahtar şifreleme . Güven Web
jpaugh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.