Можно ли использовать этот метод кодирования? - PullRequest
3 голосов
/ 28 июня 2019

Я новичок в разработке приложений и в настоящее время занимаюсь разработкой приложения для ios, используя swift в xcode. В процессе разработки приложения мне стало известно, что я не должен хранить конфиденциальную информацию, такую ​​как секреты API, в качестве локальных переменных. Я предполагаю, что это потому, что есть методы просмотра кода приложения.

Приложение, которое я разрабатываю, не имеет учетных записей или входа пользователя, и я не хочу этого. Для простоты я объясню это так:

Пользователь может создать «комнату» с определенным идентификатором комнаты, указанным этим пользователем. Устройство пользователя имеет связанный идентификатор, который сохраняется в базе данных, чтобы показать, что созданная комната принадлежит этому пользователю.

Другой пользователь, указанный в качестве гостя, может присоединиться к указанной комнате с указанным идентификатором комнаты. Когда они пытаются присоединиться к комнате, их идентификатор устройства сравнивается с базой данных, и указывается локальное логическое значение, указывающее, является ли этот пользователь хостом.

Независимо от того, является ли пользователь хостом, начинается переход к другому контроллеру представления, и также отправляется логическое значение. С этого момента существуют функции и операторы, которые вызываются только в том случае, если логическое значение указывает, что пользователь является хостом, и разрешает хостам только определенные разрешения.

Меня беспокоит то, что есть какой-то способ использовать это так, чтобы гости могли каким-то образом изменить или установить этот локальный логический параметр, чтобы показать, что они являются хостом, а они нет. Должен ли я беспокоиться об этом как о потенциальной проблеме безопасности? Никакая личная информация о хостах или гостях не сохраняется и не используется в этом приложении за пределами специфичных для устройства идентификаторов, которые сохраняются или проверяются в базе данных, но я все же хотел бы, чтобы безопасность позволяла хостам разрешать определенные комнаты.

1 Ответ

3 голосов
/ 28 июня 2019

Я предполагаю, что это потому, что существуют методы просмотра кода приложения.

Не совсем, но лучше, если вы предположите, что это правда.Ваш точный исходный код недоступен, но любые данные, хранящиеся в приложении, могут быть извлечены, и любой алгоритм, который реализует приложение, может быть переработан.Вы не можете ничего скрыть в приложении, которое вы отправляете пользователю.

Меня беспокоит то, что есть какой-то способ использовать это так, чтобы гости могли каким-то образом изменить или установить этот локальный логический параметр, чтобы показать, что они являютсяхост, когда они не.

Это правда, но на самом деле не главная проблема безопасности.Основная проблема заключается в том, что сервер никогда не может доверять приложению.Я свободен в создании собственного приложения, которое подключается к вашему серверу и отправляет все, что я хочу.Сервер должен быть устойчивым к этому.Поэтому такие вещи, как проверки "владельца комнаты", должны выполняться на сервере.Вы не можете полагаться на приложение, выполняющее их.Вы должны предположить, что приложение находится под полным контролем его пользователя.Учитывая это, какие проблемы безопасности вы видите?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...