• Non ci sono risultati.

Authentication Considerations

Nel documento Oracle9 Application Server (pagine 45-50)

Without effective authentication, authorization policies have little value.

Authentication mechanisms rely on the user supplying something uniquely associated with her: something she is, something she knows, or something she has.

This section describes the following aspects of authentication services:

Passwords

Certificates and Certificate Authorities

Secure Sockets Layer (SSL) Authentication and X.509v3 Digital Certificates

Storing Secure Credentials in an LDAP-Compliant Directory

Single Sign-on

Passwords

Passwords are one of the basic forms of authentication. A user must provide the correct password when establishing a connection to prevent unauthorized access to systems, applications, or data. Security systems that are dependent on passwords require that passwords be kept secret at all times. However, passwords are vulnerable to theft and misuse.

Security Considerations in an Internet Environment

complexity, and deny reuse of passwords. Passwords can be timed out, expiring after a certain amount of time; they should not be stored, or sent over the network, in unprotected form.

Certificates and Certificate Authorities

Having a trusted authority available to authenticate all members of the network (clients to servers, servers to servers, users to both clients and servers) is an effective way to address the threat of nodes on a network falsifying their identities. In the PKI model, this method involves certificates and certificate authorities.

A certificate authority (CA) is a trusted third party able to certify that other entities—users, databases, administrators, clients, servers—are who they say they are. A certificate authority might be an external company that offers certificate services, or an internal organization such as a corporate MIS department. The certificate authority has its own certificate and public key, which it publishes, as well as a private key, which is securely maintained. When certifying a user, the certificate authority verifies the user's identity and grants a certificate, signing it with the CA’s private key. Servers and clients use the CA’s root certificate to verify signatures that the certificate authority has made. The primary services of a CA are

Issuing certificates,

Revoking certificates,

Validating that a human or other entity is represented by the certificate, and

Providing liability to damages caused by fraudulent use.

A certificate is like an electronic passport that proves the identity of a user or device seeking to access the network. Used with security policies and other infrastructure, the certificate ensures that the entity's information is correct and that the public key it offers as its "passport number" actually belongs to that entity. The primary contents of a certificate are

The certificate user’s name,

The user’s public key, and

Information about the rights and uses associated with the certificate.

Other validating information in a certificate includes the name of the CA that issued the certificate, an expiration date, a unique serial number assigned to the certificate by the CA, the CA’s signature, and an algorithm identifier that indicates the particular algorithm that was used to sign the certificate.

Security Considerations in an Internet Environment

A certificate is created when an entity's public key is signed by a CA. Because a certificate is signed by a trusted authority and is obtained in a secure manner, it does not need to be validated for authenticity each time it is accessed. A client or a server can validate that an entity is who it claims to be by verifying that the entity’s certificate was issued by a known and trusted certificate authority. A server need be consulted only to find out if the certificate has been revoked. Clients and servers can use these credentials to access secure services, such as SSL, using public key

cryptography.

Although every certificate is signed by some known and trusted certificate authority, the particular CA named by a certificate might not be known to the verifying system. To enable that system to trust this certificate, the certificate also names the CA who validated its CA, and the CA before that who validated the earlier CA. This becomes a list of the trusted CAs whose prior verification processes culminated in validating the received certificate. The earliest of these is called the root certificate. Oracle9i Application Server provides several default trusted root certificates, so that users do not have to install their own.

Secure Sockets Layer (SSL) Authentication and X.509v3 Digital Certificates The Secure Sockets Layer (SSL) protocol, developed by Netscape Corporation, is a widely accepted standard for network security. It provides authentication, data encryption, and data integrity, in a public-key infrastructure. SSL is widely employed over the Internet to give users established digital identities and to prevent eavesdropping, tampering with, or forging messages. SSL uses digital certificates (X.509 v3), and a public/private key pair to authenticate users and systems. SSL is supported by all currently available Web servers and Web browsers.

It is also gaining acceptance for other protocols, including LDAP and IMAP.

SSL addresses the problem of protecting user data exchanged between tiers in a multitier system. By providing strong, standards-based encryption and integrity algorithms, SSL provides system developers and users with confidence that data will not be compromised on the Internet. Unlike password-based authentication, which authenticates client to server only, SSL can authenticate server to client as well as client to server. This feature is useful in a multitier system that is exposed to the Web, because users want the server authenticated before providing sensitive information, such as credit card numbers.Figure 1–2 illustrates SSL-protected communication links to the Oracle server from a remote client through the Internet

Security Considerations in an Internet Environment

Figure 1–2 SSL Secures Internet and Oracle Communications

Storing Secure Credentials in an LDAP-Compliant Directory

Many organizations manage users and authorizations separately in an

LDAP-compliant directory. They can also store credentials securely in the directory, enhancing their ability to manage users centrally. Doing so also supports user mobility.

With PKI, secure credentials such as digital certificates can be stored in containers called "wallets." A wallet is used to manage authentication data such as keys and the trusted certificates needed by the Secure Sockets Layer. Wallets can be stored in an LDAP-compliant directory. Security administrators use a tool such as Oracle Wallet Manager to manage security credentials on the server. Wallet owners also use this tool, to manage security credentials on clients.

Public Key Certificate Standards are a set of security standards laid out by the PKI vendor RSA. In particular, Oracle9i Application Server supports PKCS#12, the standard for secure credential storage.

Single Sign-on

Single sign-on (SSO) to Web-based applications enables users to log on only once to access multiple databases and services. The user need not remember multiple separate identities and passwords, because SSO handles all that after the initial user log-in to each registered application or resource. SSO can be used with security features such as SSL, certificates, and IP checking, as explained later in the SSO chapter of this book.

See Also: "Secure Sockets Layer (SSL) and PKI with Oracle HTTP Server" on page 2-30

See Also: "Oracle Internet Directory Overview" on page 2-12

Oracle9i

Security Considerations in an Internet Environment

This section explains why the single sign-on feature saves time and improves security.

It starts with the fact that more and more companies are deploying diverse

Web-based e-business applications for use by employees, customers, and partners.

Each application typically requires a user or account ID and a password.

From the user’s point of view, keeping track of so many account and password pairs is tedious and annoying. The temptation to use shortcuts, as described below, reduces security not only for the individual user but also for the entire community of users. Each breach potentially exposes some or all of the others to damage or loss of confidentiality, whether malicious or unintentional.

From the administrator’s point of view, maintaining multiple accounts and passwords for each user is expensive and potentially insecure.

Single sign-on therefore benefits users while easing the burdens of coping with Internet-related volumes and of maintaining security in rapidly changing circumstances.

This section discusses the following points:

Multiple Accounts and Passwords Are Insecure

Multiple Passwords Are Expensive

Multiple Accounts and Passwords Are Insecure

Most users cannot remember more than a few passwords. Users who maintain more than one login account often choose passwords that are easy to remember, choose identical passwords for different accounts, reuse passwords when asked to change them, or write passwords down. All these practices reduce password security.

Writing passwords down or choosing easily remembered (and thus easily guessed) passwords increases the risk of passwords being compromised. When a password is compromised, the potential damage increases if users have reused passwords when asked to change them, or have used the same password on multiple systems.

Many systems implement password management mechanisms that force users to choose complex passwords, or prevent them from reusing a password. However, these mechanisms often backfire because users figure out ways to defeat them that may reduce security even more. For example, forcing users to use random

Security Considerations in an Internet Environment

more likely that associated user privileges will not correspond with organizational changes. User accounts and access privileges, for example, may remain unchanged in the system long after the user has left the organization or changed roles. This circumstance leaves the system vulnerable to potential attack by disgruntled former employees.

Single sign-on’s single point of entry empowers users while they are active, and also gives administrators a single point of control for changing conditions.

Multiple Passwords Are Expensive

Managing multiple accounts and passwords per user is expensive. In many enterprise deployments, a substantial fraction of the system administrator’s time is spent on account- and password-related problems. This time includes initial

creation of users' accounts when they join the organization and deletion of accounts when they leave. It includes changing settings when they change roles, and

resetting passwords that have been forgotten. Administrators must sometimes access multiple systems to add or remove user accounts on each, using multiple administrative interfaces that can have different requirements. All this is expensive, and prone to various types of errors. Single sign-on reduces both types of cost.

Nel documento Oracle9 Application Server (pagine 45-50)