Apakah Fungsi Hash Kriptografi?

Isi kandungan:

Apakah Fungsi Hash Kriptografi?
Apakah Fungsi Hash Kriptografi?
Anonim

Fungsi cincang kriptografi (CHF) ialah algoritma yang boleh dijalankan pada data seperti fail individu atau kata laluan untuk menghasilkan nilai yang dipanggil checksum.

Kegunaan utama CHF adalah untuk mengesahkan ketulenan sekeping data. Dua fail boleh diandaikan sama hanya jika jumlah semak yang dijana daripada setiap fail, menggunakan fungsi cincang kriptografi yang sama, adalah sama.

Beberapa fungsi cincang kriptografi yang biasa digunakan termasuk MD5 dan SHA-1, walaupun banyak yang lain juga wujud. Ini sering dirujuk sebagai "fungsi cincang," tetapi itu tidak betul secara teknikal. Fungsi cincang ialah istilah generik yang merangkumi CHF bersama-sama dengan jenis algoritma lain seperti semakan redundansi kitaran.

Fungsi Hash Kriptografik: Kes Penggunaan

Katakan anda memuat turun versi terkini penyemak imbas Firefox. Atas sebab tertentu, anda perlu memuat turunnya dari tapak selain daripada Mozilla. Oleh kerana ia tidak dihoskan pada tapak yang anda telah belajar untuk mempercayai, anda ingin memastikan fail pemasangan yang baru anda muat turun adalah betul-betul sama dengan yang Mozilla tawarkan.

Menggunakan kalkulator jumlah semak, anda mengira jumlah semak menggunakan fungsi cincang kriptografi tertentu, seperti SHA-2, dan kemudian membandingkannya dengan yang diterbitkan di tapak Mozilla. Jika ia sama, anda boleh yakin dengan munasabah bahawa muat turun yang anda miliki adalah yang Mozilla ingin anda miliki.

Image
Image

Bolehkah Fungsi Hash Kriptografi Diterbalikkan?

Fungsi cincang kriptografi direka untuk menghalang keupayaan untuk membalikkan jumlah semak yang mereka buat kembali kepada teks asal. Walau bagaimanapun, walaupun ia hampir mustahil untuk diterbalikkan, ia tidak 100 peratus dijamin untuk melindungi data.

Penggodam boleh menggunakan jadual pelangi untuk mengetahui teks biasa checksum. Jadual pelangi ialah kamus yang menyenaraikan beribu-ribu, berjuta-juta atau malah berbilion-bilion checksum bersama nilai teks biasa yang sepadan.

Walaupun ini tidak secara teknikal membalikkan algoritma cincang kriptografi, ia juga boleh dilakukan, memandangkan ia sangat mudah untuk dilakukan. Pada hakikatnya, memandangkan tiada jadual pelangi boleh menyenaraikan setiap kemungkinan checksum yang wujud, ia biasanya hanya berguna untuk frasa mudah seperti kata laluan yang lemah.

Berikut ialah versi ringkas jadual pelangi untuk menunjukkan cara seseorang itu akan berfungsi apabila menggunakan fungsi cincang kriptografi SHA-1:

Contoh Jadual Pelangi
Teks Biasa SHA-1 Jumlah Semak
12345 8cb2237d0679ca88db6464eac60da96345513964
kata laluan1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Penggodam mesti tahu algoritma cincang kriptografi yang digunakan untuk menghasilkan jumlah semak untuk mengetahui nilainya.

Untuk perlindungan tambahan, sesetengah tapak web yang menyimpan kata laluan pengguna melaksanakan fungsi tambahan pada algoritma cincang kriptografi selepas nilai dijana tetapi sebelum ia disimpan. Proses ini menghasilkan nilai baharu yang hanya difahami oleh pelayan web dan tidak sepadan dengan jumlah semak asal.

Sebagai contoh, selepas kata laluan dimasukkan dan jumlah semak dijana, ia mungkin dipisahkan kepada beberapa bahagian dan disusun semula sebelum ia disimpan dalam pangkalan data kata laluan, atau aksara tertentu mungkin ditukar dengan yang lain. Apabila cuba untuk mengesahkan kali seterusnya pengguna mendaftar, pelayan membalikkan fungsi tambahan ini dan jumlah semak asal dijana semula untuk mengesahkan bahawa kata laluan pengguna adalah sah.

Mengambil langkah-langkah ini mengehadkan kegunaan penggodaman di mana semua jumlah cek dicuri. Ideanya adalah untuk melaksanakan fungsi yang tidak diketahui, jadi jika penggodam mengetahui algoritma cincang kriptografi tetapi bukan algoritma tersuai, maka mengetahui jumlah semak kata laluan tidak membantu.

Kata Laluan dan Fungsi Cincang Kriptografi

Pangkalan data menyimpan kata laluan pengguna dengan cara yang serupa dengan jadual pelangi. Apabila kata laluan anda dimasukkan, jumlah semak dijana dan dibandingkan dengan kata laluan yang direkodkan dengan nama pengguna anda. Anda kemudiannya diberikan akses jika kedua-duanya adalah sama.

Memandangkan CHF menghasilkan jumlah semak tidak boleh balik, adakah selamat untuk anda menjadikan kata laluan anda semudah 12345, bukannya 12@34 $5, semata-mata kerana jumlah semak itu sendiri tidak dapat difahami? Tidak, dan inilah sebabnya.

Kedua-dua kata laluan ini adalah mustahil untuk dihuraikan hanya dengan melihat hanya pada jumlah semak:

MD5 untuk 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 untuk 12@34$5: a4d3cc004f487b18b2ccd4853053818b

Pada pandangan pertama, anda mungkin berpendapat bahawa tidak mengapa untuk menggunakan salah satu daripada kata laluan ini. Ini benar jika penyerang cuba memikirkan kata laluan anda dengan meneka MD5 checksum, yang tiada siapa yang melakukannya, tetapi tidak benar jika kekerasan atau serangan kamus dilakukan, yang merupakan taktik biasa.

Serangan kekerasan berlaku apabila berbilang tikaman rawak diambil semasa meneka kata laluan. Dalam kes ini, adalah mudah untuk meneka 12345, tetapi agak sukar untuk mengetahui yang satu lagi secara rawak. Serangan kamus adalah serupa kerana penyerang boleh mencuba setiap perkataan, nombor atau frasa daripada senarai kata laluan biasa (dan tidak begitu biasa) dan 12345 ialah salah satu daripada kata laluan biasa. kata laluan.

Walaupun fungsi cincang kriptografi menghasilkan jumlah semak yang sukar untuk diteka, anda masih harus menggunakan kata laluan yang kompleks untuk semua akaun pengguna dalam talian dan setempat anda.

Maklumat Lanjut tentang Fungsi Hash Kriptografi

Nampaknya fungsi cincang kriptografi berkaitan dengan penyulitan, tetapi kedua-duanya berfungsi dengan cara yang berbeza.

Penyulitan ialah proses dua hala di mana sesuatu disulitkan untuk menjadi tidak boleh dibaca dan kemudian dinyahsulitkan kemudian untuk digunakan seperti biasa semula. Anda mungkin menyulitkan fail yang telah anda simpan supaya sesiapa sahaja yang mengaksesnya tidak dapat menggunakannya, atau anda boleh menggunakan penyulitan pemindahan fail untuk menyulitkan fail yang bergerak melalui rangkaian, seperti fail yang anda muat naik atau muat turun dalam talian.

Fungsi cincang kriptografi berfungsi secara berbeza, kerana jumlah semak tidak dimaksudkan untuk diterbalikkan dengan kata laluan dehashing khas. Satu-satunya tujuan CHF berkhidmat adalah untuk membandingkan dua keping data, seperti semasa memuat turun fail, menyimpan kata laluan dan menarik data daripada pangkalan data.

Fungsi cincang kriptografi mungkin menghasilkan jumlah semak yang sama untuk kepingan data yang berbeza. Apabila ini berlaku, ia dipanggil perlanggaran, yang merupakan masalah besar memandangkan keseluruhan fungsi adalah untuk membuat jumlah semak unik untuk setiap input data ke dalamnya.

Perlanggaran boleh berlaku adalah kerana setiap CHF menghasilkan nilai panjang tetap tanpa mengira data input. Sebagai contoh, fungsi cincang kriptografi MD5 menjana 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 dan e10adc3949ba59abbef56ef yang berbeza untuk jumlah sekatan3949ba55abbef56ef yang berbeza.

Checksum pertama ialah daripada 12345. Yang kedua dijana daripada lebih 700 huruf dan nombor, dan yang ketiga adalah daripada 123456. Ketiga-tiga input mempunyai panjang yang berbeza, tetapi hasilnya sentiasa hanya 32 aksara, sejak jumlah semak MD5 digunakan.

Tiada had untuk bilangan semak yang boleh dibuat kerana setiap perubahan kecil dalam input sepatutnya menghasilkan jumlah semak yang berbeza sama sekali. Oleh kerana terdapat had kepada bilangan jumlah semak yang boleh dihasilkan oleh satu CHF, sentiasa ada kemungkinan anda akan mengalami perlanggaran.

Inilah sebabnya fungsi cincang kriptografi lain telah dicipta. Walaupun MD5 menjana nilai 32 aksara, SHA-1 menjana 40 aksara dan SHA-2 (512) menjana 128. Semakin besar bilangan aksara yang ada pada jumlah semak, semakin kecil kemungkinan perlanggaran akan berlaku.

Disyorkan: