Товары в корзине: 0 шт Оформить заказ
Стр. 1 

32 страницы

Устанавливает формат и правила создания, позволяющие пользователям образовывать 128-битные идентификаторы, которые являются либо гарантировано глобально уникальными, либо глобально уникальными с высокой вероятностью. Универсально уникальные идентификаторы, созданные в соответствии с требованиями стандарта, пригодны для временного использования с созданием универсально уникальных идентификаторов каждые 100 наносекунд или в качестве постоянных идентификаторов. Стандарт разработан на основе более ранних не стандартизированных универсально уникальных идентификаторов и методов их создания и технически идентичен этим ранним спецификациям. Стандарт устанавливает основанные на сетевых технологиях процедуры работы уполномоченных по регистрации универсально уникальных идентификаторов. Стандарт также устанавливает и допускает использование универсально уникальных идентификаторов (зарегистрированных или незарегистрированных) в качестве компонентов ИДО ниже дуги {joint-iso-itu-t uuid(25)}, что позволяет пользователям создавать ИДО без каких-либо процедур регистрации. Стандарт также устанавливает и допускает использование универсально уникальные идентификаторы (зарегистрированных или незарегистрированных) для создания ЕИР.

 Скачать PDF

Оглавление

1 Область применения

2 Нормативные ссылки

     2.1 Идентичные рекомендации I международные стандарты

     2.2 Другие нормативные ссылки

3 Термины и определения

     3.1 Нотация АСН.1

     3.2 Уполномоченные по регистрации

     3.3 Термины сети

     3.4 Дополнительные термины и определения

4 Сокращения

5 Обозначения

6 Структура и представление УУИд

     6.1 Структура полей УУИд

     6.2 Двоичное представление

     6.3 Представление в виде единственного целого значения

     6.4 Шестнадцатиричное представление

     6.5 Формальный синтаксис шестнадцатиричного представления

7 Использование УУИд для образования ИДО

8 Использование УУИд для образования ЕИР

9 Правила сравнения и упорядочения УУИд

10 Валидация

11 Биты варианта

12 Использование полей УУИд и порядок передачи байтов

     12.1 Общие положения

     12.2 Версия

     12.3 Время

     12.4 Временная последовательность

     12.5 Узел

13 Установка полей в основанном на времени УУИд

14 Установка полей основанного на имени УУИд

15 Установка полей основанного на случайном числе УУИд

16 Регистрация УУИд и их использование в качестве компонентов ИДО

     16.1 Дерево ИДО АСН.1

     16.2 Назначение уполномоченных по регистрации

     16.3 Оплата

     16.4 Процедуры регистрации

     16.4.1 Заявление на регистрацию

     16.4.2 Процесс подтверждения

     16.4.3 Содержание заявления

     16.5 Сопровождение регистра в сети

Приложение А (справочное) Алгоритмы эффективного создания основанных на времени УУИд

Приложение В (справочное) Свойства основанного на имени УУИд

Приложение С (справочное) Генерация случайных чисел в системе

Приложение D (справочное) Пример реализации

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации (и действующим в этом качестве межгосударственным стандартам)

Библиография

 

32 страницы

Дата введения01.06.2012
Добавлен в базу01.09.2013
Актуализация01.01.2021

Этот ГОСТ находится в:

Организации:

07.09.2011УтвержденФедеральное агентство по техническому регулированию и метрологии256-ст
РазработанФГУП ГосНИИ ТЕСТ
ИзданСтандартинформ2012 г.

Information technology. Open systems interconnection. Procedures for the operation of OSI registration authoritiers. Part 8. Generation and registration of universally unique identifiers (UUIDs) and their use as ASN.1 object identifier components

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12
Стр. 13
стр. 13
Стр. 14
стр. 14
Стр. 15
стр. 15
Стр. 16
стр. 16
Стр. 17
стр. 17
Стр. 18
стр. 18
Стр. 19
стр. 19
Стр. 20
стр. 20
Стр. 21
стр. 21
Стр. 22
стр. 22
Стр. 23
стр. 23
Стр. 24
стр. 24
Стр. 25
стр. 25
Стр. 26
стр. 26
Стр. 27
стр. 27
Стр. 28
стр. 28
Стр. 29
стр. 29
Стр. 30
стр. 30

НАЦИОНАЛЬНЫЙ

СТАНДАРТ

РОССИЙСКОЙ

ФЕДЕРАЦИИ

ПО ТЕХНИЧЕСКОМУ РЕГУЛИРОВАНИЮ И МЕТРОЛОГИИ

ГОСТ Р исо/мэк

9834-8-

2011

Информационная технология

ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ. ПРОЦЕДУРЫ РАБОТЫ УПОЛНОМОЧЕННЫХ ПО РЕГИСТРАЦИИ ВОС

Часть 8

Создание, регистрация универсально уникальных идентификаторов (УУИд) и их использование в качестве компонентов идентификатора объекта АСН.1

ISO/IEC 9834-8:2005 Information technology — Open Systems Interconnection —

Procedures for the operation of OSI Registration Authorities —

Part 8: Generation and registration of Universally Unique Identifiers (UUIDs) and their use as ASN.1 Object Identifier components (IDT)

Издание официальное

Москва

Стандартинформ

2012


Предисловие

Цели и принципы стандартизации в Российской Федерации установлены Федеральным законом от 27 декабря 2002 г. № 184-ФЗ «О техническом регулировании», а правила применения национальных стандартов Российской Федерации — ГОСТ Р 1.0-2004 «Стандартизация в Российской Федерации. Основные положения»

Сведения о стандарте

1    ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием «Государственный научно-исследовательский и конструкторско-технологический институт «ТЕСТ» (ФГУП «ГосНИИ «ТЕСТ») на основе собственного аутентичного перевода на русский язык международного стандарта, указанного в пункте 4

2    ВНЕСЕН Техническим комитетом по стандартизации ТК 22 «Информационные технологии»

3    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 7 сентября 2011 г. № 256-ст

4    Настоящий стандарт идентичен международному стандарту ИСО/МЭК 9834-8:2005 «Информационная технология. Взаимосвязь открытых систем. Процедуры работы уполномоченных по регистрации ВОС. Часть 8. Создание, регистрация универсально уникальных идентификаторов (УУИд) и их использование в качестве компонентов идентификатора объекта АСН.1» (ISO/IEC 9834-8:2005 «Information technology — Open Systems Interconnection — Procedures for the operation of OSI Registration Authorities — Part 8: Generation and registration of Universally Unique Identifiers (UUIDs) and their use as ASN.1 Object Identifier components»).

Наименование настоящего стандарта изменено относительно наименования указанного международного стандарта для приведения в соответствие с ГОСТ Р 1.5-2004 (подраздел 3.5).

При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты Российской Федерации, сведения о которых приведены в дополнительном приложении ДА

5    ВВЕДЕН ВПЕРВЫЕ

Информация об изменениях к настоящему стандарту публикуется в ежегодно издаваемом информационном указателе «Национальные стандарты», а текст изменений и поправок — в ежемесячно издаваемых информационных указателях «Национальные стандарты». В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячно издаваемом информационном указателе «Национальные стандарты». Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет

© Стандартинформ, 2012

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Федерального агентства по техническому регулированию и метрологии

ГОСТ Р ИСО/МЭК 9834-8—2011

12.1.2 Положение полей УУИд в двоичном представлении показано на рисунке 1.

Октеты 15, 11, 7, 3 Октеты 14, 10, 6, 2 Октеты 13, 9, 5, 1 Октеты 12, 8, 4, 0

Первый

октет

(октет 15)

7 0

7 0

1 0 7 0

Последний октет (октет 0)

«Time Low»

«TimeMid»

«VersionAndTimeHigh»

«VariantAndClock

SeqHigh»

«ClockSeqLow»

«Node» (первые два октета)

«Node» (последние четыре октета)

Рисунок 1 — Положение полей УУИд в двоичном представлении

12.1.3 Рекомендуется, чтобы это двоичное представление использовалось при передаче с помощью средств коммуникации, когда 16 октетов двоичного представления передаются как непрерывный набор битов с первым октетом (октет 15), предшествующим последнему (октет 0).

Примечание 1 — Порядок битов в октете определяется спецификацией метода коммуникации.

Примечание 2 — Использование 16 последовательных октетов в указанном выше порядке для передачи УУИд, но спецификации протоколов могут использовать альтернативные способы передачи УУИд, включая фрагментацию или передачу только частей УУИд (таких, как части, входящие в значение времени).

12.2 Версия

12.2.1    Идентифицировано три альтернативных способа создания УУИд (основанный на времени, имени и случайном числе) и они различаются по четырем самым старшим битам поля «VersionAndTimeHigh» (биты с 7-го по 4-й октета 9 УУИд). УУИд, созданные с использованием этих разных способов, называются «разными версиями УУИд».

Примечание — Термин «разные версии УУИд» отчасти вводит в заблуждение, но используется как исторически сложившийся. Для форматов УУИд нет традиционного понятия «номер версии» в тех случаях, когда новые версии могут быть определены при пересмотре настоящего стандарта. Новые форматы УУИд, которые могут потребоваться в будущем, будут идентифицироваться различными значениями битов варианта.

12.2.2    Определенные в настоящее время «версии УУИд», использующие первые четыре бита поля «VersionAndTimeHigh» (биты с 7-го по 4-й октета 9 УУИд), приведены в таблице 3. В таблице 3 также присвоены целые значения «версии» для каждой комбинации битов.

Примечание — Значение версии 2 не используется для совместимости с исторически сложившимися определениями УУИд. Значения версий 0 и с 6-й до 15-й зарезервированы для последующего использования.

Таблица 3 — Определенные в настоящее время версии УУИд

Бит 7

Бит 6

Бит 5

Бит 4

Значение

версии

Описание

0

0

0

1

1

Основанная на времени версия, определенная в настоящем стандарте (см. раздел 13)

0

0

1

0

2

Зарезервировано для версии безопасности распределенной вычислительной среды (Distributed Computing Environment — DCE) со встроенными УУИд POSIX

0

0

1

1

3

Основанная на имени версия, определенная в настоящем стандарте (см. раздел 14)

0

1

0

0

4

Основанная на случайном числе версия, определенная в настоящем стандарте (см. раздел 15)

0

1

0

1

5

Основанная на имени версия, определенная в настоящем стандарте, с хешированием ХАБ-1 (см. раздел 14)

7

12.3 Время

12.3.1    Время должно быть 60-битовым значением.

Примечание — Термин «время» соответствует основанной на времени версии УУИд (версии 1), но используется также и для содержимого соответствующих значений в других версиях УУИд (версиях 3 и 4).

12.3.2    Для основанной на времени версии УУИд время должно отсчитываться в 100 наносе-кундных интервалах всемирного скоординированного времени (UTC), начиная от полуночи 15 октября 1582 г. (дата григорианской реформы христианского календаря).

Примечание 1 — До появления Всемирного бюро времени (Bureau International de ГНеиге) каждая минута содержала ровно 60 с. Затем, по мере необходимости, вводились дополнительные секунды, увеличивающие (или потенциально уменьшающие) число секунд в году.

Примечание2 — У переносимых систем могут быть проблемы с определением времени UTC, т. к. часто они замкнуты на локальное время своей домашней базы. При условии, что они непрерывно используют это локальное время или изменяют значение временной последовательности (см. 12.4), созданные ими УУИд будут оставаться уникальными.

Примечание 3 — Для систем, которые не имеют доступа к широковещательным сигналам времени, может использоваться местное время системных часов с добавлением разницы во времени при условии, что УУИд не создаются в период сезонного времени или изменения значения временной последовательности (см. 12.4).

12.3.3    Для основанной на имени версии УУИд время должно быть 60-битовым значением, построенным из глобально уникального имени, какопределено в разделе 14.

Примечание — Примерами глобально уникальных имен являются ИДО, ЕИР и отличающие имена справочника (см. [5]).

12.3.4    Для основанной на случайном числе версии УУИд время должно быть случайным или псевдослучайным 60-битовым значением, созданным какопределено в разделе 15.

12.4    Временная последовательность

12.4.1    Для основанной на времени версии УУИд временная последовательность используется с целью избежать дублирований, которые могут возникнуть, если устанавливается прошедшее значение времени или изменяется значение узла.

Примечание — Термин «временная последовательность» полностью соответствует основанной на времени версии УУИд, но используется также и для содержимого соответствующих значений в основанных на имени и на случайном числе версиях УУИд.

12.4.2    Если устанавливается прошедшее значение времени или оно могло быть установлено (например, пока система была выключена), то генератору УУИд не может быть известно, был ли уже сгенерирован УУИд со значением времени, большим, чем то значение времени, которое устанавливается. В такой ситуации должна быть изменена временная последовательность.

Примечание — Если известно предыдущее значение временной последовательности, то оно должно быть увеличено, иначе это значение должно быть установлено равным случайному или псевдослучайному значению криптографического качества.

12.4.3    Аналогично значение временной последовательности должно быть изменено, если изменилось значение узла (например, из-за того, что сетевая карта была перенесена на другую машину).

12.4.4    Временная последовательность должна быть первоначально (т. е. один раз за время жизни системы, создающей УУИд) проинициализирована случайным числом, полученным не на основе значения узла.

Примечание — Это делается для минимизации корреляции между системами, тем самым обеспечивая максимальную защиту от быстрого перемещения или переключения от системы к системе адресов КДС.

12.4.5    Для основанной на имени версии УУИд временная последовательность должна быть 14-битовым значением, построенным из имени, как определено в разделе 14.

12.4.6    Для основанной на случайном числе версии УУИд временная последовательность должна быть случайным или псевдослучайным 14-битовым значением, созданным так, как определено в разделе 15.

12.5 Узел

12.5.1 Для основанной на времени версии УУИд значение узла должно состоять из адреса КДС (см. ИСО/МЭК 8802-3), который обычно является адресом хоста некоторого сетевого интерфейса.

ГОСТ Р ИСО/МЭК 9834-8—2011

12.5.2    Для систем с кратными адресами КДС может использоваться любой доступный адрес, за исключением многоканального. Октет 5УУИд (первый октет поля «Node») должен быть установлен равным первому октету адреса КДС, который передается системой, соответствующей ИСО/МЭК 8802-3.

Примечание 1 — Этот октет содержит биты глобальный/локальный и одноканальный/многоканальный. Требуется, чтобы бит одноканальный/многоканальный был установлен как одноканальный для того, чтобы избежать конфликта с адресами, созданными в соответствии с 12.5.3.

Примечание 2 — От уполномоченного по регистрации адресов КДС можно получить блок адресов КДС (см. [4]).

12.5.3    Для систем без адреса КДС может быть использовано случайное или псевдослучайное число криптографического качества (см. приложение С). Для таких адресов должен быть установлен многоканальный бит.

Примечание — Этот алгоритм гарантирует, что сгенерированные адреса никогда не будут конфликтовать с адресами, полученными от сетевой карты, как определено в 12.5.2.

