Tải bản đầy đủ (.ppt) (34 trang)

Network systems security by mort anvari lecture13

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (430.67 KB, 34 trang )

Web Security
Network Systems Security

Mort Anvari


Web Security





Web is now widely used by business,
government, and individuals
But Internet and Web are vulnerable
Have a variety of threats







integrity
confidentiality
denial of service
authentication

Need to add security mechanisms
10/19/2004


2


TCP/IP Protocol Stack
Application Layer
Transport Layer
Network Layer

• Each layer interacts with
neighboring layers above
and below
• Each layer can be defined
independently
• Complexity of the networking
is hidden from the application

Data Link Layer

10/19/2004

3


Security -- At What Level?





Secure traffic at various levels in the network

Where to implement security? -- Depends on
the security requirements of the application
and the user
Basic services need to be implemented:






Key management
Confidentiality
Nonrepudation
Integrity/authentication
Authorization

10/19/2004

4


TCP/IP Protocol Stack




Provides services to the
application layer
Services:


Connection-oriented
or connectionless
transport

Reliable or unreliable
transport

Security

10/19/2004

Application Layer
Transport Layer
Internetwork Layer
Network Access Layer

5


Transport Layer Security


Advantages:




Does not require enhancement to each
application


Disadvantages:





Obtaining user context gets complicated
Protocol specific --> need to duplicated for
each transport protocol
Need to maintain context for connection
(not currently implemented for UDP)

10/19/2004

6


Transport Layer Security
Protocols


Connectionless and connection-oriented transport
layer service:
 Security Protocol 4 (SP4) – NSA, NIST
 Transport Layer Security (TLSP) – ISO



Connection-oriented transport layer service:
 Encrypted Session Manager (ESM) – AT&T Bell Labs.

 Secure Socket Layer (SSL) – Netscape
Communications
 Transport Layer Security (TLS) – IETF TLS WG

Most popular transport layer security protocols
10/19/2004

7


SSL


SSL versions:
 1.0: serious security flaws – never released
to public
 2.0: some weaknesses (man-in-the-middle
attack) – in Netscape Navigator 1.0-2.x
 3.0: no serious security flaws – in Netscape
Navigator 3.0 and higher, MS Explorer 3.0
and higher

10/19/2004

8


SSL









Intermediate security layer between the
transport layer and the application layer
Based on connection-oriented and reliable
service (e.g., TCP)
Able to provide security services for any TCPbased application protocol, e.g., HTTP,FTP,
TELNET, POP3, etc.
Application independent

10/19/2004

9


SSL Services




SSL provides
 Client- server authentication (public-key
cryptography)
 Data traffic confidentiality
 Message authentication and integrity check
SSL does not provide

 Traffic analysis
 TCP implementation oriented attacks

10/19/2004

10


SSL State Information


SSL session is stateful  SSL protocol must
initialize and maintain session state
information on either side of the session



SSL session can be used for several
connections  connection state information

10/19/2004

11


SSL Session State
Information Elements













Session ID: chosen by the server to identify an
active or resumable session state
Peer certificate: certificate for peer entity (X.509 v.
3)
Compression method: algorithm to compress data
before encryption
Cipher spec: specification of data encryption and
Message Authentication Code (MAC) algorithms
Master secret: 48-byte secret shared between
client and server
Is resumable: flag that indicates whether the
session can be used to initiate new connections
10/19/2004

12


SSL Connection State
Information Elements














Server and client random: byte sequences that are
chosen by server and client for each connection
Server write MAC secret: secret used for MAC on data
written by server
Client write MAC secret: secret used for MAC on data
written by client
Server write key: key used for data encryption by server
and decryption by client
Client write key: key used for encryption by client and
decryption by server
Initialization vector: for CBC block ciphers
Sequence number: for both transmitted and received
messages, maintained by each party
10/19/2004

13


SSL Protocol Architecture


10/19/2004

14


SSL Protocol
Components:
 SSL Record Protocol






Layered on top of a connection-oriented and
reliable transport layer service
Provides message origin authentication,
data confidentiality, and data integrity

SSL sub-protocols



Layered on top of the SSL Record Protocol
Provides support for SSL session and
connection establishment

10/19/2004


15


SSL Record Protocol


Receives data from higher layer SSL subprotocols



Addresses
 Data fragmentation
 Compression
 Authentication
 Encryption

10/19/2004

16


SSL Record Protocol


confidentiality









using symmetric encryption with a shared
secret key defined by Handshake Protocol
IDEA, RC2-40, DES-40, DES, 3DES, Fortezza,
RC4-40, RC4-128
message is compressed before encryption
(optional)

message integrity



using a MAC with shared secret key
similar to HMAC but with different padding

10/19/2004

17


SSL Record Protocol
Operation

10/19/2004

18



SSL Sub-protocols








Alert Protocol
 Used to transmit alerts via SSL Record Protocol
 Alert message: (alert level, alert description)
Handshake Protocol
 Used to mutually authenticate client and server and
exchange session key
ChangeCipherSpec Protocol
 Used to change cipher specifications
 Can be changed at the end of the handshake or later
Application Protocol
 Used to directly pass application data to the SSL
Record Protocol
10/19/2004

19


SSL Alert Protocol





Use two-byte message to convey SSL-related
alerts to peer entity
First byte is severity level




Second byte is specific alert






warning(1) or fatal(2)
Always fatal: unexpected_message, bad_record_mac,
decompression_failure, handshake_failure, illegal_parameter
Other alerts: close_notify, no_certificate, bad_certificate,
unsupported_certificate, certificate_revoked,
certificate_expired, certificate_unknown

Compressed and encrypted like all SSL data
10/19/2004

20


SSL Handshake Protocol



Allow server and client to






authenticate each other
negotiate encryption and MAC algorithms
negotiate cryptographic keys to be used

Comprise a series of messages in phases





Establish Security Capabilities
Server Authentication and Key Exchange
Client Authentication and Key Exchange
Finish

10/19/2004

21


SSL Handshake Messages


10/19/2004

22


SSL Handshake
1. C  S:
2. S  C:

3. C  S:

4. S  C:
10/19/2004

CLIENTHELLO
SERVERHELLO
[CERTIFICATE]
[SERVERKEYEXCHANGE]
[CERTIFICATEREQUEST]
SERVERHELLODONE
[CERTIFICATE]
CLIENTKEYEXCHANGE
[CERTIFICATEVERIFY]
CHANGECIPHERSPEC
FINISH
CHANGECIPHERSPEC
FINISH

23



1.

C  S: CLIENTHELLO

SSL Handshake




CLIENTHELLO message is sent by the client
 When the client wants to establish a TCP connection to the
server,
 When a HELLOREQUEST message is received, or
 When client wants to renegotiate security parameters of an
existing connection
Message content:
 Number of highest SSL understood by the client
 Client’s random structure (32-bit timestamp and 28-byte
pseudorandom number)
 Session ID client wishes to use (ID is empty for existing
sessions)
 List of cipher suits the client supports
 List of compression methods the client supports
10/19/2004

24


S  C: SERVERHELLO

[CERTIFICATE]
[SERVERKEYEXCHANGE]
[CERTIFICATEREQUEST]
SERVERHELLODONE

SSL Handshake




Server processes CLIENTHELLO message
Server Respond to client with SERVERHELLO message:
 Server version number: lower version of that
suggested by the client and the highest supported by
the server
 Server’s random structure: 32-bit timestamp and 28byte pseudorandom number
 Session ID: corresponding to this connection
 Cipher suite: selected by the server for client’s list
 Compression method: selected by the server from
client’s list
10/19/2004

25


×