რა არის კრიპტოგრაფიული ჰეშის ფუნქცია?

Სარჩევი:

რა არის კრიპტოგრაფიული ჰეშის ფუნქცია?
რა არის კრიპტოგრაფიული ჰეშის ფუნქცია?
Anonim

კრიპტოგრაფიული ჰეშის ფუნქცია (CHF) არის ალგორითმი, რომელიც შეიძლება გაშვებული იყოს მონაცემებზე, როგორიცაა ინდივიდუალური ფაილი ან პაროლი, რათა შეიქმნას მნიშვნელობა, რომელსაც ეწოდება შემოწმების ჯამი.

CHF-ის ძირითადი გამოყენება არის მონაცემთა ნაწილის ავთენტურობის გადამოწმება. ორი ფაილი შეიძლება ჩაითვალოს იდენტური მხოლოდ იმ შემთხვევაში, თუ თითოეული ფაილიდან გენერირებული ჯამები ერთი და იგივე კრიპტოგრაფიული ჰეშის ფუნქციის გამოყენებით იდენტურია.

ზოგიერთი ხშირად გამოყენებული კრიპტოგრაფიული ჰეშის ფუნქცია მოიცავს MD5 და SHA-1, თუმცა ბევრი სხვაც არსებობს. მათ ხშირად მოიხსენიებენ, როგორც "ჰეშის ფუნქციებს", მაგრამ ეს ტექნიკურად სწორი არ არის. ჰეშის ფუნქცია არის ზოგადი ტერმინი, რომელიც მოიცავს CHF-ებს სხვა სახის ალგორითმებთან ერთად, როგორიცაა ციკლური ჭარბი შემოწმებები.

კრიპტოგრაფიული ჰეშის ფუნქციები: გამოყენების შემთხვევა

თქვით, რომ ჩამოტვირთეთ Firefox ბრაუზერის უახლესი ვერსია. რატომღაც, თქვენ დაგჭირდათ მისი ჩამოტვირთვა სხვა საიტიდან, გარდა Mozilla-ისა. იმის გამო, რომ ის არ არის განთავსებული საიტზე, რომლის ნდობაც ისწავლეთ, გსურთ დარწმუნდეთ, რომ თქვენ მიერ ახლახან გადმოწერილი ინსტალაციის ფაილი ზუსტად იგივეა, რაც Mozilla-ს გთავაზობთ.

შემმოწმებელი ჯამის კალკულატორის გამოყენებით, თქვენ გამოთვლით საკონტროლო თანხას კონკრეტული კრიპტოგრაფიული ჰეშის ფუნქციის გამოყენებით, როგორიცაა SHA-2, და შემდეგ ადარებთ მას Mozilla-ს საიტზე გამოქვეყნებულს. თუ ისინი ტოლია, შეგიძლიათ გონივრულად დარწმუნებული იყოთ, რომ თქვენი ჩამოტვირთვა არის ის, რაც Mozilla-ს გეგმავდა.

Image
Image

შეიძლება თუ არა კრიპტოგრაფიული ჰეშის ფუნქციების შეცვლა?

კრიპტოგრაფიული ჰეშის ფუნქციები შექმნილია იმისთვის, რომ თავიდან აიცილოს მათ მიერ შექმნილი შემოწმებული ჯამების თავდაპირველ ტექსტებზე დაბრუნება. თუმცა, მიუხედავად იმისა, რომ მათი გადაბრუნება პრაქტიკულად შეუძლებელია, ისინი არ არიან 100 პროცენტით გარანტირებული მონაცემების დაცვაში.

ჰაკერებს შეუძლიათ გამოიყენონ ცისარტყელას ცხრილი საკონტროლო ჯამის უბრალო ტექსტის გასარკვევად. Rainbow ცხრილები არის ლექსიკონები, რომლებშიც ჩამოთვლილია ათასობით, მილიონობით ან თუნდაც მილიარდობით საკონტროლო ჯამი მათ შესაბამის უბრალო ტექსტურ მნიშვნელობასთან ერთად.

მიუხედავად იმისა, რომ ეს ტექნიკურად არ აბრუნებს კრიპტოგრაფიული ჰეშის ალგორითმს, ეს შეიძლება იყოს, იმის გათვალისწინებით, რომ ამის გაკეთება ასე მარტივია. სინამდვილეში, რადგან არცერთ ცისარტყელას ცხრილს არ შეუძლია ჩამოთვალოს არსებული ყველა შესაძლო საკონტროლო ჯამი, ისინი, როგორც წესი, გამოსადეგია მხოლოდ ისეთი მარტივი ფრაზებისთვის, როგორიცაა სუსტი პაროლები.

აქ არის ცისარტყელას ცხრილის გამარტივებული ვერსია, რათა აჩვენოს, როგორ იმუშავებს SHA-1 კრიპტოგრაფიული ჰეშის ფუნქციის გამოყენებისას:

Rainbow მაგიდის მაგალითი
უბრალო ტექსტი SHA-1 საკონტროლო ჯამი
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, 1f633b2909b9c1addf32302c7a497983333949baf059abbe სხვადასხვა მონაცემების 827ccb0eea8a706c4c34a16891f84e7b.

პირველი საკონტროლო ჯამი არის 12345-დან. მეორე შეიქმნა 700-ზე მეტი ასოდან და რიცხვიდან, ხოლო მესამე არის 123456-დან. სამივე შენატანი სხვადასხვა სიგრძისაა, მაგრამ შედეგები ყოველთვის მხოლოდ 32 სიმბოლოა, ვინაიდან გამოყენებული იყო MD5 საკონტროლო ჯამი.

არ არსებობს შეზღუდვა შემოწმებული ჯამების რაოდენობაზე, რომელიც შეიძლება შეიქმნას, რადგან შეყვანის ყოველი მცირე ცვლილება უნდა წარმოქმნას სრულიად განსხვავებულ საკონტროლო ჯამს.იმის გამო, რომ არსებობს შეზღუდვების რაოდენობა, რომელსაც შეუძლია ერთი CHF წარმოქმნას, ყოველთვის არის შესაძლებლობა, რომ შეჯახება შეგხვდეთ.

ამიტომ შეიქმნა სხვა კრიპტოგრაფიული ჰეშის ფუნქციები. მაშინ, როცა MD5 წარმოქმნის 32-სიმბოლოიან მნიშვნელობას, SHA-1 ქმნის 40 სიმბოლოს, ხოლო SHA-2 (512) ქმნის 128-ს. რაც უფრო მეტია სიმბოლოების რაოდენობა საკონტროლო ჯამს, მით ნაკლებია შეჯახების ალბათობა.

გირჩევთ: