Я делаю набросок решения, при котором приложение Android подключается к REST API в сети. Пользователи должны иметь возможность создавать профиль, а затем выполнять определенные запросы для этого профиля (изменить имя, адрес электронной почты и т. Д.). Поиск похожих вопросов дал рекомендацию для решения с закрытым / открытым ключом из хорошей части ответов.
Этот парень очень хорошо объясняет процедуру:
http://www.thebuzzmedia.com/designing-a-secure-rest-api-without-oauth-authentication/
Эта процедура полностью зависит от предпосылки того, что закрытый ключ действительно является личным. И я не нашел никаких ответов на этот вопрос. Но если сервер и клиент имеют , чтобы иметь один и тот же закрытый ключ, то в какой-то момент он должен был бы быть передан между обеими сторонами, что неизбежно открыло бы его кому-то, наблюдающему за трафиком. Так есть ли безопасный способ установить один и тот же закрытый ключ между обеими сторонами?
Еще один вопрос: когда клиент получает закрытый ключ (надежно), как его хранить? Является ли что-то вроде общих настроек достаточно безопасным? Я обеспокоен тем, что кто-то с рутированным доступом может легко получить к нему доступ.