12.5.4    Для основанного на имени УУИд значение узла должно быть 48-битовым значением, построенным путем канонизации и хеширования из глобально уникального имени, какопределено в разделе 14.

12.5.5    Для основанного на случайном числе УУИд значение узла должно быть 48-битовым случайным или псевдослучайным значением, сгенерированным, как определено в разделе 15.

13    Установка полей в основанном на времени УУИд

Поля в основанном на времени УУИд должны быть установлены следующим образом:

-    определяют значения для основанных на UTC времени и временной последовательности, которые должны быть использованы вУУИд, какопределено в 12.3 и 12.4;

-    для целей настоящего алгоритма рассматривают время как 60-битовое целое без знака, а временную последовательность — как 14-битовое целое без знака. Биты в каждом значении считают от младшего бита, который считают нулевым;

-    устанавливают поле «TimeLow» равным 32 младшим битам (битам с 31-го по 0-й) времени в том же порядке значимости;

-    устанавливают поле «TimeMid» равным битам времени с 47-го по 32-й в том же порядке значимости;

-устанавливают 12 младших битов (биты с 11-го по 0-й) поля «VersionAndTimeHigh» равными битам времени с 59-го по 48-й в том же порядке значимости;

-    устанавливают четыре старших бита (биты с 15-гопо 12-й) поля «VersionAndTimeHigh» равными четырехбитовому номеру версии, определенному в 12.2;

-    устанавливают поле «ClockSeqLow» равным восьми младшим битам (битам с 7-го по 0-й) временной последовательности в том же порядке значимости;

-    устанавливают шесть младших битов (биты с 5-го по 0-й) поля «VariantAndClockSeqHigh» равными шести старшим битам (биты с 13-го по 8-й) временной последовательности в том же порядке значимости;

-    устанавливают два старших бита (биты 7 и 6) поля «VariantAndClockSeqHigh» равными 1 и 0 соответственно;

-    устанавливают поле узла равным 48-битовому адресу КДС в том же порядке значимости.

14    Установка полей основанного на имени УУИд

В настоящем разделе определены процедуры создания основанного на имени УУИд. В подразделе 14.1 определены общие процедуры для произвольной функциихеширования (см. ИСО/МЭК 10118-3). В подразделе 14.2 определено использование ОС5, а в 14.3 — ХАБ-1.

Примечание — Использование ОС5 ограничено случаями, требующими обратной совместимости с существующими УУИд, тогда как ХАБ-1 обеспечивает алгоритм хеширования с наименьшей вероятностью того, что одно и то же значение будет появляться при хешировании разных данных (см. раздел С.4, приложение С).

14.1 Поля основанного на имени УУИд должны быть установлены следующим образом:

-    выделяют УУИд для использования в качестве «идентификатора пространства имен» для всех УУИд, создаваемых из имен этого пространства.

9

Примечание — В разделе D.9 приложения D рекомендованы УУИд для применения в четырех обычно используемых пространствах имен;

-    преобразуют имя в каноническую последовательность октетов (какопределено стандартами или соглашениями для данного пространства имен);

-    вычисляют 16-октетное хеш-значение идентификатора пространства имен, сцепленного с именем, используя хеш-функцию, определенную в 14.2 или 14.3. Нумерация октетов в хеш-значении ведется от 0 до 15, какопределено в IETF RFC 1321 (для ОС5) или в FIPS PUB 180-2 для ХАБ-1;

-    устанавливают октеты с 3-го по 0-й поля «TimeLow» равными октетам с 3-го по 0-й хеш-значения;

-    устанавливают октеты 1 и 0 поля «TimeMid» равными октетам 5 и 4 хеш-значения;

-    устанавливают октеты 1 и 0 поля «VersionAndTimeHigh» равными октетам 7 и 6 хеш-значения;

-    устанавливают четыре самых старших бита (биты с 15-го по 12-й) поля «VersionAndTimeHigh» равными четырехбитному номеру версии в соответствии с 12.2, таблица 3 для использованной хеш-функции;

-    устанавливают поле «VariantAndClockSeqHigh» равным октету 8 хеш-значения;

-    устанавливают два самых старших бита (биты 7 и 6) поля «VariantAndClockSeqHigh» равными 1 и О соответственно;

-    устанавливают поле «ClockSeqLow» равным октету 9 хеш-значения;

-    устанавливают октеты с 5-го по 0-й поля «Node» равными октетам с 15-го по 10-й хеш-значения.

14.2    В настоящем подразделе определен основанный на имени УУИд, использующий ОС5 в качестве хеш-функции, однако ОС5 не должен использоваться для вновь создаваемых УУИд (см. раздел С.4 приложения С). Для хеш-функции ОС5 указанное в 14.1 хеш-значение является 16-октетным значением, определенным в IETF RFC 1321, с октетами от 0 до 15.

Примечание — Определение УУИд на основе ОС5 с соответствующим номером версии включено в настоящий стандарт только в целях обратной совместимости с более ранними спецификациями.

14.3    В настоящем подразделе определен основанный на имени УУИд, использующий ХАБ-1 в качестве хеш-функции. Для хеш-функции ХАБ-1 хеш-значение, указанное в 14.1, должно быть октетами с 0-го по 15-й 20-октетного значения, полученного из 160-битового значения цифрового сообщения, определенного в FIPS PUB 180-2. Октеты с 16-го по 19-й этого 20-октетного значения должны быть отброшены. 20-октетное значение должно быть получено из 160-битового значения цифрового сообщения FIPS PUB 180-2 путем помещения самого старшего бита 160-битового значения в самый старший бит первого октета (октета 0) 20-октетного значения, а самого младшего бита — в последний октет (октет 19) 20-октетного значения.

15    Установка полей основанного на случайном числе УУИд

15.1    Поля основанного на случайном числе УУИд должны быть установлены следующим образом:

-    устанавливают два самых старших бита (биты 7 и 6) поля «VariantAndClockSeqHigh» равными 1 и О соответственно;

-    устанавливают четыре самых старших бита (биты с 15-го по 12-й) поля «VersionAndTimeHigh» равными четырехбитному номеру версии, определенному в 12.2;

-    устанавливают остальные биты УУИд равными сгенерированному случайному (или псевдослучайному) значению.

Примечание — Псевдослучайные числа могут принимать одно и то же значение несколько раз. Настоятельно рекомендуется использовать случайные числа криптографического качества с целью уменьшить вероятность повторяющихся значений.

15.2    Руководство по генерации в системах случайных чисел приведено в приложении С.

16    Регистрация УУИд и их использование в качестве компонентов ИДО

16.1    Дерево ИДО АСН.1

Примечание — В настоящем подразделе приведена сводка основных положений Рекомендации МСЭ-Т Х.660 | ИСО/МЭК 9834-1.

16.1.1    В настоящем стандарте определены процедуры работы уполномоченных по регистрации УУИд. Эта регистрация позволяет также использовать УУИд в качестве дуг дерева ИДО ниже дуги {joint-iso-itu-t uuid(25)} (см. также раздел 7).

ГОСТ Р ИСО/МЭК 9834-8—2011

Примечание — УУИд могут быть использованы для идентификации дуг ниже указанной дут uuid(25) и без регистрации, но при этом нет гарантии, что идентификация таких дуг будет глобально недвусмысленной.

