I am trying to understand the threats the double ratchet system is trying to prevent against.
The threats mentioned in the paper do not quite make sense to me. May be someone can explain where I am wrong?
For the DH ratchet the paper says --
An eavesdropper who briefly compromises one of the parties might learn the value of a current ratchet private key, but that private key will eventually be replaced with an uncompromised one. At that point, the Diffie-Hellman calculation between ratchet key pairs will define a DH output unknown to the attacker.
But practically speaking how does an attacker "briefly" compromise one of the parties? An attacker either has compromised a party or not. If the user is compromised at time T during a communication, isn't it true that the device is considered compromised for all time > T? If so why is the above assertion in the paper good?
For the Symmetric key ratchet --
The KDF inputs for the sending and receiving chains are constant, so these chains don’t provide break-in recovery. The sending and receiving chains just ensure that each message is encrypted with a unique key that can be deleted after encryption or decryption.
Here again if the user or device is compromised at a time T computing all future keys is trivial, isn't it?
So what is the system providing in addition to forward secrecy? Just in terms of forward secrecy, this is obviously adding per message PFS. So this is great, I just don't understand the other assertions as I listed above.