Alors pour moi c'est:
Memiks
71c22ad86110167c4fdd63fdf8a56a54764c18a2
PS: j'ai supprimé les espaces et caractères spéciaux des noms pour limiter la casse lors d'attaque par injection ou autre.
donc dans ton name il n'y a plus l'espace.
Vous pouvez partager vos infos pour ceux qui testerons, et ceux qui n'arrive pas à le faire, contactez moi ;)
memiks [at] memiks.fr
Alors comme je l'ai dit, oui tu as raison je dois mettre en place https.
dans le cas1 je pense pas que ça change grand chose... les gouvernements vont "simplement" enregistrer le flux chiffré https et le déchiffrer avec la clé du serveur (ils auront bien trouvé comment récupéré les clés)
par contre pour le cas 2 je ne vois pas comment le MITM va etre mis en place... c'est TOI qui fourni le fingerprint à tes amis.
et il est récupéré de la clé publique du serveur.
du coup si la clé de chiffrement/déchiffrement n'est pas la même que le fingerprint, openPGP et trytolisten vont refusés de décrypter le message.
mais effectivement, c'est un bon moyen pour trouver les failles dans l'application.
donc je résume seul la clé public est envoyé avec le fingerprint et le nom de l'utilisateur. avec une seul parti tu ne peux pas faire de MITM à moins d'avoir enregistré les clés des deux protagoniste au moment de la création du compte et de les remplacer (et encore les fingerprint rentré dans l'interface ne seront pas les bons du coup).
Mais oui de toute façon je dois mettre en place HTTPS.
Je suis d'accord avec toi... et en même temps pas trop...
je m'explique, lorsque tu envoie les données, la seule clé qui passe en clair est celle publique, ensuite elle est enregistré sur la base en rapport avec le fingerprint.
meme si quelqu'un écoute le réseau et remplace la clé par une autre, cela se verra de suite car le receveur ne pourra pas déchiffrer le message.
mais oui je pourrais ajouter le ssl avec startssl pour chiffrer aussi les envoies ;)
bonne idée, je vais le faire.
Quelques (petites) remarques :
La procédure de création de compte n'est pas "claire".
Oui je vais changer cela dés ce midi, et mettre en place une documentation pour les utilisateurs ;)
Préciser où les clés s'enregistrent afin qu'on puisse les copier d'un ordinateur à l'autre si besoin.
Oui effectivement les clés sont enregistré dans le localStorage et accessible via la page Account, toujours pareil je manque de doc :/
Proposer une interface en français ? (Je pense aux utilisateurs lambda là...)
C'est aussi une bonne idée, je vais faire cela en passant par des fichiers properties comme cela je pourrais même demander de l'aide pour la traduction ;)
pas mal merci.
je peux t'ajouter à mes amis ?
Fréd
Bonjour,
Je vous présente mon nouveau projet,
Try To Listen. Me
Ce projet se base sur openPGP.js et cherche à proposer une plateforme de partage de document (uniquement un chat pour le moment) chiffré de bout en bout.
Lors de la création d'un compte, le navigateur créé une paire de clé privé/publique, seul la clé publique est envoyé sur le serveur.
La clé privée est enregistré dans le localStorage du navigateur.
elles sont toutes les deux visible dans la page Account.
Ensuite pour se connecter vous utilisez votre nom et la passphrase choisie lors de l'enregistrement (le mot de passe de la clé en fait)
Et vous devez partager votre nom et votre fingerprint avec vos amis.
ils font de même et vous pouvez les ajouter sur la page Chat.
Ensuite lorsque vous envoyer un message il est chiffré avec la clé publique de votre ami, et envoyé sur le serveur.
Les messages de vos amis sont chiffré coté navigateur avec votre clé publique ce qui vous permet de les déchiffrer.
Je suis à l'écoute si vous avez des questions.
Memiks.
PS: je fais une campagne de don pour pouvoir continuer le développement alors s'il vous plait participez ou parlez en autour de vous:
https://www.indiegogo.com/projects/trytolisten-me-web-site-privacy/x/9871293
A la fin de la récolte je libère les sources sous AGPL.
techno: