web-dev-qa-db-fra.com

Est-ce que LibreOffice chiffre les fichiers protégés par mot de passe?

Est-ce que LibreOffice crypte réellement un fichier quand on l’enregistre en utilisant l’option "Enregistrer avec mot de passe"?

Tous les détails sont les bienvenus (méthode de cryptage, taille de la clé, utilisation de SALT, remplissage, etc.).

6
random_clyde

LibreOffice utilise le format OpenDocument, qui est une archive cryptée Zip contenant principalement des fichiers xml représentant le document.

Si vous définissez un mot de passe pour lire le document, tous les fichiers contenus dans l'archive Zip seront cryptés séparément, à l'exception des métadonnées qui restent en clair.

Jusqu'à LibreOffice 3.5 (jusqu'à ODF 1.1), l'algorithme Blowfish est utilisé pour le cryptage, les versions actuelles utilisant AES-256 à la place.

Voici quelques ressources fournissant des détails supplémentaires:


De http://listarchives.libreoffice.org/global/users/msg15359.html :

L'enregistrement d'un document avec mot de passe est en effet un cryptage. Les méthodes de chiffrement sont spécifiées dans la spécification ODF pour chiffrer les parties du package Zip. (Il n'y a pas de chiffrement spécifié par ODF pour la forme à fichier unique XML d'un document ODF.)

La méthode par défaut, qui fonctionne pour tous les documents ODF 1.0/1.1/1.2 dans des packages (fichiers ODT, ODP et ODS, par exemple), est la dérivation de clé basée sur mot de passe (PBKDF2) à l'aide de HMAC et SHA1 commençant par un résumé SHA1 de la valeur UTF. -8 mot de passe choisi par l'utilisateur. Le chiffrement avec la clé dérivée est Blowfish avec retour de chiffrement sur 8 bits (CFB 8 bits). Cela est fait sur chaque fichier du paquet Zip qui contient les parties du document ODF. (Chaque partie a un vecteur d'initialisation différent, dérivé de manière aléatoire, mais la clé dérivée est la même pour toutes.)

À partir de ODF 1.2, des méthodes de cryptage supplémentaires peuvent être choisies. Cependant, des problèmes d'interopérabilité se posent si le document est destiné à être ouvert avec autre chose que l'ordinateur et le logiciel utilisé pour le chiffrer (cas d'utilisation courant mais non lorsqu'un échange sécurisé est prévu).

De https://wiki.documentfoundation.org/ReleaseNotes/3.5#Different_Encryption_Algorithm :

Dans LibreOffice 3.5, un algorithme de cryptage différent et plus sécurisé (AES-256) est utilisé pour les fichiers protégés par mot de passe dans les formats de fichier ODF 1.2 et ODF 1.2 Extended. Le nouveau chiffre est activé par défaut. Le chiffrement Blowfish dans les fichiers ODF 1.2 est considéré comme obsolète

De https://en.wikipedia.org/wiki/OpenDocument_technical_specification#Encryption :

Lorsque le fichier OpenDocument est protégé par un mot de passe, la structure de fichier de l'ensemble reste la même, mais le contenu des fichiers XML dans le package est chiffré à l'aide de l'algorithme suivant:

  1. Le contenu du fichier est compressé avec l'algorithme DEFLATE.
  2. Une somme de contrôle d'une partie du fichier compressé est calculée (SHA-1 du contenu du fichier ou SHA-1 des 1024 premiers octets du fichier ou SHA-256 des 1024 premiers octets du fichier) et stockée de manière à ce que le mot de passe l'exactitude peut être vérifiée lors du décryptage.
  3. Un condensé (hachage) du mot de passe entré par l'utilisateur au format UTF-8 est créé et transmis au composant du package. Les versions 1.0 et 1.1 d'ODF n'exigent que la prise en charge du résumé SHA-1, tandis que la version 1.2 recommande SHA-256.
  4. Ce résumé est utilisé pour produire une clé dérivée en étirant la clé avec PBKDF2 en utilisant HMAC-SHA-1 avec un sel de longueur arbitraire (dans ODF 1.2 - ses 16 octets dans ODF 1.1 et ci-dessous) généré par le générateur de nombres aléatoires pour une nombre d'itérations (1024 par défaut dans ODF 1.2).
  5. Le générateur de nombres aléatoires est utilisé pour générer un vecteur d'initialisation aléatoire pour chaque fichier.
  6. Le vecteur d’initialisation et la clé dérivée servent à chiffrer le contenu du fichier compressé. ODF 1.0 et 1.1 utilisent Blowfish en mode de retour chiffré sur 8 bits, tandis que ODF 1.2 le considère comme un algorithme hérité et autorise Triple DES et AES (avec 128, 196 ou 256 bits), tous deux en mode chaînage de blocs de chiffrement. , à utiliser à la place.
5
Byte Commander

LibreOffice utilise les techniques de cryptage suivantes:

Cependant, si la phrase secrète est faible, elle peut être facilement décomposée par la technique de la force brute.

Liens connexes :

2
Severus Tux