sécurité automatisation saisie comptable

Automatiser la saisie comptable, oui, mais quid de la sécurité ?

Note : cet article est concentré sur la sécurisation des données. Pour plus d’informations sur la confidentialité, rendez-vous ici !

Chez Chaintrust, notre mission est d’accélérer et de sécuriser la tenue des comptes. A y regarder de plus prêt, accélérer et sécuriser semblent être des verbes contradictoires : plus on va vite, plus on doit rajouter des couches de sécurité pour s’assurer de rester sur la route.

La sécurité est donc un élément clé de notre proposition de valeur. Sans sécurité, pas de confiance possible ; il était donc temps que nous vous expliquions en détail tout ce que nous faisons à ce niveau pour s’assurer que vos données transitent d’un état à un autre sans aucun risque.

La sécurité chez Chaintrust, une priorité

Le responsable du traitement des données au regard de la CNIL est Mikaël Gandon, fondateur et président de Chaintrust. C’est lui qui est le Data Officer, garant de la sécurité des données. 

Rentrons un peu plus dans la technique. 

Nous avons précédemment exploré ce qui se passe quand vous déposez un FEC sur Chaintrust. Nous avons vu que nous utilisions des services d’OCR lorsque vous déposez des factures. Tous ces services et ces technologies fonctionnent sur des serveurs dans le Cloud, c’est à dire un ensemble de bases de données et de serveurs localisés partout en France. 

Ceci signifie que Chaintrust ne gère pas elle-même ses serveurs. Nous utilisons pour cela des services distants proposés par des sociétés spécialisées dans ce type de service.

Le rôle des protocoles et des certificats pour sécuriser les données

La première d’entre elle s’appelle Heroku : il s’agit d’une importante filiale de Salesforce, qui met à disposition des entreprises tech des serveurs basés en Europe. Outre la facilité d’utilisation de leurs serveurs, la grande force d’Heroku tient justement dans la sécurisation des données et des flux par lesquels elles transitent. Pour cela, Heroku utilise un protocole de pointe appelée le SSL / TLS 1.2.

Ces deux protocoles, très similaires et développés depuis la fin des années 90, permettent de sécuriser les échanges informatiques entre plateformes sur Internet. Concrètement, lorsque vous vous connectez à notre site, vous pouvez voir sur la barre de navigation un petit cadenas, qui confirme que vous êtes bien sur un site sécurisé.

A chaque fois que vous cliquez sur un lien Chaintrust, votre navigateur envoie à notre serveur une demande de mise en place de connexion sécurisée. Notre serveur envoie automatiquement à votre navigateur un certificat, contenant une clé publique avec des informations sur notre société. Votre navigateur peut alors vérifier cette signature numérique avec des données publiques contenues dans des certificats des autorités de certifications

Lorsque ces informations sont confirmées et correctes, le navigateur génère une clé de chiffrement qu’il aura chiffrée grâce au certificat obtenu sur le serveur. Le serveur déchiffre cette clé de session grâce à une autre clé : la clé privée. 

Cela permet de s’assurer que si des pirates informatiques s’insèrent entre votre ordinateur et notre serveur, puis qu’ils parviennent à intercepter les communications entre les deux, ils ne puissent à aucun moment les déchiffrer.

Pour obtenir ces clés privées et publiques, Chaintrust a besoin de certificats SSL, qui sont délivrés par les bureau d’enregistrements de noms de domaine. Chaintrust récupère son nom de domaine, et donc son certificat SSL, chez Gandi, un célèbre hébergeur web.

Résumons donc : Le nom de domaine Chaintrust est hébergé chez Gandi, et notre application est hébergée chez Heroku. Les deux services communiquent avec le protocole SSL/TLS 1.2, et vous accédez au site avec le protocole HTTPS. Vos données sont donc sécurisées sur nos serveurs.

Qu’en est-il de l’authentification et de l’application en elle-même ?

Tout d’abord, vous devez savoir que nous utilisons Ruby On Rails, un framework de développement open source utilisé par des millions de développeurs à travers le monde. De très nombreuses sociétés, comme Doctolib, Hostnfly, Job Teaser en France, ou Airbnb, Bloomberg, Github dans le monde utilisent cette technologie. 

Si vous utilisez Chaintrust au quotidien, vous savez que vous avez besoin d’un mot de passe pour vous identifier. Il y a donc bien une gestion par mot de passe des sessions d’utilisateur. 

Un adage bien connu dans l’informatique, c’est de ne jamais développer soi-même sa propre sécurité cryptographique. Nous avons bien entendu respecté cette règle fondamentale, et avons opté pour une librairie open source très célèbre appelée Devise, qui gère l’authentification de nos utilisateurs. 

Ainsi, lorsque vous vous connectez sur notre site, une fois vos requêtes chiffrées et envoyées sur notre plateforme heroku en HTTPS, celles-ci atteignent les contrôleurs de notre application Ruby On Rails. A ce moment, elles sont prises en charges par des middlewares dédiées, comme Rack, qui offrent une couche de sécurité supplémentaire. Devise s’occupe ensuite de l’authentification de vos requêtes.

Au moment où vous vous connectez, votre navigateur enregistre un token CSRF, qui est aussi stocké sur notre serveur. Toute requête qui est reçue sur notre serveur doit comporter ce jeton d’identification, ce qui nous permet de nous assurer que nous ne recevons aucune requête malicieuse. Ceci est géré automatiquement par Ruby On Rails.

Une fois que toute vos requêtes ont bien été reçues, et traitées, nous stockons le contenu de vos données sur un service AWS RDS, et les images de vos documents sur des bandes de stockage AWS S3 : bien entendu, nous les stockons en France, sur un service qui respecte toutes les règles de confidentialité RGPD.

La sécurité doit être une priorité lorsque de telles données sont en jeu. Chaintrust s’est fondée sur un modèle “security by design”, de telle sorte que depuis le départ, la protection des informations a toujours été un sujet fondamental. Nous serions ravis de vous en parler davantage si vous avez des questions !