OPNsense Forum

International Forums => German - Deutsch => Topic started by: monstermania on November 14, 2016, 10:16:35 am

Title: [GELÖST] OpenSSL und VIA Padlock
Post by: monstermania on November 14, 2016, 10:16:35 am
Moin,
bezugnehmend auf den folgenden Fred habe ich mal meine OPNSense angesehen.
https://forum.opnsense.org/index.php?topic=3881.0

Meine OPNSense 16.7.7 (nano) läuft auf einem LEX 3V700D (VIA Eden 500 MHz).
Per default ist die padlock-Erweiterung aktiv (System: Settings: Miscellaneous:Cryptographic Hardware Acceleration).
FreeBSD sollte die Padlock-Engine ja auch per default benutzen.

Code: [Select]
root@OPNsense:~ # /usr/bin/openssl engine -t -c
(dynamic) Dynamic engine loading support
     [ unavailable ]
root@OPNsense:~ #
Hmm, gemäß dieser Ausgabe wäre ja gar keine Crypto-HW aktiv. Oder sehe ich das falsch?

Code: [Select]
root@OPNsense:~ # openssl speed -evp aes-128-cbc
Doing aes-128-cbc for 3s on 16 size blocks: 279716 aes-128-cbc's in 1.24s
Doing aes-128-cbc for 3s on 64 size blocks: 157987 aes-128-cbc's in 2.62s
Doing aes-128-cbc for 3s on 256 size blocks: 38782 aes-128-cbc's in 2.50s
Doing aes-128-cbc for 3s on 1024 size blocks: 2072 aes-128-cbc's in 0.28s
Doing aes-128-cbc for 3s on 8192 size blocks: 1704 aes-128-cbc's in 1.82s
OpenSSL 1.0.1s-freebsd  1 Mar 2016
built on: date not available
options:bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx)
compiler: clang
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc       3602.88k     3863.37k     3971.28k     7543.92k     7668.56k
root@OPNsense:~ #

Die erreichten Werte sind m.E. ziemlich schwach, so dass die Crypto-HW in der tat kaum genutzt werden dürfte.
Leider finden sich zu Padlock nur recht wenige Informationen. Verglichen mit den gefundenen Vergleichswerten sind die Werte aber grottig. https://forums.freebsd.org/threads/30351/

Bei Einrichtung von OpenVPN habe ich auch keine Möglichkeit eine Crypto-HW zu aktivieren.
Wir kann ich Padlock auf der OPNSense so aktivieren, dass die HW auch genutzt wird?

Und ja, mir ist schon klar, dass meine Hardwareplatform sehr veraltet ist. Aber die Hardware ist klein und reicht für meinen lahmen DSL-Anschluss zu Hause vollkommen aus.

Gruß
Dirk
Title: Re: OpenSSL und VIA Padlock
Post by: monstermania on November 15, 2016, 09:53:07 am
Moin,
ich habe gestern nach mal etwas bei pfsense gesucht und bin dabei auf folgendes gestossen:
https://forum.pfsense.org/index.php?topic=108191.0

Ich werde daraus nicht so recht schlau. Kann das Jemand auf die 16.7.7 OPNSense übertragen?
Würde halt gern die Crypto HW der VIA CPU für OpenVPN nutzen.

Gruß
Dirk
Title: Re: OpenSSL und VIA Padlock
Post by: franco on November 15, 2016, 04:58:56 pm
Hallo Dirk,

Wegen LibreSSL vielleicht? Cryptodev haben die Entwickler da entfernt, es bleibt also nur OpenSSL.


Grüsse
Franco
Title: Re: OpenSSL und VIA Padlock
Post by: monstermania on November 16, 2016, 09:21:54 am
Wegen LibreSSL vielleicht? Cryptodev haben die Entwickler da entfernt, es bleibt also nur OpenSSL.

