Auteur Topic: DS112j hardware encryption engine  (gelezen 4675 keer)

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
DS112j hardware encryption engine
« Gepost op: 16 oktober 2017, 14:41:56 »
Hoi,

Ik dacht altijd dat ik met mijn DS112j geen "hardware encryption engine" had maar nu blijkt dit verkeerd.

Maar mijn vraag is: merk ik er wel wat van?

Ik weet dat het een trage CPU is (1GHz) maar normale transfers zijn ca. 35MB/s upload en met encryptie is dat ca. 7MB/s maximaal.

Is dit normaal?

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1417
  • -Ontvangen: 8144
  • Berichten: 44.535
    • Truebase
Re: DS112j hardware encryption engine
« Reactie #1 Gepost op: 16 oktober 2017, 14:57:38 »
DSM Help:

Citaat
Waarom wordt de bestandsoverdracht trager wanneer de gedeelde map gecodeerd is?

Het is normaal dat gecodeerde gedeelde mappen langzamere bestandsoverdrachtsnelheden hebben. Codering kan de CPU-werklast aanzienlijk verhogen en de bestandsoverdrachtsnelheid verlagen.
Voor een verbeterde capaciteit kunt u de voorkeur geven aan een Synology NAS met een hardwarecoderingsengine:

Jouw DS heeft "Hardware Encryption Engine" dus, je kunt zeggen, je hebt wel een "verbeterde capaciteit" echter, denk dat de J-Versie, ondanks dat het geen CPU kracht kost, het wel zal merken, zoals je het al ondervindt.


CS406      DSM 2.0-0731    DS508      DSM 4.0-2265      DS411+II  DSM 6.2.4-25556-8   DS115J    DSM 7.1.1-42962-7   DS918+    DSM 6.2.4-25556-8
DS107+     DSM 3.1-1639    DS411slim  DSM 6.2.4-25556   DS213J    DSM 6.2.4-25556-7   DS1515+   DSM 6.2.4-25556-8   DS220+    DSM 7.2.2-72806-3
DS107+     DSM 3.1-1639    DS111      DSM 5.2-5967-9    DS413J    DSM 6.2.3-25426-2   DS716+II  DSM 7.2.2-72806-3   RT2600ac  SRM 1.3.1-9346-13
BeeDrive   1TB             BeeStation BSM 1.2-65586                                                                 MR2200ac  SRM 1.3.1-9346-13

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
Re: DS112j hardware encryption engine
« Reactie #2 Gepost op: 16 oktober 2017, 15:04:34 »
Jouw DS heeft "Hardware Encryption Engine" dus, je kunt zeggen, je hebt wel een "verbeterde capaciteit" echter, denk dat de J-Versie, ondanks dat het geen CPU kracht kost, het wel zal merken, zoals je het al ondervindt.

Hoe kan ik er überhaupt achter komen of die engine gebruikt wordt?

Heeft u enig idee welke instructies er dan voor gebruikt worden?

Zouden andere tools zoals gewone encryptieprogrammaatjes zoals "ccrypt" er ook baat bij hebben?

Ben(V)

  • Gast
Re: DS112j hardware encryption engine
« Reactie #3 Gepost op: 16 oktober 2017, 15:22:05 »
Alle software die gebruikt maakt van AES encryption gebruikt die hardware, als die hardware er niet is worden de calls naar de encryption engine automatisch in software gedaan.
Voorbeelden zijn SSL, VPN en disk encryption.

Het is nauwelijk sneller dan de software variant en aangezien het altijd om het en/de crypten van streams gaat zal het nooit de performance beinvloeden, want de cpu is altijd vele malen sneller als die steams dus ook met software encryption.

Het enige echte voordeel is dat het niet te hacken is omdat het nu eenmaal in hardware zit.

Verder is het voornamelijk een intel marketing verhaal.

Offline Pippin

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 103
  • -Ontvangen: 529
  • Berichten: 2.724
  • a.k.a. MMD
Re: DS112j hardware encryption engine
« Reactie #4 Gepost op: 16 oktober 2017, 15:37:00 »
De pdf van de SOC/CPU staat hier:
https://wikidevi.com/files/Marvell/88F6281.pdf

Mijn vermoeden is al heel lang dat de engine alleen aangesproken wordt voor encrypted backup.
Dit gebeurt zover ik weet middels OCF in kernel.

Citaat
Hoe kan ik er überhaupt achter komen of die engine gebruikt wordt?
Op de CLI kun je met
htop -d 20kijken wat er gebeurt. "-d 20" staat voor elke 2 seconden verversen.
Met F2 kun je kolommen e.d. aanpassen.
DS414
OpenVPN #1: Beter beveiligen OpenVPN #2: Beter beveiligen als client

