Section 18.1. The Three A s: Authentication, Authorization, and Accounting

18.1. The Three A's: Authentication, Authorization, and Accounting

Applications should be designed from the beginning for security. If you try to bolt security on after you have moved into production, you will likely fail to really secure the application. If you do secure it, the cost may be much higher than if you had designed for security from the beginning (but not as costly as foregoing security altogether!). In simple terms, a secure application is designed to control who can do what and provides an accounting of what the application was asked to do and what it actually did. The three features essential to a secure application that we will discuss are authentication, authorization, and accounting.

Authentication is the process in which a user (or process) identifies herself and proves she is who she claims to be by providing information available only to her. The most common authentication mechanism on the Internet today is to log into a system using a username and password. Under some circumstances, passwords may be stolen as they are transmitted across networks, and badly chosen passwords can be guessed. There are other stronger authentication systems that employ certificates and encryption. We'll look at some of the problems of username/password authentication schemes and what you can do about them later.

Authorization is the process that grants controlled access to resources to a user or process based on who the user isdetermined during the authentication processand what she is entitled to do. Authorization can take different forms. For example, a user may be authorized to connect to an application instance but not permitted to draw on a whiteboard within it. Users are often grouped together and assigned roles . What they are permitted to do often depends on the role they are given in relation to a particular resource.

Accounting , or logging , is the way you discover if your application and users are doing what they are supposed to. It allows you to discover when someone is trying to break into your system or misuse it. It is every bit as important as authentication and authorization but is perhaps the most often ignored of the three A 's. Accounting can reveal unusual usage patterns, which may indicate that a password was stolen, that attackers have found a vulnerability in your system, or a previously well-behaved user (or ex-employee) has had a change of heart.



Programming Flash Communication Server
Programming Flash Communication Server
ISBN: 0596005040
EAN: 2147483647
Year: 2003
Pages: 203

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net