5 ms·
Exactly what I was going to say with 1 & 2. Your point #3 is arguable. It's more secure to encrypt a block than files, but it's not always nearly as convenient.
by mcdoug 12y ago
Exactly what I was going to say with 1 & 2. Your point #3 is arguable. It's more secure to encrypt a block than files, but it's not always nearly as convenient. You wouldn't want to sync a multi GB block to S3 every time it changes. You have to encrypt filenames, and pad the files, but file-level encryption has its uses.
- ryan-c 12y agoKnowing the approximate file sizes and number of files in a directory, especially with further context of overall directory structure can allow someone to guess what the content is with high probability if the files are "well known". Consider a directory containing pirated episodes of a tv show, organized with a subdirectory per season. "Scene releases" tend to have one a few possible approximate file sizes, and depending on how much padding, it may be enough information to identify a set of files as all being scene releases of the same show. Many other examples like this - anything "popular" that's will have a fingerprint of extracted file sizes.
- StavrosK 12y agoBlock encryption methods like XTS have their fair share of problems too: http://sockpuppet.org/blog/2014/04/30/you-dont-want-xts/ http://sockpuppet.org/blog/2014/04/30/you-dont-want-xts/
- EmanueleAina 12y agoYou can also encrypt N files yielding M > N blocks, to avoid much of the issues you described while still avoiding the one-large-blob concern.
- ryan-c 12y agoM - N must be "large enough" and must be unpredictable, though. It might need to be pretty big.