LINUX.ORG.RU

Шифрование трафика и идентификация сервера

 , ,


0

3

Данные передаваемые между клиентом и сервером представляют собой некоторую коммерческую ценность, но никак не шифруются. Кроме того, клиент никак не идентифицирует сервер и это дает простор для разнообразных атак (типа синкхола и снифа).
Нужно выбрать (или разработать???) методы идентификации сервера клиентом и шифрования передаваемых данных по сети.

С чего правильно начать выбор методов?
Какие подводные камни?


Ответ на: комментарий от LjubaSherif

1) Горе-реализатор почти всегда хочет что-нибудь улучшить, например применить для надёжности три хешфункции сразу или нагородить что-нибудь дурацкое с ключами. Помню на Лор один такой школьник приходил, было весело.

2) Есть ошибки с выбором криптографических примитивов, а то даже и классов примитивов.

3) Есть ошибки, приколись, Люб, с нефункциональными требованиями на примитивы. Ок, написала ты свой AES, тесты он прошёл, офигенно. А ты спроектировала его на устойчивость к тайминг-атакам? Убедила компилятор его не соптимизировать?

4) И естественно, да, есть системные ошибки, через которые нас и имеют, как только их находят в готовых реализациях. Только вот дело в том, что в готовых реализациях только они, и их мало. В велосипеде же будут все пункты.

Так что перелогинивайся и иди шерифить какой-нибудь другой город. Этого типа спасать бессмысленно.

t184256 ★★★★★
()
Ответ на: комментарий от system-root

А мне насрать на твой багор. Найди того, кто выдавал этот лозунг за свое авторское мнение и донимай его, я-то тут причём?

t184256 ★★★★★
()
Ответ на: комментарий от nyka

Это не просто так бывает, это так задумано. Твой тред-это не какой-то там твой мирок, где ты что-то решаешь, это просто сообщение, у которого не было родительского. Внутри мы вольны и будем обсуждать хоть твой вопрос, хоть оптимальный график полива фуксий. Спасибо за это сообщение, но дальше мы сами. Есть что сказать про фуксии - welcome.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Ну слив засчитан.

1) Горе-реализатор почти всегда хочет что-нибудь улучшить, например применить для надёжности три хешфункции сразу или нагородить что-нибудь дурацкое с ключами. Помню на Лор один такой школьник приходил, было весело.

Полхная ахинея и тебе уже об этом сказали. К имплементации никакого отношения не имеет.

2) Есть ошибки с выбором криптографических примитивов, а то даже и классов примитивов.

То же самое.

3) Есть ошибки, приколись, Люб, с нефункциональными требованиями на примитивы. Ок, написала ты свой AES, тесты он прошёл, офигенно.

Т.е. ответить нечего, ты не можешь мне сказать, каким образом реализация AES, который проходить хотя-бы один дерьмотест может быть некорректной. Хорошо, так и запишем - балаблол.

А ты спроектировала его на устойчивость к тайминг-атакам?

О, да у нас тут явно эксперт. Никаких «тайминг-атак» не существует в природе. Это марткетинговый булшит. Любая имплементация криптографии ссала на это с высокой колокольни.

Убедила компилятор его не соптимизировать?

Опять какие-то бредни. Примеры? Зачем ты мне ретранслируешь поверья из интернета? Балабол где-то услышал про выпил мемсета? Не, это вообще не работает и к делу отношения не имеет.

4) И естественно, да, есть системные ошибки, через которые нас и имеют, как только их находят в готовых реализациях. Только вот дело в том, что в готовых реализациях только они, и их мало. В велосипеде же будут все пункты.

Полная ахинея. Системные ошибки будут везде. И ты опять слился, тебе говорили( и ты сам об этом вещал) о конкретных примитивах, а ты, несмогши сказать что-то конкретное, начал юлить в сторону системных ошибок, о чём я тебе заранее сказал.

Так что перелогинивайся и иди шерифить какой-нибудь другой город. Этого типа спасать бессмысленно.

Ты даже не представляешь в какую жопу ты попал. Сейчас мы с тобой сыграем в игру, за сколько секунд ты у меня вылетишь с позором из труда.

LjubaSherif
()
Ответ на: комментарий от t184256

ещё раз тебе сообщаю, что ведёшь ты себя невежливо.
а тебе я написал. потому что именно ты тут этот лозунг в треде транслировал.
объясни мне, какого хера ты его используешь, что он значит и почему именно так?

system-root ★★★★★
()
Ответ на: комментарий от LjubaSherif

Давай. Так как ты ничего умнее «так не бывает, раз я не слышал», «любой код одинаково дыряв» и отрицания (ай не могу) существования timing-атак и constant execution time primitive implementations вообще выдавить не смог, то счет пока 4:0 в мою пользу.

Сейчас мы с тобой сыграем в игру, за сколько секунд ты у меня вылетишь с позором из труда.

Сколько тебе осталось секунд до первого в твоей жизни курса по криптографии? После этого может и потянешь, а пока вообще нет.

t184256 ★★★★★
()
Ответ на: комментарий от system-root

объясни мне, какого хера ты его используешь,

потому что он уместен к ситуации «ТС наметился не прикручивать, а реализовывать криптографию».

что он значит

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

не сказать, что я это прям скрывал.

и почему именно так?

потому что векторов ломки дров у тех, кто пошел другим путем, просто куча и все неприятные: Шифрование трафика и идентификация сервера (комментарий)

теперь ты мне объясни вот что. ты поддерживаешь так и не прозвучавший антитезис «нет ничего плохого, чтобы со знаниями уровня ТС реализовывать криптографическое что угодно»? если да, то обоснуй это как-нибудь или оспорь мои доводы. если нет, то расскажи, чего ты тогда тут обсуждаешь?

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Так, пациент целиком и полностью обделался. По теме ничего сказать не смог, начал пытаться юлить на левые темы, за которые заранее был схвачен. Обделался и тут.

Далее начал нести ахинею, ретранслируя агитки, о которых услышал с хабры. Нихрена в них не понял и решил, что меня можно закидать базвордами. Обделался.

Тебе сообщили два тезиса. Тайминг-акати - булшит, и это объективная реальность. Я могу тебя помножить на ноль очень просто. Я пошлю тебя сделать мне замер с сетевого уровня с разрешением хотя-бы микросекунды, я уж не говорю о наносекундах, которые и нужны для тайминг атаки.

Второй тезис - это «все срали на тайминг-атаки». Я его доказывать не должен, ведь он ответ на твой тезис. И именно ты должен доказать наличие в имплементациях учёта тайминг-атак, о котором ты вещах. И тут ты опять обедался.

Сколько тебе осталось секунд до первого в твоей жизни курса по криптографии? После этого может и потянешь, а пока вообще нет.

Запартной трепло пытается мне рассказывать о его запартных приключения? Меня это мало волнует.

LjubaSherif
()
Ответ на: комментарий от t184256

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

ответом на такое утверждение и переработку оригинального лозунга будет всего одно слово: Kryptos

теперь ты мне объясни вот что.

последний раз когда я проверял, в этом треде все мои сообщения адресованы тебе. мне не интересна тема ТС.
мне интересна твоя защита этого «don't roll your own cryptography», в случае, если ты действительно так считаешь, а не просто выучил эту цитату неизвестного автора, выдавая такое за своё мнение, как уже писал раньше.
почему я хочу почитать твои мысли в защиту этого лозунга? нет, не потому что у меня тёплые отношения к математике или какой нибудь сайфер ерунде.
просто это офигительный пример квадратно-гнездового битья дубиной по голове всем, кто не «по мировым стандартам и не является экспертом в области со стажем 40 лет»
а меня интересует любое проявление квадратно-гнездового мышления или поведения.

system-root ★★★★★
()
Последнее исправление: system-root (всего исправлений: 2)
Ответ на: комментарий от system-root

просто это офигительный пример квадратно-гнездового битья дубиной по голове всем, кто не «по мировым стандартам и не является экспертом в области со стажем 40 лет»

фантазер. нет, только тем, кто сам считает, что не шарит в теме, но при этом пытается применять.

t184256 ★★★★★
()
Ответ на: комментарий от LjubaSherif

начал пытаться юлить на левые темы

От повторения это истиной не станет, как и мой мнимый акт дефекации. То, что я нехотя сворачивал во все щели, куда ты меня зачем-то тащил (примитивы приплел ты, системные ошибки приплел ты), показывает как раз на то, что юлил не я.

Тебе сообщили два тезиса. Тайминг-акати - булшит, и это объективная реальность.

А я твой дом труба шатал и это объективная реальность. Дискуссии так не работают.

Второй тезис - это «все срали на тайминг-атаки». Я его доказывать не должен, ведь он ответ на твой тезис. И именно ты должен доказать наличие в имплементациях учёта тайминг-атак, о котором ты вещах.

Во-первых должен, просто не можешь. Во-вторых

Kocher, Paul C. «Cryptanalysis of di e-hellman, rsa, dss, and other systems using timing attacks.» (1995).

Kocher, Paul C. «Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems.» Annual International Cryptology Conference. Springer, Berlin, Heidelberg, 1996.

Yarom, Yuval, Daniel Genkin, and Nadia Heninger. «CacheBleed: a timing attack on OpenSSL constant-time RSA.» Journal of Cryptographic Engineering 7.2 (2017): 99-112.

