Slog plain base64 - #5735
Slog plain base64#5735wwdenw wants to merge 2 commits into
Conversation
|
Can one of the admins verify this patch? |
1 similar comment
|
Can one of the admins verify this patch? |
|
Thanks, we will review this, but I cannot give an estimate at the moment as to when that will happen. In the meantime, please make sure that any new PR is based on the latest develop branch, as it has changed significantly since then. Also, please split large commits, such as: into smaller, logically separated commits to make the review process easier. |
Do you want me to withdraw the current PR and create several new PRs?
|
d66510b to
043e9f8
Compare
|
You do not necessarily need to split this into multiple PRs or create a new one. I was referring to splitting the individual commits into smaller, logically separated commits to make the review process easier. |
043e9f8 to
582fe07
Compare
|
@wwdenw i see the following commit captions and descriptions
the problem is, that the content of multiple commits is absolutely unrelated, the commit content do not match the descriptions, also multiple commits contain unrelated changes please review and correct the commits again, thank you |
The previous implementation allowed an attacker to distinguish between
the pseudo-random function (PRF) and a real random function by supplying
specially crafted inputs to it. This leads to a predictable way of how
the PRF is generating output which should not by allowed by a good PRF.
The new implementation provides a variable input length and
constant output length PRF based on AES CMAC for key derivation using
the current key Ki, i.e. a key expansion of Ki using multiple iterations
is performed. Subsequently, with Ki as the key used in the PRF, the
input is defined as
(i || label || 0x00 || context || L)
with i as the number of the current iteration, L as the total length of
the requested output, label and context for parametrization of the PRF
output based on the intended purpose. See NIST reports SP-800-56cr2 and
SP.800-108r1 for more information on key derivation schemes with a PRF.
In the previous implementation, the input length was fixed
at 16 bytes regardless of the actual length of the input data.
This is also fixed in the new implementation.
Minor changes:
- verification MAC fix
- error logging macros
- clean-up
- file handling (DRY)
- return values
- source code formatting
- use of GLib types
Provide also a --logmode|-l (direct|base64|enc) for secure logging
syslog-ng.conf template and cli tools.
Signed-off-by: Airbus Commercial Aircraft <secure-logging@airbus.com>
Cleanup history for PR Signed-off-by: Airbus Commercial Aircraft <secure-logging@airbus.com>
1bf082e to
7067ee0
Compare

This Feature PR for secure-logging now provides three modes of logging:
The template for using the syslog-ng daemon has been changed for this.
Now the --logmode (direct|base64|enc) argument can be provided in the slog
template in the configuration file syslog-ng.conf.
--logmode direct provides the log message as is and adds a cryptographic checksum
--logmode base64 provides the log message encoded as a Base64 string and also adds a cryptographic checksum.
--logmode enc behaves exactly like the current version of secure-logging without the log mode, which means all log messages are encrypted and are also secured by an overall cryptographic checksum.