You are on page 1of 10

IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL.

16, 2021 4801

Password-Authenticated Decentralized Identities


Pawel Szalachowski

Abstract— Password-authenticated identities, where users need of creating a new identity. Although convenient for users,
establish username-password pairs with individual servers and such identities have significant limitations. Most importantly,
use them later on for authentication, is the most widespread they are controlled by their providers (i.e., the servers that
user authentication method over the Internet. Although they are
simple, user-friendly, and broadly adopted, they offer insecure have registered them). Thus, a user who should be an owner
authentication and position server operators as trusted parties, of its identity has to trust that the server operator manages (and
giving them full control over users’ identities. To mitigate these will manage) the identity appropriately. Moreover, systems like
limitations, many identity systems have embraced public-key OpenID, allow identity providers to undermine users’ privacy
cryptography and the concept of decentralization. All these sys- by learning which websites and when users are connecting to.
tems; however, require users to create and manage public-private
keypairs. Unfortunately, users usually do not have the required Finally, the currently dominating password-based authentica-
knowledge and resources to properly handle cryptographic tion method requires users to send their passwords in plaintext,
secrets, which arguably contributed to the failures of many making them prone to various attacks.
end-user public-key infrastructures (PKIs). In fact, as of today, To provide better security guarantees and enable new
no end-user PKI, able to authenticate users to web servers, has applications (like signatures), public-key infrastructures (PKIs)
a significant adoption rate. In this paper, we propose Password-
authenticated Decentralized Identities (PDIDs), an identity and were introduces, where trusted authorities verify identities
authentication framework where users can register their self- and assert bindings between them and their public keys
sovereign username-password pairs and use them as universal in digital certificates [4]. Identities in these systems are
credentials. Our system provides a global namespace, human- human-meaningful and global (usually based upon DNS), but
meaningful usernames, and resilience against username collision their security relies on a set of globally trusted authorities
attacks. A user’s identity can be used to authenticate the user
to any server without revealing that server anything about the and the security of the namespace they express identities in
password, such that no offline dictionary attacks are possible (i.e., DNS). In past, we have witnessed multiple attacks on
against the password. We analyze PDIDs and implement it authorities that resulted in impersonation attacks on high-
using existing infrastructures and tools. We report on our profile websites [5], where a trusted authority could easily
implementation and evaluation. ‘collide’ an identity by simply creating a new certificate.
Index Terms— Decentralized identity, blockchain, smart To eliminate globally trusted authorities, the idea of dis-
contract. tributed PKIs was presented [6]. In so called, web-of-trust
I. I NTRODUCTION PKIs [7] users create peer-to-peer trust assertions and make
trust decisions basing on them. An important disadvantage
P ASSWORDS have a particularly long history as a means
of authenticating users to computer systems [1]. Despite
their inherent limitations and drawbacks, they are surprisingly
of distributed PKIs is that they either still rely on DNS or
express identities in local namespaces, thus cannot be used uni-
versally. Self-certifying identifiers [8] propose names that are
robust to any techniques that try to disrupt them [2]. User
cryptographically-derived from public keys. Such a namespace
identities are usually expressed as user-selected usernames
is global and secure, but generated names are pseudorandom,
and are authenticated with passwords. Usernames and their
thus it is difficult to memorize and use them by human
corresponding password-related information are shared with a
beings. The limitations of these systems led to an observation,
server upon registration. Then to authenticate, a user sends its
referred to as Zooko’s trilemma [9], and a related informal
username-password pair to the server which checks whether
conjecture that no naming system can simultaneously provide
the pair matches the registered record. Such identities are
human-meaningful, global, and secure names. Although nam-
local (to the server), but single sign-on systems, such as
ing systems built upon blockchain platforms [10], [11] seem
OpenID [3], extend them allowing a registered identity to be
to refute this conjecture, they require to associate names with
reused ‘globally’ for authenticating to other servers without a
public keys. Thus, similar to other PKIs, they rather target
Manuscript received December 3, 2020; revised March 14, 2021 and servers that, unlike end-users, are capable to manage their
May 28, 2021; accepted September 15, 2021. Date of publication Septem- cryptographic keys.
ber 29, 2021; date of current version October 19, 2021. This work was sup-
ported in part by A*STAR under its RIE2020 Advanced Manufacturing and In this work, we make the following contributions. We pro-
Engineering (AME) Programmatic Program under Award A19E3b0099 and pose Password-authenticated Decentralized Identities (PDID),
in part by the Ministry of Education (MOE), Singapore, under its MOE a system that removes the above limitations. Up to our best
AcRF Tier 2 under Grant MOE2018-T2-1-111. The associate editor coor-
dinating the review of this manuscript and approving it for publication was knowledge, it is the first identity and authentication framework
Prof. Nele Mentens. which allows users to establish human-meaningful and global
The author is with Information Systems Technology and Design Pillar, password-authenticated identities that are also resilient to
Singapore University of Technology and Design, Singapore 487372 (e-mail:
pjszal@gmail.com). collision attacks. We instantiate PDIDs with a combination
Digital Object Identifier 10.1109/TIFS.2021.3116429 of a blockchain platform offering confidential smart contracts
1556-6021 © 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See https://www.ieee.org/publications/rights/index.html for more information.

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
4802 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 16, 2021

