Что-нибудь вроде DPAPI доступно для .NET Compact Framework или Windows Mobile? - PullRequest
1 голос
/ 15 апреля 2009

Мне нужен способ защитить закрытый ключ на мобильном устройстве.

Я знаю, что в главе «Написание безопасного кода» «Защита секретных данных» говорится, что «Windows CE» нельзя использовать в защищенных средах. Но этой книге уже много лет, 2003 год.

Это все еще так? Скажи мне, что это не так. Сегодня должен быть способ защитить личный ключ.

Ответы [ 4 ]

3 голосов
/ 21 апреля 2009

DPAPI реализован в наборе функций Win32, CryptProtectData и CryptUnprotectData . Эти функции доступны на платформах Windows CE и Windows Mobile (см. Ссылки), хотя я не знаю, в какой версии они добавили поддержку.

.NET-оболочкой для DPAPI является класс ProtectedData в пространстве имен System.Security.Cryptography (сборка System.Security.dll). Однако я не думаю, что .NET Compact Framework пока реализует это, поэтому вам придется использовать P / Invoke, если вы используете .NET.

1 голос
/ 08 мая 2009

Если у пользователя есть доступ к устройству, то нет, вы не можете на 100% надежно хранить ключ. Вы можете поднять планку, но не можете ее снять.

Вы должны получить доступ к ключу, например. Пользователь вводил имя пользователя и / или пароль или отправлял на устройство другим способом (например, асимметричным шифрованием по сетевому соединению). Вот что рекомендует безопасность для программистов Windows Mobile.

Любой способ хранения ключа на устройстве может быть реконструирован. Это включает в себя использование CryptProtectData и CryptUnprotectData API.

0 голосов
/ 30 апреля 2009

http://www.windowsfordevices.com/news/NS5217487259.html?kc=rss

Веб-трансляция посвящена безопасности для программистов Windows Mobile

Похоже, это будет хорошо.

0 голосов
/ 18 апреля 2009

Что не так с использованием стандартных алгоритмов шифрования?

...