Как получить симметричный ключ в Windows Phone 7? - PullRequest
0 голосов
/ 05 декабря 2010

Я работаю над приложением Windows Phone 7, которое требует некоторого шифрования данных. Мне трудно найти какую-либо документацию о наборе ключей или DPAPI для Windows Phone 7. У меня есть несколько способов, но у всех есть свои недостатки.

  1. Создайте случайный ключ шифрования и сохраните его в IsolatedStorage. Плюсы этого в том, что все просто и "просто работает". Минусы в том, что этот ключ, скорее всего, будет отображаться в файлах резервных копий и т. Д.

  2. Создайте случайный ключ и используйте идентификатор устройства для шифрования этого ключа. Плюсы в том, что он предлагает НЕКОТОРЫЕ лучшую защиту. Нетрудно определить идентификатор устройства. Минусы в том, что если они сделают резервную копию и восстановят ее на другом телефоне, ключ будет недействительным.

Пользовательский ввод не требуется (т.е. я не могу получить ключ из пользовательского ввода)

Мне не нравится ни один из двух. В Windows Phone 7 должно быть что-то вроде DPAPI или связки ключей. Или этого не хватает?

1 Ответ

1 голос
/ 06 декабря 2010

К сожалению, в настоящее время нет ключей / dpapi, доступных для управляемого кода. Если вы не можете попросить пользователя ввести данные, то вы застряли на одном из двух подходов. Лично мне нравится подход, в котором вы используете IMEI как часть ключа, т.е. (псевдокод) ...

shared_secret = sha512(newGuid + IMEI)

Преимущество такого способа заключается в том, что если телефон потерян или украден и SIM-карта будет заменена (для телефонов с SIM-картами, такими как GSM или Verizon LTE), данные останутся недоступными, и если они покинут старую SIM-карта для доступа к данным. Существует большая вероятность, что телефон будет найден и / или удален.

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