CS 477 Lecture Notes

Week Eight, Thursday: Project Design and Other Issues

Ethics

Handout: Software Engineering Code of Ethics, Version 3.0

It is the responsibility of every software engineer to know and follow this to-be-ratified code of ethics.

Security

There are two major aspects to security: keeping data and systems available to their users and keeping information secret. For an adversary, these two aspects take the form of denying the enemy the use of his uncorrupted systems and obtaining secret information.

Availability

Data and systems must be available in an uncompromised form. Perhaps the most insidious form of denial is to introduce small but potentially devastating errors into a system without the knowledge of the operators.

Secrecy

Secrecy is the denial to the adversary of unauthorized knowledge. Usually the world is divided into two sets: those who are authorized and everyone else. Those not on an access list for a classification of information are to be denied any view of that data. Authentication and encryption play important roles in the technologies of secrecy.

Privacy

Privacy is micro-secrecy. It is the individual's right to the protection of private information.

Threats

In evaluating security, the reasonable threats must be evaluated. First make a list of all possible threats and evaluate each for liklihood and impact.

Network Security

Networked systems, the Internet in particular, provide enormous security challenges.


This page established March 4, 1998; last updated March 6, 2000.