College of Engineering
Department of Computer Science and Engineering



Integrating Privacy into the Operating Systems at MSU

Supported by Microsoft Research
Faculty: Li Xiao


To complement existing units on network security, we will add a unit on privacy comprising three parts: definitions and conceptual models of privacy in network communications; essential techniques to support these models; and design tradeoffs between privacy and other security aspects. With regard to communication over a network, privacy is best achieved through anonymity. Thus, we plan to begin by discussing the importance of privacy issues with examples and then introduce the different models of anonymity, such as publisher anonymity, provider anonymity, initiator anonymity, and mutual anonymity.

We will introduce the essential techniques for achieving anonymity. These techniques are grouped into the following categories: routing, addressing, layered encryption, and traffic covering. In the routing approach, it can be either indirect forwarding or flooding. In addressing, it can be implicit, i.e. the address contains no information on the actual location of the addressee or on the physical reachability of the addressee (e.g. Anonymizer and LPWA), or explicit, i.e. the address contains information that can be used in a straightforward manner to route a message to the addressee. Layered encryption is often used in anonymity protocols (e.g. Mix, Onion, and Tor). Traffic covering can prevent traffic timing analysis (e.g. NetCamo). These techniques often work together to achieve anonymity. For example, indirect forwarding needs layered encryption to encrypt the identities of forwarders. Flooding needs implicit addresses. Flooding, which is inefficient but simple, can be used in local anonymity. It can also be used to achieve distributed receiver anonymity, and can be combined with indirect forwarding to achieve scalability and efficiency. Different types of anonymity-breaking attacks will also be introduced.

After establishing these foundations and implementation techniques, we will address the tradeoffs that arise when designing a system with privacy requirements. Anonymity often conflicts with other security aspects, such as authentication and secrecy. For example, if a peer can completely hide his/her identity, then the anonymity protocol could potentially be abused to cover an attack on other systems over the Internet. Increasing a peer's privacy means increasing the complexity of ensuring security. In this part, we will cover the tradeoffs between privacy and security in designing an anonymity protocol.