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 ;-
use package name identify uniqueness of application.
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.
Comments
Post a Comment