RFC 1964
RFC 1964 — это запрос на комментарии (Request for Comments), опубликованный в июне 1996 года, который определяет механизм использования криптографических алгоритмов Kerberos версии 5 в рамках протокола Generic Security Service Application Program Interface (GSS-API). Документ, разработанный Джоном Линном (John Linn) и Майком Свифтом (Mike Swift), специфицирует, как Kerberos V5 может служить механизмом безопасности для GSS-API, обеспечивая аутентификацию, целостность и конфиденциальность данных в сетевых приложениях. RFC 1964 является частью серии стандартов, связанных с Kerberos, и был принят как стандарт Интернета (Proposed Standard).
История и контекст
Предпосылки создания
Протокол Kerberos, разработанный в Массачусетском технологическом институте (MIT) в 1980-х годах, стал широко используемым решением для аутентификации в распределённых сетях. Версия 5 (Kerberos V5), определённая в RFC 1510 (1993 год), предоставляла улучшенную безопасность и гибкость по сравнению с предыдущей версией. Параллельно развивался GSS-API (RFC 1508, 1993 год), который обеспечивал универсальный интерфейс для различных механизмов безопасности, позволяя приложениям абстрагироваться от конкретных криптографических реализаций.
Цель RFC 1964
Основная цель документа — интеграция Kerberos V5 в GSS-API, чтобы приложения, использующие этот интерфейс, могли применять Kerberos для безопасного обмена данными. RFC 1964 определяет, как Kerberos-токены (например, билеты и аутентификаторы) преобразуются в формат, совместимый с GSS-API, и как обеспечиваются такие сервисы, как аутентификация, целостность сообщений и конфиденциальность.
Основные положения RFC 1964
Механизм Kerberos V5 в GSS-API
RFC 1964 специфицирует идентификатор механизма (OID — Object Identifier) для Kerberos V5: 1.2.840.113554.1.2.2. Этот OID используется приложениями для вызова соответствующего механизма GSS-API. Документ описывает, как Kerberos-билеты и аутентификаторы упаковываются в токены GSS-API, а также как обрабатываются ошибки и состояния.
Поддерживаемые сервисы безопасности
Механизм Kerberos V5 в GSS-API предоставляет три основных сервиса:
- Аутентификация: проверка подлинности сторон (клиента и сервера) на основе Kerberos-билетов.
- Целостность данных: защита от модификации сообщений с помощью криптографических контрольных сумм (checksums).
- Конфиденциальность данных: шифрование сообщений для предотвращения несанкционированного доступа.
Формат токенов
RFC 1964 определяет структуру токенов GSS-API, используемых с Kerberos V5:
- Токен инициализации (Initial Context Token): содержит Kerberos-билет и аутентификатор, передаваемые от клиента к серверу для установления контекста безопасности.
- Токен последующих сообщений (Per-Message Token): используется для защиты отдельных сообщений после установления контекста. Включает данные для проверки целостности или шифрования.
Криптографические алгоритмы
Документ опирается на алгоритмы, определённые в Kerberos V5, включая:
- DES (Data Encryption Standard): для шифрования и вычисления контрольных сумм (в режиме CBC — Cipher Block Chaining).
- MD5 (Message Digest 5): для хеширования при создании аутентификаторов.
Позднее, с развитием криптографии, поддержка DES была признана устаревшей, и RFC 4120 (2005 год) ввёл более современные алгоритмы (AES, Camellia).
Применение и реализация
Использование в сетевых протоколах
RFC 1964 широко применяется в системах, где требуется безопасная аутентификация и обмен данными. Примеры:
- Microsoft Active Directory: использует Kerberos V5 как основной протокол аутентификации, а GSS-API — для интеграции с приложениями.
- SSH (Secure Shell): некоторые реализации (например, PuTTY) поддерживают GSS-API с Kerberos для аутентификации без пароля.
- HTTP-аутентификация: протокол SPNEGO (Simple and Protected GSS-API Negotiation Mechanism), определённый в RFC 4178, часто использует механизм Kerberos V5 из RFC 1964 для реализации схемы Negotiate.
Реализации
Основные реализации механизма Kerberos V5 в GSS-API включают:
- MIT Kerberos: эталонная реализация, поддерживающая GSS-API с момента выхода RFC 1964.
- Heimdal: свободная реализация Kerberos, также совместимая с RFC 1964.
- Windows SSPI (Security Support Provider Interface): Microsoft реализовала поддержку Kerberos V5 через GSS-API, что позволяет приложениям Windows использовать этот механизм.
Критика и ограничения
Устаревшие криптографические алгоритмы
Основным недостатком RFC 1964 является его зависимость от DES и MD5, которые считаются небезопасными по современным стандартам. DES подвержен атакам полного перебора (brute-force), а MD5 — коллизионным атакам. Это привело к необходимости обновления механизма в более поздних спецификациях, таких как RFC 4120 и RFC 6649 (2012 год).
Сложность интеграции
Реализация GSS-API с Kerberos V5 требует настройки инфраструктуры (Key Distribution Center, KDC), что может быть сложным для небольших сетей. Кроме того, механизм предполагает синхронизацию времени между клиентом и сервером (с допуском до 5 минут), что не всегда выполнимо.
Отсутствие поддержки современных функций
RFC 1964 не включает поддержку таких возможностей, как:
- Анонимная аутентификация (Anonymous PKINIT).
- Использование эллиптических кривых (ECC) для шифрования.
- Многофакторная аутентификация (MFA).
Влияние и развитие
Замена и дополнения
RFC 1964 остаётся актуальным для систем, использующих старые версии Kerberos, но в современных реализациях рекомендуется применять обновлённые спецификации:
- RFC 4120 (2005 год): обновление Kerberos V5 с поддержкой AES и других алгоритмов.
- RFC 4757 (2006 год): определение механизма RC4-HMAC для GSS-API.
- RFC 6649 (2012 год): отказ от DES и MD5 в Kerberos и GSS-API.
Наследие
Несмотря на устаревание, RFC 1964 сыграл ключевую роль в популяризации Kerberos как универсального механизма безопасности. Он заложил основу для интеграции Kerberos в широкий спектр приложений, от операционных систем до веб-сервисов, и продолжает использоваться в унаследованных системах.
Интересные факты
- RFC 1964 был одним из первых документов, объединивших два ключевых стандарта безопасности — Kerberos и GSS-API.
- Идентификатор OID
1.2.840.113554.1.2.2закреплён за механизмом Kerberos V5 в реестре IANA. - Документ был опубликован в эпоху, когда Интернет только начинал коммерциализироваться, и безопасность сетей стала критически важной.
Источники
- RFC 1964, «The Kerberos Version 5 GSS-API Mechanism», июнь 1996 года.
- RFC 1510, «The Kerberos Network Authentication Service (V5)», сентябрь 1993 года.
- RFC 1508, «Generic Security Service Application Program Interface», сентябрь 1993 года.
- RFC 4120, «The Kerberos Network Authentication Service (V5)», июль 2005 года.
- RFC 6649, «Deprecate DES, RC4-HMAC-EXP, and Other Weak Cryptographic Algorithms in Kerberos», июль 2012 года.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →