Гост 30403-2012 конструкции строительные. метод испытаний на пожарную опасность (переиздание)
Содержание:
- Требования к ПО для работы с ГОСТ Р 34.10-2012
- Узлы замены (S-блоки)
- Нелинейное биективное преобразование (преобразование S)
- Цена вопроса
- Примечания
- Что делать заказчикам
- Криптографическая защита становится проще и доступнее
- Особенности эксплуатации защищенных каналов связи в рамках сервисной модели
- Зачем нужна конвертация
- Немного теории
- WARNING
- Базовые функции стандарта
- Сложение двух двоичных векторов по модулю 2
- Побитовое исключающее ИЛИ над 512-битными блоками
- Нелинейное биективное преобразование (преобразование S)
- Перестановка байтов (преобразование P)
- Линейное преобразование (преобразование L)
- Режим простой замены
- В чем преимущества сервисной модели ГОСТ VPN
- Смешанный режим
Требования к ПО для работы с ГОСТ Р 34.10-2012
- Порядок подключения
- Инструкции пользователя
- Учет и отчетность
- Сводный реестр участников и неучастников бюджетного процесса
- Управление расходами
Для работы ТОЛЬКО с новыми ЭП на ГОСТ 2012 !!!
1. Установить КриптоПро CSP версии 4.0 R3 (4.0.9944): дистрибутив можно получить в удостоверяющем центре или скачать с сайта разработчика данного ПО с предварительной регистрацией (www.cryptopro.ru)
2. Установить Континент TLS версии 2.0.1440. Дистрибутив скачать с сайта разработчика данного ПО с предварительной регистрацией (www.securitycode.ru/products/demo-versions/)
3. Скачать корневой сертификат сервера Континент TLS (скачать)
4. Установить Jinn-client версии 1.0.3050.0 и опциональное ПО «eXtended Container» (получить в удостоверяющем центре)
5. Скачать сертификат головного УЦ — Минкомсвязи России (скачать) и корневой сертификат УЦ ФК (скачать), после чего установить по инструкции.
6. Установить браузер Internet Explorer версии 11.0.9600.17843 (скачать) или выше
или установить браузер Mozilla Firefox версии 54.0.1 (скачать) или выше, с установленным расширением браузера Jinn Sign Extension 1.0.0.2
или установить браузер Chrome версии 43 (скачать) или выше, с установленным расширением браузера Jinn Sign Extension 1.0.0.2
7. Установить ЭЦП Browser plug-in версии 2.0 (скачать)
8. Точка входа в Личный кабинет Электронного бюджета по сертификатам пользователей на основе ГОСТ Р 34.10-2012: lk2012.budget.gov.ru
Подробное руководство по установке и настройке программного обеспечения автоматизированного рабочего места пользователя государственной интегрированной информационной системы управления общественными финансами «Электронный бюджет» (скачать)
Контактные данные специалистов УФК по Кировской области:
(8332) 487041 – Назарова Юлия Васильевна
(8332) 487039 – Малыгина Ксения Андреевна
(8332) 487042 – Крысов Владимир Николаевич
(8332) 487043 – Попов Андрей Владимирович
(8332) 487045 – Шадрин Андрей Сергеевич
(8332) 487031 — Журавлёва Дарья Юрьевна
По вопросам получения СКЗИ (КриптоПро CSP, Jinn-client):
(8332) 487004 – Лялина Вероника Александровна, Отдел режима секретности и безопасности информации
(8332) 487077 — Джавадова Валерия Андреевна, Отдел режима секретности и безопасности информации
(8332) 487055 — Поткина Лиля Александровна, Отдел режима секретности и безопасности информации
Узлы замены (S-блоки)
Основная статья: S-блок (информатика)
См. также:
Все восемь S-блоков могут быть различными. Некоторые считают, что они могут являться дополнительным ключевым материалом, увеличивающим эффективную длину ключа; однако существуют применимые на практике атаки, позволяющие их определить. Впрочем, и необходимости в увеличении длины ключа нет, 256 бит вполне достаточно в настоящее время. Как правило, таблицы замен являются долговременным параметром схемы, общим для определенной группы пользователей.
В тексте стандарта ГОСТ 28147-89 указывается, что поставка заполнения узлов замены (S-блоков) производится в установленном порядке, то есть разработчиком алгоритма.
Идентификатор: id-Gost28147-89-CryptoPro-A-ParamSet
OID: 1.2.643.2.2.31.1
Номер S-блока | Значение | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
1 | 9 | 6 | 3 | 2 | 8 | B | 1 | 7 | A | 4 | E | F | C | D | 5 |
2 | 3 | 7 | E | 9 | 8 | A | F | 5 | 2 | 6 | C | B | 4 | D | 1 |
3 | E | 4 | 6 | 2 | B | 3 | D | 8 | C | F | 5 | A | 7 | 1 | 9 |
4 | E | 7 | A | C | D | 1 | 3 | 9 | 2 | B | 4 | F | 8 | 5 | 6 |
5 | B | 5 | 1 | 9 | 8 | D | F | E | 4 | 2 | 3 | C | 7 | A | 6 |
6 | 3 | A | D | C | 1 | 2 | B | 7 | 5 | 9 | 4 | 8 | F | E | 6 |
7 | 1 | D | 2 | 9 | 7 | A | 6 | 8 | C | 4 | 5 | F | 3 | B | E |
8 | B | A | F | 5 | C | E | 8 | 6 | 2 | 3 | 9 | 1 | 7 | D | 4 |
Данный узел замен используется криптопровайдером CryptoPRO CSP по умолчанию. Так же данный узел замен используется в ПО «Верба-О».
Идентификатор: id-Gost28147-89-CryptoPro-B-ParamSet
OID: 1.2.643.2.2.31.2
Номер S-блока | Значение | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
1 | 8 | 4 | B | 1 | 3 | 5 | 9 | 2 | E | A | C | D | 6 | 7 | F |
2 | 1 | 2 | A | 4 | D | 5 | C | 9 | 7 | 3 | F | B | 8 | 6 | E |
3 | E | C | A | 9 | 2 | D | B | 7 | 5 | 8 | F | 3 | 6 | 1 | 4 |
4 | 7 | 5 | D | B | 6 | 1 | 2 | 3 | A | C | F | 4 | E | 9 | 8 |
5 | 2 | 7 | C | F | 9 | 5 | A | B | 1 | 4 | D | 6 | 8 | E | 3 |
6 | 8 | 3 | 2 | 6 | 4 | D | E | B | C | 1 | 7 | F | A | 9 | 5 |
7 | 5 | 2 | A | B | 9 | 1 | C | 3 | 7 | 4 | D | 6 | F | 8 | E |
8 | 4 | B | E | 8 | 3 | 7 | 1 | A | 2 | 9 | 6 | F | D | 5 | C |
Данный узел замен используется криптопровайдером CryptoPRO CSP.
Идентификатор: id-Gost28147-89-CryptoPro-C-ParamSet
OID: 1.2.643.2.2.31.3
Номер S-блока | Значение | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
1 | 1 | B | C | 2 | 9 | D | F | 4 | 5 | 8 | E | A | 7 | 6 | 3 |
2 | 1 | 7 | D | B | 4 | 5 | 2 | 8 | E | F | C | 9 | A | 6 | 3 |
3 | 8 | 2 | 5 | 4 | 9 | F | A | 3 | 7 | C | D | 6 | E | 1 | B |
4 | 3 | 6 | 1 | 5 | D | A | 8 | B | 2 | 9 | 7 | E | F | C | 4 |
5 | 8 | D | B | 4 | 5 | 1 | 2 | 9 | 3 | C | E | 6 | F | A | 7 |
6 | C | 9 | B | 1 | 8 | E | 2 | 4 | 7 | 3 | 6 | 5 | A | F | D |
7 | A | 9 | 6 | 8 | D | E | 2 | F | 3 | 5 | B | 4 | 1 | C | 7 |
8 | 7 | 4 | 5 | A | 2 | F | E | C | 6 | 1 | B | D | 9 | 3 | 8 |
Данный узел замен используется криптопровайдером CryptoPRO CSP.
Идентификатор: id-Gost28147-89-CryptoPro-D-ParamSet
OID: 1.2.643.2.2.31.4
Номер S-блока | Значение | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
1 | F | C | 2 | A | 6 | 4 | 5 | 7 | 9 | E | D | 1 | B | 8 | 3 |
2 | B | 6 | 3 | 4 | C | F | E | 2 | 7 | D | 8 | 5 | A | 9 | 1 |
3 | 1 | C | B | F | E | 6 | 5 | A | D | 4 | 8 | 9 | 3 | 7 | 2 |
4 | 1 | 5 | E | C | A | 7 | D | 6 | 2 | B | 4 | 9 | 3 | F | 8 |
5 | C | 8 | 9 | D | 2 | A | B | 7 | 3 | 6 | 5 | 4 | E | F | 1 |
6 | 8 | F | 3 | 2 | 5 | E | B | 1 | A | 4 | 7 | C | 9 | D | 6 |
7 | 3 | 6 | F | 1 | E | 9 | 2 | D | 8 | C | 4 | B | A | 5 | 7 |
8 | 1 | A | 6 | 8 | F | B | 4 | C | 3 | 5 | 9 | 7 | D | 2 | E |
Данный узел замен используется криптопровайдером CryptoPRO CSP
Узел замены, определенный Техническим комитетом по стандартизации «Криптографическая защита информации» (сокращенно — ТК 26) Росстандарта.
Идентификатор: id-tc26-gost-28147-param-Z
OID: 1.2.643.7.1.2.5.1.1
Номер S-блока | Значение | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
1 | C | 4 | 6 | 2 | A | 5 | B | 9 | E | 8 | D | 7 | 3 | F | 1 |
2 | 6 | 8 | 2 | 3 | 9 | A | 5 | C | 1 | E | 4 | 7 | B | D | F |
3 | B | 3 | 5 | 8 | 2 | F | A | D | E | 1 | 7 | 4 | C | 9 | 6 |
4 | C | 8 | 2 | 1 | D | 4 | F | 6 | 7 | A | 5 | 3 | E | 9 | B |
5 | 7 | F | 5 | A | 8 | 1 | 6 | D | 9 | 3 | E | B | 4 | 2 | C |
6 | 5 | D | F | 6 | 9 | 2 | C | A | B | 7 | 8 | 1 | 4 | 3 | E |
7 | 8 | E | 2 | 5 | 6 | 9 | 1 | C | F | 4 | B | D | A | 3 | 7 |
8 | 1 | 7 | E | D | 5 | 8 | 3 | 4 | F | A | 6 | 9 | C | B | 2 |
Узлы замены определенные в Украине
Узел замены №1 из инструкции №114
Узел замены №1 (ДКЕ №1 — укр. довгостроковий ключовий елемент), определён в «Инструкции о порядке поставки и использования ключей к средствам криптографической защиты информации» (укр. «Інструкція про порядок постачання і використання ключів до засобів криптографічного захисту інформації»).
Номер S-блока | Значение | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
1 | A | 9 | D | 6 | E | B | 4 | 5 | F | 1 | 3 | C | 7 | 8 | 2 |
2 | 8 | C | 4 | 9 | 6 | 7 | B | 2 | 3 | 1 | F | 5 | E | A | D |
3 | F | 6 | 5 | 8 | E | B | A | 4 | C | 3 | 7 | 2 | 9 | 1 | D |
4 | 3 | 8 | D | 9 | 6 | B | F | 2 | 5 | C | A | 4 | E | 1 | 7 |
5 | F | 8 | E | 9 | 7 | 2 | D | C | 6 | 1 | 5 | B | 4 | 3 | A |
6 | 2 | 8 | 9 | 7 | 5 | F | B | C | 1 | D | E | A | 3 | 6 | 4 |
7 | 3 | 8 | B | 5 | 6 | 4 | E | A | 2 | C | 1 | 7 | 9 | F | D |
8 | 1 | 2 | 3 | E | 6 | D | B | 8 | F | A | C | 5 | 7 | 9 | 4 |
Согласно приказу Госспецсвязи Украины №1236/5/453 от 20 августа 2012 года, этот узел замены используется по умолчанию и содержится в упакованном виде (64 байта) в параметрах сертификата открытого ключа сформированного по ДСТУ 4145-2002.
Нелинейное биективное преобразование (преобразование S)
При биективном отображении каждому элементу одного множества соответствует ровно один элемент другого множества (более подробно про биекцию можешь почитать в Википедии). То есть это просто банальная подстановка байтов в исходном векторе по определенному правилу. В данном случае правило задается массивом из 256 значений:
Здесь для экономии места показаны не все значения, определенные в стандарте, а только три первых и два последних. Когда будешь писать код, не забудь про остальные.
Итак, если в исходном векторе у нас встречается какой-либо байт со значением, например, 23 (в десятичном выражении), то вместо него мы пишем байт из массива Pi, имеющий порядковый номер 23, и так далее. В общем, код функции преобразования S получается такой:
Преобразование S
Цена вопроса
Использование SSE-регистров для хранения узлов замены понятно — оно дает некую гарантию изоляции секретной информации, а вот смысл расчета самой криптофункции на FPU неочевиден. Поэтому были проведены замеры времени выполнения стандартных процедур по методу прямой замены в соответствии с ГОСТом для четырех и для восьми потоков.
Для четырех потоков была получена скорость выполнения 472 процессорных такта. Таким образом, для процессора с частотой 3,6 ГГц один поток считается со скоростью 59 мегабайт в секунду, а четыре потока соответственно со скоростью 236 мегабайт в секунду.
Для восьми потоков была получена скорость выполнения 580 процессорных тактов. Таким образом, для процессора с частотой 3,6 ГГц один поток считается со скоростью 49 мегабайт в секунду, а восемь потоков со скоростью 392 мегабайта в секунду.
Как может заметить читатель, код в примере № 3 имеет производительность 4 RTT, а код в примере № 4 имеет производительность 8 RTT. В этих примерах на SSE-регистрах закономерности те же, что и при использовании РОН, только планировщик снизил свою эффективность. Сейчас он обеспечивает 20%-е увеличение длительности при двукратном увеличении длины кода.
Причем эти результаты были получены с использованием универсальных AVX-команд, имеющихся как в процессорах Intel, так и в процессорах AMD. Если выполнить оптимизацию под процессор AMD, результат будет значительно лучше. Звучит поперек тренда, но тем не менее это правда, и вот почему: процессоры AMD имеют дополнительный набор команд, так называемое XOP-расширение, и в этом дополнительном наборе команд есть такие, которые значительно упрощают реализацию алгоритма ГОСТа.
Имеются в виду команды логического пакетного сдвига байтов и пакетного циклического сдвига двойных слов. В примерах, приведенных в приложениях 3 и 4, используются последовательности универсальных команд, реализующих необходимое преобразование: в первом случае одна «лишняя» команда, а в другом случае сразу четыре лишних команды. Так что резервы оптимизации есть, и немалые.
Если речь зашла о дальнейшей оптимизации, нелишне помнить о наличии 256-битных регистров (YMM-регистры), используя которые можно теоретически еще удвоить скорость вычислений. Но пока это только перспектива, на данный момент процессоры очень сильно замедляются, когда выполняют 256-битные инструкции (FPU имеют ширину тракта 128 бит). Эксперименты показали, что на современных процессорах счет в 16 потоков на YMM-регистрах выигрыша не дает. Но это только пока, на новых моделях процессоров, несомненно, будет увеличено быстродействие 256-битных команд, и тогда использование 16 параллельных потоков станет целесообразно и приведет к еще большему увеличению скорости работы криптопроцедуры.
Теоретически можно рассчитывать на скорость 600–700 мегабайт в секунду при наличии в процессоре двух FPU с шириной рабочего тракта 256 бит каждый. В этом случае можно говорить о написании кода с эффективностью 16 RTT, и это не фантастика, а ближайшая перспектива.
Примечания
- ↑ J. Kelsey, B. Schneier, D. Wagner Key Schedule Cryptanalysis of IDEA,G-DES, GOST, SAFER, and Triple-DES. — Advances in Cryptology — CRYPTO’96, volume 1109 of Lecture Notes of Computer Science, Springer-Verlag. — 1996. — pp. 237—251. 300, 303
- ↑ Alex Biryukov and David Wagner Advanced Slide Attacks. — Applied Mathematics Department Technion — Israel Institute of Technology Haifa. — 2000
- ↑ Ростовцев А. Г., Маховенко Е. Б., Филиппов А.С, Чечулин А.А О стойкости ГОСТ 28147-89. — СПбГПУ. — 2001
- ↑ Ko Y., Hong S., Lee W., Lee S., Kang J S Related Key Differential Attacks on 27 Rounds of XTEA and Full-Round GOST. — Springer, Heidelberg. — 2004. — pp. 299—316
- ↑ Biham E., Dunkelman O., Keller N. Improved slide attacks. — FSE-2007, Lect. Notes Comput. Sci. — 2007. — 153—166
- ↑ Kara O. Reflection cryptanalysis of some ciphers. — INDOCRYPT-2008, Lect. Notes Comput. Sci., 5365. — 2008. — 294—307
- ↑ Rudskoy V. On zero rractical significance of key recovery attack on full GOST block cipher with zero time and memory. — 2010
- ↑ Isobe T. A single-key attack on the full GOST block cipher. — FSE-2011, Lect. Notes Comput. Sci., 6733, 2011. — 290—305
- ↑ Dinur I., O. Dunkelman, A. Shamir Improved Attacks on Full GOST. — FSE 2012, LNCS 7549. — pp. 9-28
- ↑ Pudovkina M., Khoruzhenko G. Related-key attacks on the full GOST block cipher with two or four related keys. — BulCrypt-2012, Sofia. — 2012 . — 107—127
- ↑ Babenko L.K., Maro E.A. Algebraic Cryptanalysis of GOST Encryption Algorithm. — SECTION IV. METHODS AND MEANS OF CRYPTOGRAPHY AND STEGANOGRAPHY. — 2014
- ↑ Fleischmann E., Gorski M., Huhne J.-H., Lucks S. Key recovery attack on full GOST block cipher with zero time and memory. — WEWoRC. — 2009
Что делать заказчикам
С 01.01.2019 подписание любых документов в Единой информационной системе старым сертификатом запрещено. Если вы попытаетесь опубликовать информацию, используя старую подпись, то высветится ошибка ЭЦП ГОСТ. Весь функционал ЕИС доступен только для владельцев новых сертификатов по ГОСТ Р 34.10-2012.
Чтобы не происходило сбоев в работе, обращайтесь в ФК и меняйте ключи ЭЦП. Находите ближайший удостоверяющий центр или подавайте заявку на замену сертификата в электронной форме (доступно для государственных и муниципальных заказчиков, работающих с ТОФК). Сервис для подачи заявлений онлайн — портал заявителя информационной системы «Удостоверяющий центр Федерального казначейства».
Все подробные инструкции по входу, замене и установке обновленного ключа есть на сайте Казначейства. Там же описана и конвертация ЭЦП по ГОСТ 2012 — процедура по форматированию ключевого контейнера и преобразованию файлов вложения из неработающего формата в активный.
Заказчики подают заявку в электронной форме. Вот что надлежит сделать:
Шаг 3. Выбрать место для сохранения файла и сохранить его. После сохранения приступить к установке.
Шаг 4. В процессе установки использовать мастер импорта сертификатов. Выбрать хранилище — «Локальный компьютер».
Шаг 5. Внутреннее хранилище выбирается вручную, через кнопку «Обзор». Выбирайте файл «Доверенные корневые центры сертификации».
Все, импорт завершен.
Криптографическая защита становится проще и доступнее
Привычная схема работы при создании защищенных корпоративных каналов связи — реализация комплексного проекта. Обычно он включает традиционные этапы: проектирование, закупку оборудования, пуско-наладочные работы и сопровождение системы в течение ее жизненного цикла. Однако применение сертифицированных СКЗИ часто сопряжено с рядом проблем. Основные из них: нехватка квалифицированного персонала, сложности с настройкой и соблюдением всех требований ФСБ России к эксплуатации. Кроме того, не всегда возможно обеспечить круглосуточную поддержку функционирования криптосистем, так как для этого нужна целая команда ИБ-специалистов, работающих посменно.
Серьезная проблема — дополнительные затраты на поддержание версии продукта в актуальном состоянии, — отмечает Александр Веселов. — Дело в том, что легитимный срок эксплуатации средства криптографической защиты составляет приблизительно 3–5 лет, что гораздо меньше жизненного цикла телеком-оборудования. Связано это со сроком действия сертификата ФСБ России. |
Первую попытку упростить ситуацию для заказчиков сделали вендоры: ввели техническую поддержку с возможностью обновления версии СКЗИ. Это действительно сняло некоторую головную боль клиентов, но не всю, ведь вопросы эксплуатации, требующие участия высококвалифицированного персонала, остались. Закрыть этот вопрос можно с помощью сервисной модели. В Постановлении Правительства РФ № 313 «Об утверждении Положения о лицензировании деятельности по разработке, производству, распространению шифровальных (криптографических) средств…» указывается, что решение данных задач возможно не только с привлечением сторонней организации на разных этапах проекта, но и посредством сервисной модели.
Поставщиков сервиса класса «VPN с криптографической защитой (ГОСТ) как сервис» можно условно разделить на две группы: операторы связи и облачные провайдеры. Облачные провайдеры (МТС, «Ростелеком», Dataline и др.) предлагают организовать защищенный по ГОСТу доступ к своим сервисам. А операторы связи могут применить отечественное шифрование на своих каналах связи. Такие услуги предоставляют, например, «Ростелеком», «Мегафон», Orange.
Это очень динамичный сегмент рынка, набирающий обороты, отмечает Александр Веселов:
Сервисная модель знаменует новую стадию развития рынка VPN, благодаря которой заказчик получает сразу несколько принципиальных преимуществ: высокий уровень криптографической защиты корпоративных VPN, простоту использования сервиса, прогнозируемые затраты и ликвидацию проблемы дефицита кадров. |
Особенности эксплуатации защищенных каналов связи в рамках сервисной модели
Провайдер услуги осуществляет работы на каждом этапе жизненного цикла сервиса: от закупки и построения до эксплуатации системы криптозащиты. Заказчику не обязательно выбирать производителя СКЗИ — по его запросу все требуемые действия выполнит поставщик услуги. Сервис-провайдер самостоятельно поддерживает версию СКЗИ в актуальном состоянии (приобретение новой версии, удаленное или локальное обновление), обеспечивает работоспособность аппаратной части (пул запасного оборудования, выезды на объекты, перенос конфигурации), ведет журнал учета СКЗИ и другую документацию. При этом осуществляет актуализацию политик безопасности и обновление ключей, круглосуточный мониторинг работоспособности и устранение инцидентов.
Заказчик получает услугу «под ключ», в отчетный период ему предоставляется статистика по работоспособности и запросам. При этом размер ежемесячного платежа остается неизменным, если не меняются параметры получаемой услуги, например, связанные, с появлением у клиента новых офисов или повышением пропускной способности каналов связи, — комментирует Александр Веселов. |
После установки СКЗИ у заказчика за их эксплуатацию полностью отвечает команда квалифицированных ИБ-специалистов «Ростелеком-Солар», что гарантирует:
- производительность и отказоустойчивость сервиса (в соответствии с соглашением об уровне услуг SLA);
- применение актуальных настроек VPN и политик ИБ;
- возможность взаимодействия с другими защищенными сетями;
- быстрое обнаружение и устранение инцидентов безопасности в режиме 24×7.
Важно, что провайдер услуги берет на себя все заботы, связанные с соблюдением законодательства в отношении средств криптозащиты: применение только сертифицированных продуктов лидирующих вендоров, тщательное отслеживание всех изменений нормативной базы – сервис всегда соответствует всем нюансам актуальных законов и регламентов. И это при минимуме бюрократии на стороне клиента и прогнозируемых затратах.
Зачем нужна конвертация
Вы получили ключ по новым стандартам и установили корневой сертификат Казначейства в локальную директорию персонального компьютера. Но при подписании файлов в ЕИС или государственной информационной системе Электронный бюджет не работает ЭЦП ГОСТ 2012. Что делать в таком случае? Проверить значение ключа электронной подписи.
Сейчас УЦ выдают установочные схемы со значением PCKS 12. Для корректной работы контейнера необходимо иное значение — PCKS 15. Для приведения контейнера ключа ЭЦП в надлежащий формат используется конвертер —специальная утилита для преобразования файлов. Найдите программу Converter.exe (установочные файлы в любом поисковике) и установите ее на рабочем компьютере.
После установки начинайте преобразование действующего носителя в необходимый формат PCKS 15. Вот как использовать конвертер ЭЦП по ГОСТу 2012:
1. Включите Converter.exe.
2. Вставьте тот носитель, на котором установлен закрытый ключ ЭЦП, и обновите список носителей.
3. Нажмите «Конвертировать». Добавьте новый (желательно чистый) носитель и обновите.
4. Задайте пароль для нового носителя. В открывшемся окне введите пароль для закрытого ключа ЭЦП.
5. Завершите процедуру и проверьте новый носитель — теперь в папке установлено два файла.
6. Зайдите в программу генерации ключей и запустите импорт. В верхнем окне выбирайте казначейский ключ, а в нижнем — конвертированный контейнер. Вставьте носитель.
И выберите нужный из списка.
7. Введите придуманный ранее пароль. Ключ сгенерирован и готов к работе.
Немного теории
Основу хеш-функции «Стрибог» составляет функция сжатия (g-функция), построенная на блочном шифре, построенном с помощью конструкции Миягучи — Пренеля, признанной одной из наиболее стойких.
Блочный шифр в режиме Миягучи — Пренеля. Здесь m — очередной блок исходного сообщения, h — значение предыдущей функции сжатия
В целом хеширование производится в три этапа. Первый этап — инициализация всех нужных параметров, второй этап представляет собой так называемую итерационную конструкцию Меркла — Дамгорда с процедурой МД-усиления, третий этап — завершающее преобразование: функция сжатия применяется к сумме всех блоков сообщения и дополнительно хешируется длина сообщения и его контрольная сумма.
Общая схема вычисления хеш-суммы по ГОСТ 34.11—2012
WARNING
При чтении ГОСТа учти, что во всех 64-байтовых массивах (в том числе и в массивах значений итерационных констант C1 — C12) нулевой байт находится в конце массива, а шестьдесят третий, соответственно, в начале.
Итак, после краткого и небольшого погружения в теорию начинаем кодить…
Базовые функции стандарта
Поскольку при вычислении хеша мы имеем дело с 64-байтовыми блоками (в стандарте они представлены 512-разрядными двоичными векторами), для начала определим этот самый двоичный вектор:
Сложение двух двоичных векторов по модулю 2
Здесь все предельно просто. Каждый байт первого вектора ксорится с соответствующим байтом второго вектора, и результат пишется в третий (выходной) вектор:
Побитовое исключающее ИЛИ над 512-битными блоками
В тексте ГОСТа название данной операции звучит как сложение в кольце вычетов по модулю 2 в степени n. Такая фраза кого угодно может вогнать в уныние, но на самом деле ничего сложного и страшного в ней нет. Два исходных 64-байтовых вектора представляются как два больших числа, далее они складываются, и переполнение, если оно появляется, отбрасывается:
Нелинейное биективное преобразование (преобразование S)
При биективном отображении каждому элементу одного множества соответствует ровно один элемент другого множества (более подробно про биекцию можешь почитать в Википедии). То есть это просто банальная подстановка байтов в исходном векторе по определенному правилу. В данном случае правило задается массивом из 256 значений:
Здесь для экономии места показаны не все значения, определенные в стандарте, а только три первых и два последних. Когда будешь писать код, не забудь про остальные.
Итак, если в исходном векторе у нас встречается какой-либо байт со значением, например, 23 (в десятичном выражении), то вместо него мы пишем байт из массива Pi, имеющий порядковый номер 23, и так далее. В общем, код функции преобразования S получается такой:
Преобразование S
Перестановка байтов (преобразование P)
Преобразование P — простая перестановка байтов в исходном массиве в соответствии с правилом, определяемым массивом Tau размером в 64 байта:
Здесь, так же как и в предыдущем случае, для экономии места показаны не все значения массива Tau.
Перестановка выполняется следующим образом: сначала идет нулевой элемент исходного вектора, далее — восьмой, потом — шестнадцатый и так далее до последнего элемента. Код функции напишем так:
Линейное преобразование (преобразование L)
Это преобразование носит название «умножение справа на матрицу A над полем Галуа GF(2)» и по сравнению с первыми двумя будет немного посложнее (по крайней мере, вкурить всю суть от и до с первого прочтения стандарта удается далеко не всем). Итак, есть матрица линейного преобразования A, состоящая из 64 восьмибайтовых чисел (здесь приведена не в полном объеме):
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
Режим простой замены
Шифрование может быть описано следующим образом:
где — номера блоков, и — блоки зашифрованного и открытого текстов соответственно, а — функция блочного шифрования. Расшифровка аналогична:
Преимущества
·Нет необходимости в последовательном применении функции шифрования к потоку открытого текста. Допустимо сначала зашифровать, например, начало файла, потом конец, потом середину. Как следствие, шифрование может быть параллельным.
Недостатки
·При использовании одного ключа идентичные блоки открытого текста шифруются в идентичные блоки зашифрованного текста; таким образом, этот метод плохо скрывает структуру данных, что также делает его неустойчивым к статистическому анализу.
·Блоки могут пропадать или появляться. Злоумышленник может перехватить блок и продублировать его, и со стороны приёмника он будет воспринят как «правильный».
Режим устойчив к ошибкам, связанным с изменением битов блока (ошибка не распространяется на другие блоки), но неустойчив — к ошибкам, связанным с потерей или вставкой битов, если не используется дополнительный механизм выравнивания блоков.
Гаммирование
формируется криптографическая гамма, которая затем побитно складывается по модулю 2 с исходным открытым текстом для получения шифротекста. Шифрование в режиме гаммирования лишено недостатков, присущих режиму простой замены. Так, даже идентичные блоки исходного текста дают разный шифротекст, а для текстов с длиной, не кратной 64 бит, «лишние» биты гаммы отбрасываются. Кроме того, гамма может быть выработана заранее, что соответствует работе шифра в поточном режиме.
Выработка гаммы происходит на основе ключа и так называемой синхропосылки, которая задает начальное состояние генератора Случайных чисел
Для расшифровывания необходимо выработать такую же гамму, после чего побитно сложить ее по модулю 2 с зашифрованным текстом. Очевидно, для этого нужно использовать ту же синхропосылку, что и при шифровании. При этом, исходя из требований уникальности гаммы, нельзя использовать одну синхропосылку для шифрования нескольких массивов данных. Как правило, синхропосылка тем или иным образом передается вместе с шифротекстом.
Особенность работы ГОСТ 28147-89 в режиме гаммирования заключается в том, что при изменении одного бита шифротекста изменяется только один бит расшифрованного текста. С одной стороны, это может оказывать положительное влияние на помехозащищенность; с другой — злоумышленник может внести некоторые изменения в текст, даже не расшифровывая его
Режим обратной связи по шифротексту.
Режим обратной связи по шифротексту, режим гаммирования с обратной связью (англ.Cipher Feedback Mode, CFB) — один из вариантов использования симметричного блочного шифра, при котором для шифрования следующего блока открытого текста он складывается по модулю 2 с перешифрованным (блочным шифром) результатом шифрования предыдущего блока.
Вектор инициализации(самый первый ключ) как и в режиме сцепления блоков шифротекста, можно делать известным, однако он должен быть уникальным.
Ошибка, которая возникает в шифротексте при передаче (например, из-за помех), сделает невозможным расшифровку как блока, в котором ошибка произошла, так и следующего за ним, однако не распространяется на последующие блоки.
При использовании данного режима следует иметь в виду, что синхропосылку нельзя использовать повторно (например, при шифровании логически раздельных блоков информации — сетевых пакетов, секторов жёсткого диска и т.п). Это обусловлено тем, что первый блок шифр-текста получен всего лишь сложением по модулю два с зашифрованной синхропосылкой; таким образом, знание всего лишь 8 первых байт исходного и шифрованного текста позволяют читать первые 8 байт любого другого шифр-текста после повторного использования синхропосылки.
В чем преимущества сервисной модели ГОСТ VPN
Оплата фактически потребляемого сервиса дает прямую экономию:
- снижаются затраты на оборудование и персонал — капитальные издержки переходят в операционные;
- совокупная стоимость владения сервисами значительно дешевле традиционной схемы, включающей покупку, внедрение и последующую поддержку ИБ-решений;
- благодаря распределенной отказоустойчивой инфраструктуре и квалифицированной команде эксплуатации минимизируются издержки на подключение к сервисам, ремонты и простои оборудования по причине аварий или инцидентов ИБ;
- простая масштабируемость услуги позволяет оперативно менять ее параметры, что тоже сокращает затраты на модернизацию;
- заключение единого договора на услуги связи и шифрования также дает определенную экономию заказчику.
Экономия на стоимости услуг высококвалифицированного ИБ-персонала:
- устраняется зависимость от дорогостоящих кадров узкой специализации.
- нет необходимости создавать еще один отдел в составе своего ИБ-департамента.
Как правило, физической границей разделения зон ответственности между заказчиком и поставщиком сервиса являются внутренние порты предоставляемого оборудования. Поскольку оно устанавливаются у клиента, тот должен заботиться о сохранности аппаратных решений и соблюдать ряд условий: по электропитанию, климат-контролю, свободным сетевым интерфейсам, при необходимости — местам в стойке.
Смешанный режим
Будем прессовать дальше. Наша цель — получить 12 RTT-шек, это можно сделать, выполняя команды одновременно на всех имеющихся в ядре процессора FPU. Их у Intel три штуки, мы же пока задействовали только два, так что вперед!
Опять встает вопрос количества регистров, их не хватает, чтобы раскрутить такой алгоритм. Но нам поможет режим гипертрейдинга. У процессорного ядра имеется второй набор регистров, доступных в режиме логических процессоров. Поэтому будем выполнять один и тот же код сразу на двух логических процессорах. В этом режиме исполнительных устройств у нас, конечно, не прибавится, но за счет чередования можно получить полную загрузку всех исполнительных устройств.
Рассчитывать на прибавку в 50% здесь не приходится, узким местом становится кеш-память, где хранятся технологические маски, но прибавку в 100 дополнительных мегабайт все же получить можно. Этот вариант не приведен в приложениях (макросы аналогичны используемым в коде на 8 RTT), но он имеется в программных файлах. Так что если кто не верит в возможность шифрования со скоростью 500 мегабайт в секунду на одном процессорном ядре, пусть запустит тестовые файлы. Там же есть и тексты с комментариями, чтобы никто не подумал, что я лукавлю.
Такой фокус возможен только на процессорах Intel, у AMD только два блока FPU на два процессорных модуля (аналог режима гипертрейдинг). Но зато имеется еще четыре АЛУ, которые грех не использовать.
Можно загнать процессорные модули «Бульдозера» в режим, аналогичный режиму гипертрейдинга, но запускать на разных модулях в одном потоке преобразование на РОН, а в другом потоке на SSE-регистрах и получить те же 12 RTT. Этот вариант я не проверял, но, думаю, на AMD код в 12 RTT будет работать более эффективно. Желающие могут попробовать, тестовые программы можно подкорректировать для работы на «Бульдозерах» достаточно легко.