From: Alexander Dahl <ada@thorsis.com>
To: ptxdist@pengutronix.de
Cc: Ian Abbott <abbotti@mev.co.uk>, Bruno Thomsen <bruno.thomsen@gmail.com>
Subject: [ptxdist] [PATCH 2/8] dropbear: Add ed25519 hostkey/public key support
Date: Mon, 4 Jul 2022 14:18:25 +0200 [thread overview]
Message-ID: <20220704121831.23787-3-ada@thorsis.com> (raw)
In-Reply-To: <20220704121831.23787-1-ada@thorsis.com>
This is supported by dropbear since version 2020.79, but was not used by
ptxdist yet.
Signed-off-by: Alexander Dahl <ada@thorsis.com>
---
projectroot/etc/init.d/dropbear | 3 +++
projectroot/etc/rc.once.d/dropbear | 3 +++
projectroot/usr/lib/init/dropbear.sh | 1 +
rules/dropbear.in | 12 ++++++++++++
rules/dropbear.make | 11 +++++++++++
5 files changed, 30 insertions(+)
diff --git a/projectroot/etc/init.d/dropbear b/projectroot/etc/init.d/dropbear
index 2039340b2..1b16de20a 100644
--- a/projectroot/etc/init.d/dropbear
+++ b/projectroot/etc/init.d/dropbear
@@ -25,6 +25,9 @@ dropbear_start() {
ecdsa)
test -f "$DROPBEAR_ECDSAKEY" && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_ECDSAKEY"
;;
+ ed25519)
+ test -f "$DROPBEAR_ED25519KEY" && KEY_ARGS="$KEY_ARGS -r $DROPBEAR_ED25519KEY"
+ ;;
*)
echo "Key type '$keytype' not supported"
;;
diff --git a/projectroot/etc/rc.once.d/dropbear b/projectroot/etc/rc.once.d/dropbear
index a8725616a..191f6c61b 100644
--- a/projectroot/etc/rc.once.d/dropbear
+++ b/projectroot/etc/rc.once.d/dropbear
@@ -28,6 +28,9 @@ gen_keys() {
ecdsa)
gen_key ecdsa "$DROPBEAR_ECDSAKEY" || return
;;
+ ed25519)
+ gen_key ed25519 "$DROPBEAR_ED25519KEY" || return
+ ;;
*)
echo "Key type '$keytype' not supported"
;;
diff --git a/projectroot/usr/lib/init/dropbear.sh b/projectroot/usr/lib/init/dropbear.sh
index 12fd6e5ce..aa375fe3c 100644
--- a/projectroot/usr/lib/init/dropbear.sh
+++ b/projectroot/usr/lib/init/dropbear.sh
@@ -2,4 +2,5 @@
DROPBEAR_RSAKEY='@KEYDIR@/dropbear_rsa_host_key'
DROPBEAR_ECDSAKEY='@KEYDIR@/dropbear_ecdsa_host_key'
+DROPBEAR_ED25519KEY='@KEYDIR@/dropbear_ed25519_host_key'
DROPBEAR_KEYTYPES='@KEYTYPES@'
diff --git a/rules/dropbear.in b/rules/dropbear.in
index 553e0268c..a7698ba20 100644
--- a/rules/dropbear.in
+++ b/rules/dropbear.in
@@ -256,6 +256,18 @@ config DROPBEAR_ECDSA
ECDSA stands for Elliptic Curve Digital Signature Algorithm.
ECDSA is significantly faster than RSA.
+config DROPBEAR_ED25519
+ bool
+ prompt "ed25519"
+ default y
+ help
+ Ed25519 is the EdDSA signature scheme using SHA-512 (SHA-2)
+ and Curve25519.
+ Ed25519 is intended to provide attack resistance comparable to
+ quality 128-bit symmetric ciphers.
+ Public keys are 256 bits long and signatures are 512 bits
+ long.
+
comment "Key exchange algorithm ---"
config DROPBEAR_ECDH
diff --git a/rules/dropbear.make b/rules/dropbear.make
index 3a434e2c8..a5ff02c9e 100644
--- a/rules/dropbear.make
+++ b/rules/dropbear.make
@@ -202,6 +202,14 @@ else
@echo "#define DROPBEAR_ECDSA 0" >> $(DROPBEAR_LOCALOPTIONS)
endif
+ifdef PTXCONF_DROPBEAR_ED25519
+ @echo "ptxdist: enabling ed25519"
+ @echo "#define DROPBEAR_ED25519 1" >> $(DROPBEAR_LOCALOPTIONS)
+else
+ @echo "ptxdist: disabling ed25519"
+ @echo "#define DROPBEAR_ED25519 0" >> $(DROPBEAR_LOCALOPTIONS)
+endif
+
@echo "ptxdist: disabling u2f security key support"
@echo "#define DROPBEAR_SK_ECDSA 0" >> $(DROPBEAR_LOCALOPTIONS)
@echo "#define DROPBEAR_SK_ED25519 0" >> $(DROPBEAR_LOCALOPTIONS)
@@ -263,6 +271,9 @@ endif
ifdef PTXCONF_DROPBEAR_ECDSA
DROPBEAR_KEY_TYPES += ecdsa
endif
+ifdef PTXCONF_DROPBEAR_ED25519
+DROPBEAR_KEY_TYPES += ed25519
+endif
$(STATEDIR)/dropbear.targetinstall:
@$(call targetinfo)
--
2.30.2
next prev parent reply other threads:[~2022-07-04 12:19 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-04 12:18 [ptxdist] [PATCH 0/8] dropbear: version bump and option revise Alexander Dahl
2022-07-04 12:18 ` [ptxdist] [PATCH 1/8] dropbear: version bump 2020.81 -> 2022.82 Alexander Dahl
2022-07-08 15:13 ` Michael Olbrich
2022-07-21 7:10 ` [ptxdist] [PATCH] dropbear: Add patch to fix build with X11 forwarding Alexander Dahl
2022-08-04 15:14 ` [ptxdist] [APPLIED] " Michael Olbrich
2022-07-29 6:23 ` [ptxdist] [APPLIED] dropbear: version bump 2020.81 -> 2022.82 Michael Olbrich
2022-07-04 12:18 ` Alexander Dahl [this message]
2022-07-29 6:23 ` [ptxdist] [APPLIED] dropbear: Add ed25519 hostkey/public key support Michael Olbrich
2022-07-04 12:18 ` [ptxdist] [PATCH 3/8] dropbear: Remove curve25519 dependency Alexander Dahl
2022-07-29 6:23 ` [ptxdist] [APPLIED] " Michael Olbrich
2022-07-04 12:18 ` [ptxdist] [PATCH 4/8] dropbear: Make Chacha20-Poly1305 encryption optional Alexander Dahl
2022-07-29 6:23 ` [ptxdist] [APPLIED] " Michael Olbrich
2022-07-04 12:18 ` [ptxdist] [PATCH 5/8] dropbear: Append hints to some menu prompts Alexander Dahl
2022-07-29 6:23 ` [ptxdist] [APPLIED] " Michael Olbrich
2022-07-04 12:18 ` [ptxdist] [PATCH 6/8] dropbear: Rework key exchange algorithm options Alexander Dahl
2022-07-04 12:31 ` Ian Abbott
2022-07-08 9:09 ` Michael Olbrich
2022-07-29 6:23 ` [ptxdist] [APPLIED] " Michael Olbrich
2022-07-04 12:18 ` [ptxdist] [PATCH 7/8] dropbear: Add conditional comments with warnings Alexander Dahl
2022-07-29 6:23 ` [ptxdist] [APPLIED] " Michael Olbrich
2022-07-04 12:18 ` [ptxdist] [PATCH 8/8] dropbear: Move option groups to sub menus Alexander Dahl
2022-07-29 6:23 ` [ptxdist] [APPLIED] " Michael Olbrich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220704121831.23787-3-ada@thorsis.com \
--to=ada@thorsis.com \
--cc=abbotti@mev.co.uk \
--cc=bruno.thomsen@gmail.com \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox