2012-05-14 6 views
5

In realtà sto cercando di inviare SMS utilizzando CDYNE e la loro API. Per fare ciò, sto usando Java e HttpGet e HttpClient object (Httpcore e HttpClient libs). Sto inviando la richiesta a un URL https, inviando i parametri come https://www.example.com/SecureREST/SimpleSMSsend?PhoneNumber=ABC&Message=XYZUna richiesta java inviata a un URL HTTPS è totalmente sicura?

Potrebbe essere un problema di sicurezza che sto usando una richiesta GET e che tutti i parametri sono nell'URL stesso? Cosa succede se il contenuto del parametro Message nell'URL contiene informazioni sensibili? Qualcuno potrebbe annusare la rete per ottenere il contenuto o è sicuro poiché la richiesta viene inviata tramite HTTPS?

La mia opinione è che solo il www.example.com è visibile durante il processo di handshake e che una volta eseguita, tutto è crittografato, ma voglio solo essere sicuro.

+3

+1 per chiedere, invece di assumere semplicemente che sia probabilmente sicuro. –

+2

Installa http://www.wireshark.org/ e controlla tu stesso cosa viene inviato sulla rete – Kristian

+0

Concordato, @TonyEnnis. –

risposta

3

Wikipedia is pretty clear about this:

Nota che quando un client invia una richiesta HTTPS, il nome host e la porta del URL sono in chiaro ... Tuttavia, tutte le altre parti della richiesta HTTPS, tra cui il sentiero URL e interrogazione parametri, possono essere decodificati solo dal sito di destinazione o da un intermediario che interrompe la connessione HTTPS per conto del sito.

Quindi la tua convinzione è giusta. Solo il nome host e la porta sono apertamente visibili; il resto dell'URL è crittografato.

+3

Wikipedia ha anche torto su questo. L'intera richiesta è crittografata. L'intruso può rilevare * con altri mezzi * a quale ip: la porta è connessa, ecc., Ma certamente non tramite il contenuto della richiesta. Il paragrafo Wiki in questione è stato aggiunto solo la scorsa settimana e sta per scomparire. – EJP

Problemi correlati