RU2718480C2 - Method and system for authorizing website in web browser - Google Patents
Method and system for authorizing website in web browser Download PDFInfo
- Publication number
- RU2718480C2 RU2718480C2 RU2018132715A RU2018132715A RU2718480C2 RU 2718480 C2 RU2718480 C2 RU 2718480C2 RU 2018132715 A RU2018132715 A RU 2018132715A RU 2018132715 A RU2018132715 A RU 2018132715A RU 2718480 C2 RU2718480 C2 RU 2718480C2
- Authority
- RU
- Russia
- Prior art keywords
- website
- blockchain
- server
- request
- token
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
[0001] Настоящее техническое решение относится к веб-технологиям, точнее к технологиям выпуска сертификатов веб-сайтов и валидации сертификатов в веб-браузере при посещении пользователем веб-сайтов.[0001] This technical solution relates to web technologies, and more specifically to technologies for issuing website certificates and validating certificates in a web browser when a user visits websites.
Уровень техникиState of the art
[0002] В настоящее время для верификации веб-сайтов (в сети Интернет) распространены сертификаты SSL (Secure Sockets Layer). Протокол SSL реализован на application-уровне, непосредственно над TCP (Transmission Control Protocol), что позволяет более высокоуровневым протоколам (таким как НТТР\ HTTPS или протоколу электронной почты) работать без изменений. Если SSL сконфигурирован корректно, то сторонний наблюдатель может узнать лишь параметры соединения (например, тип используемого шифрования), а также частоту пересылки и примерное количество данных, но не может читать и изменять их. TLS (англ. transport layer security - протокол защиты транспортного уровня), как и его предшественник SSL (англ. secure sockets layer - слой защищенных сокетов), - криптографические протоколы, обеспечивающие защищенную передачу данных между узлами в сети Интернет. TLS и SSL используют асимметричное шифрование для аутентификации, симметричное шифрование для конфиденциальности и коды аутентичности сообщений для сохранения целостности сообщений.[0002] Currently, SSL (Secure Sockets Layer) certificates are common for verification of websites (on the Internet). SSL protocol is implemented at the application level, directly over TCP (Transmission Control Protocol), which allows higher-level protocols (such as HTTP / HTTPS or email protocol) to work without changes. If SSL is configured correctly, then a third-party observer can only find out the connection parameters (for example, the type of encryption used), as well as the transmission frequency and the approximate amount of data, but cannot read and change them. TLS (transport layer security protocol), as well as its predecessor SSL (secure sockets layer), are cryptographic protocols that provide secure data transfer between nodes on the Internet. TLS and SSL use asymmetric encryption for authentication, symmetric encryption for privacy, and message authentication codes to maintain message integrity.
[0003] Поскольку HTTPS принято во всем мире в различных онлайн-сервисах, например, электронный бизнес, электронное банковское обслуживание и электронное управление, TLS, краеугольный камень HTTPS, играет важную роль в защищенных веб-соединениях через компьютерная сеть. В TLS аутентификация и безопасное соединение создание основано на инфраструктуре открытого ключа (PKI), эмитентом которого являются центры сертификации (ЦС).[0003] Since HTTPS is adopted worldwide in various online services, such as e-business, e-banking and e-government, TLS, the cornerstone of HTTPS, plays an important role in secure web connections over a computer network. In TLS, authentication and secure connection creation is based on a public key infrastructure (PKI) issued by certification authorities (CAs).
[0004] Подписывая и выдавая сертификаты, центры сертификации предоставляют информацию о доверия и гарантии целостности веб-сайта, конфиденциальности и говорит о минимизации рисков перехвата веб-трафика.[0004] By signing and issuing certificates, certification authorities provide information on trust and guarantee the integrity of the website, confidentiality and speaks about minimizing the risks of interception of web traffic.
[0005] Указанные протоколы широко используется в приложениях, работающих с сетью Интернет, таких как веб-браузеры, работа с электронной почтой, обмен мгновенными сообщениями и IP-телефония. Сегодня существует свыше тысячи центров сертификации, выдающих сертификаты веб-сайтам. Например, Symantec, Thawte, Verisign, Geotrust и другие. Веб-мастер или владелец сайта, чтобы получить сертификат от одной из сертифицирующих организаций, должны выплачивать (каждый год) платежи, чтобы попасть в список сертифицированных сайтов и продолжать находится в списке. Каждый из таких центров использует свои базы данных, инфраструктуру и системы хранения. Поэтому, и веб-браузеры должны поддерживать совместимость со структурами данных для обмена информацией с центрами сертификации. Используемая на сегодня структура имеет большую степень децентрализации, демонстрирует низкую степень единообразия структуры хранения данных, а также сильно подвержена компрометации и фрод-атакам.[0005] These protocols are widely used in applications that work with the Internet, such as web browsers, e-mail, instant messaging and IP-telephony. Today there are over a thousand certificate authorities issuing certificates to websites. For example, Symantec, Thawte, Verisign, Geotrust and others. To receive a certificate from one of the certification organizations, the webmaster or site owner must pay (every year) payments to get on the list of certified sites and continue to be on the list. Each of these centers uses its own databases, infrastructure and storage systems. Therefore, web browsers must also be compatible with data structures for exchanging information with certification authorities. The structure used today has a large degree of decentralization, demonstrates a low degree of uniformity in the data storage structure, and is also highly susceptible to compromise and fraud attacks.
[0006] В известном решении US 2017330179 А1, опубл. 16 ноября 2017 г. на 26 стр. , описывает способ выпуска аутентификационной информации на сервере, использующем блокчейн. Способ включает этапы: (а) управления сервером при получении данных пользоватея, приобретаемых от пользователей устройства в ответ на запрос для выдачи информации аутентификации и идентификации информации. Определяется наличие информации, и создаются сделки, результаты которых включают в себя: (I) конкретные публичные ключи пользователя и (II) хэш-значения идентификационной информации или их обработанные значения, чтобы тем самым сделать запись для других устройств; и (III) управляющий сервер, получающий идентификатор транзакции, представляет информацию о местоположении транзакции, записанной в блокчейне.[0006] In the well-known decision US 2017330179 A1, publ. November 16, 2017, on page 26, describes a method for issuing authentication information on a server using a blockchain. The method includes the steps of: (a) managing a server upon receipt of user data acquired from device users in response to a request for issuing authentication information and identifying information. The availability of information is determined, and transactions are created, the results of which include: (I) specific public keys of the user and (II) hash values of the identification information or their processed values to thereby record for other devices; and (III) the management server receiving the transaction identifier provides information about the location of the transaction recorded on the blockchain.
Раскрытие изобретенияDisclosure of Invention
[0007] Перечисленные выше проблемы ведут к тому, что при компрометации центра сертификации или при отказе оборудования центра, сразу большое количество веб-сайтов, при попытке получения доступа к ним через веб-браузер, испытывают проблемы с верификацией сертификаты, выпущенного скомпрометированным центром. Более того, в силу технологических особенностей применение blockchain технологий, создается децентрализованная система хранения данных о сертификации веб-сайтов.[0007] The problems listed above lead to the fact that when a certification authority is compromised or the equipment of the center fails, a large number of websites, when trying to access them through a web browser, experience problems with verification of certificates issued by a compromised center. Moreover, due to technological features, the use of blockchain technologies creates a decentralized system for storing certification data for websites.
[0008] Другой целью настоящего технического решения является предоставление более дешевой технологии с более надежной защитой и более эффективным использованием, которое может заменить существующий цифровой сертификат, или использоваться как дополнение и\или дублирующая технология. В вариантах настоящего решения, настоящее техническое решение используется как арбитражная система при разрешении споров о выпущенном сертификате или данных компании и доменного имени, от лица которых был выпущен сертификат, в том числе, при передаче прав на домен и\или при продаже компании.[0008] Another objective of the present technical solution is to provide cheaper technology with more reliable protection and more efficient use, which can replace the existing digital certificate, or be used as an addition and / or duplicate technology. In versions of this decision, this technical solution is used as an arbitration system in resolving disputes about a issued certificate or company and domain name information on behalf of which the certificate was issued, including when transferring rights to a domain and / or when selling a company.
[0009] Технический результат настоящего решения заключается в реализации контроля доступа к веб-сайту.[0009] The technical result of this decision is to implement access control to a website.
[0010] В вариантах настоящего решения компьютерно-реализуемый способ валидации вебсайта в веб-браузере включает в процедуру первоначальной регистрации веб-сайта - выпуск записи в цепочке блокчейн. Запись в цепочке блокчейн регистрируется в связи с веб-сайтом. В записи также указывают учетные данные веб-сайта. Затем регистрируют транзакцию, связанную с блокчейн-записью в цепочке блокчейн. Транзакция включает блокчейн-токен с показателем. Транзакция также ассоциирована с веб-сайтом. После регистрации в блокчейн токена и записи о веб-сайте, веб-сайт считается зарегистрированным и подтвержденным.[0010] In embodiments of the present solution, a computer-implemented method for validating a website in a web browser includes the initial registration of the website — issuing an entry in the blockchain chain. An entry in the blockchain chain is registered in connection with the website. The records also indicate the credentials of the website. Then register the transaction associated with the blockchain record in the blockchain chain. The transaction includes a blockchain token with an indicator. A transaction is also associated with a website. After registering a token in the blockchain and writing about the website, the website is considered registered and confirmed.
[0011] В вариантах настоящего решения при получении запроса от пользователя, веб-браузер проводит проверку наличия блокчейн-записи, связанной с учетными данными вебсайта, в блокчейне; и проверку текущего показателя блокчейн-токена, связанного с вебсайтом, при которой в ответ на то, что текущий показатель блокчейн-токена меньше, чем первичный показатель, не валидируют текущий запрос; или, в ответ на то, что текущий показатель блокчейн-токена больше, чем первичный показатель, валидируют текущий запрос.[0011] In embodiments of the present solution, upon receipt of a request from a user, the web browser checks for the presence of the blockchain record associated with the website credentials in the blockchain; and checking the current blockchain token metric associated with the website, in which, in response to the fact that the current blockchain token metric is less than the primary metric, the current request is not validated; or, in response to the fact that the current indicator of the blockchain token is larger than the primary indicator, the current request is validated.
[0012] В вариантах настоящего решения анализируют характер изменения текущего показателя блокчейн-токена, которым может являться увеличение или уменьшение показателя блокчейн-токена.[0012] In embodiments of the present solution, the nature of the change in the current blockchain token metric is analyzed, which may be an increase or decrease in the blockchain token metric.
[0013] В вариантах настоящего решения после валидации текущего запроса в отношении начального блокчейн-токена, обновляют блокчейн-запись с учетом текущего показателя блокчейн-токена.[0013] In embodiments of the present solution, after validation of the current request regarding the initial blockchain token, the blockchain record is updated taking into account the current indicator of the blockchain token.
[0014] В других вариантах настоящего решения цепочка, связанная с одним (первым) доменным именем используется при внесении записи в ту же или в другую цепочку для другого доменного (второго) имени.[0014] In other embodiments of the present solution, the chain associated with one (first) domain name is used when making an entry in the same or another chain for another domain (second) name.
[0015] В вариантах настоящего решения показатель блокчейн-токена представляет собой депозит. Депозит может быть валютным, криптовалютным или любым другим без ограничений. В одних вариантах решения показателем блокчейн-токена является показатель затрат ресурсов при выпуске сертификата, полученного в отношении данных веб-сайта. Затраты ресурсов отражают затраты, например, электроэнергии, истраченной во время майнинга, то есть во время проведения расчетов для выпуска токена.[0015] In embodiments of the present decision, the blockchain token metric is a deposit. The deposit can be currency, cryptocurrency or any other without restrictions. In some solutions, the indicator of the blockchain token is an indicator of the cost of resources when issuing a certificate received in relation to website data. Resource costs reflect the costs, for example, of the energy spent during mining, that is, during the calculation for the issuance of a token.
[0016] В вариантах настоящего решения проверка текущего показателя включает проверку порога изменения показателя блокчейн-токена. В одних вариантах, где показатель токена валютный или криптовалютный, порогом может являться значение в рублях или биткоинах.[0016] In embodiments of the present solution, checking the current metric includes checking a threshold for changing a metric of a blockchain token. In some cases, where the token indicator is currency or cryptocurrency, the threshold may be the value in rubles or bitcoins.
[0017] В некоторых вариантах настоящего решения блокчейн-запись, связанная с учетными данными веб-сайта, включает дату выпуска или записи в цепочку, доменное имя и\или идентификатор, например, IP-адрес ресурса, наименование владельца, хэш-сумму записи.[0017] In some embodiments of the present solution, the blockchain record associated with the credentials of the website includes a release or chaining date, a domain name and / or an identifier, for example, a resource’s IP address, owner’s name, and the hash of the record.
[0018] В некоторых вариантах настоящего решения цепочка блокчейн имеет распределенную структуру. Распределенная структура может представлять собой виртуальной сеть серверов, физически распределенную сеть, включая дублирование и зеркалирование данных.[0018] In some embodiments of the present solution, the blockchain chain has a distributed structure. The distributed structure can be a virtual server network, a physically distributed network, including data duplication and mirroring.
[0019] В вариантах настоящего решения веб-браузер может визуализировать степень доверия веб-сайту при его посещении. При посещении веб-страницы веб-браузер может выводить сообщение и\или значок и\или баннер, поясняющий текущую степень доверия веб-сайту. Степень доверия может быть визуализирована цветом или количественными показателями, например, баллами или значками и\или цветовым индикатором, например, зеленый цвет - веб-сайт доверенный, красный - веб-сайт не доверенный.[0019] In embodiments of the present solution, the web browser can visualize the degree of trust in the website when it is visited. When visiting a web page, the web browser may display a message and / or an icon and / or banner explaining the current degree of trust in the website. The degree of trust can be visualized with color or quantitative indicators, for example, points or badges and / or color indicators, for example, green - trusted website, red - untrusted website.
[0020] В вариантах настоящего решения степень доверия веб-сайту рассчитывается на основе а) показателя токена, б) данных блокчейн-записи - даты выпуска, доменного имя, наименования владельца, хэш-суммы записи.[0020] In the variants of the present decision, the degree of trust to the website is calculated on the basis of a) a token metric, b) blockchain record data - release date, domain name, owner’s name, hash of the record.
[0021] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».[0021] In the context of the present description, “server” means a computer program running on appropriate equipment that is able to receive requests (for example, from client devices) over the network and execute these requests or initiate the execution of these requests. The equipment may be one physical computer or one physical computer system, but neither one nor the other is mandatory for this technology. In the context of this technology, the use of the expression “server” does not mean that every task (for example, received commands or requests) or any specific task will be received, executed or initiated to be executed by the same server (that is, by the same software software and / or hardware); this means that any number of software elements or hardware devices can be involved in receiving / transmitting, executing or initiating the execution of any request or the consequences of any request related to the client device, and all this software and hardware can be one server or several servers , both options are included in the expression “at least one server”.
[0022] В контексте настоящего описания, если конкретно не указано иное, «клиентское устройство» подразумевает под собой электронное устройство, связанное с пользователем и включающее в себя любое аппаратное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Таким образом, примерами клиентских устройств (среди прочего) могут служить персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) смартфоны, планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует иметь в виду, что компьютерное устройство, ведущее себя как клиентское устройство в настоящем контексте, может вести себя как сервер по отношению к другим клиентским устройствам. Использование выражения «клиентское устройство» не исключает возможности использования множества клиентских устройств для получения/отправки, выполнения или инициирования выполнения любой задачи или запроса, или же последствий любой задачи или запроса, или же этапов любого вышеописанного способа.[0022] In the context of the present description, unless specifically indicated otherwise, "client device" means an electronic device associated with the user and including any hardware device capable of working with software suitable for solving the corresponding problem. Thus, examples of client devices (among other things) include personal computers (desktop computers, laptops, netbooks, etc.) smartphones, tablets, as well as network equipment such as routers, switches, and gateways. It should be borne in mind that a computer device that behaves as a client device in the present context can behave like a server in relation to other client devices. The use of the expression “client device” does not exclude the possibility of using multiple client devices to receive / send, execute, or initiate the execution of any task or request, or the consequences of any task or request, or the steps of any method described above.
[0023] В контексте настоящего описания, если конкретно не указано иное, «компьютерное устройство» подразумевает под собой любое электронное устройство, способное работать с программным обеспечением, подходящим к решению соответствующей задачи. Компьютерное устройство может являться сервером, клиентским устройством и так далее.[0023] In the context of the present description, unless specifically indicated otherwise, "computer device" means any electronic device capable of working with software suitable for solving the corresponding problem. A computer device may be a server, a client device, and so on.
[0024] В контексте настоящего описания, если не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.[0024] In the context of the present description, unless otherwise indicated, the term "database" means any structured data set that is independent of the specific structure, database management software, hardware of the computer on which the data is stored, used or otherwise are available for use. The database can be located on the same equipment that performs the process on which information stored in the database is stored or used, or the database can be located on separate equipment, for example, a dedicated server or multiple servers.
[0025] В контексте настоящего описания, если не указано иное, «информация» включает в себя любую информацию любого типа, включая информацию, которую можно хранить в базе данных. Таким образом, информация включает в себя, среди прочего, аудиовизуальные произведения (фотографии, видео, звукозаписи, презентации и т.д.), данные (картографические данные, данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.[0025] In the context of the present description, unless otherwise indicated, “information” includes any information of any type, including information that can be stored in a database. Thus, information includes, among other things, audiovisual works (photographs, videos, sound recordings, presentations, etc.), data (map data, location data, digital data, etc.), text (opinions, comments, questions, messages, etc.), documents, tables, etc.
[0026] В контексте настоящего описания, если не указано иное, «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).[0026] In the context of the present description, unless otherwise indicated, a “component” means software (corresponding to a specific hardware context) that is necessary and sufficient to perform the specific specified (s) function (s).
[0027] В контексте настоящего описания, если не указано иное, термин «носитель информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый сервер» и «третий сервер» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) серверов/между серверами, равно как и их использование (само по себе) не предполагает, что некий "второй сервер" обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.[0027] In the context of the present description, unless otherwise indicated, the term "storage medium" means a medium of absolutely any type and nature, including RAM, ROM, disks (CDs, DVDs, floppy disks, hard drives, etc. .), USB flash drives, solid state drives, tape drives, etc. In the context of the present description, unless specifically indicated otherwise, the words "first", "second", "third", etc. used in the form of adjectives solely to distinguish the nouns to which they relate from each other, and not for the purpose of describing any specific relationship between these nouns. So, for example, it should be borne in mind that the use of the terms “first server” and “third server” does not imply any ordering, chronology, hierarchy or ranking (for example) of servers / between servers, as well as their use (in and of itself) does not imply that a certain “second server” must exist in a given situation. Further, as indicated here in other contexts, the mention of the “first” element and the “second” element does not exclude the possibility that it is one and the same actual real element. So, for example, in some cases, the “first” server and the “second” server can be the same software and / or hardware, and in other cases they can be different software and / or hardware.
[0028] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.[0028] Each embodiment of the present technology pursues at least one of the aforementioned objectives and / or objects, but all are not required. It should be borne in mind that some objects of this technology, obtained as a result of attempts to achieve the aforementioned goal, may not satisfy this goal and / or may satisfy other goals not specifically indicated here.
[0029] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящей технологии станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.[0029] Additional and / or alternative characteristics, aspects and advantages of embodiments of the present technology will become apparent from the following description, the accompanying drawings, and the appended claims.
Краткое описание чертежейBrief Description of the Drawings
Дальнейшее описание приведено для лучшего понимания настоящей технологии, а также других аспектов и их признаков, описание не является ограничивающим, и должно использоваться совместно с приложенными чертежами.The following description is provided for a better understanding of the present technology, as well as other aspects and their characteristics, the description is not limiting, and should be used in conjunction with the attached drawings.
[0031] На Фиг. 1 показана схема технической системы для авторизации веб-сайтов.[0031] In FIG. 1 shows a diagram of a technical system for website authorization.
[0032] На Фиг. 2 показана схема регистрации веб-сайта и создание первоначальной записи о веб-сайте в цепочке блокчейн.[0032] In FIG. Figure 2 shows the website registration scheme and the creation of the initial website record in the blockchain chain.
[0033] На Фиг. 3 показана схема проверки условия выполнения смарт контракта.[0033] FIG. 3 shows a scheme for verifying the conditions for fulfilling a smart contract.
Осуществление изобретенияThe implementation of the invention
[0035] Настоящее техническое решение относится к двум тематикам. Во-первых, решение описывает подход по авторизации веб-сайтов. Во-вторых, настоящее решение описывает систему хранения данных для авторизации веб-страниц в браузере на основе технологии блокчейн (blockchain).[0035] The present technical solution relates to two subjects. First, the solution describes an approach to authorizing websites. Secondly, the present solution describes a data storage system for authorizing web pages in a browser based on blockchain technology.
[0036] В настоящее время веб-сайты должны использовать сертификаты, предоставленные уполномоченным органом, кроме того, сертификаты должны поддерживаться веб-браузером. На сегодня используется стандарт для выпуска сертификатов, называемый SSL-сертификатом, подтверждающим домен. Когда веб-браузер пользователя выполняет обращение к веб-сайту, веб-браузер, используя специальную предварительно встроенную библиотеку, проверяет:[0036] Currently, websites must use certificates provided by an authorized body, and certificates must be supported by a web browser. Today, a standard for issuing certificates is used, called an SSL certificate confirming the domain. When the user's web browser accesses the website, the web browser, using a special pre-built library, checks:
a) кто предоставил, то есть выпустил, сертификат (браузер проверяет открытый ключ сертификационного центра) иa) who provided, i.e. issued, the certificate (the browser checks the public key of the certification center) and
b) является ли сертификат действительным (смотрит на закрытый ключ веб-сайта) - это общий подход технологии TLS / SSL.b) whether the certificate is valid (looking at the website’s private key) is a general TLS / SSL approach.
[0037] Если у веб-сайта есть действительный сертификат - это означает, что центр сертификации предпринял шаги для проверки того, что веб-адрес действительно принадлежит этой организации. Когда пользователь вводит URL-адрес или переходит по ссылке на «сертифицированный» веб-сайт, браузер проверяет сертификат на соответствие следующим характеристикам: адрес веб-сайта совпадает с адресом в сертификате, а сертификат подписан центром сертификации, который браузер распознает как «доверенный» центр сертификации.[0037] If the website has a valid certificate, this means that the certification authority has taken steps to verify that the web address actually belongs to this organization. When a user enters a URL or clicks on a link to a “certified” website, the browser checks the certificate for compliance with the following characteristics: the website address matches the address in the certificate, and the certificate is signed by a certification authority, which the browser recognizes as a “trusted” center certification.
[0038] Однако такой структуре присущи недостатки:[0038] However, such a structure has inherent disadvantages:
распределенная сеть сертификатов (различные фирмы и т.д.) веб-браузеры должны поддерживать разнообразие сертификатов;distributed network of certificates (various companies, etc.) web browsers must support a variety of certificates;
каждый из таких центров использует свои базы данных, инфраструктуру и системы хранения.Each of these centers uses its own databases, infrastructure and storage systems.
Поэтому и веб-браузеры должны поддерживать совместимость со структурами данных для обмена информацией с центрами сертификации. Используемая на сегодня структура имеет большую степень децентрализации, демонстрирует низкую степень единообразия структуры хранения данных, а также сильно подвержена компрометации и фрод-атакам.Therefore, web browsers must maintain compatibility with data structures for exchanging information with certification authorities. The structure used today has a large degree of decentralization, demonstrates a low degree of uniformity in the data storage structure, and is also highly susceptible to compromise and fraud attacks.
[0039] Существует эффективное решение для решения двух вышеперечисленных проблем - применение доработанной технологии блокчейн для решения поставленной задачи. Другими словами, применение доработанной технологии блокчейн для сертификации вебсайтов позволяет создать распределенную и общедоступную структуру записей о вебсайтах, которую технологически сложно подменить и\или скомпрометировать.[0039] There is an effective solution to solving two of the above problems - the use of advanced blockchain technology to solve the problem. In other words, the use of advanced blockchain technology for website certification allows you to create a distributed and publicly accessible website record structure that is technologically difficult to replace and / or compromise.
[0040] В целом, в некоторых вариантах воплощения настоящее техническое решение учит использовать как запись в реестре блокчейн, так и показатель блокчейн-токена, который веб-мастер выпускает в качестве подтверждения статуса своего веб-сайта для проверки (авторизации) веб-сайта.[0040] In general, in some embodiments, the present technical solution teaches to use both a blockchain registry entry and a blockchain token metric that a webmaster issues as a confirmation of the status of his website to verify (authorize) the website.
[0041] На Фиг. 1 представлена схема технической системы согласно одному из вариантов реализации настоящей технологии. Очевидно, что система представляет собой лишь один из возможных вариантов реализации настоящей технологии. Таким образом, дальнейшее описание системы представляет собой описание примеров, иллюстрирующих настоящую технологию. Это описание не предназначено для определения объема или границ настоящей технологии. В некоторых случаях также приводятся полезные примеры модификаций системы. Они способствуют пониманию, но также не определяют объем или границы настоящей технологии. Эти модификации не составляют исчерпывающего списка. Специалисту в данной области будет очевидно, что возможны и другие модификации. Кроме того, если в некоторых случаях модификации не описаны, это не означает, что они невозможны и/или описание содержит единственный вариант реализации того или иного элемента настоящей технологии. Кроме того, следует понимать, что система в некоторых случаях может представлять собой упрощенную реализацию настоящей технологии, и что такие варианты представлены, чтобы способствовать лучшему ее пониманию. Специалисту в данной области очевидно, что различные варианты реализации настоящей технологии могут быть значительно сложнее.[0041] FIG. 1 shows a diagram of a technical system according to one embodiment of the implementation of this technology. Obviously, the system is only one of the possible options for implementing this technology. Thus, a further description of the system is a description of examples illustrating the present technology. This description is not intended to determine the scope or boundaries of this technology. In some cases, useful examples of system modifications are also provided. They contribute to understanding, but also do not define the scope or boundaries of the present technology. These modifications do not constitute an exhaustive list. One skilled in the art will appreciate that other modifications are possible. In addition, if modifications are not described in some cases, this does not mean that they are not possible and / or the description contains a single implementation option for this or that element of the present technology. In addition, it should be understood that the system in some cases may constitute a simplified implementation of the present technology, and that such options are presented in order to facilitate a better understanding of it. It will be apparent to those skilled in the art that various implementations of the present technology can be significantly more complex.
[0042] Система содержит электронное устройство. Электронное устройство обычно взаимодействует с сервером (-ами) и базами данных и может называться «клиентским устройством». Следует отметить, что связь электронного устройства с сервером не означает необходимости указывать или предполагать какой-либо режим работы, например, вход в систему, регистрацию и т.п. Система может содержать множество электронных устройств, подобных электронному устройству или отличающихся от него.[0042] The system comprises an electronic device. An electronic device typically interacts with the server (s) and databases and may be referred to as a “client device”. It should be noted that the communication of the electronic device with the server does not mean the need to indicate or assume any operating mode, for example, logging in, registering, etc. A system may comprise a plurality of electronic devices similar to or different from an electronic device.
[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).[0043] There are no particular restrictions on the implementation of an electronic device. As an example, an electronic device can be implemented as a personal computer (desktop, laptop, netbook, etc.) or as a wireless electronic device (cell phone, smartphone, tablet, etc.). In the embodiment of FIG. In one example, an electronic device is implemented as a laptop, such as a 13-inch MacBook Pro ™ (contains a 13.3-inch LED backlit IPS display with a resolution of 2560 × 1600 pixels at a density of 227 pixels per inch; sixth-generation Intel Core i5 dual-core processor with frequency 2.9 GHz; Intel ™ Iris Graphics 550; 8 GB RAM; 256 GB SSD; touchpad) Apple, Inc., USA (Apple Campus, 1 Infinite Loop, Cupertino, California. USA).
[0044] Общая реализация электронного устройства известна в данной области техники и поэтому его подробное описание опущено. Достаточно сказать, что электронное устройство содержит пользовательский интерфейс ввода (такой как клавиатура, мышь, сенсорная панель, сенсорный экран и т.п.) для приема вводимой пользователем информации; пользовательский интерфейс вывода (такой как экран, сенсорный экран, принтер и т.п.) для вывода визуальной и звуковой информации пользователю; сетевой интерфейс передачи данных (такой как модем, сетевая плата и т.п.) для двунаправленной передачи данных через сеть связи; процессор, соединенный с пользовательским интерфейсом ввода, пользовательским интерфейсом вывода и сетевым интерфейсом передачи данных, при этом процессор выполнен с возможностью выполнения различных процедур, включая описанные ниже. С этой целью процессор может хранить предназначенные для считывания компьютером команды или иметь доступ к ним. При выполнении этих команд процессор выполняет различные процедуры, представленные в настоящем описании.[0044] A general implementation of an electronic device is known in the art and therefore, a detailed description thereof is omitted. Suffice it to say that the electronic device contains a user input interface (such as a keyboard, mouse, touchpad, touch screen, etc.) for receiving user input; an output user interface (such as a screen, touch screen, printer, etc.) for outputting visual and audio information to a user; a network data transmission interface (such as a modem, network card, etc.) for bidirectional data transmission through a communication network; a processor connected to an input user interface, an output user interface, and a network data interface, wherein the processor is configured to perform various procedures, including those described below. To this end, the processor may store or have access to instructions for reading by a computer. When these instructions are executed, the processor performs the various procedures presented in the present description.
[0045] Вышеупомянутая сеть связи может представлять собой сеть Интернет. В других вариантах реализации настоящей технологии сеть связи может быть реализована иначе, например, в виде произвольной глобальной сети связи, локальной сети связи, личной сети связи и т.д.[0045] The aforementioned communication network may be the Internet. In other embodiments of the present technology, a communication network may be implemented differently, for example, in the form of an arbitrary global communication network, a local communication network, a personal communication network, etc.
[0046] Электронное устройство содержит аппаратные средства и/или ПО, и/или встроенное ПО (либо их сочетание) для выполнения в электронном устройстве веб-браузера (браузера). Браузер обеспечивает пользователю доступ через сеть связи к одному или нескольким сетевым ресурсам, таким как первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов, которые совместно обозначены как на фиг. 1. Браузер может быть реализован как один из следующих браузеров: Mozilla Firefox™, Google Chrome™, Yandex™ Browser. Следует отметить, что в электронном устройстве может быть установлено несколько версий браузера от одного или нескольких поставщиков.[0046] The electronic device comprises hardware and / or software and / or firmware (or a combination thereof) for executing a web browser (browser) in the electronic device. The browser provides the user access through the communication network to one or more network resources, such as a first network resource, a second network resource and many additional resources, which are collectively indicated as in FIG. 1. The browser can be implemented as one of the following browsers: Mozilla Firefox ™, Google Chrome ™, Yandex ™ Browser. It should be noted that several versions of a browser from one or more providers may be installed in an electronic device.
[0047] Каждый веб-сайт (первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов) может представлять собой конкретный веб-сайт (такой как интернет-магазин Amazon™, информационный ресурс Wikipedia™, веб-сайт, связанный с организацией Canadian Cancer Foundation и т.д.), веб-ресурс агрегатора и т.п. Некоторые или все сетевые ресурсы, такие как первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов, могут размещаться в одном или нескольких серверах сетевых ресурсов, совместно обозначенных как на фиг. 1. Доступная в первом сетевом ресурсе, втором сетевом ресурсе и множестве дополнительных ресурсов информация может включать в себя разнообразные виды контента, такого как фотографии, видеоматериалы, аудиоматериалы и т.п., и может относиться к разнообразным темам, таким как новости, погода, дорожное движение, развлечения, финансы и т.д.[0047] Each website (first network resource, second network resource, and many additional resources) can be a specific website (such as an Amazon ™ online store, Wikipedia ™ information resource, Canadian Cancer affiliated website Foundation, etc.), aggregator web resource, etc. Some or all network resources, such as a first network resource, a second network resource, and a plurality of additional resources, may reside in one or more network resource servers, collectively referred to as in FIG. 1. Available in the first network resource, the second network resource and many additional resources, the information may include various types of content, such as photographs, videos, audio materials, etc., and may relate to various topics, such as news, weather, traffic, entertainment, finance, etc.
[0048] В общем случае, когда пользователю электронного устройства требуется доступ к информации одного из сетевых ресурсов, таких как первый сетевой ресурс, второй сетевой ресурс и множество дополнительных ресурсов, пользователь может обратиться к веб-ресурсу либо непосредственно, введя адрес ресурса (обычно URL, такой как www.webpage.com), либо перейдя по ссылке в сообщении электронной почты или на другом веб-ресурсе. Браузер обычно обеспечивает также функцию поиска, посредством которой пользователь может выполнять поиск информации по интересующей его теме (как более подробно описано ниже).[0048] In general, when a user of an electronic device needs access to information from one of the network resources, such as the first network resource, the second network resource, and many additional resources, the user can access the web resource either directly by entering the address of the resource (usually the URL , such as www.webpage.com), or by clicking on the link in the email message or on another web resource. The browser typically also provides a search function by which the user can search for information on a topic of interest to him (as described in more detail below).
[0049] Электронное устройство дополнительно выполнено с возможностью выполнения программы-контролера процессов устройства. Программа-контролер может выполняться либо браузером, либо операционной системой (ОС) электронного устройства (либо и тем, и другим). Регистрация веб-сайта и создание первоначальной записи о веб-сайте в цепочке блокчейн (блокчейн-сертификации).[0049] The electronic device is further configured to execute a device process controller program. The controller program can be executed either by the browser or by the operating system (OS) of the electronic device (or both). Registering a website and creating an initial website entry in the blockchain chain (blockchain certification).
[0050] На Фиг. 2 показана схема регистрации веб-сайта и создание первоначальной записи о веб-сайте в цепочке блокчейн. Владелец домена, используя устройство пользователя, регистрирует свой веб-сайт (доменное имя), регистрируя доменное имя и\или URL вебсайта в общедоступном блокчейн реестре, размещенной в базе данных блокчейн. Для этого владелец веб-сайта связывается с сервером сертификации. Сервер сертификации имеет доступ к базе данных записей (цепочек). То есть владелец испрашивает у сервера выпуск, а сервер, соответственно, регистрирует запись по средствам обновления блокчейн цепочки данных в базе данных. Добавляя новую запись в цепочку, владелец дополнительно может указывать свои данные, то есть идентифицирует себя, идентификационные данные владельца также сохраняются в цепочке. Впоследствии, если злоумышленник попытается изменить данные (перезаписать цепочку), то злоумышленнику потребуется дополнительно указать данные оригинального владельца, выпустившего первоначальную запись, для внесения изменений в первоначальную запись. Данные владельца могут включать логин и пароль, идентификационные данные физического лица или юридического лица и т.д.[0050] FIG. Figure 2 shows the website registration scheme and the creation of the initial website record in the blockchain chain. The domain owner, using the user's device, registers his website (domain name) by registering the domain name and / or website URL in the public blockchain registry located in the blockchain database. To do this, the website owner contacts the certification server. The certification server has access to the database of records (chains). That is, the owner requests the release from the server, and the server, accordingly, registers the record by means of updating the blockchain of the data chain in the database. By adding a new record to the chain, the owner can optionally indicate his data, that is, identifies himself, the owner’s identification data is also stored in the chain. Subsequently, if an attacker tries to change the data (overwrite the chain), then the attacker will need to additionally specify the data of the original owner who issued the original record to make changes to the original record. Owner data may include login and password, identification data of an individual or legal entity, etc.
[0051] Выпуск первоначальной записи в вариантах настоящего решения выполняется на основе предоставленного веб-сайту SSL-сертификата, например, предоставленного другим сервером сертификации раннее, содержащего указание доменного имени, серийного номера сертификата. SSL-сертификат также может быть изначально подписан сторонним веб-сервисом, выдавшим сертификат. Такой вариант настоящего решения возможен, например, в случаях, когда веб-сайт проходит первоначальную регистрацию в системе блокчейн-сертификации, или же осуществляется переход со стандартной системы сертификации на систему блокчейн-сертификации. Кроме того, система блокчейн-сертификации, описанная в настоящем решении, может использоваться как дополнительная система в совокупности с другими известными технологиями для повышения надежности процедуры сертификации веб-сайта и последующей проверки вебсайта при посещении веб-сайта пользователями.[0051] The issuance of the initial record in embodiments of this solution is based on the SSL certificate provided to the website, for example, provided by another certification server earlier, containing the domain name and certificate serial number. An SSL certificate can also be initially signed by a third-party web service that issued the certificate. Such an option of the present solution is possible, for example, in cases where the website is being initially registered in the blockchain certification system, or the transition is made from the standard certification system to the blockchain certification system. In addition, the blockchain certification system described in this decision can be used as an additional system in conjunction with other known technologies to increase the reliability of the website certification procedure and subsequent verification of the website when users visit the website.
[0052] Блокчейн-запись, связанная с учетными данными веб-сайта, включает дату выпуска или записи в цепочку, доменное имя и\или идентификатор, например, IP-адрес ресурса, наименование владельца, хэш-сумму записи. Кроме того, запись может быть связана с данными владельца веб-сайта, ФИО, регистрационными данными в веб-ресурсах, на основании ЭЦП (электронно-цифровой подписи), валидирующей владельца.[0052] The blockchain record associated with the credentials of the website includes the release or chaining date, domain name and / or identifier, for example, the IP address of the resource, the name of the owner, the hash of the record. In addition, the record may be associated with the data of the owner of the website, full name, registration data in web resources, based on the electronic digital signature (digital signature) validating the owner.
[0053] Владелец домена также дополнительно может провести следующую транзакцию. В таком случае владелец выпускает блокчейн-токен и передает его для записи в базу данных серверу сертификации. Токен имеет присвоенный показатель, то есть набор значений, присвоенных токену при генерации и\или при последующем обновлении. Например, показателем блокчейн-токена может являться показатель затрат ресурсов при выпуске сертификата, полученного в отношении данных веб-сайта. Затраты ресурсов отражают затраты, например, электроэнергии, истраченной во время майнинга, то есть во время проведения расчетов значений, необходимых для выпуска токена.[0053] The domain owner may also optionally conduct the following transaction. In this case, the owner issues a blockchain token and transmits it for writing to the database to the certification server. The token has an assigned metric, that is, a set of values assigned to the token during generation and / or subsequent update. For example, an indicator of a blockchain token may be an indicator of the cost of resources when issuing a certificate received in relation to website data. Resource costs reflect the costs, for example, of the energy spent during mining, that is, during the calculation of the values needed to issue a token.
[0054] В вариантах настоящего технического решения владелец домена помещает определенную сумму (например, биткойны или любую другую криптовалюту или «реальную» валюту) в свой кошелек, связанный с его веб-сайтом (предоставляется на основании реестра в цепочке). Это начальный депозит веб-сайта, подтверждающий право владения доменным именем и веб-сайтов в целом. В таком варианте блокчейн-токен имеет показатель, связанный с суммой депозита.[0054] In the variants of this technical solution, the domain owner puts a certain amount (for example, bitcoins or any other cryptocurrency or “real” currency) into his wallet associated with his website (provided based on the registry in the chain). This is the initial deposit of the website, confirming the ownership of the domain name and websites in general. In this embodiment, the blockchain token has an indicator associated with the amount of the deposit.
[0055] Сервер регистрирует запись в цепочке, обновляет цепочку в базе данных, гарантирующую, что выбранный домен обеспечивается за счет первоначального депозита веб-сайта в кошельке А (идентификатор кошелька) с самим депозитом В и идентификатором сертификата. Идентификатором служит токен, содержащий хеш-маркер или любой другой токен. Токен может быть выполнен с участием криптопровайдеров и выпускаться, в том числе, с использованием ЭЦП (электронно-цифровой подписи), валидирующей владельца.[0055] The server registers the record in the chain, updates the chain in the database, ensuring that the selected domain is secured by the initial deposit of the website in wallet A (wallet identifier) with deposit B itself and the certificate identifier. An identifier is a token containing a hash token or any other token. The token can be executed with the participation of crypto providers and issued, including using an electronic digital signature (digital signature) validating the owner.
[0056] На основании токена и записи в цепочке, сервер сертификации выпускает смарт контракт («умный контракт» от англ. smart contract), имеющий подпись. Смарт контракт подписывается, используя методы, аналогичные для контроля движения и отправки средств в криптовалютных сетях. После подписания сторонами контракт вступает в силу. Условия контракта должны иметь математическое описание и ясную логику исполнения. Имея беспрепятственный доступ к объектам контракта, смарт контракт отслеживает по указанным условиям достижения или нарушения пунктов и принимает самостоятельные решения, основываясь на запрограммированных условиях. Таким образом, основной принцип умного контракта состоит в полной автоматизации и достоверности исполнения договорных отношений. По сути, смарт контракт - это программный код, который содержит информацию о сделке в формате «если... то». Например, в смарт контракте может быть указано условие вида: если пользователь зашел на веб-сайт, проверить показатель токен с порядковым (серийным) №11111. Если показатель токена>100 единиц, то разрешить доступ к веб-сайту. Другой пример может пояснять контроль депозита кошелька криптовалюты. Например, если пользователь зашел на веб-сайт, проверить депозит кошелька №22222. Если депозит кошелька ≥100 единиц криптовалюты, то разрешить доступ к веб-сайту.[0056] Based on the token and the entry in the chain, the certification server issues a smart contract (“smart contract” from the English smart contract) that has a signature. A smart contract is signed using methods similar to controlling movement and sending funds in cryptocurrency networks. After signing by the parties, the contract takes effect. The terms of the contract should have a mathematical description and a clear logic of execution. Having unhindered access to the objects of the contract, the smart contract monitors the achievement or violation of points according to the specified conditions and makes independent decisions based on the programmed conditions. Thus, the basic principle of a smart contract is the complete automation and reliability of the execution of contractual relations. In essence, a smart contract is a program code that contains information about a transaction in the “if ... then” format. For example, in a smart contract, a condition can be indicated like: if the user has visited the website, check the token metric with serial (serial) No. 11111. If the token metric is> 100 units, then allow access to the website. Another example may explain the control of a cryptocurrency wallet deposit. For example, if a user accesses a website, check wallet deposit No. 22222. If the wallet deposit is ≥100 cryptocurrency units, then allow access to the website.
[0057] Варианты настоящего решения с использованием смарт контрактов позволяют автоматизировать проверку показателей (записей) в цепочках блокчейн в том числе без непосредственного доступа пользователей к данным и информации на стороне веб-сайта (веб-мастера). Проверка производится автоматически на стороне сервера, что позволяет дополнительно снизить количество передаваемой информации конечному потребителю контента веб-сайта. Все контракты хранятся в цепочках блокчейн в зашифрованном виде. То есть об условиях контракта знают только стороны договора (веб-мастер и сервер сертификации), а внести изменения в программный код (переписать договор в цепочке) третьи лица не могут. Это обусловлено структурой и принципами технологии блокчейн и особенностями настоящего решения.[0057] Variants of this solution using smart contracts make it possible to automate the verification of indicators (records) in blockchain chains, including without direct user access to data and information on the website side (webmasters). Validation is performed automatically on the server side, which further reduces the amount of information transmitted to the end user of the website content. All contracts are stored in blockchain chains in encrypted form. That is, only the parties to the agreement (web master and certification server) know about the terms of the contract, and third parties cannot make changes to the program code (rewrite the agreement in the chain). This is due to the structure and principles of blockchain technology and the features of this solution.
[0058] Одной из особенностей настоящего технического решения является совокупность показателя блокчейн-токена и блокчейн-записи, которые, как уже было сказано, верифицируют владельца домена (веб-сайта) и показатель блокчейн-токена, дополнительно подтверждающий факт выпуска транзакции конкретным владельцем. Пара блокчейн-токен и блокчейн-запись образуют сертификат в рамках смарт контракта, который, при последующей проверке веб-браузером клиентского устройства верифицирует или не верифицирует веб-сайт. Для этого веб-браузер клиентского устройства связывается с базой данных, хранящей цепочки блокчейн с блокчейн-токенами и соответствующими блокчейн-записями в смарт контрактах, что будет подробнее описано далее.[0058] One of the features of this technical solution is the combination of a blockchain token metric and a blockchain record, which, as already mentioned, verify the domain (website) owner and a blockchain token metric, additionally confirming the fact that the transaction was issued by the specific owner. A blockchain-token pair and a blockchain record form a certificate within the framework of a smart contract, which, upon subsequent verification by a web browser of a client device, verifies or does not verify the website. For this, the client device’s web browser communicates with a database storing blockchain chains with blockchain tokens and corresponding blockchain entries in smart contracts, which will be described in more detail below.
[0059] База данных размещается на удаленном сервере или, в случае распределенной структуры, на нескольких серверах. Сервер, в процессе наполнения базы данных регистрирует транзакции и блокчейн-токены, выпущенные на веб-сайты (на доменные имена), цепочки публикуются едином глобальном пространстве через цепочку блокчейн. В цепочке каждый из сертификатов состоит из заголовка и нескольких транзакций, которые организованы как дерево хэшей.[0059] The database is hosted on a remote server or, in the case of a distributed structure, on multiple servers. The server, in the process of filling the database, registers transactions and blockchain tokens issued on websites (domain names), chains are published in a single global space through the blockchain chain. In the chain, each of the certificates consists of a header and several transactions, which are organized as a hash tree.
[0060] Заголовок блока состоит из:[0060] The block header consists of:
а) времени, когда майнер (владелец сертификата) начинает генерировать блок;a) the time when the miner (certificate holder) begins to generate a block;
б) дайджеста последнего заголовка блока в цепочке блоков, например, текущего показателя токена.b) the digest of the last block header in the block chain, for example, the current token metric.
[0061] Записи транзакций содержат списки (тип операции или записи, DNS-имя) изменений и транзакциях, например, отсортированных по дате и времени или в лексикографическом порядке. В цепочке сертификатов могут быть выпущены транзакции разного типа. Транзакция первого типа подписывается сервером с использованием его ключа или пары ключей. Ключ может быть открытым или закрытым, генерироваться с помощью пароля и логина клиентского устройства. Когда сертификат истекает и обновляется, новый ключ будет включен в следующую транзакцию. Если сертификат отозван, он будет исключен из следующей транзакции. Транзакции второго типа используются для инициализации или сброса пар ключей.[0061] Transaction records contain lists (type of operation or record, DNS name) of changes and transactions, for example, sorted by date and time or in lexicographic order. Different types of transactions can be issued in the certificate chain. A transaction of the first type is signed by the server using its key or key pair. The key can be public or private, generated using the password and login of the client device. When the certificate expires and is renewed, the new key will be included in the next transaction. If the certificate is revoked, it will be excluded from the next transaction. Transactions of the second type are used to initialize or reset key pairs.
[0062] В случаях, когда DNS-имя (или URL веб-сайта) изначально вносится в цепочку блокчейн, факт его «публикации» возможно подписывать с использованием нескольких других веб-сайтов. Эти веб-сайты будут выступать «поручителями» нового регистрируемого веб-сайта. Поручителем может выступать, среди прочего, веб-сайт одного продукта компании, когда компания запускает новый продукт.[0062] In cases where the DNS name (or website URL) is initially entered into the blockchain chain, the fact of its “publication” can be signed using several other websites. These websites will act as “guarantors” of the new registered website. A surety can be, among other things, the website of one company product when the company launches a new product.
[0063] Сервер генерирует, в таком случае, сертификат для нового веб-сайта на основе ключей «поручителей». Все транзакции непрерывно публично публикуются сервером в цепочке блокчейн. В случае выпуска сертификата с поручителем сервер генерирует новый сертификат на основании ранее выпущенных сертификатов «поручителей».[0063] The server then generates a certificate for the new website based on the keys of the “guarantors”. All transactions are continuously publicly published by the server in the blockchain chain. In case of issuing a certificate with a guarantor, the server generates a new certificate based on previously issued certificates of “guarantors”.
[0064] В варианте настоящего решения с использованием смарт контракта, новый выпускаемый контракт может дополнительно иметь условие для проверки валидности исполнения контракта своего поручителя.[0064] In an embodiment of the present decision using a smart contract, the newly issued contract may additionally have a condition for verifying the validity of the execution of the contract of the guarantor.
[0065] В каждой операции серверу (-ам) разрешено публиковать одну или несколько транзакций. Если пользователи системы (майнеры) получают как транзакции первого типа, так и транзакции второго типа с тем же DNS-именем, транзакция второго типа имеет приоритет. Если есть несколько транзакции одного и того же имени и типа DNS, сервер выбирает одну из них на основе отметок времени регистрации прихода транзакции и\или временем генерации запроса на стороне клиентского устройства. Браузер клиентского устройства взаимодействует с сетью серверов по схеме Р2Р (peer-to-peer), другие клиентские устройства могут получать обновления напрямую от сервера или от других клиентов. Когда браузер клиентского устройства устанавливает соединение с сервером, он может дополнительно сверять свой сертификат на сервере с помощью локальной копии сертификата из памяти клиентского устройства.[0065] In each operation, the server (s) are allowed to publish one or more transactions. If users of the system (miners) receive both transactions of the first type and transactions of the second type with the same DNS name, the transaction of the second type takes precedence. If there are several transactions of the same name and type of DNS, the server selects one of them based on the timestamps of registration of the arrival of the transaction and / or the time of generating the request on the client device side. The client device browser interacts with the server network according to the P2P (peer-to-peer) scheme; other client devices can receive updates directly from the server or from other clients. When the browser of the client device establishes a connection with the server, it can additionally verify its certificate on the server using a local copy of the certificate from the memory of the client device.
Процедура авторизации веб-сайта.Website Authorization Procedure.
[0066] На Фиг. 2 показана схема взаимодействия пользовательского устройства с сервером авторизации (первым сервером) и сервером сертификации (вторым сервером). В вариантах настоящего решения, функции сервера авторизации и сервера сертификации может выполнять один и тот же сервер, в других вариантах сервер авторизации и\или сервер сертификации может быть виртуальным сервером, или являться частью распределенной серверной архитектуры. Сервер сертификации может быть соединен с базой данных записей блокчейн, осуществляя доступ к базе данных при входящих запросах от сервера авторизации. Сервер сертификации, сервер авторизации и клиентское устройство соединены через сеть Интернет и\или интранет или любые другие, как, например, сотовые сети связи. База данных может быть выполнена как часть сервера сертификации, так и как удаленное решение, в том числе, использую виртуальные базы данных и распределенные структуры.[0066] FIG. Figure 2 shows the interaction diagram of a user device with an authorization server (first server) and a certification server (second server). In the variants of the present solution, the functions of the authorization server and the certification server can be performed by the same server, in other embodiments, the authorization server and / or the certification server can be a virtual server, or be part of a distributed server architecture. The certification server can be connected to the database of blockchain records, accessing the database with incoming requests from the authorization server. The certification server, authorization server, and client device are connected via the Internet and / or intranet or any other, such as cellular communication networks. The database can be executed as part of a certification server, or as a remote solution, including using virtual databases and distributed structures.
[0067] Пользователь, используя веб-браузер, соединяется с сетью (Интернет) и, запрашивает искомый веб-сайт. Браузер может быть оснащен как встроенными средствами для обработки запросов авторизации веб-сайтов (по аналогии с SSL-сертификатами), так и сторонними библиотеками и\или расширениями, устанавливаемыми отдельно из магазина приложений и\или с веб-сайтов поставщиков услуг авторизации. Браузер, используя встроенную библиотеку верификации или расширение браузера, соединяется с сервером авторизации (первым сервером), передавая серверу авторизации запрос на авторизацию веб-сайта. Запрос содержит инструкции на проверку в цепочке блокчейн сертификата вебсайта. Сервер авторизации, получив запрос, инициирует проверку. Запрос браузера содержит указание на доменное имя (веб-сайт), доступ к которому требуется пользователю. Сервер авторизации, получив запрос от веб-браузера, генерирует запрос сертификации к серверу сертификации (второму серверу). Запрос к серверу сертификации включает открытый (публичный) ключ, доменное имя веб-сайта, который запрашивает пользователь. В ответ на запрос от сервера авторизации, сервер сертификации обращается в базу данных и сверяет публичный ключ и запись о зарегистрированном в цепочке блокчейн доменном имени. При наличии записи, совпадающей с полученным доменным именем и публичным ключом, сервер сертификации возвращает серверу авторизации запрос на подписание обращения приватным (личным ключом).[0067] A user, using a web browser, connects to a network (Internet) and requests the desired website. The browser can be equipped with both built-in tools for processing website authorization requests (similar to SSL certificates), and third-party libraries and / or extensions installed separately from the application store and / or from the websites of authorization service providers. Using the built-in verification library or browser extension, the browser connects to the authorization server (first server), sending the authorization request to the website to the authorization server. The request contains instructions for checking the blockchain certificate chain of the website. The authorization server, upon receipt of the request, initiates a check. The browser request contains an indication of the domain name (website) that the user requires access to. The authorization server, having received a request from a web browser, generates a certification request to the certification server (second server). The request to the certification server includes the public (public) key, the domain name of the website that the user requests. In response to a request from the authorization server, the certification server contacts the database and verifies the public key and the record of the domain name registered in the blockchain chain. If there is an entry that matches the received domain name and public key, the certification server returns to the authorization server a request to sign the request with a private (private key).
[0068] Далее сервер авторизации подписывает возвращенный запрос приватным ключом и снова передает второй запрос серверу сертификации для сверки с базой данных блокчейн. Во втором запросе от сервера авторизации находятся инструкции для проверки выполнения условий смарт контракта. В ходе проверки выполнения условий смарт контракта, сервер сертификации может обращаться к браузеру. Браузер, используя встроенную библиотеку верификации или расширение браузера, получает условия проверки из смарт контракта, которые затем проверяются (верифицируются) встроенной библиотекой верификации или расширением браузера. В других вариантах браузер обращается к смарт контракту, согласно которому, в зависимости от конкретных условий контракта, возможна проверка, например, нескольких условий, последовательно или параллельно, для одного или нескольких контрактов.[0068] Next, the authorization server signs the returned request with a private key and again passes the second request to the certification server to reconcile with the blockchain database. The second request from the authorization server contains instructions for verifying the fulfillment of the terms of the smart contract. During verification of compliance with the terms of the smart contract, the certification server can access the browser. The browser, using the built-in verification library or browser extension, obtains the verification conditions from the smart contract, which are then checked (verified) by the built-in verification library or browser extension. In other embodiments, the browser refers to a smart contract, according to which, depending on the specific conditions of the contract, it is possible to check, for example, several conditions, sequentially or in parallel, for one or more contracts.
[0069] В вариантах настоящего решения, как это показано на Фиг. 3, браузер проверят условия для проверки смарт контракта и проверяет выполнения условий показателя токена в отношении запрашиваемого доменного имени. В таком случае сервер и\или браузер обращается к базе данных, в которой сохранен смарт контракт, в контракте указаны а) условия проверки (выполнения условий контракта) и б) проверяемый субъект. Проверяемым субъектом может быть конкретный токен или несколько токенов, сохраненные в базе данных и указанные в смарт контракте. В таком варианте в контракте может быть указан порог значения показателя, в случае достижения (или превышения \ снижения) которого смарт контракт считается исполненным или, соответственно, неисполненным.[0069] In embodiments of the present solution, as shown in FIG. 3, the browser will check the conditions for verifying the smart contract and verify that the conditions of the token metric are met with respect to the requested domain name. In this case, the server and / or browser accesses the database in which the smart contract is stored, the contract indicates a) the conditions for verification (fulfillment of the conditions of the contract) and b) the subject being verified. The subject to be verified may be a specific token or several tokens stored in the database and indicated in the smart contract. In such an option, the contract may indicate a threshold for the value of the indicator, in case of achievement (or excess / decrease) of which the smart contract is considered fulfilled or, accordingly, unfulfilled.
[0070] В других вариантах настоящего решения проверяемым субъектом может быть кошелек и\или криптовалютный показатель токена, который указан в смарт контракте для проверки. В случае сверки показателя токена или кошелька проверяется депозит кошелька или токена. Кроме того, в вариантах смарт контрактов, возможна сверка характера изменения. Например, в вариантах решения, характер изменения текущего показателя блокчейн-токена (или депозита кошелька) является увеличение или уменьшение показателя блокчейн-токена (или депозита кошелька).[0070] In other embodiments of the present decision, the subject to be verified may be a wallet and / or cryptocurrency indicator of a token, which is indicated in the smart contract for verification. In case of reconciliation of the token or wallet indicator, the deposit of the wallet or token is checked. In addition, in smart contract options, reconciliation of the nature of the change is possible. For example, in solutions, the nature of the change in the current indicator of the blockchain token (or wallet deposit) is to increase or decrease the indicator of the blockchain token (or wallet deposit).
[0071] В вариантах настоящего решения, в ходе проверки сервер осуществляет проверку пары записей, включающую[0071] In embodiments of the present solution, during the check, the server checks the pair of records, including
а) текущий статус сертификата испрашиваемого веб-сайта, иa) the current status of the certificate of the requested website, and
б) показателя токена, который, на момент проверки, может быть выше, равен или ниже изначально зарегистрированного показателя токена.b) the token metric, which, at the time of verification, may be higher, equal to or lower than the token's originally registered metric.
[0072] В вариантах настоящего решения сервер сертификации, после проверки условий выполнения смарт контракта, в случае удовлетворения условий контракта, передает серверу авторизации инструкции для разрешения доступа к веб-сайту, а в случае неудовлетворения условий контракта, передает серверу авторизации инструкции для запрещения доступа к веб-сайту. В ответ на получение инструкций для разрешения доступа к веб-сайту, сервер авторизации передает авторотационные данные веб-браузеру пользовательского устройства, то есть запрашиваемый пользователем веб-сайт считается доверенным.[0072] In the variants of the present solution, the certification server, after checking the conditions for fulfilling the smart contract, if the conditions of the contract are met, sends instructions to the authorization server to allow access to the website, and if the contract is not satisfied, sends instructions to the authorization server to block access to to the website. In response to receiving instructions to allow access to the website, the authorization server transmits autorotation data to the web browser of the user device, that is, the website requested by the user is considered trusted.
[0073] Степень доверия веб-браузера в отношении конкретного веб-сайта или веб-страницы может быть рассчитана по совокупности доверия SSL-сертификату и удовлетворения проверки выполнения условий смарт контракта. В других вариантах степень доверия может быть рассчитана на основании одного или нескольких условий смарт контракта, например, по принципу чем больше выполнено условий - тем больше степень доверия.[0073] The degree of trust of a web browser with respect to a particular website or web page can be calculated from the totality of trust in the SSL certificate and satisfaction of the verification of compliance with the terms of the smart contract. In other embodiments, the degree of trust can be calculated on the basis of one or more conditions of a smart contract, for example, on the principle that the more conditions are met, the greater the degree of trust.
[0074] Веб-браузер может быть оснащен средствами отображения степени доверия тому или иному веб-сайту при посещении такового. В интерфейсе веб-браузера выполнены индикаторы доверия. Степень доверия определяется на основании вышерассмотренной процедуры проверки сертификата по цепочке блокчейн. В вариантах настоящего решения индикатор может быть выполнен с возможностью цветового, численного и\или комбинированного отображения степени доверия веб-сайту. Индикатор, выполненный с цветовой индикацией, обозначает цветом, например, зеленый - веб-сайт доверенный, красный - веб-сайт не доверенный, желтый - проверка не проведена, или, в других вариантах, веб-сайт не используют проверку на основе блокчейн.[0074] The web browser may be equipped with means for displaying the degree of trust in a particular website when visiting one. Confidence indicators are implemented in the web browser interface. The degree of trust is determined on the basis of the above procedure for verifying a certificate through a blockchain chain. In embodiments of the present solution, the indicator may be configured to colorly, numerically and / or combined display the degree of trust of the website. An indicator executed with a color indication indicates, for example, green — trusted website, red — untrusted website, yellow — no verification, or, in other cases, the website does not use blockchain-based verification.
[0075] В вариантах настоящего решения сервер сертификации может, после валидации текущего запроса, обновлять записи в цепочке блокчейн с учетом текущего показателя блокчейн-токена. В таких вариантах, если в ходе проверки смарт контракта данные токена изменились, при условии удовлетворения контракта, сервер сертификации может уточнить данные для контракта для последующих проверок. Например, если депозит кошелька с момента первой проверки смарт контракта изменился, по-прежнему удовлетворяя условиям проверки контракта, сервер сертификации может уточнить новый показатель и перезаписать смарт контракт с условием проверки нового депозита. Как указывалось ранее, смарт контракт может учитывать как депозит, так и показатель токена и\или их сочетание.[0075] In embodiments of the present solution, the certification server may, after validating the current request, update records in the blockchain chain taking into account the current indicator of the blockchain token. In such cases, if during the verification of the smart contract the token data has changed, provided that the contract is satisfied, the certification server can clarify the data for the contract for subsequent checks. For example, if the wallet deposit has changed since the first check of the smart contract, while still satisfying the conditions of the contract check, the certification server can update the new indicator and rewrite the smart contract with the condition of checking the new deposit. As mentioned earlier, a smart contract can take into account both the deposit and the token value and / or their combination.
[0076] В некоторых вариантах настоящего решения сервер сертификации может перезаписать смарт контракт, то есть удалить старый и создать новый контракт взамен старого с новыми данными (показателями) для проверки.[0076] In some embodiments of the present solution, the certification server may overwrite the smart contract, that is, delete the old one and create a new contract to replace the old one with new data (indicators) for verification.
[0077] В некоторых вариантах настоящего решения сервер сертификации и сервер авторизации могут быть выполнены как единый сервер. База данных, хранящая записи блокчейн и смарт контракты, может быть выполнена как единая база данных или распределенная база данных, с которой может связываться сервер авторизации или сервер сертификации или оба сервера.[0077] In some embodiments of the present solution, the certification server and the authorization server may be implemented as a single server. A database storing blockchain records and smart contracts can be implemented as a single database or a distributed database with which an authorization server or a certification server or both servers can communicate.
[0078] В некоторых вариантах настоящего решения сервер сертификации и\или сервер авторизации могут взымать, в качестве компенсации за обработку данных, часть депозита (процент с депозита, заведенного на одном из кошельков) во время транзакций. Например, при первичной регистрации веб-сайта сервер сертификации может удержать 1% от показателя токена и\или 2% (как пример) с криптовалютного счета веб-мастера. Такой подход обусловлен поддержанием функционирования инфраструктуры по технологии блокчейн.[0078] In some embodiments of the present solution, the certification server and / or authorization server may charge, as compensation for data processing, a part of the deposit (the percentage of the deposit wound up on one of the wallets) during transactions. For example, during the initial registration of a website, the certification server can withhold 1% of the token value and / or 2% (as an example) from the webmaster’s cryptocurrency account. This approach is due to the maintenance of the functioning of the infrastructure using blockchain technology.
[0079] Важно иметь в виду, что не все упомянутые здесь технические результаты могут проявляться в каждом варианте осуществления настоящей технологии. Например, варианты осуществления настоящей технологии могут быть выполнены без проявления некоторых технических результатов, другие могут быть выполнены с проявлением других технических результатов или вовсе без них.[0079] It is important to keep in mind that not all of the technical results mentioned here may occur in each embodiment of the present technology. For example, embodiments of the present technology may be performed without the manifestation of some technical results, others may be performed with the manifestation of other technical results or without them at all.
[0080] Модификации и улучшения вышеописанных вариантов осуществления настоящей технологии будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не устанавливает никаких ограничений. Таким образом, объем настоящей технологии ограничен только объемом прилагаемой формулы изобретения.[0080] Modifications and improvements to the above-described embodiments of the present technology will be apparent to those skilled in the art. The preceding description is provided as an example only and does not set any limitations. Thus, the scope of the present technology is limited only by the scope of the attached claims.
Claims (41)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018132715A RU2718480C2 (en) | 2018-09-14 | 2018-09-14 | Method and system for authorizing website in web browser |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018132715A RU2718480C2 (en) | 2018-09-14 | 2018-09-14 | Method and system for authorizing website in web browser |
Publications (3)
Publication Number | Publication Date |
---|---|
RU2018132715A RU2018132715A (en) | 2020-03-16 |
RU2018132715A3 RU2018132715A3 (en) | 2020-03-16 |
RU2718480C2 true RU2718480C2 (en) | 2020-04-08 |
Family
ID=69898887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018132715A RU2718480C2 (en) | 2018-09-14 | 2018-09-14 | Method and system for authorizing website in web browser |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2718480C2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12073399B2 (en) | 2021-09-13 | 2024-08-27 | Shopify Inc. | Systems and methods for blockchain network congestion-adaptive digital asset event handling |
US20230360032A1 (en) * | 2022-05-05 | 2023-11-09 | Shopify Inc. | Methods and systems for dynamic update to access control rules in a computing system based on blockchain monitoring |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451352B1 (en) * | 2001-06-12 | 2008-11-11 | Microsoft Corporation | Web controls validation |
US8595370B2 (en) * | 2006-07-21 | 2013-11-26 | Yahoo! Inc. | Providing a reliable trust indicator for content |
US20170017955A1 (en) * | 2015-07-14 | 2017-01-19 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
WO2017027648A1 (en) * | 2015-08-11 | 2017-02-16 | Jeff Stollman | System and methods to ensure asset and supply chain integrity |
RU2639015C1 (en) * | 2017-01-26 | 2017-12-19 | Игорь Сан-Сенович Дю | Authenticity and quality control procedure of production in the process of manufacture and implementation |
US20180254887A1 (en) * | 2016-05-23 | 2018-09-06 | Accenture Global Solutions Limited | Rewritable blockchain |
-
2018
- 2018-09-14 RU RU2018132715A patent/RU2718480C2/en active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451352B1 (en) * | 2001-06-12 | 2008-11-11 | Microsoft Corporation | Web controls validation |
US8595370B2 (en) * | 2006-07-21 | 2013-11-26 | Yahoo! Inc. | Providing a reliable trust indicator for content |
US20170017955A1 (en) * | 2015-07-14 | 2017-01-19 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
WO2017027648A1 (en) * | 2015-08-11 | 2017-02-16 | Jeff Stollman | System and methods to ensure asset and supply chain integrity |
US20180254887A1 (en) * | 2016-05-23 | 2018-09-06 | Accenture Global Solutions Limited | Rewritable blockchain |
RU2639015C1 (en) * | 2017-01-26 | 2017-12-19 | Игорь Сан-Сенович Дю | Authenticity and quality control procedure of production in the process of manufacture and implementation |
Also Published As
Publication number | Publication date |
---|---|
RU2018132715A (en) | 2020-03-16 |
RU2018132715A3 (en) | 2020-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11165579B2 (en) | Decentralized data authentication | |
CN111164948B (en) | Managing network security vulnerabilities using blockchain networks | |
US20200019714A1 (en) | Distributed data storage by means of authorisation token | |
US11496313B2 (en) | User identity and trust models in decentralized and distributed systems | |
US20200119904A1 (en) | Tamper-proof privileged user access system logs | |
JP6527179B2 (en) | Parameter-based key derivation | |
US10819526B2 (en) | Identity-based certificate authority system architecture | |
US10554406B1 (en) | Authorized data sharing using smart contracts | |
CN111316303A (en) | System and method for block chain based cross entity authentication | |
US11829502B2 (en) | Data sharing via distributed ledgers | |
US9401911B2 (en) | One-time password certificate renewal | |
CN111934870B (en) | Method, apparatus, device and medium for updating root certificate in block chain network | |
EP3839791B1 (en) | Identification and authorization of transactions via smart contracts | |
JP7564244B2 (en) | Anonymous Authentication with Token Redemption | |
US12045228B2 (en) | Systems and methods for a federated directory service | |
Ahmed et al. | Turning trust around: smart contract-assisted public key infrastructure | |
RU2718480C2 (en) | Method and system for authorizing website in web browser | |
Khieu et al. | CBPKI: cloud blockchain-based public key infrastructure | |
CN113302612B (en) | Computer implementation method, system and device for cross-chain and cross-network data transmission | |
WO2023239849A1 (en) | Internet protocol (ip) whitelisting for signed uniform resource locators (urls) | |
Lampropoulos et al. | Identity Management through a global Discovery System based on Decentralized Identities | |
Abinaya et al. | Cloud-based TPA auditing with risk prevention | |
US20240214228A1 (en) | Blockchain based public key infrastructure | |
US20220301376A1 (en) | Method and System for Deployment of Authentication Seal in Secure Digital Voting | |
GB2590520A (en) | Data sharing via distributed ledgers |