Форум: "Прочее";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];
ВнизRSA шифр Найти похожие ветки
← →
Anatoly Podgoretsky © (2010-01-04 17:54) [40]> Кто б сомневался (04.01.2010 16:41:34) [34]
Шифрование откусят.
← →
boriskb © (2010-01-04 18:49) [41]> Не буду оригинальным - шифруется блок данных. Или есть разница
> в том, чем являются сами данные?
Представлени не имею :)
Я никогда не сталкивался с необходимостью шифровки с длинным таким ключем.
Было пару раз - так не я этим занимался, вот и интересуюсь в каких случаях может понадобиться.
То есть понавыдумывать конечно можно, но зачем выдумывать если есть люди этим занимающиеся по необходимости.
Так что если нетрудно - что все таки за данные и какая задача.
← →
Медвежонок Пятачок © (2010-01-04 20:26) [42]Смотри еще раз.
Хакер видит каким ключем (который в exe) распаковывается код введенный юзером и каким алгоритмом. Так?
Но для того чтобы этот код расшифровать, ему надо его сначала зашифровать. а для этого нужен первый ключ, который на сайте.
А ведь данные, которые шифруются ключами все время разные, это ID матери.
теперь смотри ты.
у хакера есть две вещи:
1. приватный ключ который внутри exe
2. ифзенелз, который тоже внутри нее.
на основе первого он делает публичный ключ и шифрует для программы все, что захочет. затем возвращает это зашифрованное обратно в программу.
а на основе второго он тупо патчит условный переход после анализа возвращенного результата и вообще не заморачивается с шифрованием.
← →
Кто б сомневался © (2010-01-04 21:36) [43]
> а на основе второго он тупо патчит условный переход после анализа возвращенного результата и вообще не заморачивается с шифрованием
Вот именно. Патчит - это ключевое слово.
А я выпускаю новую версию, в которой этот патч уже не рулит.
Я об это тебе и говорю, что трудно сделать кеиген для не патченых версий..
Надеюсь трудно.
Обойти патч разработчкку легко, обойти кеиген - надо менять алгоритм и заставлять юзеров делать регистрацию по новой. А никто этого не хочет.
← →
Медвежонок Пятачок © (2010-01-04 21:38) [44]про первый пункт забыл. при его использовании ничего патчить вообще не надо.
← →
Кто б сомневался © (2010-01-04 21:39) [45]
> на основе первого он делает публичный ключ и шифрует для
> программы все, что захочет. затем возвращает это зашифрованное
> обратно в программу.
Т.е. ты хочешь сказать что зная ключ расшифровки и алгоритм расшифровки, но не зная ключ для зашифроки, можно зашифровать новые данные в RSA?
← →
Медвежонок Пятачок © (2010-01-04 21:53) [46]зашифровать что-то можно имея свой приватный.
чтобы это зашифрованное смог расшифровать корреспондент, необходимо использовать публичный ключ корреспондента.
он у хакера есть. у него есть даже приватный ключ корреспондента.
так что какие здесь проблемы зашифровать что-то там так, что бы программа смогла это расшифровать?
Вообще никаких проблем.
← →
Медвежонок Пятачок © (2010-01-04 22:03) [47]но не зная ключ для зашифроки, можно зашифровать новые данные в RSA?
берем любой приватный ключ. берем паблик кей программы.
берем произвольные данные.
шифруем.
и програма успешно расшифровывает эти поддельные данные и верит им
← →
Кто б сомневался © (2010-01-04 22:11) [48]
> берем любой приватный ключ. берем паблик кей программы.
> берем произвольные данные.
> шифруем.
> и програма успешно расшифровывает эти поддельные данные
> и верит им
> берем любой приватный ключ. берем паблик кей программы.
Для этого надо изменить ключ вшитый в программу на свой. А для этого надо патчить ее. Инача как ты это сделашь?
← →
Кто б сомневался © (2010-01-04 22:14) [49]> берем любой приватный ключ.
я вообще не пойму, как это любой приватный ключ?
Для этого надо либо как я уже сказал патчить прогу - иначе вшитый ключ не правильно дешифрует данные, либо вычислять этот приватный ключ на основе встроенного ключа и алгоритма дешифровки.
← →
Медвежонок Пятачок © (2010-01-04 22:15) [50]для этого ничего не надо менять.
задача хакера - зашифровать поддельные данные так, чтобы программа их расшифровала.
все что требуется для этого - знать паблик ключ программы.
а хакер имеет паблик от программы (у него даже приват есть)
← →
Кто б сомневался © (2010-01-04 22:19) [51]
> все что требуется для этого - знать паблик ключ программы.
>
> а хакер имеет паблик от программы (у него даже приват есть)
нету у него приват ключа. Приват ключем шифруются данные на сайте. Это ключ на сайте. Сайт отдает только зашифрованную строку юзеру.
Пойми, эти 2 ключа - они симметричны друг другу.
Вычислить один ключ, зная второй трудно, для этого и придумывалось RSA.
если б это было просто, тогда б не было этого шифра.
Один из ключей шифрует, другой расшифровывает. Как ты зашифруешь, не зная первого ключа я никак блин не въеду.
← →
Медвежонок Пятачок © (2010-01-04 22:22) [52]нету у него приват ключа
он у него есть. он внутри программы у тебя зашит.
и у хакера он есть.
хотя для решения задачи он ему и не нужен.
ему нужен паблик от программы
← →
Медвежонок Пятачок © (2010-01-04 22:26) [53]Вычислить один ключ, зная второй трудно, для этого и придумывалось RSA.
вычислить приват, зная паблик - трудно.
обратная задача проста и очень проста.
приват у тебя в программе зашит (иначе программа сама ничего не расшифрует даже если нет никакого хакера и все законно)
← →
Кто б сомневался © (2010-01-04 22:26) [54]
> Медвежонок Пятачок © (04.01.10 22:22) [52]
>
> нету у него приват ключа
>
> он у него есть. он внутри программы у тебя зашит.
> и у хакера он есть.
> хотя для решения задачи он ему и не нужен.
> ему нужен паблик от программы
Давай так:
есть ключ A - им шифруем.
Ключ B - им дешифруем.
В программе вшит ключ B. На сайте все шифруется ключем A (он закрыт от всех). У хакера есть шифрованная строка, и ключ B. Ну и алгоритм дешифрации. Допускаю, что можно сделать шифровку данных инверсировав дешифровку, но думаю что это только для одного текущего случая. Ведь ключа A у него нету.
← →
Медвежонок Пятачок © (2010-01-04 22:30) [55]Давай так:
есть ключ A - им шифруем.
Ключ B - им дешифруем.
так не надо потому что на самом деле все не так.
есть две пары "паблик\приват"
на обоих концах обмена свои приваты и чужие паблики.
когда один конец что-то шифрует для другого , используется свой приват и чужой паблик (это очень схематично и приблизительно описано )
теперь продолжай.
← →
Кто б сомневался © (2010-01-04 22:40) [56]Асимметричное шифрование — система шифрования при которой открытый ключ (ключ A) передаётся по открытому каналу, и используется для шифрования сообщения. Для расшифрования сообщения используется секретный ключ (ключ B).
http://ru.wikipedia.org/wiki/Асимметричное_шифрование
Далее смотри [2] - Я написал что будет реализовано это наоборот.
Т.е. ключ A будет закрыт. Ключ B будет вшит в программу.
Теперь вопрос - как ты собираешся зашифровать данные без ключа A?
← →
Anatoly Podgoretsky © (2010-01-04 22:58) [57]> Кто б сомневался (04.01.2010 21:39:45) [45]
Елементарно, генерится новая пара, и в программе заменяется приватный ключ.
← →
Anatoly Podgoretsky © (2010-01-04 23:00) [58]> Кто б сомневался (04.01.2010 22:19:51) [51]
Только сайт будет в Localhost
← →
Кто б сомневался © (2010-01-04 23:08) [59]
> Елементарно, генерится новая пара, и в программе заменяется
> приватный ключ.
Да епрэсэтэ. Ведь для этого надо патчить прогу уже сотый раз повторяю.
← →
Кто б сомневался © (2010-01-04 23:13) [60]
> Только сайт будет в Localhost
А сайт тут вооще не причем. Прога не привязана к сайту.
Прога вызывает адрес в браузере, передавая туда свою строку (Mysite.com/id=ID123).
Далее юзер вставляет в прогу уже код с сайта после покупки.
← →
Anatoly Podgoretsky © (2010-01-04 23:23) [61]> Кто б сомневался (04.01.2010 23:13:00) [60]
Что за код?
Потом откуда в программе взялся приватный ключ и у всех ли он одинаковый?
← →
Кто б сомневался © (2010-01-04 23:34) [62]
> Anatoly Podgoretsky © (04.01.10 23:23) [61]
>
> > Кто б сомневался (04.01.2010 23:13:00) [60]
>
> Что за код?
> Потом откуда в программе взялся приватный ключ и у всех
> ли он одинаковый?
Код - это шифрованная сторока. Далее см. [54]
Одним ключем шифруем, он на сайте. юзер вставляет эту шифрованную строку в прогу, а прога своим ключем дешифрует ее. Тот ключ что в проге будет одинаковый для всех.
← →
Кто б сомневался © (2010-01-04 23:35) [63]Принцип RSA - один ключ шифрует, другой ключ дешифрует.
← →
Кто б сомневался © (2010-01-04 23:41) [64]Еще раз повторяю детально как это будет работать.
1. Юзер жмет кнопку, прога вызывает браузер с адресом, в который вкладывает ID матери - mysite.com/id=id123 - неважно какой он будет, возможно хэш ID.
2. После оплаты, сайт шифрует этот id на основе первого ключа и отдает эту строку юзеру.
3. Юзер вставляет эту строку в прогу, и прога дешифрует ее на основе второго ключа, который вшит в прогу.
Цель - чтобы нельзя было сделать кеиген для непатченных версий.
Т.е. чтобы сделать кеиген, без патча хакеру надо :
1. Взять id матери.
2. суметь зашифровать этот id
Вопрос, сможет ли он зашифровать новые данные, если у него нет первого ключа, который нужен для шифрования?
Возможно ли его вычислить если есть ключ для дешифрования и алгоритм дешифрования.
← →
Rouse_ © (2010-01-05 00:32) [65]
> Вопрос, сможет ли он зашифровать новые данные, если у него
> нет первого ключа, который нужен для шифрования?
Смысла не имеет. Начинай смотреть сразу с пункта три, т.к. априори взлом (именно взлом) начинается при наличии уже работющей хотябы на одной машине клиента программы.
Смотри Юзер вставил ключ, программа что-то там расшивровала - дальше действия какие? След запуск программы - пользователь опять должен вставлять ключ или
а: программа продолжает раотать с уже расшифрованными данными
б: программа сама расшифровывает ранее указанный пользователем и сохраненный где-то ключ, производит процедуру декодирования и продолжает работу с декодированными данными.
Проще выполнить трассировку на активированной и неактивированной программе, сравнить два графа и при помощи инлайн патча заставить прилодение думать что оно работает как надо.
← →
Кто б сомневался © (2010-01-05 00:49) [66]
> и при помощи инлайн патча заставить прилодение думать что
> оно работает как надо.
В том то и дело что делается привязка к бинарнику. Я изменяю бинарник, все рушится - надо делать новый кряк.
← →
Кто б сомневался © (2010-01-05 00:56) [67]
> Проще выполнить трассировку на активированной и неактивированной
> программе, сравнить два графа и при помощи инлайн патча
> заставить прилодение думать что оно работает как надо.
Ты ж не забывай что идет привязка к ID матери. а хранится будет как в Б.
Т.е. каждый раз дешифруем.
← →
Rouse_ © (2010-01-05 01:07) [68]
> Кто б сомневался © (05.01.10 00:56) [67]
> Ты ж не забывай что идет привязка к ID матери. а хранится
> будет как в Б.
Да какая привязка то? :) Я ж тебе говорю - берется работающее приложение, а потом для него воспроизводятся все условия на другом компе. ID мамки 123 - ок, будет тебе и на другой машине 123, у биоса 456 - и на другой машине будут тебе то-же число :) Ну а поп поводу "все рушится" - это вообще смешно, проверка целостности обходится еще проще чем ты думаешь - просто подсоввается при проверке оригинальный, не правленный файл.
← →
Кто б сомневался © (2010-01-05 01:30) [69]
> Ну а поп поводу "все рушится" - это вообще смешно, проверка
> целостности обходится еще проще чем ты думаешь - просто
> подсоввается при проверке оригинальный, не правленный файл.
>
Да я не про это. я про то, что для того чтобы что то изменить, надо знать где это находится, а местоположение можно изменить, и перепрятать.
> ID мамки 123 - ок, будет тебе и на другой машине 123, у
> биоса 456 - и на другой машине будут тебе то-же число
Ну это понятно, но здесь меньше мороки чем с кеигеном. При кеигене придется делать старым юзерам - новый ключ.
← →
Германн © (2010-01-05 01:57) [70]
> В том то и дело что делается привязка к бинарнику. Я изменяю
> бинарник, все рушится - надо делать новый кряк.
Не вдаваясь в детали (ибо не спец).
А что меняется для конечного пользователя при изменении бинарника? Т.е. я хотел уточнить. Изменение бинарника - это новая версия данного ПО?
← →
Eraser © (2010-01-05 02:04) [71]немного не в тему. по-моему лучше сконцентрироваться на защите от триал-стопа, чем от патча или кейгена. там где ОБЭП проверяет патчить вряд ли будут, а вот "триалстопить" могут вполне.
← →
Кто б сомневался © (2010-01-05 02:05) [72]
> Т.е. я хотел уточнить. Изменение бинарника - это новая версия
> данного ПО?
Ну да. Фиксится что то, новые фичи.
← →
Кто б сомневался © (2010-01-05 02:07) [73]
> по-моему лучше сконцентрироваться на защите от триал-стопа,
> чем от патча или кейгена. там где ОБЭП проверяет патчить
> вряд ли будут, а вот "триалстопить" могут вполне.
Это ерунда. Это можно фиксить при появлении триалстопа. - Просто добавляем доп. условие, или прячем местоположение записей в реестре в другом месте.
← →
Кто б сомневался © (2010-01-05 02:11) [74]В том смысле что популярный продукт все равно крякнут. Главное чтобы изменения кряка не коснулись старых юзеров. Типа "старый ключ не подходит получите новый". Все остальное фиксится выпуском новых билдов.
← →
Германн © (2010-01-05 02:17) [75]
> Кто б сомневался © (05.01.10 02:05) [72]
>
>
> > Т.е. я хотел уточнить. Изменение бинарника - это новая
> версия
> > данного ПО?
>
>
> Ну да. Фиксится что то, новые фичи.
>
Тогда я, наверно, тебя понял. Т.е. ты хочешь сделать защиту так, чтобы хакеры не смогли написать кейген, который работал бы и на всех последующих версиях твоего ПО.
Так?
← →
Кто б сомневался © (2010-01-05 02:20) [76]
> Тогда я, наверно, тебя понял. Т.е. ты хочешь сделать защиту
> так, чтобы хакеры не смогли написать кейген, который работал
> бы и на всех последующих версиях твоего ПО.
> Так?
Ну да. Этого я и хочу.
← →
Кто б сомневался © (2010-01-05 02:23) [77]Наконец то на 75 сообщении некоторые начали понимать :)
← →
Германн © (2010-01-05 02:34) [78]
> Ну да. Этого я и хочу.
Имхо, этого никто, кроме меня пока так и не понял. :)
Все только и говорят о защите конкретного бинарника от взлома. :(
Наверно надо формулировать вопрос более правильно или подробно.
P.S.
Речь идёт об активно развивающемся ПО?
Ибо кейгены в сети публикуются довольно быстро. И если следующая версия ПО мало отличается от предыдущей по функциональности, то её просто не будут использовать нелегально, пока не появится версия, которая даст заметные преимущества.
← →
korneley © (2010-01-05 09:18) [79]Вот уже под восемьдесят постов, а вопрос "куда бедному крестьянину податься?" (с) так и не прозвучал. Ну нет у меня на работе Сети. Точнее, есть, но локальная, компов на 90... Всё, финиш. А прогу хочется :)))
← →
ANB (2010-01-05 10:05) [80]
> Если имеется закрытый ключ + шифрованные данные (публичным
> ключем), но не известен публичный ключ, за какое срок примерно
> возможно вычислить публичный ключ на современной машине?
>
За такое же, как и вычислить закрытый ключ по открытому. Разницы между ними особо никакой.
Шифруем первым, расшифровываем вторым и наоборот.
По теории, ключ должен содержать более 100 десятичных цифр.
Страницы: 1 2 3 вся ветка
Форум: "Прочее";
Текущий архив: 2010.03.28;
Скачать: [xml.tar.bz2];
Память: 0.63 MB
Время: 0.007 c