RU2744970C2 - Systems and methods to control access to secure data - Google Patents
Systems and methods to control access to secure data Download PDFInfo
- Publication number
- RU2744970C2 RU2744970C2 RU2017130840A RU2017130840A RU2744970C2 RU 2744970 C2 RU2744970 C2 RU 2744970C2 RU 2017130840 A RU2017130840 A RU 2017130840A RU 2017130840 A RU2017130840 A RU 2017130840A RU 2744970 C2 RU2744970 C2 RU 2744970C2
- Authority
- RU
- Russia
- Prior art keywords
- file
- encrypted file
- encrypted
- blockchain
- client
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
- G06F16/1774—Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
ПРЕДПОСЫЛКИ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION
[001] О цепочке блоков можно думать как о конечном автомате, который имеет состояние (например, разрешения или баланс участников цепочки блоков) и правила, а также разрешения для изменения этого состояния (например, обмен маркера для изменения баланса) в соответствии с умным контрактом. Разрешения и умный контракт могут быть связаны с чем-то, существующим в реальном мире, например, балансом банковского счета или местоположением контейнера для перевозок. Данные, хранимые в цепочке блоков, являются публичными и защищены от взлома, поскольку их нельзя изменить за исключением соответствия правилам умного контракта, которые навязываются множеством участников.[001] A blockchain can be thought of as a finite state machine that has state (for example, permissions or balance of participants in the blockchain) and rules, as well as permissions to change this state (for example, exchange a token to change the balance) in accordance with a smart contract. ... Permits and smart contracts can be linked to something that exists in the real world, such as a bank account balance or the location of a shipping container. The data stored in the blockchain is public and tamper-proof because it cannot be changed except to comply with the smart contract rules that are enforced by many participants.
ИЗВЕСТНЫЙ УРОВЕНЬ ТЕХНИКИKNOWN TECHNOLOGY
[002] Заявителю какие-либо аналоги не известны.[002] The applicant is not aware of any analogs.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
[003] Одна проблема, связанная с цепочкой блоков, заключается в хранении секретных данных, в частности, среди множества сторон, таким образом, чтобы не нарушать распределенные гарантии безопасности цепочки блоков. Система управления доступом к защищенным документам (SEDACS) может хранить секретные данные с помощью распределенных компонентов, включая хранилище секретов, цепочку блоков (доказательство выполнения работы или доказательство полномочий) и контентно-адресуемое хранилище. Цепочка блоков хранит метаданные, правила и разрешения для каждого секретного документа; секреты, используемые для доступа к документам, распределяются среди серверов ключей, которые образуют хранилище секретов; и документы хранятся в зашифрованном виде в распределенном контентно-адресуемом хранилище. Устройства проверки достоверности (сопровождающие цепочки блоков) обеспечивают выполнение правил и разрешений и записывают транзакции, связанные с хранением, осуществлением доступа и извлечением секретных документов. Дополнительные подробности по обеспечению выполнения правил и разрешений, а также записи транзакций представлены в статье Gavin Wood, «Ethereum: A Secure Decentralised Generalised Transaction Ledger», доступной по адресу gavwood.com/paper.pdf.[003] One problem with blockchain is the storage of secrets, in particular among multiple parties, in a way that does not violate distributed blockchain security guarantees. Secure Document Access Control System (SEDACS) can store secret data using distributed components including a secret vault, blockchain (proof of work or proof of authority), and content-addressable vault. The blockchain stores metadata, rules and permissions for every secret document; secrets used to access documents are distributed among key servers, which form a secret store; and documents are stored encrypted in distributed content-addressable storage. Validators (accompanying blockchains) enforce rules and permissions and record transactions associated with storing, accessing, and retrieving classified documents. For more details on enforcing rules and permissions and recording transactions, see Gavin Wood's article, “Ethereum: A Secure Decentralised Generalized Transaction Ledger,” available at gavwood.com/paper.pdf.
[004] Пользователь сохраняет секретные данные посредством того, что сначала запрашивает у одного из серверов ключей хранилища секретов сгенерировать новый секрет, который представляет собой ключ, используемый для шифрования секретных данных. Секрет хранится распределенным образом посредством хранилища секретов. Уполномоченный субъект проверяет цепочку блоков чтобы увидеть, имеет ли пользователь разрешение на сохранение нового секрета. Если да, то уполномоченный субъект вызывает метод в умном контракте для сохранения нового секрета. Например, серверы ключей могут зашифровать свои части секрета и подтверждать, что они хранят распределенный секрет, путем отправки транзакций в цепочку блоков. Транзакции создают журнал контроля действий пользователя в цепочке блоков. Если пользователь извлекает секретные данные, уполномоченные субъекты могут отправить свои соответствующие зашифрованные части секретных данных пользователю с открытыми ключами для расшифровки с помощью соответствующих закрытых ключей пользователя.[004] The user stores the secret by first requesting one of the secret store's key servers to generate a new secret, which is the key used to encrypt the secret. The secret is stored in a distributed manner through a secret store. The authorized entity checks the blockchain to see if the user has permission to store the new secret. If so, then the authorized entity calls the method in the smart contract to store the new secret. For example, key servers can encrypt their parts of the secret and confirm that they hold the shared secret by sending transactions to the blockchain. Transactions create a log of control of user actions in the blockchain. If a user retrieves secret data, authorized subjects can send their respective encrypted pieces of secret data to the user with public keys for decryption using the corresponding private keys of the user.
[005] Поскольку данные в цепочке блоков являются публичными, цепочка блоков может хранить ссылки на секретные данные вместо самих секретных данных. Такая ссылка может быть в виде хэша, который является уникальным, битовой строки фиксированной длины, создаваемой путем применения функции хэширования к файлу. Криптографическое хэширование является воспроизводимым, но необратимым: тот же входящий файл всегда будет создавать такой же хэш, но каждый хэш сложно, если вообще возможно, обратить, поэтому входящий файл нельзя воспроизвести из его хэша. Хэш является уникальным; так измененная или зашифрованная версия файла имеет хэш отличный от хэша оригинального файла. [005] Since the data in the blockchain is public, the blockchain may store references to the secret data instead of the secret data itself. Such a link can be in the form of a hash, which is unique, a fixed length bit string created by applying a hash function to the file. Cryptographic hashing is reproducible but irreversible: the same input file will always generate the same hash, but each hash is difficult, if not impossible, to reverse, so the input file cannot be reproduced from its hash. The hash is unique; so the modified or encrypted version of the file has a different hash than the original file.
[006] SEDACS идентифицирует секретные файлы в цепочке блоков по хэшам секретных файлов и хранит данные с помощью файловой системы, такой как файловая система InterPlanetary (IPFS), которая также идентифицирует файлы по их хэшам. Цепочка блоков также хранит разрешения и транзакции, связанные с каждым хэшем: если пользователь имеет разрешение на хэш, то пользователь также имеет разрешение и на основные данные. Посредством уникальной идентификации файла по его криптографическому хэшу цепочка блоков создает журнал контроля без раскрытия содержимого файла.[006] SEDACS identifies secret files in the blockchain by the hashes of the secret files and stores the data using a file system such as the InterPlanetary File System (IPFS), which also identifies files by their hashes. The blockchain also stores the permissions and transactions associated with each hash: if the user has permission to the hash, then the user also has permission to the master data. By uniquely identifying a file by its cryptographic hash, the blockchain creates an audit trail without disclosing the contents of the file.
[007] Следует понимать, что все комбинации вышеупомянутых сведений и дополнительные сведения, описанные подробнее ниже (при условии, что такие предоставленные сведения не являются взаимно несовместимыми) рассматриваются как часть объекта изобретения, описанного в данном документе. В частности, все комбинации заявленного объекта изобретения, представленные в конце данного описания, рассматриваются как часть объекта изобретения, описанного в данном документе. Также следует понимать, что терминология, однозначно использованная в данном документе, которая также может появляться и в любом описании, приведенном посредством ссылки, должна соответствовать значению, наиболее соответствующему конкретным сведениям, описанным в данном документе.[007] It should be understood that all combinations of the above information and additional information described in more detail below (provided that such information provided is not mutually incompatible) are considered as part of the subject matter described herein. In particular, all combinations of the claimed subject matter presented at the end of this specification are contemplated as being part of the subject matter described herein. It should also be understood that the terminology unambiguously used in this document, which may also appear in any description given by reference, should correspond to the meaning most consistent with the specific information described in this document.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВBRIEF DESCRIPTION OF THE GRAPHIC MATERIALS
[008] Специалисту в данной области будет понятно, что графические материалы главным образом приведены в целях иллюстрации, а не предназначены для ограничения объема объекта изобретения, описанного в данном документе. Графические материалы не обязательно приведены в масштабе; в некоторых примерах различные аспекты объекта изобретения, описанного в данном документе, могут быть показаны преувеличенными или увеличенными на фигурах для облегчения понимания различных признаков. На графических материалах подобные ссылочные позиции по существу относятся к подобным признакам (например, функционально подобным и/или структурно подобным элементам). [008] A person skilled in the art will understand that the drawings are primarily for illustrative purposes and are not intended to limit the scope of the subject matter described herein. Graphics are not necessarily drawn to scale; in some examples, various aspects of the subject matter described herein may be shown exaggerated or exaggerated in the figures to facilitate understanding of various features. In the drawings, like reference numbers generally refer to similar features (eg, functionally similar and / or structurally similar elements).
[009] На фиг. 1 показана система управления доступом к защищенным документам (SEDACS).[009] FIG. 1 shows a Secure Document Access Control System (SEDACS).
[0010] На фиг. 2A–2F изображен процесс сохранения документа в SEDACS.[0010] FIG. 2A – 2F depict the process of storing a document in SEDACS.
[0011] На фиг. 3A–3H изображен процесс извлечения документа из SEDACS.[0011] FIG. 3A-3H depict the process of retrieving a document from SEDACS.
[0012] На фиг. 4 изображен процесс изменения разрешений пользователя в SEDACS.[0012] FIG. 4 shows the process of changing user permissions in SEDACS.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION
[0013] На фиг. 1 изображена SEDACS (Система управления доступом к защищенным данным), которая обеспечивает безопасное разделение данных и управление разрешениями без доверенной третьей стороны. Она эффективно применяет несколько новых технологий, включающих: цепочку блоков, умные контракты, пороговую криптографию, распределенное генерирование ключей и контентно-адресуемое хранилище распределенного файла. Благодаря этим новым технологиям можно достичь беспрецедентного уровня безопасности. В отличие от известных решений, нет ни одной критической точки и каждое действие в системе может быть записано неизменно в цепочку блоков.[0013] FIG. 1 depicts SEDACS (Secure Data Access Control System), which provides secure data separation and permission management without a trusted third party. It leverages several new technologies including: blockchaining, smart contracts, threshold cryptography, distributed key generation, and content-addressable distributed file storage. Thanks to these new technologies, an unprecedented level of safety can be achieved. Unlike known solutions, there is not a single critical point and every action in the system can be recorded invariably in a block chain.
[0014] SEDACS содержит два различных типа узлов: (1) серверы SEDACS (образующие сеть без доверия), обеспечивающие хранение данных и распределение доверия, и (2) клиенты SEDACS, позволяющие пользователям осуществлять доступ к системе. Узлы в сети соединены с цепочкой блоков и образуют часть сети с равноправными узлами, которая используется для распределения транзакций и блоков цепочки блоков. В дополнение серверы могут раскрывать интерфейс передачи состояния представления (REST) клиентам для выгрузки и загрузки зашифрованных данных.[0014] SEDACS contains two different types of nodes: (1) SEDACS servers (forming a trustless network), providing data storage and trust distribution, and (2) SEDACS clients, allowing users to access the system. The nodes in the network are connected to the blockchain and form part of the peer-to-peer network that is used to distribute transactions and blocks of the blockchain. In addition, servers can expose a View State Transfer (REST) interface to clients to upload and download encrypted data.
Клиент SEDACSSEDACS client
[0015] Как показано на фиг. 1, клиент SEDACS может быть реализован как вычислительное устройство с процессором, памятью, сетевым интерфейсом и пользовательским интерфейсом (например, сенсорный экран, традиционный дисплей, клавиатура, сенсорная панель, мышь и т. д.). Во время работы клиент SEDACS предоставляет клиент Ethereum, хранилище закрытых ключей и промежуточное программное обеспечение SEDACS. Клиент Ethereum обеспечивает сопряжение с цепочкой блоков. Хранилище закрытых ключей хранит закрытый ключ(и) пользователя для осуществления доступа к хранящимся документам. Промежуточное программное обеспечение SEDACS может быть реализовано как библиотека JavaScript, которая позволяет легко создавать пользовательские интерфейсы (UI), обслуживаемые через веб-браузер и подходящие для конкретного применения. Оно управляет взаимодействием между локальным клиентом Ethereum (и путем расширения умный контрактов), UI, а также или серверами SEDACS, или непосредственно серверами ключей и узлами IPFS.[0015] As shown in FIG. 1, the SEDACS client can be implemented as a computing device with a processor, memory, network interface, and user interface (e.g., touch screen, traditional display, keyboard, touch pad, mouse, etc.). At runtime, the SEDACS client provides the Ethereum client, private key store, and SEDACS middleware. The Ethereum client provides interfacing to the blockchain. The private key store stores the user's private key (s) for accessing the stored documents. SEDACS middleware can be implemented as a JavaScript library that allows you to easily create user interfaces (UIs) that are served through a web browser and are suitable for a specific application. It manages communication between the local Ethereum client (and by extending smart contracts), the UI, and either the SEDACS servers or directly the key servers and IPFS nodes.
[0016] UI может позволять пользователям создавать новый счет, управлять разрешениями, а также выгружать и просматривать данные. Любые другие функциональные средства, которые эффективно применяют умные контракты, могут интегрироваться в UI. При необходимости каждое функциональное средство может подчиняться подходящим разрешениям и может оставлять неизменный след в журнале контроля.[0016] the UI can allow users to create a new account, manage permissions, and upload and view data. Any other functionality that leverages smart contracts effectively can be integrated into the UI. Each piece of functionality can obey the appropriate permissions as needed, and can leave an unchanged trace in the audit trail.
Хранилище секретовVault of secrets
[0017] Хранилище секретов представляет собой сеть серверов ключей, которые имеют возможность распределенного генерирования секретных ключей, сохранения секретов распределенным образом (хранение частичного секрета) и сборки зашифрованных частей секрета на основе разрешений цепочки блоков. Генерирование секрета для данного хэша может быть запущено путем осуществления запроса к одному из серверов ключей. После генерирования секрета пользователь, запрашивающий секрет, устанавливает пороговое количество серверов, необходимое для извлечения. Извлечение секрета для данного хэша инициируется путем осуществления запроса к одному из серверов ключей. В ответ на запрос сервер ключей связывается с другими серверами ключей по поводу разрешений цепочки блоков запрашивающей стороны для доступа к хэшу. Если пороговое количество серверов ключей приходит к соглашению относительно разрешений, тогда серверы ключей отправляют свои частичные секреты, зашифрованные с помощью открытого ключа запрашивающей стороны, запрашивающей стороне. Каждый запрос генерирования и извлечения секрета может быть записан в цепочке блоков.[0017] A secret store is a network of key servers that have the ability to generate secret keys in a distributed manner, store secrets in a distributed manner (store a partial secret), and assemble encrypted parts of the secret based on blockchain permissions. The generation of a secret for a given hash can be triggered by making a request to one of the key servers. After the secret is generated, the user requesting the secret sets the threshold number of servers needed to retrieve. The retrieval of the secret for a given hash is initiated by making a request to one of the key servers. In response to the request, the keyserver communicates with other keyservers about the requester's blockchain permissions to access the hash. If a threshold number of keyservers agree on permissions, then the keyservers send their partial secrets encrypted with the public key to the requester. Each request to generate and retrieve a secret can be recorded on the blockchain.
Сервер SEDACSSEDACS Server
[0018] Сервер SEDACS является способом объединить несколько различных компонентов, которые образуют распределенную сеть. Сеть сервера SEDACS представляет собой комбинацию цепочки блоков, хранилища секретов и распределенной файловой системы. [0018] The SEDACS Server is a way to combine several different components that form a distributed network. The SEDACS server network is a combination of blockchain, secret store, and distributed file system.
[0019] Каждая участвующая сторона должна запустить по меньшей мере один сервер SEDACS для обеспечения безопасности посредством распределения доверия. Сервер SEDACS может быть запакован в виде решения Docker Compose, необязательно размещенного у Parity Technologies. Это упрощает распределение обработки цепочки блоков, хранение секрета и хранение зашифрованных документов.[0019] Each participating party must run at least one SEDACS server to provide security through trust distribution. The SEDACS server can be packaged as a Docker Compose solution, optionally hosted by Parity Technologies. This simplifies blockchain processing distribution, secret storage, and encrypted document storage.
[0020] Как показано на фиг. 1, сервер SEDACS может быть реализован как вычислительное устройство с процессором, памятью и пользовательским интерфейсом (например, сенсорный экран, традиционный дисплей, клавиатура, сенсорная панель, мышь и т.д.). Во время работы сервер SEDACS может предоставить соединитель SEDACS, клиент Ethereum, сервер ключей и узел IPFS. Соединитель SEDACS может осуществлять сопряжение непосредственно с клиентом посредством промежуточного программного обеспечения SEDACS. Клиент Ethereum обеспечивает сопряжение с цепочкой блоков. Сервер ключей хранилища секретов хранит частичные секреты для зашифровки документов. А IPFS хранит зашифрованные документы.[0020] As shown in FIG. 1, the SEDACS server can be implemented as a computing device with a processor, memory, and user interface (eg, touch screen, traditional display, keyboard, touch pad, mouse, etc.). At runtime, the SEDACS server can provide a SEDACS connector, Ethereum client, key server, and an IPFS node. The SEDACS connector can interface directly with the client using the SEDACS middleware. The Ethereum client provides interfacing to the blockchain. The secret vault key server stores partial secrets for encrypting documents. And IPFS stores encrypted documents.
Свойства SEDACSSEDACS properties
● Цепочка блоков является единственным источником разрешений.● The blockchain is the only source of permissions.
● Каждая вставка документа, извлечение документа и изменение разрешений могут быть записаны наряду с авторизацией субъекта в цепочке блоков, при этом криптографическая база данных дает надежные гарантии относительно защиты от взлома и времени работы.● Each document insertion, document retrieval and permission change can be recorded along with the authorization of the subject in the blockchain, with the cryptographic database providing strong guarantees regarding tamper resistance and uptime.
● Документы хранятся и передаются в надежно зашифрованной форме (например, SECP256k1 ECIES).● Documents are stored and transmitted in securely encrypted form (for example, SECP256k1 ECIES).
● Пользователи получают документы, зашифрованные с помощью их открытого ключа.● Users receive documents encrypted with their public key.
● Документы идентифицируются посредством криптографической вставки (хэша) своего содержимого, что значит, что модифицированный документ считается документом, отличающимся от соответствующего оригинального документа.● Documents are identified by a cryptographic insert (hash) of their content, which means that the modified document is considered a different document from the corresponding original document.
Сохранение файла в SEDACSSaving a file to SEDACS
[0021] На фиг. 2A–2G изображен процесс сохранения файла в SEDACS с клиента SEDACS. Некоторые из этапов в данном процессе включают зашифровку и передачу файла, а другие этапы создают части журнала контроля, который поддерживает целостность и безопасность файла и системы.[0021] FIG. Figures 2A – 2G show the process of saving a file to SEDACS from the SEDACS client. Some of the steps in this process involve encrypting and transferring the file, while other steps create portions of the audit trail that maintains the integrity and security of the file and system.
[0022] Процесс может быть выполнен двумя различными способами, в зависимости от того, имеет ли клиент SEDACS доступ к узлу IPFS или к серверу SEDACS.[0022] The process can be performed in two different ways, depending on whether the SEDACS client has access to the IPFS node or the SEDACS server.
Сохранение файла в SEDACS с помощью сервера SEDACSSaving a File to SEDACS Using SEDACS Server
[0023] На этапе 1 пользователь отправляет транзакцию в цепочку блоков с помощью индивидуального закрытого ключа из хранилища закрытых ключей клиента. Открытый ключ, связанный с закрытым ключом, описывает разрешения, связанные с зашифрованным файлом. На этапе 2 пользователь зашифровывает файл с помощью открытого ключа сервера SEDACS с использованием промежуточного программного обеспечения SEDACS на стороне клиента. На этапе 3 пользователь отправляет зашифрованный файл непосредственно на сервер SEDACS посредством промежуточного программного обеспечения SEDACS.[0023] In step 1, the user submits the transaction to the blockchain using the individual private key from the client's private key store. The public key associated with the private key describes the permissions associated with the encrypted file. In step 2, the user encrypts the file with the public key of the SEDACS server using the client side SEDACS middleware. In step 3, the user sends the encrypted file directly to the SEDACS server through the SEDACS middleware.
[0024] На этапе 4 соединитель SEDACS получает зашифрованный файл от клиента SEDACS. Он также проверяет цепочку блоков для связанной транзакции. На этапе 5 сервер SEDACS запрашивает секрет из хранилища секретов и с его помощью зашифровывает файл. И на этапе 6 сервер SEDACS сохраняет зашифрованный файл в IPFS. Он также отправляет другую транзакцию в цепочку блоков, подтверждающую получение и сохранение зашифрованного файла.[0024] In step 4, the SEDACS connector receives the encrypted file from the SEDACS client. It also validates the blockchain for the related transaction. In step 5, SEDACS requests the secret from the secret store and uses it to encrypt the file. And in step 6, the SEDACS server saves the encrypted file to IPFS. It also sends another transaction to the blockchain confirming the receipt and storage of the encrypted file.
Сохранение файла непосредственно в SEDACSSaving a file directly to SEDACS
[0025] На этапе 1 пользователь отправляет транзакцию в цепочку блоков с помощью индивидуального закрытого ключа из хранилища закрытых ключей клиента. Открытый ключ, связанный с закрытым ключом, описывает разрешения, связанные с зашифрованным файлом. На этапе 2 промежуточное программное обеспечение SEDACS запрашивает секрет из хранилища секретов и затем с его помощью зашифровывает файл. Затем на этапе 3 файл может быть вставлен непосредственно в IPFS.[0025] In step 1, the user submits the transaction to the blockchain using the individual private key from the client's private key store. The public key associated with the private key describes the permissions associated with the encrypted file. In Phase 2, the SEDACS middleware requests the secret from the secret store and then encrypts the file with it. Then, in step 3, the file can be inserted directly into IPFS.
Извлечение файла из SEDACSExtracting a file from SEDACS
[0026] На фиг. 3A–3H изображен процесс извлечения файла на сервер SEDACS из клиента SEDACS с помощью системы, показанной на фиг. 1. На этапе 1 пользователь использует клиент SEDACS для просмотра текущих разрешений документа. Если пользователь имеет разрешение на извлечение документа, клиент SEDACS отправляет транзакцию, запрашивающую документ, в цепочку блоков на этапе 2. На этапе 3 промежуточное программное обеспечение SEDACS отправляет запрос на сервер SEDACS на сам документ или извлекает зашифрованный файл непосредственно из IPFS. [0026] FIG. 3A-3H depict the process of retrieving a file to a SEDACS server from a SEDACS client using the system shown in FIG. 1. In step 1, the user uses the SEDACS client to view the current document permissions. If the user has permission to check out the document, the SEDACS client sends the transaction requesting the document to the blockchain in step 2. In step 3, the SEDACS middleware sends a request to the SEDACS server for the document itself, or fetches the encrypted file directly from IPFS.
[0027] Дальнейшие этапы 4–7 используются, если пользователь не запускает узел IPFS. На этапе 4 сервер SEDACS проверяет цепочку блоков относительно транзакции извлечения документа. Он извлекает документ из IPFS на этапе 5. А на этапе 6 сервер SEDACS отправляет зашифрованный документ вместе с зашифрованными частичными секретами клиенту и отправляет транзакцию, подтверждающую извлечение и передачу документа, в цепочку блоков. [0027] Further steps 4-7 are used if the user does not start the IPFS node. In step 4, the SEDACS server checks the blockchain against the document retrieval transaction. It retrieves the document from IPFS in step 5. And in step 6, the SEDACS server sends the encrypted document along with the encrypted partial secrets to the client and sends a transaction confirming the retrieval and transfer of the document to the blockchain.
[0028] На этапе 7 клиент SEDACS получает зашифрованные документ и секрет от сервера SEDACS. На этапе 8 секрет расшифровывается с помощью закрытого ключа пользователя и используется для расшифровки документа на стороне клиента SEDACS.[0028] In step 7, the SEDACS client obtains the encrypted document and secret from the SEDACS server. In step 8, the secret is decrypted using the user's private key and used to decrypt the document on the SEDACS client side.
[0029] Как было указано выше, промежуточное программное обеспечение SEDACS может извлекать зашифрованный файл непосредственно из IPFS на этапе 3. В этом случае промежуточное программное обеспечение SEDACS запрашивает секрет непосредственно из одного из серверов ключей в хранилище секретов, а не у сервера SEDACS. Клиент SEDACS расшифровывает секрет с помощью закрытого ключа пользователя и использует его для расшифровки документа на стороне клиента SEDACS, как на этапе 8.[0029] As noted above, the SEDACS middleware can retrieve the encrypted file directly from the IPFS in step 3. In this case, the SEDACS middleware requests the secret directly from one of the key servers in the secret store, rather than from the SEDACS server. The SEDACS client decrypts the secret using the user's private key and uses it to decrypt the document on the SEDACS client side, as in step 8.
Изменение разрешений файлаChange file permissions
[0030] Если пользователь имеет соответствующие разрешения для документа, хранящегося в SEDACS, пользователь может изменить разрешения документа путем отправки транзакции в цепочку блоков с запросом изменения разрешения, как показано на фиг. 4. Транзакция затем включается одним из уполномоченный субъектов цепочки блоков, представляющая собой модификацию разрешения. Промежуточное программное обеспечение SEDACS обеспечивает мгновенный отклик о включении транзакция. [0030] If the user has the appropriate permissions for the document stored in SEDACS, the user can change the permissions of the document by sending a transaction to the blockchain requesting the permission change, as shown in FIG. 4. The transaction is then triggered by one of the authorized subjects of the blockchain, representing a permission modification. SEDACS middleware provides instant response when a transaction is enabled.
ЗаключениеConclusion
[0031] Хотя в данном документе были описаны и изображены различные варианты осуществления настоящего изобретения, специалисты в данной области легко могут представить различные другие средства и/или структуры для осуществления функции и/или получения результатов и/или одного или более из преимуществ, описанных в данном документе, и считается, что каждая из таких вариаций и/или модификаций попадает в объем вариантов осуществления настоящего изобретения, описанных в данном документе. В общем специалистам в данной области будет ясно понятно, что все параметры, размеры, материалы и конфигурации, описанные в данном документе, следует понимать как примерные, и что действительные параметры, размеры, материалы и/или конфигурации будут зависеть от конкретного применения или применений, для которых используются принципы настоящего изобретения. Специалисты в данной области найдут, или смогут убедиться с помощью всего лишь обычных опытов, множество эквивалентов для конкретных вариантов осуществления настоящего изобретения, описанного в данном документе. Таким образом, следует понимать, что приведенные выше варианты осуществления представлены лишь для примера и что, в рамках объема прилагаемой формулы изобретения и ее эквивалентов, варианты осуществления настоящего изобретения могут применяться иначе, чем как особо представлено в описании и формуле изобретения. Варианты осуществления настоящего изобретения направлены на каждый отдельный признак, систему, изделие, материал, набор и/или способ описанные в данном документе. Кроме того, любая комбинация из двух или более таких признаков, систем, изделий, материалов, наборов и/или способов, если такие признаки, системы, изделия, материалы, наборы и/или способы не являются взаимно несовместимыми, попадает в объем настоящего изобретения. [0031] While various embodiments of the present invention have been described and depicted herein, those skilled in the art can easily envision various other means and / or structures for performing a function and / or obtaining results and / or one or more of the advantages described in herein, and each of such variations and / or modifications is considered to fall within the scope of the embodiments of the present invention described herein. In general, it will be clear to those skilled in the art that all parameters, dimensions, materials and configurations described herein are to be understood as exemplary, and that actual parameters, dimensions, materials and / or configurations will depend on the particular application or applications. for which the principles of the present invention are used. Those skilled in the art will find, or can be convinced by mere routine experimentation, many equivalents to specific embodiments of the present invention described herein. Thus, it should be understood that the above embodiments are provided by way of example only and that, within the scope of the appended claims and their equivalents, the embodiments of the present invention may be applied other than as specifically set forth in the description and claims. Embodiments of the present invention are directed to each individual feature, system, article, material, kit, and / or method described herein. In addition, any combination of two or more such features, systems, products, materials, kits and / or methods, unless such features, systems, products, materials, kits and / or methods are mutually incompatible, falls within the scope of the present invention.
[0032] Более того, различные концепции настоящего изобретения могут быть выполнены как один или более способов, чей пример был приведен. Действия, осуществляемые как часть способа, могут быть упорядочены любым подходящим образом. Соответственно, можно создать варианты осуществления, в которых действия выполняются в порядке, который отличается от изображенного, которые могут включать осуществление нескольких действий одновременно, несмотря на то, что в иллюстративных вариантах осуществления действия идут поочередно.[0032] Moreover, various concepts of the present invention may be implemented as one or more methods, an example of which has been given. The actions performed as part of the method can be ordered in any suitable manner. Accordingly, embodiments can be created in which actions are performed in an order that differs from that depicted, which can include performing multiple actions at the same time, although in illustrative embodiments, the actions are performed in turn.
[0033] Все определения, как было определено и использовано в данном документе, следует понимать как превалирующие над словарными определениями, определениями из документов, включенных посредством ссылки, и/или обычными значениями определенных терминов.[0033] All definitions as defined and used herein are to be understood to take precedence over dictionary definitions, definitions from documents incorporated by reference, and / or the usual meanings of certain terms.
[0034] Слова в единственном числе, используемые в описании и формуле изобретения данного документа, если точно не указано обратное, следует понимать, как означающие «по меньшей мере один».[0034] The singular words used in the description and the claims of this document, unless clearly indicated otherwise, should be understood as meaning "at least one".
[0035] Фразу «и/или», используемую в описании и формуле изобретения данного документа, следует понимать, как означающую «один из или оба» из элементов, связанных таким образом, т. е. элементы, которые в некоторых случаях присутствуют вместе, а в других случаях присутствуют по отдельности. Множество элементов, перечисленных с помощью «и/или» следует понимать подобным образом, т. е. «один или более» из элементов, связанных таким образом. Другие элементы необязательно могут быть представлены иначе, чем элементы специально указанные фразой «и/или», несмотря на то, связаны ли они или не связаны с теми специально указанными элементами. Таким образом, в качестве неограничивающего примера, ссылка на «A и/или B», при использовании в сочетании со словами, подразумевающими открытый список, например, «содержащий», может относиться, в одном варианте осуществления, только к A (необязательно включая элементы, отличные от B); в другом варианте осуществления — только к B (необязательно включая элементы, отличные от A); в еще одном варианте осуществления — как к A, так и к B (необязательно включая другие элементы); и т. д.[0035] The phrase "and / or" as used in the description and claims of this document should be understood to mean "one of or both" of the elements so linked, that is, elements that in some cases are present together, and in other cases, they are present separately. The plurality of items listed with “and / or” are to be understood in a similar manner, that is, “one or more” of the items linked in this way. Other elements may not necessarily be represented differently than those specifically indicated by the phrase "and / or", whether or not they are related or unrelated to those specifically indicated elements. Thus, as a non-limiting example, a reference to "A and / or B" when used in conjunction with words implying an open list, such as "containing", may refer, in one embodiment, only to A (optionally including the elements other than B); in another embodiment, only to B (optionally including elements other than A); in yet another embodiment, both A and B (optionally including other elements); etc.
[0036] Как использовано в описании и формуле изобретения данного документа, подразумевается, что «или» имеет то же значение, что «и/или», как определено выше. Например, при разделении элементов в списке, «или» или «и/или» следует понимать как включающие, т. е. включение по меньшей мере одного, но также и включение более чем одного, из какого-то количества или списка элементов, и необязательно дополнительных не указанных в списке элементов. Лишь термины, четко указывающие на противоположное, такие как «только один из» или «точно один из», или, при использовании в формуле изобретения, «состоящий из», будут ссылаться на включение только одного элемента из какого-то количества или списка элементов. В целом, термин «или», как использовано в данном документе, следует понимать только как указание на исключающие альтернативы (т. е. «один или другой, но не оба»), когда перед ним следуют термины, обозначающие исключительность, такие как «каждый», «один из», «только один из» или «точно один из». При использовании в формуле изобретения выражение «состоящий по сути из» должно нести свое обычное значение, как принято использовать в области патентного законодательства.[0036] As used in the description and claims of this document, it is intended that "or" has the same meaning as "and / or" as defined above. For example, when separating elements in a list, “or” or “and / or” should be understood to include, i.e., the inclusion of at least one, but also the inclusion of more than one, from a number or list of elements, and optional additional unlisted items. Only terms that clearly indicate the opposite, such as "only one of" or "exactly one of", or, when used in the claims, "consisting of", will refer to the inclusion of only one element from any number or list of elements ... In general, the term “or” as used herein should only be understood to indicate exclusionary alternatives (ie, “one or the other, but not both”) when preceded by exclusivity terms such as “ each ”,“ one of ”,“ only one of ”, or“ exactly one of ”. When used in claims, the expression "consisting essentially of" should carry its usual meaning as is commonly used in the field of patent law.
[0037] Как использовано в описании и формуле изобретения данного документа, фразу «по меньшей мере один», со ссылкой на список из одного или более элементов, следует понимать как по меньшей мере один элемент, выбранный из любого одного или более элементов из списка элементов, но не обязательно включающий по меньшей мере один из всех без исключения элементов, особо указанных в списке элементов, и не исключающий любые комбинации элементов из списка элементов. Такое определение также позволяет, чтобы необязательно могли присутствовать другие элементы помимо элементов, особо указанных в списке элементов, на которые ссылается фраза «по меньшей мере один», независимо от того, связаны или не связаны они с теми особо указанными элементами. Таким образом, как неисключающий пример, «по меньшей мере один из A и B» (или эквивалентно «по меньшей мере один из A или B», или эквивалентно «по меньшей мере один из A и/или B») может ссылаться, в одном варианте осуществления, по меньшей мере на один, необязательно включая более, чем один, A в полном отсутствии B (и необязательно включая другие элементы, отличные от B); в другом варианте осуществления — на по меньшей мере один, необязательно включая более, чем один, B в полном отсутствии A (и необязательно включая другие элементы, отличные от A); в еще одном варианте осуществления — на по меньшей мере один, необязательно включая более чем один, A, и по меньшей мере на один, необязательно включая более, чем один, B (и необязательно включая другие элементы); и т. д.[0037] As used in the description and claims of this document, the phrase "at least one", with reference to a list of one or more elements, should be understood as at least one element selected from any one or more elements from the list of elements but does not necessarily include at least one of all, without exception, elements specifically specified in the list of elements, and does not exclude any combination of elements from the list of elements. Such a definition also allows other elements to optionally be present in addition to those specifically indicated in the list of elements referenced by the phrase “at least one”, whether or not they are associated with those specifically indicated elements. Thus, as a non-exclusive example, “at least one of A and B” (or equivalently “at least one of A or B”, or equivalently “at least one of A and / or B”) may be referred to in in one embodiment, at least one, optionally including more than one, A in the complete absence of B (and optionally including other elements than B); in another embodiment, at least one, optionally including more than one, B in the complete absence of A (and optionally including other elements than A); in yet another embodiment, at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
[0038] В формуле изобретения, как и в описании, приведенном выше, все промежуточные фразы, такие как «содержащий», «включающий», «несущий», «имеющий», «охватывающий», «касающийся», «удерживающий», «состоящий из» и т. п., следует понимать как имеющие открытый список, т. е. они имеют включающий смысл, но не ограничены им. Только промежуточные фразы «состоящий из» и «состоящий по сути из» будут промежуточными фразами с закрытым или полу-закрытым списком, соответственно, как указано в руководстве патентного ведомства США о процедурах патентной экспертизы, раздел 2111.03.[0038] In the claims, as in the description above, all intermediate phrases such as “containing”, “including”, “bearing”, “having”, “covering”, “touching”, “containing”, “ consisting of ", etc. are to be understood as having an open list, that is, they have an inclusive meaning, but are not limited to it. Only the intermediate phrases “consisting of” and “consisting essentially of” will be closed or semi-closed-listed intermediate phrases, respectively, as specified in the US Patent Office Examination Procedures Manual, Section 2111.03.
Claims (35)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2017130840A RU2744970C2 (en) | 2017-08-31 | 2017-08-31 | Systems and methods to control access to secure data |
| US16/119,542 US11132451B2 (en) | 2017-08-31 | 2018-08-31 | Secret data access control systems and methods |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2017130840A RU2744970C2 (en) | 2017-08-31 | 2017-08-31 | Systems and methods to control access to secure data |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2021106262A Division RU2021106262A (en) | 2021-03-11 | METHODS TO EXTRACT AN ENCRYPTED FILE USING THE BLOCK CHAIN |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| RU2017130840A RU2017130840A (en) | 2019-02-28 |
| RU2017130840A3 RU2017130840A3 (en) | 2020-08-19 |
| RU2744970C2 true RU2744970C2 (en) | 2021-03-17 |
Family
ID=65632540
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2017130840A RU2744970C2 (en) | 2017-08-31 | 2017-08-31 | Systems and methods to control access to secure data |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2744970C2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111050317B (en) * | 2019-12-07 | 2022-08-02 | 江西理工大学 | Intelligent traffic data safety sharing method based on alliance block chain |
| CN114448712A (en) * | 2022-02-24 | 2022-05-06 | 浪潮云信息技术股份公司 | Method and device for realizing security gateway of interplanetary file system |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170005804A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
| RU2015156433A (en) * | 2015-12-28 | 2017-07-04 | Дмитрий Сергеевич Ермолаев | METHOD FOR MAKING A DISTRIBUTED DATABASE IN A UNIFIED ACCOUNTING ENVIRONMENT SIMILAR TO BITCOIN |
| US20170200137A1 (en) * | 2016-01-08 | 2017-07-13 | The Western Union Company | Combined security for electronic transfers |
| US20170206523A1 (en) * | 2015-11-06 | 2017-07-20 | Cable Television Laboratories, Inc | Systems and methods for digital asset security ecosystems |
| US20170228822A1 (en) * | 2015-04-28 | 2017-08-10 | Domus Tower, Inc. | Blockchain technology to settle transactions |
-
2017
- 2017-08-31 RU RU2017130840A patent/RU2744970C2/en active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170228822A1 (en) * | 2015-04-28 | 2017-08-10 | Domus Tower, Inc. | Blockchain technology to settle transactions |
| US20170005804A1 (en) * | 2015-07-02 | 2017-01-05 | Nasdaq, Inc. | Systems and methods of secure provenance for distributed transaction databases |
| US20170206523A1 (en) * | 2015-11-06 | 2017-07-20 | Cable Television Laboratories, Inc | Systems and methods for digital asset security ecosystems |
| RU2015156433A (en) * | 2015-12-28 | 2017-07-04 | Дмитрий Сергеевич Ермолаев | METHOD FOR MAKING A DISTRIBUTED DATABASE IN A UNIFIED ACCOUNTING ENVIRONMENT SIMILAR TO BITCOIN |
| US20170200137A1 (en) * | 2016-01-08 | 2017-07-13 | The Western Union Company | Combined security for electronic transfers |
Also Published As
| Publication number | Publication date |
|---|---|
| RU2017130840A3 (en) | 2020-08-19 |
| RU2017130840A (en) | 2019-02-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7793695B2 (en) | Systems and methods for efficient and secure processing, access, and transmission of data over a blockchain network | |
| Nair et al. | Blockchain‐based decentralized cloud solutions for data transfer | |
| US11132451B2 (en) | Secret data access control systems and methods | |
| CN102656589B (en) | By the trust verified for data that wrapper is synthesized | |
| EP2513804B1 (en) | Trustworthy extensible markup language for trustworthy computing and data services | |
| Spoorthy et al. | A survey on data storage and security in cloud computing | |
| RU2744970C2 (en) | Systems and methods to control access to secure data | |
| Andersen | Decentralized authorization with private delegation | |
| Yeh et al. | A study on the data privacy and operation performance for cloud collaborative editing systems | |
| Piechotta et al. | Secure dynamic cloud-based collaboration with hierarchical access | |
| Distefano | GS3: a Grid Storage System with Security Features | |
| Khumanthem et al. | Encrypting Cloud Databases for Security by Using Secure DBaaS | |
| Panchal et al. | ENHANCING DATA INTEGRITY AND PRIVACY IN FILE MANAGEMENT USING BLOCKCHAIN AND IPFS ARCHITECTURE | |
| Lekakis | Topology Independence and Information Leakage in Replicated Storage Systems | |
| Gawande et al. | A Survey of Various Security Management Models for Cloud Computing Storage Systems | |
| HK1175861B (en) | Verifiable trust for data through wrapper composition |