Sto progettando un'API Web, che utilizzerà le credenziali di un altro sistema per l'autenticazione. L'API richiede HTTPS, tuttavia desidero comunque evitare di inviare una password in chiaro sul cavo utilizzando l'autenticazione di base HTTP.
Sono a conoscenza del protocollo Secure Remote Password, ma TLS-SRP (come l'autenticazione SRP su TLS sarà effettivamente) sembra eccessivo per il livello di sensibilità dei dati forniti dall'API (informazioni IT di livello aziendale per lo più delicate; non qualcosa che vogliamo gridare al mondo ma non finanziario o identificativo personale).
Penso che uno schema in cui il client SHA256 hash la loro password, quindi trasmette il nome utente e l'hash su HTTPS al server API, che può quindi crittografarlo prima di confrontarlo con un hash memorizzato, dovrebbe essere più che sufficiente per garantire trasmettere e memorizzare le credenziali dell'utente. A quali vettori potrebbe essere vulnerabile (a parte un keylogger sul dispositivo client)?