Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFD 169 Encrypted kernel crash dump #131

Open
bcantrill opened this issue Jun 10, 2019 · 7 comments
Open

RFD 169 Encrypted kernel crash dump #131

bcantrill opened this issue Jun 10, 2019 · 7 comments

Comments

@bcantrill
Copy link
Contributor

This is an issue to discuss RFD 169 Encrypted kernel crash dump; comments welcome!

@danmcd
Copy link

danmcd commented Jun 10, 2019

You have an HMAC but only over the first N bytes to reject bad keys. Using a cipher without some sort of packet integrity may enable self-healing block-splicing attacks. Now ChaCha20 isn't CBC, it's CTR, BUT even CTR-mode ciphers need some sort of integrity protection. In SSL, ChaCha20 is paired with Poly1305. Poly1305 has ChaCha20 properties, as it comes from DJB as well.

@bcantrill
Copy link
Contributor Author

Is the concern that the dump might be tampered with? We're definitely not trying to make the dump tamperproof -- we're trying to prevent it from being seen in cleartext by the attacker.

@rmustacc
Copy link
Contributor

rmustacc commented Jun 10, 2019 via email

@danmcd
Copy link

danmcd commented Jun 11, 2019

If tamper-proofing is not a concern, that needs to be documented as such. Others will notice encryption-with-no-integrity and get their reflexes triggered. Please be ready to address it. I may even be missing reasons why it's important beyond tamper-resistance, but I'm pretty sure you don't have to worry about it for tampering reasons (at least in the short-and-medium-term).

@rzezeski
Copy link

(there is currently no way to disable dump encryption once enabled).

I don't follow this sentence. If I enable encrypted dump on my machine with dumpadm -k ..., I can never disable it in the future? I understand that once a particular core is encrypted the only way I'm reading it is by decrypting it with the correct key; but it seems you are saying that once you enable encrypted dump on a box there is no going back. That is, I can't later disable encrypted dump for future crashes. If that's the case, I don't understand the reasoning.

Also, what about changing the key? I imagine you can just rerun dumpadm -k? If so, might want to call that out explicitly.

@bcantrill
Copy link
Contributor Author

I have updated the RFD to address @danmcd's concerns (calling out that this is not to prevent tampering) as well as to change the implementation to allow for spontaneous upgrades.

@bcantrill
Copy link
Contributor Author

@rzezeski: There is no way to disable encryption without rebooting -- I'll clarify both the RFD and the docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants