Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Virtualized Reconfigurable Resources and Their Secured Provision in an Untrusted Cloud Environment Verteidigung der Diplomarbeit Paul R. Genßler – [email protected]Dresden, 29. November 2017
49
Embed
Virtualized Reconfigurable Resources and Their Secured ... · Internal Bus EC Key Processor Command Decoder Key Store symmetric keys symmetric nonces MAC keys Configuration Filter
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur
Virtualized Reconfigurable Resourcesand Their Secured Provision in anUntrusted Cloud EnvironmentVerteidigung der Diplomarbeit
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 2/40
1 Motivation und Literatur
Virtualized Reconfigurable Resources
• Flexibel konfigurierbare Hardware• Beschleunigung von Anwendungen• FPGAs in der Cloud
– Microsoft Catapult, Amazon EC2 F1 Instances– Virtualisierung nötig
Chen u. a. Virtualisierung mit OpenStack1
Asiatici u. a. Virtualisierter Speicher als HW/SW Schnittstelle2
Knodel u.a. Flexible Partitionierung mit Service Modellen3
1Chen u. a., 2014: “Enabling FPGAs in the cloud”2Asiatici u. a., 2016: “Designing a virtual runtime for FPGA accelerators in the cloud”3Knodel u.a., 2017: “Virtualizing Reconfigurable Hardware to Provide Scalability in Cloud Architectures”
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 4/40
1 Motivation und Literatur
Secured Provision
• 58 %: Verlust der Herrschaft über die Daten4
• Kein Schutz des geistigen Eigentums
• Vielschichtige UmgebungViele Einfallstore
• Sichere Übertragung– TLS– Devic u. a. 20105
FPGA vendor
Chipfoundry
EDAtools
IPvendor
IaaS provider
PaaS provider
client
4Heidkamp u. a., 2016: Cloud-Monitor 20165Devic u. a., 2010: “Secure protocol implementation for remote bitstream update preventing replay
attacks on FPGA”P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 5/40
derive sym-keys with ECDHE(CPK, SKS)verify transaction
|client’s “final” hash & bitstream|sym decrypt, verify and program bitstream
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 16/40
2 Design
Partielle Rekonfiguration
• 6 nutzbare Regionen
• Beeinflussung eines anderen Clients
• Format der Konfigurationsdateibasiert auf Frames
• 5 Adressbereiche
• Analyse in Hardware
• Filter für unerlaubte Bereiche
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 17/40
1. Motivation und Literatur
2. Design
3. Implementierung
4. Ergebnisse
5. Zusammenfassung und Ausblick
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 19/40
PCIe Core RC2F Core
Reconfig Area 0: vFPGA v0 Reconfig Area 3: vFPGA v3
PCI-Express Endpoint
8
RC2F Control - gcs RC2FClocking
||||||||||
832 32
vControlucs
User Container u0read
||||||||||
832 32
vControlucs
User Container u3read
||||||||||
write
…
||||||||||
write
Ethernet
Eth Core PCIe Core RC2F Virtualization Layer
Reconfig Area 0: vFPGA v0 Reconfig Area 3: vFPGA v3
PCI-Express Endpoint
8
RC2F Control Global Config Space Clocking
||||||
3232 32
accelerator design u0
out
||||||
3232 32
accelerator design u3
out
||||||
in
…
||||||
in
vControlUser ConfigVirtual State
vControlUser ConfigVirtual State
Memory Core
Memory Controller/Virtualization
ICAP bitstream
32
Ethernet
Eth Core
FPGA Cloud Acceleration Board
DDR3 RAM
Knodel u. a. 2016 “RC3E: Reconfigurable Accelerators in Data Centres and their Provision by Adapted Service Models”
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 20/40
3 Implementierung
Integration des SecFPGA-Hypervisors
Internal BusEC Key
Processor
CommandDecoder
Key Storesymmetric keys
symmetric noncesMAC keys
ConfigurationFilter
Encryption
Decryption
RC2F System Bus RC2F vFPGA Bus
system
client client
config
SecFPGA-Hypervisor
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 21/40
3 Implementierung
CMD Decoder - Blockschaltbild
• Sichere Übertragung der vFPGA Bitstreams• Enge Kopplung mit dem EC Key Processor
CMD Decoder
AES-CTR
Certificate
SHA-3
SM
Buffer
keys
sig
SKS
RC2F system
to Filter
hash
CKS
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 22/40
3 Implementierung
EC Key Processor - Blockschaltbild
• Elliptische Kurven Kryptographie: 233-bit Binärkurve sept233r1• Enge Kopplung mit dem CMD Decoder
Vorberechnungen
x1 = ECM(k)
k−1 = k2233−2 mod x233 + x74 + 1
Handshake Berechnungen
r = x1 mod n
s = k−1(m + r * private key) mod n
ECMSHA-3
TRNG
Key Gen ECDSA
hash
CKS
SKS
sig
keys
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 23/40
3 Implementierung
Configuration Filter
• Schutz des SecFPGAs und anderer vFPGAs• Filter basierend auf Frameadressen
Configuration Filter
analyzer
frame counter
loadinc f#
101-wordcounter
1
00x2000 0000
range checker
A..B C..D E..F G..H I..K
or&
orvalid
bitstream
slot
to RC2FConfig Bus
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 25/40
1. Motivation und Literatur
2. Design
3. Implementierung
4. Ergebnisse
5. Zusammenfassung und Ausblick
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 27/40
4 Ergebnisse
Vorberechnungen
k−1 = k2233−2 mod x233 + x74 + 1
x1 = ECM(k)
0.0 6.75 11.8. . .
1435.85precomputation time in µs
TRNG
ECM
ECDSA
subm
odul
e . . .
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 28/40
4 Ergebnisse
TLS Handshake
5.66 15.84 20.49computation time for a TLS handshake in µs
ECDHE
Key Derivation
AES
SHA-3
ECDSA
subm
odul
e
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 29/40
4 Ergebnisse
Latenzzeit
0 25 50 75 100 125 150time in ns
System to vFPGA
Sys to vFPGA w/ AES
vFPGA to System
vFGPA to Sys w/ AES
100 ns
100 ns
FIFO AES CTR Sync
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 30/40
4 Ergebnisse
Ressourcen - SecFPGA-Hypervisor
EC Key ProcessorCMD Decoder
Key StoreAES De-/Encryption
Cross Clock0
10000
20000
30000
LUTs
&R
egis
ters
LUTs Registers BRAMs
0
50
100
150
BR
AM
s
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 31/40
4 Ergebnisse
Ressourcen - EC Key Processor
ECM ECDSA Key Derivation TRNG Synchronization0
5000
10000
15000
20000
LUTs
&R
egis
ters
LUTs Registers BRAMs
0
BR
AM
s
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 32/40
4 Ergebnisse
Ressource - CMD Decoder
AES SHA-3 Certificate Buffer0
2000
4000
LUTs
&R
egis
ters
LUTs Registers BRAMs
0
20
40
60
80
BR
AM
s
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 33/40
4 Ergebnisse
Herausforderung der sicheren FPGA-Virtualisierung
• Strikte Trennung von statischer SecFPGA-Hypervisor Infrastruktur undvFPGAs
• Eingebettete Sicherheits-Features
• Separate Taktnetze für jeden vFPGA
• vFPGA Konfigurationen ohne geteilte Adressbereiche
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 34/40
4 Ergebnisse
Sicherheitsanalyse
Level 5 Außerhalb des Rechenzentrums X
Level 4 Virtueller Zugang zum Host X
Level 3 Physischer Zugriff auf die Platine X
Level 2 Benachbarte rekonfigurierbare Region X
Level 1 Physischer Zugang direkt zum Chip X
Level 0 Zugriff vor und während der Fertigung ?
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 35/40
1. Motivation und Literatur
2. Design
3. Implementierung
4. Ergebnisse
5. Zusammenfassung und Ausblick
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 37/40
5 Zusammenfassung und Ausblick
Zusammenfassung und Ausblick
Zusammenfassung• Design des SecFPGAs bietet sehr hohes Sicherheitslevel
• Cloud Charakteristik durch Einsatz teilweise rekonfigurierbarer Hardware
• Nutzung etablierter Algorithmen und Protokolle
• Implementation eines Prototyps und Auswertung des Mehraufwands
Ausblick• Flexible Bandbreiten
• Direkte Kommunikation über andere Schnittstellen
• Verifizierung einer Verbindung durch einen SecFPGAP. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 38/40
7 Literatur
Quellen
Hsing, Homer (2013). OpenCores - SHA3 Core. URL: https://opencores.org/project,sha3 (besucht am 08. 09. 2017).
Hsing, Homer (2015). OpenCores - Tiny AES. URL: https://opencores.org/project,tiny_aes (besucht am 06. 09. 2017).
Mukhopadhyay, Debdeep u. a. (2008). Elliptic Curve Crypto Processor for FPGA Plat-forms. URL: http://cse.iitkgp.ac.in/~debdeep/osscrypto/eccpweb/index.html (besucht am 27. 08. 2017).
P. Genßler, 29. November 2017 Verteidigung der Diplomarbeit 39/40