Skip to main content

Kas ir kriptogrāfiskā pietūkuma funkcija?

Anonim

Kriptogrāfijas hash funkcija ir algoritms, ko var izpildīt ar datiem, piemēram, atsevišķu failu vai paroli, lai izveidotu vērtību, ko sauc par kontrolsummu.

Galvenā kriptogrāfiskās jaucējfunkcijas izmantošana ir pārbaudīt datu daļas autentiskumu. Var uzskatīt, ka divi faili ir identiski vienīgi tad, ja no katra faila ģenerētās kontrolsummas, izmantojot to pašu kriptogrāfiskās mijiedarbības funkciju, ir identiskas.

Dažas bieži izmantotas kriptogrāfiskās maiņas funkcijas ietver MD5 un SHA-1, lai gan daudzi citi arī pastāv.

Kriptogrāfiskās maiņas funkcijas bieži sauc par "hash funkcijas", bet tas nav tehniski pareizs. Hash funkcija ir vispārējs termins, kas ietver kriptogrāfiskās hash funkcijas kopā ar cita veida algoritmiem, piemēram, cikla pārmērības pārbaudes.

Kriptogrāfiskās pietūkuma funkcijas: izmantošanas gadījums

Teiksim, ka lejupielādējat pārlūkprogrammas Firefox jaunāko versiju. Kādu iemeslu dēļ jums bija nepieciešams lejupielādēt to no vietnes, kas nav Mozilla. Tā kā tas netiek mitināts vietnē, par kuru esat iemācījies uzticēties, jūs vēlaties pārliecināties, vai instalētā faila versija, ko tikko lejupielādējat, ir pilnīgi tāda pati kā Mozilla piedāvājumu.

Kontrolsummas kalkulatora izmantošana aprēķina kontrolsummu, izmantojot noteiktu kriptogrāfiskās miglošanas funkciju, piemēram, SHA-2, un pēc tam salīdzina to ar Mozilla vietnē publicēto. Ja tie ir vienādi, jūs varat būt pamatoti pārliecināts, ka jūsu lejupielāde ir tāda, kādu Mozilla paredzēta jums.

Vai kriptogrāfiskās izkustēšanas funkcijas var mainīt?

Kriptogrāfiskās maiņas funkcijas ir paredzētas, lai novērstu iespēju mainīt kontrolsummas, kuras tās rada atpakaļ oriģinālajos tekstos. Tomēr, pat ja tie ir praktiski neiespējami mainīt, tie nav garantēti 100%, lai aizsargātu datus.

Hakeriem var izmantot varavīksnes tabulu, lai noskaidrotu kontrolsummas vienkāršo tekstu.

Varavīksnes tabulas ir vārdnīcas, kas kopā ar to atbilstošo teksta vērtību norāda tūkstošus, miljonus vai pat miljardus kontrolsummu.

Kaut arī tas tehniski neizmaina kriptogrāfiskā hash algoritmu, tas varētu arī būt, ņemot vērā, ka tas ir tik vienkārši. Patiesībā, jo nevienā varavīksnes tabulā nav iespējams uzskaitīt visas iespējamās kontrolsummas, tās parasti ir noderīgas tikai vienkāršām frāzēm, piemēram, vājām parolēm.

Šeit ir vienkāršota varavīksnes plākšņu versija, kurā parādīts, kā strādāt, izmantojot SHA-1 kriptogrāfiskās mijiedarbības funkciju:

PlaintextSHA-1 kontrolsumma
123458cb2237d0679ca88db6464eac60da96345513964
parole1e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydoga25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny4007d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Hakeram ir jāzina, kurš kriptogrāfiskā hash algoritms tika izmantots, lai ģenerētu kontrolsummas, lai noskaidrotu vērtības.

Lai nodrošinātu papildu aizsardzību, dažās vietnēs, kurās tiek saglabātas lietotāju paroles, tiek veiktas papildu funkcijas kriptogrāfiskā hash algoritmā pēc vērtības ģenerēšanas, bet pirms tā saglabāšanas. Šis process rada jaunu vērtību, kuru saprot tikai tīmekļa serveris un kas neatbilst sākotnējai kontrolsummai.

Piemēram, pēc tam, kad ir ievadīta parole un ģenerēta kontrolsumma, to var sadalīt vairākās daļās un pārkārtot, pirms tas tiek saglabāts paroles datu bāzē, vai dažas zīmes var tikt apmainītas ar citiem. Mēģinot autentificēt nākamo reizi, kad lietotājs pierakstās, tīmekļa serveris apgriež šo papildu funkciju un sākotnējo kontrolsumma tiek ģenerēta vēlreiz, lai pārliecinātos, ka lietotāja parole ir derīga.

Veicot šos soļus, tiek ierobežota kapacitātes lietderība, ja tiek nozagtas visas kontrolsummas. Ideja ir veikt nezināmu funkciju, tādēļ, ja hakeris zina kriptogrāfiskā hash algoritmu, bet ne parasto, tad zinot, ka paroles kontrolsumma nav lietderīga.

