scratch/output/Scratch/fr/blog/Password-Management/index.html
Yann Esposito 70314df976 Recompiled
2012-05-02 17:43:56 +02:00

312 lines
No EOL
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="keywords" content="password, security">
<link rel="shortcut icon" type="image/x-icon" href="/Scratch/img/favicon.ico" />
<link rel="stylesheet" type="text/css" href="/Scratch/assets/css/main.css" />
<link rel="stylesheet" type="text/css" href="/Scratch/css/solarized.css" />
<link rel="stylesheet" type="text/css" href="/Scratch/css/idc.css" />
<link href='http://fonts.googleapis.com/css?family=Inconsolata' rel='stylesheet' type='text/css'>
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://feeds.feedburner.com/yannespositocomfr"/>
<link rel="alternate" lang="fr" xml:lang="fr" title="Password Management" type="text/html" hreflang="fr" href="/Scratch/fr/blog/Password-Management/" />
<link rel="alternate" lang="en" xml:lang="en" title="40 character's passwords" type="text/html" hreflang="en" href="/Scratch/en/blog/Password-Management/" />
<script type="text/javascript" src="/Scratch/js/jquery-1.3.1.min.js"></script>
<script type="text/javascript" src="/Scratch/js/jquery.cookie.js"></script>
<script type="text/javascript" src="/Scratch/js/index.js"></script>
<script type="text/javascript" src="/Scratch/js/highlight/highlight.pack.js"></script>
<script type="text/javascript" src="/Scratch/js/article.js"></script>
<!--[if lt IE 9]>
<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script>
<![endif]-->
<title>Password Management</title>
</head>
<body lang="fr" class="article">
<script type="text/javascript">// <![CDATA[
document.write('<div id="blackpage"><img src="/Scratch/img/loading.gif" alt="Chargement en cours..."/></div>');
// ]]>
</script>
<div id="content">
<div id="choix">
<div class="return"><a href="#entete">&darr; Menu &darr;</a></div>
<div id="choixlang">
<a href="/Scratch/en/blog/Password-Management/" onclick="setLanguage('en')">in English</a>
</div>
<div class="flush"></div>
</div>
<div id="titre">
<h1>
Password Management
</h1>
</div>
<div class="flush"></div>
<div class="flush"></div>
<div id="afterheader">
<div class="corps">
<p><img alt="Title image" src="/Scratch/img/blog/Password-Management/main.png" /></p>
<div class="intro">
<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Une méthode de gestion des mots de passes que jutilise avec succès depuis quelques années.<br />
<strong><code>sha1( mot_de_passe + nom_de_domaine )</code></strong><br />
Je ne mémorise quun seul mot de passe de très bonne qualité.
Jutilise des mots de passe différents sur tous les sites.</p>
</div>
<p>Avant de commencer, je tiens à préciser quil sagit dune tentative de vous vendre mon appli iPhone&nbsp;;-).</p>
<p>Vous êtes toujours là&nbsp;?
Bon, daccord, même si vous ne téléchargez pas mon application vous pouvez quand même utiliser ma méthode.
Elle est à la fois très sûre et simple à utiliser.</p>
<p>Si vous souhaitez simplement <em>utiliser</em> le système sans essayer de comprendre comment ça marche derrière vous pouvez <a href="#en-pratique-">aller à la fin de cet article en cliquant ici</a>.</p>
<h2 id="pourquoi-devriez-vous-utiliser-un-gestionnaire-de-mot-de-passe-">Pourquoi devriez-vous utiliser un gestionnaire de mot de passe&nbsp;?</h2>
<blockquote>
<p>Même les paranoïaques peuvent avoir des ennemis.</p>
</blockquote>
<p>Imaginez que vous trouviez un très bon mot de passe. Vous lutilisez sur gmail, amazon, PayPal, twitter, facebook…
Plus tard, vous découvrez un super petit jeu en ligne très sympa.
Vous devez vous enregistrer pour y jouer.
Le site vous demande votre email et un mot de passe.
Quelques semaines/mois se passent.
La machine qui héberge le jeu en ligne se fait attaquer.
Maintenant, lattaquant du site web possède votre email avec ce mot de passe.
Il peut donc essayer votre mot de passe un peu partout.
Sur PayPal par exemple.</p>
<p>Bien, maintenant comment pouvons nous régler ce problèmes&nbsp;?</p>
<h2 id="quelle-mthodologie-">Quelle méthodologie&nbsp;?</h2>
<blockquote>
<p>Le bon, la brute et le truand</p>
</blockquote>
<p>La méthode la plus courante est de se souvenir de plusieurs mot de passes différents.
En général, si vous avez bonne mémoire vous pouvez mémoriser jusquà 13 mots de passes. Certain de bonne qualité, dautre moins.</p>
<p>Que faire si vous utilisez plus de services que vous pouvez mémoriser de mots de passe&nbsp;?</p>
<p>Un <em>mauvaise</em> solution peut être de choisir ses
mots de passes de la façon suivante&nbsp;:</p>
<ul>
<li>twitter: <code>P45sW0r|)Twitter</code></li>
<li>gmail: <code>P45sW0r|)gmail</code></li>
<li>badonlinegame: <code>P45sW0r|)badonlinegame</code></li>
</ul>
<p>Malheureusement, si quelquun récupère votre mot de passe sur
<code>badonlinegame</code>, il peut facilement retrouvez vos autres mots de passe.
Bien sûr, on peut imaginer des transformation de mots de passe de meilleure qualité.
Mais il est très difficile den trouver une suffisamment bonne.</p>
<p>Fort heureusement, il existe une des fonctions bien connues dans le milieu de la sécurité informatique et qui résolvent précisément ce problème.
Il sagit des <em>fontions de hachages</em>.
Il est difficile de retrouver le paramètre dentrée dune fonction de hachage à partir de son résultat.
Prenons un exemple&nbsp;: </p>
<p>Si quelquun possède <code>9f00fd5dbba232b7c03afd2b62b5fce5cdc7df63</code>,
il va avoir de grande difficulté pour retrouver <code>P45sW0r|)</code>.</p>
<p>Choisisson la fonction de hashage <code>sha1</code>.
Connaissant celà, le mot de passe dun site donné doit avoir la forme&nbsp;:</p>
<p>&nbsp;:</p>
<ul>
<li><code>master_password</code> est votre unique mot de passe <em>maître</em>&nbsp;;</li>
<li><code>domain_name</code> est le nom de domaine du site pour lequel vous voulez le mot de passe.</li>
</ul>
<hr />
<p>Il faut aussi penser à certaines contraintes.
Certains site web veulent des mots de passe dune certaine longueur, ni trop longs ni trop courts.
Que faire si vous voulez changez votre mot de passe&nbsp;? Soit parce quil est compromis ou simplement parce quon vous impose de le changer.
Cest pouquoi pour chaque site on a besoin de quelques paramètres supplémentaires.</p>
<ul>
<li>le nom de login&nbsp;;</li>
<li>la longueur du mot de passe&nbsp;;</li>
<li>le numéro du mot de passe (pour le changer au cas où)&nbsp;;</li>
<li>le format du mot de passe&nbsp;: hexadécimal ou base64.</li>
</ul>
<h2 id="en-pratique-">En pratique&nbsp;?</h2>
<p>Selon ma situation, voici les outils que jai fait et que jutilise&nbsp;:</p>
<ul>
<li>Sur mon Mac&nbsp;:
<ul>
<li>Jutilise le widget <a href="http://yannesposito.com/Scratch/files/YPassword-1.6.zip">YPassword</a></li>
<li>Parfois, certains champs de mots passe interdisent la copie. Dans ce cas, jutilise un petit utilitaire en AppleScript&nbsp;: <a href="http://yannesposito.com/Scratch/files/forcePaste.app.zip">ForcePaste</a>. </li>
</ul>
</li>
<li>Sous mon Linux&nbsp;: Jutilise le script <a href="http://github.com/yogsototh/getpass">ypassword</a></li>
<li>Sur mon iPhone&nbsp;: Jutilise lapplication <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=436268354&amp;mt=8">YPassword</a></li>
<li>Sur tous les autres ordinateurs&nbsp;:
<ul>
<li>Lapplication Web Cappuccino <a href="http://yannesposito.com/Scratch/en/softwares/ypassword/web/">YPassword</a></li>
<li>Lapplication Web jQuery <a href="http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/">YPassword</a></li>
</ul>
</li>
</ul>
<p>Quelquesoit mon environnement de travail, tous mes mots de passes sont à un copier/coller.
Pour certain services, jutilise des mots de passe de 40 caractères.
Actuellement jutilise plutôt des mots de passes de 10 caractères.
Avec des mots de passes plus petit, il est encore plus difficile pour un attaquant de retrouver mon mot de passe principal.</p>
<p>Je serai heureux de savoir ce que vous pensez de cette méthode. Alors nhésitez pas à laisser un commentaire ou à menvoyer un mail.</p>
</div>
<div id="social">
<div class="left"> <a href="https://twitter.com/share" class="twitter-share-button" data-via="yogsototh">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
<div class="left"> <div class="g-plusone" data-size="medium" data-annotation="inline" data-width="106"></div>
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
</div>
<div class="flush"></div>
</div>
<div id="choixrss">
<a id="rss" href="http://feeds.feedburner.com/yannespositocomfr">
s'abonner
</a>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#comment').hide();
$('#clickcomment').click(showComments);
});
function showComments() {
$('#comment').show();
$('#clickcomment').fadeOut();
}
document.write('<div id="clickcomment">Commentaires &amp; Partage</div>');
</script>
<div class="flush"></div>
<div class="corps" id="comment">
<h2 class="first">commentaires</h2>
<noscript>
Vous devez activer javascript pour commenter.
</noscript>
<script type="text/javascript">
var idcomments_acct = 'a307f0044511ff1b5cfca573fc0a52e7';
var idcomments_post_id = '/Scratch/fr/blog/Password-Management/';
var idcomments_post_url = 'http://yannesposito.com/Scratch/fr/blog/Password-Management/';
</script>
<span id="IDCommentsPostTitle" style="display:none"></span>
<script type='text/javascript' src='/Scratch/js/genericCommentWrapperV2.js'></script>
</div>
<div id="entete" class="corps_spaced">
<div id="liens">
<ul><li><a href="/Scratch/fr/">Bienvenue</a></li>
<li><a href="/Scratch/fr/blog/">Blog</a></li>
<li><a href="/Scratch/fr/softwares/">Softwares</a></li>
<li><a href="/Scratch/fr/about/">À propos</a></li></ul>
</div>
<div class="flush"></div>
<hr/>
<div id="next_before_articles">
<div id="previous_articles">
articles précédents
<div class="previous_article">
<a href="/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/"><span class="nicer">«</span>&nbsp;Hébergement github</a>
</div>
<div class="previous_article">
<a href="/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/"><span class="nicer">«</span>&nbsp;Pourquoi je n'utiliserai pas CoffeeScript (malheureusement)</a>
</div>
<div class="previous_article">
<a href="/Scratch/fr/blog/2011-01-03-Happy-New-Year/"><span class="nicer">«</span>&nbsp;Bonne et heureuse année</a>
</div>
</div>
<div id="next_articles">
articles suivants
<div class="next_article">
<a href="/Scratch/fr/blog/Haskell-Mandelbrot/">Mandelbrot avec haskell&nbsp;<span class="nicer">»</span></a>
</div>
<div class="next_article">
<a href="/Scratch/fr/blog/A-more-convenient-diff/">Un diff plus pratique&nbsp;<span class="nicer">»</span></a>
</div>
<div class="next_article">
<a href="/Scratch/fr/blog/Learn-Vim-Progressively/">Apprenez Vim Progressivement&nbsp;<span class="nicer">»</span></a>
</div>
</div>
<div class="flush"></div>
</div>
</div>
<div id="bottom">
<div>
<a href="https://twitter.com/yogsototh">Follow @yogsototh</a>
</div>
<div>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.fr">Droits de reproduction ©, Yann Esposito</a>
</div>
<div id="lastmod">
Écrit le : 18/05/2011
modifié le : 26/04/2012
</div>
<div>
Site entièrement réalisé avec
<a href="http://www.vim.org">Vim</a>
et
<a href="http://nanoc.stoneship.org">nanoc</a>
</div>
</div>
<div class="clear"></div>
</div>
</body>
</html>