Em primeiro lugar, precisamos entender alguns pontos dados pelo a"rtigo do LWN: o selamento seguro
FSS [Forward Secure Sealing] provides a way to at least detect tampering using only a single system, though it won't provide all of the assurances that external logging can.
the binary logs handled by the systemd journal can be "sealed" at regular time intervals. That seal is a cryptographic operation on the log data such that any tampering prior to the seal can be detected.
The algorithm for FSS is based on "Forward Secure Pseudo Random Generators" (FSPRG),
One key is the "sealing key" which is kept on the system, and the other is the "verification key" which should be securely stored elsewhere. Using the FSPRG mechanism, a new sealing key is generated periodically using a non-reversible process. The old key is then securely deleted from the system after the change.
The verification key can be used to calculate the sealing key for any given time range. That means that the attacker can only access the current sealing key (which will presumably be used for the next sealing operation), while the administrator can reliably generate any sealing key to verify previous log file seals. Changing log file entries prior to the last seal will result in a verification failure.
Então, a resposta para sua pergunta:
Q: So how are the encrypted log messages signed in this situation?
é que os arquivos de log não são realmente criptografados nem assinados, mas são selados . Isso é feito através de uma operação criptográfica específica. As duas principais propriedades da operação de vedação devem ser:
1) segurança antecipada:
the adversary gets no advantage from learning current keys when aiming at forging past log entries
2) buscabilidade:
the auditor can verify the integrity of log entries in any order or access pattern, at virtually no computational cost
Detalhes completos são fornecidos no artigo: Registro Seguro Prático: Geradores de Chaves Sequenciais por Giorgia Azzurra Marson e Bertram Poettering a">.
Você também pode verificar o código-fonte de fsprg.c