Kas ir kriptogrāfiskā jaucējfunkcija?

Satura rādītājs:

Kas ir kriptogrāfiskā jaucējfunkcija?
Kas ir kriptogrāfiskā jaucējfunkcija?
Anonim

Kriptogrāfiskā jaukšanas funkcija (CHF) ir algoritms, ko var palaist ar tādiem datiem kā individuāls fails vai parole, lai izveidotu vērtību, ko sauc par kontrolsummu.

Galvenais CHF lietojums ir datu autentiskuma pārbaude. Divus failus var uzskatīt par identiskiem tikai tad, ja no katra faila ģenerētās kontrolsummas, izmantojot to pašu kriptogrāfisko jaukšanas funkciju, ir identiskas.

Dažas biežāk izmantotās kriptogrāfijas jaucējfunkcijas ietver MD5 un SHA-1, lai gan pastāv arī daudzas citas. Tās bieži sauc par "jaukšanas funkcijām", taču tas nav tehniski pareizi. Jaucējfunkcija ir vispārīgs termins, kas ietver CHF kopā ar cita veida algoritmiem, piemēram, cikliskās dublēšanas pārbaudes.

Kriptogrāfiskās jaucējfunkcijas: lietošanas gadījums

Pieņemsim, ka lejupielādējat jaunāko pārlūkprogrammas Firefox versiju. Kādu iemeslu dēļ jums tas bija jālejupielādē no vietnes, kas nav Mozilla. Tā kā tas netiek mitināts vietnē, kurai esat iemācījies uzticēties, vēlaties pārliecināties, vai tikko lejupielādētais instalācijas fails ir tieši tāds pats kā Mozilla piedāvātais.

Izmantojot kontrolsummas kalkulatoru, jūs aprēķina kontrolsummu, izmantojot noteiktu kriptogrāfisku jaucējfunkciju, piemēram, SHA-2, un pēc tam salīdzina to ar Mozilla vietnē publicēto. Ja tie ir vienādi, varat būt diezgan pārliecināts, ka jūsu lejupielāde ir tāda, kādu Mozilla jums ir paredzējis.

Image
Image

Vai kriptogrāfiskās jaucējfunkcijas var mainīt?

Kriptogrāfiskās jaukšanas funkcijas ir paredzētas, lai novērstu iespēju apgriezt to izveidotās kontrolsummas atpakaļ oriģinālajos tekstos. Tomēr, lai gan tos praktiski nav iespējams mainīt, tie nav 100% garantēti datu aizsardzībai.

Hakeri var izmantot varavīksnes tabulu, lai noskaidrotu kontrolsummas vienkāršu tekstu. Varavīksnes tabulas ir vārdnīcas, kurās ir uzskaitītas tūkstošiem, miljonu vai pat miljardu kontrolsummu līdzās atbilstošā teksta vērtībai.

Lai gan tas tehniski nav pretēja kriptogrāfijas jaukšanas algoritmam, tas tikpat labi varētu būt, ņemot vērā, ka tas ir tik vienkārši izdarāms. Patiesībā, tā kā nevienā varavīksnes tabulā nevar 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 tabulas versija, lai parādītu, kā tā darbotos, izmantojot SHA-1 kriptogrāfiskās jaucējfunkcijas:

Varavīksnes tabulas piemērs
Vienkāršs teksts SHA-1 Kontrolsumma
12345 8cb2237d0679ca88db6464eac60da96345513964
parole1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
dallas1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Hakerim ir jāzina, kurš kriptogrāfiskais jaukšanas algoritms tika izmantots, lai ģenerētu kontrolsummas, lai noskaidrotu vērtības.

Papildu aizsardzībai dažas vietnes, kurās tiek glabātas lietotāju paroles, veic papildu funkcijas kriptogrāfiskajā jaukšanas algoritmā pēc vērtības ģenerēšanas, bet pirms tās saglabāšanas. Šis process rada jaunu vērtību, ko saprot tikai tīmekļa serveris un kas neatbilst sākotnējai kontrolsummai.

Piemēram, pēc paroles ievadīšanas un kontrolsummas ģenerēšanas to var sadalīt vairākās daļās un pārkārtot, pirms tā tiek saglabāta paroļu datu bāzē, vai arī atsevišķas rakstzīmes var tikt apmainītas ar citām. Mēģinot autentificēties nākamajā reizē, kad lietotājs pierakstās, serveris apvērš šo papildu funkciju, un sākotnējā kontrolsumma tiek ģenerēta vēlreiz, lai pārbaudītu, vai lietotāja parole ir derīga.

Šo darbību veikšana ierobežo uzlaušanas lietderību, kad tiek nozagtas visas kontrolsummas. Ideja ir veikt nezināmu funkciju, tādēļ, ja hakeris zina kriptogrāfisko jaukšanas algoritmu, bet ne pielāgoto, tad zināt paroles kontrolsummas nav lietderīgi.

Paroles un kriptogrāfiskās jaucējfunkcijas

Datu bāze saglabā lietotāju paroles līdzīgi kā varavīksnes tabulā. Kad tiek ievadīta jūsu parole, tiek ģenerēta kontrolsumma un salīdzināta ar to, kas reģistrēta ar jūsu lietotājvārdu. Pēc tam jums tiek piešķirta piekļuve, ja abi ir identiski.

Ņemot vērā, ka CHF veido neatgriezenisku kontrolsummu, vai varat izveidot savu paroli tikpat vienkāršu kā 12345, nevis 12@34 $5, vienkārši tāpēc, ka pašas kontrolsummas nevar saprast? Nē, un lūk, kāpēc.

Šīs abas paroles nav iespējams atšifrēt, tikai apskatot kontrolsummas:

MD5 par 12345: 827ccb0eea8a706c4c34a16891f84e7b

MD5 par 12@34$5: a4d3cc004f487b18b2ccd4853053818b

No pirmā acu uzmetiena jums var šķist, ka ir pareizi izmantot kādu no šīm parolēm. Tā ir taisnība, ja uzbrucējs mēģināja izdomāt jūsu paroli, uzminot MD5 kontrolsummu, ko neviens nedara, taču tā nav taisnība, ja tiek veikts brutāls spēks vai vārdnīcas uzbrukums, kas ir izplatīta taktika.

Brutāla spēka uzbrukums notiek, kad, uzminot paroli, tiek veikti vairāki nejauši sitieni. Šajā gadījumā būtu viegli uzminēt 12345, bet diezgan grūti nejauši izdomāt otru. Vārdnīcas uzbrukums ir līdzīgs ar to, ka uzbrucējs var izmēģināt katru vārdu, ciparu vai frāzi no izplatīto (un ne tik izplatīto) paroļu saraksta, un 12345 ir viena no izplatītākajām parolēm. paroles.

Lai gan kriptogrāfiskās jaukšanas funkcijas rada grūti vai neiespējami uzminēt kontrolsummas, jums joprojām ir jāizmanto sarežģīta parole visiem saviem tiešsaistes un vietējiem lietotāju kontiem.

Plašāka informācija par kriptogrāfijas jaucējfunkcijām

Varētu šķist, ka kriptogrāfiskās jaucējfunkcijas ir saistītas ar šifrēšanu, taču tās darbojas atšķirīgi.

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

Kriptogrāfiskās jaukšanas funkcijas darbojas atšķirīgi, jo kontrolsummas nav paredzētas apvēršanai, izmantojot īpašu atjaukšanas paroli. Vienīgais CHF mērķis ir salīdzināt divus datu gabalus, piemēram, lejupielādējot failus, saglabājot paroles un izvelkot datus no datu bāzes.

Kriptogrāfiskā jaukšanas funkcija var radīt vienu un to pašu kontrolsummu dažādiem datu vienumiem. Kad tas notiek, to sauc par sadursmi, kas ir milzīga problēma, ņemot vērā, ka visas funkcijas būtība ir izveidot unikālas kontrolsummas katram tajā ievadītajam datum.

Sadursmes var rasties tāpēc, ka katrs CHF rada fiksēta garuma vērtību neatkarīgi no ievades datiem. Piemēram, MD5 kriptogrāfiskā jaukšanas funkcija ģenerē 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 un e10adc3949ba09abbe3 datu trīsf8f8f8f3.

Pirmā kontrolsumma ir no 12345. Otrais tika ģenerēts no vairāk nekā 700 burtiem un cipariem, bet trešais ir no 123456. Visas trīs ievades ir dažāda garuma, taču rezultāti vienmēr ir tikai 32 rakstzīmes gari, jo tika izmantota MD5 kontrolsumma.

Izveidojamo kontrolsummu skaits nav ierobežots, jo katrai nelielai ievades izmaiņai ir jārada pilnīgi atšķirīga kontrolsumma. Tā kā ir ierobežots kontrolsummu skaits, ko var izveidot viens CHF, vienmēr pastāv iespēja, ka jūs saskarsieties ar sadursmi.

Tādēļ ir izveidotas citas kriptogrāfijas jaucējfunkcijas. Kamēr MD5 ģenerē 32 rakstzīmju vērtību, SHA-1 ģenerē 40 rakstzīmes, bet SHA-2 (512) ģenerē 128. Jo lielāks ir kontrolsummas rakstzīmju skaits, jo mazāka iespēja, ka notiks sadursme.

Ieteicams: