Использование алгоритмов ГОСТ 28147-89, ГОСТ Р 34.10

advertisement
Сетевая рабочая группа
Проект рекомендации RFC
Предполагаемый статус: информационный
Срок действия истекает: 2 декабря 2010 г.
С. Леонтьев
П. Смирнов
А. Челпанов
ООО «КРИПТО-ПРО»
31 мая 2010 г.
Использование алгоритмов ГОСТ 28147-89, ГОСТ Р 34.10-2001 и ГОСТ Р 34.11-94
в протоколах и форматах сообщений на основе XML
draft-chudov-cryptopro-cpxmldsig-07
Аннотация
В этом документе определяются способы использования российских государственных
криптографических стандартов ГОСТ 28147-89, ГОСТ Р 34.10-2001 и ГОСТ Р 34.11-94
для подписей и шифрования XML, WS-SecureConversation, WS-SecurityPolicy и WSTrust. Определен ряд универсальных идентификаторов ресурсов (URI) и элементов
XML.
Статус этого документа
Этот проект рекомендации RFC представляется в полном соответствии с положениями
стандартов BCP 78 и BCP 79.
Проект рекомендации RFC – это рабочий документ Группы инженерной поддержки
Интернета (IETF). При этом распространять рабочие документы в виде проектов
рекомендаций RFC могут и другие группы. Список текущих проектов рекомендаций
RFC находится по адресу http://datatracker.ietf.org/drafts/current/.
Проекты рекомендаций RFC являются проектными документами, действительными в
течение не более шести месяцев, которые в любое время могут быть обновлены,
заменены или перекрыты другими документами. Проекты рекомендаций RFC
нецелесообразно использовать в качестве справочного материала или ссылаться на
них иначе, чем как на «незавершенный проект».
Срок действия этого проекта рекомендации RFC истекает 02 декабря 2010 г.
Уведомление об авторских правах
© Доверенные лица IETF и лица, определенные как авторы документа, 2010.
права защищены.
Все
Этот документ является подчиненным по отношению к стандарту BCP 78 и правовым
положениям IETF, относящимся к документам IETF (http://trustee.ietf.org/licenseinfo), вступившим в силу на дату опубликования данного документа. Мы
настоятельно рекомендуем внимательно ознакомиться с вышеуказанными документами,
поскольку в них описываются ваши права и накладываемые ограничения в отношении
настоящего документа. Часть кода, извлеченная из этого документа, должна
включать в себя упрощенный текст лицензии BSD, как это описано в разделе 4.е
Правовых положений и предоставляется без гарантий, как это описано в упрощенном
тексте лицензии BSD.
Леонтьев и другие
[Страница 1]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Оглавление
1.
2.
3.
4.
Введение . . . . . . . . . . . . . . . . . . . . . . . . 3
Криптографические алгоритмы ГОСТ . . . . . . . . . . . . . 3
Версия и пространства имен . . . . . . . . . . . . . . . . 3
Начальная часть схемы XML и замена DTD . . . . . . . . . . 4
4.1. Начальная часть схемы XML . . . . . . . . . . . . . . . 5
4.2. Замена DTD . . . . . . . . . . . . . . . . . . . .
5
5. Представление идентификаторов объекта . . . . . . . . . . . 5
6. Указание ГОСТ в подписи XML и при шифровании XML . .
5
6.1. Алгоритм по ГОСТ Р 34.11-94 в DigestMethod . . . . . . 6
6.2. Алгоритм HMAC по ГОСТ Р 34.11-94 в SignatureMethod .
6
6.3. Алгоритм по ГОСТ Р 34.10-2001 в SignatureMethod . . . . 7
6.4. Открытый ключ по ГОСТ Р 34.10-2001 в KeyValue . . . . . 8
6.4.1. Корневой элемент значения ключа . . . . . . . . . . .8
6.4.2. Параметры открытого ключа . . . . . . . . . . . . . . 9
6.5. Алгоритм согласования ключа на основе ГОСТ Р 34.10-2001 в
AgreementMethod
. . . . . . . . . . . . . . . . . . . . 10
6.6. Алгоритм передачи ключа на основе ГОСТ Р 34.10-2001 в EncryptionMethod
. . . . . . . . . . . . . . . . . . . . . 10
6.7. Алгоритм ГОСТ 28147-89 в EncryptionMethod . . . . . . 11
6.8. Шифрование симметричных ключей . . . . . . . . . . . . . . . . . 12
6.8.1. Шифрование ключей по ГОСТ 28147-89 в EncryptionMethod . . . 12
6.8.2. Шифрование ключей CryptoPro в EncryptionMethod . . . . . . . 14
7. Указание ГОСТа в протоколах семейства WS-* . . . . . . . . . . . . . 15
7.1. Набор алгоритмов по ГОСТ для WS-SecurityPolicy . . . . . .
. 15
7.2. Алгоритм создания производного ключа по ГОСТ для WS-SecureConversation
16
7.3. Механизм создания вычисляемого ключа по ГОСТ для WS-Trust . . .. 17
7.4. Использование WS-Trust для согласования соединения TLS с помощью набора
алгоритмов ГОСТ
. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8. Вопросы безопасности . . . . . . . . . . . . . . . . . . 18
9. Согласование с IANA . . . . . . . . . . . . . . . . . . . 19
9.1. Регистрация подпространства имен URN для
urn:ietf:params:xml:ns:cpxmlsec . . . . . . . . . . . 19
9.2. Регистрация схемы . . . . . . . . . . . . . . . . . . 19
10. Ссылки . . . . . . . . . . . . . . . . . . . . . . . . . 19
10.1. Ссылки на нормативные документы . . . . . . . . . . . 19
10.2. Информационные ссылки . . . . . . . . . . . . . . . . 23
Приложение А. Составная схема XML . . . . . . . . . . . . . . 23
Приложение Б. Составная схема DTD . . . . . . . . . . . . . . 24
Приложение В. Примеры . . . . . . . . . . . . . . . . . . . . 25
В.1. Подписанный документ . . . . . . . . . . . . . . . . .25
Приложение Г. Благодарности . . . . . . . . . . . . . . . . . 26
Авторы и их адреса . . . . . . . . . . . . . . . . . . . . . . 27
Леонтьев и другие
[Страница 2]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
1.
Введение
В настоящем документе определяются способы использования цифровых подписей и
открытых ключей по ГОСТ Р 34.10-2001, хэширования по ГОСТ Р 34.11-94, алгоритмов
шифрования по ГОСТ 28147-89 для подписи XML (подпись XMLDSIG), шифрования XML
(XMLENC-CORE), в протоколах WS-SecureConversation (WS-SECURECONVERSATION), WSSecurityPolicy (WS-SECURITYPOLICY) и WS-Trust (WS-TRUST).
В этом документе для указания соответствующих структур XML используется как
схема XML([XML-SCHEMA-1], [XML-SCHEMA-2])(нормативная), так и схема DTD [XML]
(информационная).
Ключевые слова «ДОЛЖЕН» (MUST), «НЕ ДОЛЖЕН» (MUST NOT), «ТРЕБУЕТСЯ» (REQUIRED),
«НУЖНО» (SHALL), «НЕ НУЖНО» (SHALL NOT), «СЛЕДУЕТ» (SHOULD), «НЕ СЛЕДУЕТ»
(SHOULD NOT), «РЕКОМЕНДУЕТСЯ» (RECOMMENDED), «МОЖЕТ» (MAY) и «НЕОБЯЗАТЕЛЬНО»
(OPTIONAL), встречающиеся в данном документе, следует интерпретировать в
соответствии с положениями [KEYWORDS].
2.
Криптографические алгоритмы по ГОСТ
Алгоритмы по ГОСТ Р 34.10-2001, ГОСТ Р 34.11-94 и ГОСТ 28147-89 разработаны
Российским федеральным агентством правительственной связи и информации (ФАПСИ) и
Всероссийским научно-исследовательским институтом стандартизации. Они описаны в
[ГОСТ Р 341001], [ГОСТ Р 341194] ([ГОСТ 3431004] и [ГОСТ 3431195]) и [ГОСТ
28147]. РЕКОМЕНДУЕМЫЕ параметры для этих алгоритмов описаны в [CPALGS].
3.
Версия и пространства имен
Эта спецификация не предусматривает явного указания номера версии в синтаксисе.
Если в будущем понадобится указание версии, то будет необходимо использовать
другое пространство имен.
Идентификатор URI [RFC3986] пространства имен XML [XML-NS], который ДОЛЖЕН
использоваться реализациями настоящей (датированной) спецификации:
urn:ietf:params:xml:ns:cpxmlsec
В настоящей спецификации используются такие внешние пространства имен XML (без
разрывов строк, выбор любого префикса пространства имен является произвольным и
семантически незначимым):
http://www.w3.org/2000/09/xmldsig#
Префикс:
dsig
Леонтьев и другие
[Страница 3]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Спецификация:
[XMLDSIG]
http://www.w3.org/2001/04/xmlenc#
Префикс:
xenc
Спецификация:
[XMLENC-CORE]
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702
Префикс:
sp
Спецификация:
[WS-SECURITYPOLICY]
http://www.w3.org/ns/ws-policy
Префикс:
wsp
Спецификация:
[WS-POLICY]
http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512
Префикс:
wsc
Спецификация:
[WS-SECURECONVERSATION]
http://docs.oasis-open.org/wss/2004/01/
oasis-200401-wss-wssecurity-secext-1.0.xsd
Префикс:
wsse
Спецификация:
[WS-SECURITY]
http://docs.oasis-open.org/ws-sx/ws-trust/200512/
Префикс:
wst
Спецификация:
[WS-TRUST]
В остальных разделах этого документа элементы внешнего пространства имен
помечены с помощью префиксов пространств имен, определенных выше.
4.
Начальная часть XML-схемы и замена DTD
Леонтьев и другие
[Страница 4]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
4.1.
Начальная часть XML-схемы
Следующая начальная часть предназначена для использования с определениями схемы
XML, приведенными в остальных разделах настоящего документа.
<xs:schema
xmlns:cpxmlsec="urn:ietf:params:xml:ns:cpxmlsec"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
targetNamespace="urn:ietf:params:xml:ns:cpxmlsec"
elementFormDefault="qualified"
version="0.4">
4.2.
Замена DTD
Чтобы включить соответствующий ГОСТу синтаксис подписи XML, определение элемента
Key.ANY СЛЕДУЕТ заменить здесь[XMLDSIG]:
<!ENTITY % KeyValue.ANY '| cpxmlsec:GOSTKeyValue'>
5.
Представление идентификаторов объекта
Идентификаторы объектов (Object Identifiers, OIDs) включаются в XML с помощью
соответствующего значения URN, как это определено в [URNOID].
Для определения параметров алгоритма с помощью идентификаторов объектов должен
использоваться следующий тип:
<xs:simpleType name="ObjectIdentifierType">
<xs:restriction base="xs:anyURI">
<xs:pattern value=
"urn:oid:(([0-1]\.[1-3]?\d)|(2\.\d+))(\.\d+)*" />
</xs:restriction>
</xs:simpleType>
6.
Указание ГОСТ в подписи XML и при шифровании XML
В этом разделе определяются подробности использования алгоритмов по ГОСТ для
подписи и шифрования XML в соответствии с [XMLDSIG] и [XMLENC-CORE]. Они в
значительной мере опираются на синтаксис и пространства имен, определенные в
[XMLDSIG] и [XMLENC-CORE].
Леонтьев и другие
[Страница 5]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
6.1.
Алгоритм ГОСТ Р 34.11-94 в DigestMethod
Идентификатор для алгоритма хэширования по ГОСТ Р 34.11-94:
urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411
Узел dsig:DigestMethod может содержать дочерний узел cpxmlsec:ParametersR3411,
задающий параметры для алгоритма ГОСТ Р 34.11-94.
Узел cpxmlsec:ParametersR3411 содержит один идентификатор объекта, определенный
в разделе 8.2 [CPALGS]. Если узел cpxmlsec:ParametersR3411 отсутствует,
приложение должно получить параметры алгоритма из других источников.
Если приложение не использует узел cpxmlsec:ParametersR3411, ему СЛЕДУЕТ
использовать параметры, соответствующие id-GostR3411-94-CryptoProParamSet (см.
раздел 11.2 в [CPALGS]).
Определение схемы:
<xs:element name="ParametersR3411"
type="cpxmlsec:ObjectIdentifierType"/>
Определение DTD:
<!ELEMENT ParametersR3411 (#PCDATA) >
Пример узла dsig:DigestMethod для ГОСТ Р 34.11-94:
<dsig:DigestMethod dsig:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411">
<!-- id-GostR3411-94-CryptoProParamSet -->
<cpxmlsec:ParametersR3411>urn:oid:1.2.643.2.2.30.1<
/cpxmlsec:ParametersR3411>
</dsig:DigestMethod>
Размер хэш-значения ГОСТ Р 34.11-94 составляет 256 бит. Содержимое элемента
dsig:DigestValue должно быть результатом кодирования в формате base64 [RFC4648]
этой строки битов, представленной в виде последовательности из 32 октетов.
6.2.
Алгоритм HMAC по ГОСТ Р 34.11-94 в SignatureMethod
ГОСТ Р 34.11-94 может также использоваться как алгоритм аутентификации сообщения
на основе вычисления хэш-значения (HMAC) [HMAC], как это описано в разделе 6.3.1
[XMLDSIG]. Идентификатор:
Леонтьев и другие
[Страница 6]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
urn:ietf:params:xml:ns:cpxmlsec:algorithms:hmac-gostr3411
Узел dsig:SignatureMethod
cpxmlsec:ParametersR3411,
В этом случае синтаксис и
эквивалентны синтаксису и
может содержать дочерний узел
задающий параметры для алгоритма ГОСТ Р 34.11-94.
правила интерпретации узла cpxmlsec:ParametersR3411
правилам интерпретации узла dsig:DigestMethod.
Пример узла disg:SignatureMethod с заданным алгоритмом аутентификации сообщения
на основе вычисления хэш-значения (HMAC) ГОСТ Р 34.11-94:
<dsig:SignatureMethod dsig:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:hmac-gostr3411">
<!-- id-GostR3411-94-CryptoProParamSet -->
<cpxmlsec:ParametersR3411>urn:oid:1.2.643.2.2.30.1<
/cpxmlsec:ParametersR3411>
</dsig:SignatureMethod>
Выходные данные алгоритма HMAC по ГОСТ Р 34.11-94 – это в конечном счете
выходные данные алгоритма хэширования по ГОСТ Р 34.11-94. Данное значение
должно быть закодировано в формате base64 [RFC4648] для указания в элементе
dsig:SignatureValue так же, как и выходные данные алгоритма хэширования в
разделе 6.1.
6.3.
Алгоритм ГОСТ Р 34.10-2001 в SignatureMethod
Входные данные алгоритма ГОСТ Р 34.10-2001 – это каноническое представление
элемента dsig:SignedInfo, которое определено в разделе 3 документа [XMLDSIG].
Идентификатор алгоритма подписи ГОСТ Р 34.10-2001 (без переноса строки):
urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411
Пример узла dsig:SignatureMethod со значением по ГОСТ Р 34.10-2001 (без переноса
строки в значении атрибута):
<dsig:SignatureMethod dsig:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001gostr3411" />
Подпись по ГОСТ Р 34.10-2001 – это значение, состоящее из 64 октетов, которое
описано в разделе 2.2.2 [CPPK]. Содержимое элемента dsig:SignatureValue должно
быть закодировано в формате base64 [RFC4648].
Леонтьев и другие
[Страница 7]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
6.4.
6.4.1.
Открытый ключ ГОСТ Р 34.10-2001 в KeyValue
Корневой элемент значения ключа
Открытый ключ по ГОСТ Р 34.10-2001 может быть передан в узле
cpxmlsec:GOSTKeyValue. Он включается в узел dsig:KeyValue таким же образом, как
dsig:RSAKeyValue или xenc:DHKeyValue.
Узел cpxmlsec:GOSTKeyValue состоит из необязательного дочернего узла
cpxmlsec:PublicKeyParameters и обязательного дочернего узла cpxmlsec:PublicKey.
Если узел cpxmlsec:PublicKeyParameters отсутствует, приложение должно получить
параметры из других источников.
Определение схемы:
<xs:element name="GOSTKeyValue"
type="cpxmlsec:KeyValueType"/>
<xs:complexType name="KeyValueType">
<xs:sequence>
<xs:element name="PublicKeyParameters"
type="cpxmlsec:PublicKeyParametersType"
minOccurs="0"/>
<xs:element name="PublicKey" type="xs:base64Binary"/>
</xs:sequence>
</xs:complexType>
Определение DTD:
<!ELEMENT GOSTKeyValue (
PublicKeyParameters?, PublicKey) >
<!ELEMENT PublicKey (#PCDATA) >
Если приложение не использует узел cpxmlsec:PublicKeyParameters, ему СЛЕДУЕТ
использовать параметры, определенные набором DefaultPublicKeyParameters.
Леонтьев и другие
[Страница 8]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
DefaultPublicKeyParameters:
<cpxmlsec:PublicKeyParameters>
<!-- id-GostR3410-2001-CryptoPro-A-ParamSet -->
<cpxmlsec:publicKeyParamSet>urn:oid:1.2.643.2.2.35.1<
/cpxmlsec:publicKeyParamSet>
<!-- id-GostR3411-94-CryptoProParamSet -->
<cpxmlsec:digestParamSet>urn:oid:1.2.643.2.2.30.1</
cpxmlsec:digestParamSet>
<!-- id-Gost28147-89-CryptoPro-A-ParamSet -->
<cpxmlsec:encryptionParamSet>urn:oid:1.2.643.2.2.31.1</
cpxmlsec:encryptionParamSet>
</cpxmlsec:PublicKeyParameters>
6.4.2.
Параметры открытого ключа
Узел cpxmlsec:PublicKeyParameters содержит три идентификатора объекта:
cpxmlsec:publicKeyParamSet, cpxmlsec:digestParamSet и необязательный
идентификатор cpxmlsec:encryptionParamSet. Значения параметров, соответствующие
этим идентификаторам объектов, можно найти в[CPALGS].
Определение схемы:
<xs:complexType name="PublicKeyParametersType">
<xs:sequence>
<xs:element name="publicKeyParamSet"
type="cpxmlsec:ObjectIdentifierType"/>
<xs:element name="digestParamSet"
type="cpxmlsec:ObjectIdentifierType"/>
<xs:element name="encryptionParamSet"
type="cpxmlsec:ObjectIdentifierType"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Определение DTD:
<!ELEMENT PublicKeyParameters (
publicKeyParamSet, digestParamSet,
encryptionParamSet?) >
<!ELEMENT publicKeyParamSet (#PCDATA) >
<!ELEMENT digestParamSet (#PCDATA) >
<!ELEMENT encryptionParamSet (#PCDATA) >
Леонтьев и другие
[Страница 9]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
6.5.
Алгоритм согласования ключа на основе ГОСТ Р 34.10-2001 в AgreementMethod
Алгоритм согласования ключа, основанный на открытых ключах по ГОСТ Р 34.10-2001
(см. раздел 5 [CPALGS]), включает в себя создание производной информации от
общей секретной информации с использованием ключей отправителя и получателя.
Идентификатор алгоритма согласования ключа, основанного на ГОСТ Р 34.10-2001:
urn:ietf:params:xml:ns:cpxmlsec:algorithms:agree-gost2001
Пример узла AgreementMethod, задающего алгоритм согласования ключа, основанный
на ГОСТ Р 34.10-2001:
<xenc:AgreementMethod xenc:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:agree-gost2001">
<xenc:KA-Nonce>...</xenc:KA-Nonce>
<xenc:OriginatorKeyInfo>
<dsig:X509Data><dsig:X509Certificate>
...
</dsig:X509Certificate></dsig:X509Data>
</xenc:OriginatorKeyInfo>
<xenc:RecipientKeyInfo><dsig:KeyValue>
...
</dsig:KeyValue></xenc:RecipientKeyInfo>
</xenc:AgreementMethod>
Общий ключевой материал для алгоритма, основанного на ГОСТ Р 34.10-2001, следует
вычислять как результат функции ВКО ГОСТ Р 34.10-2001 (см. раздел 5.2 [CPALGS]),
которая генерирует ключ шифрования ключей по ГОСТ (KEK) с помощью двух пар
ключей по ГОСТ Р 34.10-2001 и ключевого материала пользователя. При
использовании ключевого материала пользователя узел xenc:KA-Nonce метода
xenc:AgreementMethod содержит его 64-битное значение, закодированное в формате
base64.
6.6.
Алгоритм передачи ключа на основе ГОСТ Р 34.10-2001 в EncryptionMethod
Алгоритм передачи ключа, основанный на ВКО ГОСТ Р 34.10-2001 (см. [CPALGS])
является алгоритмом шифрования с открытым ключом, который ДОЛЖЕН использоваться
только для шифрования или расшифрования ключа.
Идентификатор алгоритма передачи ключа, основанный на ВКО ГОСТ Р 34.10-2001:
urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001
Леонтьев и другие
[Страница 10]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Пример узла EncryptedKey для передачи ключа, основанного на ВКО ГОСТ Р 34.102001:
<xenc:EncryptedKey>
<xenc:EncryptionMethod xenc:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001" />
<dsig:KeyInfo>
<dsig:X509Data><dsig:X509Certificate>
...
</dsig:X509Certificate></dsig:X509Data>
</dsig:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
Значение CipherValue для такого зашифрованного ключа – это результат
кодирования в DER (см. [X.208-88]) структуры GostR3410-KeyTransport, (см. раздел
4.2.1 [CPCMS]), закодированный в свою очередь в формате base64.
6.7.
Алгоритм по ГОСТ 28147-89 в EncryptionMethod
Идентификатор для алгоритма симметричного шифрования по ГОСТ Р 28147-89:
urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147
Узел xenc:EncryptionMethod может содержать дочерний узел
cpxmlsec:Parameters28147, задающий параметры для алгоритма по ГОСТ Р 28147-89.
cpxmlsec:Parameters28147 определяет набор параметров, соответствующих Gost2814789-ParamSetParameters (см. раздел 8.1 [CPALGS]).
Режим шифрования определяется параметром mode (режим) структуры Gost28147-89ParamSetParameters. РЕКОМЕНДУЕТСЯ использовать режимы CFB и CNT.
Если узел
cpxmlsec:Parameters28147 отсутствует, приложение должно получить параметры
алгоритма из других источников.
Если приложение не использует узел cpxmlsec:Parameters28147, ему СЛЕДУЕТ
использовать параметры, соответствующие id-Gost28147-89-CryptoPro-A-ParamSet
(см. раздел 10.2 в [CPALGS]).
Определение схемы:
<xs:element name="Parameters28147"
type="cpxmlsec:ObjectIdentifierType" />
Леонтьев и другие
[Страница 11]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Определение DTD:
<!ELEMENT Parameters28147 (#PCDATA) >
Пример узла xenc:EncryptionMethod ГОСТ 28147-89:
<xenc:EncryptionMethod dsig:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147">
<!-- id-Gost28147-89-CryptoPro-A-ParamSet -->
<cpxmlsec:Parameters28147>urn:oid:1.2.643.2.2.31.1<
/cpxmlsec:Parameters28147>
</xenc:EncryptionMethod>
В алгоритме шифрования по ГОСТ 28147-89 используются 256-битный ключ, 64-битный
вектор инициализации(IV), а также необязательные параметры. К тексту,
полученному в результате шифрования, добавляется префикс «IV». При включении в
выходные данные XML он кодируется в формате base64.
6.8.
Шифрование симметричных ключей
Рассматриваемые в этом разделе алгоритмы шифрования симметричных ключей - это
алгоритмы шифрования общего секретного ключа, которые ДОЛЖНЫ использоваться
только для шифрования и расшифровывания симметричных ключей.
6.8.1.
Шифрование ключей по ГОСТ 28147-89 в EncryptionMethod
Алгоритм шифрования ключей по ГОСТ 28147-89 (GOST 28147-89 Key Wrap)
зашифровывает ключ (зашифрованный ключ, WK) в соответствии с ГОСТ 28147-89 (как
указано в разделах 6.1, 6.2 [CPALGS]).
Примечание. Этот алгоритм НЕ ДОЛЖЕН использоваться без алгоритма согласования
ключей, потому что такой зашифрованный ключ является постоянным для каждой пары
ключей для шифрования. Шифрование множества разных ключей с помощью одного и
того же ключа может привести к раскрытию этого ключа. Совместно с алгоритмом
шифрования ключей ГОСТ 28147-89 (GOST 28147-89 Key Wrap), определенным в
настоящей спецификации, можно использовать только алгоритм согласования ключей,
основанный на ГОСТ Р 34.10-2001 (см. раздел 6.5).
Идентификатор для алгоритма шифрования ключей по ГОСТ 28147-89 (GOST 28147-89
Key Wrap):
urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-gost
Значение CipherValue для такого зашифрованного ключа – это результат кодирования
в DER (см. [X.208-88]) структуры GostR3410-KeyWrap, закодированный в свою
очередь в формате base64.
Леонтьев и другие
[Страница 12]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Структура языка ASN.1:
GostR3410-KeyWrap ::=
SEQUENCE {
encryptedKey Gost28147-89-EncryptedKey,
encryptedParameters Gost28147-89-KeyWrapParameters
}
Пример узла EncryptedData, задающего алгоритм шифрования ключей ГОСТ 28147-89:
<xenc:EncryptedData>
<xenc:EncryptionMethod dsig:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147" />
<dsig:KeyInfo>
<xenc:EncryptedKey>
<xenc:EncryptionMethod xenc:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-gost" />
<dsig:KeyInfo>
<xenc:AgreementMethod xenc:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:agree-gost2001">
<xenc:KA-Nonce>...</xenc:KA-Nonce>
<xenc:OriginatorKeyInfo>
<dsig:X509Data><dsig:X509Certificate>
...
</dsig:X509Certificate></dsig:X509Data>
</xenc:OriginatorKeyInfo>
<xenc:RecipientKeyInfo><dsig:KeyValue>
...
</dsig:KeyValue></xenc:RecipientKeyInfo>
</xenc:AgreementMethod>
</dsig:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</dsig:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...</xenc:CipherValue>
</xenc:CipherData>
</xend:EncryptedData>
Параметры Gost28147-89-KeyWrapParameters описаны в разделе 4.1.1 [CPCMS].
Значение узла xenc:KA-Nonce узла xenc:AgreementMethod ДОЛЖНО использоваться как
ключевой материал пользователя.
Полученный зашифрованный ключ (wrapped key, WK) помещается в поле EncryptedKey
структуры Gost28147-89-EncryptedKey, его значение mac (CEK_MAC) – в поле macKey
структуры Gost28147-89-EncryptedKey. Поле ukm в структуре Gost28147-89KeyWrapParameters ДОЛЖНО отсутствовать.
Леонтьев и другие
[Страница 13]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
6.8.2.
Шифрование ключей CryptoPro в EncryptionMethod
Алгоритм шифрования ключей CryptoPro (CryptoPro Key Wrap) шифрует ключ
(зашифрованный ключ, WK) с использованием механизма, указанного в разделах 6.3,
6.4 [CPALGS].
Идентификатор для алгоритмов шифрования ключей CryptoPro (CryptoPro Key Wrap):
urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-cp
Значение CipherValue для такого зашифрованного ключа – результат кодирования в
DER (см. [X.208-88]) структуры GostR3410-KeyWrap (см. раздел 6.8.1),
закодированный в свою очередь в формате base64 .
Пример узла EncryptedData, задающего алгоритм шифрования ключей CryptoPro
(CryptoPro Key Wrap):
<xenc:EncryptedData>
<xenc:EncryptionMethod dsig:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147" />
<dsig:KeyInfo>
<xenc:EncryptedKey>
<xenc:EncryptionMethod xenc:Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-cp" />
<dsig:KeyInfo>
<dsig:KeyName>John Smith</dsig:KeyName>
</dsig:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</dsig:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...</xenc:CipherValue>
</xenc:CipherData>
</xend:EncryptedData>
Полученный зашифрованный ключ (wrapped key, WK) помещается в поле encryptedKey
структуры Gost28147-89-EncryptedKey, его значение mac (CEK_MAC) – в поле macKey
структуры Gost28147-89-EncryptedKey.
Если алгоритм шифрования ключей CryptoPro (CryptoPro Key Wrap) сочетается с
алгоритмом согласования ключей, то значение узла xenc:KA-Nonce узла
xenc:AgreementMethod ДОЛЖНО использоваться как ключевой материал пользователя.
Поле ukm в типе Gost28147-89-KeyWrapParameters должно отсутствовать.
Леонтьев и другие
[Страница 14]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Примечание. Данная спецификация определяет единственный алгоритм согласования
ключей, допускаемый к использованию совместно с алгоритмом шифрования ключей
CryptoPro (CryptoPro Key Wrap) - алгоритм, основанный на ГОСТ Р 34.10-2001 (см.
раздел 6.5).
Если алгоритм шифрования ключей CryptoPro (CryptoPro Key Wrap) не сочетается с
алгоритмом согласования ключей, то в типе Gost28147-89-KeyWrapParameters ДОЛЖНО
присутствовать поле ukm.
7.
Указание ГОСТа в протоколах семейства WS-*
В этом разделе определяются подробности использования алгоритмов ГОСТ с WSSecureConversation [WS-SECURECONVERSATION], WS-SecurityPolicy [WSSECURITYPOLICY] и WS-Trust [WS-TRUST].
7.1.
Набор алгоритмов по ГОСТ для WS-SecurityPolicy
В настоящей спецификации определяется новое возможное значение для свойства
[Algorithm Suite] привязки безопасности (Security Binding) (см. раздел 6.1 [WSSECURITYPOLICY]). Новое значение – BasicGost.
Набор алгоритмов BasicGost определяет следующие значения для операций и свойств
(без разрывов строк в идентификаторах URI):
[Sym Sig]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:hmac-gostr3411
[Asym Sig]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001gostr3411
[Dig]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411
[Enc]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147
[Sym KW]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-cp
[Asym KW]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001
[Comp Key]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:dk-p-gostr3411
[Enc KD]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:dk-p-gostr3411
[Sig KD]
urn:ietf:params:xml:ns:cpxmlsec:algorithms:dk-p-gostr3411
[Min SKL]
256
Леонтьев и другие
[Страница 15]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
[Max SKL]
256
[Min AKL]
512
[Max AKL]
512
Примечание. Определения алгоритмов [Comp Key], [Enc KD] и [Sig KD] см. в разделе
7.2
Чтобы указать требование использовать определенный выше набор алгоритмов по
ГОСТ, соответствующие реализации ДОЛЖНЫ помещать узел cpxmlsec:BasicGost в узел
sp:AlgorithmSuite (см. раздел 7.1 [WS-SECURITYPOLICY]).
Определение схемы:
<xs:element name="BasicGost"
type="sp:QNameAssertionType"/>
Определение DTD:
<!ELEMENT BasicGost EMPTY >
Пример набора алгоритмов ГОСТ в выражении sp:AlgorithmSuite:
<sp:AlgorithmSuite>
<wsp:Policy>
<cpxmlsec:BasicGost/>
</wsp:Policy>
</sp:AlgorithmSuite>
7.2.
Алгоритм создания производного ключа по ГОСТ для WS-SecureConversation
Настоящая спецификация определяет новое возможное значение атрибута алгоритма
узла wsc:DerivedKeyToken (см. раздел 7 [WS-SECURECONVERSATION]).
Новый идентификатор алгоритма создания производного ключа:
urn:ietf:params:xml:ns:cpxmlsec:algorithms:dk-p-gostr3411
Леонтьев и другие
[Страница 16]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Пример алгоритма создания производного ключа по ГОСТ в узле wsc:DerivedKeyToken:
<wsc:DerivedKeyToken Algorithm=
"urn:ietf:params:xml:ns:cpxmlsec:algorithms:dk-p-gostr3411">
<wsse:SecurityTokenReference>...</wsse:SecurityTokenReference>
<wsc:Nonce>...</wsc:Nonce>
</wsc:DerivedKeyToken>
Для получения ключей алгоритм создания производного ключа по ГОСТ использует
псевдослучайную функцию P_GOSTR3411 (см. раздел 4 [CPALGS]) точно так же, как и
функция P_SHA-1, используется в разделе 7 [WS-SECURECONVERSATION].
7.3.
Механизм создания вычисляемого ключа ГОСТ для WS-Trust
Настоящая спецификация определяет новое возможное значение для узла
wst:ComputedKey (см. раздел 4.4.4 [WS-Trust]).
Новый идентификатор механизма создания вычисляемого ключа:
urn:ietf:params:xml:ns:cpxmlsec:algorithms:ck-p-gostr3411
Пример механизма создания вычисляемого ключа ГОСТ в узле wst:ComputedKey (без
разрывов строк):
<wst:ComputedKey>
urn:ietf:params:xml:ns:cpxmlsec:algorithms:ck-p-gostr3411
</wst:ComputedKey>
Для вычисления ключа механизм создания вычисляемого ключа ГОСТ использует
псевдослучайную функцию P_GOSTR3411 (см. раздел 4 [CPALGS]) подобно тому, как
функция P_SHA-1 используется в разделе 4.4.4 [WS-Trust]. ТРЕБУЕТСЯ, чтобы
значения EntREQ и EntRES были строками длиной 256 бит.
7.4. Использование WS-Trust для согласования соединения TLS с помощью набора
алгоритмов ГОСТ
В настоящей спецификации определяется способ использования WS-Trust ([WS-TRUST])
для согласования соединения TLS (TLS Handshake, см. [TLS]) и установления
безопасного сеанса для набора алгоритмов шифрования по ГОСТ (GOST Algorithm
Suite).
WS-Trust может использоваться для согласования соединения TLS, как это указано в
[WS-TRUST-TLS]. Итогом работы обсуждаемого протокола является новый сессионный
ключ, выпущенный с помощью безопасной сессии, установленной посредством
согласования соединения TLS. Выпущенный сессионный ключ предназначен для
обеспечения дальнейшего взаимодействия с помощью WS-Security ([WS-SECURITY]).
Леонтьев и другие
[Страница 17]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Если приложению необходимо использовать набор алгоритмов по ГОСТ после
выполнения согласования соединения TLS посредством WS-Trust, то оно ДОЛЖНО
использовать один из наборов алгоритмов шифрования ГОСТ 28147-89 для TLS (см.
[draft.CPTLS]).
Базовая последовательность действий согласования TLS через WS-Trust,
определенная в настоящей спецификации, соответствует [WS-TRUST-TLS], но имеются
некоторые отличия, указанные ниже, которые НУЖНО учитывать.
Абзац R4305 (см. раздел 4.3 [WS-TRUST-TLS]) ДОЛЖЕН быть заменен следующим
текстом:
The responder is responsible for issuing the key associated with
the
TLSNego session (Ответственность за выдачу ключа, связанного с сеансом TLSNego,
лежит на отвечающей стороне). Если инициирующая сторона в исходном сообщении
RST запросила свойства сгенерированного ключа (например, размер ключа), то
СЛЕДУЕТ генерировать ключ так, чтобы он соответствовал этим требованиям.
Выпущенный ключ ДОЛЖЕН быть возвращен обратно инициирующей стороне с помощью
элемента wst:RequestedProofToken, кроме того, он ДОЛЖЕН быть защищен с помощью
алгоритма шифрования ключей CryptoPro (CryptoPro Key Wrap) (см. раздел 6.3
[CPALGS]), где server_write_key (см. раздел 6.3 [TLS]) является шифрующим
ключом.
Зашифрованный ключ содержится в элементах
<xenc:CipherData><xenc:CipherValue>...</xenc:CipherValue></xenc:CipherData> узла
xenc:EncryptedKey.
Алгоритмы по ГОСТ Р 34.11-94 и P_GOSTR3411 ДОЛЖНЫ использоваться соответственно
вместо алгоритмов SHA1 и PSHA1 для вычисления удостоверения (authenticator) (см.
раздел 4.9 [WS-TRUST-TLS]).
8.
Вопросы безопасности
Приложения, совместимые с настоящим документом, ДОЛЖНЫ использовать уникальные
значения ukm и iv.
Получатели МОГУТ проверять уникальность полей ukm и iv, указанных отправителем.
Приложениям СЛЕДУЕТ удостовериться в том, что значения подписей, открытые ключи
субъекта и параметры алгоритма соответствуют стандарту [GOSTR341001], перед их
использованием.
Параметры криптографического алгоритма влияют на его стойкость. Использование
параметров, не перечисленных в [CPALGS], НЕ РЕКОМЕНДУЕТСЯ (см. раздел «Вопросы
безопасности» [CPALGS]).
НЕ РЕКОМЕНДУЕТСЯ использовать один и тот же ключ для подписи и для создания
производного ключа.
НЕ РЕКОМЕНДУЕТСЯ использовать шифрование XML без подписи XML или HMAC.
Леонтьев и другие
[Страница 18]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
9.
Согласование с IANA
В настоящем документе используются универсальные имена ресурсов (URN) для
описания пространств имен XML и схем XML, соответствующих механизму регистрации,
описанному в [RFC3688]. IANA зарегистрировала два значения универсального
идентификатора ресурса (URI).
9.1.
Регистрация подпространства имен URN для urn:ietf:params:xml:ns:cpxmlsec
URI: urn:ietf:params:xml:ns:cpxmlsec
Контактные данные лица, подающего заявление о регистрации:
Михаил В. Павлов
ООО «КРИПТО-ПРО»
Сущевский вал, 16/5
Москва, 127018
Россия
Телефон: +7 (495) 780 4820
Факс: +7 (495) 660 2330
Эл. адрес: pav@CryptoPro.ru
Сайт: http://www.CryptoPro.ru
XML: отсутствует.
XML.
9.2.
Адреса пространства имен не представляют собой спецификацию
Регистрация схемы
URI: urn:ietf:params:xml:schema:cpxmlsec
Контактные данные лица, подающего заявление о регистрации:
Михаил В. Павлов
ООО «КРИПТО-ПРО»
Сущевский вал, 16/5
Москва, 127018
Россия
Телефон: +7 (495) 780 4820
Факс: +7 (495) 660 2330
Эл. адрес: pav@CryptoPro.ru
Сайт: http://www.CryptoPro.ru
XML: XML можно найти в Приложении А.
10.
10.1.
Ссылки
Нормативные ссылки
[CPALGS] В. Попов, И. Курепкин и С. Леонтьев, «Дополнительные алгоритмы
шифрования для использования с алгоритмами по ГОСТ 28147-89, ГОСТ Р 34.10-94,
ГОСТ Р 34.10-2001 и ГОСТ Р 34.11-94» (Popov, V., Kurepkin, I., and S. Leontiev,
«Additional Cryptographic Algorithms for Use with GOST 28147-89, GOST R 34.1094, GOST R 34.10-2001, and GOST R 34.11-94 Algorithms»), RFC 4357, январь
2006 г.
Леонтьев и другие
[Страница 19]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
[CPCMS] С. Леонтьев и Г. Чудов, «Использование алгоритмов по ГОСТ 28147-89, ГОСТ
Р 34.11-94, ГОСТ Р 34.10-94 и ГОСТ Р 34.10-2001 в криптографических сообщениях
формата CMS» (Leontiev, S. and G. Chudov, «Using the GOST 28147-89, GOST R
34.11-94, GOST R 34.10-94, and GOST R 34.10-2001 Algorithms with Cryptographic
Message Syntax (CMS)»), RFC 4490 , май 2006 г.
[CPPK] С. Леонтьев и Д. Шефановский, «Использование алгоритмов по ГОСТ Р 34.1094, ГОСТ Р 34.10-2001 и ГОСТ Р 34.11-94 в профиле сертификата и списка отзыва
сертификатов (CLR) инфраструктуры открытых ключей Интернет X.509» (Leontiev, S.
and D. Shefanovski, «Using the GOST R 34.10-94, GOST R 34.10-2001, and GOST R
34.11-94 Algorithms with the Internet X.509 Public Key Infrastructure
Certificate and CRL Profile»), RFC 4491, май 2006 г.
[ГОСТ 28147]
Государственный комитет СССР по стандартам, «Системы обработки
информации. Защита криптографическая. Алгоритм криптографического
преобразования. Государственный стандарт СССР (на русском языке)», ГОСТ 2814789, 1989.
[ГОСТ 3431004]
Межгосударственный совет по стандартизации, метрологии и сертификации
Содружества Независимых Государств (EASC), Минск, «Информационная технология.
Криптографическая защита информации.
Процессы формирования и проверки электронной цифровой подписи на базе
асимметричного криптографического алгоритма (на русском языке)», ГОСТ 34.3102004, 2004.
[ГОСТ 3431195]
Межгосударственный совет по стандартизации, метрологии и сертификации
Содружества Независимых Государств (EASC), Минск, «Информационная технология.
Криптографическая защита информации.
Функция хэширования (на русском
языке)», ГОСТ 34.311-95, 1995.
[ГОСТ Р 341001]
Государственный комитет Российской Федерации по стандартизации,
«Информационная технология. Криптографическая защита информации. Процессы
формирования и проверки электронной цифровой подписи. Государственный стандарт
Российской Федерации (на русском языке)», ГОСТ Р 34.10-2001, 2001.
[ГОСТ Р 341194]
Государственный комитет Российской Федерации по стандартизации,
«Информационная технология. Криптографическая защита информации.
Функция хэширования. Государственный стандарт Российской Федерации
(на русском языке)», ГОСТ Р 34.11-94, 1994.
[HMAC]
Г. Кравчик, М. Белларе и Р. Каннети, «HMAC: хэширование с помощью
ключей для проверки подлинности сообщений» (Krawczyk, H., Bellare, M., and
R. Canetti, «HMAC: Keyed-Hashing for Message Authentication», RFC 2104,
февраль 1997 г.
Леонтьев и другие
[Страница 20]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
[KEYWORDS]
С. Браднер, «Ключевые слова для использования в документах RFC,
указывающие уровень требований» (Bradner, S., Key words for use in RFCs to
Indicate Requirement Levels), стандарт BCP 14, RFC 2119, март 1997 г.
[RFC3688] М. Миллинг «Реестр XML IETF» (Mealling, M., The IETF XML Registry),
стандарт BCP 81, RFC 3688, январь 2004 г.
[RFC3986] Т. Бернерс-Ли, Р. Филдинг и Л. Мастинер, «Универсальный идентификатор
ресурса (URI)» (Berners-Lee, T., Fielding, R., and L. Masinter, Uniform Resource
Identifier (URI): Generic Syntax, STD 66, RFC 3986, январь 2005 г.
[RFC4648] С. Джозефсон, «Кодирование данных в форматах Base16, Base32 и Base64»
(Josefsson, S., The Base16, Base32, and Base64 Data Encodings), RFC 4648,
октябрь 2006 г.
[TLS]
Т. Диркс и Е. Рескорла «Протокол TLS версии 1.2» (Dierks, T. and
E. Rescorla, The Transport Layer Security(TLS) Protocol Version 1.2), RFC 5246,
август 2008 г.
[WS-POLICY]
А. Ведамуту, Д. Оркард, Ф. Хирш, М. Хондо, П. Ендлури, Т. Бубез,
Ялиналп «Политика служб Интернет 1.5 - инфраструктура» (Vedamuthu, A., Orchard,
D., Hirsch, F., Hondo, M.,
Yendluri, P., Boubez, T., and Yalinalp,
Web Services Policy 1.5 – Framework), W3C REC-ws-policy, сентябрь 2007 г.,
<http://www.w3.org/TR/ws-policy/>.
[WS-SECURECONVERSATION]
К. Лоуренс и К. Калер, «Безопасный обмен данными WSSecureConversation версии 1.3» (Lawrence, K. and C. Kaler, WS-SecureConversation
1.3), OASIS Standard ws-secureconversation-1.3-os, март 2007 г.,
<http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/wssecureconversation-1.3-os.html>.
[WS-SECURITY]
К. Лоуренс и К. Калер «Безопасность служб Интернет: безопасность
сообщений SOAP версии 1.1» (Lawrence, K. and C. Kaler, Web Services Security:
SOAP Message Security 1.1 (WS-Security 2004)), OASIS Standard wss-v1.1-spec-osSOAPMessageSecurity, февраль 2006 г., <http://docs.oasis-open.org/wss/v1.1/wssv1.1-spec-os-SOAPMessageSecurity.pdf>.
[WS-SECURITYPOLICY]
К. Лоуренс и К. Калер, «WS-SecurityPolicy версии 1.2» (Lawrence, K.
and C. Kaler, WS-SecurityPolicy 1.2), OASIS Standard ws-securitypolicy-1.2-specos, июль 2007 г., <http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/
ws-securitypolicy-1.2-spec-os.html>.
[WS-TRUST]
К. Лоуренс и К. Калер, «WS-Trust версии 1.3» (Lawrence, K. and
C. Kaler, WS-Trust 1.3), OASIS Standard ws-trust-1.3-os, март 2007 г.,
<http://docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3-os.html>.
Леонтьев и другие
[Страница 21]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
[WS-TRUST-TLS]
Дж. Александер, Г. Делла-Либера, В. Гайяла, К. Гаврилюк, К. Калер,
М. Макинтош, А. Надалин, Б. Рич и Т. Вишванат, «Указания по применению:
использование WS-Trust для согласования соединения TLS» (Alexander, J., DellaLibera, G., Gajjala, V., Gavrylyuk, K., Kaler, C., McIntosh, M., Nadalin, A.,
Rich, B., and T. Vishwanath, Application Note: Using WS-Trust for TLS Handshake,
сентябрь 2007 г.,
<http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/wstrust/WSTrustForTLS-final.pdf>.
[X.208-88]
Международный консультативный комитет по телеграфии и телефонии,
«Спецификация языка Abstract Syntax Notation One (ASN.1)», Рекомендация МККТТ
X.208, ноябрь 1988 г.
[XML-NS]
Т. Брэй, Д. Холландер, А. Лэймэн и Р. Тобин «Пространства имен в XML
(издание второе)» (Bray, T., Hollander, D., Layman, A., and R. Tobin, Namespaces
in XML (Second Edition)), W3C REC-xml-names, август 2006 г.,
<http://www.w3.org/TR/REC-xml-names-20060816>.
[XML-SCHEMA-1]
Н. Томпсон, Д. Бич, М. Малоуни и Н. Мендельсон, «Схема XML, чаcть 1:
вторая редакция структур» (Thompson, H., Beech, D., Maloney, M., and
N. Mendelsohn, XML Schema Part 1: Structures Second Edition), W3C REC-xmlschema1, октябрь 2004 г.,
<http://www.w3.org/TR/2004/REC-xmlschema-120041028/>.
[XML-SCHEMA-2]
П. Байрон и А. Малотра, «Схема XML, чаcть 2: вторая редакция типов
данных» (Biron, P. and A. Malhotra, XML Schema Part 2: Datatypes Second
Edition), W3C REC-xmlschema-2, октябрь 2004 г., <http://www.w3.org/TR/2004/RECxmlschema-2-20041028/>.
[XMLDSIG] Д. Истлэйк, Дж. Ригль и Д. Соло, «Синтаксис и обработка подписей XML»
(Eastlake, D., Reagle, J., and D. Solo, (Extensible Markup
Language)
XML-Signature Syntax and Processing), RFC 3275, март 2002 г.
[XMLENC-CORE]
Д. Истлэйк и Дж. Ригль, «Синтаксис и обработка шифрования XML»
(Eastlake, D. and J. Reagle, XML Encryption Syntax and Processing), W3C
Candidate Recommendation xmlenc-core, август 2002 г.,
<http://www.w3.org/TR/xmlenc-core/>.
[draft.CPTLS]
А. Афанасьев, Н. Никишин, Б. Изотов, Э. Минаева, С. Муругов,
И. Устинов, А. Эркин, Г. Чудов и С. Леонтьев, «Набор алгоритмов шифрования ГОСТ
28147-89 для обеспечения безопасности транспортного уровня (TLS)», draft-chudovcryptopro-cptls-04 (незавершенная работа), декабрь 2008 г.
Леонтьев и другие
[Страница 22]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
10.2.
Информационные ссылки
[RFC4134] П. Хоффман, «Примеры сообщений формата S/MIME» (Hoffman, P., Examples
of S/MIME Messages), RFC 4134,
июль 2005 г.
[URNOID]
М. Миллинг «Пространство имен идентификаторов объектов URN»
(Mealling, M., A URN Namespace of Object Identifiers),
RFC 3061, февраль 2001 г.
[XML]
Т. Брэй , Дж. Паоли, К. Сперберг-Маккуин, Е. Малер и Ф. Юрго
«Расширяемый язык разметки (XML) 1.0 (издание четвертое)» (Bray, T., Paoli, J.,
Sperberg-McQueen, C., Maler, E., and F. Yergeau, Extensible Markup Language
(XML) 1.0 (Fourth Edition)), W3C REC-xml, август 2006 г.,
<http://www.w3.org/TR/2006/REC-xml-20060816>.
Приложение А. Полная XML-схема
<?xml version="1.0" encoding="UTF-8"?>
<!-- Declare helper entity to avoid overrunning right margin of RFC
text while importing WS-SecurityPolicy schema.-->
<!DOCTYPE schema [
<!ENTITY ws-securitypolicyuri
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
]>
<xs:schema
xmlns:cpxmlsec="urn:ietf:params:xml:ns:cpxmlsec"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sp=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
targetNamespace="urn:ietf:params:xml:ns:cpxmlsec"
elementFormDefault="qualified"
version="0.4">
<xs:import namespace=
"http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
schemaLocation=
"&ws-securitypolicyuri;/ws-securitypolicy-1.2.xsd" />
<xs:simpleType name="ObjectIdentifierType">
<xs:restriction base="xs:anyURI">
<xs:pattern
value="urn:oid:(([0-1]\.[1-3]?\d)|(2\.\d+))(\.\d+)*" />
</xs:restriction>
</xs:simpleType>
<xs:element name="ParametersR3411"
Леонтьев и другие
[Страница 23]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
type="cpxmlsec:ObjectIdentifierType" />
<xs:element name="GOSTKeyValue" type="cpxmlsec:KeyValueType" />
<xs:complexType name="KeyValueType">
<xs:sequence>
<xs:element name="PublicKeyParameters"
type="cpxmlsec:PublicKeyParametersType"
minOccurs="0"/>
<xs:element name="PublicKey" type="xs:base64Binary" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="PublicKeyParametersType">
<xs:sequence>
<xs:element name="publicKeyParamSet"
type="cpxmlsec:ObjectIdentifierType" />
<xs:element name="digestParamSet"
type="cpxmlsec:ObjectIdentifierType" />
<xs:element name="encryptionParamSet"
type="cpxmlsec:ObjectIdentifierType"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:element name="Parameters28147"
type="cpxmlsec:ObjectIdentifierType" />
<xs:element name="BasicGost"
type="sp:QNameAssertionType"/>
</xs:schema>
Приложение Б. Полная схема DTD
<!ELEMENT GOSTKeyValue (
PublicKeyParameters?, PublicKey) >
<!ELEMENT PublicKey (#PCDATA) >
<!ELEMENT PublicKeyParameters (
publicKeyParamSet, digestParamSet,
encryptionParamSet?) >
<!ELEMENT publicKeyParamSet (#PCDATA) >
<!ELEMENT digestParamSet (#PCDATA) >
<!ELEMENT encryptionParamSet (#PCDATA) >
<!ELEMENT Parameters28147 (#PCDATA) >
<!ELEMENT ParametersR3411 (#PCDATA) >
Леонтьев и другие
[Страница 24]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
<!ELEMENT BasicGost EMPTY >
Приложение В. Примеры
В настоящем документе примеры хранятся в том же формате, что и в документе
[RFC4134], их можно извлечь с помощью той же программы.
Если вы хотите извлечь примеры без использования программы, скопируйте все
строки между маркерами «|>» и «|<», удалите все разрывы страниц и маркер «|» в
первом столбце каждой строки. В результате вы получите правильный массив
двоичных данных в формате Base64, который можно обработать с помощью любого
декодера Base64.
В.1.
Подписанный документ
В этом примере содержится подписанный документ XML, использующий образец
сертификата из раздела 4.2 [CPPK].
Леонтьев и другие
[Страница 25]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
|>XmlDocSigned2001.xml
|PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48Q3J5cHRvUHJv
|WE1MIFNpZ25lZD0idHJ1ZSI+SGVyZSBpcyBzb21lIGRhdGEgdG8gc2lnbi48U2ln
|bmF0dXJlIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcj
|Ij48U2lnbmVkSW5mbz48Q2Fub25pY2FsaXphdGlvbk1ldGhvZCBBbGdvcml0aG09
|Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1
|IiAvPjxTaWduYXR1cmVNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9y
|Zy8yMDAxLzA0L3htbGRzaWctbW9yZSNnb3N0cjM0MTAyMDAxLWdvc3RyMzQxMSIg
|Lz48UmVmZXJlbmNlIFVSST0iIj48VHJhbnNmb3Jtcz48VHJhbnNmb3JtIEFsZ29y
|aXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnI2VudmVsb3Bl
|ZC1zaWduYXR1cmUiIC8+PC9UcmFuc2Zvcm1zPjxEaWdlc3RNZXRob2QgQWxnb3Jp
|dGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNnb3N0
|cjM0MTEiIC8+PERpZ2VzdFZhbHVlPi9Kd3RRc3Z5NWsvUjBWZUx6ZG0ySWlqUEJ0
|U0o1cEpSalQ5RlVRSEV5VGc9PC9EaWdlc3RWYWx1ZT48L1JlZmVyZW5jZT48L1Np
|Z25lZEluZm8+PFNpZ25hdHVyZVZhbHVlPkZjYjNxNGlCdmRmZ1lvN245NUdhUUN1
|ZDkxWVA3dzhvVjAzUjZ6a1JEZGxjK0RuQ2MwcjlNc0E1YS9iaFlDeVdQZC9jRVU4
|K3FZRnJ5SmJjaXJ5d0hBPT08L1NpZ25hdHVyZVZhbHVlPjxLZXlJbmZvPjxYNTA5
|RGF0YT48WDUwOUNlcnRpZmljYXRlPk1JSUIwRENDQVg4Q0VDdjF4aDdDRWIwWHg5
|elVZbWEwTGlFd0NBWUdLb1VEQWdJRE1HMHhIekFkQmdOVkJBTU1Ga2R2YzNSU016
|UXhNQzB5TURBeElHVjRZVzF3YkdVeEVqQVFCZ05WQkFvTUNVTnllWEIwYjFCeWJ6
|RUxNQWtHQTFVRUJoTUNVbFV4S1RBbkJna3Foa2lHOXcwQkNRRVdHa2R2YzNSU016
|UXhNQzB5TURBeFFHVjRZVzF3YkdVdVkyOXRNQjRYRFRBMU1EZ3hOakUwTVRneU1G
|b1hEVEUxTURneE5qRTBNVGd5TUZvd2JURWZNQjBHQTFVRUF3d1dSMjl6ZEZJek5E
|RXdMVEl3TURFZ1pYaGhiWEJzWlRFU01CQUdBMVVFQ2d3SlEzSjVjSFJ2VUhKdk1R
|c3dDUVlEVlFRR0V3SlNWVEVwTUNjR0NTcUdTSWIzRFFFSkFSWWFSMjl6ZEZJek5E
|RXdMVEl3TURGQVpYaGhiWEJzWlM1amIyMHdZekFjQmdZcWhRTUNBaE13RWdZSEtv
|VURBZ0lrQUFZSEtvVURBZ0llQVFOREFBUkFoSlZvZFdBQ0drQjFDTTBUakRHSkxQ
|M2xCUU42UTF6MGJTc1A1MDh5ZmxlUDY4d1d1WldJQTlDYWZJV3VEK1NONnFhN2Zs
|Ykh5N0RmRDJhOHl1b2FZREFJQmdZcWhRTUNBZ01EUVFBOEw4a0pSTGNucWV5bjFl
|bjdVMjNTdzZwa2ZFUXUzdTB4RmtWUHZGUS8zY0hlRjI2TkcreHh0WlB6M1RhVFZY
|ZG9pWWtYWWlEMDJyRXgxYlVjTTk3aTwvWDUwOUNlcnRpZmljYXRlPjwvWDUwOURh
|dGE+PC9LZXlJbmZvPjwvU2lnbmF0dXJlPjwvQ3J5cHRvUHJvWE1MPg==
|<XmlDocSigned2001.xml
Приложение Г. Благодарности
Авторы выражают благодарность:
- компании Microsoft Corporation Russia за предоставленную информацию о
продуктах и решениях компании, а также за технические консультации по
инфраструктуре открытого ключа (PKI);
- нашему коллеге Григорию С. Чудову за написание первой версии этого
документа.
Леонтьев и другие
[Страница 26]
Срок действия истекает: 2 декабря 2010 г.
Проект рекомендации RFC. Использование алгоритмов ГОСТ в протоколах и форматах
сообщений на основе XML. Май 2010 г.
Авторы и их адреса
Сергей Е. Леонтьев
ООО «КРИПТО-ПРО»
Сущевский вал, 16/5
Москва, 127018
Россия
Телефон: +7 (495) 780 4820
Факс:
+7 (495) 660 2330
Эл. адрес: lse@CryptoPro.ru
Сайт:
http://www.CryptoPro.ru
Павел В. Смирнов
ООО «КРИПТО-ПРО»
Сущевский вал, 16/5
Москва, 127018
Россия
Телефон: +7 (495) 780 4820
Факс:
+7 (495) 660 2330
Эл. адрес: spv@CryptoPro.ru
Сайт:
http://www.CryptoPro.ru
Александр В. Челпанов
ООО «КРИПТО-ПРО»
Сущевский вал, 16/5
Москва, 127018
Россия
Телефон: +7 (495) 780 4820
Факс:
+7 (495) 660 2330
Эл. адрес: cav@CryptoPro.ru
Сайт:
http://www.CryptoPro.ru
Леонтьев и другие
[Страница 27]
Срок действия истекает: 2 декабря 2010 г.
Download