powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / сессия с шифрованием
55 сообщений из 55, показаны все 3 страниц
сессия с шифрованием
    #39912694
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, мне надо при построении клиентской сессии передать симметричный код шифрования аппсерверу.
Какие "подводные камни" на моем пути, если аппсервер будет периодически выкладывать открытый ключ асимметричного алгоритма на FTP сервер?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912723
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Коллеги, мне надо при построении клиентской сессии передать симметричный код шифрования аппсерверу.
Какие "подводные камни" на моем пути, если аппсервер будет периодически выкладывать открытый ключ асимметричного алгоритма на FTP сервер?

Ну вот как вообще такая мысль может прийти в голову...передавать симметричный ключ...в незашифрованном виде.?
Ну если у Вас действует принцип "неуловимого Джо"(не потому,что его не могут поймать ,а он на#й никому не нужен) Ну не используйте шифрование вообще тогда.
Есть же уже давно отработанные технологии формирования симметричного ключа на базе SSL на технологии ассиметричного шифрования RSA.
Суть которого (если коротко) Два респондента сгенерировали у себя некий набор данных.
И часть этих данных(в этом вся фишка ,что часть данных) послали друг другу...и на основании этих полученных кусочков клиенты сгенерировали на своей стороне симметричный ключ сессии по математическому алгоритму.
Перехват этих кусочков мало,что дает ибо это лишь кусочки...ответная часть хранится в памяти клиентов и без них злоумышленнику надо сесть за квантовый компьютер,дабы восстановив их повторить симметричный ключ сессии.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912728
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будет периодически выкладывать открытый ключ асимметричного алгоритма на FTP сервер?

В догонку...вот этого не понял вообще
(И мне вначале привидилось ключ Симметричного алгоритма )
...если под открытым ключом Вы называете public key ,то конечно ничего страшного не случится...
В этом его смысл публичности...Но ведь это ещё совсем не технология получения симметричного ключа.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912743
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Коллеги, мне надо при построении клиентской сессии передать симметричный код шифрования аппсерверу.
Какие "подводные камни" на моем пути, если аппсервер будет периодически выкладывать открытый ключ асимметричного алгоритма на FTP сервер?


Если вы передачу не защитите, то "подводный камень" это дыра в безопасности.
Конечно это хорошо, что хоть что-то в безопасности :)
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912744
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>irbis_al, сегодня, 10:57 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057055][22057055]
>Ну вот как вообще такая мысль может прийти в голову...передавать симметричный ключ...в незашифрованном виде.?
<Вы не правильно мыслите. Для передачи симметричного ключа сессии используется схема асимметричного шифрования. Но асимметричная ключевая пара не константа, её также надо менять и открытый ключ как-то надо передавать клиенту.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912745
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 12:22 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057083][22057083]
>Если вы передачу не защитите…
<Извините, не понял - но зачем?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912752
iehf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Коллеги, мне надо при построении клиентской сессии передать симметричный код шифрования аппсерверу.
Какие "подводные камни" на моем пути, если аппсервер будет периодически выкладывать открытый ключ асимметричного алгоритма на FTP сервер?

Если симметричный ключ существует в рамках клиентского сеанса, то ничего страшного.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912776
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>iehf, сегодня, 13:16 сессия с шифрованием ][22057102]
>Если симметричный ключ существует в рамках клиентского сеанса, то ничего страшного.
<Страшно то, что трафик между клиентом(а) и FTP сервером(б) уходит за бугор. В этом случае видимо возможно разыграть вариант "третьего по середине". С другой стороны возможность взлома ключевой пары не нулевая. Её нужно менять. Вариант а-ля "флешка, ноги, пиво" не всегда удобен. Вариант с использованием цифровой подписи требует порождения ещё одной ключевой пары и те же проблемы передачи
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912777
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Но асимметричная ключевая пара не константа, её также надо менять и открытый ключ как-то надо передавать клиенту.

Вы не поверите, но она таки константа и ключ передаётся по каналам, отличным от канала передачи данных.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39912795
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 14:32 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057152][22057152]
>Вы не поверите, но она таки константа и ключ передаётся по каналам, отличным от канала передачи данных.
<
1. Не поверю
2. с вариантом отличных каналов согласен, но к реализации душа не лежит.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913052
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Коллеги, мне надо при построении клиентской сессии передать симметричный код шифрования аппсерверу.
Какие "подводные камни" на моем пути, если аппсервер будет периодически выкладывать открытый ключ асимметричного алгоритма на FTP сервер?

а в чем проблема?
генерируете симметричный код, шифруете открытым ключом app сервера и передаете ему (хоть в незащищенном канале)

получив ответ, что запрос принят, можете начинать передавать в app сервер уже шифрованные симметрией данные, и обрабатывать его запросы
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913058
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Arm79, сегодня, 22:56 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057609][22057609]
>...шифруете открытым ключом app сервера…
<Вопрос
почему клиент уверен, что его открытый ключ есть ключ app сервера?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913061
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
почему клиент уверен, что его открытый ключ есть ключ app сервера?


С помощью подписи доверенным сертификатом.

Если без этого, то почитайте про устройство SSH, все вопросы отпадут.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913065
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 01:09 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057626][22057626]
>С помощью подписи доверенным сертификатом.
<Вы правы. Да, цифровая подпись. Но вопрос доставки открытого ключа цифровой подписи от центра к клиенту остаётся. Радует то, что время работоспособности ключей цифровой подписи существенно больше, чем время отпущенное ключам асимметричного шифрования.
Вопрос, а где хранить ключ цифровой подписи?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913081
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

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

>> а где хранить ключ цифровой подписи?
Там где надёжно. Например, аппаратный токен. Или хранилище сертификатов. Если вас сильно беспокоит безопасность, используйте вводимый пользователем пароль для доступа к ключевой паре. Хотите, чтобы из памяти программы не считали ваш пароль, есть securestring
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913140
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Arm79, сегодня, 06:56 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057654][22057654]
>Не остаётся, вам же уже сказали про проверку целостности и надёжности открытого ключа подписью доверенного центра.
<
Но подпись не более чем, другой открытый ключ и по идее на него также нужна своя подпись и т.д. Всё заканчивается стандартной схемой - "ноги, флешка" или использованием другого канал обмена и кучей потерянного времени.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913217
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Затраты на комплекс мероприятий по защите должны соответствовать потерям (финансовым, репутационным) при компроментации данных.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913239
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
почему клиент уверен, что его открытый ключ есть ключ app сервера?

Неужели потому, что он его получил от апп сервера?..
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913267
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 14:03 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057971][22057971]
>Затраты на комплекс мероприятий по защите должны соответствовать потерям…
<
Вы правы.
Только, - красиво же получается с передачей открытого ключа асимметричного шифрования, - в центре генеришь пару, вытаскиваешь открытый, подписываешь его и выкладываешь на FTP сервер. При построении сессии клиент забирает текущий ключ с FTP. Ни тебе лишних бумажек, ни ожидания. Захотел, генерируй хоть каждый день, но подобная схема не работает для передачи ключа цифровой подписи.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913274
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 14:49 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22058012][22058012]
>Неужели потому, что он его получил от апп сервера?..
<
Покажите на пальцах схему получения. Имейте ввиду, что сетевые пакеты клиента можно перенаправить и разыграть третьего по середине.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913283
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Но подпись не более чем, другой открытый ключ и по идее на него также нужна своя подпись и т.д.

Подпись - это результат исполнения хэширующей функции над данными (свёртка)

Каждый сертификат безусловно должен иметь подпись. Получается цепочка. Которая завершается корневым центром сертификации. Чтобы все это подделать, злоумышленник должен получать полный доступ к вашему компьютеру. А если он есть - глубоко пофигу на компрометации ключа

Таким образом, открытый ключ АПП сервера подписываете в любом доверенном центре сертификации, ставите себе на комп сертификат этого центра и получаете гарантию того, что ключ АПП сервера не был изменён.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913293
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Вы правы.
Только, - красиво же получается с передачей открытого ключа асимметричного шифрования, - в центре генеришь пару, вытаскиваешь открытый, подписываешь его и выкладываешь на FTP сервер. При построении сессии клиент забирает текущий ключ с FTP. Ни тебе лишних бумажек, ни ожидания. Захотел, генерируй хоть каждый день, но подобная схема не работает для передачи ключа цифровой подписи.


Почитайте про SSH.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913324
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Arm79, сегодня, 16:06 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22058075][22058075]
>Подпись - это результат исполнения хэширующей функции над данными (свёртка)
<
Ой ли. Цифровая подпись нечто иное:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
  . . . 
  var rsa = new RSACryptoServiceProvider();
  //-- Подписываем открытый ключ асимметричного шифрования
  var sha1 = SHA1.Create();
  var hash = sha1.ComputeHash(xbt);
  RSAPKCS1SignatureFormatter rsaFormatter = new RSAPKCS1SignatureFormatter(rsa);
  rsaFormatter.SetHashAlgorithm("SHA1");
  byte[] signedHashValue = rsaFormatter.CreateSignature(hash);
  . . .


