Криптографийн хэш функц гэж юу вэ?

Агуулгын хүснэгт:

Криптографийн хэш функц гэж юу вэ?
Криптографийн хэш функц гэж юу вэ?
Anonim

Криптограф хэш функц (CHF) нь шалгах нийлбэр гэж нэрлэгддэг утгыг үүсгэхийн тулд бие даасан файл эсвэл нууц үг зэрэг өгөгдөл дээр ажиллах алгоритм юм.

CHF-ийн гол хэрэглээ нь өгөгдлийн жинхэнэ эсэхийг шалгах явдал юм. Зөвхөн ижил криптограф хэш функцийг ашиглан файл бүрээс үүсгэсэн шалгах нийлбэр нь ижил байвал хоёр файлыг ижил гэж үзэж болно.

Зарим түгээмэл хэрэглэгддэг криптограф хэш функцуудад MD5 болон SHA-1 багтдаг ч бусад олон байдаг. Эдгээрийг ихэвчлэн "хэш функц" гэж нэрлэдэг боловч энэ нь техникийн хувьд зөв биш юм. Хэш функц нь CHF-ийг мөчлөгийн илүүдэл шалгах гэх мэт бусад төрлийн алгоритмуудын хамт багтаасан ерөнхий нэр томъёо юм.

Криптографийн хэш функцууд: Хэрэглэх тохиолдол

Та Firefox хөтчийн хамгийн сүүлийн хувилбарыг татаж авсан гэж хэлье. Зарим шалтгааны улмаас та үүнийг Mozilla-аас өөр сайтаас татаж авах шаардлагатай болсон. Энэ нь таны итгэж сурсан сайт дээр байршуулагдаагүй байгаа тул та саяхан татаж авсан суулгалтын файл нь Mozilla-н санал болгож буй файлтай яг адилхан эсэхийг шалгахыг хүсэж байна.

Шалгах нийлбэр тооцоолуур ашиглан та SHA-2 гэх мэт тодорхой криптограф хэш функцийг ашиглан шалгах нийлбэрийг тооцоод Mozilla-н сайтад нийтлэгдсэнтэй харьцуулна. Хэрэв тэдгээр нь тэнцүү бол таны татаж авсан файл нь Mozilla-аас авахаар төлөвлөж байсан зүйл мөн гэдэгт итгэлтэй байж болно.

Image
Image

Криптографийн хэш функцийг буцаах боломжтой юу?

Криптографийн хэш функцууд нь үүсгэсэн шалгах нийлбэрийг буцаан эх бичвэр рүү буцаах чадвараас урьдчилан сэргийлэх зорилготой юм. Гэсэн хэдий ч тэдгээрийг буцаах бараг боломжгүй ч өгөгдлийг хамгаалах 100 хувь баталгаатай биш юм.

Хакерууд шалгах нийлбэрийн энгийн текстийг олохын тулд солонгон хүснэгтийг ашиглаж болно. Солонго хүснэгтүүд нь мянга, сая, бүр тэрбум шалгах нийлбэрийг харгалзах энгийн текстийн утгын хажууд жагсаасан толь бичиг юм.

Хэдийгээр энэ нь криптограф хэш алгоритмыг техникийн хувьд эргүүлж чадахгүй ч, үүнийг хийхэд маш энгийн учраас энэ нь бас байж болох юм. Бодит байдал дээр ямар ч солонго хүснэгт байж болох шалгах нийлбэр бүрийг жагсааж чаддаггүй тул тэдгээр нь ихэвчлэн сул нууц үг зэрэг энгийн хэллэгүүдэд л тустай.

SHA-1 криптограф хэш функцийг ашиглах үед хэрхэн ажиллахыг харуулах солонгын өнгийн хүснэгтийн хялбаршуулсан хувилбар энд байна:

