django-secure-js-login

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Hab nochmal kurz https://diafygi.github.io/webcrypto-examples/ unter windows getestet:

Firefox v31.8.0esr kann nichts, erst mit v38.1.0esr wird es was...

IE 11 macht nichts, weil die Seite ".then()" verwendet, welches der IE nicht beherrscht, siehe auch: https://developer.mozilla.org/de/docs/W ... omise/then

Evtl. kann https://github.com/taylorhakes/promise-polyfill da weiter helfen... Ich hab es lokal mal versucht, bringt aber nix.

EDIT: Hab es mal gemeldet: https://github.com/diafygi/webcrypto-examples/issues/12

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So, mit https://github.com/jedie/django-secure- ... b4eba82873 laufen auch die unittests auf TravisCI.
Ich mußte dazu nur noch einen wait einfügen ;)

Getestet wird nun mit Firefox Firefox v38.0esr

Bild - https://travis-ci.org/jedie/django-secu ... s/72680308


EDIT: WebCrypto PBKDF2 test .html und .py datei: https://gist.github.com/jedie/14f5b342ac44418368f9

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So, erste "alpha" version ist draußen:

https://pypi.python.org/pypi/django-sec ... ogin/0.3a0

WebCrypto branch und "two-factor" branch (Time-based One-time Password) sind nun in master...


Lokales ausprobieren ist recht einfach:

Code: Alles auswählen

~ $ virtualenv secure-js-login-env
~ $ cd secure-js-login-env
~/secure-js-login-env $ source bin/activate

(secure-js-login-env)~/secure-js-login-env $ pip install -e git+https://github.com/jedie/django-secure-js-login.git#egg=django-secure-js-login

(secure-js-login-env)~/secure-js-login-env $ cd src/django-secure-js-login/
(secure-js-login-env)~/secure-js-login-env/src/django-secure-js-login $ ./run_example_server.sh
s.a.: https://github.com/jedie/django-secure-js-login#tryout

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Nochmal dazu, welcher Browser alles "PBKDF2" kann...

Es gibt die Seite: http://caniuse.com/#feat=cryptography allerdings ist es dort leider nur pauschal von WebCrypto die rede. Doch so enfach ist das ja nicht, wie https://github.com/diafygi/webcrypto-examples/ es ja aufzeigt...

Hab mal Windows 10 build 10162 in einer VM installiert und den neuen Browser Edge v20.10162.0.0 getestet.
Der kann zwar schon ein paar Sachen, aber "PBKDF2" nicht :(

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

jens hat geschrieben:Hab mal Windows 10 build 10162 in einer VM installiert und den neuen Browser Edge v20.10162.0.0 getestet.
Der kann zwar schon ein paar Sachen, aber "PBKDF2" nicht :(
Genauso sieht es wohl in der Apfel welt aus: https://github.com/jedie/WebCrypto-comp ... S_v8.3.png

Aber HMAC + SHA werden i.d.R. unterstützt. Das sind ja die Kernkomponenten für PBKDF2...
Ich frag mich, ob es von der Performance reicht, wenn man also PBKDF2 nachbildet, dabei aber HMAC + SHA von WebCrypt nutzt oder ob das zu langsam ist und man praktisch nur mit geringer iteration-Anzahl arbeiten könnte...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

jens hat geschrieben:Aber HMAC + SHA werden i.d.R. unterstützt. Das sind ja die Kernkomponenten für PBKDF2...
Ich frag mich, ob es von der Performance reicht, wenn man also PBKDF2 nachbildet, dabei aber HMAC + SHA von WebCrypt nutzt oder ob das zu langsam ist und man praktisch nur mit geringer iteration-Anzahl arbeiten könnte...
Hab nun auch einen Benchmark für SHA gemacht: https://jedie.github.io/WebCrypto-bench/SHA/
Auf der selben machine mal ein Vergleich:
calculate PBKDF2 with 100000 iterations: duration: 0.165 sec.
calculate PBKDF2 with 1000000 iterations: duration: 1.449 sec.
calculate PBKDF2 with 10000000 iterations: duration: 14.192 sec.

calculate SHA-512 with 1000 iterations: duration: 0.115 sec.
calculate SHA-512 with 10000 iterations: duration: 0.993 sec.
calculate SHA-512 with 100000 iterations: duration: 11.143 sec.
Demnach wäre ein PBKDF2 Nachbau mit HMAC + SHA deutlich langsamer :? Somit kann man nicht einfach diesen als Fallback nutzten. Das würde nur praktikabel sein, wenn die Iterations so niedrig angesetzt sind, damit der Nachbau auch benutzbar bleibt :x

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten