1с шифрование строки. Резервное копирование и шифрование при защите конфиденциальной информации в рф. Настройка прозрачного шифрования сетевой папки

Вашему вниманию предлагается подсистема шифрования данных в 1С.

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

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

В поставку входит конфигурация, содержащая в себе:

  1. Функциональность шифрования данных и ограничения доступа к системе (см. далее);
  2. Функциональность для хранения паролей доступа (см. далее);
  3. Библиотеку универсальных функций и процедур ();
  4. Универсальный механизм обработки событий записи объектов ();
  5. Библиотеку универсальной обработки асинхронных вызовов ()

Описание подсистемы

I. Ключ шифрования

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

С помощью обработки "Изменение ключа шифрования" можно установить значение ключа шифрования, который будет применяться для шифрования информации и ограничения доступа в систему (при изменении ключа производятся последовательно дешифровка информации по старому ключу и зашифровка информации по новому ключу). Также введенным ключом шифруется строка пустого УИД, помещаемая в зашифрованном виде в константу "Контейнер ключа шифрования".

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

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

II. Организация новых объектов шифрования в подсистеме

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

  1. Определиться с составом объектов ссылочного типа, информация в которых подлежит шифрованию (в приводимом решении используется два справочника "Ресурсы" и "Стандарты доступа"). Выбранные объекты указать в качестве составных типов для определяемого типа "Объект шифрования".
  2. В модуль объекта каждого из объектов шифрования добавить следующие экспортные процедуры и функции (без параметров):
  • Функция (возвращает Истина, если реквизиты объекта заполнены информацией, подлежащей шифрованию, в противном случае Ложь);
  • Функция (возвращает строку, подлежащую шифрованию; если нужно зашифровать табличную часть или множество других реквизитов, всю информацию можно поместить в произвольную универсальную коллекцию и воспользоваться функцией ЗначениеВСтрокуВнутр);
  • Процедура ОчиститьШифруемыеРеквизиты (удаляет из объекта информацию, подлежащую шифрованию);
  • Процедура (расшифровывает и восстанавливает в объекте ранее зашифрованную информацию);
  • Добавить в подписки на события "Перед записью объекта шифрования" и "При записи объекта шифрования" объекты шифрования в качестве источника.
  • Настроить демонстрацию пользователю зашифрованной информации в формах объектов шифрования
  • III. Механизм шифрования

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

    1. Перед записью объекта шифрования, если в дополнительных свойствах объекта не установлен флаг "Не шифровать", проверяется наличие информации для зашифровки (Функция ПроверитьЗаполнениеШифруемыхРеквизитов ).
    2. Если шифруемые реквизиты заполнены, производится формирование строки, которая будет зашифрована (Функция ПодготовитьИнформациюДляШифрования )
    3. Информация для шифрования помещается в дополнительные свойства объекта, а реквизиты шифрования очищаются (Процедура ОчиститьШифруемыеРеквизиты ), т.о. шифруемая информация в объекте больше не хранится.
    4. При записи, если не произошел какой-либо отказ, вышеописанные изменения фиксируются, информация шифруется с помощью ключа шифрования симметричным алгоритмом (см. подробно ) и помещается в Хранилище значения, которое записывается в регистр сведений "Данные шифрования".
    5. При проведении дешифровки (Процедура ВосстановитьЗашифрованныеРеквизиты ) значения реквизитов шифрования восстанавливаются.

    Для удобства использования в конфигурации предусмотрены две общие команды "Зашифровать информацию по всем объектам" и "Расшифровать информацию по всем объектам".

    IV. Описание решения Keystore для хранения паролей

    Основой решения является справочник "Ресурсы" (форма элемента представлена на скриншоте).

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

    1. Общая информация (наименование, код, интернет-ссылка для web-ресурсов);
    2. Нормативно-справочная информация (аналитические разрезы учета ресурсов по соответствующим справочникам):
  • Авторизация:
    • логин (учетная запись) - можно указать в форме строки или ссылки на справочник "Учетные записи" (справочник создан для ресурсов, использующих одинаковые логины)
    • пароль (можно указать в форме строки или ссылки на справочник "Стандарты доступа", описание см. ниже)
    • Число вариантов (для периодически изменяемых паролей размер исторической памяти)
  • Справочно: Даты получения и прекращения доступа к ресурсу
  • Идентификаторы: табличное поле на отдельной закладке, в котором можно хранить значения различной идентификационной информации, связанной с соответствующим ресурсом (не являющейся логином), например, номер договора, код клиента и т.п.
  • Поле "Пароль" является шифруемым реквизитом справочника. На форме элемента предусмотрена кнопка открытия значения, при нажатии на которую, если значение заполнено (не зашифровано), то оно и открывается, в противном случае открывается расшифрованное значение, хранящееся в регистре сведений "Данные шифрования".

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

    Надеюсь, кому-нибудь пригодится.

    Принимаются пожелания по доработке.

    При выборе метода шифрования необходимо исходить из правила - «Если стоимость взлома алгоритма выше, чем стоимость зашифрованных данных, вы,
    скорее всего, в безопасности»
    Брюс Шнайер.

    НЕМНОГО ТЕОРИИ
    Существует два метода шифрования:

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

    Сертификат безопасности – если упростить до предела, сертификат безопасности и является тем самым открытым ключом с дополнительной информацией. Обычно,
    сертификаты располагаются в базах данных центров сертификации, которые и формируют из открытого ключа, сертификат. Эти центры отвечают за достоверность сертификатов.
    На практике, если вы получили документ, подписанный ЭЦП, и хотите проверить подлинность подписи, необходимо проверить сертификат в центре сертификации и, если он действительно принадлежит отправителю и не просрочен, проверить целостность документа.
    При отправке шифрованного сообщения, получаете сертификат получателя в центре, зашифруете сообщение открытым ключом из сертификата и отправляете получателю.
    Поскольку создание сертификата и размещение в базе данных дело платное, можно создать временный сертификат. Это сертификат, который не удостоверен в центре сертификации, и его достоверность не может быть подтверждена кроме как вашим словом.
    Каждая локальная машина под управлением любой ОС имеет свою локальную базу сертификатов. В Windows для просмотра сертификатов достаточно запустить консоль управления набрав в командной строке certmgr.msc , в Linux можно использовать апплет шифрования оболочки, хотя там возможностей больше.
    Обычно сертификаты попадают в эту базу автоматически, когда используется шифрованное соединение вроде SSL, VPN и др., однако временный сертификат необходимо добавлять в ручную.

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

    МЕТОДЫ ШИФРОВАНИЯ
    В 1С возможны три варианта с помощью которых можно шифровать данные:

    1. Шифрование методом встроенного объекта «МенеджерКриптографии».
    2. Шифрование с использованием внешних компонент.
    3. Шифрование непосредственно в 1С.

    ШИФРОВАНИЕ МЕТОДОМ ВСТРОЕННОГО ОБЪЕКТА «МенеджерКриптографии».
    Этот метод достаточно подробно описан в Синтакс-Помощнике. Поэтому я опишу только последовательность работы с ним.
    Создаем объект МенеджерКриптографии.

    Где "Microsoft Enhanced Cryptographic Provider v1.0" и есть тот самый криптопровайдер, а "1" тип который можно посмотреть в реестре.

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

    ШИФРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ВНЕШНИХ КОМПОНЕНТ
    Использование внешних компонент зависит от опыта и прихоти программиста. Есть множество бесплатных и платных реализаций.
    Каждая из таких реализаций предусматривает наличие собственных методов управления ключами и алгоритмами шифрования, поэтому описывать хотя бы некоторые из них не имеет никакого смысла, так как каждый выберет реализацию по душе.
    В качестве единственного примера реализации предлагаю статью «Шифрование
    и защита информации в 1С:Предприятие 7.7/8.0/8.1/8.2» , так как она использует широко распространённую платформу.Net Framework, в которой можно реализовать шифрование множеством алгоритмов.

    ШИФРОВАНИЕ НЕПОСРЕДСТВЕННО В 1С
    Чаще всего, бывают случаи, когда «танцы с бубнами» вокруг сертификатов абсолютно не нужны. Никто не будет заморачиваться покупкой сертификатов, а создание и отслеживание временных сертификатов, только добавляет «головной боли» программисту. К тому же необходимо всего лишь передать ведомость по зарплате в филиал или в документообороте создать персональную служебную записку.
    Для этого можно реализовать достаточно надежный для этих целей алгоритм шифрования на встроенном языке.
    Основными ограничениями в этом случае являются отсутствие в 1С методов для работы с двоичными данными и производительность платформы.
    Обойти ограничения отсутствия методов двоичного счисления можно применив для работы алгоритма обычную десятичную математику.
    С производительностью, к сожалению, ничего сделать нельзя. Все попытки существенно увеличить производительность при шифровании и дешифровании не привели к успеху, натыкаясь на ограничения платформы.

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

    // Функция проверяет является ли проверяемое число простым. // Тест простоты (Перебор делителей). // Параметры: // - натуральное число. // Возврат: // - ИСТИНА - если число является простым. &НаСервере Функция ТестПростоты(ЧислоДляПроверки) Индекс = 2; Признак = 0; Пока ((Индекс * Индекс) 1) Цикл ЦелаяЧасть = Цел(ЧислоДляПроверки/Индекс); Если (ЧислоДляПроверки/Индекс - ЦелаяЧасть) = 0 Тогда Признак = 1; КонецЕсли; Индекс = Индекс + 1; КонецЦикла; Если Признак = 1 Тогда Возврат Ложь; Иначе Возврат Истина; КонецЕсли; КонецФункции // Функция возвращает случайное простое число в заданном диапазоне. // Параметры: // - НижнийДиапазон - нижняя граница диапазона; // - ВерхнийДиапазон - верхняя граница диапазона. // Возврат: // - случайное простое число. &НаСервере Функция ПолучитьПростоеЧисло(НижнийДиапазон, ВерхнийДиапазон, ЧислоИнициации) ГСЧ = Новый ГенераторСлучайныхЧисел(ЧислоИнициации); СлучайноеЧисло = ГСЧ.СлучайноеЧисло(НижнийДиапазон, ВерхнийДиапазон); Пока Не ТестПростоты(СлучайноеЧисло) Цикл СлучайноеЧисло = ГСЧ.СлучайноеЧисло(НижнийДиапазон, ВерхнийДиапазон); КонецЦикла; ЧислоИнициации = ГСЧ.СлучайноеЧисло(НижнийДиапазон, ВерхнийДиапазон); Возврат СлучайноеЧисло; КонецФункции // Функция вычисляет взаимно простое число к заданному значению (Алгоритм Евклида). // Параметры: // - ЧислоОснова - число являющееся основой для поиска взаимно простых чисел. // - ЧислоПоиска - число от которого начинается поиск взаимно простого числа. // Возврат: // - структура с взаимно простым числом и обратное число по модулю. &НаСервере Функция ПолучитьВзаимноПростыеЧисла(ЧислоОснова, ЧислоПоиска) СтруктураВозврата = Новый Структура; Пока ЧислоПоиска 0 Цикл Частное = Делимое/Делитель; Остаток = Делимое - Делитель * Цел(Частное); Альфа = АльфаМинус2 - Цел(Частное) * АльфаМинус1; Вита = ВитаМинус2 - Цел(Частное) * ВитаМинус1; Если Остаток > 0 Тогда Делимое = Делитель; Делитель = Остаток; Иначе НаибольшийОбщийДелитель = Делитель; КонецЕсли; АльфаМинус2 = АльфаМинус1; АльфаМинус1 = Альфа; ВитаМинус2 = ВитаМинус1; ВитаМинус1 = Вита; КонецЦикла; Если НаибольшийОбщийДелитель = 1 И ВитаМинус2 > 0 Тогда // СтруктураВозврата.Вставить("НОД", ЧислоПоиска); СтруктураВозврата.Вставить("Вита", ВитаМинус2); Возврат СтруктураВозврата; КонецЕсли; ЧислоПоиска = ЧислоПоиска + 1; КонецЦикла; Возврат ПолучитьВзаимноПростыеЧисла(ЧислоОснова, Цел(ЧислоПоиска/2)); КонецФункции // Функция формирует закрытый и открытый ключ. // Возврат: // - структура с набором ключей, открытый-(e, n) и закрытый-(d, n). &НаСервере Функция СформироватьКлючи() Экспорт // Управление разрядностью ключа ВерхняяГраница = 100; НижняяГраница = 32; ЧислоИнициации = (Год(ТекущаяДата()) + Месяц(ТекущаяДата()) + День(ТекущаяДата()))*(Час(ТекущаяДата())+Минута(ТекущаяДата())+Секунда(ТекущаяДата())); // p ЧастьПи = ПолучитьПростоеЧисло(НижняяГраница, ВерхняяГраница, ЧислоИнициации); // q ЧастьКью = ЧастьПи; Пока ЧастьКью = ЧастьПи Цикл ЧастьКью = ПолучитьПростоеЧисло(НижняяГраница, ВерхняяГраница, ЧислоИнициации); КонецЦикла; // n ЧастьЭн = ЧастьПи * ЧастьКью; // Вычисляем функцию Эйлера. ЗначениеЭйлера = (ЧастьПи - 1) * (ЧастьКью - 1); // Вычисляем случайное взаимно простое чисело. ГСЧ = Новый ГенераторСлучайныхЧисел(ЗначениеЭйлера); СлучайноеЧисло = ГСЧ.СлучайноеЧисло(1, ЗначениеЭйлера); // e, d СтруктураЗначений = ПолучитьВзаимноПростыеЧисла(ЗначениеЭйлера, СлучайноеЧисло); ЧастьЕ = СтруктураЗначений.НОД; ЧастьД = СтруктураЗначений.Вита; // Собираем готовые ключи СтруктураВозврата = Новый Структура; СтруктураКлюча = Новый Структура; СтруктураКлюча.Вставить("ЧастьЕ", ЧастьЕ); СтруктураКлюча.Вставить("ЧастьЭн", ЧастьЭн); СтруктураВозврата.Вставить("ОткрытыйКлюч", ЗначениеВСтрокуВнутр(СтруктураКлюча)); СтруктураКлюча = Новый Структура; СтруктураКлюча.Вставить("ЧастьЭн", ЧастьЭн); СтруктураКлюча.Вставить("ЧастьД", ЧастьД); СтруктураВозврата.Вставить("ЗакрытыйКлюч", ЗначениеВСтрокуВнутр(СтруктураКлюча)); Возврат СтруктураВозврата; КонецФункции // Функция шифрует текст с использованием открытого ключа. // Параметры: // - текст подлежащий шифрованию; // - открытый ключ. // Возврат: // - шифротекст в виде строки чисел через ";". &НаСервере Функция Шифрование(ШифруемыйТекст, ОткрытыйКлюч) Экспорт СтрокаВозврата = ""; СтруктураКлюча = ЗначениеИзСтрокиВнутр(ОткрытыйКлюч); Для Индекс = 1 По СтрДлина(ШифруемыйТекст) Цикл Код = КодСимвола(ШифруемыйТекст, Индекс); Степень = Pow(Код, СтруктураКлюча.ЧастьЕ); Шифрокод = Степень - СтруктураКлюча.ЧастьЭн * Цел(Степень / СтруктураКлюча.ЧастьЭн); СтрокаВозврата = СтрокаВозврата + Шифрокод + ";" КонецЦикла; Возврат СтрокаВозврата; КонецФункции // Функция дешифрует текст с использованием закрытого ключа. // Параметры: // - шифротекст; // - закрытый ключ. // Возврат: // - дешифрованный текст. &НаСервере Функция Дешифрование(Шифротекст, ЗакрытыйКлюч) Экспорт СтрокаВозврата = ""; СтруктураКлюча = ЗначениеИзСтрокиВнутр(ЗакрытыйКлюч); СтрШифрокод = ""; Для Индекс = 1 По СтрДлина(Шифротекст) Цикл Если Сред(Шифротекст, Индекс, 1) = ";" Тогда Шифрокод = Число(СтрШифрокод); Степень = Pow(Шифрокод, СтруктураКлюча.ЧастьД); Код = Степень - СтруктураКлюча.ЧастьЭн * Цел(Степень / СтруктураКлюча.ЧастьЭн); СтрокаВозврата = СтрокаВозврата + Символ(Код); СтрШифрокод = ""; Иначе Если Не Сред(Шифротекст, Индекс, 1) = " " Тогда СтрШифрокод = СтрШифрокод + Сред(Шифротекст, Индекс, 1); КонецЕсли; КонецЕсли; КонецЦикла; Возврат СтрокаВозврата; КонецФункции

    Функции расположены в модуле объекта обработки «ОбменСообщениями» из демонстрационного примера |File: demo.zip - Hash: MD5 - 63AF4F485464C863D6B626BAEC44C6C0|.
    Демонстрационный пример представляет из себя средство обмена сообщениями между пользователями 1С.

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

    Алгоритм RSA был разработан еще в 1977 г. В 2003 г. Ади Шамир и Эран Тромер разработали схему устройства TWIRL, которое при стоимости $ 10 000 может дешифровать 512-битный ключ за 10 минут, а при стоимости $ 10 000 000 – 1024-битный ключ меньше, чем за год.
    Однако этот алгоритм используется и до настоящего времени с рекомендуемой длинной ключа 2048 бит.
    В нашем же случае используется ключ примерно в 14 бит, увеличить длину ключа можно увеличив период диапазона.

    // Управление разрядностью ключа ВерхняяГраница = 100; НижняяГраница = 32;

    Однако значительное увеличение, резко замедляет процесс шифрования и дешифрования.

    СЭД «Корпоративный документооборот» поддерживает использование электронно-цифровых подписей (ЭЦП) при работе с файлами системы. Поддержка ЭЦП производится на уровне встроенных в платформу «1С:Предприятие 8.3 / 8.2» механизмов криптографии и шифрования, а так же с помощью дополнительных объектов метаданных конфигурации.

    Для включения возможности использования ЭЦП в системе документооборота откройте форму настройки параметров системы «Настройка параметров: Система» (расположена в подсистеме «Администрирование системы»).

    На закладке «Общие параметры» включите флажок «Использовать электронные цифровые подписи», далее нажмите на кнопку «Настройка криптографии».

    В открывшемся окне выберите тип провайдера (для провайдера КриптоПро значение должно быть равно 75) и другие параметры. При использовании провайдера КриптоПро (Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider) следующие значения будут подставлены автоматически:

    • Алгоритм подписи: GOST R 34.10-2001
    • Алгоритм хеширования: GOST R 34.11-94
    • Алгоритм шифрования: GOST 28147-89

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

    Пример настройки модуля криптографии для КриптоПро показан на рисунке ниже.

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

    Получение и установка ЭЦП

    Для получения и установки ЭЦП необходимо установить программный продукт «КриптоПро CSP 3.6». Продукт можно скачать на сайте cryptopro.ru в разделе «Продукты СКЗИ КриптоПро CSP/TLS/JSP» пункт «Загрузка файлов».

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

    В соответствии с вашей операционной системой вы можете скачать нужный вам дистрибутив, пример показан на рисунке ниже.

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

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

    Формирование ЭЦП на сайте Крипто-Про нужно выполнять в браузере InternetExplorer (желательно версии не ниже 9), при этом необходимо разрешить работу с элементами ActiveX.

    Для начала процесса формирования электронно-цифровой подписи выберите пункт «Сформировать ключи и отправить запрос на сертификат».

    На новой странице выберите пункт «Создать и выдать запрос к этому ЦС».

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

    В разделе Type of Certificate Needed укажите «Сертификат проверки подлинности клиента». Также укажите, что вам требуется создать новый набор ключей CSP Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider.

    Необходимо пометить ключ как экспортируемый, выбрать в дополнительных параметрах формат запроса PKCS10 и алгоритм хеширования ГОСТ Р 34.11-94. Для начала процесса формирования сертификата ЭЦП нажмите на кнопку «Выдать».

    После нажатия на кнопку «Выдать» будет открыт диалог выбора места расположения экспортируемого ключа. Рекомендуется выбрать съемный носитель. В нашем примере мы выберем флеш –накопитель с именем MyDrive.

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

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

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

    Сертификаты устанавливаются в раздел сертификатов текущего пользователя в каталог «Личное Реестр Сертификаты».

    Открыть данный список сертификатов можно через меню «Пуск Программы» пункт «Крипто-Про». На рисунке ниже показан пример для «Windows 7».

    После формирования сертификатов можно переходить к их использованию в СЭД «Корпоративный документооборот».

    На текущий день в системе реализованы следующие механизмы, связанные с ЭЦП:

    • Подписание документов цифровой подписью
    • Проверка подписи документов
    • Выгрузка документов и подписей в файлы
    • Загрузка документов и подписей из файлов
    • Шифрование файлов с возможностью открытия указанному списку лиц

    Основные действия можно выполнить из карточки файла. На рисунке ниже представлена карточка файла, в нижней части формы на закладке «ЭЦП» можно выполнить подписание документа. Для подписания документа нажмите кнопку «Подписать» и на экран будет выведен список существующих на данном компьютере подписей сотрудников, выберите нужную подпись, введите пароль и нажмите кнопку «Подписать». Файл будет подписан.

    В табличной части появляется запись, содержащая ФИО подписавшего сотрудника, дату и время подписания и комментарий.

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

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

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

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

    Создадим новый корпоративный документ в СЭД «Корпоративный документооборот» и добавим в него сохраненный файл, добавить файл можно перетягиванием мышкой файла в поле списка файлов документа. Файлы p7s подписей мы загрузим позже.

    Теперь откроем карточку загруженного файла и выберем в меню «ЭЦП и шифрование» пункт «Добавить ЭЦП из файла». Выберем с диска сохраненные подписи сотрудников и нажмем кнопку «ОК». Пример загрузки показан на рисунке ниже.

    Так как наш файл был нами изменен, то проверка подписей выдает ошибку. В колонке «Статус» появляется запись «Неверна, Хеш-значение неправильное».

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

    СЭД «Корпоративный документооборот» позволяет проводить шифрование файлов с использованием ЭЦП.
    Шифрование файлов позволяет ограничить доступ к файлу только теми сотрудниками, которые указаны в списке пользователей, остальные сотрудники не смогут прочесть файл, даже если у них будет к нему физический доступ. Файл хранится в зашифрованном виде согласно ГОСТ 28147-89 .

    После шифрования список пользователей, которые могут просмотреть файл, находится на закладке «Зашифрован для» формы карточки файла.

    Попытка открытия файла для его просмотра приводит к необходимости ввести пароль от электронно-цифровой подписи.

    Для работы с механизмами электронно-цифровых подписей требуется платформа «1С:Предприятие» версии не ниже 8.2.14.



    Понравилась статья? Поделитесь ей
    Наверх