Bagaimana saya bisa mengotomatisasi dekripsi gpg yang menggunakan frasa sandi sambil merahasiakannya?

13

Saya bertugas mengotomatisasi dekripsi gpg menggunakan cron (atau alat penjadwalan pekerjaan yang kompatibel dengan Ubuntu Server). Karena harus otomatis saya menggunakan --passphrasetetapi berakhir di riwayat shell sehingga terlihat dalam daftar proses.

Bagaimana saya bisa mengotomatisasikan dekripsi sambil mempertahankan standar keamanan yang baik (lebih bagus)?

Contoh akan sangat dihargai.

Zakk Coetzee
sumber
Argumen seperti ini terlihat di psdll kecuali Anda sudah hidepidaktif /proc, tetapi shell menjalankan skrip (dari cron atau yang lain) tidak interaktif dan tidak boleh menulis sejarah kecuali salah konfigurasi.
dave_thompson_085

Jawaban:

23

Simpan frasa sandi dalam file yang hanya dapat dibaca oleh pengguna tugas cron, dan gunakan --passphrase-fileopsi untuk memberi tahu gpguntuk membaca frasa sandi di sana.

Ini akan memastikan bahwa frasa sandi tidak terlihat dalam informasi proses dalam memori. Tingkat keamanan akan ditentukan oleh tingkat akses ke file yang menyimpan frasa sandi (serta tingkat akses ke file yang berisi kunci), termasuk di mana pun isinya berakhir disalin (jadi berhati-hatilah dengan cadangan), dan aksesibilitas off-line (menarik disk keluar dari server). Apakah tingkat keamanan ini memadai akan tergantung pada kontrol akses Anda ke server yang menyimpan file, secara fisik dan perangkat lunak, dan pada skenario yang Anda coba mitigasi.

Jika Anda menginginkan standar keamanan yang hebat, Anda perlu menggunakan modul keamanan perangkat keras alih-alih menyimpan kunci Anda (dan frasa sandi) secara lokal. Ini tidak akan mencegah kunci dari digunakan di situ , tetapi itu akan mencegahnya dari disalin dan digunakan di tempat lain.

Stephen Kitt
sumber
+1 untuk menyebutkan modul keamanan perangkat keras, satu-satunya solusi, sungguh, untuk teka-teki ini.
MariusMatutiae
Stephen berterima kasih atas modul keamanan perangkat keras yang disebutkan, saya akan melakukan riset. Terima kasih telah menunjukkan saya ke arah yang benar.
Zakk Coetzee
Kunci perangkat keras @StephenKitt sangat bagus saat bekerja. Ketika mereka tidak, yah ...
Satō Katsura
@ SatōKatsura benar, meskipun saya akan menunjukkan bahwa Yubikey bukan HSM. (Yang tidak berarti HSM tentu saja tidak rentan .)
Stephen Kitt
"Jika Anda menginginkan standar keamanan yang hebat," maka Anda tidak dapat memiliki dekripsi pekerjaan otomatis atau menandatangani apa pun.
JimmyB
5

Dekripsi otomatis berarti Anda harus menyimpan frasa sandi di suatu tempat, atau tidak menggunakan kata sandi (kecuali jika Anda menggunakan opsi tambahan seperti yang ditunjukkan dalam jawaban lain yang dikirimkan oleh Stephen ketika saya mengetikkan kata sandi saya)! Tidak satu pun dari mereka yang memenuhi persyaratan Anda untuk standar keamanan yang baik atau hebat.

yaitu kebutuhan Anda tidak kompatibel dengan itu aman.

Anda dapat mengandalkan hal-hal seperti - Anda harus root, saya telah memberikan file di mana frasa sandi saya disimpan dengan nama yang benar-benar membingungkan, saya telah mengenkripsi sistem file yang mendasarinya, dll., Dll. Tetapi semuanya adalah lapisan yang sepele untuk mengelak setelah Anda root di tempat pertama.

Opsi yang mencegah frasa sandi muncul di daftar proses adalah --passphrase-file <file-name>.

Namun, itu tidak lebih aman daripada hanya menghapus frasa sandi di tempat pertama.

EightBitTony
sumber
Terima kasih telah menjelaskan kepada Tony, Anda memberikan pandangan yang lebih baik tentang masalah ini. Modul keamanan perangkat keras seperti yang disebutkan oleh Stephen akan menjadi tujuan utama.
Zakk Coetzee
@ZakkCoetzee: Seperti yang saya katakan di jawaban lain, apa yang menghentikan penyerang dari menggunakan HSM jika mereka root?
Martin Bonner mendukung Monica
@ MartinBonner Seperti dikatakan di atas oleh Stephen Kitt, itu menghentikan mereka dari mendapatkan kunci yang jelas lebih baik daripada mendapatkan kunci.
Zakk Coetzee
Memang, tapi tidak jauh lebih baik. Tanyakan Diginotar (yang memiliki kunci mereka dalam HSM, tetapi membiarkan HSM terhubung dan dengan smart-card yang relevan di slot - sehingga penyerang dapat menandatangani sejumlah sertifikat penyerang.)
Martin Bonner mendukung Monica