<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Christophe Nowicki &#187; phidgets</title>
	<atom:link href="http://www.csquad.org/tag/phidgets/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.csquad.org</link>
	<description>Just for fun</description>
	<lastBuildDate>Fri, 14 Jan 2011 08:32:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Authentification à l&#8217;aide d&#8217;un lecteur RFID Phidgets</title>
		<link>http://www.csquad.org/2009/10/06/authentification-a-laide-dun-lecteur-rfid-phidgets/</link>
		<comments>http://www.csquad.org/2009/10/06/authentification-a-laide-dun-lecteur-rfid-phidgets/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 09:28:15 +0000</pubDate>
		<dc:creator>cscm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Do it yourself]]></category>
		<category><![CDATA[pam]]></category>
		<category><![CDATA[phidgets]]></category>
		<category><![CDATA[rfid]]></category>

		<guid isPermaLink="false">http://www.csquad.org/?p=599</guid>
		<description><![CDATA[






J&#8217;ai découvert les modules Phidgets dans botmag. Il s&#8217;agit d&#8217;un ensemble de modules électroniques (capteurs, relais, servomoteurs) qui fonctionnent sur la plupart des systèmes d&#8217;exploitation et sont programmable à l&#8217;aide de nombreux langages. 

Je vais décrire dans cet article l&#8217;utilisation du Kit RFID pour l&#8217;authentification PAM sur une machine Debian GNU/Linux.



Présentation du PhidgetRFID Kit
Spécifications

L&#8217;interface lit [...]]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td valign='top'>
<a href="http://www.csquad.org/wp-content/uploads/2009/10/1023.jpg"><img src="http://www.csquad.org/wp-content/uploads/2009/10/1023-300x233.jpg" alt="PhidgetRFID 1023" title="PhidgetRFID 1023" width="300" height="233" class="alignleft size-medium wp-image-601" /></a>
</td>
<td valign='top'>
<p>
J&#8217;ai découvert les modules <a href="http://www.phidgets.com/">Phidgets</a> dans <a href="http://www.botmag.com/">botmag</a>. Il s&#8217;agit d&#8217;un ensemble de modules électroniques (capteurs, relais, servomoteurs) qui fonctionnent sur la plupart des systèmes d&#8217;exploitation et sont programmable à l&#8217;aide de nombreux langages. </p>
<p>
Je vais décrire dans cet article l&#8217;utilisation du <a href="http://www.phidgets.com/products.php?category=14&#038;product_id=2002">Kit RFID</a> pour l&#8217;authentification <a href="http://en.wikipedia.org/wiki/Pluggable_Authentication_Modules">PAM</a> sur une machine <a href="http://www.debian.org/">Debian GNU/Linux</a>.</p>
</td>
</tr>
</table>
<h3>Présentation du PhidgetRFID Kit</h3>
<h4>Spécifications</h4>
<p>
L&#8217;interface lit les badges qui se trouvent à proximité et est équipée de 2 sorties (une commande de Led et une commande de relais). . Elle se raccorde sur un port USB et renvoie le numéro d&#8217;identification de badge.<br />
Voici les spécifications du lecteur :</p>
<ul>
<li>Consommation maxi: 100 mA ;</li>
<li>Portée (5 à 11 cm) ;</li>
<li>Sortie commande TTL ou CMOS (relais) ;</li>
<li>Sortie 5 Vcc/250 ohms (pour led) ;</li>
<li>Protocole de communication: EM4102 ;</li>
<li>Fréquence: 125KHz </li>
<li>Échantillonnage: 30 lectures/sec ;</li>
<li>Dimensions: 81 x 68 x 16 mm.</li>
</ul>
<h4>Où trouver le kit?</h4>
<p>Le Kit est disponible chez :</p>
<ul>
<li><a href="http://www.phidgets.com/products.php?category=14&#038;product_id=2002">Phidgets</a> au Canada pour $90.00 ;</li>
<li><a href="http://www.gotronic.fr/catalog/micro/phidgets_rfid.htm">GoTronic</a> en France pour 83.50 €.</li>
</ul>
<h3>Installation</h3>
<h4>Matériel</h4>
<p>Rien de spécial, il suffit de brancher le module, et vérifier la détection à l&#8217;aide de <em>lsusb</em> :<br />
<code># lsusb<br />
Bus 002 Device 005: ID 06c2:0031 Phidgets Inc. (formerly GLAB)</code></p>
<h4>Logiciel</h4>
<p>L&#8217;ensemble des composants Phidgets utilisent un SDK unique, qui fourni une bibliothèque d&#8217;accès; dont voici la procédure d&#8217;installation :<br />
<code># cd /usr/src<br />
# wget http://www.phidgets.com/downloads/libraries/Phidgetlinux_2.1.6.20090928.tar.gz<br />
# tar xzvf Phidgetlinux_2.1.6.20090928.tar.gz<br />
# cd Phidgetlinux/phidget21<br />
# make<br />
# make install</code></p>
<h4>Test de fonctionnement du lecteur</h4>
<p>La 1ère étape consiste à tester le fonctionnement du lecteur à l&#8217;aide du programme <a href="http://www.cmatthew.net/wiki/index.php?title=Mhc_rfid">mhc_rfid</a> :<br />
<code># cd /usr/src<br />
# wget http://www.cmatthew.net/mhc_rfid/mhc_rfid.c<br />
# gcc -o mhc_rfid mhc_rfid.c -g -O0 -Wall  -lphidget21 -lm<br />
# ./mhc_rfid<br />
Waiting for RFID to be attached....Phidget RFID 2-output      78185 attached!<br />
Output: 0 > State: 0<br />
Output: 1 > State: 0<br />
PhidgetRFID<br />
Serial Number:      78185<br />
Version:      206<br />
# Outputs: 2<br />
Antenna Status: 1<br />
Onboard LED Status: 0<br />
Press any key to start.....<br />
Antenna ON Reading.....<br />
Press any key to end.....<br />
Got: 0107759322<br />
Output: 1 > State: 1<br />
Lost: 0107759322<br />
Output: 1 > State: 0<br />
Closing...</code><br />
L&#8217;identifiant de la carte est <em>0107759322</em>.</p>
<h4>Gestion des droits</h4>
<p>Par défaut l&#8217;accès aux périphériques USB est limité à l&#8217;utilisateur <em>root</em>.  Pour donner l&#8217;accès à un utilisateur simple. Il faut configurer <em>udev</em> à l&#8217;aide du fichier fourni dans le kit de développement :<br />
<code># cd /usr/src/Phidgetlinux/phidget21/udev<br />
# cp 99-phidgets.rules /etc/udev/rules.d/</code><br />
Débrancher et rebrancher le lecteur. Vous pourrez ensuite l&#8217;utiliser en tant que simple utilisateur.</p>
<h3>Configuration de PAM</h3>
<p>Pour utiliser ce lecteur comme système d&#8217;authentification, il faut installer et configurer un module PAM spécifique : <a href="http://www.cmatthew.net/wiki/index.php?title=Pam_mhcrfid">PAM mhcrfid</a></p>
<h4>Installation du module</h4>
<p><code><br />
# apt-get install libpam-dev<br />
# cd /usr/src<br />
# wget http://www.cmatthew.net/pam_mhcrfid/0.1.4/pam_mhcrfid.c<br />
# gcc -Wall -fPIC -c pam_mhcrfid.c<br />
# gcc -shared -o pam_mhcrfid.so pam_mhcrfid.o -lpam -lm -lphidget21<br />
# mv pam_mhcrfid.so /lib/security<br />
</code></p>
<h4>Configuration d&#8217;un service</h4>
<p>Voici un exemple de configuration pour <em>xscreensaver</em> :<br />
<code>$ cat  /etc/pam.d/xscreensaver<br />
#<br />
# /etc/pam.d/xscreensaver - PAM behavior for xscreensaver<br />
#<br />
auth     sufficient    pam_mhcrfid.so<br />
</code><br />
L&#8217;utilisateur qui lance le service doit avoir un fichier <em>.authtag</em> contenant l&#8217;identifiant du tag :<br />
<code>$ cat -e ~/.authtag<br />
0107759322$</code></p>
<p>Et voilà <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<h3>Conclusion</h3>
<p>Le système d&#8217;authentification n&#8217;est pas très solide, il n&#8217;y a aucune protection contre le rejeux et il est possible de sniffer l&#8217;identifiant du tag, etc&#8230;<br />
Si vous cherchez une solution d&#8217;authentification plus forte, il faut regarder du côté du projet <a href="http://www.openpcd.org/">OpenPCD</a>.<br />
Mais cela peut être utile et très pratique dans certaines configurations, comme l&#8217;accès à certaines ressources de mon réseau domotique <img src='http://www.csquad.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.csquad.org/2009/10/06/authentification-a-laide-dun-lecteur-rfid-phidgets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

