Как защитить сохраненные данные пользователя: телефонные номера? - PullRequest
3 голосов
/ 21 января 2012

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

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

Редактировать: Это вопрос безопасности и конфиденциальности ... Я хочу, чтобы кто-нибудь, взломавший мою систему, не смог получить ни один из телефонных номеров, даже если у них полныйдоступ к базе данных.

Ответы [ 2 ]

4 голосов
/ 21 января 2012

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

Теперь, если вы хотите еще больше защитить ключ дешифрования, вы можете сделать эту систему недоступной для администраторов, установив пароль, который никто не знает, идля хорошей меры вы можете отключить все методы входа в систему.О, и убедитесь, что ключ существует только в памяти. НЕ НА ДИСКЕ!

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

3 голосов
/ 21 января 2012

Я думаю, что шифрование - ваша единственная ставка.Вам нужно будет зашифровать телефонные номера, но разрешить доступ к ключу только программным / сервисным приложениям.Вы можете хранить ключ в удаленной системе, и приложение через SSH или SSL получает ключ, сохраняя его только в памяти.Это не означает, что ключ на 100% безопасен от администраторов, но это просто телефонные номера, которые не могут представить, что кто-то тратит много сил на мобильные номера.

...