Key Words: File systems, Steganography, Encrypted Communications, RAID, Information Hiding, Intelligence, Instagram, flickr Original can be found at:
I listened on a conference to a brief presentation about steganography and just after it presentation of data publicity and accessibility in modern social networks. I came with idea to create steganography file system for storing any kind of information. As I am NOT a SPECIALIST in this area, I only create this presentation and if in the future I will be able to critically analyze it, so it will be tested or implemented or whatever.
Please, feel free to use this as raw ideas, or plan or whatever. If you find mistakes, write to me; if you like, please, also tell me.
Steganography is the art and science of encoding hidden messages in such a way that no one, apart from the sender and intended recipient, suspects the existence of the message. For example, the hidden message may be in invisible ink between the visible lines of a private letter. (R)Wikipedia
Image of a tree with a steganographically hidden image. The hidden image is revealed by removing all but the two least significant bits of each color component and a subsequent normalization. The hidden image is shown right. Image of a cat extracted from the tree image above.
With steganography you can put any kind of message and make carrier public. There are many techniques, but lets focus on pictures. I chose pictures because: There are lots of pictures There are lots of new pictures You can make picture public It’s hard to detect anomalies that somebody accessing pictures as it’s common There are techniques for writing on pictures Pictures are easily got (from the internet), modified and are heavy, i.e. you can put hell a lot of data to them without overloading and making them suspicious.
Briefly, I suppose that flickr.com is the site that can be used as: Stores many pictures You can make picture public It has API to manipulate with images, especially getting required image Images has big resolution
It should be able to carry big files It should be able to carry several files It should be able to carry encrypted files (double protection) It should be accessible anytime (imagine if server with picture fail)
I am thinking of using Unix file structure to create a list of linked images (shown on picture below). Number of levels depend on the file system size and storage capacity of each picture. Multiple links preserve system from image non loading due to server failure.
I plan each element to be either node or leaf. Nodes has links to other pictures (nodes or leaves). Nodes store information about ID, list of child IDs and other relevant data. They CANNOT store data themself. Leaves are final elements and they store data. They cannot have links. Nodes can be of any size, but final leaves are preferred to be same to each other. Number of links to same element is determined by how often is node inaccessible. I think of 3-4.
As our final goal is getting leaves, we need first to get all nodes, find ID’s of all leaves and get all leaves that can be accessible. (Though it is possible only to get required leaves and stop loop). If the element is missing, so it is left non filled.
The solution to make file system accessible even if it’s elements fail (e.g. deleted) is RAID. Let’s assume RAID 15 (RAID 5 on mirrors) where pictures act as drives. As mirroring requires “same drives”, so we will need similar pictures. You can build mirror on more than 2 pictures to increase fault tolerance
The space of RAID 5 array can be used as it is, or some extra data encryption can be added. Space is used as fix array of char. Additional file system can be organized inside to store folders and files with parameters, extensions, access rights
If pictures from the internet are used, so simple comparison of original and new picture will show difference. To eliminate this, some new pictures are needed. There are no possibilities of writing, only updating images or creating new one. Do not forget about possibility of tracking due to camera matrix unique characteristics. Search web for this research. Do not forget IP or other tracking by web server itself.
Writing Reading