Vous êtes sur la page 1sur 22

Welcome to:

Introduction to Security
Objectives
•Discuss what resources should be secured in an enterprise
environment
•Discuss authentication and how it is supported in WebSphere
Application Server
•Discuss authorization
•Discuss delegation options
•Discuss the role of certificates
•Discuss the implications of using SSL
•Discuss the concepts of principals and roles
Basic "No Security" End-to-End Model

Client I-Router Router Apps Data

(Internet) Web

This is the company's data.


This is the customer. The This is the company's Web Ultimately this is the
client can be either a server. This provides the information the company
single user PC or a whole universal access to the wishes to share with the
company. The devices company's business logic. This customer. This data can be
will be specified when allows the browser access to the centralized or distributed.
necessary. company's corporation. Above For this example, the data
the Web server is the is accessed through
organization's company business logic.
router/access device. This is the business logic.
This is the router to the Internet.
These applications have
This is typically provided by an ISP
access to the databases.
(Internet Service Provider). This
These "applications" provide
model, however, can apply to a
the company business
corporate Intranet. This router
rules.
separates the internal network from
the outside network.
Basic Concepts
•Authentication
–Who are you?
•Authorization
–What are you allowed to do?
The Basic Steps

2 Server
1

Client 5
4

User
Registry
Authentication
•Authentication: Tell a server who you are, or simply log in
–Challenge Mechanism
(how to obtain
authentication data) Challenge user
–Authentication
Mechanism Challenge
Mechanism
(LTPA, Native OS or
Authentication Data
Pluggable Registry) (uid/pw, cert, token)

–User Registry Authenticated


Authentication Credentials
(associates Credentials Mechanism
with Principal)
Authentication Data Credentials

User
Registry
Authentication in WebSphere Application Server
Basic Authentication
3. Request Web Page

Web 4. 401 and server Web


Browser certificate Server

5. userid = peter
password = pumpkin

2. Tell user
userid = peter 6. Check Password
password = pumpkin

1. Register user
Authentication
Admin userid = peter
password = pumpkin
DB

Password transmitted over SSL


Man-in-the-middle attack (can be detected)
Authentication stored at server
Web Browser authenticates server certificate
Certificate Authentication

3. Request Web Page

Web 4. Server certificate and Web


Browser Request for client Server
certificate

5. Send client certificate

2. Request and receive certificate

1. Request and receive Authentication


Admin
server certificate DB
User Registry Support

User Registries Supported by WebSphere Application Server

Native OS LDAP

IBM Secure Way Directory


NT Domain, NT WorkGroup, Windows
2000 Domino

AIX (etc/passwd) Windows 2000 Active Directory

Solaris (etc/passwd) Netscape Enterprise Server

HP-UX Novell Directory Service


Linux
Others (using custom config) not
OS/400 "supported"
Lightweight Third-Party Authentication (LTPA)
•IBM service that provides single sign-on and delegation.
•Authentication information is carried in LTPA tokens.
•For interoperability with other products, a single sign-on token
that contains a user ID and password can be issued.
•LDAP directory service or custom registry required for the
LTPA authentication mechanism
–Local Operating System user registry not supported
Lightweight Directory Access Protocol (LDAP)

"root"

objectClass=country

c=US c=UK

objectClass=organization

o=IBM o=CompanyA o=CompanyB

objectClass=person

cn=Joe Smith mail=jsmith@ibm.com


telephoneNumber=555-555-5555
LTPA and LDAP
!Allowsa user's identity to be passed around the distributed
network
8. Pass User Credentials (token) 9. Pass token over
to EJS when invoking methods Secure Association
1. Request on EJBs

Enterprise Enterprise
2. Challenge User for JavaBeans JavaBeans
Authentication
Server Server

3. User
WebSphere
Authenticates
Application
Server
7. Create authToken cookie;
serve the request
4. Authenticate (authenticationData)

5.Verify userid/password using


LDAP user registry
6. Issue Authentication Token

Security Server that contains the Stored User


Authentication Token Server Information
Single Sign On (SSO)
•Works in conjunction with LTPA
•Issues cookies to Web browser to track user authentication
information
•Provides for SSO within or even between WAS domains
•Required for practical use of custom login

Systems
Management

Cookie Key Generation


Key Distribution
TOKEN
Web server Key Export
LTPA Security
Server

LTPA Server
HTTP or
HTTPS Create Token

Validate Token

Security Plug-in
client
Authorization
•Authorization involves granting trusted Principals permission
to perform actions on resources (that is, Web Pages, Servlets,
JSPs and EJBs).
•Control access to resources.
–Security Lookup (by server)
•Determine security privileges for principal.
•Information stored in registry.

Rules
userX, opY
decide opY???

client userX??
server

–Rule Enforcement (by server) User


•Obtain rules from registry. Registry

•Given privileges and rules, determine access.


Authorization in WebSphere Application Server
Delegation

id = client id = X

client server 1 server 2

X can run as:


Option 1. Client
Option 2. Server 1
Option 3. "Specified identity"
Secure Sockets Layer (SSL)
What is SSL?
•Provides connection security through:
–Communication privacy - the data on the connection can be
encrypted.
–Communication integrity - the protocol includes a built-in
integrity check.
–Authentication - the server can authenticate to the client
through the passing of a digital certificate.
Secure Sockets Layer (SSL)

Web Web
Browser Server
HTTP Internet Port 80

HTTPS Port 443


encrypted

HTTP Application Layer

Network Layer
Secure Sockets Layer
TCP/IP Layer

"SSL runs above TCP/IP and below high-level application protocols.


Certificates and Certificate Authority (CA)
Client C
Client trusts server
based on certificate Server A Server B
Mutual trust based on
certificates

Server A Certificate Server B Certificate

Certificate
Authority

"Verifies identities of Object A and Object B


"Issues a certificate vouching for Object A and Object B
Principals and Roles
•Principals
–Things that can be authenticated: users, servers, and so
forth.
–Example: managers, server1, and so forth.
•Roles
–An abstraction that represents the ability to do something.
Just string names.
–Example: Manager role
•Role Mapping
–The act of defining the registry entities (users and groups)
in the run-time environment corresponding to those roles.
–Example: Mapping the Manager role to the user ID
manager.
Unit Summary
•Authentication
–Basic
–Certificate based
•Authentication mechanisms in WebSphere Application Server
–Simple WebSphere Authentication mechanism
–LTPA
•User Registries
–Local OS
–LDAP
–Custom Pluggable Registry
•Authorization.
•Delegation options:
–RunAsMode
–RunAsIdentity
•Certificates and certificate authorities
•SSL
•Principals and roles

Vous aimerez peut-être aussi