Size: a a a

Android Developers

2020 December 28

SG

Sergey Grieg in Android Developers
Ты в рантайме сгенерил себе приватный, публичный, высчитал частичный — и отдал серваку свой пабл + частичный ключ, а он тебе свои пабл и частичный
источник

Ру

Ра уан in Android Developers
Привет, подскажите .

Мне нужно по нажатию на уведомление из firebase сервиса.

Первое если приложение свёрнуто или закрыто, открыть активити и передать данные

Второе если приложение открыто, то нужно передать данные в активити не открывая ее.


У меня идея , это при получение пуша, проверить приложение открыто или нет, если открыто то content intent будет ссылаться на ресивер а тот дальше уже будет стучаться к активити через sendBroadcast.

Второе если закрыто, то будет ссылаться на активити .

Возникли две проблемы, при тапе на уведомление не срабатывает ресивер , пробовал регать ресивер в сервисе и в манифесте .

Второе это когда закрытое приложение , файрбейс сам показывает уведомление не уведомляя сервис.
источник

SG

Sergey Grieg in Android Developers
Sergey Grieg
Ты в рантайме сгенерил себе приватный, публичный, высчитал частичный — и отдал серваку свой пабл + частичный ключ, а он тебе свои пабл и частичный
Ибо, повторюсь, цель — просто рассчитать общий ключ, его можно хранить только в рамках определенного экрана приложения / веб-страницы
источник

d

danilshik in Android Developers
Sergey Grieg
По протоколу Диффи-Хеллмана клиент и сервер обмениваются только частичными ключами, благодаря которым воспроизводится общий
спасибо, за инфу. Как я понял, это нужно делать до первого запроса, а на Backend держать его в памяти и валидировать его при каждом из следующих запросов. И может уже есть написанный алгоритм, а то с  BigInteger не охота работать
источник

V

Vladimir in Android Developers
Sergey Grieg
Ты в рантайме сгенерил себе приватный, публичный, высчитал частичный — и отдал серваку свой пабл + частичный ключ, а он тебе свои пабл и частичный
так главный вопрос то остается. что мешает мне на стороне так же генерировать приватный ключ?
источник

SG

Sergey Grieg in Android Developers
Vladimir
так главный вопрос то остается. что мешает мне на стороне так же генерировать приватный ключ?
а вот тут тебе и нужно что-то хранить в приложении (желательно, чтобы это было доступно только в приложении (какая-то строка проверочная), которая будет обфусцирована
источник

d

danilshik in Android Developers
И я не пойму, что мне со стороны не позволит сделать все то же самое?
источник

SG

Sergey Grieg in Android Developers
ибо цель диффи-хэллмана — спрятать эту нашу строку
источник

SG

Sergey Grieg in Android Developers
это может быть хэш подписи, вычисляемый в рантайме
источник

d

danilshik in Android Developers
Если есть доступ к 1 ключу и алгоритму
источник

SG

Sergey Grieg in Android Developers
Или еще что-то подобное
источник

V

Vladimir in Android Developers
Sergey Grieg
а вот тут тебе и нужно что-то хранить в приложении (желательно, чтобы это было доступно только в приложении (какая-то строка проверочная), которая будет обфусцирована
я до сих пор понять не могу, как имея доступ к исходникам у атакующего нет возможности прикинуться таким же клиентом
источник

SG

Sergey Grieg in Android Developers
Vladimir
я до сих пор понять не могу, как имея доступ к исходникам у атакующего нет возможности прикинуться таким же клиентом
а как тебе исходники сообщат ключ, созданный в рантайме?
источник

V

Vladimir in Android Developers
Sergey Grieg
а как тебе исходники сообщат ключ, созданный в рантайме?
а мне не нужен ключ, мне нужен алгоритм генерации
источник

SG

Sergey Grieg in Android Developers
Vladimir
а мне не нужен ключ, мне нужен алгоритм генерации
Math.rand(), дальше что?
источник

V

Vladimir in Android Developers
Sergey Grieg
Math.rand(), дальше что?
у себя делаю Math.rand() + все остальное
что дальше?
источник

PE

Pavel Erokhin in Android Developers
Vladimir
а мне не нужен ключ, мне нужен алгоритм генерации
+1
источник

SG

Sergey Grieg in Android Developers
А то, что у тебя будет уже свой ключ для общения с сервером
источник

PE

Pavel Erokhin in Android Developers
алгоритм есть - гудбай секьюрити
источник

V

Vladimir in Android Developers
Sergey Grieg
А то, что у тебя будет уже свой ключ для общения с сервером
так и у клиента каждого он свой будет. ты же закрытый в рантайме генерировать предлагаешь
источник