Confirmed users
632
edits
Line 48: | Line 48: | ||
As a mitigation against this loss, clients will cache room keys locally. This applies to both keys created by the client as well as keys learned from the Loop server. This allows users to retrieve encrypted context information as long at they haven't both forgotten their password and lost their Firefox profile. To keep the keys on the Loop server valid in the face of password resets, clients will validate the value of wrapped room keys whenever they receive room information. In the case that passing their locally-stored copy of '''kR''' through the encryption oracle yields a different result than the value stored in the Loop server, the client will update the room information with a corrected wrappedKey value. | As a mitigation against this loss, clients will cache room keys locally. This applies to both keys created by the client as well as keys learned from the Loop server. This allows users to retrieve encrypted context information as long at they haven't both forgotten their password and lost their Firefox profile. To keep the keys on the Loop server valid in the face of password resets, clients will validate the value of wrapped room keys whenever they receive room information. In the case that passing their locally-stored copy of '''kR''' through the encryption oracle yields a different result than the value stored in the Loop server, the client will update the room information with a corrected wrappedKey value. | ||
<center>[[File:Loop-keys-store.png|Local key storage and audit]]</center> | |||
<center>'''Local key storage and audit'''</center> | |||
== Loop Server API Changes == | == Loop Server API Changes == |