Le sujet fait écho aux incidents concernant l’exposition de clés privées et la révocation massive de certificats par Trustico. Soulignons tout d’abord que la méthode la plus sûre de stocker des clés consiste à générer les clés privées sur le serveur puis à effectuer une demande CSR, c’est-à-dire une demande de signature de certificat. Un revendeur qui génère des clés privées pour ses clients à l’extérieur de l’environnement du serveur Web où sera hébergé le certificat doit immédiatement mettre un terme à cette pratique. Sérieusement, CELA DOIT IMMÉDIATEMENT CESSER !
OK. Voilà qui est dit. Maintenant, revenons rapidement sur un précédent article de blog consacré aux bonnes pratiques et méthodes de stockage élémentaires des clés cryptographiques :
- Peu importe votre niveau de cybersécurité ou la sécurité des points de terminaison en place, une mauvaise gestion des clés privées discrédite toutes les mesures de sécurité.
- Les clés privées doivent rester sécurisées et.... privées ! Ne les envoyez pas par e-mail, ne les partagez pas, ne les publiez pas. En gros, ne soufflez même pas dessus. Vous doutez encore ? Posez la question à Trustico pour savoir comment les choses ont tourné pour eux.
- Quelques méthodes de stockage des clés cryptographiques :
Magasins de certificats/clés au niveau du système d’exploitation et du navigateur comme Windows Certificate Store, Mac OS Keychain.
Plusieurs systèmes d’exploitation et navigateurs proposent des magasins de certificats ou de clés. Il s’agit de bases de données logicielles qui stockent votre paire de clés publiques/privées ainsi que votre certificat en local sur votre machine.
Fichiers.pfx et.jks (Keystores)
PKCS#12 (.pfx ou.p12) et.jks* (créés par l’outil Java) sont des fichiers qui contiennent votre paire de clés publiques/privées. Contrairement aux magasins de clés des systèmes d’exploitation et des navigateurs stockés en local, ces fichiers peuvent être stockés pratiquement n’importe où, y compris sur des serveurs distants ; ils sont toujours protégés par un mot de passe (ainsi, chaque fois que vous voulez utiliser votre clé privée, vous devez saisir un mot de passe FORT). Autre avantage : comme il ne s’agit en définitive que de fichiers, vous pouvez facilement en distribuer des copies si plusieurs personnes ont besoin d’utiliser le certificat. Mais justement, comme il ne s’agit que de fichiers, ils risquent d’être distribués de manière non sécurisée. Au vu des rapides progrès des algorithmes utilisés pour craquer les mots de passe, pensez à créer un mot de passe suffisamment long et aléatoire si vous utilisez cette méthode.
Modules de sécurité matérielle (HSM)
Pour ceux qui recherchent la méthode de stockage de clés la plus sûre, pensez aux magasins de clés logiciels conformes FIPS ou aux modules de sécurité matérielle (HSM). Les HSM offrent une autre possibilité pour stocker vos clés sur un élément matériel doté de fonctions cryptographiques. La méthode est particulièrement intéressante si vous ne souhaitez pas dépendre de tokens individuels, ou que vous considérez cela comme étant trop pénible.
Stockage de clés cryptographiques : critères à prendre en compte pour les revendeurs
Les revendeurs doivent se montrer particulièrement vigilants sur l’ensemble des critères suivants :
- N’utilisez jamais de sites tiers pour générer des clés pour vous (tapez « CSR generator » dans Google pour obtenir la liste de ces sites, mais ne comptez pas sur nous pour vous donner des liens... Mais de grâce, n’utilisez pas de tels sites).
- Suivez, comme tout le monde le devrait, les bonnes pratiques mentionnées plus haut et dans notre autre article de blog.
- Ne générez pas de clés pour vos utilisateurs à l’extérieur de l’environnement du serveur Web où elles seront utilisées.
- Ne stockez pas les clés privées de vos utilisateurs et ne les proposez pas en téléchargement sur les portails utilisateurs.
- Ne placez pas sous séquestre les clés privées pour vos utilisateurs. Les certificats SSL sont faciles à remplacer. Pas besoin de récupérer une clé privée en cas de destruction (contrairement aux e-mails chiffrés qui exigent que les clients récupèrent la clé privée qu’ils ont égarée pour lire leurs messages).
- Les revendeurs sont tenus de veiller à ce que leurs clients aient accepté le contrat d’abonnement. En tant que revendeur, vous ne devez pas contourner ou enfreindre intentionnellement l’une des règles incluses.
- Soyez attentif aux obligations et garanties de l’abonné et aux paragraphes génération et utilisation des clés dans le Contrat d’abonnement de votre revendeur (cf. Exemple extrait des sections 4 et 4.15 du contrat GlobalSign).
- Et au risque de nous répéter : N’archivez PAS les clés. Et surtout, NE les envoyez PAS chiffrées, ou non chiffrées, à qui que ce soit (voir l’affaire Trustico là encore).
4.0 Obligations et garanties du souscripteur
4.15 Création de clés et utilisation
Autres points à l’attention des revendeurs :
Les revendeurs doivent vérifier que les sites Web et toute fonctionnalité associée sont sécurisés et exempts de vulnérabilités exploitables.
- Transférez toutes les pages en HTTPS et vérifiez la configuration serveur pour vous assurer de sa conformité avec les bonnes pratiques sectorielles. Le déploiement du HSTS permet de ne rendre votre site accessible qu’en HTTPS.
- Vérifiez l’application régulière de correctifs et de mises à jour aux systèmes d’exploitation, serveurs Web et autres composants.
- Vérifiez l’absence de vulnérabilités courantes dans vos logiciels personnalisés, à l’instar des vulnérabilités identifiées dans le Top 10 d’OWASP.
- Lorsque les revendeurs proposent des conseils et une aide à vos utilisateurs, vérifiez que les bonnes pratiques appliquées sont actuelles et optez par défaut pour les solutions sécurisées.
- Invitez toujours vos clients à privilégier les nouvelles normes sectorielles pour les longueurs de clé et les algorithmes de hachage, par rapport aux méthodes plus anciennes – certes plus performantes en termes de compatibilité, mais ayant plus de chances d’être « déclassées » pour des questions de sécurité.
- Lors du renouvellement des certificats, assurez-vous que vos clients profitent de l’occasion pour créer une nouvelle paire de clés au lieu de réutiliser la paire existante. La rotation des clés pendant le renouvellement du certificat permet de limiter les risques posés par une clé compromise ou liés à de mauvaises habitudes de stockage des clés.
Tenez-vous-en à ces méthodes pour un stockage idyllique de vos clés cryptographiques. Comme toujours, les experts en cryptographie chez GlobalSign se tiennent à votre disposition pour répondre à vos questions.