Просмотрите это: http://www.redkestrel.co.uk/Articles/StoringSecrets.html
Отличная статья о ваших возможностях.
Тем не менее, я думаю, что ваш сценарий использования уже довольно хорошо изначально покрыт самими окнами через EFS .... http://technet.microsoft.com/en-us/library/cc700811.aspx
Просто хотел добавить одну вещь:Принципиально невозможно защитить «секрет» от тех, кто имеет физический доступ к машине.Это было проверено время и снова даже для жестких дисков, которые поддерживают собственные схемы шифрования.
Все, что вы можете сделать, это сделать это несколько сложнодля тех, кто понятия не имеет, что они делают.
Основная проблема заключается в том, что что-то должно иметь доступ к ключу дешифрования.Будь то BIOS компьютера, прошивка жесткого диска или даже если он хранится в какой-то папке, скрытой через DPAPI.Это означает, что единственный эффективный способ - заставить пользователя предоставить необходимые учетные данные, когда пришло время для шифрования / дешифрования файлов.
Если эти полномочия достаточно короткие, то можно использовать грубую силу, чтобы добраться до них.В настоящее время рекомендуется использовать минимальную длину ключа 128 бит или более.Конечно, если вы ограничены в использовании обычных букв, то количество проверяемых битов резко уменьшается.И если вы допустите значения, подобные тем, которые встречаются в словарях для взлома, тогда время для взлома будет уменьшаться.
Еще одним недостатком являются клавиатурные шпионы.Если он установлен (и он может быть скрыт от большинства пользователей), то все, что нужно сделать злоумышленнику, - это дождаться, пока пользователь введет свой пароль для расшифровки, и перенаправит его заинтересованной стороне.
Черт возьми, для действительно параноика, есть устройства, которые могут определять то, что вы печатали, основываясь только на звуке, который ваша клавиатура издает при вводе.Для других ОЗУ поддерживает состояние в течение определенного периода времени даже после выключения машины ...
Итак, что все это значит?Во-первых, вы должны попросить их предоставить учетные данные для каждого запроса шифрования / дешифрования.Во-вторых, они должны быть уверены, что кейлоггеры не установлены.В-третьих, учетные данные не могут быть легко запоминающимися.В-четвертых, компьютер не может находиться в физически доступном месте.В-пятых, даже клавиатура должна быть защищена ...
Все это создает ситуацию, в которой говорится, что если она находится на компьютере, ее может получить кто-то другой.