Bisakah swap dienkripsi per pengguna?

8

Masalah muncul untuk komputer multi-pengguna dengan swap terenkripsi, seperti bagaimana memungkinkan setiap pengguna untuk hibernasi dan melanjutkan dari hibernasi tanpa mengorbankan keamanan pengguna lain.

Saya mencari cara di mana penggunaan swap setiap pengguna dienkripsi khusus untuk mereka, sehingga ketika mereka ingin melanjutkan dari hibernasi mereka dapat melakukannya dengan memasukkan kata sandi / kata sandi mereka saja . Mereka seharusnya tidak dapat mendekripsi pertukaran pengguna lain; semua proses pengguna harus dihentikan sampai masing-masing pengguna dapat memberikan frasa sandi untuk mendekripsi swap mereka dan melanjutkan proses mereka.

Pengguna mungkin ingin sebagian atau semua proses mereka tidak dienkripsi sehingga mereka dapat melanjutkan terlepas dari siapa yang melanjutkan komputer.

Selama tidak ada data pribadi yang disimpan dalam proses sistem dan sistem tidak membiarkan kunci pengguna menekan swap, maka swap sistem tidak perlu dienkripsi, dan itu berarti bahwa setiap pengguna dapat melanjutkan sistem tanpa mengorbankan pengguna lain .

Perhatikan bahwa ini dapat dilengkapi dengan mengenkripsi sistem dengan kunci yang disimpan dalam firmware BIOS seperti Coreboot atau LibreBoot untuk membuat gangguan sangat sulit, tetapi ini adalah pendekatan yang secara fundamental berbeda berdasarkan pada kesulitan yang nyata untuk merusak perangkat keras yang terlibat daripada lengkap. pendekatan kriptografi untuk mencegah orang membaca data pribadi orang lain dengan anggapan bahwa gangguan tidak menjadi masalah. Untuk keamanan optimal, kedua mekanisme ini dapat digunakan bersama, tetapi dalam pertanyaan ini, saya meminta pendekatan kriptografi lengkap.

Secara teori itu masuk akal, tetapi dalam praktiknya itu mungkin tidak diterapkan. Saya harap ini mungkin di Linux.

James Haigh
sumber
1
Bisakah pengguna lain ini mendapatkan akses root ke host ini? Jika mereka tidak bisa, maka saya pikir saya benar untuk mengatakan bahwa sistem perizinan yang normal harus mencegah mereka membaca file swap dari pengguna lain (yaitu saya pikir itu benar bahwa bahkan pada swap yang tidak dienkripsi, pengguna seharusnya tidak dapat saling membaca file swap). Jika mereka bisa mendapatkan root, mereka mungkin bisa mengekstrak kunci untuk partisi swap terenkripsi pengguna lain?
Geeb
Jika pengguna memang memiliki akses root ke komputer (dan efektif mereka lakukan jika mereka memiliki akses langsung ke seluruh komputer, yang tersirat oleh fakta bahwa mereka dapat menangguhkannya di tempat pertama!), Maka tidak ada jumlah enkripsi dan gerak kaki mewah dengan partisi swap yang berbeda untuk setiap pengguna sebenarnya akan melindungi pengguna dari satu sama lain. Gunakan perangkat keras yang berbeda untuk setiap pengguna!
Greg A. Woods
Mungkin ada cara untuk meretas bersama-sama seperti ini dengan menjaga sesi login setiap pengguna dalam wadah LXC, dengan instance systemd mereka sendiri, dan menukar ruang yang disimpan dalam chroot pribadi, tapi saya tidak bisa menawarkan saran konkret tentang bagaimana, tepatnya , itu akan diterapkan.
BRPocock

Jawaban:

1

Ya, semuanya dimungkinkan melalui perangkat lunak. Anda harus memodifikasi beberapa bagian penting kernel untuk melakukan hal ini. Jika Anda berbicara tentang sekarang .... tidak. Bahkan Anda tidak dapat mengalokasikan ruang swap sistem berdasarkan pengguna yang diberikan sama sekali.

Cara pendekatan lain adalah tidak mengalokasikan ruang swap apa pun pada partisi fisik dan mengukir file besar yang sudah dialokasikan sebelumnya untuk volume truecrypt, pasang, dan buat file swap di bawahnya. Kemudian atur sistem untuk menggunakan file itu di bawah volume truecrypt sebagai file swap. Saya tidak menjamin stabilitas atau untuk memproses efisiensi dari langkah tersebut namun, ini untuk Anda untuk bereksperimen. Namun, ini akan menjadi per SISTEM bukan per pengguna.

mdpc
sumber
4
Saya tidak ingin menggunakan TrueCrypt, ada solusi khusus Linux untuk enkripsi blok yang harus disukai (dm-crypt / LUKS et al).
Andreas Wiese