Security: E2EE Private Key – AndroidKeysetManager statt CleartextKeysetHandle #105
Labels
No labels
block-planning
bug
documentation
duplicate
enhancement
feature
good first issue
help wanted
infrastructure
invalid
planning
priority:high
priority:low
question
refactoring
status:backlog
status:done
status:in-progress
status:todo
tech-decision
test
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: bollwerkadmin/bollwerk#105
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Hintergrund
Aus dem Code Review von #96 (E2EE): Die aktuelle Implementierung serialisiert den Tink KeysetHandle (Private Key) via CleartextKeysetHandle.write() in einen JSON-String, bevor dieser in EncryptedSharedPreferences abgelegt wird.
Risiko: Der Klartext-JSON des privaten Schlüssels existiert kurz im JVM-Heap (Crash-Dumps, Heap-Dumps, Profiler könnten ihn exponieren).
Ziel
CleartextKeysetHandle + JsonKeysetWriter für den privaten Key ersetzen durch AndroidKeysetManager.Builder, der den Tink-Keyset direkt mit einem Android-Keystore-backed AEAD-Wrapper schützt – ohne den Schlüssel je als cleartext-String zu materialisieren.
Scope
Nicht im Scope
Referenz
Tink Android Key Storage Guide: https://developers.google.com/tink/generate-plaintext-keyset#android
Part of: #96 (E2EE)
Umgesetzt in commit
8e7352d.Änderungen:
Testabdeckung: