Имя: Пароль:
1C
 
Асимметричное шифрование ключами в коде
0 valiknur
 
29.09.25
08:42
Добрый день.
Пишу модуль для загрузки информации в систему из зашифрованного xml файла.
Задача стоит следующая: Есть заготовленные заранее ключи шифрования, один из которых прямым способом вшивается в код. Нужно с помощью этого ключа расшифровать файл, зашифрованный другим ключом. Вопрос: Как это можно сделать инструментами 1С, 1С БСП или другими подобными проверенными официальными решениями. Желательно не писать вручную сам алгоритм шифрования, а использовать уже существующие функции. В БСП нашел только работу с сертификатами, но применить в данной задаче их не смог. Сам алгоритм шифрования не принципиален - подойдет любой из доступных.
1 p-soft
 
29.09.25
08:46
(0) нет такого. все инструменты шифрования лицензируются
2 Волшебник
 
29.09.25
08:53
(0) Не надо ключи зашивать в код
3 valiknur
 
29.09.25
08:53
(1) То есть нет никакого даже обходного способа? Даже как-то использовать тот же OpenSSL в 1С, с помощью которого и были сгенерированы ключи, посредством COM-объектов?
4 Волшебник
 
29.09.25
08:56
Мне удивительно, что Вы не определились с алгоритмом шифрования. А если там применяется немецкая машинка Энигма?
5 valiknur
 
29.09.25
09:03
(2) Да, мы понимаем, что подобное в корне не правильно, но иной альтернативы для защиты самописной конфигурации от копирования с возможностью реализации работы системы в офлайне мы не нашли. Планировалась защита этого модуля от редактирования.
6 p-soft
 
29.09.25
09:07
(4) сейчас не принято глубоко копать, все можно спросить у ии.
(3) можно найти решения, но в тираж такое не пустишь, ибо вне закона
7 p-soft
 
29.09.25
09:06
(5) я когда то на дельфи компоненту использовал. найдите вариант и напишите вк. и (6) актуально
8 valiknur
 
29.09.25
09:07
(4) Поскольку Энигма - симмертичный алгоритм, то он нам не подходит. На данный момент под вопросом сама возможность подобного шифрования способом, не требующим написания самого алгоритма, поэтому с конкретным вариантом мы не определились.
9 maxab72
 
29.09.25
09:10
(0) накой лишние ключи? берете зашифрованный файл как есть и пишете его не расшифровывая, но задом-наперед. То есть было 1A 48 EF, стало F7 12 58. Надо вернуть файл - обратно переписываете хвост в голову. Для гражданских целей вполне надежно (потому что не храните нигде ключи). Напрямую не прочитать, даже если есть ключ (а если их еще может быть много - устанут искать, каким ключом зашифровано было).
10 valiknur
 
29.09.25
09:21
(6) Можете разъяснить или дать ключевые слова для поиска и последующего ознакомления с законодательным вопросом по данной теме, так как не совсем понимаю, какой аспект затрагивается. И если (9) такой вариант будет в рамках закона, то мы его рассмотрим, как возможный. Заранее спасибо.
11 p-soft
 
29.09.25
09:24
(10) в яндексе "регулирование средств шифрования", смотрите ссылку где алиса все разжевывает
12 Волшебник
 
29.09.25
09:29
(8) какой-какой, симмертичный?
13 Lama12
 
29.09.25
09:30
(5) Баловство все это. 1С интерпретатор. Значит всегда можно получить исходный нативный код. Ну а если очень хочется побаловаться, то используйте в Windows OpenSSL, в Linux GPG. Ну и вопрос. Если ключ храните в коде, то что мешает вскрыть код, достать ключи, и расшифровать зашифрованный модуль?
14 p-soft
 
29.09.25
09:46
(13) в коде хранят открытый ключ.
15 Chai Nic
 
29.09.25
10:10
Ну, в принципе язык 1с функционально полный. И ничто не мешает реализовать алгоритм шифрования в виде обычной обработки.
16 Lama12
 
29.09.25
10:21
(14) А какая разница, если с его помощью можно расшифровать код?
17 p-soft
 
29.09.25
10:22
(16) там про защиту речь, это один из способов работы с защищенными лицензией данными.
18 shuhard
 
29.09.25
10:40
(5) используйте СЛК, в 99% этого достаточно
https://1c-slk.ru/
19 DeeK
 
29.09.25
13:40
(0) xor с солью и все