Алгоритм хеширования cms не поддерживается сигнатура 6

Обновлено: 06.07.2024

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

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

Хэш-функции

Криптография с открытым ключом (PKC)

Криптография с открытым ключом или PKC (от англ. Public-key cryptography) относится к криптографической системе, которая использует пару из открытого (публичного) и закрытого (приватного) ключа. Два математически связаны ключа могут использоваться как для шифрования данных, так и для создания цифровой подписи.

Как инструмент шифрования, PKC является более безопасным, в сравнении с его симметричным аналогом. В то время как подобные устаревшие системы используют один и тот же ключ для шифрования и дешифрования информации, PKC позволяет зашифровать данные с помощью публичного ключа и дешифровать их исключительно посредством соответствующего приватного ключа. В некоторых возможных реализациях, цифровые подписи могут включать в себя шифрование, это означает, что данная функция не работает на постоянной основе. Например, в блокчейне биткоина также используются криптография с открытым ключом и цифровые подписи, но в отличие от всеобщего заблуждения, шифрование в его процессах отсутствует. С технической точки зрения, биткоин использует так называемый алгоритм цифровой подписи эллиптической кривой (ECDSA от англ. elliptic curve digital signature algorithm) для аутентификации своих транзакций.

Принцип работы цифровой подписи

В контексте криптовалют, система цифровых подписей зачастую состоит из трех основных этапов, это хеширование, непосредственно сам процесс подписи и ее проверка.

Хеширование данных

Подпись

Проверка

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

В чем важность цифровых подписей?

В основном цифровые подписи предназначены для достижения трех результатов: целостности данных, аутентификации и неотрекаемости.

Варианты использования

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

  • Информационные технологии. Повышение безопасности систем интернет-комуникации.
  • Финансы. Реализация в аудитах, отчетах о расходах, кредитных договорах и многих других финансовых документах.
  • Юридические вопросы. Использование во всех видах деловых контрактов и юридических соглашениях, включая правительственные документы.
  • Здравоохранение. Предотвращение мошенничества с рецептами и медицинскими записями.
  • Блокчейн. Система цифровых подписей гарантирует, что только законные владельцы криптовалюты могут подписать транзакцию для дальнейшего перевода средств (за исключением случаев, когда приватный ключ владельца был скомпроментирован).

Недостатки

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

  • Алгоритм. Качество алгоритмов используемых для генерации цифровой подписи имеет крайне важное значение. Это включает в себя выбор надежных хэш-функций и криптографических систем.
  • Реализация. Если алгоритмы работают правильно, а интеграция технологии цифровых подписей прошла не совсем успешно, система скорее всего будет обладать определенным количеством недостатков.
  • Приватный ключ. Если произошла утечка приватных ключей или по какой-то причине они были скомпрометированы, свойства аутентификации и неотрекаемости будут признаны недействительными. Для пользователей криптовалюты потеря своего приватного ключа может привести к значительным финансовым потерям.

Электронная подпись против цифровой

Основным отличием между ними является метод аутентификации. Цифровые подписи используют криптографические системы, такие как хэш-функции, криптографию с открытым ключом и методы шифрования.

Заключение

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

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

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

со стороны ЦБ поступали письма о том что ". завершается разработка системы криптографической авторизации электронных документов (далее - СКАД) «Сигнатура» версия 6"
Немного непонятна фраза
"Помимо функциональных возможностей, реализованных в СКЗИ версии 5, СКЗИ версии 6 содержат новый функционал, в том числе в них реализовано шифрование по ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015. "
Изменится ли API? Или в этом плане все останется как было?

2 Ответ от ant 2019-12-30 15:45:30

Добрый день,
В СКАД «Сигнатура» версия 6 для поддержки новых алгоритмов шифрования (ГОСТ Р 34.12-2015 и ГОСТ Р 34.13-2015) добавлены новые функции. Если ничего не менять, то шифрование будет осуществляться по старому алгоритму ГОСТ 28147-89. Для перехода на новые алгоритмы нужно вызывать новые функции СКАД «Сигнатура» версия 6.

3 Ответ от КрасКрипт 2020-01-13 14:12:35

Не подскажете, инструментарий разработчика в ЦБ уже передавался, или пока только непосредственно СКАД для проведения тестирования?
(интересуюсь с целью понять когда можно будет обращаться по этому вопросу в ЦБ)

