Hardware Acceleration
- f a Software-based VPN
Hardware Acceleration of a Software-based VPN Furkan Turan Ruan de - - PowerPoint PPT Presentation
Hardware Acceleration of a Software-based VPN Furkan Turan Ruan de Clercq, Pieter Maene, Oscar Reparaz Ingrid Verbauwhede KU Leuven - COSIC VPN Introduction VPN (Virtual Private Network) encrypts the communication between two parties. 2 VPN
2
VPN Device
VPN Device
3
Application Application Virtual Network Interface VPN Application Physical Network Interface
4
Private Comm Public Comm Sigma VPN Coprocessor Linux
5
KS ← ECDH(KSEC,A, KPUB,B) KS ← ECDH(KSEC,B, KPUB,A) KD ← HSalsa20(KS, N1) S ← Salsa20(KD, N2 || CTR) CT ← S ⊕ MSG MACA ← Poly1305(CT, S) KD ← HSalsa20(KS, N1) S ← Salsa20(KD, N2 || CTR) MACB ← Poly1305(CT, S) Compare(MACA, MACB) MSG ← S ⊕ CT Alice Bob CT, MACA, N1,2
7
Msg[0:127] Acc + x
mod 2130-5
R Acc Msg[128:256] + x
mod 2130-5
Msg[x:x+128] ... Acc + x
mod 2130-5
Acc Acc S +
mod 2128
MAC
128 130 128 131 128
…
9
x5 x5
10
11
Block of Operand 1 Block Operand 2 X x5 +
ZYNQ Processing System (PS) ARM Cores Programmable Logic (PL) DMA
CTRL Dest Add. Length
Cryptographic Coprocessor
AXI4 Lite AXI4 Full AXI4 Stream
12
512 512 512 512 128
13
14
15
16
2 4 6 8 10 12 14 16 18 16 32 64 128 256 512 1024
Improvement (Factor) Message Length (Bytes)
Encryption Decryption
Improvement in Encryption Min 4.9, Max 15.1 Improvement in Decryption Min 9.1, Max 16.2
17
VPN Device VPN Device
18
10 20 30 40 50 60 70 80 90 100 TCP UDP
Bandwidth (Mbps) for Comm. with 1024-byte ETH Frames
No VPN VPN without Crypto VPN with SW Crypto VPN with HW+SW Crypto
19
20
21