powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / сессия с шифрованием
25 сообщений из 55, страница 2 из 3
сессия с шифрованием
    #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
25 сообщений из 55, страница 2 из 3
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / сессия с шифрованием
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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