RU2021103201A - Способ и система организации кибербезопасности it-инфраструктуры с использованием технологии блокчейн и распределенных систем хранения данных - Google Patents

Способ и система организации кибербезопасности it-инфраструктуры с использованием технологии блокчейн и распределенных систем хранения данных Download PDF

Info

Publication number
RU2021103201A
RU2021103201A RU2021103201A RU2021103201A RU2021103201A RU 2021103201 A RU2021103201 A RU 2021103201A RU 2021103201 A RU2021103201 A RU 2021103201A RU 2021103201 A RU2021103201 A RU 2021103201A RU 2021103201 A RU2021103201 A RU 2021103201A
Authority
RU
Russia
Prior art keywords
transaction
file
blockchain
hash
database
Prior art date
Application number
RU2021103201A
Other languages
English (en)
Other versions
RU2782153C2 (ru
Inventor
Сергей Сергеевич Тарасенко
Original Assignee
Сергей Сергеевич Тарасенко
Filing date
Publication date
Application filed by Сергей Сергеевич Тарасенко filed Critical Сергей Сергеевич Тарасенко
Publication of RU2021103201A publication Critical patent/RU2021103201A/ru
Application granted granted Critical
Publication of RU2782153C2 publication Critical patent/RU2782153C2/ru

Links

Claims (10)

1. Способ организации защищенного обмена информацией с использованием технологии блокчейн и распределенных систем хранения данных, заключающийся в том, что вводят название базы данных, при этом дополнительно вводят пароль к этой базе данных, проверяют наличие базы данных на устройстве, при наличии базы данных осуществляют ее расшифрование с использованием симметричного шифрования aes-256, проверяют корректность файла с базой данных, при отсутствии базы данных создают новую базу данных, при этом формируют пароль к новой базе данных, необходимый для шифрования и расшифрования файла с новой базой данных по алгоритму aes-256, завершают работу с базой данных, отличающийся тем, что после проверки на корректность файла с базой данных, либо после создания новой базы данных, запускают сетевые сервисы, как минимум, запускают клиент для запросов у центрального сервера актуального списка IP-адресов в сети и отправки «hello»-сообщения, запускают сервер обработки запросов на получение хэша последней транзакций и актуальной копии блокчейна, запускают сервер обработки транзакций для участия в процессе консенсусе, после этого запрашивают хэши транзакций у серверов всех доступных в сети IP-адресов, выбирают по мажоритарному правилу актуальный хэш последней транзакции, осуществляют запрос на получение актуальной копии блокчейна у одного из отправителей актуального хэша последней транзакции, запускают алгоритм анализа принятой актуальной копии блокчейна, отображают список добавленных пользователей, осуществляют выбор как минимум одной из функций: добавление нового пользователя, просмотр истории переписки с указанным пользователем и отправка этому пользователю текстового сообщения, просмотр истории переписки с указанным пользователем и отправка этому пользователю текстового файла размером до 1 Кбайта, обновление ключа шифрования для указанного пользователя, отправка файла в распределенное хранилище, запрос файла из распределенного хранилища, обновление интерфейса отображения информации, безопасный выход из системы, которую необходимо выполнить системе, проверяют факт того, что выбрана функция безопасного выхода из системы, если данная функция не выбрана, то осуществляют выполнение выбранной функции, при этом после выполнения выбранной функции осуществляют выбор новой функции, если выбрана функция безопасного выхода из системы, то осуществляют шифрование базы данных с использование введенного ранее пароля по алгоритму aes-256.
2. Система защищенного обмена информацией с использованием технологии блокчейн и распределенных систем хранения данных состоит из, как минимум, одного центрального сервера, включающего модуль приема/передачи информации в сети связи для приема и передачи данных по каналам связи, общую шину обмена информацией для обмена информацией между модулями устройства, модуль обработки «hello-сообщений» для приема от устройств - участников блокчейн-коммуникации «hello-сообщений» и обновление актуального списка доступных в текущий момент времени IP-адресов в сети, модуль обработки запросов на получение актуальной копии списка в текущий момент времени IP-адресов в сети для отправки актуального списка доступных в текущий момент времени IP-адресов в сети по запросу, модуль памяти для хранения актуального списка доступных на текущий момент времени IP-адресов в сети, модуль питания устройства для обеспечения электроэнергией всех модулей устройства и, как минимум, трех устройств-участников блокчейн-коммуникации, включающие модуль приема/передачи информации в сети связи для приема и передачи данных по каналам связи, общую шину обмена информацией для обмена информацией между модулями устройства, модуль отправки запросов на серверы для отправки запросов на серверы обработки запросов на получение хэша последней транзакции и актуальной копии блокчейна и на серверы обработки транзакций, модуль клиента для запросов у центрального сервера актуального списка IP-адресов в сети связи и отправки «hello-сообщения» для идентификация устройства в сети как доступного посредством отправки на центральный сервер «hello-сообщения» и получение актуального списка доступных на текущий момент времени IP-адресов в сети, модуль сервера обработки запросов на получение хэша последней транзакции и актуальной копии блокчейна для отправки хэша последней транзакции по запросу и отправки копии локального блокчейна по запросу, модуль сервера обработки транзакций для участия в процессе консенсуса для обработки транзакций и отправки ответа на запрос о ее подтверждении или отклонении, модуль базы данных для хранения данных как минимум о транзакциях, пользовательских ключей шифрования, истории сообщений, модуль памяти для хранения файлов и файлов-ссылок, а так же базы данных, модуль ввода/вывода информации для осуществления ввода/вывода информации в устройство, модуль питания устройства для обеспечения электроэнергией всех модулей устройства, причем каждое устройство - участник блокчейн-коммуникации взаимодействует с центральным сервером либо через механизмы подмены IP-адресов, либо через Proxy-серверы, либо через VPN.
3. Способ по п. 1, в котором при запуске сервера обработки запросов на получение хэша последней транзакций и актуальной копии блокчейна принимают сервером обработки запросов сообщения клиента с запросом, проверяют вид запроса сервером, если поступает запрос на получение хэша последней транзакции копии блокчейна сервера, то извлекают из базы данных хэш последней транзакции, если поступает запрос на получение актуальной копии блокчейна сервера, то извлекают из базы данных актуальную копию блокчейна сервера, формируют сообщение для отправки клиенту с учетом характеристики информации извлеченной из базы данных, отправляют сформированный ответ клиенту.
4. Способ по п. 1, в котором при запуске сервера обработки транзакций принимают сервером обработки транзакций транзакции от клиента, извлекают из транзакции предлагаемый клиентом ID и хэш последней транзакции из локальной копии блокчейна клиента, проверяют последний ID локальной копии блокчейна сервера обработки транзакций, при этом ID должен быть на единицу меньше, предлагаемого клиентом, осуществляют проверку правильности ID, если проверка дала отрицательный результат, то отправляют клиенту сообщение об отказе данным сервером обработки транзакций подтверждать принятую от клиента транзакцию, если проверка прошла успешно, то проверяют хэш последней транзакции локальной копии блокчейна клиента, содержащийся в присланной клиентом транзакции, и хэш последней транзакции локальной копии блокчейна сервера обработки транзакций, при этом хэш должен совпадать, если хэш не совпадает, то отправляют клиенту сообщение об отказе данным сервером обработки транзакций подтверждать принятую транзакцию от клиента, если хэш совпадает, то отправляют клиенту ответ с положительным решением о подтверждении данным сервером обработки транзакций принятую транзакцию от клиента, добавляют принятую от клиента транзакцию сервером обработки транзакций в свою локальную копию блокчейна, запускают алгоритм анализа содержимого на наличие входящих сообщений от одного из добавленных пользователей на этом сервере обработки транзакций.
5. Способ по п. 4, в котором при запуске алгоритма анализа содержимого на наличие входящих сообщений от одного из добавленных пользователей на этом сервере обработки транзакций извлекают из всей транзакции зашифрованную часть транзакции путем выделения предлагаемого клиентом ID и хэша последней транзакции из клиентской копии блокчейна, расшифровывают закрытую часть транзакции путем наложения ключа каждого добавленного сервером обработки транзакций пользователя на зашифрованную часть транзакции с учетом смещения ключа, при этом зашифрованная часть транзакции расшифруется только в случае, если в поле отправителя, которое также зашифровано, будет имя пользователя, на чьем ключе производится расшифровка, а в поле получателя будет имя пользователя, чей сервер обработки транзакций выполняет расшифрование данной транзакции, проверяют получилось ли расшифровать сообщение на одном из ключей добавленных пользователей, если получилось, то расшифрованная часть транзакции разбивается на логические элементы: время отправки, имя отправителя, имя получателя и передаваемое сообщение, которое может являться либо текстовым файлом размером до 1 Кбайта, либо текстовым сообщением, и заносится в локальную базу данных сервера обработки транзакций в открытом виде, если не получилось расшифровать сообщение на одном из ключей добавленных пользователей, то транзакция не предназначена для пользователя данного сервера обработки транзакций.
6. Способ по п. 1, в котором при выполнении запроса на получение актуальной копии блокчейна удаляют из базы данных предыдущую локальную копию блокчейна и записывают в базу данных принятую от сервера обработки запросов на получение хэша последней транзакций и актуальной копии блокчейна копию локального блокчейна, проверяют количество транзакций предыдущей локальной копии блокчейна с принятой копией, если у предыдущей локальной копии блокчейна число транзакций больше, чем у принятой копии, то значит произошло обновление глобального блокчейна, при этом обнуляют смещения ключей для всех добавленных пользователей, в случае, когда обновление глобального блокчейна не произошло, тогда оставляют значения смещения ключей для всех добавленных пользователей прежними, анализируют каждую транзакцию на наличие входящих сообщений, при этом извлекают из всей транзакции зашифрованную часть транзакции путем выделения предлагаемого клиентом ID и хэша последней транзакции из клиентской копии блокчейна, расшифровывают закрытую часть транзакции путем наложения ключа каждого добавленного сервером обработки транзакций пользователя на зашифрованную часть транзакции с учетом смещения ключа, при этом зашифрованная часть транзакции расшифруется только в случае, если в поле отправителя, которое также зашифровано, будет имя пользователя, на чьем ключе производится расшифрование, а в поле получателя будет имя пользователя, чей сервер обработки транзакций выполняет расшифрование данной транзакции, если получилось расшифровать сообщение на одном из ключей добавленных пользователей, то расшифрованная часть транзакции разбивается на логические элементы, такие как время отправки, имя отправителя, имя получателя и передаваемое сообщение, которое может являться либо текстовым файлом размером до 1 Кбайта, либо текстовым сообщением, и заносится в локальную базу данных сервера обработки транзакций в открытом виде, если не получилось расшифровать сообщение на одном из ключей добавленных пользователей, то транзакция не предназначена для пользователя данного сервера обработки транзакций.
7. Способ по п. 1, в котором выбирают как минимум одну из функций добавление нового пользователя, при этом вводят имя нового пользователя и указывают путь к файлу с ключом для этого пользователя, просмотр истории переписки с указанным пользователем и отправка этому пользователю текстового сообщения, просмотр истории переписки с указанным пользователем и отправка этому пользователю текстового файла размером до 1 Кбайта, обновление ключа шифрования для указанного пользователя, отправка файла в распределенное хранилище, запрос файла из распределенного хранилища, обновление интерфейса отображения пользовательской информации, безопасный выход из системы, которую необходимо выполнить системе.
8. Способ по п. 1, в котором при запросе отправки файла в распределенное хранилище вводят путь к исходному файлу, зашифровывают исходный файл с применением алгоритма шифрования «Advanced Encryption Standard» с длинной ключа 256 бит в режиме гаммирования с обратной связью CFB, при этом ключ шифрования помещают в файл-ссылку, вычисляют хэш зашифрованного файла, помещают хэш в файл-ссылку, разбивают зашифрованный файл на N частей (файлов) случайного размера, при этом всю метаинформацию и одну из N частей случайного размера, которая не отправляется в сеть, помещают в файл-ссылку, добавляют К ложных частей, при этом всю метаинформацию помещают в файл-ссылку, назначают каждому из (N-1+K) файлов R серверов в распределенной системе хранения данных и вычисляют хэш каждого из этих файлов, при этом всю метаинформацию помещают в файл-ссылку, перемешивают (N-1+K) файлов, при этом всю метаинформацию помещают в файл-ссылку, отправляют каждый из (N-1+K) файлов на R серверов в распределенной системе хранения данных с использованием механизма подмены IP-адресов, либо через Proxy-серверы, либо через VPN, формируют окончательный вариант файл-ссылки.
9. Способ по п. 1, в котором при запросе файла из распределенного хранилища вводят путь к файлу-ссылке на исходный файл, извлекают из файла-ссылки метаинформацию об исходном файле количество частей, на которые был разбит исходный файл, количество ложных частей, имена файлов на удаленных серверах, правила перемешивания файлов перед отправкой, IP-адреса серверов хранения файлов, ключ шифрования, на котором зашифрован весь файл, хэши частей файла, хэш всего файла, запрашивают с серверов части файлов с использованием механизма подмены IP-адресов, либо через Proxy-серверы, либо через VPN, проверяют хэши частей файла с учетом того, что если с серверов в распределенной системе хранения данных получена, как минимум, одна копия каждой части файла и ее хэш прошел проверку на правильность, то переходят к следующему шагу, если хоть одно условие не выполняется, то выдают сообщение об ошибке и прекращают работу сбора исходного файла, перемешивают принятые части файла, отделяют ложные части файла, выполняют сборку зашифрованного исходного файла, проверяют хэш всего зашифрованного файла, если проверка отрицательная, то выдают сообщение об ошибке и прекращают работу сбора исходного файла, если проверка прошла успешно, то выполняют расшифрование зашифрованного (принятого) файла.
10. Способ по п. 6, в котором при просмотре истории переписки с указанным пользователем и отправке ему текстового сообщения отображают предыдущую переписку с данным пользователем из базы данных, вводят новое сообщение для пользователя, добавляют к сообщению, как минимум, поле времени отправки сообщения, поле имени отправителя, поле имени получателя, выполняют шифрование этих полей на ключе данного пользователя, извлекают из базы данных ID последней транзакции и увеличивают на единицу текущее значение, формируют новый ID для транзакции, извлекают из базы данных хэш последней транзакции локальной копии блокчейна отправителя, создают транзакцию для передачи, в которую входит новый ID, хэш последней транзакции локальной копии блокчейна отправителя и зашифрованные данные на шифре Вернама с применением пользовательского ключа, отправляют всем доступным IP-адресам из списка актуальных IP-адресов, присланным центральным сервером, сформированную транзакцию, принимают от всех доступных IP-адресов из списка актуальных IP-адресов, присланным центральным сервером, ответ о готовности подтверждения серверами обработки транзакций сформированной транзакции, проверяют по мажоритарному правилу факт подтверждения транзакции, если проверка отрицательная, то выполняют запрос актуальной копии блокчейна согласно п. 6, если проверка прошла положительно, то добавляют транзакцию в локальную копию блокчейна отправителя, добавляют в незашифрованном виде поля: время отправки транзакции, имя отправителя, имя получателя, передаваемое сообщение в базу данных, выполняют смещение ключа для данного пользователя на длину зашифрованных данных.
RU2021103201A 2021-02-09 Способ и система организации защищенного обмена информацией с использованием технологии блокчейн и распределённых систем хранения данных RU2782153C2 (ru)

Publications (2)

Publication Number Publication Date
RU2021103201A true RU2021103201A (ru) 2022-08-09
RU2782153C2 RU2782153C2 (ru) 2022-10-21

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781713A (zh) * 2023-08-16 2023-09-19 中移信息系统集成有限公司 基于p2p的政务数据共享交换的系统、数据获取方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781713A (zh) * 2023-08-16 2023-09-19 中移信息系统集成有限公司 基于p2p的政务数据共享交换的系统、数据获取方法
CN116781713B (zh) * 2023-08-16 2023-11-03 中移信息系统集成有限公司 基于p2p的政务数据共享交换的系统、数据获取方法

Similar Documents

Publication Publication Date Title
US10938551B2 (en) System and method for implementing a resolver service for decentralized identifiers
US11233658B2 (en) Digital transaction signing for multiple client devices using secured encrypted private keys
US9300636B2 (en) Secure data exchange technique
EP4191430A1 (en) Data processing method and apparatus applied to blockchain system
US20160344707A1 (en) Encrypted query-based access to data
CN108737374A (zh) 一种区块链中数据存储的隐私保护方法
CN112613077B (zh) 保护隐私的多方数据处理的方法、装置和系统
US20040236953A1 (en) Method and device for transmitting an electronic message
US11436599B2 (en) Blockchain-based identity verification method and related hardware
JP6326173B1 (ja) データ送受信システム及びデータ送受信方法
CN110149323B (zh) 一种具有千万级tps合约处理能力的处理装置
JP7345612B2 (ja) ブラインド化された帰結の多様化を用いてブロックチェーンのエントロピーを増加させるための方法および装置
JP2020516109A (ja) トランザクションの再送信を使用してブロックチェーンネットワークにおけるトランザクション配信の加速化
CN113065961A (zh) 一种电力区块链数据管理系统
CN114338038B (zh) 区块链数据保密查询的存储系统及不经意传输方法
US20230351035A1 (en) System and method for user-controllable sharing of authorization for private data
CN107395587B (zh) 一种基于多点协作机制的数据管理方法及系统
CN115396115A (zh) 区块链数据隐私保护方法、装置、设备及可读存储介质
KR20190111261A (ko) 블록체인 기술을 활용한 보안관제 시스템 및 그 방법
KR102647433B1 (ko) 하이브리드블록체인 이용한 존재증명 방법
Sujithra et al. ID based adaptive-key signcryption for data security in cloud environment
CN116743713B (zh) 基于物联网的远程在线无纸会议方法、装置
CN111861485A (zh) 一种基于区块链的数字货币管控方法及设备
Yang et al. Provable Ownership of Encrypted Files in De-duplication Cloud Storage.
RU2021103201A (ru) Способ и система организации кибербезопасности it-инфраструктуры с использованием технологии блокчейн и распределенных систем хранения данных