Кіріспе

Файлдың формалды дұрыстығын немесе толықтығын тексеру

Файлды тексеру – компьютерлік файлдың толықтығын тексеру үшін алгоритм қолдану процесі, көбінесе бақылау сомасы арқылы. Бұл екі файлды биттер бойынша салыстыру арқылы жасалуы мүмкін, бірақ бір файлдың екі данасы қажет, сондай-ақ екі файлда да кездесетін жүйелі зақымдануларды байқамай қалуы мүмкін. Көбірек таралған тәсіл – көшірілген файлдың хэшін жасап, оны бастапқы файлдың хэшімен салыстыру.

Салыстығын тексеру

Файлдың тұтастығы бұзылуы мүмкін, бұл әдетте файлдың зақымдануы деп аталады. Файл түрлі себептермен зақымдануы мүмкін: қателі сақтау ортасы, деректерді жіберу кезіндегі қателер, көшіру немесе жылжыту барысындағы қателер, бағдарламалық жасақтамадағы ақаулар және т.б. Хаш-функцияға негізделген тексеру, файлдың хэш-мәнін бұрын есептелген мәнмен салыстыру арқылы файлдың зақымдалмағанын қамтамасыз етеді. Егер осы мәндер сәйкес келсе, файл өзгертілмеген деп саналады. Хаш-функциялардың ерекшелігіне байланысты, хаш-түйісулер қате нәтижелерге алып келуі мүмкін, бірақ кездейсоқ зақымдану жағдайында мұндай түйісулердің ықтималдығы көбінесе ескерілмейді.

Шынымен екендігін тексеру

Файлдың берілуі немесе сақталуы кезінде сенімсіз тараптардың, мысалы, вирустар немесе артқы есіктер сияқты зиянды кодты енгізу үшін өзгертілмегенін тексеру жиі қажет болады. Нақтылығын тексеру үшін классикалық хэш-функция жеткіліксіз, себебі олар соқтығыстарға қарсы тұру үшін жасалмаған; шабуылшы үшін хэш-соқтығыстарын жасау есептеу тұрғысынан оңай, яғни файлға енгізілген зиянды өзгеріс хэш-салыстыру арқылы анықталмайды. Криптографияда бұл шабуыл алдын ала бейнелеу шабуылы деп аталады. Осы мақсатта криптографиялық хэш-функциялар көбінесе қолданылады. Хэш-қосындылары бұзылмаса – мысалы, олар қауіпсіз канал арқылы жіберілсе – файлдардың өзгермегендігіне сенуге болады. Балама ретінде, файлдың бұзылмауын қамтамасыз ету үшін цифрлық қолтаңбаларды қолдануға болады.

Файл пішімдері

Тексеру жиынтығы файлы – басқа файлдардың тексеру жиынтығын қамтитын шағын файл. Тексеру жиынтығы файлдарының бірнеше белгілі форматтары бар. Md5deep сияқты бірнеше құралдар мұндай тексеру жиынтығы файлдарын пайдаланып, файлдардың бүкіл каталогын бір операцияда автоматты түрде тексеруге болады. Қолданылатын нақты хэш алгоритмі көбінесе тексеру жиынтығы файлының файл кеңейтімімен көрсетіледі. ".sha1" файл кеңейтімі sha1sum форматындағы 160 биттік SHA1 хэштерін қамтитын тексеру жиынтығы файлын көрсетеді. ".md5" файл кеңейтімі немесе "MD5SUMS" деп аталған файл md5sum форматындағы 128 биттік MD5 хэштерін қамтитын тексеру жиынтығы файлын көрсетеді. ".sfv" файл кеңейтімі қарапайым файл тексеру форматындағы 32 биттік CRC32 тексеру жиынтығын қамтитын тексеру жиынтығы файлын көрсетеді. "crc.list" файлы 32 биттік CRC тексеру сомаларын қамтитын BRIK форматындағы тексеру жиынтығы файлын көрсетеді. 2012 жылдан бастап, жаңа файл тұтастығын растау үшін SHA2 немесе SHA3 пайдалану ұсынылады; егер күштірек растаулар қолжетімді болмаса, артқа қарай үйлесімділік үшін MD5 және SHA1 растауларын қабылдауға болады. Теориялық тұрғыдан әлсіз SHA1, әлсіз MD5 немесе одан да әлсіз CRC бұрын файл тұтастығын тексеру үшін жиі қолданылған. CRC тексеру жиынтығын файлдардың түпнұсқалығын тексеру үшін пайдалануға болмайды, себебі CRC32 – шабуылға төзімді емес хэш функциясы. Тіпті хэш сома файлы бұзылмаса да, шабуылшы үшін бастапқы файлмен бірдей CRC қорытуы бар файлды ауыстыру есептеу жағынан оңай, яғни файлдағы қасақана өзгеріс CRC салыстыру арқылы анықталмайды.