Login/2FA/SSO via QR code (bijv WhatsApp web)

Pagina: 1
Acties:

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Het leek mij beter om een topic te beginnen na goede feedback, topics over dit idee en mensen die dit al tijden zoeken als oplossing.

References
DJMaze in "[Alg] Welke tools heb jij gemaakt? - deel IV"
Hoe doet WhatsApp web automatisch inloggen?

Voorbeeld/Concept code
https://mhxsolutions.nl/qrlogin/

Status
De huidige status is dat het concept geupdatet is met encryptie.
Werkt op dit moment alleen met browsers die de WebCrypto API ondersteunen.
Het geeft ook een beter voorbeeld hoe WhatsApp dit doet ;)
Het eerste concept zonder encryptie staat nu hier https://mhxsolutions.nl/qrlogin/v1.php

TODO
Huidige single index.php misschien opsplitsen in duidelijke stappen.

Huidige authenticatie pagina ombouwen in ideeën (ik heb er twee):

1. de webbrowser op telefoon een local data storage met "login data"
- voordeel: geen app nodig
- nadeel: browser cache leeg/weg = login data weg
- voorbeeld: https://webqr.com/

2. app met "login data" (zoals een (Google) TOTP Authenticator)
- voordeel: veiligere opslag login data
- nadeel: app maken (kan ik niet)
- Tip gekregen "gebruik cordova" Verwijderd in "[Alg] Welke tools heb jij gemaakt? - deel IV"

Aantal dingen staat al in het "[Alg] Welke tools heb jij gemaakt?" topic.

Heb je ideeën of wil je hier aan meewerken GRAAG!

Ik merk dat ik niet alles alleen kan, maar laten we het FOSS houden dan?

[ Voor 10% gewijzigd door DJMaze op 17-10-2016 02:12 ]

Maak je niet druk, dat doet de compressor maar


  • Eusebius
  • Registratie: November 2001
  • Niet online
Ha, gevonden :-)

Als je er niet aan wil verdienen en als je wil dat het opgepikt wordt, dan is open source natuurlijk het handigst. Zeker bij een authenticatie-app.

==
hoi


  • DJMaze
  • Registratie: Juni 2002
  • Niet online
LOL, wasted my time. Er bestaat al zoiets: https://tiqr.org/

Maak je niet druk, dat doet de compressor maar


  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 21-12 09:08
Je kan waarschijnlijk beter websockets gebruiken (bijv. Pusher), in plaats van met PHP gewoon sleep(1) te doen.

En ik snap dat het een proof of concept is, maar ik zou nooit microtime() gebruiken om je key te genereren (en ook niet uniqid()), want dat is totaal niet random. Gebruik dan een echte random string met http://php.net/manual/en/function.random-bytes.php

Om je authenticatie te bewaren kan je natuurlijk ook gewoon cookies gebruiken, zoals normaal. En in het geval van een webapp kan je ook JWT gebruiken, die je in je localstorage op slaat. Dat kan je ook lange tijd bewaren.

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 05:00

Gerco

Professional Newbie

Kijk ook eens naar SQRL. Ik heb er zelf nog niet mee gespeeld, maar even snel de spec doorlezend ziet het er uitgebreid en goed doordacht uit. De website is een beetje 1995, maar daar heeft Steve Gibson wel vaker last van en doet niet af aan de oplossing.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • twcm
  • Registratie: Juli 2004
  • Laatst online: 09-12 08:36
Zo, even een oude thread to leven wekken.

SQRL is nu echt uit.

Diepgaande info: https://www.grc.com/sqrl/sqrl.htm
Forum: https://sqrl.grc.com/
En inmiddels ook al een Wordpress plugin: https://wordpress.org/plugins/sqrl-login/

Wat vinden jullie?

Do not meddle in the affairs of dragons. For thou art crunchy and taste good with ketchup.


  • DJMaze
  • Registratie: Juni 2002
  • Niet online
De WP plugin gebruikt Sodium en dat werkt alleen in PHP 7.2+ (mits de extensie is geïnstalleerd) omdat de bericht signatures in ed25519 zijn.
In de toekomst kan Sodium natuurlijk de functie crypto_sign_verify_detached aan iets anders hangen dan crypto_sign_ed25519_verify_detached.
Verder zitten er nog aardig wat bugs in die plugin.

Verder zit er een flinke bug in dit systeem. Er is geen mogelijkheid om iemand te identificeren (als dit nodig is).
Enige vorm van "controle" (zoals e-mail enzo) mist.
Je kan dus een hele simpele bot schrijven die 1000'en accounts aanmaakt en spammed.

Bij een controle systeem zoals bijvoorbeeld e-mail kan jij als website beheerder prima e-mailadressen zoals @gmail of @mail.ru blokkeren.

Ook mist enige vorm van username/nickname creatie.

Uiteindelijk is het systeem prima voor 99% anonimiteit, maar als je dat als website eigenaar niet wilt/kan (bijvoorbeeld 18+) moet je wel zorgen dat het systeem alleen gebruikt kan worden op bestaande logins.

Maak je niet druk, dat doet de compressor maar


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
DJMaze schreef op donderdag 11 juli 2019 @ 14:32:
Verder zit er een flinke bug in dit systeem. Er is geen mogelijkheid om iemand te identificeren (als dit nodig is).
[...]
Uiteindelijk is het systeem prima voor 99% anonimiteit, maar als je dat als website eigenaar niet wilt/kan (bijvoorbeeld 18+) moet je wel zorgen dat het systeem alleen gebruikt kan worden op bestaande logins.
Your SQRL identity is a different long code for every website you login to, but it is always the same code when you return to a site you visited before. This means that websites never know who you are, but they do know when you return.

You may choose to remain anonymous to a website, such as when you post a response to someone's blog. SQRL never identifies you by anything other than that long code.
Dat is toch een kwestie van E6Qs2gX7W-Pwi9Y3KAmbkuYjLSWXCtKyBcymWloHAuo associëren met een nick :?

[ Voor 12% gewijzigd door RobIII op 11-07-2019 15:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • twcm
  • Registratie: Juli 2004
  • Laatst online: 09-12 08:36
DJMaze schreef op donderdag 11 juli 2019 @ 14:32:
[...]
Verder zit er een flinke bug in dit systeem. Er is geen mogelijkheid om iemand te identificeren (als dit nodig is).
Enige vorm van "controle" (zoals e-mail enzo) mist.
Je kan dus een hele simpele bot schrijven die 1000'en accounts aanmaakt en spammed.

Bij een controle systeem zoals bijvoorbeeld e-mail kan jij als website beheerder prima e-mailadressen zoals @gmail of @mail.ru blokkeren.

Ook mist enige vorm van username/nickname creatie.
Wacht ff - het enige wat SQRL wil doen is de mogelijkheid bieden om iemand in te laten loggen zonder dat de server een 'geheim' moet bewaren (hash van wachtwoord)

Wat het SQRL forum doet: je logt in met je SQRL identity; je moet je naam/nick en je email opgeven; vervolgens krijg je een activatielink, daarna mag je het forum pas op.

Effectief is dat allemaal hetzelfde als op iedere andere website; behalve het wachtwoord. En DAAR ging het om.

Loop eens door de SQRL identity creation heen; dan zul je merken dat het aanmaken van een bot vast kan, maar wel wat tijd kost. (typo's)

Do not meddle in the affairs of dragons. For thou art crunchy and taste good with ketchup.


  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Wat @twcm zegt ben ik het mee eens. Zo'n implementatie werkt, waarbij SQRL puur het "wachtwoord" is, net als FIDO2 kan zijn.

Ik keek daar niet expliciet naar omdat de WordPress plugin OOK de optie voor anonieme account registratie heeft.
Ik werd dus even op het verkeerde pad gezet, je kan die optie namelijk gelukkig wel uit zetten.

Als gewoon inlog systeem werkt het wel. Ik ben dat stuk nog wel verder aan het onderzoeken.

Maak je niet druk, dat doet de compressor maar

Pagina: 1