Защита XML-документов при передаче по открытым коммуникациям | КомпьютерПресс

Защита XML-документов при передаче по открытым коммуникациям | КомпьютерПресс Электронная цифровая подпись
Содержание
  1. Что из себя представляет «криптоарм»
  2. Взлом
  3. Загрузка xml-документов из другой базы
  4. Загрузка сканированных документов из другой базы
  5. Закрытые (секретные) ключи
  6. Запись данных из 1c в xml
  7. Настройка 1с бухгалтерия 8.3 для работы с эцп
  8. Отправка ответа на требование
  9. Перечень документов, которые можно отправить в ответ на требование ифнс
  10. Подготовка истребуемых книг покупок/продаж, журналов счетов-фактур
  11. Подготовка истребуемых первичных документов и счетов-фактур в виде xml-документов
  12. Подготовка истребуемых первичных документов и счетов-фактур в виде скан-документов
  13. Получение требования и подтверждение о приеме
  14. Потребность в защите xml-документов
  15. Разбор xml документа – почти все возможные способы
  16. Сертификаты и удостоверяющие центры
  17. Схема эль-гамаля
  18. Формирование и проверка эцп
  19. Хэш-функции
  20. Центр сертификации
  21. Чтение файла xml средствами внутреннего языка 1с
  22. Эцп и возможность ее подделки

Что из себя представляет «криптоарм»

«КриптоАРМ» шифрует и расшифровывает данные и создаёт ключи проверки электронной подписи. В своей основе программа использует популярный криптопровайдер «КриптоПро CSP».

Программа нужна для шифрования данных файлов различных форматов, проверки корректности электронных подписей, а также отправки соответствующих файлов на электронную почту. Также предусмотрена работа с сертификатами электронной подписи (ЭЦП).

С помощью «КриптоАРМ» можно подписать как отдельный файл, так и папку файлов. При подписании нескольких документов в папке для каждого файла, входящего в неё, создаётся подпись.

Кроме того, в «КриптоАРМ» можно создать запрос в удостоверяющий центр, чтобы получить или отозвать сертификат. Программа позволяет выполнять с запросами такие операции, как создание, просмотр, фильтрация и удаление.

Если вам нужно подписать электронный документ с помощью криптопровайдера «КриптоПро CSP», потребуется версия «Стандарт» или «Стандарт PRO».

Взлом

Теоретически любой шифровальный алгоритм с использованием ключа может быть вскрыт
методом перебора всех значений ключа. Если ключ подбирается, требуемая мощность
компьютера растет экспоненциально с увеличением длины ключа. Ключ длиной в 32
бит требует 232 (около 109) шагов.

Такая задача под силу любому дилетанту и
решается на домашнем компьютере. Системы с 40-битным ключом (например, экспортный
американский вариант алгоритма RC4) требуют 240 шагов — такие компьютерные мощности
имеются в большинстве небольших компаний.

Системы с 56-битными ключами (DES)
требуют для вскрытия заметных усилий, однако они могут быть легко вскрыты с
помощью специальной аппаратуры. Стоимость такой аппаратуры значительна, но доступна
для мафии, крупных компаний и правительств.

Ключи длиной 64 бит в настоящий
момент, возможно, могут быть вскрыты крупными государствами, а уже в ближайшие
несколько лет будут доступны для вскрытия преступным организациям, крупным компаниям
и небольшим государствам. Ключи длиной 80 бит могут стать уязвимыми в будущем.

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

Обратите внимание, что степень надежности криптографической системы определяется
ее слабейшим звеном. Нельзя упускать из виду ни одного аспекта разработки системы
— от выбора алгоритма до политики использования и распространения ключей.

Загрузка xml-документов из другой базы

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

Для загрузки xml-документов из другой базы нажмите кнопку “Загрузить с диска” и выберите команду “Документы из другой базы”
(рис. 18). При этом появляется форма выбора вариантов загрузки, в которой необходимо нажать кнопку “Загрузить” под пунктом “1.
Загрузка xml-документов 1С-ЭДО или 1С-Такском из другой базы”.

