powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Шифрование трафика
29 сообщений из 29, показаны все 2 страниц
Шифрование трафика
    #36949543
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу на Delphi.
Сторонние компоненты использовать не хочу (только без критики).
Есть сервер приложений (TCP), который получает от клиентов однотипные команды.
Есть гостевое подключние и есть вход для авторизованных пользователей.
Необходимо обеспечить защиту этих самих команд чтобы усложнить возможность их подделки.

На первый взгляд, самым простым явлется:
1. при коннекте получаем динамически сгенерированный ключ для симметричного шифрования
2. криптуем все по XOR и т.д.

Вопрос.
Как безопасно передать клиенту этот самый ключ? С той точки зрения, что злоумышленник
вполне может законнектиться к серверу как гость клиентской прогой, ему скидывается ключ,
он его отлавливает. Потом перехватывая дальнейшие зашифрованные этим ключом сообщения, и предположив, что наверняка шифрование идет по XOR, (а при желании и просто глазами :)) сможет понять, как звучат команды клиентского приложения и написать свою программу, которая так же будет коннектиться, получать ключ и слать эти самые команды.
Надеюсь понятно объяснил.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949559
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Стоп. Кажется лучше нетак, лучше ассиметричное использовать наверно.
1. На сервере генерим открытый и закрытый ключи.
2. Клиенту шлем открытый ключ, зашифрованный по своему алгоритму шифрования
3. Клиентская прога его расшифровывает и начианет шифровать по опять же своему алгоритму

В этом случае, чтобы перехватить открытый ключ надо будет, как минимум, продебажить программу, что вряд ли кого-то заинтересует, по-моему.
Возможно немного путаюсь в понятиях, но примерно так.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949605
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 11.11.2010 14:35, Крипторог wrote:

> Вопрос.
> Как безопасно передать клиенту этот самый ключ? С той точки зрения, что

На дискетке. Или на флешке.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949622
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На дискете или на флэшке. Это понятно :)
Хотлеось бы по проводам, через спутники и т.д. :)
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949630
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем вряд ли что-то новое услышу наверно.
Буду пытаться сделать как-нибудь.
Еще бы по скорости расшифровки на сервере не подкачать :)
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949647
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В моем случае, если достаточно второго варианта (чтобы взломать шифр - надо продебажить прогу), то ключи вообще не нужны - достаточно просто своего алгоритма шифрования с неким динамическим ключом (то есть в каждый момент времени одно и то же соощение в зашифрованном виде будет иметь разный вид).
В принципе у меня этот вариант уже и реализован, думал, может есть более безопасные и быстрые (по скорости работы приложения) решения...
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949656
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати на счет передачи на дискете или флэшке.
В моем случае это не решит проблему.
Так как вопрос не в защите трафика отдельного клиента,
а в защите от возможности подделки команд.
То есть для меня вопрос как в программу передать ключ, так, чтобы его увидела только программа :)
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949684
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но это все равно конечно же взламывается поэтому вопрос перерождается в такой.
Стоит ли использовать ключи в этом случае вообще или можно просто ограничиться разработкой индивидуального механизма шифрования?
Что могут дать ключи кроме лишнего трафика?
Могут ли они ускорить? Вряд ли...
Есть мысль, чтобы ключи работали в роли механизмов, генерирующих механизмы шифрования.
То есть так, чтобы например клиент законнектился один раз, ему сгенировали ключ, на основании которого формируется новый алгоритм шифрования, то есть ключ используется не для шифрования, а для генерации алгоритма шифрования.
Хотя опять же: отдебажили программу и поняли как формируются алгоритм шифрования и т.д.
Бред в общем.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949689
Берлuнгер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько помню, открытый ключ можно отправлять без шифрования... главное -- как то идентифицировать клиентов...
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949739
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Берлuнгер, это уже осознал, просто вопрос уже в том нужны ли они вообще ключи в моем случае?
То есть защита не трафика отдельно взятого клиента, а защита от подделки команд.
Злоумышленник запускает клиентскую прогу, той прилетает открытый ключ.
Далее клиентская прога, используя его, шлет команды серверу.
Я таких мастеров не видел, но думаю, что они есть, которые мгут взять продебажить программу на предмет того как именно она шифрует сообщения этим ключом и понять, какие именно команды шифрует. И написать свою программу, которая будет коннектиться к серверу и слать "левые" команды.

То есть если еще более точно сформулировать, то хотелсь бы, чтобы работать с серврером приложений могли только специально сделанные для этого клиентские приложения.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949754
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, Вы делаете мега-велосипед. Даже объяснять ничего не хочется.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949770
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И получается, что практически нереально сделать такую защиту.
Пришла еще одна мысль.
Что шифрование это хорошо, но можно обойтись и без него вообще (шифровать трафик мне не надо)
Надо лишь хорошо построить логику на сервере, в том плане, чтобы "левые" команды от юзеров просто не выполнялись.
Под левыми командами имею в виду, чтобы один юзер не мог изменить инфу другого, действуя от его имени.

То есть пример.
Есть два коннекта от юзеров ID=1 и ID=2
Допустим юзер 1 шлет команду типа от имени второго:
2!some_exec (просто пример)
на сервере просто проверяем соответствует ли id коннекта id, которое пришло от юзера, если нет, команда не выполняется ну и так далее в том числе на уровне субд.

Короче, похоже, моя задача свелась к разграничению прав доступа.
Пока все на этом наверно. Всем спасибо.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949780
Хотя все же легенькое шифрование, просто для вида, можно прикрутить все равно.
Именно, чтобы с сервером, могли работать только отдельные клиентские проги.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949782
Фотография kosh the best
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ssh
...
Рейтинг: 0 / 0
Шифрование трафика
    #36949875
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Крипторог,

учебник почитайте сначала соответсвующий.

Без общего языка беседа не склеится.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950017
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
открой для себя RSA
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950019
rstudio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и любой другой асинхронный вид шифрования
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950210
Kew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только они асимметричные.
---
Топикстартер, допустим вы реализовали свой протокол по всем правилам и уверены, что иначе, чем вскрытием вашего кода отладчиком обмен клиентского и серверного ПО не раскрыть и не исказить. Допустим, у вас есть протокол сеанса работы клиента с сервером. Тогда:
1) Насколько (=P) вы уверены, что вскрытия программы отладчиком и искажения/раскрытия не было?
2) Какова цена (=Q) вашей ошибки (величина возможного ущерба, и т.п.) при ответе на предыдущий вопрос?
3) Порядок величины P*Q, вообще, стоит того чтобы возиться со всем этим?
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950635
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kew,
1) Может неудачныый пример, "вконтаке" одно время многим было интересно смотреть закрые страницы пользователей банально подставляя его id в url нужной страницы. Когда эту возможность закрыли, желающих значительно поубавилось (не знаю правда как сейчас обстоят дела у них с защитой)
У меня примерно такая же дыра, за тем исключением, что все же надо хотя бы уметь перехватывать пакеты по сети и потом суметь сделать прогу генерирующую пакеты нужного формата (с нужными зашифрованными командами).

2) Цена... Прежде всего глубокое недовольство собой, что не смог уберечь юзеров )))
Ну и досадно за напрасно потраченное время, если получится, что старался сделать хорошо, но оказалось, что взломать это можно без особых усилий.
3) Исходя из того, что Q имеет больше моральной составляющей, то и для успокоения души так сказать, хотелось бы повозиьтся, чтобы потом было спокойнее.

Во всяком случае, если кидать на сервер приложений, команды открытым текстом, то имхо
1) только ленивый не сможет побаловаться с ними.
2) зная интерфейс общения с сервером, можно будет писать свои программы (пример: текущая история с асей и сторонними прогами)
Не хочу сравнивать себя с этими огромными системами.

Просто хочется сделать хорошую, качественную вещь.
При этом делаю уже довольно давно :)
Начинал с веб-интерфейса с asp.net и т.д., потом пришел к выводу, что это медленно и дает большую нагрузку на сервер, в то время как можно сделать просто вин-приложение - спустить на него львиную долю логики с сервера + сервер приложений вместо веб-сервера ну и субд-шка.
Поэтому взял, что умею получше (Delphi), переписал все на нем.
Пока только в первом приближении, но вот по ходу встал вопрос про шифрование.
Понимаю, что делфи тоже далеко не самый быстрый вариант, но все же :).
Еще добавлю, что модульность разарботки конечно позволяет сначала все сделать без шифрования, чтобы хотя сделать некую вещь, выполняющую предполагаему функциональность.
Потом уже прикрутить шифрование. То есть сначала до конца сделать саму штуку.
Но по пути пока делаю, хотелось бы узнать, куда копать потом :)
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950655
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 11.11.2010 14:57, Крипторог wrote:
> На дискете или на флэшке. Это понятно :)
> Хотлеось бы по проводам, через спутники и т.д. :)

Видишь ли, чтобы обеспечить секьюрность канала передачи (публичного)
тебе нужно передать сначала по другому каналу, уже безопасному, ключи.
А чтобы обеспечить безопасность этого другого канала, нужно передать
другие ключи по третьему безопасному каналу, и так далее.
В общем, получается заколдованный круг, проблема яйца и курицы.
Нужен изначально безопасный канал. Поскольку в сети такого не бывает,
то тебе придётся обеспечивать этот канал вне сети административными
средствами.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950657
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КрипторогПишу на Delphi.
Сторонние компоненты использовать не хочу (только без критики).
Есть сервер приложений (TCP), который получает от клиентов однотипные команды.
Есть гостевое подключние и есть вход для авторизованных пользователей.
Необходимо обеспечить защиту этих самих команд чтобы усложнить возможность их подделки.

