Ի՞նչ է կրիպտոգրաֆիկ հեշ ֆունկցիան:

Բովանդակություն:

Ի՞նչ է կրիպտոգրաֆիկ հեշ ֆունկցիան:
Ի՞նչ է կրիպտոգրաֆիկ հեշ ֆունկցիան:
Anonim

Գաղտնագրված հեշ ֆունկցիան (CHF) ալգորիթմ է, որը կարող է գործարկվել այնպիսի տվյալների վրա, ինչպիսիք են անհատական ֆայլը կամ գաղտնաբառը՝ ստուգման գումար կոչվող արժեք ստանալու համար:

CHF-ի հիմնական օգտագործումը տվյալների հատվածի իսկությունը ստուգելն է: Երկու ֆայլ կարելի է ենթադրել, որ նույնական են միայն այն դեպքում, եթե յուրաքանչյուր ֆայլից ստացված ստուգաչափերը՝ օգտագործելով նույն գաղտնագրային հեշ ֆունկցիան, նույնական են:

Որոշ սովորաբար օգտագործվող գաղտնագրային հեշ ֆունկցիաներ ներառում են MD5 և SHA-1, չնայած կան նաև շատ ուրիշներ: Սրանք հաճախ կոչվում են «հեշ ֆունկցիաներ», բայց դա տեխնիկապես ճիշտ չէ: Հեշ ֆունկցիան ընդհանուր տերմին է, որը ներառում է CHF-ները այլ տեսակի ալգորիթմների հետ, ինչպիսիք են ցիկլային ավելորդության ստուգումները:

Գաղտնագրված հեշի գործառույթներ. օգտագործման դեպք

Ասենք, որ ներբեռնել եք Firefox բրաուզերի վերջին տարբերակը: Ինչ-ինչ պատճառներով, դուք պետք է ներբեռնեք այն այլ կայքից, բացի Mozilla-ից: Քանի որ այն տեղակայված չէ մի կայքում, որին սովորել եք վստահել, դուք կցանկանայիք համոզվել, որ տեղադրման ֆայլը, որը դուք ներբեռնել եք, նույնն է, ինչ Mozilla-ն առաջարկում է:

Օգտագործելով չեկային գումարի հաշվիչը՝ դուք հաշվարկում եք չեկային գումարը՝ օգտագործելով որոշակի գաղտնագրային հեշ ֆունկցիա, ինչպիսին է SHA-2-ը, այնուհետև այն համեմատում եք Mozilla-ի կայքում հրապարակվածի հետ: Եթե դրանք հավասար են, կարող եք ողջամտորեն վստահ լինել, որ ձեր ունեցած ներբեռնումն այն է, ինչ Mozilla-ն նախատեսում էր ունենալ:

Image
Image

Կարո՞ղ են հակադարձել գաղտնագրման հեշ գործառույթները:

Գաղտնագրված հեշ ֆունկցիաները նախագծված են կանխելու իրենց ստեղծած ստուգաչափերը սկզբնական տեքստերին վերադարձնելու հնարավորությունը: Այնուամենայնիվ, թեև դրանք գործնականում անհնար է հետարկել, դրանք 100 տոկոսով երաշխավորված չեն տվյալների պաշտպանության համար:

Հաքերները կարող են օգտագործել ծիածանի աղյուսակը՝ ստուգիչ գումարի պարզ տեքստը պարզելու համար: Rainbow աղյուսակները բառարաններ են, որոնք թվարկում են հազարավոր, միլիոնավոր կամ նույնիսկ միլիարդավոր ստուգող գումարներ դրանց համապատասխան պարզ տեքստային արժեքի հետ միասին:

Չնայած սա տեխնիկապես չի հակադարձում կրիպտոգրաֆիկ հեշի ալգորիթմը, այն կարող է նաև լինել, հաշվի առնելով, որ դա շատ պարզ է անել: Իրականում, քանի որ ծիածանի ոչ մի աղյուսակ չի կարող թվարկել գոյություն ունեցող բոլոր հնարավոր ստուգիչ գումարները, դրանք սովորաբար օգտակար են միայն պարզ արտահայտությունների համար, ինչպիսիք են թույլ գաղտնաբառերը:

Ահա ծիածանի աղյուսակի պարզեցված տարբերակը՝ ցույց տալու, թե ինչպես կարելի է աշխատել SHA-1 ծածկագրային հեշ ֆունկցիան օգտագործելիս.

Rainbow աղյուսակի օրինակ
Plaintext SHA-1 Checksum
12345 8cb2237d0679ca88db6464eac60da96345513964
գաղտնաբառ1 e38ad214943daad1d64c102faec29de4afe9da3d
ilovemydog a25fb3505406c9ac761c8428692fbf5d5ddf1316
Jenny400 7d5eb0173008fe55275d12e9629eef8bdb408c1f
դալլաս1984 c1ebe6d80f4c7c087ad29d2c0dc3e059fc919da2

Հաքերը պետք է իմանա, թե որ կրիպտոգրաֆիկ հեշ ալգորիթմն է օգտագործվել ստուգիչ գումարներ ստեղծելու համար՝ արժեքները պարզելու համար:

Ավելացված պաշտպանության համար որոշ կայքեր, որոնք պահում են օգտատերերի գաղտնաբառերը, լրացուցիչ գործառույթներ են կատարում գաղտնագրման հեշ ալգորիթմի վրա, երբ արժեքը ստեղծվել է, բայց նախքան այն պահելը: Այս գործընթացը առաջացնում է նոր արժեք, որը հասկանում է միայն վեբ սերվերը, և որը չի համընկնում սկզբնական ստուգման գումարի հետ:

Օրինակ, գաղտնաբառ մուտքագրելուց և ստուգիչ գումարը ստեղծելուց հետո այն կարող է բաժանվել մի քանի մասերի և վերադասավորվել նախքան գաղտնաբառերի տվյալների բազայում պահվելը, կամ որոշ նիշեր կարող են փոխարինվել այլոց հետ: Երբ փորձում եք նույնականացնել հաջորդ անգամ, երբ օգտատերը մուտք է գործում, սերվերը հակադարձում է այս լրացուցիչ գործառույթը, և սկզբնական ստուգման գումարը նորից ստեղծվում է՝ ստուգելու համար, որ օգտագործողի գաղտնաբառը վավեր է:

Այս քայլերի կատարումը սահմանափակում է հաքի օգտակարությունը, որտեղ բոլոր ստուգիչ գումարները գողացված են: Գաղափարն այն է, որ անհայտ գործառույթ կատարվի, հետևաբար, եթե հաքերը գիտի գաղտնագրային հեշ ալգորիթմը, բայց ոչ սովորականը, ապա գաղտնաբառի ստուգման գումարներն իմանալն օգտակար չէ:

Գաղտնաբառեր և գաղտնագրային հեշ գործառույթներ

Տվյալների բազան պահպանում է օգտվողի գաղտնաբառերը ծիածանի աղյուսակի նման ձևով: Երբ ձեր գաղտնաբառը մուտքագրվում է, ստուգիչ գումարը ստեղծվում է և համեմատվում ձեր օգտանունով գրանցվածի հետ: Այնուհետև ձեզ տրվում է մուտք, եթե երկուսը նույնական են:

Հաշվի առնելով, որ CHF-ն արտադրում է անշրջելի ստուգիչ գումար, արդյոք ձեզ համար անվտանգ է ձեր գաղտնաբառը պարզեցնել 12345 ՝ 12@34-ի փոխարեն: $5, պարզապես այն պատճառով, որ չեկային գումարները չեն կարող հասկանալ: Ոչ, և ահա թե ինչու:

Այս երկու գաղտնաբառերը երկուսն էլ անհնար է վերծանել միայն ստուգիչ գումարներին նայելով:

MD5 12345-ի համար: 827ccb0eea8a706c4c34a16891f84e7b

MD5 12@34$5-ի համար: a4d3cc004f487b18b2ccd4853053818b

Առաջին հայացքից կարող եք մտածել, որ լավ է օգտագործել այս գաղտնաբառերից որևէ մեկը: Սա ճիշտ է, եթե հարձակվողը փորձել է պարզել ձեր գաղտնաբառը՝ գուշակելով MD5 ստուգման գումարը, ինչը ոչ ոք չի անում, բայց ճիշտ չէ, եթե դաժան ուժի կամ բառարանային հարձակում է կատարվում, ինչը սովորական մարտավարություն է:

Կատարվում է կոպիտ ուժային հարձակում, երբ գաղտնաբառ գուշակելու ժամանակ մի քանի պատահական դանակահարություններ են արվում: Այս դեպքում հեշտ կլինի կռահել 12345, բայց բավականին դժվար կլինի պատահականորեն պարզել մյուսը:Բառարանի հարձակումը նման է նրանով, որ հարձակվողը կարող է փորձել բոլոր բառը, թիվը կամ արտահայտությունը սովորական (և ոչ այնքան տարածված) գաղտնաբառերի ցանկից, և 12345-ը նրանցից մեկն է: գաղտնաբառեր։

Չնայած գաղտնագրային հեշ գործառույթները ստեղծում են դժվարից մինչև անհնար գուշակելի ստուգումների գումարներ, դուք դեռ պետք է օգտագործեք բարդ գաղտնաբառ ձեր բոլոր առցանց և տեղական օգտատերերի հաշիվների համար:

Լրացուցիչ տեղեկություններ կրիպտոգրաֆիկ հեշ ֆունկցիաների մասին

Կարող է թվալ, թե կրիպտոգրաֆիկ հեշ ֆունկցիաները կապված են գաղտնագրման հետ, սակայն երկուսն էլ տարբեր կերպ են աշխատում:

Կոդավորումը երկկողմանի գործընթաց է, որտեղ ինչ-որ բան գաղտնագրվում է, որպեսզի դառնա անընթեռնելի, իսկ հետո վերծանվում է, որպեսզի նորից օգտագործվի սովորական ռեժիմում: Դուք կարող եք գաղտնագրել ձեր պահած ֆայլերը այնպես, որ յուրաքանչյուր ոք, ով մուտք է գործում դրանք, չկարողանա օգտագործել դրանք, կամ կարող եք օգտագործել ֆայլերի փոխանցման գաղտնագրումը ցանցով շարժվող ֆայլերը գաղտնագրելու համար, ինչպիսիք են նրանք, որոնք վերբեռնում կամ ներբեռնում եք առցանց:

Գաղտնագրված հեշ ֆունկցիաները տարբեր կերպ են աշխատում, քանի որ ստուգիչ գումարները նախատեսված չեն հակադարձելու հատուկ ապահաշման գաղտնաբառով: Միակ նպատակը, որին ծառայում են CHF-ները՝ համեմատել տվյալների երկու կտոր, օրինակ՝ ֆայլեր ներբեռնելիս, գաղտնաբառերը պահելիս և տվյալների բազայից տվյալներ հանելիս:

Հնարավոր է, որ գաղտնագրման հեշ ֆունկցիան արտադրի նույն ստուգիչ գումարը տվյալների տարբեր մասերի համար: Երբ դա տեղի է ունենում, դա կոչվում է բախում, ինչը հսկայական խնդիր է, եթե հաշվի առնենք, որ ֆունկցիայի ամբողջ իմաստն այն է, որ եզակի ստուգիչ գումարներ ստեղծվեն դրանում մուտքագրված յուրաքանչյուր տվյալների համար:

Բախումները կարող են առաջանալ, քանի որ յուրաքանչյուր CHF արտադրում է ֆիքսված երկարության արժեք՝ անկախ մուտքային տվյալներից: Օրինակ՝ MD5 գաղտնագրային հեշ ֆունկցիան առաջացնում է 827ccb0eea8a706c4c34a16891f84e7b, 1f633b2909b9c1addf32302c7a49798333949ba559abbe-ի 827ccb0eea8a706c4c34a1633b2909b9c1addf32302c7a49798333949bae559abbe տարբեր:

Առաջին ստուգման գումարը 12345-ից է: Երկրորդը ստեղծվել է ավելի քան 700 տառերից և թվերից, իսկ երրորդը՝ 123456-ից: Բոլոր երեք մուտքերը տարբեր երկարություններ ունեն, բայց արդյունքները միշտ ունեն ընդամենը 32 նիշ, քանի որ օգտագործվել է MD5 ստուգիչ գումարը:

Չկա սահմանափակումների քանակի սահմանափակում, որը կարող է ստեղծվել, քանի որ մուտքագրման յուրաքանչյուր աննշան փոփոխություն պետք է արտադրի բոլորովին այլ ստուգիչ գումար:Քանի որ մեկ CHF-ը կարող է արտադրել ստուգիչ գումարների քանակի սահմանափակում, միշտ կա հավանականություն, որ դուք հանդիպեք բախման:

Սա է պատճառը, որ ստեղծվել են այլ ծածկագրային հեշ ֆունկցիաներ: Մինչ MD5-ն առաջացնում է 32 նիշանոց արժեք, SHA-1-ը առաջացնում է 40 նիշ, իսկ SHA-2-ը (512)՝ 128: Որքան մեծ է ստուգիչ գումարի նիշերի քանակը, այնքան քիչ հավանական է, որ բախումը տեղի կունենա:

Խորհուրդ ենք տալիս: