eXeL@B —› Софт, инструменты —› криптограм - свободно распространяемый мессенджер. Сквозное шифрование и открытый исх. код. PHP, js |
Посл.ответ | Сообщение |
|
Создано: 07 октября 2016 17:12 · Поправил: implodeman · Личное сообщение · #1 криптограм.впрограмме.рф криптограм - свободно распространяемый мессенджер со сквозным шифрованием и открытым исходным кодом на PHP и javascript. Если Вы считаете, что доверять вашу личную переписку социальным сетям или мессенджерам - легкомысленно - установите свой собственный движок для обмена сообщениями и пригласите в него тех, кому хотите передавать конфиденциальную информацию. Весь исходный код мессенджера полностью открыт и вы можете усовершенствовать его под свои нужды. Отличие от других мессенджеров заключается в том, что Вы устанавливаете не только клиент месснджера (как в случае с любым скайпом, аськой или телеграмом) - Вы устанавливаете себе полноценную систему, в которой нет независящего от Вас трафика или компонентов: по вашему желанию система может прекратить свое существование в считанные секунды, а сама переписка доступна только Вам и тому, кому сообщение адресовано. | Сообщение посчитали полезным: morgot |
|
Создано: 07 октября 2016 17:33 · Поправил: script_kidis · Личное сообщение · #2 |
|
Создано: 07 октября 2016 18:14 · Поправил: Dart Raiden · Личное сообщение · #3 |
|
Создано: 07 октября 2016 18:42 · Личное сообщение · #4 еще qTox есть опенсурсный. p.s. увижу еще такую большую картинку на форуме, забаню. ----- [nice coder and reverser] | Сообщение посчитали полезным: MasterSoft |
|
Создано: 08 октября 2016 12:32 · Поправил: implodeman · Личное сообщение · #5 Hellspawn пишет: увижу еще такую большую картинку на форуме, забаню Я не знал как уменьшить. Прошу прощения. Она просто большая, а ужимать - это не видно было бы что нарисовано. Спасибо, что уменьшил. Добавлено спустя 7 минут script_kidis пишет: странно я всегда думал что нужно выходить через кучу прокси в ирк канал и там писать секретную инфу если данные шифруются у тебя на клиенте и дешифруются только на машине того кому отсылаются (т.е. попути это дело не просмотреть никак ( и так для каждого сообщения новая сессия шифрования)) - тогда - можно будет наверное узнать какой IP к какому серверу коннектится.. Так же можно, думаю, узнать какой второй IP, который тоже конектится к тому же серверу. Ну, в теории, я в этом не подкован. Но что они связаны и об чем они общаются - нит. Код открыт, схемы рисую сейчас. Никто не говорит пользоваться не глядя. Смотрите код, анализируйте, ставьте себе, тестируйте. Я провел большую работу. Если кто-то это оценит (критика тоже полезна) и кому-то это пригодится - я буду только рад |
|
Создано: 08 октября 2016 15:36 · Поправил: srm60171 · Личное сообщение · #6 implodeman, почему в качестве функции хеширования и шифрования используете зарубежные разработки, а не наши ГОСТы? С RSA еще можно понять, хотя и его можно на ЭК заменить. Схема, которую вы приложили какая-то уж больно перегруженная. Я сомневаюсь, что её может понять кто-то кроме вас и тех кто изучил код. Может сделаете попроще? Скажем только криптографическую составляющую. Не надо делать отсылки к интерфейсу, переменным php - все это никому не интерестно. Взгляните на то, как ведет описание Telegram https://core.telegram.org/techfaq |
|
Создано: 08 октября 2016 16:20 · Личное сообщение · #7 |
|
Создано: 08 октября 2016 19:10 · Личное сообщение · #8 unknownproject пишет: Шрифт тоже говно редкостное в css в body любой свой пропиши и будет у тебя какой захочешь srm60171 пишет: Взгляните на то, как ведет описание Telegram Спасибо за ссылку. Я сначала опишу подробно (начал уж), а потом упрощенную схему накидаю. А на счет зарубежных разработок.. а md5 как-то не так хеширует?.. или вопрос в принципе.. Опять же - код открыт - любой участок перепиливается при желании. Если продукт будет кому полезен - буду усовершенствовать, переделывать и доделывать. По началу у меня просто была мысль убить пару неделек на реалицазию сквозного шифрования.. ну интересно было прост. Потом всякие новости полезли про пакеты всякие.. решил недельку еще поковырять, потестировал с другом а потом и название как-то само подвалило.. |
|
Создано: 08 октября 2016 19:15 · Личное сообщение · #9 implodeman, пойми, сейчас защищенных месенджеров (намного серьёзней твоего) жопой жуй. Могу только посоветовать сделать плагин (или userscript) который позволит быстро налаживать шифрованное общение на любом сайте. Причём это не так уж и сложно. ps Я бы с удовольствием подключился к разработке такого плагина. |
|
Создано: 08 октября 2016 19:25 · Поправил: implodeman · Личное сообщение · #10 vovanre пишет: быстро налаживать шифрованное общение на любом сайте вообще говоря этот мессенджер и есть этот самый плагин, о котором ты говоришь ибо завести его можно на любом сайте, т.к. он лишь набор скриптов в папке + sql, который создаст нужные таблички в базе. Предполагается, что это и есть часть сайта (или сам сайт, если ничего кроме него не нужно). На демо странице - можно увидеть как он будет выглядеть на любом сайте, а учитывая, что css в доступе (как и все остальное) - внишний вид и гамма перепиливается под сайт на ура. |
|
Создано: 08 октября 2016 19:50 · Личное сообщение · #11 implodeman пишет: А на счет зарубежных разработок.. а md5 как-то не так хеширует?.. или вопрос в принципе.. Опять же - код открыт - любой участок перепиливается при желании. Ну как минимум md5 уже не считается безопасной на сегодняшний день. Она не удовлетворяет определению криптографической хеш функции (коллизии второго рода можно достаточно легко находить). Просто когда я вижу домен в зоне РФ, первая мысль - эта разработка ориентирована на Россию. А у нас есть свои стандарты, которые хотелось бы тоже видеть в проектах. Вы бы не могли все-таки сделать хотябы словестное мини-описание теоретической составляющей проекта? Можно даже абстрагироваться от конкретных алгоритмов хеширования, шифрования. Интересно каким именно образом вы обеспечиваете безопастность всего протокола. |
|
Создано: 08 октября 2016 20:24 · Поправил: implodeman · Личное сообщение · #12 srm60171 пишет: Просто когда я вижу домен в зоне РФ Нет, просто так сложилось.. но я учту ваш комментарий, спасибо. srm60171 пишет: Вы бы не могли все-таки сделать хотябы словестное мини-описание теоретической составляющей проекта Если совсем коротко - при обмене сообщениями для того чтобы отправить данные клиентам нужно обменяться симметричными ключами для шифрования. Для этого обмена используется ассиметричное шифрование, которое подраузмевает пару ключей (публичный (которым шифруют для некого Васи. такой ключ публичный потому что его могут знать все) и закрытый (это ключ, которым Вася может расшифровать сообщение, зашифрованное публичным)). Условно Петя получает от Васи публичный ключ (он хоть и может быть доступен всем - все же передается зашифрованным на втором этапе авторизации Васи), и шифрует им симметричный (в данной схеме грубо говоря это такой ключ, который позволяет в отличие от публичного зашифровать именно сообщение, т.к. публичный ограничен тем, что не может большие объемы шифровать, но способен зашифровать симметричный ключ). Далее зашифрованный симметричный отправляется Васе, который дешифрует его своим закрытым ключем и может уже этим симметричным расшифровать сообщение. которое отошлет Петя. Для каждого сообщения происходит новая генерация симметричных ключей, а генерация публичных каждую сессию авторизации, которая сбрасывается простым нажатием клавиши f5 на любом из клиентов. Каждый этап этих обменов и промежуточных операций так же шифруются уже другими ключами. Таким образом ключи для дешифровки симметричных ключей всегда у Васи и никогда не попадает куда либо за пределы его браузера. |
|
Создано: 08 октября 2016 20:32 · Поправил: srm60171 · Личное сообщение · #13 |
|
Создано: 08 октября 2016 20:49 · Личное сообщение · #14 srm60171 пишет: То есть ваш протокол уязвим к MitM атаке? 1)Обмен между сервером и клиентами впринципе шифрован ключами, которые генерятся при успешной авторизации (так что кто угодно точно не может быть посредником) даже в случае ошибочных данных передается псевдо шифрованные ответы, которые посреднику даже не дают понять все ли правильно передается. 2)Сервер при каждом обращении лишний раз смотрит залогинен ли сейчас такой юзер с таким sid, а клиент при ответе проверяет, доставая из под шифра уникальные ключи, которые передает серверу опять же зашифрованными, что является доп проверками (даже возможно лишними) 3)Промежуточные ключи шифрования (которые опять же достали из под зашифрованной передачи) живут на сервере считанные секунды. И после этого умирают. Даже хранясь они на машине вечно они не имеют особого смысла и если каким-то чудом 'ломается' сообщение - то только одно. Для каждого сообщения своя шарманка. 3)Не уверен, что я ответил на вопрос, но словестно это не так просто объяснить, - я постараюсь все описать в документации. Я именно сейчас над ней работаю. Думаю, будет правильно описать и отдельно подробно и отдельно в общих чертах. Добавлено спустя 3 минуты implodeman пишет: публичный ключ Васи это именно "публичный ключ Васи" Публичный ключ именно Васи потому что 1)От именно от сервера 2)На сервере он именно от Васи. |
|
Создано: 08 октября 2016 22:15 · Поправил: srm60171 · Личное сообщение · #15 А что отправляется для авторизации? md5(логин) и md5(пароль)? в открытом виде? Допустим, я контролирую весь трафик между клиентом и сервером. Читаю и могу все подменять. Я могу прикинуться сервером и установить с вами защищенное соединение (нет же никакой проверки что сервер настоящий), в тоже время используя то, что вы прислали для авторизации я могу авторизоваться на настоящем сервере. Таким образом я уверенно встану в качестве сервера. Затем когда Боб будет пересылать свой ключ через меня, я повторю атаку и авторизуя Боба сначала с собой, а потом под видом Боба авторизуюсь с клиентом (просто пордменяя передаваемые открытые ключи). Также например сработает атака, если будет скомпрометирован сам сервер. (Полиция ворвалась в серверную и может делать с ним что угодно, слушать кого угодно также меняя передаваемые открытые ключи, ведь никто, ничего друг о друге не знает, все каждый раз генерируется заного) |
|
Создано: 08 октября 2016 23:03 · Поправил: implodeman · Личное сообщение · #16 srm60171 пишет: md5(логин) и md5(пароль)? в открытом виде? На первом этапе отсылается md5(логин) и md5(пароль_1) После удачного (количество попыток первого этапа регулируется временным интервалом) идентификации на сервере - генерируются ключи для шифрованного обмена и далее уже передаются уже шифрованные данные: md5(логин) и md5(пароль_2). (количество попыток второго этапа также регулируется временным интервалом). |
|
Создано: 08 октября 2016 23:09 · Личное сообщение · #17 implodeman пишет: вообще говоря этот мессенджер и есть этот самый плагин, о котором ты говоришь ибо завести его можно на любом сайте, Я немного о другом, под сайтом я подразумевал использование уже существующих каналов связи: соцсети, онлайн чатики и подобное. Нажал кнопочку, скрипт инжектнулся страницу и хукнул отправку сообщений. Всё это можно сделать на основе ОТR и конфигов. |
|
Создано: 08 октября 2016 23:10 · Личное сообщение · #18 |
eXeL@B —› Софт, инструменты —› криптограм - свободно распространяемый мессенджер. Сквозное шифрование и открытый исх. код. PHP, js |