Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Алгоритмы обмена ключей и протоколы аутентификации
Использование шифрования с открытым ключом
Протокол аутентификации с использованием аутентификационного сервера.
Рассмотрим протокол, использующий отметки времени и аутентификационный сервер:
1. A -> AS: IDA || IDB 2. AS -> A: EKRas [IDA || KUa || T] || EKRas [IDB || KUb || T] 3. A -> B: EKRas [IDA || KUa || T] || EKRas [IDB || KUb || T] || EKUb [EKRa [KS || T]]
В данном случае третья доверенная сторона является просто аутентификационным сервером AS, потому что третья сторона не создает и не распределяет секретный ключ. AS просто обеспечивает сертификацию открытых ключей участников. Ключ сессии выбирается и шифруется А, следовательно, не существует риска, что AS взломают и заставят распределять скомпрометированные ключи сессии. Отметки времени защищают от повтора скомпрометированных ключей сессии.
Данный протокол компактный, но, как и прежде, требует синхронизации часов.
Другой подход использует nonces. Этот протокол состоит из следующих шагов:
1. A -> KDC: IDA || IDB 2. KDC -> A: EKRkdc [IDB || KUb] 3. A -> B: EKUb [Na || IDA] 4. B -> KDC: IDB || IDA || EKUkdc [Na] 5. KDC -> B: EKRkdc [IDA || KUa] || EKUb [EKRkdc [Na || KS || IDB]] 6. B -> A: EKUa [EKRkdc [Na || KS || IDB] || Nb] 7. A -> B: EKS [Nb]
На первом шаге А информирует KDC , что хочет установить безопасное соединение с B. KDC возвращает А сертификат открытого ключа В (шаг 2). Используя открытый ключ B, А информирует В о создании защищенного соединения и посылает nonce Na (шаг 3). На 4-м шаге В спрашивает KDC о сертификате открытого ключа А и запрашивает ключ сессии. В включает nonce A, чтобы KDC мог пометить ключ сессии этим nonce. Nonce защищен использованием открытого ключа KDC . На 5-м шаге KDC возвращает В сертификат открытого ключа А плюс информацию {Na, KS, IDB}. Эта информация означает, что KS является секретным ключом, созданным KDC в интересах В и связан с Na. Связывание KS и Na гарантирует А, что KS не устарел. Эта тройка шифруется с использованием закрытого ключа KDC , это гарантирует B, что тройка действительно получена от KDC . Она также шифруется с использованием открытого ключа B, чтобы никто другой не мог подсмотреть ключ сессии и использовать эту тройку для установления соединения с А. На шаге 6 тройка {Na, KS, IDB}, зашифрованная закрытым ключом KDC , передается А вместе с nonce Nb, созданным B. Все сообщение шифруется открытым ключом А. А восстанавливает ключ сессии KS, использует его для шифрования Nb, который возвращает B. Это последнее сообщение гарантирует B, что А знает ключ сессии.
Это достаточно безопасный протокол при различного рода атаках. Однако авторы предложили пересмотренную версию данного алгоритма:
1. A -> KDC: IDA || IDB 2. KDC -> A: EKRauth [IDB || KUb] 3. A -> B: EKUb [Na || IDA] 4. B -> KDC: IDB || IDA || EKUauth [Na] 5. KDC -> B: EKRauth [IDA || KUa] || EKUb [ EKRauth [Na || KS || IDA || IDB]] 6. B -> A: EKUa [EKRauth [Na || KS || IDA || IDB] || Nb] 7. A -> B: EKS [Nb]
Добавляется идентификатор А IDA к данным, зашифрованных с использованием закрытого ключа KDC на шагах 5 и 6 для идентификации обоих участников сессии. Это включение IDA приводит к тому, что значение nonce Na должно быть уникальным только среди всех nonces, созданных А, но не среди nonces, созданных всеми участниками. Таким образом, пара {IDA, Na} уникально идентифицирует соединение, созданное А.