blog.notmyidea.org/les-problemes-de-pgp.html
2019-07-02 22:54:50 +00:00

206 lines
No EOL
8.8 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.

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<title>Les problèmes de PGP - Carnets Web</title>
<meta charset="utf-8" />
<link href="https://blog.notmyidea.org/feeds/all.atom.xml" type="application/atom+xml" rel="alternate" title="Carnets Web Full Atom Feed" />
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/poole.css"/>
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/syntax.css"/>
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/lanyon.css"/>
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=PT+Serif:400,400italic,700%7CPT+Sans:400">
<link rel="stylesheet" href="https://blog.notmyidea.org/theme/css/styles.css"/>
<style>
h1 {
font-family: "Avant Garde", Avantgarde, "Century Gothic", CenturyGothic, "AppleGothic", sans-serif;
padding: 80px 50px;
text-align: center;
text-transform: uppercase;
text-rendering: optimizeLegibility;
color: #202020;
letter-spacing: .1em;
text-shadow:
-1px -1px 1px #111,
2px 2px 1px #eaeaea;
}
#main {
text-align: justify;
text-justify: inter-word;
}
#main h1 {
padding: 10px;
}
.post-headline {
padding: 15px;
}
</style>
</head>
<body>
<!-- Target for toggling the sidebar `.sidebar-checkbox` is for regular
styles, `#sidebar-checkbox` for behavior. -->
<input type="checkbox" class="sidebar-checkbox" id="sidebar-checkbox">
<!-- Toggleable sidebar -->
<div class="sidebar" id="sidebar">
<div class="sidebar-item">
<div class="profile">
<img src="https://blog.notmyidea.org/theme/img/profile.png"/>
</div>
</div>
<nav class="sidebar-nav">
<a class="sidebar-nav-item" href="/">Articles</a>
<a class="sidebar-nav-item" href="https://www.vieuxsinge.com">Brasserie du Vieux Singe</a>
<a class="sidebar-nav-item" href="http://blog.notmyidea.org/pages/about.html">A propos</a>
<a class="sidebar-nav-item" href="https://twitter.com/ametaireau">Messages courts</a>
<a class="sidebar-nav-item" href="https://github.com/almet">Code</a>
</nav>
</div> <div class="wrap">
<div class="masthead">
<div class="container">
<h3 class="masthead-title">
<a href="https://blog.notmyidea.org/" title="Home">Carnets Web</a>
</h3>
</div>
</div>
<div class="container content">
<div id="main" class="posts">
<h1 class="post-title">Les problèmes de PGP</h1>
<span class="post-date">25 mai 2015</span>
<img id="illustration" src="" />
<div class="post article">
<h2 class="post-headline">Quels sont les soucis liés à PGP, que faire ?</h2>
<h1>🌟</h1>
<blockquote class="epigraph">
<p>Flip a bit in the communication between sender and recipient and they will
experience decryption or verification errors. How high are the chances they
will start to exchange the data in the clear rather than trying to hunt down
the man in the middle?</p>
<p class="attribution">&mdash;<a class="reference external" href="http://secushare.org/PGP">http://secushare.org/PGP</a></p>
</blockquote>
<p>Une fois passé l'euphorie du &quot;il faut utiliser PGP pour l'ensemble de nos
communications&quot;, j'ai réalisé lors de discussions que PGP avait plusieurs
problèmes, parmi ceux-ci:</p>
<ul class="simple">
<li>Les <em>meta données</em> (y compris le champ &quot;sujet&quot; de la conversation) sont quand
même échangées en clair (il est possible de savoir qu'un message à été échangé
entre telle et telle personne, a telle date);</li>
<li>PGP se base sur un protocole de communication qui est lui non chiffré, et il
est donc facile de soit se tromper, soit dégrader le mode de conversation vers
une méthode non chiffrée;</li>
<li>Il est facile de connaître votre réseau social avec PGP, puisque tout le
principe est de signer les clés des personnes dont vous validez l'identité;</li>
<li>En cas de fuite de votre clé privée, tous les messages que vous avez chiffrés
avec elle sont compromis. On dit que PGP ne fournit pas de <em>forward secrecy</em>;</li>
<li>La découverte de la clé de pairs se passe souvent <em>en clair</em>, sans utiliser une
connexion &quot;sécurisée&quot; (HTTPS). Tout le monde peut donc voir ces échanges et
savoir de qui vous cherchez la clé;</li>
<li>Les discussions de groupes sont très difficiles: il faut chiffrer pour chacun
des destinataires (ou que ceux-ci partagent une paire de clés).</li>
</ul>
<p>Je suis en train de creuser à propos les alternatives à PGP, par exemple <a class="reference external" href="https://pond.imperialviolet.org/">Pond</a>, qui lui ne construit pas par dessus un
standard déjà établi, et donc n'hérite pas de ses défauts (mais pas non plus de
son réseau déjà établi).</p>
<p>En attendant, quelques bonnes pratiques sur PGP ;)</p>
<div class="section" id="bonnes-pratiques">
<h2>Bonnes pratiques</h2>
<p>Il est en fait assez facile d'utiliser PGP de travers. Riseup à fait <a class="reference external" href="https://help.riseup.net/en/security/message-security/openpgp/best-practices">un
excellent guide</a>
qui explique comment configurer son installation correctement.</p>
<ul class="simple">
<li>J'en ai déjà parlé, mais il faut absolument choisir des phrases de passes
suffisamment longues. Pas facile de les retenir, mais indispensable. Vous
pouvez aussi avoir un document chiffré avec une clé que vous ne mettez jamais
en ligne, qui contiens ces phrases de passe, au cas ou vous les oubliez.</li>
<li>Générez des clés RSA de 4096 bits, en utilisant sha512;</li>
<li>Il faut utiliser une date d'expiration de nos clés suffisamment proche (2
ans). Il est possible de repousser cette date si nécessaire, par la suite.</li>
</ul>
<p>Parmi les choses les plus frappantes que j'ai rencontrées:</p>
<ul class="simple">
<li>Utiliser le <em>flag</em> <cite>hidden-recipient</cite> avec PGP pour ne pas dévoiler qui est
le destinataire du message;</li>
<li>Ne pas envoyer les messages de brouillons sur votre serveur, ils le seraient
en clair !;</li>
<li>Utilisez HPKS pour communiquer avec les serveurs de clés, sinon tout le
trafic est en clair.</li>
</ul>
<p>Le <a class="reference external" href="https://bitmask.net/">projet Bitmask</a> vise lui à rendre les outils de
chiffrement d'échanges de messages et de VPN simples à utiliser, encore quelque
chose à regarder.</p>
<p>Enfin bref, y'a du taf.</p>
</div>
Vous pouvez également <a onclick="(function(){
let here = document.location;
document.location = `http://pdf.fivefilters.org/simple-print/url.php?size=A4#${here}`;
return false;
})();return false;">télécharger cet article en pdf</a>.
</div>
</div>
</div>
<label for="sidebar-checkbox" class="sidebar-toggle"></label>
<script>
(function(document) {
var i = 0;
// snip empty header rows since markdown can't
var rows = document.querySelectorAll('tr');
for(i=0; i<rows.length; i++) {
var ths = rows[i].querySelectorAll('th');
var rowlen = rows[i].children.length;
if (ths.length > 0 && ths.length === rowlen) {
rows[i].remove();
}
}
})(document);
</script>
<script>
/* Lanyon & Poole are Copyright (c) 2014 Mark Otto. Adapted to Pelican 20141223 and extended a bit by @thomaswilley */
(function(document) {
var toggle = document.querySelector('.sidebar-toggle');
var sidebar = document.querySelector('#sidebar');
var checkbox = document.querySelector('#sidebar-checkbox');
document.addEventListener('click', function(e) {
var target = e.target;
if(!checkbox.checked ||
sidebar.contains(target) ||
(target === checkbox || target === toggle)) return;
checkbox.checked = false;
}, false);
})(document);
</script>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//tracker.notmyidea.org/";
_paq.push(['setTrackerUrl', u+'piwik.php']);
_paq.push(['setSiteId', 3]);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<noscript><p><img src="//tracker.notmyidea.org/piwik.php?idsite=3" style="border:0;" alt="" /></p></noscript>
<!-- End Piwik Code -->
</div>
</body>
</html>