16.1.2    ИДО являются формой всемирно недвусмысленной идентификации, основанной на иерархической древовидной структуре и независимых иерархических уполномоченных по регистрации. Дерево ИДО имеет корень, дуги ниже этого корня, дуги каждой из этих дуг и т.д. на произвольную глубину. Дуги идентифицируются неотрицательными целыми значениями (см. 16.1.5), что обеспечивает недвусмысленную идентификацию дуг в пределах старшего узла. Дугам также могут быть присвоены имена (состоящие из одной или нескольких строчных или прописных букв, цифр и дефисов, начинающиеся со строчной буквы, не содержащие двух дефисов подряд и не заканчивающиеся дефисом), но они являются дополнительными к цифровым значениям и необязательными. Объект идентифицируется последовательностью значений для дуг (числовых или для начальных дуг также и именами) от корневого узла до объекта.

Примечание — Полное описание дерева ИДО см. в Рекомендации МСЭ-Т Х.6601 ИСО/МЭК 9834-1 и Рекомендации МСЭ-Т Х.680 | ИСО/МЭК 8824-1.

16.1.3    (Руководство) Важно отметить, что незарегистрированные УУИд могут быть использованы ниже той же дуги, что и зарегистрированные УУИд (см. 16.1.1). Таким образом, могут быть использованы идентичные значения для зарегистрированного и незарегистрированного УУИд (или для двух незарегистрированных УУИд), хотя вероятность этого очень мала. Вероятность возрастает, если УУИд генерируются из хеш-значений ОС5 или псевдослучайных чисел, а не из хеш-значений ХАБ-1 или случайных чисел криптографического качества. Это может вызвать путаницу для пользователей ИДО и спровоцировать злонамеренное использование подобных совпадений. Уполномоченный по регистрации УУИд отвечает за коллизии между зарегистрированными УУИд, но не за коллизии между зарегистрированными и незарегистрированными УУИд, т. к. он не управляет незарегистрированными УУИд. Если такая коллизия имеет место, то предпочтение отдается семантике, связанной с зарегистрированным УУИд; семантика, связанная с незарегистрированным УУИд, не должна использоваться. Таким образом, регистрация ИДО с УУИд не гарантирует того, что ИДО является более однозначным, чем его УУИд. Регистрация должна рассматриваться, главным образом, как способ опубликования УУИд и его семантики.

16.1.4    В машинном представлении ИДО можно подразумевать (в контексте данного машинного представления) идентификацию части пути от корневого узла до объекта в дереве ИДО. Таким образом, если известно, что ИДО сформирован так, как определено в разделе 7, то машинное представление может состоять из одного только значения УУИд.

16.1.5    Компоненты ИДО являются неограниченными неотрицательными целыми.

16.2 Назначение уполномоченных по регистрации

16.2.1    Организация регистрации в соответствии с требованиями настоящего стандарта входит в полномочия МСЭ-Т | ИСО/МЭК. Для этого МСЭ-Т | ИСО/МЭК назначает в соответствии со своими внутренними требованиями и правилами организацию, которая должна действовать какУР в соответствии с требованиями настоящего стандарта.

Примечани е — Для регистрации используется ЕРП http://www.itu.int/ITU-T/asn1/uuid.html (сайт МСЭ-Т проекта АСН.1).

16.2.2    Уполномоченный по регистрации не несет ответственности за какие-либо недостатки в работе по настоящим процедурам или действия, относящиеся кобязанностям, определенным в настоящем стандарте, за исключением того, чтоУР может быть освобожден от выполнения этих обязанностей соответствующими Исследовательской группой МСЭ-Т | Подкомитетом СТК 1 ИСО/МЭК без штрафных санкций. Уполномоченный по регистрации не несет ответственности за какое-либо использование незарегистрированных значений ИДО, являющихся теми же, что и зарегистрированные значения ИДО, т. к. он не контролирует использование таких значений (см. 16.1.3).

Примечание — Если соответствующие Исследовательская группа МСЭ-Т | Подкомитет СТК 1 ИСО/МЭК решат, что уполномоченный по регистрации отстраняется от своих обязанностей по тем или иным причинам, то ожидается, что регистрационная информация, поддерживаемая УР, будет доступна вновь назначенному УР.

16.3 Оплата

16.3.1 Организация, являющаяся УР, должна осуществлять эту деятельность на основе возмещения издержек. Структура оплаты должна быть такой, чтобы покрывать расходы на работу УР, публикацию регистрационной информации в сети, обеспечение уникальности запросов и исключение необоснованных и многократных запросов.

11

16.3.2    Размер оплаты должен определяться УР и подлежит одобрению соответствующими Исследовательской группой МСЭ-Т | Подкомитетом СТК1 ИСО/МЭК. Оплата может взиматься при:

a)    регистрации;

b)    справочном запросе;

c)    публикации в сети;

d)    запросе обновления.

16.3.3    Оплата не должна зависеть от страны создания заявления, не считая флуктуаций обменного курса.

16.4    Процедуры регистрации

В настоящем подразделе определены процедуры, которым нужно следовать при регистрации УУИд. Процедуры предназначены для обеспечения открытости и обязательности процесса работы УР.

16.4.1    Заявление на регистрацию

16.4.1.1    Организация направляет заявление на регистрацию УУИд непосредственно УР, заполняя форму на его веб-сайте. Содержание заявления определено в 16.4.3.

16.4.1.2    При успешном завершении процедур регистрации 128-битовое значение УУИд считается зарегистрированным как присвоенное представившей заявление организации и должно быть опубликовано.

16.4.2    Процесс подтверждения

Успешная регистрация подтверждается ответом на веб-сайте и публикацией в сети.

16.4.3    Содержание заявления

16.4.3.1    В настоящем подразделе определена информация, необходимая УР для проведения процесса регистрации.

Примечание — На момент публикации настоящего стандарта эта информация может быть предоставлена по электронной почте, телефону, в виде твердой копии или через регистрацию на веб-сайте.

16.4.3.2    Для регистрации необходима следующая информация:

a)    страна, в которой находится головной офис регистрирующей организации;

b)    название организации с регистрационной информацией страны, если регистрируется компания, благотворительная организация и т. д., или указанием отношения к известной международной организации;

c)    имя и должность, почтовый адрес, адрес электронной почты, номер телефона и факса для контактов в регистрирующей организации;

d)    информация в свободной форме о добропорядочности регистрирующей организации как средство для аудита и исключения подложных регистраций;

e)    (факультативно) ЕРП, через который можно получить доступ кдополнительной информации об использовании УУИд.

16.4.3.3    Содержание заявления на ИДО определено в Рекомендации МСЭ-Т Х.6601 ИСО/МЭК 9834-1, раздел 8.

16.5    Сопровождение регистра в сети

16.5.1    УР должен поддерживать веб-сайт со всеми регистрациями.

16.5.2    Информация об организациях, участвующих в регистрации, должна обновляться УР, если УР подробно приводит название компании или аналогичную информацию с соответствующей авторизацией изменений. Методы реализации должны быть определены УР и объявлены на сайте.

12

ГОСТ Р ИСО/МЭК 9834-8—2011

Приложение A (справочное)

Алгоритмы эффективного создания основанных на времени УУИд

В настоящем приложении описан алгоритм, который может быть использован для быстрого создания основанных на времени УУИд в компьютерной системе.

А.1 Основной алгоритм

А.1.1 Следующий алгоритм является простым, корректным, но неэффективным:

-    получают глобальную общесистемную блокировку;

-    из общесистемной совместно используемой стабильной памяти (например, из файла) считывают состояние генератора УУИд: значения времени, временной последовательности и узла, использованные при создании последнего УУИд;

-получают текущее время в виде 60-битового отсчета 100-наносекундных интервалов от 00:00:00.00, 15 октября 1582 г. в качестве значения времени;

-    получают текущее значение узла;

-    если состояние было недействительным (например, несуществующим или поврежденным) или сохраненное значение узла отличается от текущего, то генерируют случайное значение временной последовательности;

-    если состояние было действительным, но сохраненное значение времени больше текущего, то значение временной последовательности увеличивают;

-    записывают состояние (текущие значения времени, временной последовательности и узла) обратно в стабильную память;

-    освобождают глобальную блокировку;

-    формируют УУИд из текущих значений времени, временной последовательности и узла в соответствии с алгоритмом, описанным в разделе 13.

А.1.2 Если нет необходимости часто генерировать УУИд, то приведенный выше алгоритм может оказаться вполне адекватным. Однако при высоких требованиях к производительности проявляются следующие проблемы основного алгоритма:

-    чтение состояния из стабильной памяти каждый раз является неэффективным;

-    разрешение системных часов может не составлять 100 наносекунд;

-    запись состояния в стабильную память каждый раз является неэффективной;

-    совместное использование состояния через границы процессов может быть неэффективным.

А.1.3 Каждая из этих проблем может быть решена локальными улучшениями модульным способом в тех функциях, которые читают и записывают состояние и читают время. Эти проблемы также рассмотрены в последующих разделах настоящего приложения.

А.2 Чтение стабильной памяти

А.2.1 Состояние необходимо читать из стабильной памяти только один раз во время загрузки при условии, что оно будет прочитано в переменную, общесистемную, совместно используемую память (и будет обновляться при каждом обновлении стабильной памяти).

А.2.2 Если реализация не имеет какой-либо доступной стабильной памяти, то она всегда может считать, что значения являются недействительными. Такая реализация является менее желательной, т. к. повышает частоту создания новых временных последовательностей, что повышает вероятность появления дубликатов.

А.2.3 Если значение узла не может никогда измениться (например, сетевая карта неотделима от системы) или любые изменения приводят к новой установке временной последовательности к новому случайному значению, то вместо хранения этого значения в стабильной памяти допускается возвращать текущее значение узла.

А.З Разрешение системных часов

А.3.1 Значение времени генерируется из системного времени, разрешение которого может быть меньше, чем требуемое для времени разрешение.

А.3.2 Если нет необходимости в частой генерации УУИд, то время может быть просто системным временем, умноженным на число 100-наносекундных интервалов в интервале системного времени.

А.3.3 Если система перегружает генератор, запрашивая слишком много УУИд за один интервал системного времени, то услуга УУИд должна либо возвращать ошибку, либо приостановить генератор УУИд до захвата следующего системного времени.

А.3.4 Высокое разрешение значения времени может быть имитировано сохранением подсчета числа сгенерированных УУИд с одним и тем же значением системного времени и использованием его для построения низших битов значения времени. Подсчет должен вестись в диапазоне от нуля до числа 100-наносекундных интервалов в интервале системного времени.

13

Примечание — Если процессоры часто переполняют генератор УУИд, то системе могут быть выделены дополнительные адреса КДС, что позволит повысить скорость выделения УУИд, сделав для каждого значения времени потенциально доступными несколько УУИд.

А.4 Запись в стабильную память

Состояние не обязательно записывать в стабильную память при каждой генерации УУИд. Значение времени в стабильной памяти может периодически устанавливаться равным значению большему, чем любое использованное ранее в УУИд. До тех пор, пока сгенерированные УУИд имеют значение времени меньшее, чем это значение, а значения временной последовательности и узла остаются неизменными, необходимо обновлять только совместно используемую изменчивую копию состояния. Более того, если значение времени в стабильной памяти уходит вперед меньше, чем на типичное время перезагрузки системы, то авария системы не приведет к переустановке временной последовательности.

А.5 Совместное использование состояния процессами

Если слишком дорого получать доступ к совместно используемому состоянию при каждой генерации УУИд, то общесистемный генератор может быть реализован так, чтобы при каждом вызове выделял блок значений времени, а генераторы процессов могли бы выделять значения из этого блока до его исчерпания.

14

ГОСТ Р ИСО/МЭК 9834-8—2011

Приложение В (справочное)

Свойства основанного на имени УУИд

В.1 Основанный на имени УУИд предназначен для генерации УУИд из имени, полученного из некоторого пространства имен и уникального в этом пространстве. Понятия имени и пространства имен должны толковаться широко и не ограничиваться текстовыми именами. Методы или соглашения для выделения имен и обеспечения их уникальности в пространстве имен не относятся к области применения настоящего стандарта.

Примечание — Во избежание проблем с рекурсией основанные на имени УУИд не должны генерироваться из ИДО, заканчивающихся основанным на имени УУИд.

В.2 Основанные на имени УУИд, созданные в соответствии с разделом 14 при соответствующем выборе пространства имен, будут иметь следующие свойства:

-    УУИд, созданные в разное время из одного и того же имени в одном и том же пространстве имен, должны быть равны;

-    УУИд, созданные из двух разных имен в одном и том же пространстве имен, должны быть различными с весьма высокой вероятностью;

-    УУИд, созданные из одного и того же имени в двух разных пространствах имен, должны быть различными с весьма высокой вероятностью;

-    если два основанных на имени УУИд равны, то с весьма высокой вероятностью они были сгенерированы из одного и того же имени в одном и том же пространстве имен.

15

Приложение С (справочное)

Генерация случайных чисел в системе

С.1 Если система не имеет возможности генерировать случайные числа криптографического качества, то в большинстве систем обычно имеется достаточно большое число источников рандомизации, на основании которых можно генерировать такие числа. Эти источники являются специфическими для системы, но обычно включают в себя:

-    процент используемой памяти;

-    размер основной памяти в байтах;

-    количество свободной основной памяти в байтах;

-    размер файла страничного обмена или свопинга в байтах;

-    свободные байты файла страничного обмена или свопинга;

-    общий размер пользовательского виртуального адресного пространства в байтах;

-    общее число доступных байтов пользовательского адресного пространства;

-    размер загрузочного диска в байтах;

-    свободное дисковое пространство на загрузочном диске в байтах;

-    текущее время;

-    количество времени с перезагрузки системы;

-    индивидуальные размеры файлов в различных справочниках системы;

-    время создания, последнего чтения и модификации файлов в различных справочниках системы;

-    факторы инициализации различных ресурсов системы;

-    текущее положение курсора мыши;

-    текущее положение каретки;

-    текущее число выполняемых процессов, связок;

-    обработчика или ID окна стола и активного окна;

-    значение указателя стека вызова;

-    идентификатор процесса и связки вызова;

-    различные специфические для архитектуры процессора счетчики выполнения (выполняемые инструкции, потери кеша, буфер TLB или его потери).

С.2 Кроме того, такие элементы, как имя компьютера и операционной системы, хотя и не являются очень случайными, но помогают дифференцировать результаты от полученных в других системах.

С.З Точный механизм генерации значения узла является специфичным для системы, т. к. доступные данные и функции для их получения часто бывают очень специфичными для системы. Однако общий подход состоит в сборе данных из как можно большего числа источников в буфер, использовании обработки сообщений такой, например, какХАБ-1, выборе произвольных шести октетов из хеш-значения и установке биты многоканальности так, как описано выше.

С.4 Могут быть использованы и другие хеш-функции, такие как ОС5 и хеш-функция, определенная в ИСО/МЭК 10118. Единственное требование состоит в том, чтобы результат был пригодно случайным (в том смысле, что выходы от набора однородно распределенных входов сами были однородно распределенными) и можно ожидать, что изменение одного бита на входе вызовет изменение половины битов на выходе (однако использовать ОС5 для новых УУИд не рекомендуется, т. к. последние исследования показали, что выходные значения не являются однородно распределенными).

16

ГОСТ Р ИСО/МЭК 9834-8—2011

Содержание

1    Область применения...................................................1

2    Нормативные ссылки..................................................1

2.1    Идентичные рекомендации | международные стандарты.........................1

2.2    Другие нормативные ссылки...........................................2

3    Термины и определения................................................2

3.1    Нотация АСН.1....................................................2

3.2    Уполномоченные по регистрации........................................2

3.3    Термины сети....................................................2

3.4    Дополнительные термины и определения...................................2

4    Сокращения........................................................3

5    Обозначения........................................................3

6    Структура и представление УУИд...........................................3

6.1    Структура полей УУИд...............................................3

6.2    Двоичное представление.............................................4

6.3    Представление в виде единственного целого значения..........................4

6.4    Шестнадцатиричное представление......................................4

6.5    Формальный синтаксис шестнадцатиричного представления......................4

7    Использование УУИд для образования ИДО....................................5

8    Использование УУИд для образования ЕИР....................................5

9    Правила сравнения и упорядочения УУИд.....................................5

10    Валидация........................................................6

11    Биты варианта......................................................6

12    Использование полей УУИд и порядок передачи байтов............................6

12.1    Общие положения.................................................6

12.2    Версия........................................................7

12.3    Время.........................................................8

12.4    Временная последовательность........................................8

12.5    Узел..........................................................8

13    Установка полей в основанном на времени УУИд................................9

14    Установка полей основанного на имени УУИд..................................9

15    Установка полей основанного на случайном числе УУИд..........................10

16    Регистрация УУИд и их использование в качестве компонентов ИДО...................10

16.1    Дерево ИДО АСН.1................................................10

16.2    Назначение уполномоченных по регистрации...............................11

16.3    Оплата.......................................................11

16.4    Процедуры регистрации............................................12

16.4.1    Заявление на регистрацию......................................12

16.4.2    Процесс подтверждения.......................................12

III

ГОСТ Р ИСО/МЭК 9834-8—2011

Приложение D (справочное)

Пример реализации

D.1 Описание файлов

Данная реализация состоит из шести файлов: copyrt.h, uuid.h, uuid.c, sysdep.h, sysdep.cn utest.c. Файлы uuid.* являются системно независимой реализацией алгоритмов генерации УУИд, описанных в разделах 13, 14 и 15, со всеми оптимизациями, описанными в приложении А (за исключением эффективного состояния, совместно используемого процессами). Код подразумевает поддержку 64-битового целого, что делает его более ясным.

Примечание — Код был протестирован в системах Linux (Red Hat 4.0) с GCC (2.7.2) и Windows NT 4.0 c VC + + 5.0.

D.2 Файл copyrt.h

Все последующие исходные файлы должны рассматриваться как имеющие следующее заявление об авторских правах:

/*

** Copyright (с) 1990 — 1993,1996 Open Software Foundation, Inc.

** Copyright (с) 1989 by Hewlett-Packard Company, Palo Alto, Ca. &

** Digital Equipment Corporation, Maynard, Mass.

** Copyright (с) 1998 Microsoft.

** To anyone who acknowledges that this file is provided "AS IS"

** without any express or implied warranty: permission to use, copy,

** modify, and distribute this file for any purpose is hereby ** granted without fee, provided that the above copyright notices and ** this notice appears in all source code copies, and that none of ** the names of Open Software Foundation, Inc., Hewlett-Packard ** Company, or Digital Equipment Corporation be used in advertising ** or publicity pertaining to distribution of the software without ** specific, written prior permission. Neither Open Software ** Foundation, Inc., Hewlett-Packard Company, Microsoft, nor Digital ** Equipment Corporation makes any representations about the “suitability

** of this software for any purpose.

*/

D.3 Файл uuid.h

#include "copyrt.h"

#undef uuid_t typedef struct {

unsigned32 timejow; unsigned16 timemid; unsigned16 timehiandversion; unsigned8 clockseqhiandreserved; unsigned8 clockseqlow; byte node[6];

} uuid_t;

/* uuid_create — сгенерировать УУИд */ int uuid_create(uuid_t * uuid);

/* uuid_create_from_name — создать УУИд, используя "имя" из "пространства имен" */ void uuid_create_from_name(

uuid_t *uuid, /* результирующий УУИд */

uuid_t nsid, /* УУИд пространства имен */

void ‘name, /* имя, из которого генерируется УУИд */

intnamelen /‘длина имени */

17

ГОСТ Р ИСО/МЭК 9834-8—2011

16.4.3 Содержание заявления........................................12

16.5 Сопровождение регистра в сети.......................................12

Приложение А (справочное) Алгоритмы эффективного создания основанных на времени УУИд ... 13

Приложение В (справочное) Свойства основанного на имени УУИд.....................15

Приложение С (справочное) Генерация случайных чисел в системе.....................16

Приложение D (справочное) Пример реализации.................................17

Приложение ДА (справочное) Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации (и действующим

в этом качестве межгосударственным стандартам).....................27

Библиография........................................................28

IV

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационная технология
ВЗАИМОСВЯЗЬ ОТКРЫТЫХ СИСТЕМ.
ПРОЦЕДУРЫ РАБОТЫ УПОЛНОМОЧЕННЫХ ПО РЕГИСТРАЦИИ ВОС

Часть 8

Создание, регистрация универсально уникальных идентификаторов (УУИд) и их использование в качестве компонентов идентификатора объекта АСН.1

Information technology. Open systems interconnection. Procedures for the operation of OSI registration authorities. Part 8. Generation and registration of universally unique identifiers (UUIDs)and their use as ASN.1 object identifier

components

Дата введения — 2012—06—01

1    Область применения

Настоящий стандарт устанавливает формат и правила создания, позволяющие пользователям образовывать 128-битные идентификаторы, которые являются либо гарантированно глобально уникальными, либо глобально уникальными с высокой вероятностью.

Универсально уникальные идентификаторы (УУИд), созданные в соответствии с требованиями настоящего стандарта, пригодны для временного использования с созданием УУИд каждые 100 наносекунд или в качестве постоянных идентификаторов.

Настоящий стандарт разработан на основе более ранних нестандартизированныхУУИд и методов их создания и технически идентичен этим ранним спецификациям.

Настоящий стандарт устанавливает основанные на сетевых технологиях процедуры работы уполномоченных по регистрации УУИд.

Настоящий стандарт также устанавливает и допускает использование УУИд (зарегистрированных или незарегистрированных) в качестве компонентов ИДО ниже дуги {joint-iso-itu-t uuid(25)}, что позволяет пользователям создавать ИДО без каких-либо процедур регистрации.

Настоящий стандарт также устанавливает и допускает использование УУИд (зарегистрированных или незарегистрированных) для создания ЕИР.

2    Нормативные ссылки

В настоящем стандарте использованы нормативные ссылки на следующие международные стандарты:

2.1 Идентичные рекомендации | международные стандарты

Рекомендация МСЭ-Т Х.660 (2004) | ИСО/МЭК 9834-1:2004 Информационная технология. Взаимосвязь открытых систем. Процедуры работы полномочных органов регистрации ВОС. Часть 1. Общие процедуры

Рекомендация МСЭ-Т Х.680 (2002) | ИСО/МЭК 8824-1:2002 Информационная технология. Абстрактная синтаксическая нотация версии один (АСН.1). Часть 1. Спецификация основной нотации

Издание официальное

2.2 Другие нормативные ссылки

ИСО/МЭК 8802-3:2000 Информационная технология. Телекоммуникации и информационный обмен между системами. Локальные и городские сети. Специфические требования. Часть 3: Метод многостанционного доступа с обнаружением несущей и предотвращением конфликтов (CSMA/CD) и спецификации физического уровня

ИСО/МЭК 10118-3:2004 Информационная технология. Методы безопасности. Функциихэширова-ния. Часть 3. Специальные функции хэширования

ИСО/МЭК 10646:2003 Информационная технология. Универсальный многооктетный набор кодовых символов (UCS)

FIPS PUB 180-2:2002 Федеральный стандарт обработки информации. Стандарт безопасной хэш-функции (SHS)

IETF RFC 1321 (1992) Алгоритм обработки сообщений MD5

IETFRFC2141 (1997) Синтаксис URN

3 Термины и определения

В настоящем стандарте применены следующие термины с соответствующими определениями.

3.1    Нотация АСН.1

В настоящем стандарте применены следующие термины, определенные в Рекомендации МСЭ-ТХ.680 | ИСО/МЭК 8824-1:

a)    всемирное скоординированное время (Coordinated Universal Time — UTC);

b)    идентификатор объекта (АСН.1).

3.2    Уполномоченные по регистрации

В настоящем стандарте применены следующие термины, определенные в Рекомендации МСЭ-ТХ.660 | ИСО/МЭК 9834-1:

a)    дерево идентификаторов объектов (или дерево ИДО);

b)    регистрация;

c)    уполномоченный по регистрации;

d)    процедуры регистрации.

3.3    Термины сети

В настоящем стандарте применен следующий термин, определенный в ИСО/МЭК 8802-3:

а) адрес КДС.

3.4    Дополнительные термины и определения

3.4.1    случайное число криптографического качества (cryptographicquality random-number): Случайное или псевдослучайное число, созданное способом, который гарантирует достаточно протяженный диапазон повторно сгенерированных значений для того, чтобы способ был приемлемым для использования в криптографических целях (и используется в этих целях).

3.4.2    версия, основанная на имени (name-based version): УУИд, созданный с использованием криптографического хеширования имени пространства имен и имени в этом пространстве имен.

3.4.3    пространство имен (name space): Система для создания имен объектов, которая гарантирует недвусмысленную идентификацию в пределах этого пространства имен.

Примечание — Примерами пространств имен являются система имен области сети, ЕИР, ИДО, отличающие имена справочника (см. [5]) и зарезервированные слова в языках программирования.

3.4.4    версия, основанная на случайном числе (random-number-based version): УУИд, созданный с использованием случайного или псевдослучайного числа.

3.4.5    стандартный вариант УУИд (standard UUID variant): Вариант возможного формата УУИд, установленный настоящим стандартом.

Примечание — Ранее существовали другие спецификации форматов УУИд, отличные от варианта, установленного в настоящем стандарте. УУИд, созданные в соответствии с этими вариантами форматов, являются различными.

3.4.6    версия, основанная на времени (time-based version): УУИд, в котором уникальность достигается использованием адреса КДС для идентификации системы, а значение времени основано на текущем времени UTC.

2

ГОСТ Р ИСО/МЭК 9834-8—2011

3.4.7 универсально уникальный идентификатор; УУИд (Universally Unique Identifier; UUID): 128-битовое значение, созданное в соответствии с требованиями настоящего стандарта или в соответствии с одной из ранних спецификаций и являющееся уникальным в различных системах и во времени (см. также 3.4.5).

4    Сокращения

В настоящем стандарте применены следующие сокращения:

АСН.1 — абстрактная синтаксическая нотация версии 1;

ГУИД — глобально уникальный идентификатор;

ЕИР (URN) — универсальное имя ресурса (Uniform Resource Name);

ИДО — идентификатор объекта АСН.1;

КДС — контроль доступа к среде;

ОС5 — алгоритм 5 обработки сообщений;

УР — уполномоченный по регистрации;

УПР (URL) — универсальное положение ресурса (Uniform Resource Locator);

УУИд (UUID) — универсально-уникальный идентификатор (Universally Unique Identifier);

ХАБ-1 — хеш-алгоритм безопасности 1;

IEEE — Institute of Electrical and Electronics Engineers, Inc. — Институт инженеров-электриков и электронщиков;

UTC — Coordinated Universal Time — всемирное скоординированное время.

5    Обозначения

5.1    В настоящем стандарте установлена последовательность октетов для УУИд в терминах первого и последнего октетов. Первый октет также называется «октет 15», а последний — «октет 0».

5.2    Биты внутри УУИд также пронумерованы от «бит 127» до «бит 0», где бит 127 — старший бит октета 15, а бит 0 — младший бит октета 0.

5.3    На рисунках и в таблицах, представленных в настоящем стандарте, старший октет (и старший бит) помещается слева, что соответствует порядку передачи октетов, при котором самый левый октет передается первым.

5.4    Числовые значения, использованные в настоящем стандарте, выражены как целые без знака заданной длины в битах (например, N). Биты в N-битовом целом без знака значения нумеруются от «бит N-1» до «бит 0», где бит N-1 — старший, а бит 0 — младший.

5.5    Эти обозначения используются исключительно для целей настоящей спецификации. Представление в памяти компьютера не стандартизируется и зависит от системной архитектуры.

6    Структура и представление УУИд

6.1    Структура полей УУИд

6.1.1    УУИд определен какупорядоченная последовательность из шести полей. УУИд определен в терминах сцепления этих полей УУИд. Поля УУИд называются следующим образом:

a)    поле «TimeLow»;

b)    поле «TimeMid»;

c)    поле «VersionAndTimeHigh»;

d)    поле «VariantAndClockSeqHigh»;

e)    поле «ClockSeqLow»;

f)    поле «Node».

6.1.2    По определению поля УУИд имеют старшинство в перечисленном выше порядке, где «TimeLow» является самым старшим полем (бит 31 поля «TimeLow» является битом 127 УУИд), а «Node» — самым младшим (бит 0 поля «Node» является битом 0 УУИд).

6.1.3    Содержимое этих полей УУИд определено в терминах целых без знака значений версии, варианта, времени, временной последовательности и узла (фиксированной длины в битах каждое). Установка этих значений представлена в разделе 12, а их отображение в указанные выше поля УУИд —в 12.1.

3

Примечание — В качестве частей имен некоторые из полей УУИд (например, TimeLow, TimeMid и TimeHigh) подразумевают, что последовательный порядок битов в УУИд (от бита 127 до бита 0), полученный из частичного значения целого без знака (например, от бита 59 до бита 0 значения времени Time), не является тем же, что и последовательный порядок битов в этом целом без знака значения. Такой порядок установился исторически.

6.2 Двоичное представление

6.2.1    УУИд должен быть представлен в виде двоичного значения из 16 октетов, образованного сцеплением в один или несколько октетов, закодированных целыми без знака значениями фиксированной длины каждого из его полей. Для каждого поля должно использоваться следующее число октетов:

a)    поле «TimeLow» — четыре октета;

b)    поле «TimeMid» — два октета;

c)    поле «VersionAndTimeHigh» — два октета;

d)    поле «VariantAndClockSeqHigh» — один октет;

e)    поле «ClockSeqLow» — один октет;

f)    поле «Node» — шесть октетов.

Примечание — Такой порядок полей УУИд является обычным представлением в компьютерных системах и шестнадцатиричном текстовом представлении (см. 6.4).

6.2.2    Старший значащий бит целого без знака каждого поля УУИд должен быть старшим битом его первого октета (октета N — самого старшего октета), а младший бит целого без знака кодирования должен быть младшим битом последнего октета (октета 0 — самым младшим битом).

6.2.3    Поля УУИд должны быть сцеплены в порядке старшинства (см. 6.1.2), где самое старшее поле является первым, а самое младшее — последним.

6.3    Представление в виде единственного целого значения

УУИд может быть представлен в виде единственного целого значения. Для получения единственного целого значения УУИд 16 октетов двоичного представления следует трактовать какцелое беззнака кодирование, в котором самым старшим битом целого кодирования является самый старший бит (бит 7) первого из 16 октетов (октета 15), а самым младшим битом — самый младший бит (бит 0) последнего из 16 октетов (октет 0).

Примечание — Единственное целое значение используется тогда, когда УУИд образует часть ИДО, как определено в разделе 7.

6.4    Шестнадцатиричное представление

В шестнадцатиричном формате октеты двоичного формата должны быть представлены в виде строки шестнадцатиричных цифр, с использованием двух шестнадцатиричных цифр на каждый октет двоичного формата, первая из которых является значением четырех старших битов октета 15, вторая — четырех младших битов октета 15 и такдалее до последней цифры, которая является значением младших битов октета 0 (см. 6.5). Между шестнадцатиричными представлениями каждой пары смежных полей должен быть вставлен символ HYPHEN-MINUS (45) (см. ИСО/МЭК 10646), за исключением полей «VariantAndClockSeqHigh» и «ClockSeqLow» (см. пример в разделе 8).

6.5    Формальный синтаксис шестнадцатиричного представления

6.5.1    Формальная спецификация синтаксиса шестнадцатиричного представления УУИд дана с помощью расширенной нотации БНФ, определенной в Рекомендации МСЭ-Т Х.680 | ИСО/МЭК 8824-1, раздел 5, за исключением того, что отсутствуют пробелы между лексическими единицами.

6.5.2    В спецификации БНФ используется лексическая единица «hexdigit» и определена следующим образом:

Название лексической единицы — hexdigit.

Лексическая единица «hexdigit» должна состоять из одного из следующих символов:

ABCDEFabcdefOl23456789

6.5.3    Шестнадцатиричное представление УУИд должно быть следующей продукцией «UUID»:

UUID ::=

TimeLow

"-"TimeMid

"-" VersionAndTimeHigh "-" VariantAndClockSeqHigh ClockSeqLow "-" Node TimeLow ::=

4

ГОСТ Р ИСО/МЭК 9834-8—2011

HexOctet HexOctet HexOctet HexOctet TimeMid ::=

HexOctet HexOctet VersionAndTimeHigh ::=

HexOctet HexOctet VariantAndClockSeqHigh ::=

HexOctet ClockSeqLow ::=

HexOctet Node ::=

HexOctet HexOctet HexOctet HexOctet HexOctet HexOctet HexOctet ::=

hexdigit hexdigit

6.5.4 Программное обеспечение, создающее шестнадцатиричное представление УУИд, не должно использовать (прописные) буквы верхнего регистра.

Примечание — Рекомендуется, чтобы шестнадцатиричное представление, используемое в любых человекочитаемых форматах, было ограничено строчными буквами. Однако программное обеспечение, обрабатывающее это представление, обязательно должно принимать какстрочные, таки прописные буквы, какопределено в 6.5.2.

7    Использование УУИд для образования ИДО

ИДО, образованный с использованием УУИд, должен иметь вид:

{joint-iso-itu-t uuid(25) <uuid-single-integer-value>} где <uuid-single-integer-value> — единственное целое значение УУИд, определенное в 6.3.

Примечан ие — Подробности использования УУИд для образования ИДО приведены в разделе 16, а в

16.1.3 приведено руководство по обеспечению уникальности ИДО, созданных таким методом.

8    Использование УУИд для образования ЕИР

ЕИР (см. IETF RFC 2141), образованное с использованием УУИд, должно быть строкой, состоящей из «urn:uuid:» с последующим шестнадцатиричным представлением УУИд, определенным в 6.4.

Пример — Примером строки, представляющей собой УУИд в качестве ЕИР, является urn:uuid:f81 d4fae-7dec-11 d0-a765-00a0c91 e6bf6

Примечание — Существует альтернативный формат ЕИР (см. [6]), но он не рекомендуется для ЕИР, созданных с использованием УУИд. В этом альтернативном формате используется единственное целое значение УУИд, определенное в 6.3, и приведенный выше пример выглядит как «urn:oid:2.25.329800735698586629295641978511506172918».

9    Правила сравнения и упорядочения УУИд

9.1    Для сравнения двух УУИд значения соответствующих полей (см. 6.1) каждого УУИд сравниваются в порядке старшинства (см. 6.1.2). Два УУИд эквивалентны тогда и только тогда, когда эквивалентны все соответствующие поля.

Примечание 1 — Этот алгоритм сравнения двух УУИд эквивалентен сравнению значений представлений в виде единственного целого, определенного в 6.3.

Примечание 2 — В этом сравнении используются физические поля, определенные в 6.1.1, а не значения, перечисленные в 6.1.3 и определенные в разделе 12 (время, временная последовательность, вариант, версия и узел).

9.2    УУИд считается больше другого УУИд, если имеет большее значение самого старшего поля, которым эти два УУИд различаются.

9.3    При лексикографическом упорядочении шестнадцатиричных представлений УУИд (см. 6.4) больший УУИд должен следовать за меньшим УУИд.

5

10    Валидация

Кроме определения того, корректно ли установлены биты варианта и не относится ли к будущему значение времени, использованное в основанном на времени УУИд (и которое, следовательно, еще не могло быть использовано), отсутствуют способы определения валидности УУИд в каком-либо реальном смысле, и могут встретиться все возможные значения УУИд.

11    Биты варианта

11.1    Биты варианта являются тремя самыми старшими битами (биты 7, 6 и 5) октета 7, который, в свою очередь, является самым старшим октетом поля «VariantAndClockSeqHigh».

11.2    Все УУИд, соответствующие требованиям настоящего стандарта, должны иметь следующие биты варианта: бит 7 октета 7 равен 1, бит 6 октета 7 равен 0. Бит 5 октета 7 является самым старшим битом временной последовательности и должен быть установлен в соответствии с 12.4.

Примечание — Бит 5 приведен здесь как бит варианта потому, что его значением различаются исторически сложившиеся форматы. Строго говоря, он не является частью значения варианта по настоящему стандарту, в котором для варианта используются только два бита.

11.3    Информация об использовании других значений битов варианта приведена в таблице 1.

Таблица 1 — Использование битов варианта

Бит 7

Бит 6

Бит 5

Описание

0

Зарезервировано для обеспечения обратной совместимости с компанией NCS

1

0

Вариант, определенный в настоящем стандарте

1

1

0

Зарезервировано для обеспечения обратной совместимости с компанией Microsoft

1

1

1

Зарезервировано для последующего использования в настоящем стандарте

12 Использование полей УУИд и порядок передачи байтов

12.1    Общие положения

12.1.1    Положения и краткое описание назначения полей УУИд в двоичном представлении приведены в таблице 2.

Таблица 2 — Положения и назначение полей УУИд

Поле

Номера октетов в УУИд

Описание

«TimeLow»

15—12

Младшие биты значения времени (32 бита)

«TimeMid»

11—10

Средние биты значения времени (16 битов)

«VersionAndTimeHigh»

9—8

Версия (4 бита) с последующими старшими битами значения времени (12 битов)

«VariantAndClockSeqHigh»

7

Биты варианта (2 бита) с последующими старшими битами временной последовательности (6 битов)

«ClockSeqLow»

6

Младшие биты временнбй последовательности (8 битов)

«Node»

5—0

Узел (см. 12.5) (48 битов)