Das mit LibreSSL hatte ich auch schon gelesen. Ich dachte immer, dass LibreSSL bei der OPNsense optional verwendet wird!?
Eigentlich denke ich auch, dass OpenSSL läuft. Oder meldet sich LibreSSL als OpenSSL? Was ich nicht verstehe, dass die Crypto HW in der OPNSense angezeigt wird. Das bedeutet ja eigentlich, dass FreeBSD die notwendigen Kernelmodule geladen hat und die Padlock-Einheit funktionieren sollte.
Aber OpenSSL scheint keinerlei Gebrauch davon zu machen.
Ich bin leider nur ein 'Anwender' und verstehe nicht so recht, was da im Einzelnen abläuft.  ::)
Title: Re: OpenSSL und VIA Padlock
Post by: franco on November 16, 2016, 09:42:16 am
Es ist kompliziert...

FreeBSD OpenSSL in der Standardinstallation: /usr/bin/openssl
FreeBSD OpenSSL/LibreSSL bei uns: /usr/local/bin/openssl

Das bekommt man mit "version" heraus:

% /usr/local/bin/openssl version
LibreSSL 2.4.4

Für VIA-Padlock wird außer OpenSSL (eben nicht LibreSSL wie oben) außerdem benötigt:

Hardware: padlock

sowie

"Enable old userland device for cryptographic acceleration" aktiviert

unter System: Settings: Miscellaneous

Danach sollte es wählbar sein unter OpenVPN: Hardware Crypto
Title: Re: OpenSSL und VIA Padlock
Post by: monstermania on November 16, 2016, 02:42:40 pm
Franco,
war doch eigentlich gar nicht sooo kompliziert.  ;) Man (ich :-[) muss halt nur wissen wie es konfiguriert wird!
Hab es genau so gemacht, wie Du geschrieben hast und schon läuft's!

Code: [Select]
root@OPNsense:~ # /usr/local/bin/openssl engine -t -c
(cryptodev) BSD cryptodev engine
 [RSA, DSA, DH, AES-128-CBC, AES-192-CBC, AES-256-CBC]
     [ available ]
(dynamic) Dynamic engine loading support
     [ unavailable ]
(padlock) VIA PadLock (no-RNG, ACE)
 [AES-128-ECB, AES-128-CBC, AES-128-CFB, AES-128-OFB, AES-192-ECB, AES-192-CBC, AES-192-CFB, AES-192-OFB, AES-256-ECB, AES-256-CBC, AES-256-CFB, AES-256-OFB]
     [ available ]
root@OPNsense:~ #

Code: [Select]
root@OPNsense:~ # /usr/local/bin/openssl speed -elapsed -evp aes-128-cbc -engine padlock
engine "padlock" set.
You have chosen to measure elapsed time instead of user CPU time.
Doing aes-128-cbc for 3s on 16 size blocks: 4727151 aes-128-cbc's in 3.02s
Doing aes-128-cbc for 3s on 64 size blocks: 3901366 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 256 size blocks: 2275710 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 1024 size blocks: 854923 aes-128-cbc's in 3.00s
Doing aes-128-cbc for 3s on 8192 size blocks: 124891 aes-128-cbc's in 3.00s
OpenSSL 1.0.2j  26 Sep 2016
built on: reproducible build, date unspecified
options:bn(64,32) md2(int) rc4(8x,mmx) des(ptr,risc1,16,long) aes(partial) idea(int) blowfish(idx)
compiler: cc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -O3 -fomit-frame-pointer -Wall -O2 -pipe  -fstack-protector -fno-strict-aliasing -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128-cbc      25016.03k    83229.14k   194193.92k   291813.72k   341035.69k
root@OPNsense:~ #

Und beim OpenVPN Server kann ich jetzt auch die Padlock Crypto HW auswählen.
1000Dank!

Echt genial.
Eine lüfgterlose, geräuschlose Box so groß wie 2 Zigarettenschachteln mit LAN/WLAN, DMZ, Gäste-WLAN, transparenten Proxy und VPN.  8)

Gruß
Dirk
Title: Re: OpenSSL und VIA Padlock
Post by: franco on November 16, 2016, 02:48:07 pm
Hi Dirk,

Perfekt, freut mich. :)


Grüße
Franco