|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.09.2018, 11:18 | #1 |
Пользователь
Регистрация: 09.09.2018
Сообщений: 10
|
AES CBC 256 на клиенте синхронно с сервером
В общем я слабоват в шиформании и у меня есть некоторого рода капча, которая передается в виде координат сверки пользовательского ввода в формате JSON. Поскольку координаты ни чего не стоит увидеть невооруженным глазом есть неприятность связанная с возможностью обхода защиты.
Хотелось бы какой-то простейший алгоритм шифрования синхронный с сервером на стороне клиента. То есть я должен иметь возможность зашифровать данные на сервере и расшифровать на клиента, а потом зашифровать отправку на клиенте и расшифровать на сервере. Проблема в том, что все библиотеки, которые я смотрел шифровать то умеют и даже дешифровать, но клиентские прибулды очень тяжеловесные и не совместимы с open ssl на сервере, что делает невозможным декодирование крипта на сервере. Нужен какой-то простой алгоритм шифрования строки json, который содержит конкатенующее строковое содержимое координат блоков. Я при написании системы использовал AES CBC 256, которой мне в купе с измененнным вектором шифрования вполне достаточно для защиты, но теперь не могу найти ни одну клиентскую пару для этого. Подскажите какой-то синхронный алгоритм шифрования пожалуйста. |
09.09.2018, 11:25 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
И чем это поможет? Клиент же в любом случае их получит в расшифрованном виде, значит и тот, кто обходит, сможет повторить это.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
09.09.2018, 11:32 | #3 |
Пользователь
Регистрация: 09.09.2018
Сообщений: 10
|
|
09.09.2018, 11:45 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
И? Вы защищаетесь от перехвата трафика на пути от сервера к клиенту? Так для этого HTTPS есть...
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
09.09.2018, 12:42 | #5 |
Пользователь
Регистрация: 09.09.2018
Сообщений: 10
|
|
09.09.2018, 12:45 | #6 |
Пользователь
Регистрация: 09.09.2018
Сообщений: 10
|
Короче лохопотные алгоритмы не могут зашифровать строку вида :
{"key":"III*M-0:0:75|K-1:50:50|P-0:75:75|J-0:25:50|B-0:25:0|N-0:25:75|A-0:0:0|H-0:75:25|F-1:25:25|G-1:50:25|C-0:50:0|O-0:50:75|E-0:0:25|I-0:0:50|L-0:75:50|D-0:75:0"} далее ее нужно расшифровать на клиенте и снова зашифровать и передать на сервер, а там расшифровать. видимо придется самопис делать |
09.09.2018, 12:50 | #7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Вы так и не поняли, что все что может сделать клиент (браузер), может сделать и тот клиент, что обходит (бот, ...)?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
09.09.2018, 15:35 | #8 | |
Пользователь
Регистрация: 09.09.2018
Сообщений: 10
|
Цитата:
И так: сервер генерирует паттерн который пользователь должен повторить в точности. Я кодирую его в виде координат меток в формате JSON и посылаю на клиент. Пользовательский ввод шифруется очень просто но достаточно(римские цыфры + char code + json). Сервер при проверке разворачивает данные из непечатаемых сиволов и восстанавливает последовательность, далее сверяет капчу и ставит флаг можно/нельзя. Ни одна библиотека AES не подошла - работают в разнобой с сервером. Всем спасибо. Решил самописом. Код:
Код:
Код:
В капчу можно поиграть тут, если интересно. Это почти как у Google, только у меня без нейронной сети, картинок независимая и проще. Могу за деньги написать модули для ваших сыстэм. Плагыны и так далее. Пишите в личку. Последний раз редактировалось CyberX346; 09.09.2018 в 15:38. |
|
09.09.2018, 16:41 | #9 | |
Пользователь
Регистрация: 09.09.2018
Сообщений: 10
|
Цитата:
Тут даже анализ картинки не поможет так как речь идет об программном синтетическом canvas. Кто ради спама в профилях и комментариях станет писать сложный бот, умеющий обходить двойное шифрование, сложный парсинг и имитировать действия пользователя? Хрумер чтоли, который задуман как спамер помоечников со стандартными капчами? Я думаю мне придуманного способа защиты хватит по меньшей мере лет на 5-10. Вы превозносите не тех разработчиков как мне кажется. Хотя я могу ошибаться ... Но в любом случае никто не будет точить алгоритм конкретно под мою CMS, которой пользуется человек 20 в данное время. |
|
09.09.2018, 19:10 | #10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Причем тут это? Считайте любого клиента ботом. Если вы отправляете ответ клиенту (хоть 100500 раз зашифрованный если у клиента есть все для его расшифровки), то больше не надо никаких хитростей для обхода же, и так все есть.
Поэтому надо просто не изобретать велосипед и не давать ответ клиенту.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Протокол Диффи-Хеллмана и AES-256 | KRONMAG | Безопасность, Шифрование | 2 | 04.07.2017 13:11 |
Реализация AES 256 на СИ. | Grem1in | Общие вопросы C/C++ | 2 | 20.04.2015 08:08 |
Загрузка картинок на сервер с помощью Ajax синхронно | andrey_besp | JavaScript, Ajax | 1 | 16.10.2014 08:56 |
aes 256 cbc - шифрование строки | frommars | Общие вопросы C/C++ | 3 | 19.10.2012 12:54 |
Иконки 256 на 256 в Delphi 7 | _PROGRAMM_ | Помощь студентам | 2 | 30.04.2011 15:19 |