I gloomily came to the ironic conclusion that if you take a highly intelligent person and give them the best possible, elite education, then you will most likely wind up with an academic who is completely impervious to reality.
Halton Arp

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
Re: DS112j hardware encryption engine
« Reactie #5 Gepost op: 16 oktober 2017, 15:38:32 »
Alle software die gebruikt maakt van AES encryption gebruikt die hardware, als die hardware er niet is worden de calls naar de encryption engine automatisch in software gedaan.

Welke instructie zou het zijn? Ik kan wel iets ...disassemblen om te zien of die calls er in staan.

Citaat
Voorbeelden zijn SSL, VPN en disk encryption.

Maar disk encryption ... disk performance is veel sneller dan 7MB/s toch.

Citaat
Het is nauwelijk sneller dan de software variant en aangezien het altijd om het en/de crypten van streams gaat zal het nooit de performance beinvloeden, want de cpu is altijd vele malen sneller als die steams dus ook met software encryption.

Ik bedoel op mijn NAS gebruikt SSH en VPN ook flink wat CPU.

Als ik encryptie uit zet op VPN is het processorgebruik een stukje lager (niet enorm).

Maar het maakte wel verschil, ik weet niet meer hoeveel.

Het was wel denk ik minstens 20% minder CPU door VPN.

(20% op wat het gebruikte).

Citaat
Het enige echte voordeel is dat het niet te hacken is omdat het nu eenmaal in hardware zit.

Right.

Citaat
Verder is het voornamelijk een intel marketing verhaal.

Maar dit is ARM. Hebben die dezelfde instructies?

Ik geloof je wel als je zegt dat het niet sneller is dan software.

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
Re: DS112j hardware encryption engine
« Reactie #6 Gepost op: 16 oktober 2017, 15:45:07 »
Mijn vermoeden is al heel lang dat de engine alleen aangesproken wordt voor encrypted backup.
Dit gebeurt zover ik weet middels OCF in kernel.

Dat klinkt wel erg goed:

Citaat
At this point in time OCF-Linux provides acceleration for OpenSwan, OpenSSL, OpenSSH (scp, ssh, ...) and also supports the BSD crypto testing applications. It can accelerate DES, 3DES, AES, MD5, SHA, and Public Key operations and adds randomness to the kernels /dev/random by utilising the RNG hardware. This project is being actively developed as a high performance crypto solution for embedded devices but also applies equally well to any linux based server or desktop.

Dan kan ik er misschien wel achterkomen of dit gebruikt wordt...

Bijv. "ccrypt" moet ten eerste deze kernel interface gebruiken en daarna moet het worden aangesproken, maar misschien kan je wel informatie over het OCF-subsysteem opvragen...

Hetzelfde geldt voor eCryptFS (dat is natuurlijk het belangrijkste voor de Synology).

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
Re: DS112j hardware encryption engine
« Reactie #7 Gepost op: 16 oktober 2017, 16:09:08 »
http://www.marvell.com.cn/embedded-processors/kirkwood/assets/FS_88F6180_9x_6281_OpenSource.pdf

Hier staat de ondersteunde hardware (pagina 175).

Er zijn 4 engines:

- md5
- des
- aes128
- aes128

Toen ik ooit LUKS aan het testen was was Blowfish (96 bit) een stuk sneller dan aes 128, wat vreemd zou zijn als aes 128 geaccelereerd zou worden... :-/.

Wel was het zo dat aes128 met 256 bit sleutels niet bijzonder langzamer was dan aes128 met 128 bit sleutels.

Dit is de encryptie module in the kernel:

/lib/modules/cesa_ocf_drv.ko

Hij is wel geladen dus dat zit in elk geval goed:

$ lsmod | grep cesa
cesa_ocf_drv            7063  0
cesa_dev                1977  0
ocf                    17404  4 cryptosoft,ecryptfs,cesa_ocf_drv,cryptodev

Dus het lijkt vrij duidelijk dat het zou moeten werken.

$ cat /proc/interrupts
           CPU0
  1:   52856176           -  kw_tick
 11:    5492715           -  mv_ethernet
 19:         27           -  ehci_hcd:usb1
 21:     200210           -  sata_mv

 22:     413145           -  cesa

 33:        172           -  serial
 34:         35           -  serial
Err:          0

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
Re: DS112j hardware encryption engine
« Reactie #8 Gepost op: 16 oktober 2017, 16:19:05 »
Dus zo te zien werkt dat gewoon.

Speculatieve post uit 2010:

https://www.spinics.net/lists/linux-crypto/msg27836.html

Dus ik denk dat ik me nergens om zorgen maak maar dat het gewoon niet zo snel is.

In elk geval als ik encryptie gebruik zal ik AES128 met 128, 192 of 256 bit keys moeten gebruiken.

Bedankt voor de antwoorden.

Offline Pippin

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 103
  • -Ontvangen: 529
  • Berichten: 2.724
  • a.k.a. MMD
Re: DS112j hardware encryption engine
« Reactie #9 Gepost op: 16 oktober 2017, 16:20:50 »
Ik moet natuurlijk met het voorbeeld OpenVPN komen  ;), kijk eens naar mijn afbeelding.

OpenVPN maakt (standaard) gebruik van OpenSSL voor crypto taken. OpenSSL vanaf versie 1.0.0 zal AES-NI capabele hardware automatisch detecteren waardoor er, zoals het voorheen was, geen engine in de config aangegeven hoeft te worden. Een engine kan overigens ook acceleratie code in kernel zijn.

Dat het niet sneller is kan niet zo eenvoudig gesteld worden.
Op recente hardware die b.v. Intel AES-NI ondersteund, of het equivalent van andere merken, kan het wel degelijk uitmaken. Uit de afbeelding kun je ook opmaken dat het zo goed als altijd beter is OpenSSL`s ingebouwde instructies te gebruiken vanwege minder context switching. Dit geldt algemeen ook voor andere applicaties.


Op mijn N3150 bordje met Debian:

Met het volgende commando maakt OpenSSL geen gebruik van h.w. crypto support:
env OPENSSL_ia32cap=0 openssl speed -elapsed -evp aes-256-cbc -multi 8
evp              97659.74k   117140.11k   123383.16k   307494.50k   339199.79k

OpenSSL met h.w. crypto support:
openssl speed -elapsed -evp aes-256-cbc -multi 8
evp             618920.09k   882027.93k   1003271.00k  1041262.20k  1150214.31k

Het is echter nog heel wat gecompliceerder waardoor deze waarden niet 1-2-3 met elkaar vergelijkbaar zijn. Dat heeft te maken met het systeem waarop de test plaatsvindt, de configuratie, gebruikte ciphers/type encryptie, enz.
DS414
OpenVPN #1: Beter beveiligen OpenVPN #2: Beter beveiligen als client

I gloomily came to the ironic conclusion that if you take a highly intelligent person and give them the best possible, elite education, then you will most likely wind up with an academic who is completely impervious to reality.
Halton Arp

Ben(V)

  • Gast
Re: DS112j hardware encryption engine
« Reactie #10 Gepost op: 16 oktober 2017, 16:48:53 »
https://en.wikipedia.org/wiki/AES_instruction_set

Alle huidige cpu's ondersteunen dit.
De ene in microcode, de andere met hardware en sommige geheel in software(extra drivers).

Het maakt allemaal niet veel verschil, zoals ik al zei.

Uiteraard heeft het niets te maken met het verschil in cpu gebruik bij het al of niet aanzetten van encryptie.
Je kunt nooit het verschil meten want op dat niveau kun je de hardware encryptie niet uitzetten en iets anders gebruiken.

Offline Pippin

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 103
  • -Ontvangen: 529
  • Berichten: 2.724
  • a.k.a. MMD
Re: DS112j hardware encryption engine
« Reactie #11 Gepost op: 16 oktober 2017, 17:00:11 »

Het verschil in mijn voorbeeld wordt duidelijk doordat de resultaten, hierboven gepost, laten zien dat in dezelfde tijd meer crypto operaties plaatsvinden.
DS414
OpenVPN #1: Beter beveiligen OpenVPN #2: Beter beveiligen als client

I gloomily came to the ironic conclusion that if you take a highly intelligent person and give them the best possible, elite education, then you will most likely wind up with an academic who is completely impervious to reality.
Halton Arp

Ben(V)

  • Gast
Re: DS112j hardware encryption engine
« Reactie #12 Gepost op: 16 oktober 2017, 17:11:17 »
Uiteraard is dat geen vergelijk.
Je vergelijkt appel met peren.

Zoals ik al zei het verschil tussen hardware en software encryptie zit in ofwel hardware in de cpu ofwel microcode die in de cpu zit, dat kun je toch niet gaan vergelijk met het niet gebruiken van de AES instructieset

Dan kun je het ook wel gaan vergelijken met het op de rekenmachine met de hand uitrekenen.

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
Re: DS112j hardware encryption engine
« Reactie #13 Gepost op: 16 oktober 2017, 17:16:15 »
evp               6011.47k     6732.55k     6893.41k     6901.76k     6996.69k
Dat was het hardware commando.

Citaat
For ARM there are two possible optimization levels:
  1. Without NEON
  2. With NEON (ARM7 only)

Boo?

Een post uit 2009 geeft aan dat OpenSSL "libcryptodev" nodig heeft, maar...

$ OPENSSL_armcap=0 openssl speed -elapsed -evp aes-256-cbc -multi 8 -engine cryptodev
invalid engine "cryptodev"

23570:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:162:filename(/opt/lib/engines/libcryptodev.so): /opt/lib/engines/libcryptodev.so: cannot open shared object file: No such file or directory

Maar iemand zegt weer dat de engine al ingebakken zit:

Citaat
libcryptodev.so? Why? It's builtin into openssl, you don't even need the
extra engines option, it's taken care of when building openssl with
cryptodev support in buildroot.

Als ik -evp weg haal:

aes-256 cbc       6269.79k     6796.48k     6920.08k     6934.01k     7044.51k
Geen verschil eigenlijk.

Maar ik krijg geen debug output in /var/log/messages als ik:

#  echo 1 > /sys/module/cryptosoft/parameters/swcr_debug
Maar meer nog denk ik niet dat openssl met cryptodev is gebouwd:

options:  bn(64,32) md2(int) rc4(ptr,char) des(idx,cisc,16,long) idea(int) blowfish(ptr)

compiler: /home/slug/optware/cs08q1armel/toolchain/arm-2008q1/bin/arm-none-linux-gnueabi-gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O2 -pipe -I/home/slug/optware/cs08q1armel/staging/opt/include -DTERMIO -O3 -fomit-frame-pointer -Wall

Dit is echter wel in /opt...

Waaat, de inbgebouwde is nieuwer en beter:

options:  bn(64,32) rc4(ptr,char) des(idx,cisc,16,long) idea(int) blowfish(ptr)
compiler: /usr/local/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-ccache-gcc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DHAVE_CRYPTODEV -DOPENSSL_NO_ERR -I/usr/local/arm-none-linux-gnueabi/include -DSYNO_MARVELL_88F6281 -O2 -I/usr/syno/include -g -DSYNO_PLATFORM=MARVELL_88F6281 -DL_ENDIAN -DTERMIO -Os -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -I/usr/syno/fips//include -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DGHASH_ASM

Euhm, okay:

evp               4836.78k     5710.98k     5976.59k     6037.56k     6093.40k
Dat is langzamer dan hiervoor...

Maar zonder de -evp (Ik weet niet of dat nuttig is):

aes-256 cbc       9057.94k    10289.41k    10681.31k    10724.04k    10923.55k

Offline Xennex

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 1
  • Berichten: 43
Re: DS112j hardware encryption engine
« Reactie #14 Gepost op: 16 oktober 2017, 17:24:35 »
Zoals ik al zei het verschil tussen hardware en software encryptie zit in ofwel hardware in de cpu ofwel microcode die in de cpu zit, dat kun je toch niet gaan vergelijk met het niet gebruiken van de AES instructieset

Ben ik weet eerlijk gezegd niet waar je het over hebt.

Maar summary van mij:

- /opt OpenSSL gebruik van -evp vlag maakt niks uit en laatste getal:  7000k

- /usr/syno/bin OpenSSL: met -evp langzamer at 6000k en zonder -evp sneller at 10000k.

Ik weet dus niet wat OpenVPN gebruikt.

Maar dat is de Synology versie:

$ ldd /usr/sbin/openvpn
        libssl.so.1.0.0 => /lib/libssl.so.1.0.0 (0x40026000)

Terwijl SSHD weer de /opt versie gebruikt:

$ ldd /opt/sbin/sshd
        libcrypto.so.0.9.8 => /opt/lib/libcrypto.so.0.9.8 (0x40026000)

Buuu.


 

DS112j start niet meer op na stroomuitval

Gestart door zjozjoBoard NAS hardware vragen

Reacties: 3
Gelezen: 1609
Laatste bericht 03 juli 2018, 20:36:34
door Birdy
DS112j extern benaderen door gast

Gestart door RiniBoard DDNS / Quick Connect / EZ-Internet / Portforwarding

Reacties: 12
Gelezen: 5818
Laatste bericht 08 juli 2013, 16:51:50
door Rini
DS112j Staat nooit stil

Gestart door peternasBoard NAS hardware vragen

Reacties: 6
Gelezen: 3129
Laatste bericht 09 september 2013, 22:57:34
door davey
DS112j extern bereiken

Gestart door remcoboy1479Board NAS hardware vragen

Reacties: 0
Gelezen: 1048
Laatste bericht 15 augustus 2013, 08:08:39
door remcoboy1479
DS112j Nieuw Power Knippert blauw, LAN knippert niet benader

Gestart door JAWVDEBoard NAS hardware vragen

Reacties: 0
Gelezen: 3062
Laatste bericht 17 april 2012, 21:57:52
door JAWVDE