Как работают QR-коды Covid-19 на госуслуги?

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

Что такое QR-код?


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

Что за ссылка?


Ссылка вот такого вот вида
https://www.gosuslugi.ru/covid-cert/verify/8240000111117399?lang=ru&ck=2bbbc4a8a15442f33af9x3a5f56f5258

Нас в этой ссылке интересуют только два параметра, которые я выделил красным.
Первый параметр - это номер самого сертификата, он очевидный.

Второй же параметр - это хэш, который может быть хэшем практически чего угодно, Начиная от "ИМЯ:ФАМИЛИЯ:ДЕНЬ РОЖДЕНИЯ КОТА БРАТА СЛЕДУЮЩЕГО В ОЧЕРЕДИ" и заканчивая вообще полностью случайными уникальными хэшами которые ни с чем не связаны и никак их не подобрать. Я думаю очевидно, что брутфорсить такой хэш не имеет смысла. Даже если точно знать номер сертификата и вдруг выяснить, из чего же собирается данный хэш, подобрать абсолютно случайно значения в него входящие будет крайне сложно.

Можно ли подменить ссылку и как проверяют?


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

https://www.gosusugi.ru/covid-cert/verify/8240000111117399?lang=ru&ck=2bbbc4a8a15442f33af9x3a5f56f5258

И да, при проверке используя камеру телефона и невнимательном проверяющем такое когда-то работало.

Сканируя QR-коды через приложение и просто проверяя паспорт всё становится на свои места.