CH-J Server Managerserverio valdymas per SSH
Meniu
Visi vadovai ir straipsniai →

SHA-256, SHA-512 ar BLAKE3: kurią kontrolinę sumą naudoti?

Kuo šie trys algoritmai skiriasi saugumu, sparta ir suderinamumu, ko neįrodo kontrolinė suma ir kurį pasirinkti.

Trumpas atsakymas

Naudokite failo leidėjo nurodytą algoritmą, nes palyginimui reikia to paties algoritmo. Naujiems darbams SHA-256 yra plačiausiai suderinamas pasirinkimas, o SHA-512 taip pat tinka. BLAKE3 yra sparčiausias pasirinkimas dideliems nuosaviems duomenų kiekiams, jei įrankis prieinamas visose naudojamose sistemose. Šiandien visi trys laikomi saugiais ir nė vienam nėra žinomos praktiškai įgyvendinamos atakos.

Kuo jie skiriasi

SHA-256 ir SHA-512 priklauso NIST standartizuotai SHA-2 šeimai, o atitikties taisyklės dažnai reikalauja juos naudoti. BLAKE3 yra naujesnis ir nėra NIST standartas, todėl gali neatitikti tokių taisyklių. SHA-256 ir BLAKE3 su numatytąja išvestimi pateikia 256 bitus, o tai reiškia maždaug 128 bitų atsparumą kolizijoms. SHA-512 pateikia 512 bitų ir maždaug 256 bitų atsparumą. Praktikoje abu lygiai gerokai viršija tai, ką įmanoma įveikti atakomis.

Sparta priklauso nuo aparatinės įrangos

BLAKE3 sukurtas naudoti kelis CPU branduolius ir šiuolaikines vektorines instrukcijas, todėl apdorodamas didelius failus paprastai aiškiai pirmauja. SHA-2 variantų rezultatai skiriasi: SHA-512 dažnai spartesnis 64 bitų procesoriuose be specialių instrukcijų, o CPU su SHA plėtiniais spartesnis SHA-256. Matuokite savo kompiuteryje naudodami didelį failą, nes rezultatą veikia podėlis ir diskas. b3sum gali tekti įdiegti atskirai.

time sha256sum large.iso
time sha512sum large.iso
time b3sum large.iso

Ką įrodo kontrolinė suma

Sutampanti kontrolinė suma rodo, kad failas yra identiškas tam, iš kurio apskaičiuota maišos reikšmė. Ji neparodo, kas sukūrė failą. Jei užpuolikas gali pakeisti ir atsisiunčiamą failą, ir kontrolinę sumą tame pačiame puslapyje, palyginimas bus sėkmingas. Kilmei patikrinti reikia maišos reikšmės iš atskiro patikimo kanalo arba parašo, pavyzdžiui, GPG.

sha256sum -c SHA256SUMS
gpg --verify SHA256SUMS.asc SHA256SUMS

Ko vengti

MD5 ir SHA-1 atsparumas kolizijoms yra įveiktas, todėl jų nereikėtų naudoti apsaugai nuo tyčinio pakeitimo. Jie dar gali būti pateikiami senuose manifestuose, kur aptinka tik atsitiktinius pažeidimus. Nekriptografinės funkcijos, tokios kaip CRC-32 ir xxHash, sukurtos spartai ir atsitiktinėms klaidoms aptikti, o ne saugumui užtikrinti.

Kontrolinės sumos CH-J Server Manager programoje

Modulis Hash & Checksum apima visus tris algoritmus ir žymi SHA-256, SHA-512 bei BLAKE3 kaip rekomenduojamus, o MD5 ir SHA-1 – kaip įveiktus. Jis gali apskaičiuoti maišos reikšmes, palyginti failus ir patikrinti numatomą reikšmę. Modulis negali nustatyti, ar pati numatoma reikšmė yra patikima, todėl gaukite ją iš šaltinio, kuriuo pasitikite. Programa savo naujinimus tikrina kartu naudodama SHA-512 ir OpenPGP parašą.

Išsamūs dokumentai

NIST FIPS 180-4 →

BLAKE3 specification →

Biometrinis atrakinimas ir saugumas →