Солонгон хүснэгтийн жишээ
Энгийн текст SHA-1 шалгах нийлбэр
12345 8cb2237d0679ca88db6464eac60da96345513964
нууц үг1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Женни400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
даллас1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Хакер нь утгыг олохын тулд шалгах нийлбэрийг үүсгэхийн тулд ямар криптограф хэш алгоритм ашигласан болохыг мэдэх ёстой.

Нэмэлт хамгаалах үүднээс хэрэглэгчийн нууц үгийг хадгалдаг зарим вэб сайтууд утгыг үүсгэсний дараа, гэхдээ хадгалагдахаас өмнө криптограф хэш алгоритм дээр нэмэлт функцүүдийг гүйцэтгэдэг. Энэ процесс нь зөвхөн вэб серверийн ойлгодог шинэ утгыг бий болгодог бөгөөд энэ нь анхны шалгах нийлбэртэй тохирохгүй байна.

Жишээ нь, нууц үг оруулж, шалгах нийлбэрийг үүсгэсний дараа үүнийг хэд хэдэн хэсэгт хувааж, нууц үгийн санд хадгалахаас өмнө дахин цэгцлэх эсвэл зарим тэмдэгтүүдийг өөр тэмдэгтээр сольж болно. Хэрэглэгч дараагийн удаа нэвтрэх үед баталгаажуулах оролдлого хийх үед сервер энэ нэмэлт функцийг буцаах ба хэрэглэгчийн нууц үг хүчинтэй эсэхийг шалгахын тулд анхны шалгах нийлбэрийг дахин үүсгэнэ.

Эдгээр алхмуудыг хийснээр бүх шалгах нийлбэр хулгайлагдсан хакерын ашиг тусыг хязгаарладаг. Энэхүү санаа нь үл мэдэгдэх функцийг гүйцэтгэх явдал бөгөөд хэрэв хакер криптограф хэш алгоритмыг мэддэг ч захиалгат алгоритмыг мэддэггүй бол нууц үгийн хяналтын нийлбэрийг мэдэх нь тус болохгүй.

Нууц үг болон криптографийн хэш функцүүд

Өгөгдлийн сан нь хэрэглэгчийн нууц үгийг солонгон хүснэгттэй төстэй байдлаар хадгалдаг. Нууц үгээ оруулсны дараа шалгах нийлбэрийг үүсгэж, таны хэрэглэгчийн нэрээр бүртгэгдсэнтэй харьцуулна. Хэрэв энэ хоёр ижил байвал танд хандах эрх олгоно.

CHF нь буцаагдах боломжгүй шалгах нийлбэр гаргадаг тул та нууц үгээ 12@34 биш 12345 болгох нь аюулгүй юу? Зөвхөн шалгах нийлбэр нь өөрөө ойлгогдохгүй байгаа учраас $5 байна уу? Үгүй ээ, учир нь энд байна.

Энэ хоёр нууц үгийг зөвхөн шалгах нийлбэрийг хараад л тайлах боломжгүй:

12345-д зориулсан MD5: 827ccb0eea8a706c4c34a16891f84e7b

MD5 for 12@34$5: a4d3cc004f487b18b2ccd4853053818b

Та эхлээд харахад эдгээр нууц үгийн аль нэгийг нь ашиглахад зүгээр гэж бодож магадгүй. Хэрэв халдагчид MD5 шалгах нийлбэрийг тааж таны нууц үгийг олохыг оролдсон бол энэ нь үнэн бөгөөд хэн ч мэдэхгүй, харин бүдүүлэг хүч эсвэл толь бичгийн довтолгоо хийсэн тохиолдолд энэ нь үнэн биш бөгөөд энэ нь нийтлэг тактик юм.

Нууц үгээ таахад олон удаа санамсаргүй цохилт хийх үед харгис хүчний халдлага үүсдэг. Энэ тохиолдолд 12345-г таахад хялбар байх боловч нөгөөг нь санамсаргүй байдлаар олоход хэцүү байх болно. Толь бичгийн халдлага нь халдагчид нийтлэг (мөн тийм ч түгээмэл биш) нууц үгнүүдийн жагсаалтаас үг, тоо, хэллэг бүрийг оролдох боломжтой бөгөөд 12345 нь эдгээрийн нийтлэг нэг юм. нууц үг.

Хэдийгээр криптограф хэш функцууд нь таахад хэцүү, таах боломжгүй хяналтын нийлбэрүүдийг гаргадаг ч та өөрийн бүх онлайн болон дотоод хэрэглэгчийн бүртгэлдээ нарийн төвөгтэй нууц үгийг ашиглах хэрэгтэй.

Криптографийн хэш функцүүдийн талаар нэмэлт мэдээлэл

Криптограф хэш функцууд нь шифрлэлттэй холбоотой мэт санагдаж магадгүй ч энэ хоёр өөр өөр арга замаар ажилладаг.

Шифрлэлт нь ямар нэг зүйлийг унших боломжгүй болгохын тулд шифрлэж, дараа нь дахин хэвийн ашиглахын тулд кодыг тайлдаг хоёр талын процесс юм. Та өөрийн хадгалсан файлуудыг шифрлэж, тэдгээрт хандсан хүн тэдгээрийг ашиглах боломжгүй эсвэл сүлжээгээр хөдөлж буй файлуудыг шифрлэхийн тулд файл дамжуулах шифрлэлтийг ашиглаж болно.

Криптографийн хэш функцууд нь өөр өөр ажилладаг, учир нь шалгах нийлбэрийг тусгай нууц үгийг задлах нууц үгээр буцаах зориулалттай биш юм. CHF-ийн үйлчилдэг цорын ганц зорилго нь файл татаж авах, нууц үг хадгалах, мэдээллийн сангаас өгөгдөл татах зэрэг хоёр өгөгдлийг харьцуулах явдал юм.

Криптограф хэш функц нь өөр өөр өгөгдлийн хэсгүүдэд ижил хяналтын нийлбэр гаргах боломжтой. Ийм зүйл тохиолдоход үүнийг мөргөлдөөн гэж нэрлэдэг бөгөөд энэ нь функцын гол зорилго нь түүнд оруулсан өгөгдөл болгонд өвөрмөц хяналтын нийлбэр гаргах явдал юм.

Мөргөлдөөн үүсч болно, учир нь CHF бүр нь оролтын өгөгдлөөс үл хамааран тогтмол урттай утгыг үүсгэдэг. Жишээ нь, MD5 криптограф хэш функц нь 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a497983 болон e10adc3949ba59abbe550e059abbe550e-ийн нийт өгөгдлийг үүсгэдэг.

Эхний шалгах нийлбэр нь 12345. Хоёр дахь нь 700 гаруй үсэг, тооноос үүсгэгдсэн, гурав дахь нь 123456. Гурван оролт бүгд өөр өөр урттай боловч MD5 шалгах нийлбэрийг ашигласан тул үр дүн нь үргэлж 32 тэмдэгтийн урттай байдаг.

Оролтын өчүүхэн өөрчлөлт бүр тэс өөр хяналтын нийлбэр гаргах учир үүсгэх хяналтын нийлбэрийн тоонд хязгаарлалт байхгүй. Нэг CHF-ийн гаргаж чадах хяналтын нийлбэрийн тоонд хязгаарлалт байдаг тул та мөргөлдөх магадлал үргэлж байдаг.

Иймээс л бусад криптограф хэш функцүүдийг үүсгэсэн. MD5 нь 32 тэмдэгтийн утгыг үүсгэдэг бол SHA-1 нь 40 тэмдэгт, SHA-2 (512) нь 128 тэмдэгт үүсгэдэг. Тэмдэгтийн тоо олон байх тусам мөргөлдөх магадлал бага болно.

Зөвлөмж болгож буй: