14

A guide on this site on how to make a decent Certificate Signing Request (CSR) says that I should be using SHA-2 certificates to secure a HTTPS webserver.

Are SHA-2 certificates considered obsolete, or current for TLS/SSL website certificates (as of 20th November 2015)?

If they are, what should I be using to secure TLS/SSL/HTTPS on my Apache2 webserver instead (as of 20th November 2015)?

And where can I find a authoritative source of current information concerning obsoletions of this sort?

4
  • 1
    NIST is an authoritative source for this, see the FIPS 180 doc here: csrc.nist.gov/groups/ST/toolkit/secure_hashing.html
    – tbond
    Nov 20, 2015 at 20:19
  • 11
    Please don't use the horribly confusing American date style.
    – TRiG
    Nov 21, 2015 at 18:27
  • @TRiG: How else were you interpreting 11/20/2015?
    – user541686
    Nov 22, 2015 at 7:20
  • 4
    @Mehrdad With an annoying pause.
    – TRiG
    Nov 22, 2015 at 9:34

2 Answers 2

40

"SHA-2" is the traditional codename for a family of six functions that includes SHA-256 and SHA-512. These functions are considered completely fine and current and non-obsolete.

There is a newer family of functions called SHA-3, but it has been formally defined only very recently, and nobody really supports them yet. Moreover, SHA-3 is not formally defined as a replacement for SHA-2, but as an alternative.

All the current fuss is about an older function called "SHA-1", not "SHA-2" (and most of the panic is greatly exaggerated).

17
  • 2
    Great answer! But where do you go to find these things out? What feed of authoritative information do you get this information from?
    – leeand00
    Nov 20, 2015 at 16:26
  • 36
    Thomas is the authoritative feed :-)
    – Rory Alsop
    Nov 20, 2015 at 16:27
  • 4
    I don't mean to offend Thomas, what I'm referring to is who releases this sort of information. Even if Thomas is the guy who writes the code for this...(I don't know if he is or not) but is there an organization that will do a news release or a mailer or an RSS feed that says, yes this is the new security algorithm that is safe, or this number of bits is no longer safe?
    – leeand00
    Nov 20, 2015 at 19:28
  • 3
    @leeand00 - Ultimately there is no such single organization. Would you trust it? Everyone trusts someone higher up the expertise chain, and specialists follow a large number of sources without necessarily trusting them, but rather forming their own understanding of the "demonstrated" or sometimes just "potential" vulnerabilities. Furthermore, you can (these days) verify that something is broken, but not that something is safe. So a "safe algorithm" is one that isn't widely known to be broken or much inferior for the same kind of application. Nov 20, 2015 at 19:52
  • 1
    In the signatures used by TLS, it is mandatory to include some random bytes in the data to be hashed -- the "client random" and the "server random" are part of that data. (To be precise, in ECDHE, the server ECDH parameters are signed by the server and do not include randomness, but this is server-chosen data signed by the server itself, so collision attacks do not apply there; for DHE, and for client authentication, random values from both client and server are part of that which is signed.) Nov 22, 2015 at 14:48
20

SHA-2 is currently good. It is SHA-1 that is deprecated:

Due to the insecure nature of the SHA1 algorithm, it is good practice to replace SHA1 certificates with SHA2 certificates as soon as possible. (Check SHA2 compatibility first). But for practical reasons, the process will generally need to be staggered to occur within the critical dates promoted by Microsoft and other vendors.
Your plan should replace SHA1 SSL certificates in the following order:

  • certificates with an expiry date of 1 January 2017 or later.
  • certificates with an expiry date between 1 June 2016 and 31 December 2016, inclusive.
  • certificates with an expiry date before 1 June 2016.

No expiry date has been determined for SHA-2.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .