Claims (17)
1. Способ извлечения зашифрованного файла с помощью цепочки блоков, включающий:1. A method for extracting an encrypted file using a block chain, including:
получение запроса от клиента на доступ пользователя к зашифрованному файлу, причем запрос идентифицирует пользователя, запрашивающего файл;receiving a request from the client for user access to the encrypted file, the request identifying the user requesting the file;
в ответ на запрос, просмотр разрешений файла, хранящихся в цепочке блоков, при этом разрешения файла связаны с файлом;in response to the request, viewing the file permissions stored in the block chain, while the file permissions are associated with the file;
определение того, что пользователь имеет разрешение на извлечение зашифрованного файла, на основе разрешений файла и запроса;determining that the user has permission to retrieve the encrypted file based on the permissions of the file and the request;
извлечение ключа для расшифровки зашифрованного файла из сети серверов ключей;extracting a key for decrypting the encrypted file from a network of key servers;
отправку транзакции, запрашивающей зашифрованный файл, в цепочку блоков; иsending a transaction requesting an encrypted file to the block chain; and
получение на стороне клиента зашифрованного файла и ключа для расшифровки зашифрованного файла.receiving on the client side the encrypted file and the key for decrypting the encrypted file.
2. Способ по п. 1, отличающийся тем, что дополнительно включает:2. The method according to p. 1, characterized in that it further includes:
расшифровку на стороне клиента ключа с помощью закрытого ключа, хранимого клиентом, чтобы получить расшифрованный ключ; иclient-side decryption of the key with the private key stored by the client to obtain the decrypted key; and
расшифровку на стороне клиента зашифрованного файла с помощью расшифрованного ключа.client-side decryption of the encrypted file using the decrypted key.
3. Способ по п. 1, отличающийся тем, что ключ представляет собой зашифрованный секрет, сгенерированный сетью серверов ключей.3. The method according to claim 1, characterized in that the key is an encrypted secret generated by a network of key servers.
4. Способ по п. 1, отличающийся тем, что клиент включает промежуточное программное обеспечение, связывающее клиента и сервер, и при этом прием зашифрованного файла включает прием в промежуточном программном обеспечении зашифрованного файла и ключа.4. The method of claim 1, wherein the client includes middleware that communicates between the client and the server, wherein receiving the encrypted file includes receiving the encrypted file and key in the middleware.
5. Способ по п. 1, отличающийся тем, что прием зашифрованного файла включает прием зашифрованного файла из децентрализованной файловой системы.5. The method according to claim 1, wherein receiving the encrypted file includes receiving the encrypted file from the decentralized file system.
6. Способ по п. 1, отличающийся тем, что дополнительно включает: отправку транзакции в цепочку блоков.6. The method according to claim 1, characterized in that it additionally includes: sending a transaction to the block chain.
7. Способ по п. 1, отличающийся тем, что дополнительно включает: создание журнала контроля транзакции в цепочке блоков.7. The method according to claim 1, characterized in that it additionally includes: creating a transaction control log in the block chain.
8. Способ по п. 1, отличающийся тем, что извлечение ключа включает достижение консенсуса между серверами ключей в сети серверов ключей о том, что пользователь имеет разрешение на доступ к файлу.8. The method of claim. 1, characterized in that the extraction of the key includes reaching a consensus among the key servers in the network of key servers that the user has permission to access the file.
9. Способ по п. 1, отличающийся тем, что файл идентифицируется криптографическим хешем.9. The method according to claim 1, characterized in that the file is identified by a cryptographic hash.