Sheffer-sadna

Download Report

Transcript Sheffer-sadna

Network Security Protocols
Yaron Sheffer, Check Point
March 2009
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
Agenda
 Proposed projects from 100K ft.
 Usage scenarios
 The big three
– SSL/TLS
– IPsec (and IKE)
– SSH
 User authentication
– EAP
– EKE
 Disclaimer: yes this is a lot; expect more width than
depth
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
2
Proposed Projects
1. Distinguish between encrypted and unencrypted IPsec
traffic and tell the network sniffer which is which
2. Enable password-based mutual authentication securely
3. Add flexible authentication into the SSL infrastructure


These are interesting programming challenges
And a unique opportunity to influence emerging Internet
standards
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
3
Network Security Protocols In Use
 Secure access to Web servers
– SSL to Amazon
 Virtual private networks (VPN)
 Remote access VPN
– VPN client on your laptop
 Access to network devices and Unix boxes
 General security infrastructure
– Still mostly an ideal
 We will discuss layer 3+4 protocols
– WEP/WPA etc. are used in layer 2
 We will only discuss unicast protocols
– Ran can tell you all about the other thing
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
4
Three Building Blocks
 Authentication
– Identifying one or both of the parties with cryptographic assurance
– Passwords, shared secrets, certificates…
– This could have been easy if it weren’t for humans
 Key management
– Key agreement, key renewal (re-key)…
– Requires some form of authentication (there are exceptions here)
– This is hard, formal proofs help
 Transport security
– Ensuring confidentiality and/or message and sender integrity, given a
strong key
– This really is quite easy, most discussion is around performance
 The three are often mixed, IPsec with IKEv2 has the cleanest
architectural layering
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
5
SSL/TLS
 Secure Socket Layer and Transport Level Security
– The same protocol, for all practical purposes




Initially defined by Netscape, 1995
Now being developed by the IETF TLS working group
Layer 4 security (“socket”), so very easy to implement
Session resumption is critical
– The “session” is per connection
– And HTTP 1.0 connections are very short
 The protocol is always end-to-end
– As opposed to IPsec, where you have gateways
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
6
SSL Layers
 The handshake protocol, just like your data, is layered
on top of a simple record protocol
 And the whole thing runs on top of TCP
– And then there’s Datagram TLS (DTLS), too
Apache HTTP Server Documentation: SSL/TLS Strong Encryption: An Introduction
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
7
SSL Handshake Steps
 Exchange “hello” messages to agree on algorithms,
exchange random values, and check for session
resumption
 Exchange cryptographic parameters to allow the
client and server to agree on a premaster secret
 Exchange certificates and cryptographic information to
allow the client and server to authenticate themselves
 Generate a master secret from the premaster secret
and exchanged random values
 Provide security parameters to the record layer
 Allow the client and server to verify that their peer has
calculated the same security parameters and that the
handshake occurred without tampering by an attacker
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
8
SSL Handshake (One Way Auth)
From Computer Desktop Encyclopedia
© 2005 The Computer Language Co. Inc.
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
9
Authentication in SSL/TLS




One way certificate based
Mutual, certificate based
Preshared key (RFC 4279)
But in reality, we all know what it is:
– Server presents a (weak) certificate
– And a clear password goes in the tunnel
 We could separate out the authentication component,
and use a general authentication framework
– TLS-EAP, draft-nir-tls-eap
– More about this project later
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
10
IPsec
 IPsec was designed in the early 1990, published 1995
– Originated with the US government
– Managed by the IETF
 Revised and republished 2005: IKEv2
 Consists of:
– IKE for key exchange
– ESP (and historically AH) for protecting traffic
 Layer 3, and a more general/clean architecture
– Separate key exchange protocol
– Separate authentication protocol in IKEv2
 Not as popular as SSL, but still many implementations
– All mainstream operating systems
– Dedicated VPN devices
– Lots of others
 Can be deployed:
– Between endpoints
– Endpoint to gateway
– Or between gateways
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
11
Tunneling in ESP
 Security at the packet level
 IP traffic is tunneled between endpoints
– Or VPN gateways
 Encryption and/or integrity protection
– ESP-null: ESP with null encryption
 Note: there are other ESP variants
IP
ESP
IP
proto=50
Next=IP
proto=6
©2009 Check Point Software Technologies Ltd. All rights reserved.
TCP
Data
ESP
Trailer
[Unrestricted]—For everyone
12
ESP Traffic Visibility
 System administrators don’t like encryption, they want
to be able to see their network’s traffic
– Control freaks?
– They also have critical boxes that need to see the traffic:
load balancers, intrusion detection devices,
optimization/QOS
 No problem, use ESP only to authenticate the packets
– Known as ESP-null (ESP with null encryption)
 Given a packet, how do I know it is not encrypted?
 This is easy for a human!
 “Simple” heuristics to detect non-random packets
– draft-kivinen-ipsecme-esp-null-heuristics
 Or a protocol extension
– Just a little wrapper in front of the ESP header
– And well, you also need to change all the
implementations…
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
13
Traffic Visibility Project
 Detection of ESP-null can be used…
– To enforce some security policies
– As infrastructure for packet sniffers, IPS, load balancers etc.
 Proposal: add the heuristics to Wireshark
