CS 4830 - Network Security - Fall 2003
Course Information Sheet
Aug 25, 2003
You are responsible for everything on this handout. Please read it.
What's This Course About??
This course is about Network Security (duh). We're going to learn a
fair bit about cryptography (tho not at a low-level) and how it is used
to secure networks in various ways. You probably already know about protocols
like SSL/TLS, SSH, IPSec, Kerberos, and so forth, but we will look more in
detail at how these protocols work and how they are used. The course will
hopefully show you how to properly implement secure protocols using libraries
(learning how to invent your own new cryptography is another topic which will
not be covered). We will be using OpenSSL as our main library for programming
My hope is that this course will be fun, will capture your interest, and will
make you aware of security issues when you're out there in the real world
writing software for the masses (if that's what you end up doing).
TR 9:30am-10:45am (Room ECCR 1B08, Call Number 85049)
There will be occasional quizzes (20%), a project (25%), a
midterm (25%) and a final (30%).
There will be homework assigned in this class, but it will not be
collected. I will hand out solutions for you to check your work against
when the "due date" for the homework arrives. We will have a quiz roughly
every other week to cover homework material and lectures; no pop quizzes...
I'll always warn you when they're coming.
This is a special topics course and I expect we'll have people with various
backgrounds. However, this IS intended for students with significant
experience in coding (C or C++), and with some experience with networks.
Ideally, you will have taken CSCI 4273 (Computer Networks) already. We
will do only a quick overview of basic networking protocols, so if this is
known to you, great; if not, either wait and take this class after you've
learned it, or expect to do some independent outside reading to get up to
speed. You should at least know how to write a simple TCP/IP or UDP
application using the normal system calls connect, accept, send and
There are two texts for this class:
- Network Security: Private Communication in a Public World, 2ed by
Kaufman, Perlman, Speciner. This will be our main text.
- Network Security with OpenSSL by Viega, Messier, and Chandra.
This is a recommended text. It documents the OpenSSL library which we will
be using for projects.
Course Web page
We will maintain useful information on the course
Visit the above page regularly to see what's new.
If you miss a handout, get it from here.
Make John Happy
There are several ways to make me happy:
- Come to my office only during office hours or with an appointment.
(I have a one-track mind and don't handle interruptions well; if
people are constantly dropping by without an appointment, I'll never
get anything done.)
- Don't try to ply me for more points.
(If there is an obvious grading error,
I'm happy to correct it immediately, but if you constantly argue
for more partial credit in some gray area, I will exhibit very
- Come to class on time. (I don't mind people coming in
late once in a while, but please don't make a habit of it: it's