Рис. 18

При этом появляется форма “Загрузка электронных документов из пакета обмена” и сразу открывается окно выбора файла (рис. 19).
Выберите файл обмена и нажмите кнопку “Открыть”.

Рис. 19

В форме “Загрузка электронных документов из пакета обмена” отображается список xml-файлов из файла обмена, которые можно поместить
в ответ на требование (рис. 20). При необходимости используйте отбор по виду документа, контрагенту и направлению обмена.

Рис. 20

Выберите необходимые для вставки документы (проставьте флажки) и нажмите кнопку “Загрузить” (рис. 21).

Рис. 21

Укажите пункт требования, как показано на рис. 10.

Документы в xml-формате из файла обмена будут помещены в ответ на требование (рис. 22).

Рис. 22

Загрузка сканированных документов из другой базы

Если сканированные документы находятся в другой информационной базе, то их можно выгрузить в специальный файл обмена, а затем загрузить
в информационную базу, в которой требуется подготовить ответ на требование. О том, как выгрузить скан-документы в файл обмена см. инструкцию
“Обмен
сканированными документами для отправки в ФНС”.

Для загрузки скан-документов из файла обмена в форме ответа на требование нажмите кнопку “Загрузить с диска” и выберите команду
“Документы из другой базы” (рис. 23). При этом появляется форма выбора вариантов загрузки, в которой необходимо нажать кнопку
“Загрузить” под пунктом “2. Загрузка сканированных документов из другой базы”.

Рис. 23

Выберите файл обмена и нажмите кнопку “Открыть” (рис. 24).

Рис. 24

В форме “Загрузка сканированных документов из внешнего источника” будет отображен список скан-документов из файла обмена, которые
можно поместить в ответ на требование (рис. 25). При необходимости можно использовать отбор по виду документа.

Рис. 25

Для просмотра реквизитов документа дважды щелкните на строке документа. При этом появляется форма “Загружаемый из внешнего источника
документ”, в которой содержатся реквизиты документа и его изображения (рис. 26). Если требуется их отредактировать, загрузите документы
в форму ответа на требование, затем выполните редактирование (об этом см. ниже).

Рис. 26

Чтобы загрузить истребуемые документы расставьте флажки в списке и нажмите кнопку “Загрузить” (рис. 27).

Рис. 27

Выбранные документы будут помещены в ответ на требование (рис. 28).

Рис. 28

Для редактирования реквизитов и иных признаков документа (а также документа-основания) дважды щелкните на строке
документа (см. на рис. 28). При этом открывается форма редактирования документа (рис. 29), в которой можно выполнить необходимые корректировки.
Подробнее о том, как работать в данной форме, см. выше.

Рис. 29

Закрытые (секретные) ключи

Свои функции ЭЦП может выполнить только при наличии у подписывающего лица некоторой
информации, недоступной посторонним людям. Эта информация аналогична ключу при
шифровании и поэтому получила название «закрытый ключ электронной цифровой подписи»
(раньше использовался аналогичный термин «секретный ключ»).

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

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

Ст. 5 Закона устанавливает порядок создания закрытых ключей подписи именно с
учетом строгого соблюдения тайны их создания. На это же обстоятельство указывает
и ст. 9 Закона, касающаяся деятельности удостоверяющих центров. В корпоративных
информационных структурах вопрос изготовления и рассылки закрытых ключей ЭЦП
может решаться собственными методами, однако при этом пользователь ЭЦП должен
отдавать себе отчет в возможных последствиях такой организации функционирования
ЭЦП.

Запись данных из 1c в xml

Так же создадим объект ЗаписьXML.

ЗаписьXML =Новый ЗаписьXML;