где:
byte[] xbt - открытый ключ (Exponent+Modulus)
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913328
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 16:19 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22058085][22058085]
>Почитайте про SSH
<
Читаю.
. . .
Согласование шифрования сессии
Когда клиент инициирует TCP-соединение, сервер отвечает . . .
. . .
Какой сервер то отвечает, твой или подстава?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913375
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

А отпечатки пальцев на что?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913597
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>Почитайте про SSH
<
Читаю.
. . .
Согласование шифрования сессии
Когда клиент инициирует TCP-соединение, сервер отвечает . . .
. . .
Какой сервер то отвечает, твой или подстава?


Плохо читаете :)
Если сможете разобраться, все вопросы отпадут.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913622
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

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

Но это детали, которые никак не влияют на описанную схему. Так работает односторонний ssl.

Проверка достоверности открытого ключа - только через доверие к сертификационному центру, который заверяет открытый ключ (то есть получается сертификат)
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913684
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Покажите на пальцах схему получения.

Флэшка-ноги. От Man-in-the-Middle нет защиты.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913840
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39913872
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 14:40 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22058837][22058837]
>Флэшка-ноги. От Man-in-the-Middle нет защиты.
<
А так хочется, что это не так.
Но вот ситуация - криптопара шифрования взломана. Меняем её, не трогая криптопару цифровой подписи. Так третий по середине подсунет нам старый вариант криптопары шифрования
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39914017
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Arm79, вчера, 06:56 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22057654][22057654]
>...Там где надёжно...
<
Записал в Csp контейнер.
Как перенести контейнер на другие компы?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39914137
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Записал в Csp контейнер.
Как перенести контейнер на другие компы?

Не знаю, никогда этого не делал. Речь о CryptoPro? Уточните у них.

Если вопрос о том, как перетаскивать свой закрытый ключ и выпущенный сертификат, то я руками делал выгрузку в pfx-формате.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39914311
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Arm79, сегодня, 10:35 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22059494][22059494]
>...Речь о CryptoPro?...
<
Нет. Об этом .
Код: c#
1.
2.
//-- Генерация ключевой пары
CspParameters cp = new CspParameters();	cp.KeyContainerName = cspName; rsa = new RSACryptoServiceProvider(cp);  


где:
string cspName - имя контейнера
В криптоконтейнере локального компа имеем криптопару асимметричного шифрования
Так
Код: c#
1.
2.
3.
4.
5.
6.
//-- Подписываем открытый ключ асимметричного шифрования
var sha1 = SHA1.Create();	var hash = sha1.ComputeHash(xbt);    //-- Строим хеш
var xcp  = new CspParameters(); xcp.KeyContainerName = цп_Csp; rsa = new RSACryptoServiceProvider(xcp);
RSAPKCS1SignatureFormatter rsaFormatter = new RSAPKCS1SignatureFormatter(rsa);
rsaFormatter.SetHashAlgorithm("SHA1");
byte[] signedHashValue = rsaFormatter.CreateSignature(hash);   //-- Подписываем хеш


где:
byte[] xbt - открытый ключ асимметричного шифрования.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39914356
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
А так хочется, что это не так.

А мне хочется проходить сквозь стены и парить в небе. Но жизнь жестока.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39916587
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, 15 янв 20, 14:45 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22059818][22059818]
>А мне хочется проходить сквозь стены и парить в небе.
<
Опустимся на землю. Рассмотрим следующую схему:
1. Создадим три криптоконтейнера хранения ключей асимметричного шифрования, назовём к примеру так:
- аш_Csp - криптоконтейнер ключей шифрования для обмена симметричными ключами
- цп_Csp0 - криптоконтейнер ключей шифрования для цифровой подписи
- цп_Csp1 - криптоконтейнер ключей шифрования для цифровой подписи
2. Создаём 3-и метода:
- fRSAKeyPairGen(string cspName) - Генерация ключевой пары в контейнере, cspName - имя криптоконтейнера
- ЗаписьRSAPublicKey(string cspName, string fileName) - Формируем файл параметров открытого ключа асимметричной схемы
- ЗаписьRSASignedKey() - Формируем файлы ключей ассиммметричной криптографии
- цп_RSAPublicKey.bin - открытый ключ цифровой подписи
- аш_RSASignedKey.bin - содержит параметры открытого ключа шифрования + подписанный хеш этих параметров
3. В момент ноль строим криптоконтейнеры аш_Csp и цп_Csp0 с ключами. аш_RSASignedKey.bin выкладываем на FTP сервер.
цп_RSAPublicKey.bin передаем клиенту (флешка + ноги)
4. В моменты 1,2,.... формируем аш_Csp и аш_RSASignedKey.bin используя неизменный цп_Csp0 (примерно полгода).
5. В какой-то момент X cтроим цп_Csp1 и цп_RSAPublicKey.bin не меняя цп_Csp0 и аш_RSASignedKey.bin
6. Новый цп_RSAPublicKey.bin используя флешку + ноги передаем клиентам
7. В момент Ч переходим к цп_Csp1 и строим новый аш_Csp и аш_RSASignedKey.bin выкладывая последний на FTP сервер
8. В дальнейшем снова переходим к цп_Csp0 и т.д.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39916767
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

напоминает операцию на глаз через ж, чтобы полить цветы
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39916805
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 12:57 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22063644][22063644]
>напоминает операцию на глаз через ж, чтобы полить цветы
<
По делу, по сути можно?, без превращения себя в любителя желудей.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39916827
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
флешка + ноги

Раз ты уже согласился с этим, то остальное стало тратой времени, достаточно доставить один открытый ключ.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39916909
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>hVostt, сегодня, 12:57 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22063644][22063644]
>напоминает операцию на глаз через ж, чтобы полить цветы
<
По делу, по сути можно?, без превращения себя в любителя желудей.


По делу нужно обратиться к вменяемому архитектору.
А затем к адекватным разработчикам (если они вообще потребуются).
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917032
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 14:45 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22063715][22063715]
>Раз ты уже согласился с этим, то остальное стало тратой времени, достаточно доставить один открытый ключ.
<
С чем согласился? Вариант флешка+ноги в лоб испытал на себе при работе с казначейством, но можно и так: открытый ключ цифровой подписи можно зашифровать WinRAR и отправить клиенту электронной почтой, а ключ шифрования - сообщением на мобильник. Обязательно подтверждение получения.
С PKI прошлось столкнуться в ЦБ.
Но это не то что мне надо. Слишком муторно.
В моем представлении - есть Центр (База данных, Файловое хранилище документов, множество серверов приложений) с одной стороны и множество географически удаленных клиентов центра с другой. Для организации клиентской сессии мне надо передать в центр симметричный ключ сессии, динамически генерируемый стартовым приложением клиента. Для этих целей использую текущий подписанный открытый ключ шифрования свободно лежащий на FTP и открытый ключ проверки цифровой подписи ключа шифрования.
Подписанный открытый ключ шифрования желательно менять чаще чем ключ цифровой подписи.
Например: аш - раз в месяц, цп - раз в полгода
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917072
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Для вас уже есть готовое решение и полностью готовая инфраструктура, с полным пакетом ПО, центрами сертификации и прочее прочее прочее.

Зачем вы пилите велосипед?

Вопрос вовсе не праздный.
А вполне конкретный.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917073
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КриптоПро
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917298
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 02:07 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22064054][22064054]
>...Зачем вы пилите велосипед?... КриптоПро...
>
Опять за своё. Да не пилю я ни велосипед, ни гирю.
Есть модель информационной системы - моя личная модель, как собрание личного опыта. Где есть центр и периферия. Нужно организовать защищённый сессионный канал между ними. Для передачи симметричного ключа от клиента центру использую асимметричное шифрование с передачей пользователю открытого ключа пары. В моей модели сервера приложений не подключаются напрямую к физическому каналу центр-периферия. Они берут сообщения-запросы из "почтовых ящиков" центра куда их помещают пользовательские приложения. Сообщения находятся в ящиках в зашифрованном виде. Сообщения-ответы формируются и шифруются серверами приложений.
Вы предлагаете применить КриптоПро. Для меня видимо нужно использовать КриптоПро .NET.
Откраваем и читаем крайние строки:
1.0.7132 Поддержка .NET 4.8 Отлично.
Качаем КриптоПро .NET 1.0.7132.0 от 12.07.2019 (демонстрационные версии). ок!.
Документация - убого. Можно сравнить .
Возьмем пример здесь и сравним с ниже.
Я обкатываю такое:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
//-- Генерация ключевой пары
private static void fRSAKeyPairGen(string cspName) {
  CspParameters cp = new CspParameters(); cp.KeyContainerName = cspName;
  rsa = new RSACryptoServiceProvider(cp); rsa.PersistKeyInCsp = false; rsa.Clear(); rsa = new RSACryptoServiceProvider(cp);
  rsa.Dispose();
}
//-- Формируем файл параметров открытого ключа асимметричной схемы 
private static void ЗаписьRSAPublicKey(string cspName, string fileName) {
  byte[] xbt;
  File.Delete(fileName); fsOut = new FileStream(fileName, FileMode.Create, FileAccess.Write);
  //-- Получим ключевую пару
  CspParameters cp = new CspParameters(); cp.KeyContainerName = cspName; rsa = new RSACryptoServiceProvider(cp);
  binSerObject(rsa.ExportParameters(includePrivateParameters: false)); xbt = xms.ToArray();  //-- xbt <-- открытый ключ шифрования
  rsa.Dispose(); fsOut.Write(xbt, 0, xbt.Length); fsOut.Flush(); fsOut.Close(); //-- Храним в файле параметры public key 
}
//-- Формируем файлы ключей ассиммметричной криптографии
private static void ЗаписьRSASignedKey() {
  byte[] abt,xbt; string fileName; CspParameters cp; 
  ЗаписьRSAPublicKey(цп_Csp, pthConnect + "цп_RSAPublicKey.bin");
  //-- Построим открытый ключ асмметричного шифрования
  cp = new CspParameters(); cp.KeyContainerName = аш_Csp; rsa = new RSACryptoServiceProvider(cp);
  binSerObject(rsa.ExportParameters(includePrivateParameters: false)); abt = xms.ToArray();  //-- abt <-- открытый ключ шифрования

  //-- Подписываем открытый ключ асимметричного шифрования
  var sha1 = SHA1.Create(); var hash = sha1.ComputeHash(abt);    //-- Строим хеш
  var xcp = new CspParameters(); xcp.KeyContainerName = цп_Csp; rsa = new RSACryptoServiceProvider(xcp);
  RSAPKCS1SignatureFormatter rsaFormatter = new RSAPKCS1SignatureFormatter(rsa); 
  rsaFormatter.SetHashAlgorithm("SHA1"); xbt = rsaFormatter.CreateSignature(hash);   //-- xbt <-- подписанный хеш

  //-- Храним параметры открытого ключа асимметричного шифрования + цифровую подпись хеш
  xms = new MemoryStream(); 
  ShortToXMS((short)abt.Length); xms.Write(abt, 0, abt.Length); ShortToXMS((short)xbt.Length); xms.Write(xbt, 0, xbt.Length);
  xbt = xms.ToArray();
  fileName = pthConnect + "аш_RSASignedKey.bin";
  File.Delete(fileName); fsOut = new FileStream(fileName, FileMode.Create, FileAccess.Write);
  fsOut.Write(xbt, 0, xbt.Length); fsOut.Flush(); fsOut.Close(); rsa.Dispose();
}


И в чем великая разница? Хотя если посмотреть здесь , то да.
Давайте зрить в корень, а не приглашать третьего слева.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917335
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Подписанный открытый ключ шифрования желательно менять чаще чем ключ цифровой подписи.

Это ерунда. Открытый ключ надо менять не чаще, чем теория позволяет его взлом. То есть раз в сто лет.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917352
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев,

Аудит планируется? Если да, вы его не пройдёте.
Если не планируется, откуда исходят требования?
Да и какие они вообще?

Вы пожалуйста не обижайтесь на критику, я пишу не со зла.
Мотивы мне непонятны.

Если всё так, как вам кажется, тот же крипто про уже давно загнулся бы.
Речь не только про инструменты, но и про инфраструктуру.

Шифрование не панацея, зачастую нужна достоверность.
Ну и доверенные корневые центры сертификации.

Всё это и намного больше снимает большой груз задач и ответственности.
Вы решаете конечную задачу.

По вашим сообщениям, ни о какой конечной задаче речи не идёт.
Вы хотите поиграться в шифрование.

