Configurer 2FA (authentification à 2 facteurs) pour PayPal, utiliser un client TOTP

Le protocole TOTP (Time-based One-Time Password) est un moyen d’authentification qui se présente sous la forme d’un mot de passe à usage unique (OTP). Il fait partie des standards développés par l’Initiative for Open Authentication (OATH), un groupe de collaboration international qui vise à promouvoir l’authentification forte en open-source.
TOTP est utilisable comme moyen d’authentification en complément d’une autre solution d’authentification, cela fait partie des solutions de multi-factor authentication, ou MFA (on parle parfois aussi de 2FA, ou authentification à 2 facteurs).
TOTP est un standard open-source.

PayPal authentification à 2 facteurs

PayPal supporte 2FA (authentification à 2 facteurs) avec TOTP et un système propriétaire de Symantec.
Il s’avère qu’il s’agit simplement de TOTP avec un algorithme personnalisé mis à disposition ce qui a permis de concevoir un outil open source que nous pouvons utiliser : python-vipaccess

python-vipaccess

Installez d’abord pip, un gestionnaire de paquets python, généralement disponible sous la forme python-pip dans votre gestionnaire de paquets système (note : sur les distributions utilisant toujours Python 2 par défaut (comme Ubuntu), vous voulez python3-pip et la commande pip3).
Sur archlinux

sudo pacman -S python-pip

Cloner le dépôt et installer :

git clone https://github.com/zecoj/python-vipaccess.git
cd python-vipaccess
sudo pip install .

Vous pouvez maintenant générer votre “clé de sécurité” en exécutant simplement:

vipaccess provision -p -t VSMT

Exemple de résultat

otpauth://totp/VIP%20Access:VSST34733225?secret=8J6LM6C5EMHKQMG56KW2DDSR8PG99PZC&issuer=Symantec

Ceci imprimera toutes les informations nécessaires, y compris l’otpauth://… URL et ID et un Qrcode.
L’ID ressemble à VSMT34733225 et c’est ce qui va dans le premier champ du formulaire PayPal.

Ensuite, il suffit de l’importer dans une application TOTP,andOTP ou autre. La façon la plus simple de le faire est bien sûr d’utiliser un code QR, donc nous devons tourner cet otpauth://… URL en une seule. Il y a probablement des sites web pour le faire mais j’ai utilisé qrencode qui est un outil en ligne de commande. Vous pouvez modifier les parties VIP%20Access:VSMT34733225 et issuer=Symantec de l’URL pour contrôler l’étiquette affichée dans l’application TOTP.

PayPal

Tout d’abord, connectez-vous à PayPal normalement.
Ouvrir ensuite une nouvelle page https://www.paypal.com/webscr?cmd=_setup-security-key pour configurer la “clé de sécurité” :

Sélectionnez la deuxième option (celle qui n'est pas SMS), et trois informations vous seront demandées :

  • Numéro de série : VSMT34733225 (en reprenant l’exemple du paragraphe précédent)
  • Il ne vous reste plus qu’à remettre deux codes consécutifs générés par votre application dans les deux autres champs du formulaire PayPal, cliquez sur “Activer”, et c’est terminé !

Vous pouvez désormais sélectionner cette nouvelle clé de sécurité lors de la connexion et utiliser le code généré par votre application.