should provide its codes before verification along with
the hashed password. These codes would be validated
during verification. If extra actions from the server
are required for MFA, they have to be performed after
verification succeeds but before any further actions
are carried out. Additional server actions and MFA
value validation should be in constant time and look
the same even when the user has no MFA or does not
exist in order to prevent side-channels attacks.
7 CONCLUSIONS
This paper introduces Clipaha, an scheme for server
relief. Clipaha allows using modern password hash-
ing functions with high security parameters even on
resource constrained IoT devices by moving the com-
putation away from them and into the client.
We test Cliapaha’s performance, security, and
readiness to be deployed. We specify and analyze
the security of eight authentication-related scenarios
which leverage this scheme and publicly release an
implementation
1
.
From the security analysis, we conclude that Cli-
paha is a key solution to help build more secure authen-
tication systems since it is resistant to salt collisions
and user enumeration attacks as opposed to prior work.
The deployability tests show that Clipaha is ready
to be used for web-based authentication. Clipaha’s
server-side is lightweight enough to work even on an
ESP8266 with only
80 KiB
of RAM. The benchmarks
show that client-side, Clipaha performs over two times
faster than the closest baseline: libsodium.js. Also,
thanks to Clipaha’s four security levels and the bench-
marks we have performed, developers can balance
between security and running Clipaha on most devices
from the last five years while addressing any compati-
bility issues caused by their technical limitations.
In conclusion, Clipaha has the potential to im-
pact embedded systems like SoHo network appliances
and IoT gateways which are resource constrained and
rarely require flows more complex than registration
(during provisioning) and authentication.
ACKNOWLEDGEMENTS
This paper and most of the artifacts associated with
it have been developed as part of the the Resilient
IoT project and under a grant from The Swedish Civil
Contingencies Agency (MSB).
The first author would like to acknowledge the
feedback received from Vicent Nos and Ignacio
Bedoya during his tenure as CISO for Lescovex when
the ideas behind this paper started taking shape. The
first author also would like to acknowledge the co-
founders of Garmer Technologies OÜ for believing
that his research could have commercial use.
Finally, the authors would like to acknowledge the
benchmark data contributions from some members
of the Networks and Systems unit at Chalmers and
some individual members. The authors would like to
specially thank the contributions from Carlo Brunetta
(benchmarks on most Apple devices) and Elaine Mon-
teagudo Sánchez (benchmarks on most browsers using
her Xiaomi Redmi Note 8T and her Core i7-8750H
laptop).
REFERENCES
Alwen, J. and Blocki, J. (2017). Towards practical attacks
on argon2i and balloon hashing. In EuroS&P.
Andrade, E. R., Simplicio, M. A., Barreto, P. S., and dos
Santos, P. C. (2016). Lyra2: Efficient password hashing
with high security against Time-Memory Trade-Offs.
IEEE Transactions on Computers, 65(10).
Aumasson, J.-P. et al. (2013). Password hashing competition
(phc).
Bai, W. and Blocki, J. (2021). Dahash: Distribution aware
tuning of password hashing costs. In FC.
Bauman, E., Lu, Y., and Lin, Z. (2015). Half a century of
practice: Who is still storing plaintext passwords? In
ISPEC.
Bernstein, D. J. and Lange, T. (2013). Non-uniform cracks
in the concrete: The power of free precomputation. In
ASIACRYPT.
Biryukov, A., Dinu, D., and Khovratovich, D. (2016). Ar-
gon2: New generation of memory-hard functions for
password hashing and other applications. In EuroS&P.
Biryukov, A., Dinu, D., and Khovratovich, D. (2017). Ar-
gon2: the memory-hard function for password hashing
and other applications. Technical report, Password
Hashing Competition.
Blanchard, E., Coquand, X., and Selker, T. (2019). Moving
to client-side hashing for online authentication. In
STAST.
Corbató, F. J. (1963). The Compatible Time-Sharing System:
A Programmer’s Guide. The MIT Press.
Denis, F. (2019). Libsodium documentation: Password hash-
ing.
Denis, F. et al. (2020). libsodium.js: README.
Eliasen, M. (2019). Developers, its 2019, hash passwords
accordingly.
Espressif Systems (2020). ESP8266EX datasheet. Datasheet,
Espressif Systems.
Haas, A., Rossberg, A., Schuff, D. L., Titzer, B. L., Holman,
M., Gohman, D., Wagner, L., Zakai, A., and Bastien, J.
(2017). Bringing the web up to speed with WebAssem-
bly. In PLDI.
ICISSP 2023 - 9th International Conference on Information Systems Security and Privacy
68