Защищаем конфигурацию. Один ключ СЛК для всех клиентов

Публикация № 1115817

Разработка - Защита и шифрование

Защита СЛК Конфигурация Лицензия Лицензирование Удаленно

23
Пользователь защищенной конфигурации вводит регистрационный номер и код доступа. Установка сервера СЛК у пользователя не требуется. Управляем лицензиями удаленно.

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

Преимущества механизма
• одного ключа достаточно для лицензирования любого количества клиентов/пользователей;
• пользователю не нужно устанавливать сервер СЛК у себя, нужен только доступ в Интернет;
• удобно управлять лицензиями: можно оперативно подключить/отключить клиента, дать тестовый доступ, ограничить функционал в зависимости от вида лицензии (по типу ПРОФ, КОРП и т. п.);
• несложно реализовать политику лицензирования по количеству одновременных сеансов, количеству устройств, на которых установлена конфигурация и т. п.;
• можно получать данные о платформе, используемой версии конфигурации и т. д., что очень помогает при расследовании инцидентов;
• можно собирать статистику использования конфигурации.
В общем, возможности ограничены только фантазией и здравым смыслом.

Последовательность действий
1. Связаться с разработчиками СЛК, приобрести ключ, получить комплект разработчика.

 
 Комплект разработчика включает:

Следует отметить, что поддержка разработчиков СЛК грамотная и отзывчивая, документация добротная. Имеется демонстрационная конфигурация. Поэтому опишу процесс концептуально.
 Рабочий шаблон "Бэка защиты", пример защищаемой конфигурации и обработка для создания защищенного файла данных содержится в прилагаемом к статье архиве.

 
 Состав конфигурации "Бэк защиты"

2. Установить сервер СЛК. Активировать ключ.

3. Установить конфигурацию "Бэк защиты" и опубликовать HTTP-сервис Back на веб-сервере. Запомнить имя публикации. В пользовательском режиме создать пользователя с именем, например, "front" и полными правами. Ввести для него пароль. Под этим пользователем клиенты будут подключаться к сервису.

4. В защищаемую конфигурацию добавить объекты подсистемы Поддержка (в прилагаемом примере имеют префикс "w").

 
 Объекты подсистемы Поддержка защищаемой конфигурации

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

5. Выбрать модуль/модули или отдельные процедуры, которые будем закрывать. Они должны быть серверными. Скопировать защищаемые процедуры в модуль wЗакрытый. В исходных экспортных процедурах тело заменить на вызовы вида:

wСЛК.wЗакрытый().ИмяЗащищаемойПроцедуры();

В прилагаемой конфигурации для примера защищается общий модуль РегламентныеЗаданияАгрегатов.
В модуле wЗакрытый в функции ПолучитьПараметрыКлиентаИзСервисаРазработчика() прописать имя публикации (см. п. 3). В функции ПолучитьСоединениеССервисомРазработчика()  прописать URL и порт сервиса, имя и пароль пользователя (см. п. 3).
6. В модуле wСЛК в функции ПолучитьПараметрыСвязи() прописать адрес и порт сервера СЛК. В функции Серия() прописать серию ключа.
7. В общий макет wКомпонентаСЛК (тип "Двоичные данные") загружаем zip-архив компоненты. Файл архива с компонентой в комплекте разработчика имеет вид licenceaddin-{%version%}-template.zip.
8. Делаем собственно макет с защищенным кодом wОбъектыСЛК. Для этого создаем внешнюю обработку wЗакрытый.epf (имя может быть любое). В начало модуля внешней обработки вставляем код предопределенных процедур (описаны в документации и представлены в демо СЛК). Ниже вставляем наш защищаемый код из общего модуля wЗакрытый. Сохраняем обработку.
Открываем редактор файлов СЛК - licenceedit. Редактор СЛК 3.0 может работать без ключа защиты – создание файлов данных выполняется при помощи открытого ключа разработчика, поставляемого в комплекте разработчика для конкретной серии ключей в виде текстового файла вида {%Серия%}.cryptkey.
В консольной утилите выбираем ключ, созданную внешнюю обработку wЗакрытый.epf и результирующий файл с зашифрованными данными ({%Серия%}.datafile) и нажимаем "Создать":

 
 Редактор файлов

Полученный файл {%Серия%}.datafile загружаем в общий макет wОбъектыСЛК.
9. В защищаемой конфигурации для включения/отключения функциональности в зависимости от наличия лицензии используем функции wСЛКПовтИсп.ЗащищенныйМодульПодключен() и wСЛКПовтИсп.ЛицензияРазработчикаПолучена(). Поскольку модуль wСЛКПовтИсп является открытым, то включение/отключение функциональности нужно дублировать в закрытом модуле.
10. Создаем поставку нашей конфигурации. Модуль wЗакрытый в поставку не включаем!

Что в результате

1. Клиент приобретает нашу конфигурацию. Мы в "Бэке защиты" заводим нового клиента и добавляем запись в регистр Поддержка:

Рег. номер генерируется при записи в формате Год|Месяц|Дата|[Номер по порядку] (рассчитываем на то, что нашу конфигурацию будут покупать 9999 клиентов ежедневно).

 
 Код доступа генерируется по кнопке:

Можно ввести количество дней доступа. Отсчет будет вестись от момента первого обращения клиента к сервису. Это удобно для предоставления тестового периода.

2. Клиент устанавливает нашу конфигурацию, открывает форму "Подключение поддержки", вводит рег. номер, код доступа и подключается.

 

3. Мы в бэке видим обращение клиента к сервису защиты:

В конфигурации "Бэк защиты" имеется рег. задание для очистки регистра "Обращения к сервису" с установкой периода хранения записей.

 
 Отладка и HTTPS

Конфигурация тестировалась на платформе 8.3.12.1714.

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

Успешной защиты и продаж!

23

Скачать файлы

Наименование Файл Версия Размер
БэкЗащиты.dt, ЗащищаемаяКонфигурация.dt, wЗакрытый.epf
.zip 66,45Mb
30.08.19
5
.zip 66,45Mb 5 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. VISkvortsov 36 01.09.19 09:48 Сейчас в теме
Если у клиента пропал интернет?
2. mvxyz 138 01.09.19 11:05 Сейчас в теме
(1) Обращение к серверу СЛК и к сервису поддержки выполняется один раз при запуске приложения или при подключении. Результаты подключения кэшируются через модуль с повторным использованием значений. Поэтому, если Интернет у клиента пропал после успешного подключения, защищаемая функциональность будет доступна до перезапуска приложения.
3. SerVer1C 192 01.09.19 15:39 Сейчас в теме
Сомнительная защита... У клиента будет уже не СЛК. Закрытый модуль с обменами через HTTP можно декомпилировать и посмотреть логику его работы. Ну а далее уже дело техники.
4. mvxyz 138 01.09.19 17:16 Сейчас в теме
(3) Закрытый модуль не предается по сети. Закрытый модуль хранится в общем макете с типом "Двоичные данные" в зашифрованном виде. Порядок его создания описан в п.8 статьи.
В данном случае СЛК работает как обычно, однако используется не для контроля количества лицензий, а только для обеспечения возможности вызова функций из закрытого (зашифрованного) модуля. (При "обычном" использовании СЛК мы также можем размещать его в сети).
5. lunjio 62 01.09.19 20:16 Сейчас в теме
(4) Что мешает отловить вызов http сервиса, когда передается ваш зашифрованный по закрытому ключу текст модуля, чтобы в ответ получить декомпилированный модуль, сохранить его и изменить код, чтобы ваш http сервис не вызывался и сразу передавать декомпилированный модуль.
6. mvxyz 138 01.09.19 21:14 Сейчас в теме
(5) Текст модуля не передается. Текст закрытого модуля хранится в защищаемой конфигурации в макете. Повторюсь: принцип защиты закрытого модуля ничем не отличается от стандартного использования СЛК.
7. SerVer1C 192 01.09.19 22:49 Сейчас в теме
(4) Насколько мне известно, принцип работы защиты СЛК на клиенте следующий: зашифрованный модуль (алгоритмом RSA ?) расшифровывается ключом, который берется из USB-токена. Откуда будет браться ключ для расшифровки модулей из вашей поделки? Если вы его спрятали в зашифрованный средствами 1с модуль, то так дело не пойдет. Если ваши функции wСЛКПовтИсп.ЗащищенныйМодульПодключен() и wСЛКПовтИсп.ЛицензияРазработчикаПолучена() находятся тоже в защищенном средствами 1с модуле, то тут их значения можно выставить на постоянку в Истина.
8. mvxyz 138 02.09.19 00:24 Сейчас в теме
(7) Алгоритм работы СЛК вкратце следующий:
- подключается компонента СЛК, код которой находится в защищенной конфигурации в общем макете с типом "Двоичные данные";
- создается экспортируемый компонентой объект, в свойствах которого указываются параметры связи с сервером СЛК;
- выполняется запуск объекта с указанием используемой серии ключей. В этот момент объект компоненты устанавливает соединение с сервером СЛК. Что конкретно делает объект компоненты, какой запрос отправляет, каким алгоритмом его шифрует, что СЛК возвращает - знают только разработчики СЛК.
Если запуск проходит успешно, то есть сервер СЛК запущен, серия ключа совпадает, совпадают (если заданы) доп. параметры, то метод Объект.Запуск() возвращает Истина и создается менеджер объектов.
Затем при помощи менеджера объектов можно создавать наши защищенные объекты из наших защищенных макетов. К этой поделке я не имею никакого отношения. Это поделка разработчиков СЛК. Хорошая, кстати, поделка.
Далее, с помощью менеджера объектов СЛК мы создаем из нашего зашифрованного макета наш закрытый модуль и используем его функции для обращения к нашему серверу поддержки. Стоит отметить также, что даже после успешного создания нашего модуля мы в отладке не сможем просмотреть его код. Мы сможем только вызывать его функции.
Более того, если даже у Вас есть весь комплект разработчика с ключами и Вы вдруг потеряли исходный код своего закрытого модуля, вы не сможете так вот просто взять и восстановить его из защищенного макета, так как редактор файлов СЛК работает в одну сторону.
Если интересно, могу выслать "Руководство разработчика" СЛК. Там все подробно описано.
9. SerVer1C 192 02.09.19 00:37 Сейчас в теме
(8) Не совсем понял, клиент будет ходить на ваш сервер СЛК через интернет?
10. mvxyz 138 02.09.19 09:09 Сейчас в теме
(9) Совершенно верно. Уже год ходят.
11. SerVer1C 192 02.09.19 09:25 Сейчас в теме
(10) Ну так а что мешает отладкой посмотреть, что вернул ваш сервер СЛК и потом самому подсовывать ответ клиенту? Если эта проверка происходит в закрытом модуле 1с, то это не проблема.
12. mvxyz 138 02.09.19 10:14 Сейчас в теме
(11) Если для Вас не проблема взломать СЛК, то вы - серьезный специалист. Поделитесь методикой?
Чтобы посмотреть, что вернул СЛК, надо декомпилировать двоичные данные макета внешней компоненты СЛК.
13. SerVer1C 192 02.09.19 10:18 Сейчас в теме
(12) Я не про СЛК, в вашем решении есть "последняя миля", когда код, еще не зашифрованный СЛК, идет на ваш сервер за лицензией, вот на этом этапе можно его перехватить.
14. AllexSoft 02.09.19 10:54 Сейчас в теме
(13) тут надо разделить на два сценария: 1 у вас есть оригинальный ключ защиты, и вам надо сделать копию конфигурации которая будет работать с этим же ключем, тогда перехват кода поможет восстановить алгоритм запроса сервера СЛК и все его параметры.
2. У вас нет оригинального ключа защиты. А вот тут сложнее, ибо модуль с зашифрованными функциями это скорее всего байт-код, сверху зашифрованный СЛК, ну и расшифровывается уже на стороне сервера СЛК соответственно. Без ключа СЛК просто откажется его расшифровывать.

В принципе от сценария 2 защита неплохая, если реализовывать самому такое поделие - то дешво и сердито в принципе, простенький сервис СЛК на том же ПХП нагородить который будет принимать авторизацию от клиентов и выдвать токен, ну функцию расшифровки модуля. В 1С соответственно функцию вызова сервиса, сборки внешней обработки из возвращенного бинарника. Делов на день-два в принципе.

Интересно сколько хотят за сие поделие ?
15. SerVer1C 192 02.09.19 11:01 Сейчас в теме
(14) Так автор же и пишет, что зашифрованный модуль не уходит на сервер, а с сервера приходит информация, можно/нельзя (+ наверное, и ключ для расшифровки?) пользоваться конфой - тут мы и выполняем атаку MITM.
16. AllexSoft 02.09.19 11:14 Сейчас в теме
(15) ну если с сервера приходит голый ключ, это дыра однозначно.
Если бы я был разрабом подобного сервиса то защищаемые модуля вообще бы не располагал в макетах конфигурации, вообще их в конфигурации не было бы.. можно же было бы расположить его в виде бинарника в стороне СЛК-сервера, все равно к нему доступ только разработчиков есть и все. Запилить веб-морду из которой можно загружать эти бинарники и управлять лицензиями клиентов, видеть статистику, кто заходит, какими конфами, сколько юзеров. Добавлять\удалять лицензии и тд.
И никакого шифрования не надо тогда, в 1С пулять по запросу уже чистый байт-код, а может даже и куски байт-кода, пусть выполняет.

А вообще я к таким онлайн-защитам отношусь с недоверием именно из за онлайна, а где уверенность что у каждого клиента вообще есть интернет? Почему бы ему не работать не на автономном ноутбуке где нибудь на удаленном складе? А почему есть уверенность что у клиента настроено резервирование интернета, и в один прекрасный день он не отвалится и работа в 1С окажется невозможной по факту (даже при наличии модулей с повторно-возвращемыми значениями не факт что у вас сбой инета не будет с утра, когда юзеры только заходят в 1С). А что если сервер СЛК не будет доступен? Ведь аптаймы серверов то же не 100%, то есть надо позаботиться о как минимум резервировании в 2х разных дата центах, у двух разных провайдеров. Кароче много но и если... В итоге разрабу могут и счет за простой выставить, если компания окажется большой и с юристами, а их хлебом не корми дай по судиться с кем нибудь.
19. mvxyz 138 02.09.19 11:53 Сейчас в теме
(16) Необходимость наличия доступа в Интернет я оговорил в начале статьи. Описанную конструкцию мы используем для защиты функциональности, которая требует доступа в Интернет по определению.
Согласен, что наш сервер должен работать надежно.За год работы было несколько случаев, когда наш сервер падал и клиенты звонили. Однако сабж используется для функционала, без которого можно несколько часов обойтись, никто не умрет.
Согласен, что для критической функциональности лучше использовать стандартный СЛК, то есть каждому клиенту выдавать свой рег. номер ключа. Мы так и делаем.
Что касается разработки своей системы защиты, то нужно подумать, есть ли в этом смысл? Ключ (точнее рег. номер ключа) стоит 374 руб., комплект разработчика - 4800 руб.
23. AllexSoft 02.09.19 12:50 Сейчас в теме
(19) если я лицензирую разработку на количество сеансов, то 1 ключ = 1 сеанс ?
17. mvxyz 138 02.09.19 11:18 Сейчас в теме
(13) На наш сервер отправляется HTTP-запрос по протоколу HTTPS. Необходимость HTTPS отмечена в конце статьи в пункте "Отладка и HTTPS". Процедура отправки запроса и получения ответа размещена в закрытом модуле.
18. SerVer1C 192 02.09.19 11:23 Сейчас в теме
(17) В закрытом модуле с помощью средств 1с ?
20. mvxyz 138 02.09.19 11:53 Сейчас в теме
21. AllexSoft 02.09.19 11:58 Сейчас в теме
(20) по умолчанию можете считать ваш модуль не закрытым, ибо средства 1С не позволяют закрывать модули надежно.
SerVer1C; +1 Ответить
22. mvxyz 138 02.09.19 12:19 Сейчас в теме
(21) Возможно Вам знакома статья И ещё несколько слов о защите разработок... См. пункт 3.
Естественно, возможность взлома защиты СЛК существует.
Если потребуется сделать обработку для Нью-Йоркской фондовой биржи, то наверное, стоит подумать о других методах защиты.
24. SerVer1C 192 02.09.19 12:51 Сейчас в теме
(22) Я вас поздравляю, ваша защита без защиты. Т. к. реверсер свободно сдекомпилирует закрытый средствами 1с модуль. По поводу СЛК скажу - это хорошая защита, но когда она работает локально, а не как у вас.
27. mvxyz 138 02.09.19 13:14 Сейчас в теме
(24) Модуль закрывается не средствами 1С, а средствами внешней компоненты СЛК. Можно поподробнее: как дешифровать и декомпилировать такой закрытый модуль? И чем, по Вашему мнению, принципиально отличается размещение сервера СЛК локально и в сети.
29. SerVer1C 192 02.09.19 13:18 Сейчас в теме
(27) Прежде чем передать управление защищенному коду СЛК, нужно что-то проделать. Вот в этот момент мы оказываемся посередине и ломаем-ломаем-ломаем.

а вы определитесь:
>>> (17) В закрытом модуле с помощью средств 1с ?
>>> (18) Да.