and a modified password-authenticate key exchange protocol Merritt [12] proposed the first password-authenticated key
allowing users to use their passwords for authentication. exchange (PAKE) protocol, where two parties can securely
We present PDIDs in the client-server setting, where a user establish a high-entropy secret key from the memorable pass-
authenticates to the server with its username-password pair, but word they share (with an already establish secret key, the
the scheme can be extended to other models and applications. user can easily authenticate to the server). Since then, there
We discuss the security of our framework and present its have been proposed multiple PAKE protocols with various
implementation and evaluation which indicate the feasibility efficiency and security properties; however, most of them
of our protocol (the most common operation requires around require either to send salt in plaintext (facilitating offline pre-
20 ms plus network latency). computation attacks) or to store effective passwords by servers
(allowing adversaries to instantly compromise all passwords
II. BACKGROUND AND P RELIMINARIES after the server’s compromise). Only recently, Jarecki et al.
A. Notation and Cryptography proposed OPAQUE [13], a PAKE protocol that removes
these issues and introduces low transmission and computation
Throughout the paper we use the following notation
overheads. OPAQUE bases on the oblivious pseudorandom
• G denotes a finite cyclic group of order q with a generator
function (OPRF) defined as
g ∈ G;
R Fk (m) = H(m, (H (m))k ). (1)
• r ← − S denotes that r is an element randomly selected
from the set S; To register, a user sends to the server its username-password
• fk (m) is a keyed-pseudorandom function that for key k pair U, pwd. The server, after receiving the request, com-
and message m outputs a pseudorandom string from R R
putes the following ks ← − Z q ; k ← Fks ( pwd); ps ← −
{0, 1}n ; R
Z q ; Ps ← g ps ; pu ← − Z q ; Pu ← g pu ; c ←
• H(m) and H (m) are cryptographic hash functions that
AEnck ( pu , Pu , Ps ); and saves ks , ps , Ps , Pu , c as the pass-
for message m output values from {0, 1}n and G,
word metadata corresponding to the username U . After the
respectively;
registration is complete, the user can use its credentials to
• AEnck (m) is an encryption algorithm of an authenticated
authenticate to the server. In order to do so, the user computes
encryption scheme, that for key k and message m outputs R
the corresponding ciphertext c; r ← − Z q ; α ← (H ( pwd))r ; x u ← Z q ; X u ← g xu ; and
• ADeck (c) is the corresponding decryption algorithm, sends U, α, X u to the server. Upon receiving this message,
R
decrypting the message m from the ciphertext c given the server computes x s ← − Z q ; X s ← g xs ; β ← α ks ;
the key k, or failing with incorrect input; and sends β, X s , c back to the user who then computes
• Gen() is a public-key generation algorithm, returning a k ← H( pwd, β 1/r );  pu , Pu , Ps  ← ADeck (c). Now, the user
private-public keypair sk, pk; (with pu , x u , Ps , X s ), and the server (with ps , x s , Pu , X u ) can
• PEnc pk (m) is a public-key encryption algorithm, that run a key exchange protocol, like HMQV [14], to establish a
produces ciphertext c for the given public key pk and shared key.
message m;
• PDecsk (c) is the corresponding public-key decryption C. Confidential Smart Contracts
algorithm, recovering the message m given the cipher- Blockchain platforms, initiated by Bitcoin [15], combine
text c and the corresponding secret key sk, or failing with append-only cryptographic data structures with a distributed
incorrect input. consensus algorithm. They allow to build highly-available,
censorship-resistant, transparent, and verifiable systems mini-
B. Password Authentication mizing trust in third parties. Initially, proposed for peer-to-peer
Password-based authentication on the Internet is dominated payments, blockchain platforms were subsequently enriched
by the following method (or its slight modification): by smart contracts, which allow anyone to deploy code with
any (implementable) logic and interact with this code over
• Registration. The user registers its identity by providing,
the blockchain platform. However, the transparency of those
via a secure channel, a username U and a password pwd
R systems can also be seen as an important disadvantage for
to the server. The server selects a random salt s ←
− {0, 1}n privacy-demanding applications and users. It also turned out
and stores the mapping U : s, H(s, pwd). that designing a platform for confidential smart contracts
• Authentication. To authenticate the user sends its turned out to be a more challenging task. Only recently
username-password pair U, pwd   to the server, which we have witnessed some promising proposals providing con-
?
identifies the mapping, and checks if H(s, pwd  ) = fidentiality in smart contracts via cryptographic tools (like
H(s, pwd). commitments, multi-party computation, or zero-knowledge
Despite its popularity and wide-spread adoption, this proto- computation integrity proofs). Unfortunately, as of today,
col has a major flaw since in every authentication the password these platforms introduce significant efficiency bottlenecks,
is sent in plaintext. This limitation requires a secure channel effectively prohibiting the deployment of sophisticated smart
between the parties for each authentication, but even then, contracts.
it makes passwords vulnerable to multiple attack vectors (like Blockchain platforms that leverage a trusted execution envi-
server-side malware). To address this limitation, Bellovin and ronment (TEE) are solutions with a more practical focus.

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
SZALACHOWSKI: PDIDs 4803

The TEE technology, usually realized with Intel SGX, a) (Collision-)Secure Names: identities cannot be imper-
allows to run code within secure enclaves which cannot be sonated by forging identifiers (e.g., by hijacking or creat-
compromised even by the system operator, b) facilitate remote ing a new identity with the same identifier). In practice,
attestation, able to prove which enclave code is running on a this property requires that there is no trusted author-
remote machine, and c) offer sealing which enables enclaves ity(ies) privileged to manage identities. For instance,
to encrypt their secret data and to deposit it on untrusted in authority-based PKIs, an authority can simply imper-
storage This toolset allowed to provide high-performant and sonate an identity by creating a malicious certificate
confidential smart contracts, where contracts, their data, claiming the same identifier, while in OpenID the
and all transactions are confidential, despite being ordered, identity provider can freely modify or use stored user
validated, and recorded on a public ledger. For instance, records.
Brandenburger et al. [16] extend Hyperledger Fabric [17] by Memorable Secrets: users can use memorable secrets
confidential smart contracts. Their architecture distinguishes (i.e., passwords) for authenticating their identities. This
two types of enclaves: one responsible for verifying the property is desired due to the popularity and advantages
blockchain state integrity, and another for executing actual of passwords in user authentication. It also enables to
smart contracts confidentially. Nodes can join the system design an identity system which is seamless to end-users.
via remote attestation and signing up to a special enclave Secure Authentication: the user authentication process
registry. For each created smart contract, a dedicated keypair does not reveal, even to the verifying server, the user’s
is generated and published. This keypair is used to protect the password or any information allowing to run offline
contract and uniquely identify it. dictionary attacks against the password.
Due to practical reasons, we instantiate PDIDs with a The first three properties constitute Zooko’s trilemma.
platform that bases on the TEE assumption; however, with the Although some PKI systems refute the trilemma, they operate
continuing progress of platforms basing upon cryptographic on public-private keypairs. This may be acceptable for servers
assumptions, we do not see major obstacles in implementing able to manage their keys and certificates, but it may be
PDIDs with such a platform. We assume that the platform too demanding for users who prefer to authenticate using
exposes public keys (e.g., as described previously) which username-password pairs. Therefore, we introduce the fourth
allow users to interact with platform contracts confidentially, requirement on memorable secrets which also allows to avoid
by sending encrypted transactions. We do not assume a specific user-side changes. In addition to secure authentication, we also
consensus protocol, but we require that the platform allows to require that the system is efficient (i.e., does not introduce
generate inclusion proofs for appended transactions. prohibitive overheads), and keeps the users’ privacy on the
same (or a similar) level as in today’s authentication.
We assume an adversary whose goal is to authenticate
III. T HE PDID F RAMEWORK
on behalf of the user or to learn the user’s password.
A. Problem Formulation We assume that the adversary cannot compromise users’
passwords, the used cryptographic primitives and protocols,
Our goal is to propose a user identity and authentica-
and the deployed blockchain platform. The adversary can
tion framework. Although we present our system in the
compromise a server to which the user authenticates, and in
client-server model where only users are authenticated, it can
this case, the adversary aims to attack the user’s password.
be adjusted to other models and authentication scenarios
We require that the system not only protects from revealing
(e.g., mutual authentication). We introduce the following par-
users’ passwords but in particular, should not reveal to the
ties. User is a human being that wishes to use a service that
adversary any information which would enable her to run
requires authentication. The user inputs the service name S,
offline attacks on passwords. We require that the smart contract
as well as its username and password credentials U, pwd,
execution and the consensus protocol are secure, although we
used for his authentication. The user operates its client soft-
assume that the adversary can compromise up to a tolerable
ware to execute the actual authentication protocol. Server
number of blockchain nodes (e.g., up to 1/3 of all nodes in
represents the service the user wants to use and which requires
Byzantine consensus). We assume that the adversary operating
authentication. The server participates in the authentication
such a compromised node may be interested in attacking the
protocol and aims to verify the user’s credentials (i.e., whether
system properties (e.g., attempting to run offline attacks). Side
the user is an owner of the identity he claims). We assume that
channel attacks, like timing, power, or cache attacks, are out
the protocol parties have access to a blockchain platform with
of the scope of our adversary model.
confidential smart contracts (see § II). For our framework,
we seek the following properties.
B. Intuitions and Design Rationale
Human-Meaningful Names: identifiers are memorable
by human beings, such that users do not any need special To illustrate our design process better, in this section,
infrastructures or devices to remember them. Ideally, we first consider a naive approach to the problem. In this
they are user-selected usernames. protocol, we introduce a trusted and highly available entity
Global Namespace: identifiers resolve to the same iden- called the Global Password Manager (GPM). The GPM is
tity no matter when and where they are being resolved. responsible for handling identity registrations, keeping all
It guarantees that identities can be used universally. username and password pairs, and for assisting servers with

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
4804 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 16, 2021

user authentication requests. To participate in the protocol,


the user selects its username and password and registers this
pair with the GPM, which ensures that the username is unique
and saves the credentials in its database. After the identity
is established, the user can use it for authentication, using
the two-step protocol: a) To authenticate, the user sends its
credentials to a targeted server. b) The server, to verify whether
the credentials are valid, contacts the GPM which checks
and notifies the server whether the username-password pair
is recorded in its database and notifies. Depending on the
outcome, the server either successfully authenticates the user
or terminates the protocol.
With our assumption about the GPM, the protocol satisfies Fig. 1. A high-level overview of the PDID framework.
some of our challenging requirements. With a single trusted
GPM who manages its local credentials database, the protocol
guarantees that identities are global and unique, and kept
private. Moreover, the credentials are universal, since a user
registering once with the GPM, can use its username and
password to authenticate with any server supporting the proto-
col. Unfortunately, such a simple approach has two following
fundamental issues.
Firstly, realizing such a trustworthy centralized GPM would
be difficult in practice. Centralized systems are single points
of failure (in terms of security, privacy, and availability),
Fig. 2. The registration process, where the user inputs its username U and
introduce higher censorship risks, and can be manipulated password pwd, and pkb is the blockchain’s public key.
easier. These limitations make a centralized GPM an unaccept-
able design, especially in the context of universal and global smart contract with the encrypted state which can be accessed
identities. GPM could be implemented using a highly-available and modified only by trusted enclaves. A GPM instance is
infrastructure, like cloud computing, but then the system created before the protocol’s deployment, and on its creation,
would be prone to censorship by the infrastructure’s operator. it is assigned with a unique blockchain’s public-private keypair
Therefore, one of our design decision is to implement the (see § II), denoted as
GPM’s functionality as a confidential smart contract (see § II)  pkb , skb . (2)
executed over a decentralized blockchain platform. In such
a setting, the GPM is replaced by a smart contract, keeping GPM can be created by anyone, as long as its address and
and managing credentials according to the rules specified by code (to potentially audit it) are publicly known and agreed
the code. The system would also benefit from the blockchain upon. When created, GPM does not have to be maintained.
properties, providing verifiability and distributed control (mit- Interactions with the GPM are conducted via transactions
igating censorship), while keeping the state and the execution that are sent to (untrusted) blockchain nodes running (trusted)
of the GPM smart contract confidential. enclaves that execute the GPM’s code. The confidentiality of
Another major drawback of the naive protocol is that the these transactions is protected by public-key encryption using
server learns the user’s credentials. This limitation is quite the public key of the GPM instance (i.e., pkb ), and users
standard in centralized identity systems (where a user and and servers are preloaded with this key. The GPM consists of
server share the user’s effective password). However, with two main methods, for PDID registration and authentication,
universal decentralized identities it is unacceptable since oth- and the user s[] dictionary which maps usernames to their
erwise, only one malicious server could compromise universal password metadata (the dictionary is empty upon the contract
credentials which could be used for authentication to any other creation).
servers. Therefore, our goal is to realize the authentication In the following, we describe the registration and authentica-
process, such that the user can authenticate to any server, but tion procedures. For a simple description, in our protocols and
without revealing to the server any information allowing to pseudocodes, we omit some basic sanity checks like parsing,
learn the password. To realize it, we extend the OPAQUE checking whether received elements belong to the group G,
protocol to the three-party setting, where the protocol is run or decryption failures. We emphasize; however, that if an error
between the user, the server, and the GPM. occurs at one of those, the party should terminate the protocol
in the failure mode.
1) Registration: The registration process is depicted
C. Details in Fig. 2. To register its identity (i.e., PDID), the user first
In Fig. 1, we show a high-level overview of our framework prepares the password metadata which is computed using
instantiated with a TEE-based blockchain platform offering his password pwd. In OPAQUE, the metadata is computed
confidential smart contracts. The GPM is implemented as a as shown in Fig. 2, using OPRF (see Eq. 1), modular

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
SZALACHOWSKI: PDIDs 4805

Fig. 3. The PDID authentication process, where S is the server’s identity.

