Come possiamo nascondere i dati JSON da strumenti come gli strumenti di sviluppo di Chrome e Firebug, ecc, come sicurezza oltre 'https'?
Sforzi per nascondere i dati JSON o XML che vengono utilizzati dal client è abbastanza inutile, dopo tutto, il debug dei vostri javascript o tecnologie simili è facile sul lato client. ancora si può facilmente proteggere i dati della vostra applicazione da utenti malintenzionati utilizzando pochi semplici principi:
1. utilizzare un token di sicurezza nei servizi web e un metodo sicuro per ottenere questi token (minimo di utente/password).
sandbox tutte le operazioni al contesto di quel token di sicurezza (utente). identificare gli utenti solo con il token e non con i dati json interni che possono essere spoofati. tutte le operazioni devono avere un contesto strettamente limitato sul lato server che impedisce l'accesso ai dati che non è consentito dall'utente.
2. implementare tutti i servizi interni per includere i parametri contestuali, per esempio includere il token utente o l'id utente in tutte le API e usarli all'interno dei servizi per fare chiamate di accesso ai dati con quel filtro (per esempio usare userid nelle chiamate di accesso al db assicurarsi che il modello dei dati includa questi filtri nelle fonti dati pertinenti.
2. non fidatevi mai delle informazioni che provengono dal client per le parti più sensibili della vostra app, e costruite un meccanismo di verifica per assicurarvi che non venga modificato. Cose come i pagamenti richiedono un doppio controllo, sia sul lato client che sul lato server (per esempio verificare sul lato server che il pagamento paypal sia effettivamente completo).
3. evitare di tenere le password in chiaro sul lato server e inviare le password al client, piuttosto, utilizzare la crittografia a senso unico come MD5 e verificare le password rispetto all'hash MD5 questo vale anche per i token emessi ai clienti, non c'è bisogno di tenerli nel db, solo i loro hash.
C'è di più, ma è un inizio...
Ancora una volta, l'architettura web non è costruita per proteggere il protocollo client server più della crittografia tra i due, il resto è lavoro a livello di applicazione.
Articoli simili
- Perché https è barrato in rosso in Chrome?
- Posso modificare il codice sorgente di un server web attraverso gli strumenti di sviluppo di chrome?
- È possibile per qualsiasi app spia nascondere il suo utilizzo dei dati mobili? E come possiamo praticamente catturare un'app spia?
- Il mio portatile ha 32GB di RAM ma Chrome usa oltre 15GB di memoria, come mai Chrome usa così tanta memoria e come posso ridurre il suo consumo?