Кіріспе

Криптографиялық түрде жасалған мекенжай (CGA) — криптографиялық хэш-функциясынан есептелген хост идентификаторына ие Интернет протоколының 6-шы нұсқасы (IPv6) мекенжайы. Бұл процедура Secure Neighbor Discovery Protocol (SEND) протоколында ашық кілтті IPv6 мекенжайымен байланыстырудың бір жолы болып табылады.

Қауіпсіздік

Шабуылшы клиентке шабуылшыға тиесілі емес белгілі бір CGA-дан жарамды хабарлама алды деп сендіру үшін, шабуылшы Hash1 және Hash2-нің тиісті биттері үшін хэш-қосуды табуы керек. Егер шабуылшы CGA параметрлерінің жиынтығын (шабуылшы жеке кілтін білетін ашық кілтін қоса алғанда) тапса, ол мақсатты CGA-мен бірдей CGA-ны құру үшін пайдаланылуы мүмкін, содан кейін шабуылшы CGA-ның иесі болып табылатын хостты байқалмай тұрып, кейіп таныта алады (клиент бұрын хостпен байланысқаннан кейін, бірақ CGA өзгергенін ескермесе, мүмкін). Hash1-дің 64 битінің тек 59-ы интерфейс идентификаторында қолданылады, өйткені 5 бит ауыстырылып жазылады. Sec 0-ге тең CGA үшін, бұл қажетті 59 битті беретін CGA параметрлерінің жиынтығын табудың құны шамамен (үлкен O белгісінде) болады. Алайда, Sec-тің үлкен мәні бұл құнды 1 есеге арттырады, өйткені Hash2-нің алғашқы 16 есе Sec биті маңызды болады (яғни, ол осы биттерді 0-ге тең деп талап ету арқылы хэш кеңейтуді іске асырады). CGA генерациялау процесінде Sec-тің құнына байланысты мекенжайды генерациялау құны бірдей фактормен көбейтіледі, бірақ CGA-ны пайдалану және тексеру құны тұрақты болып қалады. Sec CGA параметрлерінің дерек құрылымының емес, мекенжайдың өзінде болғандықтан, шабуылшы Sec мәнін мақсатты мекенжайдан кішірек (мысалы, 0) пайдалана алмайды. Бұл мақсатты CGA-дан өзгеше CGA-ны береді, өйткені интерфейс идентификаторының ең сол жақтағы үш битінің кем дегенде бірі сәйкес келмейді. Егер мақсатты Sec мәні интерфейс идентификаторына жазылған болса, онда Hash2 (әрине) тексеру процесінде қажетті саны 0-битінің жоқ екені анықталады. CGA генерациялау процесінде үш мекенжай соқтығысуының болуы өте сирек. Егер қайталанған мекенжай үшінші рет анықталса, онда бұл конфигурация немесе іске асыру қатесі немесе қызметтен бас тарту шабуылдарынан болуы мүмкін. Осы себепті collCount үшін жарамды мәндердің саны 0-ден 2-ге дейінгі аралықта шектеледі. Бұл параметрді пайдаланушы шабуылдаушыдан оны пайдалануды және әр түрлі мәнді сынаған сайын Hash2 үшін тағы бір қара күш іздеуді орындаудың қажеті жоқ, әр түрлі мәндерді сынап көруін болдырмау үшін CGA тексеру процесінде осы диапазонда екендігі тексерілуі керек. Hash1 нәтижелерін жинақтау операциясына кіші желі префиксін қосу арқылы шабуылшы әр түрлі кіші желі префикстері бар мекенжайларға шабуыл жасау үшін бір алдын ала есептелген дерекқорды пайдалана алуына жол берілмейді. Тексеруші сонымен қатар ашық кілт дәл осы мекенжайға байланысты екеніне және мүмкін бірдей интерфейс идентификаторы бар, бірақ басқа ішкі желі префиксі бар мекенжайға емес екеніне сенімді бола алады. CGA-ның спецификациясында CGA параметрлері деректерінің құрылымындағы кіші желі префиксін пайдалануды талап еткендіктен, CGA тексеру процесінде оның CGA-ның кіші желі префиксіне сәйкес келетіндігі тексерілуі тиіс.