Menerima kunci pribadi dari admin server: ok atau tidak?

20

Saya mendapatkan akses ke server SFTP jarak jauh. Admin telah membuat pengguna untuk saya, dan membuat pasangan kunci publik / pribadi untuk saya. Lalu ia dengan aman mengirimi saya file kunci pribadi, yang saya gunakan untuk otentikasi. Saya percaya ini tidak baik, saya harus menjadi orang yang menghasilkan pasangan kunci, dan memberikan kunci publik kepadanya. Tapi saya tidak bisa memikirkan alasan bagus mengapa ini buruk, jika saya menggunakan kunci ini hanya untuk masuk ke server itu, tidak ada server lain. Apakah ada alasan seperti itu?

matthiash
sumber
17
Kebersihan keamanan buruk, misalnya. Admin server harus lebih tahu, dan tidak boleh "melatih" pengguna untuk mengharapkan mendapatkan kunci pribadi dari sumber eksternal.
wmorrell
1
Kepada siapa lagi dia memberikannya? Selalu berpikir, apa hal terburuk yang bisa terjadi?
mckenzm
1
Saya sebenarnya tidak berpikir itu seburuk itu. Analogi di bawah ini (Eric Towers) dengan memberikan "kata sandi awal" kepada pengguna yang kemudian perlu segera diubah adalah baik. Berbicara dari pengalaman pribadi, menjelaskan kunci apa yang untuk ke-100 kalinya bagi pengguna bisa sedikit membosankan - admin masih manusia. Memberikan kunci pribadi kepada Anda malas - ya, tetapi tidak ada yang dapat menghentikan Anda untuk menggantinya sendiri. Intinya, setelah dia mengirimkannya kepada Anda, Anda tidak perlu repot dengan sysadmin lagi (kecuali mereka memilih untuk mematikan izin menulis pada file ... maka, jengkelkan saja).
Ray
@matthiash pertanyaan ini cocok untuk situs ini tetapi, seperti halnya FYI, ada situs Keamanan Informasi untuk pertanyaan keamanan lainnya.
topher
Saya juga ingin menunjukkan bahwa ini adalah cara AWS melakukannya juga. Ketika Anda membuat sebuah instance Anda tidak mengunggah kunci publik Anda untuk itu, keypair dihasilkan untuk Anda dan Anda mengunduh kunci pribadi.
GnP

Jawaban:

23

Persis seperti yang Anda katakan: Seluruh konsep otentikasi kunci publik adalah bahwa kunci privat hanya boleh diketahui oleh pemilik, sedangkan kunci publik yang sesuai dapat disebarluaskan. Keamanan otentikasi Anda tergantung pada keamanan kunci pribadi, bukan keamanan kunci publik.

Fakta bahwa orang lain memberi Anda kunci pribadi secara otomatis membuatnya dikompromikan. (Anda tidak tahu apakah admin lain itu masih memiliki salinan yang dapat digunakan untuk menyamar sebagai Anda.)

HBruijn
sumber
4
Mari kita asumsikan yang terbaik dari admin server dan anggap, bahwa ia penting, menghasilkan keypair baru lebih baik, karena ia tidak akan mempercayai pengguna untuk tidak memiliki kunci pribadi yang dikompresi. Mungkin admin server berpikir, bahwa kunci pribadi pengguna sudah sangat lama dan mungkin dapat dikompromikan selama bertahun-tahun. Itu sama dengan U2F, di mana konsorsium atau vendor tidak mempercayai pengguna untuk menghasilkan kunci, inilah mengapa perangkat U2F datang dengan kunci yang telah dibuat!
cornelinux
8
Admin harus membantu pengguna membuat dan mengamankan kunci pribadi.
Alex
1
Anda sepenuhnya benar. Tetapi sering admin lebih baik dengan komputer daripada manusia, -)
cornelinux
7
Admin tetap bisa menyamar sebagai Anda.
user253751
2
Saya pikir Anda membingungkan praktik teoretis dari contoh sempit dengan kenyataan dan gambaran yang lebih besar. Anda harus tetap mempercayai admin karena ia memiliki kendali atas sistem dan dapat menghindari keharusan menggunakan kunci sama sekali. Memberikan kunci pribadi terjadi di dunia nyata karena pengguna akhir tidak mengerti cara membuatnya, atau cara membuatnya dengan aman.
JamesRyan
10

Untuk kunci itu, organisasi tidak memiliki penolakan . Yaitu, jika seseorang melakukan sesuatu yang kasar atau merusak sistem itu menggunakan kunci 'Anda', admin tidak dapat menyalahkan Anda karena hanya bertanggung jawab untuk itu. Karena orang yang memberikannya kepada Anda juga memiliki kunci. Ini mungkin tidak terlalu buruk bagi Anda, karena itu memberi Anda pertahanan, tetapi mengerikan bagi organisasi yang mengendalikan server, jika sesuatu yang buruk pernah terjadi.

Anda mungkin dapat menggunakan hak menulis yang Anda miliki dari kunci yang disediakan, untuk memperbarui kunci resmi Anda, dan menambahkan kunci Anda, dan menghapus kunci yang disediakan.

Sakit kepala
sumber
3
Bahkan, Admin mungkin mengharapkan pengguna untuk mengubah kunci mereka selama penggunaan pertama mereka, seperti halnya dengan kata sandi pertama yang dihasilkan secara administratif.
Eric Towers
7
Seperti kata seorang pria hebat , "berharap pergi". Perubahan penggunaan pertama sering kali diperlukan untuk kata sandi, tetapi tidak pernah diperlukan untuk kunci publik kripto - itulah intinya.
womble
@EricTowers Apakah itu mungkin untuk dilakukan dengan implementasi SFTP kontemporer (atau bahkan SSH, kecuali Anda bersedia untuk mengerjakan sesuatu bersama sendiri)?
CVn
Jawaban ini memberi kesan bahwa tindakan over sftp masuk log di suatu tempat dan ujung ke ujung diamankan oleh kunci itu. Ini bukan masalahnya, seorang admin dapat mengutak-atik tindakan atau log tanpa menggunakan kunci.
JamesRyan
1
@marcelm: Ada alasan mengapa saya mengatakan "sering diperlukan", tidak "selalu mutlak wajib dalam segala keadaan tanpa pengecualian". Sebagai seseorang yang, pada kenyataannya, secara teratur meminta (dan menerima) hash kata sandi, dan kunci publik, saya tahu itu adalah penghalang yang jauh lebih tinggi untuk membuat seseorang memberikan kata sandi hash (dengan garam aman dan segalanya) daripada kunci publik. Jika Anda memiliki klien SSH, Anda memiliki alat pembangkit kunci. Hal yang sama tidak dapat dikatakan untuk sesuatu yang mampu memanggil crypt(2) dalam banyak bentuk menghiburnya.
womble