Криптографиялық хэш функциясы дегеніміз не?

Мазмұны:

Криптографиялық хэш функциясы дегеніміз не?
Криптографиялық хэш функциясы дегеніміз не?
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 криптографиялық хэш функциясы 827CCB0EAA8A706C4C4C4C4C3C4C4C4C4C4C3C4C3C4C3C4C3C4C3C4C3C4C34A1C4C3C4C34A1C3C4C3C3C1333b2909b9c1addf32309c7a497983b9497983b9497949be.com

Бірінші бақылау сомасы 12345. Екіншісі 700-ден астам әріптер мен сандардан жасалған, ал үшіншісі 123456 арқылы жасалған. Барлық үш кірістің ұзындықтары әртүрлі, бірақ MD5 бақылау сомасы пайдаланылғандықтан, нәтижелер әрқашан тек 32 таңбадан тұрады.

Жасалуы мүмкін бақылау сомасының санында шектеу жоқ, себебі енгізудегі әрбір кішкене өзгеріс мүлде басқа бақылау сомасын шығаруы керек. Бір CHF шығара алатын бақылау сомасының санында шектеу болғандықтан, соқтығысуға кезігу мүмкіндігі әрқашан бар.

Сол себепті басқа криптографиялық хэш функциялары жасалды. MD5 32 таңбалы мәнді жасағанда, SHA-1 40 таңбаны және SHA-2 (512) 128 таңбаны жасайды. Бақылау сомасында таңбалар саны неғұрлым көп болса, соқтығыстың орын алу ықтималдығы соғұрлым аз.

Ұсынылған: