optimizar el túnel de la rap #31

Open
opened 2025-05-16 18:26:16 +00:00 by fauno · 19 comments
Owner

tinc usa un monton de cpu cuando hay mucho trafico porque tiene que cifrar el tunel y usa algoritmos antiguos (rsa si no recuerdo mal). no se si en 1.0 es posible cambiar los algoritmos, pero recuerdo que en 1.1 si

tinc usa un monton de cpu cuando hay mucho trafico porque tiene que cifrar el tunel y usa algoritmos antiguos (rsa si no recuerdo mal). no se si en 1.0 es posible cambiar los algoritmos, pero recuerdo que en 1.1 si
Author
Owner

de man tinc.conf

       Cipher = cipher (aes-256-cbc)
               The symmetric cipher algorithm used to encrypt UDP packets.  Any
               cipher supported by LibreSSL or OpenSSL is recognised.  Further‐
               more, specifying "none" will turn off packet encryption.  It  is
               best to use only those ciphers which support CBC mode.
[...]
       Digest = digest (sha256)
               The digest algorithm used to authenticate UDP packets.  Any  di‐
               gest  supported  by LibreSSL or OpenSSL is recognised.  Further‐
               more, specifying "none" will turn off packet authentication.
de `man tinc.conf` ``` Cipher = cipher (aes-256-cbc) The symmetric cipher algorithm used to encrypt UDP packets. Any cipher supported by LibreSSL or OpenSSL is recognised. Further‐ more, specifying "none" will turn off packet encryption. It is best to use only those ciphers which support CBC mode. [...] Digest = digest (sha256) The digest algorithm used to authenticate UDP packets. Any di‐ gest supported by LibreSSL or OpenSSL is recognised. Further‐ more, specifying "none" will turn off packet authentication. ```
Author
Owner

en tinc 1.1 cambiaron los valores por defecto a blowfish y sha1 respectivamente:

https://tinc-vpn.org/documentation-1.1/Host-configuration-variables.html

en tinc 1.1 cambiaron los valores por defecto a `blowfish` y `sha1` respectivamente: https://tinc-vpn.org/documentation-1.1/Host-configuration-variables.html
fauno added the
hacer
prioridad baja
rap
labels 2025-06-25 17:12:08 +00:00
fauno self-assigned this 2025-06-25 17:12:15 +00:00
Numerica removed the
prioridad baja
label 2025-06-25 17:34:08 +00:00
l4uZP added the
prioridad alta
label 2025-07-25 20:39:22 +00:00
Author
Owner

Según https://docs.openssl.org/master/man1/openssl-enc/#supported-ciphers podría usar cualquiera de estos:

bf-cbc                      Blowfish in CBC mode
cast-cbc                    CAST in CBC mode
cast5-cbc                   CAST5 in CBC mode
des-cbc                     DES in CBC mode
des-ede-cbc                 Two key triple DES EDE in CBC mode
des-ede3-cbc                Three key triple DES EDE in CBC mode
idea-cbc                    IDEA algorithm in CBC mode
rc2-cbc                     128 bit RC2 in CBC mode
rc2-64-cbc                  64 bit RC2 in CBC mode
rc2-40-cbc                  40 bit RC2 in CBC mode
rc5-cbc                     RC5 cipher in CBC mode
seed-cbc                    SEED cipher in CBC mode
sm4-cbc                     SM4 cipher in CBC mode
aes-[128|192|256]-cbc       128/192/256 bit AES in CBC mode
aria-[128|192|256]-cbc      128/192/256 bit ARIA in CBC mode
camellia-[128|192|256]-cbc  128/192/256 bit Camellia in CBC mode

creo que los candidatos serían blowfish, camellia y aes en distintos modos. la pregunta es cuál está balanceado entre seguridad y performance donde el modelo de ataque sería una mitm.

vuelvo con un analisis de performance

Según https://docs.openssl.org/master/man1/openssl-enc/#supported-ciphers podría usar cualquiera de estos: ``` bf-cbc Blowfish in CBC mode cast-cbc CAST in CBC mode cast5-cbc CAST5 in CBC mode des-cbc DES in CBC mode des-ede-cbc Two key triple DES EDE in CBC mode des-ede3-cbc Three key triple DES EDE in CBC mode idea-cbc IDEA algorithm in CBC mode rc2-cbc 128 bit RC2 in CBC mode rc2-64-cbc 64 bit RC2 in CBC mode rc2-40-cbc 40 bit RC2 in CBC mode rc5-cbc RC5 cipher in CBC mode seed-cbc SEED cipher in CBC mode sm4-cbc SM4 cipher in CBC mode aes-[128|192|256]-cbc 128/192/256 bit AES in CBC mode aria-[128|192|256]-cbc 128/192/256 bit ARIA in CBC mode camellia-[128|192|256]-cbc 128/192/256 bit Camellia in CBC mode ``` creo que los candidatos serían blowfish, camellia y aes en distintos modos. la pregunta es cuál está balanceado entre seguridad y performance donde el modelo de ataque sería una mitm. vuelvo con un analisis de performance
fauno added
haciendo
and removed
hacer
labels 2025-08-13 16:19:43 +00:00
Author
Owner

estoy ejecutando iperf3 en una red local. estoy mirando la cpu con pidstat y tomando nota del pico:

pidstat -h  -p `cat /run/tinc.coopn.pid` 1

conexión directa (sin vpn)

uso de cpu: 0% (incluso con htop)

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.2 MBytes  94.3 Mbits/sec    0    105 KBytes       
[  5]   1.00-2.00   sec  11.0 MBytes  92.3 Mbits/sec    0    105 KBytes       
[  5]   2.00-3.00   sec  10.4 MBytes  87.0 Mbits/sec    0    105 KBytes       
[  5]   3.00-4.00   sec  10.8 MBytes  90.2 Mbits/sec    0    105 KBytes       
[  5]   4.00-5.00   sec  10.6 MBytes  89.1 Mbits/sec    0    105 KBytes       
[  5]   5.00-6.00   sec  10.4 MBytes  87.0 Mbits/sec    0    105 KBytes       
[  5]   6.00-7.00   sec  10.8 MBytes  90.2 Mbits/sec    0    105 KBytes       
[  5]   7.00-8.00   sec  10.4 MBytes  87.0 Mbits/sec    0    105 KBytes       
[  5]   8.00-9.00   sec  10.6 MBytes  89.2 Mbits/sec    0    105 KBytes       
[  5]   9.00-10.00  sec  10.6 MBytes  89.0 Mbits/sec    0    105 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   107 MBytes  89.5 Mbits/sec    0            sender
[  5]   0.00-10.04  sec   106 MBytes  88.9 Mbits/sec                  receiver

cipher por defecto de tinc 1.0 (aes-256-cbc)

pico de cpu: 44%

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  10.8 MBytes  90.1 Mbits/sec   10   96.0 KBytes       
[  5]   1.00-2.00   sec  10.9 MBytes  91.2 Mbits/sec    3   77.1 KBytes       
[  5]   2.00-3.00   sec  10.9 MBytes  91.2 Mbits/sec    2   96.0 KBytes       
[  5]   3.00-4.00   sec  10.9 MBytes  91.2 Mbits/sec    3   75.7 KBytes       
[  5]   4.00-5.00   sec  10.6 MBytes  89.1 Mbits/sec    2   92.0 KBytes       
[  5]   5.00-6.00   sec  10.9 MBytes  91.2 Mbits/sec    3   83.9 KBytes       
[  5]   6.00-7.00   sec  10.8 MBytes  90.2 Mbits/sec    2    104 KBytes       
[  5]   7.00-8.00   sec  10.8 MBytes  90.2 Mbits/sec    3   81.2 KBytes       
[  5]   8.00-9.00   sec  10.8 MBytes  90.2 Mbits/sec    2   93.3 KBytes       
[  5]   9.00-10.00  sec  10.9 MBytes  91.2 Mbits/sec    2    105 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   108 MBytes  90.6 Mbits/sec   32            sender
[  5]   0.00-10.01  sec   108 MBytes  90.3 Mbits/sec                  receiver

bf-cbc

pico de cpu: 31%

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.4 MBytes  95.4 Mbits/sec    0    546 KBytes       
[  5]   1.00-2.00   sec  12.1 MBytes   102 Mbits/sec    0   1.06 MBytes       
[  5]   2.00-3.00   sec  10.8 MBytes  90.2 Mbits/sec   15   1.47 MBytes       
[  5]   3.00-4.00   sec  10.4 MBytes  87.0 Mbits/sec   45   1.20 MBytes       
[  5]   4.00-5.00   sec  10.9 MBytes  91.2 Mbits/sec    0   1.31 MBytes       
[  5]   5.00-6.00   sec  11.0 MBytes  92.3 Mbits/sec    0   1.39 MBytes       
[  5]   6.00-7.00   sec  9.50 MBytes  79.7 Mbits/sec    0   1.46 MBytes       
[  5]   7.00-8.00   sec  11.4 MBytes  95.4 Mbits/sec    5   1.05 MBytes       
[  5]   8.00-9.00   sec  9.50 MBytes  79.7 Mbits/sec    0   1.12 MBytes       
[  5]   9.00-10.00  sec  11.0 MBytes  92.2 Mbits/sec    0   1.18 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   108 MBytes  90.5 Mbits/sec   65            sender
[  5]   0.00-10.11  sec   106 MBytes  87.7 Mbits/sec                  receiver

aes-128-cbc

pico de cpu: 46%

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.9 MBytes  99.5 Mbits/sec    0    563 KBytes       
[  5]   1.00-2.00   sec  12.8 MBytes   107 Mbits/sec    0   1.08 MBytes       
[  5]   2.00-3.00   sec  10.9 MBytes  91.2 Mbits/sec  1439   59.5 KBytes       
[  5]   3.00-4.00   sec  10.9 MBytes  91.3 Mbits/sec    9   62.2 KBytes       
[  5]   4.00-5.00   sec  8.25 MBytes  69.2 Mbits/sec   35   23.0 KBytes       
[  5]   5.00-6.00   sec  6.88 MBytes  57.7 Mbits/sec   51   23.0 KBytes       
[  5]   6.00-7.00   sec  5.38 MBytes  45.1 Mbits/sec   46   20.3 KBytes       
[  5]   7.00-8.00   sec  5.50 MBytes  46.1 Mbits/sec   33   20.3 KBytes       
[  5]   8.00-9.00   sec  6.88 MBytes  57.7 Mbits/sec   33   27.1 KBytes       
[  5]   9.00-10.00  sec  6.75 MBytes  56.6 Mbits/sec   42   27.1 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  86.0 MBytes  72.1 Mbits/sec  1688            sender
[  5]   0.00-10.01  sec  82.1 MBytes  68.9 Mbits/sec                  receiver

aes-256-cbc

