diff options
author | Damien Miller <djm@mindrot.org> | 2008-11-05 16:20:46 +1100 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2008-11-05 16:20:46 +1100 |
commit | 01ed2272a1545336173bf3aef66fbccc3494c8d8 (patch) | |
tree | a77f115d3b8964f0b6fcc604f9dea87d15143d7e /auth.h | |
parent | 6f66d34308af787613d5525729953665f26367ee (diff) |
- 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 'auth.h')
-rw-r--r-- | auth.h | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: auth.h,v 1.61 2008/07/02 12:03:51 dtucker Exp $ */ | 1 | /* $OpenBSD: auth.h,v 1.62 2008/11/04 08:22:12 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. | 4 | * Copyright (c) 2000 Markus Friedl. All rights reserved. |
@@ -59,6 +59,7 @@ struct Authctxt { | |||
59 | struct passwd *pw; /* set if 'valid' */ | 59 | struct passwd *pw; /* set if 'valid' */ |
60 | char *style; | 60 | char *style; |
61 | void *kbdintctxt; | 61 | void *kbdintctxt; |
62 | void *jpake_ctx; | ||
62 | #ifdef BSD_AUTH | 63 | #ifdef BSD_AUTH |
63 | auth_session_t *as; | 64 | auth_session_t *as; |
64 | #endif | 65 | #endif |
@@ -156,6 +157,9 @@ int bsdauth_respond(void *, u_int, char **); | |||
156 | int skey_query(void *, char **, char **, u_int *, char ***, u_int **); | 157 | int skey_query(void *, char **, char **, u_int *, char ***, u_int **); |
157 | int skey_respond(void *, u_int, char **); | 158 | int skey_respond(void *, u_int, char **); |
158 | 159 | ||
160 | void auth2_jpake_get_pwdata(Authctxt *, BIGNUM **, char **, char **); | ||
161 | void auth2_jpake_stop(Authctxt *); | ||
162 | |||
159 | int allowed_user(struct passwd *); | 163 | int allowed_user(struct passwd *); |
160 | struct passwd * getpwnamallow(const char *user); | 164 | struct passwd * getpwnamallow(const char *user); |
161 | 165 | ||