# Decentralized Identity Authentication with Auditability and Privacy
## 5 Privacy-Preserving Protocol
### Final Protocol
#### 5.2.1 New Token and Its Consistency
Our approach is to associate a token with each credential issue request (during which a token is initialized and registered with the blockchain managed by the authorities), and before each show protocol, the user needs to generate a new token consistent with the previous token and the token integrity proof, which is then sent to a service that redirects it to the blockchain. The service will be able to alert users (or users can audit) of misuse if the verification of the integrity proof fails at the blockchain. EL Passo uses a verifiable credential to overcome the privacy issues of traditional single-sign-on (SSO) systems. The user can obtain a verifiable credential from an identity provider and use it across multiple relying parties (service) without going through the identity provider, thus preventing the identity provider from tracking user activities. However, the drawback is that this also prevents the users' ability to detect any possible credential misuse. Since the user cannot rely on the identity provider to log the authentication events, we propose the deployment of an additional blockchain infrastructure in which the user can log an authentication event (or choose their own blockchain and then deploy a smart contract to log the event; during the authentication, the user needs to specify to the relying party the blockchain on which the token needs to be logged). So, during the setup phase, along with generating a user secret, the user initializes a token and obtains a credential from the identity provider associated with both of these values. They then must register this token on the blockchain before using the credential to authenticate with any relying party. The credential usage and subsequent misuse detection during the sign-on phase are similar to those of Coconut. ## 8 Conclusions and Future Work

In this paper, we proposed two DID authentication protocols that allow users to detect credential misuse. The first protocol achieves high performance, but with limited privacy. The second protocol achieves full privacy, but with a high performance overhead. We gave a formal security analysis of the final protocol by using the Tamarin Prover. We implemented these protocols by using Hyperledger Fabric and evaluated their performance on a local cluster. The results showed that the first protocol achieved throughput sufficient to support realistic workloads. However, the second protocol incurred significant overhead and suffered from a throughput that was three orders of magnitude lower. In future work, we plan to improve the two protocols by using more efficient blockchains with sharding and parallel execution. In addition, we also plan to tackle other security issues, such as token integrity (ensuring that the attacker does not tamper with the token, for example, by storing the counter value externally), and to compare this with other implementations of DIDAuth and privacy-preserving logging protocols. Conceptualization, B.A., P.S. and T.T.A.D. ; Methodology, B.A., P.S. and T.T.A.D. ; Software, B.A., S.M. and J.G. ; Validation, Z.L. ; Formal analysis, S.M. and J.I.G. ; Investigation, S.M. ; Resources, K.M.M.A. ; Writing--original draft, B.A. ; Writing--review & editing, S.M. ; Supervision, K.M.M.A. and Z.L. ; Project administration, K.M.M.A. and Z.L. ; Funding acquisition, K.M.M.A. All authors have read and agreed to the published version of the manuscript. This research is supported by A*STAR under its RIE2020 Advanced Manufacturing and Engineering (AME) Programmatic Programme (Award A19E3b0099). The data presented in this study are available in the present article. The authors declare no conflicts of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.