Skip to main content

Blocklistable Anonymous Credential for Circuits with Post-quantum Security

  • Conference paper
  • First Online:
Provable and Practical Security (ProvSec 2024)

Abstract

A blocklistable anonymous credential system (BLAC) allows a service provider to decide if it would like to accept an anonymous user according to his historical behaviors. Security of such systems requires that 1) a user can be authenticated if and only if his historical behaviors satisfy a given policy and that 2) no additional information (besides the result of the authentication) is revealed to the service provider. Existing constructions of BLAC only consider very restricted access policies, e.g., blocking a user if he has an authentication record that is marked as misbehaved. Besides, most of them are constructed from number theoretical assumptions, which are vulnerable to the quantum attacks.

In this work, we advance the state-of-the-art for BLAC. First, we present the notion of BLAC for circuits, where the service provider can use general policies that are represented by any boolean circuits and admit a user if and only if his historical records satisfy the circuit. Then, we construct BLAC systems for arbitrary circuits from lattice assumptions, which offer post-quantum security. To obtain our constructions, we propose efficient lattice-based zero-knowledge arguments for various relations, which may be of independent interest. Besides, we demonstrate the practicality of our constructions by providing an estimation of the communication cost of our system.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For example, the ticket can be \((g,g^s)\), where g is a random group element and s is the user’s secret.

  2. 2.

    Here, the historical behaviors are defined by a binary string \(\boldsymbol{x}\) s.t. \(\boldsymbol{x}[i]=1\) iff the i-th valid authentication record belongs to the user.

  3. 3.

    Here, \(\boldsymbol{x}_i =1 \) if and only if the i-th access event on list \(\mathcal {L}\) is done by the user, otherwise, \(\boldsymbol{x}_i = 0\).

  4. 4.

    Notably, here we only consider the public-keys of those users who successfully prove the ownership of the corresponding secret keys, i.e., proof \(\varPi _{RES,j}\)s are valid. For the failed users, the group user just sets their public keys as a string of 0s with length \(n_1k_p\) .

References

  1. Ajtai, M.: Generating hard instances of lattice problems. In: STOC, pp. 99–108. ACM, 1996

    Google Scholar 

  2. Albrecht, M.R., et al.: Estimate all the LWE, NTRU schemes! In: SCN, pp. 351–367. Springer, 2018

    Google Scholar 

  3. Alkim, E., Ducas, L., Pöppelmann, T., Schwabe, P.: Post-quantum key exchange-a new hope. In: USENIX Security Symposium, vol. 2016, 2016

    Google Scholar 

  4. Au, M.H., Kapadia, A.: PERM: practical reputation-based blacklisting without TTPS. In: CCS, pp. 929–940. ACM, 2012

    Google Scholar 

  5. Au, M.H., Kapadia, A., Susilo, W.: Blacr: ttp-free blacklistable anonymous credentials with reputation. In: NDSS (2012)

    Google Scholar 

  6. Au, M.H., Susilo, W., Mu, Y.: Practical compact e-cash. In: ACISP, pp. 431–445. Springer, 2007

    Google Scholar 

  7. Banerjee, A., Peikert, C., Rosen, A.: Pseudorandom functions and lattices. In: EUROCRYPT, pp. 719–737. Springer, 2012

    Google Scholar 

  8. Boneh, D., Boyen, X., Shacham, H.: Short group signatures. In: CRYPTO, pp. 41–55. Springer, 2004

    Google Scholar 

  9. Bootle, J., Lyubashevsky, V., Nguyen, N.K., Sorniotti, A.: A framework for practical anonymous credentials from lattices. In: Annual International Cryptology Conference, pp. 384–417. Springer, 2023

    Google Scholar 

  10. Brickell, E., Li, J.: Enhanced privacy id: a direct anonymous attestation scheme with enhanced revocation capabilities. In: Proceedings of the 2007 ACM Workshop on Privacy in Electronic Society, pp. 21–30. ACM (2007)

    Google Scholar 

  11. Chaum, D.: Security without identification: transaction systems to make big brother obsolete. Commun. ACM 28(10), 1030–1044 (1985)

    Article  MATH  Google Scholar 

  12. Chen, Y., Nguyen, P.Q.: BKZ 2.0: better lattice security estimates. In: ASIACRYPT, pp. 1–20. Springer, 2011

    Google Scholar 

  13. Cheon, J.H., Kim, D., Lee, J., Song, Y.: Lizard: cut off the tail! A practical post-quantum public-key encryption from lwe and lwr. In: SCN, pp. 160–177. Springer, 2018

    Google Scholar 

  14. Del Pino, R., Lyubashevsky, V., Seiler, G.: Lattice-based group signatures and zero-knowledge proofs of automorphism stability. In: CCS, pp. 574–591. ACM, 2018

    Google Scholar 

  15. Ducas, L., Lepoint, T., Lyubashevsky, V., Schwabe, P., Seiler, G., Stehlé, D.: CRYSTALS – dilithium: digital signatures from module lattices. Cryptology ePrint Archive, Report 2017/633, 2017. https://eprint.iacr.org/2017/633

  16. El Kaafarani, A., Katsumata, S.: Attribute-based signatures for unbounded circuits in the rom and efficient instantiations from lattices. In: PKC. Springer (2018)

    Google Scholar 

  17. Esgin, M.F., Steinfeld, R., Liu, J.K., Liu, D.: Lattice-based zero-knowledge proofs: new techniques for shorter and faster constructions and applications. In: CRYPTO, pp. 115–146. Springer, 2019

    Google Scholar 

  18. Gama, N., Nguyen, P.Q.: Predicting lattice reduction. In: EUROCRYPT, pp. 31–51. Springer, 2008

    Google Scholar 

  19. Goldwasser, S., Micali, S., Rackoff, C.: The knowledge complexity of interactive proof-systems. In: STOC, pp. 291–304. ACM (1985)

    Google Scholar 

  20. Hoffstein, J., Pipher, J., Schanck, J.M., Silverman, J.H., Whyte, W., Zhang, Z.: Choosing parameters for ntruencrypt. In: CT-RSA, pp. 3–18. Springer, 2017

    Google Scholar 

  21. Jeudy, C., Roux-Langlois, A., Sanders, O.: Lattice signature with efficient protocols, application to anonymous credentials. In: Annual International Cryptology Conference, pp. 351–383. Springer, 2023

    Google Scholar 

  22. Laarhoven, T.: Sieving for shortest vectors in lattices using angular locality-sensitive hashing. In: CRYPTO, pp. 3–22. Springer, 2015

    Google Scholar 

  23. Libert, B., Ling, S., Nguyen, K., Wang, H.: Zero-knowledge arguments for lattice-based accumulators: logarithmic-size ring signatures and group signatures without trapdoors. In: EUCRYPT, pp. 1–31. Springer, 2016

    Google Scholar 

  24. Libert, B., Ling, S., Nguyen, K., Wang, H.: Zero-knowledge arguments for lattice-based PRFs and applications to E-cash. In: ASIACRYPT, pp. 304–335. Springer, 2017

    Google Scholar 

  25. Ling, S., Nguyen, K., Stehlé, D., Wang, H.: Improved zero-knowledge proofs of knowledge for the ISIS problem, and applications. In: PKC, pp. 107–124. Springer, 2013

    Google Scholar 

  26. Ling, S., Nguyen, K., Wang, H., Xu, Y.: Lattice-based group signatures: achieving full dynamicity with ease. In: ACNS, pp. 293–312. Springer, 2017

    Google Scholar 

  27. Lofgren, P., Hopper, N.: Faust: efficient, TTP-free abuse prevention by anonymous whitelisting. In: Proceedings of the 10th Annual ACM Workshop on Privacy in the Electronic Society, pp. 125–130 (2011)

    Google Scholar 

  28. Lyubashevsky, V., Nguyen, N.K., Plancon, M., Seiler, G.: Shorter lattice-based group signatures via “almost free” encryption and other optimizations. In: International Conference on the Theory and Application of Cryptology and Information Security, pp. 218–248. Springer, 2021

    Google Scholar 

  29. Lyubashevsky, V., Nguyen, N.K., Seiler, G.: SMILE: set membership from ideal lattices with applications to ring signatures and confidential transactions. In: Annual International Cryptology Conference, pp. 611–640. Springer, 2021

    Google Scholar 

  30. Nguyen, L.: Accumulators from bilinear pairings and applications. In: CT-RSA, pp. 275–292. Springer, 2005

    Google Scholar 

  31. Regev, O.: On lattices, learning with errors, random linear codes, and cryptography. In: STOC, pp. 84–93. ACM (2005)

    Google Scholar 

  32. Rosenberg, M., Maller, M., Miers, I.: Snarkblock: federated anonymous blocklisting from hidden common input aggregate proofs. In: 2022 IEEE Symposium on Security and Privacy (SP), pp. 948–965. IEEE (2022)

    Google Scholar 

  33. Schanck, J .: Estimator. https://github.com/jschanck/estimator

  34. Tsang, P.P., Au, M.H., Kapadia, A., Smith, S.W.: Blacklistable anonymous credentials: blocking misbehaving users without TTPS. In: CCS, pp. 72–81. ACM (2007)

    Google Scholar 

  35. Tsang, P.P., Au, M.H., Kapadia, A., Smith, S.W.: PEREA: towards practical ttp-free revocation in anonymous authentication. In: CCS, pp. 333–344. ACM (2008)

    Google Scholar 

  36. Tsang, P.P., Au, M.H., Kapadia, A., Smith, S.W.: BLAC: revoking repeatedly misbehaving anonymous users without relying on TTPS. ACM Trans. Inf. Syst. Secur. (TISSEC) 13(4), 1–33 (2010)

    Google Scholar 

  37. Wang, W., Feng, D., Qin, Y., Shao, J., Xi, L., Chu, X.: Exblacr: extending blacr system. In: Australasian Conference on Information Security and Privacy, pp. 397–412. Springer, 2014

    Google Scholar 

  38. Xi, L., Feng, D.: FARB: fast anonymous reputation-based blacklisting without ttps. In: Proceedings of the 13th Workshop on Privacy in the Electronic Society, pp. 139–148 (2014)

    Google Scholar 

  39. Yang, R., Au, M.H., Lai, J., Xu, Q.: Lattice-based techniques for accountable anonymity: Composition of abstract stern’s protocols and weak PRF with efficient protocols from LWR. Cryptology ePrint Archive, Report 2017/781, 2017. http://eprint.iacr.org/2017/781

  40. Yang, R., Au, M.H., Xu, Q., Yu, Z.: Decentralized blacklistable anonymous credentials with reputation. Comput. Secur. 85, 353–371 (2019)

    Google Scholar 

  41. Yang, R., Au, M.H., Zhang, Z., Xu, Q., Yu, Z., Whyte, W.: Efficient lattice-based zero-knowledge arguments with standard soundness: construction and applications. In: CRYPTO, pp. 147–175. Springer, 2019

    Google Scholar 

  42. Yu, K.Y., Yuen, T.H., Chow, S.S., Yiu, S.M., Hui, L.C.: PE (AR) 2: privacy-enhanced anonymous authentication with reputation and revocation. In: European Symposium on Research in Computer Security, pp. 679–696. Springer, 2012

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zuoxia Yu .

Editor information

Editors and Affiliations

A Construction of Dynamic BLAC and Decentralized BLAC

A Construction of Dynamic BLAC and Decentralized BLAC

In this section, we give the constructions of lattice-based dynamic BLAC system and decentralized BLAC system.

1.1 A.1 Construction of Dynamic BLAC

In this section, we give the construction of dynamic BLAC system, where system users could dynamically join and leave (or being revoked from) the system. Despite it may seem useless to design a BLAC system with user revocation functionality, as it can be simply achieved by embedding the list of revocation users into the access policy. However, this will introduce additional increase to the size of policy circuit, especially in the case that the number of revocation users is huge. Consequently, the proof size generated in authentication protocol will get increased. While, the revocation method used in our construction avoids these disadvantages.

The construction of our dynamic BLAC works as follows:

  • Setup. This protocol is nearly the same as the Setup algorithm in static BLAC system, except with the follows:

    • Sample a random matrix \(\textbf{M} \in Z_{q}^{n \times nk_q}\), and a random string \(\textbf{msk} \in \{0,1\}^{nk_q}\), then compute \(\textbf{mpk} = \textbf{M} \cdot \textbf{msk} \mod q\).

    • GM maintains a table named as \(S^{*} = (\boldsymbol{y}_1^{*},\boldsymbol{y}_2^{*}, \ldots , \boldsymbol{y}^{*}_{N} )\), where for \(i \in [N]\), \(\boldsymbol{y}^{*}_i= \textbf{0}^{nk_q}\). Here, \(\boldsymbol{y}^{*}_{i}\) is used to store the information about the public-key of the legitimately registered users. Then build an updatable accumulator based on \(S^{*}\), namely, the Merkle-tree is an all-zero tree at the current stage.

    • Counter of registered users \( c=0\).

    Finally, it sets the group public key as \((N, \boldsymbol{A},\boldsymbol{D},\boldsymbol{P}, \textbf{M},\textbf{mpk})\), while the master secret key hold by group manager is \(\textbf{msk}\).

  • Registration. This protocol works nearly the same way as the Registration protocol in Sect. 4.1, except the way that GM enrolls user into the system. More precisely, for a user with public key \(\boldsymbol{y}\), GM first issues a unique identifier to the user as \(\textsf{bin}(c) \in \{0,1\}^{\ell } \), then calculate \(\boldsymbol{y}^{*}\) from \(\boldsymbol{y}\). Next, GM runs \({\textbf {ACC.Update}}(\textsf{bin}(c), \boldsymbol{y}^{*})\) to update the c-th leaf in the Merkle-tree to be \(\boldsymbol{y}^{*}\) and get the new root value. Finally, GM increases the counter \(c= c+1\). The user completes the registration process with private credential \(\boldsymbol{s}\) and public key \((\textsf{bin}(c),\boldsymbol{y})\).

  • Update. This protocol is run by GM to update the group information, namely, the witness for a user that he is enrolled in the system and advance the system time clock \(\tau \).

    1. 1.

      Let set \(R = \{\boldsymbol{y}^{*}_{j_1}, \boldsymbol{y}^{*}_{j_2}, \ldots , \boldsymbol{y}^{*}_{j_{t}}\}\) be the set of revoked users. If R is empty, then go to Step 2 directly. Otherwise, for each \({j} \in \{j_1, j_2, \ldots , j_{t}\}\), GM updates the corresponding j-th element of the accumulated set \(S^{*}\) to be \(\boldsymbol{y}^{*}_j = {\textbf {0}}^{nk_{q}}\), and updates accumulator by running \({\textbf {ACC.Update}}(\textsf{bin}(j), \boldsymbol{y}^{*}_j)\). Note that only user with non-zero public key could authenticate himself to SP in the new epoch \(\tau \).

    2. 2.

      Next, GM broadcasts the system information of current system time clock \(\tau \). In particular, the public system information is denoted as \(\textsf{Info}_{\tau } = (\tau , \textbf{u}_{\tau }, \{\omega _j\}_{j \in [N]})\),i.e., the latest accumulator value and witness for each legitimated user. Note that, \(\textsf{Info}_{\tau }\) is signed by GM to guarantee the integrity and the Merkle-tree based accumulator can only be modified by GM.

  • Authentication. In this protocol, a user (with private credential \(\boldsymbol{s}\) and public key \((\textsf{bin}(c), \boldsymbol{y})\)) first checks the validity of the signature for \(\textsf{Info}_{\tau }\) and whether \(\textsf{Info}_{\tau }\) contains a witness for node indexed as \(\textsf{bin}(c)\). If both yes, user proceeds in the same way as the Authentication protocol of static DBLC system. Otherwise, outputs \(\perp \).

The security of our proposed dynamic BLAC system is guaranteed by the following theorem whose proof will be presented in the full version of the paper.

Theorem A.1

Assume the worst-case hardness of GapSVP\(_{\gamma }\) (or SIVP\(_{\gamma }\)) for some polynomial \(\gamma \), then the blocklistable anonymous credential system constructed above is a secure BLAC system in the random oracle model.

1.2 A.2 Construction of Decentralized BLAC

In this section, we give a construction of decentralized blocklistable anonymous credential system for circuits, where no trusted party is needed to register users. To achieve this, our construction employs a public append-only ledger \(\mathcal {F}_{BB}^{*}\) (see [40] for its formal description), which can guarantee the integrity of data uploaded, provide a consistent view of the ledger and the latest data on the ledger for every party, and be instantiated by blockchain technology.

The construction of the system works as follows:

  • Setup. This protocol proceeds in the same way as it in Sect. 4.1 and outputs public parameter as \((N,\boldsymbol{A}, \boldsymbol{D}, \boldsymbol{P})\).

  • Registration. In this protocol, a user with auxiliary information \(\textsf{aux}\) and attributes \(\textsf{att}\) conducts some operations to register himself to the system. Here auxiliary information \(\textsf{aux}\) and attributes \(\textsf{att}\) are used to aid the service provider in deciding whether to accept the user as a valid candidate user for accessing their services. In particular, user generates his own public/privates keys and proof \(\varPi _{RES}\) as before except that \(\varPi _{RES}\) is on message \(\textsf{aux}\) and \(\textsf{att}\). Then user stores \((\textsf{Nym}, \boldsymbol{y}, \varPi _{RES},\textsf{aux},\textsf{att})\) to the public ledger and completes the registration.

  • Authentication. Here, a user with private credential \(\boldsymbol{s}\) and public key \((\boldsymbol{y}, \textsf{aux},\textsf{att})\) attempts to authenticates himself to a SP sid. Firstly, the user downloads the access requirement \((U,\textsf{C}, \mathcal {L})\) from the public ledger, where \(U = \{ \boldsymbol{y}_1, \boldsymbol{y}_2, \ldots , \boldsymbol{y}_{N}\}\) is the candidate user set specified by \(\textsf{sid}\), \(\textsf{C}\) is the policy circuit and \(\mathcal {L} =\{ (\mu _i, \boldsymbol{t}_i)\}_{i \in [1, \vert \mathcal {L} \vert ]}\) is the historical access list.

    Then the protocol proceeds nearly the same as the Authentication protocol in Sect. 4.1 except that user (resp. SP) needs to build the accumulator on set U by himself and performs all relevant computations on that accumulator value.

  • Interaction with The Ledger. There are mainly two kinds of interactions among system participants and the public ledger, namely, uploading data to and obtaining data from the public ledger. To obtain data from the ledger, any participant of the system just needs to submit a “retrieve” request to \(\mathcal {F}^{*}_{BB}\). Both users and service providers could upload data to the ledger through submitting a “store” request together with its pseudonym and its data to \(\mathcal {F}^{*}_{BB}\). Recall that, a user needs to upload personal information in the registration process. A service provider could upload the access requirement \((U,\textsf{C},\mathcal {L})\) and access history \((\mu , \textbf{t})\) of a successfully authenticated user to the historical access list \(\mathcal {L}\).

Security of the decentralized BLAC system given above is guaranteed by the following theorem whose proof will appear in the full version of the paper.

Theorem A.2

Assume the worst-case hardness of GapSVP\(_{\gamma }\) (or SIVP\(_{\gamma }\)) for some polynomial \(\gamma \), \(\mathcal {F}^{*}_{BB}\) is a secure public append-only ledger, then the blocklistable anonymous credential system constructed above is a secure BLAC system in the random oracle model.

Rights and permissions

Reprints and permissions

Copyright information

© 2025 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Yu, Z., Yang, R., Susilo, W., Au, M.H. (2025). Blocklistable Anonymous Credential for Circuits with Post-quantum Security. In: Liu, J.K., Chen, L., Sun, SF., Liu, X. (eds) Provable and Practical Security. ProvSec 2024. Lecture Notes in Computer Science, vol 14904. Springer, Singapore. https://doi.org/10.1007/978-981-96-0957-4_5

Download citation

  • DOI: https://doi.org/10.1007/978-981-96-0957-4_5

  • Published:

  • Publisher Name: Springer, Singapore

  • Print ISBN: 978-981-96-0956-7

  • Online ISBN: 978-981-96-0957-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics