tion 6, we have identified that, in most cases, the
implemented solution has achieved superior perfor-
mance compared to the original application for both
data read and write. The increase in performance can
be attributed to the fact that the encryption process
was carried out directly by the processor, while in
the original application it was run through the Java
Virtual Machine. When comparing the solution with
the multithreading solutions, we have identified that
the implemented solution and the original applica-
tion have much lower performance on high perfor-
mance media, indicating a limitation on the part of
the project implementation.
Considering the security guarantees provided by
Intel SGX technology, which are described in Sec-
tion 2.3, the developed solution offers an extra level
of security by sealing the data using the sealing key
in conjunction with the user’s password to open the
containers. Thus, in an attack on the encrypted data,
the attacker will need to discover the user’s password,
and also the sealing key or gain physical access to the
processor used for sealing.
In order to avoid that a user’s password can be ob-
tained in a memory attack, it is necessary to change
the software so that the password is stored inside the
enclave and does not leave its limits. Just as it was
possible to seal user file data using Intel SGX technol-
ogy, it can also seal configuration data. Such change
requires adjustments to the structure of the CryptoFS
library and may remove compatibility with the main
project, and it will be the subject of future work.
Also, it is possible to use a similar approach to
(Richter et al., 2016), encrypting the data within the
boundaries of the enclave, but using a derived key
from an user password, and manipulating that key
only within the enclave. Such approach makes the
data decryption independent of the processor that
encrypted them. Also, the current solution can be
changed to use the remote attestation feature and al-
low container data transfer between two machines
running the application over secure channels.
Finally, better performance can be achieved by
using all processing cores available on the platform.
Such implementation demands a change in the main
structure of the application, which treats the requests
coming from the operating system, being necessary to
add the use of queues and parallel processing, thus al-
lowing one block to be processed by the enclave while
another is read or written to the storage device.
The source code of the presented solution
is available at https://github.com/utfpr-gprsc/
cryptomator-sgx.
REFERENCES
Ahmad, A., Kim, K., Sarfaraz, M. I., and Lee, B. (2018).
Obliviate: A data oblivious file system for Intel SGX.
In Proceedings of the 25th Network and Distributed
System Security Symposium, San Diego, CA, USA. In-
ternet Society.
Anati, I., Gueron, S., Johnson, S., and Scarlata, V. (2013).
Innovative technology for CPU based attestation and
sealing. In Proceedings of the 2nd International Work-
shop on Hardware and Architectural Support for Se-
curity and Privacy, Tel-Aviv, Israel. ACM.
Aumasson, J.-P. and Merino, L. (2016). SGX secure en-
claves in practice: Security and crypto review. In Pro-
ceedings of the Black Hat, Las Vegas, NV, USA. Black
Hat.
Bossi, S. and Visconti, A. (2015). What users should
know about full disk encryption based on LUKS. In
Proceedings of the 14th International Conference on
Cryptology and Network Security, Marrakesh, Mo-
rocco. Springer.
Branscombe, M. (2015). Has microsoft been looking at user
files to find the 75tb onedrive hoarders?
Brasser, F., M
¨
uller, U., Dmitrienko, A., Kostiainen, K.,
Capkun, S., and Sadeghi, A.-R. (2017). Software
Grand Exposure: SGX cache attacks are practical. In
Proceedings of the 11th USENIX Workshop on Offen-
sive Technologies, Vancouver, BC, Canada. USENIX.
Broz, M. (2015). DMCrypt.
https://gitlab.com/cryptsetup/cryptsetup/-
/wikis/DMCrypt.
Burihabwa, D., Felber, P., Mercier, H., and Schiavoni, V.
(2018). SGX-FS: Hardening a file system in user-
space with Intel SGX. In Proceedings of the 10th
IEEE International Conference on Cloud Computing
Technology and Science, Nicosia, Cyprus. IEEE.
CentOS (2019). CentOS Project. https://www.centos.org/.
Chen, F., Xiang, T., Yang, Y., and Chow, S. S. (2016). Se-
cure cloud storage meets with secure network coding.
IEEE Transactions on Computers, 65(6).
Chen, G., Chen, S., Xiao, Y., Zhang, Y., Lin, Z., and Lai,
T. H. (2019). SgxPectre: Stealing Intel secrets from
SGX enclaves via speculative execution. In Proceed-
ings of the 4th IEEE European Symposium on Security
and Privacy, Stockholm, Sweden. IEEE.
Chen, G., Wang, W., Chen, T., Chen, S., Zhang, Y., Wang,
X., Lai, T.-H., and Lin, D. (2018). Racing in hyper-
space: Closing hyper-threading side channels on SGX
with contrived data races. In Proceedings of the 39th
IEEE Symposium on Security and Privacy, San Fran-
cisco, CA, USA. IEEE.
Clover, J. (2017). Hackers using icloud’s find my iphone
feature to remotely lock macs and demand ransom
payments.
Cox, J. (2016). Hackers stole account details for over 60
million dropbox users.
Crocker, P. and Querido, P. (2015). Two factor encryption
in cloud storage providers using hardware tokens. In
Proc. of the Globecom Workshops, San Diego, CA,
USA. IEEE.
CLOSER 2020 - 10th International Conference on Cloud Computing and Services Science
42