Обяснение на криптоанализа
Криптологията може да бъде разделена на две части, криптография и криптоанализ. Криптография се фокусира върху създаването на протоколи за криптиране, докато криптоанализът анализира криптографските алгоритми в опит да ги разбие. Криптоанализът сам по себе си не се използва непременно за организиране на атака. Криптоанализът е малко като Силата в Междузвездни войни, тъй като човек може да го използва за добро или зло. Имаме тъмната и светлата страна.
Тъмната страна би използвала криптоанализ за достъп и използване на криптирани съобщения или данни чрез „разбиване“ на криптирането. От друга страна, светлата страна ще използва криптоанализ, за да определи дали протоколите за криптиране и шифрите са сигурни и да идентифицира уязвимостите, за да подсили системата, вместо да я разбие.
В тази статия ще разгледаме какво представлява криптоанализът, как работи и използваните различни методи.
За да разберем как работи криптоанализът, първо трябва да се запознаем с определени концепции.
Какво е криптография?
Криптографията по същество е процес на преобразуване на обикновен текст (обикновен текст) в нечетлив текст (шифрован текст) и обратно. Той пренаписва данни в неразбираема форма, която само подателят и получателят могат да дешифрират и прочетат. Криптографията защитава данните от кражба или промяна и също така се използва за удостоверяване на потребителя.
Въпреки че това е до голяма степен ниското ниво на криптографията, съвременната криптография надхвърля простото преобразуване на обикновен текст в шифрован текст и трябва да отчете следното:
Поверителност: Съобщенията не могат да бъдат прочетени от никого освен от изпращача и получателя.
Интегритет: Информацията, съдържаща се в съобщенията, не може да бъде променяна.
Без отричане: След като съобщението бъде изпратено, подателят не може да отрече, че е предал съобщението по-късно.
Удостоверяване: Подателят и получателят могат взаимно да потвърдят самоличността си.
Основни видове криптография
Има три основни вида криптография, използвани днес:
- Криптография със симетричен ключ
- Криптография с асиметричен ключ
- Хеш функции
Нека да разгледаме набързо всяко от тях.
Криптография със симетричен ключ
Криптографията със симетричен ключ е протокол за криптиране при което изпращачът и получателят използват един споделен ключ както за криптиране, така и за декриптиране на съобщения. Тази система се нарича още криптография с частен или секретен ключ. AES (усъвършенствана система за криптиране) е най-широко използваният протокол за криптиране със симетричен ключ.
Основният недостатък на криптирането със симетричен ключ е, че двете страни трябва да обменят ключа чрез сигурни средства. Ако ключът е компрометиран, целият протокол е компрометиран, тъй като един ключ може да се използва за криптиране и декриптиране.
Симетрични ключови протоколи:
- AES
- ОТ
- Троен DES
- RC2
- RC4
- RC5
- ИДЕЯ
- Blowfish
Криптография с асиметричен ключ
Криптографията с асиметричен ключ е по-сигурен подход към криптирането от криптографията със симетричен ключ. Всеки потребител притежава чифт ключове в този протокол: частен ключ и публичен ключ. Както подсказва името му, частният ключ се пази в тайна, но публичният се раздава на другите потребители. Използвайки публичния ключ на предвидения получател, всеки потребител може да шифрова съобщение и да го изпрати на собственика на този ключ. От този момент това криптирано съобщение може да бъде декриптирано само с личния ключ на получателя (предвидения получател).
Криптографията с асиметричен ключ също се нарича криптография с публичен ключ и е много по-сигурна от криптографията със симетричен ключ. RSA е най-популярният и широко използван асиметричен алгоритъм.
Асиметрични ключови протоколи:
- RSA
- DSA
- PKCs
- Криптография с елиптична крива
Хеш функции
Хеш функцията е криптографски алгоритъм, който приема вход с произволна дължина и произвежда изход с фиксирана дължина. Стойностите, върнати от хеш функция, се наричат хеш стойности, хеш кодове, дайджести или просто хешове. Хеширането е еднопосочна операция, което означава, че не можете да преобразувате хеша или дайджеста обратно към първоначалния му вход. Самото хеширане не използва никакви ключове, но се използва в криптографията със симетричен и асиметричен ключ за съхраняване на временни стойности – хеширането е един от градивните елементи на съвременната криптография. MD5 и SHA са най-широко използваните хеш функции, въпреки че SHA1 и MD5 вече са отхвърлени и не трябва да се използват повече.
Алгоритми за хеширане:
- Кратко съобщение 5 ( MD5 )
- SHA (сигурен хеш алгоритъм)
- RIPEMD
- водовъртеж
Ясна илюстрация на криптоанализа
За да разберете начина на действие на криптоанализа, ето един елементарен пример, използвайки основен заместващ шифър.
Да кажем, че искаме да извършим криптоанализ на следния шифрован текст: W STNB XTV. Първото нещо, което един криптоаналитик би търсил, е честотата: честотата на думите и честотата на буквите.
Честота на думите
Ако ви бъде дадена фраза, в която една от думите е дълга една буква, разумно е да се предположи, че съответната дума е популярна еднобуквена дума като „I“ или „a“. По същия начин често срещана дума от две букви има добри шансове да бъде „on“, „it“ или „as“ и т.н. А често срещана дума от три букви може да бъде „the“.
Честота на буквата
Най-често срещаните букви в английския език са e, t, a, o, i, n. Най-рядко срещаните букви в английския език са j, x, q, z.
Ако имаме шифрован текст, в който буквата X е най-често срещаната буква, можем разумно да приемем, че X означава E. Може да грешим, така че това ще включва някои проби и грешки. И тази проба и грешка е криптоанализ.
Ако приемем, че W означава общата дума I, следващата дума има отличен шанс да бъде глагол. Това допълнително ограничава възможностите за това каква може да бъде следващата дума. Като опитвате различни замествания, докато можете да изведете последователности от думи, които имат смисъл, в крайна сметка ще преминете от W STNB XTV към I LOVE YOU. И след като сте направили това, вие сте извършили криптоанализ.
Примери за атака на криптоанализа
Има различни начини да превърнете криптоанализа в атака. Ето някои от най-забележителните техники за криптоанализ.
Атака с известен обикновен текст (KPA)
При атака с известен обикновен текст нападателят има достъп до шифрования текст и съответния му обикновен текст. Нападателят използва това знание в опит да отгатне тайните ключове или кодови книги, позволявайки на нападателя да дешифрира останалите съобщения.
Атаките с познат обикновен текст са най-ефективни, когато се използват върху по-малко сложни шифри, като прости шифри за заместване, при които всяка буква се замества с фиксиран заместващ знак, както в нашия пример по-горе.
Като се има предвид, че повечето съвременни шифри са много по-сложни от обикновеното заместване, шансовете са, че тази атака на криптоанализа няма да ви стигне много далеч.
Атака с избран обикновен текст (CPA)
При атака с избран обикновен текст, нападателят изпраща обикновен текст за криптиране и анализира върнатия шифрован текст в опит да изведе частния ключ, използван за дешифриране. Тази атака е осъществима срещу криптография с асиметричен ключ, тъй като публичният ключ, ключът, използван за криптиране на съобщенията, е, както гласи името му, публичен.
Атака само с шифрован текст (COA)
Атака само с шифрован текст (COA) или атака с известен шифрован текст е атака за криптоанализ, при която нападателят има достъп само до шифрован текст. Дори и без достъп до отворения текст, атакуващият може да знае нещо за открития текст. Това може да бъде например езикът на обикновения текст. В много протоколи за криптиране стандартните протоколни данни и съобщения са включени в обикновения текст. Те могат да бъдат отгатнати или изведени с помощта на атака само с шифрован текст.
Дори частичен пробив, както в примера по-горе, в който атакуващият не получава ключа или открития текст, но може да получи информация за отворения текст, може да разкрие изключително чувствителна информация и все още се счита за успех в криптоанализа.
Атака човек по средата (MITM)
Въпреки че сама по себе си не е атака за криптоанализ, успешната атака тип човек по средата може да компрометира вашата схема за криптиране. При MITM атака нападателят седи между вас и вашия получател и може да прихване съобщенията, които изпращате до вашия получател. В случай на изпращане на криптирани съобщения, първо трябва да изпратите публичния си ключ на вашия получател (ако приемем, че той все още не го разполага). Когато изпратите своя публичен ключ, атакуващият може да го прихване и да го замени със своя ключ и да препрати съобщението със сменения ключ на вашия получател. От този момент нататък нападателят ще може да прочете всички ваши криптирани комуникации между вас и вашия получател.
Атаки по страничен канал
Атаките по страничен канал, както подсказва името им, не се опитват директно да разбият криптирането. Те използват спомагателната информация, която компютрите непрекъснато извеждат. Това са неща като електрическите емисии, които излъчва вашият екран или твърд диск, които се променят в зависимост от задачата, която компютърът изпълнява. Или може да е количеството енергия, което вашият компютър черпи, което също варира в зависимост от изпълняваната задача.
Призрак и стопяване , които разтърсиха нашия компютърен свят през 2018 г., са два варианта на една и съща основна уязвимост, която засяга почти всеки компютърен чип, произведен през последните 20 години. И Spectre, и Meltdown се възползват от базирана на времето атака на страничен канал. Всеки от тях използва различна техника, за да заблуди процесора да получи достъп и да кодира секретна информация в кеша на процесора. След това, принуждавайки процесора да търси конкретна информация в паметта и измервайки колко време е необходимо за достъп до исканата информация, нападателят може да анализира времето за реакция на процесора и да получи тайната информация от кеша.
Резултати
Работата с криптоаналитичните атаки е, че те могат да бъдат много вредни, дори ако са само частично успешни. Криптографите са класифицирали проникванията, които се считат за успешни атаки за криптоанализ. Повечето от тях са частични.
Общо прекъсване: Нападателят може да изведе целия таен ключ. С частния ключ нападателят може да дешифрира всички прихванати съобщения.
Глобално приспадане: Нападателят може да създаде алгоритъм, който е функционално еквивалентен на схемата за криптиране и декриптиране, която се опитват да разбият, без да знаят ключа. Това позволява на атакуващия да криптира и декриптира съобщения, сякаш притежава ключа.
Приспадане на екземпляра: Когато нападателят може да открие допълнителен обикновен или шифрован текст, който не е знаел преди. Те може да не са разбили кода, но само този фрагмент от допълнителен обикновен или шифрован текст може да е всичко, от което нападателят се нуждае, за да причини проблеми.
Информационно приспадане: Нападателят получава известна информация (т.е. броя на битовете, които съставляват съобщението) за обикновен или шифрован текст, който не е бил известен преди това. Това може да доведе до други прекъсвания на схемата за криптиране.
Алгоритъм за разграничаване: Нападателят може да разграничи шифъра от произволна промяна. Това разкрива улики за алгоритъма за криптиране и може да доведе до по-значителни прекъсвания.
Частичните прекъсвания, изброени по-горе, позволяват на нападателя да се „премести нагоре по стълбата“, ако желаете. Тъй като събират все повече и повече информация от вашите съобщения, те се приближават все по-близо до пълния пробив. И размерът на щетите, които могат да причинят, също нараства.
Популярни инструменти, използвани за криптоанализ
CryptoSMT
CryptoSMT е инструмент, използван за извършване на криптоанализ на симетрични примитиви като блокови шифри и хеш функции. Базиран е на SMT/SAT решаващи програми като STP, Boolector, CryptoMiniSat и е разработен от Stefan Kölbl.
ARX инструментариум
The ARX инструментариум е набор от инструменти за изучаване на ARX (add-rotate-xor) шифри и хеш функции. Той е разработен от Gaetan Leurent и беше представен на конференцията SHA-3 през март 2021 г.
Криптоанализ на алгоритъм за шифроване на кодирано изображение (ISEA)
“ Криптоанализ на алгоритъм за шифроване на образи ” е хранилище на инструменти за криптоанализ. Репото съдържа кодове за атаки само с шифрован текст и атаки с известен обикновен текст на ISEA. Той също така включва кодове за изчисляване на индекса на структурно сходство (SSIM) на изображение, базирано на хартиятаКриптоанализ на алгоритъм за шифроване на изображения с кодиране на пикселни битове. Разработен е от Dongdong Lin.
Защита срещу криптоанализ
Изглежда не можете да направите много, за да се защитите от атаки за криптоанализ, освен да се уверите, че използвате сигурни схеми за криптиране и шифри във вашата цифрова инфраструктура и да поддържате софтуера си актуализиран. Това обаче предполага следното:
- Използвайте актуални криптиране и алгоритми за хеширане. SHA1 и MD5, например, вече не се считат за сигурни и не трябва да се използват
- Използвайте достатъчно дълги ключове за криптиране. Например RSA ключовете трябва да са дълги поне 2048 бита за VPN ръкостискания
- Не забравяйте да унищожите заменените ключове
- Използвайте силни пароли и използвайте a изпитан и тестван генератор на случайни числа за генериране на вашите ключове
- Посолете си хешовете (добавете произволен шум). Подобно на паролите, солите трябва да са дълги, уникални и възможно най-близки до случайни
- Използвайте перфектна предна секретност (PFS), за да предотвратите декриптиране на вашите минали или бъдещи сесии, ако текущият ви ключ някога бъде компрометиран. Повечето VPN доставчици използват PFS днес
- Опитайте и объркайте вашия криптиран трафик за да изглежда като нормален трафик и да избегнете рекламирането на факта, че използвате криптиране. Obfsproxy е пример за обфусциращ инструмент, който може да се използва с мрежата Tor
- Ан система за откриване на проникване (IDS) ще ви уведоми в случай на нарушение, но няма да предотврати нарушението. Все пак намаляването на времето за реакция може да ограничи щетите, така че се препоръчва добра IDS
Заключение
Така че това е криптоанализът, накратко. Това е по-скоро средство за атака, отколкото атака сама по себе си. Но доколкото води до и позволява атака, това е атака. Криптоаналитикът събира малко повече информация на всяка стъпка от играта, докато достигне полезния товар: дешифрирането на вашите тайни. След като атакуващият разполага с вашите тайни, той отваря цял нов свят от възможни подвизи и атаки. Затова се уверете, че следвате горните съвети.
Пази се.