Questions about the double ratchet mechanism in Signal 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.
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.


This brief compromise is a of the current ratchet private key, one of the keys which I believe are called 'medium-term' in the DH paper (or at least in this security analysis. This means that the compromised key is only able to decrypt the current message, or messages in the current session before the key is ratcheted forward. 

This is part of how signal provides both forward and future secrecy - the medium-term key for this session cannot decrypt any past messages, and as soon as the key is refreshed it won't be able to decrypt any future messages.


  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? 


This would be true if the long-term key was compromised as well as a medium term key, but in fact signal protocol also uses ephemeral public keys which are stored on the signal servers and also replaced every so often, meaning that theoretically even if a session's medium term and ephemeral private keys were compromised, future sessions would still be secure.

didn't go into too much detail but can dig into the paper and explain a bit more if you would like. Does this help?