Re:pass – the standard Unix password manager
by upofadown on Friday June 17, 2022 @11:01AM
(#31779217)
You still get the regular PGP integrity protection even in a case where there is no authentication. I just tried it and pass just sent along the GPG error:
... instead of the password file I modified.
[ Parent
| on HN ]
1. What did you try exactly?
2. How is this “regular integrity protection” defined formally?
Re:pass – the standard Unix password manager
by upofadown on Sunday June 19, 2022 @01:03AM
(#31796305)
I modified a byte in the encrypted data. It then failed the modification detection code (MDC) as defined by RFC-4880. My article:
It's still very unclear (having spent a few minutes on the RFC) what it does exactly. It sounds like a mechanism to detect accidental errors (say, user copy-pasting encrypted data incorrectly or passing some garbage in place of ciphertext) and not maliciously crafted modifications. More like error correcting code than authentication.
The fact that it detects one byte being modified means nothing.
Re:pass – the standard Unix password manager
by upofadown on Sunday June 19, 2022 @05:27PM
(#31803680)
In the case of pass, no authentication is normally done, so what remains has to be an integrity check. Pass can sign git commits, but OpenPGP signs the content directly, so the MDC is not used.
The encryption mode normally used in OpenPGP is an improved version of cipher feedback (OCFB) for the block mode and something called the modification detection code (MDC) to detect modification. The two (OCFB-MDC) work together to produce an authenticated encryption mode based on shared knowledge of the symmetrical encryption key. In practice few seem to bother with the MDC but it is there and is cryptographically strong should an implementer want to use it for preventing, say, EFAIL.