2010-07-01 7 views
1

Je ne sais pas si c'est le bon endroit mais laisse voir.comment crypter les messages privés afin qu'ils ne puissent pas être lus par l'administrateur système

Je développe un système pour envoyer des messages privés d'un utilisateur à un autre usage. Sous le capot fonctionne PHP 5.2.x.

Maintenant, je cherche un moyen de crypter les messages privés d'une manière que je ne peux pas y accéder. Pour l'instant, je n'ai aucune idée de comment réaliser un tel système, où je ne connais pas la clé de chiffrement.

Ma première idée était de le combiner avec quelque chose comme OAuth.

Quelques autres exigences pour clarifier le problème:

  • Webpage public
  • bonne facilité d'utilisation
+7

Solution la plus simple: ** Ne les regardez pas ** – Gordon

+0

Ya, Gordon, c'était aussi ma réponse. – nont

+0

@nont n'avez-vous pas dit [il ne devrait pas stocker la clé] (http://stackoverflow.com/questions/3156870/crypt-private-messages-wich-cant-be-read-by-server-owner-developer/3156915# 3156915)? Ce n'est pas ce que j'ai dit, n'est-ce pas? Pour effectuer le cryptage * sur le serveur *, vous aurez besoin de la clé à un moment donné. À ce stade, le propriétaire/développeur du serveur peut accéder au message, il est donc inutile de crypter les messages, si le but est d'empêcher le propriétaire/développeur du serveur de les regarder. Dans ce cas, c'est beaucoup moins d'effort pour stocker non crypté et ne pas regarder tout. – Gordon

Répondre

3

cela ne fonctionnera jamais si vous faites le décryptage sur votre serveur. Vous devez faire le décryptage complètement du côté client avec javascript.

Des idées pour la recherche d'informations sur javascript moteurs crypto:

Si vos utilisateurs utilisent tous les navigateurs modernes avec prise en charge la base de données côté client storegae, vous pouvez utiliser pour stocker les clés: an example


Vous devriez savoir, que ce ne serait pas très sécurisé si vous voulez que le cryptage de/cryption soit rapide, ou il sera vraiment lent, car javascript n'est pas la meilleure langue pour faire du cryptage.

+0

Nice merci, mais qu'un utilisateur a besoin d'envoyer la clé à l'autre utilisateur ou? – opHASnoNAME

+0

Si vous utilisez RSA, la clé publique peut être stockée sur le serveur. Vous avez seulement besoin de la clé publique pour chiffrer le message. Mais il ne peut pas être décrypté avec la clé publique, pour cela vous avez besoin de la clé privée, et cela peut être stocké quelque part du côté client – jigfox

0

Que diriez-vous de ne pas stocker la clé?

+0

Et comment l'utilisateur crypte-t-il un "courrier" sans clé? S'il envoie la clé avec une demande de poste que je suis capable de capturer. – opHASnoNAME

+0

Eh bien, vous pouvez crypter le message, puis jeter la clé. quand il veut déchiffrer, il doit y entrer à nouveau. Bien sûr, si vous ne voulez pas voir la clé, alors la suggestion d'Andrey est bonne, vous avez besoin de la cryptographie à clé publique. – nont

1

Vous pouvez utiliser le Diffie-Hellman protocol pour générer des clés de chiffrement que seuls les utilisateurs connaissent.

Mais en tant qu'utilisateur, vous devez avoir accès à ces clés pour lire vos messages. Il vous faudra donc trouver un moyen de stocker la clé sur le client au lieu de votre serveur, sinon vous pourrez toujours déchiffrer les messages. Ce serait tout un défi pour un site PHP, donc je doute que cela puisse être accompli.

Questions connexes