Code signing : abus de position dominante des américains ?

D’habitude, je ne suis pas trop du genre à me plaindre ou à faire dans le « billet d’humeur » mais il me semble que ce sujet est important et presque jamais abordé (que ça soit par les politiques ou par les développeurs).

Je souhaite parler aujourd’hui des autorités de certification, si si, vous savez, ces marchands auxquels vous achetez le certificat SSL pour sécuriser votre site Internet.

Les différents types de certificats

Les certificats les plus connus sont bien sûr ceux utilisés dans le cadre de la sécurisation des sites Internet (dont l’adresse débute par https://). Il en existe plusieurs types (des certificats mono-domaine : ils ne peuvent certifier qu’un domaine ; des certificats multi-domaines : ils peuvent certifier différents noms de domaines distincts ; enfin, les certificats Wildcard : ils peuvent certifier un domaine et l’ensemble de ses sous domaines).

Un autre type de certificat, moins connu du grand public : le certificat de signature de code, permet de signer des logiciels (souvent des binaires ou des archives : .exe, .dll, .jar, .zip, etc.) pour assurer aux utilisateurs finaux que le fichier d’installation du logiciel ou directement le logiciel (s’il est portable) n’a pas été modifié par un malandrin.

Enfin, certains certificats, très spécifiques sont également utilisés par les entreprises privées en France lorsque elles souhaitent répondre à des appels d’offre publics. Cela permet d’horodater et de signer leur réponse de façon indiscutable. Il s’agit des certificats RGS (pour Référentiel Général de Sécurité).

Les différents types de validation

Un certificat est censé certifier quelque chose, donc, le « certificateur », c’est à dire en fait l’Autorité de Certification doit garantir un certain nombre de choses (selon le niveau de vérification).

DV – Domain Validation

Le niveau « Domain Validation » est le plus simple. Il s’applique uniquement aux certificats destinés à la sécurisation de sites web et vérifie simplement que le demandeur est bien propriétaire du domaine pour lequel il souhaite obtenir un certificat.

OV – Organisation Validation

Pour le niveau « Organisation Validation », il y a également une vérification de l’identité de l’organisation demandeuse (la société). L’Autorité de Certification est donc censée vérifier l’existence réelle de l’entité.

EV – Extended Validation

Le niveau « Extended Validation », le plus contraignant pousse la vérification de l’identité de l’organisation qui doit être obligatoirement validée par un humain légalement habilité à le faire. Il est souvent nécessaire de passer par un notaire pour ce type de validation.

De plus, le certificat est dans ce dernier cas bien souvent délivré sur un token matériel (une clé de sécurité).

Les différentes autorités de certification

Je m’intéresse dans cet article plus particulièrement aux autorités de certification délivrant des certificats de signature de code.

Et là où le bât blesse, c’est qu’il s’agit presque exclusivement de sociétés américaines. C’est un véritable oligopole avec des sociétés qui n’ont fait qu’être rachetées au fil du temps.

  • Entrust Datacard
  • VeriSign
  • Symantec (ah non, mince, ils se sont fait racheter par Digicert)
  • Digicert
  • Comodo (enfin non, maintenant, on doit dire Sectigo)
  • Go Daddy
  • Global Sign

Le point commun entre toutes ces sociétés ? Elles sont toutes américaines (sauf Global Sign qui était originellement belge et depuis japonaise).

Alors, suis-je le seul que cela inquiète de ne pas avoir le choix d’une Autorité de Certification Européenne ? Pas obligatoirement française, non juste européenne (au moins) …

De plus, cette situation d’oligopole américain qui ne semble déranger personne entraîne évidemment des prix complètement délirants : plus de $400 le certificat de signature de code OV (oui oui OV, même pas EV) chez Digicert sans remise (avec des remises à la tête du client).

Alors évidemment, $400+ c’est peut être rien pour une multinationale (vous savez, les mêmes qui sont et autorité de certification et qui produisent du logiciel : coucou Symantec) ; mais pour un développeur indépendant, c’est juste inaccessible …

La question que je me pose est là suivante :

Qu’est-ce qu’on paye en tant que développeur en fait ?

On paye pour que nos utilisateurs n’aient pas de message de sécurité effrayant du style :

Le filtre SmartScreen depuis Microsoft Windows 8.

Vous pensiez cela ? Ce que vous êtes naïfs !

Non parce que ce message apparaît même si le logiciel est signé par un certificat de signature de code émis par une autorité de certification reconnue par Windows (dans le cas présent).

Par contre, si vous payez davantage, vous pouvez tout simplement le faire disparaître (avec un certificat à validation EV qui coûtera deux fois plus cher pratiquement et pour lequel vous devrez payer également un notaire une centaine d’euros pour attester de l’identité de l’organisation).

Le cas spécifique « Apple » (une société américaine de plus)

Chez Apple, c’est encore mieux, car si tu souhaites signer tes logiciels pour ne pas avoir les messages d’avertissement, tu es obligé de payer le programme développeur Apple à $99 dans lequel tu peux générer des certificats.

Tu ne peux pas choisir ton fournisseur de certificat car seuls ceux fournis par Apple seront reconnus par leur système de sécurité « Gatekeeper« .

Tu payes $99 et c’est bon, tu peux signer ce que tu veux et Apple ne vérifie même pas ton identité …

Il y a évidemment là un indiscutable problème de monopole (tout comme avec l’App Store : unique canal de distribution des logiciels sur iOS). On se demande ce que fait la FTC (l’équivalent de notre DGCCRF).

Cela pourrait cependant bien changer dans le futur.

Voir aussi sur Reuters (en anglais) :
> High court deals Apple a sharp setback (video)

Stop, ou encore ?

Ce billet qui ne sera probablement pas lu par les bonnes personnes reste néanmoins un véritable appel à ce que quelque chose se lance en Europe et qu’une prise de conscience émerge parce que ce n’est pas possible de se faire racketter comme cela quand on publie du logiciel 🙁

A propos Jean Traullé

Passionné par l'informatique et les nouvelles technos, miagiste, papa de opencomp.fr, #sysadm, #ProxmoxVE, #Docker, #TYPO3, #CakePHP enthousiaste 😊
Ce contenu a été publié dans Non classé, avec comme mot(s)-clé(s) , , , , , , , , , , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *