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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
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.
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.
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
Ajtai, M.: Generating hard instances of lattice problems. In: STOC, pp. 99–108. ACM, 1996
Albrecht, M.R., et al.: Estimate all the LWE, NTRU schemes! In: SCN, pp. 351–367. Springer, 2018
Alkim, E., Ducas, L., Pöppelmann, T., Schwabe, P.: Post-quantum key exchange-a new hope. In: USENIX Security Symposium, vol. 2016, 2016
Au, M.H., Kapadia, A.: PERM: practical reputation-based blacklisting without TTPS. In: CCS, pp. 929–940. ACM, 2012
Au, M.H., Kapadia, A., Susilo, W.: Blacr: ttp-free blacklistable anonymous credentials with reputation. In: NDSS (2012)
Au, M.H., Susilo, W., Mu, Y.: Practical compact e-cash. In: ACISP, pp. 431–445. Springer, 2007
Banerjee, A., Peikert, C., Rosen, A.: Pseudorandom functions and lattices. In: EUROCRYPT, pp. 719–737. Springer, 2012
Boneh, D., Boyen, X., Shacham, H.: Short group signatures. In: CRYPTO, pp. 41–55. Springer, 2004
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
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)
Chaum, D.: Security without identification: transaction systems to make big brother obsolete. Commun. ACM 28(10), 1030–1044 (1985)
Chen, Y., Nguyen, P.Q.: BKZ 2.0: better lattice security estimates. In: ASIACRYPT, pp. 1–20. Springer, 2011
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
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
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
El Kaafarani, A., Katsumata, S.: Attribute-based signatures for unbounded circuits in the rom and efficient instantiations from lattices. In: PKC. Springer (2018)
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
Gama, N., Nguyen, P.Q.: Predicting lattice reduction. In: EUROCRYPT, pp. 31–51. Springer, 2008
Goldwasser, S., Micali, S., Rackoff, C.: The knowledge complexity of interactive proof-systems. In: STOC, pp. 291–304. ACM (1985)
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
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
Laarhoven, T.: Sieving for shortest vectors in lattices using angular locality-sensitive hashing. In: CRYPTO, pp. 3–22. Springer, 2015
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
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
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
Ling, S., Nguyen, K., Wang, H., Xu, Y.: Lattice-based group signatures: achieving full dynamicity with ease. In: ACNS, pp. 293–312. Springer, 2017
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)
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
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
Nguyen, L.: Accumulators from bilinear pairings and applications. In: CT-RSA, pp. 275–292. Springer, 2005
Regev, O.: On lattices, learning with errors, random linear codes, and cryptography. In: STOC, pp. 84–93. ACM (2005)
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)
Schanck, J .: Estimator. https://github.com/jschanck/estimator
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)
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)
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)
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
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)
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
Yang, R., Au, M.H., Xu, Q., Yu, Z.: Decentralized blacklistable anonymous credentials with reputation. Comput. Secur. 85, 353–371 (2019)
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
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
Author information
Authors and Affiliations
Corresponding author
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.
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.
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.
-
1.
-
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
Copyright information
© 2025 The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd.
About this paper
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)