---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/support/browser-passwords-crypto/en/without-master.md
  - https://yandex.com/support/browser-passwords-crypto/ru/without-master.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/support/browser-passwords-crypto/ru/llms.txt

# Шифрование без мастер-пароля

Этот вариант защиты менее надежен, чем шифрование с мастер-паролем. Хранилище паролей шифруется ключом, который хранится на компьютере и защищается средствами операционной системы. Получив доступ к компьютеру или жесткому диску, хакеры могут украсть и расшифровать пароли.

## Процедура шифрования без мастер-пароля {#procedure}

Если пользователь не создал мастер-пароль, шифрование паролей в браузере проходит следующие этапы:

1. Браузер [генерирует](https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8_%D1%81%D1%82%D0%BE%D0%B9%D0%BA%D0%B8%D0%B9_%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80_%D0%BF%D1%81%D0%B5%D0%B2%D0%B4%D0%BE%D1%81%D0%BB%D1%83%D1%87%D0%B0%D0%B9%D0%BD%D1%8B%D1%85_%D1%87%D0%B8%D1%81%D0%B5%D0%BB) случайный ключ [EncKey](*EncKey) длиной 256 бит.
1. С помощью этого ключа браузер зашифровывает пароли от сайтов, используя алгоритм [AES](https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard)-256 в режиме [GСM](https://ru.wikipedia.org/wiki/Galois/Counter_Mode). Режим GCM в ходе шифрования включается для того, чтобы обеспечить целостность данных при последующей [синхронизации](#synch). Через GCM хешируются и валидируются URL, логин и разметка полей.
1. Ключ [EncKey](*EncKey) шифруется встроенной в браузер функцией OSCrypt и в таком виде хранится на компьютере. Функция OSCrypt использует разные алгоритмы шифрования в зависимости от операционной системы (см. таблицу).

#|
|| **Операционная система** | **Шифрование _EncKey_** ||
|| Windows | Вызывается функция `CryptProtectData/CryptUnprotectData`, которая шифрует [EncKey](*EncKey) с помощью алгоритма [AES](https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard)-256 (Windows 7) или [3DES](https://ru.wikipedia.org/wiki/Triple_DES) (Windows XP, Vista). Ключ, с помощью которого зашифрован [EncKey](*EncKey), хранится в профиле пользователя в ОС. ||
|| macOS | Используется алгоритм шифрования [AES](https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard)-128-CBC. Ключ шифрования хранится в защищенном хранилище [Keychain](https://support.apple.com/ru-ru/HT204085). ||
|| Linux | Используется алгоритм шифрования [AES](https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard)-128-CBC. Ключ шифрования хранится в защищенном хранилище KeyStorage. ||
|#


{% cut "Пример 1. Шифрование ключа EncKey в Windows без мастер-пароля" %}

Исходный ключ шифрования паролей [EncKey](*EncKey):

```javascript
Mh6lu1xRuZFo/qJ2yktfJch2nAzlgY4+OPADyLQYfrkbR0hxae9M5nVdafthJa2QHG18sZbf2VOxveH87naRb3vq3oJykfxlVHX4bllYDCcLISzHZVnxF2yMM0r4BXl8Uq+nuINiWx8kaKtrULrdwnMGU6eOuOLZvv/wLDzQvz74iuQUgoR3NSpOByFnY/BkAmGWbQ5KXTYqqIcrcqkG1xb3EAQGEG8KGPtQsTvLsHL1QdjteMZ9CBBLAWjYd/kdrZsx+MU96XMEA+ViBU0ot35cAPVBeWgAyMZhvM9sYy4zB2HrCg+n14kSc85OjNEqAChQDeHVtcbBfyshnKB0Qg==
```

Ключ, с помощью которого зашифровывается [EncKey](*EncKey), генерируется функцией `CryptProtectData` и располагается в каталоге:

```no-highlight
C:\Пользователи\Имя вашей учетной записи\AppData\Roaming\Microsoft\Protect
```

Ключ _EncKey*_ (в [base64](https://ru.wikipedia.org/wiki/Base64)), зашифрованный ключом, который сгенерировала функция `CryptProtectData`:

```javascript
AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAApRUs2Bmwq0O4LpCRrIGKQAAAAAACAAAAAAADZgAAwAAAABAAAAAttmGwtWQIgR+ugd6cMwB1AAAAAASAAACgAAAAEAAAAKXn3AtX945aXjv2nFEYf6soAAAAFoZEF0y2DY4+JtCPwkZb68tXEHiZHMPRhJIrMzQA+QF6E6iJBGZD+RQAAAAnmL25O/Rbm8JaMS9cwZZAWtjEGA==
```


{% endcut %}


Когда пользователь хочет вставить пароль в форму авторизации, браузер расшифровывает [EncKey](*EncKey) средствами операционной системы, а затем расшифровывает нужный пароль.


## Уязвимости шифрования без мастер-пароля {#vulnerability}

- В Windows любая программа (в том числе вредоносная) может попросить операционную систему расшифровать [EncKey](*EncKey) и таким образом получить доступ к паролям.
- Ключ шифрования хранится на компьютере. Получив доступ к компьютеру или жесткому диску, злоумышленники могут украсть ключ. Если они получат ключ, то легко смогут расшифровать [EncKey](*EncKey) и ваши пароли.
- На разных компьютерах используются разные функции шифрования паролей, поэтому в процессе синхронизации пароли отправляются на сервера Яндекса в расшифрованном виде.
- На серверах Яндекса пароли хранятся, зашифрованные ключом, который так же хранится на сервере Яндекса. Это небезопасно.


## Синхронизация паролей {#synch}

При [синхронизации](https://yandex.ru/support/browser/device/sync.html) хранилища, не защищенного мастер-паролем, на сервер отправляется хранилище паролей от сайтов в расшифрованном виде. Поскольку ключ [EncKey](*EncKey) шифруется с помощью разных алгоритмов на различных ОС компьютера, расшифровывать их приходится тоже средствами ОС перед синхронизацией.

На серверах Яндекса все пароли шифруются с помощью ключа, созданного на основе пароля от Яндекс ID пользователя и в таком виде хранятся на серверах. Поскольку ключ шифрования также хранится на сервере Яндекса, этот способ является менее безопасным, чем синхронизация хранилища, защищенного мастер-паролем.

Перед тем как переслать пароли на другие устройства пользователей, они расшифровываются на сервере, а на самом устройстве шифруются по алгоритму [AES](https://ru.wikipedia.org/wiki/Advanced_Encryption_Standard)-256-GCM с заново сгенерированным ключом [EncKey](*EncKey) и в таком виде хранятся на устройстве. Ключ [EncKey](*EncKey) шифруется, используемый алгоритм шифрования и место хранения ключа [зависят](#procedure) от ОС устройства.


{% include [butt-ind](_includes/button-support-3217b95fdbeb.md) %}


[*EncKey]: Ключ, зашифровывающий хранилище паролей.
