Криптографически сгенерированный адрес


Криптографически сгенерированный адрес ( CGA ) — это адрес Интернет-протокола версии 6 (IPv6), идентификатор хоста которого вычисляется с помощью криптографической хэш-функции . [1] Эта процедура представляет собой метод привязки открытого ключа подписи к адресу IPv6 в протоколе обнаружения безопасного соседа (SEND). [2]

Криптографически сгенерированный адрес — это адрес IPv6, идентификатор интерфейса которого был сгенерирован в соответствии с методом генерации CGA. Идентификатор интерфейса формируется из младших 64 битов адреса IPv6 и используется для идентификации сетевого интерфейса хоста в его подсети. Подсеть определяется старшими 64 битами — префиксом подсети.

Помимо открытого ключа, который должен быть привязан к CGA, метод генерации CGA принимает несколько других входных параметров, включая предопределенный префикс подсети. Эти параметры, наряду с другими параметрами, которые генерируются во время выполнения метода генерации CGA, образуют набор параметров, называемый структурой данных параметров CGA. Полный набор параметров CGA должен быть известен, чтобы иметь возможность проверить соответствующий CGA.

Кроме того, параметр безопасности Secопределяет устойчивость CGA к атакам методом перебора . Это 3-битное целое число без знака, которое может иметь любое значение от 0 до 7 (включительно) и закодировано в трех крайних левых битах идентификатора интерфейса CGA. Чем выше значение Sec, тем выше уровень безопасности, но также тем больше времени обычно занимает создание CGA. Для удобства предполагается, что промежуточные Secзначения в приведенном ниже псевдокоде хранятся как 8-битные целые числа без знака, которые не могут иметь значение больше 7.

Следующий фрагмент псевдокода представляет метод генерации CGA, который используется для создания нового криптографически сгенерированного адреса.

Идентификатор интерфейса CGA в основном формируется с помощью Hash1, который берется из первых 64 битов обработанной структуры данных параметров CGA (строки с 20 по 24). В строке 27 первые три бита перезаписываются значением Sec, а зарезервированные биты «u» и «g» (седьмой и восьмой бит) устанавливаются в 0.