ЗаписьXML.ОткрытьФайл("d:TempTest.XML","UTF-8");//Открываем файл для записи, указываем кодировку

ЗаписьXML.ЗаписатьОбъявлениеXML();  // Записываем объявление XML

ЗаписьXML.ЗаписатьНачалоЭлемента("Организации");// Начало элемента Организации

Выборка = Справочники.Организации.Выбрать();Пока Выборка.Следующий() Цикл  // Начинаем выгружать организации

ЗаписьXML.ЗаписатьНачалоЭлемента("Организация");// Начало элемента Организация

ЗаписьXML.ЗаписатьАтрибут("Код",Строка(Выборка.Код));

ЗаписьXML.ЗаписатьАтрибут("Наименование",Строка(Выборка.Наименование));

ЗаписьXML.ЗаписатьКонецЭлемента();// Конец элемента ОрганизацияКонецЦикла;

ЗаписьXML.ЗаписатьКонецЭлемента();// Конец элемента Организации

Таким образом мы выгрузим код и наименование всех организаций из справочника 1С «Организации».

Читайте также:  Ключ ЭЦП получить для Госуслуг и как использовать электронную цифровую подпись

Настройка 1с бухгалтерия 8.3 для работы с эцп

01.09.2021

Вся ниже описанная процедура настройки, в нашей компании, включена с стоимость 1С Отчетность. Сертифицированный специалист произведет настройки и установку ЭЦП и КриптоПро.

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

Она должна быть сертифицированной, поскольку используется для предоставления данных в контролирующие органы. Настраивать порядок использования цифровой подписи и программ шифрования в информационной системе 1С Бухгалтерия следует в разделе меню, посвященном управлению прикладными сервисами и программами (в нем имеется специальная форма для настройки параметров работы с цифровой подписью и шифровальными программами).

Настраивать информационную систему 1С Бухгалтерия 8.3 для работы с цифровым документооборотом рекомендуется следующим образом:

  • Войти в раздел меню, который используется для настройки параметров обмена корреспонденцией в цифровом виде (находится в разделе администрирования автоматизированной системы 1С Бухгалтерия).
  • Установить возможность использования цифровых подписей при обмене документами. Без выполнения этого действия невозможно будет произвести настройку параметров подписи и программы для шифрования – раздел останется недоступным.
  • На закладке, где расположен перечень установленных программ, с которыми может взаимодействовать 1С Бухгалтерия, следует выбрать решение для шифрования. Если его нет в списке, необходимо его добавить.
  • В перечне содержатся краткие наименования программ. Выбирать следует ту, которая установлена на компьютере. Если никакой программы на рабочей станции или сервере нет, то 1С Бухгалтерия 8.3 выдаст сообщение об ошибке.
  • Далее следует проверить корректность имени программы, чтобы затем проверить, находится ли она в списке сертифицированных.
  • После этого необходимо сверить число, которое указывает тип провайдера для цифровой подписи с типом программы, который установлен в параметрах информационной системы 1С Бухгалтерия.
  • Затем следует выбрать из перечня, который предоставляет провайдер, корректный алгоритм, по которому будут подписываться документы.
  • Также из перечня алгоритмов, которые предоставляет компания-провайдер, следует выбрать требуемый алгоритм хеширования.
  • Для подписания документов в 1С Бухгалтерия 8.3 цифровой подписью, возможности шифровать их и передавать контрагентам и контролирующим органам, необходимо установить сертификаты. Добавление данных документов и их настройка производится на одноименной закладке, а сам сертификат пользователь получает в специальном удостоверяющем центре. При получении следует обратить внимание, чтобы сертификат был квалифицированным, то есть подписание им придавало бы документам официальный юридический статус.
  • При наличии сертификата на компьютере его можно просто добавить, выбрав из имеющихся на компьютере. После того, как сертификат будет установлен в информационной системе 1С Бухгалтерия, пользователь получает возможность определить перечень документов, которые можно подписывать с помощью имеющегося сертификата.
  • В 1С Бухгалтерия 8.3 имеется встроенный помощник, с помощью которого можно оформить заявление на получение сертификата и получить его в цифровом виде из специализированного центра.


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

