dpapi: wtf?
Aug. 28th, 2008 03:54 pmчитаю про windows data protection:
DPAPI initially generates a strong key called a MasterKey, which is protected by the user's password. DPAPI uses a standard cryptographic process called Password-Based Key Derivation, described in PKCS #5, to generate a key from the password. This password-derived key is then used with Triple-DES to encrypt the MasterKey, which is finally stored in the user's profile directory.
The MasterKey, however, is not used explicitly to protect the data. Instead, a symmetric session key is generated based on the MasterKey, some random data, and any additional entropy, if an application chooses to supply it. It is this session key that is used to protect the data. The session key is never stored. Instead, DPAPI stores the random data it used to generate the key in the opaque data blob. When the data blob is passed back in to DPAPI, the random data is used to re-derive the key and unprotect the data.
http://msdn.microsoft.com/en-us/library/ms995355.aspx
перевожу вкратце: из user credentials генерируется симметричный ключ, которым кодируются данные. использованный ключ сохраняется в файловой системе (но не весь целиком в одном месте, а по частям).
это только мне кажется, что это лажа какая-то? в смысле - не особенно секьюрно.
DPAPI initially generates a strong key called a MasterKey, which is protected by the user's password. DPAPI uses a standard cryptographic process called Password-Based Key Derivation, described in PKCS #5, to generate a key from the password. This password-derived key is then used with Triple-DES to encrypt the MasterKey, which is finally stored in the user's profile directory.
The MasterKey, however, is not used explicitly to protect the data. Instead, a symmetric session key is generated based on the MasterKey, some random data, and any additional entropy, if an application chooses to supply it. It is this session key that is used to protect the data. The session key is never stored. Instead, DPAPI stores the random data it used to generate the key in the opaque data blob. When the data blob is passed back in to DPAPI, the random data is used to re-derive the key and unprotect the data.
http://msdn.microsoft.com/en-us/library/ms995355.aspx
перевожу вкратце: из user credentials генерируется симметричный ключ, которым кодируются данные. использованный ключ сохраняется в файловой системе (но не весь целиком в одном месте, а по частям).
это только мне кажется, что это лажа какая-то? в смысле - не особенно секьюрно.
(no subject)
Date: 2008-08-28 11:11 pm (UTC)(no subject)
Date: 2008-08-28 11:56 pm (UTC)Выглядит нормально
(no subject)
Date: 2008-08-29 12:40 am (UTC)Мне кажется, ты просто не понял что там написано. Ключом из user credentials не шифруются данные.
мне кажется, это ты не понял, что я написал :)
откуда, например, взялся "ключ из user credentials"? что это такое, вообще? я писал: из user credentials генерируется симметричный ключ. что верно в том смысле, что чтобы сгенерировать ключ [для кодирования собственно данных], нужен Master Key, для получения которого нужны user credentials.
(no subject)
Date: 2008-08-29 12:55 am (UTC)Чтобы воссоздать ключ - нужно знать пароль. Никакие куски с файловой системы, никакой перехваченный трафик без пароля ценности не имеют
Система стойкая ровно настолько, насколько врагу трудно раздобыть пароль (ну, отметая возможность перебора 3DES)
(no subject)
Date: 2008-08-29 01:19 am (UTC)про файловую систему я подразумевал, что врагу доступны не куски, а целиком. а про трафик я не говорил ничего, но раз уж ты brought it up, то network password sniffer-ов есть как собак нерезаных. я как-то пробовал один - не помню точно, как он назывался - вроде бы там были в названии буквы l, r, d, g - и он вполне себе работал как заявлено. так что при возможности врага слушать трафик о какой-либо защите вообще не имеет смысла говорить. вопрос же мой фокусировался на случае, когда врагу достался жёсткий диск.
(no subject)
Date: 2008-08-29 01:45 am (UTC)Это заметно! Ничего, скоро перестанешь пытаться сохранить какие-то остатки технических знаний, прекратишь постить тупые гиковские шутки про SQL и в компьютерах тебя будет интересовать только не вышла ли новая версия Power Point :-)
про файловую систему я подразумевал, что врагу доступны не куски, а целиком
Пофигу. Даже компания разработавшая висту не смогла бы сделать настолько тупую систему. Максимум что можно извлечь с диска (ну если в свопе не копаться) - masterkey зашифрованный ключом из пароля. Если пароль известен - то и говорить не о чем, если неизвестен - задача сводится к перебору 3DES
Создать session key без masterkey нельзя
(no subject)
Date: 2008-08-29 01:28 am (UTC)(no subject)
Date: 2008-08-29 01:45 am (UTC)ну это даже для менеджера как-то совсем...
(no subject)
Date: 2008-10-09 04:46 pm (UTC)