Занимательная математика и не менее занимательный идиотизм.
Набрел на прекрасное с подачи одного из моих подписчиков.
Кому лень читать - в Москве планируется выдача колокольчика в нос Qr-кода для того, чтобы выйти из дома. То есть буквально: мусор хочешь выбросить - получи код. В магазин надо сходить - получи код.
Для работающих, впрочем, послабление будет:
Для получения кодов, позволяющих доехать до офиса, сайтом мэрии должен воспользоваться и работодатель — подать список работников с фотографиями и паспортными данными (подписав такую заявку цифровой подписью). После проверки информации в ДИТ, экономическом блоке правительства Москвы, главном контрольном управлении правительства Москвы и Федеральной налоговой службе работник получает постоянный QR-код для поездок на работу.
Я никоим образом не собираюсь плевать йадом в сторону вобщем-то чужой мне страны, уехал - забыл, меня заинтересовала чисто техническая составляющая вопроса. Итак, немного скучных цифр:
1. В Москве, по данным статистики, на сегодняшний день проживает примерно 12 500 000 человек (чуть больше, но примем эту цифру). Вычтем младенцев, паралитиков, лежачих больных, примем количество оставшихся за 10 000 000. Вычтем "работников силовых ведомств", пусть останется 9 000 000. Раз в день на улицу надо выйти хотя бы один раз на работу и хотя бы один раз по своим делам, так-то: выбросить мусор, выгулять собаку, сходить в магазин. Предположим, что все граждане Москвы поголовно компьютеризированы, никто не имеет никаких проблем с доступом в Интернет, Итого минимум 18 000 000 запросов к системе за получением этого самого кода. В сутки.
Примем, что доблестная русская полиция проверяет одного из ста граждан. Проверяет всерьез: надо не просто какой-то левый QR-код показать, у полиции есть считыватели, они отправляют запросы и проверяют код на самом деле. Это еще 180 000 запросов в сутки. Так как при подаче заявки требуется наличие фото, то это один запрос на валидность QR-кода, а второй - запрос фотографии гражданина для сличения. Итого около 300 000 запросов в сутки.
Учтем, что по ночам граждане спят, и пик запросов на получение этого самого кода будет приходиться на утро и вечер, если, конечно, система работает так, что возможно оформить запрос на завтра. Если нет - то около 85% (грубая оценка) запросов будет приходиться на период с 6 утра до 8 утра.
То есть нужна инфраструктура, которая способна обработать 18,000,0000x0.85/120 = 127000 запросов в минуту на получение QR-кодов плюс еще 208 запросов проверки в минуту (ну это уже мелочи).
Теперь про постоянный QR-код для поездок на работу: По данным Росстата в настоящий момент в Москве и прилегающих районах зарегистрировано около 500000 предприятий. Как следует из абзаца, выделенного италиком, необходимо:
1. Создать структуру для выдачи (и, соответственно, проверки) 500,000 цифровых подписей (я не учитываю частников, работающих чисто на себя как ИЧП).
2. В четырех ведомствах, указанных выше, проверить 500,000 заявок, каждая из которых представляет собой список с фотографиями и паспортными данными каждого работника.
3. Сгенерировать и распространить эти самые QR-коды для каждого работающего.
Предположим, что эти четыре ведомства работают по 8 часов в день и тратят на каждую заявку по одной минуте в каждом ведомстве (У немецкой полиции проверка документов на улице в довирусные времена занимала около 3-х минут, я наблюдал процедуру со стороны на главном вокзале неоднократно. Но так как дело происходит не в богомерзкой Гейропе, в которой даже нет православных скреп, предположим, что все-таки одна минута, а не три). Предположим, что все заявки оформлены правильно, нет ни одной ошибки ни в одном из номеров паспортов, нет ни одной опечатки, все идеально, у всех ведомств есть доступ к паспортным данным он-лайн и он работает вообще без задержек. Итого каждый день ФНС (она указана последней) будет выдавать 480 заявок. Округлим до 500. Для того, чтобы обработать 500,000 заявок понадобится 1000 рабочих дней. Принимая количество рабочих дней в году за 250 (247, на самом деле) мы получаем ровно четыре года только для выдачи постоянных QR-кодов для поездок на работу. Повторюсь, речь идет о ситуации, когда работники всех 4-х упомянутых ведомств даже не чихают, не говоря уже о том, что разумеется они не ходят в туалет, не пьют чай и не п...дят часами в курилках. Вместо этого они обрабатывают заявки бизнесов. Одну заявку в минуту. Как швейцарские часы.
Но вернемся к вопросу получения QR-кода для выгула собаки. Мы имеем 127000 запросов в минуту в тяжелом случае или, предполагая, что ночь и день не отличаются и запросы сыплются равномерно - 18,000,000/24/60 = 12500 запросов в минуту в этом случае.
Запрос должен как-то обрабатываться. Должна быть какая-то логика, например, "ты уже выбрасывал мусор сегодня, отказать в коде для выброса мусора". Или "ты получал код для похода в магазин на этой неделе один раз, сегодня среда, код получался в понедельник, ОК, ладно на тебе код для магазина". Если логики нет, и коды выдаются автоматически, зачем они тогда вообще нужны? Смысл в разрешении, если оно выдается автоматически, без применения логики? То есть надо анализировать частоту выдачи определенного типа кода определенному человеку, вводить некие нормы ("мусор - не чаще раза в сутки, магазин - не чаше двух раз в неделю, аптека - ....") и анализировать каждый из этих запросов. Каждый. Это минимум парочка запросов типа select на каждый запрос. В свое время мы решали сходную задачу на проекте, связанном с телефонными системами, те из моих коллег, кто меня читает, помнит это славное время и штуки типа Oracle Database In-Memory и все связанные с этим прелести.
Да, все эти рассуждения как бы по умолчанию принимают пропускную способность сетей достаточной для такого рода запросов.
Собственно, у меня все. Буду рад любому комментарию профессионалов. Идея о том,что это очередная кормушка для полицаев и попил бабла - не предлагать, это по умолчанию.
- cynic's blog
- Login to post comments
12500 запросов в
12500 запросов в минуту при современном проектировании это не такая уж и нагрузка, k8s + IaaS все это давно умеют 'изкаропки'.
Тут другое пишут - истинность утверждений не проверял:
DOFH - DevOps from the hell, [01.04.20 14:21]
[Переслано из IT и СОРМ]
Промежуточные итоги изучения приложения для слежки за жителями Москвы:
— Приложение получает доступ (https://t.me/itsorm/1572) ко всей информации на телефоне: GPS, камера, местоположение, возможность звонить, просмотр любых данных, доступ к любым настройкам.
— Приложение передаёт собранную информацию (https://t.me/itsorm/1561) на серверы мэрии в открытом виде (https://t.me/itsorm/1562) без какого-либо шифрования. Это провал.
— Для распознавания лиц, приложение использует эстонский сервис (https://t.me/itsorm/1564) identix.one — то есть, передаёт фотографии в эстонскую юрисдикцию и на серверы, расположенные в Германии. Обе страны входят в НАТО.
— Разработкой приложения занимается (https://t.me/itsorm/1567) компания «Гаскар», подрядчик «Инфогорода».
— В QR-кодах зашифрованы (https://t.me/itsorm/1574) MAC и IMEI (индивидуальные идентификаторы) устройства.
— На приложение было потрачено (https://zona.media/news/2020/03/31/monitoring) 180 млн рублей. Судя по его качеству, украдено было 99% бюджета.
Это полнейший провал и позорище. ДИТ Москвы должен быть разогнан палками за такое.
DOFH - DevOps from the hell, [01.04.20 14:21]
[Переслано из IT и СОРМ]
Утром мэрия вытащила руководителя ДИТа Эдуарда Лысенко отдуваться в эфире Эха Москвы (https://echo.msk.ru/programs/razvorot-morning/2616757-echo/) за этот провал.
Он сначала нёс какую-то полнейшую ахинею, что «это тестовая версия приложения» и его выложили для того, чтобы «собрать обратную связь с профессионального сообщества» (в бюджете на 180 млн рублей денег на нормальное закрытое тестирование не нашлось?), потом начал съезжать, что это приложение только для больных, которые лечатся на дому, и вообще, если человек не хочет ставить его на свой телефон, то мы дадим ему свой (что?).
Но после этой нелепой ахинеи, Лысенко начал совсем уж нагло врать:
— Зачем ваше приложение использует эстонский сервис для распознавания лиц identix.one и отправляет персональные данные на серверы в Германии?
Лысенко: Это какие-то домыслы. На самом деле, ничего никуда не передается. Во-первых, не передаются никакие фотографии в принципе. Во-вторых, тот код биометрический, который появляется, он попадает исключительно на сервера ДИТа. То есть у нас система видеоаналитики существует. Она обрабатывает все это здесь. И никаких законов мы не нарушаем.
― Подождите, но сервис эстонский identix.one вы используете?
Лысенко: Мы не используем этот сервис из-за рубежа вообще. Мы используем алгоритмы различные, для того чтобы давать биометрический код. Но туда (в Эстонию) никаких обращений и уже тем более передачи данных не осуществляется.
Да что вы говорите, Эдуард?
В скриншоте под этим постом код (https://github.com/iTaysonLab/gorkiy/blob/0ed9ca5be84df0c94fb07934ac89f8...) вашего приложения, который передаёт персональные данные на сервер api.identix.one.
Проделаем элементарные процедуры:
1. Узнаём (https://imgur.com/a/GfzJqRj) IP-адрес домена api.identix.one: 213.239.199.3;
2. Узнаём (https://imgur.com/a/r94DTVM), кому принадлежит этот IP-адрес и где он находится: немецкий хостер Hetzner, датацентр в Нюрнберге.
Ещё раз, Эдуард Анатольевич: ваше приложение передаёт фотографии жителей Москвы эстонской компании на серверы в Нюрнберге.
Это факт.
Вы не отвертитесь от этого никак.
Дальше Лысенко снова что-то невнятно мычит про то, что приложение на самом деле не запрашивает доступа к файловой системе телефона, но тут могу только привести скриншот (https://t.me/itsorm/1572) с запросом прав со страницы приложения в Google Play.
Затем Лысенко говорит, что вот-вот доделают систему выдачи QR-кодов, которые должны будут иметь все, кто выходит из дома в Москве.
Прелесть какая.
Прелесть какая. Следующий шаг - запрет эксплуатации телефонов без этого приложения.
Так как суть
Так как суть именно в том, чтобы перемещения ограничить, система, в которой код получить невозможно, например из-за ее перегрузки, является наилучшим вариантом :).
Если серьезно - скорее всего никто еще потенциальную нагрузку не рассчитывал и вся эта мутотень придумала на коленке на совещании людьми, далекими от разработки нагруженных систем. Посему в ближайшее время мы увидим дополнения, отменяющие QR коды для собак и мусора, и упрощающие процедуру для работодателей. Список работодателей, скорее всего, тоже будет сильно прорежен по принципу важности для функционирования систем города.
И если уж на то пошло, для проверки валидности QR кода вовсе не нужен запрос на сервер, ее можно делать оффлайн, и без всяких фотографий, которые можно посмотреть в паспорте, обязав владельца прихватить его на прогулку. Точно так же никто не обещает проводить дополнительные проверки и выдавать QR код в режиме реалтайм, он может посылаться запросившему асинхронно хоть бы даже и смской в два часа ночи. А подача заявки - операция намного менее вычислительнозатратная.
В итоге все сведется к тому, что на домохозяйство будут выдавать в асинхронном режиме 3-4 кода в неделю, что уже вполне реалистично.