Windows master key file

Password Recovery Software

Section menu

Articles and video

Windows Password Recovery — DPAPI Master Key analysis

Master Key is 64 bytes of data, which are used as the primary key when decrypting a DPAPI blob. A user’s Master Key is encrypted with the user’s logon password.

Set path to Master Key file and specify user SID

All of that user’s Master Keys are located in %APPDATA%\Microsoft\Protect\%SID%. For example,
C: \Users\ John\ AppData\ Roaming\ Microsoft\ Protect\ S-1-5-21-2897849034-3956381361-16091305341-1001\ 23ab9bc1-9397-4cb1-ab74-7166ed6a8713
The system’s Master Keys are stored in %SYSTEMDIR%\Microsoft\Protect folder.

Analyzing Master Key

A Master Key file is a binary structure, which consists of a service header and four slots, namely:
the actual user’s Master Key, the local encryption key (for unprotecting local backup key), local backup key (in Windows 2000) or CREDHIST GUID (in Windows XP and higher) and domain backup key.

The Master Key structure list consists of attribute names (i.e. binary fields) and values that correspond with them. Each section is uniquely colored:

— field with header attributes
— slot with user’s Master Key attributes
— slot with Local Encryption Key attributes
— slot with Local Backup Key or CREDHIST file’s GUID attribute
— slot with Domain Backup Key attributes

Now, a little more detail.

Header attributes
User’s Master Key attributes
Local Encryption Key attributes
Local Backup Key attributes (Windows 2000)
CREDHIST file’s GUID attributes (Windows XP and higher)
Domain Backup Key attributes

To decrypt user’s Master Key, you must know that user logon password. From the context menu, you can check the password for that Master Key and even try to guess one using a dictionary. However, don’t flatter yourself too much. While in Windows 2000 the search speed is ranged in tens and even hundreds of thousand passwords per second, in Windows 7 the count goes by single items. See the table below (the speed is measured for a single-core of CPU Intel Q8400 2.66GHz).

BACKUP MASTER KEY (Transact-SQL) BACKUP MASTER KEY (Transact-SQL)

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions)

Выполняет экспорт главного ключа базы данных. Exports the database master key.

Синтаксические обозначения в Transact-SQL Transact-SQL Syntax Conventions

Синтаксис Syntax

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям. To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

Аргументы Arguments

FILE =’path_to_file‘ FILE =’path_to_file
Указывает полный путь и имя файла, в который экспортируется главный ключ базы данных. Specifies the complete path, including file name, to the file to which the master key will be exported. Это может быть локальный путь или UNC-путь к сетевой папке. This may be a local path or a UNC path to a network location.

Читайте также:  Windows create empty file

PASSWORD =’password‘ PASSWORD =’password
Пароль, используемый для шифрования главного ключа базы данных в файле. Is the password used to encrypt the master key in the file. Пароль проходит проверку сложности. This password is subject to complexity checks. Дополнительные сведения см. в разделе Политика паролей. For more information, see Password Policy.

Комментарии Remarks

Главный ключ должен быть открыт и, таким образом, расшифрован, прежде чем производится его резервное копирование. The master key must be open and, therefore, decrypted before it is backed up. Если он зашифрован главным ключом службы, то его не нужно открывать явным образом. If it is encrypted with the service master key, the master key does not have to be explicitly opened. Но если главный ключ зашифрован только паролем, его явное открытие обязательно. But if the master key is encrypted only with a password, it must be explicitly opened.

Рекомендуется создать резервную копию главного ключа сразу же после его создания и затем сохранить в надежном месте. We recommend that you back up the master key as soon as it is created, and store the backup in a secure, off-site location.

Разрешения Permissions

Требует разрешения CONTROL для базы данных. Requires CONTROL permission on the database.

Примеры Examples

В следующем примере производится создание резервной копии главного ключа базы данных AdventureWorks2012 . The following example creates a backup of the AdventureWorks2012 master key. Поскольку главный ключ не зашифрован главным ключом службы, для его открытия необходимо указать пароль. Because this master key is not encrypted by the service master key, a password must be specified when it is opened.

Восстановление главного ключа базы данных Restore a Database Master Key

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions)

В этом разделе описывается, как восстановить главный ключ базы данных в SQL Server SQL Server при помощи Transact-SQL Transact-SQL . This topic describes how to restore the database master key in SQL Server SQL Server by using Transact-SQL Transact-SQL .

Перед началом Before You Begin

Ограничения Limitations and Restrictions

Когда главный ключ восстановлен, SQL Server SQL Server дешифрует все ключи, зашифрованные текущим активным главным ключом, и затем шифрует эти ключи с помощью восстановленного главного ключа. When the master key is restored, SQL Server SQL Server decrypts all the keys that are encrypted with the currently active master key, and then encrypts these keys with the restored master key. Данную ресурсоемкую операцию следует планировать на то время, когда количество обращений к серверу минимальное. This resource-intensive operation should be scheduled during a period of low demand. Если текущий главный ключ базы данных не открыт или не может быть открыт, или если какой-либо зашифрованный им ключ не может быть дешифрован, операция восстановления заканчивается неудачно. If the current database master key is not open or cannot be opened, or if any of the keys that are encrypted by it cannot be decrypted, the restore operation fails.

Если во время расшифровки любого объекта произойдет ошибка, восстановление будет прервано. If any one of the decryptions fails, the restore will fail. Чтобы пропускать ошибки, можно использовать параметр FORCE, но это приведет к потере всех данных, которые не удается расшифровать. You can use the FORCE option to ignore errors, but this option will cause the loss of any data that cannot be decrypted.

Если главный ключ был зашифрован главным сервисным ключом, восстановленный главный ключ также будет зашифрован главным сервисным ключом. If the master key was encrypted by the service master key, the restored master key will also be encrypted by the service master key.

Читайте также:  Как отключить службу браузер компьютеров windows 10

Если в текущей базе данных нет главного ключа, RESTORE MASTER KEY создает главный ключ. If there is no master key in the current database, RESTORE MASTER KEY creates a master key. Новый главный ключ не будет автоматически шифроваться главным сервисным ключом. The new master key will not be automatically encrypted with the service master key.

Безопасность Security

Разрешения Permissions

Требует разрешения CONTROL для базы данных. Requires CONTROL permission on the database.

В среде SQL Server Management Studio с помощью Transact-SQL Using SQL Server Management Studio with Transact-SQL

Восстановление главного ключа базы данных To restore the database master key

Сохраните резервную копию главного ключа базы данных с физического носителя данных резервных копий или из папки локальной файловой системы. Retrieve a copy of the backed-up database master key, either from a physical backup medium or a directory on the local file system.

В обозревателе объектов подключитесь к экземпляру компонента Компонент Database Engine Database Engine . In Object Explorer, connect to an instance of Компонент Database Engine Database Engine .

На стандартной панели выберите пункт Создать запрос. On the Standard bar, click New Query.

Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. Copy and paste the following example into the query window and click Execute.

Путь к файлу ключа и пароль ключа (если он существует) будет отличаться от вышеуказанного. The file path to the key and the key’s password (if it exists) will be different than what is indicated above. Убедитесь, что оба этих параметра соответствуют настройке конкретного сервера и ключа. Please make sure that both are specific to your server and key set-up.

Дополнительные сведения см. в разделе RESTORE MASTER KEY (Transact-SQL) For more information, see RESTORE MASTER KEY (Transact-SQL)

OPEN MASTER KEY (Transact-SQL) OPEN MASTER KEY (Transact-SQL)

Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse Применимо к: Applies to: SQL Server SQL Server (все поддерживаемые версии) SQL Server SQL Server (all supported versions) База данных SQL Azure Azure SQL Database База данных SQL Azure Azure SQL Database Управляемый экземпляр SQL Azure Azure SQL Managed Instance Управляемый экземпляр SQL Azure Azure SQL Managed Instance Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Azure Synapse Analytics Параллельное хранилище данных Parallel Data Warehouse Параллельное хранилище данных Parallel Data Warehouse

Открывает главный ключ текущей базы данных. Opens the Database Master Key of the current database.

Синтаксические обозначения в Transact-SQL Transact-SQL Syntax Conventions

Синтаксис Syntax

Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics. This syntax is not supported by serverless SQL pool in Azure Synapse Analytics.

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям. To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

Аргументы Arguments

password‘ ‘password
Пароль, которым был зашифрован главный ключ базы данных. The password with which the Database Master Key was encrypted.

Комментарии Remarks

Если главный ключ базы данных был зашифрован с помощью главного ключа службы, то он автоматически будет открываться при необходимости расшифровать или зашифровать ключ. If the database master key was encrypted with the service master key, it will be automatically opened when it is needed for decryption or encryption. В этом случае инструкцию OPEN MASTER KEY использовать не нужно. In this case, it is not necessary to use the OPEN MASTER KEY statement.

Читайте также:  Pear os linux � ����������� mac os 11 big sur pear os cupertino 2021

При первом присоединении базы данных к новому экземпляру SQL Server SQL Server или ее восстановлении копия главного ключа базы данных (зашифрованная главным ключом службы) еще не хранится на сервере. When a database is first attached or restored to a new instance of SQL Server SQL Server , a copy of the database master key (encrypted by the service master key) is not yet stored in the server. Необходимо расшифровать главный ключ базы данных с помощью инструкции OPEN MASTER KEY. You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Как только главный ключ базы данных будет расшифрован, появится возможность разрешить автоматическую расшифровку в будущем с помощью инструкции ALTER MASTER KEY REGENERATE, чтобы оставить на сервере копию главного ключа базы данных, зашифрованного с помощью главного ключа службы. Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). После обновления базы данных с переходом от более ранней версии главный ключ базы данных должен быть создан повторно для использования нового алгоритма шифрования AES. When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Дополнительные сведения о повторном создании главного ключа базы данных см. в статье ALTER MASTER KEY (Transact-SQL). For more information about regenerating the DMK, see ALTER MASTER KEY (Transact-SQL). Время, необходимое для повторного создания главного ключа базы данных с обновлением до алгоритма шифрования AES, зависит от числа объектов, защищаемых главным ключом базы данных. The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. Повторное создание главного ключа базы данных с обновлением до алгоритма шифрования AES необходимо произвести только один раз. Это никак не повлияет на последующие операции повторного создания, выполняемые в соответствии со стратегией смены ключей. Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy.

При помощи инструкции ALTER MASTER KEY с параметром DROP ENCRYPTION BY SERVICE MASTER KEY можно запретить автоматическое управление главным ключом определенной базы данных. You can exclude the Database Master Key of a specific database from automatic key management by using the ALTER MASTER KEY statement with the DROP ENCRYPTION BY SERVICE MASTER KEY option. После этого необходимо явно открыть главный ключ базы данных с помощью пароля. Afterward, you must explicitly open the Database Master Key with a password.

При откате транзакции, в которой главный ключ базы данных был явно открыт, этот ключ останется открытым. If a transaction in which the Database Master Key was explicitly opened is rolled back, the key will remain open.

Разрешения Permissions

Требует разрешения CONTROL для базы данных. Requires CONTROL permission on the database.

Примеры Examples

В приведенном далее примере открывается главный ключ базы данных AdventureWorks2012 , зашифрованный с помощью пароля. The following example opens the Database Master Key of the AdventureWorks2012 database, which has been encrypted with a password.

Примеры: Azure Synapse Analytics Azure Synapse Analytics и Параллельное хранилище данных Parallel Data Warehouse Examples: Azure Synapse Analytics Azure Synapse Analytics and Параллельное хранилище данных Parallel Data Warehouse

В приведенном далее примере открывается база данных master, зашифрованная с помощью пароля. The following example opens the database master, which has been encrypted with a password.

Оцените статью