Paroles un kriptogrāfiskās pārslēgšanās funkcijas

Datubāze saglabā lietotāju paroles tāpat kā varavīksnes tabulā. Kad ir ievadīta jūsu parole, kontrolsumma tiek ģenerēta un salīdzināta ar reģistrēto personu ar jūsu lietotājvārdu. Tad jums piešķir piekļuvi, ja abi ir identiski.

Ņemot vērā, ka kriptogrāfijas jaucējfunkcija rada neatsaucamu kontrolsummu, vai jūs droši varat padarīt paroli tik vienkāršu, kā 12345, tā vietā 12@34$5, vienkārši tāpēc, ka pašas kontrolsummas nav saprotamas? Nē, un lūk, kāpēc.

Abas šīs paroles ir neiespējami atšifrēt tikai, meklējot tikai kontrolsummas:

MD5 par 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 par 12 34 $ 5: a4d3cc004f487b18b2ccd4853053818b

No pirmā acu uzmetiena jūs domājat, ka ir pareizi izmantot kādu no šīm parolēm. Tas ir taisnība, ja uzbrucējs mēģināja uzzināt savu paroli, nolaidot MD5 kontrolsummu, ko neviens to nedara, bet ne taisnība, ja tiek veikts brutāls spēks vai vārdnīcu uzbrukums, kas ir bieži sastopama taktika.

Uzbrukums brutālam spēkam notiek tad, kad paroles noņemšanas laikā tiek ņemti vairāki izlases punkti. Šajā gadījumā būtu viegli uzminēt 12345, bet diezgan grūti nejauši izdomāt otru. Vārdnīca uzbrukums ir līdzīgs, jo uzbrucējs var izmēģināt katru vārdu, numuru vai frāzi no parasto (un ne tik bieži izplatīto) paroļu saraksta un12345 ir viena no šīm parastajām parolēm.

Lai gan kriptogrāfijas jaucējfunkcijas rada grūtības vai neiespējamības kontrolēt summas, joprojām ir jāizmanto sarežģīta parole visiem jūsu tiešsaistes un vietējo lietotāju kontiem.

Plašāka informācija par kriptogrāfiskās slazdošanas funkcijām

Tas varētu šķist, ka kriptogrāfijas jaucējfunkcijas ir saistītas ar šifrēšanu, bet abi darbojas dažādos veidos.

Šifrēšana ir divvirzienu process, kurā kaut kas tiek šifrēts, lai kļūtu nesalasāms, un vēlāk atkodēt šifrēšanu, lai to atkal izmantotu. Varat šifrēt saglabātos failus, lai ikviens, kas piekļūst tiem, nevar tos izmantot, vai arī jūs varat izmantot failu pārsūtīšanas šifrēšanu, lai šifrētu failus, kas pārvietojas tīklā, piemēram, tie, kurus augšupielādējat vai lejupielādējat tiešsaistē.

Kriptogrāfijas jaucējfunkcijas darbojas citādi, jo kontrolsummas nav paredzētas, lai mainītu ar īpašu dehashing paroli. Vienīgais mērķis kriptogrāfijas jaucējfunkciju mērķis ir salīdzināt divus datus, piemēram, failu lejupielādi, paroļu glabāšanu un datu no datu bāzes iegūšanu.

Kriptogrāfijas jaucējfunkcijas iespēja ir tāda pati kontrolsumma kā dažādiem datiem. Ja tas notiek, to sauc par sadursmi, kas ir milzīga problēma, ņemot vērā, ka viss kriptogrāfiskā hash funkcija ir padarīt unikālas kontrolsummas katrai datu ievadīšanai tajā.

Sadursme var notikt tādēļ, ka katra kriptogrāfijas jaucējfunkcija nodrošina fiksētu garumu neatkarīgi no ievaddatiem. Piemēram, MD5 kriptogrāfijas hash funkcija ģenerē 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 un e10adc3949ba59abbe56e057f20f883e trīs pilnīgi dažādiem datu blokiem.

Pirmā kontrolsumma ir no 12345. Otrs tika radīts no vairāk nekā 700 burtiem un cipariem, bet trešais - no 123456.

Visi trīs izejmateriāli ir dažāda garuma, bet rezultāti vienmēr ir tikai 32 rakstzīmes, kamēr tika izmantota MD5 kontrolsumma.

Kontroles summu skaits, kas varētu tikt izveidots, nav ierobežots, jo katrai nelielai ievades izmaiņai paredzēts radīt pilnīgi citu kontrolsummu. Tā kā ir ierobežots to kontrolsummu skaits, ko var radīt viena kriptogrāfiskā hash funkcija, pastāv vienmēr iespēja, ka jūs saskarsieties ar sadursmi.

Tieši tāpēc ir izveidotas citas kriptogrāfiskās jaucējfunkcijas. Lai gan MD5 ģenerē 32 rakstzīmju vērtību, SHA-1 ģenerē 40 rakstzīmes, un SHA-2 (512) ģenerē 128. Jo lielāks ir kontrolsummas rakstzīmju skaits, jo mazāk iespējams, ka notiks sadursme.