skip to main content
10.1145/503272.503281acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article

A uniform type structure for secure information flow

Published:01 January 2002Publication History

ABSTRACT

The π-calculus is a formalism of computing in which we can compositionally represent dynamics of major programming constructs by decomposing them into a single communication primitive, the name passing. This work reports our experience in using a linear/affine typed π-calculus for the analysis and development of type systems of programming languages, focussing on secure information flow analysis. After presenting a basic typed calculus for secrecy, we demonstrate its usage by a sound embedding of the dependency core calculus (DCC) and by the development of a novel type discipline for imperative programs which extends both a secure multi-threaded imperative language by Smith and Volpano and (a call-by-value version of) DCC. In each case, the embedding gives a simple proof of noninterference.

References

  1. 1.Abadi, M., Secrecy in programming-language semantics, MFPS XV, ENTCS, 20 (April 1999).]]Google ScholarGoogle Scholar
  2. 2.Abadi, M., Banerjee, A., Heintze, N. and Riecke, J., A core calculus of dependency, POPL'99, ACM, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.Abramsky, S., Jagadeesan, R. and Malacaria, P., Full Abstraction for PCF, 1994. Info. Comp. 163 (2000), 409-470.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Abramsky, S., Honda, K. and McCusker, G., Fully Abstract Game Semantics %r General Re%rences, LICS'98, 334-344, IEEE, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.Agat, J. Transforming Out Timing Leaks, POPL'O0, 2000, ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Berger, M., Honda, K. and Yoshida, N., Sequentiality and tile -Calculus, TLCA01, LNCS 2044, 29-45, Springer, 2001.]]Google ScholarGoogle Scholar
  7. 7.Boudol, G., Asynchrony and the pi-calculus, INRIA Research Report 1702, 1992.]]Google ScholarGoogle Scholar
  8. 8.Boudol, G. and Castellani, I., Noninterference for Concurrent Programs, ICALPO1, LNCS 2076, 382-395, Springer, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.Denning, D. and Denning, P., Certification of programs for secure information flow. Communication of ACM, ACM, 20:504-513, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.Focardi, R., Gorrieri, R. and Martinelli, F., Non-inter%rence for the analysis of cryptographic protocols. ICALPO0, LNCS 1853, Springer, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Girard, J.-Y., Linear Logic, TCS, Vol. 50, 1-102, 1987.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Heintze, N. and Riecke, J., The SLam calculus: programming with secrecy and integrity, POPL'98, 365-377, ACM, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.Hennessy, M. and Riely, J., Information flow as resource access in the asynchronous pi-calculus, ICALPO0, LNCS 1853, 415-427, Springer, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.Honda, K., Types for Dyadic Interaction. CONCUR'93, LNCS 715, 509-523, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.Honda, K., Composing Processes, POPL'96, 344-357, ACM, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.Honda, K., Kubo, M. and Vasconcelos, V., Language Primitives and Type Discipline for Structured Communication-Based Programming. ESOP'98, LNCS 1381, 122 138. Springer-Verlag, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.Honda, K. and Tokoro, M. An object calculus asynchronous communication. ECOOP'91, LNCS 512, 133-147, 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.Honda, K., Vasconcelos, V. and Yoshida, N., Secure Information Flow as Typed Process Behaviour, ESOP'O0, LNCS 1782, 180 199, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.Honda, K. and Yoshida, N. On Reduction-Based Process Semantics. TCS. 151,437-486, 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.Honda, K. and Yoshida, N. Game-theoretic analysis of call-by-value computation. TCS, 221 (1999), 393 456.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21.Howard, B. T., Inductive, coinductive, and pointed types, ICFP'96, 102 109, ACM, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.The Haskell home page, http://haskell.org.]]Google ScholarGoogle Scholar
  23. 23.Hyland, M. and Ong, L., "On Full Abstraction for PCF": I, II and III. Info. Comp. 163 (2000), 285-408.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.Kobayashi, N., Pierce, B., and Turner, D., Linear types and re-calculus, POPL'96, 358-371, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.Milner, R., Functions as Processes, MSCS. 2(2):119 141, 1992,]]Google ScholarGoogle Scholar
  26. 26.Milner, R., Parrow, J. and Walker, D., A Calculus of Mobile Processes, Info. f3 Cornp. 100(1):1-77, 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. 27.Mitchell, J., Foundations for Programming Languages MIT Press, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28.Palsberg, J. and 2~rbaek , J., Trust in the A-Calculus. JFP, 7(6):557-591, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 29.Potter, F. and Conchon, S, Information flow inference for free, ICFPO0, 46-57, ACM, 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 30.Pierce, B and Sangiorgi.D, Typing and subtyping for mobile processes, MSCS 6(5):409-453, 1996.]]Google ScholarGoogle Scholar
  31. 31.Ryan, P. and Schneider, S. Process Algebra and Non-interference. CSFW'99, IEEE, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. 32.Sangiorgi, D. re-calculus, internal mobility, and agent-passing calculi. TCS, 167(2):235-271, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33.Sabelfield, A. and Sand, D. A per model of secure information flow in sequential programs. ESOP'99, LNCS 1576, Springer, 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 34.Smith, G., A New Type System for Secure Information Flow, CSFW'01, IEEE, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 35.Smith, G. and Volpano, D., Secure information flow in a multi-threaded imperative language, 355-364, POPL'98, ACM, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. 36.ToKe, M., Type in%rence tbr polymorphic references, Info. f3 Conp., 89:1-34, 1990.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37.Vasconcelos, V., Typed concurrent objects. ECOOP'9d, LNCS 821, 100-117. Springer, 1994.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38.Volpano, D., Smith, G. and Irvine, C., A Sound type system for secure, flow analysis, a. Computer Security, 4(2,3):167-187, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. 39.Yoshida, N. Graph Types for Mobile Processes. FST/TCS'16, LNCS 1180, 371-386, Springer, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. 40.Yoshida, N., Berger, M. and Honda, K., Strong Normalisation in the re-Calculus, LICS'01, 311-322, (C1) (C2) (C3) IEEE, 2001.]]Google ScholarGoogle ScholarCross RefCross Ref
  41. 41.Yoshida, N., Honda, K. and Berger, M., Linearity and Bisimulation, To appear as MCS technical report, Leicester, 2001.]]Google ScholarGoogle Scholar
  42. 42.Zdancewic, S. and Myers, A., Secure Information Flow and CPS, ESOP01, LNCS 2028, 46-62, Springer, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. A uniform type structure for secure information flow

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      POPL '02: Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
      January 2002
      351 pages
      ISBN:1581134509
      DOI:10.1145/503272

      Copyright © 2002 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 January 2002

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      POPL '02 Paper Acceptance Rate28of128submissions,22%Overall Acceptance Rate824of4,130submissions,20%

      Upcoming Conference

      POPL '25

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader