Экстернат |
Анализ безопасности протокола обмена информацией
Цель занятия
- Найти уязвимость в схеме протокола
- Определить, атака какого типа позволит воспользоваться выявленной уязвимостью протокола
- Предложить способ модифицировать протокол, чтобы устранить уязвимость
Описание схемы
Смарт-карты как на программном, так и на аппаратном уровне поддерживают множество алгоритмов симметричного шифрования и шифрования с открытым ключом. Смарт-карта оснащена собственным криптопроцессором и может выполнять операции шифрования и дешифрации без участия хост-компьютера, что и позволяет осуществлять безопасный обмен данными через Internet. Информация, которую необходимо предоставить пользователям, накапливается в базе данных сервера, а на компьютере пользователя установлено специальное клиентское ПО для доступа к этой информации.
Пользователь должен ввести PIN -код для взаимной аутентификации Internet -сервера и карты. Так как карта была эмитирована учебным заведением, в ней хранится открытый ключ сервера, а серверу известен открытый ключ карты. Сам процесс аналогичен взаимной аутентификации карты и хост-компьютера: карта передает серверу случайное число, зашифрованное его открытым ключом. Сервер должен его расшифровать и передать назад. Если число расшифровано правильно, карта может доверять серверу (см. рисунок).
Аналогично происходит аутентификация карты сервером. Такая процедура позволяет обеспечить доступ к данным легитимным пользователям. После того как подлинность карты и сервера по отношению друг к другу установлена, происходит обмен сессионными ключами. Например, ключи генерируются на сервере, шифруются открытым ключом карты и передаются карте, которая их расшифровывает и сохраняет. Далее смарт-карта шифрует запрос пользователя сессионным ключом и передает серверу. Сервер расшифровывает запрос, формирует ответ, шифрует их другим сессионным ключом и передает назад. Карта расшифровывает полученный ответ, который затем отображается на компьютере клиента. При передаче следующей порции данных будет использован новый сессионный ключ.
Пояснение
Протокол подвержен атаке типа "человек посередине". На этапе "Обмен сеансовыми ключами " сервер не предоставляет никакого подтверждения того, что именно он сгенерировал зашифрованные на открытом ключе смарт-карты. Сообщение от сервера может быть изъято злоумышленником и заменено на другие ключи симметричные K3, K4, зашифрованные на открытом ключе карты (согласно принципу асимметричной криптографии, открытый ключ известен всем, в т.ч. и потенциальному злоумышленнику). После этого смарт-карта передаст запрос серверу, зашифровав его на ключе K3. Злоумышленник сможет перехватить и расшифровать его, чтобы сформировать ответ и зашифровать на ключе K4. Таким образом, смарт-карта будет взаимодействовать не с сервером, а со злоумышленником. Избежать этого можно, если на этапе "Обмен сеансовыми ключами " в дополнение к передаваемому сообщению XXX сервер передаст результат шифрования XXX на своем закрытом ключе XXXX (по сути, это будет служить цифровой подписью ключей). Тогда эквивалентность XXX и результата расшифрования XXXX на открытом ключе сервера будет для смарт-карты гарантией того, что ключ был получен от сервера, а не от злоумышленника.
Краткие итоги
В результате выполнения лабораторной работы студенты научились смотреть на протокол обмена информацией с позиции взломщика и систематизировали знания основ криптографии:
- Закрепили знания фундаментальных принципов асимметричной и симметричной криптографии
- Научились оценивать возможность криптографических механизмов обеспечить не только шифрование данных, но и аутентификацию участников переговоров