Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар

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

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

Сүүлийн жилүүдэд криптографийн довтолгооны цуглуулга нь шинжлэх ухааны баримт бичгийн томъёогоор дүүрсэн гялалзсан лого бүхий амьтны хүрээлэн болон хувирч, бүх зүйл эвдэрсэн гэсэн ерөнхий гунигтай мэдрэмжийг төрүүлэв. Гэвч үнэн хэрэгтээ олон дайралт нь цөөн хэдэн ерөнхий зарчмууд дээр суурилдаг бөгөөд эцэс төгсгөлгүй томъёоны хуудаснууд нь ихэвчлэн ойлгоход хялбар санаануудыг буцалгадаг.

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

  • Үндсэн стратеги: харгис хүч, давтамжийн шинжилгээ, интерполяци, зэрэглэлийг бууруулах, хөндлөн протоколууд.
  • Брэндийн эмзэг байдал: ФРЕАК, ГЭМТ ХЭРЭГ, ПҮҮДЛ, ЖИВҮҮЛЭХ, Логжам.
  • Нарийвчилсан стратеги: oracle халдлага (Vodenet халдлага, Kelsey халдлага); уулзах арга, төрсөн өдрийн халдлага, статистикийн хэвийх (дифференциал криптоанализ, интеграл криптоанализ гэх мэт).
  • Хажуугийн сувгийн халдлага болон тэдний ойр дотны хамаатан садан, бүтэлгүйтлийн шинжилгээний арга техник.
  • Нийтийн түлхүүрийн криптографийн халдлага: шоо язгуур, цацалт, холбогдох мессеж, Зэсийн дайралт, Похлиг-Хеллманы алгоритм, тооны шигшүүр, Винерийн халдлага, Блейхенбахерын халдлага.

Энэ нийтлэлд Келсигийн дайралт хүртэлх дээрх материалыг багтаасан болно.

Үндсэн стратеги

Дараахь халдлагууд нь техникийн нарийн ширийн зүйлгүйгээр бараг бүрэн тайлбарлах боломжтой гэсэн утгаараа энгийн байдаг. Довтолгооны төрөл тус бүрийг нарийн төвөгтэй жишээнүүд эсвэл дэвшилтэт хэрэглээний тохиолдлуудад оруулалгүйгээр хамгийн энгийнээр тайлбарлая.

Эдгээр халдлагын зарим нь үндсэндээ хуучирсан бөгөөд олон жилийн турш ашиглагдаагүй байна. Бусад нь 21-р зуунд ч үл анзаарагдам криптосистем хөгжүүлэгчид рүү байнга сэм орсоор байдаг эртний хүмүүс юм. Орчин үеийн криптографийн эрин үе нь энэ жагсаалтын бүх халдлагыг даван туулсан анхны шифр болох IBM DES гарч ирснээр эхэлсэн гэж үзэж болно.

Энгийн харгис хүч

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

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

Энд хоёр далд таамаглал байгааг анхаарна уу. Нэгдүгээрт, бид шифрийг хэрхэн тайлах, өөрөөр хэлбэл криптосистем хэрхэн ажилладагийг мэддэг. Энэ нь криптографийн талаар ярихдаа стандарт таамаглал юм. Халдагчдаас шифрийн хэрэгжилтийн дэлгэрэнгүй мэдээллийг нуух нь аюулгүй байдлын нэмэлт арга хэмжээ мэт санагдаж болох ч халдагч эдгээр мэдээллийг олж мэдсэний дараа энэхүү нэмэлт хамгаалалт чимээгүйхэн бөгөөд эргэлт буцалтгүй алга болно. Ийм л юм Керхгофын зарчим: Дайсны гарт орсон систем нь эвгүй байдалд хүргэх ёсгүй.

Хоёрдугаарт, зөв ​​түлхүүр нь боломжийн шифрийг тайлахад хүргэдэг цорын ганц түлхүүр гэж бид үзэж байна. Энэ нь бас үндэслэлтэй таамаглал юм; Хэрэв шифрлэгдсэн текст нь түлхүүрээс хамаагүй урт бөгөөд унших боломжтой бол энэ нь сэтгэл хангалуун байна. Энэ нь ихэвчлэн бодит ертөнцөд тохиолддог зүйл юм асар их боломжгүй түлхүүрүүд буюу бусад онигоонуудыг орхих нь дээр (хэрэв бид тайлбарыг алгассанд дургүй бол теорем 3.8-ыг үзнэ үү. энд).

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

Харамсалтай нь криптланалистуудын хувьд түлхүүрийн хэмжээг нэмэгдүүлэх нь харгис хүчний эсрэг сайн хамгаалалт болдог. Түлхүүрийн хэмжээ ихсэх тусам боломжит түлхүүрүүдийн тоо экспоненциалаар нэмэгддэг. Орчин үеийн түлхүүрийн хэмжээтэй бол энгийн харгис хүч хэрэглэх нь бүрэн боломжгүй юм. Юу хэлэх гээд байгааг ойлгохын тулд 2019 оны дунд үеийн хамгийн хурдан танигдсан суперкомпьютерийг авч үзье. Summit секундэд 1017 үйлдлээс өндөр гүйцэтгэлтэй IBM-ээс. Өнөөдөр ердийн түлхүүрийн урт нь 128 бит бөгөөд энэ нь 2128 боломжит хослол гэсэн үг юм. Бүх түлхүүрүүдийг хайж олохын тулд Summit супер компьютерт орчлон ертөнцийн наснаас ойролцоогоор 7800 дахин их цаг хугацаа шаардагдана.

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

Давтамжийн шинжилгээ

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбарИхэнх бичвэрүүд хоосон үг биш юм. Жишээлбэл, англи хэл дээрх эх бичвэрүүдэд 'e' үсэг, 'the' өгүүллүүд олон байдаг; хоёртын файлд мэдээллийн хэсгүүдийн хооронд дүүргэх олон тэг байт байдаг. Давтамжийн шинжилгээ гэдэг нь энэ баримтыг ашигласан аливаа халдлага юм.

Энэ халдлагад өртөмтгий шифрийн каноник жишээ бол энгийн орлуулалтын шифр юм. Энэ шифр дэх түлхүүр нь бүх үсгийг сольсон хүснэгт юм. Жишээлбэл, 'g' нь 'h', 'o' нь j-ээр солигддог тул 'go' гэдэг нь 'hj' болж хувирдаг. Хайлтын хүснэгтүүд маш олон байгаа тул энэ шифрийг харгис хүчээр ашиглахад хэцүү байдаг. Хэрэв та математикийг сонирхож байгаа бол үр дүнтэй түлхүүрийн урт нь ойролцоогоор 88 бит байна: энэ нь
Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар. Гэхдээ давтамжийн шинжилгээ нь ихэвчлэн ажлыг хурдан гүйцэтгэдэг.

Энгийн орлуулалтын шифрээр боловсруулсан дараах шифр текстийг авч үзье.

XDYLY ALY UGLY XDWNKE WN DYAJYN 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 thAN Ale FleAUt GR WN OGQL ZDWBGEGZDO

Цаашид үүнийг төсөөлье L харгалзана r, A - a гэх мэт. Энэ нь хэд хэдэн оролдлого шаардагдах болно, гэхдээ бүрэн харгис хүчний дайралттай харьцуулахад энэ халдлага нь анхны текстийг богино хугацаанд сэргээдэг:

Таны гүн ухаанд мөрөөдөж байснаас ч илүү олон зүйл тэнгэр газар байдаг

Зарим хүмүүсийн хувьд ийм "криптограмм" -ыг шийдэх нь сэтгэл хөдөлгөм хобби юм.

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

Түүхэн дэх хамгийн амбицтай олон үсэгт шифр, магадгүй хамгийн алдартай нь Дэлхийн XNUMX-р дайны үеийн Enigma шифр байсан. Энэ нь өмнөх үеийнхтэй харьцуулахад харьцангуй төвөгтэй байсан ч Их Британийн криптланалистууд маш их хөдөлмөрлөсний эцэст давтамжийн шинжилгээг ашиглан хагарсан. Мэдээжийн хэрэг, тэд дээр үзүүлсэн шиг гоёмсог дайралт хийж чадаагүй; Тэд мэдэгдэж байгаа энгийн текст болон шифр текстийн хосыг ("энгийн текстийн халдлага" гэж нэрлэдэг) харьцуулах шаардлагатай болж, тэр ч байтугай Enigma хэрэглэгчдийг тодорхой мессежийг шифрлэж, үр дүнд нь дүн шинжилгээ хийхийг өдөөсөн ("сонгосон энгийн текстийн халдлага"). Гэхдээ энэ нь ялагдсан дайсны арми болон живсэн шумбагч онгоцны хувь заяаг хөнгөвчлөхгүй байв.

Энэхүү ялалтын дараа давтамжийн шинжилгээ криптоанализийн түүхээс алга болсон. Орчин үеийн дижитал эрин үеийн шифрүүд нь үсэг биш харин битүүдтэй ажиллахад зориулагдсан. Хамгийн чухал нь эдгээр шифрүүд нь хожим нь алдаршсан зүйлийн харанхуй ойлголтоор бүтээгдсэн Шнайерын хууль: Хэн ч өөрөө эвдэж чадахгүй шифрлэлтийн алгоритм үүсгэж болно. Энэ нь шифрлэлтийн системд хангалтгүй юм бололтой Хэцүү: үнэ цэнийг нь батлахын тулд шифрийг задлахын тулд чадах бүхнээ хийх олон криптланалистуудын аюулгүй байдлын хяналт шалгалтыг хийх ёстой.

Урьдчилсан тооцоо

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

Үгүй байх магадлалтай. Эцсийн эцэст нэлээд амбицтай гэмт хэрэгтэн гарч ирнэ. Тэр ингэж тайлбарлах болно: "Тийм ээ, би урьдчилгаа их хэмжээний зардал гаргах болно. Таван жилийн тэвчээр, 50 доллар. Гэхдээ би дуусмагц надад хандах боломжтой болно. энэ хотын бүх баялаг. Хэрэв би хөзрөө зөв тогловол энэ хөрөнгө оруулалт хэд дахин нөхөгдөнө."

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

Тооцооллын өмнөх халдлагад өртөмтгий байдаг криптосистемийн хамгийн энгийн жишээ бол тогтмол түлхүүргүй шифр юм. Ийм тохиолдол байсан Цезарийн шифр, энэ нь цагаан толгойн үсэг бүрийг гурван үсгээр урагшлуулдаг (хүснэгт гогцоотой тул цагаан толгойн сүүлийн үсэг гурав дахь нь шифрлэгдсэн байдаг). Энд Kerchhoffs зарчим дахин хэрэгжиж байна: нэгэнт системийг хакердсан бол үүрд хакердана.

Үзэл баримтлал нь энгийн. Шинэхэн криптосистем хөгжүүлэгч ч гэсэн аюул заналыг таньж, зохих ёсоор бэлтгэх болно. Криптографийн хувьслыг харахад Цезарийн шифрийн анхны сайжруулсан хувилбаруудаас эхлээд олон үсэгтэй шифрүүд буурах хүртэл ийм халдлага нь ихэнх шифрүүдэд тохиромжгүй байсан. Ийм халдлага нь криптографийн орчин үеийн эрин үед л эргэж ирсэн.

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

Урьдчилан тооцоолох халдлагыг санаарай: нийтлэлийн төгсгөлд бид энэ нь чухал үүрэг гүйцэтгэсэн бодит амьдралын хоёр криптограф жишээг авч үзэх болно.

Интерполяци

Алдарт мөрдөгч Шерлок Холмс азгүй доктор Ватсон руу интерполяцийн довтолгоо хийж байгаа нь:

Би чамайг Афганистанаас ирсэн гэж шууд таамагласан... Миний бодлын галт тэрэг: “Энэ хүн төрөлхөөрөө эмч боловч цэргийн мэргэжилтэй. Тэгэхээр цэргийн эмч. Тэр дөнгөж халуун орноос ирсэн - царай нь бараан, гэхдээ бугуй нь илүү цайрсан тул энэ нь түүний арьсны байгалийн сүүдэр биш юм. Нүүр царай муутай - тэр маш их зовж, өвчин туссан нь ойлгомжтой. Тэр зүүн гартаа шархадсан - тэр хөдөлгөөнгүй, бага зэрэг хэвийн бусаар барьдаг. Английн цэргийн эмч халуун орны хаана нь зовлон зүдгүүрийг даван туулж, шархдаж чадах вэ? Мэдээж Афганистанд." Бүхэл бүтэн бодлын галт тэрэг нэг секунд ч зарцуулсангүй. Тэгээд би чамайг Афганистанаас ирсэн гэж хэлээд гайхсан.

Холмс нотлох баримт бүрээс маш бага мэдээлэл гаргаж чаддаг байв. Тэр бүгдийг нэг дор авч үзээд л дүгнэлтэнд хүрч чадна. Интерполяцийн халдлага нь ижил түлхүүрээс үүссэн ил тод текст болон шифр текстийн хосуудыг шалгах замаар ижил төстэй байдлаар ажилладаг. Хос бүрээс тус тусын ажиглалтыг гаргаж авдаг бөгөөд энэ нь түлхүүрийн талаар ерөнхий дүгнэлт гаргах боломжийг олгодог. Эдгээр бүх дүгнэлт нь тодорхойгүй бөгөөд гэнэт эгзэгтэй массад хүрч, цорын ганц боломжтой дүгнэлтэд хүргэх хүртэл ашиггүй мэт санагддаг: энэ нь хичнээн гайхалтай байсан ч энэ нь үнэн байх ёстой. Үүний дараа түлхүүр илчлэгдэх, эсвэл тайлах үйл явц маш боловсронгуй болж, хуулбарлах боломжтой болно.

Интерполяци хэрхэн ажилладагийг энгийн жишээгээр тайлбарлая. Бид дайсан Бобын хувийн өдрийн тэмдэглэлийг уншихыг хүсч байна гэж бодъё. Тэрээр өдрийн тэмдэглэлийнхээ тоо бүрийг "A Mock of Cryptography" сэтгүүлийн сурталчилгаанаас олж мэдсэн энгийн крипто систем ашиглан шифрлэдэг. Систем нь дараах байдлаар ажилладаг: Боб өөрт таалагдсан хоёр тоог сонгов: Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар и Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар. Одооноос эхлэн дурын дугаарыг шифрлэх Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар, энэ нь тооцдог Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар. Жишээлбэл, хэрэв Боб сонгосон бол Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар и Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар, дараа нь тоо Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар гэж шифрлэгдсэн байх болно Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар.

28-р сарын XNUMX-нд Боб өдрийн тэмдэглэлдээ ямар нэгэн зүйл зурж байгааг анзаарсан гэж бодъё. Түүнийг дуусмагц бид чимээгүйхэн аваад сүүлчийн оруулгыг харна:

Огноо: 235/520

Эрхэм өдрийн тэмдэглэл,

Өнөөдөр маш сайхан өдөр байсан. дамжуулан 64 Өнөөдөр би орон сууцанд амьдардаг Алисатай болзож байна 843. Тэр байж магадгүй гэж би үнэхээр бодож байна 26!

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

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар

Бид 15 настай болохоор хоёр үл мэдэгдэх хоёр тэгшитгэлийн системийн талаар аль хэдийн мэддэг байсан бөгөөд энэ тохиолдолд үүнийг олоход хангалттай юм. Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар и Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар ямар ч асуудалгүй. Шууд текст-шифр текстийн хос бүр Бобын түлхүүр дээр хязгаарлалт тавьдаг бөгөөд хоёр хязгаарлалт нь нийлээд түлхүүрийг бүрэн сэргээхэд хангалттай. Бидний жишээнд хариулт нь байна Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар и Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар (үед Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар, тийм 26 Өдрийн тэмдэглэл дэх "нэг" гэсэн үгтэй тохирч байна, өөрөөр хэлбэл "ижил нэг" - ойролцоогоор. эгнээ).

Интерполяцийн халдлага нь мэдээжийн хэрэг ийм энгийн жишээгээр хязгаарлагдахгүй. Сайн ойлгогдсон математикийн объект болон параметрийн жагсаалт болгон бууруулсан криптосистем бүр интерполяцийн халдлагад өртөх эрсдэлтэй байдаг - объект илүү ойлгомжтой байх тусам эрсдэл өндөр байдаг.

Шинээр ирсэн хүмүүс криптограф бол "аль болох муухай зүйлийг зохион бүтээх урлаг" гэж гомдоллодог. Интерполяцийн халдлагууд голчлон буруутгах магадлалтай. Боб математикийн дэгжин загвар ашиглаж болно, эсвэл Алистай болзохдоо нууцалж чадна, гэхдээ харамсалтай нь та үүнийг хоёр талаас нь авч чадахгүй. Бид эцэст нь нийтийн түлхүүрийн криптографийн сэдэв рүү ороход энэ нь маш тодорхой болно.

Протокол хоорондын/бууруулах

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар"Одоо чи намайг харж байна" (2013) кинонд хэсэг хуурмаг хүмүүс авлигад идэгдсэн даатгалын магнат Артур Тресслерийг бүх хөрөнгөөс нь залилахыг оролддог. Артурын банкны данс руу нэвтрэхийн тулд хуурмаг хүмүүс түүний хэрэглэгчийн нэр, нууц үгийг өгөх эсвэл банкинд өөрийн биеэр ирж, схемд оролцохыг албадах ёстой.

Хоёр сонголт хоёулаа маш хэцүү байдаг; Залуус тагнуулын ажиллагаанд оролцдоггүй, тайзан дээр тоглоход дассан. Тиймээс тэд гурав дахь боломжит хувилбарыг сонгодог: тэдний хамсаатан банк руу утасдаж, Артур гэж дүр эсгэдэг. Банк нь хэн болохыг баталгаажуулахын тулд авга ахын нэр, анхны тэжээвэр амьтны нэр гэх мэт хэд хэдэн асуулт асуудаг; манай баатрууд урьдчилан Тэд ухаалаг нийгмийн инженерчлэлийг ашиглан Артураас энэ мэдээллийг хялбархан гаргаж авдаг. Энэ мөчөөс эхлэн нууц үгийн маш сайн хамгаалалт чухал байхаа больсон.

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

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

Зарим төвөгтэй тохиолдолд сул протокол ашиглан сервертэй холбоо барих нь хангалтгүй бөгөөд хууль ёсны үйлчлүүлэгчийн албадан оролцоог шаарддаг. Үүнийг доод түвшний довтолгоо гэж нэрлэгддэг халдлага ашиглан зохион байгуулж болно. Энэ халдлагыг ойлгохын тулд манай хуурмаг үзэгчдэд кинон дээрхээс илүү хэцүү даалгавар байна гэж бодъё. Банкны ажилтан (касс) болон Артур хоёр урьдчилан тооцоолоогүй нөхцөл байдалтай тулгарсны үр дүнд дараахь харилцан яриа үүссэн гэж үзье.

Хулгайч: Сайн уу? Энэ бол Артур Тресслер. Би нууц үгээ шинэчилмээр байна.

Кассчин: Агуу их. Хувийн нууц кодын дэвтэр, хуудас 28, үг 3-ыг харна уу. Дараах бүх мессежийг энэ тусгай үгийг түлхүүр болгон ашиглан шифрлэх болно. PQJGH. LOTJNAM PGGY MXVRL ZZLQ SRIU HHNMLPPPV…

Хулгайч: Хөөе, хүлээ, хүлээ. Энэ үнэхээр шаардлагатай юу? Бид жирийн хүмүүс шиг ярьж болохгүй гэж үү?

Кассчин: Би үүнийг хийхийг зөвлөдөггүй.

Хулгайч: Би зүгээр л... хар даа, надад муухай өдөр байсан, за юу? Би VIP үйлчлүүлэгч бөгөөд эдгээр тэнэг кодын номуудыг ухаж үзэх хүсэл надад алга.

Кассчин: Сайн байна. Хэрэв та шаардах юм бол ноён Тресслер. Та юу хүсч байна вэ?

Хулгайч: Би бүх мөнгөө Артур Тресслерийн нэрэмжит хохирогчдын үндэсний санд хандивлахыг хүсч байна.

(Түр зогсолт).

Кассчин: Одоо ойлгомжтой юу. Их хэмжээний гүйлгээ хийхдээ PIN кодоо оруулна уу.

Хулгайч: Миний юу?

Кассчин: Таны хувийн хүсэлтээр ийм хэмжээний гүйлгээ хийхдээ их хэмжээний гүйлгээнд ПИН код шаардлагатай. Таныг данс нээх үед энэ кодыг өгсөн.

Хулгайч:... Би алдсан. Энэ үнэхээр шаардлагатай юу? Зүгээр л гэрээгээ баталж болохгүй гэж үү?

Кассчин: Үгүй Уучлаарай, ноён Тресслер. Дахин хэлэхэд энэ бол таны хүссэн аюулгүй байдлын арга хэмжээ юм. Хэрэв та хүсвэл бид таны шуудангийн хайрцагт шинэ ПИН код илгээх боломжтой.

Манай баатрууд хагалгааг хойшлуулав. Тэд Тресслерийн хэд хэдэн томоохон гүйлгээг чагнаж, ПИН кодыг сонсох гэж найдаж байна; гэхдээ ямар нэгэн сонирхолтой зүйл ярихаас өмнө яриа кодлогдсон хоосон яриа болж хувирдаг. Эцэст нь нэг сайхан өдөр төлөвлөгөө хэрэгжиж эхэлнэ. Тэд Тресслер утсаар их хэмжээний гүйлгээ хийх тэр мөчийг тэвчээртэй хүлээж, утсаар холбогдож, дараа нь...

Тресслер: Сайн уу. Би алсаас гүйлгээ хийж дуусгамаар байна.

Кассчин: Агуу их. Хувийн нууц кодын дэвтэр, хуудасны...

(Хулгайч товчлуурыг дарж, кассын дуу чимээ үл ойлгогдох чимээ болж хувирдаг).

Кассчин: - #@$#@$#*@$$@#* энэ үгийг түлхүүр болгон шифрлэх болно. AAAYRR PLRQRZ MMNJK LOJBAN…

Тресслер: Уучлаарай, би сайн ойлгосонгүй. Дахиад уу? Аль хуудсан дээр? Ямар үг вэ?

Кассчин: Энэ бол @#$@#*$)#*#@()#@$(#@*$(#@*) хуудас юм.

Тресслер: Юу вэ?

Кассчин: Үгийн дугаар хорин @$#@$#%#$.

Тресслер: Ноцтой! Аль хэдийн хангалттай! Та болон таны хамгаалалтын протокол бол нэг төрлийн цирк юм. Чи надтай энгийн байдлаар ярьж чадна гэдгийг би мэднэ.

Кассчин: Би зөвлөхгүй…

Тресслер: Мөн би чамд миний цагийг дэмий үрэхийг зөвлөхгүй. Таныг утасны шугамын асуудлаа засах хүртэл би энэ талаар дахин сонсохыг хүсэхгүй байна. Бид энэ гэрээг эцэслэж чадах уу, үгүй ​​юу?

Кассчин:… Тиймээ. Сайн байна. Та юу хүсч байна вэ?

Тресслер: Би Lord Business Investments руу 20 доллар шилжүүлмээр байна, дансны дугаар...

Кассчин: Нэг минут, гуйя. Энэ бол том асуудал. Их хэмжээний гүйлгээ хийхдээ PIN кодоо оруулна уу.

Тресслер: Юу? Өө, яг. 1234.

Энд доош чиглэсэн дайралт байна. Илүү сул протоколыг "шууд ярь" гэж төсөөлж байсан сонголт яаралтай тохиолдолд. Тэгээд ч бид энд байна.

Дээр дурьдсан шиг "аюулгүй" системийг зөв оюун ухаантай нь хэн зохион бүтээх вэ гэж та гайхаж магадгүй. Гэхдээ зохиомол банк нь криптографид дургүй үйлчлүүлэгчээ авч үлдэхийн тулд эрсдэлд ордог шиг системүүд ерөнхийдөө аюулгүй байдалд хайхрамжгүй ханддаг эсвэл бүр шууд дайсагнасан шаардлагуудыг чиглүүлдэг.

2 онд SSLv1995 протоколд яг ийм зүйл тохиолдсон. АНУ-ын засгийн газар криптографийг гадаад, дотоодын дайснуудаас хамгийн хол байлгах зэвсэг гэж үзэж эхлээд удаж байна. Кодын хэсгүүдийг АНУ-аас экспортлохыг тус тусад нь зөвшөөрсөн бөгөөд ихэнхдээ алгоритмыг зориудаар сулруулсан байх нөхцөлтэй байдаг. Хамгийн алдартай хөтөч Netscape Navigator-ийн хөгжүүлэгч Netscape-д зөвхөн угаасаа эмзэг 2 битийн RSA түлхүүрээр (мөн RC512-ийн хувьд 40 бит) SSLv4 ашиглах зөвшөөрөл олгосон.

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

Энэ онол нь 2015 онд Microsoft-ын судлаачид болон SSL протоколын аюулгүй байдлыг дордуулсан хоёр томоохон халдлагад өртөх арга замыг олсон. ИНРИА. Эхлээд XNUMX-р сард FREAK халдлагын дэлгэрэнгүй мэдээлэл илэрсэн бол дараа нь XNUMX сарын дараа Logjam нэртэй ижил төстэй халдлага гарсан бөгөөд бид нийтийн түлхүүрийн криптографийн халдлага руу шилжих үед энэ талаар илүү дэлгэрэнгүй авч үзэх болно.

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбарЭмзэг байдал СЭТГЭЛ ("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 нь b-тэй тохирч байх ёстойг тэмдэглэв.

Гэх мэтээр халдагч дүр бүрийн утгыг мэдэх хүртэл үргэлжилнэ.

Өнгөц харахад энэ арга нь сонгосон энгийн текстийн халдлагатай төстэй юм. Төгсгөлд нь халдагч шифр текстийг сонгож, сервер тэднийг дуулгавартай боловсруулдаг. Эдгээр халдлагыг бодит ертөнцөд хэрэгжүүлэх боломжтой болгодог гол ялгаа нь халдагчид бодит хуулбар руу нэвтрэх шаардлагагүй буюу серверийн хариу үйлдэл, тэр ч байтугай "Хүчингүй хуурамч текст" шиг гэм хоргүй байх нь хангалттай юм.

Хэдийгээр энэ халдлага нь сургамжтай боловч "дамми текст" схемийн онцлог, ашигласан тусгай криптосистем эсвэл халдагчийн илгээсэн мессежийн дарааллыг хэт их анхаарч үзэх хэрэггүй. Үндсэн санаа нь Алис энгийн текстийн шинж чанарт тулгуурлан хэрхэн өөр өөрөөр хариу үйлдэл үзүүлж, харгалзах шифрийг итгэмжлэгдсэн этгээдээс ирсэн эсэхийг шалгахгүйгээр хийдэг. Тиймээс Алис халдагчид хариултаасаа нууц мэдээллийг шахах боломжийг олгодог.

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

1998 онд Швейцарийн криптограф Даниел Блейхенбахер энэ асуултад эерэгээр хариулсан. Тэрээр тусгай мессежийн схемийг ашиглан өргөн хэрэглэгддэг нийтийн түлхүүрийн криптосистем RSA-д oracle халдлагыг харуулсан. Зарим RSA хэрэгжүүлэлтүүдэд энгийн текст нь схемтэй таарч байгаа эсэхээс хамаарч сервер өөр өөр алдааны мессежээр хариу үйлдэл үзүүлдэг; Энэ нь дайралт хийхэд хангалттай байсан.

Дөрвөн жилийн дараа, 2002 онд Францын криптографч Серж Воденэй дээрх Алисын хувилбарт дүрсэлсэнтэй бараг ижилхэн oracle халдлагыг үзүүлсэн нь зохиомол шифрийн оронд хүмүүсийн хэрэглэж буй орчин үеийн шифрүүдийн нэр хүндтэй бүхэл бүтэн ангиллыг эвдсэнийг эс тооцвол. Ялангуяа Vaudenay-ийн довтолгоо нь "CBC шифрлэлтийн горим" гэж нэрлэгддэг, Алис хувилбарт үндсэндээ дүйцэхүйц тодорхой түгээмэл дүүргэх схемээр ашиглагдах үед тогтмол хэмжээний оролтын шифрүүдийг ("блок шифрүүд") онилдог.

Мөн 2002 онд Америкийн криптограф Жон Келси - хамтран зохиогч Хоёр загас - мессежийг шахаж, дараа нь шифрлэдэг системүүд дээр янз бүрийн oracle халдлагуудыг санал болгосон. Эдгээрээс хамгийн их анхаарал татсан нь шифрлэгдсэн текстийн уртаас энгийн текстийн анхны уртыг гаргах боломжтой байдгийг ашигласан халдлага байв. Онолын хувьд энэ нь анхны энгийн текстийн хэсгүүдийг сэргээх oracle халдлага хийх боломжийг олгодог.

Доор бид Vaudenay болон Kelsey халдлагын талаар илүү нарийвчилсан тайлбарыг өгсөн (бид нийтийн түлхүүрийн криптографийн халдлагууд руу шилжих үед Блейхенбахерын халдлагын талаар илүү дэлгэрэнгүй тайлбар өгөх болно). Бидний бүх хүчин чармайлтыг үл харгалзан текст нь зарим талаараа техникийн шинж чанартай болсон; Хэрэв дээрх зүйл танд хангалттай байвал дараагийн хоёр хэсгийг алгасах хэрэгтэй.

Воденийн дайралт

Vaudenay халдлагыг ойлгохын тулд эхлээд блок шифр болон шифрлэлтийн горимуудын талаар бага зэрэг ярих хэрэгтэй. Дээр дурдсанчлан "блок шифр" гэдэг нь тодорхой тогтмол урттай ("блокны урт") түлхүүр болон оролтыг авч, ижил урттай шифрлэгдсэн блок үүсгэдэг шифр юм. Блок шифрийг өргөнөөр ашигладаг бөгөөд харьцангуй аюулгүй гэж үздэг. Орчин үеийн анхны шифр гэж тооцогддог одоо тэтгэвэртээ гарсан DES нь блок шифр байсан. Дээр дурдсанчлан өнөөдөр өргөн хэрэглэгддэг AES-ийн хувьд ч мөн адил.

Харамсалтай нь блок шифр нь нэг л сул талтай. Ердийн блокийн хэмжээ нь 128 бит буюу 16 тэмдэгт юм. Мэдээжийн хэрэг, орчин үеийн криптограф нь илүү том оролтын өгөгдөлтэй ажиллахыг шаарддаг бөгөөд энд шифрлэлтийн горимууд гарч ирдэг. Шифрлэлтийн горим нь үндсэндээ хакердах арга юм: энэ нь зөвхөн тодорхой хэмжээний оролтыг хүлээн авдаг блок шифрийг дурын урттай оруулах арга юм.

Vodene-ийн халдлага нь алдартай CBC (Cipher Block Chaining) үйлдлийн горимд чиглэгддэг. Энэхүү халдлага нь үндсэн блокийн шифрийг ид шидийн, үл давшгүй хар хайрцаг гэж үзэж, түүний аюулгүй байдлыг бүрэн тойрч гардаг.

CBC горим хэрхэн ажилладагийг харуулсан диаграмм энд байна.

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар

Дугуйлсан нэмэх нь XOR (онцгой OR) үйлдлийг илэрхийлнэ. Жишээлбэл, шифрлэгдсэн текстийн хоёр дахь блокыг хүлээн авна:

  1. Эхний шифр текстийн блоктой хоёр дахь энгийн блок дээр XOR үйлдлийг гүйцэтгэх замаар.
  2. Түлхүүр ашиглан үүссэн блокыг блок шифрээр шифрлэх.

CBC нь хоёртын XOR үйлдлийг маш их ашигладаг тул түүний зарим шинж чанарыг эргэн санацгаая.

  • Чадваргүй байдал: Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар
  • Солих чадвар: Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар
  • Нийгэмлэг: Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар
  • Өөрөө эргэх чадвар: Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар
  • Байтын хэмжээ: n of byte Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар = (байтын n Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар) Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар (байт n Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар)

Ерөнхийдөө эдгээр шинж чанарууд нь хэрэв бидэнд XOR үйлдлүүд болон нэг үл мэдэгдэх тэгшитгэл байгаа бол үүнийг шийдэж болно гэсэн үг юм. Жишээлбэл, хэрэв бид үүнийг мэддэг бол Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар үл мэдэгдэх зүйлтэй Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар ба алдартай Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар и Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар, тэгвэл бид тэгшитгэлийг шийдэхийн тулд дээр дурдсан шинж чанаруудад найдаж болно Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар. XOR-г тэгшитгэлийн хоёр талд хэрэглэснээр Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар, бид авдаг Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар. Энэ бүхэн хормын дотор маш их хамааралтай болно.

Манай Алис хувилбар болон Воденайн дайралтын хооронд хоёр жижиг ялгаа, нэг том ялгаа бий. Хоёр бага нь:

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

Гол ялгаа:

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

Энэ гол ялгаа нь Vaudenay-ийн халдлагыг ойлгох оньсогоын эцсийн хэсэг тул CBC-д хийсэн oracle халдлагыг юуны түрүүнд яагаад, хэрхэн хийж болох талаар бодож үзэцгээе.

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

Алисын хувилбарт бид дараах харилцаатай байсныг бодъё.

$$дэлгэц$$текст{SIMPLE_SUBSTITUTION}(текст{шифр текст},текст{түлхүүр}) = текст{цэвэр текст}$$дэлгэц$$

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

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

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар

Үүнийг "CBC тэгшитгэл" гэж нэрлэе.

Алисын хувилбарт шифрлэгдсэн текстийг хянаж, харгалзах ил задгай бичвэрийн алдагдлыг ажигласнаар бид тэгшитгэлийн гурав дахь нэр томъёо буюу түлхүүрийг сэргээсэн халдлагыг зохион байгуулж чадсан. CBC хувилбарт бид мөн шифрлэгдсэн текстийг хянаж, харгалзах энгийн текст дээр мэдээлэл алдагдсаныг ажигладаг. Хэрэв аналоги байгаа бол бид энэ талаар мэдээлэл авах боломжтой Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар.

Бид үнэхээр сэргээгдсэн гэж бодъё Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар, тэгээд яах вэ? За тэгвэл бид бүхэл бүтэн энгийн текстийг нэг дор хэвлэж болно (Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар), зүгээр л оруулна уу Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар (бидэнд байгаа) ба
хүлээн авсан Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар CBC тэгшитгэлд оруулна.

Одоо бид довтолгооны ерөнхий төлөвлөгөөг өөдрөгөөр харж байгаа тул нарийн ширийн зүйлийг боловсруулах цаг болжээ. Сервер дээр шууд текстийн мэдээлэл хэрхэн цацагдаж байгааг анхаарна уу. Алисын скриптэд $inline$text{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, гэхдээ хариултуудыг уншиж чадахгүй эсвэл гүйлгээг хийж чадахгүй байна.

Боб шифрлэгдсэн холболтыг ашиглахгүй л бол эдгээр бүх хамгаалалт нь утгагүй гэдгийг бид онцлон тэмдэглэх ёстой. Халдагчид зүгээр л Бобын траффикийг уншиж, Google-ийн сессийн күүкийг сэргээх боломжтой. Энэхүү күүки ашиглан тэрээр өөрийн вэб хөтчөөсөө гаралгүйгээр зүгээр л шинэ Google tab нээж, Бобын дүрд хувирах бөгөөд ижил төрлийн бодлоготой тулгарах болно. Гэвч харамсалтай нь хулгайч нарын хувьд энэ нь улам бүр багасч байна. Интернет бүхэлдээ шифрлэгдээгүй холболтын эсрэг дайн зарлаад удаж байгаа бөгөөд Бобын гадагшаа гарч буй траффик нь түүнд таалагдсан эсэхээс үл хамааран шифрлэгдсэн байх магадлалтай. Түүнчлэн, протокол хэрэгжиж эхэлснээс хойш замын хөдөлгөөн бас байсан агшсан шифрлэлтийн өмнө; Энэ нь хоцролтыг багасгах нийтлэг арга байсан.

Энэ нь энд л хэрэгжиж байна Гэмт хэрэг (Шахалтын харьцаа Infoleak хялбар, шахалтын харьцаагаар дамжуулан энгийн гоожих). Энэхүү эмзэг байдлыг 2012 оны XNUMX-р сард аюулгүй байдлын судлаач Жулиано Риззо, Тайланд Дуонг нар илрүүлсэн. Бид аль хэдийн онолын үндэслэлийг бүхэлд нь судалж үзсэн бөгөөд энэ нь тэдний юу хийсэн, хэрхэн хийснийг ойлгох боломжийг бидэнд олгодог. Халдагчид Бобын хөтчөөс Google рүү хүсэлт илгээж, дараа нь дотоод сүлжээн дэх хариуг шахсан, шифрлэгдсэн хэлбэрээр сонсохыг албадах боломжтой. Тиймээс бидэнд байна:

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар

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

Энэ онолыг ойлгосноор CRIME-ийн зохиогчид Gmail, Twitter, Dropbox, Github зэрэг олон төрлийн сайтуудад зориулсан сессийн күүки хулгайлж болох мөлжлөгийг бүтээжээ. Энэ эмзэг байдал нь орчин үеийн ихэнх вэб хөтчүүдэд нөлөөлсөн бөгөөд үүний үр дүнд SSL-д шахалтын функцийг чимээгүйхэн оршуулсан засварууд гарсан бөгөөд үүнийг огт ашиглахгүй. Эмзэг байдлаас хамгаалагдсан цорын ганц зүйл бол SSL шахалтыг огт ашигладаггүй нэр хүндтэй Internet Explorer юм.

ПУДЛ

Криптографийн халдлага: төөрөлдсөн оюун санааны тайлбар2014 оны XNUMX-р сард Google-ийн хамгаалалтын баг аюулгүй байдлын нийгэмлэгт давалгаа хийсэн. Тэд арав гаруй жилийн өмнө засвар хийсэн SSL протоколын эмзэг байдлыг ашиглаж чадсан.

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

Түүхэн нөхцөл байдлын хувьд, Matthew Green-ийн 2-р хувилбар хүртэлх SSL-ийн түүхийн товч хураангуй энд байна:

Тээврийн давхаргын аюулгүй байдал (TLS) нь интернетийн аюулгүй байдлын хамгийн чухал протокол юм. [..] Таны интернэтээр хийсэн бараг бүх гүйлгээ TLS-ээс хамаардаг. [..] Гэхдээ TLS нь үргэлж TLS байдаггүй. Протокол нь амьдралдаа эхэлсэн Netscape харилцаа холбоо "Secure 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 хүсэлтийг удирдах боломжтой. Одоо энэ байт шифрийг тайлахад тохиромжтой. Та хүсэлтэд нэг тэмдэгт нэмэх боломжтой бөгөөд күүкиний эцсийн өмнөх байт нь нэг байрандаа үлдэх бөгөөд ижил аргыг ашиглан сонгоход тохиромжтой. Энэ байдлаар күүки файлыг бүрэн сэргээх хүртэл халдлага үргэлжилнэ. Үүнийг POODLE гэж нэрлэдэг: Хуучин шифрлэлтийн бууруулсан Padding Oracle.

ЖАВАХ

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

2016 оны 2-р сард техникийн янз бүрийн салбарын судлаачдын баг нэгдэж, гайхалтай нээлт хийсэн: SSLv2 нь аюулгүй байдлын системд ашиглагдаж байна. Тийм ээ, FREAK болон POODLE-ийн дараа уг нүх хаагдсан тул халдагчид орчин үеийн TLS сешнүүдийг SSLv2 болгон бууруулах боломжгүй болсон ч серверүүдтэй холбогдож, SSLvXNUMX сессийг өөрсдөө эхлүүлэх боломжтой хэвээр байна.

Тэдний тэнд юу хийж байгаа нь бидэнд яагаад хамаатай юм бэ гэж та асууж магадгүй юм. Тэд эмзэг сесстэй боловч энэ нь бусад сессүүд эсвэл серверийн аюулгүй байдалд нөлөөлөх ёсгүй - тийм үү? За тийм биш. Тийм ээ, онолын хувьд ийм байх ёстой. Гэхдээ үгүй ​​- учир нь SSL сертификат үүсгэх нь тодорхой ачаалал үүсгэдэг тул олон серверүүд ижил гэрчилгээ, үр дүнд нь TLS болон SSLv2 холболтын ижил RSA түлхүүрүүдийг ашигладаг. Хамгийн муу зүйл бол OpenSSL-ийн алдааны улмаас энэхүү алдартай SSL хэрэгжүүлэлтийн "SSLv2-г идэвхгүй болгох" сонголт үнэхээр ажиллахгүй байна.

Энэ нь TLS дээр протокол хоорондын халдлага хийх боломжтой болгосон ЖАВАХ (Хуучирсан болон суларсан цахим шифрлэлт бүхий RSA кодыг тайлах, хуучирсан болон суларсан шифрлэлт бүхий RSA кодыг тайлах). Энэ нь богино халдлагатай адил биш гэдгийг санаарай; халдагч нь "дунд байгаа хүн"-ийн үүрэг гүйцэтгэх шаардлагагүй бөгөөд найдвартай бус хуралдаанд оролцохын тулд үйлчлүүлэгчийг татан оролцуулах шаардлагагүй. Халдагчид зүгээр л сервертэй аюулгүй SSLv2 сесс эхлүүлж, сул протокол руу халдаж, серверийн RSA хувийн түлхүүрийг сэргээдэг. Энэ түлхүүр нь TLS холболтод мөн хүчинтэй бөгөөд үүнээс хойш TLS аюулгүй байдлын ямар ч хэмжээ нь түүнийг алдагдахаас сэргийлж чадахгүй.

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

Нийтлэлийг нийтлэх үед интернетийн шилдэг сайтуудын 25% нь DROWN эмзэг байдалд өртсөн байсан бөгөөд халдлага нь ганцаардсан хакеруудад ч боломжтой энгийн нөөцөөр хийгдэж болно. Серверийн RSA түлхүүрийг сэргээхэд 440 цагийн тооцоолол, 2 доллар шаардагдаж, SSLvXNUMX нь хуучирсанаас цацраг идэвхт болж хувирав.

Хүлээгээрэй, Heartbleed яах вэ?

Энэ нь дээр дурдсан утгаараа криптографийн халдлага биш юм; Энэ бол буфер халилт юм.

Завсарлага авцгаая

Бид зарим үндсэн аргуудаас эхэлсэн: харгис хүч, интерполяци, зэрэглэлийг бууруулах, хөндлөн протокол, урьдчилан тооцоолох. Дараа нь бид орчин үеийн криптографийн халдлагын гол бүрэлдэхүүн хэсэг болох нэг дэвшилтэт техникийг авч үзсэн: oracle халдлага. Бид үүнийг олоход нэлээд цаг зарцуулсан бөгөөд зөвхөн үндсэн зарчмыг төдийгүй хоёр тодорхой хэрэгжилтийн техникийн нарийн ширийнийг ойлгосон: CBC шифрлэлтийн горимд хийсэн Vaudenay халдлага, шахалтын өмнөх шифрлэлтийн протоколууд дээр Келсигийн халдлага.

Дахин бууруулах болон урьдчилан тооцоолох халдлагуудыг судлахдаа бид зорилтот сайтуудыг сул түлхүүр болгон бууруулж, дараа нь ижил түлхүүрүүдийг дахин ашиглах замаар хоёр аргыг ашигладаг FREAK халдлагыг товч тайлбарлав. Дараагийн өгүүлэлд бид нийтийн түлхүүрийн алгоритмуудад чиглэсэн (маш төстэй) Logjam халдлагыг хадгалах болно.

Дараа нь бид эдгээр зарчмуудыг хэрэгжүүлэх өөр гурван жишээг авч үзсэн. Нэгдүгээрт, CRIME болон POODLE: халдагчийн зорилтот энгийн текстийн хажууд дурын энгийн текст оруулах чадварт тулгуурласан хоёр халдлага, дараа нь серверийн хариултыг шалгаж, Дараа нь,Oracle халдлагын аргачлалыг ашиглан энэхүү сийрэг мэдээллийг ашиглан энгийн текстийг хэсэгчлэн сэргээнэ үү. CRIME нь Kelsey-ийн SSL шахалтын эсрэг довтолгооны замаар явсан бол POODLE оронд нь CBC-д Vaudenay-ийн довтолгооны нэг хувилбарыг ашигласан.

Дараа нь бид хуучин SSLv2 протоколыг ашиглан сервертэй холболт үүсгэж, дараа нь Bleichenbacher халдлагыг ашиглан серверийн нууц түлхүүрүүдийг сэргээдэг Cross-protocol DROWN халдлагад анхаарлаа хандууллаа. Бид одоогоор энэ халдлагын техникийн нарийн ширийнийг алгассан; Logjam шиг бид нийтийн түлхүүрийн криптосистем болон тэдгээрийн эмзэг байдлын талаар сайн ойлголттой болох хүртэл хүлээх хэрэгтэй болно.

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

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх