<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Authentication Module Based on the Protocol of Zero- Knowledge Proof*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>r M. K</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Egor R. Kiri</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>honok</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Yanka Kupala State University of Grodno</institution>
          ,
          <addr-line>Grodno</addr-line>
          ,
          <country country="BY">Belarus</country>
        </aff>
      </contrib-group>
      <fpage>365</fpage>
      <lpage>373</lpage>
      <abstract>
        <p>This article discusses passwordless authentication methods. These methods are now becoming commonplace and eliminate the problems associated with the difficulty of remembering secrets. Passwordless authentication has clear security and privacy advantages over traditional authentication methods. The usability of passwordless authentication depends on the type of authenticator used. The paper proposes an implementation of an authentication module based on the Zero Knowledge Proof (ZKP) protocol. The issues of its application for passwordless user authentication to web application resources are discussed within the framework of the Web Authentication (WebAuthn) passwordless web authentication standard developed by the FIDO Alliance. The module is based on the use of the FIDO2 authenticator. It also allows the use of various authenticators, including hardware keys connected to the device via USB, Bluetooth Low Energy or NFC, software keys, the implementation of which can be very different. Currently, the cost of implementing passwordless authentication can be significant. This is a major obstacle to the widespread adoption of this advanced technology.</p>
      </abstract>
      <kwd-group>
        <kwd>Zero-Knowledge Proof</kwd>
        <kwd>ZKP</kwd>
        <kwd>Cryptographic Protocols</kwd>
        <kwd>Authentication</kwd>
        <kwd>Web Authentication</kwd>
        <kwd>WebAuthn</kwd>
        <kwd>FIDO Alliance</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>In cryptography, Zero-Knowledge Proof (ZKP) is considered as an interactive protocol
that allows one of the parties (the Verifier) to verify the validity of a statement (usually
mathematical) without receiving any other information from the second party (the
Prover), neither the content of the statement nor the source from which the Prover
learned about its truth.</p>
      <p>In particular, ZKP can play the role of a tool that verifies data and users, granting
privileged access and establishing trusted connections. For example, one of the obvious
applications of the ZKP protocol is checking whether a user has certain permissions
*
when requesting access to information system resources, without disclosing the details
of these permissions to the protocol participants. This protocol can also be used in tasks
where it is necessary to ensure the security of data (for example, personal information)
during financial transactions. Since the use of the ZKP protocol allows you to reliably
protect the user's data, due to the absence of their storage in the system and transmission
over network communications.</p>
      <p>In this work, along with the study of the general theoretical aspects of the use of ZKP
methods, it is also expected to study aspects of the use of ZKP in the design and
development of applied solutions. The task of developing a prototype of the application
system and evaluating the effectiveness of using the authentication method based on ZKP
is set and solved.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Key features of ZKP protocols</title>
      <p>
        Zero-knowledge proofs are not proofs in the mathematical sense of the term, because
there is some small probability that the Prover will be able to trick the Verifier into a
false statement (correctness error). In other words, zero-knowledge proofs are
probabilistic proofs, not deterministic ones. Nevertheless, there are methods to reduce the
correctness error to negligible values [
        <xref ref-type="bibr" rid="ref1 ref5">1, 5</xref>
        ].
      </p>
      <p>
        Zero-knowledge proof protocols must have three properties:
1. Completeness: if the statement is true, then the Prover will convince the Verifier of
this with any predetermined accuracy.
2. Correctness: if the statement is false, then any, even “dishonest” Prover will not be
able to convince the Verifier except for a negligible probability.
3. Zero-knowledge: if the statement is true, then any, even "dishonest" Verifier will not
know anything except the very fact that the statement is true [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        The interactivity of the protocol means the direct exchange of information between
the parties [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The traditional ZKP protocol requires interactive input from the Verifier,
usually in the form of a task or problem. The goal of the legal Prover (who has proof)
in this protocol is to convince the Verifier that he has a solution, without giving away
even part of the “secret” proof (“zero-knowledge”). The purpose of the Verifier is to
make sure that the Prover “doesn't lie” [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Each round, or proof accreditation, consists of three stages. They can be
schematically depicted as follows (here P is the Prover, V is the Verifier):
─ P =&gt; V: witness
─ P &lt;= V: challenge
─ P =&gt; V: response</p>
      <p>
        First, P selects from a predetermined non-empty set some element, which becomes
its secret – a private key. The public key is calculated from this element and then
published. Knowing the secret determines the set of questions to which P can always give
correct answers. Then P selects a random element from the set, computes the proof
according to certain rules (depending on the specific algorithm), and then sends it to V.
After that, V selects one of the whole set of questions and asks P to answer it
(challenge). Depending on the question, P sends a V answer [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The information V received
is enough to check whether P owns the secret. The rounds can be repeated as many
times as you like until the probability that P "guesses" the answers is low enough. This
approach is also called "cut-and-choose", first used in cryptography by Michael Rabin
[
        <xref ref-type="bibr" rid="ref1 ref14 ref7">1, 7, 14</xref>
        ].
      </p>
      <p>
        Zero-knowledge proof protocols were also developed [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ], which did not require
the presence of interactive source data, while the proof of which, as a rule, relies on the
assumption of an ideal cryptographic hash function, that is, it is assumed that the output
of a one-way hash function cannot be predicted if its input is not known [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>New standards for passwordless authentication</title>
      <p>
        In the practical field, technologies such as single sign-on and two-factor authentication
are widely used to protect web applications. Recently, there has been considerable
interest in a new (and often misunderstood) trend known as passwordless web
authentication [
        <xref ref-type="bibr" rid="ref12 ref13 ref15 ref16 ref17 ref8">8, 12, 13, 15-17</xref>
        ].
      </p>
      <p>A common property of passwordless authentication schemes is that they do not
require a password in the traditional sense.</p>
      <p>The concept of a multi-factor authenticator (what you have) is activated by either a
PIN (something you know) or biometric (what you have). Multifactor Authenticator
provides multifactor authentication without stacking one-factor authenticators on top
of each other.</p>
      <p>Let's briefly dwell on the concept of the FIDO2 authenticator, that is, a multi-factor
cryptographic authenticator that is compatible with the W3C Web Authentication
(WebAuthn) standard.</p>
      <p>
        The FIDO Universal 2nd Factor (U2F) authentication protocol was the starting point
for the FIDO2 project, a joint project of the World Wide Web Consortium (W3C) and
the FIDO Alliance. The results of the project include the W3C Web Authentication
(WebAuthn) standard [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and the FIDO Client to Authenticator Protocol (CTAP)
specification [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Together, WebAuthn and CTAP are known as FIDO2, a generic term for one (or
both) of these technology standards.</p>
      <p>The FIDO2 authenticator, also called the WebAuthn authenticator, uses public-key
cryptography to communicate with the WebAuthn client. A type of FIDO2
authenticator, called a platform authenticator, is tightly integrated into the WebAuthn client
platform, that is, implemented on the client device itself.</p>
      <p>The FIDO2 authenticator can be used in both single-factor and multi-factor modes.
In one-factor mode, the authenticator is activated like any other one-factor
authenticator, that is, by a simple test of the user's presence (for example, pressing a button). In
the multi-factor model, the authenticator (what you have) is activated by either a PIN
(what you know) or biometric (what you are).</p>
      <p>Client to Authenticator Protocol (CTAP) allows an authenticator (such as a hardware
security key) to communicate with a client platform (such as a laptop). The
CTAPcompliant authenticator connects to the client through one or more of the following
transport bindings: USB, NFC, or Bluetooth Low Energy (BLE).</p>
      <p>
        In March 2019, a standard dedicated to passwordless web authentication – Web
Authentication (WebAuthn) was presented to the public. The standard was developed by
the FIDO Alliance, which aims to develop authentication standards that do not rely on
passwords. On March 4, 2019, the standard was recommended for use by the
international organization World Wide Web Consortium, which deals with the issues of
Internet standards [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>The W3C Web Authentication (WebAuthn) standard is the centerpiece of the FIDO2
project. WebAuthn includes the website, web browser, and authenticator:
─ The website is the respective relying party of WebAuthn.
─ The browser is a WebAuthn compatible client
─ The authenticator is the corresponding WebAuthn Authenticator (also called FIDO2
Authenticator).</p>
      <p>
        WebAuthn indicates how the applicant demonstrates ownership and control of the
WebAuthn authenticator to a verifier called the WebAuthn relying party. The
authentication process is done through an object called a WebAuthn client, which is nothing
more than a corresponding web browser [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Using ZKP Protocols for Authentication</title>
      <p>Zero-knowledge proof research is motivated by authentication systems in which one
party wants to prove its identity to another party using some secret information (such
as a password), but does not want the other party to know anything about the secret.
This is called " zero-knowledge proof of knowledge". However, the password is usually
too small or not random enough to be used in many zero-knowledge-proof schemes.
Zero-knowledge password confirmation is a special type of zero-knowledge
confirmation of knowledge that deals with the limited size of passwords.</p>
      <p>When a user logs in to the passwordless authentication system's authentication
server, some mathematical problems are sent to their browser from the server, which
requires answers. Authentication is only allowed when the user's browser responds
correctly to all calls. For each new verification attempt, a different set of problems is
presented.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Cryptographic protocols used by WebAuthn</title>
      <p>Thanks to the WebAuthn standard, it became possible to use many different options for
authentication (see, for example, Fig. 1), including hardware keys connected to a device
via USB, Bluetooth Low Energy or Near-Field Communications (NFC); software keys,
the implementation of which can be very different. The vast majority of organizations
that need strong authentication are interested in using both zero-knowledge proof
protocols (to protect their resources in general) and the WebAuthn standard (to protect web
resources).</p>
      <p>
        WebAuthn standardizes the interaction of a website, web browser, and authenticator
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]:
─ The website is the relying party of WebAuthn.
─ Browser is a WebAuthn client.
─ The Authenticator is a FIDO2 Authenticator, which means it is assumed to be
compatible with the WebAuthn client.
      </p>
      <p>WebAuthn defines how a client proves its identity to a verifier, called the WebAuthn
Relying Party.</p>
      <p>In any case, the client proves that he has a FIDO2 authenticator (something we have).
Depending on the type of authenticator, the following authentication factors can also
be used (additionally):
─ something that we know (password, pin-code, graphic).
─ something that is an integral part of ourselves (such as a voice or a fingerprint).</p>
    </sec>
    <sec id="sec-6">
      <title>The prototype of a Resource Access System Based on</title>
    </sec>
    <sec id="sec-7">
      <title>ZKP Protocols</title>
      <p>The structurally designed software consists of two parts, a web application and a server
responsible for handling REST requests. The web application is implemented using the
following technologies: JavaScript programming language; Ionic framework; Angular
framework. The RESTful server is implemented using the following technologies: Java
programming language; Spring Boot framework.</p>
      <p>For the system to work on the client-side, the following is required:
─ Availability of FIDO2 hardware or software authenticator. For example Android
platform (from version 7), Windows 10 OS, hardware key (for example, Yubico or
Feitian).
─ The browser that supports the Web Authentication standard. For example Microsoft
Edge, Mozilla Firefox, Google Chrome, Apple Safari, Opera Web Browser, iOS
Safari, Android Browser, Chrome for Android, Firefox for Android.
─ Access to the Internet or a local network on one of the nodes of which the server is
deployed.</p>
      <p>For the system to work from the server-side:
─ Installed database management system (DBMS) MariaDB.
─ Installed Java Runtime Environment (JRE).
─ Certificate for the site (HTTPS protocol), since the Web Authentication standard
does not work over the HTTP protocol (except for localhost - the same computer on
which the server is running).
─ Software platform Node.js.
─ Access to the Internet or access to the local network if the application is supposed to
be deployed locally.</p>
      <p>The sequence diagram of the registration process is shown in Figure 2. It should be
noted that any unauthenticated request other than registration and authentication
requests is denied and will be redirected to the authentication page. From this page, you
can go to the registration page. You can also go to the registration page by making an
HTTPS get-request to the address HTTPS://{server IP or its domain
name}/#/registration. To register, you must enter a username. After that, the FIDO2 authenticator will
ask the user for confirmation, if necessary (some authenticators do not need
confirmation, the very fact of the presence of an authenticator is enough). After successful
confirmation, the user will be redirected to the registration end page, where he will receive
a recovery code (a public key variant), which can be used to confirm his identity and
change the authenticator (in case of loss of the authenticator). This code should be kept
in a safe place. After that, the registration process is considered complete (Fig. 2).
The sequence diagram of the authentication process is shown in Figure 3.</p>
      <p>The client-side authentication process is similar to the registration process: you need
to enter the username and verify the identity for the FIDO2 authenticator, if necessary.</p>
      <p>After successfully verifying the identity of the authenticator, the user will be
redirected to the home page. On this page, he gets the opportunity to log out of the system,
as well as start registering an additional authenticator (this functionality will
undoubtedly be needed if the user needs to log in under the same account from different
devices).</p>
      <p>In addition to direct registration and authentication, the application has such features
as registering an additional authenticator and replacing the authenticator.</p>
      <p>To register an additional authenticator, the user must enter a special code that is
generated by the system and confirm his identity again.</p>
      <p>To replace the authenticator, you must use the recovery code received by the user
during registration. This code must be entered on the registration page, after which the
identity of the new authenticator must be verified. This functionality is especially
necessary if the authenticator is lost or stolen.</p>
      <p>After confirming the identity, the user goes to the registration completion page, as
when the first registered and receives a new recovery code.</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusions</title>
      <p>In this work, within the framework of the ZKP methods and the WebAuthn standard,
the registration and authentication processes were considered in detail. Several
zeroknowledge-proof protocols can be used by the WebAuthn standard.</p>
      <p>The practical part of the work is the designed and implemented the system for
accessing web resources based on zero-knowledge-proof protocols. The functionality of
the developed system includes the functions of registration, authentication, registration
of an additional authenticator, replacement of the authenticator.</p>
      <p>The direction of further research may be the development of your software
authenticator. However, the expediency of this is still in doubt.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Schneier</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          : Applied Cryptography: Protocols, Algorithms, and Source Code in C. Published by Wiley, Second Edition, November.
          <volume>784</volume>
          pages. (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>De Santis</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Micali</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Persiano</surname>
          </string-name>
          , G.:
          <article-title>Non-Interactive Zero-Knowledge Proof Systems</article-title>
          . In: Pomerance C. (eds) Advances in Cryptology -
          <source>CRYPTO '87. CRYPTO 1987. Lecture Notes in Computer Science</source>
          , vol
          <volume>293</volume>
          . Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48184-
          <issue>2</issue>
          _
          <issue>5</issue>
          (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Blum</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feldman</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Micali</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Non-Interactive Zero-Knowledge and its Applications</article-title>
          .
          <source>STOC'88: Proceedings of the twentieth annual ACM symposium on Theory of computing</source>
          New York City: ACM. P.
          <volume>103</volume>
          -
          <fpage>112</fpage>
          . doi:
          <volume>10</volume>
          .1145/62212.62222 (
          <year>1988</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Menezes</surname>
            ,
            <given-names>A. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oorschot</surname>
            ,
            <given-names>P. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanstone</surname>
            ,
            <given-names>S. A.</given-names>
          </string-name>
          :
          <article-title>Chapter 10</article-title>
          . Handbook of Applied Cryptography - CRC Press, P.
          <fpage>405</fpage>
          -
          <lpage>417</lpage>
          . (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Goldwasser</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Micali</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rackoff</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The knowledge complexity of interactive proof systems</article-title>
          .
          <source>SIAM J. Comput. M. Sudan - Society for Industrial and Applied Mathematics</source>
          , Vol.
          <volume>18</volume>
          ,
          <string-name>
            <surname>Iss</surname>
          </string-name>
          . 1. P.
          <volume>186</volume>
          -
          <fpage>208</fpage>
          . doi:
          <volume>10</volume>
          .1137/0218012 (
          <year>1989</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Мао</surname>
          </string-name>
          , V.:
          <article-title>Modern cryptography: Theory and practices</article-title>
          . Moscow: Williams,
          <year>2005</year>
          . 768 p.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Rabin</surname>
            ,
            <given-names>M.O.: Digital</given-names>
          </string-name>
          <string-name>
            <surname>Signatures</surname>
          </string-name>
          . Foundations of Secure Computation. New York: Academic Press, С.
          <fpage>155</fpage>
          -
          <lpage>168</lpage>
          . (
          <year>1978</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Grassi</surname>
            ,
            <given-names>Paul A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>Michael E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fenton</surname>
            , James L.: NIST Special Publication 800-63-3:
            <given-names>Digital</given-names>
          </string-name>
          <string-name>
            <surname>Identity Guidelines</surname>
          </string-name>
          .
          <article-title>National Institute of Standards and Technology (NIST)</article-title>
          .
          <source>doi:10.6028/NIST.SP.800-63-3</source>
          . (
          <year>June 2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Balfanz</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Czeskis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hodges</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>J.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>M. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liao</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lindemann</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lundberg</surname>
          </string-name>
          , E., eds.: Web Authentication:
          <article-title>An API for accessing Public Key Credentials Level 1</article-title>
          (Recommendation ed.).
          <source>World Wide Web Consortium (W3C). Retrieved 4 March</source>
          <year>2019</year>
          . https://www.w3.org/TR/webauthn-1
          <source>/ (4 March</source>
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Brand</surname>
          </string-name>
          , Ch.,
          <string-name>
            <surname>Czeskis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ehrensvärd</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jones</surname>
            ,
            <given-names>M. B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lindemann</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Powers</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verrept</surname>
          </string-name>
          , J., eds. Client to Authenticator
          <source>Protocol (CTAP)</source>
          .
          <source>FIDO Alliance. Retrieved 7 March</source>
          <year>2019</year>
          https://fidoalliance.org/specs/fido-v2.
          <fpage>0</fpage>
          -ps-20190130/fido-client
          <article-title>-to-authenticator-protocol-v2</article-title>
          .
          <fpage>0</fpage>
          -ps-20190130.html (
          <year>January 30</year>
          ,
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Web</surname>
          </string-name>
          <article-title>Authentication: An API for accessing Public Key Credentials Level 1</article-title>
          . URL: https://www.w3.org/TR/webauthn-1/. Last access:
          <volume>16</volume>
          .
          <fpage>04</fpage>
          .
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Khernane</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Potop-Butucaru</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Chaudet</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>BANZKP: A Secure Authentication Scheme Using Zero-Knowledge Proof for WBANs</article-title>
          ,
          <source>2016 IEEE 13th International Conference on Mobile Ad Hoc and Sensor Systems</source>
          (MASS), Brasilia, pp.
          <fpage>307</fpage>
          -
          <lpage>315</lpage>
          , DOI: 10.1109/MASS.
          <year>2016</year>
          .
          <volume>046</volume>
          . (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>De Santis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Persiano</surname>
          </string-name>
          , G.:
          <article-title>Zero-Knowledge Proofs of Knowledge Without Interaction</article-title>
          .
          <source>Proceedings., 33rd Annual Symposium on Foundations of Computer Science</source>
          , Pittsburgh, PA, USA, pp.
          <fpage>427</fpage>
          -
          <lpage>436</lpage>
          , DOI: 10.1109/SFCS.
          <year>1992</year>
          .
          <volume>267809</volume>
          . (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Merkle</surname>
          </string-name>
          , R.C.
          <article-title>: A Certified Digital Signature</article-title>
          . In: Brassard G. (eds) Advances in Cryptology -
          <source>CRYPTO' 89 Proceedings. CRYPTO 1989. Lecture Notes in Computer Science</source>
          , vol
          <volume>435</volume>
          . Springer, New York, NY. https://doi.org/10.1007/0-387-34805-0_
          <fpage>21</fpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Guirat</surname>
            ,
            <given-names>I. B.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Harry</surname>
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>Formal Verification of the W3C Web Authentication Protocol</article-title>
          .
          <source>In Proceedings of the 5th Annual Symposium and Bootcamp on Hot Topics in the Science of Security (HoTSoS '18)</source>
          .
          <article-title>Association for Computing Machinery</article-title>
          , New York, NY, USA, Article
          <volume>6</volume>
          ,
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . DOI:https://doi.org/10.1145/3190619.3190640 (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Bonneau</surname>
          </string-name>
          , Joseph; Herley, Cormac; Oorschot, Paul C. van; Stajano,
          <article-title>Frank: The Quest to Replace Passwords: A Framework for Comparative Evaluation of Web Authentication Schemes</article-title>
          . University of Cambridge Computer Laboratory,
          <source>Technical Report Number 817</source>
          . Cambridge, UK.
          <source>ISSN 1476-2986</source>
          . (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Grassi</surname>
          </string-name>
          , Paul A.;
          <string-name>
            <surname>Garcia</surname>
            ,
            <given-names>Michael E.</given-names>
          </string-name>
          ; Fenton, James L.
          <article-title>"NIST Special Publication 800-63-3: Digital Identity Guidelines. National Institute of Standards and Technology (NIST)</article-title>
          .
          <source>DOI:10.6028/NIST.SP.800-63-3</source>
          . (
          <year>June 2017</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>