summaryrefslogtreecommitdiff
path: root/auth2.c
diff options
context:
space:
mode:
authordjm <djm>2008-11-05 05:20:46 +0000
committerdjm <djm>2008-11-05 05:20:46 +0000
commitccb18169086ece13da97d2dd9438f476fb4f3a31 (patch)
treef014d9bea12b814e3bb606717aa1c3d84289b208 /auth2.c
parent2035911cdc3de9e81bc2746b3b5152a067d42f5f (diff)
downloadopenssh-ccb18169086ece13da97d2dd9438f476fb4f3a31.tar.gz
- djm@cvs.openbsd.org 2008/11/04 08:22:13
[auth.h auth2.c monitor.c monitor.h monitor_wrap.c monitor_wrap.h] [readconf.c readconf.h servconf.c servconf.h ssh2.h ssh_config.5] [sshconnect2.c sshd_config.5 jpake.c jpake.h schnorr.c auth2-jpake.c] [Makefile.in] Add support for an experimental zero-knowledge password authentication method using the J-PAKE protocol described in F. Hao, P. Ryan, "Password Authenticated Key Exchange by Juggling", 16th Workshop on Security Protocols, Cambridge, April 2008. This method allows password-based authentication without exposing the password to the server. Instead, the client and server exchange cryptographic proofs to demonstrate of knowledge of the password while revealing nothing useful to an attacker or compromised endpoint. This is experimental, work-in-progress code and is presently compiled-time disabled (turn on -DJPAKE in Makefile.inc). "just commit it. It isn't too intrusive." deraadt@
Diffstat (limited to 'auth2.c')
-rw-r--r--auth2.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/auth2.c b/auth2.c
index a835abfc..ecf85705 100644
--- a/auth2.c
+++ b/auth2.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth2.c,v 1.119 2008/07/04 23:30:16 djm Exp $ */
+/* $OpenBSD: auth2.c,v 1.120 2008/11/04 08:22:12 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -71,6 +71,9 @@ extern Authmethod method_hostbased;
#ifdef GSSAPI
extern Authmethod method_gssapi;
#endif
+#ifdef JPAKE
+extern Authmethod method_jpake;
+#endif
Authmethod *authmethods[] = {
&method_none,
@@ -78,6 +81,9 @@ Authmethod *authmethods[] = {
#ifdef GSSAPI
&method_gssapi,
#endif
+#ifdef JPAKE
+ &method_jpake,
+#endif
&method_passwd,
&method_kbdint,
&method_hostbased,
@@ -257,8 +263,12 @@ input_userauth_request(int type, u_int32_t seq, void *ctxt)
}
/* reset state */
auth2_challenge_stop(authctxt);
+#ifdef JPAKE
+ auth2_jpake_stop(authctxt);
+#endif
#ifdef GSSAPI
+ /* XXX move to auth2_gssapi_stop() */
dispatch_set(SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
dispatch_set(SSH2_MSG_USERAUTH_GSSAPI_EXCHANGE_COMPLETE, NULL);
#endif