6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
1 | |
Шифрование данных на клиенте и дешифровка на сервере реализация SSL28.03.2017, 21:53. Показов 5686. Ответов 14
Метки нет (Все метки)
Здравствуйте друзья. Зашел вопрос о том, как можно реализовать принцип обертывания данных шифрованием используемый в SSL. Вот вся суть проблемы. Имеем пользователя который решил зарегистрироваться, хакера слушающего порт пользователя или что там (я в этом не силен но знаю что такое возможно) и сервер.
При регистрации пользователь светит в сети свои не зашифрованные данные, отсюда последствия. Задача такая, перед тем как пользователь отправит данные их надо зашифровать, а на стороне сервера расшифровать, понятно дело что, хакер не дурак и знает способ шифровки полазив в моем js, соответственно дешифровку допишет сам используя его принцип, но если мы как нибудь передадим индивидуальный ключ-соль например в куку, который хакер не будет знать, то мы сможем хорошо зашифровать данные. Отсюда вопросы: При передачи сессии не получит ли ее хакер, если слушает клиент<->хакер<->сервер(и вообще возможно ли такое-прослушка)? Читал что сессии можно своровать если у вас с хакером один и тот же сервер, надо хранить все в корне папки сайта, но насколько это безопасно например если сессии будут храниться в корне сайта в папке /session какова вероятность что хакер не вычислит эту папку и не получит доступ к содержимому этой папки, может ли он ее прочитать со своего сервера на присутствие сессий? Если у меня единая точка входа то получается доступа к этой папке у хакера не будет? Если кто сможет подскажите способ шифровки с использованием соли на стороне клиента и способ дешифровки этих данных на стороне сервера.
0
|
28.03.2017, 21:53 | |
Ответы с готовыми решениями:
14
SSL шифрование на выделенном сервере для WordPress Дешифровка данных на сервере Синхронизация баз данных на клиенте и сервере Выгрузка данных в dbf файл: обработка выборки запроса на сервере, запись файла - на клиенте. |
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
28.03.2017, 21:57 | 2 |
https
0
|
6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
29.03.2017, 08:12 [ТС] | 3 |
Jewbacabra, это я и так знаю! В последнее время вместо полезной конструктивной информации и помощи, кроме сарказма на форуме мало что услышишь. Спасибо за содержательный комментарий.
0
|
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
|
|
29.03.2017, 09:10 | 4 |
Может я чего-то не понял, но чем не устраивает вариант выше? Купили SSL-сертификат, настроили https на сервере и радуемся жизни.
0
|
29.03.2017, 10:23 | 5 |
djason, заповеди криптологии гласят - используйте решения от профессионалов, свои варианты часто не до конца продуманные и уязвимостей в них будет гораздо больше.
Вы в курсе как работают приватные и публичные ключи? поймав публичный ключ - хакер ничего сделать не в состоянии. Если боитесь хакера который будет лазить по вашим папкам то доплатив - можно перейти на выделенный сервер .
0
|
6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
29.03.2017, 10:29 [ТС] | 6 |
Jodah, во первых везде пишут про обычное шифрование данных идущих через незащещенный канал http. Во вторых, вы спросите: Зачем это нужно, изобретать "велосипед"? И так, по моему мнению, если меня заботит безопасность сохранения пользовательских данных при передачи на сервер, но нет возможности купить дорогой "велосипед SSL", я что делаю? Правильно, изобретаю свой, как только проект начнёт приносить прибыль можно потратиться и на SSL сертификат... Надеюсь теперь более менее понятна суть сего вопроса.
0
|
6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
29.03.2017, 10:45 [ТС] | 8 |
N-Star, а что единая точка входа и настройки в htaccess не спасает от того что хакер будет лазить по папкам...? Чувствуется мне что вы напраляете меня на ложный путь. Согласитесь что многие здесь за тем, что бы решить такие вопросы как безопасность своими силами, оптимизация CMS, базы данных mysql, для того что бы по минимум свести денежные расходы на услуги хостер провайдера такие как SSL сертификаты, объём дискового пространства и так далее. А вы мне купите то, купите это, если бы была возможность гулять на широкую ногу и ничего не делать, я бы тут не задавал вопросы, не изучал php, js, html и фотошоп с иллюстратором, а нанял бы команду для того что бы они мне написали такой CMS, который мне нужен.
0
|
3851 / 3196 / 1343
Регистрация: 01.08.2012
Сообщений: 10,820
|
|
29.03.2017, 13:16 | 9 |
Базовый стоит 2-3 тыс. руб. в год.
Некоторые хостинг-провайдеры (reg.ru) предоставляют SSL-сертификат бесплатно. Яндекс Касса при подключении также дарит SSL-сертификат.
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
29.03.2017, 21:52 | 10 |
Где пишут?
Взлом - чисто экономический вопрос. Если прибыль, полученная от взлома больше чем необходимые затраты, то взломают. Если в результате взлома будет причинен ущерб меньший, чем затраты на защиту от взлома, то защита не имеет смысла. Так же стоит заметить, что ssl сертификат можно получить бесплатно https://letsencrypt.org/ Следующий вопрос - а не выйдет ли эта велосипедо-ssl сложнее для реализации, чем основной проект, и будет ли так же эффективна, как стандартный инструмент Как собираешься защититься от mitm атак, иными словами каким образом будешь подтверждать клиенту, что ответил на его "шифрованный" запрос именно ты, а не кто еще, ведь поэтому ssl сертификаты и покупают, ведь самоподписанный сертификат можно самому без особого труда выпустить?
1
|
6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
30.03.2017, 11:28 [ТС] | 11 |
Jewbacabra, хорошо тогда такой вопрос, если хакер видит что пользователь передаёт на сервер, значит он может с лёгкостью увидить индификатор сессии что сервер передает ему в куки, но я возьму и подсолю жизнь хакеру и замдешу5 пароль пользователя который он возможно использует от других соцсетей и аккаунтов, возьму в базу только отпечаток от пароля в виде хеша, конечно же у хакера будет возможность представить хешь вместо пароля и войти через сессию если он её увидит через открытый канал http, но я выиграю в единственном, хешь-пароль пользователя для входа будет доступен не дальше моего сайта и скорпроментировать уже не получиться? Правильно?
Добавлено через 1 час 3 минуты Вот например мне понадобилось выложить в сеть свой сайт, у меня есть SSL бесплатный на месяц и все хорошо бы, но выкладываю в сеть я продукт который хочу на первых порах просто протестировать и использовать SSL сертификат пока проект не раскручен и неизвестен, нехочу, так как мало вероятно что в первые дни выпуска на него накинуться хакеры, но если уж и накинуться на этот случай я все предусмотрел и скул иньекции и единую точку входа и как описывал ранее хеширование пароля пользователя, что бы он не летал в открытом виде по сети.. Меня интересует, какие функции существуют в js, которые делают из пароля хороший криптостойкий хеш?
0
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|
30.03.2017, 11:33 | 12 |
djason, не понял как связан идентификатор сессии и хеширование пароля.
Зачем пароли хранят в хешированном виде? Чтобы при сливе таблицы с паролями эти самые пароли не скомпрометировать. В случае с хешированием на стороне клиента при сливе базы получаем хеши, которые можно использовать как пароль. Т.е. все равно придется хешировать на сервере. Для хешировпния паролей используется соль. На клиенте соль будет известна хакеру. md5, даже с солью плохо подходит для хеширования пароля. К тому же насколько мне извпстно в js нет стандартной функции md5 и других. Более сложные хеширующие функции будут сложнее для реализации и будут требовать больше вычислительных ресурсов клиента. В общем от хеширования пароля на клиенте хуже скорее всего не будет, лучше вероятно тоже.
1
|
6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
30.03.2017, 13:19 [ТС] | 14 |
Jewbacabra, идинтефикатор сессии и хеширование не связанны я имел ввиду что если идёт прослушка хакером и он захочет влезть в профиль хакера, то использует либо хешь либо идинтефикатор сессии если пользователь авторизован, или переданный идинтефикатор в куки хакер не увидит, я что то не пойму? Вообще я щас с Хабра, начитался там дискуссий, вроде бы говорят что все это бесполезно, а именно шифровать данные на стороне клиента, я и не спорю конечно, но там говорят помимо SSL защиты о асинхронном шифровании что ли, может кто нибудь видел готовое подобное рещение асинхронного шифрования?
0
|
6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
||||||||||||||||
31.03.2017, 21:27 [ТС] | 15 | |||||||||||||||
В общем то я, как упертый бублик не остановился на этом, и рыл дальше, наткнулся на такую вот статейку на хабре проSRA шифрование, и собственно говоря реализовал его. Сгенерил 512bit-ные ключи как там написано, приватный и публичный, написал простенький код для теста, клиенту и серверу:
Сначала все рухнуло с ошибкой "Прекращена работа программы Apache HTTP Server": Начнем с того, что все это произошло на локальном сервере Open Server. Настройки вызывающие ошибку: Apache 2.2 PHP-5.3 Настройки лечащую ошибку: Apache 2.4 PHP-5.5 Примечательно что если экранировать строку в коде openssl_private_decrypt($data, $out, $ogp);, Apache не рушится, мне вот интересно почему, скорее всего далее тоже из за этого ни чего не получается. Как бы решили проблему, все хорошо работает, до одной только строчки, опять openssl_private_decrypt($data, $out, $ogp);, Apache не ругается, но и в переменную $out ничего не приходит, собственно говоря я и не понимаю, как в нее что то может прийти, если она указывается только в качестве аргумента. Может там ошибка в коде у чувака на хабре? Пробовал я и так:
Вот я уже на один шаг к решению своей задачи, по сути передал по зашифрованному каналу данные, принял их сервером, а функция openssl_private_decrypt() не работает. Куда рыть дальше?
0
|
31.03.2017, 21:27 | |
31.03.2017, 21:27 | |
Помогаю со студенческими работами здесь
15
Шифрование и дешифровка Шифрование и дешифровка текста Отключение проверки сертификата SSL в SOAP клиенте Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |