6 CONCLUSION
UPSS: the user-centric private sharing system pro-
vides data availability, strong confidentiality and in-
tegrity properties while relying only on untrusted
backend storage (local or remote). Data is encrypted
at rest, named cryptographically and store within a
content-addressable sea of blocks, so no file or direc-
tory structure can be discerned directly from the con-
tents of an encrypted block store. Cryptographic ca-
pabilities are used to authorize access to arbitrarily-
sized DAGs of files and directories without cen-
tralized access control. Convergent encryption en-
ables data de-duplication for large files among even
mutually-distrustful users while avoiding the com-
mon pitfalls of the technique for small, low-entropy
files.
UPSS wraps copy-on-write operations with a con-
ventional filesystem API, accessible directly as a li-
brary or proxied via a FUSE interface. Although
UPSS-FUSE’s performance is lower than that of di-
rect API usage, it exceeds that of comparable cryp-
tographic filesystems and is within an order of mag-
nitude of that of the mature copy-on-write filesys-
tem ZFS. When using remote storage, UPSS’s per-
formance exceeds that of UtahFS, Google’s Perkeep
and even, for some benchmarks, unencrypted NFS.
UPSS demonstrates that it is possible to achieve
both strong security properties and high performance,
backed by untrusted local, remote or global stor-
age. UPSS’s performance is comparable to — or, in
some cases, superior to — mature, heavily-optimized
filesystems. Adoption of UPSS will lay the founda-
tion for future transformations in privacy and integrity
for applications as diverse as social networking and
medical data storage, providing better opportunities
for users — not system administrators — to take con-
trol of their data.
REFERENCES
(2016). Filebench - A model based filesystem workload
generator. https://github.com/filebench/filebench.
(2019). FUSE (Filesystem in Userspace). https://github.
com/libfuse/libfuse/releases/tag/fuse-3.9.0.
(2020a). UtahFS. https://github.com/cloudflare/utahfs/
releases/tag/v1.0.
(2020b). UtahFS: Encrypted File Storage. https://blog.
cloudflare.com/utahfs.
Adya, A., Bolosky, W. J., Castro, M., Cermak, G., Chaiken,
R., Douceur, J. R., Howell, J., Lorch, J. R., Theimer,
M., and Wattenhofer, R. P. (2002). FARSITE: Fed-
erated, available, and reliable storage for an incom-
pletely trusted environment. ACM SIGOPS Operating
Systems Review, 36(SI):1–14.
Agarwala, A., Singh, P., and Atrey, P. K. (2017). DICE:
A dual integrity convergent encryption protocol for
client side secure data deduplication. In 2017 IEEE
International Conference on Systems, Man, and Cy-
bernetics (SMC), pages 2176–2181. IEEE.
Amazon Web Services, Inc. ((Accessed on February
28, 2020)). Amazon Simple Storage Service.
”https://aws.amazon.com/s3”.
Asklund, U., Bendix, L., Christensen, H. B., and Magnus-
son, B. (1999). The unified extensional versioning
model. In System Configuration Management, pages
100–122, Berlin, Heidelberg. Springer Berlin Heidel-
berg.
Baker, M. G., Hartman, J. H., Kupfer, M. D., Shirriff, K. W.,
and Ousterhout, J. K. (1991). Measurements of a dis-
tributed file system. In Proceedings of the thirteenth
ACM Symposium on Operating Systems Principles,
pages 198–212.
Benet, J. (2014). IPFS: content addressed, versioned, P2P
file system. arXiv preprint arXiv:1407.3561.
Bessani, A., Correia, M., Quaresma, B., Andr
´
e, F., and
Sousa, P. (2013). DepSky: dependable and secure
storage in a cloud-of-clouds. ACM Transactions on
Storage (TOS), 9(4):1–33.
Bonwick, J., Ahrens, M., Henson, V., Maybee, M., and
Shellenbaum, M. (2003). The Zettabyte file system.
In Proc. of the 2nd Usenix Conference on File and
Storage Technologies, volume 215.
Bozorgi, A. (2020). From online social network analysis
to a user-centric private sharing system. PhD thesis,
Memorial University of Newfoundland.
Bozorgi, A., Jadidi, M. S., and Anderson, J. (2019). Chal-
lenges in Designing a Distributed Cryptographic File
System. In Cambridge International Workshop on Se-
curity Protocols, pages 177–192. Springer.
Catuogno, L., L
¨
ohr, H., Winandy, M., and Sadeghi, A.-R.
(2014). A trusted versioning file system for passive
mobile storage devices. Journal of Network and Com-
puter Applications, 38:65–75.
Dabek, F., Kaashoek, M. F., Karger, D., Morris, R., and
Stoica, I. (2001). Wide-area cooperative storage with
CFS. In ACM SIGOPS Operating Systems Review,
volume 35, pages 202–215. ACM.
Dennis, J. B. and Van Horn, E. C. (1966). Programming
semantics for multiprogrammed computations. Com-
munications of the ACM, 9(3):143–155.
Douceur, J. R., Adya, A., Bolosky, W. J., Simon, P., and
Theimer, M. (2002). Reclaiming space from dupli-
cate files in a serverless distributed file system. In Pro-
ceedings of the 22nd International Conference on Dis-
tributed Computing Systems, pages 617–624. IEEE.
Dworkin, M. (2015). SHA-3 Standard: Permutation-Based
Hash and Extendable-Output Functions. Federal Inf.
Process. Stds. (NIST FIPS), National Institute of Stan-
dards and Technology.
Dworkin, M. J., Barker, E. B., Nechvatal, J. R., Foti, J.,
Bassham, L. E., Roback, E., and Jr., J. F. D. (2001).
Advanced Encryption Standard (AES). Federal Inf.
ICISSP 2024 - 10th International Conference on Information Systems Security and Privacy
670