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

12 страниц

174.00 ₽

Купить Р 50.1.111-2016 — бумажный документ с голограммой и синими печатями. подробнее

Распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль"

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

Рекомендации предназначены для применения в информационных системах, использующих механизмы шифрования и обеспечения аутентичности данных, с реализацией алгоритмов шифрования по ГОСТ 28147-89 и функции хэширования по ГОСТ Р 34.11 в общедоступных и корпоративных сетях для защиты информации, не содержащей сведений, составляющих государственную тайну. Описанные в данных рекомендациях методы предназначены для выработки ключевой информации с использованием пароля пользователя и защиты такой информации.

 Скачать PDF

Оглавление

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

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

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

4 Алгоритм выработки ключа из пароля

5 Шифрование данных

6 Контроль целостности

7 Идентификаторы и параметры

     7.1 PBKDF2

     7.2 PBES2

     7.3 PBMAC1

8 Рекомендуемые криптографические параметры

Приложение А (справочное) Контрольные примеры

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

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

Этот документ находится в:

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

23.11.2016УтвержденФедеральное агентство по техническому регулированию и метрологии1752-ст
РазработанТК 26 Криптографическая защита информации
ИзданСтандартинформ2016 г.

Information technology. Cryptographic data security. Password-based protection of keys

Стр. 1
стр. 1
Стр. 2
стр. 2
Стр. 3
стр. 3
Стр. 4
стр. 4
Стр. 5
стр. 5
Стр. 6
стр. 6
Стр. 7
стр. 7
Стр. 8
стр. 8
Стр. 9
стр. 9
Стр. 10
стр. 10
Стр. 11
стр. 11
Стр. 12
стр. 12

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



РЕКОМЕНДАЦИИ ПО СТАНДАРТИЗАЦИИ


Р 50.1.111-2016


Информационная технология КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ Парольная защита ключевой информации


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


Москва

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

2016


Предисловие

1    РАЗРАБОТАНЫ подкомитетом 1 Технического комитета по стандартизации ТК 26 «Криптографическая защита информации»

2    ВНЕСЕНЫ Техническим комитетом по стандартизации ТК 26 «Криптографическая защита информации»

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

4    ВВЕДЕНЫ ВПЕРВЫЕ

Правила применения настоящих рекомендаций установлены в статье 26 Федерального закона от 29 июня 2015 г. № 162-ФЗ «О стандартизации в Российской Федерации» Информация об изменениях к настоящим рекомендациям публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе «Национальные стандарты», а официальный текст изменений и поправок — в ежемесячном информационном указателе «Национальные стандарты» В случае пересмотра (замены) или отмены настоящих рекомендаций соответствующее уведомление будет опубликовано в ближайшем выпуске ежемесячного информационного указателя «Национальные стандарты». Соотвепктвующая информация, уведомление и тексты размещаются также в информационной системе общего пользования — на официальном сайте Федерального агентства по техническому регулированию и метрологии в сети Интернет (www.gost.ru)

© Стандартинформ. 2016

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

Р 50.1.111—2016

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

(1)    PKCS#5

(2]    RFC4490

(3]    Методические рекомендации

(4)    RFC6070

PKCS#5 (версия 21) Криптографический стандарт на основе пароля [Password-Based Cryptography Standard. RSA Laboratories. 2006]

С. Леонтьев. Г Чудов Использование алгоритмов ГОСТ 28147-89, ГОСТ Р 3411-94, ГОСТ Р 34 10—94 и ГОСТ Р 3410-2001 в синтаксисе криптографических сообщений (CMS) [S Leontiev, G Chudov Using the GOST 28147—89, GOST R 34 11—94. GOST R 34 10—94, and GOST R 34 10—2001 Algorithms wrth Cryptographic Message Syntax (CMS), IETF RFC 4490. May 2006] Информационная технология Криптографическая защита информации Задание ТК 26 узлов замены блока подстановки алгоритма шифрования ГОСТ 28147-89 (ТК26УЗ)

С. Йозефссон PKCS#5 Основанная на пароле функция выработки ключа (PBKDF2) Тестовый набор [S Josefsson PKCS#5 Password-Based Key Derivation Function 2 (PBKDF2) Test Vectors, IETF RFC 6070, January 2011]

7

УДК 681.3.06:006.354    ОКС 35. 040    ОКСТУ    5002    П85

Ключевые слова: криптографические протоколы, пароль, ключ, шифрование, хэш-функция, аутентификация

Редактор И А Серимое Технический редактор В Н Прусакова Корректор И А Королева Компьютерная верстка А А Ворониной

Сдано в набор 28 11 2016 Подписано в печать 08 12 2016. Формат 60»84Ve. Гарнитура Ариал Уел печ. л. 1.40 Уч.-изд л. 1.26. Тираж ЗЗэкз Зак. 3074.

Подготовлено на основе электронной версии, предоставленной разработчиком стандарта

Издано и отпечатано во ФГУП «СТАНДАРТИНФОРМ». 123995 Москва. Гранатный пер . 4 wwwpostinfo ги mfoggostinfo ги

P 50.1.111—2016

Содержание

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

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

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

4    Алгоритм выработки ключа из пароля.................................................. 2

5    Шифрование данных................................................................ 2

6    Контроль целостности............................................................... 3

7    Идентификаторы и параметры........................................................ 3

7.1    PBKDF2....................................................................... 3

7.2    PBES2........................................................................ 3

7.3    РВМАС1....................................................................... 4

8    Рекомендуемые криптографические параметры......................................... 4

Приложение А (справочное) Контрольные примеры........................................ 5

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

III

Введение

Настоящие рекомендации содержат описание расширения документа PKCS#5 «Password-Based Cryptography Standard» версии 2.1 (1). Он относится к группе Public Key Cryptography Standarts (стандарты криптографии с открытым ключом) и содержит рекомендации по реализации криптографических механизмов при использовании низкоэнтропийных данных (пароля пользователя).

Данное расширение [1] позволяет, не нарушая исходных принципов работы схем выработки общей ключевой информации из парольной информации, использовать в нем криптографические механизмы из национальных стандартов Российской Федерации.

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

Примечание — Основная часть рекомендаций дополнена приложением А

IV

Р 50.1.111—2016

СТАНДАРТИЗАЦИИ

РЕКОМЕНДАЦИИ

П О

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

КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА ИНФОРМАЦИИ

Парольная защита ключевой информации

Information technology Cryptographic data security Password-based protection of key information

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

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

Настоящие рекомендации предназначены для применения в информационных системах, использующих механизмы шифрования и обеспечения аутентичности данных, с реализацией алгоритмов шифрования по ГОСТ 28147-89 и функции хэширования по ГОСТ Р 34.11 в общедоступных и корпоративных сетях для защиты информации, не содержащей сведений, составляющих государственную тайну. Описанные в данных рекомендациях методы предназначены для выработки ключевой информации с использованием пароля пользователя и защиты такой информации.

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

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

ГОСТ 28147-89 Системы обработки информации. Защита криптографическая. Алгоритмы криптографического преобразования

ГОСТ Р 34.11-2012 Информационная технология. Криптографическая защита информации. Функция хэширования

Р 50.1.113—2016 Информационная технология. Криптографическая защита информации. Криптографические алгоритмы, сопутствующие применению алгоритмов электронной цифровой подписи и функции хэширования

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

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

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

HMAC_GOSTR3411 (К, Т) — значение кода аутентификации сообщения, вычисленное для сообщения

Тна ключе К по алгоритму HMAC_GOSTR3411_2012_512. определенному в Р 50 1.113—2016 длина значения равна 512 битам;

Издание официальное пароль, представляющий собой символьную строку в кодировке Unicode UTF-8; случайное значение в соответствии с (1); число итераций алгоритма;

P

S

c

dkLen

DK

0

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

операция покомпонентного сложения по модулю 2 двух двоичных строк одинаковой длины;

множество байтовых строк длины л. л>0. Строка Ь=(ЬПГ..,Ь1) принадлежит множеству

Вп, если Ьи...Ьпе{0.....255}. При л = 0 множество Вп состоит из единственной пустой

a\\p    -

-

Into)    -

строки длины 0;

конкатенация двух байтовых строк

а=(аП1..../г1)ев„1 и р={рпг...р^ВП1,те. строка у=(ап> avpnjr.4px)eBni+nj

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

^т^ап'"" an-r*V ап-г/”0 ~     an-r+l)*

представление целого неотрицательного числа / < 232 в виде байтовой строки длины 4

04.i3,t2.ii)eB4. такой, что i = ij + i2 • 28 + i3 • 216 + i4 • 224.

4    Алгоритм выработки ключа из пароля

Ключ DK вычисляют как функцию диверсификации PBKDF2 (Р S. с. dkLen) с использованием в качестве псевдослучайной функции PRF функции HMAC_GOSTR3411:

DK = PBKDF2 (Р S. С, dkLen).    (1)

Функцию диверсификации вычисляют по следующему алгоритму:

1)    Если dkLen > (232 -1) 64. то алгоритм завершает работу с ошибкой (неверные параметры).

2)    Вычисляют п = [dkLen/64).

3)    Для каждого / от 1 до л вычисляют набор значений:

U, (/) = HMAC_GOSTR3411 (Р. S || lnt(/))

U2(i)= HMAC_GOSTR3411 (Р. Ц)

Uc (/)= HMAC.GOSTR3411 (Р. Uc).    (2)