4 Ответ от ant 2020-01-13 19:20:03

В ЦБ все есть, но СКАД «Сигнатура» версия 6 сейчас на этапе сертификационных исследований.
Обратиться можно, но что ответят, не знаю.

5 Ответ от Setevoy 2020-02-17 16:16:51

А есть где-нибудь информация по системным требованиям Сигнатуры?
Хотя-бы перечень поддерживаемых ОС?

6 Ответ от ant 2020-02-17 19:24:44

Перечень содержится в документации (Формуляр ВАМБ.00107-06 30 01)

7 Ответ от Setevoy 2020-02-18 08:50:28

Это именно по Сигнатуре 6?

8 Ответ от ant 2020-02-18 15:41:52

Да, это из формуляра на Сигнатуру 6

9 Ответ от igoro 2020-10-02 15:30:09 (2020-10-02 15:36:49 отредактировано igoro)

Скажите, пожалуйста, а шестая версия для линукса существует ли? Мы сейчас пользуем Сигнатура-L 5, предоставленную центробанком. Они собираются переходить на шестую сигнатуру в обозримом будущем, но ничего не смогли ответить по поводу Сигнатура-L -- типа нет информации о новой версии, только про Windows версию знают

10 Ответ от ant 2020-10-02 16:49:27

По вопросам выхода Сигнатура-L 6 необходимо обращаться в Банк России.

11 Ответ от Saches 2021-03-23 17:55:36

Инициализация датчика случайных чисел.
Ошибка 0xE0BE001F.
Ошибка открытия драйвера VDCryDrv.

Обновление проводилось на Windows 10

12 Ответ от ant 2021-03-24 11:31:10

wmic OS >OS.txt
wmic QFE list >QFE.txt
wmic product list >Product.txt

13 Ответ от Saches 2021-03-25 13:20:50 (2021-03-25 13:24:50 отредактировано Saches)

После перезагрузки, уже с работающим Касперским, всё ок.

14 Ответ от ant 2021-03-25 13:40:33

Добрый день.
Для Windows 7 и Windows 2008 R2, довольно часто не установлено обновление KB3033929 (Поддержка подписи кода SHA-2).

Если запустить программу конфигурации СКЗИ и попробовать инициализировать ДСЧ, и получить ошибку:
Инициализация датчика случайных чисел. Ошибка 0xE0BE001F. Ошибка открытия драйвера VdCryDrv

Программы для поиска криптоалгоритмов в исполняемых файлах


Программы для поиска криптоалгоритмов в исполняемых файлах

При анализе различных защит часто приходится определять, какой алгоритм был использован для шифрования данных или преобразований регистрационного имени в правильный серийный номер. Часто авторы не изобретают велосипедов, а используют готовые алгоритмы шифрования или хеширования. Вы должны понимать, что алгоритмы шифрования и алгоритмы хеширования - это разные вещи, но для удобства в статье я буду называть их просто "криптоалгоритмами". Если алгоритмы стандартные, то их можно идентифицировать, например, по характерным константам-полиномам, таблицам преобразований или по последовательности выполняемых операций (хорошие статьи по этой теме на английском можно почитать тут). Для поиска криптоалгоритмов в исполняемых файлах созданы специальные программы, небольшой обзор которых я подготовил в этой статье.

Скриншот программы Krypto ANALyzer


Скриншот программы Krypto ANALyzer

Наиболее известный сканер криптоалгоритмов - это плагин Krypto ANALyzer для анализатора исполняемых файлов PEiD. Распознает BLOWFISH, CAST, CRC16/32, DES, DESX, FROG, GOST, HAVAL, ICE, ICELOCK, MARS, MD4/5, MISTY, NEWDES, Q128, RC2/5/6, RIJNDAEL, RIPEMD, SHA, SHARK, SKIPJACK, SNEFRU, SQUARE, TIGER, TWOFISH и многие другие алгоритмы. Найденные значения можно просто посмотреть или экспортировать в скрипт для дизассемблера IDA Pro. Я написал для Krypto ANALyzer небольшой загрузчик-переходник, позволяющий запускать плагин как самостоятельное приложение.

Krypto ANALyzer 2.92

Скриншот программы Crypto Checker


Скриншот программы Crypto Checker

Crypto Checker от Aleph - один из лучших криптосканеров, которые созданы на сегодняшний день. Работает с огромной скоростью, определяет не только криптоалгоритмы, но и различные протекторы и упаковщики исполняемых файлов, текстовые строки, числовые примитивы, пароли и еще много-много другого. По тщательности анализа превосходит, наверное, все подобные инструменты. Из-за странной прихоти автора исполняемый файл имеет олдскульное расширение ".com", если вас это смущает, то можете его переименовать в нормальный ".exe"

Crypto Checker 1.3 alpha 11

Скриншот программы SnD Crypto Scanner


Скриншот программы SnD Crypto Scanner

SnD Crypto Scanner - консольный анализатор от крякерской команды SnD. Распространяется в виде самостоятельной консольной утилиты и плагинов для отладчиков OllyDbg и Immunity Debugger. Есть небольшая путаница в номерах версий и названиях, консольная утилита называется Command Line Crypto Scanner 1.2, а плагины для отладчиков, соответственно, Crypto Scanner Plugin 0.5b. Но фактически это один и тот же анализатор. Особую ценность представляют собой исходники на чистом Ассемблере, которые также есть в комплекте.

SnD Crypto Scanner 0.5b

Скриншот программы SND Reverser Tool


Скриншот программы SND Reverser Tool

SND Reverser Tool включает в себя предыдущий инструмент, но работает через GUI-интерфейс. Вызывается через меню Tools - Crypto Scanner. Также позволяет экспортировать найденные результаты в текстовый файл или в скрипт для IDA Pro. Распространяется вместе с исходниками.

SND Reverser Tool 1.5b1

Скриншот программы Signsrch


Скриншот программы Signsrch

Signsrch 0.2.3

Скриншот программы Draft Crypto Analyzer


Скриншот программы Draft Crypto Analyzer

Консольный Draft Crypto Analyzer (DRACA) распознает криптоалгоритмы CRC32, RC5, RC6, RC2, TEA, MD5, Ripemd-160, Tiger, Skipjack, DES, Blowfish, Twofish, Safer, MARS, CAST-256, AES (Rijndael), SHA-1 и выводит степень совпадения в процентном соотношении. На мой взгляд, ценность такой информации нулевая. Ну узнал я, например, что в файле со 100% вероятностью используется MD5, ну и что дальше мне делать с этим знанием? Ни смещения в файле, по которому была найдена сигнатура, никакой другой полезной информации. Поэтому утилита сгодится разве что для пополнения коллекции.

Draft Crypto Analyzer 0.5.7b

Скриншот программы Hash & Crypto Detector


Скриншот программы Hash & Crypto Detector

Hash & Crypto Detector - криптоанализатор от крякерской команды AT4RE. Поддерживает около 120 сигнатур, кроме этого пытается определить компилятор, которым был собран анализируемый файл, и провести еще какой-то загадочный эвристический анализ. По задумке авторов может запускать файлы, чтобы сделать дамп памяти, а потом его анализировать, но эта опция реализована глючно. Зато всяких ненужных свистоперделок типа скинового окна и нестандартных элементов управления добавлено от души.

Hash & Crypto Detector 1.4

Скриншот программы Keygener Assistant


Скриншот программы Keygener Assistant

Недалеко ушел и комбайн Keygener Assistant от этой же команды AT4RE. Помимо других возможностей, одна из вкладок в интерфейсе посвящена поиску криптоалгоритмов. Ее код, как я понимаю, полностью идентичен Hash & Crypto Detector.

Keygener Assistant 1.9

Скриншот программы x3chun


Скриншот программы x3chun's Crypto Searcher

x3chun's Crypto Searcher - чудо корейского программизма. Из пяти тестовых компьютеров согласилось работать лишь на одном. По заверениям автора, этот Crypto Searcher распознает около сотни криптоалгоритмов, но с такой феноменальной работоспособностью пригодится тоже только для коллекции.

x3chun's Crypto Searcher

Скриншот плагина findcrypt2


Скриншот плагина findcrypt2

Конечно, ни один анализатор не гарантирует 100% обнаружение криптоалгоритмов. Достаточно изменить полиномы или константы (например, записав их в виде суммы двух чисел), переставить местами некоторые команды в алгоритме или каким-нибудь другим способом "размыть" сигнатуру, и статические анализаторы уже ничем не помогут. В некоторых случаях против этого помогут динамические анализаторы, как хорошо описано в этой презентации, но и они не панацея.

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


