ASFWS 2013 - Rump session - Un serveur d'authentification forte pour $35! par André Liechti
1. Un serveur d'authentification
forte pour $35!
Application Security Forum – Western Switzerland 2013
(16.10.2013)
André Liechti
Dernière mise à jour: 31.10.2013
Un serveur d'authentification forte pour $35!
ASFWS 2013
www.multiOTP.net
2. Un serveur d’authentification forte en 10 slides!
Naissance du projet
Conception de la librairie multiOTP
Tokens supportés
Déploiement des tokens à large échelle
Choix de la plateforme matérielle
Mise en place du serveur d’authentification
Vue d’ensemble d’une utilisation
Intégration dans d’autres produits
Roadmap pour les prochaines versions
Séance de questions / réponses
Un serveur d'authentification forte pour $35!
ASFWS 2013
2
3. Naissance du projet
2009 PoC en PHP pour le protocole Mobile-OTP
2010 Création d’une classe et support de TOTP/HOTP
2011 Atelier pratique lors de l’ASFWS 2011
2012 Déploiement plus large et retours des utilisateurs
2013 Ajout de nouvelles fonctionnalités
– Envoi de tokens par SMS
– Génération de listes à biffer
– Provisioning par Qrcode / URL
– Utilisation client/serveur avec cache local
– Possibilité de stockage dans une base de données (MySQL)
Un serveur d'authentification forte pour $35!
ASFWS 2013
3
4. Conception de la librairie multiOTP
Implémentation « légère »
sous la forme d’une classe en PHP
Au final, la librairie tient dans un seul fichier agrégé
(~ 10’000 lignes)
Outil en ligne de commande implémentant la librairie
Stockage dans des fichiers plats
Un serveur d'authentification forte pour $35!
ASFWS 2013
4
5. Tokens supportés
Mobile-OTP (motp.sourceforge.net)
– Time based, saisie du code PIN sur le device
– Android, iOS, Windows Mobile, Palm, Maemo, HTML5, Java, etc.
HOTP (HMAC-based One-time Password Algorithm)
TOTP (Time-based One-time Password Algorithm)
SMS, scratch passwords list
– RFC 4226
– RFC 6238
Un serveur d'authentification forte pour $35!
ASFWS 2013
5
6. Déploiement des tokens à large échelle
Provisioning par Qrcode
Un serveur d'authentification forte pour $35!
ASFWS 2013
6
7. Choix de la plateforme matérielle
Raspberry Pi
– Bon marché
– Pas de licence d’OS (Debian Linux)
– Facilement disponible
– Supporté par une large communauté
– Alimentation via microUSB
– CPU 700 MHz (ARM)
– RAM 512 MB
Un serveur d'authentification forte pour $35!
ASFWS 2013
7
8. Mise en place du serveur d’authentification
Installation de Debian Wheezy
– Image existante chez Raspberry Pi
Installation des packages minimaux
Installation de la librairie multiOTP
– FreeRADIUS
– Nginx (serveur web)
– PHP
– Suivre simplement les instructions du fichier readme ;-)
Un serveur d'authentification forte pour $35!
ASFWS 2013
8
9. Vue d’ensemble d’une utilisation
Un serveur d'authentification forte pour $35!
ASFWS 2013
9
10. Intégration dans d’autres produits
MultiOneTimePassword Credential Provider,
authentification forte pour Windows
One Time Password Backend pour ownCloud
PoC phpMyAdmin avec authentification forte
Authentification forte pour un Extranet
…
Un serveur d'authentification forte pour $35!
ASFWS 2013
10
11. Roadmap pour les prochaines versions
Décembre 2013
– Prêt pour la certification OATH (Initiative For Open Authentication)
– Lien avec un serveur centralisé LDAP / ActiveDirectory
– Support des fichiers de provisioning PSKC v12 (encryptés)
– Attribution automatique de tokens hardware
– Resynchronisation automatique des tokens
– Importation d’utilisateurs en fichiers CSV
– Interface web basique pour la gestion
Un serveur d'authentification forte pour $35!
ASFWS 2013
11
12. Des questions ?
Un serveur d'authentification forte pour $35!
ASFWS 2013
12