Тонкости авторизации: обзор технологии oauth 2.0

Каковы объекты и субъекты криминалистической идентификации?

Идентифицируемыми объектами, т.е. объектами, отождествление которых составляет задачу процесса идентификации, являются: 

  • люди (обвиняемые, подозреваемые, потерпевшие и пр.);
  • различные материальные предметы (обувь, одежда, орудия преступления, транспортные средства и др.);
  • животные, растения;
  • участки местности, помещения и т.п.

В качестве идентифицирующих объектов, т.е. объектов, с помощью которых решается задача идентификации, изучают:

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

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

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

Процесс токен авторизации

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

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

2016

SMS-пароли признаны небезопасными

Национальный Институт стандартов и технологий США (The National Institute of Standards and Technology, NIST) представил летом 2016 года предварительную версию будущего Digital Authentication Guideline (документа, который установит новые нормы и правила в отношении цифровых методов аутентификации): механизм SMS OTP изначально для аутентификации не предназначался и не может считаться полноценным фактором аутентификации.

В документе содержится прямое указание на то, что использование SMS-сообщений для двухфакторной аутентификации может являться «недопустимым» и «небезопасным» (секция документа 5.1.3.2).

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

Хотя документ рекомендует производителям использовать в своих приложениях токены и криптографические идентификаторы, авторы поправок также отмечают, что смартфон или другое мобильное устройство всегда могут быть украдены, или могут временно находиться в руках другого человека» — говорится в документе NIST.

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

  • Замена SIM карты с использованием поддельных документов
  • Использование уязвимостей в протоколе OSS-7
  • Переадресация вызовов у оператора мобильной связи
  • Ложные базовые станции
  • Специализированные троянские программы для смартфонов, перехватывающие SMS пароли

Еще одним методом может считаться взлом шлюза между банком и оператором связи.

То обстоятельство, что механизм SMS-паролей используется всеми банками, открывает для хакеров широкие перспективы. Очевидно, что написав один раз троян для смартфона, его можно использовать для атаки на все российские банки, при его (трояна) минимальной кастомизации.

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

Одноразовые пароли через SMS

  • задержки в доставке
  • возможность перехвата на уровне канала связи или ввода в систему
  • возможность перехвата на уровне оператора мобильной связи
  • возможность переоформления сим-карты клиента на мошенника по поддельной доверенности (и перехвата SMS)
  • возможность направления клиенту SMS-сообщений с подменного номера
  • рост операционных затрат пропорционально клиентской базе

Одноразовые пароли через PUSH

  • негарантированная доставка
  • прямой запрет Apple//Microsoft на использование для передачи конфиденциальной информации
  • предназначение – только информирование

Исследователи продемонстрировали простую атаку для обхода двухфакторной аутентификации

Ученые из Амстердамского свободного университета Радхеш Кришнан Конот (Radhesh Krishnan Konoth), Виктор ван дер Вен (Victor van der Veen) и Герберт Бос (Herbert Bos) продемонстрировали практическую атаку на двухфакторную аутентификацию с использованием мобильного устройства. Исследователи продемонстрировали атаку «Человек в браузере» (Man-in-the-Browser) против смартфонов на базе Android и iOS.

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

Исследователи продемонстрировали атаку с использованием установки уязвимого приложения через Google Play. Им удалось успешно обойти проверку Google Bouncer и активировать приложение для перехвата одноразовых паролей.

Для атаки на iOS исследователи использовали новую возможность OS X под названием Continuity, позволяющую синхронизировать SMS-сообщения между iPhone и Mac. Если этот функционал активирован, злоумышленнику достаточно иметь доступ к компьютеру, чтобы прочитать все SMS сообщения.

Согласно исследователям, приложение для хищения одноразовых паролей было добавлено в Google Play 8 июля 2015 года и оставалось доступно для пользователей в течение двух месяцев, до выхода видео с демонстрацией атаки.

Компания Apple была уведомлена 30 ноября 2015 года, однако исследователи не получили ответ.

Взаимосвязь идентификации, аутентификации и авторизации

Наверное, вы уже догадались, что все три процедуры взаимосвязаны:

  1. Сначала определяют имя (логин или номер) – идентификация
  2. Затем проверяют пароль (ключ или отпечаток пальца) – аутентификация
  3. И в конце предоставляют доступ – авторизация

Инфографика: 1 — Идентификация; 2 — Аутентификация; 3 — Авторизация

Проблемы безопасности при авторизации

Помните, как в сказке «Красная Шапочка» бабушка разрешает внучке войти в дом? Сначала бабушка спрашивает, кто за дверью, затем говорит Красной Шапочке, как открыть дверь. Волку же оказалось достаточным узнать имя внучки и расположение дома, чтобы пробраться в дом.

Какой вывод можно сделать из этой истории?

Каждый этап авторизации должен быть тщательно продуман, а идентификатор, пароль и сам принцип авторизации нужно держать в секрете.

1 Определение понятия

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

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

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

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

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

Механизм аутентификации

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

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

Субъектом в данном случае является человек, узнавший заветные слова, открывающие двери в пещеру. Его характеристикой является кодовая фраза «Сим-сим, откройся!». Хозяином системы являются, понятное дело, 40 разбойников. Механизм аутентификации — принцип работы системы — устройство, реагирующее на кодовые слова. Управляет доступом механизм, открывающий/закрывающий двери в пещеру.

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

Многоразовые пароли имеют целый ряд недостатков:

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

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

Виды аутентификации

Пользователи интернета в моем представлении подразделяются на оптимистов и параноиков. Оптимисты не заморачиваются кодами и сложными паролями. Фамилия, дата рождения или слово “qwerty” вполне могут стать их паролем от аккаунта в соцсети или электронной почты. Главное, чтобы было легко запомнить.

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

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

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

Со временем для разных случаев появились такие виды аутентификации:

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

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

Аутентификация на основе сессий

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

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

Процедура аутентификации на основе сессий:

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

У этого метода несколько недостатков.

  • При каждой аутентификации пользователя сервер должен создавать у себя запись. Обычно она хранится в памяти, и при большом количестве пользователей есть вероятность слишком высокой нагрузки на сервер.
  • Поскольку сессии хранятся в памяти, масштабировать не так просто. Если вы многократно реплицируете сервер, то на все новые серверы придётся реплицировать и все пользовательские сессии. Это усложняет масштабирование. (Я считал, этого можно избежать, если иметь выделенный сервер для управления сессиями, но это сложно реализовать, да и не всегда возможно.)

Виды идентификации

следователь (следственная идентификация);

судья;

прокурор;

эксперт;

специалист.

По идентифицирующему объекту

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

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

идентификация целого по частям;

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

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

идентификация по признакам общего происхождения;

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

идентификация по мысленному образу.

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

По характеру результата

индивидуальная идентификация (установление индивидуально-конкретного тождества);

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

Отнесение объекта к некоторой совокупности проводится на основе изучения его групповых признаков и сопоставления их с теми же признаками других объектов этого класса. Так, форма гильзы, ее размеры и конструктивные особенности позволяют судить о том, в оружии какой системы (модели) она была использована. Установлением групповой принадлежности приходится ограничиваться и тогда, когда в следах нет совокупности признаков, необходимой для индивидуального отождествления искомого объекта.

Разновидностью установления групповой принадлежности считается определение единого источника происхождения

Как можно подтвердить свою личность?

Большинство приложений и сервисов предлагают пользователю на выбор такие варианты двойной аутентификации:

  • Ввести код, который пользователь получает в SMS или email, после того, как он ввел логин и пароль. Это самый распространенный и простой способ, но у него есть свои недостатки: например, SMS с паролем могут перехватить через уязвимость в протоколе , через который они передаются.
  • Ввести код, который генерируется в отдельном приложении-аутентификаторе. Специалисты называют этот способ более надежным , к тому же он остается доступен пользователю, даже если у него нет мобильной связи. Чтобы им воспользоваться, нужно сначала установить одно из таких приложений (например, Google Authenticator, Twilio Authy, Duo Mobile, «Яндекс.Ключ»), а потом выбрать в меню нужного сервиса (например, Facebook) вариант двойной аутентификации через приложение. На экране появится QR-код, который нужно будет отсканировать через это приложение — и им сразу можно пользоваться.
  • Многие сервисы (например, Facebook и «ВКонтакте») также генерируют для пользователя некоторое количество резервных кодов, которые он может использовать в случае, если у него не будет мобильной связи или он потеряет телефон. Для этого нужно заранее распечатать или сохранить эти коды в надежном месте.

Кроме того, есть еще несколько видов подтверждения входа, которые используют реже:

  • Физический ключ безопасности: это устройство в виде USB-флэшки (для использования со смартфоном ее иногда оборудуют NFC и Bluetooth-интерфейсами) . Такой ключ можно использовать для входа в те же соцсети, но столь серьезный подход, скорее, имеет смысл для хранения очень важных данных.
  • Подтверждение личности с помощью биометрии. Этот способ пока не используется в широко распространенных сервисах типа соцсетей.

Гарантирует ли двухфакторная аутентификация абсолютную безопасность?

«В идеале второй фактор для входа должен приходить пользователю на другое устройство, не на то, с которого осуществляется вход в учетную запись, — говорит старший эксперт по кибербезопасности «Лаборатории Касперского» Денис Легезо. — Риск появляется при использовании одного и того же устройства и для входа в учетную запись, и для получения одноразового пароля. Если атакующие смогли заразить это устройство определенными видами троянцев, то считать одноразовый пароль защищенным больше не получится. Но по сравнению со сценарием, когда пользователь вовсе не включает двухфакторную аутентификацию, даже вариант с одним устройством выглядит несравненно лучше».

Что, если второе устройство потеряли?

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

Другие формы аутентификации

  • Взаимная аутентификация — это процесс, с помощью которого каждая сторона в электронном сообщении проверяет личность другой. Например, банк явно заинтересован в достоверной идентификации владельца счета до того, как разрешить перевод средств; однако клиент банка также финансово заинтересован в том, чтобы знать, что он обменивается данными с сервером банка, прежде чем предоставлять какую-либо личную информацию.
  • Цифровой сертификат . Цифровой сертификат — это электронная «кредитная карта», которая устанавливает ваши учетные данные при ведении бизнеса или других транзакциях в Интернете. Он выдается центром сертификации (ЦС). Он содержит ваше имя, серийный номер, даты истечения срока действия, копию открытого ключа держателя сертификата (используется для шифрования сообщений и цифровых подписей) и цифровую подпись органа, выдающего сертификат, чтобы получатель мог проверить, что сертификат настоящий. Некоторые цифровые сертификаты соответствуют стандарту X.509. Цифровые сертификаты могут храниться в реестрах, чтобы аутентифицирующие пользователи могли искать открытые ключи других пользователей. ). Цифровые сертификаты используются в различных транзакциях, включая электронную почту, электронную торговлю и электронный перевод средств. В сочетании с шифрованием и цифровыми подписями цифровые сертификаты предоставляют отдельным лицам и организациям возможность конфиденциального обмена информацией, чтобы каждая сторона была уверена, что человек или организация, с которыми они общаются, на самом деле являются тем, за кого они себя выдвигают.
  • Аутентификация геометрии руки — методы геометрии руки используют характеристики формы руки, такие как длина и ширина пальца. Это приводит к довольно небольшому объему данных (около 9 байт), что ограничивает их применение только для простых целей аутентификации. Кроме того, их поведение, связанное с выполнением вышеуказанных свойств, является умеренным. Радужная оболочка, круглая цветная мембрана, окружающая зрачок глаза, представляет собой уникальную структуру, состоящую из определенных характеристик, таких как полосы, борозды, кольца, крипты, волокна и корона. Узоры радужки отличаются очень высокой отчетливостью, даже у близнецов они разные. Вероятность того, что у двух особей одинаковый рисунок радужной оболочки, составляет примерно 10 ^ -52 ^. Вероятность того, что два разных шаблона радужной оболочки глаза приведут к одному и тому же коду радужной оболочки, используемому биометрической системой (около 256 байт), ничтожно мала (около 10 ^ -78 ^), что обеспечивает почти идеальную точность совпадения.
  • Проверка подлинности Kerberos — это форма проверки подлинности, которая предоставляет механизм для проверки подлинности клиента и сервера или сервера на сервере.
  • Аутентификация CHAP — это форма механизма однорангового протокола (PPP), используемая аутентификатором для аутентификации однорангового узла.
  • Количественная проверка подлинности. Количественная проверка подлинности — это подход к проверке подлинности, при котором кто-то, запрашивающий доступ, должен достичь определенного «уровня проверки подлинности», прежде чем ему будет предоставлен доступ. Были проведены подробные обсуждения количественной аутентификации.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector