Skip to main content
Log in

Data minimisation in communication protocols: a formal analysis framework and application to identity management

  • Regular Contribution
  • Published:
International Journal of Information Security Aims and scope Submit manuscript

Abstract

With the growing amount of personal information exchanged over the Internet, privacy is becoming more and more a concern for users. One of the key principles in protecting privacy is data minimisation. This principle requires that only the minimum amount of information necessary to accomplish a certain goal is collected and processed. “Privacy-enhancing” communication protocols have been proposed to guarantee data minimisation in a wide range of applications. However, currently, there is no satisfactory way to assess and compare the privacy they offer in a precise way: existing analyses are either too informal and high level or specific for one particular system. In this work, we propose a general formal framework to analyse and compare communication protocols with respect to privacy by data minimisation. Privacy requirements are formalised independent of a particular protocol in terms of the knowledge of (coalitions of) actors in a three-layer model of personal information. These requirements are then verified automatically for particular protocols by computing this knowledge from a description of their communication. We validate our framework in an identity management (IdM) case study. As IdM systems are used more and more to satisfy the increasing need for reliable online identification and authentication, privacy is becoming an increasingly critical issue. We use our framework to analyse and compare four identity management systems. Finally, we discuss the completeness and (re)usability of the proposed framework.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Notes

  1. The tool and formal model of our case study are available at www.mobiman.me/downloads/.

  2. The implementation, along with its documentation, can be downloaded at http://www.mobiman.me/publications/downloads/.

References

  1. Identity Management Systems (IMS): Identification and comparison study. Technical report, Independent Centre for Privacy Protection Schleswig-Holstein (2003)

  2. Abadi, M., Fournet, C.: Mobile values, new names, and secure communication. In: Proceedings of the 28th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL ’01), pp. 104–115. ACM (2001)

  3. Alpár, G., Hoepman, J.H., Siljee, J.: The identity crisis: security, privacy and usability issues in identity management. eprint CoRR cs.CR:1101.0427 (2011)

  4. Anderson, R.: Can we fix the security economics of federated authentication? In: Proceedings of the 19th International Workshop on Security Protocols (SPW ’11), LNCS 7114, pp. 25–32. Springer, Berlin (2011)

  5. Arapinis, M., Chothia, T., Ritter, E., Ryan, M.: Analysing unlinkability and anonymity using the applied Pi calculus. In: Proceedings of the 2010 23rd IEEE Computer Security Foundations Symposium (CSF ’10), pp. 107–121. IEEE (2010)

  6. Armando, A., Carbone, R., Compagna, L., Cuellar, J., Abad, L.T.: Formal analysis of SAML 2.0 Web Browser Single Sign-On: breaking the SAML-based single sign-on for Google Apps. In: Proceedings of the 6th ACM Workshop on Formal Methods in Security Engineering (FMSE ’08), pp. 1–10. ACM (2008)

  7. Backes, M., Maffei, M., Unruh, D.: Zero-knowledge in the applied Pi-calculus and automated verification of the direct anonymous attestation protocol. In: Proceedings of the 2008 IEEE Symposium on Security and Privacy (SSP ’08), pp. 202–215. ACM (2008)

  8. Bangerter, E., Camenisch, J., Lysyanskaya, A.: A cryptographic framework for the controlled release of certified data. In: Proceedings of the 12th International Workshop on Security Protocols (SPW ’04), LNCS 3957, pp. 20–42. Springer, Berlin (2004)

  9. Baudet, M., Warinschi, B., Abadi, M.: Guessing attacks and the computational soundness of static equivalence. J. Comput. Secur. 18(5), 909–968 (2010)

    Google Scholar 

  10. Bella, G., Paulson, L.: Kerberos Version IV: Inductive analysis of the secrecy goals. In: Proceedings of the 5th European Symposium on Research in Computer Security (ESORICS ’98), LNCS 1485, pp. 361–375. Springer, Berlin (1998)

  11. Bhargav-Spantzel, A., Camenisch, J., Gross, T., Sommer, D.: User centricity: a taxonomy and open issues. J. Comput. Secur. 15(5), 493–527 (2007)

    Google Scholar 

  12. Bhargav-Spantzel, A., Squicciarini, A.C., Young, M., Bertino, E.: Privacy requirements in identity management solutions. In: Proceedings of the IEEE International Workshop on Human Computer Interaction 2007 (HCI ’07), LNCS 4558, pp. 694–702. Springer, Berlin (2007)

  13. Bhattacharya, I., Getoor, L.: Collective entity resolution in relational data. ACM Trans. Knowl. Discov. Data 1 (2007)

  14. Bilenko, M., Basu, S., Sahami, M.: Adaptive product normalization: using online learning for record linkage in comparison shopping. In: Proceedings of the Fifth IEEE International Conference on Data Mining (ICDM ’05), pp. 58–65. IEEE (2005)

  15. Blanchet, B.: Automatic proof of strong secrecy for security protocols. In: Proceedings of the 2004 IEEE Symposium on Security and Privacy (S&P ’04), pp. 86–100. IEEE (2004)

  16. Blanchet, B., Abadi, M., Fournet, C.: Automated verification of selected equivalences for security protocols. J. Log. Algebr. Program. 75(1), 3–51 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  17. Blanchet, B., Smyth, B., Cheval, V.: ProVerif 1.87beta6: automatic cryptographic protocol verifier, user manual and tutorial (2013). Originally appeared as Bruno Blanchet & Ben Smyth (2011) ProVerif 1.85: Automatic Cryptographic Protocol Verifier, User Manual and Tutorial

  18. Boneh, D.: Twenty years of attacks on the RSA cryptosystem. N. Am. Math. Soc. 46(2), 1–16 (1999)

    MathSciNet  Google Scholar 

  19. Boreale, M.: Symbolic trace analysis of cryptographic protocols. In: Proceedings of the 28th International Colloquium on Automata, Languages and Programming (ICALP ’01), LNCS 2076, pp. 667–681. Springer, Berlin (2001)

  20. Brandimarte, L., Acquisti, A., Loewenstein, G.: Misplaced confidences: privacy and the control paradox. In: Ninth Workshop on the Economics of Information Security (WEIS ’10) (2010)

  21. Brusó, M., Chatzikokolakis, K., den Hartog, J.: Formal verification of privacy for RFID systems. In: Proceedings of the 23rd IEEE Computer Security Foundations Symposium (CSF ’10), pp. 75–88. IEEE (2010)

  22. Burrows, M., Abadi, M., Needham, R.: A logic of authentication. ACM Trans. Comput. Syst. 8, 18–36 (1990)

    Article  Google Scholar 

  23. Camenisch, J., Kohlweiss, M., Soriente, C.: An accumulator based on bilinear maps and efficient revocation for anonymous credentials. In: Proceedings of the 12th International Conference on Practice and Theory in Public Key Cryptography (PKC ’09), LNCS 5443, pp. 481–500. Springer, Berlin (2009)

  24. Camenisch, J., Lysyanskaya, A.: A signature scheme with efficient protocols. In: Proceedings of the 3rd International Conference on Security in Communication Networks (SCN ’02), LNCS 2576, pp. 268–289. Springer, Berlin (2003)

  25. Camenisch, J., Lysyanskaya, A.: Signature schemes and anonymous credentials from bilinear maps. In: Proceedings of the 24rd Annual International Cryptology Conference (CRYPTO ’04), LNCS 3152, pp. 56–72. Springer, Berlin (2004)

  26. Camenisch, J., Mödersheim, S., Sommer, D.: A formal model of identity mixer. In: Proceedings of the 15th International Workshop on Formal Methods for Industrial Critical Systems (FMICS’10), LNCS 6371, pp. 198–214. Springer, Berlin (2010)

  27. Camenisch, J., Sommer, D., Zimmermann, R.: A general certification framework with applications to privacy-enhancing certificate infrastructures. In: Proceedings of the IFIP TC-11 21st International Information Security Conference (SEC ’06), IFIP 201, pp. 25–37. Springer, Berlin (2006)

  28. Cameron, K.: The laws of identity.  http://www.identityblog.com/?p=352 (2006)

  29. Camp, J.: Identity management’s misaligned incentives. IEEE Secur. Priv. 8(6), 90–94 (2010)

    Article  Google Scholar 

  30. Cantor, S., Kemp, K., Philpott, R., Maler, E. (eds.): Assertions and protocols for the OASIS Security Assertion Markup Language (SAML) V2.0. http://saml.xml.org/saml-specifications. OASIS Standard, (2005)

  31. Chadwick, D., Inman, G.: Attribute aggregation in federated identity management. IEEE Comput. 42(5), 33–40 (2009)

    Article  Google Scholar 

  32. Chaudhuri, S., Ganti, V., Motwani, R.: Robust identification of fuzzy duplicates. In: Proceedings of the 21st International Conference on Data Engineering, pp. 865–876. IEEE (2005). doi:10.1109/ICDE.2005.125

  33. Chaum, D., van Heyst, E.: Group signatures. In: Proceedings of EUROCRYPT ’91, Workshop on the Theory and Application of Cryptographic Techniques (EUROCRYPT ’91), LNCS 547, pp. 257–265. Springer, Berlin (1991)

  34. Chevalier, Y., Rusinowitch, M.: Compiling and securing cryptographic protocols. Inf. Process. Lett. 110(3), 116–122 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  35. Chor, B., Goldreich, O., Kushilevitz, E., Sudan, M.: Private information retrieval. In: Proceedings of the 36th Annual Symposium on Foundations of Computer Science (FOCS ’95), pp. 41–50. IEEE (1995)

  36. Ciriani, V., de Capitani di Vimercati, S., Foresti, S., Samarati, P.: k-anonymity. In: Secure Data Management in Decentralized Systems, AIS 33, pp. 323–353. Springer, Berlin (2007)

  37. Clarke, E.M., Jha, S., Marrero, W.R.: Using state space exploration and a natural deduction style message derivation engine to verify security protocols. In: Proceedings of the IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods (PROCOMET ’98), pp. 87–106. Chapman & Hall, Ltd., London (1998)

  38. Compagna, L., Khoury, P.E., Krausová, A., Massacci, F., Zannone, N.: How to integrate legal requirements into a requirements engineering methodology for the development of security and privacy patterns. Artif. Intell. Law 17(1), 1–30 (2009)

    Article  Google Scholar 

  39. Corin, R., Doumen, J., Etalle, S.: Analysing password protocol security against off-line dictionary attacks. Electron. Notes Theor. Comput. Sci. 121, 47–63 (2005)

    Article  Google Scholar 

  40. Cortier, V., Rusinowitch, M., Zǎlinescu, E.: Relating two standard notions of secrecy. In: Proceedings of the 20th International Workshop on Computer Science Logic (CSL ’06), LNCS 4207, pp. 303–318. Springer, Berlin (2006)

  41. Cramer, R.: Modular design of secure yet practical cryptographic protocols. Ph.D. thesis, Universiteit van Amsterdam (1997)

  42. Dahl, M., Delaune, S., Steel, G.: Formal analysis of privacy for anonymous location based services. In: Proceedings of the Joint Workshop on Theory of Security and Applications (TOSCA’11), LNCS 6993, pp. 98–112. Springer, Berlin (2011)

  43. Delaune, S., Kremer, S., Ryan, M.: Verifying privacy-type properties of electronic voting protocols. Comput. Secur. 17(4), 435–487 (2009)

    Google Scholar 

  44. Dolev, D., Yao, A.C.: On the security of public key protocols. Ann. IEEE Symp. Found. Comput. Sci. 29(2), 198–208 (1981)

    Google Scholar 

  45. Dreier, J., Lafourcade, P., Lakhnech, Y.: A formal taxonomy of privacy in voting protocols. Technical report, Verimag (2011)

  46. Dwork, C.: Differential privacy. In: Proceedings of 33rd International Colloquium on Automata, Languages and Programming (ICALP ’06), LNCS 4052, pp. 1–12. Springer, Berlin (2006)

  47. Erdos, M., Cantor, S.: The Shibboleth architecture. Technical report, Internet2 Consortium. Internet2-mace-shibboleth-arch-protocols-200509 (2005)

  48. Fellegi, I.P., Sunter, A.B.: A theory for record linkage. J. Am. Stat. Assoc. 64(328), 1183–1210 (1969)

    Article  Google Scholar 

  49. Fiore, M., Abadi, M.: Computing symbolic models for verifying cryptographic protocols. In: Proceedings of the 14th IEEE workshop on Computer Security Foundations (CSFW ’01), pp. 160–173. IEEE (2001)

  50. Fujioka, A., Okamoto, T., Ohta, K.: A practical secret voting scheme for large scale elections. In: Proceedings of the Workshop on the Theory and Application of Cryptographic Techniques (AUSCRYPT ’92), LNCS 718, pp. 244–251. Springer, Berlin (1993)

  51. Fujisaki, E., Okamoto, T.: Statistical zero knowledge protocols to prove modular polynomial relations. In: Proceedings of the 17th Annual International Cryptology Conference (CRYPTO’97), LNCS 1294, pp. 16–30. Springer, Berlin (1997)

  52. Fyffe, G.: Addressing the insider threat. Netw. Secur. 2008(3), 11–14 (2008)

    Article  Google Scholar 

  53. Hansen, M., Berlich, P., Camenisch, J., Clauß, S., Pfitzmann, A., Waidner, M.: Privacy-enhancing identity management. Inf. Secur. Tech. Rep. 9(1), 35–44 (2004)

    Article  Google Scholar 

  54. Hodges, J., Kemp, K., Aarts, R., Whitehead, G., (eds.): Liberty ID-WSF SOAP binding specification. http://projectliberty.org/. Version 2.0

  55. Hoepman, J.H., Joosten, R., Siljee, J.: Comparing identity management frameworks in a business context. In: Proceedings of the 4th IFIP WG 9.2, 9.6, 11.6, 11.7/FIDIS International Summer School, AICT 298, pp. 184–196. Springer, Berlin (2008)

  56. Housley, R., Polk, W., Ford, W., Solo, D.: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. RFC 5280

  57. Jøsang, A., Pope, S.: User-centric identity management. In: Proceedings of AusCERT Asia Pacific Information Technology Security Conference (AusCERT ’05). University of Queensland, Brisbane (2005)

  58. Kellomäki, S.E.: TAS\(^3\) Architecture. Tech. Rep. Deliveral D2.1, work package WP2, version 17, TAS\(^3\) project (2009)

  59. Koot, M.R.: Measuring and predicting anonymity. Ph.D. thesis, University of Amsterdam (2012)

  60. Köpcke, H., Rahm, E.: Frameworks for entity matching: a comparison. Data Knowl. Eng. 69(2), 197–210 (2010)

    Article  Google Scholar 

  61. Landau, S., Gong, H., Wilton, R.: Achieving privacy in a federated identity management system. In: Proceedings of the 13th International Conference on Financial Cryptography and Data Security (FC ’09), LNCS 5628, pp. 51–70. Springer, Berlin (2009)

  62. Landau, S., Moore, T.: Economic tussles in federated identity management. In: Tenth Workshop on the Economics of Information Security (WEIS ’11) (2011)

  63. Law, L., Menezes, A., Qu, M., Solinas, J., Vanstone, S.: An efficient protocol for authenticated key agreement. Designs, Codes and Cryptography 28, 119–134 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  64. Li, N., Li, T., Venkatasubramanian, S.: t-closeness: privacy beyond k-anonymity and \(\ell \)-diversity. In: Proceedings of International Conference on Data Engineering (ICDE ’07), pp. 106–115. IEEE (2007)

  65. Li, X., Zhang, Y., Deng, Y.: Verifying anonymous credential systems in applied Pi calculus. In: Proceedings of the 8th International Conference on Cryptology and Network Security (CANS ’09), LNCS 5888, pp. 209–225. Springer, Berlin (2009)

  66. Lowe, G.: Breaking and fixing the needham-schroeder public-key protocol using FDR. In: Proceedings of the Second International Workshop on Tools and Algorithms for Construction and Analysis of Systems (TACAS ’96), LNCS 1055, pp. 147–166. Springer, Berlin (1996)

  67. Machanavajjhala, A., Kifer, D., Gehrke, J., Venkitasubramaniam, M.: \(\ell \)-diversity: privacy beyond k-anonymity. ACM Trans. Knowl. Discov. Data 1(1) (2007)

  68. Meadows, C.: Formal methods for cryptographic protocol analysis: emerging issues and trends. IEEE Sel. Areas Commun. 21(1), 44–54 (2003)

    Article  Google Scholar 

  69. Menezes, A.J., Vanstone, S.A., Oorschot, P.C.V.: Handbook of Applied Cryptography, 1st edn. CRC Press Inc, Boca Raton (1996)

    Book  Google Scholar 

  70. Milner, R.: Communicating and Mobile Systems: The \(\pi \)-Calculus. Cambridge University Press, Cambridge (1999)

    Google Scholar 

  71. Mray, N., Reitsma, J., Ravelli, A., Bonsel, G.: Probabilistic record linkage is a valid and transparent tool to combine databases without a patient identification number. J. Clin. Epidemiol. 60(9), 883–891 (2007)

    Google Scholar 

  72. Nanda, A.: A technical reference for the information card profile V1.0. http://msdn.microsoft.com/en-us/library/bb298802.aspx (2007)

  73. Neven, G., Preiss, F.S.: Attribute predicate profile of SAML and XACML. XACML mailing list. http://markmail.org/message/2dha2sqmgni7wpc5. Accessed March 23, 2011

  74. Office of the Data Protection Commissioner of Ireland.: Data protection guidelines on research in the health sector (2007)

  75. Paquin, C., Thompson, G.: U-prove CTP white paper. Technical report, Microsoft (2010)

  76. Parag, D.P.: Multi-relational record linkage. In: Proceedings of the KDD-2004 Workshop on Multi-Relational Data Mining (MRDM ’04), pp. 31–48. ACM (2004)

  77. Park, J.S., Sandhu, R.: Smart certificates: extending X.509 for secure attribute services on the web. In: Proceedings of the 22nd National Information Systems Security Conference (NISSC ’99), pp. 337–348. US Government Printing, Office (1999)

  78. Paulson, L.C.: The inductive approach to verifying cryptographic protocols. Comput. Secur. 6(1–2), 85–128 (1998)

    Google Scholar 

  79. Pfitzmann, A., Hansen, M.: A terminology for talking about privacy by data minimization: anonymity, unlinkability, undetectability, unobservability, pseudonymity, and identity management. http://dud.inf.tu-dresden.de/Anon_Terminology.shtml. V0.32

  80. Ponemon Institute.: 2011 Cost of data breach study: global (2011)

  81. Pontes, T., Magno, G., Vasconcelos, M.A., Gupta, A., Almeida, J.M., Kumaraguru, P., Almeida, V.: Beware of what you share: inferring home location in social networks. In: 12th International Conference on Data Mining Workshops (ICDMW ’12), pp. 571–578. IEEE (2012)

  82. Rial, A., Danezis, G.: Privacy-preserving smart metering. In: Proceedings of the 10th Annual ACM Workshop on Privacy in the Electronic Society (WPES ’11), pp. 49–60. ACM (2011)

  83. Sadinle, M., Fienberg, S.E.: A generalized Fellegi–Sunter framework for multiple record linkage with application to homicide record systems. arXiv:1205.3217 (2012)

  84. Sapena, E., Padró, L., Turmo, J.: A graph partitioning approach to entity disambiguation using uncertain information. In: Proceedings of the 6th International Conference on Advances in Natural Language Processing (GoTAL ’08), LNCS 5221, pp. 428–439. Springer, Berlin (2008)

  85. Schnorr, C.P.: Efficient identification and signatures for smart cards. In: Proceedings of the 9th Annual International Cryptology Conference (CRYPTO ’89), LNCS 434, pp. 239–252. Springer, Berlin (1989)

  86. Seamons, K., Winslett, M., Yu, T., Yu, L., Jarvis, R.: Protecting privacy during on-line trust negotiation. In: Proceedings of the 2nd International Conference on Privacy Enhancing Technologies (PET ’02), LNCS 2482, pp. 249–253. Springer, Berlin (2003)

  87. Smedinghoff, T.J.: Federated identity management: balancing privacy rights, liability risks, and the duty to authenticate. SSRN eLibrary (2009)

  88. Smyth, B., Ryan, M., Chen, L.: Formal analysis of anonymity in Direct Anonymous Attestation schemes. In: Proceedings of the 8th International Workshop on Formal Aspects of Security & Trust (FAST ’10), LNCS 7140, pp. 245–262. Springer, Berlin (2011)

  89. Sommer, D., Mont, M.C., Pearson, S.: PRIME architecture V3. Technical report, PRIME consortium, Version 1.0 (2008)

  90. Spiekermann, S., Cranor, L.F.: Engineering privacy. IEEE Trans. Softw. Eng. 35(1), 67–82 (2009)

    Article  Google Scholar 

  91. Suriadi, S.: Strengthening and formally verifying privacy in identity management systems. Ph.D. thesis, Queensland University of Technology (2010)

  92. Tinabo, R., Mtenzi, F., O’Shea, B.: Anonymisation vs. pseudonymisation: which one is most useful for both privacy protection and usefulness of e-healthcare data. In: Proceedings of the International Conference on Internet Technology and Secured Transactions (ICITST ’09), pp. 1–6. IEEE (2009)

  93. Troncoso, C.: Design and analysis methods for privacy technologies. Ph.D. thesis, Katholieke Universiteit Leuven (2011)

  94. U.S. Govt, Accountability Office.: Prescription drug data: HHS has issued health privacy and security regulations but needs to improve guidance and oversight (2012)

  95. Veeningen, M.: Objective privacy. Ph.D. thesis, Eindhoven University of Technology (submitted) (2014)

  96. Veeningen, M., de Weger, B., Zannone, N.: Modeling identity-related properties and their privacy strength. In: Proceedings of the 7th International Workshop on Formal Aspects of Security & Trust (FAST ’10), LNCS 7140, pp. 126–140. Springer, Berlin (2011)

  97. Veeningen, M., de Weger, B., Zannone, N.: Formal modelling of (De)pseudonymisation: a case study in health care privacy. In: Proceedings of the 8th Workshop on Security and Trust Management (STM ’12), LNCS 7783, pp. 145–160. Springer, Berlin (2012)

  98. Veeningen, M., Weger, B., Zannone, N.: Symbolic privacy analysis through linkability and detectability. In: Proceedings of the 7th IFIP WG 11.11 International Conference on Trust Management (IFIPTM ’13), AICT 401, pp. 1–16. Springer, Berlin (2013)

  99. Veeningen, M., Zannone, N., de Weger, B.: Formal privacy analysis of communication protocols for identity management. In: Proceedings of the 7th International Conference on Information Systems Security (ICISS ’11), LNCS 7093, pp. 235–249. Springer, Berlin (2011)

  100. Vossaert, J., Lapon, J., De Decker, B., Naessens, V.: User-centric identity management using trusted modules. In: Proceedings of the 7th European Workshop on Public Key Infrastructures, Services and Applications (EuroPKI ’10), LNCS 6711, pp. 155–170. Springer, Berlin (2011)

Download references

Acknowledgments

We thank the anonymous reviewers for their useful comments. We thank Berry Schoenmakers for useful technical feedback. This work is partially supported by STW through project “Identity Management on Mobile Devices” (10522).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Meilof Veeningen.

Appendices

Appendix A: Trace validity

In this appendix, we introduce “trace validity” as a way of verifying that all knowledge required for a trace has been modelled. Our framework takes as input a trace, together with the initial knowledge of the actors. However, there are no guarantees that the trace and initial knowledge provided by the analyst are correctly specified. This is fundamental for the analysis, because the initial knowledge also determines whether an actor can link the information he has observed to information he already has. The concept of “trace validity” checks whether the initial knowledge and trace correspond to a valid scenario (i.e. a scenario in that can actually occur) and hence serves as a “sanity check” for the model.

To define trace validity, we need to model whether a context item has occurred in communication before. When an actor \(a\) initiates a protocol instance \(\pi \) in state \(\{\mathcal {C}_x\}_{x\in \mathcal {A}}\), no communication in the protocol instance has taken place yet, so the state does not contain context items with domain \(\pi \). Hence, to check whether \(a\) can send message \(\mathsf {m}|^{\pi }_{}\), we cannot just verify if \(\mathcal {C}_a\vdash \mathsf {m}|^{\pi }_{}\). Instead, we need to model that the actor “instantiates” the context items in \(\mathsf {m}|^{\pi }_{}\) by items from other domains. On the other hand, if actor \(b\) wants to reply to message \(\mathsf {m}|^{\pi }_{}\), then he no longer has this freedom to instantiate context items because contents of the context items from \(\mathsf {m}|^{\pi }_{}\) he uses in his reply should corresponds to their contents in \(\mathsf {m}|^{\pi }_{}\) itself. In the former case, we call the context items undetermined; in the latter case, we call them determined:

Definition 13

Let \(\{\mathcal {C}_x\}_{x\in \mathcal {A}}\) be a state. We say that \(\mathsf {p}\in \mathsf {P}^c\) is determined in \(\{\mathcal {C}_x\}_{x\in \mathcal {A}}\) if, for some \(a\in \mathcal {A}\) and \(\mathsf {m}\in \mathcal {C}_a\), \(\mathsf {p}\) occurs in \(\mathsf {m}\); or if \(\mathsf {p}\) is a property \(\psi _i(\mathsf {q})\) of some \(\mathsf {q}\) occurring in \(\mathsf {m}\). Otherwise, \(\mathsf {p}\) is undetermined.

We now formalise when an actor has sufficient knowledge in a certain state to send a certain message \(\mathsf {m}|^{\pi }_{}\). The actor can instantiate any undetermined items in \(\mathsf {m}|^{\pi }_{}\), but needs to respect the existing instantiation of determined items in \(\mathsf {m}|^{\pi }_{}\). We capture this by requiring that the actor can derive a message \(\mathsf {n}\) that is equal to \(\mathsf {m}\), except that undetermined items are replaced by items of his choice. Intuitively, the actor having sufficient knowledge to send \(\mathsf {m}|^{\pi }_{}\) means that, when the message \(\mathsf {m}\) is added to his knowledge base, he does not gain any new knowledge from this. For instance, if the actor can associate personal information from message \(\mathsf {m}|^{\pi }_{}\) to information in his knowledge base, then he should be able to make the same associations using the corresponding item in \(\mathsf {n}\). The restrictions on \(\mathsf {n}\) in the definition below guarantee that this is indeed the case:

Definition 14

Let \(\{\mathcal {C}_x\}_{x\in \mathcal {A}}\) be a state, and \(a\in \mathcal {A}\) an actor. Context message \(\mathsf {m}\) is determinable by \(a\) in \(\{\mathcal {C}_x\}_{x\in \mathcal {A}}\) if there exists a context message \(\mathsf {n}\equiv \mathsf {m}\) such that \(\mathcal {C}_a\vdash \mathsf {n}\), and the following conditions hold:

  1. 1.

    Whenever \(\mathsf {m}@z\) is determined, then \(\mathsf {m}@z=\mathsf {n}@z\);

  2. 2.

    Whenever \(\mathsf {m}@z_1=\mathsf {m}@z_2\), then \(\mathsf {n}@z_1=\mathsf {n}@z_2\);

  3. 3.

    If \(\mathsf {m}@z=d|^{\kappa }_{k}\) (\(k\ne \cdot \)) and some \(e|^{\eta }_{k}\in \mathsf {I}^c\cup \mathsf {D}^c\) is determined, then \(\mathsf {n}@z \leftrightarrow _{a} e|^{\eta }_{k}\);

  4. 4.

    If \(\mathsf {m}@z_1=d|^{\kappa }_{k}\), \(\mathsf {m}@z_2=d'|^{\kappa }_{k}\) (\(k\ne \cdot \)), and no \(e|^{\eta }_{k}\in \mathsf {I}^c\cup \mathsf {D}^c\) is determined, then \(\mathsf {n}@z_1 \leftrightarrow _{a} \mathsf {n}@z_2\).

Condition 1 states that the actor cannot replace determined items; condition 2 states that he should replace items consistently. Conditions 3 and 4 make sure that actors cannot learn new associations by using \(\mathsf {n}\) as \(\mathsf {m}\): condition 3 applies to contexts already used in previous communication, and condition 4 applies to previously unused contexts. For determined messages, determinability and detectability coincide.

The following example demonstrates determinability:

Example 11

Consider the state \(\{\mathcal {C}^0_x\}_{x\in \mathcal {A}}\) from Example 10. The client’s message \(\mathsf {m}=E'_{shkey|^{}_{\cdot }}(id|^{}_{su})|^{\pi }_{}\) is determinable by \(cli\) in this state. Namely, take \(\mathsf {n}=E'_{skey|^{\cdot }_{\cdot }}(id|^{ab}_{4})\). Then \(\mathsf {m}\equiv \mathsf {n}\), and this message trivially satisfies conditions 1–4 of the definition.

Also, the server’s reply to this message is determinable. Namely, consider the state \(\{\mathcal {C}^1_x\}_{x\in \mathcal {A}}\) that \(\{\mathcal {C}^0_x\}_{x\in \mathcal {A}}\) evolves into. The server’s knowledge base is

$$\begin{aligned} \mathcal {C}^1_{srv}=\mathcal {C}^0_{srv}\cup \{ip|^{\cdot }_{cli}, ip|^{\cdot }_{srv},E'_{shkey|^{}_{\cdot }}(id|^{}_{su})|^{\pi }_{}\}, \end{aligned}$$

and the server’s reply is

$$\begin{aligned} \mathsf {m}=E'_{shkey|^{}_{\cdot }}(\{age|^{}_{su},n|^{}_{\cdot },S_{k^-|^{}_{srv}}(\{age|^{}_{su},n|^{}_{\cdot }\})\})|^{\pi }_{}. \end{aligned}$$

Indeed, one can verify that

$$\begin{aligned} \mathsf {n}=E'_{shkey|^{\pi }_{\cdot }}(\{col1|^{db}_{1},n|^{\cdot }_{\cdot },S_{k^-|^{\pi }_{srv}}(\{col1|^{db}_{1},n|^{\cdot }_{\cdot }\})\}) \end{aligned}$$

satisfies the conditions from the above definition. Namely, no determined items from \(\mathsf {m}\) have been replaced in \(\mathsf {n}\) (condition 1); both occurrences of \(age|^{\pi }_{su}\) have been replaced by the same item and similarly for \(n|^{\pi }_{\cdot }\) (condition 2); and \(col1|^{db}_{1}\leftrightarrow _{srv}id|^{\pi }_{su}\), i.e. the message contains only associations known by \(srv\) (condition 3). Condition 4 holds trivially because there are no two context items satisfying the given condition.

Trace validity is defined step-by-step from the validity of its message transmissions. A message transmission consists of identifiers \(\mathsf {a},\mathsf {b}\) of the communication parties and communicated message \(\mathsf {m}\). For validity, we require determinability both of the message and of the communication identifiers. This way, we check that both the knowledge required to send the message, and the knowledge of where to send the message to, have been modelled. Formally, for a basic message transmission \(\mathsf {a}\rightarrow \mathsf {b}:\mathsf {m}\), this means determinability by the sender of the context message \(\{\mathsf {m},\mathsf {a},\mathsf {b}\}\). For the other two types of the form \({\mathsf {a}}\mapsto {\mathsf {b}}:{\mathsf {m}}\) modelling cryptographic protocols, both actors contribute information: the initiator of the protocol should determine the sender and receiver addresses \(\mathsf {a}\), \(\mathsf {b}\), and both parties contribute parts of \(\mathsf {m}\):

Definition 15

Let \(\{\mathcal {C}_x\}_{x\in \mathcal {A}}\) be a state, and \(\mathfrak {t}\) a message transmission. Let \(\mathfrak {t}=\mathsf {a}\rightarrow \mathsf {b}:\mathsf {m}\) or \({\mathsf {a}}\mapsto {\mathsf {b}}:{\mathsf {m}}\), and let \(a,b\in \mathcal {A}\) be the actors such that \(a\leftrightarrow \sigma (\mathsf {a})\), \(b\leftrightarrow \sigma (\mathsf {b})\). We say that \(\mathfrak {t}\) is valid in \(\{\mathcal {C}_x\}_{x\in \mathcal {A}}\) if the messages indicated in Table 7 are determinable by \(a\) and \(b\), respectively. Trace \(\mathfrak {t}_1;\cdots ;\mathfrak {t}_k\) is valid in state \(\{\mathcal {C}^0_x\}_{x\in \mathcal {A}}\) if, in the evolution

$$\begin{aligned} \{\mathcal {C}^0_x\}_{x\in \mathcal {A}} \mathop {\rightarrow }\limits ^{\mathfrak {t}_1} \{\mathcal {C}^1_x\}_{x\in \mathcal {A}} \mathop {\rightarrow }\limits ^{\mathfrak {t}_2} \cdots \mathop {\rightarrow }\limits ^{\mathfrak {t}_n} \{\mathcal {C}^n_x\}_{x\in \mathcal {A}}, \end{aligned}$$

each message transmission \(\mathfrak {t}_i\) is valid in respective state \(\{\mathcal {C}^{i-1}_x\}_{x\in \mathcal {A}}\).

Table 7 Determinability requirements for the different types of message transmissions

For ZK proofs, the prover needs to know the private information for the proof and both parties contribute randomness. Note that to participate in the protocol, the verifier does not need to know the public information or the properties to be proven; however, he does need to know this information to be able to interpret the proof (i.e. to apply the testing rule). For credential issuing, the user needs to know her secret identifier \(\mathsf {m}_1\), randomness, and the issuer’s public key; the issuer needs to know his private/public key pair, the attributes to be signed, and additional randomness.

The following example highlights validity of message transmissions and traces.

Example 12

Consider the trace given in Example 10. In Example 11, we showed determinability of the two messages transmitted in the trace; this argument can be easily extended to conclude determinability of the messages \(\{\mathsf {a},\mathsf {b},\mathsf {m}\}\) from Definition 15, and hence validity of the two message transmissions. We conclude that the trace is valid.

Trace validity is implemented in the tool supporting our framework. We briefly discuss the implementation. The main task in implementing trace validity is to check for determinability of a message \(\mathsf {m}\); that is, to find a derivable message \(\mathsf {n}\) that is equivalent to \(\mathsf {m}\) and satisfies properties (1)–(4) from Definition 14. Properties (1) and (2) place restrictions on the form of the message, which can be expressed in terms of free variables in a Prolog query to the deductive system. For properties (3) and (4), we check associability as in Sect. 3.3.

Appendix B: Inference rules for zero-knowledge proofs and credential issuing

In this appendix, we show how our models of ZK proofs and the credential issuing protocol are derived.

1.1 B.1 Zero-knowledge proofs

ZK proofs allow a prover to prove to a verifier that he knows some secret information satisfying certain properties with respect to some public information, without revealing any information about the secret. For instance, consider a large group of prime order \(n\) generated by a group element \(g\). Note that given value \(h\), it is infeasible to determine the discrete logarithm \(x=\log _{g}\!h\); this property can be exploited to build a public key cryptosystem in which values of \(h\) are public keys, and the corresponding values of \(x\) are private keys. A prover who knows \(x\) as well as \(n\), \(g\), and \(h\) can engage in a ZK proof protocol with a verifier who just knows \(n\), \(g\), and \(h\); when the protocol has finished successfully, the verifier is convinced that the prover knows the value of \(x\), without learning anything about its value.

The general definition of ZK proofs leaves open different kinds of implementations; we model a particular kind of ZK proof called \(\Sigma \)-protocols [41]. \(\Sigma \)-protocols are three-move protocols in which the prover first sends a commitment; the verifier responds with a randomly generated challenge; and finally the prover sends a response. The ZK proofs used in the systems analysed [8, 24, 25, 51] are of this kind.

An example \(\Sigma \)-protocol is the protocol proposed by Schnorr to prove knowledge of \(x=\log _{g}\!h\) in the setting given above (Fig. 19a). The prover computes a random \(u\) and sends a commitment \(g^u\) to the verifier. The verifier responds with a random challenge \(c\). The prover calculates response \(r=u+cx\). The verifier convinces himself that the prover indeed knows the secret \(x\) by checking that \(g^r = ah^c\) using the response, commitment, and public information. The prover can only calculate a valid response if he knows the secret; also, the response does not reveal any information about \(x\) [85].

Fig. 19
figure 19

Schnorr proof of knowledge and its formal model. a Schnorr proof of knowledge. b Formal model of Schnorr proof

We formally model ZK proofs at a high level using the primitive \(\text {ZK}(\mathsf {m}_1;\mathsf {m}_2;\mathsf {m}_3;\mathsf {n})\). The secret information \(\mathsf {m}_1\) and public information \(\mathsf {m}_2\) are described in terms of messages; the ZK proof proves that the public information has a certain message structure with respect to the secret information. In addition, the proof can show that context data items \(\mathsf {d}\) occurring in \(\mathsf {m}_1\) satisfy properties \(\psi _k(\mathsf {d})\), listed in \(\mathsf {m}_3\). Finally, \(\mathsf {n}\) represents randomness; in \(\Sigma \)-protocols, \(\mathsf {n}=\{\mathsf {n}_p,\mathsf {n}_v\}\), representing the provers’ randomness \(\mathsf {n}_p\) for the commitment and the verifier’s randomness \(\mathsf {n}_v\) for the challenge. For instance, \(\mathsf {ZK}(\mathsf {k}^-;\mathsf {pk}(\mathsf {k}^-);\varnothing ;\{\mathsf {n}_p,\mathsf {n}_v\})\) is a proof of knowledge of the private key \(\mathsf {k}^-\) corresponding to public key \(\mathsf {pk}(\mathsf {k}^-)\) with no properties and contributed randomness \(\mathsf {n}_p,\mathsf {n}_v\). From this high-level description in terms of structure of messages, the low-level description follows implicitly. For instance, in a setting where public/private key pairs are of the form \((h,x=\log _g h)\), the proof \(\mathsf {ZK}(\mathsf {k}^-;\mathsf {pk}(\mathsf {k}^-);\) \(\varnothing ;\{\mathsf {n}_p,\mathsf {n}_v\})\) corresponds to a proof of knowledge of the discrete logarithm \(x=\log _g h\) of \(h\) like the Schnorr protocol. Figure 19 shows the Schnorr protocol and its formal model in this setting.

In Fig. 20, we present a set of inference rules for the ZK primitive. We first explain them and then argue that for privacy purposes and under certain assumptions, it suffices to consider the smaller set of rules presented in Fig. 4. We first discuss what messages can be derived from a ZK transcript \(\text {ZK}(\mathsf {m}_1;\mathsf {m}_2;\mathsf {m}_3;\{\mathsf {n}_p,\mathsf {n}_v\})\) using elimination and testing rules. The property proven by a ZK proof determines the format of the messages in the ZK proof protocol. Hence, we allow any actor to derive the properties \(\mathsf {m}_3\) from the transcript \((\vdash \!\!\mathbf{EZ}_1')\). (Because different properties may have identically looking ZK proof protocols, this is an over-approximation of knowledge.) The verifier randomness \(\mathsf {n}_v\) is transmitted as challenge and so can be derived from the transcript \((\vdash \!\!\mathbf{EZ}_2')\). Because both parties are assumed to know \(\mathsf {m}_2\) before the start of a ZK proof, it does not need to follow from the transcript. However, depending on the protocol, it may be possible to derive \(\mathsf {m}_2\). For example, in the Schnorr example, \(h=(g^r a^{-1})^{-c}\). Hence, as a possible over-approximation, we allow any observer to derive the public information \(\mathsf {m}_2\) \((\vdash \!\!\mathbf{EZ}_3')\).

Fig. 20
figure 20

Complete set of inference and rules for ZK (\(\mathcal {C}_a\) a set of context messages; \(\mathsf {m}_*\), \(\mathsf {n}_*\) context messages; \(\mathsf {p}_i\) properties of \(\mathsf {m}_k\), i.e. every \(\mathsf {p}_i=\psi _j(\mathsf {m}_k)\in \mathsf {D}^c\) for some \(j\), \(k\))

The fact that the protocol is zero-knowledge means that a verifier (who knows \(\mathsf {m}_2\), \(\mathsf {m}_3\) and \(\mathsf {n}_v\)) should not be able to learn anything about \(\mathsf {m}_1\). In fact, if there are several possible secrets \(\mathsf {m}_1\) corresponding to public information \(\mathsf {m}_2\), then the probability distribution for protocol transcripts is required to be independent from \(\mathsf {m}_1\). Thus, it is impossible to test \(\mathsf {m}_1\) from the transcript (Of course, if \(\mathsf {m}_2\) determines \(\mathsf {m}_1\), e.g. if they are a public/private key pair, then \(\mathsf {m}_1\) can be derived using \(\mathsf {m}_2\), but this is not due to the ZK proof). Because the verifier, who knows all components of the ZK proof except \(\mathsf {m}_1\) and \(\mathsf {n}_p\), cannot deduce anything about the secret \(\mathsf {m}_1\), any inference rule to derive it needs to have \(\mathsf {n}_p\) as a prerequisite. By a similar line of reasoning, if \(\mathsf {m}_1\) can be derived from \(\mathsf {n}_p\), then an inference rule for \(\mathsf {n}_p\) needs \(\mathsf {m}_1\) or it needs to be a testing rule. In fact, in the Schnorr proof, in \(\Sigma \)-protocols, all these inferences can be made: \(\mathsf {m}_1\) can be derived directly from \(\mathsf {n}_p\) \((\vdash \!\!\mathbf{EZ}_4')\) and vice versa \((\vdash \!\!\mathbf{EZ}_5')\), and \(\mathsf {n}_p\) can be tested \((\vdash \!\!\mathbf{TZ}_2')\).

To generate a transcript \(\text {ZK}(\mathsf {m}_1;\mathsf {m}_2;\mathsf {m}_3;\{\mathsf {n}_p,\mathsf {n}_v\})\) of a \(\Sigma \)-protocol, an actor needs \(\mathsf {n}_p\) for the commitment; \(\mathsf {n}_v\) for the challenge; and both pieces of randomness and the private information for the response \(\mathsf {n}_p\) \((\vdash \mathbf{\!\!CZ' })\). (Technically, the public information is not needed.) Similarly, for determinability of the message transmission \({\mathsf {a}}\mapsto {\mathsf {b}}:{\text{ ZK }(\mathsf {m}_1{;}\mathsf {m}_2{;}\mathsf {m}_3{;}}\) \(\{\mathsf {n}_p{,}\mathsf {n}_v\})\), the prover needs \(\{\mathsf {m}_1,\mathsf {n}_p\}\) in addition to the communication addresses \(\{\mathsf {a},\mathsf {b}\}\); the verifier needs \(\mathsf {n}_v\).

There are two aspects the above model does not take into account. First, from two ZK proofs using the same prover randomness, the secret can be derived: in case of the Schnorr proof, by computing \((r-r')/(c-c')\) from transcripts \((a,c,r)\) and \((a,c',r')\). This is a general property of \(\Sigma \)-protocols called special soundness. However, if the prover always honestly generates his randomness, then this is very unlikely and we can safely ignore it. Second, an actor can also “simulate” a ZK proof transcript without knowing the secret information by first generating the challenge and response and from that determining the commitment. Such a simulation has the exact same form as a ZK proof, but because the randomness in the commitment is unknown, it cannot be used to derive a secret corresponding to the public information. Such simulations are very unlikely to correspond to ZK proofs that really took place, so they are not relevant for knowledge analysis.

To express privacy requirements, the knowledge of randomness is not directly relevant. In addition, assuming that the randomness of the ZK proof is freshly generated and not reused elsewhere, it is clear that it cannot help to derive information indirectly: \((\vdash \!\!\mathbf{EZ}_4')\) is the only rule to derive personal information (namely, \(\mathsf {m}_1\)) using randomness, and it has knowledge of \(\mathsf {n}_p\) as prerequisite, which can only be derived when \(\mathsf {m}_1\) is already known. Ignoring rules \((\vdash \!\!\mathbf{EZ}_2')\), \((\vdash \!\!\mathbf{EZ}_5')\), we obtain the inference rules given in Fig. 4 and determinability requirements in Table 7.

1.2 B.2 Anonymous credentials and issuing

In an anonymous credential system, credentials \(\text {cred}^{M_1}_{\mathsf {k}^-}(M_2;M_3)\) assert the link between a user’s identifier \(M_1\) and her attributes \(M_2\) using secret key \(\mathsf {k}^-\), and such credentials are issued and shown anonymously [24]. Anonymous issuing means the issuer of the credential does not learn the user’s identifier \(M_1\) (in particular, this means he cannot issue credentials containing the identifier without the user’s involvement). We model the issuing protocol by the \(\text {ICred}^{M_1}_{\mathsf {k}^-}(M_2;M'_3)\) primitive. The randomness \(M'_3\) used in the issuing protocol determines the randomness \(M_3\) in the credential. Anonymous showing means that it is possible to perform ZK proofs of ownership of a credential proving certain properties. This is captured by our \(\text {ZK}\) primitive.

We model anonymous credential systems constructed from signature schemes [24, 25] as used in the Identity Mixer system [8]. In general, this construction is possible if the signature scheme allows for issuing of signatures on committed values (Fig. 21). That is, a commitment \(S^0_{\mathsf {k}^-}(\mathsf {m}_1,\mathsf {n}_a)\) to message \(\mathsf {m}_1\) using randomness \(\mathsf {n}_a\) is constructed using public key \(\mathsf {pk}(\mathsf {k}^-)\) \((\vdash \!\!\mathbf{CS}^0)\); this commitment is turned into signature \(S_{\mathsf {k}^-}(\mathsf {m}_1,\mathsf {m}_2,\mathsf {n}_a,\mathsf {n}_b)\) using private key \(\mathsf {k}^-\), message \(\mathsf {m}_2\) and randomness \(\mathsf {n}_b\), \((\vdash \!\!\mathbf{CS}^{0'})\). Based on such a scheme, an anonymous credential \(\text {cred}^{\mathsf {m}_1}_{\mathsf {k}^-}(\mathsf {m}_2;\{\mathsf {n}_a,\mathsf {n}_b\})\) is simply a randomised signature (containing secret identifier \(\mathsf {m}_1\) and attributes \(\mathsf {m}_2\)) along with its used randomness. In the Identity Mixer system, two such signature schemes can be used: SRSA-CL signatures [24] and BM-CL signatures [25]. There are slight technical differences between the two; we discuss SRSA-CL signatures and briefly outline the differences later.

Fig. 21
figure 21

Inference rules for signature scheme with signatures on committed values (\(\mathcal {C}_a\) a set of context messages; \(\mathsf {k}^-\), \(\mathsf {m}_*\), \(\mathsf {n}_*\) context messages)

The anonymous credential issuing protocol can be modelled as a trace in terms of the signature scheme (Fig. 22a). It involves a user \(\mathsf {a}\) and an issuer \(\mathsf {b}\). As before, \(\mathsf {a}\) is assumed to have sent a commitment \(\mathcal {H}(\mathsf {m}_1,\mathsf {n}_1)\) to her secret identifier to \(\mathsf {b}\) prior to initiating the protocol (Unlike the commitment \(S^0_{\mathsf {k}^-}(\mathsf {m}_1,\mathsf {n}_2)\) for the signature, \(\mathcal {H}(\mathsf {m}_1,\mathsf {n}_1)\) does not depend on \(\mathsf {k}^-\) and can thus be shared with other issuing or showing protocols for credentials having a different key). In the first two messages, actor \(\mathsf {a}\) provides her commitment for the signature and then proves that it is formed correctly; that is, it indeed contains the identifier corresponding to the one in \(\mathcal {H}(\mathsf {m}_1,\mathsf {n}_1)\). Actor \(\mathsf {b}\) uses the commitment to construct a signature on \(\{\mathsf {m}_1,\mathsf {m}_2,\mathsf {n}_2,\mathsf {n}_5\}\) and sends the signature along with his randomness to \(\mathsf {a}\). At this point, \(\mathsf {a}\) knows the signature and the two pieces of randomness used in it: these three components together form the anonymous credential, as shown in the figure (Note that \(\mathsf {b}\) does not know \(\mathsf {n}_2\), so he does not have the complete credential). In the last step, the signer \(\mathsf {b}\) proves that \(S_{\mathsf {k}^-}(\mathsf {m}_1,\mathsf {m}_2,\mathsf {n}_2,\mathsf {n}_5)\) is valid; when using the SRSA-CL signature scheme, this step is technically needed to ensure the security of the signature [8]. Figure 22b displays our high-level model of the issuing protocol and the credential obtained from it.

Fig. 22
figure 22

Anonymous credentials from signature scheme with signatures on committed values. a Issuing protocol for anonymous credentials. b Formal model of anonymous credential issuing protocol

The high-level inference rules (Fig. 4) and determinability relation (Table 7) for \(\text {cred}\) and \(\text {ICred}\) follow from the lower-level model in Fig. 22a. The credential’s signature can be verified using messages \(\{\mathsf {pk}(\mathsf {k}^-),\mathsf {m}_1,\mathsf {m}_2\}\), and a credential can be constructed from its components \((\vdash \mathbf{\!\!CR })\). Although randomness can be inferred from the credential, we do not model these inferences in the high-level model because they are not relevant for knowledge of personal information.

From the issuing protocol, the user can infer the credential using the randomness from the credential \((\vdash \!\!\mathbf{EI}_1)\). We check the messages of the trace for further possible inferences. For the two ZK proofs, \((\vdash \!\!\mathbf{EZ}_1)\) does not apply because there are no proofs of properties. The \((\vdash \!\!\mathbf{EZ}_2)\) rule can be applied to both ZK proofs occurring in the issuing protocol; this translates to rules \((\vdash \!\!\mathbf{EI}_2)\) and \((\vdash \!\!\mathbf{EI}_3)\). We also consider the derivation of the nonces \(\mathsf {n}_1\), \(\mathsf {n}_2\) \((\vdash \!\!\mathbf{EI}_2)\): \(\mathsf {n}_1\) is generated outside of the issuing protocol, so its derivation may be of interest; \(\mathsf {n}_2\) is a prerequisite for \((\vdash \!\!\mathbf{EZ}_2)\). Rule \((\vdash \!\!\mathbf{EZ}_3)\) gives \((\vdash \!\!\mathbf{EI}_4)\). We do not add a rule to derive \(S^0_{\mathsf {k}^-}(\mathsf {m}_1,\mathsf {n}_2)\) from the transcript because its knowledge is not relevant from a privacy point of view. Also, this message does not allow the derivation of any information that was not already derivable from the zero-knowledge proofs. However, it does give testing rule \((\vdash \!\!\mathbf{TI}_2)\). Testing rule rules \((\vdash \!\!\mathbf{TI}_1)\) and \((\vdash \!\!\mathbf{TI}_3)\) follow from the first message transmission. The other testing rules \((\vdash \!\!\mathbf{TI}_4)\), \((\vdash \!\!\mathbf{TI}_5)\) follow from the corresponding testing rule \((\vdash \!\!\mathbf{TZ}_1)\) for zero-knowledge proofs.

Finally, consider \(\text{ ICred }_{\mathsf {k}^-}^{\mathsf {m}_1}(\mathsf {m}_2;\{\mathsf {n}_i\}_{i=1}^7)\)’s determinability requirements. Assuming fresh nonces, determinability of \(\{\mathsf {a},\mathsf {b},\mathsf {pk}(\mathsf {k}^-),\mathsf {m}_1,\mathsf {n}_2\}\) by \(\mathsf {a}\) is required for the first message transmission. For the first ZK proof, determinability by \(\mathsf {a}\) of \(\mathsf {n}_1\) and \(\mathsf {n}_3\) is required; and determinability by \(\mathsf {b}\) of \(\mathsf {n}_4\). The next message means determinability of \(\{\mathsf {k}^-,\mathsf {m}_2,\mathsf {n}_5\}\) by \(\mathsf {b}\). The last ZK proof additionally means determinability of \(\{\mathsf {pk}(\mathsf {k}^-),\mathsf {n}_6\}\) by \(\mathsf {b}\), and \(\mathsf {n}_7\) by \(\mathsf {a}\). We get the determinability requirements given in Table 7. Note that technically, \(\mathsf {a}\) does not need \(\mathsf {m}_2\) to run the protocol, and \(\mathsf {b}\) does not need \(\mathcal {H}(\mathsf {m}_1,\mathsf {n}_1)\); however, in practice, they will check whether the data supplied matches their expectations using the checks expressed by the testing rules.

We mention two modelling details regarding the use of SRSA-CL signatures for anonymous credentials. First, the last ZK proof in the issuing trace is technically not a proof of knowledge of the private key, but of the RSA inverse of part of the issuer’s randomness. However, in terms of knowledge, this proof is equivalent because the private key can be determined from the RSA inverse and vice versa [18]. Second, due to the structure of the signature, different choices for \(\mathsf {n}_a\) and \(\mathsf {n}_b\) can lead to content equivalent signatures. However, assuming \(\mathsf {n}_a\) and \(\mathsf {n}_b\) are chosen at random, this happens with negligible probability.

Finally, an alternative signature scheme supporting signatures on committed values is the BM-CL scheme [25]. There are two technical differences with the SRSA-CL-based system presented above. First, BM-CL signatures have the additional property that they allow “blinding”: a user can turn a valid credential \(\text {cred}^{\mathsf {m}_1}_{\mathsf {k}^-}(\mathsf {m}_2;\{\mathsf {n}_a,\mathsf {n}_b\})\) into a different credential \(\text {cred}^{\mathsf {m}_1}_{\mathsf {k}^-}(\mathsf {m}_2;\{\mathsf {n}'_a,\mathsf {n}_b\})\) (however, she is not able to change randomness \(\mathsf {n}_b\)). Second, the final ZK proof in the issuing protocol of Fig. 22 is not necessary for a BM-CL-based scheme. We chose the SRSA-CL-based signature scheme because the high-level model is simpler; however, in terms of privacy, the choice of signature scheme does not matter.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Veeningen, M., de Weger, B. & Zannone, N. Data minimisation in communication protocols: a formal analysis framework and application to identity management. Int. J. Inf. Secur. 13, 529–569 (2014). https://doi.org/10.1007/s10207-014-0235-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10207-014-0235-z

Keywords

Navigation