Skip to main content

TMPS: Ticket-Mediated Password Strengthening

  • Conference paper
  • First Online:
Topics in Cryptology – CT-RSA 2020 (CT-RSA 2020)

Abstract

We introduce the notion of TMPS: Ticket-Mediated Password Strengthening, a technique for allowing users to derive keys from passwords while imposing a strict limit on the number of guesses of their password any attacker can make, and strongly protecting the users’ privacy. We describe the security requirements of TMPS, and then a set of efficient and practical protocols to implement a TMPS scheme, requiring only hash functions, CCA2-secure encryption, and blind signatures. We provide several variant protocols, including an offline symmetric-only protocol that uses a local trusted computing environment, and online variants that use group signatures or stronger trust assumptions instead of blind signatures. We formalize the security of our scheme by defining an ideal functionality in the Universal Composability (UC) framework, and by providing game-based definitions of security. We prove that our protocol realizes the ideal functionality in the random oracle model (ROM) under adaptive corruptions with erasures, and prove that security with respect to the ideal/real definition implies security with respect to the game-based definitions.

This work was supported in part by NSF grants #CNS-1933033, #CNS-1840893, #CNS-1453045 (CAREER), by a research partnership award from Cisco and by financial assistance award 70NANB15H328 from the U.S. Department of Commerce, National Institute of Standards and Technology.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    In the full paper, we also provide an optional variant scheme for offline access–allowing a very computationally expensive key derivation when the server is unavailable, albeit at the cost of losing the limit on maximum number of guesses.

  2. 2.

    Note that full user privacy requires the user to communicate with the server over an anonymous channel.

  3. 3.

    Note that this is a straightforward engineering tradeoff–PHE avoids local storage, so it is more deployable, but the cost of that decision is that the user’s data can be compromised even without compromising her device. TMPS makes the opposite tradeoff–the system is harder to deploy because it needs local storage, but it provides a corresponding security advantage.

  4. 4.

    For convenience, we refer to “the user” generating random values and running protocols in the rest of this paper when we really mean “software on the user’s device.” The user herself should only need to remember the password, and perhaps provide credentials to identify herself to the server when she requests new tickets.

  5. 5.

    To get a strong privacy guarantee, the user must communicate with the server over an anonymous communications channel. However, there’s also a practical privacy benefit to a scheme in which the server has no reason to keep track of the times each user has unlocked a file.

  6. 6.

    An attacker who can alter a ciphertext to get a new valid ciphertext for the same plaintext can attack our scheme.

  7. 7.

    Variants which do not require a blind signature scheme appear in the full paper.

  8. 8.

    Rolling over to new keys periodically can be done, but old decryption keys must be kept active until all tickets issued for them have been used–this could plausibly mean that old decryption keys never go away, and this does not allow for recovery from compromise of a decryption key.

  9. 9.

    The ideal functionality is defined to return one ticket per \(\textsc {Request}\), but in our protocol description above, we define \(\textsc {Request}\) to return t tickets at a time. This is equivalent to just rerunning the \(\textsc {Request}\) ideal functionality t times.

  10. 10.

    We remark that Dodis et al. [12] showed that HMAC is not indifferentiable from a random oracle. However, their attack only applies when one allows different sizes for the HMAC key. Since we require B to always be a fixed length, this attack does not apply to our setting–finding two values of B that give identical results from HMAC, implies finding collisions for the underlying hash function.

  11. 11.

    We note that for UC composition to hold in the programmable random oracle model, one must, in general, assume that an independent random oracle is used for each \(\textsc {sid}\) instance. In our case, we essentially use the programmability of the random oracle to implement a non-committing encryption scheme (see [11]), by adjusting the outcome of \(H_{\mathsf {VE}}\) to ensure that the string \(Z_i\) decrypts to the correct \(K_P\) value. Camenisch et al. [7] showed that some natural non-committing encryption schemes in the programmable random oracle model can be proven secure in the UC setting, since the simulator only needs to program the random oracle at random inputs, which have negligible chance of being already queried or programmed. We anticipate that a similar argument would work for our scheme, since \(D^i_j\) is unpredictable and with very high probability will not be queried in any other session before being programmed in the target session. However, our formal proof is only for the case where an independent random oracle is assumed for each session.

  12. 12.

    We will make source code available on a public-facing git repository.

  13. 13.

    Any mention of commercial products within the paper is for information only; it does not imply recommendation or endorsement by NIST.

  14. 14.

    The extra work for getting a blind RSA signature is done by the person requesting the blind signature–they must blind the signature request, and unblind the value they get back from the signer.

  15. 15.

    We can use a relatively short hash because we don’t care about collisions–an attacker who forces two tickets to collide simply deprives himself of the use of one of his tickets.

References

  1. Agrawal, S., Miao, P., Mohassel, P., Mukherjee, P.: PASTA: password-based threshold authentication. In: ACM Conference on Computer and Communications Security, pp. 2042–2059. ACM (2018)

    Google Scholar 

  2. Akhawe, D.: How dropbox securely stores your passwords (2016). https://blogs.dropbox.com/tech/2016/09/how-dropbox-securely-stores-your-passwords/. Accessed 4 January 2019

  3. Bellare, M., Micciancio, D., Warinschi, B.: Foundations of group signatures: formal definitions, simplified requirements, and a construction based on general assumptions. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656, pp. 614–629. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-39200-9_38

    Chapter  Google Scholar 

  4. Bellare, M., Pointcheval, D., Rogaway, P.: Authenticated key exchange secure against dictionary attacks. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 139–155. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-45539-6_11. http://dl.acm.org/citation.cfm?id=1756169.1756185

    Chapter  Google Scholar 

  5. Bellovin, S.M., Merritt, M.: Encrypted key exchange: password-based protocols secure against dictionary attacks. In: IEEE Symposium on Research in Security and Privacy, pp. 72–84 (1992)

    Google Scholar 

  6. Biryukov, A., Dinu, D., Khovratovich, D.: Argon2: New generation of memory-hard functions for password hashing and other applications. In: IEEE European Symposium on Security and Privacy, EuroS&P 2016, Saarbrücken, Germany, 21–24 March 2016, pp. 292–302. IEEE (2016). https://doi.org/10.1109/EuroSP.2016.31, http://dx.doi.org/10.1109/EuroSP.2016.31

  7. Camenisch, J., Drijvers, M., Gagliardoni, T., Lehmann, A., Neven, G.: The wonderful world of global random oracles. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10820, pp. 280–312. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78381-9_11

    Chapter  Google Scholar 

  8. Camenisch, J., Enderlein, R.R., Neven, G.: Two-server password-authenticated secret sharing UC-secure against transient corruptions. Cryptology ePrint Archive, Report 2015/006 (2015). http://eprint.iacr.org/2015/006

  9. Canetti, R.: Security and composition of multiparty cryptographic protocols. J. Cryptology 13(1), 143–202 (2000). https://doi.org/10.1007/s001459910006

    Article  MathSciNet  MATH  Google Scholar 

  10. Canetti, R., Damgård, I., Dziembowski, S., Ishai, Y., Malkin, T.: On adaptive vs. non-adaptive security of multiparty protocols. In: Pfitzmann, B. (ed.) EUROCRYPT 2001. LNCS, vol. 2045, pp. 262–279. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44987-6_17

    Chapter  Google Scholar 

  11. Canetti, R., Feige, U., Goldreich, O., Naor, M.: Adaptively secure multi-party computation. In: 28th ACM STOC, pp. 639–648. ACM Press, May 1996. https://doi.org/10.1145/237814.238015

  12. Dodis, Y., Ristenpart, T., Steinberger, J., Tessaro, S.: To hash or not to hash again? (In)Differentiability results for H2 and HMAC. In: Safavi-Naini, R., Canetti, R. (eds.) CRYPTO 2012. LNCS, vol. 7417, pp. 348–366. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32009-5_21

    Chapter  MATH  Google Scholar 

  13. Everspaugh, A., Chaterjee, R., Scott, S., Juels, A., Ristenpart, T.: The pythia PRF service. In: 24th USENIX Security Symposium (USENIX Security 15), pp. 547–562. USENIX Association, Washington, D.C. (2015). https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/everspaugh

  14. Hohenberger, S., Lewko, A., Waters, B.: Detecting dangerous queries: a new approach for chosen ciphertext security. Cryptology ePrint Archive, Report 2012/006 (2012). http://eprint.iacr.org/2012/006

  15. Jarecki, S., Kiayias, A., Krawczyk, H., Xu, J.: TOPPSS: cost-minimal password-protected secret sharing based on threshold OPRF. In: Gollmann, D., Miyaji, A., Kikuchi, H. (eds.) ACNS 2017. LNCS, vol. 10355, pp. 39–58. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-61204-1_3

    Chapter  Google Scholar 

  16. Jarecki, S., Krawczyk, H., Xu, J.: OPAQUE: an asymmetric PAKE protocol secure against pre-computation attacks. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10822, pp. 456–486. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78372-7_15

    Chapter  Google Scholar 

  17. Katz, J., Lindell, Y.: Introduction to Modern Cryptography, 2nd edn. CRC Press, Boca Raton (2014)

    MATH  Google Scholar 

  18. Kelsey, J., Dachman-Soled, D., Mishra, S., Turan, M.S.: TMPS: ticket-mediated password strengthening. IACR Cryptology ePrint Archive 2019, 543 (2019). https://eprint.iacr.org/2019/543

  19. Lai, R.W.F., Egger, C., Reinert, M., Chow, S.S.M., Maffei, M., Schröder, D.: Simple password-hardened encryption services. In: 27th USENIX Security Symposium (USENIX Security 18), pp. 1405–1421. USENIX Association, Baltimore, MD (2018). https://www.usenix.org/conference/usenixsecurity18/presentation/lai

  20. Lai, R.W.F., Egger, C., Schröder, D., Chow, S.S.M.: Phoenix: rebirth of a cryptographic password-hardening service. In: 26th USENIX Security Symposium (USENIX Security 17), pp. 899–916. USENIX Association, Vancouver, BC (2017). https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/lai

  21. Lindell, A.Y.: Adaptively secure two-party computation with erasures. In: Fischlin, M. (ed.) CT-RSA 2009. LNCS, vol. 5473, pp. 117–132. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-00862-7_8

    Chapter  Google Scholar 

  22. Mani, A.: Life of a password. In: Real World Crypto 2015 (2015). https://rwc.iacr.org/2015/Slides/RWC-2015-Amani.pdf

  23. Muffett, A.: Facebook: password hashing & authentication. Presentation at Passwords 2014 Conference, NTNU (2014). https://video.adm.ntnu.no/pres/54b660049af94

  24. Muffett, A.: Life of a password. Presentation at Real World Crypto 2015 (2015)

    Google Scholar 

  25. Schneider, J., Fleischhacker, N., Schröder, D., Backes, M.: Efficient cryptographic password hardening services from partially oblivious commitments. In: Weippl, E.R., Katzenbeisser, S., Kruegel, C., Myers, A.C., Halevi, S. (eds.) Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 24–28 October 2016, pp. 1192–1203. ACM (2016). http://dl.acm.org/citation.cfm?id=2976749

  26. Schröder, D., Unruh, D.: Security of blind signatures revisited. In: Fischlin, M., Buchmann, J., Manulis, M. (eds.) PKC 2012. LNCS, vol. 7293, pp. 662–679. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-30057-8_39

    Chapter  Google Scholar 

  27. Sönmez Turan, M., Barker, E.B., Burr, W.E., Chen, L.: SP 800–132. recommendation for password-based key derivation: Part 1: Storage applications. Technical report, National Institute of Standards & Technology, Gaithersburg, MD, United States (2010)

    Google Scholar 

  28. Wu, T.: The SRP authentication and key exchange system. RFC 2945, pp. 1–8 (2000). https://doi.org/10.17487/RFC2945

Download references

Acknowledgements

The authors gratefully acknowledge Bart Preneel, Vincent Rijmen, Frank Piessens, Peihan Miao, Ray Perlner, Kristen Greene, and the many attendees of the Fall 2018 DC Area Crypto Day and NIST Crypto Reading Group for useful feedback and suggestions on this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Dana Dachman-Soled .

Editor information

Editors and Affiliations

Appendices

Appendix

A Definitions

In this section, we mention the key definitions used in the security analysis of our protocol to facilitate better understanding. Our exposition closely follows [3, 14, 17, 26].

Definition 1

[Encryption System]. An encryption system can be defined as a tuple of probabilistic polynomial-time algorithms \(\varPi _{{\mathtt{{ENC}}}}(\mathtt{{GEN}}, {\mathtt{{ENC}}}, {\mathtt{{DEC}}})\) such that:

  1. 1.

    The key-generation algorithm \(\mathtt{{GEN}}\) takes as input the security parameter \(1^{n}\) and outputs a key K.

  2. 2.

    The encryption algorithm \({\mathtt{{ENC}}}\) takes as input a key K and a plaintext message \(M \in \{0,1\}^*\), and outputs a ciphertext C where \(C \leftarrow {{\mathtt{{ENC}}}}_K(M)\).

  3. 3.

    The decryption algorithm \({\mathtt{{DEC}}}\) takes as input a key and a ciphertext, and outputs a message. We assume without loss of generality that the decryption algorithm corresponding \({{\mathtt{{ENC}}}}_K\) is \({{\mathtt{{DEC}}}}_K\) such that \(M = {{\mathtt{{DEC}}}}_K(C)\) and for every n, every key K output by \(\mathtt{{GEN}}\)(\(1^{n}\)), and every \(M \in \{0,1\}^*\), it holds that \({\mathtt{{DEC}}}_K({{\mathtt{{ENC}}}}_K(M)) = M.\)

The Chosen-Ciphertext Attack (CCA) Security Experiment \({PrivK}^{cca}_{\mathcal {A}, \varPi _{{\mathtt{{ENC}}}}}({n})\): Consider the following experiment for an encryption system \(\varPi _{{\mathtt{{ENC}}}} = (\mathtt{{GEN}}, {\mathtt{{ENC}}}, {\mathtt{{DEC}}})\), adversary \(\mathcal {A}\), and value n for the security parameter.

  1. 1.

    A random key K is generated by running \(\mathtt{{GEN}}\)(\(1^{n}\)).

  2. 2.

    The adversary \(\mathcal {A}\) is given input \(1^{n}\) and oracle access to \({{\mathtt{{ENC}}}}_K\)(\(\cdot \)) and \({{\mathtt{{DEC}}}}_K\)(\(\cdot \)). It outputs a pair of messages \(M_0\), \(M_1\) of the same length.

  3. 3.

    A random bit \(b \leftarrow \{0,1\}\) is chosen, and then a ciphertext \(C \leftarrow {{\mathtt{{ENC}}}}_K(M_b)\) is computed and given to \(\mathcal {A}\). We call C the challenge ciphertext.

  4. 4.

    The adversary \(\mathcal {A}\) continues to have oracle access to \({{\mathtt{{ENC}}}}_K\)(\(\cdot \)) and \({{\mathtt{{DEC}}}}_K\)(\(\cdot \)), but is not allowed to query the latter on the challenge ciphertext itself. Eventually, \(\mathcal {A}\) outputs a bit \(b'\)

  5. 5.

    The output of the experiment is defined to be 1 if \(b'=b\), and 0 otherwise.

Definition 2

[CCA Security]. An encryption system \(\varPi _{{\mathtt{{ENC}}}}\) has indistinguishable encryptions under a chosen-ciphertext attack (or is CCA-secure) if for all probabilistic polynomial-time adversaries \(\mathcal {A}\) there exists a negligible function negl such that:

$$Pr[{PrivK}^{cca}_{\mathcal {A}, \varPi _{{\mathtt{{ENC}}}}}({n}) = 1] \le \frac{1}{2} + negl({n}),$$

where the probability is taken over all random coins used in the experiment.

Other variants of the CCA Security definition are defined below.

Definition 3

[Chosen Plaintext Attack (CPA) Security]. Similar to the security experiment of CCA except that the Adversary \(\mathcal {A}\) is not given access to decryption oracle at step 2 and step 4.

Definition 4

[Non-adaptive CCA or CCA1 Security]. Similar to the security experiment of CCA except that the Adversary \(\mathcal {A}\) is not given access to decryption oracle at step 4.

Definition 5

[Adaptive CCA or CCA2 Security]. Similar to the security experiment of CCA where the Adversary \(\mathcal {A}\) is allowed to perform a polynomially bounded number of encryptions, decryptions or other calculations over inputs of its choice except on the challenge ciphertext.

Definition 6

[Signature Scheme]. A signature scheme is a tuple of probabilistic polynomial-time algorithms \(\varPi _{SIG}(\mathtt{{GEN}}, \mathtt{{SIGN}}, \mathtt{{VERIFY}})\) such that:

  1. 1.

    The key-generation algorithm \(\mathtt{{GEN}}\) takes as input a security parameter \(1^{n}\) and outputs a pair of keys (PKSK). These are called the public key and the private key, respectively.

  2. 2.

    The signing algorithm \(\mathtt{{SIGN}}\) takes as input a private key SK and a message M from some underlying message space. It outputs a signature F represented as \(F \leftarrow {\mathtt{{SIGN}}}_{SK}(M)\).

  3. 3.

    The deterministic verification algorithm \(\mathtt{{VERIFY}}\) takes as input a public key PK, a message M, and a signature F. It outputs a bit b represented as \(b =\) \(\mathtt{{VERIFY}}_{PK}(M, F)\) where \(b = 1\) means valid and \(b = 0\) means invalid.

We require that for every n, every (PKSK) output by \(\mathtt{{GEN}}\)(\(1^{n}\)), and every message M in the appropriate underlying plaintext space, it holds that

$${\mathtt{{VERIFY}}}_{PK}(M, {\mathtt{{SIGN}}}_{SK}(M)) = 1.$$

We say F is a valid signature on a message M if \({\mathtt{{VERIFY}}}_{PK}(M, F) = 1.\)

Definition 7

[Blind Signature]. A 2-move blind signature scheme is an interactive signature scheme with signer \(\mathcal {S}\) and user \(\mathcal {U}\) and can be defined as a tuple of probabilistic polynomial-time algorithms \(\varPi _{BSIG} = (\mathtt{{GEN}}, \mathtt{{BLIND}}, \mathtt{{UBLIND}}, \mathtt{{SIGN}}, \mathtt{{BVERIFY}})\) such that:

  1. 1.

    The key-generation algorithm Gen takes as input a security parameter \(1^{n}\) and outputs a pair of keys (PKSK). These are called the public key and the private key, respectively.

  2. 2.

    Signature Issuing. The parties execute the following protocol, denoted \(\langle \mathcal {U}(PK, M), \mathcal {S}(SK) \rangle \):

    1. (a)

      \(M^* \leftarrow \mathtt{{BLIND}}(M)\): The user blinds the message M to obtain \(M^*\) and sends to the signer.

    2. (b)

      \(F^* \leftarrow \mathtt{{SIGN}}_{SK}(M^*)\): The signer outputs a signature \(F^*\) on input of message \(M^*\) and private key SK and sends to the user.

    3. (c)

      \(F \leftarrow \mathtt{{UBLIND}}(F^*)\): The user unblinds the signature \(F^*\) to obtain F. Note that the user inputs additional private state to the \(\mathtt{{UBLIND}}\) algorithm, which we leave implicit.

  3. 3.

    The deterministic verification algorithm \(\mathtt{{BVERIFY}}\) takes as input a public key PK, a message M, and a signature F. It outputs a bit b where \(b = 1\) means valid and \(b = 0\) means invalid.

We require that for every n, every (PKSK) output by \(\mathtt{{GEN}}\)(\(1^{n}\)), and every message \(M \in \{0, 1\}^n\) and any F output by \(\mathcal {U}\) in the joint execution of \(\langle \mathcal {U}(PK, M), \mathcal {S}(SK) \rangle \), it holds that

$${\mathtt{{BVERIFY}}}_{PK}(M, F)=1.$$

The security of blind signature schemes requires two properties, namely unforgeability and blindness.

Definition 8

[Unforgeability]. A 2-move blind signature scheme \(\varPi _{BSIG} = (\mathtt{{GEN}}, \mathtt{{BLIND}}, \mathtt{{UBLIND}}, \mathtt{{SIGN}}, \mathtt{{BVERIFY}})\) is called unforgeable if for any efficient algorithm \(\mathcal {A}\) the probability that experiment \({\text{ Unforge }}^{\varPi _{BSIG}}_{\mathcal {A}}(n)\) evaluates to 1 is negligible (as a function of n) where

Experiment Forge \(_{\varPi _{BSIG}}^{\mathcal {A}}\)

  1. 1.

    \((SK, PK) \leftarrow \mathtt{{GEN}}(1^{n})\)

  2. 2.

    ((\(M_1, F_1\)), \(\cdots \), \((M_{k+1}, {F}_{k+1})\)) \(\leftarrow \mathcal {A}^{{\langle \cdot , \mathcal {S}(SK) \rangle }^{\infty }}(PK)\) Return 1 iff

    1. (a)

      \(M_i \ne M_j\) for \(1 \le i < j \le k+1\) and

    2. (b)

      \({\mathtt{{BVERIFY}}}_{PK}(M_i, F_i) = 1\) for all \(i= 1, 2, \cdots , k+1,\) and

    3. (c)

      at most k interactions with \({\langle \cdot , \mathcal {S}(SK) \rangle }^{\infty }\) were completed.

Definition 9

[Blindness]. A 2-move blind signature scheme \(\varPi _{BSIG} = (\mathtt{{GEN}}, \mathtt{{BLIND}}, \mathtt{{UBLIND}}, \mathtt{{SIGN}}, \mathtt{{BVERIFY}})\) is called blind if for any efficient algorithm \(\mathcal {A}\) the probability that experiment \({Blind}^{\varPi _{BSIG}}_{{\mathtt{{BSIGN}}^*}}(n)\) evaluates to 1 is negligibly close to \(\frac{1}{2}\) where

Experiment Blind \(^{\varPi _{BSIG}}_{\mathtt{{BSIGN}}^*}\)

  1. 1.

    \((PK, M_0, M_1, {st}_{find}) \leftarrow {\mathcal {A}}(find, 1^{n})\)

  2. 2.

    \(b \leftarrow \{0, 1\}\)

  3. 3.

    \({st}_{issue}\leftarrow {\mathcal {A}}^{{\langle \mathcal {U}(PK, M_b), \cdot \rangle }^{1}, {\langle \mathcal {U}(PK, M_{1-b}), \cdot \rangle }^{1}}(issue, {st}_{find})\) and let \(F_b, F_{1-b}\) denote the (possibly undefined) local outputs of \(\mathcal {U}(PK, M_b)\) resp. \(\mathcal {U}(PK, M_{1-b})\)

  4. 4.

    set \((F_0, F_1) = (\bot , \bot )\) if \(F_0 = \bot \) or \(F_1 = \bot \)

  5. 5.

    \(b^* = {\mathcal {A}}(guess, F_0, F_1, st_{issue})\)

  6. 6.

    return 1 iff \(b = b^*\).

Definition 10

[Group Signature]. A group signature scheme \(\varPi _{GSIG}\) = \((GK_g, \mathtt{{GSIGN}}, \mathtt{{GVERIFY}}, \mathtt{{OPEN}})\) consists of four polynomial-time algorithms:

  1. 1.

    The randomized group key generation algorithm \(GK_g\) takes input a security parameter \(1^{n}\) and \(1^m\) where \(m \in \mathbb {N}\) is the group size and outputs a tuple (gPKgmSKgSK), where gPK is the group public key, gmSK is the group manager’s secret key, and gSK is an n-vector of keys with gSK[i] being a secret signing key for player \(i \in [m]\).

  2. 2.

    The randomized group signing algorithm \(\mathtt{{GSIGN}}\) takes as input a secret signing key gSK[i] and a message M to return a signature of M under gSK[i] \(i \in [m]\).

  3. 3.

    The deterministic group signature verification algorithm \(\mathtt{{GVERIFY}}\) takes as input the group public key gPK, a message M, and a candidate signature F for M to return either 1 or 0.

  4. 4.

    The deterministic opening algorithm \(\mathtt{{OPEN}}\) takes as input the group manager secret key gmSK, a message M, and a signature F of M to return an identity i or the symbol \(\bot \) to indicate failure.

Correctness: The scheme must satisfy the following correctness requirement. For all \(n, m \in \mathbb {N}\), all \((gPK, gmSK, gSK) \in [GK_g (1^{n}, 1^m)]\), all \(i \in [n]\) and all \(M \in \{0, 1\}^*\)

$${\mathtt{{GVERIFY}}}(gPK, M, {\mathtt{{GSIGN}}}(gSK[i], M))=1 \text{ and } $$
$$ {\mathtt{{OPEN}}}(gmSK, M, {\mathtt{{GSIGN}}}(gSK[i], M))=i$$

Definitions of security in the Universal Composability (UC) framework. We refer to previous work [9, 10, 21] for definitions of UC secure computation in the adaptive-corruption setting.

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Kelsey, J., Dachman-Soled, D., Mishra, S., Turan, M.S. (2020). TMPS: Ticket-Mediated Password Strengthening. In: Jarecki, S. (eds) Topics in Cryptology – CT-RSA 2020. CT-RSA 2020. Lecture Notes in Computer Science(), vol 12006. Springer, Cham. https://doi.org/10.1007/978-3-030-40186-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-40186-3_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-40185-6

  • Online ISBN: 978-3-030-40186-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics