Bonjour,

J'utilise SSL pour la communication entre un client et un serveur par TCP à l'aide des sockets.

Je rencontre actuellement un problème gênant de coût du trafic. Il se trouve que le serveur et le client échangent des clés de manière répété notamment lors des reconnections (fermeture de socket et réouverture).

Le timeout des sessions SSL côté serveur et côté client est configuré à 1 journée. Les timeouts des sockets (SO_TIMEOUT) est configuré à 0, c'est à dire à l'infini.

Pourtant, des clés sont échangés de façon périodique...

Voici la stack SSL d'échange de clé périodique*:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
ECDSA, SHA1withRSA, SHA1withDSA, MD5withRSA
Extension server_name, server_name: [type=host_name (0), value=sportal.physiodom.com]
***
%% Initialized:  [Session-4, SSL_NULL_WITH_NULL_NULL]
%% Negotiating:  [Session-4, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256]
*** ServerHello, TLSv1.2
RandomCookie:  GMT: 1400988298 bytes = { 80, 18, 148, 172, 78, 216, 184, 250, 171, 228, 15, 42, 6, 205, 220, 96, 55, 51, 213, 12, 35, 38, 231, 90, 253, 118, 159, 143 }
Session ID:  {84, 129, 99, 138, 72, 223, 213, 161, 255, 2, 22, 72, 85, 79, 67, 172, 3, 235, 225, 116, 212, 113, 165, 13, 30, 197, 92, 251, 94, 123, 151, 113}
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Compression Method: 0
Extension renegotiation_info, renegotiated_connection: <empty>
***
Cipher suite:  TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
*** Certificate chain
chain [0] = [
[
  Version: V1
  Subject: EMAILADDRESS=info@sirlan.com, CN=*.sirlan.com, O=SIRLAN Technologies, L=Sassenage, C=FR
  Signature Algorithm: SHA1withRSA, OID = 1.2.840.113549.1.1.5
 
  Key:  Sun RSA public key, 1024 bits
  modulus: 126855163547319324855295758816377439898136081480568748984427006483274139584694508640908457208706831241194155302222835836232095906671880579973984200766182278048960790170538192289888051389691002790135508991069049681054393647705708112622335763453989976079333268126965194058338089563432936073487934406916830297921
  public exponent: 65537
  Validity: [From: Wed Apr 06 10:11:08 CEST 2011,
               To: Tue Dec 31 09:11:08 CET 2013]
  Issuer: EMAILADDRESS=info@sirlan.com, CN=*.sirlan.com, O=SIRLAN Technologies, L=Sassenage, C=FR
  SerialNumber: [    d0879b1c 7c7b8b46]
 
]
  Algorithm: [SHA1withRSA]
  Signature:
0000: 99 2C 7B F0 59 1E F1 2B   B4 E2 89 59 38 7D B8 7F  .,..Y..+...Y8...
0010: 8A 7B 52 99 4F B8 6E A7   71 08 CE BA DB 46 9C 22  ..R.O.n.q....F."
0020: 7B 56 92 CB D8 BF 7A 56   65 7E 48 22 C8 1D 9D 21  .V....zVe.H"...!
0030: D3 6B 13 4B 2A D5 72 68   CD B3 AC B7 E1 71 A6 6D  .k.K*.rh.....q.m
0040: FF 02 C4 DC 41 15 29 9D   0C D4 44 56 6B DA 25 2C  ....A.)...DVk.%,
0050: 58 D7 83 42 F5 F3 96 AF   AE 44 0E D3 46 AA 5D 3E  X..B.....D..F.]>
0060: 24 61 8A 51 DF CD 84 3D   0B EE 36 F9 E6 A1 15 22  $a.Q...=..6...."
0070: 24 3A 8B 77 D9 19 BF 3F   4B 7B AB E3 62 7B FB BE  $:.w...?K...b...
 
]
***
*** ECDH ServerKeyExchange
Signature Algorithm SHA512withRSA
Server key: Sun EC public key, 256 bits
  public x coord: 59533801727010594403058554383218309182136426672909557935634041007490189536565
  public y coord: 32614978946252501425677219658196336677509324861978421832956670857955536603723
  parameters: secp256r1 [NIST P-256, X9.62 prime256v1] (1.2.840.10045.3.1.7)
*** ServerHelloDone
com.sirlan.platform.link.server.connection.UpwardConnection@605e5ef, WRITE: TLSv1.2 Handshake, length = 915
com.sirlan.platform.link.server.connection.UpwardConnection@605e5ef, READ: TLSv1.2 Handshake, length = 70
*** ECDHClientKeyExchange
ECDH Public value:  { 4, 69, 249, 87, 206, 137, 58, 236, 4, 47, 210, 234, 4, 203, 168, 198, 250, 190, 52, 8, 239, 65, 192, 145, 34, 37, 32, 247, 17, 0, 126, 145, 214, 3, 204, 14, 33, 164, 45, 58, 151, 226, 174, 252, 207, 86, 57, 94, 79, 218, 135, 69, 104, 227, 241, 61, 199, 29, 130, 198, 22, 226, 96, 185, 203 }
Quel pourrait être la cause de ce problème*?

En vous remerciant par avance pour votre retour,

Cordialement,