University of Texas at Austin Department of Computer SciencesNetworking Research Laboratory
Department of Computer Sciences
The University of Texas at Austin

Project director: Simon S. Lam (more publications)

Network Security Services

Our research is on security services for emerging Internet applications characterized by real-time packet flows, large-scale multicasts, and high-speed transmission. We investigate architectures and protocols for securing groups and flows with emphasis on efficiency, latency, and scalability, in addition to the security concerns of confidentiality, authenticity, and integrity. To provide secure group communications on the Internet, a key management service is needed to distribute and maintain a group key shared by group members. For scalable implementation of such a service, we invented the key tree approach. We designed and implemented a scalable and reliable group key management service (Keystone), a flow signing/verification service (FlowSign), and a digital signature algorithm (eFFS) that provides both fast signing and fast verification.

Our prior contributions to network security services include novel protocols for secure bootstrapping, client-server authentication, and user-host authentication using  a smart card, as well as a new language for authorization (called GACL).  We developed a formal model and methodology for verifying security protocols based upon state transition semantics. We used them to specify and verify our client-server authentication protocol.  Our model was later used by Clarke's group at CMU to develop a model checker for security protocols.

While verifying security protocols in 1991-92, we observed that security systems at that time (MIT's Kerberos, DEC's SPX, and IBM's KryptoKnight) all suffered from a common drawback, namely, they did not export a clean and easy-to-use interface that could be readily used by Internet applications.  We invented secure sockets for Internet applications as an alternative to Kerberos, widely installed in those days.  In 1993, we designed and built the first secure sockets layer, named Secure Network Programming (SNP). Kerberos was based upon symmetric key cryptography, and it would take a tremendous amount of effort to "kerberize" an existing distributed application.  SNP, on the other hand, was designed to make use of public key cryptography for authentication and to resemble the Berkeley sockets interface for client-server applications. In our 1994 USENIX paper, we articulated the case for secure sockets as a high-level abstraction suitable for securing Internet applications and demonstrated the practicality of a secure sockets layer with performance measurement results. SNP preceded by several years Netscape's SSL widely used in web servers and browsers today. (Our USENIX paper was published in June 1994, about the time when Netscape Communications was being founded.)

SNP won the 2004 ACM Software System Award.