Область техники, к которой относится изобретение
[0001] Настоящее техническое решение относится к веб-технологиям, точнее к технологиям выпуска сертификатов веб-сайтов и валидации сертификатов в веб-браузере при посещении пользователем веб-сайтов.
Уровень техники
[0002] В настоящее время для верификации веб-сайтов (в сети Интернет) распространены сертификаты SSL (Secure Sockets Layer). Протокол SSL реализован на application-уровне, непосредственно над TCP (Transmission Control Protocol), что позволяет более высокоуровневым протоколам (таким как НТТР\ HTTPS или протоколу электронной почты) работать без изменений. Если SSL сконфигурирован корректно, то сторонний наблюдатель может узнать лишь параметры соединения (например, тип используемого шифрования), а также частоту пересылки и примерное количество данных, но не может читать и изменять их. TLS (англ. transport layer security - протокол защиты транспортного уровня), как и его предшественник SSL (англ. secure sockets layer - слой защищенных сокетов), - криптографические протоколы, обеспечивающие защищенную передачу данных между узлами в сети Интернет. TLS и SSL используют асимметричное шифрование для аутентификации, симметричное шифрование для конфиденциальности и коды аутентичности сообщений для сохранения целостности сообщений.
[0003] Поскольку HTTPS принято во всем мире в различных онлайн-сервисах, например, электронный бизнес, электронное банковское обслуживание и электронное управление, TLS, краеугольный камень HTTPS, играет важную роль в защищенных веб-соединениях через компьютерная сеть. В TLS аутентификация и безопасное соединение создание основано на инфраструктуре открытого ключа (PKI), эмитентом которого являются центры сертификации (ЦС).
[0004] Подписывая и выдавая сертификаты, центры сертификации предоставляют информацию о доверия и гарантии целостности веб-сайта, конфиденциальности и говорит о минимизации рисков перехвата веб-трафика.
[0005] Указанные протоколы широко используется в приложениях, работающих с сетью Интернет, таких как веб-браузеры, работа с электронной почтой, обмен мгновенными сообщениями и IP-телефония. Сегодня существует свыше тысячи центров сертификации, выдающих сертификаты веб-сайтам. Например, Symantec, Thawte, Verisign, Geotrust и другие. Веб-мастер или владелец сайта, чтобы получить сертификат от одной из сертифицирующих организаций, должны выплачивать (каждый год) платежи, чтобы попасть в список сертифицированных сайтов и продолжать находится в списке. Каждый из таких центров использует свои базы данных, инфраструктуру и системы хранения. Поэтому, и веб-браузеры должны поддерживать совместимость со структурами данных для обмена информацией с центрами сертификации. Используемая на сегодня структура имеет большую степень децентрализации, демонстрирует низкую степень единообразия структуры хранения данных, а также сильно подвержена компрометации и фрод-атакам.
[0006] В известном решении US 2017330179 А1, опубл. 16 ноября 2017 г. на 26 стр. , описывает способ выпуска аутентификационной информации на сервере, использующем блокчейн. Способ включает этапы: (а) управления сервером при получении данных пользоватея, приобретаемых от пользователей устройства в ответ на запрос для выдачи информации аутентификации и идентификации информации. Определяется наличие информации, и создаются сделки, результаты которых включают в себя: (I) конкретные публичные ключи пользователя и (II) хэш-значения идентификационной информации или их обработанные значения, чтобы тем самым сделать запись для других устройств; и (III) управляющий сервер, получающий идентификатор транзакции, представляет информацию о местоположении транзакции, записанной в блокчейне.
Раскрытие изобретения
[0007] Перечисленные выше проблемы ведут к тому, что при компрометации центра сертификации или при отказе оборудования центра, сразу большое количество веб-сайтов, при попытке получения доступа к ним через веб-браузер, испытывают проблемы с верификацией сертификаты, выпущенного скомпрометированным центром. Более того, в силу технологических особенностей применение blockchain технологий, создается децентрализованная система хранения данных о сертификации веб-сайтов.
[0008] Другой целью настоящего технического решения является предоставление более дешевой технологии с более надежной защитой и более эффективным использованием, которое может заменить существующий цифровой сертификат, или использоваться как дополнение и\или дублирующая технология. В вариантах настоящего решения, настоящее техническое решение используется как арбитражная система при разрешении споров о выпущенном сертификате или данных компании и доменного имени, от лица которых был выпущен сертификат, в том числе, при передаче прав на домен и\или при продаже компании.
[0009] Технический результат настоящего решения заключается в реализации контроля доступа к веб-сайту.
[0010] В вариантах настоящего решения компьютерно-реализуемый способ валидации вебсайта в веб-браузере включает в процедуру первоначальной регистрации веб-сайта - выпуск записи в цепочке блокчейн. Запись в цепочке блокчейн регистрируется в связи с веб-сайтом. В записи также указывают учетные данные веб-сайта. Затем регистрируют транзакцию, связанную с блокчейн-записью в цепочке блокчейн. Транзакция включает блокчейн-токен с показателем. Транзакция также ассоциирована с веб-сайтом. После регистрации в блокчейн токена и записи о веб-сайте, веб-сайт считается зарегистрированным и подтвержденным.
[0011] В вариантах настоящего решения при получении запроса от пользователя, веб-браузер проводит проверку наличия блокчейн-записи, связанной с учетными данными вебсайта, в блокчейне; и проверку текущего показателя блокчейн-токена, связанного с вебсайтом, при которой в ответ на то, что текущий показатель блокчейн-токена меньше, чем первичный показатель, не валидируют текущий запрос; или, в ответ на то, что текущий показатель блокчейн-токена больше, чем первичный показатель, валидируют текущий запрос.
[0012] В вариантах настоящего решения анализируют характер изменения текущего показателя блокчейн-токена, которым может являться увеличение или уменьшение показателя блокчейн-токена.
[0013] В вариантах настоящего решения после валидации текущего запроса в отношении начального блокчейн-токена, обновляют блокчейн-запись с учетом текущего показателя блокчейн-токена.
[0014] В других вариантах настоящего решения цепочка, связанная с одним (первым) доменным именем используется при внесении записи в ту же или в другую цепочку для другого доменного (второго) имени.
[0015] В вариантах настоящего решения показатель блокчейн-токена представляет собой депозит. Депозит может быть валютным, криптовалютным или любым другим без ограничений. В одних вариантах решения показателем блокчейн-токена является показатель затрат ресурсов при выпуске сертификата, полученного в отношении данных веб-сайта. Затраты ресурсов отражают затраты, например, электроэнергии, истраченной во время майнинга, то есть во время проведения расчетов для выпуска токена.
[0016] В вариантах настоящего решения проверка текущего показателя включает проверку порога изменения показателя блокчейн-токена. В одних вариантах, где показатель токена валютный или криптовалютный, порогом может являться значение в рублях или биткоинах.
[0017] В некоторых вариантах настоящего решения блокчейн-запись, связанная с учетными данными веб-сайта, включает дату выпуска или записи в цепочку, доменное имя и\или идентификатор, например, IP-адрес ресурса, наименование владельца, хэш-сумму записи.
[0018] В некоторых вариантах настоящего решения цепочка блокчейн имеет распределенную структуру. Распределенная структура может представлять собой виртуальной сеть серверов, физически распределенную сеть, включая дублирование и зеркалирование данных.
[0019] В вариантах настоящего решения веб-браузер может визуализировать степень доверия веб-сайту при его посещении. При посещении веб-страницы веб-браузер может выводить сообщение и\или значок и\или баннер, поясняющий текущую степень доверия веб-сайту. Степень доверия может быть визуализирована цветом или количественными показателями, например, баллами или значками и\или цветовым индикатором, например, зеленый цвет - веб-сайт доверенный, красный - веб-сайт не доверенный.
[0020] В вариантах настоящего решения степень доверия веб-сайту рассчитывается на основе а) показателя токена, б) данных блокчейн-записи - даты выпуска, доменного имя, наименования владельца, хэш-суммы записи.
[0021] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».
[0022] В контексте настоящего описания, если конкретно не указано иное, «клиентское устройство» подразумевает под собой электронное устройство, связанное с пользователем и включающее в себя любое аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что компьютерное устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.
[0023] В контексте настоящего описания, если конкретно не указано иное, «компьютерное устройство» подразумевает под собой любое электронное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Компьютерное устройство может являться сервером, клиентским устройством и так далее.
[0024] В контексте настоящего описания, если не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[0025] В контексте настоящего описания, если не указано иное, «информация» включает в себя любую информацию любого типа, включая информацию, которую можно хранить в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (фотографии, видео, звукозаписи, презентации и т.д.), данные (картографические данные, данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[0026] В контексте настоящего описания, если не указано иное, «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[0027] В контексте настоящего описания, если не указано иное, термин «носитель информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.
[0028] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.
[0029] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, описание не является ограничивающим, и должно использоваться совместно с приложенными чертежами.
[0031] На Фиг. 1 показана схема технической системы для авторизации веб-сайтов.
[0032] На Фиг. 2 показана схема регистрации веб-сайта и создание первоначальной записи о веб-сайте в цепочке блокчейн.
[0033] На Фиг. 3 показана схема проверки условия выполнения смарт контракта.
Осуществление изобретения
[0035] Настоящее техническое решение относится к двум тематикам. Во-первых, решение описывает подход по авторизации веб-сайтов. Во-вторых, настоящее решение описывает систему хранения данных для авторизации веб-страниц в браузере на основе технологии блокчейн (blockchain).
[0036] В настоящее время веб-сайты должны использовать сертификаты, предоставленные уполномоченным органом, кроме того, сертификаты должны поддерживаться веб-браузером. На сегодня используется стандарт для выпуска сертификатов, называемый SSL-сертификатом, подтверждающим домен. Когда веб-браузер пользователя выполняет обращение к веб-сайту, веб-браузер, используя специальную предварительно встроенную библиотеку, проверяет:
a) кто предоставил, то есть выпустил, сертификат (браузер проверяет открытый ключ сертификационного центра) и
b) является ли сертификат действительным (смотрит на закрытый ключ веб-сайта) - это общий подход технологии TLS / SSL.
[0037] Если у веб-сайта есть действительный сертификат - это означает, что центр сертификации предпринял шаги для проверки того, что веб-адрес действительно принадлежит этой организации. Когда пользователь вводит URL-адрес или переходит по ссылке на «сертифицированный» веб-сайт, браузер проверяет сертификат на соответствие следующим характеристикам: адрес веб-сайта совпадает с адресом в сертификате, а сертификат подписан центром сертификации, который браузер распознает как «доверенный» центр сертификации.
[0038] Однако такой структуре присущи недостатки:
распределенная сеть сертификатов (различные фирмы и т.д.) веб-браузеры должны поддерживать разнообразие сертификатов;
каждый из таких центров использует свои базы данных, инфраструктуру и системы хранения.
Поэтому и веб-браузеры должны поддерживать совместимость со структурами данных для обмена информацией с центрами сертификации. Используемая на сегодня структура имеет большую степень децентрализации, демонстрирует низкую степень единообразия структуры хранения данных, а также сильно подвержена компрометации и фрод-атакам.
[0039] Существует эффективное решение для решения двух вышеперечисленных проблем - применение доработанной технологии блокчейн для решения поставленной задачи. Другими словами, применение доработанной технологии блокчейн для сертификации вебсайтов позволяет создать распределенную и общедоступную структуру записей о вебсайтах, которую технологически сложно подменить и\или скомпрометировать.
[0040] В целом, в некоторых вариантах воплощения настоящее техническое решение учит использовать как запись в реестре блокчейн, так и показатель блокчейн-токена, который веб-мастер выпускает в качестве подтверждения статуса своего веб-сайта для проверки (авторизации) веб-сайта.
[0041] На Фиг. 1 представлена схема технической системы согласно одному из вариантов реализации настоящей технологии. Очевидно, что система представляет собой лишь один из возможных вариантов реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или границ настоящей технологии. В некоторых случаях также приводятся полезные примеры модификаций системы. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Эти модификации не составляют исчерпывающего списка. Специалисту в данной области будет очевидно, что возможны и другие модификации. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или описание содержит единственный вариант реализации того или иного элемента настоящей технологии. Кроме того, следует понимать, что система в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии, и что такие варианты представлены, чтобы способствовать лучшему ее пониманию. Специалисту в данной области очевидно, что различные варианты реализации настоящей технологии могут быть значительно сложнее.
[0042] Система содержит электронное устройство. Электронное устройство обычно взаимодействует с сервером (-ами) и базами данных и может называться «клиентским устройством». Следует отметить, что связь электронного устройства с сервером не означает необходимости указывать или предполагать какой-либо режим работы, например, вход в систему, регистрацию и т.п. Система может содержать множество электронных устройств, подобных электронному устройству или отличающихся от него.
[0043] На реализацию электронного устройства не накладывается определенных ограничений. В качестве примера, электронное устройство может быть реализовано как персональный компьютер (настольный, ноутбук, нетбук и т.д.) или как беспроводное электронное устройство (сотовый телефон, смартфон, планшет и т.д.). В представленном на фиг. 1 примере электронное устройство реализовано как ноутбук, такой как 13-дюймовый MacBook Pro™ (содержит IPS-дисплей со светодиодной подсветкой, диагональю 13,3 дюйма, разрешением 2560×1600 пикселов при плотности 227 пикселов на дюйм; двухъядерный процессор шестого поколения Intel Core i5 с частотой 2,9 ГГц; видеоадаптер Intel™ Iris Graphics 550; ОЗУ 8 ГБ; твердотельный накопитель 256 ГБ; сенсорную панель) компании Apple, Inc., США (Apple Campus, 1 Infinite Loop, Cupertino, California. USA).
[0044] Общая реализация электронного устройства известна в данной области техники и поэтому его подробное описание опущено. Достаточно сказать, что электронное устройство содержит пользовательский интерфейс ввода (такой как клавиатура, мышь, сенсорная панель, сенсорный экран и т.п.) для приема вводимой пользователем информации; пользовательский интерфейс вывода (такой как экран, сенсорный экран, принтер и т.п.) для вывода визуальной и звуковой информации пользователю; сетевой интерфейс передачи данных (такой как модем, сетевая плата и т.п.) для двунаправленной передачи данных через сеть связи; процессор, соединенный с пользовательским интерфейсом ввода, пользовательским интерфейсом вывода и сетевым интерфейсом передачи данных, при этом процессор выполнен с возможностью выполнения различных процедур, включая описанные ниже. С этой целью процессор может хранить предназначенные для считывания компьютером команды или иметь доступ к ним. При выполнении этих команд процессор выполняет различные процедуры, представленные в настоящем описании.
[0045] Вышеупомянутая сеть связи может представлять собой сеть Интернет. В других вариантах реализации настоящей технологии сеть связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, личной сети связи и т.д.
[0046] Электронное устройство содержит аппаратные средства и/или ПО, и/или встроенное ПО (либо их сочетание) для выполнения в электронном устройстве веб-браузера (браузера). Браузер обеспечивает пользователю доступ через сеть связи к одному или нескольким сетевым ресурсам, таким как первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов, которые совместно обозначены как на фиг. 1. Браузер может быть реализован как один из следующих браузеров: Mozilla Firefox™, Google Chrome™, Yandex™ Browser. Следует отметить, что в электронном устройстве может быть установлено несколько версий браузера от одного или нескольких поставщиков.
[0047] Каждый веб-сайт (первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов) может представлять собой конкретный веб-сайт (такой как интернет-магазин Amazon™, информационный ресурс Wikipedia™, веб-сайт, связанный с организацией Canadian Cancer Foundation и т.д.), веб-ресурс агрегатора и т.п. Некоторые или все сетевые ресурсы, такие как первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов, могут размещаться в одном или нескольких серверах сетевых ресурсов, совместно обозначенных как на фиг. 1. Доступная в первом сетевом ресурсе, втором сетевом ресурсе и множестве дополнительных ресурсов информация может включать в себя разнообразные виды контента, такого как фотографии, видеоматериалы, аудиоматериалы и т.п., и может относиться к разнообразным темам, таким как новости, погода, дорожное движение, развлечения, финансы и т.д.
[0048] В общем случае, когда пользователю электронного устройства требуется доступ к информации одного из сетевых ресурсов, таких как первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов, пользователь может обратиться к веб-ресурсу либо непосредственно, введя адрес ресурса (обычно URL, такой как www.webpage.com), либо перейдя по ссылке в сообщении электронной почты или на другом веб-ресурсе. Браузер обычно обеспечивает также функцию поиска, посредством которой пользователь может выполнять поиск информации по интересующей его теме (как более подробно описано ниже).
[0049] Электронное устройство дополнительно выполнено с возможностью выполнения программы-контролера процессов устройства. Программа-контролер может выполняться либо браузером, либо операционной системой (ОС) электронного устройства (либо и тем, и другим). Регистрация веб-сайта и создание первоначальной записи о веб-сайте в цепочке блокчейн (блокчейн-сертификации).
[0050] На Фиг. 2 показана схема регистрации веб-сайта и создание первоначальной записи о веб-сайте в цепочке блокчейн. Владелец домена, используя устройство пользователя, регистрирует свой веб-сайт (доменное имя), регистрируя доменное имя и\или URL вебсайта в общедоступном блокчейн реестре, размещенной в базе данных блокчейн. Для этого владелец веб-сайта связывается с сервером сертификации. Сервер сертификации имеет доступ к базе данных записей (цепочек). То есть владелец испрашивает у сервера выпуск, а сервер, соответственно, регистрирует запись по средствам обновления блокчейн цепочки данных в базе данных. Добавляя новую запись в цепочку, владелец дополнительно может указывать свои данные, то есть идентифицирует себя, идентификационные данные владельца также сохраняются в цепочке. Впоследствии, если злоумышленник попытается изменить данные (перезаписать цепочку), то злоумышленнику потребуется дополнительно указать данные оригинального владельца, выпустившего первоначальную запись, для внесения изменений в первоначальную запись. Данные владельца могут включать логин и пароль, идентификационные данные физического лица или юридического лица и т.д.
[0051] Выпуск первоначальной записи в вариантах настоящего решения выполняется на основе предоставленного веб-сайту SSL-сертификата, например, предоставленного другим сервером сертификации раннее, содержащего указание доменного имени, серийного номера сертификата. SSL-сертификат также может быть изначально подписан сторонним веб-сервисом, выдавшим сертификат. Такой вариант настоящего решения возможен, например, в случаях, когда веб-сайт проходит первоначальную регистрацию в системе блокчейн-сертификации, или же осуществляется переход со стандартной системы сертификации на систему блокчейн-сертификации. Кроме того, система блокчейн-сертификации, описанная в настоящем решении, может использоваться как дополнительная система в совокупности с другими известными технологиями для повышения надежности процедуры сертификации веб-сайта и последующей проверки вебсайта при посещении веб-сайта пользователями.
[0052] Блокчейн-запись, связанная с учетными данными веб-сайта, включает дату выпуска или записи в цепочку, доменное имя и\или идентификатор, например, IP-адрес ресурса, наименование владельца, хэш-сумму записи. Кроме того, запись может быть связана с данными владельца веб-сайта, ФИО, регистрационными данными в веб-ресурсах, на основании ЭЦП (электронно-цифровой подписи), валидирующей владельца.
[0053] Владелец домена также дополнительно может провести следующую транзакцию. В таком случае владелец выпускает блокчейн-токен и передает его для записи в базу данных серверу сертификации. Токен имеет присвоенный показатель, то есть набор значений, присвоенных токену при генерации и\или при последующем обновлении. Например, показателем блокчейн-токена может являться показатель затрат ресурсов при выпуске сертификата, полученного в отношении данных веб-сайта. Затраты ресурсов отражают затраты, например, электроэнергии, истраченной во время майнинга, то есть во время проведения расчетов значений, необходимых для выпуска токена.
[0054] В вариантах настоящего технического решения владелец домена помещает определенную сумму (например, биткойны или любую другую криптовалюту или «реальную» валюту) в свой кошелек, связанный с его веб-сайтом (предоставляется на основании реестра в цепочке). Это начальный депозит веб-сайта, подтверждающий право владения доменным именем и веб-сайтов в целом. В таком варианте блокчейн-токен имеет показатель, связанный с суммой депозита.
[0055] Сервер регистрирует запись в цепочке, обновляет цепочку в базе данных, гарантирующую, что выбранный домен обеспечивается за счет первоначального депозита веб-сайта в кошельке А (идентификатор кошелька) с самим депозитом В и идентификатором сертификата. Идентификатором служит токен, содержащий хеш-маркер или любой другой токен. Токен может быть выполнен с участием криптопровайдеров и выпускаться, в том числе, с использованием ЭЦП (электронно-цифровой подписи), валидирующей владельца.
[0056] На основании токена и записи в цепочке, сервер сертификации выпускает смарт контракт («умный контракт» от англ. smart contract), имеющий подпись. Смарт контракт подписывается, используя методы, аналогичные для контроля движения и отправки средств в криптовалютных сетях. После подписания сторонами контракт вступает в силу. Условия контракта должны иметь математическое описание и ясную логику исполнения. Имея беспрепятственный доступ к объектам контракта, смарт контракт отслеживает по указанным условиям достижения или нарушения пунктов и принимает самостоятельные решения, основываясь на запрограммированных условиях. Таким образом, основной принцип умного контракта состоит в полной автоматизации и достоверности исполнения договорных отношений. По сути, смарт контракт - это программный код, который содержит информацию о сделке в формате «если... то». Например, в смарт контракте может быть указано условие вида: если пользователь зашел на веб-сайт, проверить показатель токен с порядковым (серийным) №11111. Если показатель токена>100 единиц, то разрешить доступ к веб-сайту. Другой пример может пояснять контроль депозита кошелька криптовалюты. Например, если пользователь зашел на веб-сайт, проверить депозит кошелька №22222. Если депозит кошелька ≥100 единиц криптовалюты, то разрешить доступ к веб-сайту.
[0057] Варианты настоящего решения с использованием смарт контрактов позволяют автоматизировать проверку показателей (записей) в цепочках блокчейн в том числе без непосредственного доступа пользователей к данным и информации на стороне веб-сайта (веб-мастера). Проверка производится автоматически на стороне сервера, что позволяет дополнительно снизить количество передаваемой информации конечному потребителю контента веб-сайта. Все контракты хранятся в цепочках блокчейн в зашифрованном виде. То есть об условиях контракта знают только стороны договора (веб-мастер и сервер сертификации), а внести изменения в программный код (переписать договор в цепочке) третьи лица не могут. Это обусловлено структурой и принципами технологии блокчейн и особенностями настоящего решения.
[0058] Одной из особенностей настоящего технического решения является совокупность показателя блокчейн-токена и блокчейн-записи, которые, как уже было сказано, верифицируют владельца домена (веб-сайта) и показатель блокчейн-токена, дополнительно подтверждающий факт выпуска транзакции конкретным владельцем. Пара блокчейн-токен и блокчейн-запись образуют сертификат в рамках смарт контракта, который, при последующей проверке веб-браузером клиентского устройства верифицирует или не верифицирует веб-сайт. Для этого веб-браузер клиентского устройства связывается с базой данных, хранящей цепочки блокчейн с блокчейн-токенами и соответствующими блокчейн-записями в смарт контрактах, что будет подробнее описано далее.
[0059] База данных размещается на удаленном сервере или, в случае распределенной структуры, на нескольких серверах. Сервер, в процессе наполнения базы данных регистрирует транзакции и блокчейн-токены, выпущенные на веб-сайты (на доменные имена), цепочки публикуются едином глобальном пространстве через цепочку блокчейн. В цепочке каждый из сертификатов состоит из заголовка и нескольких транзакций, которые организованы как дерево хэшей.
[0060] Заголовок блока состоит из:
а) времени, когда майнер (владелец сертификата) начинает генерировать блок;
б) дайджеста последнего заголовка блока в цепочке блоков, например, текущего показателя токена.
[0061] Записи транзакций содержат списки (тип операции или записи, DNS-имя) изменений и транзакциях, например, отсортированных по дате и времени или в лексикографическом порядке. В цепочке сертификатов могут быть выпущены транзакции разного типа. Транзакция первого типа подписывается сервером с использованием его ключа или пары ключей. Ключ может быть открытым или закрытым, генерироваться с помощью пароля и логина клиентского устройства. Когда сертификат истекает и обновляется, новый ключ будет включен в следующую транзакцию. Если сертификат отозван, он будет исключен из следующей транзакции. Транзакции второго типа используются для инициализации или сброса пар ключей.
[0062] В случаях, когда DNS-имя (или URL веб-сайта) изначально вносится в цепочку блокчейн, факт его «публикации» возможно подписывать с использованием нескольких других веб-сайтов. Эти веб-сайты будут выступать «поручителями» нового регистрируемого веб-сайта. Поручителем может выступать, среди прочего, веб-сайт одного продукта компании, когда компания запускает новый продукт.
[0063] Сервер генерирует, в таком случае, сертификат для нового веб-сайта на основе ключей «поручителей». Все транзакции непрерывно публично публикуются сервером в цепочке блокчейн. В случае выпуска сертификата с поручителем сервер генерирует новый сертификат на основании ранее выпущенных сертификатов «поручителей».
[0064] В варианте настоящего решения с использованием смарт контракта, новый выпускаемый контракт может дополнительно иметь условие для проверки валидности исполнения контракта своего поручителя.
[0065] В каждой операции серверу (-ам) разрешено публиковать одну или несколько транзакций. Если пользователи системы (майнеры) получают как транзакции первого типа, так и транзакции второго типа с тем же DNS-именем, транзакция второго типа имеет приоритет. Если есть несколько транзакции одного и того же имени и типа DNS, сервер выбирает одну из них на основе отметок времени регистрации прихода транзакции и\или временем генерации запроса на стороне клиентского устройства. Браузер клиентского устройства взаимодействует с сетью серверов по схеме Р2Р (peer-to-peer), другие клиентские устройства могут получать обновления напрямую от сервера или от других клиентов. Когда браузер клиентского устройства устанавливает соединение с сервером, он может дополнительно сверять свой сертификат на сервере с помощью локальной копии сертификата из памяти клиентского устройства.
Процедура авторизации веб-сайта.
[0066] На Фиг. 2 показана схема взаимодействия пользовательского устройства с сервером авторизации (первым сервером) и сервером сертификации (вторым сервером). В вариантах настоящего решения, функции сервера авторизации и сервера сертификации может выполнять один и тот же сервер, в других вариантах сервер авторизации и\или сервер сертификации может быть виртуальным сервером, или являться частью распределенной серверной архитектуры. Сервер сертификации может быть соединен с базой данных записей блокчейн, осуществляя доступ к базе данных при входящих запросах от сервера авторизации. Сервер сертификации, сервер авторизации и клиентское устройство соединены через сеть Интернет и\или интранет или любые другие, как, например, сотовые сети связи. База данных может быть выполнена как часть сервера сертификации, так и как удаленное решение, в том числе, использую виртуальные базы данных и распределенные структуры.
[0067] Пользователь, используя веб-браузер, соединяется с сетью (Интернет) и, запрашивает искомый веб-сайт. Браузер может быть оснащен как встроенными средствами для обработки запросов авторизации веб-сайтов (по аналогии с SSL-сертификатами), так и сторонними библиотеками и\или расширениями, устанавливаемыми отдельно из магазина приложений и\или с веб-сайтов поставщиков услуг авторизации. Браузер, используя встроенную библиотеку верификации или расширение браузера, соединяется с сервером авторизации (первым сервером), передавая серверу авторизации запрос на авторизацию веб-сайта. Запрос содержит инструкции на проверку в цепочке блокчейн сертификата вебсайта. Сервер авторизации, получив запрос, инициирует проверку. Запрос браузера содержит указание на доменное имя (веб-сайт), доступ к которому требуется пользователю. Сервер авторизации, получив запрос от веб-браузера, генерирует запрос сертификации к серверу сертификации (второму серверу). Запрос к серверу сертификации включает открытый (публичный) ключ, доменное имя веб-сайта, который запрашивает пользователь. В ответ на запрос от сервера авторизации, сервер сертификации обращается в базу данных и сверяет публичный ключ и запись о зарегистрированном в цепочке блокчейн доменном имени. При наличии записи, совпадающей с полученным доменным именем и публичным ключом, сервер сертификации возвращает серверу авторизации запрос на подписание обращения приватным (личным ключом).
[0068] Далее сервер авторизации подписывает возвращенный запрос приватным ключом и снова передает второй запрос серверу сертификации для сверки с базой данных блокчейн. Во втором запросе от сервера авторизации находятся инструкции для проверки выполнения условий смарт контракта. В ходе проверки выполнения условий смарт контракта, сервер сертификации может обращаться к браузеру. Браузер, используя встроенную библиотеку верификации или расширение браузера, получает условия проверки из смарт контракта, которые затем проверяются (верифицируются) встроенной библиотекой верификации или расширением браузера. В других вариантах браузер обращается к смарт контракту, согласно которому, в зависимости от конкретных условий контракта, возможна проверка, например, нескольких условий, последовательно или параллельно, для одного или нескольких контрактов.
[0069] В вариантах настоящего решения, как это показано на Фиг. 3, браузер проверят условия для проверки смарт контракта и проверяет выполнения условий показателя токена в отношении запрашиваемого доменного имени. В таком случае сервер и\или браузер обращается к базе данных, в которой сохранен смарт контракт, в контракте указаны а) условия проверки (выполнения условий контракта) и б) проверяемый субъект. Проверяемым субъектом может быть конкретный токен или несколько токенов, сохраненные в базе данных и указанные в смарт контракте. В таком варианте в контракте может быть указан порог значения показателя, в случае достижения (или превышения \ снижения) которого смарт контракт считается исполненным или, соответственно, неисполненным.
[0070] В других вариантах настоящего решения проверяемым субъектом может быть кошелек и\или криптовалютный показатель токена, который указан в смарт контракте для проверки. В случае сверки показателя токена или кошелька проверяется депозит кошелька или токена. Кроме того, в вариантах смарт контрактов, возможна сверка характера изменения. Например, в вариантах решения, характер изменения текущего показателя блокчейн-токена (или депозита кошелька) является увеличение или уменьшение показателя блокчейн-токена (или депозита кошелька).
[0071] В вариантах настоящего решения, в ходе проверки сервер осуществляет проверку пары записей, включающую
а) текущий статус сертификата испрашиваемого веб-сайта, и
б) показателя токена, который, на момент проверки, может быть выше, равен или ниже изначально зарегистрированного показателя токена.
[0072] В вариантах настоящего решения сервер сертификации, после проверки условий выполнения смарт контракта, в случае удовлетворения условий контракта, передает серверу авторизации инструкции для разрешения доступа к веб-сайту, а в случае неудовлетворения условий контракта, передает серверу авторизации инструкции для запрещения доступа к веб-сайту. В ответ на получение инструкций для разрешения доступа к веб-сайту, сервер авторизации передает авторотационные данные веб-браузеру пользовательского устройства, то есть запрашиваемый пользователем веб-сайт считается доверенным.
[0073] Степень доверия веб-браузера в отношении конкретного веб-сайта или веб-страницы может быть рассчитана по совокупности доверия SSL-сертификату и удовлетворения проверки выполнения условий смарт контракта. В других вариантах степень доверия может быть рассчитана на основании одного или нескольких условий смарт контракта, например, по принципу чем больше выполнено условий - тем больше степень доверия.
[0074] Веб-браузер может быть оснащен средствами отображения степени доверия тому или иному веб-сайту при посещении такового. В интерфейсе веб-браузера выполнены индикаторы доверия. Степень доверия определяется на основании вышерассмотренной процедуры проверки сертификата по цепочке блокчейн. В вариантах настоящего решения индикатор может быть выполнен с возможностью цветового, численного и\или комбинированного отображения степени доверия веб-сайту. Индикатор, выполненный с цветовой индикацией, обозначает цветом, например, зеленый - веб-сайт доверенный, красный - веб-сайт не доверенный, желтый - проверка не проведена, или, в других вариантах, веб-сайт не используют проверку на основе блокчейн.
[0075] В вариантах настоящего решения сервер сертификации может, после валидации текущего запроса, обновлять записи в цепочке блокчейн с учетом текущего показателя блокчейн-токена. В таких вариантах, если в ходе проверки смарт контракта данные токена изменились, при условии удовлетворения контракта, сервер сертификации может уточнить данные для контракта для последующих проверок. Например, если депозит кошелька с момента первой проверки смарт контракта изменился, по-прежнему удовлетворяя условиям проверки контракта, сервер сертификации может уточнить новый показатель и перезаписать смарт контракт с условием проверки нового депозита. Как указывалось ранее, смарт контракт может учитывать как депозит, так и показатель токена и\или их сочетание.
[0076] В некоторых вариантах настоящего решения сервер сертификации может перезаписать смарт контракт, то есть удалить старый и создать новый контракт взамен старого с новыми данными (показателями) для проверки.
[0077] В некоторых вариантах настоящего решения сервер сертификации и сервер авторизации могут быть выполнены как единый сервер. База данных, хранящая записи блокчейн и смарт контракты, может быть выполнена как единая база данных или распределенная база данных, с которой может связываться сервер авторизации или сервер сертификации или оба сервера.
[0078] В некоторых вариантах настоящего решения сервер сертификации и\или сервер авторизации могут взымать, в качестве компенсации за обработку данных, часть депозита (процент с депозита, заведенного на одном из кошельков) во время транзакций. Например, при первичной регистрации веб-сайта сервер сертификации может удержать 1% от показателя токена и\или 2% (как пример) с криптовалютного счета веб-мастера. Такой подход обусловлен поддержанием функционирования инфраструктуры по технологии блокчейн.
[0079] Важно иметь в виду, что не все упомянутые здесь технические результаты могут проявляться в каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть выполнены без проявления некоторых технических результатов, другие могут быть выполнены с проявлением других технических результатов или вовсе без них.
[0080] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.
Изобретение относится к веб-технологиям. Технический результат заключается в контроле доступа к веб-сайту. Компьютерно-реализуемый способ валидации доступа к веб-сайту в веб-браузере включает регистрацию блокчейн-записи, связанной с веб-сайтом и содержащей учетные данные веб-сайта и домена, в цепочке блокчейн, а также регистрацию транзакции, связанной с блокчейн-записью в цепочке блокчейн, транзакция, содержащая блокчейн-токен с показателем, связана с веб-сайтом, получение запроса от веб-браузера на проверку веб-сайта на основе запроса веб-браузера на валидацию запроса доступа к веб-сайту, проверка включает проверку наличия блокчейн-записи и проверку текущего показателя блокчейн-токена, в зависимости от характера изменения текущего показателя блокчейн-токена валидируют или не валидируют текущий запрос. 2 н. и 24 з.п. ф-лы, 3 ил.
1. Компьютерно-реализуемый способ валидации доступа к веб-сайту в веб-браузере, включающий:
регистрацию блокчейн-записи, связанной с веб-сайтом и содержащей учетные данные веб-сайта и домена, в цепочке блокчейн;
регистрацию транзакции, связанной с блокчейн-записью в цепочке блокчейн,
транзакция, содержащая блокчейн-токен с показателем, связана с веб-сайтом;
получение запроса от веб-браузера на проверку веб-сайта на основе запроса веб-браузера на валидацию запроса доступа к веб-сайту, проверка включает:
проверку наличия блокчейн-записи, связанной с учетными данными веб-сайта, в блокчейне; и
проверку текущего показателя блокчейн-токена, связанного с веб-сайтом, при которой
в зависимости от характера изменения текущего показателя блокчейн-токена валидируют или не валидируют текущий запрос.
2. Способ по п. 1, в котором характер изменения текущего показателя блокчейн-токена является увеличением или уменьшением показателя блокчейн-токена.
3. Способ по п. 1, в котором после валидации текущего запроса обновляют блокчейн-запись с учетом текущего показателя блокчейн-токена.
4. Способ по п. 2, в котором в ответ на то, что текущий показатель блокчейн-токена меньше, чем первичный показатель, веб-браузер запрещает доступ к веб-странице.
5. Способ по п. 1, в котором в ответ на валидацию текущего запроса веб-браузер разрешает доступ к веб-странице.
6. Способ по п. 1, в котором цепочка домена используется при выпуске сертификата другого домена.
7. Способ по п. 2, в котором показателем блокчейн-токена является депозит, сохраненный в отношении данных веб-сайта.
8. Способ по п. 7, в котором депозит является криптовалютным депозитом.
9. Способ по п. 1, в котором показателем блокчейн-токена является показатель затрат ресурсов при выпуске сертификата, сохраненного в отношении данных веб-сайта.
10. Способ по п. 1, в котором проверка текущего показателя включает проверку порога изменения показателя блокчейн-токена.
11. Способ по п. 1, в котором блокчейн-запись, связанная с учетными данными веб-сайта, включает:
дату выпуска, доменное имя, наименование владельца, хэш-сумму записи.
12. Способ по п. 1, в котором цепочка блокчейн имеет распределенную структуру.
13. Способ по п. 1, в котором на основании проверки определяют степень доверия веб-сайту.
14. Способ по п. 13, в котором степень доверия визуализируют одним из цвета, и/или числового показателя, и/или комбинированного показателя.
15. Способ по п. 1, в котором для проверки наличия блокчейн-записи создают условие проверки для цепочки блокчейн.
16. Способ по п. 1, в котором транзакцию, содержащую блокчейн-токен с первичным показателем, и условие проверки наличия блокчейн-записи, связанной с учетными данными веб-сайта, сохраняют в виде смарт контракта.
17. Компьютерная система для генерации инструкций для валидации доступа к веб-сайту, включающая базу данных блокчейн, устройство пользователя, сервер авторизации и сервер сертификации, соединенных через сеть, система, включающая:
- передачу устройством пользователя серверу авторизации запроса на авторизацию веб-сайта, запрос авторизации включает инструкции на проверку в цепочке блокчейн сертификата веб-сайта и доменного имени веб-сайта;
- генерацию запроса сертификации, включающего публичный ключ, сервером авторизации, на основе запроса от устройства пользователя, и передачу запроса сертификации сервером авторизации серверу сертификации;
- обращение сервером сертификации, в ответ на запрос сертификации, к базе данных;
- проверку сервером сертификации наличия записи в базе данных, содержащей доменное имя сайта;
- в ответ на прохождение проверки, возвращение сервером сертификации серверу авторизации запроса на подписание обращения приватным ключом;
- подпись сервером авторизации возвращенного запроса приватным ключом и пересылку второго запроса серверу сертификации, включающего инструкции для проверки выполнения условий смарт контракта, сохраненного в базе данных;
- в ответ на выполнение условий смарт контракта, генерацию сервером сертификации инструкций для валидации доступа к веб-сайту.
18. Компьютерная система по п. 17, в которой сервер авторизации и сервер сертификации является одним и тем же сервером.
19. Компьютерная система по п. 17, в которой сервер сертификации, после проверки условий выполнения смарт контракта, в случае удовлетворения условий контракта, передает серверу авторизации инструкции для разрешения доступа к веб-сайту, а в случае неудовлетворения условий контракта передает серверу авторизации инструкции для запрещения доступа к веб-сайту.
20. Компьютерная система по п. 17, в которой база данных является частью сервера авторизации или сервера сертификации.
21. Компьютерная система по п. 17, в которой база данных содержит смарт контракт, в котором указаны условия проверки выполнения условий контракта и проверяемый субъект.
22. Компьютерная система по п. 21, в которой субъектом может быть конкретный блокчейн-токен или несколько блокчейн-токенов, сохраненных в базе данных и указанных в смарт контракте.
23. Компьютерная система по п. 21, в которой блокчейн-токен имеет показатель.
24. Компьютерная система по п. 23, в которой указан порог значения показателя блокчейн-токена, в случае достижения которого смарт контракт считается исполненным или неисполненным.
25. Компьютерная система по п. 23, в которой показатель блокчейн-токена является криптовалютным.
26. Компьютерная система по п. 23, в которой показателем блокчейн-токена является депозит, сохраненный в отношении данных веб-сайта.
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами | 1924 |
|
SU2017A1 |
Способ получения цианистых соединений | 1924 |
|
SU2018A1 |
US 7451352 B1, 11.11.2008 | |||
US 8595370 B2, 26.11.2013 | |||
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами | 1924 |
|
SU2017A1 |
СПОСОБ КОНТРОЛЯ ПОДЛИННОСТИ И КАЧЕСТВА ПРОДУКЦИИ В ПРОЦЕССЕ ПРОИЗВОДСТВА И РЕАЛИЗАЦИИ | 2017 |
|
RU2639015C1 |
Авторы
Даты
2020-04-08—Публикация
2018-09-14—Подача