2013-05-15 3 views
0

У меня есть уникальный прецедент: мне нужно расширить автономное приложение для iPhone «EmergencyResponse» (имя изменено для этого сообщения), которое используется пациентами из группы риска. Пациенты/опекуны устанавливают приложение с информацией об их лекарствах, контактной информации врача, семейном контакте, информации и т. Д.Приложение iOS для экстренного реагирования - как защитить данные без пароля?

Приложение размещает сообщение на экране блокировки iPhone с помощью «Разблокировать телефон и открыть« EmergencyResponse », который поможет вам о том, как мне помочь »

Так что, если пациент уезжает куда-нибудь и появляется хороший самаритянин, они видят сообщение и продолжают открывать приложение на телефоне. Когда приложение открыто, хороший саммаран может увидеть сообщение «Привет, меня зовут Джон Смит. Если я нахожусь в беде, позвоните моей жене Джилл Смит в 123-456-7890 (Ячейка) ... и т. Д.« Хороший самаритянин тоже получает информацию о состоянии медицинского обслуживания пациентов, принимаемые лекарства и т. д. (все, что может помочь людям с чрезвычайным происшествием)

Компания, спонсируемая приложением, хочет удостовериться, что я использую шифрование без ущерба для использования (то есть пользователи не могут быть попросил пароль). Я думал о хранении ключа шифрования в коде. Элементы данных, хранящиеся в основных полях данных, могут быть зашифрованы ключом и незашифрованы, когда к базе данных необходимо получить доступ. Есть только ограниченный объем данных, и ничего не нужно запрашивать после того, как вы не шифруете данные, которые я мог бы хранить в объектах модели.

Перед тем, как свернуть рукава и начать, я надеялся получить какую-то полезную информацию о том, будет ли это работать, будь то лучший вариант или есть что-то еще, что будет работать лучше (я слышал о СОЛЬ списки - но никогда не использовали их)! С нетерпением ждем ваших ответов!

ответ

1

Две мысли:

1) просто хранить все данные в словаре в KeyChain - Я не уверен, что разумный предел, но я думаю, несколько тысяч байт не будет проблема.

2) Вы можете создать ключ шифрования при запуске, случайном и соленом и т. Д., А затем сохранить его в цепочке ключей.

Однако я не понимаю, почему вы хотите зашифровать вообще. Если этот человек теряет телефон, данные могут быть считаны с экрана, нет? Таким образом, вы просто хотите защитить данные в файловой системе, но это нормально для случайного человека, чтобы прочитать его с экрана?

+0

Спасибо! Вы правы, прецедент немного запутан! Хотя основная предпосылка заключается в том, что люди заслуживают доверия, клиент все еще испытывает тоску о конфиденциальности данных. Просто хочу убедиться, что у меня есть варианты шифрования, чтобы мы могли изучить некоторые практические решения/альтернативы ... например. если у человека была реальная чрезвычайная ситуация, тогда данные должны быть открыты, но если телефон потерян или украден, данные должны быть недоступны. – CoolDocMan

+0

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

+0

Мне нравится идея эмблемы с кодировкой QR. Это работает для этого случая использования! – CoolDocMan