Saya telah mengenkripsi file menggunakan enkripsi simetris seperti ini:
gpg --symmetric myfile
yang menghasilkan file myfile.gpg
.
Baik. Sekarang mari kita mendekripsi file lagi:
gpg -o myfile --decrypt myfile.gpg
Saya diminta frasa sandi yang saya pakai, lalu saya lihat
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected
Saya tidak yakin tentang baris pertama dan terakhir di sana.
- Apa itu sandi CAST5 dan apakah itu aman? Saya tahu 3DES dan AES dan saya tahu itu aman.
- Mengapa tidak dilindungi untuk integritas?
- Dan terlebih lagi, bagaimana cara memperbaikinya?
encryption
gnupg
data-integrity
aes
gertvdijk
sumber
sumber
gpg -c myfile
mengenkripsi dangpg myfile.gpg
mendekripsi, output akan didekripsimyfile
secara default.gpg myfile.gpg
akan menghasilkan keluaran terurai yang dikirim ke stdout di sistem saya ...Jawaban:
Latar Belakang
CAST-5 adalah algoritma enkripsi yang lebih tua yang digunakan oleh GnuPG karena AES tidak ada belum kembali saat GnuPG diciptakan awalnya sumber . Ini tidak banyak digunakan (terlepas dari GnuPG untuk alasan kompatibilitas).
Ini
WARNING: message was not integrity protected
karena fitur ini tidak diaktifkan secara default pada saat enkripsi. Jika ini diaktifkan, GnuPG dapat mengetahui apakah file telah diubah dalam perjalanan.Pembaruan: versi modern GnuPG yang dikirimkan dengan Ubuntu / Debian sekarang memiliki MDC diaktifkan secara default dan Anda seharusnya tidak pernah melihat pesan ini lagi untuk apa pun yang ditandatangani dengan versi yang lebih baru ini.
Solusi
Untuk menggunakan AES-256 yang lebih kuat, Anda harus menentukannya di baris perintah atau di file konfigurasi Anda.
Baris perintah: tambahkan
--cipher-algo AES256
opsi sehingga baris penuh untuk mengenkripsi menjadiFile konfigurasi (disarankan): tambahkan baris berikut ke
~/.gnupg/gpg.conf
file konfigurasi Anda .Saya merekomendasikan pendekatan ini karena ini akan digunakan untuk semua operasi GPG di masa depan pada akun pengguna ini.
Tidak ada yang berubah bagi pengguna untuk mendekripsi file - GnuPG akan mendeteksi ini secara otomatis.
Perhatikan bahwa menggunakan cipher AES-256, pesan secara otomatis dilindungi untuk integritas. Untuk secara manual mengaktifkan perlindungan integritas pada cipher lain yang tidak diaktifkan (seperti CAST-5) tambahkan
--force-mdc
opsi saat mengenkripsi.Bahkan lebih baik: masuk!
Pendekatan yang lebih baik lagi adalah dengan menandatangani file Anda dengan keypair Anda (jika Anda memilikinya). Cukup tambahkan
--sign
opsi ke perintah enkripsi, seperti ini:Ini tidak hanya akan memvalidasi integritas file, tetapi juga memungkinkan penerima file untuk memverifikasi asal. Setiap perubahan pada file akan menyebabkan tanda tangan gagal.
sumber