Введение

Протокол расширяемого провизионирования (Extensible Provisioning Protocol, EPP) — это гибкий протокол, предназначенный для выделения объектов в регистрах через Интернет. Мотивацией для создания EPP было создание надежного и гибкого протокола, обеспечивающего связь между регистрами доменных имен и регистраторами доменных имен. Эти транзакции необходимы при регистрации или продлении доменного имени, что также предотвращает угон домена. До его внедрения в реестрах не существовало единого подхода, и использовалось множество различных проприетарных интерфейсов. Хотя первоначально протокол разрабатывался для доменных имен, он предназначен для использования в любой системе заказов и выполнения. EPP основан на XML — структурированном текстовом формате. Основной сетевой транспорт не фиксирован, хотя в настоящее время специфицирован только метод через TCP. Протокол разработан с учетом гибкости, позволяющей использовать другие транспортные механизмы, такие как BEEP, SMTP, SOAP или HTTPS. Индивидуальные документы для представления были приняты рабочей группой IETF Provisioning Registry (provreg), созданной после сессии BoF на IETF 49 в декабре 2000 года. Предлагаемые стандартные документы (RFC 3730 и 3734) были опубликованы редактором RFC в марте 2004 года. Проектные стандартные документы (RFC 4930–4934) были опубликованы в мае 2007 года. В августе 2009 года IETF присвоил EPP статус полного стандарта как STD 69. Первым расширением EPP, получившим статус предлагаемого стандарта, стало расширение льготного периода выкупа из RFC 3915 в сентябре 2004 года. ICANN включила предоставление услуги EPP в базовый контракт с реестрами, поэтому каждый gTLD внедрил этот протокол. Существует множество реализаций серверного программного обеспечения EPP с открытым исходным кодом. Совет администраторов кодов стран (CoCCA) поддерживает серверное программное обеспечение EPP, которое используется примерно 59 ccTLD и 6 gTLD. Другое программное обеспечение с открытым исходным кодом — FRED (поддерживается CZ. NIC), которое насчитывает 11 ccTLD среди своих пользователей.

Команды протокола

Существует 3 класса команд: управление сеансом, запрос и преобразование объекта. Эти команды могут быть сопоставлены с объектами, что более точно определяет их функциональность для работы с контактами и доменами. Существуют также другие стандартизированные объекты, такие как организации, однако они редко используются. Когда клиент подключается к серверу, сервер немедленно отправляет "приветственное" сообщение клиенту. Это сообщение содержит информацию о сервере, необходимую для подключения, включая имя сервера, текущую дату и время сервера в UTC, поддерживаемые функции и политику конфиденциальности. Поддерживаемые функции включают версии EPP, языки, объекты и расширения, такие как IDN, премиальные доменные имена, восстановление домена (RGP) и расширения для обработки запуска новых TLD, среди прочего. Некоторые реестры также разработали расширения, специфичные для их TLD. Распространенным вариантом использования нестандартных расширений является сбор дополнительных данных, необходимых для создания домена, например, идентификационный номер НДС. Кроме того, многие реестры доменных имен предлагают настроить белый список IP-адресов для подключения к своим серверам EPP. EPP обеспечивает некоторую защиту от атак повторного воспроизведения с помощью клиентского clTRID, однако этот элемент является необязательным и поэтому не используется каждым серверным программным обеспечением. Следовательно, используемый транспортный механизм должен реализовывать дополнительные механизмы защиты от повторного воспроизведения.