Idée d'un nouveau module pour Apache.
mod_gpg_protocol
qui définit une requête / réponse encrypté par GPG.
comment fonctionne le module ?
Création d'un nouveau protocole dans les navigateurs Gpg Over Server: GOS
lorsque vous allez sur l'adresse gos://www.memiks.fr/
le navigateur va crypter votre demande en GPG avec la clé publique que vous avez spécifié sur le serveur (j'en reparlerai).
puis la requête est envoyée au serveur un simple header http qui contient un type d'application text/gpg
et le serveur "sait" qu'il doit décrypter la demande avant de l'interpréter.
la le serveur peux fonctionner comme d'habitude, via les autres modules, php, asp, proxy etc...
quand la réponse est récupérée, alors on la crypte avec la clé publique et une fois reçu le navigateur la décrypte.
Pourquoi ?
maintenant les points qui fache:
comment fournir la clé publique/privé sans passer par internet ? je vois plusieurs possibilités
1) on passe par une clé temporaire qui crypte la clé finale, et qui est fourni par un autre canal, mail, https, ssh, lettre
2) vous êtes maitre du serveur et donc maitre de la publication / génération de la clé (ssh, sftp etc...)
3) l'instance (par exemple la banque) vous fourni les clés par lettre ou physiquement
comment crypter coté client ?
1) ajout du module directement dans les navigateurs (firefox, chromium)
2) passage par une extension
3) passage par un proxy qui s'occupe de tout crypter suivant les serveurs (via une liste blanche)
que faire lorsqu'il y a perte de l'intégrité du client et/ou du serveur ?
1) client volé, ou compromis, demandé la dévalidation de la clé au serveur (par tél, mail, chat, etc on s'en moque même en clair, la clé est invalidée POINT!)
2) serveur non fiable, invalidér la clé correspondante sur le client.
3) NE PAS UTILISER DEUX FOIS LA MEME CLE C'EST COMME LES MOTS DE PASSES !!
Qu'en pensez vous ?
J'ai ouvert la discussion sur zerobin
http://sebsauvage.net/paste/?3b0e29b95f7a3b01#lKn5Db6+znQlj7QPmwyuDo2/2NbbsOh46CzoycvA3ds=
Mêmiks