exponentiations of secret values, and authenticated encryption. claimed identity U , c) the server does not learn pwd or any
The password metadata m is: information enabling to recover it (e.g., via offline dictionary
attacks).
ks , ps , Ps , Pu , c. (3) The last two requirements may seem contradictory since the
server needs to verify the identity without possessing its corre-
Originally, in OPAQUE, this phase is run by an entity sponding password metadata. In the PDID framework, servers
storing the password metadata (the GPM in our case). In the indeed do not store password metadata, which instead is stored
PDID framework, it is generated on the user’s side since only as part of the GPM’s confidential state. Then, to satisfy
a) the process requires a good source of entropy which smart these requirements, we extend the OPAQUE authentication
contracts, being fully deterministic, cannot themself provide, protocol to the three-party setting, where the GPM’s trusted
b) similarly, TEEs able to provide randomness, like Intel SGX, code assists the server in verifying the user’s credentials.
have been demonstrated to do it unreliably [18], and c) in this When abstracting the server and the GPM as a single entity,
setting, only the user knows the password pwd, thus, even they essentially execute the server’s side of the OPAQUE
in the case of a catastrophic attack (like compromised skb ), authentication; however, since the server alone does not have
the adversary learns the only one-way transformation of the any password-related information it has to communicate with
password and not pwd itself, d) the complexity of the GPM’s the GPM. The details of the PDID authentication process are
code is minimized. presented in Fig. 3 and described below.
After the metadata m is created, it is accompanied with the
username U , encrypted under the blockchain public key pkb 1) The user, as in OPAQUE, computes his contributions α
as the ciphertext c̃, and sent to the blockchain platform as and X u to the authenticated key exchange protocol and
a transaction triggering the registration method of the GPM. sends the username U together with α and X u to the
After the transaction is appended to the ledger, a blockchain server.
node, noticing the request, restores the GPM’s code and state, 2) The server first generates its contribution X s = g xs to the
and calls its NewPDID() method. As presented in Fig. 2, key exchange. For similar reasons as in the registration,
the code first ensures that the username U is not registered yet this step is conducted by the server and not by the GPM.
and then assigns the password metadata to the username in the Next, the server computes the session-unique values eu
user s[] dictionary. At this point, the user’s PDID is established and es , which will be used in HMQV. Then the server
and ready for being used in the authentication process. (We generates a keypair  pks , sks  that binds the server-GPM
note that even though the GPM’s state is encrypted, storing communication to the current session (without revealing
the password metadata instead of plain passwords, gives an the server’s identity). Then, the server encrypts (with
additional level of security, since even with a catastrophic pkb ) its transaction containing the user’s input (U , α,
event, like compromised skb or the GPM, the adversary still and X u ), the server’s key exchange contributions (X s ,
needs to run dictionary attacks again every single password.) x s , eu , and es ), as well as its name S and the ephemeral
2) Authentication: After a PDID is registered, the user public key pks . The encrypted transaction c̄ is submitted
should be able to use its credentials. We require that a) the to the blockchain platform.
user is able to use its credentials U, pwd to authenticate to 3) The transaction, after being appended to the ledger,
any server (supporting the scheme), b) the server is able to triggers the GPM’s AuthPDID() method, which is
verify that the user knows the password corresponding to its executed by a blockchain node within its secure enclave

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
4806 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 16, 2021

as follows. (a) First, it calls the TxIncluded(c̄) will inevitably fail, as the enclave code processing it will not
method to ensure that the transaction c̄ is already continue the NewPDID() method (see Fig. 2), after executing
appended in the blockchain (this check is blockchain- the following assertion: assert user s[U ] == ⊥. 
and consensus-specific – see § II). The purpose of this
check is to eliminate offline attacks conducted by a B. Authentication
malicious blockchain node (see Lemma 4 in § IV for
Another stated requirement is the security of the authentica-
more details). (b) Next, the code decrypts the ciphertext
tion process. This section argues that our framework provides
c̄, identifies the user, and restores his password metadata.
secure authentication for PDIDs.
(c) Then, the OPAQUE protocol is continued, comput-
Lemma 1: No adversary can authenticate on behalf of the
ing β from user-provided α and restored ks . (The β
user U without knowing the corresponding password pwd.
values will allow the user to restore the key k which
Sketch: An adversary, without knowing the user’s pass-
was used for encrypting the metadata’s ciphertext c.)
word, can authenticate as the user only if one of the following
(d) OPAQUE’s final phase is to derive a key that will be
occurs 1) the adversary can impersonate the user’s identity
shared between the server and the user. To accomplish
U , registering and authenticating with a new U, pwd   pair,
it, we combine OPAQUE with the method it uses by
2) the adversary can compute a correct session key. As we
default, i.e., the HMQV protocol. Therefore, the GPM
show in Theorem 1, the identities are global and unique,
computes (X u Pueu )xs +es ps and hashes it into a key K .
thus the adversary cannot impersonate the user registering
(e) The AuthPDID() ends its execution by deriving
another username-password pair, contradicting the first option.
(from K ) the shared session key S K , which together
Therefore, the only way to authenticate on behalf of the user
with the values β and c is encrypted under pks as the
is to obtain a correct session key shared with the server. This
ciphertext ĉ and sent back to the server.
option; however, can be eliminated by showing that with our
4) The server decrypts ĉ, saves S K , and passes β, X s , c to
assumptions, the authentication phase can be reduced to the
the user, to enable him to obtain the same key S K .
OPAQUE protocol and benefit from its properties (as we show
5) After receiving these values, the user continues the pro-
in Lemma 2). 
tocol by computing β 1/r (which equals (H ( pwd))ks ),
which hashed with the user’s password pwd generates
the key k under which the metadata’s ciphertext c is C. Offline Attacks
encrypted (see Fig. 2). After decrypting c, the user Besides preventing PDID’s impersonation, our framework
finishes the protocol by computing (X s Pses )xu +eu pu aims at limiting offline dictionary attacks, where an adversary
and S K . can gather information allowing her to check whether the used
The protocol finishes with the parties obtaining the same password is in a dictionary. In this section, we show that
shared key S K , which, in addition to authentication, can PDIDs prevent such attacks.
be used for protecting their subsequent communication. Lemma 2: No passive adversary can learn the user’s pass-
To authenticate, the user can simply use S K to (encrypt and) word pwd or launch a successful offline attack against pwd.
authenticate the exchanged messages together with the first Sketch: To prove this lemma, we show that our construc-
application-layer data. tion can be reduced to the combination of the OPAQUE and
HMQV protocols, for which security proofs are presented
IV. S ECURITY A NALYSIS in their respective papers [13], [14]. In our construction
(see Fig. 3), the server and the GPM together exe-
A. Global and Collision-Secure Names cute OPAQUE’s server-side authentication logic. Since the
We require that the identity system provides global and col- GPM’s execution is confidential, the adversary learns only
lision secure names. In this section, we show that PDIDs pro- two additional messages (when compared with the original
vide those properties, assuming a secure blockchain platform. OPAQUE execution), exchanged between the server and the
Theorem 1: PDIDs provide a collision-secure global GPM: c̄ ← PEnc pkb (U, α, X u , x s , eu , es , pks ) and ĉ ←
namespace. PEnc pks (β, c, S K ). As the adversary cannot compromise the
Sketch: Since we assumed that the blockchain platform underlying cryptographic primitives, the corresponding secret
deployed is secure, the GPM’s state, at any point in time, has keys skb and sks , and the blockchain platform, she is unable
one canonical view which is consistent with all previous views. to learn anything more than from the original OPAQUE’s
This guarantees, that the namespace consisting of identifiers execution. 
recorded in the GPM’s user s[] dictionary represents a global A malicious server is a more interesting case. Such a server
view of all usernames. The blockchain-platform assumption does not have an interest in compromising the session key
also implies that the transactions are processed by nodes (since it knows it already), but may be interested in learning
correctly, i.e., the GPM’s state can only be changed by secure passwords of users authenticating with it. Below we argue
enclaves processing transactions whose order is agreed on with that such a server cannot learn any information allowing it to
the underlying consensus algorithm. Given that, it is easy to launch even offline password attacks.
show that the namespace is collision-secure since if there are Lemma 3: No adversary able to compromise a server can
two conflicting transactions, trying to register the same name learn the user’s password pwd or launch a successful offline
U , the latter (according to their execution order in the ledger) attack against pwd.

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
SZALACHOWSKI: PDIDs 4807

Sketch: During the execution of the protocol (see Fig. 3), D. Online Attacks
an adversary controlling the server learns the user’s input
Online password guessing attacks, where an adversary inter-
U, α, X u and can freely control values U, α, X u , x s , eu , es , pks
acts with the authentication system trying to guess correct
passed to the GPM. The adversary learns GPM’s output
username-password pairs, is a generic attack against any
β, c, S K , and the goal of the adversary is to find the password
password system. The PDID framework is not an exception to
pwd or any information allowing for offline attacks against
such attacks, and an adversary can just try different passwords
pwd. According to the registration and authentication proto-
interacting with supporting servers or with the GPM directly.
cols, the knowledge of ks is necessary to run offline attacks
A popular way of mitigating such attacks is rate limiting.
against pwd. With ks the adversary could try to keep gen-
Usually, it introduces a trade-off between the security and
erating different symmetric keys k  from potential passwords
availability, and such mitigation would be implementable at
pwd  : k  ← Fks ( pwd  ), and keep testing them against the
the network-level or within the GPM (e.g., via small state
known ciphertext c, which is computed as AEnck ( pu , Pu , Ps ).
representing the number of recent authentication attempts).
However, ks is a high-entropy secret which is not revealed
Moreover, blockchain platforms enable an interesting exten-
to the adversary. The adversary can interact with the GPM,
sion of this technique. Instead of limiting authentication
passing different α  values and obtaining β  ← α ks , but
attempts, after a threshold number of attempts in a time
if this interaction would allow the adversary to learn ks ,
window, the platform could require a small payment that could
or even to compute α ks for any non-queried α  , that would
disincentivize adversaries from guessing passwords. We leave
be equivalent with breaking the One-More Diffie-Hellman
details of such a solution as future work.
problem (assumed to be hard by the OPAQUE protocol),
contradicting our assumptions. 
Similarly, it is easy to show that such an adversary cannot E. Privacy
learn any value of the password metadata ( pu , Pu , Ps ), and
subsequently, cannot learn a session key S K for any authen- The PDID framework does not introduce any message flows
tication that she does not participate in. or mechanisms violating the user’s privacy when compared
Although we assume that the blockchain platform is secure, with the traditional password-based authentication (users inter-
a tolerable number of individual nodes (usually, up to 1/3 of act only with servers, except for the registration). The mes-
all nodes) can be compromised. Then, a particularly interesting sages exchanged between servers and the GPM are encrypted,
case is when a malicious node operator interacts with the thus do not reveal anything about the authenticating user.
secure enclave it runs. Such an operator, cannot read the Moreover, the server’s keys used in the GPM-server communi-
enclave’s memory or influence its execution steps but can cation are ephemeral and unknown to an observer, therefore,
interact with it offline. In particular, the node can emulate the observer investigating the blockchain logs would not be
the authentication process (see Fig. 3) by trying multiple able to determine the server’s identity (we do not consider
passwords, calling the GPM’s AuthPDID() method locally, network-level deanonymization attacks). Finally, all usernames
and checking if the user’s session key and the key outputted are stored as part of the encrypted state and processed only
by the enclave match. We show that the PDID framework by trusted enclaves confidentially.
eliminates such attacks.
Lemma 4: An adversary able to compromise a tolera- V. I MPLEMENTATION AND E VALUATION
ble number of blockchain nodes cannot launch a success-
A. Implementation
ful offline dictionary attack against the user’s password
pwd. We fully implemented the PDID framework and our imple-
Sketch: To prove this property, we show from the GPM’s mentation consists of a supported user’s client (executing the
construction, that its AuthPDID() method computes a shared user’s logic as in Fig. 2 and Fig. 3), a server (authenticating
secret key only for a transaction that was already added to the users as in Fig. 3), and the GPM handling registrations and
blockchain. In our construction, we use a technique similar assisting servers in user authentication. The user and server
to the one presented by Kaptchuk et al. [19], where upon functionalities are implemented in C. To realize the GPM,
receiving a transaction c̄, its processing method AuthPDID() we used a recent Hyperledger Fabric Private Chaincode (FPC)
first calls assert TxIncluded(c̄), which guarantees that the framework [16] which extends Hyperledger Fabric by confi-
transaction is already part of the ledger. Since the adversary, dential smart contracts. The GPM is implemented in C++ as a
even compromising a tolerable number of nodes, is not able smart contract of this platform by using Intel SGX SDK to run
to compromise the properties of the blockchain platform, she the contract within an enclave. For encryption and hashing, use
is not able to overcome this assertion with any transaction the NaCl library [20] with its defaults for the user and server
that is not appended to the blockchain. With this check, implementations, and the TweetNaCl library for the GPM.
the adversary controlling a compromised node and interacting We implemented the modified OPAQUE and HMQV protocols
with its trusted enclave offline, cannot emulate the user-server with elliptic curve cryptography for the group operations. Our
authentication, and to get any GPM’s output she needs to implementation bases upon and extends the Easy-ECC library
register the transactions on the blockchain, making her attack and we used the secp256r1 curve by default. Our code is
attempts visible to the network (i.e., online).  publicly available at https://github.com/pszal/pdid.

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
4808 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 16, 2021

