Рабочая группа представила стандарты внедрения, обработки, хранения, валидации и адаптации кириллических символов для программ, поддерживающих доменные имена и email-адреса.
Российская рабочая группа программы поддержки кириллических доменов начала свою работу в мае 2020 года. Совместно с «Координационным центром доменов .RU/.РФ» организация подготовила набор рекомендаций, которые позволят хостинг-провайдерам и разработчикам ПО полноценно адаптировать для своих продуктов любые кириллические имена, включая домены .РФ, .SU, .ДЕТИ, .МОСКВА, .РУС.
Для доменов и почты
Документ написан на базе рекомендаций проекта «Поддерживаю.РФ» по обработке EAI-адресов и IDN-доменов зоны .РФ. Он советует программам обеспечить передачу домена при помощи либо графического пользовательского интерфейса, либо через API в формате U-метки (Unicode) или A-метки (ASCII), с последующим преобразованием в U-метку.
Стандарт рекомендует проверять кириллическое имя при регистрации по требованиям IDNA 2008, в нижнем регистре с нормализацией Unicode. Также следует исключить риски омоглифических атак, для которых используется подмена домена по схожести написаний символов. Для проверки длины имени рабочая группа советует предварительно преобразовать его из U-метки в A-метку.
Допустимые символы при регистрации – буквы кириллицы, дефис (-) и цифры (0-9), при этом дефис нельзя указывать в начале или в конце, а также в третьей и четвертой позиции U-метки. Длина домена должна быть в пределах 1-63 октетов для доменов всех уровней.
Стандарт устанавливает, что все операции с кириллическими доменными именами необходимо проводить исключительно в кодировке «Юникод» (UTF-8)
При создании электронных почтовых ящиков для доменной части email (после символа @) необходимо, как и в случае с доменами, использовать U-метки или A-метки. Локальная часть почты (до символа @) передается только в «Юникоде» (UTF-8). Кроме кириллических символов и цифр, она может содержать буквы латинского алфавита, но авторы стандарта категорически не рекомендуют допускать смешивание латиницы с кириллицей. Также следует избегать использования точек, нижних подчеркиваний, дефиса, значков математических операций.
Проблемы кириллицы
Поддержка IDN до сих пор проблематичная для большого числа разработчиков ПО несмотря на то, что кириллические домены уже существуют более десяти лет. Чаще всего для решения этой задачи применяется метод конвертации доменного имени в символы ASCII посредством преобразования Punycode. Такой подход приводит к тому, что вместо удобно читаемых Unicode-букв кириллица превращается в длинную ACE-последовательность. Среди других проблем – поддержка интернационализированных почтовых адресов EAI.