Имя: Пароль:
1C
1С v8
Где же всё-таки хранить секретные ключи
0 Антиквар
 
15.03.23
15:22
Всем привет!
Есть определенные данные, которые требуют некого шифрования. Для расшифровки нужен ключ, и этот ключ надо откуда-то брать.
Как его можно безопасно хранить, чтоб злоумышленник, который украл базу, не смог расшифровать данные.
Кто что использует?
Если пароль хранится в самой базе 1С, то я не вижу возможности его спрятать.
Безопасное хранение паролей от БСП - это какая-то фигня.
1 Антиквар
 
15.03.23
15:24
Реализовывать какой-то сторонний сервис (не на 1С), который будет возвращать тебе ключ...
Только такой вариант мне видится, но какой-то он очень замороченный
2 H A D G E H O G s
 
15.03.23
15:25
В голове
3 H A D G E H O G s
 
15.03.23
15:26
Остальное - от лукавого
4 YFedor
 
15.03.23
15:27
Т.е. данные в базе (мы имеем ввиду базу 1с 8) будут храниться в зашифрованном виде, при попытке доступа к этим данным из программы 1с эти данные на лету должны расшифровываться и отображаться уже в расшифрованном виде?

Например: все наименования контрагентов в базе зашифрованы. Бухгалтер открывая документ Поступление товаров и услуг видит в поле "Поставщик" уже расшифрованное наименование контрагента.

Так?
5 dervishsy
 
15.03.23
15:27
Можно в в переменных среды. И при старте получать их из окружения.
6 H A D G E H O G s
 
15.03.23
15:28
(1) Ключ то можно перехватить отладчиком 1С. Или Fiddler-ом. Или mem сканнером. И так далее, все глубже и глубже.
7 Garykom
 
гуру
15.03.23
15:40
(0) >Безопасное хранение паролей от БСП - это какая-то фигня.

Уверен?
8 Garykom
 
гуру
15.03.23
15:46
(7)+ Ключ пиши в безопасное хранилище, зашифрованный от СисИнфо = Новый СистемнаяИнформация
9 magicSan
 
15.03.23
15:47
(0) Ключ валяется локально на сервере
10 Garykom
 
гуру
15.03.23
15:47
(8)+ Даже если базу сопрут целиком, то повторить СистемнаяИнформация не так то просто
11 H A D G E H O G s
 
15.03.23
15:52
"Даже если базу сопрут целиком, то повторить СистемнаяИнформация не так то просто"

просто добавил памяти в сервер
https://i.ytimg.com/vi/kjBPDOo6wl4/maxresdefault.jpg
12 Антиквар
 
15.03.23
15:56
(4) Не совсем так. Определенные данные шифруются, в 1С их никто не видит, но при определенных операциях с помощью ключа данные расшифровываются (не для пользователя)
13 H A D G E H O G s
 
15.03.23
15:58
(12) Операции шифровки/расшифровки - во внешней компоненте, ключ в ней не хранить статично, но генерировать запутанным алгоритмом, не опираясь на внешние данные.
14 Антиквар
 
15.03.23
15:59
(8) хмм... но я не очень понимаю как это использовать. И кстати ключ не может зависеть от системных данных, ключ будет выдаваться внешней системой.
15 H A D G E H O G s
 
15.03.23
16:00
(12) Ну или отдавать данные на сервер в облако и получать расшифрованные данные и обратно. Но - муторно, достаточно (13), все равно это никому не надо ломать себе голову.
16 arsik
 
гуру
15.03.23
16:00
(12) В 8ке же есть криптография. Возьми любой рутокен, создай сертификаты и ключи. Запиши туда собственный ключ и пользуйся.
17 Антиквар
 
15.03.23
16:02
(15) Может никому и не надо, но служба безопасности не пропустит )
18 Антиквар
 
15.03.23
16:26
(16) Для меня это пока всё очень непонятно выглядит )
19 arsik
 
гуру
15.03.23
16:32
(18) Самое время прокачать скилы. Мне наоборот такие задачи нравятся, когда можно что то новое использовать.
20 ДедМорроз
 
15.03.23
19:19
Ключ на токене,последний открывается по пин-коду.
Шифрование и расшифровка во внешней компоненте.
После загрузки ключа мы токен вынимаем,чтобы данные с него не считалм.
21 magicSan
 
15.03.23
19:20
(16) это тоже самое что просо файл на сервере
22 mistеr
 
15.03.23
20:01
(0) Прежде всего нужно понять, что именно защищаем, от кого защищаем, и в каких условиях. По-умному модель угроз называется.

Без этого можно бесконечно толочь воду в ступе.
23 magicSan
 
15.03.23
20:36
(22) " определенные данные". " злоумышленник".  "который украл базу, не смог расшифровать данные. " - так понятнее?
24 arsik
 
гуру
15.03.23
21:39
(21) Нет, т.к. для доступа к ключу нужно знать пинкод.
25 Антиквар
 
16.03.23
23:35
Не совсем понимаю, что значит взять токен/рутокен. Если имеется ввиду флешка, то такой вариант не подходит, кто её будет на сервере вставлять/вынимать, тем более что все удаленно работают, а севрера в ЦОДах.
В идеале чтоб какая-то внешняя программа выдавала токен. Базу украли, а токен не получить. Или даже не токен, а сразу ключ.
Ещё осложняется тем, что ключ не будет формироваться в 1С, я не могу сам его создавать. Ключ будет нам передан, чтоб мы его безопасно где-то хранили. Вопрос где?
26 timurhv
 
17.03.23
02:33
27 magicSan
 
17.03.23
04:24
(25)нахрена тебе токер когда файл с ключом на сервере тоже самое?
28 arsik
 
гуру
17.03.23
09:31
(25) Зачем на сервере вставлять/вынимать? На клиенте все это делается.
29 exwill
 
17.03.23
09:51
(25) На бумаге. А бумага в сейфе. Вполне безопасно
30 rudnitskij
 
17.03.23
18:06
"Где же всё-таки хранить секретные ключи" - в секретном месте
31 ДедМорроз
 
17.03.23
21:27
Можно сделать так,что для каждого клиента - свой ключ.
Причем,на сервере данные расшифровываются и тут же шифруются ключом клиента,и уже эти данные передаются на клиента - там они просто расшифровываются и отображаются.
Но,тут проблема в том,что все данные формы уедут на сервер при первом же серверном вызове - поэтому - на 1с это очень сложно сделать.