Затем снова по кругу начинаете объяснять, что всё защищено СЛК...
30. mvxyz 138 02.09.19 13:26 Сейчас в теме
(29) Отвечая "Да" на вопрос "В закрытом модуле с помощью средств 1С?" я имел в виду, что HTTP-запрос выполняется средствами 1С из закрытого модуля, а не то, что модуль закрывается средствами 1С. Прошу прощения, если я Вас неправильно понял. Если бы вопрос был такой: "В модуле, закрытом с помощью средств 1С?", то и ответ был бы другой.
34. SerVer1C 192 02.09.19 13:58 Сейчас в теме
(30) Давайте определимся: пишите защищенный СЛК, либо защищенный 1С. Итак: я правильно понимаю, что HTTPS запрос делается из модуля, защищенного СЛК ? Пусть так. НО при старте 1С какая-то цепочка алгоритмов находится же либо в открытых модулях, либо в защищенных 1С. Перед расшифровкой первого защищенного СЛК модуля нам же надо как-то получить ключ, верно? Так вот перед первой расшифровкой СЛК где находятся алгоритмы??? В защищенном 1С модуле, так ?
36. mvxyz 138 02.09.19 14:35 Сейчас в теме
(34) Нет, не так. Как - я ответил в (8).
25. AllexSoft 02.09.19 13:06 Сейчас в теме
(22) знакома, закрытая обработка по сути то же самое что закрытый модуль (не важно чем вы ее расшифруете и положите на диск, хоть внешней компонентой, хоть онлайн-сервисом), разница только в том что бы перехватить момент ее появления на диске, прочитать бинарно и положить в виде отдельной обработки, дальше декомпилятор и тд ) Пока 1С не научится выполнять подобные обработки из объекта ПотокВПамяти, то есть по сути выполнять произвольные куски байт-кода 1с с помощью той же выполнить(), эти все попытки тщетны.. все равно ваш код целиком окажется в кэше на диске (пусть и в байт-коде) откуда его успешно выгребут.
Да даже после этого будет существовать возможность перехватить блок памяти переданный в Выполнить(), если это будет отдельно процедура, то хуже, ее быстро разберут на запчасти, если отдельные куски, то лучше, в защищаемой конфе может быть этих кусков огромное множество, что сильно затруднит их дальнейшую сборку в единую систему.
Собственно защита конфигураций 1С ничем по большому счету не отличается от защиты любой другой программы, все это уже было пройдено еще много лет назад на других языках. Все это в итоге решилось (в массовом виде) банально упаковщиками с шифрованием, коих можно наклепать уйму, достаточно хитрых, да еще и с защитой от отладки. В реалиях 1С этого даже близко не сделать.

