Is all random private key that generating a unique session key is both forward secrecy and key freshness?
The term ‘perfect forward secrecy’ is bad. Rather than talking about whether a protocol has perfect forward secrecy, you should talk about when in the protocol you erase keys. Then, although ‘key freshness’ isn't a common technical term in cryptography, this suggests a clear answer:
- Key freshness is presumably about when you generate new keys so that future interactions can't be broken even if the old keys are compromised.
- Key erasure is when you erase old keys so that past interactions can't be broken even if your current memory is compromised.
Forward secrecy is about protecting previous sessions if long-term secrets are later compromised.
A random session key does not necessarily provide forward secrecy. An example of this is the "traditional RSA" ciphersuites in SSL/TLS. The client generates a random shared secret for the session, encrypts it with the server's long-term RSA public key and sends it to the server which decrypts it with the corresponding private key. Someone in possession of a packet dump of the session and the server's long term private key can decrypt the session secret and hence decrypt the session.
On the other hand with the DHE and ECDHE ciphersuites the shared secret is agreed through ephemeral DH or ECDH. The server's long term RSA (or ECDSA) is only used to authenticate the exchange. So someone in possession of a packet dump of the session and the server's long term private key cannot decrypt the session without cracking the underlying crypto.