summaryrefslogtreecommitdiffstats
path: root/readconf.h
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2023-08-28 05:31:16 +0200
committerDamien Miller <djm@mindrot.org>2023-08-28 05:34:10 +0200
commit7603ba71264e7fa938325c37eca993e2fa61272f (patch)
treee0b2fecdb68f63bdafd81eee605f5e3be9c0177a /readconf.h
parentupstream: Introduce a transport-level ping facility (diff)
downloadopenssh-7603ba71264e7fa938325c37eca993e2fa61272f.tar.xz
openssh-7603ba71264e7fa938325c37eca993e2fa61272f.zip
upstream: 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@ OpenBSD-Commit-ID: 02231ddd4f442212820976068c34a36e3c1b15be
Diffstat (limited to 'readconf.h')
-rw-r--r--readconf.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/readconf.h b/readconf.h
index dfe5bab0a..ce261bd63 100644
--- a/readconf.h
+++ b/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);