Программа разработана совместно с АО "Сбербанк-АСТ". Слушателям, успешно освоившим программу, выдаются удостоверения установленного образца.

Продукты и услуги Информационно-правовое обеспечение ПРАЙМ Документы ленты ПРАЙМ Условия передачи программного обеспечения Клиенту Банка России (подготовлено Банком России)


Обзор документа

Условия передачи программного обеспечения Клиенту Банка России (подготовлено Банком России)

(подготовлено Банком России)

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

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

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

2. Основные положения

2.2. Банк предоставляет Клиенту право использования ПО, указанного в пункте 2.1 настоящих Условий на территории Российской Федерации следующими способами:

применять ПО в соответствии с эксплуатационной документацией;

передавать ПО третьим лицам для его интеграции в автоматизированную систему Клиента, с соблюдением требований пункта 4.3 настоящих Условий;

передавать ПО косвенным участникам Клиента для использования в соответствии с настоящими Условиями, с соблюдением требований пункта 4.4 настоящих Условий.

3. Порядок передачи и получения ПО

3.2. При первичном получении Клиентом ПК АРМ контрольные значения хэш-функции для проверки целостности ПК АРМ передаются ему на бумажном носителе.

3.4. Передача Банком Клиенту дистрибутивов ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L" осуществляется в следующем порядке.

Банк на основании доверенности, составленной по форме приложения 2 к настоящим Условиям передает представителю Клиента дистрибутив ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L на отчуждаемом(ых) машинном(ых) носителе(ях) информации (далее - ОМНИ), лицензию на использование программного продукта ПК "Сигнатура-клиент" / СКЗИ "Янтарь"/ СКАД "Сигнатура-L", содержащую регистрационные номера ПК "Сигнатура-клиент" / СКАД "Сигнатура-L"/ СКЗИ "Янтарь", и контрольные значения хэш-функции для проверки их целостности на бумажном носителе.

Факт передачи Банком Клиенту дистрибутива ПК "Сигнатура-клиент" / СКАД "Сигнатура-L" / СКЗИ "Янтарь", подтверждается Актом приема-передачи программного обеспечения, составленным по форме приложения 1 к настоящим Условиям.

3.6. Передача новых версий / сборок ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L", а также их изменений и модификаций производится Банком в порядке, аналогичном предусмотренному пунктом 3.4 настоящих Условий.

3.7. Установка, настройка и проверка работоспособности ПО на выполнение заявленных в эксплуатационной документации функций (операций) осуществляется Клиентом. Банк России предоставляет консультационную поддержку в соответствии с подпунктом 4.1.3.

3.8. Для обеспечения функционирования ПО Клиент обязан выполнять условия и требования, предъявляемые к средствам вычислительной техники, операционной системе, дополнительному оборудованию и программному обеспечению в соответствии с документацией на передаваемое ПО.

4. Права и обязанности сторон

4.1.2. размещать на официальном сайте Банка России и передавать на ОМНИ ПО в рабочем состоянии, в отношении которого Банком проведена проверка на отсутствие вредоносного кода;

4.2. Клиент обязан:

4.2.1. выполнять условия и требования, предъявляемые к средствам вычислительной техники, операционной системе, дополнительному оборудованию и программному обеспечению, указанные в эксплуатационной документации, передаваемой вместе с ПО;

4.2.2. проверять целостность ПО и изменений/модификаций к нему в соответствии с пунктом 3.9 настоящих Условий;

4.2.3. самостоятельно устанавливать и настраивать ПО, проводить его обновления в соответствии с полученными от Банка уведомлениями и извещениями о новых версиях, изменениях и модификациях, а также проверять его работоспособность;

4.2.4. обеспечивать сохранность, целостность и работоспособность ПО в течение срока эксплуатации;

4.2.5. вести поэкземплярный учет ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L" и эксплуатировать ПО в соответствии с эксплуатационной документацией;

4.2.7. использовать ПО, исключительно в целях, установленных настоящими Условиями;

4.2.8. в случае прекращения договора / договоров, в связи с которыми Клиентом было получено ПО, а также при выводе ПО из эксплуатации в связи с получением новой версии или получением уведомления от Банка о прекращении дальнейшей поддержки ПО, удалить без возможности восстановления все копии ПО со всех средств вычислительной техники, а также уничтожить носители информации ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L".

4.3. Клиент имеет право привлекать третьих лиц, обладающих лицензией на проведение соответствующих видов работ (оказания услуг), к адаптации ПК "Сигнатура-клиент", СКЗИ "Янтарь", СКАД "Сигнатура-L", ППИ СКЗИ с целью выполнения их интеграции в автоматизированную систему Клиента при условии отсутствия у Клиента возможности самостоятельного выполнения таких работ.

4.4. Клиент имеет право передавать косвенному участнику Клиента ПК "Сигнатура-клиент", СКЗИ "Янтарь", СКАД "Сигнатура-L", ППИ СКЗИ, ПК АРМ для организации электронного обмена косвенного участника Клиента с платежной системой Банка России. Ответственность перед Банком за исполнение косвенным участником Клиента настоящих Условий несет Клиент.

5. Прочие условия

5.1. Банк гарантирует, что он обладает в необходимом объеме правами в отношении переданного ПО.

5.2. Банк не несет ответственности за невозможность использования Клиентом переданного ПО, вызванную неисправностями используемых им программно-аппаратных средств, предоставленных третьими лицами, несанкционированного вмешательства в систему обработки и передачи информации Клиента.

5.3. Банк не несет ответственности за корректность установки, настройки и функционирования СКЗИ в программно-аппаратных средствах, полученных Клиентом от третьих лиц.

5.4. Банк не несет ответственности за любые прямые и (или) косвенные убытки Клиента, вследствие использования/невозможности использования ПО.

5.6. К настоящим Условиям прилагаются и являются их неотъемлемой частью следующие приложения:

форма акта приема-передачи программного обеспечения ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L" (приложение 1);

форма доверенности на получение ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L" (приложение 2).

контактные данные Банка для взаимодействия с Клиентом в рамках Условий передачи ПО (приложение 3).

Приложение 1 к Условиям передачи
программного обеспечения Клиенту Банка
России

приема-передачи программного обеспечения ПК "Сигнатура-клиент" версии

x.x.xxx.xx / СКЗИ "Янтарь" версии х.х.ххх.хx / СКАД "Сигнатура-L" версии

Мы, нижеподписавшиеся, представитель Банка, с одной стороны, и

представитель Клиента (полное и сокращенное (при наличии) наименование и

БИК Клиента), с другой стороны, составили настоящий акт в том, что

представитель Банка передал, а представитель Клиента по доверенности от

"___" __________ 20__ г. N _________ принял следующие материалы:

1. ОМНИ, содержащий дистрибутив ПК "Сигнатура-клиент" версии x.x.xxx.xx /

дистрибутив СКЗИ "Янтарь" версии x.x.xxx.xx / дистрибутив СКАД

"Сигнатура-L" версии x.x.xxx.xx.

2. Бланк с лицензией ПК "Сигнатура-клиент" версии x.x.xxx.xx" / СКЗИ

"Янтарь" версии x.x.xxx.xx / СКАД "Сигнатура-L" версии x.x.xxx.xx в

количестве __ штук.

3. Ведомость ОМНИ на ___ листах.

Настоящий Акт составлен в двух экземплярах, по одному экземпляру для

каждой из Сторон. Оба экземпляра имеют одинаковую юридическую силу.

от Банка от Клиента

должность представителя должность представителя

_________ __________________ _________ __________________

подпись Ф.И.О. подпись Ф.И.О.

"___" __________ 20__ г. "___" __________ 20__ г.

Приложение 2 к Условиям передачи
программного обеспечения Клиенту Банка
России

БИК / УИС ______________________

Дата выдачи ______________________

Доверенность действительна по ____________

(наименование потребителя и его адрес)

Доверенность выдана ___________ ______________________________________

(должность) (фамилия, имя, при наличии - отчество)

Документ, удостоверяющий личность: серия ____________ N _________________

Кем выдан: ______________________________________________________________

Дата выдачи: _________________________

На получение от ______________________

Номер по порядку Материальные ценности Единица измерения Количество
1 2 3 4
1 шт. 1

Подпись лица, получившего доверенность _____________________ удостоверяем

Руководитель ___________ _____________________

(подпись) (расшифровка подписи)

Приложение 3 к Условиям передачи
программного обеспечения Клиенту Банка
России

"___" __________ 20__ г.

Контактные данные Банка для взаимодействия с Клиентом в рамках

Условий передачи программного обеспечения Клиенту Банка России

Передача Клиенту бумажного носителя, содержащего контрольные

значения хэш-функции для проверки целостности ПК АРМ при его первичном

получении, передача дистрибутивов, лицензий и регистрационных номеров ПК

"Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД "Сигнатура-L" и соответствующих

ведомостей ОМНИ, а также прием письменных запросов для получения

дистрибутивов СКЗИ "Янтарь" и СКАД "Сигнатура-L" и письменных запросов

для передачи разработчику ПК "Сигнатура-клиент" / СКЗИ "Янтарь" / СКАД

"Сигнатура-L" производится Банком по адресу:

Наименование подразделения: _____________________________________________

Контактные телефоны: ____________________________________________________

Обзор документа

Для чего нужен CMS

  • просто данные (data),
  • данные с электронной подписью (signed data),
  • упакованные данные (enveloped data),
  • хешированные данные (digested data),
  • зашифрованные данные (encrypted data),
  • данные с проверкой подлинности (authenticated data).

Чуть истории


Подпись в CMS-формате (signed data type)


  • Версия синтаксиса CMS Version зависит от сертификатов, типа подписываемых данных и информации о подписывающих сторонах
  • Digest Algorithms включает в себя идентификаторы используемых алгоритмов хеширования и ассоциированные с ними параметры.
  • Encapsulated Content содержит подписываемые данные (Content) вместе с их типом (Content Type). Содержимое может отсутствовать, тип – нет.
  • Certificates предназначен для цепочки сертификатов, отражающих путь сертификации от центра сертификации, выдавшего сертификат, до каждой из подписывающих сторон. Также могут присутствовать сертификаты подписывающих сторон.
  • CRLs (Certificate Revocation List) предоставляет информацию о статусе отзыва сертификатов, достаточную для определения валидности сертификата подписывающей стороны.
  • Информация о каждой подписывающей стороне содержится в структурах типа Signer Info, которых может быть любое количество, в том числе и нулевое (в случае отсутствия подписи).
    • Версия синтаксиса CMS Version определяется значением Signer ID.
    • Signer ID определяет открытый ключ подписывающей стороны (subjectKeyIdentifier) или сертификат его открытого ключа, необходимый для проверки подлинности подписи (issuerAndSerialNumber).
    • Digest Algorithm определяет алгоритм хеширования и все ассоциированные с ним параметры, используемые подписывающей стороной.
    • В Signed Attributes помещаются атрибуты, требующие подписи. Поле может отсутствовать только при подписи простых данных (Content Type = id-data), при подписи других данных (например, Content Type = id-SignedData) должно присутствовать с как минимум двумя обязательными атрибутами – типом (Content Type) и хешем данных (Message Digest).
    • Signature Algorithm содержит идентификатор алгоритма подписи вместе с его параметрами.
    • В Signature Value помещается значение подписанного закрытым ключом хеша от данных (Content) и атрибутов для подписи (Signed Attributes).
    • В Unsigned Attributes помещаются оставшиеся атрибуты, не требующие подписи.



    CMS предлагает два интересных атрибута, расширяющих возможности обычной подписи: время подписи (Signing Time) и контрасигнатуру (Countersignature). Первый атрибут определяет предполагаемое время осуществления подписи, а второй предназначен для подписи другой подписи (подписывается хеш от значения подписи). Атрибут Countersignature представляет собой структуру Signer Info с отсутствующим в Signed Attributes атрибутом Content Type и обязательно присутствующим атрибутом Message Digest. Атрибут Countersignature может иметь свой собственный атрибут Countersignature.


    Галопом по Европам оставшимся типам

    CMS в реальной жизни

    • стандарт защищенной электронной почты S/MIME (RFC 3851),
    • расширенные сервисы защиты для S/MIME (RFC 2634, кстати, тут описаны дополнительные атрибуты CMS и технология тройного «обертывания» на основе множественной инкапсуляции: данные подписываются, затем шифруются и снова подписываются),
    • расширенные форматы представления информации об аннулированных сертификатах (RFC 5940) и пр.

    Как реализовать на практике?

      компании Крипто-Про компании Инфотекс или Message-PRO компании СигналКом и др.

    Наша компания поддержала CMS c российской криптографией в продукте Рутокен Плагин. Рутокен Плагин предназначен для использования в браузерах, все криптографические операции производятся аппаратно, «на борту» USB-токена.

    Читайте также: