skip to main content
10.1145/1708016.1708021acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Distributed programming with distributed authorization

Published:23 January 2010Publication History

ABSTRACT

We propose a programming language, called PCML5, for building distributed applications with distributed access control. Target applications include web-based systems in which programs must compute with stipulated resources at different sites. In such a setting, access control policies are decentralized (each site may impose restrictions on access to its resources without the knowledge of or cooperation with other sites) and spatially distributed each site may store its policies locally). To enforce such policies PCML5 employs a distributed proof-carrying authorization framework in which sensitive resources are governed by reference monitors that authenticate principals and demand logical proofs of compliance with site-specific access control policies. The language provides primitive operations for authentication, and acquisition of proofs from local policies. The type system of PCML5 enforces locality restrictions on resources, ensuring that they can only be accessed from the site at which they reside, and enforces the authentication and authorization obligations required to comply with local access control policies. This ensures that a well-typed PCML5 program cannot incur a runtime access control violation at a reference monitor for a controlled resource.

References

  1. Martín Abadi. Access control in a core calculus of dependency. In ICFP, pages 263--273, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Martín Abadi, Anindya Banerjee, Nevin Heintze, and Jon G. Riecke. A core calculus of dependency. In Proceedings 26th ACM Symp. on Principles of Programming Languages (POPL), pages 147--160, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andrew W. Appel and Edward W. Felten. Proof-carrying authentication. In CCS '99: Proceedings of the 6th ACM conference on Computer and communications security, pages 52--62, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Kumar Avijit, Anupam Datta, and Robert Harper. Distributed programming with distributed authorization, 2009. Available at http://www.cs.cmu.edu/kavijit/papers/pcml5-full.pdf.Google ScholarGoogle Scholar
  5. Lujo Bauer, Michael A. Schneider, and Edward W. Felten. A proof-carrying authorization system. Technical Report TR-638-01, Princeton University, April 2001. URL http://www.ece.cmu.edu/lbauer/papers/pcaprototr.pdf.Google ScholarGoogle Scholar
  6. Lujo Bauer, Scott Garriss, Jonathan M. Mccune, Michael K. Reiter, Jason Rouse, and Peter Rutenbar. Device-enabled authorization in the grey system. In Proceedings of the 8th Information Security Conference (ISC'05, pages 431--445, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Jesper Bengtson, Karthikeyan Bhargavan, Cédric Fournet, Andrew D. Gordon, and Sergio Maffeis. Refinement types for secure implementations. In Proceedings of the 2008 21st IEEE Computer Security Foundations Symposium, pages 17--32, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Blaze, J. Feigenbaum, and J. Lacy. Decentralized trust management. In Proceedings of the IEEE Symposium on Security and Privacy, pages 164--173, May 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Avik Chaudhuri and Deepak Garg. PCAL: Language support for proof-carrying authorization systems. In Proceedings of the European Symposium on Research in Computer Security, pages 184--199, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Dwaine E. Clarke, Jean-Emile Elien, Carl M. Ellison, Matt Fredette, Alexander Morcos, and Ronald L. Rivest. Certificate chain discovery in SPKI/SDSI. Journal of Computer Security, 9 (4): 285--322, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Cedric Fournet, Andrew Gordon, and Sergio Maffeis. A type discipline for authorization in distributed systems. In CSF '07: Proceedings of the 20th IEEE Computer Security Foundations Symposium, pages 31--48, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Deepak Garg. Proof Theory for Authorization Logic and its Application to a Practical File System. PhD thesis, School of Computer Science, Carnegie Mellon University, 2009. Available as Technical Report CMU-CS-09-123.Google ScholarGoogle Scholar
  13. Deepak Garg and Frank Pfenning. Non-interference in constructive authorization logic. In Proceedings of the 19th IEEE Computer Security Foundations Workshop (CSFW 19), pages 283--296, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Robert Harper and Daniel R. Licata. Mechanizing metatheory in a logical framework. Journal of Functional Programming, 17 (4--5): 613--673, July 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Robert Harper, John C. Mitchell, and Eugenio Moggi. Higher-order modules and the phase distinction. In POPL '90: Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 341--354, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Robert Harper, Furio Honsell, and Gordon Plotkin. A framework for defining logics. Journal of the ACM, 40 (1): 143--184, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Limin Jia, Jeffrey A. Vaughan, Karl Mazurak, Jianzhou Zhao, Luke Zarko, Joseph Schorr, and Steve Zdancewic. Aura: a programming language for authorization and audit. In ICFP '08: Proceeding of the 13th ACM SIGPLAN International Conference on Functional programming, pages 27--38, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Neel Krishnaswami and Jonathan Aldrich. Permission-based ownership: encapsulating state in higher-order typed languages. SIGPLAN Notices, 40 (6): 96--106, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Butler W. Lampson, Martín Abadi, Michael Burrows, and Edward Wobber. Authentication in distributed systems: Theory and practice. ACM Transactions on Computer Systems, 10 (4): 265--310, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Ninghui Li, John C. Mitchell, and William H. Winsborough. Design of a role-based trust-management framework. In Proceedings of the 2002 IEEE Symposium on Security and Privacy, pages 114--130, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Tom Murphy, VII. Modal Types for Mobile Code. PhD thesis, Carnegie Mellon, January 2008. Available as technical report CMU-CS-08-126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Tom Murphy, VII, Karl Crary, Robert Harper, and Frank Pfenning. A symmetric modal lambda calculus for distributed computing. In Proceedings of the 19th IEEE Symposium on Logic in Computer Science (LICS 2004), pages 286--295,, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Tom Murphy, VII, Karl Crary, and Robert Harper. Type-safe distributed programming with ML5. In Trustworthy Global Computing 2007, November 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. B. C. Neuman and T. Ts'o. Kerberos: An authentication service for computer networks. Communications Magazine, IEEE, 32 (9): 33--38, 1994.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Nikhil Swamy, Brian J. Corcoran, and Michael Hicks. Fable: A language for enforcing user-defined security policies. In Proceedings of the IEEE Symposium on Security and Privacy (Oakland), May 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jeffrey A. Vaughan, Limin Jia, Karl Mazurak, and Steve Zdancewic. Evidence-based audit. In CSF '08: Proceedings of the 2008 21st IEEE Computer Security Foundations Symposium, pages 177--191, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Kevin Watkins, Iliano Cervesato, Frank Pfenning, and David Walker. A concurrent logical framework I: Judgments and properties. Technical Report CMU-CS-02-101, Carnegie Mellon University, School of Computer Science, 2002.Google ScholarGoogle Scholar
  28. Edward Wobber, Martín Abadi, Michael Burrows, and Butler Lampson. Authentication in the taos operating system. ACM Transactions on Computer Systems, 12: 256--269, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Distributed programming with distributed authorization

              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
                TLDI '10: Proceedings of the 5th ACM SIGPLAN workshop on Types in language design and implementation
                January 2010
                108 pages
                ISBN:9781605588919
                DOI:10.1145/1708016

                Copyright © 2010 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: 23 January 2010

                Permissions

                Request permissions about this article.

                Request Permissions

                Check for updates

                Qualifiers

                • research-article

                Acceptance Rates

                Overall Acceptance Rate11of26submissions,42%

                Upcoming Conference

                POPL '25

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader