Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1262714844
Зима
2010-01-05 21:07
2010.03.28
Откуда пошло и для чего указывать авторство?


1-1246863401
WeX
2009-07-06 10:56
2010.03.28
Реализовать систему плагинов


15-1263202280
Игорь
2010-01-11 12:31
2010.03.28
Драйвер под Windows 7


4-1231749793
kalexi
2009-01-12 11:43
2010.03.28
Как узнать место расоложения папки "Автозагрузка"?


4-1231749046
kalexi
2009-01-12 11:30
2010.03.28
Какие флаги нужны для создания формы без кнопки на панели задач?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский