Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

"Криптография" деген сөздү укканда, кээ бир адамдар WiFi сырсөзүн, сүйүктүү веб-сайтынын дарегинин жанындагы жашыл кулпусун жана башка бирөөнүн электрондук почтасына кирүү канчалык кыйын экенин эстешет. Башкалары болсо, акыркы жылдардагы бир катар кемчиликтерди эскерип, кыскартуулар (DROWN, FREAK, PUODLE...), стилдүү логотиптер жана браузериңизди тез арада жаңыртуу керектиги жөнүндө эскертүү менен эстешет.

Криптография баарын камтыйт, бирок жүрөк башкасында. Кеп жөнөкөй жана татаал ортосунда жакшы сызык бар. Кээ бир нерселерди жасоо оңой, бирок жумуртканы сындыруу сыяктуу кайра чогултуу кыйын. Башка нерселерди жасоо оңой, бирок кичинекей, маанилүү, чечүүчү бөлүк жок болгондо кайра кайтаруу кыйын: мисалы, "маанилүү бөлүгү" ачкыч болуп турганда кулпуланган эшикти ачуу. Криптография бул жагдайларды жана аларды иш жүзүндө кантип колдонсо болорун изилдейт.

Акыркы жылдары криптографиялык чабуулдардын коллекциясы илимий эмгектердеги формулалар менен толтурулган жаркыраган логотиптердин зоопаркына айланып, бардыгы бузулган деген жалпы кайгылуу сезимди пайда кылды. Бирок, чындыгында, чабуулдардын көбү бир нече жалпы принциптерге негизделет жана формулалардын түгөнгүс беттери көбүнчө түшүнүктүү идеяларга кайнатылган.

Бул макалалар сериясында биз негизги принциптерге басым жасоо менен криптографиялык чабуулдардын ар кандай түрлөрүн карап чыгабыз. Жалпысынан алганда жана так ушул тартипте эмес, бирок биз төмөнкүлөрдү камтыйт:

  • Негизги стратегиялар: катаал күч, жыштык анализи, интерполяция, төмөндөтүү жана кайчылаш протоколдор.
  • Бренддик алсыздыктар: ФРЕК, КЫЛМЫШ, ПУДЛ, СӨГҮҮ, Лоджам.
  • Өркүндөтүлгөн стратегиялар: оракул чабуулдары (Vodenet чабуулу, Келси чабуулу); ортодо жолугуу ыкмасы, туулган күнү чабуулу, статистикалык тенденция (дифференциалдык криптоанализ, интегралдык криптоанализ ж.б.).
  • Капталдагы канал чабуулдары жана алардын жакын туугандары, ийгиликсиздикти талдоо ыкмалары.
  • Ачык ачкыч криптографиясына жасалган чабуулдар: куб тамыры, уктуруу, тиешелүү билдирүү, Coppersmith чабуулу, Pohlig-Hellman алгоритми, сандар ситеги, Wiener чабуулу, Блейхенбахер чабуулу.

Бул макалада Келси чабуулуна чейин жогорудагы материал камтылган.

Негизги стратегиялар

Төмөнкү чабуулдар жөнөкөй, алар дээрлик техникалык деталдары жок эле түшүндүрүлөт. Келгиле, чабуулдун ар бир түрүн татаал мисалдарга же өнүккөн колдонуу учурларына кирбестен, эң жөнөкөй сөз менен түшүндүрүп берели.

Бул чабуулдардын айрымдары негизинен эскирип, көп жылдар бою колдонулбай калган. Башкалары 21-кылымда криптосистеманы иштеп чыгуучуларга дайыма тымызын кирип турган эски адамдар. Заманбап криптографиянын доору ушул тизмедеги бардык чабуулдарга туруштук берген биринчи шифр болгон IBM DESтин пайда болушу менен башталды деп эсептесе болот.

Жөнөкөй катаал күч

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөШифрлөө схемасы эки бөлүктөн турат: 1) ачкыч менен бириктирилген билдирүүнү (ачык текстти) кабыл алып, андан кийин шифрленген билдирүүнү – шифрленген текстти түзүүчү шифрлөө функциясы; 2) шифрленген текстти жана ачкычты алып, ачык текстти чыгарган дешифрлөө функциясы. Шифрлөө да, чечмелөө да ачкыч менен оңой эсептелиши керек жана ансыз эсептөө кыйын болушу керек.

Келгиле, биз шифрленген текстти көрүп, аны эч кандай кошумча маалыматсыз чечмелөө аракетин көрөлү (бул шифрленген текстке гана чабуул деп аталат). Эгерде биз кандайдыр бир сыйкырдуу түрдө туура ачкычты тапсак, натыйжада акылга сыярлык билдирүү болсо, анын чындыгында туура экенин оңой эле текшере алабыз.

Бул жерде эки жашыруун божомол бар экенин белгилей кетүү керек. Биринчиден, биз чечмелөө жүргүзүүнү билебиз, башкача айтканда, криптосистема кандай иштейт. Бул криптографияны талкуулоодо стандарттуу божомол. Шифрдин ишке ашыруу чоо-жайын чабуулчулардан жашыруу кошумча коопсуздук чарасы сыяктуу көрүнүшү мүмкүн, бирок чабуулчу бул деталдарды аныктагандан кийин, бул кошумча коопсуздук акырындык менен жана кайра кайтарылгыс түрдө жоголот. Мына ушундай Керхгофтун принциби: Душмандын колуна түшкөн система ыңгайсыздык жаратпашы керек.

Экинчиден, биз туура ачкыч акылга сыярлык чечмелөөгө алып келе турган жалгыз ачкыч деп ойлойбуз. Бул да жөндүү бир божомол; эгерде шифрленген текст ачкычтан алда канча узун болсо жана окула турган болсо канааттандырылат. Бул, адатта, чыныгы дүйнөдө эмне болот, кошпогондо зор практикалык эмес ачкычтар же башка шылуундуктарды четте калтыруу керек (эгерде биздин түшүндүрмөнү өткөрүп жибергенибиз жакпаса, 3.8 Теореманы караңыз. бул жерде).

Жогоруда айтылгандарды эске алуу менен, стратегия пайда болот: ар бир мүмкүн болгон ачкычты текшерүү. Бул катаал күч деп аталат жана мындай чабуул бардык практикалык шифрлерге каршы иштөөгө кепилдик берилет - акыры. Мисалы, бузуку күч жетиштүү Цезарь шифри, байыркы шифр, анда ачкыч алфавиттин бир тамгасы болуп саналат, ал 20дан ашык мүмкүн баскычтарды билдирет.

Тилекке каршы криптоаналитиктер үчүн ачкычтын өлчөмүн көбөйтүү орой күчкө каршы жакшы коргонуу болуп саналат. Ачкычтын көлөмү чоңойгон сайын, мүмкүн болгон баскычтардын саны экспоненциалдуу түрдө көбөйөт. Заманбап ачкыч өлчөмдөрү менен жөнөкөй катаал күч таптакыр мүмкүн эмес. Эмнени айтып жатканыбызды түшүнүү үчүн, келгиле, 2019-жылдын ортосуна карата эң тез белгилүү суперкомпьютерди алалы: чоку IBMден, эң жогорку көрсөткүчү секундасына 1017 операцияны түзөт. Бүгүнкү күндө типтүү ачкычтын узундугу 128 битти түзөт, бул 2128 мүмкүн болгон комбинацияны билдирет. Бардык ачкычтарды издөө үчүн Summit суперкомпьютери Ааламдын жашынан болжол менен 7800 эсе көп убакытты талап кылат.

Оор күч тарыхый кызыкчылык катары каралышы керекпи? Такыр эмес: бул криптоанализ китебинин керектүү ингредиенти. Шифрлер сейрек кездешет, алар тигил же бул даражада күч колдонбостон, акылдуу чабуул менен гана бузулат. Көптөгөн ийгиликтүү хакерлер алгоритмдик ыкманы колдонуп, адегенде максаттуу шифрди алсыратып, андан кийин катаал чабуул жасашат.

Жыштык анализи

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөКөпчүлүк тексттер жөнсүз эмес. Мисалы, англис тилиндеги тексттерде көптөгөн 'e' тамгалары жана 'the' макалалары бар; бинардык файлдарда маалымат бөлүктөрүнүн ортосунда толтургуч катары көптөгөн нөл байттар бар. Жыштык анализи бул чындыкты пайдаланган ар кандай чабуул.

Бул чабуулга алсыз шифрдин канондук мисалы жөнөкөй алмаштыруу шифри болуп саналат. Бул шифрде ачкыч бардык тамгалар алмаштырылган таблица болуп саналат. Мисалы, 'g' 'h', 'o' j менен алмаштырылган, ошондуктан "go" сөзү "hj" болуп калат. Бул шифрди катаал күч менен колдонуу кыйын, анткени издөө таблицалары абдан көп. Эгер сиз математикага кызыксаңыз, эффективдүү ачкычтын узундугу болжол менен 88 бит: бул
Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. Бирок жыштык анализи, адатта, ишти тез бүтүрөт.

Жөнөкөй алмаштыруу шифри менен иштетилген төмөнкү шифрленген текстти карап көрөлү:

XDYLY ALY UGLY XDWNKE WN DYAJIN ANF YALXD DGLAXWG XDAN ALY FLYAUX GR WN OGQL ZDWBGEGZDO

катары Y көп сөздөрдүн аягында, анын ичинде көп кездешет, биз болжолдуу түрдө бул тамга деп болжолдоого болот e:

XDeLe Ale UGLe XDWNKE WN DeAJeN ANF eALXD DGLAXWG XDAN Ale FleAUX GR WN OGQL ZDWBGEGZDO

жубайлар XD бир нече сөздүн башында кайталанат. Атап айтканда, айкалышы XDeLe так сөздү сунуш кылат these же there, анда уланталы:

theLe Ale UGLe thWNKE WN heAJeN ANF eALth DGLAtWG караганда Ale FleAUt GR WN OGQL ZDWBGEGZDO

Келгиле, мындан ары деп эсептейли L туура келет r, A - a жана башка. Бул, балким, бир нече аракетти талап кылат, бирок толук катаал чабуулга салыштырмалуу, бул чабуул баштапкы текстти кыска убакыттын ичинде калыбына келтирет:

Асманда жана жерде Horatio сиздин философияңызда кыялдангандан да көп нерселер бар

Кээ бирөөлөр үчүн мындай "криптограммаларды" чечүү - кызыктуу хобби.

Жыштыктарды талдоо идеясы биринчи караганда көрүнгөндөн да маанилүү. Жана ал алда канча татаал шифрлерге тиешелүү. Тарых бою ар кандай шифр долбоорлору мындай чабуулга "полиалфавиттик алмаштырууну" колдонуу менен каршы турууга аракет кылышкан. Бул жерде, шифрлөө процессинде тамгаларды алмаштыруу таблицасы ачкычка жараша татаал, бирок болжолдуу жолдор менен өзгөртүлөт. Бул шифрлердин баары бир убакта бузуу кыйын деп эсептелген; бирок жупуну жыштык талдоо акыры алардын баарын жеңди.

Тарыхтагы эң дымактуу полиалфавиттик шифр, балким эң атактуусу Экинчи Дүйнөлүк Согуштун Enigma шифри болгон. Ал мурункуларына салыштырмалуу татаал болгон, бирок көп күч-аракет жумшагандан кийин британиялык криптоаналитиктер жыштык анализинин жардамы менен аны сындырышкан. Албетте, алар жогоруда көрсөтүлгөндөй кооз чабуул жасай алышкан эмес; алар Enigma колдонуучуларын кээ бир билдирүүлөрдү шифрлеп, натыйжаны талдоо («тандалган ачык текст чабуулу») үчүн провокациялоо үчүн ачык жана шифрленген тексттин белгилүү түгөйлөрүн салыштырууга аргасыз болушкан ("ачык текст чабуулу"). Бирок бул талкаланган душмандын армияларынын жана суу астында сүзүүчү кайыктардын тагдырын жеңилдеткен жок.

Бул жеңиштен кийин жыштык анализи криптоанализдин тарыхынан жок болуп кетти. Заманбап санариптик доордогу шифрлер тамгалар менен эмес, бит менен иштөө үчүн иштелип чыккан. Андан да маанилүүсү, бул шифрлер кийинчерээк белгилүү болгон нерсенин караңгы түшүнүгү менен иштелип чыккан Шнайер мыйзамы: Ар бир адам өзү бузуй албаган шифрлөө алгоритмин түзө алат. Бул шифрлөө системасы үчүн жетиштүү эмес көрүндү кыйын: анын баалуулугун далилдөө үчүн, ал шифрди бузуу үчүн колунан келгендин баарын жасай турган көптөгөн криптоаналитиктер тарабынан аёосуз коопсуздук текшерүүсүнөн өтүшү керек.

Алдын ала эсептөөлөр

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөГипотетикалык Преком Хайтс шаарын алалы, калкы 200 000. Шаардагы ар бир үйдө орточо эсеп менен 30 000 долларлык баалуу буюмдар бар, бирок баасы 50 000 доллардан ашпайт. Precomдагы коопсуздук рыногу легендарлуу Coyote™ классындагы эшик кулпуларын чыгарган ACME Industries тарабынан монополияланган. Эксперттик анализге ылайык, Койот классындагы кулпуну бир гана өтө татаал гипотетикалык машина менен бузууга болот, аны түзүү үчүн болжол менен беш жыл жана 50 000 доллар инвестиция талап кылынат. Шаар коопсузбу?

Жок болсо керек. Акыр-аягы, бир кыйла дымактуу кылмышкер пайда болот. Ал мындайча ой жүгүртөт: «Ооба, мен алдын ала чоң чыгымдарды тартам. Беш жыл чыдамкайлык жана 50 000 доллар. Бирок бүтүргөндөн кийин менде мүмкүнчүлүк болот бул шаардын бардык байлыгы. Эгерде мен карталарымды туура ойносом, бул инвестиция өзүн көп эсе төлөйт».

Криптографияда да ушундай. Белгилүү бир шифрге кол салуулар аёосуз чыгым-пайда талдоосуна дуушар болушат. катышы жагымдуу болсо, чабуул болбойт. Бирок бир эле учурда көптөгөн потенциалдуу курмандыктарга каршы жасалган чабуулдар дээрлик дайыма өз натыйжасын берет, бул учурда эң мыкты дизайн практикасы алар биринчи күндөн башталган деп эсептейт. Бизде негизинен Мерфи мыйзамынын криптографиялык версиясы бар: "Системаны чындап буза турган бардык нерсе системаны бузат."

Алдын ала эсептөө чабуулдарына дуушар болгон криптосистеманын эң жөнөкөй мисалы туруктуу ачкычсыз шифр болуп саналат. Бул менен болгон окуя Цезарьдын шифри, ал алфавиттин ар бир тамгасын үч тамга алдыга жылдырат (таблица илмектелген, ошондуктан алфавиттин акыркы тамгасы үчүнчү болуп шифрленген). Бул жерде дагы Керхгофтун принциби ишке кирет: система бузулгандан кийин, ал түбөлүккө бузулат.

Концепция жөнөкөй. Жада калса жаңы криптосистеманы иштеп чыгуучу коркунучту таанып, ошого жараша даярданышы мүмкүн. Криптографиянын эволюциясына көз чаптырсак, мындай чабуулдар Цезарь шифринин биринчи жакшыртылган версияларынан баштап полиалфавиттик шифрлердин төмөндөшүнө чейин көпчүлүк шифрлер үчүн ылайыксыз болгон. Мындай чабуулдар криптографиянын заманбап доорунун келиши менен гана кайтып келди.

Бул кайтарым эки факторго байланыштуу. Биринчиден, жетишээрлик татаал криптосистемалар акыры пайда болду, мында хакерликтен кийин эксплуатациялоо мүмкүнчүлүгү айкын болгон эмес. Экинчиден, криптография ушунчалык кеңири таралгандыктан, миллиондогон жөнөкөй адамдар криптографиянын кайда жана кайсы бөлүктөрүн кайра колдонуу керектиги жөнүндө күн сайын чечим кабыл алышкан. Эксперттер коркунучтарды түшүнүп, коңгуроо кагылганга чейин бир аз убакыт өттү.

Алдын ала эсептөө чабуулун эстеңиз: макаланын аягында биз эки реалдуу криптографиялык мисалды карап чыгабыз, анда ал маанилүү роль ойногон.

Интерполяция

Бул жерде атактуу детектив Шерлок Холмс бактысыз доктор Уотсонго интерполяциялык чабуул жасап жатат:

Ооганстандан келгениңди дароо боолголодум... Менин оюмдагы поезд мындай болду: «Бул киши түрү боюнча врач, бирок аскердик жактан шыгы бар. Ошентип, аскер дарыгери. Ал тропиктен жаңы эле келди – анын жүзү кара, бирок бул анын терисинин табигый түсү эмес, анткени анын билектери алда канча агарат. Жүзү саргайып – көп кыйналганы, оорунун азабын тартканы көрүнүп турат. Ал сол колунан жарадар болгон - ал кыймылсыз жана бир аз табигый эмес кармап турат. Тропиктердин кайсы жеринде англиялык аскер врачы кыйынчылыктарга чыдап, жарадар боло алмак? Албетте, Ооганстанда». Бүткүл ой поезди бир секунданы да алган жок. Ошентип, Ооганстандан келдиң дедим, таң калдың.

Холмс ар бир далилден өзүнчө аз маалымат ала алган. Алардын баарын чогуу карап чыгуу менен гана жыйынтык чыгара алмак. Интерполяциялык чабуул бир эле ачкычтан келип чыккан белгилүү ачык жана шифрленген текст жуптарын изилдөө менен окшош иштейт. Ар бир жуптан ачкыч жөнүндө жалпы жыйынтык чыгарууга мүмкүндүк берген жеке байкоолор алынат. Бул тыянактардын баары бүдөмүк жана күтүлбөгөн жерден критикалык массага жетип, бир гана мүмкүн болгон жыйынтыкка алып келмейинче пайдасыз болуп көрүнөт: канчалык укмуштуу болсо да, бул чындык болушу керек. Андан кийин, же ачкыч ачылат, же чечмелөө процесси ушунчалык такталып, аны кайталоого болот.

Жөнөкөй мисал менен интерполяциянын кандай иштээрин түшүндүрүп көрөлү. Биз душманыбыз Бобдун жеке күндөлүгүн окугубуз келет дейли. Ал журналындагы ар бир санды "Криптографиянын шылдыңы" журналындагы жарнамадан билген жөнөкөй криптосистеманын жардамы менен шифрлейт. Система мындай иштейт: Боб өзүнө жаккан эки санды тандайт: Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө и Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. Мындан ары каалаган номерди шифрлөө үчүн Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, эсептейт Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. Мисалы, Боб тандаган болсо Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө и Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, андан кийин саны Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө катары шифрленген болот Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө.

Айталы, 28-декабрда Боб күндөлүгүнө бир нерсени тырмап жатканын байкадык. Ал бүтүргөндөн кийин, биз аны акырын алып, акыркы жазууну көрөбүз:

датасы: 235/520

Кымбаттуу күндөлүк,

Бүгүн жакшы күн болду. аркылуу 64 Бүгүн мен батирде жашаган Алиса менен сүйлөшөм 843. Мен чындап эле ал болушу мүмкүн деп ойлойм 26!

Биз Бобду анын күнүн ээрчүүгө абдан олуттуу мамиле кылгандыктан (бул сценарийде экөөбүз тең 15 жаштабыз), ал күндү жана Алисанын дарегин билүү абдан маанилүү. Бактыга жараша, биз Бобдун криптосистемасы интерполяциялык чабуулга алсыз экенин байкадык. Биз билбешибиз мүмкүн Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө и Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, бирок биз бүгүнкү күндү билебиз, ошондуктан бизде эки ачык текст-шифр текст жуптары бар. Тактап айтканда, биз муну билебиз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө шифрленген Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөжана Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө - in Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. Бул биз жаза турган нерсе:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Биз 15 жашта болгондуктан, биз эки белгисиз эки теңдеменин системасы жөнүндө билебиз, бул жагдайда аны табуу үчүн жетиштүү. Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө и Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө эч кандай көйгөйлөр жок. Ар бир ачык-шифрленген текст жуптары Бобдун ачкычына чектөө коёт жана эки чектөө чогуу ачкычты толугу менен калыбына келтирүүгө жетиштүү. Биздин мисалда жооп болуп саналат Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө и Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө (саат Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, Ошондуктан 26 күндөлүктөгү "бир" деген сөзгө туура келет, башкача айтканда, "ошол эле" - болжол менен. тилке).

Интерполяциялык чабуулдар, албетте, мындай жөнөкөй мисалдар менен эле чектелбейт. Жакшы түшүнүктүү математикалык объектке жана параметрлердин тизмесине чейин кыскарган ар бир криптосистема интерполяциялык чабуул коркунучуна дуушар болот — объект канчалык түшүнүктүү болсо, тобокелдик ошончолук жогору болот.

Жаңы келгендер криптография "мүмкүн болушунча жаман нерселерди долбоорлоо искусствосу" деп нааразы болушат. Интерполяциялык чабуулдар көбүнчө күнөөлүү. Боб көрктүү математикалык дизайнды колдоно алат же Алиса менен болгон жолугушуусун купуя сактай алат - бирок тилекке каршы, сизде адатта эки жол менен тең боло албайсыз. Бул акыры ачык ачкыч криптографиясы темасына келгенде айкын болот.

Кайчылаш протокол/төмөндөтүү

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө«Эми сен мени көрөсүң» (2013) тасмасында иллюзионисттер тобу коррупциялашкан камсыздандыруу магнаты Артур Тресслерди бүт байлыгын тартып алууга аракет кылышат. Артурдун банк эсебине кирүү үчүн иллюзионисттер же анын логин менен сырсөзүн бериши керек же аны банкка өзү келип, схемага катышууга мажбурлашы керек.

Эки вариант тең абдан кыйын; Жигиттер чалгындоо иштерине катышпай, сахнада ойногонго көнүп калышкан. Ошентип, алар үчүнчү мүмкүн болгон вариантты тандашат: алардын шериги банкка телефон чалып, өзүн Артур кылып көрсөтөт. Банк инсандыгын текшерүү үчүн бир нече суроолорду берет, мисалы, агасынын аты жана биринчи үй жаныбарынын аты; биздин баатырлар алдын ала алар акылдуу социалдык инженерияны колдонуу менен бул маалыматты Артурдан оңой эле чыгарып алышат. Ушул учурдан тартып, мыкты сырсөз коопсуздугу мындан ары маанилүү эмес.

(Биз жеке текшерип, тастыктаган шаардык уламыш боюнча, криптограф Эли Бихам бир жолу коопсуздук суроосун коюуну талап кылган банк кассирине жолугуп калат. Кассир апасынын чоң энесинин атын сураганда, Бихам диктант кыла баштады: "Борбор X, кичинекей ж, үч ... ").

Эгерде эки криптографиялык протокол бир эле активди коргоо үчүн параллелдүү колдонулса жана бири экинчисине караганда алда канча алсыз болсо, криптографияда да ушундай. Натыйжадагы система кайчылаш протоколдук чабуулга алсыз болуп калат, мында күчтүүрөөкүнө тийбестен байгеге жетүү үчүн алсызыраак протоколго чабуул жасалат.

Кээ бир татаал учурларда, алсызыраак протоколду колдонуу менен сервер менен жөн гана байланышуу жетишсиз, бирок мыйзамдуу кардардын эрксиз катышуусун талап кылат. Муну төмөндөтүү чабуулу деп аталган ыкма менен уюштурууга болот. Бул чабуулду түшүнүү үчүн биздин иллюзионисттердин алдында тасмадагыдан да татаал милдет турат деп ойлойлу. Келгиле, банк кызматкери (кассир) менен Артур күтүлбөгөн жагдайларга туш болушту, натыйжада төмөнкү диалог пайда болду:

ууру: Салам? Бул Артур Тресслер. Мен сырсөзүмдү калыбына келтиргим келет.

Кассир: Абдан жакшы. Сураныч, жеке купуя код китебиңизди караңыз, 28-бет, сөз 3. Кийинки бардык билдирүүлөр ачкыч катары ушул конкреттүү сөз менен шифрленет. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

ууру: Эй, эй, күт, күт. Бул чынында эле керекпи? Кадимки адамдардай сүйлөй албайбызбы?

Кассир: Мен муну жасоону сунуштабайм.

ууру: Мен жөн эле... карачы, мен жаман күн өткөрдүм, макулбу? Мен VIP кардармын жана мен бул акылсыз код китептерин казууга маанайым жок.

Кассир: Жакшы. Эгерде сиз талап кылсаңыз, господин Тресслер. Эмне керек?

ууру: Сураныч, мен өзүмдүн бардык акчамды Артур Тресслердин улуттук курмандыктардын фондуна бергим келет.

(Пауза).

Кассир: Эми тушунуктуубу. Сураныч, чоң транзакциялар үчүн PIN кодуңузду бериңиз.

ууру: Менин эмнем?

Кассир: Сиздин жеке өтүнүчүңүз боюнча, мындай өлчөмдөгү транзакциялар ири транзакциялар үчүн PIN кодду талап кылат. Бул код сизге аккаунтуңузду ачканда берилди.

ууру:... Мен аны жоготтум. Бул чынында эле керекпи? Келишимди жөн эле беките албайсыңбы?

Кассир: Жок. Кечиресиз, мырза Тресслер. Дагы, бул сиз сураган коопсуздук чарасы. Кааласаңыз, почта ящигиңизге жаңы PIN кодду жөнөтө алабыз.

Биздин каармандар операцияны кийинкиге калтырышат. Алар Тресслердин бир нече ири транзакцияларын тыңшап, ПИН-кодду угабыз деп үмүттөнүшөт; бирок ар бир жолу кызыктуу бир нерсе айтыла электе баарлашуу коддуу кепке айланат. Акыры жакшы күндөрдүн биринде план ишке ашат. Алар Тресслер телефон аркылуу чоң транзакция жасашы керек болгон учурду чыдамдуулук менен күтүшөт, ал линияга кирет, анан...

Тресслер: Салам. Мен алыскы транзакцияны аягына чыгаргым келет, сураныч.

Кассир: Абдан жакшы. Сураныч, жеке купуя код китебиңизди, баракчаңызды карап көрүңүз...

(Ууру кнопканы басат; кассирдин үнү түшүнүксүз ызы-чууга айланат).

Кассир: - #@$#@$#*@$$@#* ачкыч катары ушул сөз менен шифрленет. AAAYRR PLRQRZ MMNJK ЛОЖБАН…

Тресслер: Кечиресиз, мен такыр түшүнгөн жокмун. Дагы бир жолу? Кайсы бетте? Кандай сөз?

Кассир: Бул @#$@#*$)#*#@()#@$(#@*$(#@*) баракчасы.

Тресслер: Эмне?

Кассир: Сөз саны жыйырма @$#@$#%#$.

Тресслер: Олуттуу! Жетиштүү! Сиз жана сиздин коопсуздук протоколуңуз кандайдыр бир цирк болуп саналат. Сен мени менен кадимкидей эле сүйлөшө аларыңды билем.

Кассир: Мен сунуш кылбайм…

Тресслер: Жана мен сага убактымды текке кетирүүнү кеңешпейм. Телефон линияңыздагы көйгөйлөрдү чечмейинче, мен бул тууралуу уккум келбейт. Бул келишимди аягына чыгара алабызбы же жокпу?

Кассир:… Ооба. Жакшы. Эмне керек?

Тресслер: Мен Лорд Бизнес Инвестицияларга 20 000 доллар которгум келет, эсеп номери...

Кассир: Бир мүнөт, сураныч. Бул чоң иш. Сураныч, чоң транзакциялар үчүн PIN кодуңузду бериңиз.

Тресслер: Эмне? О, так. 1234.

Бул жерде ылдый чабуул. Алсызыраак протокол "түз эле сүйлө" деп болжолдонгон параметр өзгөчө кырдаалдарда. Бирок, бул жерде биз.

Акыл-эси ордунда ким жогоруда сүрөттөлгөндөй чыныгы "башкасын сурамайынча коопсуз" системаны иштеп чыгат деп ойлошуң мүмкүн. Бирок ойдон чыгарылган банк криптографияны жактырбаган кардарларды кармап калуу үчүн тобокелге салгандай эле, системалар көбүнчө коопсуздукка кайдыгер, атүгүл ачык эле кас болгон талаптарга тартылышат.

2-жылы SSLv1995 протоколу менен дал ушундай болгон. АКШ өкмөтү көптөн бери криптографияны тышкы жана ички душмандардан алыс болгон курал катары карай баштады. Коддун бөлүктөрүн Америка Кошмо Штаттарынан экспорттоо үчүн жекече бекитилген, көбүнчө алгоритм атайылап алсыратылган шарт менен. Эң популярдуу Netscape Navigator браузерин иштеп чыгуучу Netscape'ке SSLv2 үчүн 512 биттик RSA ачкычы (жана RC40 үчүн 4 бит) менен гана уруксат берилген.

Миң жылдыктын аягында эрежелер жеңилдеп, заманбап шифрлөө мүмкүнчүлүгү кеңири жайылган. Бирок, кардарлар жана серверлер бир нече жылдар бою алсызданган "экспорттук" криптографияны колдошкон, ошол эле инерциядан улам ар кандай эски системаны колдоо. Кардарлар башка эч нерсени колдобогон серверге туш болушу мүмкүн деп ишенишкен. Серверлер да ушундай кылышты. Албетте, SSL протоколу кардарлар жана серверлер жакшыраак протокол болгондо эч качан начар протоколду колдонбошу керектигин айтат. Бирок ошол эле шарт Тресслерге жана анын банкына тиешелүү.

Бул теория 2015-жылы Microsoft изилдөөчүлөрү тарабынан ачылган SSL протоколунун коопсуздугун солкулдаткан эки чоң чабуулга жол тапты. ИНРИА. Биринчиден, FREAK чабуулунун чоо-жайы февраль айында ачылган, андан кийин үч айдан кийин Logjam деп аталган дагы бир ушундай чабуул болгон, биз ачык ачкыч криптографиясына чабуулдарга өткөндө кененирээк талкуулайбыз.

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөАялуулук FREAK (ошондой эле "Smack TLS" деп аталат) изилдөөчүлөр TLS кардарын/серверин ишке ашырууну талдап, кызык мүчүлүштүктөрдү тапканда ачыкка чыкты. Бул ишке ашырууда, эгерде кардар алсыз экспорттук криптографияны колдонууну суранбаса, бирок сервер дагы эле ушундай ачкычтар менен жооп берсе, кардар "Оо, жакшы" дейт жана алсыз шифрдик пакетке өтөт.

Ал кезде экспорттук криптография эскирген жана тыюу салынган деп эсептелгендиктен, чабуул толук шок болуп, көптөгөн маанилүү домендерге, анын ичинде Ак үйдүн, IRS жана NSA сайттарына таасир эткен. Андан да жаманы, көптөгөн аялуу серверлер ар бир сеанс үчүн жаңы ачкычтарды жаратуунун ордуна, ошол эле баскычтарды кайра колдонуу менен майнаптуулукту оптималдаштырып жатышкан экен. Бул протоколду төмөндөткөндөн кийин, алдын ала эсептөө чабуулун ишке ашырууга мүмкүндүк берди: бир ачкычты сындыруу салыштырмалуу кымбат бойдон калууда (жарыяланган учурда 100 доллар жана 12 саат), бирок байланышка чабуул жасоонун практикалык баасы бир топ кыскарган. Сервер ачкычын бир жолу тандап, ошол учурдан баштап бардык кийинки туташуулар үчүн шифрлөөнү бузуп алуу жетиштүү.

Ал эми улантуудан мурун, айта кетүү керек болгон бир өнүккөн чабуул бар ...

Oracle чабуулу

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөМокси Марлинспик кайчылаш платформа крипто кабарлашуу колдонмосу Signal атасы катары белгилүү; бирок жеке бизге анын анча белгилүү болгон инновацияларынын бири жагат - криптографиялык кыйроо принциби (Криптографиялык кыйноо принциби). Бир аз түшүндүрүү үчүн, биз муну айта алабыз: «Эгерде протокол аткарылса кандайдыр потенциалдуу зыяндуу булактан келген билдирүү боюнча криптографиялык операцияны аткарат жана натыйжага жараша өзүн башкача алып жүрөт, ал жок болот." Же курчураак түрдө: "Душмандан маалыматты кайра иштетүү үчүн албаңыз, эгер керек болсо, анда жок дегенде жыйынтыкты көрсөтпөңүз."

Келгиле, буфердик толуп кетүүлөрдү, командалык инъекцияларды жана ушул сыяктууларды четке кагалы; алар бул талкуунун чегинен тышкары. "Кыямат принцибинин" бузулушу протоколдун так күтүлгөндөй иштешине байланыштуу олуттуу криптографиялык хакерлерге алып келет.

Мисал катары, аялуу алмаштыруу шифри бар ойдон чыгарылган дизайнды алып, андан кийин мүмкүн болгон чабуулду көрсөтөлү. Биз буга чейин жыштык анализин колдонуу менен алмаштыруу шифрине чабуулду көргөнүбүз менен, бул жөн гана "ошол эле шифрди бузуунун дагы бир жолу" эмес. Тескерисинче, oracle чабуулдары жыштык анализи ийгиликсиз болгон көптөгөн кырдаалдарда колдонулуучу бир топ заманбап ойлоп табуу болуп саналат жана биз муну кийинки бөлүмдө көрөбүз. Бул жерде жөнөкөй шифр мисалды айкыныраак кылуу үчүн гана тандалган.

Ошентип, Алиса менен Боб өздөрүнө гана белгилүү болгон ачкычтын жардамы менен жөнөкөй алмаштыруу шифринин жардамы менен баарлашышат. Алар билдирүүлөрдүн узундугуна абдан катуу карашат: алар так 20 белгиден турат. Ошентип, алар эгер кимдир бирөө кыскараак билдирүү жөнөтүүнү кааласа, билдирүүнүн аягына так 20 белгиден турган жасалма текстти кошууга макул болушту. Бир аз талкуудан кийин алар төмөнкү жасалма тексттерди гана кабыл алууну чечишти: a, bb, ccc, dddd Ошентип, каалаган узундуктагы жасалма текст белгилүү.

Элис же Боб кабарды алганда, алар алгач билдирүүнүн узундугу туура экенин (20 белги) жана суффикс туура жасалма текст экенин текшеришет. Эгер андай болбосо, алар тиешелүү ката билдирүүсү менен жооп беришет. Эгерде тексттин узундугу жана жасалма текст туура болсо, алуучу билдирүүнү өзү окуп, шифрленген жоопту жөнөтөт.

Кол салуу учурунда кол салган адам Бобдун кейпин кийип, Алисага жасалма билдирүүлөрдү жөнөтөт. Билдирүүлөр толугу менен болбогон нерсе - чабуулчу ачкычка ээ эмес, ошондуктан маанилүү билдирүү жасай албайт. Бирок протокол кыйратуу принцибине карама-каршы келгендиктен, чабуулчу төмөндө көрсөтүлгөндөй, Алисаны дагы эле негизги маалыматты ачыкка чыгаруу үчүн тузакка түшүрө алат.

ууру: PREWF ZHJKL MMMN. LA

Алиса: Жараксыз жасалма текст.

ууру: PREWF ZHJKL MMMN. LB

Алиса: Жараксыз жасалма текст.

ууру: PREWF ZHJKL MMMN. LC

Алиса: ILCT? TLCT RUWO PUT KCAW CPS OWPOW!

Ууру Алиса эмне деп айтканын билбейт, бирок бул символду белгилейт C дал келиши керек a, Алиса жасалма текстти кабыл алгандан бери.

ууру: REWF ZHJKL MMMN. LAA

Алиса: Жараксыз жасалма текст.

ууру: REWF ZHJKL MMMN. LBB

Алиса: Жараксыз жасалма текст.

Бир катар аракеттерден кийин...

ууру: REWF ZHJKL MMMN. LGG

Алиса: Жараксыз жасалма текст.

ууру: REWF ZHJKL MMMN. LHH

Алиса: TLQO JWCRO FQAW SUY LCR C OWQXYJW. IW PWWR TU TCFA CHUYT TLQO JWFCTQUPOLQZ.

Дагы эле, чабуулчу Алиса эмне деп айтканын билбейт, бирок Алиса жасалма текстти кабыл алгандыктан, H б дал келиши керек экенин белгилейт.

Ал эми чабуулчу ар бир каармандын маанисин билгенге чейин.

Бир караганда, ыкма тандалган ачык текст чабуулуна окшош. Акыр-аягы, чабуулчу шифрленген тексттерди тандап алат, ал эми сервер аларды тил алчаак иштетет. Бул чабуулдарды реалдуу дүйнөдө жашоого жөндөмдүү кылган негизги айырмачылык, чабуулчуга чыныгы транскриптке кирүүнүн кереги жок — сервердин жообу, атүгүл “Жарамсыз жасалма текст” сыяктуу зыянсыз.

Бул өзгөчө чабуул үйрөтүүчү болгону менен, "жаман текст" схемасынын өзгөчөлүктөрүнө, колдонулган конкреттүү криптосистемага же чабуулчу жөнөткөн билдирүүлөрдүн так ырааттуулугуна өтө эле асылбаңыз. Негизги идея - Алиса ачык тексттин касиеттерине жараша кандайча башкача реакция кылат жана муну тиешелүү шифрленген текст чындыгында ишенимдүү тараптан келгенин текшербестен жасайт. Ошентип, Алиса чабуулчуга анын жоопторунан жашыруун маалыматты алып салууга мүмкүндүк берет.

Бул сценарийде өзгөртө турган көп нерсе бар. Алиса реакция кылган символдор же анын жүрүм-турумундагы айырмачылык, ал тургай колдонулган криптосистема. Бирок принцип ошол бойдон кала берет, ал эми жалпы чабуул тигил же бул формада ишке жарамдуу бойдон кала берет. Бул чабуулдун негизги ишке ашырылышы бир нече коопсуздук мүчүлүштүктөрүн ачууга жардам берди, биз аларды жакында карап чыгабыз; бирок адегенде кээ бир теориялык сабактарды уйренуу керек. Чыныгы заманбап шифрде иштей турган чабуулда бул ойдон чыгарылган "Алиса сценарийин" кантип колдонсо болот? Бул теориялык жактан да мүмкүнбү?

1998-жылы швейцариялык криптограф Даниел Блейхенбахер бул суроого оң деп жооп берген. Ал белгилүү бир билдирүү схемасын колдонуп, кеңири колдонулган ачык ачкыч RSA криптосистемасына Oracle чабуулун көрсөткөн. Кээ бир RSA ишке ашырууларында сервер ачык текст схемага дал келеби же жокпу, жараша ар кандай ката билдирүүлөрү менен жооп берет; бул кол салуу үчүн жетиштүү болду.

Төрт жылдан кийин, 2002-жылы француз криптографы Серж Воденай жогорудагы Элис сценарийинде сүрөттөлгөн оракулдук чабуулду көрсөттү - муну эске албаганда, жасалма шифрдин ордуна, ал адамдар чындыгында колдонулган заманбап шифрлердин бүтүндөй кадыр-барктуу классын талкалады. Тактап айтканда, Воденейдин чабуулу "CBC шифрлөө режими" деп аталган жана белгилүү бир популярдуу толтуруу схемасы менен, негизинен, Элис сценарийине барабар колдонулганда, киргизилген өлчөмдөгү шифрлерди ("блок шифрлери") бутага алат.

Ошондой эле 2002-жылы америкалык криптограф Джон Келси - авторлош Эки балык — билдирүүлөрдү кысып, анан аларды шифрлеген системаларга ар кандай Oracle чабуулдарын сунуш кылган. Алардын ичинен эң көрүнүктүүсү шифрленген тексттин узундугунан ачык тексттин баштапкы узундугун көп учурда чыгара ала тургандыктан пайдаланган чабуул болду. Теориялык жактан алганда, бул баштапкы ачык тексттин бөлүктөрүн калыбына келтирүүчү Oracle чабуулуна мүмкүндүк берет.

Төмөндө биз Воденей жана Келси чабуулдарынын кеңири сыпаттамасын беребиз (биз ачык ачкыч криптографиясына чабуулдарга өткөндө Блейхенбахер чабуулунун кеңири сүрөттөмөсүн беребиз). Биздин аракетибизге карабастан, текст бир аз техникалык болуп калат; ошондуктан жогоруда айтылгандар сиз үчүн жетиштүү болсо, кийинки эки бөлүмдү өткөрүп жибериңиз.

Воденанын чабуулу

Vaudenay чабуулун түшүнүү үчүн, биз адегенде блок шифрлери жана шифрлөө режимдери жөнүндө бир аз көбүрөөк сөз кылышыбыз керек. "Блок шифри", айтылгандай, белгилүү бир туруктуу узундуктагы ("блок узундугу") ачкычты жана киргизүүнү алган жана бирдей узундуктагы шифрленген блокту чыгарган шифр. Блок шифрлери кеңири колдонулат жана салыштырмалуу коопсуз деп эсептелет. Биринчи заманбап шифр деп эсептелген азыр пенсиядагы DES блоктук шифр болгон. Жогоруда айтылгандай, бүгүнкү күндө кеңири колдонулган AES үчүн да ушундай.

Тилекке каршы, блок шифрлеринин бир көрүнүктүү алсыздыгы бар. Блоктун типтүү өлчөмү 128 бит же 16 белги. Албетте, заманбап криптография чоңураак киргизүү маалыматтары менен иштөөнү талап кылат жана бул жерде шифрлөө режимдери ишке кирет. Шифрлөө режими негизи бузукулук болуп саналат: бул кандайдыр бир жол менен блоктук шифрди колдонуунун жолу, ал каалаган узундуктагы киргизүүгө белгилүү өлчөмдөгү киргизүүнү гана кабыл алат.

Vodene чабуулу популярдуу CBC (Cipher Block Chaining) иштөө режимине багытталган. Чабуул негизги блок шифрине сыйкырдуу, алынгыс кара куту катары карайт жана анын коопсуздугун толугу менен кыйгап өтөт.

Бул жерде CBC режими кантип иштээрин көрсөткөн диаграмма:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Тегеректелген плюс XOR (өзгөчө ЖЕ) операциясын билдирет. Мисалы, шифрленген тексттин экинчи блогу алынат:

  1. Биринчи шифрленген текст блогу менен экинчи ачык текст блогунда XOR операциясын аткаруу менен.
  2. Ачкычтын жардамы менен алынган блокту блок шифри менен шифрлөө.

CBC бинардык XOR операциясын ушунчалык катуу колдонгондуктан, анын кээ бир касиеттерин эстеп көрөлү:

  • Импотенция: Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө
  • Алмашуучулук: Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө
  • Ассоциативдүүлүк: Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө
  • Өзүн-өзү кайтаруу: Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө
  • Байт өлчөмү: байт n of Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө = (байт н Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө) Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө (байт н Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө)

Адатта, бул касиеттер эгер бизде XOR операцияларын камтыган теңдеме жана бир белгисиз болсо, аны чечсе болот дегенди билдирет. Мисалы, биз муну билсек Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө белгисиз менен Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө жана атактуу Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө и Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, анда биз үчүн теңдемени чечүү үчүн жогоруда айтылган касиеттерге таянсак болот Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. менен теңдеменин эки тарабына XOR колдонуу менен Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, алабыз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. Мунун баары бир заматта абдан актуалдуу болуп калат.

Биздин Элис сценарийи менен Воденейдин чабуулунун ортосунда эки кичинекей жана бир чоң айырма бар. Эки кичинекей:

  • Сценарийде Элис ачык тексттер каармандар менен аяктайт деп күткөн a, bb, ccc жана башка. Wodene чабуулунда жабырлануучу анын ордуна ачык тексттер N байт менен N жолу бүтүшүн күтөт (башкача айтканда, он алтылык 01 же 02 02, же 03 03 03 ж.б.). Бул таза косметикалык айырма.
  • Элис сценарийинде, Элис кабарды кабыл алганын "Туура эмес жасалма текст" деген жооп менен аныктоо оңой эле. Vodene кол салууда көбүрөөк талдоо талап кылынат жана жабырлануучу тарапта так ишке ашыруу маанилүү; бирок кыскача айтканда, бул талдоо дагы эле мүмкүн экенин берилген катары кабыл алалы.

Негизги айырмачылык:

  • Биз бир эле криптосистеманы колдонбогондуктан, чабуулчу башкарган шифрленген текст байттары менен сырлардын (ачкыч жана ачык текст) ортосундагы байланыш, албетте, башкача болот. Ошондуктан, шифрленген тексттерди түзүүдө жана сервердин жоопторун чечмелөөдө чабуулчу башка стратегияны колдонушу керек болот.

Бул негизги айырмачылык Воденейдин чабуулун түшүнүү үчүн табышмактын акыркы бөлүгү, андыктан CBCге oracle чабуулу биринчи кезекте эмне үчүн жана кантип орнотула тургандыгы жөнүндө бир аз ойлонуп көрөлү.

Бизге 247 блоктон турган CBC шифри тексти берилди дейли, биз аны чечүүнү каалайбыз. Биз Алисага жасалма билдирүүлөрдү жөнөткөндөй эле серверге жасалма билдирүүлөрдү жөнөтө алабыз. Сервер биз үчүн билдирүүлөрдүн шифрин чечип берет, бирок чечмелөөнү көрсөтпөйт - анын ордуна, Алисадагыдай эле, сервер бир гана бит маалымат жөнүндө кабарлайт: ачык текст жарактуу толтурулганбы же жокпу.

Элистин сценарийинде биз төмөнкү мамилелерге ээ болгонун карап көрөлү:

$$дисплей$$текст{SIMPLE_SUBSTITUTION}(текст{шифрттекст},текст{ачкыч}) = текст{ачык текст}$$дисплей$$

Муну “Алисанын теңдемеси” деп атайлы. Биз шифрленген текстти көзөмөлдөдүк; сервер (Алис) кабыл алынган ачык текст жөнүндө бүдөмүк маалыматты ачыкка чыгарды; жана бул бизге акыркы фактор - ачкыч жөнүндө маалымат чыгарууга мүмкүндүк берди. Аналогия боюнча, эгерде биз CBC скриптинин мындай байланышын таба алсак, анда биз жашыруун маалыматты ал жерден да чыгара алабыз.

Бактыга жараша, биз колдоно ала турган мамилелер бар. Блоктук шифрди чечмелөө үчүн акыркы чакыруунун жыйынтыгын карап көрүңүз жана бул чыгарылышты деп белгилеңиз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. Биз ачык тексттин блокторун да белгилейбиз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө жана шифрленген текст блоктору Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө. CBC диаграммасын дагы бир жолу карап, эмне болгонун байкаңыз:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Муну “CBC теңдемеси” деп атайлы.

Алисанын сценарийинде, шифрленген текстке мониторинг жүргүзүү жана тиешелүү ачык тексттин агып кетишин көрүү менен биз теңдемедеги үчүнчү терминди — ачкычты калыбына келтирген чабуулду уюштура алдык. CBC сценарийинде биз ошондой эле шифрленген текстти көзөмөлдөйбүз жана тиешелүү ачык текстте маалыматтын агып кетишин байкайбыз. Аналогия туура келсе, биз жөнүндө маалымат ала алабыз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө.

Келгиле, биз чындап калыбына келтирдик деп коёлу Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, анда эмне? Анда биз ачык тексттин акыркы блогун дароо басып чыгара алабыз (Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө), жөн гана киргизүү менен Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө (бизде бар) жана
алган Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө CBC теңдемесине.

Азыр биз чабуулдун жалпы планына оптимисттик көз карашта болгондуктан, деталдарды иштеп чыгууга убакыт келди. Сураныч, ачык текст маалыматы серверде кантип агып кеткенине көңүл буруңуз. Элис скриптинде, эгер $inline$текст{SIMPLE_SUBSTITUTION}(текст{шифрттекст},текст{ачкыч})$inline$ сызык менен аяктаганда гана Элис туура билдирүү менен жооп бергендиктен, ачыкка чыгып кеткен. a (же bb, жана башкалар, бирок бул шарттардын кокустан пайда болуу мүмкүнчүлүгү өтө аз болгон). CBCге окшоп, сервер толтурууну кабыл алат, эгерде жана гана Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө он алтылык менен аяктайт 01. Келгиле, ошол эле ыкманы колдонуп көрөлү: өзүбүздүн жасалма баалуулуктарыбыз менен жасалма шифр тексттерди жөнөтүү Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөсервер толтурууну кабыл алганга чейин.

Сервер биздин жасалма билдирүүлөрүбүздүн бирине толтурууну кабыл алганда, бул:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Эми биз байт-байт XOR касиетин колдонобуз:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Биринчи жана үчүнчү терминдерди билебиз. Ал эми бул бизге калган терминди - акыркы байтты калыбына келтирүүгө мүмкүндүк берерин көрдүк Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Бул бизге CBC теңдемеси жана байт-байт касиети аркылуу акыркы ачык текст блогунун акыркы байттарын берет.

Биз муну калтырып, теориялык жактан күчтүү шифрге чабуул жасаганыбызга канааттансак болот. Бирок, чынында, биз дагы көп нерсени кыла алабыз: биз иш жүзүндө бардык текстти калыбына келтире алабыз. Бул Алистин оригиналдуу скриптинде болбогон жана oracle чабуулу үчүн талап кылынбаган амалды талап кылат, бирок ал дагы эле үйрөнүүгө арзыйт.

Аны түшүнүү үчүн, адегенде акыркы байттын туура маанисин чыгаруунун натыйжасы экенин белгилеңиз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө бизде жаңы жөндөм бар. Эми, шифрленген тексттерди жасалмалоодо, биз тиешелүү ачык тексттин акыркы байты менен башкара алабыз. Дагы, бул CBC теңдемеси жана байт-байт касиетине байланыштуу:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Биз азыр экинчи терминди билгендиктен, үчүнчүнү башкаруу үчүн биринчиге карата көзөмөлүбүздү колдоно алабыз. Биз жөн гана эсептеп:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Мурда биз муну кыла алган жокпуз, анткени акыркы байт али жок болчу Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө.

Бул бизге кандай жардам берет? Эми биз бардык шифрленген тексттерди түздүк дейли, ошондой эле тиешелүү ачык тексттерде акыркы байт төмөнкүгө барабар болот. 02. Сервер азыр ачык текст менен аяктаганда гана толтурууну кабыл алат 02 02. Биз акыркы байтты оңдогондуктан, бул ачык тексттин акыркы байты да 02 болгондо гана болот. Биз сервер алардын бирине толтурууну кабыл алганга чейин, акыркы байтты өзгөртүп, жасалма шифрленген текст блокторун жөнөтө беребиз. Бул учурда биз алабыз:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Жана биз акыркы байтты калыбына келтиребиз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө акыркысы калыбына келтирилгендей эле. Биз ошол эле маанайда улантабыз: ачык тексттин акыркы эки байтына оңдойбуз 03 03, биз бул чабуулду аягынан баштап үчүнчү байт үчүн кайталап, акыры толугу менен калыбына келтиребиз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө.

Тексттин калган бөлүгү жөнүндө эмне айтууга болот? Баалуу экендигин эске алыңыз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө чынында $inline$text{BLOCK_DECRYPT}(текст{ачкыч},C_{247})$inline$. Анын ордуна башка блокторду кое алабыз Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө, жана чабуул дагы эле ийгиликтүү болот. Чынында, биз серверден каалаган маалымат үчүн $inline$text{BLOCK_DECRYPT}$inline$ жасоону сурансак болот. Бул учурда, оюн бүттү - биз каалаган шифрленген текстти чечмелей алабыз (муну көрүү үчүн CBC чечмелөө диаграммасын дагы бир жолу карап көрүңүз; жана IV жалпыга ачык экенин белгилеңиз).

Бул өзгөчө ыкма биз кийинчерээк жолуга турган Oracle чабуулунда чечүүчү ролду ойнойт.

Келси чабуулу

Биздин ынгайлуу Джон Келси белгилүү бир шифрге конкреттүү чабуулдун майда-чүйдөсүнө чейин эле эмес, көптөгөн мүмкүн болгон чабуулдардын негизинде жаткан принциптерди ачып берди. Анын Берене 2002 жыл шифрленген кысылган маалыматтарга мүмкүн болгон чабуулдарды изилдөө болуп саналат. Шифрлөөдөн мурун маалыматтар кысылган деген маалымат чабуул жасоо үчүн жетишсиз деп ойлодуңуз беле? Көрсө, жетиштүү экен.

Бул таң калыштуу натыйжа эки принцип менен шартталган. Биринчиден, ачык тексттин узундугу менен шифрленген тексттин узундугунун ортосунда күчтүү корреляция бар; көптөгөн шифрлер үчүн так бирдейлик. Экинчиден, кысуу аткарылганда, кысылган билдирүүнүн узундугу менен ачык тексттин "ызы-чуу" даражасынын, башкача айтканда, кайталанбаган символдордун үлүшүнүн ортосунда да күчтүү корреляция бар (техникалык термин "жогорку энтропия"). ).

Принципти иш жүзүндө көрүү үчүн эки ачык текстти карап көрүңүз:

Ачык текст 1: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Ачык текст 2: ATVXCAGTRSVPTVVULSJQHGEYCMQPCRQBGCYIXCFJGJ

Эки ачык текст тең кысылып, анан шифрленген деп коёлу. Сиз эки натыйжада шифрленген текстти аласыз жана кайсы шифрленген текст кайсы ачык текстке дал келерин болжолдооңуз керек:

Шифрленген текст 1: PVOVEYBPJDPVANEAWVGCIUWAABCIYIKOOURMYDTA

Шифрленген текст 2: DWKJZXYU

Жооп ачык. Ачык тексттердин ичинен ачык текст 1 гана экинчи шифрленген тексттин аз узундугуна кысылышы мүмкүн. Биз муну кысуу алгоритми, шифрлөө ачкычы, жада калса шифрдин өзү жөнүндө эч нерсе билбей туруп түшүндүк. Мүмкүн болгон криптографиялык чабуулдардын иерархиясына салыштырмалуу, бул жинди.

Келси андан ары кээ бир адаттан тыш жагдайларда бул принцип oracle чабуулун ишке ашыруу үчүн да колдонулушу мүмкүн экенин белгилейт. Атап айтканда, анда чабуулчу серверди форма берилиштерин шифрлоого мажбурлай алса, жашыруун ачык текстти кантип калыбына келтире аларын сүрөттөйт (ачык текст, андан кийин Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөал көзөмөлдөп турганда Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө жана кандайдыр бир жол менен шифрленген натыйжанын узундугун текшере алат.

Дагы, башка Oracle чабуулдары сыяктуу эле, бизде мындай мамиле бар:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Дагы, биз бир терминди көзөмөлдөйбүз (Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө), биз башка мүчө (шифрленген текст) жөнүндө кичинекей маалымат агып жатканын көрүп, акыркысын (ачык текст) калыбына келтирүүгө аракет кылабыз. Аналогияга карабастан, бул биз көргөн башка Oracle чабуулдарына салыштырмалуу бир аз адаттан тыш көрүнүш.

Мындай чабуул кантип ишке ашарын көрсөтүү үчүн, келгиле, биз ойлоп тапкан ойдон чыгарылган кысуу схемасын колдонолу: TOYZIP. Ал текстте мурда пайда болгон тексттин саптарын издейт жана аларды үч толтургуч байт менен алмаштырат, алар саптын мурунку үлгүсүн кайдан жана ал жерде канча жолу пайда болоорун көрсөтөт. Мисалы, линия helloworldhello кысылышы мүмкүн helloworld[00][00][05] Баштапкы 13 байтка салыштырмалуу 15 байт узун.

Кол салуучу форманын ачык текстин калыбына келтирүүгө аракет кылды дейли password=..., бул жерде сырсөздүн өзү белгисиз. Келсинин чабуул моделине ылайык, чабуулчу серверден форма билдирүүлөрүн кысып, андан кийин шифрлөөсүн суранышы мүмкүн (ачык текст, андан кийин Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө), кайда Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө - эркин текст. Сервер иштеп бүткөндөн кийин, натыйжанын узактыгы жөнүндө кабарлайт. Кол салуу мындай болот:

ууру: Сураныч, ачык текстти эч кандай толтуруусуз кысып, шифрлеп коюңуз.

Сервер: Натыйжа узундугу 14.

ууру: Сураныч, тиркелген ачык текстти кысып, шифрлеп коюңуз password=a.

Сервер: Натыйжа узундугу 18.

Крекер белгилейт: [оригинал 14] + [алмашкан үч байт password=] + a

ууру: Кошулган ачык текстти кысып, шифрлеп коюңуз password=b.

Сервер: Натыйжа узундугу 18.

ууру: Кошулган ачык текстти кысып, шифрлеп коюңуз password=с.

Сервер: Натыйжа узундугу 17.

Крекер белгилейт: [оригинал 14] + [алмашкан үч байт password=c]. Бул баштапкы ачык текст сапты камтыйт деп болжолдойт password=c. Башкача айтканда, сырсөз тамга менен башталат c

ууру: Кошулган ачык текстти кысып, шифрлеп коюңуз password=сa.

Сервер: Натыйжа узундугу 18.

Крекер белгилейт: [оригинал 14] + [алмашкан үч байт password=с] + a

ууру: Кошулган ачык текстти кысып, шифрлеп коюңуз password=сb.

Сервер: Натыйжа узундугу 18.

(… Бир нече убакыттан кийин…)

ууру: Кошулган ачык текстти кысып, шифрлеп коюңуз password=со.

Сервер: Натыйжа узундугу 17.

Крекер белгилейт: [оригинал 14] + [алмашкан үч байт password=co]. Ушул эле логиканы колдонуп, чабуулчу сырсөз тамгалардан башталат деген жыйынтыкка келет co

Бүт сырсөз калыбына келтирилгенге чейин.

Окурман бул жөн эле академиялык көнүгүү жана мындай чабуул сценарийи чыныгы дүйнөдө эч качан пайда болбойт деп ойлогону үчүн кечирилет. Аттиң, жакында көрө турганыбыздай, криптографиядан баш тартпаганыбыз жакшы.

Бренддин алсыз жактары: КЫЛМЫШ, ПУДЛ, СӨГҮҮ

Акыр-аягы, теорияны деталдуу изилдеп чыккандан кийин, биз бул ыкмалар реалдуу жашоодогу криптографиялык чабуулдарда кандайча колдонуларын көрө алабыз.

КЫЛМЫШ

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөЭгерде чабуул жабырлануучунун браузерине жана тармагына багытталган болсо, кээ бирлери жеңилирээк, кээ бирлери кыйыныраак болот. Мисалы, жабырлануучунун трафикти көрүү оңой: аны менен WiFi менен бир кафеде отуруңуз. Ушул себептен улам, потенциалдуу жабырлануучуларга (б.а. бардыгына) көбүнчө шифрленген байланышты колдонуу сунушталат. Жабырлануучунун атынан үчүнчү тараптын сайтына (мисалы, Google) HTTP суроо-талаптарын жасоо кыйыныраак, бирок дагы деле мүмкүн. Чабуулчу жабырлануучуну өтүнүчтү жасаган сценарий менен зыяндуу веб-баракчага азгырышы керек. Веб браузер автоматтык түрдө тиешелүү сеанс кукисин берет.

Бул укмуштай көрүнөт. Эгерде Боб барса evil.com, бул сайттагы скрипт Google'дан Бобдун сырсөзүн электрондук почтага жөнөтүүнү суранышы мүмкүн [email protected]? Ооба, теория боюнча ооба, бирок иш жүзүндө жок. Бул сценарий сайттар аралык өтүнүч жасалма чабуул деп аталат (Сайт аралык өтүнүч жасалма, CSRF) жана ал 90-жылдардын ортосунда популярдуу болгон. Бүгүн болсо evil.com Бул ыкманы колдонууга аракет кылса, Google (же өзүн-өзү сыйлаган веб-сайт) адатта мындай деп жооп берет: "Мыкты, бирок бул транзакция үчүн сиздин CSRF энбелгиси... три триллиона и семь. Сураныч, бул санды кайталаңыз." Заманбап браузерлерде "бир эле келип чыккан саясат" деп аталган нерсе бар, мында А сайтындагы скрипттер В веб-сайты жөнөткөн маалыматка кире албайт. Ошентип, скрипт evil.com суроо-талаптарын жөнөтө алат google.com, бирок жоопторду окуй албайт же транзакцияны бүтүрө албайт.

Биз Bob шифрленген байланышты колдонбосо, бул коргоонун баары маанисиз экенин баса белгилешибиз керек. Чабуулчу жөн эле Бобдун трафигин окуп, Google сеанс кукисин калыбына келтире алат. Бул cookie файлы менен ал өзүнүн браузеринен чыкпай эле жаңы Google өтмөгүн ачат жана бир тектүү саясатка туш болбостон Бобдун кейпин кийет. Бирок, тилекке каршы, уурулар үчүн бул барган сайын азыраак болуп баратат. Жалпысынан Интернет шифрленбеген туташууларга каршы согуш жарыялаган жана Бобдун чыгыш трафиги, балким, ал кааласа да, каалабаса да шифрленген. Кошумчалай кетсек, протокол ишке ашырыла баштагандан тарта жол кыймылы да болгон кичирейген шифрлөө алдында; бул кечиктирүүнү азайтуу үчүн жалпы практика болгон.

Бул жерде ал оюнга келет КЫЛМЫШ (Кысуу катышы Infoleak жеңил, кысуу катышы аркылуу жөнөкөй агып кетүү). Алсыздык 2012-жылдын сентябрында коопсуздук боюнча изилдөөчүлөр Жулиано Риццо жана Тай Дуонг тарабынан ачылган. Биз буга чейин алар эмне жана кантип түшүнүүгө мүмкүндүк берет бүт теориялык негизин карап чыктык. Чабуулчу Бобдун браузерин Google'га суроо-талаптарды жөнөтүүгө мажбурлап, андан кийин кысылган, шифрленген түрдө жергиликтүү тармактагы жоопторду угушу мүмкүн. Ошондуктан бизде:

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө

Бул жерде чабуулчу суроо-талапты көзөмөлдөйт жана пакеттин өлчөмүн камтыган трафиктин снайферине кире алат. Келсинин ойдон чыгарылган сценарийи ишке ашты.

Теорияны түшүнүү менен, CRIME авторлору Gmail, Twitter, Dropbox жана Github сыяктуу сайттардын кеңири спектри үчүн сеанс кукилерин уурдай турган эксплуататты түзүштү. Алсыздык көпчүлүк заманбап веб-браузерлерге таасирин тийгизип, натыйжада SSLде кысуу өзгөчөлүгүн үнсүз көмүп койгон тактар ​​чыгарылып, ал такыр колдонулбайт. Алсыздыктан корголгон жалгыз нерсе - SSL кысуусун эч качан колдонбогон урматтуу Internet Explorer.

ПУДЛ

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмө2014-жылдын октябрында Google коопсуздук командасы коопсуздук коомчулугунда толкундоолорду жараткан. Алар SSL протоколундагы он жылдан ашык убакыт мурун жаңыланган алсыздыкты пайдалана алышты.

Көрсө, серверлер жалтыраган жаңы TLSv1.2 иштетип жатканда, көбү Internet Explorer 3 менен артка шайкеш келүү үчүн эски SSLv6 колдоосун калтырышкан. Биз буга чейин эле төмөндөтүү чабуулдары жөнүндө сөз кылганбыз, андыктан эмне болуп жатканын элестете аласыз. Кол алышуу протоколунун жакшы уюштурулган саботажы жана серверлер акыркы 3 жылдагы коопсуздук изилдөөлөрүн жокко чыгарып, эски SSLv15ге кайтып келүүгө даяр.

Тарыхый контекст үчүн, бул жерде Matthew Greenдин 2-версиясына чейинки SSL тарыхынын кыскача корутундусу:

Транспорт катмарынын коопсуздугу (TLS) - Интернеттеги эң маанилүү коопсуздук протоколу. [..] Интернетте жасаган дээрлик ар бир транзакцияңыз TLSден көз каранды. [..] Бирок TLS дайыма TLS болгон эмес. Протокол өзүнүн жашоосун баштаган Netscape Communications "Коопсуз Sockets Layer" же SSL деп аталат. Ушактарда SSLдин биринчи версиясы ушунчалык коркунучтуу болгондуктан, иштеп чыгуучулар коддун бардык басып чыгарууларын чогултуп, Нью-Мексикодогу жашыруун полигонго көмүшкөн. Натыйжада, SSLдин биринчи жалпыга жеткиликтүү версиясы чындыгында версия SSL 2. Бул абдан коркунучтуу жана [..] бул заманбап криптографтар 90-жылдардын орто чениндеги продукту болгон "криптографиянын караңгы кылымдары" Бүгүнкү күндө биз билген эң коркунучтуу криптографиялык чабуулдардын көбү ачыла элек. Натыйжада, SSLv2 протоколун иштеп чыгуучулар негизинен караңгыда өз жолун адаштырып коюшкан жана алар туш болгон. көптөгөн коркунучтуу желмогуздар - алардын кайгысына жана биздин пайдабызга, анткени SSLv2ге жасалган чабуулдар кийинки муундагы протоколдор үчүн баа жеткис сабактарды калтырды.

Бул окуялардан кийин, 1996-жылы капаланган Netscape SSL протоколун нөлдөн баштап кайра иштеп чыккан. Натыйжада SSL 3 версиясы болгон мурунку бир нече белгилүү коопсуздук маселелерин аныктады.

Бактыга жараша, уурулар үчүн "бир нече" "баары" дегенди билдирбейт. Жалпысынан, SSLv3 Vodene чабуулун баштоо үчүн бардык керектүү курулуш блокторун камсыз кылган. Протоколдо CBC режиминин блок шифри жана кооптуу толтуруу схемасы колдонулган (бул TLSде оңдолгон; демек, төмөндөтүү чабуулунун зарылдыгы келип чыккан). Эгерде сиз Vaudenay чабуулунун баштапкы сүрөттөмөсүндөгү толтуруу схемасын эстесеңиз, SSLv3 схемасы абдан окшош.

Бирок, тилекке каршы, уурулар үчүн "окшош" деген сөз "бирдей" дегенди билдирбейт. SSLv3 толтуруу схемасы "N кокус байт, андан кийин N саны". Ушул шарттарда, шифрленген тексттин ойдон чыгарылган блогун тандап, Водендин оригиналдуу схемасынын бардык кадамдарын басып өтүүгө аракет кылыңыз: чабуул ачык тексттин тиешелүү блогунан акыркы байтты ийгиликтүү чыгарып, бирок андан ары кетпей турганын көрөсүз. Шифрленген тексттин ар бир 16-байтын чечмелөө - бул чоң амал, бирок бул жеңиш эмес.

Ийгиликсиздикке кабылган Google командасы акыркы чарага кайрылды: алар коркунучтуураак моделге өтүштү - КЫЛМЫШТА колдонулган. Чабуулчу жабырлануучунун браузер өтмөгүндө иштеген скрипт жана сеанс кукилерин чыгара алат деп ойлосок, чабуул дагы эле таасирдүү. Кеңири коркунуч модели анча реалдуу эмес болсо да, биз мурунку бөлүмдө бул конкреттүү модель ишке ашарын көрдүк.

Бул күчтүү чабуулчу мүмкүнчүлүктөрүн эске алганда, чабуул эми улана берет. Эсиңизде болсун, чабуулчу шифрленген сеанс кукисинин аталышында кайсы жерде пайда болоорун билет жана анын алдындагы HTTP сурамынын узундугун көзөмөлдөйт. Ошондуктан, ал HTTP сурамын башкара алат, ошондуктан cookie файлынын акыркы байты блоктун аягы менен дал келет. Эми бул байт шифрди чечүүгө ылайыктуу. Сиз жөн гана суроо-талапка бир символду кошсоңуз болот, жана cookie файлынын акыркы байты ошол эле жерде калат жана ошол эле ыкманы колдонуу менен тандоого ылайыктуу. Кол салуу куки файлы толугу менен калыбына келтирилгенге чейин ушундай жол менен уланат. Ал POODLE деп аталат: Төмөндөтүлгөн эски шифрлөө боюнча Padding Oracle.

ЧӨГҮҮ

Криптографиялык чабуулдар: баш аламан акылдар үчүн түшүндүрмөЖогоруда айтылгандай, SSLv3 өз кемчиликтерине ээ болгон, бирок ал мурункусунан түп-тамырынан айырмаланып турган, анткени агып кеткен SSLv2 башка доордун продуктусу болгон. Ал жерде сиз ортодогу билдирүүнү үзгүлтүккө учуратсаңыз болот: соглашусь на это только через мой труп айланган соглашусь на это; кардар менен сервер онлайн режиминде жолугуп, ишенимди орнотуп, чабуулчунун алдында сырларды алмаштырып, андан кийин экөөнү тең оңой эле окшоштурушу мүмкүн. Экспорттук криптографияда да көйгөй бар, аны биз FREAKти карап жатканда айтканбыз. Булар криптографиялык Содом жана Гоморра болгон.

2016-жылдын март айында ар кандай техникалык тармактардагы изилдөөчүлөр тобу чогулуп, таң калыштуу ачылыш жасаган: SSLv2 дагы эле коопсуздук системаларында колдонулат. Ооба, чабуулчулар мындан ары заманбап TLS сеанстарын SSLv2ге түшүрө алышпайт, анткени ал тешик FREAK жана POODLEден кийин жабылган, бирок алар дагы эле серверлерге туташып, SSLv2 сеанстарын өздөрү баштаса болот.

Сиз сурасаңыз болот, эмне үчүн алар ал жакта эмне кылып жүрүшөт? Аларда аялуу сеанс бар, бирок ал башка сеанстарга же сервердин коопсуздугуна таасирин тийгизбеши керек, туурабы? Ооба, такыр эмес. Ооба, теориялык жактан ушундай болушу керек. Бирок жок - анткени SSL сертификаттарын түзүү белгилүү бир жүктү жүктөйт, натыйжада көптөгөн серверлер ошол эле сертификаттарды жана натыйжада TLS жана SSLv2 туташуулары үчүн бирдей RSA ачкычтарын колдонушат. Андан да жаманы, OpenSSL мүчүлүштүгүнөн улам, бул популярдуу SSL ишке ашыруудагы "SSLv2ди өчүрүү" параметри иш жүзүндө иштеген жок.

Бул TLSге кайчылаш протоколдук чабуулду мүмкүн кылды ЧӨГҮҮ (Эски жана алсызданган шифрлөө менен RSA дешифрлөө, эскирген жана алсыратылган шифрлөө менен RSA дешифрлөө). Эске салсак, бул кыска чабуулга окшош эмес; чабуулчу "ортодогу адам" катары иш алып барышы керек эмес жана кооптуу сессияга катышуу үчүн кардарды тартуунун кереги жок. Чабуулчулар жөн гана сервер менен кооптуу SSLv2 сеансын башташат, алсыз протоколго кол салышат жана сервердин RSA купуя ачкычын калыбына келтиришет. Бул ачкыч TLS туташуулары үчүн да жарактуу жана ушул учурдан баштап TLS коопсуздугунун эч кандай көлөмү анын бузулушунан тоскоол болбойт.

Бирок аны бузуу үчүн сизге SSLv2ге каршы жумушчу чабуул керек, ал сизге белгилүү бир трафикти гана эмес, ошондой эле жашыруун RSA серверинин ачкычын калыбына келтирүүгө мүмкүндүк берет. Бул татаал орнотуу болсо да, изилдөөчүлөр SSLv2ден кийин толугу менен жабылган ар кандай аялуу жерди тандай алышкан. Акыры, алар ылайыктуу вариантты табышты: Блейхенбахер чабуулу, бул тууралуу биз жогоруда айтып өткөн жана кийинки макалада кеңири түшүндүрөбүз. SSL жана TLS бул чабуулдан корголгон, бирок SSLдин кээ бир кокус өзгөчөлүктөрү экспорттук криптографиядагы кыска ачкычтар менен айкалыштырылган. DROWN конкреттүү ишке ашыруу.

Жарыяланган маалда Интернеттеги эң мыкты сайттардын 25% DROWN аялуулугунан жабыркап, чабуулду жада калса жапайы жалгыз хакерлерге жеткиликтүү болгон жөнөкөй ресурстар менен ишке ашырууга болот. Сервердин RSA ачкычын алуу үчүн сегиз сааттык эсептөө жана 440 доллар талап кылынган жана SSLv2 эскиргенден радиоактивдүү болуп калган.

Күтө туруңуз, Heartbleed жөнүндө эмне айтууга болот?

Бул жогоруда айтылган мааниде криптографиялык чабуул эмес; Бул буфердин толуп кетиши.

Келгиле, тыныгуу алалы

Биз кээ бир негизги ыкмалардан баштадык: катаал күч, интерполяция, төмөндөтүү, кайчылаш протокол жана алдын ала эсептөө. Андан кийин биз бир өнүккөн техниканы, балким, заманбап криптографиялык чабуулдардын негизги компонентин карап чыктык: Oracle чабуулу. Биз аны түшүнүүгө бир топ убакыт короттук - жана негизги принципти гана эмес, ошондой эле эки конкреттүү ишке ашыруунун техникалык деталдарын түшүндүк: CBC шифрлөө режимине Воденей чабуулу жана кысуу алдындагы шифрлөө протоколдоруна Келси чабуулу.

Төмөндөтүү жана алдын ала эсептөө чабуулдарын карап чыгууда, биз максаттуу сайттарды начар баскычтарга чейин төмөндөтүп, андан кийин ошол эле баскычтарды кайра колдонуу менен эки ыкманы тең колдонгон FREAK чабуулун кыскача айтып бердик. Кийинки макалада биз ачык ачкыч алгоритмдерин бутага алган (абдан окшош) Logjam чабуулун сактайбыз.

Андан кийин биз бул принциптерди колдонуунун дагы үч мисалын карап чыктык. Биринчиден, CRIME жана POODLE: чабуулчунун максаттуу ачык тексттин жанына каалагандай ачык текстти киргизүү мүмкүнчүлүгүнө таянган эки чабуул, андан кийин сервердин жоопторун жана ошондо,Oracle чабуул методологиясын колдонуп, бул сейрек маалыматты ачык текстти жарым-жартылай калыбына келтирүү үчүн колдонуңуз. CRIME Келсинин SSL кысуу боюнча чабуулунун жолу менен өттү, ал эми POODLE анын ордуна Воденейдин CBCге ушундай эле эффект менен чабуулунун вариантын колдонду.

Андан кийин биз көңүлүбүздү кайчылаш протоколго бурган DROWN чабуулуна бурдук, ал эски SSLv2 протоколунун жардамы менен сервер менен байланышты орнотуп, андан кийин Bleichenbacher чабуулу аркылуу сервердин жашыруун ачкычтарын калыбына келтирет. Азырынча бул чабуулдун техникалык деталдарын өткөрүп жибердик; Logjam сыяктуу, биз ачык ачкыч криптосистемаларын жана алардын аялуу жактарын жакшы түшүнгөнгө чейин күтүшүбүз керек.

Кийинки макалада биз ортодо жолугушуу, дифференциалдык криптоанализ жана туулган күн чабуулдары сыяктуу өнүккөн чабуулдар жөнүндө сүйлөшөбүз. Келгиле, каптал каналдардын чабуулдарына кыскача киришели, анан кызыктуу бөлүгүнө өтөлү: ачык ачкыч криптосистемалары.

Source: www.habr.com

Комментарий кошуу