Un générateur de mot de passe sécurisé, conforme RGPD

• Thiébaut Devergranne

Voici un générateur de mots de passe conforme aux exigences du RGPD et aux recommendations de la CNIL. Pour rappel la CNIL exige qu’un mot de passe standard, conforme au RGPD, doit faire au moins 12 caractères, y compris des catactères spéciaux, minuscules et majuscules et chiffres, sauf si vous disposez de mécanismes de protection contre les attaques type brute-force (ex: captacha), auquel cas le mot de passe peut faire 8 caractères.

Chargement...

Tout est réalisé en Javascript (donc le mot de passe est généré par votre navigateur), vous pouvez lire le code ci-dessous (ou égalemetn directement dans le code source du navigateur).

De manière générale, il est important dans une organisation de s’assurer que vous disposez d’une politique de mot de passe pour l’accès aux postes, et à l’ensemble des applications informatiques - en particulier celles qui opèrent un traitement de données personnelles. Voici quelques remarques liés aux mots de passe en ce qui concerne spécifiquemeent le RGPD :


Il existe un certain nombre de risques informatiques liés aux mots de passe, tels que :

  • sa simplicité du mot de passe ;
  • son interception sur un réseau (ex : connexion non sécurisée)
  • sa conservation en clair (ex : le conserver sur un post-it !) ;
  • son non-renouvellement
  • sa perte

La CNIL a une recommendation à ce titre que l’on voit notemment en formation conformité RGPD et sur laquelle je vous invite à vous pencher si vous devez déployer un process de conformité RGPD :

Voici le code javascript de la fonction utilisée pour générer le mot de passe :

    function newPass(){
        var specials = '!@#$%^&*()_+{}:"<>?\|[];\',./`~';
        var lowercase = 'abcdefghijklmnopqrstuvwxyz';
        var uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        var numbers = '0123456789';

        var all = specials + lowercase + uppercase + numbers;
        String.prototype.pick = function(min, max) {
            var n, chars = '';
            if (typeof max === 'undefined') {
                n = min;
            } else {
                n = min + Math.floor(Math.random() * (max - min));
            }
            for (var i = 0; i < n; i++) {
                chars += this.charAt(Math.floor(Math.random() * this.length));
            }
            return chars;
        };
        String.prototype.shuffle = function() {
            var array = this.split('');
            var tmp, current, top = array.length;

            if (top) while (--top) {
                current = Math.floor(Math.random() * (top + 1));
                tmp = array[current];
                array[current] = array[top];
                array[top] = tmp;
            }
            return array.join('');
        };
        var password = (specials.pick(1) + lowercase.pick(1) + uppercase.pick(1) + all.pick(20, 22)).shuffle();
        var div = document.getElementById('pass');
        div.innerHTML = password;
    }

Thiébaut Devergranne

Thiébaut Devergranne est docteur en droit. Il travaille en droit des nouvelles technologies depuis plus de 15 ans, dont 6 passés au sein des services du Premier Ministre. En savoir plus.

formation RGPD

VOS CGV (gratuit)