Nothing Special   »   [go: up one dir, main page]

Skip to main content

Security Analysis of CMAC in the Multi-user Model

  • Conference paper
  • First Online:
Information Security (ISC 2024)

Abstract

CMAC, also known as OMAC1, is an efficient message authentication code (MAC) and has been standardized by NIST and other organizations. It has been widely applied in IPSec, IKE and many wireless networks. Multi-user security captures a practical scenario where an adversary targets a particular service related to multiple users. Lots of MAC constructions have been rigorously analyzed in the multi-user model. However, the concrete analysis for CMAC in the multi-user model is still a blank in the literature. To fill the gap, we provide a concrete multi-user security bound for CMAC in this paper. Our bound is better than that from generic reduction and we observe that the online security of CMAC in the multi-user model does not degrade from the single-user model.

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
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 74.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

Similar content being viewed by others

Notes

  1. 1.

    We omit lower-order terms and constant factors.

  2. 2.

    In the single-user model, the assumption is \(\ell \le 2^{n/3 }.\).

References

  1. Bellare, M., Bernstein, D.J., Tessaro, S.: Hash-function based PRFs: AMAC and its multi-user security. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9665, pp. 566–595. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49890-3_22

    Chapter  Google Scholar 

  2. Bellare, M., Boldyreva, A., Micali, S.: Public-key encryption in a multi-user setting: security proofs and improvements. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 259–274. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-45539-6_18

    Chapter  Google Scholar 

  3. Bellare, M., Kilian, J., Rogaway, P.: The security of the cipher block chaining message authentication code. J. Comput. Syst. Sci. 61(3), 362–399 (2000)

    Article  MathSciNet  Google Scholar 

  4. Bellare, M., Pietrzak, K., Rogaway, P.: Improved security analyses for CBC MACs. In: Shoup, V. (ed.) CRYPTO 2005. LNCS, vol. 3621, pp. 527–545. Springer, Heidelberg (2005). https://doi.org/10.1007/11535218_32

    Chapter  Google Scholar 

  5. Bellare, M., Tackmann, B.: The multi-user security of authenticated encryption: AES-GCM in TLS 1.3. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9814, pp. 247–276. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53018-4_10

    Chapter  Google Scholar 

  6. Biham, E.: How to decrypt or even substitute des-encrypted messages in 228 steps. Inf. Process. Lett. 84(3), 117–124 (2002)

    Article  Google Scholar 

  7. Black, J., Rogaway, P.: CBC MACs for arbitrary-length messages: the three-key constructions. In: Bellare, M. (ed.) CRYPTO 2000. LNCS, vol. 1880, pp. 197–215. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44598-6_12

    Chapter  Google Scholar 

  8. Black, J., Rogaway, P.: CBC macs for arbitrary-length messages: the three-key constructions. J. Cryptol. 18(2), 111–131 (2005)

    Article  MathSciNet  Google Scholar 

  9. Bose, P., Hoang, V.T., Tessaro, S.: Revisiting AES-GCM-SIV: multi-user security, faster key derivation, and better bounds. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10820, pp. 468–499. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-78381-9_18

    Chapter  Google Scholar 

  10. Bosselaers, A., Preneel, B.: Integrity Primitives for Secure Information Systems: Final Ripe Report of Race Integrity Primitives Evaluation, vol. 1007. Springer, Heidelberg (1995)

    Google Scholar 

  11. Chatterjee, S., Menezes, A., Sarkar, P.: Another look at tightness. In: Miri, A., Vaudenay, S. (eds.) SAC 2011. LNCS, vol. 7118, pp. 293–319. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28496-0_18

    Chapter  Google Scholar 

  12. Chen, S., Steinberger, J.: Tight security bounds for key-alternating ciphers. In: Nguyen, P.Q., Oswald, E. (eds.) EUROCRYPT 2014. LNCS, vol. 8441, pp. 327–350. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-55220-5_19

    Chapter  Google Scholar 

  13. Datta, N., Dutta, A., Nandi, M., Paul, G.: Double-block hash-then-sum: a paradigm for constructing BBB secure PRF. IACR Trans. Symmetric Cryptol. 2018(3), 36–92 (2018)

    Article  Google Scholar 

  14. Datta, N., Dutta, A., Nandi, M., Talnikar, S.: Tight multi-user security bound of dbhts. IACR Trans. Symmetric Cryptol. 192–223 (2023)

    Google Scholar 

  15. Dworkin, M.J.: Recommendation for block cipher modes of operation: the CMAC mode for authentication. NIST SP 800-38B (2005)

    Google Scholar 

  16. Guo, T., Wang, P.: A note on the security framework of two-key DbHtS MACs. In: Alcaraz, C., Chen, L., Li, S., Samarati, P. (eds.) ICICS 2022. LNCS, vol. 13407, pp. 55–68. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-15777-6_4

    Chapter  Google Scholar 

  17. Hoang, V.T., Tessaro, S.: Key-alternating ciphers and key-length extension: exact bounds and multi-user security. In: Robshaw, M., Katz, J. (eds.) CRYPTO 2016. LNCS, vol. 9814, pp. 3–32. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53018-4_1

    Chapter  Google Scholar 

  18. Hoang, V.T., Tessaro, S.: The multi-user security of double encryption. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10211, pp. 381–411. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56614-6_13

    Chapter  Google Scholar 

  19. ISO/IEC: Information Technology – Security Techniques – Message Authentication Codes (MACs) – Part 1: Mechanisms Using a Block Cipher. ISO/IEC 9797-1:2011 (2011)

    Google Scholar 

  20. Iwata, T., Kurosawa, K.: OMAC: one-key CBC MAC. In: Johansson, T. (ed.) FSE 2003. LNCS, vol. 2887, pp. 129–153. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-39887-5_11

    Chapter  Google Scholar 

  21. Iwata, T., Kurosawa, K.: Stronger security bounds for OMAC, TMAC, and XCBC. In: Johansson, T., Maitra, S. (eds.) INDOCRYPT 2003. LNCS, vol. 2904, pp. 402–415. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-24582-7_30

    Chapter  Google Scholar 

  22. Jha, A., Nandi, M.: Revisiting structure graph and its applications to CBC-MAC and EMAC. IACR Cryptol. ePrint Arch. 161 (2016). http://eprint.iacr.org/2016/161

  23. Kaufman, C., Hoffman, P.E., Nir, Y., Eronen, P., Kivinen, T.: Internet Key Exchange Protocol Version 2 (IKEv2). RFC 7296 (2014). https://www.rfc-editor.org/info/rfc7296

  24. Kurosawa, K., Iwata, T.: TMAC: two-key CBC MAC. In: Joye, M. (ed.) CT-RSA 2003. LNCS, vol. 2612, pp. 33–49. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36563-X_3

    Chapter  Google Scholar 

  25. Kurosawa, K., Iwata, T.: TMAC: two-key CBC MAC. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 87-A(1), 46–52 (2004)

    Google Scholar 

  26. Luykx, A., Mennink, B., Paterson, K.G.: Analyzing multi-key security degradation. In: Takagi, T., Peyrin, T. (eds.) ASIACRYPT 2017. LNCS, vol. 10625, pp. 575–605. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70697-9_20

    Chapter  Google Scholar 

  27. Morgan, A., Pass, R., Shi, E.: On the adaptive security of MACs and PRFs. In: Moriai, S., Wang, H. (eds.) ASIACRYPT 2020. LNCS, vol. 12491, pp. 724–753. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64837-4_24

    Chapter  Google Scholar 

  28. Mouha, N., Luykx, A.: Multi-key security: the even-mansour construction revisited. In: Gennaro, R., Robshaw, M. (eds.) CRYPTO 2015. LNCS, vol. 9215, pp. 209–223. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47989-6_10

    Chapter  Google Scholar 

  29. Naito, Y.: Blockcipher-based MACs: beyond the birthday bound without message length. In: Takagi, T., Peyrin, T. (eds.) ASIACRYPT 2017. LNCS, vol. 10626, pp. 446–470. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70700-6_16

    Chapter  Google Scholar 

  30. Naito, Y.: The multi-user security of macs via universal hashing in the ideal cipher model. In: Oswald, E. (ed.) CT-RSA 2024. LNCS, vol. 14643, pp. 51–77. Springer, Cham (2024). https://doi.org/10.1007/978-3-031-58868-6_3

    Chapter  Google Scholar 

  31. Nandi, M.: Improved security analysis for OMAC as a pseudorandom function. J. Math. Cryptol. 3(2), 133–148 (2009)

    Article  MathSciNet  Google Scholar 

  32. Patarin, J.: The “coefficients H’’ technique. In: Avanzi, R.M., Keliher, L., Sica, F. (eds.) SAC 2008. LNCS, vol. 5381, pp. 328–345. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04159-4_21

    Chapter  Google Scholar 

  33. Poovendran, R., Song, J., Lee, J.: The AES-CMAC-96 Algorithm and Its Use with IPsec. RFC 4494 (2006). https://doi.org/10.17487/RFC4494. https://www.rfc-editor.org/info/rfc4494

  34. Shen, Y., Wang, L., Gu, D., Weng, J.: Revisiting the security of DbHtS MACs: beyond-birthday-bound in the multi-user setting. In: Malkin, T., Peikert, C. (eds.) CRYPTO 2021. LNCS, vol. 12827, pp. 309–336. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-84252-9_11

    Chapter  Google Scholar 

  35. Song, J., Poovendran, R., Lee, J., Iwata, T.: The AES-CMAC algorithm. Technical report, RFC 4493 (2006)

    Google Scholar 

  36. Yasuda, K.: The sum of CBC MACs is a secure PRF. In: Pieprzyk, J. (ed.) CT-RSA 2010. LNCS, vol. 5985, pp. 366–381. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-11925-5_25

    Chapter  Google Scholar 

  37. Yasuda, K.: A new variant of PMAC: beyond the birthday bound. In: Rogaway, P. (ed.) CRYPTO 2011. LNCS, vol. 6841, pp. 596–609. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-22792-9_34

    Chapter  Google Scholar 

Download references

Acknowledgments

This study was funded by the National Key Research and Development Program of China (2019YFB2101601) and the National Natural Science Foundation of China (62372294).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lei Wang .

Editor information

Editors and Affiliations

A A Proof Details of Lemma 1

A A Proof Details of Lemma 1

Firstly we establish an upper bound on \({\text {Pr}}[\tau \in \mathsf {bad_{1}}]\). Recall that the event \(\mathsf {bad_{1}}\) occurs when there exist two distinct users i and j such that \(K_i=K_j\). As the keys of each user are sampled independently and uniformly at random in the ideal world, for any two fixed i and j, the probability that \(K_i=K_j\) holds is exactly \(2^{-k}\). Therefore, considering all the pairs of the users, we can conclude that

$$\begin{aligned} {\text {Pr}}[\tau \in \mathsf {bad_{1}}] \le \frac{u^2}{2^{k}}\le \frac{q^2}{2^{k}}. \end{aligned}$$

Then we establish an upper bound on \({\text {Pr}}[\tau \in \mathsf {bad_{2}}]\). Recall that the event \(\mathsf {bad_{2}}\) occurs when there exists an entry \((x,y)_J\in \textsf{P}\) such that \(x=0^n\) and \(J=K_i\) with \(i\in [u]\). \(\mathcal {D}\) can make p primitive queries at most and thus he can guess p different keys at most. For a particular user \(i\in [u]\), the chance that there exists a primitive query such that \(J=K_i\) holds is bounded by \(p/2^k\). Considering all the users, we have

$$\begin{aligned} {\text {Pr}}[\tau \in \mathsf {bad_{2}}] \le \frac{up}{2^{k}}. \end{aligned}$$

Next we establish an upper bound on \({\text {Pr}}[\tau \in \mathsf {bad_{3}}]\). Observe that CMAC processes the first \(m-1\) blocks of a message M in a CBC MAC manner, where m represents the total block length of M. For any two distinct messages \(M_1\) and \(M_2\) with block length \(m \le 2^{n/4}\), Bellare et al. [4, 22] show that

$$ {\text {Pr}}[\textsf{CBC}_K(M_1)=\textsf{CBC}_K(M_2)] \le \frac{2 \sqrt{m}}{2^{n}}+\frac{16m^{4}}{2^{2n}}. $$

Building on this, we can derive the following lemma.

Lemma 2

For any \(M \in \{0,1\}^{mn}\) with \(m \le 2^{n/4}\) and any \(Y \in \{0,1\}^{n}\) it follows that

$$ {\text {Pr}}[\textsf{CBC}_K(M)=Y] \le \frac{2 \sqrt{m}}{2^{n}}+\frac{16m^{4}}{2^{2n}}. $$

Proof

Let \(M_1 = X\Vert Y \) and \(M_2 = 0^n\). Then the event \(\textsf{CBC}_K(M)=Y\) is the same as \(\textsf{CBC}_K(M_1)=\textsf{CBC}_K(M_2)\). Hence we can obtain

$$\begin{aligned} {\text {Pr}}[\textsf{CBC}_K(M)=Y] &={\text {Pr}}[\textsf{CBC}_K(M_1)=\textsf{CBC}_K(M_2)]\\ &\le \frac{2 \sqrt{m}}{2^{n}}+\frac{16\,m^{4}}{2^{2n}}. \end{aligned}$$

Now we consider domain collisions between \(\textsf{P}'_i\) and a primitive entry \((x,y)_J\). For a fixed primitive entry \((x,y)_J\) and a specific user, the probability that \(K_i=J\) holds is \(1/2^k\). Assume that \(\ell \) is the maximum block length of messages for all evaluation queries. By Lemma 2, for fixed \((x,y)\in \textsf{P}^{K_i}\) and \((x',y')\in \textsf{P}'_i\), the probability that \(x'=x\) holds is bounded by \(\frac{2\sqrt{\ell }}{2^{n}}+\frac{16 \ell ^{4}}{2^{2n}}\). With \(|\textsf{P}'_i| \le q_i\) and \(|\textsf{P}^{K_i}| \le p\), such a bad event happens for a user is bounded \(\frac{2q_ip\sqrt{\ell }}{2^{n+k}}+\frac{16q_ip \ell ^{4}}{2^{2n+k}}\). Therefore, taking into account all the users, we can get

$$\begin{aligned} {\text {Pr}}{[\tau \in \mathsf {bad_{3}}]} &\le \sum _{i=1}^{u} \left( \frac{2q_ip\sqrt{\ell }}{2^{n+k}}+\frac{16q_ip \ell ^{4}}{2^{2n+k}}\right) \\ &\le \frac{2qp\sqrt{\ell }}{2^{n+k}}+\frac{16qp \ell ^{4}}{2^{2n+k}}. \end{aligned}$$

Now we establish an upper bound on \({\text {Pr}}[\tau \in \mathsf {bad_{4}}]\). In this case, we consider range collisions between \(\textsf{P}'_i\) and a primitive entry \((x,y)_J\). For a fixed primitive entry \((x,y)_J\) and a specific user i, the probability that \(K_i=J\) holds is \(1/2^k\). Further, for a primitive entry \((x,y)_J\) and a fixed \((x',y')\in \textsf{P}'_i\) the probability that \(y=y'\) satisfies is \(1/2^{n+k}\). For a specific user i, considering all the primitive entries and \(|\textsf{P}'_i| \le q_i\) the probability that such a bad event happens is bounded by \(q_i p/2^{n+k}\). Therefore, by varying over all possible choices of users, we have

$$\begin{aligned} {\text {Pr}}[\tau \in \mathsf {bad_{4}}] \le \sum _{i=1}^{u}\frac{q_i p}{2^{n+k}} \le \frac{qp}{2^{n+k}}. \end{aligned}$$

Next we establish an upper bound on \({\text {Pr}}[\tau \in \mathsf {bad_{5}}]\). All the elements in \(\textsf{rng}(\textsf{P}'_i)\), that are the set of the responded tags for evaluation queries, are sampled uniformly at random. Then for any fixed \((x,y), (x',y')\in \textsf{P}'_i\), the probability of \(y=y'\) is \(1/2^n\). with \(|\textsf{P}'_i|\le q_i\), it follows that, for each user i, the probability of \(y=y'\) is bounded by \(q_i^2/2^n\). Therefore, considering all the users, we can obtain:

$$\begin{aligned} {\text {Pr}}[\tau \in \mathsf {bad_{3}}] \le \sum _{i=1}^{u}\frac{q_i^2}{2^{n}}\le \frac{q^2}{2^{n}}. \end{aligned}$$

Next we jointly constrain the probabilities of \(\mathsf {bad_6}\) and \(\mathsf {bad_7}\). Prior to this, we introduce the following lemma extracted from the referenced paper [31] For additional details, please refer to the paper.

Lemma 3

([31]). For CMAC in the single-user setting, if the distinguisher makes q evaluation queries of total block length of \(\sigma \) with block length of each message is \(m_i\) for \(1\le i\le q\), the probability that there exist collisions between final inputs and intermediate inputs is upper bounded by

$$\begin{aligned} \frac{4(q-1) \sigma }{2^n}+\sum _{1 \le s<t\le q} \frac{\left( m_{s}+m_{t}\right) ^{4}}{2^{2n}}. \end{aligned}$$

Note that in Lemma 3, “collisions between final inputs and intermediate inputs” encompass both the collisions between two final inputs and the collisions between a final input and an intermediate input. That is the reason that we bound the probabilities of \(\mathsf {bad_6}\) and \(\mathsf {bad_7}\) together. As Lemma 3 specifically pertains to a single user, expanding our consideration to include all users, we have

$$\begin{aligned} {\text {Pr}}{[\tau \in \mathsf {bad_6}\cup \mathsf {bad_7}]}&\le \sum _{i=1}^{u}\left( \frac{4(q_i-1) \sigma _i}{N}+\sum _{1 \le s<t\le q_i} \frac{\left( m^{i,s}+m^{i,t}\right) ^{4}}{N^{2}}\right) \\ &\le \sum _{i=1}^{u}\frac{12q_i\sigma _i}{2^n}\le \frac{12q\sigma }{2^n}. \end{aligned}$$

Now we establish an upper bound on \({\text {Pr}}[\tau \in \mathsf {bad_{8}}]\). For each user i, the set \(\textsf{P}_i\) contains, at most, \(\sigma _i-q_i\) pairwise distinct elements When \(|\textsf{P}_i|=\sigma _i-q_i\) it indicates that there exist no collisions among intermediate inputs (excluding final inputs) and among intermediate outputs, and in such circumstances \(\textsf{bad}_{8}\) is most likely to occur. To streamline the analysis, we systematically index the elements in \(\textsf{P}_i\) based on their order of occurrence. Specifically, \(\textsf{P}_i=\{(x^{i}_{1},y^{i}_{1}),\cdots ,(x^{i}_{\sigma _i-q_i},y^{i}_{\sigma _i-q_i})\}\). We set an event \(\textsf{E}^{i}_j\) as true if \(y_{j}^{i} \notin \textsf{rng}(\textsf{P}'_i)\) with \(1 \le i \le u, 1\le j \le \sigma _i-q_i\). Additionally, we define another event \(\textsf{E}^{i}_{\le j}\) as \(\bigcup _{t=1}^{j}\textsf{E}^{i}_{t}\). It is observed that

$${\text {Pr}}\left[ \textsf{E}^i_{j+1}=1 \mid \textsf{E}^{i}_{\le j}=1\right] \ge \frac{2^n-q_i-j}{2^n-j},$$

and hence

$$ {\text {Pr}}\left[ \textsf{E}^i_{\le \sigma _i-q_i}=1\right] \ge \prod _{j=1}^{\sigma _i-q_i} \frac{2^n-q_i-j}{2^n-j} = \prod _{j=1}^{\sigma _i-q_i} (1-\frac{q_i}{2^n-j}). $$

The consideration of all users leads us to conclude that

$$\begin{aligned} {\text {Pr}}\left[ \bigcap _{i=1}^{u}\textsf{E}^i_{\le \sigma _i-q_i}=1\right] &\ge \prod _{i=0}^{u} \prod _{j=0}^{\sigma _i-q_i} (1-\frac{q_i}{2^n-j}).\\ &\ge \prod _{i=0}^{u} \left( 1-\frac{q_i(\sigma _i-q_i)}{2^n-(\sigma _i-q_i)}\right) \\ &\ge 1-\sum _{i=0}^{u} \frac{q_i(\sigma _i-q_i)}{2^n-(\sigma _i-q_i)}. \end{aligned}$$

Assuming that \(\sigma \le 2^{n-1}\), we can get

$$\begin{aligned} {\text {Pr}}{[\tau \in \mathsf {bad_{8}}]} &=1-{\text {Pr}}\left[ \bigcap _{i=1}^{u}\textsf{E}^i_{\le \sigma _i-q_i}=1\right] \\ &\le \sum _{i=0}^{u} \frac{q_i(\sigma _i-q_i)}{2^n-(\sigma _i-q_i)} \le \frac{q\sigma }{2^n-\sigma } \le \frac{2q\sigma }{2^n}. \end{aligned}$$

Rights and permissions

Reprints and permissions

Copyright information

© 2025 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zhang, X., Shen, Y., Wang, L. (2025). Security Analysis of CMAC in the Multi-user Model. In: Mouha, N., Nikiforakis, N. (eds) Information Security. ISC 2024. Lecture Notes in Computer Science, vol 15257. Springer, Cham. https://doi.org/10.1007/978-3-031-75757-0_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-75757-0_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-75756-3

  • Online ISBN: 978-3-031-75757-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics