내 서버가 안드로이드 애플리케이션에 슈퍼 비밀 암호 키를 보내야하는 프로젝트가 있습니다. 비밀 키는 승인 된 공식 블루투스 장치와 통신하기 위해 응용 프로그램에서 대칭 암호화에 사용됩니다. 모든 사람이 응용 프로그램 외부에서 블루투스 장치와 통신 할 수 있도록하려면이 키를 발견하지 않아야합니다.서버가 비공식적 인 안드로이드 클라이언트와 통신하지 못하게합니다.
내 문제는 내가 발견되는이 비밀 키를 보호 할 수있는 방법이다. SSL을 사용하여 서버와 안드로이드 응용 프로그램간에 통신 할 수 있다는 것을 알고 있으며 비밀 키가 실제로 안드로이드 장치에 저장되지 않았는지 확인할 수 있습니다.
그러나 기술하는 것은 내가 내 편집되지 않은 안드로이드 응용 프로그램이 서버와의 통신 및 다른 응용 프로그램이 비밀 키를 얻기 위해 노력하고, 내 자신의로 가장 아니라는 것을 확인하기 위해 사용할 수 있습니까?
감사합니다. 나는 서버와 블루투스 장치에 알고리즘으로 생성 된 단일 사용 세션 키를 사용하여 일반적인 의사 난수를 시드로 사용하여 '마스터'키를 안드로이드 앱에 보낼 필요가 없도록하는 기술을 생각해 냈습니다. 나는 항상 우리의 앱이 디 컴파일 될 수 있고 결코 그것을 신뢰하지 않을 것이라고 가정 할 것이다. – dgel