Другим вариантом протокола обеспечения безопасности на сетевом уровне является протокол Simple Key Management for Internet Protocol (SKIP) – Простой протокол управления ключами в Интернете [Aziz]. Этот протокол развивается в основном усилиями компании Sun Microsystems. Отличительной его особенностью является исключительное использование в качестве криптографического алгоритма метода Диффи-Хеллмана (рис. 22.32).
Для каждого субъекта I его парой ключей будут являться некоторое число i (закрытый ключ) и gimod(p) (открытый ключ).
Для каждого субъекта J его парой ключей будут являться j (закрытый ключ) и gjтоd(р) (открытый ключ), где р и g– определенные, известные всем желающим, параметры. Тогда их совместным распределяемым аутентифицирующим секретом будет Кij= gijmod p . Подчеркивается, что это долговременный секрет, так как в общем случае его не требуется менять для каждой коммуникационной сессии.
Поскольку Кij – долговременный ключ, использование его для защиты самих данных небезопасно, так как дает возможность накопления материала для криптоанализа. Поэтому для шифрования самих данных используется отдельный сессионный ключ Кр , а долговременный Кijиспользуется только для шифрования сессионного ключа. Учитывая, что долговременный ключ при расчетах можно кэшировать, а само шифрование симметричное, т. е. скорость может быть достаточно высока, сессионный ключ можно генерировать вообще для каждого пакета. Аутентификация в данном случае обеспечивается предположением, что если пакет успешно дешифрован, значит, он был зашифрован именно тем, кто знает секретный ключ отправителя, т. е. самим отправителем.
В качестве дополнительной меры обеспечения защиты используется формирование ключа для шифрования не в чистом виде Кij, а производная Кijn =h(Кij,п) , где h() – хэш-функция, а n – постоянно увеличивающийся счетчик. Этот счетчик может изменяться на единицу в зависимости от конкретной задачи раз в день, час, минуту и т. д. Таким образом, обеспечивается дополнительная защита от возможного повторения посылки пакета, скопированного злоумышленником в предыдущем такте п.
Отдельное внимание в документации по SKIP посвящено проблемам широковещательного (англ. multicast) трафика. Использование в таком случае единого ключа шифрования данных из общего Центра Распределения Ключей (ЦРК) (Key Distribution Center – KDC) порождает две основные проблемы:
затруднение с оперативной заменой ключа в сетях с большим количеством узлов и высокими скоростями (последнее – по причине того, что период смены ключей зависит не только от времени использования, но и от объемов шифруемого трафика, т. е. в сетях с более интенсивным защищенным трафиком ключи следует менять чаще);
поскольку один и тот же ключ используется для защиты большого объема данных от разных узлов, это дает больше материала для криптоанализа и, таким образом, представляет угрозу для безопасности.
Решение этих проблем уже заложено в принципе защиты протокола SKIP. ЦРК достаточно своевременно распределять не сам ключ шифрования, а ключ шифрования ключей. На рис. 22.32 его функцию выполняет ключ Кij, однако в групповом трафике он имеет специальное название Ключ Группового Обмена (Group Interchange Key– GIK). Теперь каждый узел может сгенерировать свой собственный сессионный ключ и отправлять групповые сообщения, шифруя им данные. Узлу необходимо только обеспечить наличие в пакете данного сессионного ключа, зашифрованного GIK.