Насколько безопасно взаимодействие между приложениями в iOS?


person William Niu    schedule 29.03.2011    source источник


Ответы (1)


Не используйте схемы URL для любых конфиденциальных данных. Они никоим образом не предназначены для обеспечения безопасности.

Вместо этого вы должны использовать механизмы Keychain в iOS, которые предназначены именно для этой цели.

person Claus Broch    schedule 29.03.2011
comment
Не могли бы вы рассказать мне о сценарии, в котором использование схем URL может быть небезопасным? - person William Niu; 30.03.2011
comment
Он передается незашифрованным между процессами. Кроме того, у вас нет контроля над получателем, поэтому любой злонамеренный процесс может зарегистрировать ту же схему URL и перехватить учетные данные. - person Claus Broch; 30.03.2011
comment
Я знал это. Но для телефона без джейлбрейка разве это не увидит только предполагаемое приложение? - person William Niu; 30.03.2011
comment
Если предполагаемое приложение не установлено на iPhone, но вместо этого другое приложение регистрирует ту же схему URL-адресов, вы можете непреднамеренно отправить URL-адрес неправильному приложению. В этих схемах нет встроенных средств защиты, и нет возможности проверить, какое приложение зарегистрировало пользовательскую схему. - person Claus Broch; 31.03.2011
comment
Клаус, документация iOS для SecItemAdd объясняет, что вы можете использовать атрибут kSecAttrAccessGroup для элементов цепочки для ключей, чтобы указать группу доступа для цепочки для ключей, которая может получить доступ к этому элементу. Разве это не так же небезопасно? Разве мошенническое приложение не может просто объявить то же самое право группы доступа к цепочке ключей и получить доступ к конфиденциальным данным? - person Bob Whiteman; 20.12.2011
comment
Если несколько сторонних приложений регистрируются для обработки одной и той же схемы URL-адресов, в настоящее время не существует процесса определения того, какое приложение получит эту схему: developer.apple.com/library/content/documentation/iPhone/ - person lelelo; 22.01.2018
comment
Я не думаю, что это небезопасно. Два вовлеченных приложения просто должны сотрудничать. Они оба могут добавлять Payamas в обратном порядке до своих реальных схем для создания шифрования. Кроме того, такому вору, как разработчик, довольно сложно узнать, какое приложение взаимодействует, как и с чем — чувствовать, что он получит от этого какую-то ценность. Ему нужно будет знать оба приложения и быть предельно точным с этой целью из своего собственного приложения. - person lelelo; 22.01.2018