From 860d259bd82944c70b030d01e52c20cf82ebbaea Mon Sep 17 00:00:00 2001 From: Tommaso Gagliardoni Date: Mon, 24 Jul 2023 00:36:55 +0200 Subject: [PATCH] doc:Add doc/headers.png --- CHANGELOG.md | 5 +- doc/headers.png | Bin 0 -> 103526 bytes doc/headers.svg | 1232 ++++++++++++++++++++ shufflecake-userland/include/utils/input.h | 2 + shufflecake-userland/src/cli/open.c | 2 +- shufflecake-userland/src/utils/input.c | 21 +- 6 files changed, 1257 insertions(+), 5 deletions(-) create mode 100644 doc/headers.png create mode 100644 doc/headers.svg diff --git a/CHANGELOG.md b/CHANGELOG.md index f5d26c7..d557fc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,11 +14,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Global constants fully shared among components through `sflc_constants.h`. -## [0.4.0] - 2023-07-23 +## [0.4.0] - 2023-07-24 ### Added - Benchmark suite with tools for Shufflecake, LUKS, and VeraCrypt. - Improved documentation in `README.md` on using `init` non-interactively. + - `doc` section which for now includes figure of Shufflecake header structure. ### Refactored @@ -31,7 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - - BREAKING CHANGE: slightly modified header field format, removing redundant data and making it adherent to documentation. + - BREAKING CHANGE: slightly modified header field format, removing redundant MAC field and making it adherent to documentation. - Action `init` now reads password from secure interface (not showing characters, etc). diff --git a/doc/headers.png b/doc/headers.png new file mode 100644 index 0000000000000000000000000000000000000000..acd60a943de5a9e42d40551b4a0899c07fb6b594 GIT binary patch literal 103526 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≀Oy6$)>W%}Gxub5c}>agRX>rylP1ZyQe6}E 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 literal 0 HcmV?d00001 diff --git a/doc/headers.svg b/doc/headers.svg new file mode 100644 index 0000000..dca326c --- /dev/null +++ b/doc/headers.svg @@ -0,0 +1,1232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + DMB + Header + Device / Cake + + Header + + Encrypted Slices + IVs + + VMB + i + + 1 + + PositionMap + 1 + . . . + + VMB + 2 + + PositionMap + 2 + + VMB + 15 + + PositionMap + 15 + + + DMB + + salt + + IV + 1 + . . . + + ctxt + 1 + + IV + 15 + + ctxt + 15 + + + + HMAC + 1 + + HMAC + 15 + Password + Argon2 + + + + KEK + AES-GCM + + + + + VMBkey + + 1 + VMB + + + IV + ' + + ctxt + i + ' + i + + + AES-CTR + + + + + 1 + 1 + VEK + i + VMBkey + i + -1 + NumSlices + i + Metadata + i + | + | + | + | + | + | + AES-CTR + + + + Data I/O + + + diff --git a/shufflecake-userland/include/utils/input.h b/shufflecake-userland/include/utils/input.h index 5fbc8e4..9463999 100644 --- a/shufflecake-userland/include/utils/input.h +++ b/shufflecake-userland/include/utils/input.h @@ -40,5 +40,7 @@ /* Reads a line (discarding the newline) from stdin. No buffer overflow */ int sflc_safeReadLine(char *buf, size_t bufsize); +/* Reads a password or passphrase (discarding the newline) from stdin in a secure way (no echo) */ +int sflc_safeReadPassphrase(char *buf, size_t bufsize); #endif /* _UTILS_FILE_H_ */ diff --git a/shufflecake-userland/src/cli/open.c b/shufflecake-userland/src/cli/open.c index bb51a0a..e0f10dc 100644 --- a/shufflecake-userland/src/cli/open.c +++ b/shufflecake-userland/src/cli/open.c @@ -72,7 +72,7 @@ int sflc_cli_open(char *block_device) /* Gather password */ printf("Enter the password for the most secret volume you want to open: "); - err = sflc_safeReadLine(pwd, SFLC_BIGBUFSIZE); // TODO TOMGAG: replace with sflc_safeReadPassword + err = sflc_safeReadPassphrase(pwd, SFLC_BIGBUFSIZE); if (err) { sflc_log_error("Could not read password; error %d", err); return err; diff --git a/shufflecake-userland/src/utils/input.c b/shufflecake-userland/src/utils/input.c index a3ccc12..67b4f99 100644 --- a/shufflecake-userland/src/utils/input.c +++ b/shufflecake-userland/src/utils/input.c @@ -58,7 +58,24 @@ int sflc_safeReadLine(char *buf, size_t bufsize) } -// TODO TOMGAG: add sflc_safeReadPassword() to read passwords in a secure way, and add declaration in header .h if needed - +// TODO TOMGAG: placeholder for sflc_safeReadPassphrase() to read passwords in a secure way, and add declaration in header .h if needed +int sflc_safeReadPassphrase(char *buf, size_t bufsize) +{ + size_t len; + + /* Read from stdin */ + if (fgets(buf, bufsize, stdin) == NULL) { + sflc_log_error("Could not read from stdin"); + return EBADFD; + } + + /* Discard newline */ + len = strlen(buf); + if (buf[len - 1] == '\n') { + buf[len - 1] = '\0'; + } + + return 0; +}