Manifest Security for Distributed Information

What is the best way to build programs that compute with data sources controlled by multiple principals, while ensuring compliance with the security policies of the principals involved? The objective of this project is to devise methods for building manifestly secure applications for an information grid consisting of multiple data sources controlled by multiple principals. This is achieved by using techniques from mathematical logic, programming language semantics, and mechanized reasoning to ensure security of application code, while permitting convenient expression of complex computations with data sources on the information grid. The project will design and implement a programming language whose type system ensures compliance with security policies through the use of proofs in a formal logic of authorization during both the static and dynamic phases of processing. The project will use automated reasoning tools such as theorem provers and logical frameworks to prove formally and rigorously the security properties of the programming language. As a result, every application written in the language enjoys the guarantees afforded by the language as a whole. The intellectual merit of the project consists of scientific and engineering techniques for building practical programs for computing with multiple data sources that are manifestly secure. Manifest security means that the trust relationships, access control and information flow policies, and proofs of compliance with these policies are made manifest in the framework through the use of formal logical methods for specifying and verifying them. These properties will be formally verified against precise specifications written in a novel logic of authorization and information flow using mechanized theorem provers and logical frameworks so that there is a direct link between the theoretical analysis and the executable code. This ensures that running applications are manifestly in compliance with the security policies of the principals on the information grid to an extent not previously achievable in practical systems. The project will build a secure information grid and associated applications to demonstrate the effectiveness of its approach and provide a means for comparison with competing methods. The broader impacts of the project include the development of fundamental technology to ensure privacy while permitting flexible access to disparate, and independently controlled, data sources. Making security policies themselves, and proofs of application compliance with them, readily available in machine-checkable form is a technical cornerstone for ensuring privacy without unduly limiting the legitimate use of these data sources. The project will also significantly increase collaboration between two major research universities within the Commonwealth of Pennsylvania. The participants have an established record of fostering education in the field through writing textbooks, developing new classes and course materials at their universities, and organizing summer schools for students throughout the world. The project will also employ undergraduate researchers through direct funding and the NSF Research Experience for Undergraduates program. Both participating departments have vibrant organizations supporting and promoting women in computer science, and we will work toward involving women in our project at both undergraduate and graduate level.