Hallo, ich bin recht neu in der FPGA-Entwicklung und habe eine kleine Frage zur Codesicherheit auf Xilinx Virtex FPGAs. Fast alle FPGAs bekommen ihre Firmware beim Starten von einem externen µC ins SRAM geladen, geschieht dies eigentlich verschlüsselt? Oder kann jeder den Datenstrom zwischen µC und FPGA "mitsniffen" und anschließend den mitgelesenen Code auf einen zweiten FPGA laden? Oder ist der Ladevorgang standardmäßig verschlüsselbar? Bei Microcontrollern ist es da ja leichter mit Code Frotection Flags da die Firmware den Prozessor nie verlässt. Gruß Thomas
Die Konfiguration kann verschlüsselt geschehen. Informier dich einfach auf der Xilinx Homepage.
Die Übertragung kann AES-verschlüsselt passieren. Allerdings ist dann eine Batterie am Virtex nötig, denn der Schlüssel ist flüchtig im Virtex abgelegt. Das klappt auch mit den Xilinx Platform Flashes. Die kann man außerdem noch gegen Auslesen über JTAG schützen. Wenn man dann noch den Platform Flash im BGA Gehäuse benutzt, ist das Auslesen schon extrem erschwert.
> Wenn man dann noch den Platform Flash im BGA Gehäuse benutzt, ist > das Auslesen schon extrem erschwert. Für wen? Für den Bastler der nur einen Faustkeil bestitzt?
Im Spartan und Virtex6 gibt es neben der Speicherung des Keys im RAM auch eine Antifuse Möglichkeit. Im Virtex5 war diese Möglichkeit im Silizium ebenfalls bereits vorhanden, aber nicht als Feature promoted und nicht mit IMPACT zu programmieren... Gruß Andreas
Unbekannter schrieb: >> Wenn man dann noch den Platform Flash im BGA Gehäuse benutzt, ist >> das Auslesen schon extrem erschwert. > > Für wen? Für den Bastler der nur einen Faustkeil bestitzt? Nein, deshalb schrieb ich "noch", also AES VErschlüsselung und BGA-Platform Flash. Das machts dann auch Profis mit Ausrüstung schwer.
ich hatte mal eine pdf mit ner untersuchung von ein paar profs die sich das angeschaut haben, ich gucke mal ob ich die noch finde jedenfalls stand da drinne dass, wenn der FPGA einmal auf ist, der schluessel wohl gelesen werden kann weil die sram-zellen dann irgendwelche "restzustaende" haben (auch wenn der strom weg ist, halt nicht ewig dann). ich muss echt mal gucken ob ich das noch finde. wobei ich ja jetzt auch ent weiss ob das fuer dich ueberhaupt interessant ist, das wird sicherlich nur bei SEHR sicherheitskritischen anwendungen irgendwie von bedeutung sein. ciao, zachso
ich hab gerade nochmal nachgeguckt und ich weiss nicht mehr woher ich das hatte, aber das scheint wohl nicht gratis zu sein. falls du an ner uni arbeitest oder studierst kannste ja mal ueber deinene unizugang nach Security on FPGAs: State-of-the-art implementations and attacks. ACM Trans. Embedded Comput. Syst. 3 googlen. da gehts zwar nicht vorderguendig darum wie sicher der code ist, aber das wird da auch mit einem kleinen absatz behandelt, duerfte vllt. ganz interessant sein da da nicht auf die sicherheit durch z.B. antifuse oder aes-verschluesselter uebertragung eingegangen wird sondern die physikalischen grenzen aufgezeigt werden. ich hatte glaube noch irgendwo einen anderen artikel der ein wenig ausfuehrlicher ist, finde aber leider gerade nichts. ciao, zachso
vielleicht hilft folgendes Paper ja schon weiter http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.58.6788&rep=rep1&type=pdf hat nur einen leicht anderen Titel aber das Abstract ist interessanter weise das gleiche.
Mit genügend Aufwand ist alles knackbar. Siehe der TPM Chip erst neulich: http://www.heise.de/newsticker/meldung/Hacker-liest-Kryptoschluessel-aus-TPM-Chip-aus-926883.html
@nephilim das ist exakt das paper das ich auch meinte, nur leider habe ich nur komerzielle quellen gefunden gehabt, danke dir :)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.