12 Nov 2014, 11:15

HTTPS Certificates : some changes in the coming months

When you issue a certificate, there are some encryption mechanism under the hood. One of them is "SHA-1" and it has been declared as weak some months ago.

As a consequence :

  • Certificates should be issued using SHA-2 encryption mechanism instead of SHA-1
  • Main browsers are to drop progressively the support of SHA-1 certificates by lowering their level of security til they consider it as untrusted.
  • There are some incompatibility issues, mainly with Windows XP which does not support SHA-2 ; so as Microsoft no longer supports Windows XP and unless your are in China, you should be safe :-)

You can test your certificate for ex with SSL Labs or Shaaaaaaaaaaaa (a dedicated site on the topic).

So the action plan could be :

  1. Test your site to check if you use SHA-A1 certificates or not
  2. Depending on your audience, define a migration strategy depending on
    1. The expiration date for your certificates ; it may change the behavior on browsers side ; more details on Chrome/Firefox timeline mentioned above
    2. The browser's roadmap
  3. Don't forget to update the whole certificate chain ie get your new SHA-2 signed certificates but also the intermediary and root certificates from your certification authority. You can mix both (SHA-2 certificate with SHA-1 authorities certificates) but it's better to have a full SHA-2 certificate chain.
  4. Migrate to SHA-2

25 Sep 2014, 21:49

SSL, SHA-2 pour des certificats plus sûrs

En discutant certificats ssl avec @nhoizey, @vr m'a fait remarquer que Gandi et StartSSL (et d'autres) généraient des certificats en utilisant le protocol SHA-1 et que cela était "mal" car ce protocole est considéré comme "faible".

Je me suis alors souvenu que j'avais généré mon certificat en SHA-2. Toutefois, en testant, il se trouvait qu'un bout de la chaîne de certification était encore en SHA-1 même si mon certificat était en SHA-2.

N'écoutant que mon courage post-dinatoire, j'ai donc repris la procédure d'installation du certificat sous nginx fournie par StartSSL et ensuite j'ai adapté pour utiliser des certificats au format SHA-2.

En lieu et place de :

wget http://www.startssl.com/certs/ca.pem
wget http://www.startssl.com/certs/sub.class1.server.ca.pem
cat ssl.crt sub.class1.server.ca.pem ca.pem > /etc/nginx/conf/ssl-unified.crt

il faut faire :

wget http://www.startssl.com/certs/ca-sha2.pem
wget http://www.startssl.com/certs/class2/sha2/pem/sub.class2.server.sha2.ca.pem
cat ssl.crt sub.class2.server.sha2.ca.pem ca-sha2.pem > /etc/nginx/conf/ssl-unified.crt

Cela demande bien sûr que votre fichier ssl.crt soit déjà au format SHA-2 ; s'il est au format SHA-1, il faut en regénérer un nouveau avec les éventuels frais de révocation/renouvellement.

Relancer nginx, refaire le test et le tour est joué :)

Donc si vous générez des certificats, vérifiez les options de votre autorité de certification ; apparemment StartSSL fait du SHA-2 par défaut pour les nouveaux certificats comme indiqué sur le site fournissant le test ; Pour Gandi, c'est en cours de développement.

25 Sep 2013, 09:30

Once upton a time : Internet (a ConfsFR initiative)

First I apologise to my english readers but it would be a French resources only but which is worth being mentioned.

So the initiative ConfsFR aims to explain and make understand how internet works ; Two sessions happened since early september : the first one was about DNS and the second one about SSL/TLS and it was introduced by brilliant people on each matter. I don"t know to what extend it is accessible for novice but if you have some technical background or some knowledge about these topics, you will learn a lot.

On the site, you will find link to slides, to the video recording of the session, etc. For videos, you can see them on the dedicated channel (site is not yet updated)

If you can't attend next conference, it may be broadcasted when the event is located at "La Cantine" (co-working place in Paris). It's how I managed to watch most of the SSL/TLS session.

[Edit 1] Resources were added for :

18 Sep 2013, 09:30

MySQL/Postgres Roundup 18/9

On MySQL side, or should I say MariaDB one :

  • Google swaps out MySQL, moves to MariaDB : beyond the significative reference for MariaDB and the fact that Google will sustain his effort to patch MariaDB as they did for MySQL, the question that raised for me was : how long will Percona go with MySQL ? Percona's server was seen as an advanced version of MySQL with the inclusion of some patches (like Google's one for performance, etc) and for the tools they provide with/aside (like Percona toolkit or Xtrabackup). It does not seem they plan to make the switch so far...
  • Scaling your database via InnoDB table compression : where you can eliminate slow queries via innodb table compression. Constraints and limits are explained in the post.

On Postgres side :

More generally and even if it's a postgres example which is used, you should use UUIDs for your keys instead of traditionnal keys. Beyond unicity, if you are to use distributed systems, it would be one (or the only ?) way to avoid conflicts.