10 апреля 2018

Стандарт Web безопасности FIDO2

Стандарт безопасности Web приложений FIDO2 вышел на заключительную стадию сертификации под именами WebAuthn и CTAP и получил официальную поддержку Microsoft.

Стандарт безопасности для Web приложений FIDO U2F, продвинутый Google до уровня официального стандарта FIDO 1.0 ещё в 2014 году, обеспечивает безопасность аккаунтов Google, Facebook, Dropbox и прочих известных сервисов с помощью аппаратных ключей FIDO U2F уже пятый год на Chrome OS и основных браузерах, за исключением Edge и Safari. За это время к поддержке данного стандарта присоединились Mozilla и Opera со своими браузерами, однако Apple и Microsoft на отрез отказывались следовать этому стандарту, чтобы не давать Web приложениям возможности называться более защищёнными от взлома аккаунта по умолчанию, чем iOS и Windows приложения.

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

В итоге, поскольку далее делать вид, что безопасность аккаунтов пользователей в Интернет их совершенно не интересует, Microsoft уже не мог, он предложил принять "новый" стандарт FIDO 2.0, полностью несовместимый с предыдущей версией, чтобы разочаровать пользователей Google Chrome и ликвидировать своё отставание, начав гонку с чистого листа. Google естественно не согласился с таким подходом и предложил присоединиться к существующему стандарту FIDO 1.0, который прекрасно работает и по сей день.

В результате длившихся около двух лет торгов Google и Microsoft в очередной раз пришли к компромисному соглашению, по которому новый стандарт под именем FIDO2 будет принят, но при этом будет обязательно совместим с FIDO 1.0, так что существующие безопасные Web приложения и сайты переделывать не придётся, равно, как и пользователям не придётся менять свои ключи безопасности формата FIDO U2F. При этом, Microsoft официально признал стандарт FIDO2 и обещал "в самое ближайшее время" приступить к реализации этого стандарта в браузере Microsoft Edge.

Полагаю, что после выхода версии Microsoft Edge с поддержкой FIDO2, в дополнение к ранее уже поддержававшим стандарт Google Chrome, Mozilla Firefox и Opera, компания Apple тоже присоединиться к стандарту FIDO2, так как не захочет оставаться с единственным браузером, которым нельзя пользоваться для Интернет банкинга.

В общем, в ближайший год-два Web версии приложений ведущих компаний по всей видимости окончательно получат статус наиболее безопасных по умолчанию и десктопные версии приложений типа "клиент-банк" повсеместно отомрут (возможно в России это произойдёт на несколько лет позже).

Небольшое техническое примечание для любителей закона о персональных данных

Существующий стандарт FIDO 1.0, равно, как и новый FIDO2, изначально не подразумевают хранения приватных ключей и персональных данных на стороне какого-то одного провайдера, в т.ч. Google. Каждый сайт или Web приложение должны независимо от других создать и поддерживать у себя локально лишь перечень зарегистрированных за пользователем ключей безопасности. При этом, сами приватные ключи пользователя, генерируются и храняться внутри его ключей безопасности и никогда не передаются наружу, в том числе и зарегистрировавшему их сайту, таким образом не покидая рук пользователя и не позволяя отслеживать его действия на одном сайте другому сайту.

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

Тот факт, что данные стандарты продвигал Google, вовсе не свидетельствует о желании его всех пересчитать, а лишь о желании сделать Web приложения самыми безопасными для пользователей, чем улучшить всю экосистему в целом, включая сторонние и даже полностью закрытые Web приложения. Исчерпывающие технические подробности, подтверждающие эти слова, вы можете прочитать в стандарте WebAuthn (официальное название стандарта от W3C).
Отправить комментарий