Ваша разработка поможет защититься от нерадивого сисадмина который решит скомуниздить, либо от горе-клиентов которые думают что сейчас им поставят демо-базу, а они будут ей продолжать пользоваться. От специалиста 1С который решит воспользоваться защищаемыми конфигурациями не защитит (
SerVer1C; +1 Ответить
28. mvxyz 138 02.09.19 13:16 Сейчас в теме
(25) Вы хотите сказать, что защита с помощью СЛК ненадежна?
31. AllexSoft 02.09.19 13:30 Сейчас в теме
(28) надежность относительная всегда, важно четко обозначать от чего поможет СЛК, а от чего нет.. как я и сказал от сисадмина который хочет сделать копию себе "на память" и не разбирается в СЛК, поможет. Поможет и от клиента который думает что сможет не заплатить за конфу поставленную по временной демо-лицензии. Но от специалиста 1С, у которого есть оригинальный ключ и который хочет убрать СЛК на совсем не поможет. Допустим я хочу купить защищаемую конфу, покупаю на 1 юзера, получаю ключ, а юзеров у меня 500.. ломаем конфу, и за стоимость одной лицензии получаем лицензию на 500.
Думаю не будете отрицать что имея скажем оригинальный ключ от 1 пользователя я получу защищаемый модуль в расшифрованном виде у себя на диске? дальше дело техники его забрать оттуда, декомпилить, положить в конфу в исходнике и отключить СЛК на совсем.
ПС: речь о вашей СЛК разумеется.
ПСС: если рассматриваем слк c hardware ключом, ну там дамп памяти ключа+эмулятор (тут могут быть различные сложности конечно). Но те конфы от франчей которые я встречал были написаны настолько безобразно что их
1. использовать не хотелось, а тем более ломать (зачем?)
2. при декомпиляции (ради любопытства) выяснялось что там Функция типа
Функция КлючДоступен()
Если МенеджерСЛК.ПроверитьКлюч() Тогда
Возврат истина;
Иначе
Возврат ложь;
КонецЕсли;
КонецФункции

собственно тут понятно что достаточно выкинуть это все и сделать один возврат истина всегда, дальше можно пользоваться без ключа.
3. В организациях где я работаю есть бюджет на покупку лицензионного софта, ломать его нет надобности просто, лицензии покупаются в первую очередь ради бумажки для проверяющих органов.
37. mvxyz 138 02.09.19 14:43 Сейчас в теме
(31) "я получу защищаемый модуль в расшифрованном виде у себя на диске" - надо полагать, что тоже самое можно проделать и для СЛК с программной лицензией, установленного локально? Мне действительно интересно.
38. AllexSoft 02.09.19 15:32 Сейчас в теме
(37) да, конечно. Нет там никакой магии. Сам 1С:СЛК с программной лицензией не содержит никаких блоков программного кода зашитых в СЛК, то есть код там весь лежит в конфе, удалив ключ из системы программный код останется на месте (более того в незащищенном виде как правило, просто байт-код, который декомпилируется и без комплекта оригинального ключа). Ваш вариант СЛК с шифрованием выглядит более предпочтительным на фоне комплекта СЛК предлагаемого 1С.
В вашем варианте не имея оригинального ключа, хотя бы одного, расшифровать защищаемый модуль хотя бы раз будет невозможно.

Для 1С:СЛК с "железным" ключом ситуация выглядит так (сам ключ представляет из себя специализированный микрокомпьютер на чипе с ПЗУ):
1. Есть ключ, у которого уникальный серийный номер, внутри 1С умеет сверять ИдВставленногоВПК_Ключа = ИдОжидаемогоКлючаЗашитогоПриРазработкеВКонфу, если они равны, то есть в пк вставлен ключ от этого программного продукта - то работаем, если нет - завершение работы. Имеет метод типа "занять лицензию", которая занимает 1 лицензию на 1 клиентский сеанс. Все это добро прописано просто в общем модуле прям в конфе, разумеется непоставляемом (то есть в байт коде).
2. Сам ключ имеет небольшой объем ПЗУ, в который можно зашить критичные куски кода, считаем это типа .dll с вашим "ноу-хау" конфигурации. Если ключа нет - физически нет программного кода для исполнения.

На практике встречается только вариант 1. То ли из за лени разработчиков (каждый ключ надо прошивать данными же если используем п2), то ли особенности работы СЛК от 1С не позволяющие по сути воспользоваться преимуществом п 2.
Вариант 1 снимается без ключа, банальным декомпилированием общего модуля, вариант 2 - дампом ключа + эмулятор ключа куда засовывается этот дамп.
39. mvxyz 138 02.09.19 16:20 Сейчас в теме
(38) Большое спасибо за подробный ответ!
Есть еще вопрос, на который не могу найти ответа. Может быть Вы знаете. Проблема в следующем. Собираем обновление для нашей конфигурации с пересборкой (редактором файлов СЛК) закрытого макета (в макет загружаем новый исправленный закрытый модуль). Обновляем конфигурацию у клиента. Так вот, до перезапуска "Агента сервера 1С" продолжает работать старый (!) модуль, то есть, например, успешно вызываются функции, которых в новом модуле уже нет. Новый закрытый модуль начинает работать только после перезапуска Агента сервера. Складывается впечатление, что закрытый модуль где-то кэшируется. И вряд-ли в сеансовых данных. Такой эффект проявляется как при стандартном использовании СЛК с программной лицензией, так и при использовании конструкции, описанной в статье.
Вы с таким поведением не сталкивались? Буду очень благодарен за ответ.
40. AllexSoft 02.09.19 17:37 Сейчас в теме
(39) да легко такое может быть, существует не только клиентский кэш сеансовых данных, но и серверный кэш, в папке C:\Program Files (x86)\1cv8\srvinfo\reg_1541
Сервер при старте агента сервера формирует там свой вспомогательный кэш и обновляет его по мере необходимости. Предположим что при обновлении конфы он не обновляет ваш закрытый макет в этом кэше, и продолжает отдавать клиентам старую версию из кэша (во что я лично не сильно верю). Я бы попробовал просто сделать простенькую обработку с кнопочкой и таким кодом (и выполнить ее на базе во время проявления глюка после обновления):

стрОригинал = "хххххх";
стрМакет = Base64Строка(ПолучитьОбщийМакет("ВашЗащищаемыйМакет"));
если стрОригинал <> стрМакет  тогда
Сообщить("Что то тут не так");
конецЕсли;


где стрОриганал - это строка получаемая в результате стрОригинал = Base64Строка(ПолучитьОбщийМакет("ВашЗащищаемыйМакет"));
выполненной на локальной (файловой) обновленной копии, той же версии (то есть это 100% эталон).

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

если они будут совпадать, тогда у вас проблема именно в распаковке модуля, его дешифровке и тд, одним словом в ваших алгоритмах СЛК (в том самом закрытом модуле). Попробуйте на время теста у модуля "Повторное использование возвращаемых значений" = Не использовать. Увидите, изменится ли что нибудь, вполне возможно дело не в модуле, он то как раз обновляется нормально, а с кэшем этих повторно возвращаемых значений.

ПС: предполагаю что ваш закрытый макет представляет из себя двоичные данные, если это просто шифрованные текст, то Base64Строка не нужна
ПСС: предпогаю что обновляете НЕ динамически, то есть выгоняете всех пользователей. Если динамически - то в этом дело )
41. mvxyz 138 02.09.19 17:57 Сейчас в теме
(40) Большое спасибо!
Предположения ПС и ПСС верные.
Модуль с повторным использованием возвращаемых значений вроде не влияет, но надо еще раз перепроверить.
Я для проверки делаю так: прописываю номер версии конфигурации в двух местах - в открытом и в закрытом модуле. Проверяю и если номера не совпадают, то вывожу сообщение, что надо перезапустить Агент сервера.
32. kostik_love 274 02.09.19 13:37 Сейчас в теме
(28)
Просто нужно внести изменения
Закрытый модуль средствами 1с- это как красная тряпка- уберите из описания всё что с этим связано и путаницы станет меньше)
33. mvxyz 138 02.09.19 13:52 Сейчас в теме
(32) В описании нет ни слова о закрытии модуля средствами 1С! Нет даже строки "1С". Наоброт, в п.8 достаточно подробно описано как создать закрытый модуль с помощью редактора файлов СЛК. Ну если только - загрузка созданного с помощью редактора СЛК зашифрованного файла с двоичными данными в макет - это средства 1С. Но это как бы уже несерьезно. Закрытие средствами 1С всплыло в комментариях.
46. ValeriVP 1015 21.09.19 15:39 Сейчас в теме
(28) время на взлом СЛК при наличии доступного ключа - 10мин
49. mvxyz 138 21.09.19 17:23 Сейчас в теме
(46) Так ведь в данном случае ключа у пользователя нет! Рег. номер ключа СЛК активирован на нашем сервере. Это отметил и AllexSoft в (38).
50. ValeriVP 1015 21.09.19 18:21 Сейчас в теме
(49) не важно где ключ, важно что он доступен. Т.е. если конфигурация работает - то снять защиту - очень просто.
52. mvxyz 138 21.09.19 20:37 Сейчас в теме
(50) Просто для того, кто умеет. Таких мало. СЛК используется, наверное, во всех (во всяком случае, во многих) защищенных разработках Раруса. И ничего, живут.
Как справедливо отметил в этот четверг в своем докладе на Infostart Event Андрей Александрович "Внимание хакеров еще надо заслужить".
Кроме того существует другая сторона вопроса.
Одна из наших конфигураций (https://infostart.ru/public/539703/) установлена более чем у тысячи клиентов. Там обычный СЛК с программной лицензией, каждому клиенту - свой ключ. Казалось бы нужная конфигурация и цена приличная. Но кто будет ломать защиту? Клиентам нужна поддержка и обновления.
В другой конфигурации (https://infostart.ru/public/988788/) используется описанная здесь конструкция. Цена лицензии в зависимости от вида 1500-6000 руб. При продвижении мы рассчитывали на партнерскую сеть. Так вот партнерам за эти деньги (за 50%) даже внедрять не очень интересно (внедрение - 30 минут). Не то что кому-то ломать защиту. Кроме того, если и сломают, то опять же останутся без обновлений.
Впрочем, если посоветуете более удобный и надежный способ защиты, я буду очень благодарен. Серьезно. По сути, защита для разработчика это дополнительная проблема. И чем она проще решается, тем лучше.
54. ValeriVP 1015 22.09.19 10:52 Сейчас в теме
(52)
СЛК используется, наверное, во всех (во всяком случае, во многих) защищенных разработках Раруса. И ничего, живут.

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

Вместе с тем, для конфигураций стоимостью менее 10т.р. на организацию никто не будет привлекать специалиста по взлому.
Однако для конфигураций стоимостью 5т.р. на рабочее место - вероятность попыток взлома я оцениваю в 100% (т.е. найдутся пользователи желающие снизить стоимость владения).

Обновления - в случае отучения конфигурации от ключа нет проблемы повторить 10ти минутную процедуру для обновленной конфигурации.
56. mvxyz 138 22.09.19 11:56 Сейчас в теме
(54) Согласен. Статистики по нелицензионному использованию нет. Мои соображения умозрительные. Однако в данном случае можно получить хоть какие-то данные для анализа. Например, сравнить количество обращений к бэку от данного клиента с количеством выданных ему лицензий. Или зафиксировать отсутствие обращений.
В нашем случае для первой конфигурации самостоятельную ценность для клиента представляет поддержка. Логика взаимодействия с Меркурием, прямо скажем, не совсем тривиальная. Помимо самой программы нужно знать методологию и нормативную базу. Кроме того, вслед за разработчиками Меркурия постоянно приходится дорабатывать решение и разбираться в том числе и не с нашими косяками. Поэтому за взлом не сильно переживаем.
Во втором случае сложнее. Решение работает хорошо. Поддержка там не сильно нужна. Вероятность взлома есть.
58. ValeriVP 1015 22.09.19 12:26 Сейчас в теме
(56) Наблюдается противоречие - зачем защищать, если вы не опасаетесь не лицензионного использования?
60. mvxyz 138 22.09.19 13:31 Сейчас в теме
(58) Противоречие кажущееся. Я не сильно опасаюсь взлома (пока, на текущем этапе), но, как Вы справедливо указали в (47), есть еще система лицензирования. Делать ее без связки с защитой как-то несерьезно. Скажем так: нужно лицензировать честных (в смысле тех, кто не взламывает) клиентов.
35. kostik_love 274 02.09.19 14:01 Сейчас в теме
(17)
Вот тут просто не нужно говорить что модуль закрыт- разницы нет какой он- просто идет запрос и получаем ответ- причем ответ должен быть не просто что доступ есть)
42. Rustig 1194 04.09.19 21:29 Сейчас в теме
(0) все равно годный метод. спасибо за статью. остальным спасибо за полемику.
43. mvxyz 138 04.09.19 21:58 Сейчас в теме
(42) Спасибо за спасибо!
На самом деле я не вижу причин считать предлагаемую защиту менее надежной, чем надежность самого СЛК.
47. ValeriVP 1015 21.09.19 15:50 Сейчас в теме
(43) Следует различать защиту кода и лицензирование.
В данной публикации, как я понял, вы описываете свою систему лицензирования в сочетании с защитой СЛК.
Ваша идея вроде как не плоха, но в ней много дыр - например:

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

Вы пробовали считать сеансы? ИМХО там не все так просто.

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

Вы получили явное согласие клиента на сбор телеметрии?
48. mvxyz 138 21.09.19 16:33 Сейчас в теме
(47) 1) Да, защита кода с помощью СЛК + система лицензирования.
2) Подсчета сеансов в прилагаемом примере нет. Но в рабочей конфигурации реализовал (лицензирование по количеству одновременных сеансов). Разработан также вариант по количеству подключенных устройств, правда в боевом режиме не используем. Решили - по сеансам. И да, с подсчетом сеансов повозился, но в результате получилось не слишком сложно.
3) Сейчас собираем только технологические данные: номер версии платформы, имя и релиз конфигурации, номер нашего релиза. Планируем сделать сбор логов исключений. Это не персональная и не коммерческая информация. Если есть нормативный акт, запрещающий сбор такой информации, буду благодарен за ссылку.
Последняя конфигурация, в которой этот механизм реализован, на этой неделе прошла сертификацию на "1С:Совместимо".
51. ValeriVP 1015 21.09.19 18:24 Сейчас в теме
(48) Подсчет сеансов - вы же фиксируете вход и выход, а так же периодический опрос - для избежания зависания сеансов?
53. mvxyz 138 21.09.19 22:04 Сейчас в теме
(51) Касательно лицензий я, наверное, поторопился с радужным ответом. Есть проблемы.
В двух словах так:
В защищаемой конфигурации привязываюсь к некоторому значимому событию, обрабатываемому в закрытом модуле, и получаю количество сеансов:
 Функция КоличествоСеансов()
	
	КоличествоСеансов = 0;
	
	СеансыИнформационнойБазы = ПолучитьСеансыИнформационнойБазы();
	
	Для Каждого СеансИБ Из СеансыИнформационнойБазы Цикл
		ИмяПриложения = СеансИБ.ИмяПриложения;
		Если ИмяПриложения = "MobileClient"
			ИЛИ ИмяПриложения = "1CV8C" 
			ИЛИ ИмяПриложения = "WebClient" 
			Тогда
			
			КоличествоСеансов = КоличествоСеансов + 1;
			
		КонецЕсли;
		
	КонецЦикла;
	
	Возврат КоличествоСеансов;
	
КонецФункции
Показать

Далее сравниваю с количеством сеансов по лицензии, полученным из нашего бэка защиты, и если есть превышение, то вывожу сообщение и запрещаю выполнять то самое значимое действие.
Строго говоря, здесь конечно есть дырка. Чтобы ее обойти нужно отказаться от кэширования ответа от бэка и стучаться в бэк каждый раз. И таки да: с зависшими сеансами могут быть проблемы.
55. ValeriVP 1015 22.09.19 10:59 Сейчас в теме
(53) допустимое решение, но имеет особенность - вы считаете пользователей в одной базе.
т.е. два клиента с одним ключом могут спокойно работать.
57. mvxyz 138 22.09.19 12:09 Сейчас в теме
(55) Это так. Но тут имеет место особенность нашего решения: Центральная база (УТ10) обменивается с конфигурацией-шлюзом, а к шлюзу подключаются мобильные клиенты. То есть база как бы одна.
59. ValeriVP 1015 22.09.19 12:31 Сейчас в теме
(57) т.к. вы положили свое решение на Инфостарт, я рассматриваю ваше как универсальное.
И в качестве универсального решения ваша разработка некоторые недостатки, хотя в целом имеет право на жизнь (ИМХО).
44. sg12 17 06.09.19 14:47 Сейчас в теме
Решение интересное, это бесспорно, но нужен интернет у клиента и у разработчика, то что кэш есть это хорошо, но интернета может не быть с утра и до обеда.
45. mvxyz 138 06.09.19 17:25 Сейчас в теме
Оставьте свое сообщение

См. также

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид 7

Инструменты и обработки Программист Конфигурация (md, cf) v8::Mobile Android Абонемент ($m) Разработка внешних компонент Защита и шифрование Мобильная разработка

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

5 стартмани

17.09.2019    772    1    IgorKissil    0       

Запутывание кода 1С 39

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Защита и шифрование

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

2 стартмани

02.09.2019    3238    12    leoxz    62       

Электронный документооборот для украинских конфигураций 1

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Украина Документооборот и делопроизводство Абонемент ($m) Защита и шифрование

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

1 стартмани

30.06.2019    1137    5    Asdam    0       

Шифрование текста и файлов с помощью 1С. Используется хеш-код SHA256, Без Capicom, Архиваторов и сторонних служб 23

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Защита и шифрование

Данная статья описывает простейший собственный алгоритм шифрования средствами 1С. Без Capicom, Архиваторов и сторонних служб. Данный метод работает на Платформе 8.3 и т.п. 09.07.19 Добавлена обработка шифрования файлов

1 стартмани

26.06.2019    3061    4    ogidni    39       

Цифровая подпись Cades-BES для XML средствами 1С с помощью КриптоПро 6

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Защита и шифрование

Обработка иллюстрирует возможность подписания XML SOAP-конверта по стандарту Cades-BES средствами 1С с помощью внешней компоненты КриптоПРО "CAdESCOM" с учетом ГОСТ 2001 и ГОСТ 2012. Стандарт используется в различных механизмах государственных сайтов России, в том числе в СМЭВ и ГИС ЖКХ. Код не привязан к прикладному решению может быть встроен куда угодно, но только на платформе Windows.

1 стартмани

13.05.2019    3065    12    PythonJ    25       

Проверка пинкода для мобильного приложения 2

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8::Mobile Абонемент ($m) Защита и шифрование

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

3 стартмани

16.04.2019    1244    1    bashinsky    2       

Кодирование Base64 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Защита и шифрование

Обработка кодирования декодирования строки алгоритмом Base64 через использования потоков.

1 стартмани

18.02.2019    2062    5    BigTaur    6       

Подписываем отчёт об исполнении контрактов ГОЗ или приказ №554 8

Инструменты и обработки Системный администратор Бухгалтер Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Государственные, бюджетные структуры Россия Windows Абонемент ($m) Защита и шифрование

Внешняя обработка, упрощающая подпись файла и генерацию архива с отчётом об исполнении госконтракта по Приказу №554 МО РФ

1 стартмани

06.02.2019    6135    29    semagin@gmail.com    8       

Генератор ФИО, ИНН, СНИЛС и дат рождения 6

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Защита и шифрование Обработка справочников

Понадобилась мне обезличенная база биллинга на полтора миллиона лицевых счетов. Забивать существующие ФИО символом "Х" ("Иванов Иван Иванович" -> "Хххххх Хххх Хххххххх") было не интересно. Взял из существующей базы собрал мужские, женские фамилии, имена и отчества и написал генератор случайных ФИО. Также в обработке есть возможность генерировать ИНН физических лиц, СНИЛС и дат рождения.

1 стартмани

03.12.2018    4082    6    BigB    10       

Применение цифровой подписи при организации учёта ТМЦ и ГСМ 10

Статья Программист Архив с данными v8::Mobile v8::Бизнес-процессы 1cv8.cf Абонемент ($m) Защита и шифрование Управление бизнес-процессами (BPM) Мобильная разработка

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

1 стартмани

25.10.2018    3982    2    ikekoval    2       

"Открыть нельзя защищать!" - Где поставить запятую? 20

Инструменты и обработки Программист Архив с данными v8 v8::УФ 1cv8.cf Абонемент ($m) Защита и шифрование

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

1 стартмани

16.02.2018    9071    11    adam26    9       

Шифрование перестановкой символов 0

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Защита и шифрование

Простое шифрование строки перестановкой символов.

1 стартмани

14.12.2017    4652    3    unregisteret    3       

ЭЦП по гостам Украины в 1С - Внешняя компонента BilboSign.dll 5

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Украина Windows Абонемент ($m) Разработка внешних компонент Защита и шифрование

Причиной данной разработки послужило отсутствие на данный момент криптопровайдера ЭЦП, который может работать по гостам Украины и использоваться в 1С. Для этого разработана внешняя компонента по технологии NativeAPI.

1 стартмани

11.12.2017    7199    10    Zahary    5       

Обработка шифрования ключом 2

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

Обработка шифрования введенной строки. Платформа 8.3 (обычное приложение). В обработке реализован механизм XOR шифрования на платформе 8.3. Может быть полезна при решении задач с шифрованием паролей или текстов или чисел.

1 стартмани

05.12.2017    5799    14    timothy_    3       

Обфускация кода 1С 94

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Защита и шифрование

Обфускация кода 1С как вариант защиты кода.

10 стартмани

09.10.2017    25036    61    VsHome    5       

Обезличивание базы данных для КАМИН:Зарплата для бизнеса 4 0

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf БУ Управление персоналом (HRM) Абонемент ($m) Обработка справочников Защита и шифрование

Данная обработка обезличивает Вашу информационную базу данных. Это значит, что все фамилии, имена, отчества, ИНН, СНИЛС, серии и номера документов, будут заменены случайным набором символов.

1 стартмани

26.06.2017    6717    2    juricher    2       

Обезличивание базы данных средствами скрипта для MSSQL 12

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

Обработка предназначена для сотрудников, которым необходимо подготовить обезличенную базу для передачи ее сторонним лицам. Для пользования обработкой необходимо запустить 1С: предприятие в режиме тонкого клиента управляемого приложения. Тестировалась обработка на 1С:Предприятие 8.3 (8.3.8.2088) Обработка генерирует SQL - скрипт на основе структуры метаданных.

10 стартмани

28.02.2017    9477    24    ZadachNik1C    1       

HMAC на встроенном языке 1С 24

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

Внешняя обработка хеширования данных HMAC (SHA-1, MD5, SHA-256, CRC-32) без использования внешних компонент.

1 стартмани

25.02.2017    19462    54    Knup    35       

Шифрование и расшифровка строковых полей справочников методом Виженера (с улучшениями) 52

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Защита и шифрование Обработка справочников

Обработка по шифрованию и расшифровке строковых полей справочников модифицированным методом Виженера - реализация без внешних компонент, без com-объектов, чистый 1С.

1 стартмани

27.04.2016    21493    32    NikitaXa    16       

Защита разработок от копирования (Обычная и Управляемая форма) 202

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Защита и шифрование

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

1 стартмани

28.03.2016    33277    320    karpik666    123       

Двухфакторная аутентификация в 1С 83

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Защита и шифрование

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

1 стартмани

16.02.2016    28485    112    Юрий-К    17       

Генератор сертификатов 32

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные обработки Защита и шифрование

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

3 стартмани

27.01.2016    16003    28    eskor    4       

Обфускация кода 1С (приведение в нечитаемый вид) для платформы 1С:Предприятие 8.3.7 97

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Защита и шифрование

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

1 стартмани

20.12.2015    34752    306    masterkio    106       

Обфускация данных в 1С 8

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Защита и шифрование

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

1 стартмани

03.11.2015    13426    37    kser87    23       

Подсистема шифрования данных + пример реализации: решение Keystore для хранения паролей 10

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Защита и шифрование

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

3 стартмани

23.06.2015    15000    15    alex271    3       

Ключ защиты из USB накопителя для 8.3 59

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Информационная безопасность Защита и шифрование

Ключ защиты конфигурации из обычной USB-флешки для платформы 8.3. Можно внедрить на любой конфигурации, и ключик не привязывается к определенному рабочему месту. Реализовано в Такси.

5 стартмани

31.05.2015    31230    40    Naposaram    57       

Изменение конфиденциальной информации (обработка, управляемые формы) 13

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Windows Абонемент ($m) Обработка документов Защита и шифрование Обработка справочников

Обработка позволяет полностью заменить в базе все конфиденциальные данные - все поля справочников, суммы в документах и прочие значения объектов. Идентична по функционалу обработке с ИТС "Изменение конфиденциальной информации", но работает под управляемыми формами и в интерфейсе "Такси". Есть гибкая настройка тех данных, которые необходимо удалять.

1 стартмани

17.05.2015    27728    144    primat    22       

Шифрование текста, хеш сумма 19

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Защита и шифрование

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

2 стартмани

15.04.2015    19517    55    MherArsh    22       

Сжатие текстов исключительно средствами языка 1С 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

Обработка упаковывает текст и делает его в виде исполняемого SFX. Область применения: Just for fun Побаловался на досуге, размял мозг. Можно применять для упаковки и нечитаемости текстов процедур и функций, или запросов

1 стартмани

25.11.2014    11996    13    eugeniezheludkov    5       

Простое симметричное шифрование табличным смещением 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Защита и шифрование

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

1 стартмани

06.10.2014    11883    13    insidex    3       

Шредер - не удобочитаемый код 1с 0

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Защита и шифрование

Нужно сделать текст 1с нечитабельным - не вопрос!

1 стартмани

21.08.2014    14252    44    ivn75    18       

Элементарное шифрование 0

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Защита и шифрование

Алгоритм шифрования - простая перестановка

1 стартмани

11.02.2014    13347    6    sdn-1    3       

Подписываем файлы с помощью ЭЦП средствами 1с 48

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные обработки Защита и шифрование

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

1 стартмани

05.09.2013    52445    326    anig99    21       

Работа с криптографией на примере получения хэша SHA-512 в 1С 22

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Защита и шифрование

Понадобилось мне как то сделать одну СМС-рассылку в 1С с методом усиленной авторизации, в которой необходимо было получить хэш SHA-512. Было перерыто половина интернета и ничего толкового именно по SHA-512 найдено так и не было... В результате был найден способ как получить криптографическую функцию в 1С не копаясь в RFC и спецификациях относительно быстро и самое главное отлаженную от и до.

1 стартмани

25.02.2013    24662    35    Diversus    29       

Обработка-пример шифрования в 1С 8.2 13

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Защита и шифрование

Обработка-пример шифрования в 1С 8.2 До безобразия простой код, однако, весьма эффективный алгоритм. Иногда требуется что-то подобное, например, у нас в базе хранятся пароли на расчетные листки и на ключевые константы и регистры.

1 стартмани

21.12.2012    18382    83    vladshnurkoff    11       

Искажение данных, очистка данных из информационной базы 3

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Чистка базы Защита и шифрование

Иногда нужно передать базу в третьи руки, но так что бы клиент был спокоен за свои данные - сделал небольшую обработку искажения текстовых данных во всех справочниках, удаления записей независимых регистров сведений и вычистки планов обменов. Обработка не претендует на универсальность. Универсальная уже есть на ИТС (1CIts\EXE\EXTREPS\UNIREPS81\UpdatePrivateInformation).

1 стартмани

04.12.2012    13657    16    bxz    7       

Защита конфигурации 1С (без внешних компонент, супер легкая и быстрая) 37

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

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

3 стартмани

11.05.2012    36885    167    Kyrales    45       

Создание "обезличенной" демо базы 8,1,8.2 и 8.3 Управляемые и обычные формы. 49

Инструменты и обработки no Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Защита и шифрование Обработка справочников

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

1 стартмани

03.12.2010    27040    284    milkers    10       

Индивидуальный Ключ Защиты (ИКЗ) 235

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

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

1 стартмани

21.10.2010    25095    485    wacko    65       

Кодирование префикса из 3-х символов по стандарту RADIX-50 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование Обработка справочников

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

1 стартмани

05.08.2010    11792    13    Larkin    1       

Привязка конфигурации к диску 40

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

Простой способ определить по id HDD, используют ли твою работу на постороннем компьютере

1 стартмани

13.04.2010    16837    228    simgo83    39       

Golden Key 8.1 Prototype 69

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

В этот раз не будет внешней компоненты, не будет программной оболочки. В этот раз все – средствами 1С, все просто и достаточно эффективно …

1 стартмани

30.03.2010    21743    297    O-Planet    23       

Защита внешней обработки - прячем и шифруем макет 60

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Защита и шифрование

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

2 стартмани

12.03.2010    27636    1    ll13    33