diff --git a/content/slides/index.html b/content/slides/index.html index 3853e7e3e99faa230756f549c2007b4507bfc561..a22c0fc5ed72628b331e8866f214889c29ee56cb 100644 --- a/content/slides/index.html +++ b/content/slides/index.html @@ -1,16 +1,10 @@ -<li><a href="privacy/jnarac.html">jnarac</a> ok</li> -<li><a href="privacy/passwords.html">passwords</a></li> +<li><a href="privacy/jnarac.html">je n'ai rien à cacher</a></li> +<li><a href="privacy/passwords.html">mots de passes</a></li> <li><a href="privacy/tracking.html">tracking</a></li> -<li><a href="privacy/sovereignty.html">sovereignty</a> ok</li> +<li><a href="privacy/sovereignty.html">souvenraineté</a></li> <li><a href="privacy/tails.html">tails</a></li> -<li><a href="privacy/tor.html">tor</a>ok</li> -<li><a href="privacy/crypto.html">crypto</a>ok</li> -<li><a href="privacy/ssl.html">ssl</a>ok</li> -<li><a href="privacy/pgp.html">pgp</a>ok</li> +<li><a href="privacy/crypto.html">crypto</a>k</li> +<li><a href="privacy/tls.html">tls</a></li> +<li><a href="privacy/pgp.html">pgp</a></li> +<li><a href="privacy/tor.html">tor</a></li> <li><a href="privacy/bitcoin.html">bitcoin</a></li> -<li>bonnes resolutions</li> -<li>sujet websec</li> -<li>3 moyens de dépenser BTC légalement</li> -<li>3 .onion français (screen shot)</li> -<li>chiffré PGP avec ma clé signé</li> -<li>sujet privacy</li> diff --git a/content/slides/privacy/images/tails/vm-tails.png b/content/slides/privacy/images/tails/vm-tails.png new file mode 100644 index 0000000000000000000000000000000000000000..089eaa5c7b3fdb6700ae0ea993fa9d7a498c9ad1 Binary files /dev/null and b/content/slides/privacy/images/tails/vm-tails.png differ diff --git a/content/slides/privacy/images/tracking/fingerprint.png b/content/slides/privacy/images/tracking/fingerprint.png new file mode 100644 index 0000000000000000000000000000000000000000..69e330d6dd4faccfda414f89f474f20e91e9204b Binary files /dev/null and b/content/slides/privacy/images/tracking/fingerprint.png differ diff --git a/content/slides/privacy/md/pgp.md b/content/slides/privacy/md/pgp.md index 371c3a8df2cc675b89058801ed92c05b6af029a5..e0ff836753d02f4236a8568d4979fd53d0f373b7 100644 --- a/content/slides/privacy/md/pgp.md +++ b/content/slides/privacy/md/pgp.md @@ -131,6 +131,17 @@ $ gpg --list-private-keys * dont on a le mot de passe +### Fonctions des clés + +| Constant | Character | +|-------------------|-----------| +| PUBKEY_USAGE_SIG | S | +| PUBKEY_USAGE_CERT | C | +| PUBKEY_USAGE_ENC | E | +| PUBKEY_USAGE_AUTH | A | + +Authentication + ### Exporter une clé GPG ```bash @@ -368,8 +379,8 @@ Hardocre mode \o/ ## Révocation -* secret ou clé perdus -* secret ou clé compromises +* secret ou clé perdu +* secret ou clé compromis * l'attaquant peut * écrire en se faisant passer pour le propriétaire des clés * signer en général @@ -435,8 +446,6 @@ $ gpg --encrypt --armor --output msg.gpg \ * importation au préalable * --recipient permet de spécifier la clé publique à utiliser -<br> - #### Déchiffrer ```bash @@ -521,7 +530,11 @@ Automatisable via cron ``` -### Importer un clé à partir d'un serveur de clé public (manuellement i.e. sans enigmail) +### Importer un clé à partir d'un serveur de clé public + +```bash +gpg --keyserver pgp.mit.edu --recv-key 0EBE8000 +``` ## Réseau de confiance @@ -694,19 +707,17 @@ gpg> trust ### [openKeyChain](https://www.openkeychain.org/) * Gestionnaire de clés PGP pour android -* Open source (F-Droid) +* Open source ([F-Droid](https://f-droid.org/)) ### [k9mail](https://k9mail.github.io/) * Client mail pour android -* Open source (F-Droid) -* bonne intégrationavec OpenKeyChain - -https://www.reddit.com/r/privacy/comments/6d3a33/best_android_rom_for_privacy/ +* Open source ([F-Droid](https://f-droid.org/)) +* bonne intégrationavec [openKeyChain](https://www.openkeychain.org/) ### [openpgp.js](https://github.com/openpgpjs/openpgpjs) -https://security.stackexchange.com/questions/38219/security-of-running-openpgp-js-in-a-browser-with-the-private-key-in-html5-locals -https://github.com/openpgpjs/openpgpjs/wiki/Introduction +* [OpenPGP.js Introduction](https://github.com/openpgpjs/openpgpjs/wiki/Introduction) +* [security of running openpgp.js in a browser with the private key in html5 locals](https://security.stackexchange.com/questions/38219/security-of-running-openpgp-js-in-a-browser-with-the-private-key-in-html5-locals) diff --git a/content/slides/privacy/md/sovereignty.md b/content/slides/privacy/md/sovereignty.md index a46af523346fb399fb652165f64e77e5b3b4cb21..b4bcc41843945d868745f9de8c3dd2e1fc340ee9 100644 --- a/content/slides/privacy/md/sovereignty.md +++ b/content/slides/privacy/md/sovereignty.md @@ -1,4 +1,4 @@ -# souveraineté +# Souveraineté Si l'utilisateur n'utilise pas des outils qu'il contrôle ... @@ -53,7 +53,7 @@ Il est contrôlé par ses outils * logiciels: [framasoft](https://framasoft.org/), [alternativeto](https://alternativeto.net/) -* Android: [F-DROID](https://f-droid.org/fr/) +* Android: [F-DROID](https://f-droid.org/fr/), [<i class="fa fa-reddit" aria-hidden="true"></i> best android ROM for privacy](https://www.reddit.com/r/privacy/comments/6d3a33/best_android_rom_for_privacy/) ## Services diff --git a/content/slides/privacy/md/tails.md b/content/slides/privacy/md/tails.md index 4496b51f10b1f9452563b7d9fc3fe516debcfd59..6c5e96f9972026093ef10febf68a538004666c56 100644 --- a/content/slides/privacy/md/tails.md +++ b/content/slides/privacy/md/tails.md @@ -20,6 +20,21 @@ * Une solution est de chiffrer (chiffrement symétique) son système * Booter à partir d'un autre système l'attaquant devra connaître le mot de passe pour lire le disque en clair + +## Enjeu de l'OS + +Solution de chiffrement par OS + +* [<i class="fa fa-apple" aria-hidden="true"></i> FileVault](https://fr.wikipedia.org/wiki/FileVault) +* [<i class="fa fa-windows" aria-hidden="true"></i> BitLocker](https://fr.wikipedia.org/wiki/BitLocker_Drive_Encryption) +* [<i class="fa fa-linux" aria-hidden="true"></i> dm-crypt](https://fr.wikipedia.org/wiki/Dm-crypt) +* [<i class="fa fa-apple" aria-hidden="true"></i> <i class="fa fa-windows" aria-hidden="true"></i> <i class="fa fa-linux" aria-hidden="true"></i> <strike>TrueCrypt</strike> VeraCrypt](https://www.veracrypt.fr/en/Home.html) +* [<i class="fa fa-android" aria-hidden="true"></i> C’est le moment de chiffrer votre téléphone Android](https://korben.info/cest-moment-de-chiffrer-telephone-android.html) +* [<i class="fa fa-apple" aria-hidden="true"></i> Guide d'utilisation de chiffrer votre iPhone](https://ssd.eff.org/fr/module/guide-dutilisation-de-chiffrer-votre-iphone) + + +## Enjeu de l'OS + * Une autre solution est l'utilisation d'un système Live * bootable à partir d'un support amovible (CD / USB) * avantage @@ -41,41 +56,49 @@ * OS **live** basé sur **Debian** * 64 bits uniquement depuis 2017 -* objectif +* Pbjectifs * préserver la vie privée * préserver l'anonymat -* moyen +* Moyen * réduire ses traces sur la machines - * réduire / chiffrer les traces laissée sur le réseau + * réduire / chiffrer les traces laissées sur le réseau * résout le problème de l'amnésie d'un OS live -https://tails.boum.org/index.fr.html -https://tails.boum.org/about/index.fr.html -https://tails.boum.org/doc/index.fr.html + +## Tails + +* [Site officiel](https://tails.boum.org/about/index.fr.html) +* [Documentation](https://tails.boum.org/doc/index.fr.html) +* [Tails download](https://tails.boum.org/install/) ## Historique -* juin 2009 - * descendant de Incognito(https://en.wikipedia.org/wiki/Incognito_(operating_system)) -* financé par - * le projet Tor - * Debian - * Mozilla +* Juin 2009 + * descendant de [Incognito](https://en.wikipedia.org/wiki/Incognito_(operating_system)) +* Financé par + * [Tor project](https://www.torproject.org/) + * [Debian](www.debian.org) + * [Mozilla](https://www.mozilla.org/fr/) * [Freedom of the PressFoundation](https://fr.wikipedia.org/wiki/Freedom_of_the_Press_Foundation) -* [XKeyscore](https://fr.wikipedia.org/wiki/XKeyscore) de la [NSA](https://fr.wikipedia.org/wiki/National_Security_Agency) - * règles ciblant les personnes - * cherchant des informations sur Tails à l'aide d'un moteur de recherche - * visiteurs du site officiel - * Un commentaire dans le code source de XKeyscore décrit Tails comme « un outil de communication recommandé par des extrémistes sur des forums extrémistes » +## [XKeyscore](https://fr.wikipedia.org/wiki/XKeyscore) + +* Règles ciblant les personnes + * cherchant des informations sur Tails à l'aide d'un moteur de recherche + * visiteurs du site officiel + +« *un outil de communication recommandé par des extrémistes sur des forums extrémistes* » + +[NSA](https://fr.wikipedia.org/wiki/National_Security_Agency) -Note: -- Tails en donc très efficace ## Création du système live + + + ## Mise à jour ## Création d'une partition chiffrée diff --git a/content/slides/privacy/md/ssl.md b/content/slides/privacy/md/tls.md similarity index 95% rename from content/slides/privacy/md/ssl.md rename to content/slides/privacy/md/tls.md index 04922916d66a146129e6aeb7630a6626fcd40b9e..ca3c5a58e5cfab62996385ded725ed4cc3204e8b 100644 --- a/content/slides/privacy/md/ssl.md +++ b/content/slides/privacy/md/tls.md @@ -121,9 +121,9 @@ BAMMC2V4YW1wbGUuY29tMB4XDTE3MTAzMTExMzEzNFoXDTE3MTEzMDExMzEzNFow ## Certificat auto-signé -* Issuer et Subject identiques +* **Issuer** et **Subject** identiques * Tout le monde peut en fabriquer -* Rejeté par défaut par les navigateurs +* Rejetés par défaut par les navigateurs #### Faire parler un certificat @@ -214,6 +214,7 @@ Chaînes de certification * [digicert](https://www.digicert.com/) * [verisign](https://www.websecurity.symantec.com/fr/fr/ssl-certificate) * [Comodo](https://www.comodo.com/) +* ... * Gratuites * [StartSSL free](https://www.startcomca.com/index/support?v=1) * [CAcert](http://www.cacert.org/) (not known good signers) @@ -236,7 +237,7 @@ Chaînes de certification * wildcard * https://amendes.gouv.fr * Certificats expirés -* Autorités de certification non importée +* Autorité de certification non importée * ... @@ -311,7 +312,8 @@ note: ## Signer un fichier -https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html +[Sign and verify text files to public keys via the OpenSSL Command Line](https://raymii.org/s/tutorials/Sign_and_verify_text_files_to_public_keys_via_the_OpenSSL_Command_Line.html) + #### Certificate Revocation List (CRL) @@ -375,7 +377,7 @@ Protocole d’interrogation de validité pour un certificat * [Google's Certificate Transparency project](http://www.certificate-transparency.org/) -## SSL / TLS +## <strike>SSL</strike> / TLS * Crée un canal de communication **authentifié**, protégé en **confidentialité** et en **intégrité** * Utilise des certificats X.509 @@ -451,13 +453,13 @@ Le serveur * Les paramètres de chiffrements * sont négociés et « jetables » + ## Certificats clients * Un client peut présenter un certificat au serveur * Le serveur vérifie si le certificat est signé par une CA de confiance * Le serveur peut utiliser ces informations pour authentifier l’utilisateur -* Le certificat peut être stocké dans un périphérique (e.g. Yubikey), une carte à puce (e.g. CPS), ... -vérifier avec le CNRS +* Le certificat peut être stocké dans un périphérique (e.g. [Yubikey](https://www.yubico.com/)), une carte à puce (e.g. [CPS](https://fr.wikipedia.org/wiki/Carte_de_Professionnel_de_Sant%C3%A9)), ... ## [Cypher suite](https://fr.wikipedia.org/wiki/Suite_cryptographique) @@ -513,7 +515,7 @@ risk?](https://security.stackexchange.com/questions/63867/ssl-tls-renegotiation- ## Vulnérabilité TLS_RSA_WITH_RC4_128_MD5 * si la clé privée du serveur est récupérée - * le *pre master secret* est récupérable + * le **secret partagé** est récupérable * on peut obtenir les clés de session * toutes les communications sont alors déchiffrables * passées @@ -620,7 +622,7 @@ Note: * On ne voit pas l'url dans le traffic * mais on voit l'ip de l'hôte -* Proxy https ou VPN anonimisent complètement le traffic +* Proxy https ou VPN anonymisent complètement le traffic Note: - Attention les proxy @@ -647,14 +649,7 @@ Note: * [GnuTLS security](http://www.gnutls.org/security.html) * [Les attaques SSL / TLS](https://korben.info/les-attaques-ssltls.html) * [Public Key Infrastructure (PKI)](https://fr.wikipedia.org/wiki/Infrastructure_%C3%A0_cl%C3%A9s_publiques) -* [Certificate authorities issue SSL certificates to fraudsters](http://news.netcraft.com/archives/2015/10/12/certificate-authorities-issue-hundreds-of-deceptive-ssl-certificates-to-fraudsters.html) - -Note: -- Repose sur la confiance dans les autorités de confiance - - Honnêteté et sécurité des autorités de certification - - savoir faire : délivré des certificats certifiant par erreur - - signé par une autorité de confiance, chaine valide - - on calcule le hash avec la clé publique de l'autorité et on la compare au hash du certificat + * [Certificate authorities issue SSL certificates to fraudsters](http://news.netcraft.com/archives/2015/10/12/certificate-authorities-issue-hundreds-of-deceptive-ssl-certificates-to-fraudsters.html) ## <i class="fa fa-gears"></i> Tests serveurs diff --git a/content/slides/privacy/md/tor.md b/content/slides/privacy/md/tor.md index c38cbd3a7b5cea7be41da2e26cd073e11a5b9e7d..92ce455e5ea295eed1ee8f9ea333a012c85e18aa 100644 --- a/content/slides/privacy/md/tor.md +++ b/content/slides/privacy/md/tor.md @@ -28,7 +28,7 @@ * Utilisation * détectable par les sites /service consultés - * [extension TorBlock de MediaWiki](https://www.mediawiki.org/wiki/Extension:TorBlock) + * [How to ban people from sites when using Tor](https://www.reddit.com/r/TOR/comments/7xsl7v/how_to_ban_people_from_sites_when_using_tor/) * détectable par le FAI @@ -66,7 +66,7 @@ * [Tor relays map](https://torflow.uncharted.software) * [Tor est lent](https://svn.torproject.org/svn/projects/roadmaps/2009-03-11-performance.pdf) * [Mais ce peut être amélioré](https://www.torproject.org/docs/faq.html.en#WhySlow) -* [Tor utilise RSA 1024 etdevrait passer à Curve25519 group / Ed25519](https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt) +* [Tor utilise RSA 1024 etdevrait passer à Curve 25519 group / Ed25519](https://gitweb.torproject.org/torspec.git/tree/tor-spec.txt) ## Tor Browser @@ -114,11 +114,15 @@ * **relais intermédiaire** (*RI*) * **relais de sortie** (*RS*) * **relais Hidden Service Directory** (*HSDir*) - * annuaire de (***SC***) + * annuaire de **services cachés** (***SC***) + + +## Relais * [Les relais Tor par type (*Flag*)](https://metrics.torproject.org/relayflags.html?start=2017-10-25&end=2018-01-23&flag=Running&flag=Exit&flag=Fast&flag=Guard&flag=Stable&flag=HSDir) * [Héberger des relais Tor](https://www.torproject.org/docs/tor-doc-relay.html.en) +* [The New Guide to Running a Tor Relay](https://blog.torproject.org/new-guide-running-tor-relay) ## Circuit Tor diff --git a/content/slides/privacy/md/tracking.md b/content/slides/privacy/md/tracking.md index 5eb8d7858e203fc006dc358d416c7b4ed0b4a7ed..f5bc089a83b1a0960d042a98f7063edffb92b968 100644 --- a/content/slides/privacy/md/tracking.md +++ b/content/slides/privacy/md/tracking.md @@ -3,8 +3,83 @@ # <i class="fa fa-user-secret" aria-hidden="true"></i> -panopticlick +## [panopticlick](https://panopticlick.eff.org/) -https://github.com/willdurand-edu/cookie-playground/blob/master/website/index.html +### Is your browser safe against tracking? -assiste.com +[Electronic Frontier Foundation](https://www.eff.org/about)'s project + + +## Fingerprint + +<!-- .element style="width: 80%" --> + + +## Cookies + +* Palie à l'amnésie du protocol HTTP +* En têtes HTTP envoyées par le serveur + + ```http + Set-Cookie: name=value[; Max-Age=age][; expires=date] + [; domain=domain_name][; path=some_path][; secure][; HttpOnly] + ``` + +* Renvoyées inchangées par le client à chaque requête + + ```http + Cookie: name=value + ``` + +* Cloisonnés par domaine + * accessibles via les sous domaines + + +## just do it + +* [<i class="fa fa-github" aria-hidden="true"></i> willdurand-edu/cookie-playground](https://github.com/willdurand-edu/cookie-playground) + +```bash +sudo add-apt-repository ppa:webupd8team/atom && sudo apt update; +sudo apt install git php atom +php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" +php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" +php composer-setup.php +php -r "unlink('composer-setup.php');" +php composer.phar install +php -S localhost:4000 -t . +atom . +``` + +* tracker exposes a dashboard at: http://localhost:4000/tracker/public/dashboard. +* The website does not do much, but is available at: http://localhost:4000/website/. + + +## Space cookies + +* Techniques de tracking + * Cookies plus persistants + * moins limité en taille + +* [Supercookie](https://en.wikipedia.org/wiki/HTTP_cookie#Supercookie) + * cookie de niveau racine (.com) + + +## Space cookies + +* Flash cookie + * utilise la persistance flash + * [LSO (Local Shared Object)](https://fr.wikipedia.org/wiki/Objet_local_partag%C3%A9) + * cross domain + * accès à l'historique des sites visités utilisant flash + +## Space cookies + +* [Zombie cookie](https://en.wikipedia.org/wiki/Zombie_cookie) + * cookie perpétuellement recréé + +* [Evercookie](https://en.wikipedia.org/wiki/Evercookie) + * exploite toute les possibilités + * [<i class="fa fa-github"></i> samyk/evercookie](https://github.com/samyk/evercookie/) + +* [Cookie de tracking / assiste.com](http://assiste.com/Cookie_de_Tracking.html) diff --git a/content/slides/privacy/pgp.html b/content/slides/privacy/pgp.html index 47578a41400122154b4e8763ad3958f71fca0d3a..8592f33b94f48f0c13272553ee3b7a575e148c24 100644 --- a/content/slides/privacy/pgp.html +++ b/content/slides/privacy/pgp.html @@ -4,7 +4,7 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - <title>SSL / TLS</title> + <title>PGP</title> <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css"> <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css"> diff --git a/content/slides/privacy/tails.html b/content/slides/privacy/tails.html index 2c8afaddaeadf40e3bd6d5bc32a4447c8ea9eb60..ff706a5f72f8fcfa94cb5cb8a9297c34eb2ad781 100644 --- a/content/slides/privacy/tails.html +++ b/content/slides/privacy/tails.html @@ -12,6 +12,7 @@ <!-- Theme used for syntax highlighting of code --> <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css"> <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css"> + <link rel="stylesheet" href="../main.css"> <!-- Printing and PDF exports --> <script> diff --git a/content/slides/privacy/ssl.html b/content/slides/privacy/tls.html similarity index 97% rename from content/slides/privacy/ssl.html rename to content/slides/privacy/tls.html index 7e8db454bb85a406fc5302da7d44b18743ae9e99..7dacc8f7a07bfcc0a3f6fedf45811c8e17679ecb 100644 --- a/content/slides/privacy/ssl.html +++ b/content/slides/privacy/tls.html @@ -4,7 +4,7 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> - <title>SSL</title> + <title>X.509 / TLS</title> <link rel="stylesheet" href="../../node_modules/reveal.js/css/reveal.css"> <link rel="stylesheet" href="../../node_modules/reveal.js/css/theme/white.css"> @@ -26,7 +26,7 @@ <body> <div class="reveal"> <div class="slides"> - <section data-markdown="md/ssl.md" + <section data-markdown="md/tls.md" data-separator="^\n\n\n" data-separator-vertical="^\n\n" data-separator-notes="^Note:" diff --git a/content/slides/privacy/tracking.html b/content/slides/privacy/tracking.html index ca6cc83f0f391e16fb34c3f932cb4caa584bd996..8ebc47bbf5704ade095716ab7513a65f933b8fe6 100644 --- a/content/slides/privacy/tracking.html +++ b/content/slides/privacy/tracking.html @@ -12,6 +12,7 @@ <!-- Theme used for syntax highlighting of code --> <link rel="stylesheet" href="../../node_modules/reveal.js/lib/css/zenburn.css"> <link rel="stylesheet" href="../../node_modules/font-awesome/css/font-awesome.min.css"> + <link rel="stylesheet" href="../main.css"> <!-- Printing and PDF exports --> <script>