Но я вам говорю точно, аудит вы вряд ли пройдёт если он будет.
А если его нет, чем вы вообще занимаетесь, и зачем?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917497
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 15:10 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22064456][22064456]
>...Вы пожалуйста не обижайтесь на критику, я пишу не со зла.
<
Да причем здесь обида. Критика какая-то... странная. Вы как литературный критик пытаетесь сказать гадость по формализованным конструкциям сделанным не Вами.
Для меня Ваша критика представляется так:
E=mc2
Фу, какая неприятная формула, какой велосипед, какая пошлость. E - большая, m - маленькая и почему формула не посередине строки и пр. и пр. в том же духе.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917598
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
Да причем здесь обида. Критика какая-то... странная. Вы как литературный критик пытаетесь сказать гадость по формализованным конструкциям сделанным не Вами.
Для меня Ваша критика представляется так:
E=mc2
Фу, какая неприятная формула, какой велосипед, какая пошлость. E - большая, m - маленькая и почему формула не посередине строки и пр. и пр. в том же духе.


Вы всё же обижаетесь. Конструктивный разговор построить не получится, увы.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39917612
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>hVostt, сегодня, 00:10 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22064820][22064820]
>...Конструктивный разговор построить не получится, увы.
<
Ну почему же. По вопросу async-await Вы очень дельно помогли.
Мы несколько разные. Я инженер и мне всегда не хватает знаний, широты подхода к проблеме в целом, вечное сомнение в правильности тех или иных решений и т.п. Но я точно знаю, что хочу сделать. Вам видимо ближе научная подход.
В каком то смысле я закончил построение скелета информационной системы в защищенной локальной сети. Здесь есть центр (сервера баз данных, хранилище прикладных приложений и файловые сервера документов) и множество клиентов. Здесь не надо защищать трафик - он либо в локальной среде, либо прикрыт VipNet . Крайнее, что сделал в этом направлении - добился слабой зависимости кода прикладных приложений от типа базы данных. Программный код приложений почти идентичен и для MS SQL и для PostgreSQL(11,12) - разница в одном классе.
Сейчас хочу вынести центр в интернет. Для этого необходимо шифрование трафика. В начале 2000-х сделал попытку вынести центр в интернет для одного приложения и открытый код асимметричного шифрования прошил в само приложение. Не понравилось. Сейчас думаю, как же правильно передавать открытый ключ клиенту и как его хранить.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39918753
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
...
почему клиент уверен, что его открытый ключ есть ключ app сервера?


Используй протокол FHMQV, он обеспечивает взаимную аутентификацию сторон. Многократно описано, прямо так и гугли: "FHMQV".
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39918827
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ёёёёё, сегодня, 05:41 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22066623][22066623]
>Используй протокол FHMQV, …
<
Покажите на пальцах, в чем преимущество данного протокола перед RSA и дайте информацию о его программной реализации.
Потом, эта фраза "Разумеется, Бобу известен открытый ключ Алисы, а той в свою очередь известен открытый ключ Боба", опускает весь пафос первых строк статьи ниже плинтуса.
В случае RSA, если клиент уверен в принадлежности открытого ключа центру, то формирует симметричный сессионный ключ для шифрования нужных пакетов канала.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39918834
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВМоисеев
>ёёёёё, сегодня, 05:41 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22066623][22066623]
>Используй протокол FHMQV, …
<
Покажите на пальцах, в чем преимущество данного протокола перед RSA и дайте информацию о его программной реализации.
...

Зайчик, на пальчиках не получится, придется самостоятельно искать, читать, и морщить лобик.
RSA - это алгоритмик шифрованьица, а FHMQV - протоколик обмена ключиками с аутентификацией.
Программную реализацию не находил, ибо не искал, состоит из вполне конкретных, описанных в протоколе этапов.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39918918
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>ёёёёё, вчера, 16:42 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22066763][22066763]
>Зайчик, на пальчиках не получится, придется самостоятельно искать, читать, и морщить лобик.
<
Зачем?
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39919098
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не походить на БМоисеева.
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39919107
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
Зайчик, на пальчиках не получится, придется самостоятельно искать, читать, и морщить лобик.


Самостоятельно искать/читать/морщить лобик ваще не вариант, вы просто обнаглели
...
Рейтинг: 0 / 0
сессия с шифрованием
    #39919135
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Dimitry Sibiryakov, сегодня, 14:43 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1321100&msg=22067204][22067204]
>Чтобы не походить на БМоисеева.
<
Мне ближе Н.Н. Моисеев и А.А. Моисеев. Хотя - я сам по себе и могу кой-чего сам.
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / сессия с шифрованием
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]