Отправка ответа на требование

Истребуемый документ, составленный в электронном виде по установленным форматам и содержащий реквизиты требования, должен быть подписан ЭП
налогоплательщика и направлен по ТКС в адрес налогового органа.

После подготовки всех необходимых истребуемых документов для отправки ответа на требование нажмите кнопку “Отправить” (рис. 33).
Перед отправкой будет произведено подписание.

Рис. 33

При получении от налогоплательщика истребуемого документа в электронном виде по ТКС и отсутствии оснований для отказа в приеме налоговый орган
в течение одного рабочего дня с момента его получения формирует квитанцию о приеме, подписывает ее ЭП уполномоченного должностного лица налогового
органа и направляет налогоплательщику (рис. 35).

Результат приема ответа на требование можно увидеть в колонке “Состояние” в разделе “Письма” (рис. 34).

Рис. 34

При нажатии на ссылку со статусом состояния открывается форма “Этапы отправки”, в которой можно увидеть все этапы отправки (рис. 35).

Квитанцию о приеме можно посмотреть в форме “Этапы отправки” (рис. 35).

Рис. 35

Рис. 36

Перечень документов, которые можно отправить в ответ на требование ифнс

Поскольку перечень документов, имеющих утвержденный ФНС формат, ограничен, в виде xml-файла можно передавать только следующие документы:

  • счет-фактура;
  • корректировочный счет-фактура;
  • товарная накладная (ТОРГ-12);
  • акт приемки-сдачи работ (услуг);
  • документ о передаче товара при торговых операциях;
  • документ о передаче результатов работ (об оказании услуг);
  • счет-фактура и документ об отгрузке товаров (выполнении работ), передаче имущественных прав (документ об оказании услуг), включающий
    в себя счет-фактуру;
  • корректировочный счет-фактура и документ об изменении стоимости отгруженных товаров (выполненных работ, оказанных услуг), переданных
    имущественных прав, включающий в себя корректировочный счет-фактуру;
  • книга покупок;
  • книга продаж;
  • дополнительный лист Книги покупок;
  • дополнительный лист Книги продаж;
  • журнал полученных и выставленных счетов-фактур.

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

Подготовка истребуемых книг покупок/продаж, журналов счетов-фактур

При нажатии на кнопку “Выбрать из базы – Книги покупок/продаж, журналы счетов-фактур” (рис. 30) к ответу на требование можно
приложить истребуемые документы в xml-формате:

  • книга покупок;
  • книга продаж;
  • журнал полученных и выставленных счетов-фактур;
  • дополнительный лист Книги покупок;
  • дополнительный лист Книги продаж.

Рис. 30

При этом открывается форма “Отчеты НДС в электронном виде” (рис. 31). Если документы за выбранный налоговый период отсутствуют нажмите
кнопку “Сформировать за период”.

Для перемещения документов в ответ на требование нажмите кнопку “Выбрать”, затем укажите пункт требования, как показано на
рис. 10.

Рис. 31

Выбранные документы будут добавлены в ответ на требование (рис. 32).

Рис. 32

Подготовка истребуемых первичных документов и счетов-фактур в виде xml-документов

Если представляемый документ имеет утвержденный формат, он может быть направлен в налоговый орган в формате xml. Документы в формате
xml могут подготовить и отправить в ИФНС только те организации, которые осуществляют электронный обмен документами со своими контрагентами
(при условии, что эти документы имеют утвержденный ФНС формат).

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

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

Для отправки истребуемого документа в формате xml в форме ответа на требования нажмите кнопку “Выбрать из базы” и выберите команду
“Электронные документы 1С-ЭДО, 1С-Такском” (рис. 15).

Рис. 15

При этом появляется форма списка документов, отправленных/принятых в электронном виде и имеющих утвержденный ФНС формат (рис. 16). Выделите документ
и нажмите кнопку “Выбрать” для вставки документа в форму ответа на требование. При этом потребуется указать пункт требования, как показано на
рис. 10.

Рис. 16

Добавьте таким образом все необходимые документы (рис. 17). При необходимости отредактировать/удалить/переместить строки с документами используйте
кнопки над табличной частью формы (описание их использования см. здесь).

Рис. 17

Подготовка истребуемых первичных документов и счетов-фактур в виде скан-документов

Истребуемые первичные документы и счета-фактуры отправляются в ответ на требование в виде скан-документов в случае, когда они были оформлены
на бумажном носителе.

Если сканированные документы не были загружены в информационную базу ранее, то чтобы вставить в ответ на требование сканы истребуемых документов
нажмите кнопку “Загрузить с диска” и выберите команду “Сканированный документ” (рис. 7).

Выберите файл скан-документа и нажмите кнопку “Открыть”.

Рис. 7

При этом появляется форма “Подготовка документа к отправке” (рис. 8), в которой:

  • можно добавить листы скан-документа (если документ многостраничный) – для этого используйте кнопку “Добавить”. Чтобы
    ознакомиться с требованиями к загружаемым файлам нажмите на гиперссылку “Требования к файлам”;
  • заполните реквизиты документа в поле “Наименование, реквизиты или иные признаки документа-источника” вручную или выберите
    документ из информационной базы, используя кнопку подбора (три точки);
  • если добавляемый документ имеет документ-основание (договор, заказ-наряд, счет на оплату, заявка покупателя или иной первичный документ,
    подтверждающий возникновение договорных отношений между участниками сделки), заполните поле “Наименование, реквизиты или иные признаки
    документа-основания (необязательно)”;
  • в поле “Подпись нотариуса” выбирается файл электронной подписи нотариуса, если электронный документ содержит такую подпись. Такими
    документами, например, могут быть: документы, связанные с регистрацией юридического лица (ИП), доверенность и другие.
Читайте также:  Что делать, если украли электронную подпись?

Рис. 8

После заполнения всех необходимых сведений о документе нажмите кнопку “Записать и закрыть” (рис. 9).

Рис. 9

При этом появится форма “Пункт требования”, где необходимо указать пункт исходного требования, в ответ на который отправляется
сканированный документ (рис. 10).

Рис. 10

Данные о документе будут сохранены в форме ответа на требование (рис. 11).

Для работы со строкой документа используйте кнопки формы ответа на требование (см. на рис. 11):

Рис. 11

Добавьте таким образом все необходимые скан-копии истребуемых документов (рис. 12).

Рис. 12

Если сканированные документы были загружены в информационную базу ранее (например, отправлялись в ответ на другие
требования из ИФНС), используйте кнопку “Выбрать из базы” – “Ранее загруженные сканированные документы” (рис. 13).

Рис. 13

При этом открывается форма выбора сканированных документов (рис. 14). Добавьте необходимые документы из списка, используя кнопку
“Выбрать”.

При добавлении документа потребуется указывать пункт требования (см. описание к рис. 10). Таким образом выберите
все необходимые скан-документы для вставки в ответ на требование.

Рис. 14

Получение требования и подтверждение о приеме

Полученные требования отображаются в форме “1С-Отчетность” в разделах “Входящие” и “Новое” (рис. 1).

Рис. 1

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

  1. Подтверждение даты отправки.
  2. Квитанция о приеме.
  3. Уведомление об отказе в приеме.
  4. Извещение о получении электронного документа.

Требование считается принятым налогоплательщиком, если налоговому органу поступила квитанция о приеме, подписанная электронной подписью (ЭП)
налогоплательщика.

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

Для подтверждения приема требования нажмите ссылку “Подтвердите прием” (см. на рис. 1) или откройте форму требования и нажмите кнопку
“Подтвердить прием” (рис. 2).

При наличии оснований для отказа в приеме требования налогоплательщик формирует уведомление об отказе в приеме, подписывает ЭП и направляет в
налоговый орган. Для этого нажмите кнопку “Отказать в приеме” (рис. 2).

Уведомление об отказе формируется в следующих случаях:

  • требование направлено налогоплательщику ошибочно (предназначалось другому адресату);
  • требование не соответствует установленному формату;
  • в требовании отсутствует (не соответствует) ЭП уполномоченного должностного лица налогового органа.

Рис. 2

К электронному требованию приложен pdf-файл требования, который открывается по ссылке под надписью “Приложенные файлы” (рис. 3). В
pdf-файле отражена суть требования и указаны сроки, в течение которых необходимо представить соответствующие документы (рис. 4).

Рис. 3

Рис. 4

Чтобы подготовить и отправить документы в ответ на требование необходимо нажать кнопку “Ответить” (рис. 5).

Рис. 5

При этом открывается форма “Ответ на требование о представлении документов” (рис. 6).

Для вставки документов в ответ на требование используются кнопки “Загрузить с диска” и “Выбрать из базы”, в зависимости от места
хранения документов.

Максимальный размер всех файлов, добавляемых в ответ, составляет 72 Мб.

Если объем вложений превышает установленный размер, то в форме появится надпись, что допустимый размер превышен с гиперссылкой “Разбить ответ на
несколько”. Нажмите на гиперссылку, чтобы программа автоматически разбила ответ на части. Разбивка не выполняется только в том случае, если один
файл вложения превышает размер 72 Мб, поэтому будьте внимательны.

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

Рис. 6

Потребность в защите xml-документов

Х

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

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

  • аутентификации взаимодействующих сторон;
  • подтверждении подлинности и целостности информации;
  • криптографическом закрытии передаваемых данных.

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

Разбор xml документа – почти все возможные способы

При обмене данными, как бы он не производился  ( через файлы, через HTTP запросы или еще каким либо другим путем ) все равно основным форматом обмена является XML. В 1С существует несколько способов обработки XML  документов    какой из них выбрать по критерию логической простоты и быстродействия?  Для практической проверки различных методов был создан XML документ вида

Задачей всех проверяемых методов было получение из XML файла массива, состоящего из структур со свойствами Номер, Дата, Поставщик, Состав, причем свойство Состав само является массивом структур со свойствами Номенклатура и Количество.  

Первый метод – простое последовательное чтение XML.

Текущее положение в XML документе отслеживается в переменной  ТекущийПуть и при поступлении текстового узла на  основании этой переменной заполняются (или игнорируются) соответствующие данные 1С. Конечно, не совсем корректно оценивать логическую сложность программы в строках исходного текста, но тем не менее это самый большой объем  из всех методов  – 64 строки. Что касается быстродействия (оно проверялось на компьютере памятью в 8 Гб и процессором Intel i7 2.2 Ггц, было создано два файла один на 10 тысяч записей объемом 10 мегабайт, другой на 100 тысяч и 100 мегабайт соответственно) , то на файле 10 000 записей полная обработка заняла 30 секунд  и на файле в 100 мегабайт линейно увеличилась в 10 раз.

Второй метод – получение из XML файла документа DOM и последовательный перебор всех узлов полученного документа

Логически этот метод весьма незначительно проще прямого ЧтенияXML (57 строк кода против 62), а вот с быстродействие картина интересная: для файла в 10 тысяч записей быстродействие составило 12 секунд (быстрее более чем в два раза) ,  но для файла со 100 тысячами записей резко поднялась до 1000 секунд (медленнее более чем в три раза).

Третий метод подобен второму, но вместо последовательного перебора узлов применен отбор требуемых узлов в DOM документе  с помощью  выражений XPath .

