Ну если собираетесь городить proprietary колхоз, то сгенерите ассиметричный ключ и храните его в CNG, а им уже зашифруйте актуальный AES-256, который храните где угодно, хоть в той же базе, хоть в файле где-нить...shadow7256 wrote: 25 Jan 2021 18:58Задача конкретная.. где хранить symmetric key and Initialization vector? В CNG невозможно это сделать, так как CNG используется для asymmetric keys.Oleg-NY wrote: 25 Jan 2021 18:49Совсем не обязательно там хранить сам актуальный AES-256 key, т.к. они могут и должны быть разными (по аналогии с тем, как это происходит в TLS, например). Все зависит от того как и что вы собираетесь шифровать, но всякие encrypted blob сами в себе содержат оный симметричный ключ в зашифрованном виде с помощью мастер-ключа. Вот мастер-ключ и храните в CNG или где-нибудь еще... Данный подход еще и аппаратно реализован много где так, что можно будет разгрузить основной проц или вынести шифрование в отдельный блок для пущей секретности так сказать! )) Плюс в данном виде можно еще и доп. ключ/пароль от пользоателя подмешивать для авторизации доступа и т.д.shadow7256 wrote: 25 Jan 2021 18:28 Гребаный Барклай теперь пишет вот что:
- Data would be protected by AES-256.
- The key would be stored locally on the server in Windows Key Store (CNG)
Поправьте меня спецы, но CNG используется для хранения public and private keys при использовании asymmetric encryption или digital signatures.
Разве можно в CNG хранить symmetric key and IV, которые используются при AES-256 ???
Зашифровать данные в базе данных
-
- Уже с Приветом
- Posts: 2418
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Зашифровать данные в базе данных
-
- Уже с Приветом
- Posts: 9402
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
-
- Уже с Приветом
- Posts: 9402
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Зашифровать данные в базе данных
Пляски продолжаются.. уже не хотят использовать AES-256 шифрование. Теперь хотят использовать продукт какой то компании CyberArk. Для чего? они сами не знают пока...
-
- Уже с Приветом
- Posts: 63430
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Зашифровать данные в базе данных
Их продукты позволяют хранить пароли в vault и много ещё чего. Модная сейчас компания.
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 9402
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Зашифровать данные в базе данных
то есть наш продукт должен будет сделать запрос к их серверам и достать оттуда допустим symmetric key и IV (если мы используем AES-256) для шифрования, я прав?Flash-04 wrote: 28 Jan 2021 14:06 Их продукты позволяют хранить пароли в vault и много ещё чего. Модная сейчас компания.
-
- Уже с Приветом
- Posts: 2418
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Зашифровать данные в базе данных
IV это - не секретная иформация и можете хранить его открыто где угодно и как угодно, ассоциировано с зашифрованными данными (я уже упоминал, что есть "стандартный" формат blob для шифрованного массива данных). Лучше использовать AES-GCM, конечно. Пока нет времени прочитать всю ветку, чтобы понять какова организация данных, которые хотите шифровать, поэтому трудно советовать что-то конкретное...
-
- Уже с Приветом
- Posts: 9402
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Зашифровать данные в базе данных
этот реально ебан..ый Барклай сам не знает чего хочет. Теперь говорят "не хотим шифрование, хотим хранить информацию в CyberArk".Oleg-NY wrote: 28 Jan 2021 22:41 IV это - не секретная иформация и можете хранить его открыто где угодно и как угодно, ассоциировано с зашифрованными данными (я уже упоминал, что есть "стандартный" формат blob для шифрованного массива данных). Лучше использовать AES-GCM, конечно. Пока нет времени прочитать всю ветку, чтобы понять какова организация данных, которые хотите шифровать, поэтому трудно советовать что-то конкретное...
![angry :angry:](./images/smilies/angry.gif)
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
Re: Зашифровать данные в базе данных
Хватай пока дают. Пусть у CyberArk голова болит о security. Если вас хакнут то это их будут проблемы, а не доморощенного шифровальщика.
-
- Уже с Приветом
- Posts: 63430
- Joined: 03 Nov 2004 05:31
- Location: RU -> Toronto, ON
Re: Зашифровать данные в базе данных
Типа того.shadow7256 wrote:то есть наш продукт должен будет сделать запрос к их серверам и достать оттуда допустим symmetric key и IV (если мы используем AES-256) для шифрования, я прав?Flash-04 wrote: 28 Jan 2021 14:06 Их продукты позволяют хранить пароли в vault и много ещё чего. Модная сейчас компания.
Not everyone believes what I believe but my beliefs do not require them to.
-
- Уже с Приветом
- Posts: 2418
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Зашифровать данные в базе данных
Ну не совсем... IV не имеет отношения к ключу, но к блоку/стриму данных и нехрен его там хранить! ))Flash-04 wrote: 31 Jan 2021 05:27Типа того.shadow7256 wrote:то есть наш продукт должен будет сделать запрос к их серверам и достать оттуда допустим symmetric key и IV (если мы используем AES-256) для шифрования, я прав?Flash-04 wrote: 28 Jan 2021 14:06 Их продукты позволяют хранить пароли в vault и много ещё чего. Модная сейчас компания.
Далее, сам AES ключ желательно генерить время от времени или от блока к блоку. И здесь более всего встает вопрос а можете ли вы сгенерить его с достаточной степенью энтропии. За этим лучше обращаться к "правильной" железке или внешнему сервису, а-ля CyberArk (хотя с последними формально не знаком).
-
- Уже с Приветом
- Posts: 9402
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Зашифровать данные в базе данных
Апдейт. для этих дебилов из Barclay's оказалось, что CyberArk для них дорогое решение
Я уже месяц работал над интеграцией и почти все сделал, оказалось вчера, что CyberArk им не подходит. Опять возвращаются к решению о шифровании даннынх в базе и теперь вопрос где хранить ключ для шифрования. Начали беседу о HSM, я так понимаю это Hardware Security Module ? Типа железяка, где будут хранится ключи?
![Shocked 8O](./images/smilies/icon_eek.gif)
Я уже месяц работал над интеграцией и почти все сделал, оказалось вчера, что CyberArk им не подходит. Опять возвращаются к решению о шифровании даннынх в базе и теперь вопрос где хранить ключ для шифрования. Начали беседу о HSM, я так понимаю это Hardware Security Module ? Типа железяка, где будут хранится ключи?
-
- Уже с Приветом
- Posts: 2418
- Joined: 16 Jul 2004 00:32
- Location: NY, NY
Re: Зашифровать данные в базе данных
Ну да, но только, еще раз, не сам ключ шифрования непосредственно данных, а мастер ключ к нему.
И если железка правильная (сертифицированная), то и генерить ключи лучше на ней тоже.
Я так и не понял как именно вы собираетесь шифровать данные в базе. Целиком файл(ы), по некоторым полям только или что вообще?
Если первое и не пользоваться встроенными шифровнием СУБД (какая кстати?) , то может лучше подумать о файловой системе?
И если железка правильная (сертифицированная), то и генерить ключи лучше на ней тоже.
Я так и не понял как именно вы собираетесь шифровать данные в базе. Целиком файл(ы), по некоторым полям только или что вообще?
Если первое и не пользоваться встроенными шифровнием СУБД (какая кстати?) , то может лучше подумать о файловой системе?
-
- Уже с Приветом
- Posts: 9402
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Зашифровать данные в базе данных
В таблице есть колонка типа binary, в ней хранится конфигурация сервера в бинарном виде. То есть у клиента есть UI, на ней допустим он задает параметры для SMTP сервера, куда будут отправляться сообщения.Oleg-NY wrote: 19 Apr 2021 20:06 Я так и не понял как именно вы собираетесь шифровать данные в базе. Целиком файл(ы), по некоторым полям только или что вообще?
Пользователь задает Host, port, username, password, и другие параметры для SMTP сервака. Эти параметры передаются на серверную часть софта, запихываются в объекта класса, затем этот объект serialized в бинарную форму и сохраняем все это в поле таблицы. Если кто то считает эти данные из базы данных, то будет очень несложно все это дело конвертировать обратно в удобочитаемую форму и получить допустим username and password для SMTP сервера.
Есть вариант шифровать эту колонку в таблице. В SLQ Server уже есть шифрование - Always Encrypt. Нужно просто правильно настроить базу данных и при удачном стечении обстоятельств наше приложение даже и знать не будет, что данные на самом деле зашифрованы в таблице (шифрование и дешифрование будет делать драйвер базы данных). НО.. для этого надо, чтобы их DB (обезьяна, которая сидит в Индии) слез с дерева и немного почитал и научился как это делать. Он не хочет учить это дело и выдумывает тупые отмазки что типа это not secured enough. Ихние менеджеры его слушают и пытаются найти другое решение. Как вариант я предложил что наше приложение само будет шифровать и дешифровать эти данные через AES-256 алгоритм.
Встает вопрос где хранить encryption key ? Они предлагают два решения
1. Хранить его в файле на диске, и каким то образом сделать так, чтобы доступ к этому файлу имело только наше приложение. Как это сделать непонятно.
2. Хранить ключ внутри кода, но это не очень хорошо, тогда они не смогут его поменять без рекомпиляции приложения.
Вот интересно HSM можно использовать для хранения ключа как то?
-
- Уже с Приветом
- Posts: 64875
- Joined: 12 Jul 2002 16:38
- Location: г.Москва, ул. Б. Лубянка, д.2
Re: Зашифровать данные в базе данных
так что вы хотите от сборища макак?shadow7256 wrote: 19 Apr 2021 22:34 НО.. для этого надо, чтобы их DB (обезьяна, которая сидит в Индии) слез с дерева и немного почитал и научился как это делать. Он не хочет учить это дело и выдумывает тупые отмазки что типа это not secured enough. Ихние менеджеры его слушают и пытаются найти другое решение.
-
- Уже с Приветом
- Posts: 9402
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Зашифровать данные в базе данных
- Так что тебе еще надо, собака?Komissar wrote: 19 Apr 2021 22:44так что вы хотите от сборища макак?shadow7256 wrote: 19 Apr 2021 22:34 НО.. для этого надо, чтобы их DB (обезьяна, которая сидит в Индии) слез с дерева и немного почитал и научился как это делать. Он не хочет учить это дело и выдумывает тупые отмазки что типа это not secured enough. Ихние менеджеры его слушают и пытаются найти другое решение.
- Да ничего не надо.
- Ну так и женись, хороняка.. царь отпускает. (с.)
Надоели они хуже горькой редьки.