Скидки до 50% и курс по ИИ в подарок 2 дня 12 :27 :27 Выбрать курс
Код
#статьи

Что такое верификация и зачем она нужна

Докажите, что вы не робот, чтобы прочитать эту статью.

Иллюстрация: Оля Ежак для Skillbox Media

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

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

Содержание


Что такое верификация

Слово «верификация» происходит от латинского vērificātiō — «подтверждение истины». В широком смысле это проверка чего-либо на соответствие установленным критериям.

Мы встречаемся с верификацией каждый день.

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

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

Для примера немного переиначим знаменитый «утиный тест»:

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

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

Степень достоверности зависит от контекста и рисков: для входа в аккаунт соцсети достаточно пароля и кода из СМС, а для одобрения крупного кредита потребуется множество документов и личное присутствие.

Принципы верификации

Чтобы процесс верификации был надёжным, он должен опираться на три принципа.


Достоверность источника

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

Полнота информации

Чтобы принять решение, нужна вся необходимая информация. Банку потребуется ваш паспорт, ИНН, СНИЛС и документы, которые подтверждают доходы. Если список не будет полным, банк откажет.

Объективность и воспроизводимость

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

Аналогично код верификации, присланный в СМС, проверяет один и тот же аккаунт одинаково для любого пользователя.

Основные методы верификации

Верификация чаще всего используется для доступа к аккаунтам, услугам, помещениям и устройствам. Основные методы ориентированы именно на эти задачи.


Код подтверждения (СМС или email)

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

Как это работает:

  • пользователь указывает номер телефона или адрес электронной почты при регистрации;
  • если пользователь вытается войти, система генерирует временный код и отправляет его на указанный номер или адрес;
  • пользователь вводит код в приложении или на сайте, и система проверяет совпадение.

Загрузка документов

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

Биометрическая верификация

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

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

Зачем нужна верификация в разных сферах

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


Подтверждение личности

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

Соцсети

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

Деловые операции

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

Производство

Производители обязаны следовать требованиям. Чтобы продукция попала на прилавки, она должна пройти лабораторные тесты и проверки на соответствие стандартам. Если проходит — значит, она безопасна для покупателей. Именно поэтому Роспотребнадзор рекомендует покупать только сертифицированные продукты и держаться подальше от неофициальных точек продажи — вроде продавцов домашних солений на обочинах.

Разработка ПО

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

Анализ требований — это стартовая точка для верификации. При нём нужно убедиться, что техзадание и документация чётко отражают требования заказчика.

Ревью кода. Код должен быть понятным и следовать стандартам, чтобы в будущем его было проще менять и исправлять.

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

Формальная верификация. При ней с помощью математических методов убеждаются, что система работает как надо.

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

Медицинская диагностика

Если врач при осмотре предполагает диагноз, то одних результатов осмотра мало, чтобы его поставить. Сначала пациенту нужно сдать анализы и пройти методы диагностики — УЗИ, ЭКГ и тому подобные. Только после этого врач сможет официально поставить диагноз и назначить лечение.

Научные исследования

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

Журналистика

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

Верификация, валидация, идентификация, авторизация: в чём разница

Эти термины часто встречаются в контексте безопасности, разработки ПО и работы с данными, но их нередко путают. Разберём, чем они отличаются друг от друга.


Верификация

Верификация проверяет, созданы ли продукт, система или процесс строго по заданным требованиям и стандартам. По сути, это вопрос: «Мы сделали то, что планировали?»

Что проверяем? Соответствие техническим спецификациям, стандартам или документации.

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

Верификация сосредоточена на процессе создания — верификаторы проверяют, всё ли идёт по плану.

Валидация

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

В сфере разработки с помощью валидации проверяют, решает ли продукт задачу пользователя и оправдывает ли его ожидания. Валидация отвечает на вопрос: «Мы сделали то, что действительно нужно людям?»

Что проверяем? Полезность и соответствие реальным потребностям.

Выпустили приложение для заказа еды. Валидация — это когда пользователи говорят: «Класс, всё удобно, еда приходит быстро!» Если приложение работает по ТЗ, но никто не может в нём разобраться, то верификация пройдена, а вот валидация — нет.

Валидация сосредоточена на результате и удовлетворении пользователя.

Идентификация

Идентификация определяет, кто или что перед нами. Система спрашивает: «Кто вы?» Вы отвечаете: вводите логин, номер телефона или показываете паспорт. Пока что это просто заявление о личности, без доказательств.

Что проверяем? Уникальную сущность: человека, устройство, аккаунт.

Представиться перед новыми знакомыми или ввести логин в соцсети — это идентификация.

Идентификация только выясняет, кто есть кто, без проверки прав или подлинности.

Авторизация

Авторизация решает, какие действия или ресурсы доступны уже идентифицированному пользователю. Авторизация отвечает на вопрос: «Ты имеешь на это право?»

Что проверяем? Полномочия объекта.

Тестировщик вошёл в рабочую систему как сотрудник — прошёл идентификацию. Авторизация определила, что у него есть доступ к просмотру кода продукта, но не к редактированию.

Авторизация контролирует доступ на основе ролей и прав.

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

Что запомнить

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

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

Верификация отличается от идентификации, валидации и авторизации. Верификация проверяет соответствие стандартам, валидация — полезность, идентификация устанавливает сущность, а авторизация определяет её права.

Больше интересного про код — в нашем телеграм-канале.  Подписывайтесь!





Курс с помощью в трудоустройстве

Профессия Специалист по кибербезопас­но­сти + ИИ

Научитесь искать уязвимости, отражать вторжения и уменьшать их последствия — и начните зарабатывать на этом.

Узнать о курсе →

Бесплатный курс по кибербезопасности
Пройдите курс и узнайте реальные техники взлома и защиты веб-серверов. Решите 3 практические задачи и получите ценные подарки.
Пройти курс →
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована