HPKP pour moi est un vrai risque car il faut faire le pari que ton visiteur va revenir dans le laps de temps qui lui est imparti. D'ou le danger d'avoir un certificat qui a une durée de vie courte.
C’est là que HPKP n’est utilisable que si tu cycles tes clefs en cohérence avec ta date de rétention HPKP. Ce qui n’est pas possible avec Let’s Encrypt.
Si tu as mis une période de rétention de X jours, tu ne dois jamais retirer une clef utilisée en même temps que son entrée HPKP, mais toujours laisser passer un temps d’au moins X jours, pour garantir que justement au moment de la rotation de clef soit le visiteur n’aura rien de préchargé soit que son délai de rétention sera expiré soit aura déjà chopé l’ancienne clef.
J0 : publication de K1 (utilisée) et K2 (backup)
J1 ≥ J0+X : K1 est compromise, on peut immédiatement basculer sur K2 et publier K2 (U) et K3 (B), les visiteurs antérieurs à J0 sont expirés, les postérieurs possèdent bien K2
J2 ≥ J1+X : on décide de changer volontairement K2, on bascule immédiatement sur K3 et on publie K3 (U) et K4 (B), les visiteurs antérieurs à J1 sont expirés, les postérieurs possèdent bien K3
etc
Le seul risque bordélique étant effectivement une compromission de la clef dans l’intervalle « changement de publication » et « changement de publication + X », d’où l’intérêt d’un X relativement petit mais pas trop (60j recommandé) mais aussi d’un faible taux de renouvellement de la clef.
Si tu désynchronises en plus le changement de clef et ta période de rétention, c’est là que tu vas avoir de sérieux problèmes effectivement...
[^] # Re: Let’s Encrypt
Posté par Aeris (site web personnel) . En réponse au journal L'avenir de la sécurité de nos sites oueb : DNSSEC / HPKP / DANE TLSA / CSP. Évalué à 1.
C’est là que HPKP n’est utilisable que si tu cycles tes clefs en cohérence avec ta date de rétention HPKP. Ce qui n’est pas possible avec Let’s Encrypt.
Si tu as mis une période de rétention de X jours, tu ne dois jamais retirer une clef utilisée en même temps que son entrée HPKP, mais toujours laisser passer un temps d’au moins X jours, pour garantir que justement au moment de la rotation de clef soit le visiteur n’aura rien de préchargé soit que son délai de rétention sera expiré soit aura déjà chopé l’ancienne clef.
Le seul risque bordélique étant effectivement une compromission de la clef dans l’intervalle « changement de publication » et « changement de publication + X », d’où l’intérêt d’un X relativement petit mais pas trop (60j recommandé) mais aussi d’un faible taux de renouvellement de la clef.
Si tu désynchronises en plus le changement de clef et ta période de rétention, c’est là que tu vas avoir de sérieux problèmes effectivement...