Chiffrement et signature GPG dans LibreOffice 6.0 : comment ça marche ?

Chiffrement et signature GPG dans LibreOffice 6.0 : comment ça marche ?

Bientôt au tour de Firefox ?

Avatar de l'auteur
David Legrand

Publié dans

Logiciel

20/02/2018 5 minutes
19

Chiffrement et signature GPG dans LibreOffice 6.0 : comment ça marche ?

Avec LibreOffice 6.0, il est désormais possible de chiffrer et de signer directement un fichier via GnuPG. Mais dans la pratique, est-ce simple ? C'est ce que nous avons vérifié pour vous.

LibreOffice 6.0 est disponible depuis quelques jours, après de longs mois de travail. Parmi ses nombreuses nouveautés, il y en a une qui a particulièrement attiré notre attention : le support natif de GnuPG (GPG). 

Il s'agit de l'aboutissement du projet gpg4libre, financé par l'Office fédéral de la sécurité des technologies de l’information allemand (BSI), qui vise à permettre la signature et le chiffrement des documents LibreOffice via des fonctionnalités intégrées.

Un chiffrement natif, qui exploite des standards

Le processus est différent d'un chiffrement classique via GPG. Dans ce dernier cas, il faut déchiffrer le fichier avant de pouvoir l'ouvrir et le modifier. Une fois enregistré, il faut le chiffrer à nouveau avec la bonne clé. Avec l'intégration native, les étapes intermédiaires sont supprimées : il suffit de l'ouvrir, de le modifier et de l'enregistrer.

Le fichier généré au format LibreOffice est une archive que l'on peut décompresser. On y retrouve tous les composants habituels, entièrement chiffrés. Seul le manifeste est encore lisible. Il contient les informations sur le chiffrement, et respecte le standard XML Encryption : 

gpg4libre LibreOffice XML Encryption

Bien entendu, la signature est elle aussi supportée. En pratique, elle l'est même depuis LibreOffice 5.4 sous Linux, la version 6.0 la généralisant à toutes les plateformes. Bien entendu, il faudra que GPG soit installé sur votre machine, parfois via des packs comme GPG4win ou GPG Tools.

La signature d'un fichier en pratique

Pour procéder, rien de plus simple : il vous suffit d'ouvrir un fichier LibreOffice, puis de vous rendre sur la fonction Signatures numériques dans le menu Ficher. Cliquez ensuite sur Signer le document...

Une fenêtre s'ouvrira alors, affichant la liste de vos certificats X.509 et GPG. Signature oblige, il s'agit de ceux pour lesquels vous disposez d'une clé privée. Vous avez la possibilité de voir le détail de chaque certificat ou d'ajouter une description. Une fois votre choix effectué, vous devrez entrer la phrase de passe du certificat.

gpg4libre LibreOffice Signature

Votre signature apparaîtra alors dans la liste, plusieurs pouvant être ajoutées à un même document. Une fois la fenêtre fermée, une barre s'affichera pour indiquer que le document est signé, ainsi qu'une icône dans la barre d'état de l'application. Bien entendu, chaque enregistrement du document réinitialisera les signatures.

Le chiffrement d'un fichier

Pour le chiffrement, tout se passera dans Fichier > Enregistrer sous... (CTRL + MAJ + S). Une case à cocher Chiffrer avec une clé GPG est disponible. Cette fois, c'est une liste des clés publiques accessibles sur votre machine qui sera affichée, avec la possibilité de sélectionner celles à utiliser.

Lors de nos tests, un chiffrement pour plusieurs clés aboutissait pour le moment à une erreur. Dommage pour des documents destinés à une équipe par exemple. Espérons que cela sera corrigé à l'avenir. On regrette aussi l'impossibilité de s'assurer qu'un fichier ouvert est bien chiffré ou non, à travers une icône par exemple, tout comme l'absence d'un processus unique pour assurer le chiffrement et la signature d'un document.

En l'état actuel, il faut en effet opter pour le chiffrement via l'enregistrement, puis signer le fichier via la fonctionnalité dédiée. On aurait aimé que tout puisse se faire d'une traite, puisque les deux solutions vont en général de paire.

