EA044169B1 - METHOD AND SYSTEM FOR SECURE INFORMATION STORAGE IN FILE DATA STORAGES - Google Patents

METHOD AND SYSTEM FOR SECURE INFORMATION STORAGE IN FILE DATA STORAGES Download PDF

Info

Publication number
EA044169B1
EA044169B1 EA201891081 EA044169B1 EA 044169 B1 EA044169 B1 EA 044169B1 EA 201891081 EA201891081 EA 201891081 EA 044169 B1 EA044169 B1 EA 044169B1
Authority
EA
Eurasian Patent Office
Prior art keywords
file
key
user
data
computer
Prior art date
Application number
EA201891081
Other languages
Russian (ru)
Inventor
Андрей Владимирович Карлов
Михаил Леонидович Фролов
Original Assignee
Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) filed Critical Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк)
Publication of EA044169B1 publication Critical patent/EA044169B1/en

Links

Description

Область техникиField of technology

Данное техническое решение, в общем, относится к области вычислительной техники, а в частности к способам и системам безопасной передачи критичных данных в общедоступную среду.This technical solution, in general, relates to the field of computer technology, and in particular to methods and systems for the secure transfer of critical data to a publicly accessible environment.

Уровень техникиState of the art

В настоящее время защита данных является одной из основных проблем, которую необходимо решать при разработке системы корпоративного хранения данных, для малого бизнеса или крупной корпорации. Зачастую данные могут передаваться на различные носители данных, например, таких как облачные хранилища данных или локальные. При передаче данных проблема безопасности заключается в том, что кто-то может получить доступ виртуально или физически к хранилищу и затем обратиться к данным. Злоумышленник может взломать систему, смонтировать носитель данных, а затем получить доступ к данным. Известные из уровня техники некоторые технические решения затрагивают эти проблемы, шифруя все или большинство данных на носителях данных, однако эти подходы страдают от ряда недостатков с точки зрения слабой стороны безопасности, проблем с реализацией и/или сложности. Например, в простых технических решениях, в которых хранят зашифрованные данные на носителе вместе с ключом данных, используемым для шифрования данных, любой, имеющий физический доступ к носителю, может извлечь ключ данных из носителя и использовать его для дешифрования данных. Кроме того, предшествующие решения обычно обеспечивают доступ к зашифрованным данным для всех, у кого есть ключ данных шифрования, но не позволяют различным сторонам отдельно получать доступ к зашифрованным данным с помощью своих собственных ключей доступа. Принимая во внимание вышесказанное, существует потребность в усовершенствованных способах защиты данных в системах корпоративного хранения данных. Критичные данные должны быть доступны только уполномоченным лицам, только тем способом, который разрешен политикой безопасности, и только с помощью средств, определенных политикой безопасности.Currently, data protection is one of the main problems that must be addressed when developing a corporate data storage system, for a small business or a large corporation. Often, data can be transferred to various storage media, such as cloud storage or local storage. When transferring data, a security concern is that someone could gain virtual or physical access to the storage and then access the data. An attacker could hack into the system, mount the storage media, and then gain access to the data. Some prior art solutions address these issues by encrypting all or most of the data on storage media, however these approaches suffer from a number of disadvantages in terms of security weaknesses, implementation problems and/or complexity. For example, in simple technical solutions that store encrypted data on a medium along with a data key used to encrypt the data, anyone with physical access to the medium can retrieve the data key from the medium and use it to decrypt the data. In addition, prior solutions typically provide access to encrypted data to anyone who has the encryption data key, but do not allow different parties to separately access encrypted data using their own access keys. Taking into account the above, there is a need for improved methods for protecting data in enterprise storage systems. Sensitive data should be accessible only to authorized persons, only in a manner permitted by the security policy, and only through means specified by the security policy.

Сущность изобретенияThe essence of the invention

Техническое решение направлено на устранение недостатков, присущих существующим решениям из известного уровня техники.The technical solution is aimed at eliminating the disadvantages inherent in existing solutions from the prior art.

Технической задачей, поставленной в данном техническом решении, является обеспечение защищенного хранения информации в файловых хранилищах данных.The technical task posed in this technical solution is to ensure secure storage of information in file data storages.

Техническим результатом, проявляющимся при решении вышеуказанной задачи, является повышение безопасности защищенного хранения информации в файловых хранилищах данных.The technical result that appears when solving the above problem is to increase the security of secure storage of information in file data storages.

Указанный технический результат достигается благодаря осуществлению способа защищенного хранения информации в файловых хранилищах данных, в котором получают по меньшей мере один открытый ключ по меньшей мере одного пользователя; получают по меньшей мере один файл по меньшей мере на одном клиенте; формируют по меньшей мере один ключ для шифрования по меньшей мере одного файла, который сохраняется в файловое хранилище данных; осуществляют шифрование по меньшей мере одного файла полученным ранее по меньшей мере одним ключом для шифрования файла; осуществляют шифрование по меньшей мере одного ключа, которым зашифрован по меньшей мере один файл, открытыми ключами тех пользователей, кому предоставляется доступ по меньшей мере к одному файлу; сохраняют по меньшей мере один зашифрованный на предыдущем шаге ключ в базе ключей шифрования, а по меньшей мере один зашифрованный файл в файловом хранилище данных.This technical result is achieved by implementing a method for securely storing information in file data storages, in which at least one public key of at least one user is obtained; obtain at least one file on at least one client; generating at least one key for encrypting at least one file, which is stored in the file data storage; encrypting at least one file with the previously obtained at least one key for encrypting the file; encrypting at least one key that encrypts at least one file with the public keys of those users who are granted access to at least one file; storing at least one key encrypted in the previous step in the encryption key database, and at least one encrypted file in the file data storage.

В некоторых вариантах осуществления файловое хранилище является облачным и/или локальным.In some embodiments, the file storage is cloud-based and/or local.

В некоторых вариантах осуществления файловое хранилище является публичным и/или частным, и/или гибридным.In some embodiments, the file storage is public and/or private and/or hybrid.

В некоторых вариантах осуществления для предоставления доступа к зашифрованному файлу внутри файлового хранилища создается персонифицированная или публичная ссылка для файла, которая сохраняется в реестре ссылок на файлы.In some embodiments, to provide access to an encrypted file within the file storage, a personalized or public link to the file is created and stored in a file link registry.

В некоторых вариантах осуществления при использовании нескольких файловых хранилищ файлы и структура папок из всех файловых хранилищ отображаются в едином интерфейсе как едином файловом хранилище.In some embodiments, when using multiple file stores, the files and folder structure from all file stores are displayed in a single interface as a single file store.

В некоторых вариантах осуществления при использовании нескольких файловых хранилищ в едином интерфейсе отображаются файлы из файловых хранилищ других пользователей на основе реестра ссылок на файлы.In some embodiments, when using multiple file shares, a single interface displays files from other users' file shares based on a registry of file links.

Краткое описание чертежейBrief description of drawings

Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей.The features and advantages of the present technical solution will become apparent from the following detailed description of the invention and the accompanying drawings.

На фиг. 1 приведена блок-схема способа защищенного хранения информации в файловых хранилищах данных.In fig. Figure 1 shows a block diagram of a method for securely storing information in file data storages.

На фиг. 2 показан пример осуществления системы защищенного хранения информации в файловых хранилищах данных.In fig. Figure 2 shows an example of the implementation of a system for secure storage of information in file data storages.

На фиг. 3 показан пример осуществления шифрования ключа, которым зашифрован файл, открытыми ключами тех пользователей, кому предоставляется доступ по меньшей мере к одному файлу.In fig. 3 shows an example of encrypting the key with which a file is encrypted with the public keys of those users who are granted access to at least one file.

На фиг. 4 показан пример осуществления регистрации пользователя в системе защищенного хране- 1 044169 ния информации в файловых хранилищах данных.In fig. Figure 4 shows an example of user registration in a system for secure storage of information in file data storages.

На фиг. 5 показан пример осуществления загрузки файла пользователя в системе защищенного хранения информации в файловых хранилищах данных.In fig. Figure 5 shows an example of downloading a user file in a system for secure information storage in file data storages.

Подробное описание изобретенияDetailed Description of the Invention

Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения.Below we will describe the concepts and terms necessary to understand this technical solution.

В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций).In this technical solution, a system means, including a computer system, a computer (electronic computer), CNC (computer numerical control), PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, clearly defined sequence of operations (actions, instructions).

Под устройством обработки команд подразумевается электронный блок либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы).A command processing device is an electronic unit or an integrated circuit (microprocessor) that executes machine instructions (programs).

Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы.A command processing device reads and executes machine instructions (programs) from one or more storage devices. Storage devices can include, but are not limited to, hard drives (HDD), flash memory, ROM (read-only memory), solid-state drives (SSD), and optical drives.

Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд.A program is a sequence of instructions intended to be executed by a computer control device or a command processing device.

Ассиметричные ключи - ключи, используемые в ассиметричных алгоритмах (шифрование, ЭЦП), которые являются ключевой парой.Asymmetric keys - keys used in asymmetric algorithms (encryption, digital signature), which are a key pair.

Открытый ключ (англ. public key) - ключ, который может быть опубликован и используется для проверки подлинности подписанного документа, а также для предупреждения мошенничества со стороны заверяющего лица в виде отказа его от подписи документа. Открытый ключ подписи вычисляется как значение некоторой функции от закрытого ключа, но знание открытого ключа не дает возможности определить закрытый ключ.Public key is a key that can be published and is used to verify the authenticity of a signed document, as well as to prevent fraud on the part of the certifier in the form of his refusal to sign the document. The public key of the signature is calculated as the value of some function of the private key, but knowledge of the public key does not make it possible to determine the private key.

Закрытый ключ (англ. public key) - ключ, известный только своему владельцу. Только сохранение пользователем в тайне своего закрытого ключа гарантирует невозможность подделки злоумышленникам документа и цифровой подписи от имени заверяющего.Private key (English public key) - a key known only to its owner. Only the user keeping his private key secret guarantees that attackers cannot forge a document and a digital signature on behalf of the certifier.

Шифрование - обратимое преобразование информации в целях скрытия от неавторизованных лиц, с предоставлением, в это же время, авторизованным пользователям доступа к ней. Главным образом шифрование служит задачей соблюдения конфиденциальности передаваемой информации.Encryption is the reversible transformation of information in order to hide it from unauthorized persons, while at the same time providing authorized users with access to it. Encryption mainly serves the purpose of maintaining the confidentiality of transmitted information.

Токен авторизации - программный токен, который выдается пользователю после его успешной авторизации и является ключом для доступа к ресурсу (например, для доступа к облачному хранилищу).Authorization token is a software token that is issued to the user after successful authorization and is the key to access a resource (for example, to access cloud storage).

Цифровой сертификат - выпущенный удостоверяющим центром электронный или печатный документ, подтверждающий принадлежность владельцу открытого ключа или каких-либо атрибутов.A digital certificate is an electronic or printed document issued by a certification center that confirms the ownership of the owner of a public key or any attributes.

Advanced Encryption Standard (AES) - симметричный алгоритм блочного шифрования, принятый правительством США на основе результатов проведенного конкурса в качестве стандарта шифрования и заменивший собой менее надежный алгоритм Data Encryption Standard (DES). Утвержденный алгоритм в качестве единого стандарта шифрования стал повсеместно применяться для защиты электронных данных.Advanced Encryption Standard (AES) is a symmetric block encryption algorithm adopted by the US government based on the results of a competition as an encryption standard and replacing the less reliable Data Encryption Standard (DES) algorithm. The approved algorithm has become widely used to protect electronic data as a unified encryption standard.

Вектор инициализации - вектор, который представляет собой произвольное число, которое может быть использовано вместе с секретным ключом для шифрования данных.An initialization vector is a vector that represents an arbitrary number that can be used along with a secret key to encrypt data.

Cipher block chaining (CBC) - режим сцепления блоков шифротекста -один из режимов шифрования для симметричного блочного шифра с использованием механизма обратной связи. Каждый блок открытого текста (кроме первого) побитово складывается по модулю 2 с предыдущим результатом. Одна ошибка в бите блока шифротекста влияет на расшифровку всех последующих блоков. Перестройка порядка блоков зашифрованного текста вызывает повреждения результата дешифрования.Cipher block chaining (CBC) - ciphertext block chaining mode - one of the encryption modes for a symmetric block cipher using a feedback mechanism. Each plaintext block (except the first) is added bitwise modulo 2 to the previous result. One error in a bit of a ciphertext block affects the decryption of all subsequent blocks. Rearranging the order of ciphertext blocks causes damage to the decryption result.

В некоторых вариантах осуществления способ, показанный на фиг. 1, включает следующие шаги.In some embodiments, the method shown in FIG. 1 includes the following steps.

Предварительно осуществляют генерацию по меньшей мере одного цифрового сертификата безопасности для пользователя 200, как показано на фиг. 2. Пользователь 200 задает пароль для цифрового сертификата. Пароль может быть символьным, числовым или комбинированным. В некоторых вариантах осуществления в качестве пароля могут использоваться биометрические данные пользователя 200. Система 202, включающая удостоверяющий центр для выпуска цифрового сертификата, например, посредством сервера, генерирует цифровой сертификат и отображает на странице веб-интерфейса 201 пользователя QR-код (который содержит в себе ссылку на скачивание сгенерированного цифрового сертификата) для сканирования, например, мобильным устройством 230 связи пользователя или другим сканирующим устройством. В качестве цифрового сертификата может использоваться сертификат открытого ключа, имеющий формат Х.509 v3, который описан в RFC 5280At least one digital security certificate is first generated for user 200, as shown in FIG. 2. User 200 sets a password for the digital certificate. The password can be character, numeric or a combination. In some embodiments, the biometric data of the user 200 may be used as the password. The system 202, including a certificate authority for issuing a digital certificate, for example, through a server, generates a digital certificate and displays a QR code (which contains link to download the generated digital certificate) for scanning, for example, by the user's mobile communication device 230 or other scanning device. A public key certificate in the X.509 v3 format, which is described in RFC 5280, can be used as a digital certificate.

Затем пользователь 200 сканирует посредством мобильного приложения, установленного на мобильном устройстве 203 связи QR-код, как показано на фиг. 4, который был ранее сгенерирован, получает URL-ссылку на цифровой сертификат безопасности, скачивает его, запрашивает ранее заданный пользователем пароль на сертификат и устанавливает его.The user 200 then scans, through a mobile application installed on the mobile communication device 203, a QR code as shown in FIG. 4, which was previously generated, receives the URL link to the digital security certificate, downloads it, requests the user's previously specified password for the certificate, and installs it.

- 2 044169- 2 044169

После установки цифрового сертификата пользователя, мобильное приложение, установленное на мобильном устройстве 203 связи, передает в систему 202, например следующие данные из цифрового сертификата: ФИО, е-mail. В некоторых вариантах осуществления может использоваться SSL сертификат.After installing the user's digital certificate, the mobile application installed on the mobile communication device 203 transmits to the system 202, for example, the following data from the digital certificate: full name, e-mail. In some embodiments, an SSL certificate may be used.

В цифровом сертификате может храниться следующая информация: полное (уникальное) имя владельца сертификата; открытый ключ владельца; дата выдачи сертификата; дата окончания сертификата; полное (уникальное) имя удостоверяющего центра сертификации; цифровая подпись издателя.The following information can be stored in a digital certificate: full (unique) name of the certificate owner; owner's public key; date of issue of the certificate; certificate expiration date; full (unique) name of the certification authority; publisher's digital signature.

Система 202 получает эти данные, создает пользователя у себя в хранилище данных, генерирует для него уникальный идентификатор (User ID), например, на основании случайных чисел, либо посредством использования хэш-функции от его данных, и добавляет запись о новом пользователе в список пользователей, который может храниться в хранилище 204 данных. Запись о пользователе может содержать следующие данные: уникальный идентификатор User ID, ФИО, e-mail, номер мобильного телефона и т.д., не ограничиваясь.System 202 receives this data, creates a user in its data store, generates a unique User ID for him, for example, based on random numbers or by using a hash function from his data, and adds an entry for the new user to the list of users , which may be stored in data storage 204. A user record may contain the following data: a unique User ID, full name, e-mail, mobile phone number, etc., but not limited to.

Затем пользователь 200 открывает мобильное приложение на мобильном устройстве 203 связи:The user 200 then opens the mobile application on the mobile communication device 203:

если это первый вход пользователя 200, то пользователь 200 задает пароль и/или вводит образец своего отпечатка пальца;if this is the first login of user 200, then user 200 sets a password and/or enters a sample of his fingerprint;

если пользователь 200 осуществляет вход в приложение уже не первый раз, то пользователь 200 вводит пароль и/или прикладывает ранее введенный отпечаток пальца.If user 200 logs into the application for more than the first time, then user 200 enters a password and/or attaches a previously entered fingerprint.

В мобильном приложении на мобильном устройстве 203 связи пользователя отображается форма для ввода пароля/отпечатка пальца. Пользователь 200 вводит пароль/отпечаток пальца. Мобильное приложение, установленное на мобильном устройстве 203 связи, проверяет корректность введенного пароля/отпечатка:In the mobile application, a password/fingerprint entry form is displayed on the user's mobile communication device 203. User 200 enters a password/fingerprint. The mobile application installed on the mobile communication device 203 checks the correctness of the entered password/fingerprint:

если проверка прошла успешно, то осуществляют запрос на проверку цифрового сертификата в систему 202;if the verification was successful, then a request to verify the digital certificate is made to the system 202;

если проверка не прошла успешно, процесс заканчивается с ошибкой, и пользователю направляется сообщение (в мессенджере, посредством смс и/или PUSH) например, следующего содержания Неправильно введенный пароль или Отпечаток пальца не подходит.if the verification is not successful, the process ends with an error, and a message is sent to the user (in the messenger, via SMS and/or PUSH), for example, with the following content: Incorrectly entered password or Fingerprint is not suitable.

Мобильное приложение, установленное на мобильном устройстве 203 связи, отправляет запрос на проверку сертификата пользователя в систему 202, которая проверяет сертификат пользователя:The mobile application installed on the mobile communication device 203 sends a request to verify the user's certificate to the system 202, which verifies the user's certificate:

если сертификат прошел проверку, то процесс заканчивается (пользователь прошел аутентификацию);if the certificate has been verified, the process ends (the user has been authenticated);

если сертификат не прошел проверку, то процесс завершается с ошибкой. На экране мобильного приложения пользователя 200 может появиться сообщение Сертификат не прошел проверку.If the certificate fails verification, the process ends with an error. The message Certificate failed verification may appear on the user 200's mobile application screen.

Мобильное приложение автоматически генерирует пару ключей для каждого пользователя 200 системы 202, которые сохраняются в мобильном приложении в его хранилище данных:The mobile application automatically generates a key pair for each user 200 of the system 202, which is stored in the mobile application in its data store:

открытый ключ (публичный ключ);public key (public key);

закрытый ключ (секретный ключ).private key (secret key).

В качестве алгоритма для генерации пары ключей могут использоваться общеизвестные из уровня техники алгоритмы генерации ключей в ассиметричном шифровании, например, такие как RSA (RivestShamir-Adleman), DSA (Digital Signature Algorithm), Elgamal (шифросистема Эль-Гамаля), Diffie-Hellman (обмен ключами Диффи-Хелмана), не ограничиваясь.As an algorithm for generating a key pair, well-known prior art algorithms for generating keys in asymmetric encryption can be used, for example, such as RSA (Rivest Shamir-Adleman), DSA (Digital Signature Algorithm), Elgamal (El-Gamal cipher system), Diffie-Hellman ( Diffie-Hellman key exchange), but not limited to.

Шаг 101: получают по меньшей мере один открытый ключ (PubllserKey) по меньшей мере одного пользователя.Step 101: At least one public key (PubllserKey) of at least one user is obtained.

Мобильное приложение, установленное на мобильном устройстве 203 связи пользователя, передает в систему 202 копию открытого ключа (PubllserKey) пользователя по телекоммуникационному каналу для шэринга (от англ. to share - делиться), или другими словами обмена с другими пользователями, а так же передает User ID данного пользователя 200.The mobile application installed on the user's mobile communication device 203 transmits to the system 202 a copy of the user's public key (PubllserKey) via a telecommunications channel for sharing (from English to share), or in other words, exchange with other users, and also transmits the User This user ID is 200.

Дополнительно на данном шаге получают сгенерированный ранее закрытый ключ пользователя (UserKey).Additionally, at this step, the previously generated private key of the user (UserKey) is obtained.

В одном из вариантов осуществления телекоммуникационный канал для обмена данными мобильного устройства связи и автоматизированной системы использует телекоммуникационный протокол, выбранный из группы, состоящей из следующих протоколов передачи данных SS/7 (Signaling System #7, см., например, ITU-T Recommendation Q.700) и ISDN (Integrated Services Digital Network), WiFi (см., например, IEEE Standard 802.11).In one embodiment, the telecommunications channel for exchanging data between the mobile communication device and the automated system uses a telecommunications protocol selected from the group consisting of the following SS/7 data transfer protocols (Signaling System #7, see, for example, ITU-T Recommendation Q. 700) and ISDN (Integrated Services Digital Network), WiFi (see, for example, IEEE Standard 802.11).

В одном из вариантов осуществления телекоммуникационный канал, функционирует согласно стандарту, выбранному из группы, состоящей из Ethernet, WiFi (см., например, IEEE Standard 802.11) и Bluetooth (см., например, IEEE Standard 802.15), ATM (Asynchronous Transfer Mode), SS/7 (Signaling System #7; см., например, ITU-T Recommendation Q.700), X.25 (см., например, ITU-T Recommendation X.25), WiMAX (Worldwide Interoperability for Microwave Access, см., например, IEEE Standards 802.16-802.16e), SCCP (Signalling Connection Control Part), DUP (Data User Part), B-ISUP (B-ISDN User Part), ISUP (ISDN User Part), TUP (Telephone User Part), TCAP (Transaction Capabilities Application Part), SSCOP (ServiceSpecific Connection Oriented Protocol), H.323, SIP (Session Initial Protocol), BICC (Bearer Independent Call Control protocol), IS-41, IS-634, CAS, CS1, CS2, R2, CAMEL (Customized Applications for Mobile network Enhanced Logic), INAP (Intelligent Network Application Part), MAP (Mobile Application Part). В одном изIn one embodiment, the telecommunications channel operates according to a standard selected from the group consisting of Ethernet, WiFi (see, for example, IEEE Standard 802.11) and Bluetooth (see, for example, IEEE Standard 802.15), ATM (Asynchronous Transfer Mode) , SS/7 (Signaling System #7; see, for example, ITU-T Recommendation Q.700), X.25 (see, for example, ITU-T Recommendation X.25), WiMAX (Worldwide Interoperability for Microwave Access, see for example IEEE Standards 802.16-802.16e), SCCP (Signalling Connection Control Part), DUP (Data User Part), B-ISUP (B-ISDN User Part), ISUP (ISDN User Part), TUP (Telephone User Part), TCAP (Transaction Capabilities Application Part), SSCOP (ServiceSpecific Connection Oriented Protocol), H.323, SIP (Session Initial Protocol), BICC (Bearer Independent Call Control protocol), IS-41, IS-634, CAS, CS1 , CS2, R2, CAMEL (Customized Applications for Mobile network Enhanced Logic), INAP (Intelligent Network Application Part), MAP (Mobile Application Part). In one of

- 3 044169 вариантов осуществления телекоммуникационный канал использует стек протоколов TCP/IP (Transmission Control Protocol/Internet Protocol, см. IETF RFC 1122).- 3 044169 embodiments the telecommunication channel uses the TCP/IP protocol stack (Transmission Control Protocol/Internet Protocol, see IETF RFC 1122).

Для передачи в систему 202 медиафайлов могут использовать транспортный протокол реального времени (Real-time Transport Protocol, RTP), который широко применяют для передачи синхронизированных мультимедийных данных в реальном времени, например, для передачи аудио- и видеоданных. Протокол RTP может работать на базе протокола пользовательских датаграмм (User Datagram Protocol, UDP), который, в свою очередь, может функционировать на основе протокола Интернета (Internet Protocol, IP). В транспортном протоколе RTP мультимедийные данные инкапсулируют в RTP-пакеты. Как правило, каждый тип мультимедийных данных или формат кодирования мультимедийных данных имеет отдельный формат полезной нагрузки RTP.The system 202 may transfer media files using the Real-time Transport Protocol (RTP), which is widely used for transferring real-time synchronized media data, such as audio and video data. The RTP protocol can operate on the basis of the User Datagram Protocol (UDP), which, in turn, can operate on the Internet Protocol (IP). In the RTP transport protocol, multimedia data is encapsulated in RTP packets. Typically, each media type or media encoding format has a separate RTP payload format.

Сеанс протокола RTP представляет собой соединение между группой участников, осуществляющих связь при помощи протокола RTP. Он является каналом групповой связи, по которому, потенциально, может передаваться несколько RTP-потоков. RTP-поток представляет собой поток RTP-пакетов, содержащих мультимедийные данные.An RTP session is a connection between a group of participants communicating using the RTP protocol. It is a group communication channel through which several RTP streams can potentially be transmitted. An RTP stream is a stream of RTP packets containing multimedia data.

Система 202 получает из мобильного приложения, установленного на мобильном устройстве 203 связи пользователя 200, копию открытого ключа (PubUserKey) и User ID пользователя. Затем система 202 ищет в списке пользователей пользователя в хранилище данных по User ID (уникальный идентификатор пользователя) и добавляет в запись о пользователе данные о его открытом ключе (PubUserKey) в хранилище данных.System 202 receives, from a mobile application installed on mobile communication device 203 of user 200, a copy of the public key (PubUserKey) and User ID of the user. System 202 then searches the user list for the user in the data store by User ID and adds the user's public key (PubUserKey) in the data store to the user's record.

Затем пользователь 200 формирует парольную фразу для доступа к бекапу ключей и запоминает ее в хранилище данных на своем мобильном устройстве связи. Мобильное приложение передает копию пары ключей в файловое хранилище 204 данных, которое было выбрано для хранения информации. В некоторых вариантах осуществления файловое хранилище 204 данных может быть облачным (на платформе Dropbox, Яндекс Диск, Google Drive и т. п.) или удаленным (локальным).User 200 then generates a passphrase to access the key backup and stores it in the data storage on his mobile communication device. The mobile application transmits a copy of the key pair to the data file storage 204 that has been selected to store the information. In some embodiments, file data storage 204 can be cloud-based (on the Dropbox, Yandex Drive, Google Drive, etc.) or remote (local) platform.

Шаг 102: получают по меньшей мере один файл по меньшей мере на одном клиенте.Step 102: At least one file is obtained on at least one client.

Пользователь 200 выбирает один или несколько файлов, которые необходимо загрузить в хранилище данных 204, как показано на фиг. 5, и подтверждает их загрузку в файловое хранилище 204 данных посредством использования мобильного приложения, установленного на мобильном устройстве связи пользователя. В некоторых вариантах осуществления мобильное приложение осуществляет проверку названий загружаемых файлов, с названиями файлов, которые уже находятся в списке хранилища для выявления возможных коллизий.User 200 selects one or more files to be uploaded to data store 204, as shown in FIG. 5, and confirms their downloading to the data file storage 204 through the use of a mobile application installed on the user's mobile communication device. In some embodiments, the mobile application checks the names of the downloaded files against the names of the files that are already in the storage list to identify possible collisions.

Если в хранилище пользователя уже существует файл с идентичным названием, то на экран мобильного приложения выводится диалоговое окно, например, следующего вида Файл с идентичным названием уже есть в списке. Пользователю предлагается либо заменить файл, либо выполнить переименование загружаемого файла для отсутствия коллизий. В некоторых вариантах осуществления изобретения новый загружаемый файл, который имеет идентичное название файлу, который находится в списке, переименовывается автоматически с добавлением, например, версии в конце файла: документ на согласование (1), причем каждый последующий файл с таким названием будет получать увеличенный индекс.If a file with an identical name already exists in the user’s storage, then a dialog box is displayed on the screen of the mobile application, for example, like the following: A file with an identical name is already in the list. The user is prompted to either replace the file or rename the downloaded file to avoid collisions. In some embodiments of the invention, a new uploaded file that has an identical name to a file that is in the list is renamed automatically, adding, for example, a version at the end of the file: document for approval (1), and each subsequent file with the same name will receive an increased index .

В контексте данного изобретения использование термина клиент подразумевает архитектуру клиент - сервер. Это широко известная в уровне технике вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Фактически клиент и сервер - это программное обеспечение. Обычно эти программы расположены на разных вычислительных машинах и взаимодействуют между собой через вычислительную сеть посредством сетевых протоколов, но они могут быть расположены также и на одной машине. Программы-серверы ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов посредством HTTP, FTP, BitTorrent, потоковое мультимедиа или работа с базами данных) или в виде сервисных функций (например, работа с электронной почтой, общение посредством систем мгновенного обмена сообщениями или просмотр web-страниц во всемирной паутине). Поскольку одна программа-сервер может выполнять запросы от множества программ-клиентов, ее размещают на специально выделенной вычислительной машине, настроенной особым образом, как правило, совместно с другими программами-серверами, поэтому производительность этой машины должна быть высокой. Из-за особой роли такой машины в сети, специфики ее оборудования и программного обеспечения, ее также называют сервером, а машины, выполняющие клиентские программы, соответственно, клиентами. В данном техническом решении могут получать для загрузки в хранилище данных, например, медиафайл. Причем в качестве стандартов медиафайлов могут использоваться все существующие из уровня техники без ограничения, которые включают базовый формат медиафайла стандарта ISO (ISO/IEC 14496-12, который имеет аббревиатуру ISOBMFF), формат файлов MPEG-4 (ISO/IEC 14496-14, также называемый форматом МР4), формат файлов для видео со структурой из NAL-блоков (ISO/IEC 14496-15) и формат файлов 3 GPP (3 GPP TS 26.244, также известный под называнием формата 3GP). Формат файлов ISO является базовым для получения всех упомянутых выше форматов файла (за исключением собственно формата файлов ISO). Эти форматы файлов (включая соб- 4 044169 ственно формат файлов ISO) называют семейством форматов файлов ISO.In the context of this invention, the use of the term client implies a client-server architecture. It is a computing or networking architecture well known in the art in which jobs or network load are distributed among service providers, called servers, and service customers, called clients. In fact, the client and server are software. Typically, these programs are located on different computers and interact with each other through a computer network using network protocols, but they can also be located on the same machine. Server programs wait for requests from client programs and provide them with their resources in the form of data (for example, downloading files via HTTP, FTP, BitTorrent, streaming multimedia or working with databases) or in the form of service functions (for example, working with email, communication via instant messaging systems or browsing web pages on the World Wide Web). Since one server program can fulfill requests from many client programs, it is placed on a specially dedicated computer configured in a special way, usually together with other server programs, so the performance of this machine must be high. Due to the special role of such a machine in the network, the specifics of its hardware and software, it is also called a server, and machines that run client programs are, respectively, clients. In this technical solution, for example, a media file can be received for loading into a data storage. Moreover, as media file standards, all existing ones from the prior art can be used without limitation, which include the basic media file format of the ISO standard (ISO/IEC 14496-12, which has the abbreviation ISOBMFF), MPEG-4 file format (ISO/IEC 14496-14, also called MP4 format), NAL block video file format (ISO/IEC 14496-15) and 3 GPP file format (3 GPP TS 26.244, also known as 3GP format). The ISO file format is the base for deriving all the file formats mentioned above (except for the actual ISO file format). These file formats (including the ISO file format itself) are called the ISO family of file formats.

Шаг 103: формируют по меньшей мере один ключ (FileKey) для шифрования по меньшей мере одного файла, который сохраняется в файловое хранилище данных.Step 103: at least one key (FileKey) is generated for encrypting at least one file that is stored in the file data storage.

На данном шаге мобильное приложение, установленное на мобильном устройстве 203 связи пользователя 200, генерирует уникальный ключ (FileKey) для шифрования по меньшей мере одного файла, которым будет зашифрован файл.In this step, the mobile application installed on the mobile communication device 203 of the user 200 generates a unique key (FileKey) for encrypting at least one file with which the file will be encrypted.

Для шифрования файлов, которые пользователь планирует загрузить в файловое хранилище данных, используется например алгоритм AES/CBC/PKCS5Padding или AES/CBC/PKCS7Padding. Длина такого файлового ключа (FileKey) составляет 128 бит (цифры со значениями от 0 или 1). В некоторых вариантах реализации изобретения может использоваться ключ размером 192 или 256 бит.To encrypt files that the user plans to upload to the file data storage, for example, the AES/CBC/PKCS5Padding or AES/CBC/PKCS7Padding algorithm is used. The length of such a file key (FileKey) is 128 bits (digits with values from 0 or 1). In some embodiments of the invention, a key size of 192 or 256 bits may be used.

В конкретном варианте осуществления используется симметричный алгоритм для шифрования файла. Для каждого файла генерируется свой уникальный файловый ключ (FileKey). За счет использования ключа в 128 бит (AES алгоритм) возможное количество комбинаций по подбору уникального ключа злоумышленниками составляет 3.4*10Л38, с которым не справится даже самый быстрый суперкомпьютер на настоящий момент, что повышает надежность данного технического решения.In a particular embodiment, a symmetric algorithm is used to encrypt the file. For each file, its own unique file key (FileKey) is generated. Due to the use of a 128-bit key (AES algorithm), the possible number of combinations for attackers to select a unique key is 3.4 * 10 L 38, which even the fastest supercomputer at the moment cannot cope with, which increases the reliability of this technical solution.

Для того чтобы создать ключ (FileKey) для каждого раунда, алгоритм AES использует процесс ключевого расширения. От размера ключа зависит число раундов шифрования файла: длина 128 бит - 10 раундов; длина 192 бита - 12 раундов; длина 256 бит - 14 раундов.In order to create a key (FileKey) for each round, the AES algorithm uses a key expansion process. The number of file encryption rounds depends on the key size: length 128 bits - 10 rounds; length 192 bits - 12 rounds; length 256 bits - 14 rounds.

Файловый ключ (FileKey) состоит из 128 битов, поделенных на 16 байтов, и записывается в столбцы матрицы. Каждый столбец матрицы образует слово, т.е. фактически ключ для шифрования - это четыре слова. Из этих слов с помощью специального алгоритма образуется последовательность из 44 слов (каждое слово по 32 бита). На каждый раунд шифрования подаются по четыре слова этой последовательности.The FileKey consists of 128 bits divided into 16 bytes and is written into the columns of the matrix. Each column of the matrix forms a word, i.e. in fact, the encryption key is four words. From these words, using a special algorithm, a sequence of 44 words is formed (each word is 32 bits). For each round of encryption, four words of this sequence are supplied.

Так называемые раундовые ключи вырабатываются из сформированного файлового ключа с помощью процедуры расширения ключа, в результате чего формируется массив раундовых ключей, из которого затем непосредственно выбирается необходимый раундовый ключ. Каждый раундовый ключ имеет длину 128 бит (или 4 четырехбайтовых слова), а длина в битах всех раундовых ключей равна 128 бит (10 раундов+1) = 1408 бит (или 44 четырехбайтовых слова). Первые четыре слова в ключевом массиве заполнены ключом шифра, из остальных выработанных 40 слов выбираются по 4 слова для ключа раунда. Выбор слов используется известный из уровня техники: первые четыре слова (они совпадают с ключом шифра) являются ключом с номером 0, следующие четыре слова -раундовым ключом для первого полного раунда и т.д.The so-called round keys are generated from the generated file key using the key expansion procedure, as a result of which an array of round keys is formed, from which the required round key is then directly selected. Each round key is 128 bits long (or 4 four-byte words), and the bit length of all round keys is 128 bits (10 rounds+1) = 1408 bits (or 44 four-byte words). The first four words in the key array are filled with the cipher key, from the remaining 40 words generated, 4 words are selected for the round key. The choice of words is used known from the prior art: the first four words (they coincide with the cipher key) are the key number 0, the next four words are the round key for the first full round, etc.

В качестве примера осуществления файловый ключ для шифрования одного файла может иметь следующий вид: OF 15 71 С9 47 D9 Е8 59 ОС В7 AD DF AF 7F 67 98.As an example of implementation, a file key for encrypting one file may have the following form: OF 15 71 C9 47 D9 E8 59 OS B7 AD DF AF 7F 67 98.

Шаг 104: осуществляют шифрование по меньшей мере одного файла сформированным ранее по меньшей мере одним ключом для шифрования файла.Step 104: at least one file is encrypted with a previously generated at least one file encryption key.

Мобильное приложение на мобильном устройстве связи пользователя шифрует файл, выбранный пользователем для загрузки, ключом для шифрования файла. Таким образом, в случае использования 128-битового ключа, осуществляют 10 раундов шифрования (процедур трансформации данных, как это называется в AES). Перед первым раундом шифрования выполняется операция суммирования по модулю 2 с начальным файловым ключом.The mobile application on the user's mobile communication device encrypts the file selected by the user for download with a file encryption key. Thus, in the case of using a 128-bit key, 10 rounds of encryption (data transformation procedures, as it is called in AES) are carried out. Before the first round of encryption, a modulo-2 summation operation is performed on the initial file key.

Преобразования, выполненные в одном раунде, обозначают как Round (State, RoundKey), где переменная State - матрица, описывающая данные на входе раунда и на его выходе после шифрования; переменная RoundKey - матрица, содержащая раундовый ключ. Раунд состоит из 4 различных преобразований:Transformations performed in one round are denoted as Round (State, RoundKey), where the State variable is a matrix describing the data at the input of the round and at its output after encryption; RoundKey variable is a matrix containing the round key. A round consists of 4 different transformations:

побайтовая подстановка в S-боксе с фиксированной таблицей замен;byte-byte substitution in an S-box with a fixed replacement table;

побайтовый сдвиг строк матрицы State на различное количество байт;byte-by-byte shift of rows of the State matrix by a different number of bytes;

перемешивание байт в столбцах;shuffling bytes in columns;

сложение с раундовым ключом (операция XOR).addition with a round key (XOR operation).

Последний раунд несколько отличается от предыдущих тем, что не задействует функцию перемешивания байт в столбцах.The last round is somewhat different from the previous ones in that it does not use the function of shuffling bytes in columns.

Для AES длина блока входных данных и состояния постоянна и равна 128 бит, а длина ключа для шифрования составляет 128, 192, или 256 бит.For AES, the length of the input data and state block is constant and equal to 128 bits, and the length of the encryption key is 128, 192, or 256 bits.

Если в файловом хранилище 204 данных пользователя отсутствует файл с идентичным названием, то выполняют шифрование файла. После завершения шифрования файла, он загружается в файловое хранилище данных в зашифрованном виде.If there is no file with an identical name in the user data file storage 204, the file is encrypted. After file encryption is completed, it is loaded into the file data storage in encrypted form.

В некоторых вариантах осуществления изобретения в случае смены цифрового сертификата, система 202 выполняют перешифрование всех ключей файлов новым сертификатом.In some embodiments, if the digital certificate changes, the system 202 re-encrypts all file keys with the new certificate.

После шифрования документа файловый ключ (FileKey) удаляется из мобильного приложения пользователя.After encrypting the document, the file key (FileKey) is deleted from the user's mobile application.

Шаг 105: осуществляют шифрование по меньшей мере одного ключа (FileKey), которым зашифрован по меньшей мере один файл, открытыми ключами (PubllserKey) тех пользователей, кому предоставляется доступ по меньшей мере к одному файлу.Step 105: at least one key (FileKey), which encrypts at least one file, is encrypted with the public keys (PubllserKey) of those users who are given access to at least one file.

Для шифрования файловых ключей (FileKey) может использоваться такой алгоритм какTo encrypt file keys (FileKey), an algorithm such as

- 5 044169- 5 044169

RSA/ECB/PKCS1 Padding. Длина такого ключа может составлять 2048 бит. Это ассиметричный алгоритм: есть закрытый и открытый ключи. Для каждого пользователя 200 генерируется ключевая пара, закрытый ключ остается у пользователя. Открытый ключ передается на сервер и доступен любому потенциальному пользователю системы 202. С помощью него зашифровывается файловый ключ (FileKey), когда происходит шеринг файла.RSA/ECB/PKCS1 Padding. The length of such a key can be 2048 bits. This is an asymmetric algorithm: there are private and public keys. For each user 200, a key pair is generated, the private key remains with the user. The public key is transferred to the server and is available to any potential user of the system 202. The file key (FileKey) is encrypted with it when the file is shared.

Таким образом, обеспечивается безопасная передача данных в систему 202 на сервер и хранение файловых ключей (FileKey) в зашифрованном виде, т.к. в случае, если злоумышленник получит доступ к системе 202, он не сможет расшифровать файл, потому что файловый ключ (FileKey) хранится в зашифрованном виде.This ensures secure transmission of data to the system 202 on the server and storage of file keys (FileKey) in encrypted form, because If an attacker gains access to the system 202, he will not be able to decrypt the file because the file key (FileKey) is stored in encrypted form.

Для шифрования файлового (FileKey) используется операция возведения в степень по модулю N. Для расшифрования же необходимо вычислить функцию Эйлера от числа N, для этого необходимо знать разложение числа n на простые множители.To encrypt a file (FileKey), the operation of exponentiation modulo N is used. To decrypt, it is necessary to calculate the Euler function of the number N, for this you need to know the decomposition of the number n into prime factors.

Генерация ключевой пары осуществляется следующим образом.The key pair is generated as follows.

1. Выбирают два простых числа р и q случайным образом (такие, что р не равно q).1. Choose two prime numbers p and q at random (such that p is not equal to q).

2. Определяют модуль выражения N=p*q.2. Determine the modulus of the expression N=p*q.

3. Определяют значение функции Эйлера от модуля N: ф(N)=(p-1)(q-1).3. Determine the value of the Euler function from module N: f(N)=(p-1)(q-1).

4. Выбирают число е, называемое открытой экспонентой, причем число е должно лежать в интервале 1 <е<фЩ), а так же быть взаимно простым со значением функции фЩ). В качестве открытой экспоненты могут использоваться простые числа Ферма, например: 17 или 257, или 65537 и т.д.4. Select a number e, called an open exponent, and the number e must lie in the interval 1 <e<fSh), and also be coprime with the value of the function fSh). Fermat prime numbers can be used as an open exponent, for example: 17 or 257, or 65537, etc.

5. Определяют число d, называемое секретной экспонентой, такое, что d*e=1(modф(N)), то есть является мультипликативно обратное к числу е по модулю ф(N). Итак, мы получаем пару ключей:5. Determine the number d, called the secret exponent, such that d*e=1(modφ(N)), that is, it is the multiplicative inverse of the number e modulo φ(N). So we get a key pair:

Пара (е, N) - открытый ключ. Пара (d, N) - закрытый ключ.Pair (e, N) - public key. Pair (d, N) - private key.

В некоторых вариантах осуществления технического решения для формирования пары ключей используют OpenSSL - криптографический пакет с открытым исходным кодом для работы с SSL/TLS.In some embodiments, the technical solution uses OpenSSL, an open source cryptographic package for working with SSL/TLS, to generate a key pair.

Затем после формирования пары ключей, как показано на фиг 3, для шифрования по меньшей мере одного файлового ключа m, которым зашифрован по меньшей мере один файл, используют сгенерированный открытый ключ (е, N): С=Е(М)=МЛе mod(N).Then, after generating a key pair, as shown in Fig. 3, the generated public key (e, N) is used to encrypt at least one file key m, which encrypts at least one file: C=E(M)=M Le mod(N).

Шаг 106: сохраняют по меньшей мере один зашифрованный на предыдущем шаге ключ в базе ключей шифрования, а по меньшей мере один зашифрованный файл в файловом хранилище данных.Step 106: at least one key encrypted in the previous step is stored in the encryption key database, and at least one encrypted file is stored in the file data storage.

В некоторых вариантах осуществления зашифрованный на предыдущем шаге ключ в базе ключей шифрования сохраняют в формате hex. HEX - формат файла, предназначенного для представления произвольных двоичных данных в текстовом виде. Например, зашифрованный ключ имеющий значение 6131, будет храниться как строка вида 0x6 0xd 0x1. Мобильное приложение передает в систему данные: зашифрованный ключ шифрования файла (FileKey) и идентификатор пользователя UserID. При этом в мобильном приложении не сохраняется копия ключа шифрования файла. Система 202 на основе полученного ключа шифрования файла генерирует уникальный идентификатор файла File ID. Мобильное приложение получает уникальный идентификатор файла File ID и сохраняет его в списке файлов. Затем мобильное приложение передает зашифрованный файл и File ID, например, в облачное хранилище данных. Облачное хранилище получает зашифрованный файл и сохраняет его.In some embodiments, the key encrypted in the previous step is stored in hex format in the encryption key database. HEX is a file format designed to represent arbitrary binary data in text form. For example, an encrypted key with the value 6131 would be stored as a string like 0x6 0xd 0x1. The mobile application transmits data to the system: the encrypted file encryption key (FileKey) and the user ID UserID. However, a copy of the file encryption key is not saved in the mobile application. System 202 generates a unique File ID based on the received file encryption key. The mobile application receives the file's unique File ID and stores it in the list of files. The mobile application then transfers the encrypted file and File ID, for example, to a cloud data storage. Cloud storage receives the encrypted file and stores it.

При получении зашифрованного ключа с осуществляют его расшифровку, используя закрытый ключ (d,N), и расшифровывают ключ следующим образом M=D(C)=^d mod(N).Upon receiving the encrypted key c, decrypt it using the private key (d,N), and decrypt the key as follows: M=D(C)=^d mod(N).

При этом файловый ключ (FileKey), зашифрованный открытым ключом пользователя (PubllserKey), расшифровать можно только с помощью закрытого ключа пользователя UserKey (всегда хранится на мобильном устройстве связи пользователя).In this case, the file key (FileKey), encrypted with the user's public key (PubllserKey), can only be decrypted using the user's private key UserKey (always stored on the user's mobile communication device).

Аспекты настоящего изобретения могут быть также реализованы с помощью устройства обработки данных, являющимся вычислительной машины из системы (или таких средств, как центральный/графический процессор или микропроцессор), которая считывает и исполняет программу, записанную на запоминающее приспособление, чтобы выполнять функции вышеописанного варианта(ов) осуществления, и способа, показанного на фиг. 1, этапы которого выполняются вычислительной машиной из системы или устройством путем, например, считывания и исполнения программы, записанной на запоминающем приспособлении, чтобы исполнять функции вышеописанного варианта(ов) осуществления. С этой целью программа предоставляется на вычислительную машину, например, через сеть или со среды для записи различных типов, служащей в качестве запоминающего приспособления (например, машиночитаемой среды).Aspects of the present invention may also be implemented by a processing device, which is a computer of a system (or such as a CPU/GPU or microprocessor) that reads and executes a program recorded on a storage device to perform the functions of the embodiment(s) described above. ) implementation, and the method shown in FIG. 1, the steps of which are performed by a computer from a system or device by, for example, reading and executing a program recorded on a storage device to perform the functions of the above-described embodiment(s). For this purpose, the program is provided to the computer, for example, via a network or from a recording medium of various types serving as a storage device (eg, a computer-readable medium).

Устройство обработки данных может иметь дополнительные особенности или функциональные возможности. Например, устройство обработки данных может также включать в себя дополнительные устройства хранения данных (съемные и несъемные), такие как, например, магнитные диски, оптические диски или лента. Компьютерные носители данных могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или при помощи любой технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Устройство хранения данных, съемное хранилище и несъемное хранилище являются примерами компьютерных носителей данных. Компьютерные носители данныхThe data processing device may have additional features or functionality. For example, the data processing device may also include additional storage devices (removable and non-removable), such as, for example, magnetic disks, optical disks, or tape. Computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Storage device, removable storage and non-removable storage are examples of computer storage media. Computer storage media

--

Claims (1)

включают в себя, но не в ограничительном смысле, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (EEPROM), флэш-память или память, выполненную по другой технологии, ПЗУ на компакт-диске (CD-ROM), универсальные цифровые диски (DVD) или другие оптические запоминающие устройства, магнитные кассеты, магнитные ленты, хранилища на магнитных дисках или другие магнитные запоминающие устройства, или любую другую среду, которая может быть использована для хранения желаемой информации и к которой может получить доступ устройство обработки данных. Любой такой компьютерный носитель данных может быть частью системы выявления и классификации причин возникновения претензий пользователей в канале банкомата. Устройство обработки данных может также включать в себя устройство(а) ввода, такие как клавиатура, мышь, перо, устройство с речевым вводом, устройство сенсорного ввода, и так далее. Устройство(а) вывода, такие как дисплей, динамики, принтер и тому подобное, также могут быть включены в состав системы. Устройство обработки данных содержит коммуникационные соединения, которые позволяют устройству связываться с другими вычислительными устройствами, например по сети. Сети включают в себя локальные сети и глобальные сети наряду с другими большими масштабируемыми сетями, включая, но не в ограничительном смысле, корпоративные сети и экстрасети. Коммуникационное соединение является примером коммуникационной среды. Как правило, коммуникационная среда может быть реализована при помощи машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном информационном сигнале, таком как несущая волна, или в другом транспортном механизме, и включает в себя любую среду доставки информации. Термин модулированный информационный сигнал означает сигнал, одна или более из его характеристик изменены или установлены таким образом, чтобы закодировать информацию в этом сигнале. Для примера, но без ограничения, коммуникационные среды включают в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные, инфракрасные и другие беспроводные среды. Термин машиночитаемый носитель, как употребляется в этом документе, включает в себя как носители данных, так и коммуникационные среды. Последовательности процессов, описанных в этом документе, могут выполняться с использованием аппаратных средств, программных средств или их комбинации. Когда процессы выполняются с помощью программных средств, программа, в которой записана последовательность процессов, может быть установлена и может выполняться в памяти компьютера, встроенного в специализированное аппаратное средство, или программа может быть установлена и может выполняться на компьютер общего назначения, который может выполнять различные процессы.include, but are not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory or other memory technology, compact disc ROM (CD) -ROM), digital versatile disks (DVDs) or other optical storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and be accessed access data processing device. Any such computer storage medium may be part of a system for identifying and classifying the causes of user complaints in the ATM channel. The processing device may also include input device(s), such as a keyboard, mouse, pen, speech input device, touch input device, and so on. Output device(s) such as a display, speakers, printer, and the like may also be included in the system. A computing device contains communication connections that allow the device to communicate with other computing devices, such as over a network. Networks include local area networks and wide area networks along with other large, scalable networks including, but not limited to, corporate networks and extranets. A communication connection is an example of a communication medium. Typically, a communication medium may be implemented by computer-readable instructions, data structures, program modules, or other data in a modulated information signal, such as a carrier wave, or other transport mechanism, and includes any information delivery medium. The term modulated information signal means a signal where one or more of its characteristics are changed or set in such a way as to encode information in the signal. By way of example, and without limitation, communications media include wired media, such as a wired network or direct wired connection, and wireless media, such as acoustic, radio frequency, infrared, and other wireless media. The term computer-readable media as used herein includes both storage media and communication media. The process sequences described in this document may be performed using hardware, software, or a combination thereof. When processes are executed by software, the program in which the sequence of processes is recorded may be installed and executed in the memory of a computer embedded in specialized hardware, or the program may be installed and executed on a general purpose computer that can execute various processes . Например, программа может быть заранее записана на носитель записи, такой как жесткий диск, или ПЗУ (постоянное запоминающее устройство). В качестве альтернативы, программа может быть временно или постоянно сохранена (записана) на съемном носителе записи, таком как гибкий диск, CDROM (компакт-диск, предназначенный только для воспроизведения), МО (магнитооптический) диск, DVD (цифровой универсальный диск), магнитный диск или полупроводниковая память. Съемный носитель записи может распространяться в виде так называемого, продаваемого через розничную сеть программного средства.For example, the program may be pre-recorded on a recording medium such as a hard disk or ROM (read only memory). Alternatively, the program may be temporarily or permanently stored (recorded) on a removable recording medium such as a floppy disk, CDROM (compact disc playback only), MO (magneto-optical) disc, DVD (digital versatile disc), magnetic disk or semiconductor memory. The removable recording medium may be distributed in the form of so-called retail software. Программа может быть установлена со съемного носителя записи, описанного выше, на компьютер, или может быть передана по кабелю с сайта загрузки в компьютер или может быть передана в компьютер по сетевым каналам передачи данных, таким как ЛВС (локальная вычислительная сеть) или Интернет. Компьютер может принимать переданную, таким образом, программу и может устанавливать ее на носитель записи, такой как встроенный жесткий диск.The program may be installed from the removable recording medium described above onto a computer, or may be transferred via cable from a download site to a computer, or may be transferred to a computer via a network data link such as a LAN (Local Area Network) or the Internet. The computer can receive the program thus transmitted and can install it on a recording medium such as a built-in hard disk. Процессы, описанные в этом документе, могут выполняться последовательно по времени, в соответствии с описанием, или могут выполняться параллельно или отдельно, в зависимости от характеристик обработки устройства, выполняющего процессы, или в соответствии с необходимостью. Система, описанная в этом документе, представляет собой логический набор множества устройств и не ограничивается структурой, в которой эти устройства установлены в одном корпусе.The processes described in this document may be performed sequentially in time as described, or may be performed in parallel or separately, depending on the processing characteristics of the device executing the processes or as needed. The system described in this document is a logical collection of multiple devices and is not limited to a structure in which these devices are installed in a single housing. ФОРМУЛА ИЗОБРЕТЕНИЯCLAIM 1. Способ защищенного хранения информации в файловых хранилищах данных, включающий следующие шаги:1. A method for securely storing information in file data storages, including the following steps: получают по меньшей мере один открытый ключ и по меньшей мере один закрытый ключ по меньшей мере одного пользователя, причем упомянутые открытый ключ и закрытый ключ генерируются по меньшей мере в одном устройстве обработки данных пользователя;obtaining at least one public key and at least one private key of at least one user, wherein said public key and private key are generated in at least one user data processing device; получают по меньшей мере один файл по меньшей мере на одном клиенте;obtain at least one file on at least one client; формируют по меньшей мере один ключ для шифрования по меньшей мере одного файла, который сохраняется в файловое хранилище данных, причем упомянутый ключ для шифрования формируется по меньшей мере в одном устройстве обработки данных пользователя;generating at least one key for encrypting at least one file, which is stored in the file data storage, and said encryption key is generated in at least one user data processing device; осуществляют шифрование по меньшей мере одного файла полученным ранее по меньшей мере одним ключом для шифрования файла;encrypting at least one file with the previously obtained at least one key for encrypting the file; --
EA201891081 2018-05-31 2018-05-31 METHOD AND SYSTEM FOR SECURE INFORMATION STORAGE IN FILE DATA STORAGES EA044169B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2018120197 2018-05-31

Publications (1)

Publication Number Publication Date
EA044169B1 true EA044169B1 (en) 2023-07-27

Family

ID=

Similar Documents

Publication Publication Date Title
US10326798B2 (en) System and method for secure data transmission and storage
US7861097B2 (en) Secure implementation and utilization of device-specific security data
US6192130B1 (en) Information security subscriber trust authority transfer system with private key history transfer
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
US7979707B2 (en) Secure seed generation protocol
US8995663B2 (en) Method for implementing an encryption engine by smart key device
US7095859B2 (en) Managing private keys in a free seating environment
US20230344631A1 (en) Encrypted search
Zhang et al. Towards secure data distribution systems in mobile cloud computing
CN114244508B (en) Data encryption method, device, equipment and storage medium
US7240202B1 (en) Security context sharing
US10963593B1 (en) Secure data storage using multiple factors
US7802102B2 (en) Method for efficient and secure data migration between data processing systems
EP3614292A1 (en) File transfer system comprising an upload, storage and download device
Che Fauzi et al. On cloud computing security issues
US20210112039A1 (en) Sharing of encrypted files without decryption
US6986045B2 (en) Single algorithm cipher suite for messaging
US20060053288A1 (en) Interface method and device for the on-line exchange of content data in a secure manner
US20210144002A1 (en) Secondary Channel Authentication of Public Keys
US20210281608A1 (en) Separation of handshake and record protocol
RU2707398C1 (en) Method and system for secure storage of information in file storages of data
JP2022545809A (en) Secure environment for cryptographic key generation
CN114153382A (en) Efficient data migration method and system supporting verifiable deletion of data in cloud storage
EA044169B1 (en) METHOD AND SYSTEM FOR SECURE INFORMATION STORAGE IN FILE DATA STORAGES
KR100401063B1 (en) the method and the system for passward based key change