Security for Distributed Computer Systems: 
Project Report 1997-1998

Quad Chart

Principal Investigator:

Shafi Goldwasser
Lab for Computer Science, Room NE43-332
545 Technology Square
Cambridge, Massachusetts 02139
617-253-5914
617-258-8682 fax
shafi@theory.lcs.mit.edu
level of participation: PI

Co-Principal Investigator:

Ronald Rivest
Lab for Computer Science, Room NE43-322
545 Technology Square
Cambridge, Massachusetts 02139
617-253-5880
617-258-9738 fax
rivest@theory.lcs.mit.edu
level of participation: PI

Project URL:

http://theory.lcs.mit.edu/~cis/darpa/home.html

Objective

Our objective is to develop techniques for securing tomorrow's global information infrastructure by exploring theoretical foundations, near-term practical applications, and long-range speculative research. We aim to understand the theoretical power of cryptography and the practical engineering of secure information systems, from appropriate definitions and proofs of security, through cryptographic algorithm and protocol design, to implementations of real applications with easy-to-use security features.

Approach:

Our approach is to identify issues and problems whose resolution is likely to yield the greatest benefit in terms of providing technology for the implementation of secure distributed computing systems, and to provide both theoretical foundations and solutions for the problems identified and practical (implementation) studies to illustrate our proposed solutions. We are also interested in participating in relevant standards activities, when appropriate.

Recent Accomplishments:

SDSI. Work on SDSI (our Simple Distributed Security Infrastructure) is proceeding well, and on schedule. We have completed the merger of the SDSI design with SPKI (the Simple Public Key Infrastructure). The result, SPKI/SDSI 2.0, is an elegant and powerful design for naming and authorization in distributed systems. This design is now being considered for standardization within the IETF. We have implemented SPKI/SDSI 2.0 in both Java and C. Furthermore, we have developed an efficient (polynomial-time) algorithm for determining whether a collection of certificates is sufficient to authorize a specified principal to perform a specified action.

Voting. We have refined and improved our electronic voting implementation, prepatory to making a larger-scale test. This Web-based voting scheme should prove very usable and versatile.

Group Blind Signatures. We have developed an efficient scheme for group blind digital signatures. In such a scheme, each member of the group can sign for the group---only the group administrator can determine who actually signed. Moreover, the signatures are ``blind'' in that the signer doesn't get to see what he is signing. This has applications in electronic commerce and elsewhere.

Integer Lattice Based Cryptography. There were several exciting developments in our ``alternative foundations for cryptographic primitives'' project which aims to construct cryptographic primitives based on hard computational geometric problems, rather than number theoretic problems:

Efficient Zero Knowledge Protocols. Zero Knowledge is a key tool for proving security for multi-party protocols. The wide applicability of zero-knowledge to identification protocols and designing general secure multi-party protocols is well known, leaving open the question of designing practical zero-knowledge proof systems for specific tasks. One of our current aims is to provide techniques and tools which may be useful towards achieving greater efficiency. Toward this end, in '98: Concurrent Execution Zero Knowledge. We consider zero-knowledge interactive protocols runing in a richer, more realistic communication environment than the traditional setting only involving two parties (prover and verifier). In this environment, one user may simultaneously engage in many interleaved zero-knowledge interactive protocols, and new tools are needed to ensure that security is not lost. Members of our group found two approaches to deal with the problem. Incremental Cryptography. The goal of incremental cryptography is the design of cryptographic algorithms with the property that having applied the algorithm to a document, it is possible to quickly update the result of the algorithm for a modified document, rather than having to re-compute it from scratch. Incremental cryptography offers considerable advantages in all settings where similar documents are processed by the same cryptographic transformation. Incrementality can be defined for all cryptographic primitives: digital signatures, encryption, hashing, authentication. Our new results on incremental cryptography in FY'98 include the following: Examining Current Methodologies. A popular methodology for designing cryptographic protocols consists of the following two steps. First, design an ideal system in which all parties (including the adversary) have oracle access to a truly random function, and prove the security of this ideal system. Second, replace the random oracle by a ``good cryptographic hashing function'' (such as MD5 or SHA), providing all parties (including the adversary) with the succinct description of this function. Thus, one obtains an implementation of the ideal system in a ``real-world'' where random oracles do not exist. This methodology, usually called the random oracle methodology, has been used in many works. In FY'98 we took a formal look at the relationship between the security of cryptographic schemes in the Random Oracle Model, and the security of the schemes which result from implementing the random oracle by so-called ``cryptographic hash functions''. The main result is a negative one: there exist signature and encryption schemes which are secure in the Random Oracle Model, but for which ANY implementation of the random oracle results in insecure schemes. Given the above, it seems adequate to proceed by identifying useful (special-purpose) properties of a random oracle, which can be also provided by a fully specified function (or function ensemble), and so yield implementations of certain useful ideal systems.

Current Plan:

We plan to use our implementation of SPKI/SDSI 2.0 as a basis for implementing a secure Web server (based on the Apache server) and a companion secure Web browser (based on Netscape). This system will allow an organization to label Web pages (or directories) with ACL's containing SDSI names defining authorized groups. An on-the-wire specification for extending HTTP appropriately is also to be designed (and standardized).

We plan to continue our exploration of encrypted computation---where a server can compute on encrypted data without having to decrypt the data first (the results of the computation are also encrypted). This difficult problem has only been partially addressed in the existing literature; we hope for a general solution.

We plan to expand our study to electronic voting to include very large (state-wide?) elections. The interaction of scalability and security is the planned focus of attention.

We remark that there is still a big gap between the factors for which we can prove the NP-hardness of lattice problems and those required by current lattice-based cryptosystems. Bridging this gap is certainly an extremely challanging but attractive goal, as it would result in a cryptosystem based on the P=/=NP assumption. We are currently working to improve the inapproximability result for CVP and SVP to larger approximation factors.

We plan to finish the implementation (which is underway) of the incremental signature editor (which generates valid signatures for documents while they are editted) and make it accessible via the web.

Given the failure we have found of the so-called ``random oracle methodology'' (see above), it is adequate to proceed by identifying useful (special-purpose) properties of a random oracle, which can be provided by a fully specified function and so yield implementations of certain useful ideal systems. We plan to identify such properties and provide constructions of functions possesing these properties.

Technology Transition:

As noted above, we have implemented SPKI/SDSI 2.0 in C and Java. This code has been posted on our Web site (with appropriate export control safeguards), and has been downloaded by many researchers and organizations. In addition, the proposed standardization of SPKI/SDSI within IETF provides another means of transferring this technology to U.S. DoD, as it enables interoperable commercial implementations as well.

As noted above, we have implemented an editor which supports an automatic (being computed as the file is being edited) incremental MAC. The code has been posted on our Web site.

As noted above, we have implemented a public-key cryptosystem implementation based on the hardness of the CVP lattice problem. The code has been posted on our web site.

We are currently participating as advisors to a DoD JASON summer study on information protection involving Faculty from Berkeley and USC on how our work on incremental cryptography may be relevant to the problem of dealing with the large-scale key distribution problem in a scalable, incrementable way. The study is being funded by the new CIO of the Department of Defense, charged with the mission of protecting our command and control communications system, and has potential for a big impact.

Back to CIS Home Page