Catégories
Divers

Hot take on password login in MFA : wrong factor

(originally posted on https://dev.to/davel_x/hot-take-on-password-login-in-mfa-wrong-factor-35kj)

I was looking at documentation about 2FA, and MFA in general for an application that I'm working on. And I felt something was not totally right when describing the different factors, specifically the Knowledge one.

Let's take the wikipedia (not the best source but not the worst) page as a reference : https://en.wikipedia.org/wiki/Multi-factor_authentication#Knowledge

If you read it like me, the password login is on the Knowledge factor.
And it's not specifically written but Magic Links are supposed to be in the Possession one[¹].
Even if it's theorically true I strongly disagree with that. And since we're talking about security, it's important to understand why.

What is the flow of a magic link ?

Image description

If you consider that you possess the email account, it's indeeed a Possession factor that we use here. And the security of this flow is as secure as the one of the email account.

What is the flow of a password login ?

Image description

And yeah it's indeed a Knowledge factor, case closed !!
Thanks for listening to my podcast and don't forget to subsc.... HEY WAIT STOP !!
It doesn't happen like that in real life !

I had a discussion with a DPO recently (so more a legal expert than a tech one) who told me that magic links are less secure than password logins because emails accounts can be hacked.
Hmmm... ok but have you seen recently a public password login without a password recovery process ?

Let's make our sequence diagram again. (because Mermaid is a very nice tool that I just discovered)

Image description
At the last steps the app server can ask the user to login fully again but it's quite the same.

So what is the difference betweend password login and magic links in terms of security ? Some unuseful steps and reticences about weak passwords[²].

My conclusion

Password login is both a Knowledge and a Possession factor and I think that, since the recovery can bypass the Knowledge, it should be considered more like a Possession.
Combining password login with SMS, Authenticator or email magic link should not be considered as a "multi"-factor authentication.

Of course I may have missed some arguments, and if you have a different point of view, I'd be glad to read it. :smile:

[¹] even if there is a debate whether soft tokens should be in this factor
[²] too simple, used on multiple websites, written on a piece of paper or in a .txt file, etc.

Cover photo by Micah Williams on Unsplash

Catégories
Divers

Rest API : After CRUD

(originally posted on https://dev.to/davel_x/rest-api-after-crud-406n)

Hello and welcome to my first "technical" article since a very long time. Last one was on a time when Adobe Flash and Facebook Applications were still a thing. (and maybe you’re too young to know what I’m talking about 😀)

Context

I’ve been developing a REST API recently and I knew quite exactly what to do but I still keep on reading articles about API development to see if there’s new techniques that I don’t know about.

A lot of theses articles are really good to start building a REST API, like these ones for example :
https://dev.to/beznet/build-a-rest-api-with-node-express-mongodb-4ho4

https://dev.to/nditah/how-to-build-a-rest-api-with-node-prisma-and-postgresql-429a

But is it enough to code a CRUD - well more a GPPD (GET-POST-PATCH-DELETE) but let’s stick with readable acronyms 😀 - to put your api in production ?

Well no, not really and I found myself implementing a lot of annex features that are however pretty essential.

As I work with nodejs/express, I will focus on tools/code for javascript but the underlying concepts are pretty common.

Catégories
Divers Facebook

Marre des invitations à Candy Crush/Farm Heroes/Autre jeu sur Facebook ? Tu ne serais pas un peu con par hasard ?

Oui vous les avez vu passer ces requêtes, ces injonctions et parfois même ces menaces. Avec un peu de chance, et parce qu'il serait con que cet article ne serve qu'à se moquer sans être un tant soit peu utile, c'est vous qui en êtes à l'origine.

Pour ceux qui ne voient pas de quoi je parle, qui n'ont pas Facebook par exemple, les visionnaires, voici un petit résumé de la situation :
Sur beaucoup de jeux mobiles aujourd'hui on peut s'identifier avec Facebook. Ça facilite le processus et surtout ça permet d'y trouver des amis qui jouent au même jeu plus facilement qu'en leur demandant un code relou à taper, à retrouver ou à partager son carnet d'adresse emails. Et puis, parce qu'ils ne sont pas complètement cons les développeurs, ces applications vous proposent d'envoyer des invitations à vos amis, moyennant pour l'expéditeur de l'argent dans le jeu, des vies dans le jeu, du jeu dans le jeu, etc. Tout ça pour que leur CRM se gave de tes infos personnelles.

Mais les invitations c'est comme les auvergnats (je n'approfondis pas plus cette vanne) et on peut envoyer plein d'invitations à une seule personne, sans compter que si plusieurs de ses amis jouent au jeu ça multiplie les invitations et les alertes sur Facebook. C'est là qu'apparaissent ces messages qui font peur quand ils ne font pas rire :

"Gna gna gna, mais arrêtez de m'envoyer des invitations, bla bla bla, je ne veux pas jouer et je n'aime pas ce jeu, *caca* *caca* *caca*, sinon je vous enlève de mes amis."

Catégories
Divers

Social Media & participants de Télé-Réalité

Tout est parti d'un tweet sur lequel je suis tombé lors de ma veille Twitter habituelle sur l'émission La Belle Et Ses Princes.

Je résume un peu : un participant à une télé-réalité, Bastien, pas encore diffusée au moment du Tweet donc pas encore connu du public si ce n'est par quelques maigres sites peoples, invite les gens à le suivre. Enfin les gens... au moment où il tweete ça il comptabilise... oh pas loin de 20 followers !

Je gage que ce chiffre va monter très rapidement pendant la diffusion mais en attendant il on ne peut pas dire qu'il soit beaucoup suivi. Qui va donc entendre sa supplique hormis les paumés qui font des recherches sur ce thème comme votre serviteur ? Bin personne...

Suite de l'aventure, je tombe sur ce Tweet toujours autour de LBESP.

Et là c'est la totale, je ne sais même pas par quoi commencer : le pseudo choisi, les fautes ou les oublis qui rendent la phrase presque inintelligible, les "twitters" - qui sonnent un peu comme critters non ? :) - mais surtout, surtout... au moment où Gaël envoie ce message il parle à... 2 followers ! (qui suivent respectivement 750 et 140 personnes, autant dire que ce tweet est une goutte d'eau dans la mer.)

En discutant avec Stéphanie, elle m'a dit s'étonner que les prods des émissions n'aient pas eu de démarches pour les candidats justement, sur la création de compte, sur des guidelines pour communiquer. À ma connaissance ça n'existe pas encore dans le monde de la télé-réalité et c'est bien dommage car après tout si la télé mise tant sur le 2e écran, ils ont ici des acteurs tout trouvés et un public qui utilise déjà le médium.

Pourtant nous sommes nombreux sortis de télé-réalité à être présents sur un ou plusieurs réseaux sociaux et cetains s'en sortent mieux que d'autres (reste à voir comment mesurer ça :)).

Alors voilà, ce que j'ai envie de faire c'est ça : d'écrire quelques articles pour expliquer un peu les spécificités des réseaux sociaux, et plus particulièrement Twitter, quand on sort de télé-réalité.

Je commence par deux concepts simples :

Catégories
Javascript/jQuery

Plugin jQuery : ImgAnimation

Bon, ça faisait longtemps que je n'avais pas écrit ici mais j'arrive avec un truc intéressant - enfin j'espère : un nouveau plugin jQuery. (youhou, wahou, sons de cris et de foule en liesse, et non pas en laisse, même si au fond ça pourrait être bien marrant.)

En résumé

ImgAnimation est un plugin qui va permettre de mettre en place facilement une animation basée sur une suite de fichier images qui forment une animation, façon dessin animé.