---
title: "\"ГОСТ ISO/IEC 24824-3-2013. Межгосударственный стандарт. Информационные технологии. Общие правила применения ASN.1. Безопасность быстрых сетевых услуг. Часть 3\""
number: "ГОСТ ISO/IEC 24824-3-2013"
issuer: "Федеральное агентство по техническому регулированию и метрологии"
status: действует
canonical: "https://bukva.ai/docs/standart-gost-isoiec-24824-3-2013"
---

## "ГОСТ ISO/IEC 24824-3-2013. Межгосударственный стандарт. Информационные технологии. Общие правила применения ASN.1. Безопасность быстрых сетевых услуг. Часть 3"

# "ГОСТ ISO/IEC 24824-3-2013. Межгосударственный стандарт. Информационные технологии. Общие правила применения ASN.1. Безопасность быстрых сетевых услуг. Часть 3"

(введен в действие Приказом Росстандарта от 11.06.2014 N 567-ст)

> [!IMPORTANT]
> Документ [введен](#p100011) в действие с 01.09.2015.


<a id="p100001"></a>Введен в действие
Приказом Федерального

<div align="right">

агентства по техническому<br>
регулированию и метрологии<br>
от 11 июня 2014 г. N 567-ст

<a id="p100002"></a>МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ

</div>


<div align="center">

<a id="p100003"></a>**ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ**

<a id="p100004"></a>**ОБЩИЕ ПРАВИЛА ПРИМЕНЕНИЯ ASN.1**

<a id="p100005"></a>**БЕЗОПАСНОСТЬ БЫСТРЫХ СЕТЕВЫХ УСЛУГ**

<a id="p100006"></a>**ЧАСТЬ 3**

<a id="p100007"></a>**Information technology. Generic applications of ASN.1.**<br>
**Fast infoset security. Part 3**

<a id="p100008"></a>**(ISO/IEC 24824-3:2008, IDT)**

<a id="p100009"></a>**ГОСТ ISO/IEC 24824-3-2013**

<a id="p100010"></a>**МКС 35.100.60**

</div>


<a id="p100011"></a>Дата введения

<div align="right">

1 сентября 2015 года

</div>



### <a id="p100012"></a>Предисловие


<a id="p100013"></a>Цели, основные принципы и основной порядок проведения работ по межгосударственной стандартизации установлены в [ГОСТ 1.0-2015](https://bukva.ai/docs/gost-1-0-2015) "Межгосударственная система стандартизации. Основные положения" и ГОСТ 1.2-2015 "Межгосударственная система стандартизации. Стандарты межгосударственные, правила и рекомендации по межгосударственной стандартизации. Правила разработки, принятия, обновления и отмены"


### <a id="p100014"></a>Сведения о стандарте


<a id="p100015"></a>1 ПОДГОТОВЛЕН Федеральным государственным унитарным предприятием "Государственный научно-исследовательский и конструкторско-технологический институт "ТЕСТ" (ФГУП ГосНИИ "ТЕСТ") на основе собственного перевода на русский язык англоязычной версии стандарта, указанного в [пункте 5](#p100032)
<a id="p100016"></a>2 ВНЕСЕН Федеральным агентством по техническому регулированию и метрологии
<a id="p100017"></a>**3 ПРИНЯТ Межгосударственным советом по стандартизации, метрологии и сертификации (протокол от 14 ноября 2013 г. N 44)**
<a id="p100018"></a>**За принятие проголосовали:**


| <a id="p100019"></a>Краткое наименование страны по МК (ИСО 3166) 004-97 | <a id="p100020"></a>Код страны по МК (ИСО 3166) 004-97 | <a id="p100021"></a>Сокращенное наименование национального органа по стандартизации |
| --- | --- | --- |
| <a id="p100022"></a>Армения | <a id="p100023"></a>AM | <a id="p100024"></a>Минэкономики Республики Армения |
| <a id="p100025"></a>Киргизия | <a id="p100026"></a>KG | <a id="p100027"></a>Кыргызстандарт |
| <a id="p100028"></a>Россия | <a id="p100029"></a>RU | <a id="p100030"></a>Росстандарт |


<a id="p100031"></a>4 Приказом Федерального агентства по техническому регулированию и метрологии от 11 июня 2014 г. N 567-ст межгосударственный стандарт ГОСТ ISO/IEC 24824-3-2013 введен в действие в качестве национального стандарта Российской Федерации с 1 сентября 2015 г.
<a id="p100032"></a>5 Настоящий стандарт идентичен международному стандарту ISO/IEC 24824-3:2008 "Информационные технологии. Общие правила применения ASN.1. Безопасность быстрых сетевых услуг. Часть 3" ("Information technology - Generic applications of ASN.1: Fast infoset security. Part 3", IDT).
<a id="p100033"></a>При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им межгосударственные стандарты, сведения о которых приведены в дополнительном [приложении ДА](#p100282)
<a id="p100034"></a>6 ВВЕДЕН ВПЕРВЫЕ
<a id="p100035"></a>7 ПЕРЕИЗДАНИЕ. Октябрь 2018 г.

<a id="p100036"></a>Информация об изменениях к настоящему стандарту публикуется в ежегодном информационном указателе "Национальные стандарты", а текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ежемесячном информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)


### <a id="p100037"></a>1 Область применения


<a id="p100038"></a>В настоящем стандарте определены четыре канонических алгоритма быстрого инфо-набора, которые могут быть использованы в применении W3C XML-подписи, а также предоставлены URI для этих алгоритмов.
<a id="p100039"></a>В настоящем стандарте также определены расширения уровня приложения к правилам обработки W3C XML шифрования для шифрования части XML инфо-набора (см. [8.1](#p100132)), сериализированного как документ быстрого инфо-набора, и дешифрования зашифрованной части (см. [8.3](#p100163)), сериализированной как документ быстрого инфо-набора.
<a id="p100040"></a>В настоящем стандарте не рассматривается использование любых получившихся элементов информации W3C XML-подписи или элементов информации W3C XML шифрования.


### <a id="p100041"></a>2 Нормативные ссылки


<a id="p100042"></a>Для применения настоящего стандарта необходимы следующие ссылочные документы. Для датированных ссылок применяют только указанное издание ссылочного документа, для недатированных - последнее издание ссылочного документа (включая все изменения к нему).


#### <a id="p100043"></a>2.1 Идентичные рекомендации и международные стандарты


- <a id="p100044"></a>ITU-T Recommendation X.891 (2005)|ISO/IEC 24824-1:2007, Information technology - Generic applications of ASN.1: Fast infoset (Рекомендация МСЭ-Т X.891 (2005)|ISO/IEC 24824-1:2007 Информационные технологии. Общие правила применения ASN.1. Быстрые команды)


#### <a id="p100045"></a>2.2 Дополнительные ссылки


- <a id="p100046"></a>ISO/IEC 10646:2003 [<1>](#p100048) Information technology - Universal Multiple-Octet Coded Character Set (UCS) (ISO/IEC 10646:2003 Информационные технологии. Универсальный многооктетный набор кодированных символов (UCS))

<a id="p100047"></a>

---

<a id="p100048"></a><1> Заменен на ISO/IEC 10646:2017.

- <a id="p100049"></a>W3C Canonical XML:2001, W3C Canonical XML Version 1.0, W3C Recommendation, Copyright ![формула](https://i.bukva.ai/H4IXjRHp/img_0.png) [15 March 2001] World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2001/REC-xml-c14n-20010315 (Канонический XML: 2001, Канонический XML версия 1.0, Рекомендация консорциума W3C, ![формула](https://i.bukva.ai/H4IXjRHp/img_1.png) [15.03.2001] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2001/REC-xml-c14n-20010315)
- <a id="p100050"></a>W3C XML Encryption:2002, XML Encryption Syntax and Processing, W3C Recommendation, Copyright ![формула](https://i.bukva.ai/H4IXjRHp/img_2.png) [10 December 2002] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2002/REC-xmlenc-core-20021210 (Шифрование XML:2002, Синтаксис и обработка шифрования XML, Рекомендация консорциума W3C, ![формула](https://i.bukva.ai/H4IXjRHp/img_3.png) [10.12.2002] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2002/REC-xmlenc-core-20021210)
- <a id="p100051"></a>W3C Exclusive Canonical XML:2002, W3C Exclusive XML Canonicalization Version 1.0, W3C Recommendation, Copyright ![формула](https://i.bukva.ai/H4IXjRHp/img_4.png) [18 July 2002] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718 (Исключающий канонический XML:2002, Исключающая канонизация XML версия 1.0, Рекомендация консорциума W3C, ![формула](https://i.bukva.ai/H4IXjRHp/img_5.png) [18.07.2002] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718)
- <a id="p100052"></a>W3C XML Information Set:2004, XML Information Set (Second Edition), W3C Recommendation, Copyright ![формула](https://i.bukva.ai/H4IXjRHp/img_6.png) [04 February 2004] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2004/REC-xml-infoset-20040204 (XML информационный набор:2004, XML информационный набор (второе издание), Рекомендация консорциума W3C, ![формула](https://i.bukva.ai/H4IXjRHp/img_7.png) [04.02.2004] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2004/REC-xml-infoset-20040204)
- <a id="p100053"></a>W3C XML Signature:2002, XML-Signature Syntax and Processing, W3C Recommendation, Copyright ![формула](https://i.bukva.ai/H4IXjRHp/img_8.png) [12 February 2002] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/2002/REC-xmldsig-core-20020212 (XML-подпись:2002, Синтаксис и обработка XML-подписи, Рекомендация консорциума W3C, ![формула](https://i.bukva.ai/H4IXjRHp/img_9.png) [12.02.2002] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/2002/REC-xmldsig-core-20020212)
- <a id="p100054"></a>W3C XPath:1999, XML Path Language (XPath) Version 1.0, W3C Recommendation, Copyright ![формула](https://i.bukva.ai/H4IXjRHp/img_10.png) [16 November 1999] World Wide Web Consortium (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en Automatique, Keio University), http://www.w3.org/TR/1999/REC-xpath-19991116 (XPath:1999, Язык XML Path (XPath) версия 1.0, Рекомендация консорциума W3C, ![формула](https://i.bukva.ai/H4IXjRHp/img_11.png) [16.11.1999] Консорциум Всемирной паутины (Массачусетский технологический институт, Национальный институт исследований в области компьютерной обработки данных и автоматики, Университет Кэйо), http://www.w3.org/TR/1999/REC-xpath-19991116)


### <a id="p100055"></a>3 Термины и определения


<a id="p100056"></a>В настоящем стандарте применены следующие термины по международным стандартам:


#### <a id="p100057"></a>3.1 Заимствованные термины


<a id="p100058"></a>В настоящем стандарте использованы следующие термины по ISO/IEC 8824-1:
<a id="p100059"></a>a) документ быстрого инфо-набора (fast infoset document);
<a id="p100060"></a>b) элемент информации (information item);
<a id="p100061"></a>c) исходный словарь (initial vocabulary);
<a id="p100062"></a>d) XML инфо-набор (XML infoset).


#### <a id="p100063"></a>3.2 Дополнительные термины


<a id="p100064"></a>В настоящем стандарте применены следующие термины с соответствующими определениями:
<a id="p100065"></a>3.2.1 расширения уровня приложения (для W3C шифрования) (application-level extensions (for W3C Encryption)): Определяют действия, которые должны быть приняты приложением, если правила W3C шифрования не полностью определяют действия, которые должны быть приняты.
<a id="p100066"></a>3.2.2 канонический алгоритм быстрого инфо-набора (canonical Fast Infoset algorithm): Алгоритм, который используется как входной XML инфо-набор (см. W3C XML информационный набор) или набор узлов XPath (см. W3C XPath) и формирует выходной канонический документ быстрого инфо-набора.
<a id="p100067"></a>3.2.3 канонический документ быстрого инфо-набора (canonical fast infoset document): Документ быстрого инфо-набора, сформированный каноническим алгоритмом быстрого инфо-набора.
<a id="p100068"></a>3.2.4 канонический XML алгоритм (canonical XML algorithm): Алгоритм, который принимает на входе XML инфо-набор, правильно построенный XML-документ или набор узлов XPath, и формирует на выходе правильно построенный XML-документ в канонической форме.
<a id="p100069"></a>*Примечание* - Канонические XML алгоритмы в настоящий момент определяются W3C каноническим XML и W3C исключающим каноническим XML.

<a id="p100070"></a>3.2.5 канонический XML-документ (canonical XML document): Правильно построенный XML-документ, сформированный каноническим XML алгоритмом.
<a id="p100071"></a>3.2.6 часть элемента (XML инфо-набора) (element part (of an XML infoset)): Информационный элемент element (и все информационные элементы, которые являются производными информационного элемента element).
<a id="p100072"></a>3.2.7 часть содержимого элемента (XML инфо-набора) (element content part (of an XML infoset)): Все информационные элементы в свойстве [children] информационного элемента element (и информационные элементы, которые являются производными этих информационных элементов).


### <a id="p100073"></a>4 Сокращения


<a id="p100074"></a>В настоящем стандарте применены следующие сокращения:
<a id="p100075"></a>URI - Uniform Resource Identifier (унифицированный идентификатор ресурса);
<a id="p100076"></a>UTF-8 - Universal Transformation Function 8-bit (универсальный формат преобразования 8-бит) (см. ISO/IEC 10646, приложение D);
<a id="p100077"></a>W3C - World Wide Web Consortium (Консорциум Всемирной паутины).


### <a id="p100078"></a>5 Нотация


<a id="p100079"></a>5.1 В настоящем стандарте &полужирный шрифт Courier New& используется для нотации ASN.1, а полужирный шрифт Arial - для W3C XML синтаксиса и имен информационных элементов XML информационного набора.
<a id="p100080"></a>5.2 Названия свойств информационных элементов пишутся полужирным шрифтом Arial и заключаются в квадратные скобки (например, [children]).

#### <a id="p100081"></a>5.3 URI пишутся полужирным шрифтом Arial и заключаются в кавычки.

<a id="p100082"></a>НАПРИМЕР: "http://www.w3.org/2003/05/soap-envelope".


### <a id="p100083"></a>6 Канонические алгоритмы быстрого инфо-набора



#### <a id="p100084"></a>6.1 Требования к каноническим алгоритмам быстрого инфо-набора


<a id="p100085"></a>6.1.1 Следующие подпункты определяют ввод и общие требования к каноническим алгоритмам быстрого инфо-набора. Определенные алгоритмы быстрого инфо-набора (которые ссылаются на этот пункт) рассмотрены в [6.4](#p100119).
<a id="p100086"></a>6.1.2 Канонический алгоритм быстрого инфо-набора должен определить канонический XML алгоритм, который используется в концептуальном процессе преобразования (см. [6.1.5](#p100095)).
<a id="p100087"></a>Примечание - Этот стандарт не определяет канонические XML алгоритмы. Алгоритмы, используемые в [6.4](#p100119), определяются в W3C каноническом XML и W3C исключающем каноническом XML.

<a id="p100088"></a>6.1.3 Канонический алгоритм быстрого инфо-набора должен определить URI, который используется для объявления алгоритма в информационных элементах W3C XML-подписи (см. [7.2](#p100128)).
<a id="p100089"></a>6.1.4 Канонический алгоритм быстрого инфо-набора должен представить канонический документ быстрого инфо-набора для преобразования следующих вводов:
<a id="p100090"></a>a) XML инфо-набора;
<a id="p100091"></a>b) набора узлов XPath, произведенного правильно построенным XML-документом, когда он преобразован, как определено в [6.1.5, a)](#p100096).
<a id="p100092"></a>Примечания
<a id="p100093"></a>1 Поддержка наборов узлов XPath должна гарантировать, что настоящий стандарт является совместимым с XML стандартами, связанными с безопасностью. W3C канонический XML и W3C исключающий канонический XML используют модель данных XPath (см. W3C XPath, п. 5). W3C XML-подпись описывает преобразования, используя XPath для канонизации и фильтрации (см. W3C XML-подпись, 6.5 и 6.6.3 соответственно).
<a id="p100094"></a>2 Ввод набора узлов XPath, произведенного XML-документом, построенным неправильно, не поддерживается для канонизации быстрого инфо-набора (и, следовательно, для W3C XML-подписей, произведенных при помощи канонического алгоритма быстрого инфо-набора).

<a id="p100095"></a>6.1.5 Концептуальные шаги преобразования, выполняемые каноническим алгоритмом быстрого инфо-набора, с целью произвести канонический документ быстрого инфо-набора, должны быть следующими:
<a id="p100096"></a>a) входной XML быстрый инфо-набор или ввод набора узлов XPath преобразовываются (каноническим XML алгоритмом), чтобы произвести канонический XML-документ, как определено в [6.2](#p100104);
<a id="p100097"></a>b) канонический XML-документ анализируется, чтобы произвести XML быстрый инфо-набор; это будет канонический XML быстрый инфо-набор;
<a id="p100098"></a>c) канонический XML быстрый инфо-набор сериализируется как канонический документ быстрого инфо-набора, с определенными ограничениями, указанными в [6.3](#p100109).
<a id="p100099"></a>*Примечание* - При реализации можно оптимизировать шаги так, чтобы XML инфо-набор или набор узлов XPath были преобразованы непосредственно к каноническому документу быстрого инфо-набора, не производя промежуточных канонических XML-документов, при этом получив такой же результат, как будто все шаги выполнялись.

<a id="p100100"></a>6.1.6 Сериализируя в канонический документ быстрого инфо-набора, порядок атрибутов должен быть порядком соответствующего канонического XML-документа.
<a id="p100101"></a>Примечания
<a id="p100102"></a>1 Информационные элементы attribute среди свойств [namespace attributes] и [attributes] информационных элементов element не упорядочиваются (см. W3C XML информационный набор, 2.2). [Пункт 6.1.6](#p100100) сохраняет порядок документов информационных элементов attributes, произведенных из парсинга канонического XML-документа.
<a id="p100103"></a>2 W3C канонический XML (канонический XML алгоритм) расширяет порядок документов наборов узлов XPath (см. W3C XPath, п. 5) так, что пространство имен элемента и приписанные узлы канонически упорядочиваются (см. W3C канонический XML, 2.2).


#### <a id="p100104"></a>6.2 Требования к каноническим XML алгоритмам для использования каноническими алгоритмами быстрого инфо-набора


<a id="p100105"></a>6.2.1 Следующий пункт определяет требования для канонического XML алгоритма, которые он должен удовлетворить для того, чтобы он мог использоваться при определении канонического алгоритма быстрого инфо-набора.
<a id="p100106"></a>*Примечание* - Алгоритмы, определенные в W3C каноническом XML и W3C исключающем каноническом XML, удовлетворяют этим требованиям.

<a id="p100107"></a>6.2.2 Канонический XML алгоритм, используемый в определении канонического алгоритма быстрого инфо-набора, должен быть способен преобразовывать (в правильно построенный канонический XML-документ) все те входные данные, которые поддерживает канонический алгоритм быстрого инфо-набора (см. [6.1.4](#p100089)).
<a id="p100108"></a>*Примечание* - Такие канонические XML алгоритмы определяются W3C каноническим XML и W3C исключающим каноническим XML.


#### <a id="p100109"></a>6.3 Ограничения при сериализации XML инфо-набора в канонический документ быстрого инфо-набора


<a id="p100110"></a>Примечание - Эта сериализация является [шагом c) в п. 6.1.5](#p100098), который используется в создании октетов для подписи.
<a id="p100111"></a>6.3.1 Значения типа &NonIdentifyingStringOrIndex& (см. МСЭ-Т X.891|ISO/IEC 24824-1, 7.14) должны состоять из альтернативы &literal-character-string& с компонентом &add-to-table&, установленным как &FALSE&.
<a id="p100112"></a>6.3.2 Кодировка UTF-8 (см. ISO/IEC 10646) должна использоваться для всех символьных строк, представленных как значения типа &EncodedCharacterString& (см. МСЭ-Т X.891|ISO/IEC 24824-1, 7.17).
<a id="p100113"></a>*Примечание* - Такие символьные строки будут связаны с последовательностями смежных символьных информационных элементов и свойствами [normalized value] информационных элементов attribute.

<a id="p100114"></a>6.3.3 Последовательность смежных символьных информационных элементов, запускающихся с первого символьного информационного элемента, у которой нет никакого предыдущего символьного элемента непосредственно в свойстве [children], до информации о последнем знаке, у которой нет никакого дальнейшего символьного информационного элемента непосредственно в свойстве [children], должна быть представлена единственным значением типа &CharacterChunk& (см. МСЭ-Т X.891|ISO/IEC 24824-1, 7.7).
<a id="p100115"></a>6.3.4 Если последовательность смежных символьных информационных элементов превышает максимум, разрешенный для значения типа &CharacterChunk (232)&, то должны быть последовательные значения типа &characterChunk& для каждой максимальной последовательности смежных символьных информационных элементов.
<a id="p100116"></a>6.3.5 У канонического документа быстрого инфо-набора не должно быть исходного словаря. Компонент &initial-vocabulary& значения типа &Document& должен отсутствовать (см. МСЭ-Т X.891|ISO/IEC 24824-1, 7.2.1).
<a id="p100117"></a>6.3.6 Таблица словаря (см. МСЭ-Т X.891|ISO/IEC 24824-1, п. 6) не может содержать двойные записи в таблице. МСЭ-Т X.891|ISO/IEC 24824-1, 7.13.7 применяется с таким ограничением, что действие 7.13.7, b) не должно выполняться, если идентичная символьная строка будет существовать в текущем содержимом применяемой таблицы.
<a id="p100118"></a>Примечание - Таблица CONTENT CHARACTER CHUNK и таблица ATTRIBUTE VALUE (см. МСЭ-Т X.891|ISO/IEC 24824-1, 8.4) не будет содержать записей из-за ограничения, описанного в [6.3.1](#p100111).


#### <a id="p100119"></a>6.4 Канонические алгоритмы быстрого инфо-набора


<a id="p100120"></a>6.4.1 Следующие пункты определяют четыре канонических алгоритма быстрого инфо-набора. В каждом случае определяется канонический XML алгоритм, который будет использоваться (см. [6.1.2](#p100086)) вместе с URI для алгоритма быстрого инфо-набора (см. [6.1.3](#p100088)).
<a id="p100121"></a>6.4.2 "Включающий канонический алгоритм быстрого инфо-набора без комментариев" должен быть идентифицирован URI "urn:fastinfoset:c14n:inclusive" с использованием канонического XML алгоритма, определенного в W3C каноническом XML со вторым входным параметром (см. W3C канонический XML, 2.1), установленным как false.
<a id="p100122"></a>*Примечание* - Второй входной параметр является булевской переменной, которая указывает, должны ли комментарии быть включены в каноническую форму, произведенную каноническим XML алгоритмом.

<a id="p100123"></a>6.4.3 "Включающий канонический алгоритм быстрого инфо-набора с комментариями" должен быть идентифицирован URI "urn:fastinfoset:c14n:inclusive:withcomments" с использованием канонического XML алгоритма, определенного в W3C каноническом XML со вторым входным параметром (см. W3C канонический XML, 2.1), установленным как true.
<a id="p100124"></a>6.4.4 "Исключающий канонический алгоритм быстрого инфо-набора без комментариев" должен быть идентифицирован URI "urn:fastinfoset:c14n:exclusive" с использованием канонического XML алгоритма, определенного в W3C исключающем каноническом XML, со вторым входным параметром (см. W3C исключающий канонический XML, п. 3), установленным как false. Этот алгоритм быстрого инфо-набора имеет параметр "InclusiveNamespace PrefixList" (см. W3C исключающий канонический XML, 1.1), который может быть нулем и который переходит неизмененным в канонический XML алгоритм.
<a id="p100125"></a>**6.4.5 "Исключающий канонический алгоритм быстрого инфо-набора с комментариями" должен быть идентифицирован URI "urn:fastinfoset:c14n:exclusive:withcomments" с использованием канонического XML алгоритма, определенного в W3C исключающем каноническом XML, со вторым входным параметром (см. W3C исключающий канонический XML, п. 3), установленным как true. Этот алгоритм быстрого инфо-набора имеет параметр "InclusiveNamespace PrefixList" (см. W3C исключающий канонический XML, 1.1), который может быть нулем и который переходит неизмененным в канонический XML алгоритм.**


### <a id="p100126"></a>7 W3C XML-подпись и быстрый инфо-набор


<a id="p100127"></a>7.1 В следующих подразделах определяется использование канонического алгоритма быстрого инфо-набора (см. [6.4](#p100119)).
<a id="p100128"></a>7.2 Информационный элемент Algorithm attribute в свойстве [attributes] информационного элемента CanonicalizationMethod element (см. W3C XML-подпись, 4.3.1) или информационного элемента Transform element (см. W3C XML-подпись, 4.3.3.4) должен иметь свойство [normalized value], которое является URI, идентифицирующим канонический алгоритм быстрого инфо-набора (см. [6.1.3](#p100088)).
<a id="p100129"></a>**7.3 Если канонический алгоритм быстрого инфо-набора определяет канонический XML алгоритм (см. [6.1.2](#p100086)) ссылкой на W3C исключающий канонический XML, и параметр "InclusiveNamespace Prefix-List" (см. W3C исключающий канонический XML, 1.1) дается как входной (см. [6.4.4](#p100124) и [6.4.5](#p100125)), то параметр должен быть представлен так, как определено в W3C исключающий канонический XML, п. 4.**


### <a id="p100130"></a>8 W3C XML шифрование и быстрый инфо-набор


<a id="p100131"></a>W3C XML шифрование допускает (и настоящий стандарт также поддерживает) шифрование частей элементов и частей содержимого элементов XML быстрого инфо-набора.


#### <a id="p100132"></a>8.1 Расширения уровня приложения для шифрования


<a id="p100133"></a>8.1.1 Каждый элемент данных (см. W3C XML шифрование, 4.1), чтобы быть зашифрованным, должен быть частью элемента или частью содержимого элемента XML быстрого инфо-набора, выбранного шифрующим приложением.
<a id="p100134"></a>8.1.2 Операции по обработке шифрования (определенные в W3C XML шифрование, 4.1) по отношению к части XML быстрого инфо-набора должны быть расширены для операций 3.2, 4 и 5.2 из W3C XML шифрование, 4.1, как определено в трех следующих пунктах.
<a id="p100135"></a>8.1.3 Операция 3.2 из W3C XML шифрование, 4.1 должна быть расширена, чтобы получить октеты, которые будут зашифрованы следующим образом:
<a id="p100136"></a>a) выбранная часть исходного XML быстрого инфо-набора (A) должна быть преобразована в полный XML быстрый инфо-набор (B), как определено в [8.2](#p100143);
<a id="p100137"></a>b) этот XML быстрый инфо-набор (B) должен быть сериализирован, используя МСЭ-Т X.891|ISO/IEC 24824-1 с ограничением, что не будут использоваться внешние словари;
<a id="p100138"></a>c) получившиеся октеты должны быть октетами, которые будут зашифрованы в операции 3.3 в W3C XML шифрование, 4.1.
<a id="p100139"></a>8.1.4 Операция 4 в W3C XML шифрование, 4.1 должна быть расширена, чтобы включать информационный элемент Type attribute в свойство [attributes] информационного элемента EncryptedData element (см. W3C XML шифрование, 3.1), свойство [normalized value] которого должно быть одним из следующих:
<a id="p100140"></a>a) если часть XML быстрого инфо-набора будет частью элемента, то [normalized value] информационного элемента Type attribute должно быть URI "urn:fastinfoset:element";
<a id="p100141"></a>b) если часть XML быстрого инфо-набора будет частью содержимого элемента, то [normalized value] информационного элемента Type attribute должно быть URI "urn:fastinfoset:element-content".
<a id="p100142"></a>8.1.5 Операция 5.2 в W3C XML шифрование, 4.1 должна быть расширена так, что информационный элемент EncryptedData element (произведенный операцией 4 в W3C XML шифрование, 4.1, расширенной, как определено в [8.1.4](#p100139)) должен заменить часть XML быстрого инфо-набора, который был обработан в операции 3 (расширенной, как определено в [8.1.3](#p100135)).


#### <a id="p100143"></a>8.2 Формирование полного XML инфо-набора из части XML инфо-набора



##### <a id="p100144"></a>8.2.1 Формирование из части элемента XML инфо-набора

<a id="p100145"></a>8.2.1.1 Полный XML быстрый инфо-набор должен быть сформирован с информационным элементом document, обладающим следующими свойствами:
<a id="p100146"></a>a) свойством [children], единственный член которого является копией (E, скажем) информационного элемента element (и всех его свойств, включая [children]), который является частью элемента исходного XML быстрого инфо-набора, который должен быть зашифрован;
<a id="p100147"></a>b) свойством [document element], которое является E.
<a id="p100148"></a>8.2.1.2 Свойство [namespace attributes] у E (см. [8.2.1.1, a)](#p100146)) должно быть изменено так, чтобы оно не противоречило свойству [in-scope namespaces] у E.
<a id="p100149"></a>Примечания
<a id="p100150"></a>1 При реализации можно удалить любые неиспользованные информационные элементы пространства имен в свойстве [in-scope namespaces] у E (и его производных) перед тем, как свойство [namespace attributes] у E будет изменено.
<a id="p100151"></a>2 Для более подробной информации о рекомендованной обработке информационных элементов, соответствующих объявлениям пространств имен по умолчанию и специфичным для XML информационным элементам attribute, см. W3C XML шифрование, 4.3.3.


##### <a id="p100152"></a>8.2.2 Формирование из части содержимого элемента XML быстрого инфо-набора

<a id="p100153"></a>8.2.2.1 Полный XML быстрый инфо-набор должен быть сформирован информационным элементом document, содержащим следующие свойства:
<a id="p100154"></a>a) свойство [children], единственный член которого является информационным элементом element (E, скажем), как определено в [8.2.2.2](#p100156);
<a id="p100155"></a>b) свойство [document element], которое является E.
<a id="p100156"></a>8.2.2.2 Информационный элемент element E (см. [8.2.2.1, a)](#p100146)) не должен иметь никакого значения для свойств [namespace name] и [prefix], но должен иметь:
<a id="p100157"></a>a) свойство [local name] "content";
<a id="p100158"></a>b) свойство [children], которое является копией свойства [children] части содержимого элемента исходного XML быстрого инфо-набора;
<a id="p100159"></a>c) свойство [namespace attributes] у E, которое согласуется со всеми свойствами [in-scope namespaces] информационных элементов element среди свойства [children] части содержимого элемента исходного XML.
<a id="p100160"></a>Примечания
<a id="p100161"></a>1 В реализации возможно удаление любых неиспользованных информационных элементов пространства имен в свойствах [in-scope namespaces] информационных элементов element (и производных) в свойстве [children] фрагмента XML быстрого инфо-набора перед тем, как свойство [namespace attributes] у E будет изменено.
<a id="p100162"></a>2 Для более подробной информации о рекомендованной обработке информационных элементов, соответствующих объявлениям пространств имен по умолчанию и специфичным для XML информационным элементам attribute, см. W3C XML шифрование, 4.3.3.


#### <a id="p100163"></a>8.3 Расширения уровня приложений для дешифрования


<a id="p100164"></a>Операция 5.0 в W3C XML шифрование, 4.2 должна быть расширена, чтобы обработать информационный элемент EncryptedData element, который содержит информационный элемент Type attribute (см. W3C XML шифрование, 3.1) среди свойства [attributes], свойство [normalized value] которого является одним из URI, определенных в [8.1.4](#p100139). Для этого необходимо выполнить следующие шаги:
<a id="p100165"></a>a) последовательность октетов, полученная в процессе операции 3 (см. W3C XML шифрование, 4.2), должна быть интерпретирована как документ быстрого инфо-набора;
<a id="p100166"></a>b) XML быстрый инфо-набор должен быть получен в результате парсинга документа быстрого инфо-набора;
<a id="p100167"></a>c) части этого XML быстрого инфо-набора должны использоваться для замены информационного элемента EncryptedData element следующим образом:
1) <a id="p100168"></a>если URI - "urn:fastinfoset:element", то информационный элемент element, которой является свойством [document element] информационного элемента document XML быстрого инфо-набора, должен заменить информационный элемент EncryptedData element;
2) <a id="p100169"></a>если URI - "urn:fastinfoset:element-content", то все информационные элементы в свойстве [children] информационного элемента element, который является свойством [document element] информационного элемента document XML быстрого инфо-набора, должны заменить информационный элемент EncryptedData element.





<div align="right">

<a id="p100170"></a>Приложение A

</div>

(справочное)

<div align="center">

<a id="p100171"></a>**ПРИМЕРЫ ПОДПИСАНИЯ И ШИФРОВАНИЯ XML ИНФО-НАБОРА**

</div>


<a id="p100172"></a>A.1 Общее описание примеров

<a id="p100173"></a>A.1.1 Все XML инфо-наборы в настоящем приложении будут представлены как XML-документы. Для краткости пространства имен URI и текстовый контент (base64 [IETF RFC 2045] закодированные октеты), которые не затрагиваются в настоящем приложении, будут сокращены или полностью удалены и представлены символами "...".
<a id="p100174"></a>A.1.2 Криптографические алгоритмы, представленные в этом приложении, предназначены только для пояснения. Настоящий стандарт не гарантирует использование таких алгоритмов.
<a id="p100175"></a>A.1.3 В настоящем приложении рассматриваются два примера: подписание XML инфо-набора (см. [A.2](#p100181)) и подписание и шифрование XML инфо-набора (см. [A.3](#p100242)).
<a id="p100176"></a>A.1.4 XML инфо-набор, выбранный в каждом примере (чтобы быть подписанным или подписанным и зашифрованным), является следующим инфо-набором SOAP сообщений:

<a id="p100177"></a><soap:Envelope xmlns:soap="...">
  <soap:Body>
    <n:payment xmlns:n="...">1000</n:payment>
  </soap:Body>
</soap:Envelope>

<a id="p100178"></a>A.1.5 Финальный подписанный или подписанный и зашифрованный инфо-набор SOAP сообщений соответствует указанному в OASIS Web Services Security [WSS] и WS-I Basic Profile [WS-I], за исключением того, что для подписания используется канонический алгоритм быстрого инфо-набора (см. [6.4](#p100119)), и зашифрованное содержимое определяется как документ быстрого инфо-набора (см. [8.1.4](#p100139)).
<a id="p100179"></a>A.1.6 В примере представлены процессы, с помощью которых XML инфо-набор может быть подписан/проверен или подписан/проверен и зашифрован/дешифрован, поэтому точная информация о ключах, значениях подписей, значениях хэш-сумм и зашифрованных данных в примере не описывается.
<a id="p100180"></a>A.1.6.1 Инфо-набор SOAP сообщений представляет собой простой пример платежного запроса на 1000 единиц от клиента к сервису. Чтобы гарантировать неизменность 1000 единиц, например при вмешательстве третьего лица, при передаче SOAP сообщения с использованием сети общего пользования, информационный элемент soap:Body element и содержимое могут быть подписаны, и получатель может проверить, что в содержимое не вмешивались и что оно не было подменено. Чтобы гарантировать, что сообщение смогут прочитать только доверенные стороны (и что платеж на 1000 единиц был запрошен), информационный элемент soap:Body element и содержимое могут быть подписаны, а затем содержимое может быть зашифровано.

<a id="p100181"></a>A.2 Подписание и проверка инфо-набора SOAP сообщений

<a id="p100182"></a>A.2.1 Подписанный инфо-набор SOAP сообщений
<a id="p100183"></a>A.2.1.1 Подписанный инфо-набор SOAP сообщений инфо-набора SOAP сообщений из [A.1.4](#p100176), где тело SOAP подписано, представлен в [приложении B](#p100276).
<a id="p100184"></a>A.2.1.2 Подписанный инфо-набор SOAP сообщений использует раздельную подпись, где подписываемый объект (информационный элемент soap:Body element) и подпись (информационный элемент ds:Signature element) отделены друг от друга.
<a id="p100185"></a>A.2.2 Формирование подписанного инфо-набора SOAP сообщений
<a id="p100186"></a>*Примечание* - Криптографические алгоритмы, используемые в этом подразделе, приводятся только в качестве примера. Использование SHA-1 исключается некоторыми организациями по стандартизации.

<a id="p100187"></a>A.2.2.1 Процесс формирования подписи определяется в W3C XML-подпись, 3.1. Описание этого процесса на примере инфо-набора SOAP сообщений будет рассмотрено далее.
<a id="p100188"></a>A.2.2.2 Подписывающее приложение формирует ссылки на объекты данных, которые должны быть подписаны, собирает эти ссылки и затем формирует подписанную информацию из цифровой подписи.
<a id="p100189"></a>A.2.2.3 Подписывающее приложение выбирает, что единственным объектом данных, который будет подписан, является информационный элемент soap:Body element (и содержимое) инфо-набора SOAP сообщений из [A.1.4](#p100176).
<a id="p100190"></a>A.2.2.4 Подписывающее приложение идентифицирует объект данных так, чтобы на него можно было сослаться. Объект данных идентифицируется добавлением информационного элемента wsu:Id attribute к информационному элементу soap:Body element, свойство которого [normalized value] является идентификатором "TheBody".
<a id="p100191"></a>A.2.2.5 Подписывающее приложение выбирает, что преобразования для вычисления значения хэш-суммы по получающемуся объекту данных состоят из единственного преобразования, которое определяет "исключающий канонический алгоритм быстрого инфо-набора без комментариев" (см. [6.4.4](#p100124) и [7](#p100126)). Это приводит к появлению информационного элемента ds:Transforms element, который содержит одиночный дочерний информационный элемент ds:Transform element с информационным элементом Algorithm attribute, свойством [normalized value] которого является "urn:fastinfoset:c14n:exclusive".
<a id="p100192"></a>A.2.2.6 Подписывающее приложение выбирает SHA-1 алгоритм хэширования (см. [FIPS 180-2]) и формирует значение хэш-суммы. Значение хэш-суммы формируется с применением единственного преобразования от объекта данных до последовательности октетов (которые преобразуются, используя SHA 1 алгоритм) следующим образом (см. [6.1.5](#p100095)):
<a id="p100193"></a>a) входными данными в "исключающем каноническом алгоритме быстрого инфо-набора без комментариев" является набор узлов XPath информационного элемента soap:Body element и его дочерние информационные элементы инфо-набора SOAP сообщений из 1.4 (см. [6.1.5, a)](#p100096));
<a id="p100194"></a>b) канонический XML-документ формируется из набора узлов XPath (см. [6.1.5, a)](#p100096)), используя канонический XML алгоритм, определенный в W3C, исключающий канонический XML (см. [6.4.4](#p100124));
<a id="p100195"></a>c) канонический XML-документ парсится, чтобы произвести XML инфо-набор (см. [6.1.5, b)](#p100097));
<a id="p100196"></a>d) канонический XML инфо-набор сериализируется как канонический документ быстрого инфо-набора (см. [6.1.5, c)](#p100098)) с ограничениями на сериализацию, определенную в [6.3](#p100109);
<a id="p100197"></a>e) последовательность октетов, которая вводится в алгоритм хэширования SHA-1, является каноническим документом быстрого инфо-набора.
<a id="p100198"></a>A.2.2.7 Формирование хэш-суммы приводит к появлению информационного элемента ds:DigestMethod element и информационного элемента ds:DigestValue element. Содержимое элемента информации ds:DigestValue element будет содержать символы с base64 кодированием (см. [IETF RFC 2045]) 160-разрядной хэш-суммы, сгенерированной алгоритмом SHA-1.
<a id="p100199"></a>A.2.2.8 Подписывающее приложение формирует ссылку на объект данных, который подписывается. Это приводит к появлению информационного элемента ds:Reference element, у которого есть информация URI attribute, чье свойство [normalized value] является URI "#TheBody", которое ссылается на объект данных. Информационный элемент ds:Reference element содержит, как дочерние элементы информации об элементе, ранее полученные информационные элементы ds:Transforms, ds:DigestMethod и ds:DigestValue element.
<a id="p100200"></a>A.2.2.9 Затем подписывающее приложение собирает ссылки и формирует подписанную информацию.
<a id="p100201"></a>A.2.2.10 Подписывающее приложение выбирает "исключающий канонический алгоритм быстрого инфо-набора без комментариев" (см. [6.4.4](#p100124) и [7](#p100126)) как алгоритм метода канонизации. Это приводит к производству элемента информации ds:CanonicalizationMethod element с элементом информации Algorithm attribute, свойство [normalized value] которого является "urn:fastinfoset:c14n:exclusive".
<a id="p100202"></a>A.2.2.11 Подписывающее приложение выбирает алгоритм подписи RSA-SHA-1 (см. [IETF RFC 3447]) как метод подписи для вычисления значения подписи. Это приводит к появлению элемента информации ds:SignatureMethod element.
<a id="p100203"></a>A.2.2.12 Подписывающее приложение формирует информацию, которая будет подписана, используя метод подписи. Это приводит к появлению элемента информации ds:SignedInfo element, который содержит, как дочерние информационные элементы, ранее полученные информационные элементы ds:CanonicalizationMethod, ds:SignatureMethod и ds:Reference element.
<a id="p100204"></a>A.2.2.13 Подписывающее приложение выбирает ключ, который будет использован для подписи (в данном примере используется маркер доступа X.509, см. [ITU-T X.509]). Это приводит к появлению элементов информации ds:KeyInfo и wsse:BinarySecurityToken element.
<a id="p100205"></a>A.2.2.14 Подписывающее приложение канонизирует элемент информации ds:SignedInfo element, чтобы произвести последовательность октетов (для ввода в метод подписи) в следующем порядке:
<a id="p100206"></a>a) входными данными в "исключающем каноническом алгоритме быстрого инфо-набора без комментариев" является набор узлов XPath элемента информации ds:SignedInfo element и его дочерние информационные элементы (см. [6.1.5, a)](#p100096));
<a id="p100207"></a>b) канонический XML-документ производится из набора узлов XPath (см. [6.1.5, a)](#p100096)), используя канонический XML алгоритм, определенный в W3C исключающий канонический XML (см. [6.4.4](#p100124));
<a id="p100208"></a>c) канонический XML-документ парсится, чтобы произвести XML инфо-набор (см. [6.1.5, b)](#p100097));
<a id="p100209"></a>d) канонический XML инфо-набор сериализируется как канонический документ быстрого инфо-набора (см. [6.1.5, c)](#p100098)), с ограничениями на сериализацию, определенными в [6.3](#p100109);
<a id="p100210"></a>e) последовательность октетов, что вводится в RSA-SHA-1 алгоритм подписи, является каноническим документом быстрого инфо-набора.
<a id="p100211"></a>A.2.2.15 Подписывающее приложение формирует значение подписи, применяя метод подписи к октетам, полученным из канонизации подписанной информации. Это приводит к появлению информационного элемента ds:SignatureValue element. Содержимое информационного элемента ds:SignatureValue element будет содержать символы в base64 кодировании (см. [IETF RFC 2045]) октета значения подписи, сформированного с помощью RSA-SHA-1 алгоритма подписи.
<a id="p100212"></a>A.2.2.16 Подписывающее приложение формирует подпись. Это приводит к появлению информационного элемента ds:Signature element, который содержит, как дочерний элемент информационных элементов, ранее произведенные информационные элементы ds:SignedInfo, ds:SignatureValue и ds:KeyInfo element.
<a id="p100213"></a>A.2.2.17 Наконец, подписывающее приложение формирует SOAP блок заголовка безопасности веб-сервисов. Это приводит к появлению информационного элемента wsse:Security element, который содержит, как дочерний элемент информационных элементов, ранее произведенные элементы информации wsse:BinarySecurityToken и ds:Signature element.
<a id="p100214"></a>A.2.3 Проверка подписанного инфо-набора SOAP сообщений
<a id="p100215"></a>A.2.3.1 Процесс проверки подписи описан в W3C XML-подпись, 3.2. Ниже представлено описание этого процесса, применительно к примеру подписанного инфо-набора SOAP сообщений.
<a id="p100216"></a>A.2.3.2 Основной процесс проверки требует проверки ссылок и проверки подписей.
<a id="p100217"></a>A.2.3.3 Перед проверкой ссылок проверяющее приложение должно канонизировать подписанную информацию и работать уже с канонизированной подписанной информацией. Все ссылки в следующих пунктах к информационным элементам внутри подписанной информации, представленной информационным элементом ds:SignedInfo element и содержимым, относятся к информационным элементам, представленным в канонической подписанной информации.
<a id="p100218"></a>*Примечание* - Важно, чтобы лица и автоматизированные механизмы работали с подписанными данными, а не с оригинальными данными, см. W3C XML-подпись, 8.1.3.

<a id="p100219"></a>A.2.3.4 Проверяющее приложение получает "исключающий канонический алгоритм быстрого инфо-набора без комментариев" для канонизации подписанной информации, представленной свойством [normalized value] информационного элемента Algorithm attribute в информационном элементе ds:CanonicalizationMethod element.
<a id="p100220"></a>A.2.3.5 Проверяющее приложение канонизируют подписанную информацию следующим образом:
<a id="p100221"></a>a) ввод в "исключающий канонический алгоритм быстрого инфо-набора без комментариев" является набором узлов XPath информационного элемента ds:SignedInfo element и его дочерних элементов информации (см. [6.1.5, a)](#p100096));
<a id="p100222"></a>b) канонический XML-документ формируется из набора узлов XPath (см. [6.1.5](#p100095)) с использованием канонического XML алгоритма, указанного в W3C, исключающий канонический XML (см. [6.4.4](#p100124));
<a id="p100223"></a>c) канонический XML-документ парсится для формирования XML инфо-набора (см. [6.1.5, b)](#p100097));
<a id="p100224"></a>d) канонический XML инфо-набор сериализуется как канонический документ быстрого инфо-набора (см. [6.1.5, c)](#p100098)) с ограничениями на сериализацию, указанными в [6.3](#p100109);
<a id="p100225"></a>e) канонический документ быстрого инфо-набора парсится для формирования XML инфо-набора, из которого получается подписанная информация, представленная информацией ds:SignedInfo element.
<a id="p100226"></a>A.2.3.6 Далее проверяющее приложение определяет, что для проверки ссылок есть одна ссылка на проверку, представленная информационным элементом ds:Reference element.
<a id="p100227"></a>A.2.3.7 Проверяющее приложение получает объект данных для хэширования путем разыменования URI "#TheBody", которое представлено свойством [normalized value] информации URI attribute в информационном элементе ds:Reference element, и выполняет преобразования объекта данных, представленные информационным элементом ds:Transforms element.
<a id="p100228"></a>A.2.3.8 Разыменование достигается путем поиска инфо-набора SOAP сообщений, чтобы идентифицировать элемент информации element, который имеет элемент информации wsu:Id attribute со свойством [normalized value], равным идентификатору "TheBody". В этом случае, набор узлов XPath элемента информации soap:Body element и его дочерние элементы информации идентифицируются как объект данных для хэширования.
<a id="p100229"></a>A.2.3.9 Преобразования состоят из одного преобразования, представленного информационным элементом ds:Transforms element, который определяет "исключающий канонический алгоритм быстрого инфо-набора без комментариев" (см. [6.4.4](#p100124) и [7](#p100126)), представленного информационным элементом Algorithm attribute (в элементе информации ds:Transforms element), свойство [normalized value] которого является "urn:fastinfoset:c14n:exclusive".
<a id="p100230"></a>A.2.3.10 Проверяющее приложение выполняет преобразование объекта данных в последовательность октетов (которые являются вводом в алгоритм хэширования) следующим образом:
<a id="p100231"></a>a) ввод в "исключающий канонический алгоритм быстрого инфо-набора без комментариев" является набором узлов XPath информационного элемента soap:Body element и его дочерних элементов информации инфо-набора SOAP сообщений из [A.1.4](#p100176) (см. [6.1.5, a)](#p100096));
<a id="p100232"></a>b) канонический XML-документ формируется из набора узлов XPath (см. [6.1.5, a)](#p100096)) с использованием канонического XML алгоритма, указанного в W3C исключающем каноническом XML (см. [6.4.4](#p100124));
<a id="p100233"></a>c) канонический XML-документ парсится для получения XML инфо-набора (см. [6.1.5, b)](#p100097));
<a id="p100234"></a>d) канонический XML инфо-набор сериализуется как канонический документ быстрого инфо-набора (см. [6.1.5, c)](#p100098)), с ограничениями на сериализацию, указанными в [6.3](#p100109);
<a id="p100235"></a>e) последовательность октетов, что подается на вход алгоритма хэширования, является каноническим документом быстрого инфо-набора.
<a id="p100236"></a>A.2.3.11 Проверяющее приложение хэширует последовательность октетов для получения хэш-суммы с использованием SHA-1 алгоритма хэширования, представленного информационным элементом ds:DigestMethod element.
<a id="p100237"></a>A.2.3.12 Проверяющее приложение сравнивает полученную хэш-сумму со значением хэш-суммы в ссылке, представленной содержимым информационного элемента ds:DigestValue element. Если есть какие-либо несоответствия, то проверка считается неудавшейся.
<a id="p100238"></a>A.2.3.13 Затем проверяющее приложение проверяет подпись.
<a id="p100239"></a>A.2.3.14 Проверяющее приложение получает ключевую информацию, представленную элементами информации ds:KeyInfo и wsse:BinarySecurityToken element (в данном примере используется маркер доступа X.509, см. [ITU-T X.509]).
<a id="p100240"></a>A.2.3.15 Проверяющее приложение, для получения значения подписи, подписывает последовательность октетов, являющуюся каноническим документом быстрого инфо-набора, полученным в [A.2.3.5](#p100220) с использованием RSA-SHA-1 алгоритма подписи, представленного свойством [normalized value] информационного элемента Algorithm attribute в информационном элементе ds:SignatureMethod element.
<a id="p100241"></a>A.2.3.16 Наконец, проверяющее приложение подтверждает, что полученное значение подписи такое же, как значение подписи в подписанной информации, представленной содержимым информационного элемента ds:SignatureValue element.

<a id="p100242"></a>A.3 Шифрование и дешифрование инфо-набора SOAP сообщений

<a id="p100243"></a>A.3.1 Подписанный и зашифрованный инфо-набор SOAP сообщений
<a id="p100244"></a>A.3.1.1 Подписанный и зашифрованный инфо-набор SOAP сообщений инфо-набора SOAP сообщений из [A.1.4](#p100176), где SOAP тело было подписано, а затем содержимое SOAP тела было зашифровано, представлен в [приложении C](#p100279).
<a id="p100245"></a>A.3.2 Формирование подписанного и зашифрованного инфо-набора SOAP сообщений
<a id="p100246"></a>A.3.2.1 Сначала инфо-набор SOAP сообщений подписывается, как описано в [A.2.2](#p100185), затем формируется зашифрованный инфо-набор SOAP сообщений (см. [приложение C](#p100279)) путем добавления и замены информационных элементов подписанного инфо-набора SOAP сообщений (см. [приложение B](#p100276)).
<a id="p100247"></a>A.3.2.2 Процесс шифрования указан в W3C XML шифрование, 4.1. Ниже следует описание этого процесса применительно к подписанному инфо-набору SOAP сообщений.
<a id="p100248"></a>A.3.2.3 Шифрующее приложение выбирает один или несколько элементов данных для шифрования и для каждого элемента данных: выбирает алгоритм для шифрования элемента данных; шифрует элемент данных; формирует информацию зашифрованного типа, инкапсулирующую результат шифрования элемента данных (зашифрованных данных), и заменяет элемент данных на информацию зашифрованного типа.
<a id="p100249"></a>A.3.2.4 Шифрующее приложение выбирают единственный элемент данных для шифрования - информационный элемент n:payment element (и содержимое) инфо-набора SOAP сообщений из [A.1.4](#p100176).
<a id="p100250"></a>A.3.2.5 Шифрующее приложение выбирает алгоритм RSA v1.5 Key Transport (см. [IETF RFC 3447]) для шифрования транспортировки ключа и выбирает ключ, что был использован для подписи информации (см. [A.2.2.13](#p100204)), как ключ для шифрования элемента данных. Это приводит к появлению элементов информации xenc:EncryptionMethod, ds:KeyInfo и xenc:CipherData element, связанных с зашифрованной ключевой информацией (см. информационный элемент xenc:EncryptionMethod element).
<a id="p100251"></a>A.3.2.6 Шифрующее приложение выбирает тройной DES алгоритм (см. [ANSI X9.52]) для шифрования информационного элемента n:payment element (и содержимого). Это приводит к появлению информационного элемента xenc:EncryptionMethod element, связанного с информацией зашифрованного типа (см. информационный элемент xenc:EncryptedData element).
<a id="p100252"></a>A.3.2.7 Шифрующее приложение шифрует информационный элемент n:payment element (и содержимое) следующим образом:
<a id="p100253"></a>a) информационный элемент n:payment element должен быть преобразован в полный XML инфо-набор (см. [8.1.3, a)](#p100136));
<a id="p100254"></a>b) этот XML инфо-набор должен быть сериализован в документ быстрого инфо-набора (см. [8.1.3, b)](#p100137));
<a id="p100255"></a>c) октеты этого документа быстрого инфо-набора шифруются для получения зашифрованной последовательности октетов (см. [8.1.3, c)](#p100138)).
<a id="p100256"></a>A.3.2.8 Шифрующее приложение формирует информацию зашифрованного типа. Это приводит к появлению информационного элемента xenc:EncryptedData element, который имеет:
<a id="p100257"></a>a) элемент информации wsu:Id attribute со свойством [normalized value] "EncryptedBodyContents", то есть идентификатор зашифрованных данных;
<a id="p100258"></a>b) элемент информации Type attribute со свойством [normalized value] "urn:fastinfoset:element", который идентифицирует элемент зашифрованных данных, как документ быстрого инфо-набора, полученный из элемента информации element (см. [8.1.4](#p100139));
<a id="p100259"></a>c) дочерний элемент информации xenc:EncryptedKey element, сформированный в [A.3.2.6](#p100251);
<a id="p100260"></a>d) дочерний элемент информации xenc:CipherData element, имеющий дочерний элемент информации xenc:CipherValue element, содержащий символы зашифрованной последовательности октетов в base64 кодировании (см. [IETF RFC 2045]), сформированной в [A.3.2.7, c)](#p100255).
<a id="p100261"></a>A.3.2.9 Шифрующее приложение формирует зашифрованную ключевую информацию. Это приводит к появлению информационного элемента xenc:EncryptedData element, который имеет:
<a id="p100262"></a>a) дочерние элементы информации xenc:EncryptionMethod, ds:KeyInfo и xenc:CipherData element, сформированные в [A.3.2.5](#p100250);
<a id="p100263"></a>b) дочерний элемент информации xenc:ReferenceList element, который имеет дочерний элемент информации wsse:Reference element с элементом информации URI attribute, чье свойство [normalized value] является URI "#EncryptedBodyContents", которое ссылается на информационный элемент xenc:EncryptedKey element.
<a id="p100264"></a>A.3.2.10 Наконец, шифрующее приложение заменяет элемент информации n:payment element (и содержимое) на полученный элемент информации xenc:EncryptedData element, как указано в [8.1.5](#p100142), и элемент информации xenc:EncryptedKey element добавляется в качестве дочернего элемента информации wsse:Security element, и этот дочерний элемент появляется до элемента информации ds:Signature element.
<a id="p100265"></a>*Примечание* - Последовательность xenc:EncryptedData и ds:Signature соответствует последовательности, в которой выполняются шифрование и подписание.

<a id="p100266"></a>A.3.3 Проверка и дешифровка подписанного и зашифрованного инфо-набора SOAP сообщений
<a id="p100267"></a>A.3.3.1 Процесс дешифровки указан в W3C XML шифрование, 4.2. Ниже представлено описание этого процесса применительно к зашифрованному и подписанному инфо-набору SOAP сообщений.
<a id="p100268"></a>A.3.3.2 Сначала дешифрующее приложение обрабатывает зашифрованную ключевую информацию, представленную элементом информации xenc:EncryptedKey element, чтобы получить ключ для дешифровки и данные, которые были зашифрованы с использованием этого ключа.
<a id="p100269"></a>A.3.3.3 Дешифрующее приложение использует алгоритм RSA v1.5 Key Transport (см. [IETF RFC 3447]) для зашифрованной ключевой транспортировки и использует тот же ключ для дешифровки данных, что и для проверки информации о подписи (см. [A.2.3.14](#p100239)).
<a id="p100270"></a>A.3.3.4 Дешифрующее приложение определяет, что данные, которые должны быть дешифрованы, являются элементом информации xenc:EncryptedData element (на это ссылается зашифрованная ключевая информация).
<a id="p100271"></a>A.3.3.5 Дешифрующее приложение расшифровывает последовательность октетов, представленную в виде декодирования символов base64 (см. [IETF RFC 2045]) элемента информации xenc:CipherValue element, для получения открытой последовательности октетов.
<a id="p100272"></a>A.3.3.6 Типом открытой последовательности октетов является документ быстрого инфо-набора, полученный из информационного элемента element, представленного элементом информации Type attribute со свойством [normalized value] "urn:fastinfoset:element" (см. [8.3, a)](#p100165)).
<a id="p100273"></a>A.3.3.7 Дешифрующее приложение получает элемент информации element из документа быстрого инфо-набора и заменяет элемент информации xenc:EncryptedData element на этот информационный элемент element (см. [8.3, b)](#p100166) и [c)](#p100167)).
<a id="p100274"></a>A.3.3.8 Наконец, подписанный и дешифрованный инфо-набор SOAP сообщений проверяется, как описано в [A.2.3](#p100214).





<div align="right">

<a id="p100275"></a>Приложение B

</div>

(справочное)

<div align="center">

<a id="p100276"></a>**ПОДПИСАННЫЙ ИНФО-НАБОР SOAP СООБЩЕНИЙ**

</div>


<a id="p100277"></a><soap:Envelope xmlns:soap="..." xmlns:wsse="..." xmlns:wsu="..." xmlns:ds="...">
  <soap:Header>
    <wsse:Security>
      <wsse:BinarySecurityToken wsu:Id="X509Token"
    ValueType="...#X509v3">
    ...
      </wsse:BinarySecurityToken>
      <ds:Signature>
        <ds:SignedInfo>
          <ds:CanonicalizationMethod
                Algorithm="urn:fastinfoset:c14n:exclusive">
             <c14n:InclusiveNamespaces PrefixList='wsse soap' xmlns:c14n="..."/>
          </ds:CanonicalizationMethod>
          <ds:SignatureMethod
                Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
          <ds:Reference URI="#TheBody">
            <ds:Transforms>
              <ds:Transform
                Algorithm="urn:fastinfoset:c14n:exclusive">
              <c14n:InclusiveNamespaces PrefixList="xmlns:c14n="..."/>
              </ds:Transform>
            </ds:Transforms>
            <ds:DigestMethod
               Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
            <ds:DigestValue>...</ds:DigestValue>
          </ds:Reference>
         </ds:SignedInfo>
         <ds:SignatureValue>...</ds:SignatureValue>
         <ds:KeyInfo>
           <wsse:SecurityTokenReference>
             <wsse:Reference URI="#X509Token"/>
           </wsse:SecurityTokenReference>
         </ds:KeyInfo>
       </ds:Signature>
     </wsse:Security>
   </soap:Header>
   <soap:Body wsu:Id="TheBody">
    <n:payment xmlns:n="...">1000</n:payment>
  </soap:Body>
</soap:Envelope>





<div align="right">

<a id="p100278"></a>Приложение C

</div>

(справочное)

<div align="center">

<a id="p100279"></a>**ПОДПИСАННЫЙ И ЗАШИФРОВАННЫЙ ИНФО-НАБОР SOAP СООБЩЕНИЙ**

</div>


<a id="p100280"></a><soap:Envelope xmlns:soap="..." xmlns:wsse="..." xmlns:wsu="..." xmlns:ds="..." xmlns:xenc="...">
  <soap:Header>
    <wsse:Security>
      <wsse:BinarySecurityToken wsu:Id="X509Token"
        ValueType="...#X509v3">
        ...
      </wsse:BinarySecurityToken>
      <xenc:EncryptedKey>
        <xenc:EncryptionMethod
              Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
        <ds:KeyInfo>
          <wsse:SecurityTokenReference>
            <wsse:Reference URI="#X509Token"/>
          </wsse:SecurityTokenReference>
        </ds:KeyInfo>
        <xenc:CipherData>
          <xenc:CipherValue>...</xenc:CipherValue>
        </xenc:CipherData>
        <xenc:ReferenceList>
          <xenc:DataReference URI="#EncryptedBodyContents"/>
        </xenc:ReferenceList>
      </xenc:EncryptedKey>
      <ds:Signature>
        <ds:SignedInfo>
          <ds:Canonicalization Method
                Algorithm="urn:fastinfoset:c14n:exclusive">
           <c14n:InclusiveNamespaces PrefixList='wsse soap'/xmlns:c14n="...">
         </ds:CanonicalizationMethod>
         <ds:SignatureMethod
                Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
         <ds:Reference URI="#TheBody">
           <ds:Transforms>
             <ds:Transform
               Algorithm="urn:fastinfoset:c14n:exclusive">
             <c14n:InclusiveNamespaces PrefixList="xmlns:c14n="..."/>
             </ds:Transform>
           </ds:Transforms>
           <ds:DigestMethod
             Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
           <ds:DigestValue>...</ds:DigestValue>
         </ds:Reference>
       </ds:SignedInfo>
       <ds:SignatureValue>...</ds:SignatureValue>
       <ds:KeyInfo>
         <wsse:SecurityTokenReference>
           <wsse:Reference URI="#X509Token"/>
         </wsse:SecurityTokenReference>
       </ds:KeyInfo>
     </ds:Signature>
   </wsse:Security>
</soap:Header>
<soap:Body wsu:Id="TheBody">
  <xenc:EncryptedData wsu:Id="EncryptedBodyContents"
        Type="urn:fastinfoset:element">
    <xenc:Encryption Method
          Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc"/>
      <xenc:CipherData>
        <xenc:CipherValue>...</xenc:CipherValue>
      </xenc:CipherData>
    </xenc:EncryptedData>
  </soap:Body>
</soap:Envelope>





<a id="p100281"></a>Приложение ДА
(справочное)

<div align="right">

<a id="p100282"></a>СВЕДЕНИЯ О СООТВЕТСТВИИ ССЫЛОЧНЫХ МЕЖДУНАРОДНЫХ СТАНДАРТОВ<br>
МЕЖГОСУДАРСТВЕННЫМ СТАНДАРТАМ

</div>


<a id="p100283"></a>Таблица ДА.1


<table>
<colgroup><col width="28%"><col width="18%"><col width="54%"></colgroup>
<tr><td><a id="p100284"></a>Обозначение международного стандарта</td><td><a id="p100285"></a>Степень соответствия</td><td><a id="p100286"></a>Обозначение и наименование межгосударственного стандарта</td></tr>
<tr><td><a id="p100287"></a>ISO/IEC 24824-1:2007</td><td><a id="p100288"></a>IDT</td><td><a id="p100289"></a><a href="https://bukva.ai/docs/standart-gost-isoiec-24824-1-2013">ГОСТ ISO/IEC 24824-1-2013</a> "Информационные технологии. Общие правила применения ASN.1. Быстрые команды. Часть 1"</td></tr>
<tr><td><a id="p100290"></a>ISO/IEC 10646:2003</td><td><a id="p100291"></a>-</td><td><a id="p100292"></a><a href="#p100293">&lt;*&gt;</a></td></tr>
<tr><td colspan="3"><a id="p100293"></a><a id="p100294"></a><a id="p100295"></a>&lt;*&gt; Соответствующий межгосударственный стандарт отсутствует. До его утверждения рекомендуется использовать перевод на русский язык данного международного стандарта.<br>Примечание - В настоящей таблице использовано следующее условное обозначение степени соответствия стандарта:<br>- IDT - идентичный стандарт.</td></tr>
</table>







## <a id="p100296"></a>БИБЛИОГРАФИЯ



| <a id="p100297"></a>[ITU-T X.509] | <a id="p100298"></a>ITU-T Recommendation X.509 (2005)\|ISO/IEC 9594-8:2005, Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks (Рекомендации X.509 (2005) МСЭ-Т\|ISO/IEC 9594-8:2005 Информационные технологии. Взаимосвязь открытых систем. Директория. Структура сертификата на общий ключ и атрибуты) |
| --- | --- |
| <a id="p100299"></a>[ANSI X9.52] | <a id="p100300"></a>ANSI X9.52: Triple Data Encryption Algorithm Modes of Operation, 1998 (Режимы работы алгоритма тройного шифрования данных, 1998) |
| <a id="p100301"></a>[FIPS 180-2] | <a id="p100302"></a>FIPS PUB 180-2, Secure Hash Standard, U.S. Department of Commerce/National Institute of Standards and Technology, 2002 (Стандарт безопасного хэширования, Департамент коммерции/Национальный Институт стандартов и технологий (США), 2002) |
| <a id="p100303"></a>[IETF RFC 2045] | <a id="p100304"></a>IETF RFC 2045 (1996), Multipurpose Internet Mail Extensions (MIME). Part One: Format of Internet Message Bodies (Многоцелевые расширения интернет-почты (MIME). Часть 1. Формат текста интернет-сообщения) |
| <a id="p100305"></a>[IETF RFC 3447] | <a id="p100306"></a>IETF RFC 3447 (2003), Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1 (Криптографические стандарты открытого ключа #1. RSA Криптографические спецификации версии 2.1) |
| <a id="p100307"></a>[WSS] | <a id="p100308"></a>OASIS Web Services Security (WSS): SOAP Message Security 1.1 (WS-Security 2004) (Безопасность веб-сервисов. Безопасность SOAP сообщений 1.1) |
| <a id="p100309"></a>[WS-I] | <a id="p100310"></a>WS-I Basic Security Profile 1.0 (Организация интероперабельности веб-сервисов (WS-I). Базовый профиль безопасности 1.0) |







<table>
<colgroup><col width="43%"><col width="41%"><col width="16%"></colgroup>
<tr><td><a id="p100311"></a>УДК 681.3:691.39:006.354</td><td><a id="p100312"></a>МКС 35.100.60</td><td><a id="p100313"></a>IDT</td></tr>
<tr><td colspan="3"><a id="p100314"></a>Ключевые слова: обработка данных, информационный обмен, сетевое взаимодействие, взаимосвязь открытых систем, ASN.1, шифрование, безопасность, быстрый инфо-набор</td></tr>
</table>




<a id="p100315"></a>

---
