УПРАВЛЕНИЕ СВЯЗЬЮ МЕЖДУ КОНСЕНСУСНЫМИ УЗЛАМИ И КЛИЕНТСКИМИ УЗЛАМИ
CONTROLLING COMMUNICATION BETWEEN CONSENSUS NODES AND CLIENT NODES

Уровень техники
[0001] Блокчейн сети, которые также могут упоминаться как блокчейн системы, консенсусные сети, сети на основе системы распределенных реестров (distributed ledger system - DLS) или блокчейн, позволяют участвующим объектам защищенно и неизменно сохранять данные. Блокчейн может описываться как реестр транзакций, и несколько копий блокчейна сохраняются в блокчейн сети. Примерные типы блокчейнов могут включать в себя открытые блокчейны, консорциальные блокчейны и закрытые блокчейны. Открытый блокчейн является открытым для всех объектов в том, чтобы использовать блокчейн и участвовать в консенсусном процессе. Консорциальный блокчейн представляет собой блокчейн, в котором консенсусный процесс управляется посредством заранее выбранного набора узлов. Закрытый блокчейн предоставляется для конкретного объекта, который централизованно управляет разрешениями на считывание и запись.
[0002] Консорциальная блокчейн система может включать в себя консенсусные узлы и клиентские узлы (или пользователей), которые используют консорциальную сеть. С одной стороны, консенсусные узлы обмениваются данными с другими консенсусными узлами, чтобы достигать консенсуса. С другой стороны, консенсусные узлы обмениваются данными с клиентскими узлами, чтобы подтверждать и добавлять новые транзакции в блоки. В некоторых случаях, консенсусные узлы также обмениваются данными с сетями заранее выбранных узлов консорциальной системы или других базовых систем с различными уровнями безопасности. В связи с этим границы могут задаваться для различных типов связи с тем, чтобы защищать конфиденциальность и безопасность данных.
Сущность изобретения
[0003] Реализации настоящего раскрытия сущности направлены на управление связью между консенсусными узлами и связью между консенсусными узлами и клиентскими узлами. Более конкретно, реализации настоящего раскрытия сущности направлены на конфигурирование корневых сертификатов, выданных посредством соответствующих центров сертификации (CA) для связи между консенсусными узлами и между консенсусными узлами и клиентскими узлами таким образом, что клиентские узлы не могут осуществлять доступ к консенсусным сообщениям, передаваемым между консенсусными узлами.
[0004] В некоторых реализациях, действия включают в себя формирование, посредством консенсусного узла, запроса на подписание сертификата (CSR); отправку CSR в первый центр сертификации (CA); прием первого сертификата открытого ключа консенсусного узла из первого CA в ответ на CSR и первых одного или более сертификатов открытых ключей одного или более других консенсусных узлов, выданных посредством первых одного или более CA; отправку CSR во второй CA; прием второго сертификата открытого ключа консенсусного узла из второго CA в ответ на CSR и вторых одного или более сертификатов открытых ключей одного или более клиентских узлов, выданных посредством вторых одного или более CA; и конфигурирование, на консенсусном узле, первого хранилища доверенных сертификатов, включающего в себя первый сертификат открытого ключа и первые один или более сертификатов открытых ключей одного или более других консенсусных узлов, и второго хранилища доверенных сертификатов, включающего в себя второй сертификат открытого ключа и вторые один или более сертификатов открытых ключей одного или более клиентских узлов. Другие реализации включают в себя соответствующие системы, оборудование и компьютерные программы, выполненные с возможностью выполнять действия способов, кодированных на компьютерных устройствах хранения данных.
[0005] Эти и другие реализации необязательно могут включать в себя один или более следующих признаков: определение первых одного или более CA и вторых одного или более CA; прием корневых сертификатов из первых одного или более CA и вторых одного или более CA; и верификацию корневых сертификатов на основе соответствующих открытых ключей первых одного или более CA и вторых одного или более CA; при этом CSR включает в себя открытый ключ и информацию, которая должна быть включена в первый сертификат открытого ключа или второй сертификат открытого ключа; при этом CSR имеет цифровую подпись посредством консенсусного узла с использованием закрытого ключа; при этом, по меньшей мере, один из части первых одного или более сертификатов открытых ключей самоподписывается посредством соответствующих консенсусных узлов либо из части вторых одного или более сертификатов открытых ключей самоподписывается посредством соответствующих клиентских узлов; формирование самоподписанного сертификата открытого ключа с использованием соответствующего закрытого ключа консенсусного узла; и конфигурирование, на консенсусном узле, закрытого ключа консенсусного узла и самоподписанного сертификата; при этом первый сертификат открытого ключа, первые один или более сертификатов открытых ключей, второй сертификат открытого ключа и вторые один или более сертификатов открытых ключей представляют собой сертификаты по протоколу безопасности транспортного уровня (TLS).
[0006] Настоящее раскрытие сущности также предоставляет один или более энергонезависимых считываемых компьютером носителей хранения данных, соединенных с одним или более процессоров и имеющих сохраненные на них инструкции, которые, при выполнении посредством одного или более процессоров, инструктируют одному или более процессоров выполнять операции в соответствии с реализациями способов, предусмотренных в данном документе.
[0007] Настоящее раскрытие сущности дополнительно предоставляет систему для реализации способов, предусмотренных в настоящем документе. Система включает в себя один или более процессоров и считываемый компьютером носитель хранения данных, соединенный с одним или более процессоров, имеющий сохраненные на нем инструкции, которые, при выполнении посредством одного или более процессоров, инструктируют одному или более процессоров выполнять операции в соответствии с реализациями способов, предусмотренных в данном документе.
[0008] Следует принимать во внимание, что способы в соответствии с настоящим раскрытием сущности могут включать в себя любую комбинацию аспектов и признаков, описанных в данном документе. Таким образом, способы в соответствии с настоящим раскрытием сущности не ограничены комбинациями аспектов и признаков, конкретно описанными в данном документе, но также включают в себя любую предоставленную комбинацию аспектов и признаков.
[0009] Подробности одной или более реализаций настоящего раскрытия сущности изложены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки и преимущества настоящего раскрытия сущности должны становиться очевидными из описания и чертежей, а также из формулы изобретения.
Описание чертежей
[0010] Фиг. 1 иллюстрирует примерное окружение, которое может использоваться для того, чтобы выполнять реализации настоящего раскрытия сущности.
[0011] Фиг. 2 иллюстрирует примерную концептуальную архитектуру в соответствии с реализациями настоящего раскрытия сущности.
[0012] Фиг. 3A иллюстрирует примерный процесс конфигурирования связи между консенсусными узлами в соответствии с реализациями настоящего раскрытия сущности.
[0013] Фиг. 3B иллюстрирует примерный процесс конфигурирования связи между консенсусными узлами и клиентскими узлами в соответствии с реализациями настоящего раскрытия сущности.
[0014] Фиг. 4 иллюстрирует примерные конфигурации для связи между консенсусными узлами и клиентскими узлами в соответствии с реализациями настоящего раскрытия сущности.
[0015] Фиг. 5 иллюстрирует примерный способ управления связью между консенсусными узлами и клиентскими узлами в соответствии с реализациями настоящего раскрытия сущности.
[0016] Аналогичные ссылки с номерами на различных чертежах указывают аналогичные элементы.
Подробное описание изобретения
[0017] Реализации настоящего раскрытия сущности направлены на управление связью между консенсусными узлами и связью между консенсусными узлами и клиентскими узлами. Более конкретно, реализации настоящего раскрытия сущности направлены на конфигурирование корневых сертификатов, выданных посредством соответствующих центров сертификации (CA) для связи между консенсусными узлами и между консенсусными узлами и клиентскими узлами таким образом, что клиентские узлы не могут осуществлять доступ к консенсусным сообщениям, передаваемым между консенсусными узлами.
[0018] В некоторых реализациях, действия включают в себя формирование, посредством консенсусного узла, запроса на подписание сертификата (CSR); отправку CSR в первый центр сертификации (CA); прием первого сертификата открытого ключа консенсусного узла из первого CA в ответ на CSR и первых одного или более сертификатов открытых ключей одного или более других консенсусных узлов, выданных посредством первых одного или более CA; отправку CSR во второй CA; прием второго сертификата открытого ключа консенсусного узла из второго CA в ответ на CSR и вторых одного или более сертификатов открытых ключей одного или более клиентских узлов, выданных посредством вторых одного или более CA; и конфигурирование, на консенсусном узле, первого хранилища доверенных сертификатов, включающего в себя первый сертификат открытого ключа и первые один или более сертификатов открытых ключей одного или более других консенсусных узлов, и второго хранилища доверенных сертификатов, включающего в себя второй сертификат открытого ключа и вторые один или более сертификатов открытых ключей одного или более клиентских узлов.
[0019] Чтобы предоставлять дополнительный контекст для реализаций настоящего раскрытия сущности, и как представлено выше, блокчейн сети, которые также могут упоминаться как консенсусные сети (например, состоящие из равноправных узлов), система распределенных реестров или просто блокчейн, позволяют участвующим объектам защищенно и неизменно проводить транзакции и сохранять данные. Блокчейн может предоставляться в качестве открытого блокчейна, закрытого блокчейна или консорциального блокчейна. Реализации настоящего раскрытия сущности подробнее описываются в данном документе со ссылкой на открытую блокчейн сеть, которая является открытой между участвующими объектами. Тем не менее, предполагается, что реализации настоящего раскрытия сущности могут быть реализованы в любом соответствующем типе блокчейна.
[0020] В консорциальном блокчейне, консенсусный процесс управляется посредством авторизованного набора узлов, причем один или более узлов управляются посредством соответствующего объекта (например, организации). Например, консорциум из десяти (10) объектов (например, компаний) может управлять консорциальной блокчейн системой, каждый из которых управляет, по меньшей мере, одним узлом в консорциальной DLS. Соответственно, консорциальная блокчейн система может считаться закрытой сетью относительно участвующих объектов. В некоторых примерах, каждый объект (узел) должен подписывать каждый блок для того, чтобы блок был достоверным и добавлялся в блокчейн. В некоторых примерах, по меньшей мере, поднабор объектов (узлов) (например, по меньшей мере, 7 объектов) должен подписывать каждый блок для того, чтобы блок был достоверным и добавлялся в блокчейн. Примерная консорциальная блокчейн система включает в себя Quorum, разработанную компанией J.P. Morgan Chase and Co., Нью-Йорк, Нью-Йорк. Quorum может описываться как корпоративная инфраструктура блокчейнов с контролируемым доступом, специально предназначенная для финансовых вариантов использования. Quorum вырабатывается на основе Go Ethereum, базового кода для блокчейна эфириума, которая предоставляется компанией Ethereum Foundation, Цуг, Швейцария.
[0021] В общем, консорциальная блокчейн система поддерживает транзакции между объектами, участвующими, с разрешением, в консорциальной блокчейн системе. Транзакция совместно используется со всеми узлами в консорциальной блокчейн системе, поскольку блокчейн реплицируется по всем узлам. Таким образом, все узлы находятся в идеальном консенсусе состояния относительно блокчейна. Чтобы достигать консенсуса (например, соглашения с добавлением блока в блокчейн), консенсусный протокол реализуется в консорциальной блокчейн сети. Примерный консенсусный протокол включает в себя, без ограничения, доказательство выполнения работы (proof-of-work - POW), реализованное в сети биткоинов.
[0022] В дальнейшем подробнее описываются реализации настоящего раскрытия сущности в данном документе с учетом вышеизложенного контекста. Более конкретно, и как представлено выше, реализации настоящего раскрытия сущности направлены на конфигурирование корневых сертификатов, выданных посредством соответствующих CA для связи между консенсусными узлами и между консенсусными узлами и клиентскими узлами таким образом, что клиентские узлы не могут осуществлять доступ к консенсусным сообщениям, передаваемым между консенсусными узлами.
[0023] Фиг. 1 иллюстрирует примерное окружение 100, которое может использоваться для того, чтобы выполнять реализации настоящего раскрытия сущности. В некоторых примерах, примерное окружение 100 обеспечивает возможность объектам участвовать в открытом блокчейне 102. Примерное окружение 100 включает в себя вычислительные системы 106, 108 и сеть 110. В некоторых примерах, сеть 110 включает в себя локальную вычислительную сеть (LAN), глобальную вычислительную сеть (WAN), Интернет либо комбинацию вышеозначенного и соединяет веб-узлы, пользовательские устройства (например, вычислительные устройства) и внутренние интерфейсные системы. В некоторых примерах, к сети 110 может осуществляться доступ по линии проводной и/или беспроводной связи.
[0024] В проиллюстрированном примере, вычислительные системы 106, 108 могут включать в себя любую соответствующую вычислительную систему, которая обеспечивает участие в качестве узла в консорциальной блокчейн системе 102, для сохранения транзакций в блокчейне 104. Примерные вычислительные устройства включают в себя, без ограничения, сервер, настольный компьютер, переносной компьютер, планшетное вычислительное устройство и смартфон. В некоторых примерах, вычислительные системы 106, 108 размещают одну или более выполняемых компьютером услуг для взаимодействия с консорциальной блокчейн системой 102. Например, вычислительная система 106 может размещать выполняемые компьютером услуги первого объекта (например, пользователя A), к примеру, система управления транзакциями, которую использует первый объект для того, чтобы управлять своими транзакциями с одним или более других объектов (например, других пользователей). Вычислительная система 108 может размещать выполняемые компьютером услуги второго объекта (например, пользователя B), к примеру, система управления транзакциями, которую использует второй объект для того, чтобы управлять своими транзакциями с одним или более других объектов (например, других пользователей). В примере по фиг. 1, консорциальная блокчейн система 102 представляется как сеть с равноправными узлами для узлов, и вычислительные системы 106, 108 предоставляют узлы первого объекта и второго объекта, соответственно, которые участвуют в консорциальной блокчейн системе 102.
[0025] Фиг. 2 иллюстрирует примерную концептуальную архитектуру 200 в соответствии с реализациями настоящего раскрытия сущности. Примерная концептуальная архитектура 200 включает в себя уровень 202 объектов, уровень 204 предоставления размещаемых услуг и уровень 206 блокчейна. В проиллюстрированном примере, уровень 202 объектов включает в себя три объекта, объект_1 (E1), объект_2 (E2) и объект_3 (E3), причем каждый объект имеет соответствующую систему 208 управления транзакциями.
[0026] В проиллюстрированном примере, уровень 204 предоставления размещаемых услуг включает в себя интерфейсы 210 блокчейна для каждой системы 208 управления транзакциями. В некоторых примерах, соответствующая система 208 управления транзакциями обменивается данными с соответствующим интерфейсом 210 блокчейна по сети (например, по сети 110 по фиг. 1) с использованием протокола связи (например, протокола защищенной передачи гипертекста (HTTPS)). В некоторых примерах, каждый интерфейс 210 блокчейна предоставляет соединение связи между соответствующей системой 208 управления транзакциями и уровнем 206 блокчейна. Более конкретно, каждый интерфейс 210 блокчейна обеспечивает возможность соответствующему объекту проводить транзакции, записываемые в консорциальной блокчейн системе 212 уровня 206 блокчейна. В некоторых примерах, связь между интерфейсом 210 блокчейна и уровнем 206 блокчейна проводится с использованием удаленных вызовов процедур (RPC). В некоторых примерах, интерфейсы 210 блокчейна "размещают" консенсусные узлы для соответствующих систем 208 управления транзакциями. Например, интерфейсы 210 блокчейна предоставляют интерфейс прикладного программирования (API) для доступа к консорциальной блокчейн системе 212.
[0027] Блокчейн Система может включать в себя консенсусные узлы и клиентские узлы. Консенсусные узлы могут участвовать в консенсусном процессе. Клиентские узлы могут использовать блокчейн систему, но не участвуют в консенсусном процессе. В некоторых реализациях, консенсусные узлы могут участвовать в консенсусном процессе при одновременном использовании блокчейн системы для других целей. В некоторых реализациях, консенсусные узлы могут обмениваться данными с клиентскими узлами таким образом, что пользователи могут использовать клиентские узлы для того, чтобы отправлять транзакции в блокчейн. Консенсусные узлы также могут обмениваться данными между собой, чтобы достигать консенсуса, чтобы добавлять транзакции из клиентских узлов в блокчейн.
[0028] В некоторых реализациях, связь между консенсусными узлами и связью между консенсусными узлами и клиентскими узлами может выполняться на основе криптографических протоколов, таких как протокол безопасности транспортного уровня (TLS), чтобы обеспечивать безопасность связи.
[0029] Чтобы повышать конфиденциальность и управлять данными, к которым может осуществляться доступ посредством различных узлов, связь между консенсусными узлами может изолироваться от связи между консенсусными узлами и клиентскими узлами. В некоторых реализациях, изоляция может осуществляться посредством формирования различных TLS-хранилищ доверенных сертификатов для сертификатов открытых ключей различных узлов. Сертификаты открытых ключей могут выдаваться посредством соответствующих центров сертификации (CA) для связи между консенсусными узлами и связи между консенсусными узлами и клиентскими узлами.
[0030] Фиг. 3A иллюстрирует примерный процесс 300a для конфигурирования связи между консенсусными узлами 302a в соответствии с реализациями настоящего раскрытия сущности. Консенсусные узлы 302a могут реализовываться с использованием любого соответствующего электронного устройства, такого как компьютер, смартфон или сервер, соединенного с блокчейн сеть.
[0031] На 306a, консенсусные узлы 302a идентифицируют один или более CA 304a, которые могут быть доверенными. В некоторых реализациях, CA могут представлять собой объекты, которые выдают сертификаты открытых ключей. Сертификаты открытых ключей могут использоваться для того, чтобы сертифицировать владение открытых ключей посредством именованных субъектов сертификата. Именованные субъекты могут представлять собой непосредственно CA или другие объекты, которые хотят сертификации своих открытых ключей. Открытые ключи, принадлежащие и самоподписанные посредством CA, могут становиться корневыми сертификатами. В некоторых случаях, по меньшей мере, часть консенсусных узлов 302a может идентифицироваться в качестве CA. В таких случаях, эти консенсусные узлы могут самоподписывать свои открытые ключи для того, чтобы формировать сертификаты открытых ключей. В некоторых случаях, сертификаты открытых ключей, сформированные на основе TLS-протоколов, могут упоминаться как TLS-сертификаты.
[0032] На 308a, CA 304a подготавливают свои закрытые ключи и самоподписанные сертификаты. Самоподписанные сертификаты могут представлять собой корневой CA-сертификат своих соответствующих открытых ключей.
[0033] На 310a, CA 304a отправляют самоподписанные сертификаты в консенсусные узлы 302a. В некоторых реализациях, самоподписанные сертификаты могут включать в себя цифровые подписи CA 304a, подписанных с использованием своих соответствующих закрытых ключей. В связи с этим, консенсусные узлы 302a могут верифицировать то, что сертификаты выдаются посредством CA 304a, с использованием открытых ключей открытых ключей CA 304a.
[0034] На 312a, консенсусные узлы 302a формируют запросы на подписание сертификата (CSR). CSR представляют собой блоки кодированного текста, которые предоставляются в CA 304a при запросе TLS-сертификатов. В некоторых примерах, CSR могут содержать информацию, которая должна быть включена в TLS-сертификаты, такую как название организации, общее название (доменное имя), населенный пункт и страна. CSR также могут содержать открытые ключи, которые должны быть включены в TLS-сертификаты. Консенсусные узлы 302a могут создавать закрытые ключи при создании CSR и использовать закрытые ключи для того, чтобы подписывать соответствующие CSR.
[0035] На 314a, консенсусные узлы 302a отправляют CSR в CA 304a. На 316a, CA 304a формируют сертификаты открытых ключей для консенсусных узлов 302a в ответ на CSR. CA 304a могут верифицировать то, являются или нет цифровые подписи, соответствующие CSR, корректными из консенсусных узлов 302a, перед формированием сертификатов открытых ключей для консенсусных узлов 302a.
[0036] На 318a, CA 304a отправляют сертификат открытого ключа в консенсусные узлы 302a. CA 304a могут отправлять сертификаты открытых ключей во все консенсусные узлы 302a в блокчейн сети. В связи с этим, каждый консенсусный узел 302a может иметь копию сертификатов открытых ключей всех других консенсусных узлов 302a в сети.
[0037] На 320a, консенсусные узлы 302a конфигурируют хранилища доверенных сертификатов, закрытые ключи и самоподписанные сертификаты. Хранилища доверенных сертификатов могут использоваться для того, чтобы сохранять TLS-сертификаты из доверенных CA 304a. Посредством приема и верификации TLS-сертификатов из доверенных CA, консенсусные узлы 302a могут использовать сертифицированные открытые ключи для того, чтобы шифровать сообщения и защищенно обмениваться данными с другими консенсусными узлами в сети. В некоторых реализациях, консенсусные узлы 302a также могут формировать самоподписанные сертификаты открытых ключей с использованием соответствующего закрытого ключа соответствующих консенсусных узлов 302a. Закрытый ключ также может использоваться для того, чтобы дешифровать сообщения из других узлов в блокчейн сети, зашифрованной с использованием открытого ключа соответствующего консенсусного узла 302a.
[0038] В некоторых реализациях, блокчейн сеть может иметь такую конфигурацию, в которой связь между консенсусными узлами и связь между консенсусными узлами и клиентскими узлами изолируются. Таким образом, клиентские узлы не могут осуществлять доступ к данным, передаваемым между консенсусными узлами, и консенсусные узлы не могут осуществлять доступ к данным, передаваемым между другими консенсусными узлами и их соединенными клиентскими узлами. В некоторых примерах, консенсусные узлы, которые выполняют консенсус, могут запрашивать TLS-сертификаты из первого набора CA, и пары консенсусных узлов/клиентских узлов, которые обмениваются данными между собой, могут запрашивать TLS-сертификаты из CA, отличающихся от первого набора CA, либо не выполнять шифрование с открытым ключом их данных.
[0039] Фиг. 3B иллюстрирует примерный процесс 300b для конфигурирования связи между консенсусными узлами и клиентскими узлами 302b в соответствии с реализациями настоящего раскрытия сущности.
[0040] На 306b, консенсусные узлы и клиентские узлы 302b идентифицируют один или более CA 304b, отличающихся от CA 304a, идентифицированных в примерном процессе 300a, поясненном выше со ссылкой на фиг. 3A. В некоторых реализациях, каждая пара консенсусных узлов/клиентских узлов может идентифицировать различный CA таким образом, что их связь может изолироваться от другой. В некоторых реализациях, каждый клиентский узел и консенсусный узел, с которым он обменивается данными, могут формировать мелкомасштабную сеть и идентифицировать одни или более CA, не используемых посредством других клиентских узлов или консенсусных узлов 302a для консенсуса. В некоторых случаях, по меньшей мере, часть консенсусных узлов и клиентских узлов 302b может идентифицировать себя в качестве CA. В таких случаях, эти консенсусные узлы могут самоподписывать свои открытые ключи для того, чтобы формировать сертификаты открытых ключей, при условии, что сертификаты не самоподписываются посредством консенсусных узлов 302a для связи с другими консенсусными узлами в примерном процессе 300a.
[0041] На 308b, CA 304b подготавливают свои закрытые ключи и самоподписанные сертификаты. Самоподписанные сертификаты могут представлять собой корневые CA-сертификаты своих соответствующих открытых ключей.
[0042] На 310b, CA 304b отправляют самоподписанные сертификаты в консенсусные узлы и клиентские узлы 302b. В некоторых реализациях, самоподписанные сертификаты могут включать в себя цифровые подписи CA 304b, подписанных с использованием своих соответствующих закрытых ключей. В связи с этим, консенсусные узлы и клиентские узлы 302b могут верифицировать то, что сертификаты выдаются посредством CA 304b с использованием открытых ключей CA 304b.
[0043] На 312b, консенсусные узлы и клиентские узлы 302b формируют CSR. Консенсусные узлы и клиентские узлы 302b могут создавать закрытые ключи при создании CSR и использовать закрытые ключи для того, чтобы подписывать соответствующие CSR.
[0044] На 314b, консенсусные узлы и клиентские узлы 302b отправляют CSR в CA 304b. На 316b, CA 304b формируют сертификаты открытых ключей для консенсусных узлов и клиентских узлов 302b в ответ на CSR. CA 304b могут верифицировать то, являются или нет цифровые подписи, соответствующие CSR, корректными, перед формированием сертификатов открытых ключей для консенсусных узлов.
[0045] На 318b, CA 304b отправляют сертификат открытого ключа в консенсусные узлы и клиентские узлы 302b. В некоторых реализациях, различные CA могут отправлять сертификаты открытых ключей в различные пары консенсусных узлов/клиентских узлов, чтобы формировать мелкомасштабное хранилище доверенных сертификатов. В связи с этим, каждая пара клиентских узлов может иметь сертификаты открытых ключей консенсусного узла(ов), выдаваемые посредством различных CA, чтобы обеспечивать конфиденциальность связи.
[0046] На 320b, консенсусные узлы и клиентские узлы 302b конфигурируют хранилища доверенных сертификатов, закрытые ключи и самоподписанные сертификаты. Поскольку различные клиентские узлы могут иметь различные хранилища доверенных сертификатов для TLS-сертификатов для зашифрованной связи, и консенсусные узлы могут иметь собственное хранилище доверенных сертификатов для TLS-сертификатов для зашифрованной связи, конфиденциальность данных связи, выполняемой посредством различных сторон, может защищаться.
[0047] Фиг. 4 иллюстрирует примерную блокчейн систему 400 и конфигурацию для связи между консенсусными узлами и клиентскими узлами в соответствии с реализациями настоящего раскрытия сущности. На высоком уровне, примерная блокчейн система 400 включает в себя четыре консенсусных узла: узел 1 302, узел 2 304, узел 3 306 и узел 4 308. Три клиентских узла, клиент 1 310, клиент 2 312 и клиент 3 314, соединяются с консенсусными узлами. Клиент 1 310 соединяется с узлом 1 310 и узлом 2 312, клиент 2 312 соединяется с узлом 3 306, и клиент 3 314 соединяется с узлом 4 308. Консенсусные узлы могут обмениваться данными с клиентскими узлами таким образом, что пользователи могут отправлять транзакции из клиентских узлов в консенсусные узлы. Консенсусные узлы могут обмениваться данными между собой, чтобы выполнять консенсусный процесс, чтобы добавлять транзакции из клиентских узлов в блокчейн.
[0048] Для связи между консенсусными узлами узел 1 402, узел 2 404, узел 3 406 и узел 4 408 могут получать реплику блокчейна хранилища A доверенных сертификатов. Хранилище A доверенных сертификатов может включать в себя TLS-сертификаты узла 1 402, узла 2 404, узла 3 406 и узла 4 408, выданные посредством первого набора CA. В некоторых реализациях, консенсусные узлы могут представлять собой CA, чтобы самоподписывать свои соответствующие сертификаты открытых ключей. Узел 1 402, узел 2 404, узел 3 406 и узел 4 408 могут также быть сконфигурированы со своими соответствующими сертификатами закрытых ключей и самоподписанными сертификатами. В связи с этим, связь между узлом 1 402, узлом 2 404, узлом 3 406 и узлом 4 408 может быть основана на TLS-сертификатах хранилища A доверенных сертификатов.
[0049] Клиент 1 410 соединяется для связи с узлом 1 402 и узлом 2 404. Клиент 1 410, узел 1 402 и узел 2 404 могут получать реплику блокчейна хранилища B доверенных сертификатов. Хранилище B доверенных сертификатов может включать в себя TLS-сертификаты клиента 1 410, узла 1 402 и узла 2 404, выданные посредством второго набора CA. С другой стороны, TLS-сертификаты могут самоподписываться при условии, что центр подписывания отличается от центра, используемого для того, чтобы подписывать TLS-сертификаты для другой связи, от которой следует изолироваться. Клиент 1 410, узел 1 402 и узел 2 404 также могут быть сконфигурированы со своими соответствующими сертификатами закрытых ключей и самоподписанными сертификатами. В связи с этим, связь между клиентом 1 410 и узлом 1 402 и между клиентом 1 410 и узлом 2 404 может быть основана на TLS-сертификатах хранилища B доверенных сертификатов.
[0050] В некоторых реализациях, хотя узел 1 402 и узел 2 404 поддерживают и хранилище A доверенных сертификатов и хранилище B доверенных сертификатов, они могут обмениваться данными между собой только на основе TLS-сертификатов хранилища A доверенных сертификатов. Они не могут обмениваться данными на основе TLS-сертификатов хранилища B доверенных сертификатов. Соответственно, клиент 1 410 не может просматривать консенсусные сообщения, передаваемые между узлом 1 402 и узлом 2 404.
[0051] Клиент 2 412 соединяется для связи с узлом 3 406. Клиент 2 412 и узел 3 406 могут получать реплику блокчейна хранилища C доверенных сертификатов. Хранилище C доверенных сертификатов может включать в себя TLS-сертификаты клиента 2 412 и узла 3 406, выданные посредством третьего набора CA. Клиент 2 412 и узел 3 406 также могут быть сконфигурированы со своими соответствующими сертификатами закрытых ключей и самоподписанными сертификатами. В связи с этим, связь между клиентом 2 412 и узлом 3 406 может быть основана на TLS-сертификатах хранилища C доверенных сертификатов.
[0052] Клиент 3 414 соединяется с узлом 4 408. Связь между клиентом 3 414 и узлом 4 408 является незашифрованной. В связи с этим, клиент 3 414 не должен поддерживать сертификаты открытых ключей для связи. Тем не менее, клиент 3 414 может предполагать риск кражи личных сведений, к примеру, когда другие узлы симулируют себя в качестве клиента 3 414, чтобы обмениваться данными с узлом 4 408.
[0053] Фиг. 5 иллюстрирует примерный процесс 500 для управления связью между консенсусными узлами и клиентскими узлами в соответствии с реализациями настоящего раскрытия сущности. Для ясности представления, нижеприведенное описание, в общем, описывает примерный процесс 500 в контексте других чертежей в этом описании. Тем не менее, следует понимать, что примерный процесс 500 может выполняться, например, посредством любой системы, окружения, программного обеспечения и аппаратных средств либо комбинации систем, окружений, программного обеспечения и аппаратных средств, надлежащим образом. В некоторых реализациях, различные этапы примерного процесса 500 могут выполняться параллельно, в комбинации, циклически или в любом порядке.
[0054] На 502, консенсусный узел формирует CSR. В некоторых реализациях, до формирования CSR, консенсусный узел может идентифицировать первые один или более CA и вторые один или более CA. Консенсусный узел также может принимать корневые сертификаты первых одного или более CA и вторых одного или более CA и верифицировать корневые сертификаты на основе соответствующих открытых ключей первых одного или более CA и вторых одного или более CA. В некоторых реализациях, CSR включает в себя открытый ключ и информацию, которая должна быть включена в первый сертификат открытого ключа или второй сертификат открытого ключа. В некоторых реализациях, CSR имеет цифровую подпись посредством консенсусного узла с использованием закрытого ключа.
[0055] На 504, консенсусный узел отправляет CSR в первый CA.
[0056] На 506, консенсусный узел принимает первый сертификат открытого ключа консенсусного узла из первого CA в ответ на CSR и первые один или более сертификатов открытых ключей одного или более других консенсусных узлов, выданные посредством первых одного или более CA. В некоторых реализациях, по меньшей мере, один из части первых одного или более сертификатов открытых ключей самоподписывается посредством соответствующих консенсусных узлов либо из части вторых одного или более сертификатов открытых ключей самоподписывается посредством соответствующих клиентских узлов.
[0057] На 508, консенсусный узел отправляет CSR во второй CA. В некоторых реализациях, по меньшей мере, один из части первых одного или более сертификатов открытых ключей самоподписывается посредством соответствующих консенсусных узлов либо из части вторых одного или более сертификатов открытых ключей самоподписывается посредством соответствующих клиентских узлов.
[0058] На 510, консенсусный узел принимает второй сертификат открытого ключа консенсусного узла из второго CA в ответ на CSR и вторые один или более сертификатов открытых ключей одного или более клиентских узлов, выданные посредством вторых одного или более CA.
[0059] На 512, консенсусный узел конфигурирует первое хранилище доверенных сертификатов и второе хранилище доверенных сертификатов. Первое хранилище доверенных сертификатов включает в себя первый сертификат открытого ключа и первые один или более сертификатов открытых ключей одного или более других консенсусных узлов. Второе хранилище доверенных сертификатов включает в себя второй сертификат открытого ключа и вторые один или более сертификатов открытых ключей одного или более клиентских узлов.
[0060] В некоторых реализациях, консенсусный узел может формировать самоподписанный сертификат открытого ключа с использованием соответствующего закрытого ключа консенсусного узла. Консенсусный узел также может конфигурировать закрытый ключ консенсусного узла и самоподписанный сертификат.
[0061] В некоторых реализациях, первый сертификат открытого ключа, первые один или более сертификатов открытых ключей, второй сертификат открытого ключа и вторые один или более сертификатов открытых ключей представляют собой TLS-сертификаты.
[0062] Реализации и операции, описанные в этом подробном описании, могут реализовываться в цифровой электронной схеме или в компьютерном программном обеспечении, микропрограммном обеспечении или аппаратных средствах, включающих в себя структуры, раскрытые в этом подробном описании, либо в комбинациях одного или более из означенного. Операции могут реализовываться как операции, выполняемые посредством оборудования обработки данных для данных, сохраненных на одном или более считываемых компьютером устройств хранения данных или принимаемых из других источников. Оборудование обработки данных, компьютер или вычислительное устройство может охватывать оборудование, устройства и машины для обработки данных, включающие в себя в качестве примера программируемый процессор, компьютер, внутрикристальную систему либо несколько из вышеприведенного, либо комбинации вышеприведенного. Оборудование может включать в себя логическую схему специального назначения, например, центральный процессор (CPU), программируемую пользователем вентильную матрицу (FPGA) или специализированную интегральную схему (ASIC). Оборудование также может включать в себя код, который создает окружение выполнения для рассматриваемой компьютерной программы, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему (например, операционную систему или комбинацию операционных систем), кросс-платформенное окружение выполнения, виртуальную машину либо комбинацию одного или более из означенного. Оборудование и окружение выполнения могут реализовывать всевозможные инфраструктуры вычислительных моделей, такие как веб-услуги, распределенные вычислительные и сетевые параллельные вычислительные инфраструктуры.
[0063] Компьютерная программа (также известная, например, в качестве программы, программного обеспечения, приложения, программного модуля, программного блока, сценария или кода) может быть написана на любой форме языка программирования, включающей в себя компилированные или интерпретируемые языки, декларативные или процедурные языки, и она может развертываться в любой форме, в том числе в качестве автономной программы или в качестве модуля, компонента, вложенной процедуры, объекта либо другого блока, подходящего для использования в вычислительном окружении. Программа может сохраняться в части файла, который хранит другие программы или данные (например, один или более сценариев, сохраненных в документе на языке разметки), в одном файле, выделенном для рассматриваемой программы, либо в нескольких координированных файлах (например, в файлах, которые сохраняют один или более модулей, подпрограмм или частей кода). Компьютерная программа может выполняться на одном компьютере или на нескольких компьютерах, которые расположены на одном веб-узле или распределены по нескольким веб-узлам и взаимно соединяются посредством сети связи.
[0064] Процессоры для выполнения компьютерной программы включают в себя, в качестве примера, микропроцессоры общего и специального назначения и любые один или более процессоров любого вида цифрового компьютера. В общем, процессор принимает инструкции и данные из постоянного запоминающего устройства или оперативного запоминающего устройства, или из того и из другого. Существенные элементы компьютера представляют собой процессор для выполнения действий в соответствии с инструкциями и одно или более запоминающих устройств для сохранения инструкций и данных. Обычно, компьютер также должен включать в себя или функционально соединяться с возможностью принимать данные или передавать данные либо выполнять и то, и другое из/в одно или более устройств хранения данных большой емкости для сохранения данных. Компьютер может встраиваться в другое устройство, например, в мобильное устройство, персональное цифровое устройство (PDA), игровую приставку, приемное устройство на основе глобальной системы позиционирования (GPS) или портативное устройство хранения данных. Устройства, подходящие для сохранения компьютерных программных инструкций и данных, включают в себя энергонезависимое запоминающее устройство, носители и запоминающие устройства, включающие в себя, в качестве примера, полупроводниковые запоминающие устройства, магнитные диски и магнитооптические диски. Процессор и запоминающее устройство могут дополняться посредством или включаться в логическую схему специального назначения.
[0065] Мобильные устройства могут включать в себя переносные телефоны, абонентские устройства (UE), мобильные телефоны (например, смартфоны), планшетные компьютеры, носимые устройства (например, интеллектуальные часы и интеллектуальные очки), имплантируемые устройства в человеческом теле (например, биодатчики, кохлеарные имплантаты) либо другие типы мобильных устройств. Мобильные устройства могут обмениваться данными в беспроводном режиме (например, с использованием радиочастотных (RF) сигналов) с различными сетями связи (описаны ниже). Мобильные устройства могут включать в себя датчики для определения характеристик текущего окружения мобильного устройства. Датчики могут включать в себя камеры, микрофоны, бесконтактные датчики, GPS-датчики, датчики движения, акселерометры, датчики окружающего света, датчики содержания влаги, гироскопы, компасы, барометры, датчики отпечатков пальцев, системы распознавания лиц, RF-датчики (например, Wi-Fi- и сотовые радиомодули), тепловые датчики или другие типы датчиков. Например, камеры могут включать в себя обращенную по ходу движения или против движения камеру с подвижными или неподвижными линзами, флэш-памятью, датчиком изображений и процессором изображений. Камера может представлять собой мегапикселную камеру, допускающую захват деталей для распознавания лиц и/или радужной оболочки глаз. Камера наряду с процессором данных и аутентификационной информацией, сохраненной в запоминающем устройстве или доступной удаленно, может формировать систему распознавания лиц. Система распознавания лиц либо один или более датчиков, например, микрофонов, датчиков движения, акселерометров, GPS-датчиков или RF-датчиков, могут использоваться для аутентификации пользователя.
[0066] Чтобы предоставлять взаимодействие с пользователем, реализации могут реализовываться на компьютере, имеющем устройство отображения и устройство ввода, например, жидкокристаллический дисплей (ЖК-дисплей) или дисплей на органических светоизлучающих диодах (OLED)/в стиле виртуальной реальности (VR)/в стиле дополненной реальности (AR) для отображения информации пользователю и сенсорный экран, клавиатуру и указательное устройство, посредством которых пользователь может предоставлять ввод в компьютер. Другие виды устройств также могут использоваться для того, чтобы предоставлять взаимодействие с пользователем; например, обратная связь, предоставленная пользователю, может представлять собой любую форму сенсорной обратной связи, например, визуальную обратную связь, акустическую обратную связь или тактильную обратную связь; и ввод от пользователя может приниматься в любой форме, включающей в себя акустический, речевой или тактильный ввод. Помимо этого, компьютер может взаимодействовать с пользователем посредством отправки документов и приема документов из устройства, которое используется пользователем; например, посредством отправки веб-страниц в веб-браузер на клиентском устройстве пользователя в ответ на запросы, принимаемые из веб-браузера.
[0067] Реализации могут реализовываться с использованием вычислительных устройств, взаимно соединенных посредством любой формы или среды для проводной или беспроводной цифровой передачи данных (либо комбинации вышеозначенного), например, сети связи. Примеры взаимно соединенных устройств представляют собой клиент и сервер, в общем, удаленные друг от друга, которые типично взаимодействуют через сеть связи. Клиент, например, мобильное устройство, может выполнять транзакции непосредственно, с сервером или через сервер, например, выполнять транзакции покупки, продажи, оплаты, выдачи, отправки или ссуды либо авторизовать их. Такие транзакции могут выполняться в реальном времени таким образом, что действие и ответ являются близкими по времени; например, человек воспринимает действие и ответ, возникающие практически одновременно, разность времен для ответа после действия человека составляет меньше 1 миллисекунды (мс) или меньше 1 секунды (с), либо ответ осуществляется без намеренной задержки с учетом ограничений обработки системы.
[0068] Примеры сетей связи включают в себя локальную вычислительную сеть (LAN), сеть радиодоступа (RAN), общегородскую вычислительную сеть (MAN) и глобальную вычислительную сеть (WAN). Сеть связи может включать в себя все или часть из Интернета, другой сети связи либо комбинации сетей связи. Информация может передаваться по сети связи согласно различным протоколам и стандартам, включающим в себя стандарт долгосрочного развития (LTE), 5G, IEEE 802, Интернет-протокол (IP) либо другие протоколы или комбинации протоколов. Сеть связи может передавать голосовые, видео-, биометрические данные или аутентификационные данные или другую информацию между соединенными вычислительными устройствами.
[0069] Признаки, описанные в качестве отдельных реализаций, могут реализовываться, в комбинации, в одной реализации, в то время как признаки, описанные в качестве одной реализации, могут реализовываться в нескольких реализациях, отдельно или в любой подходящей субкомбинации. Операции, описанные и заявленные в конкретном порядке, не должны пониматься ни как требующие этого конкретного порядка, ни как то, что все проиллюстрированные операции должны выполняться (некоторые операции могут быть необязательными). Надлежащим образом, могут выполняться многозадачность или параллельная обработка (или комбинация многозадачности и параллельной обработки).