Kenapa laman web harus memercikkan garam pada hash mereka untuk melindungi kata laluan anda

Walaupun kelemahan mereka, kata laluan masih merupakan standard de facto untuk pengesahan di web.

ExpressVPN telah menulis mengenai manfaat mewujudkan kata laluan yang selamat menggunakan Diceware, menggunakan pengurus kata laluan, dan membina satu lagi lapisan keselamatan di sekitar akaun anda dengan pengesahan dua faktor.

Tetapi apa yang berlaku di sebalik tabir? Langkah-langkah apa yang boleh, dan sepatutnya, pengendali laman web mengambil untuk mengamankan kata laluan anda?

Kelahiran penggodaman komputer

Sistem komputer pertama yang menggunakan kata laluan adalah Sistem Perkongsian Masa yang Bersesuaian di Massachusetts Institute of Technology, yang dibina pada tahun 1960. Perkongsian masa membenarkan komputer dipartisi dan digunakan sebagai beberapa stesen kerja.

Namun, terdapat lebih banyak penyelidik daripada stesen kerja, dan pengguna telah diperuntukkan masa yang terhad pada sistem (yang mana sedikit meletihkan dengan cepat). Untuk memastikan penyelidik berada dalam had mereka, masing-masing diberikan kata laluan yang unik untuk log masuk.

Tetapi, sudah tentu, dengan kata laluan pertama datang penggodam pertama. Seorang penyelidik, Allan Scherr, menggunakan sistem yang membolehkan pengguna mencetak fail melalui kad punch (komputer tidak mempunyai skrin pada tahun 1960-an). Scherr terletak dan mencetak fail yang disimpan kata laluan, membolehkannya untuk log masuk sebagai pengguna lain dan menggunakan komputer untuk lebih lama.

Hari ini ia dianggap terlalu cuai untuk menyimpan kata laluan dalam teks yang jelas pada sistem, walaupun hack 2016 laman sosial sosial Rusia VK.com menunjukkan bahawa beberapa tapak besar masih dilakukan. Kata laluan VK.com sebanyak 100 juta pengguna telah dicuri dan kini dijual untuk dijual.

Mengapa fungsi hash adalah jalan sehala

Fungsi hash ialah penyulitan sehala dan bertindak seperti cap jari. Setiap fail, perkataan, atau rentetan teks ditetapkan sebagai “cap jari”, yang unik mengenal pasti kandungan sebenar fail asal.

Hashes boleh digunakan untuk menentukan maklumat, tetapi bukan apa yang mewakili data. Satu cara mudah untuk membayangkan bagaimana kerja hash dengan jumlah digit (jumlah semua nombor nombor).

Jumlah digit 9807347 adalah 9 + 8 + 0 + 7 + 3 + 4 + 7 = 38

Walaupun mudah untuk melihat jumlah digit 987347 adalah 38, adalah mustahil untuk mengira 987347 dari nombor 38.

Selamat kata laluan dengan hashMencampurkan SHA-256 untuk pelbagai string teks dan fail imej.

SHA-256 menawarkan alam semesta permutasi

Yang luar biasa, 256 bit adalah output yang cukup panjang untuk mengenal pasti secara unik setiap atom tunggal dalam alam semesta yang dapat dilihat (2 ^ 256 = 1.157920892 × 10777).

Walaupun, secara teori, terdapat dua nilai berbeza yang kedua-duanya mempunyai hash SHA-256 yang sama. Peristiwa sedemikian dipanggil perlanggaran hash, dan keselamatan mana-mana fungsi hash bergantung kepada mereka yang tidak dapat ditemui.

Pendahulu SHA-2 (yang mana SHA-256 adalah variasi) – algoritma SHA-1 yang popular sekali-diketahui diketahui rentan terhadap perlanggaran hash. Walaupun perlu diperhatikan, tiada siapa yang pernah dapati.

Hash sekali sekali popular, MD5, mempunyai begitu banyak kelemahan yang ia bukan pertahanan yang berguna terhadap pemalsuan fail yang berniat jahat.

Selain menyulitkan kata laluan, fungsi hash juga berguna untuk memastikan fail tidak diganggu, mirip dengan tandatangan kriptografi, kerana rentetan teks diubah akan mengubah hash.

Menyimpan kata laluan sebagai hash, dan bukannya teks yang jelas, membolehkan kata laluan untuk memeriksa kata laluan yang betul tanpa meninggalkan kata laluan terdedah kepada peretas.

Garam dan hash melindungi kata laluan anda

Sekiranya seseorang dapat menggodam pangkalan data yang hanya mengandungi kata laluan yang telah hilang, secara teori, mereka tidak akan mendapat maklumat yang berguna. Namun dalam kenyataannya, orang menggunakan semula kata laluan mereka di banyak laman web, atau menggunakan kata-kata biasa di dalamnya, dan terdapat banyak perkara yang dapat dilakukan oleh penggodam untuk memecahkan hash.

Setiap SHA-256 hash perkataan ExpressVPN sentiasa sama, pada semua sistem. Jadi jika nama pengguna anda Lexie dan anda menggunakan ExpressVPN sebagai kata laluan (jangan), penggodam boleh mencari hash “c9f45 … 3d185” antara kata laluan untuk melihat kata laluan Lexie ialah ExpressVPN.

Walaupun ini tidak sangat membantu dengan sendirinya, terdapat senarai beberapa ribu kata laluan yang paling banyak digunakan (yang kita tahu dari hacks terdahulu).

Dengan menggunakan senarai sedemikian, penggodam boleh mencari hash kata laluan biasa dan memadankannya dengan nama pengguna.

Serangan jenis ini dipanggil jadual pelangi, atau kamus, serangan. Tidak cukup masa yang tersisa di alam semesta untuk penyerang cuba setiap gabungan hash / kata laluan dalam serangan kekerasan. Tetapi ada cukup banyak masa untuk mencuba kata laluan yang paling banyak digunakan, yang mungkin akan menjejaskan sebahagian besar pangkalan data.

Salting melindungi kata laluan dengan memberi nombor unik kepada mereka

Untuk melindungi daripada serangan kamus, pentadbir pangkalan data boleh menggunakan kaedah yang disebut “garam,” di mana setiap kata laluan diberikan nombor unik rawak. Hash SHA-256 kombinasi garam dan kata laluan kemudian dikira, disimpan, dan diperiksa.

Sebagai alternatif, kata laluan boleh dihidupkan, digabungkan dengan nombor garam, dan hasilnya hilang lagi.

Hash masin menambah prestisi tambahanContoh-contoh hash “asin”, menghilangkan lagi.

Oleh kerana teknik garam, membuat jadual pelangi tidak lagi menarik. Nombor rawak akan menjadikan setiap hash unik, walaupun pengguna tidak memilih kata laluan unik.

Sekiranya penggodam mahu menargetkan pengguna dengan kata laluan “Passw0rd!”, Nombor garam akan memastikan pangkalan data selamat.

Masa depan sistem kata laluan

Kata laluan jauh dari optimum untuk pengesahan dalam talian. Yang baik adalah sukar untuk diingat, mereka sukar untuk membatalkan, dan sekali bocor mungkin menyebabkan kerosakan yang besar.

Pengurus kata laluan boleh membuat kata laluan lebih mesra pengguna dan membantu anda membuat yang unik. Mereka juga akan menggalakkan anda untuk menukar kelayakan pendaftaran anda secara tetap, yang diperlukan untuk keselamatan dalam talian yang baik.

Mungkin pada masa hadapan, kami akan berpindah ke bentuk pengesahan alternatif, seperti pasangan kunci awam / swasta, mungkin digabungkan dengan kekunci perkakasan. Dalam model sedemikian, anda hanya perlu memuat naik kunci awam sekali ke pelayan semasa mendaftar, kemudian tidak lagi.

Walaupun tidak semestinya magnitud yang lebih selamat daripada penyelesaian kata laluan yang dilaksanakan dengan baik, pasangan kunci awam / swasta kurang mungkin diterapkan dengan salah oleh pengguna dan perkhidmatan.

Apa yang anda boleh lakukan untuk memastikan kata laluan anda

Perlu diketahui bahawa banyak perkhidmatan yang anda gunakan hari ini mungkin telah kehilangan kawalan kata laluan anda. Mungkin mereka tidak tahu mengenainya, atau mungkin mereka enggan mengakui secara terbuka ia melindungi imej mereka dengan mengorbankan keselamatan pengguna mereka.

Gunakan penjana kata laluan rawak dan ubah kata laluan anda menjadi rentetan huruf dan aksara rawak panjang. Anda juga boleh mengaktifkan pengesahan dua faktor pada beberapa perkhidmatan untuk menambah lapisan tambahan keselamatan.

Adalah juga idea yang baik untuk memadamkan sebarang akaun yang anda tidak lagi menggunakan, dengan harapan perkhidmatan itu memadamkan data pengguna anda bersama-sama dengannya.