Come proteggere le credenziali di accesso per Ajax
JavaScript Molti altri clienti che fanno uso di riposo o di altri servizi web è necessario utilizzare le credenziali di autenticazione per consentire l'accesso all'utente finale di tali servizi.
Ci sono diversi modi per ottenere le credenziali al server. Un metodo popolare utilizza HTTP1.1 Auth, o digest o di base. Il problema di questo metodo è che non nasconde le proprie credenziali dal mondo. Qualcuno in ascolto sul vostro traffico web è sostanzialmente in grado di ottenere le credenziali dalle intestazioni.
Un altro metodo, forse più facilmente utilizzati dalla maggioranza, è quello di includere le credenziali di accesso in POST o GET chiamate in corso per servizi web. E questo è altrettanto esposta.
http://mywebserver.com/mywebservice/?user=admin&pass=1234
non fa per il trasporto ad alta sicurezza molto.
SSL è davvero l'unico modo per essere sicuri che le credenziali rimangono nascosti dal resto del mondo.
Generati dal server Gettoni per Oscurare le credenziali di accesso
Ho preso una tattica diversa. Corre il seguente corso:
- Il client richiede un token casuale dal server da utilizzare durante la sua sessione.
- Una volta ricevuto il token client concatena il token alla fine della password, e poi fa un hash MD5 su tutto.
- Quando le credenziali sono necessari dal server, il client passa poi user = 'username' e passhash = [md5 (password token +)]
- Il server confronta questo con lo stesso processo sul suo fine. Se i due hash corrispondono, allora la password utilizzati in tali hash deve essere lo stesso pure.
La bellezza di questo metodo è che anche se si tratta di un metodo 100% affidabile per identificare correttamente le credenziali corrette, è anche impossibile per invertire il processo e ottenere la password back.
Prendere le cose un passo avanti
Il passo iniziale per me è stato quello di utilizzare [md5 (+ password token)]. Ora ho aggiornato lo utilizzano una varietà di informazioni vorrei nascondere:
[Md5 (username + password my_ip + + token)], che ha costruito in qualche cross-site scripting offuscamento costruito pollici
Un hacker subdola e molto zelante ancora possibile dirottare la sessione con un certo sforzo. E si può assicurarsi che non vale la pena di suo, mentre regolarmente cambiando il token per la sessione corrente.
KnowledgeTree API JavaScript
Come sviluppatore su KnowledgeTree momento sto lavorando sul set di librerie JavaScript che esporrà la funzionalità del server tramite una API. Una componente fondamentale di KnowledgeTree è la sua sicurezza rigorosa. Il metodo di cui sopra (o una variante di esso) è in procinto di essere attuato per KnowledgeTree JAPI.
* KnowledgeTree è un Document Management System OpenSource per le PMI agli enti di livello Enterprise.
In avanti e verso l'alto!

29 Lug 2009 - 14:39
Ho notato molte persone a venire qui in cerca di MD5 lo script che sto utilizzando. Ci sono molti là fuori, ho scelto di usare questo:
http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_md5/
Ricordarsi di includere la funzione utf8 dal sito stesso di garantire md5 opere.