@@ -49,8 +49,10 @@ the callback function will be called with I<enc> equal to 1. The OpenSSL
49
49
library expects that the function will set an arbitary I<name>, initialize
50
50
I<iv>, and set the cipher context I<ctx> and the hash context I<hctx>.
51
51
52
- The I<name> is only 16 characters long. The I<iv> is of length
53
- L<EVP_MAX_IV_LENGTH> defined in B<evp.h>.
52
+ The I<name> is 16 characters long and is used as a key identifier.
53
+
54
+ The I<iv> length is the length of the IV of the corresponding cipher. The
55
+ maximum IV length is L<EVP_MAX_IV_LENGTH> bytes defined in B<evp.h>.
54
56
55
57
The initialization vector I<iv> should be a random value. The cipher context
56
58
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
110
112
resumed session the applications will have all this state information available
111
113
exactly as if a full negiotation had occured.
112
114
115
+ If an attacker can obtain the key used to encrypt a session ticket, they can
116
+ obtain the master secret for any ticket using that key and decrypt any traffic
117
+ using that session: even if the ciphersuite supports forward secrecy. As
118
+ a result applications may wish to use multiple keys and avoid using long term
119
+ keys stored in files.
120
+
121
+ Applications can use longer keys to maintain a consistent level of security.
122
+ For example if a ciphersuite uses 256 bit ciphers but only a 128 bit ticket key
123
+ the overall security is only 128 bits because breaking the ticket key will
124
+ enable an attacker to obtain the session keys.
125
+
113
126
=head1 EXAMPLES
114
127
115
128
Reference Implemention:
0 commit comments