Криптографический протокол
Простой протокол регистрации сертификатов (SCEP) описан в информационном документе RFC 8894. Более старые версии этого протокола стали фактическим промышленным стандартом для практического предоставления цифровых сертификатов, в основном для сетевого оборудования.
Протокол был разработан, чтобы сделать запрос и выдачу цифровых сертификатов максимально простыми для любого стандартного пользователя сети. Эти процессы обычно требовали интенсивного ввода от сетевых администраторов и поэтому не подходили для крупномасштабных развертываний.
Популярность
Simple Certificate Enrollment Protocol по-прежнему является самым популярным и широко доступным протоколом регистрации сертификатов, используемым многочисленными производителями сетевого оборудования и программного обеспечения, которые разрабатывают упрощенные средства обработки сертификатов для крупномасштабного внедрения для обычных пользователей. [ требуется ссылка ] Он используется, например, операционной системой Cisco Internetworking Operating System (IOS), хотя Cisco продвигает Enrollment over Secure Transport (EST) с дополнительными функциями, и iPhone ( iOS ) для регистрации в корпоративной инфраструктуре открытых ключей (PKI). [1] Большинство программного обеспечения PKI (в частности, реализации RA) поддерживают его, включая службу регистрации сетевых устройств (NDES) службы сертификатов Active Directory и Intune . [2]
Критика
- Устаревшие версии SCEP, которые по-прежнему используются в подавляющем большинстве реализаций, ограничиваются регистрацией сертификатов только для ключей RSA.
- Из-за использования самоподписанного формата PKCS#10 для запросов на подпись сертификата (CSR) сертификаты могут быть зарегистрированы только для ключей, которые поддерживают (некоторую форму) подписи. Ограничение, разделяемое другими протоколами регистрации, основанными на CSR PKCS#10, например, EST и ACME , или даже веб-процессом регистрации большинства программного обеспечения PKI, где запрашивающая сторона начинает с генерации пары ключей и CSR в формате PKCS#10. Например, ACME , который также использует PKCS#10, выдает сертификаты TLS, которые по определению должны быть способны подписывать рукопожатие TLS. Однако это различие пока в основном теоретическое, поскольку на практике все алгоритмы, обычно используемые с сертификатами, поддерживают подпись. Это может измениться с постквантовой криптографией, где некоторые ключи поддерживают только KEM . Формат CRMF, используемый протоколом управления сертификатами (CMP) и CMS, здесь более гибок, поддерживая также ключи, которые можно использовать только для шифрования.
- Хотя подтверждение происхождения запросов на регистрацию сертификатов, т. е. аутентификация запрашивающей стороны сертификата, является наиболее важным требованием безопасности, по прагматическим причинам его поддержка не является строго обязательной в SCEP. Основанная на подписи аутентификация клиента с использованием уже существующего сертификата была бы предпочтительным механизмом, но во многих случаях использования невозможна или не поддерживается данными развертываниями. В качестве альтернативы SCEP просто обеспечивает использование общего секрета, который должен быть специфичным для клиента и использоваться только один раз.
- Конфиденциальность общего секрета, опционально используемого для аутентификации источника, хрупка, поскольку он должен быть включен в поле 'challengePassword' CSR, которое затем защищено внешним шифрованием. Было бы безопаснее использовать алгоритм MAC на основе пароля, такой как HMAC.
- Шифрование всей структуры PKCS#10 для защиты поля 'challengePassword' (которое используется для аутентификации автономного источника) имеет еще один недостаток: весь CSR становится нечитаемым для всех сторон, кроме предполагаемого конечного получателя (CA), хотя большая часть его содержимого не является конфиденциальной. Поэтому структура PKCS#10 не может быть проверена промежуточными агентами, такими как RA.
История
SCEP был разработан Verisign для Cisco [3] как экономичная альтернатива Certificate Management over CMS (CMC) и очень мощному, но также довольно громоздкому протоколу Certificate Management Protocol (CMP). Он получил поддержку от Microsoft на раннем этапе с его постоянным включением в Windows, начиная с Windows 2000. [ 4] Примерно в 2010 году Cisco приостановила работу над SCEP и вместо этого разработала EST . В 2015 году Питер Гутманн возродил Internet Draft из-за широкого использования SCEP в промышленности и в других стандартах. [5] Он обновил проект, добавив более современные алгоритмы и исправив многочисленные проблемы в исходной спецификации. В сентябре 2020 года проект был опубликован как информационный RFC 8894, более чем через двадцать лет после начала работы по стандартизации. [6] Новая версия также поддерживает регистрацию сертификатов, отличных от RSA (например, для открытых ключей ECC ).
Смотрите также
Внешние ссылки
- Презентация слайдов с описанием SCEP: pkix-3.pdf
Ссылки
- ^ Настройки SCEP Apple MDM
- ^ Настройте инфраструктуру для поддержки SCEP с помощью Intune
- ^ SCEP: Простой протокол регистрации сертификатов (первый проект, январь 2000 г.)
- ^ SCEP и NDES, краткая история
- ^ draft-gutmann-scep-00 - Простой протокол регистрации сертификатов
- ^ IETF Datatracker: простой протокол регистрации сертификатов