TABLE I can handle around 153 registrations per second (around


P ERFORMANCE OF THE O PERATIONS ( MS ) 0.55 million per hour). This throughput seems to be sufficient
to handle even a global-scale registration load using only a
single core. Each registered PDID requires only 260 byte
password metadata in the GPM’s contract state. Due to the
elliptic curve operations, the authentication on the GPM is
relatively slower, requiring 19.00ms on average, which yields
the throughput of around 52 authentications per second on
a single core. To shed a light on this number, we refer to
Thomas et al. [21] who report that for 670 000 users, Google
has experienced 21 million authentications for 28 days in
B. Evaluation early 2019 with a peak 2 192 authentications per 100 seconds
(i.e., around 22 authentications per second). Approximating
To evaluate our PDID implementation we conducted a series their results, a single core executing GPM’s AuthPDID()
of experiments. First, we evaluated computational overheads can handle around 1.58 million users in the peak and around
introduced by the PDID framework. We set up an FPC 4 million for the averaged load. We note, that this throughput
testbed and executed full PDID registration and authentication can be scaled horizontally (to the limits of the consensus
operations 1 000 times each. In every run, we measured the layer).
time required to complete different protocol steps. To mea-
sure execution times, we used a commodity laptop equipped VI. R ELATED W ORK
with SGX-enabled Intel i7-7600U (2.80GHz) CPU, 8GB of A. Password-Authenticated Identities
RAM, and run under Linux. In our experiments, we used Username and password pairs, as described in § II, are
a conservative setting measuring the computational overhead arguably the most popular credentials for user authentica-
of specific procedures executed sequentially on ‘fresh’ reg- tion [1]. Typically, the identity is expressed as a user-selected
istration and authentication requests. We did not use any username (i.e., login) which is local to the server and can-
caching strategies, parallelization, sophisticated parametriza- not be used for authenticating to other servers. To make
tion, or request/transaction batching, which would amortize the such ‘local’ logins more universal and useful, decentralized
execution time, although we see these techniques as desired authentication was proposed. For instance, with OpenID [3]
in a deployment-ready implementation. The results of our users can use their identities registered with a single server
experiments are presented in Tab. I, reporting total execution (i.e., identity provider) to authenticate with other servers
times and times for different authentication phases (see Fig. 3). with no need of creating a new dedicated identity for them.
As presented, even in our unoptimized setting PDIDs intro- Password-authenticated identities provide critical advantages,
duce a small computational overhead. The registration on the contributing to their surprising domination over seemingly
user side requires around 7ms on average, while the authen- superior alternatives [2]. Firstly, they are expressed as human-
tication process takes in total around 10ms on average, and meaningful names, limiting the need of additional devices
requires the user to keep only a 97 byte long state. More impor- or infrastructures for storing or processing them. Secondly,
tantly, the server’s side is even faster, requiring only 1.63ms passwords, broadly considered as memorable secrets, signif-
per authentication (in total, on average), dominated by its first icantly simplify the secret managements (especially, on the
phase. It allows a server to conduct around 613 authentications user’s side). Lastly, they have a particularly long history as
per second. A server needs to store only 64 byte long state authentication means, thus they typically do not introduce any
(an ephemeral secret key sks ) per authentication. Similarly, adoption or operation overheads. They come with some limita-
our protocol introduces a small transmission overhead with tions; however. The main drawback is that users do not control
message sizes are between 74 and 300 bytes. their own identities and a malicious server could impersonate
To improve performance and allow higher flexibility, Hyper- or terminate any identities at its will. In fact, not only servers
ledger Fabric separates contract execution and consensus have to be trusted. For example, identities expressed with
layers, with distinct node functions responsible for ordering e-mail addresses rely on DNS. OpenID, although convenient,
and executing transactions. Given that, the performance of enables identity providers to learn what servers (and when)
the PDID framework is bounded by the consensus layer users contact. Lastly, most of these schemes use the standard
(since only once transactions are ordered they can be exe- insecure authentication (discussed in § II).
cuted). Fortunately, the performance of this layer has been
extensively investigated in previous studies, and even in
large-scale distributed deployments, a Hyperledger Fabric net- B. Public-Key-Authenticated Identities
work yields throughput between 2 000 and 3 000 transactions Systems described in this part require users to establish
per second [17], introducing the end-to-end latency between and manage public-private keypairs. Although it may improve
500 and 800 ms, respectively. security and enable new applications, in practice, the public-
The GPM’s NewPDID() code, executed within an SGX private keypair management has been proved to be a chal-
enclave, handles a PDID registration in around 6.54ms on aver- lenging task, not only for users but even for allegedly more
age. Therefore, a single core executing the GPM’s registration tech-savvy server operators [22].

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
SZALACHOWSKI: PDIDs 4809

TABLE II
C OMPARISON OF D IFFERENT S CHEMES IN T ERMS OF THE D ESIRED P ROPERTIES

1) Certificate-Based: Authority-based public-key memorable by humans, thus they require a dedicated name
infrastructures (PKIs), like X.509 PKI [4], are designed distribution infrastructure.
to manage mappings between identities and their public keys. Identity-based cryptography enables to generate
Typically, they introduce trusted certification authorities (CAs) public-private keypairs in a way where private keys are
that verify bindings between identities and their claimed freely selected by users [32]. Since the public keys can be
public keys and assert this fact in signed certificates. X.509 is human-meaningful identities themselves, these systems do
prominently used together with TLS for authenticating not need certificates or name discovery infrastructures. The
web services (identified by domain names); however, it is main drawback of this approach is that keypairs have to be
also adopted for user identities (expressed by full names generated by a trusted party that learns secret keys.
and/or e-mail addresses) [23]. These PKIs require trust 3) Blockchain-Based: Blockchain platforms were early seen
in CAs, which usually trust DNS for identity verification, as promising infrastructures for implementing distributed iden-
and there have been multiple real-world attacks on CAs tities. Namecoin [11] is a blockchain-based PKI platform
reported to date [5]. Although many recent approaches try to allowing users to register arbitrary identities and associate
improve these PKIs, they usually target CAs’ accountability, them with public keys. The system refutes the Zookoo’s
transparency, and attack detection [24]–[28], but without conjecture, providing memorizable names associated with key
changing the fundamental CA trust assumptions. pairs, without trusted parties. The community followed the
Relaxing the assumption of trusted authorities is a design Namecoin’s design, proposing systems with additional fea-
goal of decentralized PKIs, where no trusted party is needed tures [33] or extended trust models [34], [35].
to verify identities, which in turn, are verified and asserted by Baars [36] discusses the applicability of blockchain tech-
other system participants. In those systems, trust decisions are nology to provide self-sovereign Identities, while Goodell and
made solely by users, depending on their trust estimation of Aste [37] propose an architecture where besides technical
the quality and length of ‘trust chains’. Such a web-of-trust aspects they point out importance of a careful regulation in
model was prominently proposed in PGP [7] for securing e- such systems. AttriChain [38] is a holistic scheme using a
mails (which still rely on the DNS hierarchy). SDSI/SPKI [29] permissioned blockchain to offer self-sovereign identities with
is a distributed PKI with local namespaces extending the web- threshold traceability and on-chain access control. All these
of-trust paradigm by introducing groups, access control, and systems require users to create and manage cryptographic
security policies. These systems eliminate trusted parties, but keys.
their namespaces either allow collisions or are local. Moreover, Decentralized Identifiers (DIDs) [39] is an attempt to
they require an infrastructure for distributing trust relations. unify the management of decentralized digital identities. With
Petnames [30] is an anti-phishing system where users them- DIDs, users can create their self-sovereign identities (associ-
selves can assign local (private) names to keys of parties ating them with their public keys) and anchor them with a
they interact with, distrusting names placed in certificates. blockchain platform their trust. DIDs are under heavy devel-
The intention of those local names is that, if a certificate opment, and are implemented and experimentally deployed as
for a lexicographically-similar phishing website is presented, part of the Hyperledger project.
it will not be trusted by the user by default, since the
website will not have its petname. The system requires users C. Comparison
to keep maintaining correct bindings between petnames and In Tab. II, we compare different name systems with ours
keys, which in a dynamic or multi-key environment, like the in terms of the desired properties. For the row ‘Collision-
Internet, can be troublesome and harm usability [31]. secure Names’, we put a negative mark, if the system
2) Certificate-Less: Since certificates introduce substan- introduces trusted party(ies) managing identities. Systems pro-
tial overheads and their management poses significant chal- viding this property differ in assumptions under which the
lenges, especially, for security-unaware users, eliminating property is achieved. For instance, self-certifying identifiers
digital certificates was a design goal of certificate-less systems. require a collision-resistant hash function, web-of-trust PKIs
Self-certifying identifiers [8] base on the idea of deriving need a trusted ‘fragment’ of a peer-to-peer network, and
identity directly from the public-key, usually, by simply hash- blockchain-based systems require that a (super)majority of
ing it. Such hash-names are short (20-32 bytes), global, and a Sybil-resistant network is honest. We also note that our
collision-secure, and users can create them by themselves. instantiation of the PDID framework requires the TEE assump-
Unfortunately, these names are represented by pseudorandom tion. Our comparison shows that PDIDs is the only system to
strings which, despite being relatively short, are not easily achieve all the desired properties.
Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.
4810 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 16, 2021

VII. C ONCLUSION [18] J. Aumasson and L. Merino, “SGX secure enclaves in practice,”
Blackhat, White Paper. [Online]. Available: https://www.blackhat.
In this work, we presented PDIDs, a framework providing com/docs/us-16/materials/us-16-Aumasson-SGX-Secure-Enclaves-In-
Practice-Security-And-Crypto-Review-wp.pdf
password-authenticated decentralized identities with global [19] G. Kaptchuk, M. Green, and I. Miers, “Giving state to the stateless:
and human-meaningful names. Up to our best knowledge, it is Augmenting trustworthy computation with ledgers,” in Proc. Netw.
the first system achieving these properties, and in comparison Distrib. Syst. Secur. Symp., Jan. 2019, pp. 1–15.
[20] D. J. Bernstein, “Cryptography in NACL,” Netw. Cryptogr. Library,
to the state-of-the-art systems, PDID does not require users to vol. 3, p. 385, Mar. 2009.
use and manage cryptographic keys for authentication. In our [21] K. Thomas et al., “Protecting accounts from credential stuffing with
system, a user registers his username and password-derived password breach alerting,” in Proc. 28th USENIX Secur. Symp. (USENIX
Secur.), 2019, pp. 1556–1571.
information with a confidential smart contract and then can use [22] K. Krombholz, W. Mayer, M. Schmiedecker, and E. Weippl, “‘I have no
these credentials to authenticate to any server. For authentica- idea what I’m doing’—On the usability of deploying HTTPS,” in Proc.
tion, we combine our framework with the OPAQUE protocol, 26th USENIX Secur. Symp. (USENIX Secur.), 2017, pp. 1339–1356.
[23] B. Ramsdell and S. Turner, “Secure/multipurpose internet
resulting in an authentication system where even the server mail extensions (S/MIME) version 3.1 message specification,”
cannot learn the user’s password or any information leading Tech. Rep. RFC 3851, Jul. 2004.
to offline dictionary attacks against it. We report on the imple- [24] B. Laurie, “Certificate transparency,” Commun. ACM, vol. 57, no. 10,
pp. 40–46, Sep. 2014.
mentation of our system and evaluation results. In the future, [25] D. Basin, C. Cremers, T. H.-J. Kim, A. Perrig, R. Sasse, and
we plan to investigate PDID management and extend our P. Szalachowski, “ARPKI: Attack resilient public-key infrastructure,”
system beyond authentication (e.g., to decentralized storage). in Proc. ACM SIGSAC Conf. Comput. Commun. Secur., Nov. 2014,
pp. 382–393.
[26] M. D. Ryan, “Enhanced certificate transparency and end-to-end
R EFERENCES encrypted mail,” in Proc. Netw. Distrib. Syst. Secur. Symp., Feb. 2014,
pp. 1–14.
[1] J. Bonneau, C. Herley, P. C. van Oorschot, and F. Stajano, “Passwords [27] M. S. Melara, A. Blankstein, J. Bonneau, E. W. Felten, and
and the evolution of imperfect authentication,” Commun. ACM, vol. 58, M. J. Freedman, “CONIKS: Bringing key transparency to end users,”
no. 7, pp. 78–87, Jun. 2015. in Proc. 24th USENIX Secur. Symp. (USENIX Secur.), 2015,
[2] J. Bonneau, C. Herley, P. C. V. Oorschot, and F. Stajano, “The quest pp. 383–398.
to replace passwords: A framework for comparative evaluation of web [28] E. Syta et al., “Keeping authorities ‘honest or bust’ with decentralized
authentication schemes,” in Proc. IEEE Symp. Secur. Privacy, May 2012, witness cosigning,” in Proc. IEEE Symp. Secur. Privacy (SP), May 2016,
pp. 553–567. pp. 526–545.
[3] D. Recordon and D. Reed, “OpenID 2.0: A platform for user-centric [29] E. Syta et al., “Keeping authorities honest or bust with decentralized
identity management,” in Proc. 2nd ACM Workshop Digit. Identity witness cosigning,” in Proc. IEEE Symp. Secur. Privacy (SP), May 2016,
Manage. (DIM), 2006, pp. 11–16. pp. 526–545.
[4] D. Cooper et al., Internet X. 509 Public Key Infrastructure Certificate [30] M. Stiegler, “An introduction to petname systems,” in Advances in
and Certificate Revocation List (CRL) Profile, document RFC 5280, Financial Cryptography. Ian Grigg, vol. 2. Princeton, NJ, USA: Citeseer,
2008. 2005.
[5] N. Leavitt, “Internet security under attack: The undermining of digital [31] M. S. Ferdous, A. Jøsang, K. Singh, and R. Borgaonkar, “Security
certificates,” Computer, vol. 44, no. 12, pp. 17–20, Dec. 2011. usability of petname systems,” in Proc. Nordic Conf. Secure IT Syst.
Berlin, Germany: Springer, Oct. 2009, pp. 44–59.
[6] R. L. Rivest and B. Lampson, “SDSI—A simple distributed security
[32] A. Shamir, “Identity-based cryptosystems and signature schemes,” in
infrastructure,” Crypto, to be published.
Proc. Workshop Theory Appl. Cryptograph. Techn. Berlin, Germany:
[7] A. Abdul-Rahman, “The PGP trust model,” EDI-Forum, J. Electron.
Springer, Aug. 1984, pp. 47–53.
Commerce, vol. 10, no. 3, pp. 27–31, 1997.
[33] M. Ali, J. Nelson, R. Shea, and M. J. Freedman, “Blockstack: A global
[8] D. Mazières, M. Kaminsky, M. F. Kaashoek, and E. Witchel, “Separating naming and storage system secured by blockchains,” in Proc. USENIX
key management from file system security,” in Proc. 17th ACM Symp. Annual Tech. Conf. (USENIX ATC), 2016, pp. 181–194.
Operating Syst. Princ. (SOSP), 1999, pp. 124–139. [34] M. Al-Bassam, “SCPKI: A smart contract-based PKI and identity sys-
[9] Z. Wilcox-O’Hearn, “Names: Distributed, secure, human-readable: tem,” in Proc. ACM Workshop Blockchain, Cryptocurrencies Contracts,
Choose two,” Tech. Rep., 2001. [Online]. Available: https://web.archive. Apr. 2017, pp. 35–40.
org/web/20011020191610/ and http://zooko.com/distnames.html [35] L. Dykcik, L. Chuat, P. Szalachowski, and A. Perrig, “BlockPKI:
[10] A. Swartz, “Squaring the triangle: Secure, decentralized, human- An automated, resilient, and transparent public-key infrastructure,” in
readable names,” Retrieved, vol. 11, no. 30, 2011. [Online]. Available: Proc. IEEE Int. Conf. Data Mining Workshops (ICDMW), Nov. 2018,
http://www.aaronsw.com/weblog/squarezooko pp. 105–114.
[11] A. Loibl and J. Naab. (2014). Namecoin. [Online]. Available: name- [36] D. Baars, “Towards self-sovereign identity using blockchain technology,”
coin.info M.S. thesis, Dept. Elect. Eng., Math. Comput. Sci., Univ. Twente,
[12] S. M. Bellovin and M. Merritt, “Encrypted key exchange: Password- Enschede, The Netherlands, 2016.
based protocols secure against dictionary attacks,” in Proc. IEEE Com- [37] G. Goodell and T. Aste, “A decentralized digital identity architecture,”
put. Soc. Symp. Res. Secur. Privacy, May 1992, p. 72. Frontiers Blockchain, vol. 2, p. 17, Nov. 2019.
[13] S. Jarecki, H. Krawczyk, and J. Xu, “OPAQUE: An asymmetric PAKE [38] W. Shao, C. Jia, Y. Xu, K. Qiu, Y. Gao, and Y. He, “Attrichain:
protocol secure against pre-computation attacks,” in Proc. Annu. Int. Decentralized traceable anonymous identities in privacy-preserving
Conf. Theory Appl. Cryptograph. Techn. Cham, Switzerland: Springer, permissioned blockchain,” Comput. Secur., vol. 99, Dec. 2020,
2018. Art. no. 102069.
[14] H. Krawczyk, “HMQV: A high-performance secure Diffie–Hellman [39] D. Reed et al., “Decentralized identifiers (DIDS) v1.0,” Draft Commu-
protocol,” in Proc. Annu. Int. Cryptol. Conf. Berlin, Germany: Springer, nity Group Rep., to be published. [Online]. Available: https://www.w3.
2005. org/TR/2020/WD-did-core-20200622/
[15] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” White
Paper, 2019. [Online]. Available: https://bitcoin.org/bitcoin.pdf
[16] M. Brandenburger, C. Cachin, R. Kapitza, and A. Sorniotti, “Blockchain
and trusted computing: Problems, pitfalls, and a solution for hyperledger
fabric,” 2018, arXiv:1805.08541. [Online]. Available: http://arxiv.org/ Pawel Szalachowski received the Ph.D. degree in computer science from
abs/1805.08541 Warsaw University of Technology in 2012. He is currently an Assistant Pro-
[17] E. Androulaki et al., “Hyperledger fabric: A distributed operating system fessor at Singapore University of Technology and Design (SUTD), Singapore.
for permissioned blockchains,” in Proc. 13th EuroSys Conf., Apr. 2018, Prior to joining SUTD, he was a Senior Researcher at ETH Zürich. His current
pp. 1–15. research interests include systems security and blockchains.

Authorized licensed use limited to: UNIVERSITY PUTRA MALAYSIA. Downloaded on May 17,2023 at 07:16:12 UTC from IEEE Xplore. Restrictions apply.

You might also like