AES е симетричен шифров ключ за шифроване и обикновено се счита за "златен стандарт" за криптиране на данни.


AES е сертифициран за NIST и се използва от правителството на САЩ за защита на „защитените“ данни, което доведе до по-общо приемане на AES като стандартен симетричен ключов шифър по избор от почти всички. Това е отворен стандарт, който е свободен за използване за всяка публична, частна, търговска или нетърговска употреба.

Въведение в криптирането на AES

AES е симетричен шифров ключ за шифроване. Това означава, че за декриптирането им се използва един и същ ключ, използван за криптиране на данните. Това създава проблем: как да изпратите ключа по сигурен начин?

Асиметричните системи за криптиране решават този проблем чрез осигуряване на данни чрез публичен ключ, който е достъпен за всички. Тя може да бъде дешифрирана само от предназначен получател, който държи правилния частен ключ.

Това прави асиметричното криптиране много по-добро при осигуряването на данни в транзит, тъй като подателят не трябва да знае личния ключ на получателя. Добър пример е RSA криптиране, което се използва за осигуряване на TLS обмена на ключове, необходим при свързване към защитен HTTPS уебсайт.

Следователно симетричните шифри като AES са много по-добри за осигуряване на данни, докато са в покой - например когато те се съхраняват на вашия твърд диск. За тази цел те превъзхождат асиметричните шифри, защото:

  • Те изискват много по-малко изчислителна мощност. Това прави криптирането и дешифрирането на данни със симетрично криптиране много по-бързо, отколкото при асиметрично криптиране. За перспектива, симетричните шифри обикновено се цитират като около "1000 пъти по-бързи" от асиметричните.
  • И тъй като те са по-бързи, симетричните шифри са много по-полезни за групово криптиране на големи количества данни. Асиметрични шифри като RSA се използват наистина само за криптиране на малки количества данни, като например ключовете, използвани за осигуряване на симетрично шифроване на ключове.

Разбира се, в днешния свързан свят данните, които просто седят на вашия твърд диск, са с ограничена употреба. За щастие, той може да бъде безопасно прехвърлен през интернет във връзка с асиметрично криптиране, което се използва за обработка на отдалечените обмени на ключове, необходими за сигурната връзка с отдалечен сървър.

OpenVPN например защитава необработените данни с асиметричен шифър - обикновено AES в наши дни. За да прехвърли шифрованите данни сигурно между вашия компютър и VPN сървъра, той използва асиметричен обмен на клавиши TLS за договаряне на сигурна връзка със сървъра.

Е AES криптирането е най-добрият тип криптиране?

AES се счита за най-сигурният симетричен шифров ключ за шифроване досега. Съществуват и други симетрични ключови шифри, които се считат за силно защитени, като например Twofish, който е създаден съвместно от известния криптограф Брус Шнайер.

Такива шифри обаче не са били тествани битки по начина, по който има AES. И ей, ако правителството на САЩ смята, че AES е най-добрият шифър за защита на „сигурните“ му данни, кой спори? Има обаче някои, които виждат това като проблем. Моля, вижте раздела на NIST по-долу.

Широкото приемане се възползва от AES по други начини. Повечето производители на процесори вече са интегрирали инструкциите AES в своите процесори. Хардуерният тласък подобрява производителността на AES на много устройства, както и подобрява тяхната устойчивост срещу атаки на странични канали.

Може ли да се наруши 128-битовото AES криптиране?

Самият AES е нечуплив, когато се прилага правилно.

През 2011 г. най-бързият суперкомпютър в думата беше Fujitsu K. Това беше способно да достигне максимална скорост Rmax от 10,51 петафлопа. Въз основа на тази цифра ще са необходими Fujitsu K 1,02 x 10 ^ 18 - около един милиард милиарда (един квинтилион) - години, за да се пробие 128-битов AES ключ със сила. Това е по-старо от възрастта на Вселената (13,75 милиарда години).

Най-мощният суперкомпютър в света през 2017 г. беше Sunway TaihuLight в Китай. Този звяр е способен на пикова скорост от 93,02 петафлопа. Това означава, че най-мощният компютър в света все пак ще отнеме около 885 квадрилиона години, за да накара груба сила на 128-битов AES ключ.

Броят на операциите, необходими за груба сила на 256-битов шифър е 3,31 х 10 ^ 56. Това е приблизително равно на броя на атомите във Вселената!

Още през 2011 г. изследователите на криптографията откриха слабост в AES, която им позволи да разрушат алгоритъма четири пъти по-бързо, отколкото беше възможно преди. Но както отбеляза навремето един от изследователите:

„За да направим това в перспектива: на трилион машини, на които всяка може да тества милиард ключове в секунда, ще са необходими повече от два милиарда години, за да се възстанови ключ AES-128.“

В отговор на тази атака към процеса на криптиране AES-128 бяха добавени допълнителни четири кръга (вижте по-късно), за да се увеличи границата на безопасността му.

Атаки на страничния канал

Така че за всички намерения и цели, самият AES е нечуплив, когато се прилага правилно. Но не винаги се прилага правилно.

Атаките на страничните канали търсят улики от компютърната система, осъществяваща AES криптиране, за да открият допълнителна информация. Това може да е полезно за намаляване на броя на възможните комбинации, необходими за груба сила на AES.

Тези атаки използват информация за времето (колко време отнема компютърът да извършва изчисления), електромагнитни течове, аудио улики и дори оптични улики, взети с помощта на камера с висока разделителна способност, за да откриете допълнителна информация за това как системата обработва криптирането на AES.

Известна атака на страничен канал срещу AES успешно изведе кодове за шифроване на AES-128, като внимателно следи съвместната употреба на шифъра от кеш таблиците на процесорите.

Правилно внедреният AES смекчава атаките на страничните канали, като предотвратява възможните начини за изтичане на данни (където използването на хардуерно базиран AES набор от инструкции помага) и чрез използване на техники за рандомизация за елиминиране на връзката между данните, защитени от шифъра, и всички изтичащи данни които могат да бъдат събрани с атака на страничен канал.

Несигурни пароли

AES криптирането е само толкова безопасно, колкото и ключът му. Тези ключове са неизменно защитени с пароли и всички знаем колко страшни са ни хората при използването на защитени пароли. Кейлоггерите, въведени от вируси, атаки в социалния инженеринг и подобни, също могат да бъдат ефективни начини за компрометиране на паролите, които защитават AES ключовете.

Използването на мениджъри на пароли значително намалява този проблем, както и използването на двупосочни защитни стени, добър антивирусен софтуер и по-голямо образование по въпросите на сигурността.

Кратка история на AES криптирането

Когато бяхте дете, играхте ли играта, в която създадохте „тайно съобщение“, замествайки една буква от съобщението с друга? Замяната е направена по формула, избрана от вас.

Може например да замените всяка буква от оригиналното съобщение с една три букви зад нея в азбуката. Ако някой друг знаеше каква е тази формула или беше в състояние да я разработи, тогава щеше да може да прочете вашето „тайно съобщение“.

В криптографския жаргон това, което правехте, беше „криптиране“ на съобщението (данните) според много прост математически алгоритъм.

Шифроването се използва скрито към чувствителни данни от древни времена, но наистина дойде в своето собствено време през ХХ век. По време на Втората световна война германците отлично осигуряват комуникациите си с помощта на машината Enigma, кодът за която е също толкова прочут от Алън Тюринг в Bletchley Park.

Какво е криптиране на DES

Стандартът за шифроване на данни (DES) е създаден в средата на 70-те години, за да осигури комуникация на правителството на САЩ. Той стана първият модерен, публичен, свободно достъпен алгоритъм за криптиране и като такъв почти с една ръка създаде съвременната дисциплина на криптографията.

Въпреки че е разработен от IBM, DES е основа на Националното бюро за стандарти (NBS, което по-късно става NIST).

Въпреки притесненията относно намеса от страна на NSA, DES беше приет от правителството на САЩ през 1976 г. за "чувствителен, но некласифициран" трафик. Това включва неща като лична, финансова и логистична информация.

Тъй като по онова време нямаше нищо друго подобно, той бързо стана широко приет от търговските компании, които се нуждаеха от криптиране, за да защитят своите данни. Като такъв, DES (който използва 56-битови клавиши) се превърна в стандарт за криптиране на работните кончета по подразбиране за почти две десетилетия.

Това почти повсеместно приемане допринесе много благодарение на това, че DES получи статут на Федерални стандарти за обработка на информация (FIPS). Всички американски невоенни правителствени агенции и граждански държавни изпълнители са длъжни да използват само стандарти на FIPS.

Към средата на 90-те обаче DES започва да показва възрастта си. По това време се смята, че NSA може да напука грубо DES, точка доказана през 1998 г., когато машина на стойност 220 000 долара, създадена от Фондацията за електронни граници (EFF), успешно принуди грубо DES само за два дни. Явно беше време за нов стандарт.

Как възникна AES

През 1997 г. Националният институт за стандарти и технологии на Съединените щати (NIST) обяви, че търси замяна на DES. През ноември 2001 г. тя обяви, че победителят: AES, преди известен като Rijndael след един от своите създатели.

По препоръка на NIST новият шифър беше официално приет от федералното правителство на САЩ и влезе в сила през май 2002 г. Подобно на DES преди него, AES получи статут на FIPS. Правителството на САЩ счита всички ключови размери на AES за достатъчни за класифицирана информация до "Тайна" ниво, с "Строго секретно" информация, изискваща AES-192 или AES-256.

AES вече изцяло замества DES по целия свят като стандарт за симетрично криптиране на работния кон по подразбиране.

Как работи криптирането на AES?

Алгоритъмът за криптиране AES криптира и декриптира данни в блокове от 128 бита. Това може да стане с помощта на 128-битови, 192-битови или 256-битови клавиши. AES, използващи 128-битови клавиши, често се нарича AES-128 и т.н..

Следващата диаграма предоставя опростен преглед на процеса AES ...

как работи AES криптирането

Обикновен текст

Това са чувствителните данни, които искате да шифровате.

Таен ключ

Това е 128-битова, 192-битова или 256-битова променлива, създадена от алгоритъм.

шифър

Действителният AES шифър след това извършва серия от математически преобразувания, използвайки очевидния текст и секретния ключ като начална точка. В ред това са:

  1. Разширяване на ключовете. Това използва оригиналния секретен ключ, за да извлече поредица от нови „кръгли клавиши“, използвайки алгоритъма на клавиатурния график на Rijndael.
  2. Смесването. Всеки кръгъл ключ се комбинира с полевия текст, използвайки алгоритъма за добавка XOR.

    AES Шифроване RoundKey

  3. Замяна на получените данни с помощта на таблица за заместване. Тази стъпка е много подобна по принцип (ако е много по-сложна на практика) на заместващите шифри, които сте създали като дете.Шифроване на SubBytes AES

  4. Преместете редове. В който всеки байт в колоната 4 x 4 от шестнадесет байта, който съставлява 128-битов блок, се премества вдясно.AES Шифроване shiftRows

5. Смесете колони. Към всяка колона се прилага допълнителен алгоритъм.

Станете и повторете. Процесът се повтаря няколко пъти, като всяко повторение е известно като кръг. Всеки кръг се кодира повторно с помощта на един от кръглите клавиши, генерирани по време на разширяването на клавиша (стъпка 1).

Броят на извършените кръгове зависи от използваната дължина на ключа. AES-128 използва десет кръга, AES-192 използва дванадесет кръга, а AES-256 използва четиринадесет кръга.

Всеки добавен рунд намалява шанса за атака на пряк път от вида, който беше използван за атака на AES-128 назад 2011 г. Както вече беше отбелязано в резултат на тази атака, към AES-128 бяха добавени допълнителни четири кръга, за да се подобрят маржовете на безопасността му.

Текст на шифъра

Това е криптиран изход от шифъра, след като той премине през определения брой кръгове.

Как да дешифрирате AES криптиране

Дешифрирането на AES е просто - просто обърнете всички горни стъпки, като започнете с обратния кръгъл ключ. Разбира се, трябва да имате оригиналния секретен ключ, за да обърнете процеса, като използвате всеки обратен кръгъл ключ.

Криптирането на файл прави ли го по-голям?

