www.wikidata.de-de.nina.az
scrypt ist eine Passwort basierte Schlusselableitungsfunktion password based key derivation function die 2010 von Colin Percival veroffentlicht wurde Motiviert wurde die Entwicklung von scrypt durch die Verwundbarkeit bisheriger Schlusselableitungsfunktionen wie bcrypt und PBKDF2 gegen Brute Force und Worterbuchangriffe mit spezialisierter Hardware Inhaltsverzeichnis 1 Hintergrund 2 Geschichte 3 Beschreibung 4 Verwendung in Kryptowahrungen 5 Sicherheit 6 Weblinks 7 EinzelnachweiseHintergrund BearbeitenPassworter selbst sind als kryptographische Schlussel nicht geeignet Der einfache Hashwert des Passworts verhindert zwar eine Ruck Berechnung des Passworts schutzt aber nicht vor Worterbuchangriffen der Brute Force Methode und Rainbow Tables Passwort basierte Schlusselableitungsfunktionen lassen in die Schlusselberechnung zusatzlich eine Zufallszahl den Salt einfliessen und erhohen gezielt den Aufwand der Berechnung eines Schlussels um das Durchprobieren vieler Moglichkeiten zu erschweren Scrypt bemisst den Rechenaufwand im Gegensatz zu anderen Schlusselableitungsfunktionen nicht nur nach der reinen Rechenzeit Stattdessen erhoht scrypt auch gezielt die Kosten fur die Hardware die geeignet ist um ein Passwort in einer bestimmten Zeit zu brechen dollar seconds Dieser Paradigmenwechsel ist dem Umstand geschuldet dass durch die Entwicklung spezialisierter Hardware wie FPGAs und Grafikprozessoren die reale Rechenzeit zur Brechung eines Passworts dramatisch verkurzt werden kann custom hardware attack Die in den Schlusselableitungsfunktionen bcrypt und PBKDF2 beabsichtigte Verlangsamung der Berechnung durch die Anzahl der Hash Operationen Iterationen kann durch eine Parallelisierung des Angriffs bei Verwendung spezieller Hardware kompensiert werden 1 Eine solche parallele Programmierung kann grundsatzlich nicht verhindert werden Scrypt nutzt den Umstand aus dass Arbeitsspeicher verhaltnismassig teuer ist fordert einen Vektor mit standardmassig 16 MB an und treibt so die Kosten fur den Einsatz spezialisierter Hardware in die Hohe Diese Idee lag schon der Schlusselableitungsfunktion HEKS 2 zugrunde wird aber in scrypt um die Sequentialisierung erganzt Geschichte BearbeitenScrypt wurde von Colin Percival fur die Firma Tarsnap entwickelt und im Mai 2009 auf der BSDCan Konferenz prasentiert 3 Bereits 2012 wurde von der IETF ein Entwurf von scrypt als Internet Draft veroffentlicht Im August 2020 gab Colin Percival Version scrypt 1 3 1 frei 4 Scrypt nahm nicht an der Password Hashing Competition teil einem Auswahlverfahren fur ein neues Passwort Hashing Verfahren obwohl Colin Percival als Experte daran beteiligt war 5 Mit Yescrypt von Alexander Peslyak nahm jedoch ein Algorithmus teil der mit der Erweiterung YESCRYPT WORM auch originale scrypt Hashwerte produzieren kann 6 Beschreibung BearbeitenScrypt gilt als sequential memory hard sequenziell Speicher intensiv In der Funktion ROMix wird ein Vektor mit Werten der Funktion Salsa20 8 einer auf acht Runden verkurzten Version der Stromchiffre Salsa20 gefullt Danach wird auf diesen in einer pseudozufalligen Weise zugegriffen und somit sichergestellt dass der Vektor permanent im Speicher gehalten werden muss oder die Rechenzeit sich extrem erhoht Scrypt erlaubt die Parametrisierung der CPU Kosten Rechenzeit und der Speicherkosten und hat zusatzlich einen Parallelisierungs Parameter Parameter N CPU und Speicherfaktor r Speicherfaktor p Parallelfaktor Colin Percival empfahl bei der Veroffentlichung 2010 N 16384 r 8 p 1 fur normale Anforderungen und N 1048576 r 8 p 1 fur hohe Anforderungen Die Parameter r und p waren dafur gedacht mit der Zeit an die technische Entwicklung angepasst zu werden Verwendung in Kryptowahrungen BearbeitenNeben der Passwort basierten Schlusselableitung wird Scrypt auch fur das sogenannte Mining in Kryptowahrungen wie Litecoin und Dogecoin verwendet Das Einbringen von Rechenleistung fur diese Wahrungen und damit die Teilhabe an Transaktionsgebuhren sollte ursprunglich auf die Teilnehmenden moglichst gleich verteilt werden Durch den Einsatz von spezieller Hardware ASICs ist es jedoch beispielsweise in der Kryptowahrung Bitcoin zu einer Abhangigkeit der Rechenleistung von der Finanzkraft und damit zu einer Zentralisierung gekommen Wahrungen wie Litecoin wollten dem vorbeugen und nutzten dabei den Umstand aus dass scrypt aufgrund der hohen Speicheranforderung schlecht in ASICs implementiert werden kann 7 Litecoin verwendet jedoch scrypt mit niedrigeren Parametern N 1024 r 1 p 1 8 als von Colin Percival empfohlen und daher mit wesentlich geringerer Speicheranforderung Inzwischen sind auch fur die in diesen Kryptowahrungen verwendete scrypt Version ASICs auf dem Markt 9 Die Kryptowahrung Vertcoin fuhrte daraufhin scrypt mit variablem N Faktor Adaptive N Factor ein einem Parameter der die Speicheranforderung an die Entwicklung anpasst und so eine Implementierung in ASICs verhindern soll 10 Zwischenzeitlich hatte Vertcoin scrypt durch die Funktion Lyra2 ersetzt die ahnlich wie scrypt Parameter fur die Speicheranforderung und die Rechenleistung besitzt Im Gegensatz zu scrypt sind diese Parameter bei Lyra2 jedoch nicht aneinander gekoppelt 11 Mittlerweile benutzt Vertcoin allerdings einen eigenen Algorithmus Verthash Die Passwort Hashing Funktion Lyra2 ist eine Kandidatin in der Password Hashing Competition 12 Viele kleinere Kryptowahrungen wie YaCoin benutzen Scrypt Jane eine flexible Implementierung von scrypt andere Hashfunktionen wie Keccak und ChaCha20 8 deren Speicheranforderung ebenfalls mit der Zeit ansteigt 13 14 Sicherheit BearbeitenScrypt ist relativ neu und unerprobt gilt aber als eine Alternative zu bcrypt und PBKDF2 15 Da sich die Sicherheit Passwort basierter Schlusselableitungsfunktionen in erster Linie nach deren Schutz vor Worterbuchangriffen und der Brute Force Methode bemisst motiviert die offensichtliche Verwundbarkeit anderer Funktionen dazu auch relativ neue Funktionen wie scrypt zu verwenden 2013 wurde eine theoretische Schwachstelle von scrypt gegenuber einer Seitenkanalattacke durch cache timing veroffentlicht 16 Die Passwort abhangig unterschiedlichen Zugriffszeiten auf den Speicher Vektor in den anschliessenden Iterationen von scrypt kann unter bestimmten Umstanden fur ein Passwort Sieb genutzt werden cache time attack Die Autoren weisen darauf hin dass ein solcher Angriff auf scrypt derzeit nur theoretisch gegeben ist 2014 verglichen Markus Durmuth und Thorsten Kranz von der Ruhr Universitat Bochum die Passwort Hashing Verfahren bcrypt und Scrypt in Bezug auf Angriffe mit spezialisierter Hardware 17 Scrypt ist demnach trotz hoherer Speicheranforderung fur niedrige Parameter angreifbarer als bcrypt da Scrypt mit niedrigen Parametern effizient von GPUs ausgefuhrt werden kann Eine Angreifbarkeit von Scrypt mit niedrigen Parametern durch GPUs wurde auch an anderer Stelle festgestellt 18 19 Weblinks Bearbeitenscrypt Seite tarsnap com englisch RFC 7914 The scrypt Password Based Key Derivation Function August 2016 englisch List of all Coins Liste von Kryptowahrungen Aufgefuhrt sind auch die Algorithmen fur das Mining coinwiki orgEinzelnachweise Bearbeiten Markus Durmuth Tim Guneysu Markus Kasper Christof Paar Tolga Yalcin Ralf Zimmermann Evaluation of Standardized Password Based Key Derivation against Parallel Processing Platforms In Computer Security ESORICS 2012 Springer Verlag Berlin Heidelberg 2012 ISBN 978 3 642 33166 4 S 716 733 Arnold Reinhold HEKS A Family of Key Stretching Algorithms scrypt A new key derivation function Vortrag uber Scrypt auf der BSDCan englisch scrypt 1 3 1 released Tarsnap Mitteilung Introduction Website des Password Hashing Competition englisch yescrypt modern KDF and password hashing scheme Vorstellung von YESCRYPT 1 0 0 Openwall englisch Vergleich zwischen Litecoin und Bitcoin Mining englisch Abgerufen am 20 Juni 2022 Litecoin Webseite Block hashing algorithm englisch Abgerufen am 20 Juni 2022 ASICS for Litecoin Here They Come Bitcoinmagazine englisch David Muller What is Vertcoin PDF coinpaprika com englisch abgerufen am 20 Juni 2022 Vertcoin VTC plans algorithm change to Lyra2 coinbrief net englisch Candidates Memento vom 11 August 2015 im Internet Archive Password Hashing Competition englisch About YACoin englisch Abgerufen am 20 Juni 2022 A flexible implementation of Colin Percival s scrypt Scrypt Jane GitHub englisch Einleitung des Password Hashing Competition englisch Christian Forler Stefan Lucks Jakob Wenzel Catena A Memory Consuming Password Scrambler Cryptology ePrint Archive Report 2013 525 Markus Durmuth Thorsten Kranz On Password Guessing with GPUs and FPGAs PDF 391 kB Openwall Mailingliste using scrypt for user authentication Anthony Ferrara Why I Don t Recommend Scrypt ircmaxell s blog Abgerufen von https de wikipedia org w index php title Scrypt amp oldid 237648899