Chiffrement côté client vs chiffrement côté serveur pour les téléversements
Chiffrement côté client vs côté serveur expliqué avec modèles de menace et compromis UX pour stocker contrats, pièces d'identité et fichiers médicaux dans une application métier.

Pourquoi le choix du chiffrement importe pour les documents téléversés
Si votre application permet aux gens de téléverser des fichiers, vous ne stockez pas seulement des « documents ». Vous stockez souvent une seconde identité pour l'utilisateur : contrats signés, photos de passeport ou permis, formulaires médicaux et résultats de laboratoire. Les fichiers sont petits. Les risques qui leur sont associés ne le sont pas.
Un contrat divulgué peut déclencher des conséquences juridiques et financières : les prix deviennent publics, les signatures sont copiées et les conflits dégénèrent rapidement. Un scan d'identité volé peut conduire à du vol d'identité et à la prise de contrôle de comptes. Des documents médicaux peuvent exposer des informations de santé privées que les gens n'avaient jamais prévu de partager largement. Une erreur peut nuire à la confiance pendant des années.
Les équipes disent souvent « stockage chiffré » en voulant dire des choses différentes. Parfois elles parlent de la connexion de téléversement (HTTPS). Parfois elles parlent du fichier chiffré sur le disque (chiffrement au repos). Parfois elles parlent du fichier chiffré avant de quitter l'appareil de l'utilisateur, de sorte que le serveur ne voit jamais le texte en clair (chiffrement côté client). Ce ne sont pas des concepts interchangeables. Ils protègent contre des défaillances différentes.
Les choix de sécurité influencent aussi l'utilisabilité et le support au quotidien. Plus de confidentialité peut signifier plus de friction : étapes supplémentaires pour voir un fichier, partage plus difficile, recherche et aperçus limités, et récupération pénible quand quelqu'un perd un appareil ou une clé. Un accès plus simple permet l'indexation, l'analyse antivirus, les aperçus et les réinitialisations de mot de passe, mais augmente aussi ce que votre serveur (et toute personne qui le compromet) peut voir.
Imaginez une petite clinique téléversant des assurances et des PDF médicaux. Le personnel doit retrouver le bon fichier rapidement, mais la clinique veut aussi réduire les dégâts si un compte admin est piraté. Le modèle « correct » dépend de l'échec qui ferait le plus de mal et du niveau d'inconvénient que les utilisateurs toléreront.
Définitions rapides : chiffrement côté client vs côté serveur
La question pratique est simple : quand le fichier est-il chiffré, et qui peut le déchiffrer ensuite ?
Le chiffrement côté serveur signifie que le fichier arrive lisible à votre backend, et que votre serveur le chiffre avant de le sauvegarder. C'est le chiffrement au repos : si quelqu'un vole un disque ou obtient un accès brut à un bucket de stockage, il voit des données chiffrées. Votre serveur peut cependant déchiffrer le fichier quand c'est nécessaire.
Le chiffrement côté client signifie que le fichier est chiffré sur l'appareil de l'utilisateur (navigateur ou mobile) avant l'envoi. Votre serveur ne stocke que le texte chiffré. En fonctionnement normal, le serveur ne peut pas lire le document à moins d'avoir accès aussi à la clé de déchiffrement.
La propriété des clés est la vraie ligne de démarcation :
- Avec le chiffrement côté serveur, les clés sont gérées par votre backend (souvent via un service de gestion de clés), et le backend déchiffre les fichiers pour les utilisateurs autorisés.
- Avec le chiffrement côté client, les clés sont contrôlées par l'utilisateur, son appareil ou un secret conservé côté client, et le backend fait surtout respecter les règles de stockage et d'accès.
Dans les deux modèles, vous avez toujours besoin d'authentification et d'autorisations. Le chiffrement ne remplace pas le contrôle d'accès.
Les gens utilisent aussi « chiffrement de bout en bout » pour dire : le fichier est chiffré sur l'appareil de l'expéditeur, reste chiffré sur le serveur, et n'est déchiffré que sur l'appareil d'un destinataire approuvé. Cela peut améliorer la confidentialité, mais complique les aperçus côté serveur, la recherche plein texte, l'analyse antivirus et la récupération facile, sauf si vous acceptez de modifier le modèle de menace.
Modèles de menace : contre quoi vous essayez réellement de vous protéger
Le chiffrement n'aide que si vous êtes clair sur les risques que vous voulez réduire. « Personne sauf l'utilisateur prévu ne doit pouvoir lire le fichier » mène à des choix différents de « réduire les dégâts si le stockage est divulgué ».
Les menaces courantes pour les applications qui stockent des contrats, des IDs ou des documents médicaux comprennent :
- Mots de passe volés ou réutilisés (prise de compte)
- Accès interne plus large que nécessaire (support, admin, contractuels)
- Un compte cloud compromis ou un bucket mal configuré
- Un bug ou une fuite exposant bases de données ou sauvegardes
- Un malware sur l'appareil d'un utilisateur
Il aide aussi de séparer où l'exposition peut se produire :
- En transit : le fichier qui va de l'appareil au serveur
- Au repos : stockage d'objets, lignes de base de données, sauvegardes, logs
- Pendant la visualisation/le traitement : aperçus, OCR, recherche, conversions
Voici la différence centrale. Avec le chiffrement côté serveur, votre système peut déchiffrer, donc il peut prévisualiser, scanner et indexer. Avec le chiffrement côté client, le serveur stocke du texte chiffré et ne peut pas lire le contenu sans les clés détenues par l'utilisateur. Cela réduit généralement le périmètre d'impact en cas de compromission du serveur et de l'accès interne.
Le chiffrement n'empêche pas tout. Si un appareil est infecté, le malware peut récupérer le fichier avant chiffrement ou après déchiffrement. Si quelqu'un peut voir un document, il peut toujours en faire une capture d'écran, le repartager ou l'imprimer.
Ce que chaque modèle protège (et ce qu'il ne protège pas)
Une façon utile de comparer ces approches est de demander : qui peut voir le fichier en clair à un moment donné ? Cette réponse façonne l'impact d'une fuite, le risque interne et la sécurité des sauvegardes.
Avec le chiffrement côté serveur, une brèche du serveur peut encore exposer beaucoup. Le backend a généralement accès aux clés de déchiffrement (ou peut les demander) parce qu'il doit générer des aperçus, lancer des antivirus, supporter la recherche ou gérer le partage. Dans le pire des cas, un attaquant qui obtient à la fois les données stockées et l'accès aux clés peut tout déchiffrer.
Avec le chiffrement côté client, un attaquant qui compromet votre infrastructure vole typiquement des blobs chiffrés. Sans clés détenues par les utilisateurs, ces blobs sont beaucoup moins utiles.
L'accès interne est l'endroit où la différence devient la plus visible. Avec le chiffrement côté serveur, un employé privilégié, un administrateur cloud ou un compte support compromis peut souvent accéder aux documents en se faisant passer pour l'application ou en interrogeant le stockage. Avec le chiffrement côté client, votre infrastructure peut stocker et déplacer les fichiers, mais ne peut pas les lire sans que des clés soient fournies.
Le chiffrement côté client ne résout pas un appareil piraté. Pour les téléversements à haut risque comme les IDs et les PDF médicaux, la sécurité des appareils et la protection des comptes comptent autant que le chiffrement du stockage.
Faites aussi attention aux fuites hors du « dépôt de fichiers ». Beaucoup d'incidents surviennent via :
- Sauvegardes et instantanés qui capturent des fichiers déchiffrés ou des clés
- Logs qui enregistrent noms de fichiers, métadonnées ou texte extrait
- Vignettes, aperçus et index de recherche
- Exportations vers email, chat ou outils de ticketing
- Fichiers temporaires créés pendant le téléversement ou la conversion
Compromis UX que les utilisateurs remarquent immédiatement
La plus grande différence n'est pas mathématique. C'est ce que les utilisateurs peuvent faire facilement et ce qui devient difficile.
Le chiffrement côté serveur est souvent invisible. Les utilisateurs se connectent, téléversent et prévisualisent immédiatement. Le support peut réinitialiser l'accès. Les admins peuvent généralement réaffecter des permissions quand quelqu'un est en congé.
Le chiffrement côté client change l'onboarding et le travail quotidien. Les utilisateurs peuvent avoir besoin d'une phrase secrète plus forte, d'une clé locale stockée sur un appareil ou d'une étape de déverrouillage supplémentaire. Changer d'appareil, vider un navigateur ou réinstaller une application peut bloquer l'accès à moins d'avoir prévu la sauvegarde et la récupération des clés.
La récupération de compte surprend souvent les équipes. Si seul l'utilisateur détient la clé de déchiffrement, « mot de passe oublié » peut se transformer en « accès perdu ». Vous pouvez ajouter une clé de récupération ou un flux d'entiercement, mais vous devez être honnête sur ce que cela implique et l'expliquer clairement.
Le partage devient aussi plus compliqué. Avec le chiffrement côté serveur, le partage relève surtout des autorisations. Avec le chiffrement côté client, le partage implique souvent aussi le partage de clés, ainsi que des questions comme la révocation et le devenir des anciennes copies.
La recherche et les fonctionnalités de commodité peuvent forcer le déchiffrement quelque part. La recherche en texte intégral, les aperçus et l'OCR sont plus simples quand le serveur peut lire le fichier. Si vous voulez une confidentialité de type bout en bout, vous devrez peut-être faire de l'OCR côté client, de l'indexation locale ou accepter une recherche limitée (par exemple, seulement noms de fichiers et étiquettes).
Exemple : une clinique téléverse des PDF de laboratoire et veut de l'OCR pour trouver les noms des patients dans les scans. Le chiffrement côté serveur supporte l'OCR et la recherche rapides. Le chiffrement côté client pousse ce travail sur les appareils utilisateurs, ce qui peut être plus lent et plus difficile à supporter sur web et mobile.
Besoins spécifiques par type de document : contrats, IDs et dossiers médicaux
Le meilleur choix dépend moins du type de fichier que du flux de travail : qui doit le lire, à quelle vitesse, à quelle fréquence et pendant combien de temps.
Contrats
Les contrats impliquent souvent révision, modifications, approbations et pistes d'audit. Les équipes veulent aussi la recherche fiable, le partage et des règles de rétention.
Si votre application prend en charge la revue collaborative dans le produit, le chiffrement côté serveur est souvent le défaut pratique parce que le système peut rendre des aperçus, exécuter la recherche et appliquer l'accès basé sur les rôles sans demander aux utilisateurs de gérer des clés.
Le chiffrement côté client peut convenir si l'application est surtout un coffre-fort, comme stocker des PDF signés finaux pour un petit groupe d'exécutifs. Le compromis est une commodité intégrée plus faible à moins d'ajouter des outils côté client.
IDs (passeports, permis)
Les IDs sont à haut risque mais souvent de courte durée. Beaucoup d'équipes n'en ont besoin que le temps de vérifier une personne, puis les suppriment. Le flux est une visualisation rapide et des règles de manipulation strictes, pas de collaboration.
Une approche courante est le chiffrement côté serveur associé à un contrôle d'accès strict, des journaux d'audit forts et une rétention courte. Le chiffrement côté client peut convenir si le personnel de support ne doit jamais pouvoir voir les IDs, mais il faut alors un autre moyen de compléter la vérification.
Documents médicaux
Les dossiers médicaux portent des attentes de confidentialité plus fortes. Les utilisateurs supposent souvent que seul le minimum de personnes peut y accéder.
Le chiffrement côté client peut réduire l'exposition si le serveur est compromis ou si l'accès admin est détourné. Mais il peut aussi créer de vrais problèmes UX et opérationnels : réinitialisations de mot de passe, changements d'appareil et accès d'urgence deviennent compliqués.
Avant de choisir, mappez chaque type de document au flux de travail :
- Qui doit le lire (et depuis où)
- À quelle vitesse il doit s'ouvrir
- Combien de temps vous le conservez
- Quelles fonctionnalités produit sont importantes (aperçu, recherche, suppression automatisée)
Comment choisir : un processus de décision pas à pas
Commencez par écrire ce que vous stockez et qui y touche. Un dossier appelé « uploads » n'est pas une politique.
Étape 1 : cartographiez l'accès, pas seulement les « utilisateurs »
Listez les rôles et répondez à deux questions : qui doit pouvoir ouvrir le fichier, et qui ne doit jamais pouvoir l'ouvrir (y compris les admins) ? Incluez la rétention pendant que vous y êtes.
Étape 2 : choisissez vos hypothèses de menace
Soyez direct sur ce que vous défendez.
- Si le risque interne est une préoccupation majeure, le chiffrement côté client devient plus attractif.
- Si la perte d'appareil et les réinitialisations de mot de passe sont fréquentes, vous paierez ce choix par une complexité de récupération.
Ensuite, testez l'expérience :
-
Récupération et support : Que se passe-t-il lorsqu'une personne oublie un mot de passe ou perd un téléphone ? Si vous devez récupérer l'accès, le chiffrement purement côté client peut ne pas convenir.
-
Fonctionnalités indispensables : Avez-vous besoin d'aperçus, de recherche, d'OCR, de signature électronique ou de traitement via API ? Beaucoup de ces fonctions sont plus simples avec le déchiffrement côté serveur quelque part dans le flux.
-
Audit et conformité : Avez-vous besoin de journaux clairs indiquant qui a accédé à quoi et quand ? Les deux modèles peuvent journaliser les accès, mais les architectures côté client demandent un soin supplémentaire pour éviter les réponses « nous ne pouvons pas vous aider ».
La plupart des équipes finissent par adopter un hybride : chiffrement côté serveur pour la plupart des documents, et chiffrement côté client pour un petit ensemble de téléversements « invisibles au personnel ».
Erreurs courantes et pièges à éviter
Le piège le plus grand est de traiter le chiffrement comme toute l'histoire. La confidentialité et la conformité dépendent aussi de qui peut accéder aux données, comment l'accès est approuvé, ce qui est journalisé, combien de temps les fichiers sont conservés et comment les demandes de suppression sont traitées.
Un second piège est de construire le chiffrement côté client sans plan de récupération. Si un utilisateur perd un appareil, oublie une phrase secrète ou quitte l'entreprise, pouvez-vous restaurer l'accès sans casser votre promesse de sécurité ? « Nous ne pouvons pas vous aider » peut être acceptable pour un coffre personnel, mais échoue souvent dans les applications métier.
Ces erreurs provoquent des fuites et des contournements réels :
- Donner aux admins un chemin caché « tout voir », ou permettre au support de s'imposer comme des utilisateurs, sans journaux stricts et approbation de second niveau.
- Déchiffrer dans le navigateur ou l'app et laisser des copies traîner (aperçus mis en cache, téléchargements temporaires, dossiers synchronisés).
- Envoyer des documents « sécurisés » par des canaux non sécurisés ensuite (emails PDF, captures d'écran collées dans le chat, fichiers joints aux tickets).
- Rendre le flux sécurisé si contraignant que les utilisateurs se tournent vers des disques personnels ou prennent des photos de l'écran.
- Supposer que le « chiffrement au repos » satisfait automatiquement aux exigences de consentement, d'historique d'accès, de rétention et de notification de fuite.
Exemple : une clinique chiffre des formulaires d'admission, puis le personnel exporte un rapport de facturation qui crée un dossier local non chiffré. Ce dossier est sauvegardé sur un drive partagé. La fuite se produit dans le flux de travail, pas dans la crypto.
Liste de contrôle rapide avant de vous engager
Écrivez une phrase simple : qui doit pouvoir lire ces fichiers, et qui ne doit jamais pouvoir le faire, même si quelqu'un obtient accès à vos serveurs.
Ensuite vérifiez :
- Qui peut déchiffrer, et quand ? Listez les rôles et conditions exacts. Si votre politique dit « seulement l'uploader », n'ajoutez pas discrètement une porte dérobée par des clés partagées.
- Pouvez-vous révoquer rapidement l'accès ? Le offboarding est le vrai test. Décidez si l'accès est lié à un compte, un appareil ou un groupe.
- Que se passe-t-il après la perte d'appareil ou la réinitialisation du mot de passe ? Si vous avez besoin de récupération, protégez-la par des approbations fortes.
- Avez-vous besoin d'aperçus, d'analyse antivirus ou d'OCR ? Si oui, planifiez où le déchiffrement a lieu et qui peut le déclencher.
- Vos journaux d'audit sont-ils assez précis ? Définissez ce qui compte comme « consulté » vs « téléchargé », et capturez l'utilisateur, l'heure, l'appareil et la raison.
Scénario exemple : une petite équipe stockant des IDs et des PDF médicaux
Une petite clinique a une application où le personnel téléverse des orientations patient (PDF) et des photos d'ID d'assurance. L'objectif est d'acheminer rapidement les documents aux bonnes personnes, tout en réduisant les dégâts dus à la perte d'appareils, aux comptes compromis ou aux erreurs cloud.
Une approche viable est le chiffrement côté serveur avec des rôles stricts. Les fichiers sont chiffrés au repos, et l'accès est contrôlé par des permissions : l'accueil peut téléverser, la facturation peut voir les IDs, et les cliniciens peuvent voir les orientations. C'est généralement plus facile au quotidien parce que le personnel peut ouvrir les documents sur desktop ou mobile sans étapes supplémentaires, et les superviseurs peuvent réassigner l'accès en cas d'absence.
Une autre approche utilise le chiffrement côté client pour les éléments les plus sensibles. Le fichier est chiffré sur l'appareil avant le téléversement, donc le serveur stocke du texte chiffré. Cela peut réduire l'impact des fuites serveur et de l'accès interne, mais change les opérations :
- Les réinitialisations de mot de passe restaurent normalement l'accès avec le chiffrement côté serveur ; avec le chiffrement côté client, les réinitialisations peuvent verrouiller les utilisateurs à moins que les clés soient sauvegardées en toute sécurité.
- Le turnover du personnel est plus simple avec le chiffrement côté serveur ; avec le chiffrement côté client, vous devez prévoir un plan de transfert ou d'entiercement des clés pour que les documents restent accessibles.
Les utilisateurs ressentent de la friction autour du partage, de l'accès mobile et de la récupération après la perte d'un téléphone. Ces détails comptent autant que le modèle de chiffrement lui-même.
Étapes suivantes : décider, documenter la politique et implémenter
Commencez par écrire vos hypothèses de menace en langage clair. Choisissez l'approche la plus simple qui satisfait votre risque, puis renforcez seulement là où les documents le justifient vraiment.
Mettez la décision dans un court jeu de règles interne que les gens peuvent suivre :
- Quels types de fichiers sont autorisés et où ils peuvent être stockés
- Qui peut y accéder et les partager, et comment l'accès est approuvé
- Règles de rétention et de suppression
- Comment la récupération fonctionne après réinitialisation de mot de passe et perte d'appareil
- Comment les exportations (téléchargements, email, messagerie) sont traitées et quand elles sont bloquées
Concevez ensuite l'implémentation autour de ces règles : vérifications de rôle, actions auditées (visualisation, téléchargement, partage), aperçus sûrs et gestion soignée des clés.
Si vous construisez sur une plateforme no-code comme AppMaster (appmaster.io), il aide de modéliser les rôles et les flux d'approbation tôt, puis d'ajuster au fur et à mesure que les exigences changent sans réécrire toute l'application. L'important est de faire en sorte que le chemin sécurisé soit le chemin facile pour les vrais utilisateurs.
FAQ
Utilisez le chiffrement côté serveur quand vous avez besoin de prévisualisations fluides, d'OCR, d'analyse antivirus et d'une récupération de compte facile. Utilisez le chiffrement côté client quand réduire le risque interne et limiter ce que vos serveurs peuvent lire compte plus que la commodité.
Non. HTTPS protège le fichier en transit pendant son transfert sur le réseau. Il vous faut toujours le chiffrement au repos et un bon contrôle d'accès pour protéger les fichiers dans le stockage, les sauvegardes et les systèmes internes.
Le chiffrement côté serveur vous protège surtout si quelqu'un obtient un accès brut au stockage (comme un bucket divulgué, un disque volé ou une sauvegarde exposée). Il n'empêche pas quelqu'un qui peut accéder à votre backend ou aux clés de déchiffrer les fichiers.
Le chiffrement côté client aide surtout quand votre serveur, les administrateurs ou le compte cloud pourraient être compromis, car le serveur ne stocke que des blobs chiffrés. Il n'aidera pas si l'appareil d'un utilisateur est infecté ou si l'utilisateur partage le fichier déchiffré.
Si vous ne prévoyez pas de récupération, les utilisateurs peuvent perdre l'accès de façon permanente après la perte d'un appareil, la réinitialisation du navigateur ou l'oubli d'une phrase secrète. Par défaut sûr, concevez une méthode de récupération claire (comme une clé de récupération ou un flux d'entiercement approuvé) et expliquez honnêtement le compromis.
Le chiffrement côté serveur rend le partage principalement une question d'autorisations, car le serveur peut déchiffrer pour les utilisateurs autorisés. Le chiffrement côté client exige souvent un partage de clés et des règles de révocation, ce qui complique l'accès de groupe et le offboarding.
Généralement oui, car l'OCR et la recherche en texte intégral nécessitent la lecture du contenu du document. Avec le chiffrement côté client, vous devez soit faire ce travail sur l'appareil (plus difficile à supporter), soit accepter une recherche limitée (par exemple par noms de fichiers et étiquettes).
Par défaut, optez pour le chiffrement côté serveur avec des rôles stricts, une rétention courte et un audit renforcé si le personnel doit voir rapidement les IDs. Envisagez le chiffrement côté client seulement si le personnel ne doit absolument jamais pouvoir voir les IDs, et que vous disposez d'un flux de vérification alternatif.
Si vous avez besoin de workflows d'équipe (revue, approbations, pistes d'audit, prévisualisations), le chiffrement côté serveur est généralement la base pratique. Si c'est plus comme un coffre privé pour un petit groupe, le chiffrement côté client peut convenir, mais attendez-vous à plus de friction pour l'accès et le partage.
Commencez par lister qui doit pouvoir ouvrir chaque type de document et qui ne doit jamais pouvoir le faire, même avec un accès administrateur. Décidez ensuite où la déchiffrement est autorisé (serveur, client ou les deux), définissez la rétention et assurez-vous que vos journaux enregistrent les événements de consultation et de téléchargement.


