A PKI Laboratory at the University of Wisconsin-Madison Dr. Keith Hazelton, PI, Senior IT Architect, Division of Information Technology, UW-Madison Dr. Eric Bach, Co-PI, Professor, Computer Science Department, UW-Madison Eric Norman, Co-PI, Senior Technologist, Division of Information Technology, UW-Madison Dr. Mike Rosing, Co-PI, Researcher, Dept. of Physiology, UW-Madison Todd Tannenbaum, Co-PI, Tech Lead, Condor Project Manager, Computer Science Department, UW-Madison Participating faculty and staff Dr. Larry Landweber, Professor, Computer Science Department, UW-Madison Dr. Miron Livny, Professor, Computer Science Department, UW-Madison David Parter, Associate Director, Computer Systems Lab, Computer Science Department, UW-Madison Introduction The University of Wisconsin-Madison has a firm base of research and expertise in the fundamental technologies behind public key infrastructure (PKI). Professor Miron Livny and Co-PI Todd Tannenbaum with the Computer Science (CS) Department Condor Project and Co-PI Eric Norman and PI Dr. Keith Hazelton of the Division of Information Technology (DoIT) Middleware Group, share a common focus on practical implementation and deployment of PKI. If funded under this Internet2 PKI Lab program, UW-Madison would consolidate its work in this area by establishing a PKI Laboratory and would devote more resources to attack research problems such as those discussed below. We envision a UW-Madison PKI Laboratory carrying out activities through a collaborative relationship between Condor system staff (in the CS Department's Computer Systems Lab) and the Middleware Group and its companion resource, the DoIT Tech Lab. In addition to their current agendas, leaders of Condor and the Middleware Group agree that two key outstanding needs for PKI are 1) evaluating and improving the basic algorithms underlying public key cryptography; and 2) providing a language whereby users separated by time and space can communicate their security goals and policies in an automated fashion. Collaboration between the algorithms group and the policy language group would flow from the natural tension between security goals (what we'd like) and algorithm performance (what we can achieve that is acceptable to users). Such a PKI Lab would serve a vital ongoing role as a test bed for PKI-enabling higher education applications with critical unmet security needs. Selected Research Problems 1) PKI-based access control for grid computing, the Condor Project The Condor project at UW-Madison has been engaged in the integration and deployment of PKI technology into middleware for the past 18 months. Led by Professor Miron Livny of Computer Science, and with technical leadership from Todd Tannenbaum, the Condor project (http://www.cs.wisc.edu/condor) has performed research in distributed high-throughput computing for the past 10 years, and maintains the Condor High Throughput Computing software that is used by over two hundred government, academic, and commercial organizations worldwide. Condor is a highly distributed batch system for job scheduling and resource management, and for creating computational "grids" by linking together computational resources across administrative, geographic, and organizational domains. The Condor project budget in FY99 approached nearly $1 million in funding from NSF, the NCSA Alliance, DoE, Microsoft, and several other sources. Condor closely collaborates with the Globus project at Argonne National Labs (http://www.globus.org), and has worked extensively with Globus' GSI (Grid Security Infrastructure) toolkit. The Condor project would contribute research into wide-scale PKI deployment issues. Condor is a significant and funded participant of the Partners for Advanced Computational Services (PACS) team in the National Computational Science Alliance (see http://www.ncsa.uiuc.edu/alliance/partners/PACS/). The PACS, and through it, the UW-Madison Condor project, is specifically responsible for the wide-scale deployment of this advanced infrastructure prototype across all the participating sites in the Alliance, and in the formation of a Virtual Machine Room (VMR, see http://www.ncsa.uiuc.edu/SCD/Alliance/VMR.html). The VMR would ultimately allow scientists nationwide to apply for one account in the VMR, resulting in access to disparate compute resources across many participating supercomputer centers nationwide. The formation of an Internet2 PKI Lab at UW-Madison would facilitate a stronger emphasis on understanding large-scale PKI deployment techniques and methodologies as Condor's PKI-enabled middleware is deployed across the Alliance's many sites. Another area where the Condor project would contribute and work with the UW-Madison PKI lab is in certificate and proxy certificate management. Much of the Condor technology runs as daemons or agents; no user is present to enter in a pass phrase. Instead, proxy X.509 certificates with expiration dates are being used. What happens when the proxy certificate expires? How can these proxy credentials be kept secured, and how can they be securely refreshed? These are all areas we are excited to have the opportunity to explore. The Condor project would be a significant contributor and collaborator with a UW-Madison PKI Lab in the areas of PKI integration and deployment. Professor Larry Landweber would play a key facilitative role in establishing and fostering this collaboration. 2) Authorization policy language One of the factors slowing the practical application of PKI is that discussions have focused on the wrong problemauthentication. For many application uses, the crucial step is authorization: "Should principal X be allowed to do Y with resource Z?" What is needed is a language that can allow people to express such authorizations according to their own policies, the amount of risk they're willing to assume, and any other constraints or considerations they wish to apply. If identification of the person on the other end of the wire is necessary, then such a language can be used to say so. In fact, it should even be able to express such concepts as "Two forms of identification, please." The Keynote system (see http://www.crypto.com/trustmgt/kn.html) seems to be on the right track with the idea of a trust management system. However, we believe they have the wrong language. A far better language would be one that is more descriptive and less algorithmic. A language similar to simple, basic Prolog would fit the bill nicely. One of the main characteristics of such a language is that it would be an unordered collection of rules. This gives an organization the ability to distribute its policies so that they can be maintained by each department and still support cohesive authorization decision-making. In fact, each individual can have a set of rules on his or her desktop. The language rules can be broken up into individual credentials where a "credential" is something that conveys authorization, not necessarily identification. For a more detailed example of some simple things that could be done with such a Prolog-like language, see the message that Co-PI Eric Norman sent to the SPKI list a few months ago at http://holstein.doit.wisc.edu/~ejnorman/spki_prolog.html. Our vision is a language where the only "primitive" operations are cryptographic calculations and protocol primitives for environmental access (e.g. retrieving attributes from a directory). Suppose Professor Alice and Professor Bob have met at a conference. Alice has a bunch of research data that she isn't ready to publish yet, but she would like to make it available to Bob and his graduate students. The model currently being envisioned for PKI says that Bob has to come up with a list of his students, give it to Alice, and Alice has to update a lot of access-control databases. It would be far easier if Alice could just get out her laptop, write a few rules that allow access to Bob and also allows Bob to grant access to his students, sign the rules, and give Bob his credential on the spot. Bob goes back and distributes credentials (the rules of the language that Alice has allowed him to distribute) to his graduate students, and the deal is done. PKI-based digital signatures are used (1) to verify that the credentials were issued by Alice and her agent Bob, and (2) to protect the credentials as they traverse an untrusted network. If Alice and Bob had this situation today, Alice would probably just trust Bob and give him her password. We believe that PKI solutions should strive for this ease of use. If they are significantly more complicated, they will probably fail in the real world. This language should be able to specify the algorithm for certificate processing; however, there should be enough flexibility in the language that an organization can deviate if its policy requires it. For further details on this approach, see the contribution by the Co-PI, Eric Norman, at http://holstein.doit.wisc.edu/~ejnorman/pki_fly.html. In addition to his exchanges with Keynote principals, Eric Norman is involved in active exchanges with others that are leading work on similar ideas. He leads the Internet2 MACE-roam group. He is in communication with Amir Herzberg, et al. of IBM in Israel who is concentrating on representing such credentials in XML and Ben Grosof (moving to MIT) whose primary interests are in the more mathematical aspects of logic programming for authorization. 3) Practical Performance Metric Development Public key cryptography provides an ideal test bed for examining the performance of algebraic algorithms as they are really used. In particular, the following questions are of interest: 1. Classic computer science teaches us to count elementary operations, and say that one procedure is better than another if it uses fewer of these operations. The underlying model is a straightforward von Neumann machine, in which instructions are fetched and executed one at a time. Modern computers are much more complicated, with on-chip caching (so memory references can have vastly different execution times) and dynamic instruction ordering (giving a penalty to "narrow" programs with a lot of sequential constraints). It would be useful to develop a model, or even good rules of thumb, for predicting the running time of cryptographic algorithms on newer style machines. A PKI lab at Wisconsin, with these algorithms available, would provide an ideal setup for such modeling. 2. Although studies have been published detailing the cost of doing various cryptographic operations (exponentiation, etc.), they don't tell us very much about the likely context in which they will be used. Put another way, a PKI user doesn't want to know how much an n-bit prime test costs, but rather what is the cost of doing authentications, key agreement, etc. It would be useful to develop models for the fraction of time devoted to actual cryptography as opposed to other operations (waiting for responses, and so on). 4) Higher EducationFederal government PKI interoperability Internet2 and Educause currently sponsor a number of activities aimed at coordinating planning for PKI between higher education and various agencies of the federal government. The primary goal is to improve the interoperability of PKI solutions deployed in these two realms. The Principal Investigator, Dr. Keith Hazelton, has been an active contributor to these efforts since their inception. In addition, UW-Madison is actively working with major Enterprise Resource Planning vendors such as PeopleSoft and Oracle, to foster industry support for open-standards based middleware for PKI and directories. Given additional funding for the UW-Madison PKI Lab, Dr. Hazelton would work with the Lab and its external correspondents such as Neal McBurnett, Mine Sakurai and Amir Herzberg to work on solutions to these problems. Deliverables over the granting period: Grant-supported work of the UW-Madison PKI Lab with Condor, the DoIT Middleware Group and Internet2 PKI "Best Practices" contributors would yield the following results: Wide-area deployment of PKI technology Integration of PKI technology into middleware to empower the end user Creation of certificate proxies; proxy and credential management in a batch/agent-based environment Authentication across administrative boundaries and administrative systems/infrastructures Automated generation of certificates Further incorporation of PKI technology into Condor Incorporation of authorization policies into certificates, particularly the appropriateness of utilizing Condor's ClassAd (http://www.cs.wisc.edu/condor/ClassAd.html) technology for this purpose. An evaluation of whether the proposed authorization language can adequately and reliably represent several commonly encountered classes of access control policies A prototype implementation of the architecture for authorization-language-based access control including: The policy engine that can evaluate a distributed policy in a given authorization context The lightweight Certificate Authority (CA) module needed in the authorizer's client-side environment. Answer to whether the Federal Bridge Certificate Authority (FBCA) approach can benefit from the proposed authorization language Clarification as to what degree mappings between XML and ASN.1 would support an automated certificate policy equivalency service. Open-source modules that implement the performance metrics developed by Co-PI Professor Eric Bach. Performance tests of modules developed by the PKI Lab using the PKI Lab metrics modules PKI Lab Personnel Dr. Keith Hazelton, Principal Investigator, is Senior Information Technology Architect, Division of Information Technology. He is a member of the Internet2 Middleware Architecture Committee on Education (MACE), and chair of its Directory Working Group. He is also a member of the Educause PKI Working Group and the Higher Education PKI Technical Advisory Group, contributing to those two groups' efforts to coordinate PKI efforts in education and federal government. He is also a member of the Board of Directors of the Network Applications Consortium. As IT Architect, he plays a key role in DoIT's Middleware Group, and through this role, he would coordinate efforts of the UW-Madison PKI Lab and the Internet2-based efforts to define best practices in PKI for the higher education community as a whole. Dr. Eric Bach, Co-PI, is a Professor in the Department of Computer Sciences. Bach is an expert in the design and evaluation of algorithms for algebraic and cryptographic problems. He co-authored the 1996 MIT Press book, Algorithmic Number Theory. He would concentrate on the practical performance metrics problems. Eric Norman, Co-PI, is a senior technologist with the Division of Information Technology. He would concentrate on the authorization language problem. He has done extensive work on authentication, authorization and cryptography. He has participated in a number of IETF working groups in these areas. He also has a strong background in computer languages, having written four LISP interpreters and one Prolog interpreter. Mike Rosing, Co-PI, Instrumentation Technician in the Neurophysiology Department, is author of the 1998 Manning Publications book, Implementing Elliptic Curve Cryptography. He would contribute coding skills for the cryptographic modules of the browser-side lightweight CA component of the proposed authorization service architecture. Todd Tannenbaum, Co-PI, Associate Researcher, Dept. of Computer Science, is the technical lead for the NSF-funded Condor facility for high-throughput computing and the Grid. He would coordinate with the PKI lab on the PKI-related enhancements to Condor.