L'encodage (encoding)
Principe
L’encodage consiste simplement à transformer des données de façon à ce qu’elles soient plus facilement “échangeables” et “communicables” entre différents systèmes. Ainsi, encoder du contenu n’a aucun impact au niveau de la sécurité des données : il s’agit uniquement de modifier la façon dont sont affichées et/ou communiquées des informations.
Exemples
L’encodage des couleurs
Si vous êtes familier avec l’informatique, il est très probable que vous ayez déjà rencontré des couleurs exprimées au format RGB (pour Red Green Blue) ou hexadécimal. Par exemple, en informatique, la couleur « rouge » pourra aussi bien s’écrire « rgb(255,0,0) » que « #FF0000 ».
Ces notations ne sont ni plus ni moins que des encodages de couleurs en informatique ! Par exemple, le principe de l’encodage RGB consiste à indiquer successivement les intensités du rouge, du vert et du bleu qui composent une couleur avec des valeurs allant de 0 à 255. La notation hexadécimale reprend le même principe, à la différence prêt que les valeurs sont notées sur deux caractères allant de 0 à F pour chaque couleur.
On comprend donc bien ici qu’il n’y a aucune volonté de “masquer” ou “sécuriser” de l’information : il s’agit simplement de proposer des notations différentes qui seront plus ou moins adaptées selon le contexte. On notera d’ailleurs qu’il est très simple de convertir une notation RGB en hexadécimal et vice versa, comme on peut le voir avec le convertisseur de couleurs du site W3Schools :
L’encodage Base64
Un format d’encodage largement utilisé est le Base64, qui consiste à encoder des données sur un alphabet de 64 caractères seulement !
Cet alphabet restreint fait du Base64 un standard de l’encodage en le rendant extrêmement polyvalent. Il est par exemple largement utilisé dans l’échange de communications (e.g. emails).
Pour en savoir plus sur cet encodage, je vous invite à jeter un coup d’oeil à l’article Wikipédia sur Base64 qui est très succinct et compréhensible 😉
Vulnérabilités
Comme expliqué plus haut, l’encodage a uniquement pour but de transformer des données de façon à les rendre plus facilement échangeables; aucune couche de sécurité n’est donc ajoutée. Ainsi, on peut difficilement parler de vulnérabilité dans un système qui, à la base, n’offre aucune sécurité particulière !