summaryrefslogtreecommitdiff
path: root/usr.bin/ssh/readconf.h
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2023-08-28 03:31:17 +0000
committerDamien Miller <djm@cvs.openbsd.org>2023-08-28 03:31:17 +0000
commit620698a5737b3cc7e7acbc2b222a31987c160c92 (patch)
tree02bb904414d21e02b8d7877e799f017d5a5b1be8 /usr.bin/ssh/readconf.h
parent31b179c551fdd3ba78c4ad93c807fe0df194eab8 (diff)
Add keystroke timing obfuscation to the client.
This attempts to hide inter-keystroke timings by sending interactive traffic at fixed intervals (default: every 20ms) when there is only a small amount of data being sent. It also sends fake "chaff" keystrokes for a random interval after the last real keystroke. These are controlled by a new ssh_config ObscureKeystrokeTiming keyword/ feedback/ok markus@
Diffstat (limited to 'usr.bin/ssh/readconf.h')
-rw-r--r--usr.bin/ssh/readconf.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/usr.bin/ssh/readconf.h b/usr.bin/ssh/readconf.h
index dfe5bab0a3c..ce261bd6364 100644
--- a/usr.bin/ssh/readconf.h
+++ b/usr.bin/ssh/readconf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: readconf.h,v 1.151 2023/07/17 04:08:31 djm Exp $ */
+/* $OpenBSD: readconf.h,v 1.152 2023/08/28 03:31:16 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -180,6 +180,7 @@ typedef struct {
int required_rsa_size; /* minimum size of RSA keys */
int enable_escape_commandline; /* ~C commandline */
+ int obscure_keystroke_timing_interval;
char *ignored_unknown; /* Pattern list of unknown tokens to ignore */
} Options;
@@ -222,6 +223,11 @@ typedef struct {
#define SSH_STRICT_HOSTKEY_YES 2
#define SSH_STRICT_HOSTKEY_ASK 3
+/* ObscureKeystrokes parameters */
+#define SSH_KEYSTROKE_DEFAULT_INTERVAL_MS 20
+#define SSH_KEYSTROKE_CHAFF_MIN_MS 1024
+#define SSH_KEYSTROKE_CHAFF_RNG_MS 2048
+
const char *kex_default_pk_alg(void);
char *ssh_connection_hash(const char *thishost, const char *host,
const char *portstr, const char *user);