pico de cpu: 47%

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  12.1 MBytes   102 Mbits/sec    0    564 KBytes       
[  5]   1.00-2.00   sec  11.8 MBytes  98.6 Mbits/sec   73    766 KBytes       
[  5]   2.00-3.00   sec  11.0 MBytes  92.3 Mbits/sec  1297    124 KBytes       
^[[6;5~[  5]   3.00-4.00   sec  10.8 MBytes  90.2 Mbits/sec    2    104 KBytes       
[  5]   4.00-5.00   sec  10.6 MBytes  89.1 Mbits/sec    1    134 KBytes       
[  5]   5.00-6.00   sec  10.6 MBytes  89.2 Mbits/sec    2    122 KBytes       
[  5]   6.00-7.00   sec  10.6 MBytes  89.0 Mbits/sec    5   90.6 KBytes       
[  5]   7.00-8.00   sec  10.6 MBytes  89.1 Mbits/sec    1    122 KBytes       
[  5]   8.00-9.00   sec  10.6 MBytes  89.1 Mbits/sec    3   77.1 KBytes       
[  5]   9.00-10.00  sec  11.9 MBytes  99.6 Mbits/sec    1    107 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   111 MBytes  92.8 Mbits/sec  1385            sender
[  5]   0.00-10.01  sec   107 MBytes  90.0 Mbits/sec                  receiver

camellia-128-cbc

pico de cpu: 42%

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  11.8 MBytes  98.5 Mbits/sec  328    105 KBytes       
[  5]   1.00-2.00   sec  10.4 MBytes  87.0 Mbits/sec    2    126 KBytes       
[  5]   2.00-3.00   sec  10.9 MBytes  91.2 Mbits/sec    6   71.7 KBytes       
[  5]   3.00-4.00   sec  11.0 MBytes  92.3 Mbits/sec    1    107 KBytes       
[  5]   4.00-5.00   sec  10.8 MBytes  90.2 Mbits/sec    2    114 KBytes       
[  5]   5.00-6.00   sec  10.5 MBytes  88.1 Mbits/sec    3    110 KBytes       
[  5]   6.00-7.00   sec  11.0 MBytes  92.3 Mbits/sec    2    107 KBytes       
[  5]   7.00-8.00   sec  10.9 MBytes  91.2 Mbits/sec    2   92.0 KBytes       
[  5]   8.00-9.00   sec  10.5 MBytes  88.1 Mbits/sec    2   90.6 KBytes       
[  5]   9.00-10.00  sec  10.9 MBytes  91.3 Mbits/sec    2   86.6 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   108 MBytes  91.0 Mbits/sec  350            sender
[  5]   0.00-10.01  sec   107 MBytes  90.0 Mbits/sec                  receiver

camellia-256-cbc

pico de cpu: 44%

[  5]   0.00-1.00   sec  12.0 MBytes   101 Mbits/sec    0    565 KBytes       
[  5]   1.00-2.00   sec  11.6 MBytes  97.5 Mbits/sec  869    111 KBytes       
[  5]   2.00-3.00   sec  10.4 MBytes  87.0 Mbits/sec    3    131 KBytes       
[  5]   3.00-4.00   sec  11.5 MBytes  96.5 Mbits/sec    4    114 KBytes       
[  5]   4.00-5.00   sec  10.4 MBytes  87.0 Mbits/sec    1    138 KBytes       
[  5]   5.00-6.00   sec  10.5 MBytes  88.1 Mbits/sec    3    118 KBytes       
[  5]   6.00-7.00   sec  11.2 MBytes  94.4 Mbits/sec    2    107 KBytes       
[  5]   7.00-8.00   sec  10.6 MBytes  89.1 Mbits/sec    2   98.7 KBytes       
[  5]   8.00-9.00   sec  10.5 MBytes  88.2 Mbits/sec    2   89.3 KBytes       
[  5]   9.00-10.00  sec  9.75 MBytes  81.7 Mbits/sec   12   94.7 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   108 MBytes  91.0 Mbits/sec  898            sender
[  5]   0.00-10.01  sec   106 MBytes  89.2 Mbits/sec                  receiver

camellia-192-cbc

pico de cpu: 42%

[  5]   0.00-1.00   sec  11.8 MBytes  98.5 Mbits/sec    0    567 KBytes       
[  5]   1.00-2.00   sec  12.4 MBytes   104 Mbits/sec    0   1.08 MBytes       
[  5]   2.00-3.00   sec  10.6 MBytes  89.1 Mbits/sec  1010    124 KBytes       
[  5]   3.00-4.00   sec  10.0 MBytes  83.9 Mbits/sec   15   98.7 KBytes       
[  5]   4.00-5.00   sec  11.2 MBytes  94.3 Mbits/sec    5    114 KBytes       
[  5]   5.00-6.01   sec  11.1 MBytes  92.8 Mbits/sec    1    139 KBytes       
[  5]   6.01-7.00   sec  9.88 MBytes  83.3 Mbits/sec    4    120 KBytes       
[  5]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    3   90.6 KBytes       
[  5]   8.00-9.00   sec  10.0 MBytes  83.9 Mbits/sec   19   90.6 KBytes       
[  5]   9.00-10.00  sec  10.0 MBytes  83.9 Mbits/sec    4    108 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   108 MBytes  90.8 Mbits/sec  1061            sender
[  5]   0.00-10.01  sec   106 MBytes  88.7 Mbits/sec                  receiver
estoy ejecutando `iperf3` en una red local. estoy mirando la cpu con pidstat y tomando nota del pico: ```bash pidstat -h -p `cat /run/tinc.coopn.pid` 1 ``` # conexión directa (sin vpn) uso de cpu: 0% (incluso con htop) ``` [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 11.2 MBytes 94.3 Mbits/sec 0 105 KBytes [ 5] 1.00-2.00 sec 11.0 MBytes 92.3 Mbits/sec 0 105 KBytes [ 5] 2.00-3.00 sec 10.4 MBytes 87.0 Mbits/sec 0 105 KBytes [ 5] 3.00-4.00 sec 10.8 MBytes 90.2 Mbits/sec 0 105 KBytes [ 5] 4.00-5.00 sec 10.6 MBytes 89.1 Mbits/sec 0 105 KBytes [ 5] 5.00-6.00 sec 10.4 MBytes 87.0 Mbits/sec 0 105 KBytes [ 5] 6.00-7.00 sec 10.8 MBytes 90.2 Mbits/sec 0 105 KBytes [ 5] 7.00-8.00 sec 10.4 MBytes 87.0 Mbits/sec 0 105 KBytes [ 5] 8.00-9.00 sec 10.6 MBytes 89.2 Mbits/sec 0 105 KBytes [ 5] 9.00-10.00 sec 10.6 MBytes 89.0 Mbits/sec 0 105 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 107 MBytes 89.5 Mbits/sec 0 sender [ 5] 0.00-10.04 sec 106 MBytes 88.9 Mbits/sec receiver ``` # cipher por defecto de tinc 1.0 (aes-256-cbc) pico de cpu: 44% ``` [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 10.8 MBytes 90.1 Mbits/sec 10 96.0 KBytes [ 5] 1.00-2.00 sec 10.9 MBytes 91.2 Mbits/sec 3 77.1 KBytes [ 5] 2.00-3.00 sec 10.9 MBytes 91.2 Mbits/sec 2 96.0 KBytes [ 5] 3.00-4.00 sec 10.9 MBytes 91.2 Mbits/sec 3 75.7 KBytes [ 5] 4.00-5.00 sec 10.6 MBytes 89.1 Mbits/sec 2 92.0 KBytes [ 5] 5.00-6.00 sec 10.9 MBytes 91.2 Mbits/sec 3 83.9 KBytes [ 5] 6.00-7.00 sec 10.8 MBytes 90.2 Mbits/sec 2 104 KBytes [ 5] 7.00-8.00 sec 10.8 MBytes 90.2 Mbits/sec 3 81.2 KBytes [ 5] 8.00-9.00 sec 10.8 MBytes 90.2 Mbits/sec 2 93.3 KBytes [ 5] 9.00-10.00 sec 10.9 MBytes 91.2 Mbits/sec 2 105 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 108 MBytes 90.6 Mbits/sec 32 sender [ 5] 0.00-10.01 sec 108 MBytes 90.3 Mbits/sec receiver ``` # bf-cbc pico de cpu: 31% ``` [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 11.4 MBytes 95.4 Mbits/sec 0 546 KBytes [ 5] 1.00-2.00 sec 12.1 MBytes 102 Mbits/sec 0 1.06 MBytes [ 5] 2.00-3.00 sec 10.8 MBytes 90.2 Mbits/sec 15 1.47 MBytes [ 5] 3.00-4.00 sec 10.4 MBytes 87.0 Mbits/sec 45 1.20 MBytes [ 5] 4.00-5.00 sec 10.9 MBytes 91.2 Mbits/sec 0 1.31 MBytes [ 5] 5.00-6.00 sec 11.0 MBytes 92.3 Mbits/sec 0 1.39 MBytes [ 5] 6.00-7.00 sec 9.50 MBytes 79.7 Mbits/sec 0 1.46 MBytes [ 5] 7.00-8.00 sec 11.4 MBytes 95.4 Mbits/sec 5 1.05 MBytes [ 5] 8.00-9.00 sec 9.50 MBytes 79.7 Mbits/sec 0 1.12 MBytes [ 5] 9.00-10.00 sec 11.0 MBytes 92.2 Mbits/sec 0 1.18 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 108 MBytes 90.5 Mbits/sec 65 sender [ 5] 0.00-10.11 sec 106 MBytes 87.7 Mbits/sec receiver ``` # aes-128-cbc pico de cpu: 46% ``` [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 11.9 MBytes 99.5 Mbits/sec 0 563 KBytes [ 5] 1.00-2.00 sec 12.8 MBytes 107 Mbits/sec 0 1.08 MBytes [ 5] 2.00-3.00 sec 10.9 MBytes 91.2 Mbits/sec 1439 59.5 KBytes [ 5] 3.00-4.00 sec 10.9 MBytes 91.3 Mbits/sec 9 62.2 KBytes [ 5] 4.00-5.00 sec 8.25 MBytes 69.2 Mbits/sec 35 23.0 KBytes [ 5] 5.00-6.00 sec 6.88 MBytes 57.7 Mbits/sec 51 23.0 KBytes [ 5] 6.00-7.00 sec 5.38 MBytes 45.1 Mbits/sec 46 20.3 KBytes [ 5] 7.00-8.00 sec 5.50 MBytes 46.1 Mbits/sec 33 20.3 KBytes [ 5] 8.00-9.00 sec 6.88 MBytes 57.7 Mbits/sec 33 27.1 KBytes [ 5] 9.00-10.00 sec 6.75 MBytes 56.6 Mbits/sec 42 27.1 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 86.0 MBytes 72.1 Mbits/sec 1688 sender [ 5] 0.00-10.01 sec 82.1 MBytes 68.9 Mbits/sec receiver ``` # aes-256-cbc pico de cpu: 47% ``` [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 12.1 MBytes 102 Mbits/sec 0 564 KBytes [ 5] 1.00-2.00 sec 11.8 MBytes 98.6 Mbits/sec 73 766 KBytes [ 5] 2.00-3.00 sec 11.0 MBytes 92.3 Mbits/sec 1297 124 KBytes ^[[6;5~[ 5] 3.00-4.00 sec 10.8 MBytes 90.2 Mbits/sec 2 104 KBytes [ 5] 4.00-5.00 sec 10.6 MBytes 89.1 Mbits/sec 1 134 KBytes [ 5] 5.00-6.00 sec 10.6 MBytes 89.2 Mbits/sec 2 122 KBytes [ 5] 6.00-7.00 sec 10.6 MBytes 89.0 Mbits/sec 5 90.6 KBytes [ 5] 7.00-8.00 sec 10.6 MBytes 89.1 Mbits/sec 1 122 KBytes [ 5] 8.00-9.00 sec 10.6 MBytes 89.1 Mbits/sec 3 77.1 KBytes [ 5] 9.00-10.00 sec 11.9 MBytes 99.6 Mbits/sec 1 107 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 111 MBytes 92.8 Mbits/sec 1385 sender [ 5] 0.00-10.01 sec 107 MBytes 90.0 Mbits/sec receiver ``` # camellia-128-cbc pico de cpu: 42% ``` [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 11.8 MBytes 98.5 Mbits/sec 328 105 KBytes [ 5] 1.00-2.00 sec 10.4 MBytes 87.0 Mbits/sec 2 126 KBytes [ 5] 2.00-3.00 sec 10.9 MBytes 91.2 Mbits/sec 6 71.7 KBytes [ 5] 3.00-4.00 sec 11.0 MBytes 92.3 Mbits/sec 1 107 KBytes [ 5] 4.00-5.00 sec 10.8 MBytes 90.2 Mbits/sec 2 114 KBytes [ 5] 5.00-6.00 sec 10.5 MBytes 88.1 Mbits/sec 3 110 KBytes [ 5] 6.00-7.00 sec 11.0 MBytes 92.3 Mbits/sec 2 107 KBytes [ 5] 7.00-8.00 sec 10.9 MBytes 91.2 Mbits/sec 2 92.0 KBytes [ 5] 8.00-9.00 sec 10.5 MBytes 88.1 Mbits/sec 2 90.6 KBytes [ 5] 9.00-10.00 sec 10.9 MBytes 91.3 Mbits/sec 2 86.6 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 108 MBytes 91.0 Mbits/sec 350 sender [ 5] 0.00-10.01 sec 107 MBytes 90.0 Mbits/sec receiver ``` # camellia-256-cbc pico de cpu: 44% ``` [ 5] 0.00-1.00 sec 12.0 MBytes 101 Mbits/sec 0 565 KBytes [ 5] 1.00-2.00 sec 11.6 MBytes 97.5 Mbits/sec 869 111 KBytes [ 5] 2.00-3.00 sec 10.4 MBytes 87.0 Mbits/sec 3 131 KBytes [ 5] 3.00-4.00 sec 11.5 MBytes 96.5 Mbits/sec 4 114 KBytes [ 5] 4.00-5.00 sec 10.4 MBytes 87.0 Mbits/sec 1 138 KBytes [ 5] 5.00-6.00 sec 10.5 MBytes 88.1 Mbits/sec 3 118 KBytes [ 5] 6.00-7.00 sec 11.2 MBytes 94.4 Mbits/sec 2 107 KBytes [ 5] 7.00-8.00 sec 10.6 MBytes 89.1 Mbits/sec 2 98.7 KBytes [ 5] 8.00-9.00 sec 10.5 MBytes 88.2 Mbits/sec 2 89.3 KBytes [ 5] 9.00-10.00 sec 9.75 MBytes 81.7 Mbits/sec 12 94.7 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 108 MBytes 91.0 Mbits/sec 898 sender [ 5] 0.00-10.01 sec 106 MBytes 89.2 Mbits/sec receiver ``` # camellia-192-cbc pico de cpu: 42% ``` [ 5] 0.00-1.00 sec 11.8 MBytes 98.5 Mbits/sec 0 567 KBytes [ 5] 1.00-2.00 sec 12.4 MBytes 104 Mbits/sec 0 1.08 MBytes [ 5] 2.00-3.00 sec 10.6 MBytes 89.1 Mbits/sec 1010 124 KBytes [ 5] 3.00-4.00 sec 10.0 MBytes 83.9 Mbits/sec 15 98.7 KBytes [ 5] 4.00-5.00 sec 11.2 MBytes 94.3 Mbits/sec 5 114 KBytes [ 5] 5.00-6.01 sec 11.1 MBytes 92.8 Mbits/sec 1 139 KBytes [ 5] 6.01-7.00 sec 9.88 MBytes 83.3 Mbits/sec 4 120 KBytes [ 5] 7.00-8.00 sec 11.2 MBytes 94.4 Mbits/sec 3 90.6 KBytes [ 5] 8.00-9.00 sec 10.0 MBytes 83.9 Mbits/sec 19 90.6 KBytes [ 5] 9.00-10.00 sec 10.0 MBytes 83.9 Mbits/sec 4 108 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 108 MBytes 90.8 Mbits/sec 1061 sender [ 5] 0.00-10.01 sec 106 MBytes 88.7 Mbits/sec receiver ```
Author
Owner
cipher cpu (%) transferencia de subida (MB) t. bajada (MB) bitrate subida (Mbps) b. bajada (Mbps)
conexión directa 0 107 106 89.5 88.9
aes-256-cbc 44 108 108MB 90.6 90.3
bf-cbc 31 108 106 90.5 87.7
aes-128-cbc 46 86 82.1 72.1 68.9
aes-256-cbc 47 111 107 92.8 90
camellia-128-cbc 42 108 107 91 90
camellia-256-cbc 44 108 106 91 89.2
camellia-192-cbc 42 108 106 90.8 88.7
| cipher | cpu (%) | transferencia de subida (MB) | t. bajada (MB) | bitrate subida (Mbps) | b. bajada (Mbps) | | ---------------- | ------- | ---------------------------- | -------------- | --------------------- | ---------------- | | conexión directa | 0 | 107 | 106 | 89.5 | 88.9 | | aes-256-cbc | 44 | 108 | 108MB | 90.6 | 90.3 | | bf-cbc | 31 | 108 | 106 | 90.5 | 87.7 | | aes-128-cbc | 46 | 86 | 82.1 | 72.1 | 68.9 | | aes-256-cbc | 47 | 111 | 107 | 92.8 | 90 | | camellia-128-cbc | 42 | 108 | 107 | 91 | 90 | | camellia-256-cbc | 44 | 108 | 106 | 91 | 89.2 | | camellia-192-cbc | 42 | 108 | 106 | 90.8 | 88.7 |
Author
Owner

parece que gana blowfish, no? por 10-15% menos de cpu tenemos la misma performance. también hay que tener en cuenta que algunas cpu tienen optimizaciones para aes (para bien o para mal) pero no sé si tinc las aprovecha

parece que gana blowfish, no? por 10-15% menos de cpu tenemos la misma performance. también hay que tener en cuenta que algunas cpu tienen optimizaciones para aes (para bien o para mal) pero no sé si tinc las aprovecha
Author
Owner

segun la wikipedia blowfish tiene vulnerabilidades: https://en.wikipedia.org/wiki/Blowfish_(cipher)#Weakness_and_successors

pero tinc no las menciona, será porque no le afectan? https://www.tinc-vpn.org/documentation/Security.html

segun la wikipedia blowfish tiene vulnerabilidades: https://en.wikipedia.org/wiki/Blowfish_(cipher)#Weakness_and_successors pero tinc no las menciona, será porque no le afectan? https://www.tinc-vpn.org/documentation/Security.html
Author
Owner

con Digest = sha1 no cambia mucho, así que ni lo tocaría

cipher cpu (%)
bf-cbc 33
aes-256-cbc 49
aes-128-cbc 42
aes-256-cbc 47
camellia-128-cbc 47
camellia-256-cbc 48
camellia-192-cbc 50
con `Digest = sha1` no cambia mucho, así que ni lo tocaría | cipher | cpu (%) | | ---------------- | ------- | | bf-cbc | 33 | | aes-256-cbc | 49 | | aes-128-cbc | 42 | | aes-256-cbc | 47 | | camellia-128-cbc | 47 | | camellia-256-cbc | 48 | | camellia-192-cbc | 50 |
Author
Owner

el parche es simple, le dejo la decisión a la comisión de cuidados

el parche es simple, le dejo la decisión a la comisión de cuidados
fauno added
ahorita lo resolvemos
cuidados
and removed
haciendo
labels 2025-08-13 17:10:22 +00:00
fauno removed their assignment 2025-08-13 17:10:31 +00:00
cyborg_yogui was assigned by fauno 2025-08-13 17:10:31 +00:00
l4uZP was assigned by fauno 2025-08-13 17:10:31 +00:00
pirra was assigned by fauno 2025-08-13 17:10:32 +00:00
Owner

Si, tal como menciona fauno en este comentario

tinc no menciona la vulnerabilidad e incluso la recomienda por default, más allá que si le afecta directamente creo que la desconfianza de Blowfish es que también es algo antiguo y sobre todo el tamaño, aún usa bloques cifrados de 64 bits lo que es propenso a un ataque sweet32 como mismo se menciona en el link de Wikipedia que fauno compartió.

Según este foro , GnuPG recomendó usar Blowfish pero no para archivos mayores de 4GB.

Ese mismo foro también menciona un par de cosas como que no se puede usar en algunas CPU modernas con hardware AES, y algunas vulnerabilidades de ataques por caché para S-boxes que dependen de clave.

Se recomienda usar como alternativa Twofish que tiene algunas vulnerabilidades pero no se conocen ataques prácticos. Pero, Twofish no viene en la lista de algorítmos soportados para tinc.

No sé si Blowfish sea más indicado, pero ya lo pasé a la comisión de cuidados

Según esta entrada de Wikipedia, Camelia ha salido bien en sus anáisis de seguridad, considerandólo como un algorítmo moderno y seguro.

Si, tal como menciona fauno en este [comentario](https://git.coopcloud.tech/escuela-comun/abyayala/issues/31#issuecomment-25759) tinc no menciona la vulnerabilidad e incluso la recomienda por default, más allá que si le afecta directamente creo que la desconfianza de Blowfish es que también es algo antiguo y sobre todo el tamaño, aún usa bloques cifrados de 64 bits lo que es propenso a un ataque [sweet32](https://sweet32.info/) como mismo se menciona en el link de Wikipedia que fauno compartió. Según [este foro](https://crypto.stackexchange.com/questions/87278/why-dont-we-use-blowfish-if-it-hasnt-been-cracked) , GnuPG recomendó usar Blowfish pero no para archivos mayores de 4GB. Ese mismo foro también menciona un par de cosas como que no se puede usar en algunas CPU modernas con hardware AES, y algunas vulnerabilidades de ataques por caché para S-boxes que dependen de clave. Se recomienda usar como alternativa [Twofish](https://es.wikipedia.org/wiki/Twofish) que tiene algunas vulnerabilidades pero no se conocen ataques prácticos. Pero, Twofish no viene en la lista de algorítmos soportados para tinc. No sé si Blowfish sea más indicado, pero ya lo pasé a la comisión de cuidados Según [esta entrada de Wikipedia](https://en.m.wikipedia.org/wiki/Camellia_%28cipher%29), Camelia ha salido bien en sus anáisis de seguridad, considerandólo como un algorítmo moderno y seguro.
Owner
Algorítmo Fortalezas Vulnerabilidades Comentarios
Blowfish Por 0-15% menos de cpu tenemos la misma performance, es quien usa menos recursos de los algorítmos analizados. GnuPG recomendó usar Blowfish pero no para archivos mayores de 4GB. Tiene vulnerabilidades que tinc no menciona. Es un algorítmo algo antiguo y aún utiliza bloques cifrados de 64 bits lo que es propenso a un ataque sweet32. No es compatible con CPU modernas con hardware AES, y algunas vulnerabilidades de ataques por caché para S-boxes que dependen de clave. Tiene mejor rendimiento. Las vulnerabilidades parecen basarse más por su antiguedad que por estructura
Twofish Es un método por bloques como Blowfish. Tienen un mejor uso para S-boxes. Tiene buenos estándares de seguridad, sólo atrás de algorítmos como Rijndael y Serpent Tiene algunas vulnerabilidades pero no se conocen ataques prácticos. Según las páginas consultadas, este algorítmo aunque se recomienda como sucesor de Blowfish, no está soportado para tinc
Camelia Ha salido bien en sus anáisis de seguridad, considerandólo como un algorítmo moderno y seguro. Hasta ahora, según lo consultado, no se le conocen vulnerabilidades significativas que lo debiliten. No es una vulnerabilidad, pero si una desventaja que tiene un porcentaje alto en gasto de recursos CPU, entre un 9 y 13% más que Blowfish por ejemplo y 2% por debajo del default cipher Parecen bien sus estándares de seguridad, pero en gastos de CPU aparecen altos , entre 42% y 44% de gasto en CPU, ante el 44% de aes-256-cbc que es por default
| Algorítmo | Fortalezas | Vulnerabilidades | Comentarios | | --- | --- | --- | --- | | Blowfish | Por 0-15% menos de cpu tenemos la misma performance, es quien usa menos recursos de los algorítmos analizados. GnuPG recomendó usar Blowfish pero no para archivos mayores de 4GB. | Tiene vulnerabilidades que tinc no menciona. Es un algorítmo algo antiguo y aún utiliza bloques cifrados de 64 bits lo que es propenso a un ataque sweet32. No es compatible con CPU modernas con hardware AES, y algunas vulnerabilidades de ataques por caché para S-boxes que dependen de clave. | Tiene mejor rendimiento. Las vulnerabilidades parecen basarse más por su antiguedad que por estructura | | Twofish | Es un método por bloques como Blowfish. Tienen un mejor uso para S-boxes. Tiene buenos estándares de seguridad, sólo atrás de algorítmos como Rijndael y Serpent | Tiene algunas vulnerabilidades pero no se conocen ataques prácticos. | Según las páginas consultadas, este algorítmo aunque se recomienda como sucesor de Blowfish, no está soportado para tinc | | Camelia | Ha salido bien en sus anáisis de seguridad, considerandólo como un algorítmo moderno y seguro. Hasta ahora, según lo consultado, no se le conocen vulnerabilidades significativas que lo debiliten. | No es una vulnerabilidad, pero si una desventaja que tiene un porcentaje alto en gasto de recursos CPU, entre un 9 y 13% más que Blowfish por ejemplo y 2% por debajo del default cipher | Parecen bien sus estándares de seguridad, pero en gastos de CPU aparecen altos , entre 42% y 44% de gasto en CPU, ante el 44% de aes-256-cbc que es por default |
fauno added
prioridad baja
and removed
prioridad alta
labels 2025-10-01 10:35:12 +00:00
Author
Owner

ok le bajé la prioridad

ok le bajé la prioridad
Owner

Terminé la tabla comparativa, ahora paso a la comisión de cuidados.

¿Gana Blowfish considerando que se quiere resolver el gasto de recursos CPU? A ver que se opina en la comisión.

@fauno ¿tienes las cifras del gasto de CPU con el algorítmo actual que usa el tunel? Es RSA, ¿cierto?

Terminé la tabla comparativa, ahora paso a la comisión de cuidados. ¿Gana Blowfish considerando que se quiere resolver el gasto de recursos CPU? A ver que se opina en la comisión. @fauno ¿tienes las cifras del gasto de CPU con el algorítmo actual que usa el tunel? Es RSA, ¿cierto?
Author
Owner

@pirra este es el hash y cipher por defecto: #31 (comment)

@pirra este es el hash y cipher por defecto: https://git.coopcloud.tech/escuela-comun/abyayala/issues/31#issuecomment-24479
Owner

Cierto!, Listo, tabla actualizada con estos datos. Tabla para seleccionar algorítmo

Cierto!, Listo, tabla actualizada con estos datos. [Tabla para seleccionar algorítmo](https://git.coopcloud.tech/escuela-comun/abyayala/issues/31#issuecomment-27231)
Owner

Nuevamente, un análisis desde el CAD:

Camellia y Blowfish son algoritmos antiguos y no recomendados en la actualidad.
Si el rendimiento representa un problema, existen dos alternativas:

  • Utilizar otro sistema de VPN, como WireGuard.
  • Asegurar el uso de aceleración por hardware para AES. La mayoría de los servidores físicos cuentan con soporte en el CPU; tocaria verificar si el hardware lo incluye y si es necesario realizar alguna configuración adicional para usarlo con tinc.
Nuevamente, un análisis desde el CAD: Camellia y Blowfish son algoritmos antiguos y no recomendados en la actualidad. Si el rendimiento representa un problema, existen dos alternativas: - Utilizar otro sistema de VPN, como WireGuard. - Asegurar el uso de aceleración por hardware para AES. La mayoría de los servidores físicos cuentan con soporte en el CPU; tocaria verificar si el hardware lo incluye y si es necesario realizar alguna configuración adicional para usarlo con tinc.
Owner

@ChasquiLabo por la 2da: podemos asegurar el uso de aceleración? verificamos esto? (te lo asigno porque estuviste en esta búsqueda)

@ChasquiLabo por la 2da: podemos asegurar el uso de aceleración? verificamos esto? (te lo asigno porque estuviste en esta búsqueda)
Owner
  • Soporte UEFI
  • Aceleración por hardware para AES

va, se van anotando los requisitos para los fierros

- Soporte UEFI - Aceleración por hardware para AES va, se van anotando los requisitos para los fierros
Owner

Entonces, ¿nos estaríamos quedando con el AES por defecto?, asegurando el uso de aceleración por hardware.

Pero eso también implicaría que este recurso del hardware esté en el server que loja la RAP, no solamente en las Huertas, ¿cierto?

Entonces, ¿nos estaríamos quedando con el AES por defecto?, asegurando el uso de aceleración por hardware. Pero eso también implicaría que este recurso del hardware esté en el server que loja la RAP, no solamente en las Huertas, ¿cierto?
Sign in to join this conversation.
No description provided.