А если злоумышленник поставит привязанный джейлбрейк или загрузится с пропатченным диском?
Честно говоря я допускаю, что проверка может пропустить.... они же не смотрят исходный код приложения :)
В любом случае слежу за вашим приложением, как будем клиент для десктопа и андроида - потестим :)
Насколько я знаю, они тестируют бинарник. Предварительно проводится куча автоматических тестов, в том числе и на передачу/прием данных
Хороший совет) При реализации равнялся на Boxcryptor и 1Password. Оба freemium, поддерживают разных облачных провайдеров
Если ключ генерируется из пароля, имеет ли смысл хранить хэши?
Предусмотрена ли процедура изменения пароля пользователя через определенные сроки?
AES полностью "ручками" написан или опять же применяется готовый продукт?
Тестировалась ли стойкость именно этой реализации?
Пардон за количество вопросов, но действительно интересно стало=)
Хэш имеет смысл хранить, иначе как проверить валидность пароля при новой сессии?
Пароль изменить нельзя, пока такой функции нет. При желании можно удалить приложение и установить заново. Правда, расшифровать файлы в облаке будет невозможно.
Писать известный алгоритм шифрования ручками не рекомендуется. В проекте используется CommonCrypto, библиотека с открытым исходным кодом от Apple.
Стойкость не тестировалась, в дипломной работе не предусматривается этот раздел. А по-хорошему надо)
Задавай еще, с удовольствием отвечу)
Бэкап не предусмотрел. Повторюсь - "В открытом виде ключ пользователя не хранится, а хранится только хэш от него в защищенном хранилище Keychain"
Идея очень неплохая, жаль потестить не могу. Но тут же возникает ряд вопросов.
Какой генератор используется для ключей, каков период жизни ключей и в каком виде они хранятся?
И зачем же сразу унижать пикабушников предположением того, что они не отличат криптопримитив, хэш-функцию и БСШ?)
Ключи генерируются с помощью библиотеки CommonCrypto по стандарту PBKDF2. При регистрации пользователь регистрирует пароль, который действует в течение всех валидных сессий. Для каждого файла также генерируется отдельный ключ. В открытом виде ключ пользователя не хранится, а хранится только хэш от него в защищенном хранилище Keychain. А унижать я никого не хотел, просто не стал грузить излишней информацией)
На устройстве можно установить пасскод и Touch ID. 4-хсимвольный цифровой пасскод можно подобрать минут за 20. После этого все ваши данные/пароли/фотки/приложения доступны злоумышленнику.
Про алгоритм шифрования нужно больше подробностей. А то было уже приложение, которое заголовок XOR`ом шифрует и все.
В описании приложения добавить? Я не стал описывать подробности, потому что среднестатистический пользователь вряд ли отличит XOR от SHA или AES. Я использую AES-256
Дорогой друг, а каковы гарантии, что вы не будете воровать данные из дропбоксов пользователей ? Каков процесс обращения к файлам с десктопов, если они были зашифрованы на телефоне ?
Перед публикацией в App Store приложение тестируют. При наличии скрытого функционала или функционал, описанного Вами, приложение просто не пройдет Review. Если открыть Dropbox хранилище не в моем приложении, то вы увидите зашифрованные файлы в расширением .cryptex

