diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2014-07-03 14:50:08 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2014-07-06 12:40:16 +0100 |
commit | 012f7474f72a1adfd631b34d2e78a9b69d6c97f9 (patch) | |
tree | f772fa23fc722d9ae28e4f9656cf97a7e5ca0b8d /doc | |
parent | 5c1b373be6c38586effdcbb14f185505c54efb5c (diff) |
Update ticket callback docs.
(cherry picked from commit a23a6e85d8dcd5733a343754f434201f3c9aa6f0)
Diffstat (limited to 'doc')
-rw-r--r-- | doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod b/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod index b9371d7697..da0dd0f597 100644 --- a/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod +++ b/doc/ssl/SSL_CTX_set_tlsext_ticket_key_cb.pod @@ -49,8 +49,10 @@ the callback function will be called with I<enc> equal to 1. The OpenSSL library expects that the function will set an arbitary I<name>, initialize I<iv>, and set the cipher context I<ctx> and the hash context I<hctx>. -The I<name> is only 16 characters long. The I<iv> is of length -L<EVP_MAX_IV_LENGTH> defined in B<evp.h>. +The I<name> is 16 characters long and is used as a key identifier. + +The I<iv> length is the length of the IV of the corresponding cipher. The +maximum IV length is L<EVP_MAX_IV_LENGTH> bytes defined in B<evp.h>. The initialization vector I<iv> should be a random value. The cipher context I<ctx> should use the initialisation vector I<iv>. The cipher context can be @@ -110,6 +112,17 @@ an all other negotiated state information encrypted within the ticket. In a resumed session the applications will have all this state information available exactly as if a full negiotation had occured. +If an attacker can obtain the key used to encrypt a session ticket, they can +obtain the master secret for any ticket using that key and decrypt any traffic +using that session: even if the ciphersuite supports forward secrecy. As +a result applications may wish to use multiple keys and avoid using long term +keys stored in files. + +Applications can use longer keys to maintain a consistent level of security. +For example if a ciphersuite uses 256 bit ciphers but only a 128 bit ticket key +the overall security is only 128 bits because breaking the ticket key will +enable an attacker to obtain the session keys. + =head1 EXAMPLES Reference Implemention: |