2015-08-18 1 views
1

Ma question est de savoir comment fonctionne vraiment camel pgp et si ma déduction est correcte, je ne suis pas un programmeur java alors s'il vous plaît noter que certains des textes suivants pourraient ne pas avoir de sens. Chiffre-t-il la charge utile avec une clé symétrique, puis chiffre la clé symétrique avec une clé publique et envoie les deux à la destination (serveur ftp par exemple) qui déchiffre ensuite la clé symétrique (clé de session) puis décrypte la charge utile avec il ? Ou crypte-t-il la charge utile avec la clé de pub et c'est tout? D'ailleurs, l'une des clés est-elle générée chaque message? En d'autres termes, disons que nous avons 20 fichiers dans un répertoire, camel les traite un par un, cela signifie-t-il que la clé symétrique sera générée 20 fois ou seulement générée une fois puis réutilisée? J'essaie de trouver la meilleure solution pour crypter les messages, il me semble qu'il suffit d'utiliser une clé symétrique seulement (AES) comme je peux le transférer à travers un canal sûr une fois et c'est tout, mais l'implémentation semble être pénible par rapport à PGP (je dois implémenter un outil Java pour générer, sauvegarder au fichier et charger les clés AES, jouer avec le vecteur d'initialisation, HMAC etc.), mais d'autre part si ce dernier crée une clé différente chaque fois serait inefficace dans mon cas.Crypto Camel PGP et touches symétriques

Répondre

1

Dans OpenPGP, vous avez deux choix, Apache Camel permet les deux:

  • Cryptographie hybride

    Une clé de session (un nouveau produit à chaque fois) est crypté à l'aide cryptographie publique/privée (asymétrique). Cette clé de session est ensuite utilisée pour crypter les informations réelles en utilisant une cryptographie symétrique. Cette approche combine les avantages de la cryptographie publique/privée et symétrique: elle permet les fonctions avancées de gestion des clés d'OpenPGP, mais ne souffre pas des coûts énormes de cryptage de grandes quantités de données en utilisant la cryptographie à clé publique/privée.

    Générer de nouvelles clés de session aléatoires à chaque fois est très bon marché, car elles sont pour la plupart un bloc de données aléatoire, et n'impliquent pas de calculs complexes comme pour les paires de clés publiques/privées.

    En utilisant GnuPG (et probablement toutes les autres implémentations), cette approche est utilisée par défaut lors de l'utilisation de gpg --encrypt. Si vous spécifiez la clé publique du destinataire et aucune phrase secrète, vous utiliserez cette approche.

  • cryptage Symmetric

    OpenPGP permet également de générer directement la clé de session à partir d'un mot de passe, qui est directement utilisé pour le chiffrement symétrique. Cela désactive les fonctionnalités de gestion des clés d'OpenPGP. Le cryptage symétrique direct est rarement utilisé avec OpenPGP, mais peut être utile parfois.

    En utilisant GnuPG, ceci est réalisé en appelant gpg --symmetric. Si vous cryptez (et ne signez pas), mais qu'on vous demande une phrase secrète, vous utiliserez probablement une cryptographie symétrique.

En OpenPGP, la cryptographie à clé publique/privée est jamais utilisé pour chiffrer entrée directement.