Ты не поверишь, но ты не первый, кто ставит перед собой такие задачи.

В двух словах. Это всё реализованно в протоколе SSL. Но в SSL есть также слабые места. В основном от отсутствия инфраструктуры отдельного доверительного сервера сертификатов, DNS и т.п.

Почитай для начала тут

// http://ru.wikipedia.org/wiki/SSL
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950659
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 11.11.2010 15:33, Крипторог wrote:

> То есть защита не трафика отдельно взятого клиента, а защита от подделки команд.

Это одно и то же.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950673
Kew
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КрипторогKew,
суметь сделать прогу генерирующую пакеты нужного формата (с нужными зашифрованными командами).
Если там действительно есть что-то ценное и/или интересное, через некоторое время эту прогу можно будет просто нагуглить и скачать.

Если все же хочется, то начинайте с генереации ключа в момент какой-то процедуры регистрации вашего клиента. Чтобы до этой самой регистрации ключа просто не существовало физически, а после -- не было необходимости обмениваться ключевой информацией. (Схемы доказательства с нулевым раскрытием.) Как в интернет-банках, например.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950698
Совет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv
...
> То есть защита не трафика отдельно взятого клиента, а защита от подделки команд.

Это одно и то же.
...

Ура, хоть кто-то со мной согласен!

А то парят моск насчет преимущества системы с открытым ключом: не нужен закрытый канал для передачи ключа, то да сё...
А вопросы имитозащиты - это мелочь, само собой разумеющаяся, свалится в подарок с неба и обсуждению не подлежит и вообще не ломайте кайф.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36950930
Feech
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СоветMasterZiv
...
> То есть защита не трафика отдельно взятого клиента, а защита от подделки команд.

Это одно и то же.
...

Ура, хоть кто-то со мной согласен!

А то парят моск насчет преимущества системы с открытым ключом: не нужен закрытый канал для передачи ключа, то да сё...


А этот алгоритм не рассматриваем? http://ru.wikipedia.org/wiki/Diffie-Hellman
...
Рейтинг: 0 / 0
Шифрование трафика
    #36951284
Крипторог
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rstudio, почитал про RSA . Впечатлило...
Атака Франклина-Рейтера... Атака Хастада... Метод факторизации Ферма...
Звучит очень круто :) Так и умным можно стать )))
Самое интересное, что вроде бы как сам алгоритм довольно прост в реализации (как мне показалось на первый взгляд). Единственное, что трафик пожрет конечно, (про вычислительные ресурсы пока не думал сильно).

mayton, насчет SSL, насколько помню, там заморочки с сертификатами, геморрой имхо.

Кстати у меня задача шифровать только исходящие от клиентов сообщения, - то есть ответы с сервера шифровать нет необходимости. С этой точки зрения возможно, что все подойдет просто ассиметричное самопальное шифрование и не обязательно по RSA-алгоритму.
В общем подумаю еще ).
...
Рейтинг: 0 / 0
Шифрование трафика
    #36951491
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Крипторогmayton, насчет SSL, насколько помню, там заморочки с сертификатами, геморрой имхо.
Чтоб ты понял иерархию я тебе скажу, что SSL стоит на верхрем уровне над RSA. А тебе в любом случае, нужен протокол согласования ключей. Короче, рано или поздно ты сам придёшь к концепции SSL.

Еще почитай про Квантовую криптографию , если интересно.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36952028
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Крипторогmayton, насчет SSL, насколько помню, там заморочки с сертификатами, геморрой имхо.

Шифрование - вообще геморрой.
...
Рейтинг: 0 / 0
Шифрование трафика
    #36952750
Совет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Feech...
А этот алгоритм не рассматриваем? http://ru.wikipedia.org/wiki/Diffie-Hellman
Опять двадцать пять?
Алгори́тм Ди́ффи — Хе́ллмана (англ. Diffie-Hellman, DH) — алгоритм, позволяющий двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены , канал связи. Этот ключ может быть использован для шифрования дальнейшего обмена с помощью алгоритма симметричного шифрования.


Необходимо отметить, что алгоритм Диффи — Хеллмана работает только на линиях связи, надёжно защищённых от модификации . Если бы он был применим на любых открытых каналах, то давно снял бы проблему распространения ключей и, возможно, заменил собой всю асимметричную криптографию. Однако, в тех случаях, когда в канале возможна модификация данных, появляется возможность атаки человек посередине. Атакующий заменяет сообщения переговоров о ключе на свои собственные и таким образом получает два ключа — свой для каждого из законных участников протокола. Далее он может перешифровывать переписку между участниками, своим ключом для каждого, и таким образом ознакомиться с их сообщениями, оставаясь незамеченным.
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Шифрование трафика
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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