Code On Fire gepassioneerd Cool Code

28 Jul/09 1

Hoe te Geloofsbrieven Secure Login voor Ajax

Veel JavaScript en andere klanten die gebruik maken van rust of andere webdiensten te kunnen maken van authenticatie geloofsbrieven gebruiken om de eindgebruiker toegang tot deze diensten mogelijk te maken.

Er zijn verschillende manieren om de geloofsbrieven te krijgen tot de server. Een populaire methode is het gebruik van HTTP1.1 Auth, hetzij verteren of basic. Het probleem met deze methode is dat het niet uw referenties te verbergen voor de wereld. Iedereen op het afluisteren van uw webverkeer is in wezen in staat om uw referenties te krijgen van de headers.

Een andere methode, waarschijnlijk gemakkelijker gebruikt door de meerderheid, is de inloggegevens in de POST of GET omvat gesprekken wordt gedaan aan diensten web. En dat is net zo blootgesteld.

http://mywebserver.com/mywebservice/?user=admin&pass=1234
niet leiden tot zeer hoge beveiliging van vervoer.

SSL is echt de enige manier om zeker te zijn dat uw referenties verborgen blijven van de rest van de wereld.

Server Gegenereerd Munten voor verduistert inloggegevens

Ik heb kennis genomen van een andere tactiek. Het loopt de volgende cursus:

  1. De client vraagt om een willekeurige token van de server te gebruiken tijdens het sessie.
  2. Zodra de token ontvangt de cliënt concatenates het token aan het einde van het wachtwoord, en doet vervolgens een MD5 hash op de hele zaak.
  3. Als referenties nodig zijn door de server, de client Daarna passeert user = 'gebruikersnaam' & passhash = [md5 (wachtwoord + token)]
  4. De server vergelijkt dit met het zelfde proces op zijn einde. Als de twee hashes overeenkomen, dan is de gebruikte wachtwoorden in die hashes moet hetzelfde zijn als goed.

De schoonheid van deze methode is dat, hoewel het is een 100% betrouwbare methode voor het correct identificeren van de juiste geloofsbrieven, is het ook onmogelijk om het proces om te keren en weer het wachtwoord.

Rekening gaat een stap verder

De eerste stap voor mij was om te gebruiken [md5 (wachtwoord + token)]. Ik heb nu bijgewerkt op het gebruik van een verscheidenheid aan informatie die ik zou willen verbergen:
[Md5 (gebruikersnaam + wachtwoord + + my_ip token)], die heeft een aantal ingebouwde cross-site scripting obfuscatie ingebouwd

Een sluwe en zeer ijverige hacker kan uw sessie nog steeds met enige moeite te kapen. En je kunt er zeker van is het niet waard zijn / haar, terwijl door het regelmatig veranderen van de token voor de huidige sessie.

KnowledgeTree JavaScript API

Als ontwikkelaar op KnowledgeTree momenteel ben ik bezig op de set van JavaScript-bibliotheken die server functionaliteit zal bloot via een API. Een kernonderdeel van KnowledgeTree is het strenge veiligheidsmaatregelen. De methode hierboven genoemde (of een variant daarvan) is in het proces worden uitgevoerd voor KnowledgeTree Japi.

* KnowledgeTree is een OpenSource Document Management Systeem voor het MKB naar Enterprise niveau van entiteiten.

Voorwaarts en naar boven!

Reacties (1) Trackbacks (1)
  1. Ik zie veel mensen komen hier op zoek naar de MD5 script ik gebruik. Er zijn tal van hen die er zijn, heb ik gekozen om deze gebruiken:

    http://kevin.vanzonneveld.net/techblog/article/javascript_equivalent_for_phps_md5/

    Vergeet niet om de functie ook utf8 van dezelfde site md5 te waarborgen.


Plaats een reactie