<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Attaque mathématique des codes Bixi (vélo libre-service)</title>
	<atom:link href="http://www.paralint.com/blog/2009/06/17/attaque-mathematique-des-codes-bixi-velo-libre-service/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paralint.com/blog/2009/06/17/attaque-mathematique-des-codes-bixi-velo-libre-service/</link>
	<description>Programming security in C++, Java and Python, one line at a time</description>
	<lastBuildDate>Thu, 27 Oct 2011 12:13:37 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Guillaume</title>
		<link>http://www.paralint.com/blog/2009/06/17/attaque-mathematique-des-codes-bixi-velo-libre-service/comment-page-1/#comment-351</link>
		<dc:creator>Guillaume</dc:creator>
		<pubDate>Thu, 09 Jul 2009 15:15:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.paralint.com/blog/?p=119#comment-351</guid>
		<description>Merci, ne t&#039;en fais pas pour l&#039;anglais, I usually posts in english anyway...

You are right, brute force protection is pretty much built-in. I hear they have some physical security problems, with damaged bike racks. But the good news is that rollout of new bikes is still going strong !</description>
		<content:encoded><![CDATA[<p>Merci, ne t&#8217;en fais pas pour l&#8217;anglais, I usually posts in english anyway&#8230;</p>
<p>You are right, brute force protection is pretty much built-in. I hear they have some physical security problems, with damaged bike racks. But the good news is that rollout of new bikes is still going strong !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: iWoo</title>
		<link>http://www.paralint.com/blog/2009/06/17/attaque-mathematique-des-codes-bixi-velo-libre-service/comment-page-1/#comment-350</link>
		<dc:creator>iWoo</dc:creator>
		<pubDate>Thu, 09 Jul 2009 14:54:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.paralint.com/blog/?p=119#comment-350</guid>
		<description>Je suis pas doué pour les mathématiques, mais votre analyse et la séquence de Bruijn sont très intéressant! I believe the codes are indeed only usable for 3 or 5 minutes after it is given. However, the main reason that makes brute force attack impractical is that ten minutes is still too long. They may not need to program brute force detection, because they can just refuse all code entry until the station gives a code to someone renting.

I believe each code is only valid for 3 minutes at the same station it is given at; and only when someone rents a BIXI by credit card. You would have to enter the correct code and take a bike in the 30 seconds before they are able to. Bonne chance! 

Someone also brought up the worry that BIXI member codes are easily guessed; they are 7 digits, allowing 0-9. They are not random at all. It seems they are just 1000000 + the number of subscribers + 1 (you).

However, as far as I can tell, the only time this number is currently used is in gaining an extra 15 minutes free at a station with no available docks. You would identify yourself with your member number or credit card, depending on if you are subscriber or not. In this case, nothing is gained if you use someone else&#039;s number; if they happen to be on a BIXI, they may gain 15 minutes before they get charged. You, however, still have the same 30-minute free period!

Je suis désolé pour ecrire en anglais sur un blog français. J&#039;ai étudié français un peu, mais pas encore assez pour m&#039;expliquer bien...et surtout, assez rapidement!</description>
		<content:encoded><![CDATA[<p>Je suis pas doué pour les mathématiques, mais votre analyse et la séquence de Bruijn sont très intéressant! I believe the codes are indeed only usable for 3 or 5 minutes after it is given. However, the main reason that makes brute force attack impractical is that ten minutes is still too long. They may not need to program brute force detection, because they can just refuse all code entry until the station gives a code to someone renting.</p>
<p>I believe each code is only valid for 3 minutes at the same station it is given at; and only when someone rents a BIXI by credit card. You would have to enter the correct code and take a bike in the 30 seconds before they are able to. Bonne chance! </p>
<p>Someone also brought up the worry that BIXI member codes are easily guessed; they are 7 digits, allowing 0-9. They are not random at all. It seems they are just 1000000 + the number of subscribers + 1 (you).</p>
<p>However, as far as I can tell, the only time this number is currently used is in gaining an extra 15 minutes free at a station with no available docks. You would identify yourself with your member number or credit card, depending on if you are subscriber or not. In this case, nothing is gained if you use someone else&#8217;s number; if they happen to be on a BIXI, they may gain 15 minutes before they get charged. You, however, still have the same 30-minute free period!</p>
<p>Je suis désolé pour ecrire en anglais sur un blog français. J&#8217;ai étudié français un peu, mais pas encore assez pour m&#8217;expliquer bien&#8230;et surtout, assez rapidement!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Guillaume</title>
		<link>http://www.paralint.com/blog/2009/06/17/attaque-mathematique-des-codes-bixi-velo-libre-service/comment-page-1/#comment-349</link>
		<dc:creator>Guillaume</dc:creator>
		<pubDate>Wed, 08 Jul 2009 16:53:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.paralint.com/blog/?p=119#comment-349</guid>
		<description>Oui, assez niaiseux. Mais c&#039;est déjà arrivé pour des voitures (voir lien dans le texte).

En moyenne, il faudra entrer 122 codes (610 chiffres) pour trouver le bon. A 5 secondes chaque, c&#039;est 10 minutes, 20 minutes max.

Mais le pattern d&#039;attaque en force brute est si facile à détecter... Je me demande ce qui a été programmé dans le truc. J&#039;aurais fais ceci :
 * N&#039;accepter des codes que si on en a émis qui n&#039;ont pas été utilisés
 * Après un certain nombre d&#039;essais infructueux, ne plus accepter les codes de ce clavier pour x minutes
 * Ainsi de suite pour chaque clavier
 * Envoyer une alerte au centre opérationnel Bixi et journaliser l&#039;utilisateur présumé (en respectant la norme PCI, bien sur).

Ne pas accepter veut dire : laisser l&#039;utilisateur entrer des codes, mais toujours les refuser, même s&#039;il finit par tomber sur le bon code a force d&#039;essayer. 

Bon été à vélo !</description>
		<content:encoded><![CDATA[<p>Oui, assez niaiseux. Mais c&#8217;est déjà arrivé pour des voitures (voir lien dans le texte).</p>
<p>En moyenne, il faudra entrer 122 codes (610 chiffres) pour trouver le bon. A 5 secondes chaque, c&#8217;est 10 minutes, 20 minutes max.</p>
<p>Mais le pattern d&#8217;attaque en force brute est si facile à détecter&#8230; Je me demande ce qui a été programmé dans le truc. J&#8217;aurais fais ceci :<br />
 * N&#8217;accepter des codes que si on en a émis qui n&#8217;ont pas été utilisés<br />
 * Après un certain nombre d&#8217;essais infructueux, ne plus accepter les codes de ce clavier pour x minutes<br />
 * Ainsi de suite pour chaque clavier<br />
 * Envoyer une alerte au centre opérationnel Bixi et journaliser l&#8217;utilisateur présumé (en respectant la norme PCI, bien sur).</p>
<p>Ne pas accepter veut dire : laisser l&#8217;utilisateur entrer des codes, mais toujours les refuser, même s&#8217;il finit par tomber sur le bon code a force d&#8217;essayer. </p>
<p>Bon été à vélo !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pierre-Luc</title>
		<link>http://www.paralint.com/blog/2009/06/17/attaque-mathematique-des-codes-bixi-velo-libre-service/comment-page-1/#comment-348</link>
		<dc:creator>Pierre-Luc</dc:creator>
		<pubDate>Wed, 08 Jul 2009 15:14:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.paralint.com/blog/?p=119#comment-348</guid>
		<description>Ça aurait été niaiseux de ne pas prendre tous les 5 chiffres d&#039;un coup...

Déjà là, quelqu&#039;un avec TROP de patience peut entrer 245 combinaisons pour essayer d&#039;en débloquer là.

Mais sérieux, rendu là, il l&#039;aura presque mérité...!</description>
		<content:encoded><![CDATA[<p>Ça aurait été niaiseux de ne pas prendre tous les 5 chiffres d&#8217;un coup&#8230;</p>
<p>Déjà là, quelqu&#8217;un avec TROP de patience peut entrer 245 combinaisons pour essayer d&#8217;en débloquer là.</p>
<p>Mais sérieux, rendu là, il l&#8217;aura presque mérité&#8230;!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cyruscode</title>
		<link>http://www.paralint.com/blog/2009/06/17/attaque-mathematique-des-codes-bixi-velo-libre-service/comment-page-1/#comment-340</link>
		<dc:creator>cyruscode</dc:creator>
		<pubDate>Wed, 24 Jun 2009 20:49:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.paralint.com/blog/?p=119#comment-340</guid>
		<description>Très intéressant comme analyse de la sécurité du système!</description>
		<content:encoded><![CDATA[<p>Très intéressant comme analyse de la sécurité du système!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

