In che modo i minatori di crittogame ASIC influiscono sulla sicurezza dello scrypt?

3

La disponibilità di questi minatori è un motivo per favorire bcrypt (o qualcos'altro) su scrypt?

Voglio dire, l'obiettivo di una funzione di hash della password è di massimizzare il lavoro necessario a un utente malintenzionato per interrompere un hash tramite forza bruta, dizionario o altro, riducendo al minimo il lavoro necessario per l'uso legittimo. Se l'attaccante può calcolare gli hash a più velocità della velocità del server, c'è un punto debole.

I minatori ASIC per le criptovalute basate su scrypt sono molto efficienti nel calcolo degli hash di scrypt e la maggior parte dei server non utilizza l'hardware di mining di criptovaluta per velocizzare l'hashing delle password.

È un problema che l'autore dell'attacco abbia accesso a un buon hardware di mining?

    
posta Filip Haglund 17.10.2014 - 12:50
fonte

3 risposte

7

La teoria di hashing della password è che l'intero il problema è una corsa agli armamenti tra attaccante e difensore. La funzione di hashing della password (bcrypt, scrypt ...) è deliberatamente lenta, così come il defender può tollerare il suo hardware. Supponiamo che l'attaccante possa acquistare lo stesso tipo di hardware del difensore, in modo che possa sempre essere efficiente almeno quanto il difensore. La speranza dell'attaccante è che può acquistare o costruire hardware specializzato che sarà in grado di calcolare più hash per lo stesso budget.

Le macchine specializzate per il mining di monete basate su scrypt sono intrinsecamente buone notizie per l'aggressore, perché tali macchine hanno senso solo se fanno più scrypts al secondo di un PC di base dello stesso prezzo. Tuttavia, questo non si traduce necessariamente in un modello di attacco effettivo, in particolare perché scrypt è una funzione altamente configurabile (è possibile impostare sia l'utilizzo della RAM che il costo della CPU) e le combinazioni per le quali i minatori sono ottimizzati non corrispondono necessariamente a quello utilizzato per l'hash password su un determinato server. La proprietà cruciale è la quantità di hardware di mining che può essere riutilizzata per altri parametri di scrypt.

Un altro punto importante è che bcrypt è noto per essere "più facilmente rotto" con hardware basato su FPGA (i nuovi FPGA contengono blocchi RAM incorporati che sono molto interessanti per l'implementazione di bcrypt - ogni istanza di bcrypt richiede solo 4 kB di RAM). Quindi, anche supponendo che l'ASIC può di mining acceleri l'aggressore, non è chiaro se questo lo accelera più di quello che può ottenere con FPGA contro bcrypt.

Devi ricordare che l'hashing della password è un problema che abbraccia la crittografia, l'ingegneria e l'economia. devi prendere in considerazione tutti questi aspetti se vuoi prendere una decisione.

(Inoltre, lo scrypt è stato progettato e ottimizzato per un caso piuttosto specifico, vale a dire la crittografia basata su password dei dischi rigidi.Questo è uno scenario di utilizzo molto diverso da un server Web che autentica gli utenti; hard disk, il sistema può richiedere alcuni secondi di CPU e può utilizzare gigabyte di RAM. L'uso di scrypt su un server di autenticazione implica lo spostamento dei parametri da questa zona.)

    
risposta data 17.10.2014 - 15:08
fonte
3

Ci sono tre diversi algoritmi di hashing della password qui discussi:

| Algorithm | Cryptographic primitive | Crypto-currency that uses it| Miner speed   | 
|-----------|-------------------------|-----------------------------|---------------|
| PBKDF2    | SHA-256                 | Bitcoin uses SHA-256        | 7 Thash/sec   |
|           |                         |                             |               | 
| Bcrypt    | Whirlpool cipher        | (none)                      | n/a           |
|           | with 4kB key setup      |                             |               |
|           |                         |                             |               |
| Scrypt    | Salsa/20 BlockMix       | LiteCoin                    | 100 Mhash/sec |

La difficoltà dell'hash deriva dalla quantità di memoria a cui accedere.

  • SHA-256 è pensato per essere veloce. Usa poca memoria
  • La costosa configurazione delle chiavi di BCrypt utilizza in modo casuale 4 KB di memoria mentre imposta la chiave
  • In litecoin, i parametri di scrypt di N=1024, r=1, p=1 fanno sì che scrypt richieda 128 * 1 * 1024 = 128 KB di memoria

Un punto importante è che questi minatori ASIC sono dedicati a litecoin e a quei parametri specifici di scrypt LitCoin. Ciò significa che tu, usando i parametri di scrypt predefiniti:

  • N=16,384 , r=8 , p=1

richiede:

  • 128 * 8 * 16384 = 16 MB

Utilizzando alcuni metodi matematici, basati sull'esperienza con scrypt, con i parametri della password real-world , una di quelle costose scatole sarebbe in grado di fare:

6,100 hash/s = 0.006 Mhash/s

Cinque ordini di grandezza più lenti; ma ancora una preoccupazione. Il mio solo Intel i5-2500 può fare 5 hash/sec con questi parametri. L'hardware personalizzato è oltre 1.000 volte più veloce.

Idealmente il tuo scrypt è sintonizzato in modo che impieghi circa 500ms sul tuo hardware. Sul mio hardware che è compiuto con:

  • N = 2 ^ 15 = 32768
  • r = 9
  • p = 1

Per un footprint di memoria di 36 MB. Per uno dei minatori, sarebbe in grado di eseguire 1.205 hash / s - 200 volte più velocemente del mio PC solitario.

tl; dr: Devi preoccuparti dei minatori. Fortunatamente correct horse battery staple mantiene le tue password fuori dalla portata di tutti.

    
risposta data 03.06.2016 - 03:54
fonte
1

La tua domanda è strana. ASIC che influenzano la sicurezza? No, non lo sono.

D'altra parte, gli ASIC creeranno un enorme vantaggio per chi li usa. Ecco perché il mining di Bitcoin CPU / GPU non è redditizio oggi, poiché gli ASIC hanno più prestazioni e consumano meno energia.

Gli ASIC sono relativamente economici, consumano meno energia, sono piuttosto veloci, ma generalmente non hanno molta RAM. Quindi alcune valute crittografiche hanno favorito l'uso di altri schemi di hashing in cui è necessaria molta RAM, rendendo molto difficile per un ASIC ottenere così un enorme vantaggio rispetto ai normali computer.

    
risposta data 17.10.2014 - 15:07
fonte

Leggi altre domande sui tag