A note on ethics

To study computer security effectively, you have to observe computer systems in ways that could potentially give you access to information other people do not intend for you to have. You can't be a security expert without knowing the techniques that are used to breach security. Thus, the study of security brings you into frequent and tricky contact with ethical problems.

If computer and communications technology are to bring more benefits than cost to human beings over the long-term, we are going to need a steady supply of security experts. I want you to experiment, investigate, and follow your nose as you learn how the security infrastructure (or lack thereof) of modern computer systems works. But I also want you to learn to think deeply not just about the technology but also about its implications.

Before each new activity in this class, we will take a few minutes in class to talk about the ethical and legal implications of what we're about to do. I want you to have similar conversations with your classmates and yourselves as you explore security theory and practice. Think about what you're doing ahead of time, and make a plan for how to study security without breaching security.

This note can't thoroughly cover the ethical ground we need to cover. However, I want to offer a small number of practical general principles you can use to get started. I will be eager to hear your thoughts on other useful general principles.