Проблема, с которой я сталкиваюсь, интересна, и мои знания о безопасности сильны, но мое понимание слабо.То есть я понимаю теорию, но практически не имел практического применения в этом конкретном отношении.Я сохранил пароли, передал их с помощью соли, проверил их хэш и т. Д. Мои потребности здесь схожи, но специфичны.
У меня есть одно приложение, к которому может подключиться другое внешнее приложение через URI ContentProvider.Внешние приложения могут разрабатываться кем угодно, поэтому я не имею над ними контроля.Однако я хочу ограничить некоторый доступ для подписчиков.Чтобы облегчить это, каждому «подписанному» приложению будет присвоен ключ, зарегистрированный для его имени пакета.Затем ContentProvider должен проверить этот ключ как действительный.
Моя проблема заключается в следующем: так как он передается через URI, можно легко перехватить ключ при передаче.Кроме того, моим подписчикам нужен метод, с помощью которого они могут хранить свой собственный ключ без необходимости подключения к защищенному серверу.Конечно, они не могут хранить ключ как литерал в своем приложении, так как это облегчает уязвимость.Я пытаюсь предоставить как можно больше решений без необходимости «доверять» безопасности этих других приложений.
Итак, как мы храним ключ как в моей базе данных, так и во внешнем приложении и позволяем им отправлять его мне для специально проверенных запросов?Я думаю, что моя проблема в понимании того, как это сделать, заключается в аспекте постоянного хранения и как это влияет на модель.То есть в модели с паролем пароль вводится и обычно не сохраняется.
FuzzicalLogic