Да. Обикновено. AES използва фиксиран размер на блока от 16 байта. Ако файлът не е кратно на размер на блока, тогава AES използва подплънки, за да завърши блока.

На теория това не означава непременно увеличаване на размера на криптираните данни (вижте кражба на шифротекст), но просто добавянето на данни за блокиране на блока обикновено е много по-лесно. Което увеличава количеството данни, което е криптирано.

Анекдотичните доказателства показват, че файловете, по-големи от 1 MB, криптирани с AES, са с около 35% по-големи, отколкото преди криптирането.

Колко важни са ключовите размери при криптирането на AES?

Най-грубият начин за измерване на силата на шифъра е според размера на неговия ключ. Колкото по-голям е ключът, толкова повече възможни комбинации има.

AES може да се използва с 126-битов, 192-битов или 256-битов размер на клавишите. Оригиналният шифър Rijndael е проектиран да приема допълнителни дължини на ключовете, но те не са приети в AES.

Груби атаки

Колкото по-сложен е алгоритъмът, толкова по-трудно е да се разчупи шифърът с помощта на груба атака. Тази много примитивна форма атака е известна също като изчерпателно търсене на ключове. По същество включва опит за всяка възможна комбинация от числа, докато се намери правилния ключ.

Както сме сигурни, че знаете, компютрите извършват всички изчисления, използвайки двоични числа: нули и такива. И както видяхме, сложността на даден шифър зависи от неговия размер на ключовете в битове - суровия брой от онези и нули, необходими за изразяване на алгоритъма му, където всяка нула или една е представена от един бит.

Това е известно като ключова дължина, а също така представлява практическата възможност за успешно извършване на груба атака върху даден шифър.

Броят на възможните комбинации (и следователно трудността на грубата сила) ги увеличава експоненциално с размера на ключовете. За AES:

Както вече обсъждахме, ще е необходим най-бързият суперкомпютър в света, по-дълъг от възрастта на Вселената, за да се пробие дори клавиш AES-128 със сила!

Шифроване кръгове

Както вече обсъдихме, колкото по-дълъг е ключът, използван от AES, толкова повече криптиране той преминава през него. Това е предимно за предотвратяване на атаки за пряк път, които могат да намалят изчислителната сложност на шифрите и които по този начин улесняват грубата сила на шифъра.

Както се отказа криптографът, Брус Шнайер каза за атаката с пряк път през 2011 г. над AES-128,

„Криптографията се отнася до границите на безопасност. Ако можете да прекъснете n кръг на шифър, го проектирате с 2n или 3n кръга. "

Той препоръча да се въведат повече кръгове за всеки размер на ключовете в AES, но NIST счита, че текущите нива са достатъчни.

Така че защо да използвате повече от AES-128?

Всичко това задава въпроса: ако отнема дори и AES-128 да отнеме повече от възрастта на Вселената, защо да се притеснявате да използвате AES-192 или AES-256? Както отбелязва Шнайер:

„Предлагам хората да не използват AES-256. AES-128 предоставя повече от достатъчно марж на сигурност за обозримо бъдеще. Но ако вече използвате AES-256, няма причина да се променяте. "

Всъщност в миналото Шнайер твърди, че AE-128 всъщност е по-сигурен от AES, тъй като има по-силен ключов график от AES-256.

Така че защо AES-256 се поддържа като златен стандарт за симетрично кодиране на ключове?

Граници на безопасност

Нападението за пряк път през 2011 г. демонстрира, че колкото и сигурни да мислят за криптографски алгоритъм, изобретателните хора винаги ще намерят начини, които никой не е мислил да ги отслаби.

Както при броя на използваните кръгове, по-големият размер на клавиша осигурява по-голям запас за безопасност срещу напукване.

Bling

Ефектът от маркетинга не трябва да се пренебрегва, когато се обсъжда повсеместността на AES-256 криптиране. Простият факт, че AES-256 се счита за най-сигурната симетрична шифроваща шифровачка в света, я прави избор номер едно за много.

Искам да кажа, че ако AES-128 е добър, тогава може само да се разсъждава, че AES-256 трябва да е по-добър, нали?

Фактът, че правителството на САЩ използва AES-256, за да защити най-чувствителните си данни, само добавя към неговата „bling“ стойност и позволява на VPN компании и други подобни да твърдят, че използват криптиране „военна степен“.

Като се има предвид, че това „bling възприятие“ е (до голяма степен) точно, има малка вреда в популярността на AES-256 (въпреки че вижте бележки за NIST по-долу).

AES и OpenVPN

По-специално потребителите на VPN трябва да бъдат внимателни. Повечето VPN услуги използват AES-256 за защита на данни, предавани от OpenVPN протокола, но това е един от различните механизми, използвани от OpenVPN за запазване на данните защитени.

TLS връзка осигурява прехвърляне на кодовете за криптиране, използвани от AES за защита на данните при използване на OpenVPN. Така че, ако настройките на OpenVPN TLS (канал за управление) са слаби, тогава данните могат да бъдат компрометирани, въпреки че са криптирани с помощта на AES-256. Моля, вижте нашето крайно ръководство за шифроване на VPN за повече подробности.

AES-CBC срещу AES-GCM

Доскоро единственият AES шифър, който вероятно ще срещнете в света на VPN, беше AES-CBC (Cipher Block Chaining). Това се отнася до режима на блокчейн шифър, сложен обект, който всъщност не си струва да навлизаме тук.

Въпреки че теоретично CBC може да има някои уязвими места, консенсусът е, че CBC е сигурен. CBC наистина се препоръчва в ръководството за OpenVPN.

OpenVPN сега също поддържа AES-GCM (Galios / Counter Mode). GCM осигурява автентификация, премахвайки необходимостта от HHAC SHA функция на хеширане. Освен това е малко по-бърз от CBC, тъй като използва хардуерно ускорение (чрез резба към множество ядра на процесора).

AES-CBC остава най-често срещаният режим за общо ползване, но AES-GCM нараства популярността си. Като се имат предвид предимствата на GCM, тази тенденция вероятно ще продължи. От криптографска гледна точка обаче AES-CBC и AES-GCM са много сигурни.

NIST

AES е NIST сертифициран стандарт. Това е орган, който по собствено признание работи в тясно сътрудничество с НСА при разработването на своите шифри.

Предвид това, което сега знаем за систематичните усилия на NSA за отслабване или изграждане на заден план в международни стандарти за криптиране, има всички причини да се поставя под въпрос целостта на NIST алгоритмите. NIST, разбира се, категорично опровергава подобни твърдения:

„NIST умишлено не би отслабил криптографския стандарт.“

Той също така покани участието на обществеността в редица предстоящи предложени стандарти за криптиране, като се стреми да засили общественото доверие.

„Ню Йорк Таймс“ обаче обвини НСА, че заобикаля одобрените от NIST стандарти за криптиране, или чрез въвеждане на неоткриваем заден план или подриване на процеса на обществено развитие за отслабване на алгоритмите.

Това недоверие беше допълнително засилено, когато RSA Security (разделение на EMC) на частно каза на клиентите да спрат да използват алгоритъм за криптиране, който според съобщенията съдържа недостатък, създаден от NSA. Този алгоритъм беше одобрен и от NIST.

Освен това Dual_EC_DRBG (Dual Elliptic Curve Determinic Random Bit Generator) е стандарт за криптиране, разработен от NIST. От години се знае, че е несигурен.

През 2006 г. Технологичният университет в Айндховен в Холандия отбеляза, че атака срещу него е достатъчно лесна за стартиране на „обикновен компютър“. Инженерите на Microsoft също така поставиха под въпрос съмнителната задна врата в алгоритъма.

Въпреки тези опасения, където NIST води, индустрията следва. Това до голяма степен се дължи на факта, че спазването на стандартите NIST е предпоставка за получаване на държавни договори на САЩ (FIPS).

Криптографските стандарти, сертифицирани от NIST като AES, са почти повсеместни по целия свят във всички области на индустрията и бизнеса, които разчитат на поверителността. Това прави цялата ситуация доста смразяваща.

Може би точно защото толкова много разчита на тези стандарти, експертите по криптография не са склонни да се изправят пред проблема.

Кредит за изображение: xkcd.com/538.

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me