encryption - How to get unique key from android application dynamically that only my app knows about ? -


i have gone through similar questions on stackoverflow , other sites not find satisfactory answer.so asking new question detailed requirements.

we building android application , need communicate application server.

there handshake between application server , android app identify android application valid source , 1 server generated unique device key or auth key.this auth key stored on application.

now generate auth key server idea take predefined or mutually agreed string "hello world" , encrypt strong symmetric encryption algo using key "key1".then server decrypt using same algo , same key.when server decrypts if gets "hello world" knows source infact android app.

now next steps server generates auth key , encrypts same symmetric key algo , sends android app.android application decrypts , stores locally.

now not want hard code symmetric algo key "key1" on application side because can decompile apk , know algo , key write automated batch flood server requests(ofcourse server side check there check flooding,but want avoid on application side).

i have read following solutions web ;-

  1. use package name identify uniqueness of application.

  2. generate key hash of signing certificate.

but information known public.my idea use same unique string encryption key also.

if has encountered similar problem , kindly guide.or thinking in wrong direction , thing cannot implemented on app side ?

kindly share experiences.

you can't. key use going baked app. can trivially decompiled. why isn't cryptographically possible identify application. can authenticate user, such through password. because in case attacker can't @ secret without attacking user rather application.

see https://security.stackexchange.com/questions/826/how-can-i-securely-authenticate-the-client-application-sending-me-data


Comments

Popular posts from this blog

python - No exponential form of the z-axis in matplotlib-3D-plots -

php - Best Light server (Linux + Web server + Database) for Raspberry Pi -

c# - "Newtonsoft.Json.JsonSerializationException unable to find constructor to use for types" error when deserializing class -