apirogov пишет:.....Всё верно?
Приветствую!
Я бы еще добавил для расширения кругозора:
http://bankir.ru/dom/forum/департамент- … -csp/page4
http://bankir.ru/dom/forum/департамент- … ости/page5
А, вообще, при работе с криптографией, неплохо бы держать в голове следующие вещи:
1. Все что касается криптографии в нашей стране регулирует ФСБ.
2. Любая деятельность, связанная с разработкой криптографии, её встраиванием или еще какими услугами с ней связанными, является лицензируемой деятельностью. Т.е. организация на данные виды деятельности должна получать лицензию ФСБ. Отсутствием такой лицензии, чревата в т.ч. уголовной статьей для руководства компании. И прецеденты такие известны.
3. Если в ПО куда Вы встраиваете СКЗИ обрабатывается конфиденциальная информация, защищаемая в соответствии с действующим законодательством, необходимо провести т.н. "тематические исследования" или, по простому, контроль встраивания. О необходимости этого мероприятия говорится , например, на сайте ФСБ
http://www.fsb.ru/fsb/science/single.ht … chart.html
При чем, на самом деле, это требование касается обработки не только персональных данных (ПДн), но и платежей, банковской тайны и т.д. Т.е. всей той информации, которая упомянута в п.1.2., 552-П ЦБ РФ. Это то самое Положение ЦБ, результатом которого явилось то, что Вам поручили эту задачу (хотя, возможно, что я ошибаюсь ).
Для контроля встраивания, обращаться положено к разработчику СКЗИ (рекомендуется заранее уточнить о сроках и ценах). Хотя, можно это переложить и на банки, т.е. тех, кто будет Ваше ПО использовать (если, конечно, сами Вы трудитесь в компании-разработчике).
Далее. В мире вообще и в Европе в частности, существует целый ряд стандартов формализующих способы формирования электронной подписи (ЭП). Перечислять буду не все и не всё.
1. Для формирования ЭП файла любого формата, были разработаны следующие стандарты (каждый последующий. это развитие предыдущего). PKCS#7, CMS и европейский стандарт - CAdES.
Упрощенно, суть в следующем. берется любой файл, вычисляется ЭП (т.е. вычисляется хеш и шифруется закрытым ключом), и, к самой ЭП, добавляется сертификат, открытый ключ, какие-то параметры, временные метки и т.д. и все это остается в двоичном виде. Далее, получившаяся последовательность байт присоединяется к исходному файлу или записывается в отдельный файл. Таким образом и получается attached/detached ЭП.
2. Для подписания (формирования ЭП) XML файлов были разработаны стандарты XML-DSig и в Европе XAdES. Там был реализован несколько иной подход:
2.1. Исходный XML файл определенным образом трансформируется, таким образом, что бы из него удалить все незначимые для подписываемых данных поля, теги, строки и символы (лишние пробелы, <CR><LF> переводят только в <LF> и т.д.). Это необходимо для того, что если в файле поменяли что-то "не значимое", ЭП при этом не менялась.
Как правило, эту трансформацию и называют канонизацией, приведением XML файла к некой канонической форме.
2.2. Далее все получаемые или используемые при подписании файла значения и величины преобразуют в текст (Base64), отдельно обрамляют соответствующими тегами и записывают в тот же XML.
Т.е. в теле исходного XML файла появляются отдельные, обрамленные соответствующими отдельными тегами, поля с ЭП, хешем, сертификатом, временными метками и т.д.
В и-нете навалом описания, исходников, программ для всевозможных стандартных канонизаций и подписаний.
Как это все реализовано у нас.
1. Наверное, у всех разработчиков СКЗИ, существуют утилиты командной строки, формирующие ЭП для любого файла в PKCS#7 или CMS, а может и в CAdES.
2. Каждое наше ведомство, включая ЦБ, при реализации обмена в виде XML файлов, придумывает свой очередной уникальный способ трансформации XML файлов, далее формирует подпись, как правило в PKCS#7 или CMS и запихивает его в XML в виде одного поля.
Т.е. у нас в стране, одновременно живет достаточно разношерстное множество способов формирования ЭП для XML.
Все они не совместимы друг с другом, а наши программисты, похоже, никогда не останутся без работы.
Так, например, ЦБ, при трансформации XML для обмена платежами через АРМ КБР, использует вроде бы стандартную (одну из) канонизаций и, зачем-то, добавил еще некую нормализацию XML, исходя из каких-то своих представлений. При реализации им же обмена отчетностью в виде XML, используется неколько иной способ трансформации.
Зачем? хз, но тем не менее, это так. Ну и т.д. и т.п. На том же сайте bankir.ru в ветке автоматизаторов, эти многочисленные форматы XML обмена регулярно обсуждаются.
Очень рекомендую, почитать в и-нете про все вышеперечисленные стандарты, посмотрите имеющееся (открытое) ПО в исходниках. Т.е. наберите некий базис и, потом, Вам будет легче общаться с программерами на сайте того же bankir.ru.
Начинать можно с http://www.w3.org/TR/xmldsig-core/, и вообще, яндекс/google Вам в руки.
И да, компания Валидата, к сожалению, не занимается реализацией ЭП для XML в формате УФЭБС. Т.е. вопросы Вы задаете определенно не на том форуме
В общем, как-то так. Надеюсь, сильно ни где не соврал....
Да прибудет с нами знание (т.е. сила) (с)