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

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

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

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

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

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

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

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

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

Наименование Файл Версия Размер
БэкЗащиты.dt, ЗащищаемаяКонфигурация.dt, wЗакрытый.epf

.zip 66,45Mb
30.08.19
14
.zip 66,45Mb 14 Скачать

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

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

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

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

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

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

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

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

собственно тут понятно что достаточно выкинуть это все и сделать один возврат истина всегда, дальше можно пользоваться без ключа.
3. В организациях где я работаю есть бюджет на покупку лицензионного софта, ломать его нет надобности просто, лицензии покупаются в первую очередь ради бумажки для проверяющих органов.
Kyrales; Rustig; +2 Ответить
37. mvxyz 265 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 265 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 265 02.09.19 17:57 Сейчас в теме
(40) Большое спасибо!
Предположения ПС и ПСС верные.
Модуль с повторным использованием возвращаемых значений вроде не влияет, но надо еще раз перепроверить.
Я для проверки делаю так: прописываю номер версии конфигурации в двух местах - в открытом и в закрытом модуле. Проверяю и если номера не совпадают, то вывожу сообщение, что надо перезапустить Агент сервера.
61. rjkjlptq 15 08.11.19 14:03 Сейчас в теме
(31)Здравствуйте.

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

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

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

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

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

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

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

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

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

По флейму: трепались про исключительную простоту взлома СЛК, но никто так и не приложил по-шаговой методики извлечения защищённого средствами СЛК модуля обработки. Далеко не впервые читаю на разных форумах подобные камменты, но как до теста или описалова алгоритма доходит, так популисты резво прыгают в кусты :-)
dj_tol; mvxyz; +2 Ответить
63. egorovntn 224 14.02.20 00:06 Сейчас в теме
Прошу прощения, что обращаюсь так. Но что бы написать в личку толи нужны старт мани толи еще что-то у меня не получается. Напишите мне в личку.
64. artem_from_minsk 23.09.20 10:24 Сейчас в теме
В общем кому нужен взлом СЛК от Рарус или других конфигураций с закрытыми модулями лицензирования обращайтесь в л.с. Стоимость взлома - цена за минимальную лицензии на данные продукты + стоимость моих работ.
Оставьте свое сообщение

См. также

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

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

13.05.2019    11464    44    PythonJ    41    

Обфускатор операционного кода 1с

Защита и шифрование v8 Россия Абонемент ($m)

Защита обработок 1С от восстановления исходного кода awa-ким декомпилятором. Протестировано 1С:Предприятие 8.3 (8.3.16.1502)

2 стартмани

18.09.2020    3198    15    m1cr0sh    25    

Алгоритм ECDSA для кривых SECP256k1 (Биткоин/Лайткоин)

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Реализация алгоритма ECDSA для кривых SECP256k1, которые лежат в основе Биткоин.

1 стартмани

19.06.2020    1435    2    NikitaXa    2    

Алгоритм шифрования AES ECB 128/192/256

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Реализация алгоритма симметричного шифрования AES (Advanced Encryption Standard) в режиме ECB (Electronic codebook) с различной длиной ключа 128/192/256 без использования внешних компонент и zip-файлов.

1 стартмани

20.04.2020    2346    9    NikitaXa    12    

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

Обработка документов Обработка справочников Защита и шифрование v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

17.05.2015    33587    136    primat    24    

Мобильная платформа. Шифрование строк в Android при помощи внешней компоненты

Разработка внешних компонент Защита и шифрование v8::Mobile Молдова Абонемент ($m)

Внешняя компонента для мобильной платформы на Android. Шифруем строки.

3 стартмани

15.04.2020    2377    0    kinan    0    

1C и защищенное хранение данных на блокчейне: модуль интеграции от Acryl Platform

Защита и шифрование Блокчейн Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Модуль интеграция 1С и блокчейн платформы "Acryl Platform" без использования внешних компонент. Под катом реализация механизмов Base58, Blake2b, Keccak, Curv25519 (the elliptic curve Diffie–Hellman) в подсистеме "Crypt", примеры генерации ключей, адресов, подписи транзакций, запись данных в блокчейн, чтение и восстановление данных из блокчейн. Код открыть. Лицензия MIT.

1 стартмани

21.01.2020    6444    4    ArtemSerov    18    

Кодирование / декодирование в Base58 без использования внешних компонент

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Функции кодирование / декодирование строки в Base58 без использования внешних компонент. Код алгоритмов доступен в полном описании статьи.

1 стартмани

14.11.2019    4764    1    ArtemSerov    23    

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

Защита и шифрование Обработка справочников v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

03.12.2010    31075    40    milkers    10    

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

Разработка внешних компонент Мобильная разработка Защита и шифрование v8::Mobile Абонемент ($m)

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

5 стартмани

17.09.2019    5892    1    IgorKissil    9    

Криптографическое шифрование файлов

Защита и шифрование v8 1cv8.cf Абонемент ($m)

Обработка шифрует и дешифрует файлы. 

1 стартмани

03.09.2019    3218    2    shell_maxim    0    

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

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

2 стартмани

02.09.2019    10693    53    leoxz    66    

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

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

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

1 стартмани

30.06.2019    4238    10    Asdam    1    

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

Защита и шифрование v8::Mobile Абонемент ($m)

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

3 стартмани

16.04.2019    3755    2    bashinsky    2    

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

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

18.02.2019    5006    5    BigTaur    6    

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

Универсальные обработки Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

1 стартмани

05.09.2013    63750    274    anig99    25    

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

Защита и шифрование v8 v8::УФ 1cv8.cf Государственные, бюджетные структуры Россия Абонемент ($m)

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

1 стартмани

06.02.2019    10299    33    semagin@gmail.com    8    

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

Защита и шифрование Обработка справочников v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.12.2018    10438    8    BigB    10    

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

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

16.02.2018    13995    15    adam26    10    

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

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

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

3 стартмани

11.05.2012    42112    27    Kyrales    45    

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

Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

1 стартмани

14.12.2017    7200    3    unregisteret    3    

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

Разработка внешних компонент Защита и шифрование v8 1cv8.cf Украина Абонемент ($m)

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

1 стартмани

11.12.2017    12599    22    Zahary    5    

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

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

05.12.2017    8940    16    timothy_    3    

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

Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

10 стартмани

09.10.2017    34795    90    VsHome    5    

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

Обработка справочников Защита и шифрование Управление персоналом (HRM) Управление персоналом (HRM) v8 1cv8.cf БУ Абонемент ($m)

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

1 стартмани

26.06.2017    9353    4    juricher    2    

"Набор юного строителя" для реализации внутреннего шифрования и ЭЦП

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

Набор процедур и функций для организации внутрикорпоративного документооборота и согласования.

1 стартмани

09.06.2017    14137    31    eskor    9    

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

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

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

10 стартмани

28.02.2017    12981    27    ZadachNik1C    1    

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

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

25.02.2017    26353    74    Knup    36    

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

Защита и шифрование Обработка справочников v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.04.2016    32583    40    NikitaXa    18    

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

Защита и шифрование v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.03.2016    38446    325    karpik666    125    

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

Защита и шифрование v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

16.02.2016    35345    140    Юрий-К    20    

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

Универсальные обработки Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

3 стартмани

27.01.2016    19378    29    eskor    5    

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

Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.12.2015    40200    312    masterkio    107    

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

Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

1 стартмани

03.11.2015    16557    43    kser87    25    

Двухфакторная аутентификация с помощью мессенджера Telegram

Информационная безопасность Защита и шифрование Внешние источники данных v8 Россия Абонемент ($m)

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

1 стартмани

29.10.2015    27692    71    id-mt    12    

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

Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

3 стартмани

23.06.2015    18181    10    alex271    3    

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

Информационная безопасность Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

5 стартмани

31.05.2015    36009    24    Naposaram    60    

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

Защита и шифрование v8 1cv8.cf Абонемент ($m)

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

2 стартмани

15.04.2015    23310    48    MherArsh    22