Этот метод немного проще чем простой перебор узлов в DOM документе, но быстродействие … При 10 000 записей 69 секунд , а для 100 000 обработка длилась более часа, так и не завершилась, после чего была снята принудительно.

Очевидно метод с использованием DOM, в особенности при поиске узлов документа XPath выражениями, надо использовать только для небольших изменений DOM документа со сложной структурой узлов.

Все последующие методы используют для разбора XML документа фабрику XDTO.

Четвертый метод использует метод  ПрочитатьXML глобальной ФабрикиXDTO. При этом тип получаемого объекта не указывается, его определяет сам метод фабрики. Тут есть маленькая тонкость – в случае, если тип получаемого объектаXDTO не указан, фабрика не всегда может самостоятельно определить что она получила одиночный объект или список из нескольких одинаковых объектов ( в нашем примере если ПриходныйОрдер в XML документе будет один фабрика посчитает что ПриходыXDTO.ПриходныйОрдер это одиночный объект а не список).

Данный метод не только заметно проще, чем все предыдущие, но и показывает отличное быстродействие  на 10 000 записях 4,6 секунды, а при 100 000 обработка длится 46 секунд. Что показывает линейную зависимость от объема обрабатываемого файла.

Читайте также:  Оформление товарной накладной: правила, требования и образец заполнения формы ТОРГ-12, действия, если товар не соответствует, срок хранения Правовой.Стандарт

Пятый метод схож с предыдущим, но глобальной фабрике XDTO подается на вход не только сам XML документ, но и его тип. Этот тип берется из ветки конфигурации XDTO-пакеты. (Если те кто передает вам XML данные хорошие люди, то они должны передать вам и XML схему данных – файл с расширением .xsd  из которого вы и создаете в своей конфигурации  XDTO-пакет – команда импорт XML схемы …, если нет требуемый пакет обычно не сложно создать вручную, анализируя переданные XML данные).

Один нюанс – частенько XML данные передают без указания URI пространства имен ( атрибут  xmlns). Если это так, то необходимо самому добавить недостающий атрибут в XML данные, что и делают первые три оператора процедуры.

Метод замечательный, как по простоте создания, так и по быстродействию – 3,1 секунды на 10 000 записях.

И последний метод. Это скорее некоторая модификация пятого метода, но для условия, что не используется объект конфигурации XDTO-пакет, и фабрика XDTO создается на ходу из текстового описания XML схемы. (Примечание 1-Конечно можно загнать схему в текстовый макет, и оттуда уже использовать, но для учебной программы так нагляднее. 2-Текстовый вариант XML схемы можно например  получить создав XDTO-пакет в любой конфигурации XDTO-пакет и  выполнив команду Экспорт XML схемы..)

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

Сертификаты и удостоверяющие центры

Закон подробно описывает, из чего состоит сертификат ключа подписи (уникальный
регистрационный номер, ФИО владельца, открытый ключ ЭЦП, наименование и местонахождение
удостоверяющего центра и др.); сроки и порядок хранения сертификата в удостоверяющем
центре.

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

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

Схема эль-гамаля

В 1994 году был принят первый отечественный стандарт в области ЭЦП — ГОСТ Р34.10
— 94 «Информационная технология. Криптографическая защита информации. Процедуры
выработки и проверки электронной цифровой подписи на базе асимметричного криптографического
алгоритма».

Он определяет процедуры работы с ЭЦП на основе схемы Эль-Гамаля.
Невозможность подделки подписи обусловлена сложностью решения задачи дискретного
логарифмирования в поле из р элементов или сложностью заданного большому простому
числу р и числам a, b из интервала от 2 до р-1 определения числа х, которое
выполняется сравнением:

ax== bmodp.

Однако математики не стоят на месте, и в последнее время достигнут большой прогресс
в развитии методов решения задачи дискретного логарифмирования в поле из р элементов.
Недавно был создан так называемый метод решета числового поля. С его помощью
можно взломать ЭЦП, сформированную вышеуказанным методом (по крайней мере в
случае 512-битного модуля р).

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

Формирование и проверка эцп

Отправитель информации с помощью секретного ключа и заранее выбранного по договоренности
между абонентами асимметричного алгоритма (алгоритма ЭЦП) шифрует передаваемую
информацию, представленную в цифровом виде, и таким образом получает цифровую
подпись данных.

Получатель сообщения с помощью открытого ключа (который общедоступен) и выбранного
по договоренности между абонентами алгоритма ЭЦП рассекречивает цифровую подпись.
Далее он сравнивает принятую им незашифрованную информацию и информацию, полученную
при расшифровке цифровой подписи.

Если цифровая подпись не была подделана и
передаваемая открытая информация не искажена, то эти две информации должны полностью
совпасть. Если подпись подделана, то принятая открытая информация и информация,
полученная при дешифровании, будут существенно различаться (рис.
1).

Хэш-функции

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

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

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

  • сообщение после применения хэш-функции должно зависеть от каждого бита
    исходного сообщения и от порядка их следования;
  • по хэшированной версии сообщения нельзя никакими способами восстановить
    само сообщение.

Центр сертификации

Выше мы упоминали термины «секретный ключ» и «открытый ключ». Откуда взялись
эти ключи? Их формирует центр сертификации — некоторая структура (организация),
которая занимается управлением сертификатами. Сертификат открытого/закрытого
ключа представляет собой следующую совокупность данных:

  • имя субъекта или объекта системы, однозначно идентифицирующее его в системе;
  • открытый/закрытый ключ субъекта или объекта системы;
  • дополнительные атрибуты, определяемые требованиями использования сертификата
    в системе;
  • электронная цифровая подпись издателя (центра сертификации), заверяющая
    совокупность этих данных.

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

Каждому зарегистрированному пользователю информационной системы сертификационный
центр (СЦ) формирует два сертификата — сертификат закрытого ключа и сертификат
открытого ключа. При этом первый СЦ выдает лично в руки зарегистрированному
пользователю (например, на дискете) и никому другому — это и есть «подпись».

Чтение файла xml средствами внутреннего языка 1с

Создадим новый объект: ЧтениеXML. Он позволяет читать сообщения. Далее привожу простейший код, показывающий принцип чтения и разборки XML файла. Пояснения буду приводить в виде комментариев, чтобы не разрывать код на куски и его можно было скопировать для дальнейшего использования.

ЧтениеXML =Новый ЧтениеXML;

ЧтениеXML.ОткрытьФайл("d:TempTest.XML");  //Открываем файлПока ЧтениеXML.Прочитать() Цикл  //Цикл по структуреЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда  //Определяем начало элементаПока ЧтениеXML.ПрочитатьАтрибут()Цикл//Внутри элемента считываем атрибутыКонецЦикла;ИначеЕсли ЧтениеXML.ТипУзла=ТипУзлаXML.Текст Тогда//Если это текст, читаем текстИначеЕсли ЧтениеXML.ТипУзла=ТипУзлаXML.КонецЭлемента Тогда//Определяем дальнейшие действияКонецЕсли;КонецЦикла;

Таким образом, зная структуру файла, можно его разобрать «по полочкам» в программе 1С.

Эцп и возможность ее подделки

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

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

Невозможность подделки электронной цифровой подписи достигается с помощью очень
большого объема математических вычислений (например, невозможность подделки
подписи может быть обусловлена сложностью решения задачи дискретного логарифмирования
в поле из р элементов — схема подписи Эль-Гамаля).

Проставление подписи под
документом не меняет самого документа, а только дает возможность проверить подлинность
и авторство полученной информации (то есть в сам документ или отдельно от него
добавляется блок данных — ЭЦП этого документа).

Оцените статью
ЭЦП Эксперт
Добавить комментарий