Back to results
US 12,003,622 B1Granted
Enabling secure storage and sharing of images
AssigneeOsom Products, Inc.
InventorsGary Anderson, Nicholas Franco, Jason Sean Gagne-Keats
Life of this patent
Estimating the term…
Abstract
The disclosed technology relates to using a blockchain to manage files and ownership thereof for a file sharing and storage service. The blockchain can also record and track edits to the files. The file sharing and storage service can automatically analyze the files to identify various visual features and subjects, and record metadata thereof to the blockchain.
Claims20
At least one non-transitory computer-readable storage medium storing instructions, which, when executed by at least one data processor of a system, cause the system to:
- enable secure sharing between multiple blockchains including:
- create a digital storage associated with a first public key associated with a first user,
- wherein the digital storage is associated with a first private linear sequence of storing image operations,
- wherein the first private linear sequence storing image operations encrypts a content of a block that is part of the first private linear sequence storing image operations;
- obtain an image;
- encrypt the image using the first public key associated with the digital storage to obtain a first encrypted image;
- store the first encrypted image on the first private linear sequence storing image operations;
- receive a request to share the first encrypted image with a second public key associated with a second user,
- wherein the second public key is different from the first public key;
- determine whether the second public key has permission to access the first encrypted image;
- upon determining that the second public key has the permission to access the first encrypted image, decrypt the first encrypted image using a first private key to obtain a decrypted image;
- send a request for permission to create a common workspace;
- receive the permission to create the common workspace;
- upon receiving the permission to create the common workspace, create a third private key and a third public key;
- share the third private key and the third public key with the first user and the second user;
- encrypt the decrypted image using the third public key to obtain a third encrypted image;
- and
- store the third encrypted image in a common workspace including a third private linear sequence storing image operations associated with the third public key,
- wherein the third private linear sequence is configured to receive an indication of an image edit to be performed on the third encrypted image;
- wherein the third private linear sequence is configured to perform the image edit to the third encrypted image;
- and
- wherein the third private linear sequence is configured to store the image edit as a second block in the third private linear sequence storing image operations,
- wherein the second block in the third private linear sequence storing image operations is accessible to both the first user and the second user.
20 more elements
A method comprising:
- enable secure sharing between multiple blockchains including:
- creating a digital storage associated with a first public key associated with a first user,
- wherein the digital storage is associated with a first private linear sequence storing file operations,
- wherein the first private linear sequence storing file operations encrypts a content of a block that is part of the first private linear sequence storing file operations;
- obtaining a file;
- encrypting the file using the first public key associated with the digital storage to obtain a first encrypted file;
- storing the first encrypted file on the first private linear sequence storing file operations;
- receiving a request to share the first encrypted file with a second public key associated with a second user,
- wherein the second public key is different from the first public key;
- determining whether the second public key has permission to access the first encrypted file;
- upon determining that the second public key has the permission to access the first encrypted file, decrypting the first encrypted file using a first private key to obtain a decrypted file;
- sending a request for permission to create a common workspace;
- receiving the permission to create the common workspace;
- upon receiving the permission to create the common workspace, creating a third private key and a third public key;
- sharing the third private key and the third public key with the first user and the second user;
- encrypting the decrypted file using the third public key to obtain a third encrypted file;
- and
- storing the third encrypted file in a common workspace including a third private linear sequence storing file operations associated with the third public key,
- wherein the third private linear sequence is configured to receive an indication of an file edit to be performed on the third encrypted file;
- wherein the third private linear sequence is configured to perform the file edit to the third encrypted file;
- and
- wherein the third private linear sequence is configured to store the file edit as a second block in the third private linear sequence storing file operations,
- wherein the second block in the third private linear sequence storing file operations is accessible to both the first user and the second user.
20 more elements
A system comprising:
- at least one hardware processor;
- and
- at least one non-transitory memory storing instructions, which, when executed by the at least one hardware processor, cause the system to enable secure sharing between multiple blockchains including:
- obtain a first public key associated with a first private linear sequence storing file operations
- wherein the first private linear sequence storing file operations encrypts a content of a block that is part of the first private linear sequence storing file operations;
- obtain a file;
- encrypt the file using the first public key to obtain a first encrypted file;
- store the first encrypted file on the first private linear sequence storing file operations;
- receive a request to share the first encrypted file with a second public key,
- wherein the second public key is different from the first public key;
- determine whether the second public key has permission to access the first encrypted file;
- upon determining that the second public key has the permission to access the first encrypted file, decrypt the first encrypted file using a first private key to obtain a decrypted file;
- send a request for permission to create a common workspace;
- receive a permission to create the common workspace;
- upon receiving the permission to create the common workspace, create a third private key and a third public key;
- share the third private key and the third public key with a first user associated with the first public key and a second user associated with the second public key;
- encrypt the decrypted file using the third public key to obtain a third encrypted file;
- and
- store the third encrypted file in a common workspace including a third private linear sequence storing file operations associated with the third public key,
- wherein the third private linear sequence is configured to receive an indication of a file edit to be performed on the third encrypted file;
- wherein the third private linear sequence is configured to perform the file edit to the third encrypted file;
- and
- wherein the third private linear sequence is configured to store the file edit as a second block in the third private linear sequence storing file operations,
- wherein the second block in the third private linear sequence storing file operations is accessible to both the first user and the second user.
21 more elements
Dependencies are inferred from the claim text.