gpg4libre LibreOffice Chiffrement

GPG partout : à qui le tour ?

Si elle reste perfectible, on appréciera le travail de l'équipe de LibreOffice pour cette intégration native de GPG. Cette implémentation d'OpenPGP existe sur de nombreuses plateformes depuis près de 20 ans, est largement utilisée pour certains usages, et de telles options ne peuvent que favoriser son expansion. On aimerait d'ailleurs que plus de projets libres fassent cet effort.

Comme pour les avancées de GPG, c'est une institution allemande qui est à l'origine de cette intégration, via un financement. Le gouvernement français, qui a encore récemment vanté les mérites de l'open source à travers une déclaration de Mounir Mahjoubi, pourrait sans doute s'inspirer des pratiques de nos voisins en la matière. D'autant que LibreOffice fait partie du socle interministériel de logiciels libres (dans sa version 5.4 pour le moment).

Enfin, on note que les produits de Microsoft Office ne gèrent qu'une protection par mot de passe et une signature via un certificat X.509 qui peut être généré depuis le compte utilisateur. Le tout via une implémentation maison à laquelle il faut accepter de faire confiance, en l'absence d'un code source public. Et contrairement à Outlook, qui peut être complété par GpgOL, il n'existe pas (encore ?) d'extension permettant une gestion native de GPG. 


La conférence gpg4libre filmée à l'occasion de la Froscon en août 2017

19

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Un chiffrement natif, qui exploite des standards

La signature d'un fichier en pratique

Le chiffrement d'un fichier

GPG partout : à qui le tour ?

Le brief de ce matin n'est pas encore là

Partez acheter vos croissants
Et faites chauffer votre bouilloire,
Le brief arrive dans un instant,
Tout frais du matin, gardez espoir.

Commentaires (19)


Excellente nouvelle, merci David pour l’info et les explications. En espérant effectivement que cela en inspire d’autres.


Ce qu’il faut relever aussi c’est qu’on peut également signer un pdf avec LibreOffice, pour peu qu’on dispose d’un système d’authentification externe, comme, par exemple, une carte d’identité belge qui est prévue pour ça. Ce n’est pas possible avec les signatures GnuGP qui font fermer le document.


Merci pour la présentation de la fonctionnalité, qui a l’air plutôt bien implantée (et a trouvé mon trousseau de clés pré-installé automatiquement et sans aucune difficulté), mis à part la séparation signature / chiffrement qui manque en effet de naturel. Surtout, le chiffrement EFFACE les signatures existantes, ce qui force à re-signer après chiffrement.








JFP285 a écrit :



Surtout, le chiffrement EFFACE les signatures existantes, ce qui force à re-signer après chiffrement.







Ca veut dire que si je chiffre un document écrit/signé par quelqu’un d’autre (=pour faire un envoi confidentiel), le document n’est plus signé par l’auteur d’origine ? WTF ?



En fait cette signature numérique garantit l’authenticité du document et son intégrité. Si le document a été ouvert il a perdu de son intégrité d’origine. Et c’est à l’auteur d’origine de signer et chiffrer son document, pas un tiers pour garantir l’authenticité du document qui acquiert ainsi valeur de preuve par l’écrit (manuscrit au départ), la plus haute valeur de preuve en droit (en droit contractuel tout au moins).

 

LibreOffice suit les normes en la matière, ni plus ni moins.


Dis autrement, document modifié=nouveau document donc nouvelle signature.








numerid a écrit :



LibreOffice suit les normes en la matière, ni plus ni moins.







Bref, si l’auteur n’a pas chiffré son document c’est qu’il voulait absolument qu’il soit en clair.

Par conséquence, tout chiffrement fait par un tiers est une altération du document d’origine et fait donc perdre la signature.



Je ne sais pas d’où vient cette “norme” mais c’est vraiment pas pratique. Je vais continuer d’utiliser un chiffrement externe du document. <img data-src=" />



Question idiote 1, mais ça va mieux en le disant : ce chiffrement est multiplateforme ?



&nbsp;

Bien entendu, la signature est elle aussi supportée. En pratique, elle

l’est même depuis LibreOffice 5.4 sous Linux, la version 6.0 la

généralisant à toutes les plateformes. Bien entendu, il faudra que GPG

soit installé sur votre machine, parfois via des packs comme GPG4win ou

GPG Tools.





Question idiote 2, un LO 5.4 pourra-t-il déchiffrer un fichier chiffré avec LO 6.0 ?


Je suppose que oui, le chiffrement est multiplateforme. OpenPGP est un standard ouvert ( https://tools.ietf.org/html/rfc4880) de nombreux programmes l’utilisent sur de multiples plateformes. GPG est l’un des plus connus et il est multiplateforme.

De même, l’ODF est un standard ouvert ouvert et normé, et de nombreux logiciel savent le lire ou l’écrire https://fr.wikipedia.org/wiki/OpenDocument). Libreoffice est un programme multiplateforme qui écrit nativement en ODF.



Rien ne s’oppose à ce que cela marche partout. Le couple GPG/Libreoffice est multiplateforme, mais on peut très bien imaginé un autre couple de programmes faire le même travail sur un OS ou des OS donné. Il faut juste l’implémenter.



  1. Oui



    1. Le chiffrement n’étant géré qu’à partir de LO 6.x j’ai du mal à voir comment ce serait possible



Intéressant à savoir. Moi qui rédige des jugements à longueur de journée, cette fonction a son importance pour mon travail, à titre professionnel.


Tu dis dans l’article que c’est supporté depuis LibreOffice 5.4 sous Linux <img data-src=" />


La signature :)


<img data-src=" />



Je vais relire le dossier pour comprendre la différence <img data-src=" />


Merci pour la précision, je me disais bien qu’il devait y avoir une raison de ce genre… mais ça ne me satisfait pas complètement non plus, je trouverais plus logique un genre de protection en écriture permettant de chiffrer soi-même un document signé par un tiers pour peu qu’il n’ait pas été modifié, et bien dans la mesure où le chiffrement ne change rien au contenu.

&nbsp;







Jarodd a écrit :



<img data-src=" />



Je vais relire le dossier pour comprendre la différence <img data-src=" />





La signature garantit que le document est validé par toi, le chiffrement

empêche carrément de l’ouvrir si tu ne disposes pas de la clé adéquate.



En fait, on peut signer un document dans LibreOffice depuis la version 5 à peu près à condition d’avoir une signature numérique authentifiée par un organisme externe : carte d’identité (belge pas française) ou badge professionnel quand on a cette signature plus un lecteur de carte.








JFP285 a écrit :



Merci pour la précision, je me disais bien qu’il devait y avoir une raison de ce genre… mais ça ne me satisfait pas complètement non plus, je trouverais plus logique un genre de protection en écriture permettant de chiffrer soi-même un document signé par un tiers pour peu qu’il n’ait pas été modifié, et bien dans la mesure où le chiffrement ne change rien au contenu.





Moi ça ne me satisfaisait pas (et toujours pas d’ailleurs) quand on a commencé à s’amuser à signer un document numériquement il y a deux ans, c’était déjà possible mais avec un dispositif externe et on ne pouvait pas générer de pdf. C’est pour ça que je trouvais l’intérêt limité. D’un autre côté, il y a des cas de figure où cela n’est pas gênant, genre note de service dans une grande structure ou correspondance entre professions juridiques (qui ne sont pas les premières à connaître ça…) entre elles ou entre clients (rédaction d’un contrat par exemple). On a simplement besoin d’un document signé numériquement pour s’assurer de l’identité de l’émetteur.



Maintenant, avec la version 6, en plus, si on dispose d’une signature numérique certifiée physiquement, on peut générer des pdf signés numériquement.



Mais les PDF ne supportent pas GPG mais X.509, comment LibreOffice peut les signer correctement ? (et signature incluse dans le doc, pas avec un fichier de signature externe…)


Comme je l’ai écrit en commentaire, il ne signe pas les pdf dans ce contexte, mais il peut signer numériquement un pdf du moment qu’on dispose d’une signature valide pour le pdf. LibreOffice signe (depuis la version ) les fichiers aux formats odf.