– The most popular network sniffer
– Recursively parse the inner protocol for internal traffic, without
requiring an encryption key
Linux with
Strongswan
©2009 Check Point Software Technologies Ltd. All rights reserved.
Heuristics
Wireshark
Linux or
Windows
Linux with
Strongswan
[Unrestricted]—For everyone
14
IKE
 Internet Key Exchange
 Almost mutual authentication
– Certificates for both sides
– Or a preshared secret
– Or EAP…
 Uses Diffie-Hellman to generate a shared secret
 And then authenticates both sides and the actual
protocol messages
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
15
IKEv2 Negotiation (Simplified)
Initiator
HDR
SA
Responder
KE
Nonce
HDR
HDR
IDi
AUTH
SA2
HDR
SA
KE
Nonce
AUTH
SA2
TS
TS
IDr
 The end result of this is an ESP security association
 Note: multiple exchanges added when using EAP…
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
16
SSH
 Replaces the legacy Unix “rlogin”
set of commands
 But provides much more than
shell access
– General (TCP) port forwarding
 Very common on Linux and
network devices (Cisco IOS)
 Commonly uses “leap of faith”
authentication
– Accept host key without check
when connecting the first time to
the server
– Save the host key in the local
database, and
– Check against the saved key on
all future connections to the same
server
©2009 Check Point Software Technologies Ltd. All rights reserved.
Linux Journal, The OpenSSH Protocol under the Hood
[Unrestricted]—For everyone
17
Security Protocol Comparison
SSL/TLS
IPsec
SSH
Implemented
at…
Application layer Transport layer
(TCP)
Primarily used
for…
E-commerce,
protection of
specific
protocols
(email)
Site to site VPN, Remote access
remote access
to specific
into networks
devices
Network
abstraction
Secure socket
(bump in the
stack)
IP tunneling,
gateways
©2009 Check Point Software Technologies Ltd. All rights reserved.
Application layer
Port forwarding
[Unrestricted]—For everyone
18
Authentication
 Identify yourself to another party
– Client-to-server or mutual
 With strong security guarantees
–
–
–
–
Against passive/active attacker
Eavesdropping
Dictionary attacks
Man in the middle
 Some basic templates:
–
–
–
–
Showing a password
Challenge-response
Certificate with proof of possession
Zero knowledge
 Centralized identity management
– RADIUS, for example
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
19
EAP
 Extensible Authentication Protocol (but really a sub-protocol)
 A standard way to:
– Separate the authenticator from the authentication server
– Support many different authentication methods
– Provide “channel binding” between the EAP layer and the higher level
protocol
 A simple multi-round exchange between the client (“supplicant”) and
the AS
– Transparent for the Authenticator!
 Always embedded within another protocol
–
–
–
–
IEEE 802.1X for wired LAN
IEEE 802.11i (WAP) for wireless LAN
IKEv2
TLS? (draft-nir-tls-eap)
Client/
Supplicant
EAP-xxx
WPA
©2009 Check Point Software Technologies Ltd. All rights reserved.
Authenticator,
e.g. Access
Point
EAP-xxx
RADIUS
Authentication
Server
[Unrestricted]—For everyone
20
TLS-EAP Project
 Integration points on client and on server side
 Test on simplest non-trivial EAP
– EAP-MSCHAPv2?
subset of
wpa_supplicant
or Open1X
OpenSSL or
GnuTLS
FreeRADIUS Client
OpenSSL or
GnuTLS
EAP Method
FreeRADIUS
Server
Linux
Linux
TLS/EAP
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
21
Zero Knowledge Authentication
 Use a short, memorable password
– 20 bits max…
 For strong mutual authentication
– In particular, resistant to dictionary attack
 Many solutions
 Rarely used, due to patent issues
 The first workable solution was EKE
– Encrypted Key Exchange, Bellovin and Merritt 1992
– No known vulnerabilities
– Also the first patent in this space, and the first to expire (2011)
 Once the patent expires, everybody can start using EKE
 And an EAP method is an easy way to do it
– draft-sheffer-emu-eap-eke
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
22
EAP-EKE Exchange
Authenticator
HDR
ID
Supplicant
Crypto
Proposals
HDR
HDR
E(password, gx)
HDR
HDR
ID
Crypto
Selection
Nonce
E(password, gy)
Nonce
Auth
HDR
©2009 Check Point Software Technologies Ltd. All rights reserved.
Nonce
Auth
[Unrestricted]—For everyone
23
EAP-EKE Project
 Several options, one option is depicted
–
–
–
–
FreeRADIUS supplicant and server
SecureW2 on Windows
StrongSwan plus FreeRADIUS
StrongSwan stand-alone
EAP-EKE
EAP-EKE
StrongSwan IKE
Client
StrongSwan IKE
Gateway
Credential
Database
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
24
Proposed Projects - Recap
1. Distinguish between encrypted and unencrypted traffic
and tell the network sniffer which is which
2. Enable password-based mutual authentication securely
3. Add flexible authentication into the SSL infrastructure


These are interesting programming challenges
And a unique opportunity to influence emerging Internet
standards
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone
25
Thank You!
Yaron Sheffer
[email protected]
©2009 Check Point Software Technologies Ltd. All rights reserved.
[Unrestricted]—For everyone