Мы добавляем поддержку Dropbox в наше приложение, и теперь у нас есть «ключ приложения» и «секрет приложения». Я мог бы просто сохранить их как обычный текст в коде, как указано в синхронизации API учебника:Должен ли я шифровать мой ключ/секрет приложения Dropbox?
DBAccountManager* accountMgr =
[[DBAccountManager alloc] initWithAppKey:@"hf2hf892hf9y29h" secret:@"n29fh82h4f"];
(Примечание. Что это сделано до ключ и секрет, не наш реальный)
Но то было бы очень легко для кого-то извлечь их из приложения, если они захотят. Чтобы этого избежать, мы могли бы добавить какое-то базовое шифрование, чтобы ключи стали сложнее находить, но, очевидно, ключи все равно будут использоваться в вызове диспетчеру DropBox в какой-то момент, так что нет возможности сохранить их в совершенстве безопасный.
Это что-то беспокоит, или это просто факт жизни, что кто-то, кто действительно хочет, может войти и узнать ключи?
Похоже, вы говорите о приложении, в котором хранятся имя пользователя и пароль, а не то, как работает интеграция с Dropbox - у самого приложения есть «ключ» и «секрет», которые полностью отключаются от учетных данных пользователя. Я неправильно понимаю ваш ответ? API Dropbox обрабатывает учетные данные пользователя, поэтому автор приложения даже не видит имя пользователя/пароль для пользователя. – Colen
@Colen Я боюсь, что это так. Я сам работал с Dropbox SDK. Как вы заявляете, вам нужен идентификатор приложения и секретный ключ, чтобы Dropbox разрешал ваше приложение. Если вы жестко скопируете их в приложении, простые строки будут раскрываться в открытом виде. Это означает, что можно тривиально выдать атаку кражи личных данных, маскируя свое вредоносное приложение как ваше, следовательно, подвергая безопасность ваших пользователей атакующему. –
Но пользователь все равно должен войти в Dropbox через вредоносное приложение, не так ли?Так что это должно было бы пойти: 1) Как-то скачать вредоносное приложение (само по себе на iOS); 2) Пользователь активно регистрируется в Dropbox через вредоносное приложение; 3) Атакующий может красть файлы. Если пользователь собирается войти в Dropbox в любом случае, злоумышленник может просто предоставить поддельный экран входа в «Dropbox» и украсть все * файлы пользователя таким образом. – Colen