https://github.com/openssl/openssl/blob/b2b4dfcca6cf2230107a711f7af1cd8ee3f74...

https://www.bearssl.org/constanttime.html

Я пошлю тебя сделать мне замер с сетевого уровня с разрешением хотя-бы микросекунды, я уж не говорю о наносекундах, которые и нужны для тайминг атаки.

Сетевого уровня? Охлол, и это я юлю?

Запартной трепло пытается мне рассказывать о его запартных приключения? Меня это мало волнует.

Одно ты угадал: от тебя я по другую сторону парты.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

симметричное шифрование

ТС имел(а) в виду «сверическое шифрование в вакууме». По другому это не назовёшь.

+100500 к первому комментарию

beastie ★★★★★
()
Ответ на: комментарий от t184256

От повторения это истиной не станет, как и мой мнимый акт дефекации. То, что я нехотя сворачивал во все щели, куда ты меня зачем-то тащил (примитивы приплел ты, системные ошибки приплел ты), показывает как раз на то, что юлил не я.

Обгадившийся пошел в отрыв.

Давай будем макать рожу в дерьмо. Первое, каким был изначальный контекст?

И вообще, как можно иметь «понимание как работают хэшфункции, симметричное шифрование, блочные шифры и прочее» и не знать первого правила криптографии: «don't roll your own cryptography»?

Т.е. понимание примитивов.

Далее, смотрим какой вопрос я задал?

Т.е. ты считаешь, что где-то в реализации криптографии можно ошибиться? Расскажи как, как ты это себе представляешь. Это(хэшфункции, симметричное шифрование, блочные шифры и прочее) почти невозможно написать дыряво, либо как-то неправильно.

Чётко определён контекст.

Далее трепло опять пытается врать. Про системные ошибки я сообщил в каком контексте?

Либо ты просто ретранслируешь глупость, либо там имелась ввиду алгоритмическая часть. Как максимум какие-то левые, системные/комплексные нюансы, которыми все итак подтираются.

Это имеет отношение к самой цитате и разбору причин её появления, т.е. её значения из которого твоя потуга не следует.

LjubaSherif
()
Ответ на: комментарий от LjubaSherif

я попрошу описать мне механизм осуществления тайминг-атаки в дефолтном контексте, т.е. в контексте определённом автором.

Каким автором, в каком контексте? ЯННП, но для отбрасывания твоего юления про сетевой стек достаточно взять то, что ты там навоображал с сетью, и навооброжать локально, заменив сеть более быстрым IPC или и вовсе вызовом функции.

И вообще, как можно иметь «понимание как работают хэшфункции, симметричное шифрование, блочные шифры и прочее» и не знать первого правила криптографии: «don't roll your own cryptography»?

Т.е. понимание примитивов.

Что понимание примитивов? Первое правило обычно узнается и осознается до понимания деталей их работы, вот и все, что в этом предложении есть про примитивы.

Далее, смотрим какой вопрос я задал?

Дебильный ты вопрос задал и, как ты это называешь, юлил. Но я все равно ответил, потому что даже съюлил ты в лужу.

Про системные ошибки я сообщил в каком контексте?

Ну ты сам его и привел этот контекст. Никто тебя за язык не тянул, ни тогда, ни сейчас. Я, так и быть, системные ошибки в пункте 4, хотя не собирался, и тут выяснилось, что это не ты его приплел, а я юлю, ага.

Во-первых должен, просто не можешь. Во-вторых

Зачем ты мне, колхозник, пастишь строчки из википедии?

А так можно было? В какой статье можно брать готовые строчки о твоей умственной импотенции? Так бы нормально времени сэкономил.

Никакого отношения к тайминг-атакам не имеет.

Конечно, их же не существует --sarcasm. Имеет, потому что иначе не было бы городить ее и другие constant execution time, гм, субпримитивы.

Мусорные пасты ссылок из гугла меня так же интересуют. Тебе определили условия - в имплементациях, а не в мусоре.

Я тебе дал ссылки на 1) seminal papers, 2) свежую дыру, 3) constant execution time субпримитив из OpenSSL и 4) ссылку на сайт целой либы, авторы которой помешались на constant execution time и даже язык сочинили для упрощения написания такого кода.

Если ничего-ничего из этого ты не способен ни прочитать, ни просто признать его наличие, то я бессилен. И нет, это не моя особенность, а лично твоя.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

Может оказаться проще подключиться к серверу через VPN, не прописывающим default route (к серверу ходим по VPN, все остальное как обычно). Либо прокинуть нужный сервис через ssh. В итоге получаем нужную безопасность без изменения исходного кода клиента и сервера.

Это может быть лучшим вариантом, если времени не очень много, а в криптографии не смыслишь.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.