Щ = Ц (/) 0 U2(/) ® ... ф Uc(i).    (3)

4)    Ключ DK вычисляют как конкатенацию байтовых строк {Щ} с последующим усечением полученной последовательности до длины выходной последовательности:

ОК-ЛЗ*Я,(Д1)||Д2)||...|| Цп)).    (4)

5    Шифрование данных

Шифрование данных при использовании ключа DK осуществляют в соответствии со схемой PBES2. см. 6.2 (1), с использованием ГОСТ 28147-89 в режиме гаммирования с обратной связью.

Процесс шифрования в данной схеме выглядит следующим образом:

1)    Выбирают случайное значение S размерности от 8 до 32 байт. Рекомендуемая размерность — 32 байта.

2)    Число итераций с выбирают в зависимости от условий применения Минимально допустимое значение параметра 1000. рекомендуемое 2000.

3)    Устанавливают dkLen = 32.

4)    Производят выработку последовательности DK = PBKDF2 (Р. S. с. 32).

5)    Ключ шифрования данных К получают усечением выходной последовательности 7(1) до размерности 32. то есть К = /?^г(Д1))-

6)    Выбирают случайное значение синхропосылки S' размерности 8 байт.

7)    Осуществляют шифрование данных по алгоритму ГОСТ 28147-89 (раздел 4) на ключе К с синхропосылкой S' в режиме гаммирования с обратной связью.

2

P 50.1.111—2016

8) Параметры S. c. S' сохраняют в качестве параметров алгоритмов в соответствии с разделом 7. Расшифрование данных осуществляют аналогичным образом с использованием параметров S, с и S', применявшихся при зашифровании.

6    Контроль целостности

Для вычисления контрольной суммы передаваемых данных следует использовать схему РВМАС1. см. 7.1 (1). на основе функции HMAC_GOSTR3411 с ключом

DK = PBKDF2 (Р. S. С. 32).    (5)

7    Идентификаторы и параметры

rsadsi OBJECT IDENTIFIER {iso(l) member-body(2) us(840) 113549) pkcs OBJECT IDENTIFIER ::= (rsadsi 1) pkcs-5 OBJECT IDENTIFIER (pkcs 5)

7.1    PBKDF2

Объектный идентификатор для схемы PBKDF2:

id-PBKDF2 OBJECT IDENTIFIER ::= (pkcs-5 12)

Параметры алгоритма:

id-tc26-hmac-gost-3411-12-512 OBJECT IDENTIFIER    (iso(l)    member-

body^) ru(643) reg7(7) tk26(l) algorithms(1) hmac(4) 512(2) > PBKDF2-params ::= SEQUENCE { salt CHOICE (

specified OCTET STRING,

otherSource Algorithmldentifier ({PBKDF2- SaltSources))

}, (6) iterationCount INTEGER (1000..MAX), keyLength INTEGER (32..MAX) OPTIONAL, prf Algorithmldentifier {{PBKDF2-PRFs)}

},

где

1)    salt — значение случайной синхропосылки S. представленное в виде OCTET STRING;

2)    iterationCount — число итераций алгоритма с.

3)    keyLength — размер ключа в байтах; размер ключа в рамках схемы PBES2 может отсутствовать. так как всегда равен 32; в рамках схемы РВМАС1 он должен быть равен 32 и должен всегда присутствовать, так как функция HMAC_GOSTR3411 имеет переменный размер ключа;

4)    prf — описание алгоритма псевдослучайной функции, где

prf.algorithm = id-tc26-hmac-gost-3411-12-512 prf.parameters ■ NULL.

7.2    PBES2

Объектный идентификатор для схемы PBES2:

id-PBES2 OBJECT IDENTIFIER (pkcs-5 13)

Параметры алгоритма:

PBES2-params ::= SEQUENCE (

keyDerivationFunc Algorithmldentifier {(PBES2-KDFs)),    _

encryptionScheme Algorithmldentifier {(PBES2-Encs)}

).

где

1)    keyDerivationFunc — идентификатор и параметры алгоритма выработки парольного ключа PBKDF2 с параметрами в соответствии с 7.1;

2)    encrypt ionScheme — идентификатор и параметры алгоритма шифрования ГОСТ 28147—89 в соответствии с [2):

encryptionScheme.algorithm = id-Gost28147-89 encryptionScheme.parameters = Gost28147-89-Parameters

3

P 50.1.111—2016

Параметры:

Gost28147-89-Parameters    SEQUENCE    {

iv    Gost28147-89-IV,

encryptionParamSet OBJECT IDENTIFIER

}

Gost28147-89-IV ::= OCTET STRING (SIZE (8)) должно содержать значение синхропосылки шифрования S'.

7.3 РВМАС1

Объектный идентификатор для схемы РВМАС1:

id-PBMACl OBJECT IDENTIFIER ::= (pkcs-5 14}.

Параметры алгоритма:

PBMACl-params :SEQUENCE {

keyDerivationFunc Algorithmldentifier { {PBMACl-KDFs}},    (8)

messageAuthScheme Algorithmldent ifier { (PBMACl-MACs}},

где

1)    keyDerivationFunc — идентификатор и параметры алгоритма выработки парольного ключа в соответствии с разделом PBKDF2;

2)    messageAuthScheme — идентификатор алгоритма HMAC_GOSTR3411_2012_512.

8 Рекомендуемые криптографические параметры

При шифровании данных согласно схеме PBES2 рекомендуется использовать набор подстановок, описанный в [3].

Объектный идентификатор набора :

id-tc26-gost-28147-paramSetISO = OBJECT IDENTIFIER : := ( iso(l) member-body^) ru(643) rosstandart(7) tk26(l) algorithms(1) cipher(5) params(l) tk26iso(l) }.

4

Р 50.1.111—2016


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

Контрольные примеры

Данные тестовые вектора сформированы по аналогии с тестовыми векторами из [4]

Input:

Р = "password" (8 octets)

S = "salt" (4 octets) c = 1

dkLen = 64

DK = 64 77 0a f7 £7 48 сЗ Ы c9 ac 83 Id be fd 85 c2 61 11    ЬЗ    0a    8a    65    7d    dc    30    56    Ь8    Ос    a7    3e    04    Od

28 54    fd    36    81    If    6d    82    5c    c4    ab    66    ec    0a    68    a4

90 a9    e5    cf    51    56    ЬЗ    a2    Ь7    ее    cd    db    f9    al    6b    47

Input:

P ■ "password" (8 octets)

S ■ "salt" (4 octets) c - 2

dkLen ■ 64

DK = 5a 58 5b af df bb 6e 88 30 d6 d6 8a аЗ Ь4 3a cO Od 2e    4a    eb    ce    01    c9    ЬЗ    lc    2c    ae    d5    6f    02    36    d4

d3 4b    2b    8f    bd    2c    4e    89    d5    4d    46    f5    Oe    47    d4    5b

ba c3    01    57    17    43    11    9e    8d    3c    42    ba    66    d3    48    de

Input:

P = "password" (8 octets)

S = "salt" (4 octets) c = 4096 dkLen = 64

DK = e5 2d eb 9a 2d 2a af f4 e2 ac 9d 47 a4 If 34 c2 03 76    59    lc    67    80    7f    04    77    e3    25    49    dc    34    lb    c7

86 7c    09    84    lb    6d    58    e2    9d    03    47    c9    96    30    Id    55

df Od    34    e4    7c    f6    8f    4e    3c    2c    da    fl    d9    ab    86    c3

Input:

P ■ "password" (8 octets)

S = "salt" (4 octets) c = 16777216 dkLen = 64

DK = 49 e4 84 3b ba 76 e3 00 af e2 4c 4d 23 dc 73 92 de fl    2f    2c    Oe    24    41    72    36    7c    d7    0a    89    82    ac    36

la db    60    lc    7e    2a    31    4e    8c    Ь7    bl    e9    df    84    Oe    36

ab 56    15    be    Sd    74    2b    6c    £2    03    fb    55    fd    c4    80    71

Input:

P ■ "passwordPASSWORDpassword" (24 octets)

S - "saltSALTsaltSALTsaltSALTsaltSALTsalt" (36 octets) c - 4096 dkLen - 100

DK = b2 d8 fl 24 5f c4 d2 92 74 80 20 57 e4 b5 4e 0a 07 53    aa    22    fc    53    76    0b    30    lc    fO    08    67    9e    58    fe

4b ее    9a    dd    ca    e9    9b    a2    bO    b2    Of    43    la    9c    5e    50

f3 95    c8    93    87    dO    94    5a    ed    ec    a6    eb    40    15    df    c2

bd 24    21    ее    9b    Ь7    11    83    ba    88    2c    ее    bf    ef    25    9f

33 f9    e2    7d    c6    17    8c    Ь8    9d    c3    74    28    cf    9c    c5    2a

2b aa    2d    3a

Input:

P = "pass\0word" (9 octets) S = "sa\01t" (5 octets) c = 4096 dkLen = 64

DK

=

50 df i

06 ;

28 1

85 b6 1

98 i

01 a

,3 .

cl '

02

48 .

eb 1

0a ;

6e

52

fe

b2

0c

99

lc

66

Of

00

14

75

d7

3a

4e

16

7f

78

2c

18

e9

7e

92

97

6d

9c

Id

97

08

31

ea

78

cc

b8

79

f6

70

68

cd

ac

19

10

74

08

44

e8

30


6