Skip to content

Survol de la cryptographie

La page suivante présentera des schémas indiquant comment les différentes clés cryptographiques sont utilisées dans la solution.

Matériel cryptographique

La solution gère de nombreuses clés pour divers usages. Toutes les clés peuvent être remplacées par de nouvelles clés selon les politiques de rotation de clés définies par le client.

  • Clé et certificat TLS du serveur : Cette paire de clés asymétriques est utilisé dans le protocole TLS pour chiffrer tout le trafic avec le serveur.
  • Clé et certificat TLS HTTPS de la passerelle : Cette paire de clés asymétriques est utilisé dans le protocole TLS pour chiffrer tout le trafic HTTPS avec la passerelle.
  • Clé et certificat TLS FTPS de la passerelle : Cette paire de clés asymétriques est utilisé dans le protocole TLS pour chiffrer tout le trafic FTPS avec la passerelle.
  • Paire de clés SSH de la passerelle : Cette paire de clés asymétriques est utilisé dans le protocole SSH pour chiffrer tout le trafic SFTP avec la passerelle.
  • Autorité de certification interne: Une instance de la solution a sa propre autorité de certification avec sa paire de clé. Tous les autres certificats émis par la solution sont signés par l'autorité interne.
  • Paire de clés du serveur : Le serveur a sa propre paire de clés et requiert que tous les fichiers envoyés aient sa clé publique en tant que l'un des "destinataires". Cela permet au serveur de déchiffrer le contenu du fichier et d'exécuter des extensions qui peuvent effectuer un post-traitement.
  • Paire de clés utilisateur : Chaque compte dans la solution a sa propre paire de clés qu'il utilise pour signer les fichiers envoyés et déchiffrer les clés lors du téléchargement de fichiers.
  • Paire de clés de communauté : Toutes les communautés (et partages) ont leur propre paire de clés. Lorsqu'un fichier est envoyé à une communauté, la clé publique de la communauté est utilisée comme destinataire.
  • Clé de chiffrement de fichier : Chaque fichier est chiffré en utilisant une clé symétrique générée aléatoirement. Cette clé est chiffrée sous les clés publiques des destinataires et conservée dans l'en-tête de l'enveloppe PKCS7 du fichier chiffré.

Stockage des clés

Clés symétriques de chiffrement de fichiers

Chaque fichier est chiffré à l'aide d'une clé symétrique générée aléatoirement (tel que décrit ci-dessus). Cette clé symétrique est stockée chiffrée sous les clés publiques des destinataires (communautés ou utilisateurs) dans l'en-tête de l'enveloppe PKCS7 de chaque fichier individuel. Elle n'est pas stockée séparément dans la base de données.

Clés asymétriques (paires de clés utilisateur et communauté)

  • Les clés publiques (certificats) sont stockées dans la table de base de données Certificate.
  • Les clés privées correspondantes sont stockées dans la table de base de données PrivateKeys.
  • Les clés dans ces tables sont stockées de manière obfusquée mais non chiffrées au niveau de la couche applicative.
  • Si la base de données utilise un chiffrement tel que le Transparent Data Encryption (TDE), le matériel cryptographique bénéficiera de cette couche de protection supplémentaire au repos.
  • Si une clé doit être révoquée (par exemple en raison d'une compromission suspectée), consultez Comment révoquer une clé asymétrique.

Matériel cryptographique TLS et SSH

  • Le matériel cryptographique utilisé pour les protocoles TLS (HTTPS, FTPS) et les clés SSH (serveur SFTP) est stocké de manière obfusquée dans la table de base de données CryptographicMaterial.
  • Les mêmes considérations concernant le TDE s'appliquent.

Envoi d'un fichier en utilisant le transfert HTTPS de bout en bout

Pour avoir des transferts chiffrés de bout en bout, en plus de la sécurité en transport habituelle (TLS), le client (navigateur web) génère une paire de clés pour récupérer directement les clés du serveur. Il génère ensuite lui-même la clé de chiffrement symétrique du fichier et la chiffre sous les clés publiques du destinataire et du serveur avant de l'envoyer à la passerelle. La passerelle n'a pas les clés privées correspondantes, elle ne peut donc pas déchiffrer la clé de chiffrement du fichier; elle la place directement dans l'en-tête de l'enveloppe PKCS7 sous forme chiffrée et assemble le reste de l'enveloppe PKCS7.

Téléchargement d'un fichier en utilisant le transfert HTTPS de bout en bout

Envoi d'un fichier en utilisant HTTPS (sans bout en bout) ou FTPS

Téléchargement d'un fichier en utilisant HTTPS (sans bout en bout) ou FTPS

Envoi d'un fichier en utilisant SFTP

Téléchargement d'un fichier en utilisant SFTP