TP Cryptographie – César, Vigenère et attaque statistique en PowerShell

Un TP sur la cryptographie en PowerShell, on ne va pas attaquer les choses compliqué aujourd’hui. Seulement les bases de la crypto avec 2 algorithmes connus :

  1. César ; et
  2. Vigenère

Et une attaque qui fonctionne bien sur ce genre de protection : par statistique.

Chiffre de César

Le chiffre de césar est une méthode de chiffrement qui date des romains et du fameux empereur du même nom. Elle consiste à décaler d’un certain nombre dans l’alphabet les caractères de la phrase à chiffrer. Ce nombre est la clé de l’algorithme.

Exemple :

Si je prends la chaîne « abc » avec la clé ‘+1’ :

Ma chaîne chiffrée devient « bcd »

Implémentation :

Cet algorithme est implémenté dans le livre d’Arnaud PETITJEAN : Windows PowerShell – Guide de référence pour l’administration système (v3). Dans le chapitre 8, La Sécurité – p 431 dans la V3.

Comme pour sa fonction de génération de mot de passe, j’ai trouvé que son implémentation n’était pas la plus simple. Aussi, je vous en propose un autre :

<#
.SYNOPSIS
Effectue le chiffre de césar sur une chaîne de caractères
.DESCRIPTION
Chiffre une chaîne de caractère via le chiffre de César avec la 
Lire la suite

ZeroBin, ou comment faire Google Keep sans Google mais avec AES

Je veux vous présenter un outil qu’un collègue anonyme (merci Grégoire) m’a fait découvrir ce matin : ZeroBin.

ZeroBin :

ZeroBin

Ce projet open source propose de vous fournir un Pastebin qui a le bon goût de ne pas analyser tout ce que vous y écrivez pour vous placer de la pub ensuite.

Pourquoi ?

Parce que tout ce que vous y enverrez est chiffré en AES (256), et que le serveur ne sait donc pas ce qu’il stocke, il ne voit que du texte chiffré, du bruit en gros.

Comment ça marche ?

Lors de l’upload votre navigateur chiffre le contenu via une clé *secrète*.
C’est simple d’utilisation, car la clé est placée dans le lien que l’outil vous renvoi après l’upload, comme ci-dessous :

https://zerobin.net/?ca9e881b88da443e#/mubgNofdYrpDu61GikEmsPlZqJGKS0v2RD4IEtvNiE=

Mais si c’est dans l’URL le serveur reçoit bien la clé ?

C’est là que c’est beau, en fait si vous regardez bien le lien en exemple ci-dessus :
On a 3 morceaux :

A. le site,

https://zerobin.net/

Je passe c’est comme d’hab ça.

B. votre “note”,

?ca9e881b88da443e

Ça c’est comme sur n’importe quel site en PHP, ou vous demanderiez l’accès à la ressource `man of stelle` (par exemple). Vous verrez dans l’URL :… Lire la suite

Gestion des mots de passes dans les z’internet aujourd’hui

Allez le vendredi c’est permis ! un peu de lecture avant ce week-end pour se détendre…
un TP rapide sur comment qu’on gère les mots de passes quand on est un g33k un vrai (avec des poils et tout)

C’est quoi un bon mot de passe ?

Tout d’abord quelques rappels théoriques sur comment on gère des mots de passes :
Un bon mot de passe, entre autre :

  • doit respecter des règles de complexité (genre pas : 1234, azerty ou motdepassse)
  • doit être renouvelé régulièrement (genre : date pas de 1999)
  • doit être différent selon ce qu’il protège (banque != torrents)
  • doit pas être stocké en clair ou accessible à tiers (pas sous le clavier ou sur la porte du réfrigérateur donc)

Toutes ces bonnes pratiques sont listés dans le doc de l’ANSSI sur ce sujet, disponible ici :

NP_MDP_NoteTech.pdf

Comment ça fonctionne dans la vraie vie ?

En aucun cas un site internet ne stocke (ou « ne devrait stocker » en tous cas) votre mot de passe en clair. Un bon site (non, n’est pas un site mort…) stocke un « hash, empreinte ou encore condensat de votre mot de passe (Exemple d’algorithme de hash : MD5, … Lire la suite