Mes liens de la semaine – Édition #2

Mes liens de la semaine – Édition #1

Une nouvelle initiative de ma part : je vais partager les liens que j’ai retenu de la semaine avec un léger résumé.

Je les retiens de toute façon dans mes listes de lecture. S’ils sont intéressants pour moi pourquoi pas pour vous?

  • Propriétaire d’un appareil Apple? Tu DOIS avoir Letterpress. Shwminator est mon utilisateur sur le Game Center.
  • Typescript est une extension du langage Javascript développé par Microsoft. Une approche analogue à CoffeeScript. Le projet propose des ajouts comme des classes, modules et interfaces afin de solidifier encore plus vos solutions dans ce langage. Le tout est open source!
  • pdf.js permet la lecture d’un fichier PDF en Javascript. Gracieuseté des camarades chez Mozilla.
  • Utiliser Github comme fournisseur d’identité? Les gens chez Parse proposent maintenant de se connecter à leur service avec son identifiant GitHub. Une approche intéressante.
  • js-url, une approche lightweight permettant de décortiquer en Javascript l’URL courante.
  • sweet.js se présente comme une librairie permettant de remodeler certaines parties du langage en utilisant des macros. Une autre initiative de Mozilla.
  • Pourquoi 0.1 n’existe pas lorsqu’il est question de virgule flottante. L‘explication est plus simple que cela en a l’air.
  • Un guide d’achat pour les pièces d’ordinateur extrêmement bien conçu.

Mozilla Persona

Votre identité en ligne est au cœur de vos interactions sur internet. Que ce soit le courriel que vous utilisez pour vous connecter sur Facebook ou le nom d’utilisateur pour votre compte en banque, ils font partie de votre ADN virtuel.

À l’heure actuelle, trois tendances sont observées lorsqu’il est temps de vous authentifier et d’utiliser un service en ligne.

  • Code utilisateur et mot de passe
  • Courriel et mot de passe
  • Protocole d’authentification fédéré : OAuth (Facebook et Twitter), et OpenID (Google).

Les deux premières présentent des désavantage tant au niveau sécurité qu’à la facilité d’utilisation. Selon moi, l’utilisation d’un protocole d’authentification présente une alternative beaucoup plus sécuritaire.

En contrepartie, à mon avis, les techniques énumérées présentent les faiblesses suivantes :

  • Il est facile d’oublier le nom d’utilisateur associé à un service utilisé peu fréquemment.
  • Un courriel comme identifiant utilisateur est pratique mais expose inutilement votre adresse courriel
  • Les précautions de sécurité employées avec les deux premières options sont difficilement évaluables.
  • Un fournisseur d’identité en ligne devient, potentiellement, le chaînon faible dans le cas où la sécurité de celui-ci est compromise.

Toutefois, il n’est pas sans hasards que les principaux services que vous utilisez implémentent l’un ou l’autre des protocoles d’authentification. Ils permettent une décentralisation de la validation de votre identité.

En termes clairs, il s’agit de la technique de ne pas mettre tous les œufs de la sécurité de votre identité dans le même panier.

L’histoire se répète et chaque joueur tiens, dans ses mains, les billes du plan lui permettant de dominer avec la technologie qu’il a choisi.

Mozilla Persona

Persona est le nom grand public que Mozilla a donné à la technologie BrowserID qu’ils ont développé. Il s’agit d’un mécanisme d’authentification au même titre qu’OAuth et OpenID. Son arrivée sur le marché est assez récente, les premières annonces à son sujet datent de la mi-2011.

Il s’agit d’un troisième joueur qui se lance dans l’arène. Comme le veut l’expression : Jamais deux sans trois.

Celui-ci, se distingue par son implémentation directement au niveau du navigateur avec l’utilisation de Javascript. Le principal avantage de cette approche est que le fournisseur d’identité ne possède aucun contexte au sujet de la provenance de la requête. Un plus pour la sécurité.

De plus, l’identifiant qui est utilisé par BrowserID est le courriel de l’utilisateur. Il n’y a alors pas d’excuses pour oublier son nom d’utilisateur.

Comment ça marche

BrowserID se base sur le principe que l’entité en charge de faire la gestion de l’authentification est le navigateur même. Cette gestion se fait grâce à l’ajout de l’API Javascript navigator.id développée par l’équipe de Mozilla.

Il est possible de procéder à l’implémentation de BrowserID sur votre site en utilisant uniquement Javascript et une requête côté serveur afin de valider l’authenticité de l’identité d’un utilisateur. Le cadre est assez flexible afin d’être utilisé peu importe la technologie sur laquelle votre site repose. Après tout, il s’agit seulement de requêtes HTTP.

Afin de résumer, il suffit de respecter les étapes suivantes afin d’implémenter BrowserID :

  1. Ajout de la librairie de base : https://login.persona.org/include.js
  2. Ajout actions de connexion et de déconnexion pour les appels navigator.id.request() et navigator.id.logout()
  3. Implémentation de la fonction navigator.id.watch qui permet d’interpréter les actions d’authentification de l’utilisateur (Connexion et déconnexion). C’est à cette étape que la requête à une ressource côté serveur afin de valider l’authentification se fait.
  4. Du côté serveur, une requête POST doit se faire au fournisseur d’identité. L’adresse de celui-ci est : https://verifier.login.persona.org/verify.

L’approche que Mozilla a préconisé pour s’attaquer au problème de l’authentification d’un utilisateur est intéressante. Depuis un certain temps, le rôle du navigateur dans les interactions avec un site web a pris une réelle ampleur.

Dans ce cas-ci, il joue le rôle de l’entité permettant  de faire la gestion de l’authentification. Certes, il n’a pas la responsabilité d’authentifier. Toutefois, il permet de faire  le relais de celle-ci au serveur de validation.

Si vous désirez voir un exemple, je vous conseille de visiter le site http://myfavoritebeer.org/. Il s’agit d’un exemple assez simple permettant de voir comment la technologie fonctionne.

Google et internet, vous me faites peur!

Ce blogue, je n’en fais pas plus de promotion qu’il n’en faut. À vrai dire, il y a quelques collègues et amis qui savent que j’écris à cette adresse et je crois que c’est complet. Après tout, je ne fais que mettre en mots les découvertes que je fais avec le temps.

Ce graphique que j’ai joint ci-haut, est la statistique des visites depuis les deux dernières semaines. En moyenne, le blogue attire tout au plus une dizaine de visites par jour. C’est très peu.

Une tendance très étrange s’est produite depuis cette fin de semaine. Les visites ont pratiquement triplé et même quadruplé  depuis cette dernière fin de semaine. Le plus amusant est les mots clés entrants qui ont généré des visites au blogue ainsi que l’article le plus visité.

L’article en question est l’un de mes premiers billets. Celui du 23 mai passé : Pensée : Échographie = Inspection de variable à l’échelle humaine. Pour faire un résumé en une phrase, j’illustre la ressemblance entre le processus d’inspection d’une variable et l’action que représente d’assister à une échographie.

Ce que j’ai découvert c’est que cet article est populaire non pas pour son humour ou pour l’acrobatie que j’emploie pour exprimer que je serai papa d’un garçon. L’article est, en fait, le troisième résultat le plus populaire pour la recherche d’images sous les mots clé « echographie » et « échographie ».

Les principaux mots clés entrants sont reliés à l’échographie. Il faut souligner la personne qui tente, probablement, de deviner le mot de passe Facebook de sa copine en utilisant l’inspecteur de Google Chrome. Bravo!

La preuve que cela tiens la route? Faites-vous même la recherche sur Google.

Résultat échographie

Au moment d’écrire ceci, ça fait 30 minutes que j’ai découvert cela et je n’en reviens toujours pas. Je suis étonné parce que j’écris des articles reliés, de près ou de loin, au développement logiciel. Le vocabulaire est assez technique et associé à la technologie.

À l’exception de ce billet.

Je tiens à mentionner qu’il faut mettre les choses en perspective. Je suis loin d’être un succès viral. Mon point n’est pas là. Ce qui me fascine est que, sans trop le vouloir, je me suis retrouvé à être populaire sur un mot clé dont je n’ai jamais pensé être.

En résumé, ce qui se produit actuellement sur les visites du blogue se résume par les points suivants :

  • Internet, tu me surprendras toujours. Il est difficile de prévoir ce qui peut se produire sur le web.
  • Le SEO, ce n’est pas juste pour les mots. Dominer les mots clés pour les images peut être une façon de générer des liens entrants.
  • TOUJOURS indiquer du texte dans les balises alt et title de vos images

En plus de tout cela, la vraie ironie c’est que ce n’est même pas la photo d’échographie de mon garçon. Pour ceux qui pensent détenir une primeur sur ma vie privée, vous vous êtes mis le doigt dans l’oeil!

Augmentez la sécurité de votre identité en ligne

Mon compte courriel personnel Gmail est au centre de mon identité en ligne, depuis que j’ai été en mesure de le créer en 2004. Tous les courriels personnels que j’ai envoyés et reçus ont passés par ce compte.

Avez-vous réfléchi aux conséquences possibles si un individu mal intentionné mettait la main sur votre compte courriel?

Plusieurs possibilités sont sur la table. D’une part, il pourrait envoyer des courriels frauduleux en votre nom. En deuxième lieu, tenter de mettre la main aux comptes que vous possédez à votre insu. Ensuite? Qui sait ce qu’un individu mal intentionné peut faire pour mal faire.

À titre d’exemple, j’ai vu passer cela sur mon fil de nouvelles Facebook. Il s’agit d’un ami avec qui j’ai étudié au CEGEP.

Il est vrai que de se faire pirater son compte courriel peut être humiliant.

J’ai aussi en tête l’histoire de contournement du nom de domaine du blogue http://secretgeek.net. Pour faire simple, un pirate russe a mis la main sur le mot de passe de son compte courriel. En tirant profit d’une faiblesse dans le protocole POP3, il a été en mesure de deviner son mot de passe par une attaque par force brute. Ensuite, il a procédé au transfert des noms de domaines en sa possession.

Dans les dernières années, j’ai vu énormément de cas similaires. Tous ont d’énormes conséquences. Il est difficile d’estimer où le pirate a pu se rendre avec vos informations courriels. En général, il est recommandé de réinitialiser tous vos mots de passes sur les services en lignes que vous utilisez. Cela passe de Facebook à votre compte bancaire.

D’ailleurs, avez-vous une liste des services qui pourraient être compromis en cas d’une brèche à votre compte courriel?

Il existe deux éléments de prévention pour vos comptes courriels :

  • Utilisation d’un mot de passe complexe
  • Activation du mécanisme d’authentification en deux étapes.

Tout le monde le dit, personne ne le met en application. Votre mot de passe doit être complexe ou d’une bonne longueur.  Une technique intéressante pour obtenir un mot de passe d’une certaine complexité est d’en faire une phrase. L’avantage de celle-ci est qu’il est beaucoup plus simple de se souvenir d’une phrase composé d’un acrostiche de votre prénom qu’un simple mot de 8 caractères se terminant par un astérisque.

Prévisiblement, dans le top 25 des mots de passe les plus fréquemment utilisés sur le web, des aberrations comme 123456qwerty111111passw0rd s’y retrouvent.

L’authentification en deux étapes est un mécanisme ajoutant une étape obligatoire nécessitant la saisie d’une série de chiffres générés par une clé unique configurée au préalable entre vous et le service courriel.

Gmail

Pour le service Gmail, l‘activation de cette fonctionnalité se fait dans vos paramètres de comptes. Alternativement, vous pouvez aussi consulter un guide illustré mis à votre disposition par Coding Horror.

À ce sujet, je recommande fortement d’utiliser l’application iPhone, Android ou même BlackBerry. Sinon, un code vous sera envoyé par SMS ou communiqué par téléphone.

Hotmail

L’authentification en deux étapes n’existe pas pour Hotmail. Toutefois, un mécanisme similaire peut être activé. Il s’agit d’un code à utilisation unique vous permettant d’accéder à votre compte courriel sans avoir à entrer votre mot de passe. Ce code vous est envoyé par SMS. La différence est que ce code n’est pas une deuxième étape dans le processus de connexion mais bien une alternative au mot de passe.

Si vous désirez l’activer cette fonctionnalité, suivez les étapes tel que documenté par Microsoft.

Pour la suite des choses, il serait souhaitable que les principaux services puissent offrir une sécurité augmentée avec un  mécanisme d’authentification à deux étapes.

Facebook

Depuis déjà un moment, Facebook a annoncé la mise en place d’une fonctionnalité nommée Login Approval permettant l’envoi d’un code par SMS lorsque vous tentez de vous connecter à Facebook avec un ordinateur ou appareil non reconnu.

Dropbox

Finalement, Dropbox a récemment annoncé l’activation d’une authentification en deux étapes pour ses utilisateurs. L’activation est assez simple. Visitez l’adresse http://www.dropbox.com/try_twofactor. L’idée intéressante pour Dropbox est que le générateur de clé utilise la même application que celle utilisée par Gmail. Une pierre, deux coups!

Mot de la fin

Il est évident que l’ajout de mesures de sécurité supplémentaires implique l’ajout d’étapes et complique de façon significativement le processus de connexion à votre service préféré en plus de vous forcer à garder votre téléphone cellulaire à portée de main.

Toutefois, savoir que la possibilité de sécuriser l’accès à votre compte devrait prévaloir sur la facilité d’accès. Dans mon cas, c’est ce que j’ai décidé de faire.

Après tout, il est hors de question que je laisse une partie de mon historique en ligne dans les mains d’un inconnu qui aurait pu deviner mon mot de passe.