Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.28;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.65 MB
Время: 0.019 c
15-1262975426
Pitbull
2010-01-08 21:30
2010.03.28
HTML Help Workshop


3-1237104687
joomler
2009-03-15 11:11
2010.03.28
Как сделать поиск по нескольким полям в базе?


2-1264427732
webpauk
2010-01-25 16:55
2010.03.28
Отображение элементов


3-1237289266
Yurikon
2009-03-17 14:27
2010.03.28
Количество записей в TADOTable


1-1244383848
dmitry_12_08_73
2009-06-07 18:10
2010.03.28
При копировании экрана ее удаётся захватить окно со свойством For