Флаги CRYPTPROTECT для функции CryptProtectData

Перешел к вопросу о внутреннем функционировании DPAPI...

Я (потенциально) в контексте предварительного входа в систему, что означает, что ни один пользователь еще не вошел в систему.

Поскольку функция CryptProtectData использует текущие учетные данные пользователя, как это будет действовать?

Мне было так интересно, есть ли какие-либо проблемы для этого или это просто непригодно для использования в этом контексте.

И... каким бы ни был ответ, кто-нибудь знает, какой (/как узнать) "ключ" используется для флага LOCAL_MACHINE. Какие учетные данные/идентификатор используются, чтобы сделать шифрование специфичным для машины?

Ответы/советы/перенаправления/предложения будут очень признательны


person Kianii    schedule 10.10.2018    source источник


Ответы (1)


В вашем случае вы должны использовать флаг CRYPTPROTECT_LOCAL_MACHINE для параметра dwFlags.

Если нет - только пользователь SYSTEM может расшифровать защищенные данные.

person Alexander    schedule 11.10.2018
comment
Это то, что я тоже догадался, но мне нравится понимать, что я использую. И это действительно выглядит бесполезно, как ... просто войдите в гостевую сессию, и вы свободны! Я надеялся, что кто-нибудь скажет мне привет! Все хорошо ! Это более безопасно, чем вы думаете, потому что... - person Kianii; 11.10.2018
comment
Внутренности криптографического ключа, используемого для шифрования данных, не раскрываются, но доказано, что этот ключ можно передавать между разными компьютерами одного домена (перемещаемые профили). - person Alexander; 11.10.2018
comment
если вы будете использовать флаг CRYPTPROTECT_LOCAL_MACHINE, любой пользователь на этой машине (даже гость) сможет расшифровать эти данные. - person Alexander; 11.10.2018
comment
Ну, спасибо, что не успокоили меня тогда! =D (С включенными перемещаемыми профилями еще хуже...) Тем не менее, ответ. - person Kianii; 11.10.2018