SSL fornisce già una connessione sicura che protegge i dati in transito tra client e server. Garantisce riservatezza e integrità e, in effetti, utilizza HMAC per quest'ultimo. Se il tuo modello di sicurezza riguarda gli aggressori che potrebbero tentare di alterare i messaggi mentre viaggiano dal client al server e viceversa, aggiungere il tuo HMAC è ridondante e inutile.
SSL, tuttavia, è puro tunneling. Cessa di agire quando i dati hanno raggiunto la sua destinazione. Se il tuo modello di sicurezza riguarda un utente malintenzionato che può modificare i dati memorizzati sul tuo server , il fatto che SSL sia stato utilizzato per trasferire tali dati non contribuisce alla protezione contro tale utente malintenzionato . In questa configurazione, l'effettiva esistenza di un client e una rete è irrilevante; questo è un problema di archiviazione, non un problema di rete. HMAC può aiutare, ma solo se l'utente malintenzionato non può apprendere la chiave HMAC, che è uno scenario restrittivo.
La domanda veramente importante da porre per prima è: che cosa può realmente fare l'attaccante previsto?