Internet DRAFT - draft-litvin-ipsec-isakmp-hybrid-auth
draft-litvin-ipsec-isakmp-hybrid-auth
IPSEC Working Group M. Litvin, R. Shamir
INTERNET-DRAFT Check Point Software
draft-litvin-ipsec-isakmp-hybrid-auth-00.txt June 1998
Expires in 6 months
A Hybrid Authentication Mode for IKE
<draft-litvin-ipsec-isakmp-hybrid-auth-00.txt>
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress."
To view the entire list of current Internet-Drafts, please check the
"1id-abstracts.txt" listing contained in the Internet-Drafts Shadow
Directories on ftp.is.co.za (Africa), ftp.nordu.net (Northern
Europe), ftp.nis.garr.it (Southern Europe), munnari.oz.au (Pacific
Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast).
1. Abstract
This document describes a new authentication mode for the Internet
Key Exchange (IKE). This mode extends the authentication modes
defined in [IKE]. The proposed mode assumes an asymmetry between the
authenticating entities. One entity, typically an edge device (e.g.
firewall), authenticates using public key techniques, while the other
entity, typically a remote user, authenticates using challenge
response techniques. The mode is designed to provide a solution for
environments where a legacy authentication system exists, yet a full
public key infrastructure is not deployed.
2. Discussion
2.1 Background
Four authentication modes are currently defined within IKE [IKE].
These modes use either a secret which is shared by the authenticating
entities ("pre-shared secret" mode), or public key cryptography
("digital signature" mode, "public key encryption" mode, and "revised
Litvin, Shamir [Page 1]
INTERNET DRAFT A Hybrid Authentication Mode for IKE JUNE 1998
public key encryption mode"). Legacy authentication systems, such as
Security Dynamics' SecurID and Axent's OmniGuard/Defender, are not
addressed in the current standard.
Legacy authentication systems are already deployed in many
organizations. These organizations may not wish to deploy a public-
key infrastructure in the near future. Furthermore, even if an
organization decides to deploy a public key infrastructure, the
deployment can take a considerable amount of time. Within the
transition period, organizations may wish to continue using their
legacy authentication systems.
2.2 Design considerations
The currently defined IKE authentication modes share two properties:
the authentication is mutual (both participants in the IKE
authenticate each other); and symmetric (both use the same method for
authentication). Mutual authentication is important not only for mere
authentication but also to prevent man in the middle attacks.
In client-server like implementations of IKE, where one of the
participants in the IKE is a user, while the other is an edge device
(e.g. firewall), it is not always possible to preserve symmetric
authentication. For example, a user can use an OmniGuard/Defender
token to answer an authentication challenge, but cannot issue an
OmniGuard/Defender authentication challenge to the firewall, since
she cannot check the response.
When designing an IKE authentication mode that addresses legacy
authentication systems, it is necessary to preserve the mutual
authentication property of IKE, while its symmetric nature may be
violated. In the suggested hybrid mode, the problem of the edge
device authentication (and man in the middle attacks) is solved using
public-key cryptography. The edge device has an RSA encryption key
pair and uses it within IKE to authenticate itself. The user uses the
legacy authentication system to authenticate to the edge device. The
resulting authentication mode is mutual, yet asymmetric.
The proposed hybrid mode is particularly suitable for environments
where a legacy authentication system is deployed, yet public key
cryptography can be used by the edge devices. The suggested mode is
somewhat similar to the way authentication is implemented in the
World Wide Web using SSL. The servers use public-key techniques to
authenticate themselves to the users, and establish an encrypted
connection. The user can then authenticate herself (or send other
identification information, such as a credit card number). The
assumption in this mode is that deploying public key for a small
number of entities (web servers or edge devices) is possible without
Litvin, Shamir [Page 2]
INTERNET DRAFT A Hybrid Authentication Mode for IKE JUNE 1998
a full-blown public key infrastructure deployment.
The authentication modes currently defined in IKE all use a six
packet exchange for main mode, and a three packet exchange for
aggressive mode. When defining a new authentication mode, which is
based on challenge-response authentication, it is not possible to put
a limitation on the number of packets that need to be exchanged to
authenticate a user. Usually, a simple authentication protocol
consists of three messages: a challenge by the edge device; a
response by the user; and a status message (authentication
success/failure) sent by the edge device. However, in many cases the
protocol consists of more than a single challenge-response (e.g. new
PIN mode of SecurID).
Aggressive mode is thus not suitable even for the simplest
challenge-response protocol. We define the new authentication mode
for main mode only. Within the suggested main mode, a simple
authentication protocol consisting of three messages can be achieved
within the six-packet exchange. If more messages need to be sent,
main mode is extended and becomes an n-packet exchange (where n>6).
There is no defined payload within IKE that is suitable for
containing challenge and response messages, and authentication
success messages. It is not advisable to define a new payload type,
since it breaks existing implementations. In the suggested mode, the
Notification Payload [ISAKMP] is used for challenge, response, and
status messages.
2.3 The hybrid authentication mode in a nut-shell
The participants in the hybrid authentication mode are typically a
user, who is the initiator; and an edge device, acting as the
responder. The hybrid mode is similar to the "revised encryption
mode" [IKE]. The participants negotiate a SA in the first two
messages. In the next pair of messages, the user sends her identity
encrypted using a key derived from a random string encrypted in the
public key of the edge device. The edge device responds with an
authentication challenge. The fifth message includes an
authentication response from the user. The sixth message includes
either a status message (authentication success/failure) in which
case the protocol ends; or an additional authentication challenge, in
which case the protocol continues. The protocol continues with
exchanges of authentication challenges and responses until the
responder issues a status message.
3. Terms and Definitions
3.1 Requirements Terminology Keywords "MUST", "MUST NOT", "REQUIRED",
Litvin, Shamir [Page 3]
INTERNET DRAFT A Hybrid Authentication Mode for IKE JUNE 1998
"SHOULD", "SHOULD NOT" and "MAY" that appear in this document are to
be interpreted as described in [Bra97].
3.2 Definitions
3.2.1 Notify Message Types
The following values can be used within a notification payload:
Message Type Value
------------------------------------------------------------------------
AUTHENTICATION-CHALLENGE 16400
AUTHENTICATION-RESPONSE 16401
AUTHENTICATION-SUCCESS 16402
The data part of the notification payload contains attribute-value
pairs. The following attributes are defined for use with the above
message types:
Class Value Type
-----------------------------------------------------------------------
Ascii string 1 V
User authentication type 2 B
S/KEY challenge number 3 B
Reserved for future use 4 - 16383
Private use 16384 - 32767
The following values are defined for use with the "User
authentication type" attribute:
Fixed password 1
OS password 2
S/KEY 3
SecurID 4
SecurID new PIN mode 5
SecurID next passphrase mode 6
Axent 7
Reserved for future use 8 - 32767
Private use 32768 - 65535
If the notify message type is AUTHENTICATION-CHALLENGE, the "Ascii
string" attribute SHOULD be included in the data part of the
notification payload. At least one of the above attributes ("Ascii
string", "User authentication type", or "S/KEY challenge number")
MUST be included in the data part of the notification payload.
If the notify message type is AUTHENTICATION-RESPONSE, the "Ascii
Litvin, Shamir [Page 4]
INTERNET DRAFT A Hybrid Authentication Mode for IKE JUNE 1998
string" attribute MUST be included in the data part of the
notification payload.
3.2 Notation
This document follows the notations defined in [IKE]. In addition,
the following notations is used:
NOTIF (and any derivative such as NOTIF_j) is the notification
payload.
4. Description of the Hybrid Authentication Mode
The hybrid mode is based on the existing "revised encryption mode"
[IKE]. For reasons discussed above, it is designed to work only
within main mode, and not within aggressive mode.
The client uses a previously known server public key to encrypt a
secret key, much like in the "revised encryption mode". If the client
does not know the server's public key, it can request it in the first
IKE message, using the Certificate Request payload [ISAKMP]. The
server issues a first authentication challenge string (e.g. "Enter
your SecurID pass phrase" or "Enter S/KEY entry number 17"). The
client responds, and the challenge-response protocol continues until
the server issues a message saying that the authentication succeeded
or failed. The number of challenge-response rounds is unlimited.
When using the hybrid mode for authentication, Main Mode is defined
as follows
----------- -----------
HDR, SA -->
<-- HDR, SA
HDR, [ HASH(1), ]
<Ni_b>Pubkey_r,
<KE_b>Ke_i,
<IDii_b>Ke_i -->
HDR, <Nr_b>Ke_ir,
<KE_b>Ke_ir,
<IDir_b>Ke_ir,
<-- <NOTIF_b>Ke_ir
HDR*, HASH_I, NOTIF -->
<-- HDR*, HASH_R, NOTIF
If additional challenge-response exchanges are necessary, the
protocol continues until the Initiator is authenticated or denied
authentication. In this case, the protocol continues as follows:
HDR*, HASH_1, NOTIF_1 -->
Litvin, Shamir [Page 5]
INTERNET DRAFT A Hybrid Authentication Mode for IKE JUNE 1998
<-- HDR*, HASH_2, NOTIF_2
.
.
.
HDR*, HASH_n-1, NOTIF_n-1 -->
<-- HDR*, HASH_n, NOTIF_n
Where for j = 1,...,n:
HASH_j = prf(SKEYID_a, <NOTIF_j>_b)
To derive Ke_ir, first compute:
Ne_ir = prf(Ni_b, CKY_R)
Next, derive Ke_ir from Ne_ir in the manner described in appendix B
of [IKE] used to derive symmetric keys for use with the negotiated
encryption algorithm.
All other definitions are taken from the description of the revised
encryption mode [IKE].
The notification payloads sent by the client (Initiator) MUST be of
type AUTHENTICATION-RESPONSE. The notification payloads sent by the
server (Responder) MUST be of type AUTHENTICATION-CHALLENGE, except
for the last notification, which MUST be of type AUTHENTICATION-
SUCCESS or AUTHENTICATION_FAILED (defined in [ISAKMP]). The last
message in the exchange MUST be from the server (Responder) to the
client (Initiator).
5. Implementation hints
The user in the suggested mode is always assumed to be the Initiator.
Implementations must take into account that the user must always
initiate when implementing rekeying of Main Mode, recovery from
server shutdowns, and other scenarios where renegotiation of Main
Mode is required.
When using a generic authentication protocol, such as RADIUS, the
challenge and response messages are passed back and forth using the
"Ascii string" attribute.
Using the attributes "User authentication type" and "S/KEY challenge
number", the authentication process on the initiator's machine can be
fully automated. The IKE application can hook into authentication
APIs (such as Security Dynamic's SoftID, or S/KEY libraries) to
perform the authentication without user intervention.
Litvin, Shamir [Page 6]
INTERNET DRAFT A Hybrid Authentication Mode for IKE JUNE 1998
6. Security Considerations
Previously suggested hybrid authentication modes introduced the
concept of a shared password, which is known by a community of users
and edge devices, and can thus be used to authenticate the edge
device and prevent man in the middle attacks. This approach has
obvious security weaknesses: a secret shared by a large community
cannot be treated as a real secret. By using public key based
authentication these weaknesses are overcome.
The suggested authentication mode provides hiding of identities. For
mobile IP clients using a fixed password for authentication, this is
the only currently defined mode that achieves hiding of identity.
Main mode cannot be used with pre-shared secrets in mobile IP
scenarios, and aggressive mode does not provide hiding of identity.
When using fixed passwords for user authentication, the suggested
mode has an additional advantage over the pre-shared secret mode: the
password is not prone to dictionary attacks, since the password is
encrypted using a derivative of the Diffie-Hellman shared secret.
Only the participants in the IKE protocol know the shared secret.
It is possible to probe user identities using the suggested mode,
unless the edge device takes measures to prevent this. The user
identity is sent in the third message. If the identity is unknown to
the edge device, it may not respond at all, or respond with an
appropriate notification. In both cases, an attacker can deduce that
the identity is not defined. This enables an attacker to probe user
identities.
A possible solution is to always respond to the third message in the
exchange, and continue the protocol normally. In the sixth packet,
the edge device can send an "authentication failure" notification. In
this case, an attacker will not know whether the authentication
failed or whether the user is not recognized at all. The problem with
this solution is that it requires some computational overhead (RSA
decryption and Diffie-Hellman shared-secret computation). This
problem is not worse than other IKE modes (e.g. "revised encryption
aggressive mode" [IKE]). Implementers must decide which mode of
operation is preferable for their needs.
Litvin, Shamir [Page 7]
INTERNET DRAFT A Hybrid Authentication Mode for IKE JUNE 1998
7. References
[Bra97] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", RFC2119
[IKE] D. Harkins, D. Carrel, "The Internet Key Exchange (IKE)",
draft-ietf-ipsec-isakmp-oakley-08
[ISAKMP] Maughhan, D., Schertler, M., Schneider, M., and Turner,
J., "Internet Security Association and Key Management Protocol
(ISAKMP)", version 9, draft-ietf-ipsec-isakmp-09.{ps,txt}.
Author Addresses:
Moshe Litvin <moshe@checkpoint.com>
Check Point
3A Jabotinsky St.
Ramat-Gan 52520
ISRAEL
Roy Shamir <roy@checkpoint.com>
Check Point
3A Jabotinsky St.
Ramat-Gan 52520
ISRAEL
Litvin, Shamir [Page 8]