На первый взгляд затея кажется нелепой. Долгие годы безопасность вбивали в головы одной мантрой: пароль должен быть длинным, сложным, с цифрами и символами, и менять его надо почаще. И вдруг та же система предлагает заменить выстраданный двенадцатисимвольный пароль на четыре цифры и уверяет, что так будет безопаснее. Звучит как насмешка над здравым смыслом. Любой, кто хоть немного разбирается, первым делом возмутится: четыре цифры перебираются за секунды, какая тут защита.

И всё же за этим парадоксом стоит логика, которая переворачивает привычное представление о паролях с ног на голову. Дело не в том, насколько код сложен сам по себе, а в том, где он живёт и что произойдёт, если его украдут. Пароль и короткий код играют по разным правилам, и стоит разобраться в этих правилах, как кажущаяся нелепость оборачивается продуманным инженерным решением. Разница между ними не в длине, а в самой природе того, что защищает вход.

В чём коренное различие между паролем и кодом устройства

Главная мысль, которую нужно ухватить, проста и неожиданна. Пароль учётной записи это ключ, который работает где угодно. Зная его, злоумышленник войдёт в учётную запись с любого компьютера на планете, потому что пароль проверяется на стороне сервиса и не привязан к железу. Украл пароль, и весь мир открыт. Именно поэтому пароль приходится делать сложным: он должен выстоять против перебора, который ведётся откуда угодно и с какой угодно скоростью.

Короткий код для входа устроен принципиально иначе. Он привязан к конкретному устройству и работает только на нём. Сам по себе код никуда не передаётся и нигде не хранится в виде, пригодном для кражи. Он лишь отпирает криптографический ключ, который заперт в недрах конкретной машины. Узнав этот код, злоумышленник не получит ровным счётом ничего, пока у него нет в руках самого устройства. Код без машины бесполезен, как ключ от сейфа, которого нет рядом.

Вот тут и кроется разгадка парадокса. Длинный пароль защищает то, что можно атаковать удалённо и массово. Короткий код защищает то, что требует физического обладания устройством. Чтобы перебрать код, надо сначала украсть саму машину, а это уже совсем другой уровень риска, чем тихий удалённый подбор пароля где-то на другом конце света. Четыре цифры на украденном ноутбуке гораздо труднее обратить в проникновение, чем кажется, и причина этому лежит глубоко в железе.

Доверенный модуль как несгораемый сейф для ключей

Сердце этой защиты это специальная микросхема, встроенная в современные компьютеры, доверенный платформенный модуль. Это маленький защищённый криптопроцессор, спроектированный для одной задачи: безопасно хранить и обрабатывать криптографические ключи так, чтобы их нельзя было вытащить наружу. Микросхема снабжена физическими механизмами защиты от вскрытия, и вредоносные программы не способны обойти её барьеры, потому что ключи попросту не покидают пределов чипа.

Когда пользователь задаёт код для входа, система создаёт криптографический ключ и прячет его внутри этого модуля. Код, который вводит человек, не равен ключу, он лишь служит разрешением на использование ключа, запертого в железе. Даже если злоумышленник снимет диск с компьютера и заберёт все файлы, ключа там не будет, ведь он остался в микросхеме на материнской плате. Это и делает короткий код устойчивым: за ним стоит не текстовая строка в файле, а аппаратный сейф, вскрыть который кустарными методами невозможно.

Любопытно, что обычный локальный пароль такой защитой не пользуется. Система не связывает локальные пароли с доверенным модулем, и именно поэтому код для входа считается надёжнее локального пароля, а не наоборот. Пароль проверяется по сохранённому образу, который теоретически можно унести и атаковать в спокойной обстановке. Код же опирается на железо, которое унести вместе с ключом нельзя. Парадокс окончательно растворяется: короткие цифры, подпёртые аппаратным модулем, оказываются крепче длинной строки, лежащей в файле.

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

Пошаговая настройка кода для входа через параметры системы

Перейдём от теории к делу. Настройка кода живёт в параметрах системы, в разделе учётных записей, в подразделе вариантов входа. Открыть этот подраздел напрямую, минуя долгое хождение по меню, позволяет короткая команда из окна выполнения:

ms-settings:signinoptions

Она сразу выводит на страницу вариантов входа, где собраны все способы попасть в систему. Там среди прочего и находится настройка кода, помеченная как относящаяся к технологии Windows Hello.

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

Сама процедура проста. Выбрав настройку кода, система просит подтвердить личность вводом текущего пароля учётной записи, чтобы убедиться, что код задаёт владелец, а не случайный человек за оставленной без присмотра машиной. После подтверждения появляется поле для нового кода, который вводится дважды для проверки. По умолчанию код состоит как минимум из четырёх цифр, но это нижняя граница, а не обязательная длина. Завершив ввод, пользователь получает рабочий код, которым отныне и будет входить в систему быстро и без возни с длинным паролем.

Гибкость требований и усиление кода под корпоративные нужды

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

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

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

Честный взгляд на ограничения и условия надёжности

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

Поэтому прежде чем доверять входу короткому коду, разумно убедиться, что доверенный модуль в системе присутствует и задействован. Проверить его наличие и состояние помогает короткая команда, открывающая оснастку управления модулем:

tpm.msc

Эта оснастка покажет, есть ли модуль, готов ли он к работе и какой версии. Из командной строки то же самое узнают запросом через средство управления, выводящим сведения о модуле:

wmic /namespace:\\root\cimv2\security\microsofttpm path win32_tpm get IsEnabled_InitialValue,IsActivated_InitialValue

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

Есть и другая сторона, о которой умалчивают восторженные руководства. Сам по себе переход на код не решает всех вопросов защиты учётной записи, особенно если речь о записи, связанной с облачным сервисом, чей пароль всё равно существует и может быть атакован отдельно. Код улучшает локальный вход на конкретной машине, но не отменяет необходимости беречь основной пароль и пользоваться дополнительными слоями защиты вроде двухфакторного подтверждения. Полная картина безопасности складывается из нескольких мер, и код это лишь одна, пусть и удобная, её часть.

Смена, сброс и восстановление кода при разных неполадках

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

Сложнее ситуация, когда код забыт начисто. Здесь и пригождается то самое условие, что код нельзя настроить без пароля учётной записи. Забыв код, пользователь нажимает пункт, сообщающий, что код забыт, подтверждает личность паролем учётной записи и задаёт код заново. Запасной пароль выступает спасательным кругом, который вытаскивает человека из положения, когда основной способ входа вдруг выпал из памяти. Вот почему система так настойчиво требует пароль на этапе настройки: он остаётся последней дверью на случай беды.

Отдельная неприятность подстерегает после серьёзных изменений в системе или сбоев, когда код вдруг перестаёт приниматься, хотя пользователь уверен в его правильности. Иногда виной тому повреждение хранилища, в котором живут данные о способах входа, особой системной папки. В упорных ситуациях её содержимое очищают, после чего код задаётся с чистого листа. Папка эта лежит в недрах системного профиля, и путь к ней такой:

%WINDIR%\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc

Перед очисткой полезно убедиться, что доступ к папке есть, ведь она защищена правами, и для работы с ней нужны полномочия администратора. Само удаление содержимого через командную строку с правами администратора выполняется так:

takeown /f "%WINDIR%\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc" /r /d y
rmdir /s /q "%WINDIR%\ServiceProfiles\LocalService\AppData\Local\Microsoft\Ngc"

Первая команда забирает права владения папкой и её содержимым, без чего система не даст ничего удалить, вторая стирает саму папку со всем содержимым. После этого систему перезагружают, и при следующей настройке код создаётся заново на чистом месте. Это уже вмешательство для администратора, а не для рядового пользователя, и браться за него стоит, понимая, что именно и зачем удаляется.

Полезно держать в уме и связь кода с другими способами входа. Код часто служит запасным вариантом для биометрии: когда отпечаток или лицо по какой-то причине не распознаются, система предлагает войти по коду. Поэтому даже на машине с биометрическим входом код остаётся важной подстраховкой, и его не стоит задавать наобум, рассчитывая, что пользоваться им не придётся. В самый неподходящий момент, когда камера не видит лица в темноте или палец не читается мокрым, именно код спасает положение и пускает человека в систему.

Замена длинного пароля коротким кодом перестаёт казаться нелепостью, стоит понять, что за этими решениями стоят разные модели угроз. Пароль защищает от удалённого подбора и потому обязан быть сложным. Код защищает то, что заперто в конкретном устройстве, и опирается не на свою длину, а на аппаратный сейф и защиту от перебора. Разобравшись в этой разнице, пользователь делает осознанный выбор, а не следует моде, и получает вход, который и удобнее, и при правильных условиях надёжнее привычного пароля, хотя на вид и проще его в разы.