1. 06 Feb, 2013 6 commits
    • Dr. Stephen Henson's avatar
      Timing fix mitigation for FIPS mode. · c4e6fb15
      Dr. Stephen Henson authored
      We have to use EVP in FIPS mode so we can only partially mitigate
      timing differences.
      
      Make an extra call to EVP_DigestSignUpdate to hash additonal blocks
      to cover any timing differences caused by removal of padding.
      (cherry picked from commit b908e88e)
      c4e6fb15
    • Ben Laurie's avatar
      Oops. Add missing file. · a693ead6
      Ben Laurie authored
      (cherry picked from commit 014265eb)
      a693ead6
    • Ben Laurie's avatar
      Update DTLS code to match CBC decoding in TLS. · e33ac0e7
      Ben Laurie authored
      This change updates the DTLS code to match the constant-time CBC
      behaviour in the TLS.
      (cherry picked from commit 9f27de17)
      e33ac0e7
    • Ben Laurie's avatar
      Don't crash when processing a zero-length, TLS >= 1.1 record. · 93cab6b3
      Ben Laurie authored
      The previous CBC patch was bugged in that there was a path through enc()
      in s3_pkt.c/d1_pkt.c which didn't set orig_len. orig_len would be left
      at the previous value which could suggest that the packet was a
      sufficient length when it wasn't.
      (cherry picked from commit 6cb19b76)
      93cab6b3
    • Ben Laurie's avatar
      Make CBC decoding constant time. · 2acc020b
      Ben Laurie authored
      This patch makes the decoding of SSLv3 and TLS CBC records constant
      time. Without this, a timing side-channel can be used to build a padding
      oracle and mount Vaudenay's attack.
      
      This patch also disables the stitched AESNI+SHA mode pending a similar
      fix to that code.
      
      In order to be easy to backport, this change is implemented in ssl/,
      rather than as a generic AEAD mode. In the future this should be changed
      around so that HMAC isn't in ssl/, but crypto/ as FIPS expects.
      (cherry picked from commit e130841b)
      2acc020b
    • Ben Laurie's avatar
      Add and use a constant-time memcmp. · 7c770d57
      Ben Laurie authored
      This change adds CRYPTO_memcmp, which compares two vectors of bytes in
      an amount of time that's independent of their contents. It also changes
      several MAC compares in the code to use this over the standard memcmp,
      which may leak information about the size of a matching prefix.
      (cherry picked from commit 2ee79888)
      7c770d57
  2. 04 Feb, 2013 1 commit
  3. 02 Feb, 2013 1 commit
  4. 24 Jan, 2013 2 commits
  5. 23 Jan, 2013 2 commits
  6. 22 Jan, 2013 6 commits
  7. 21 Jan, 2013 1 commit
  8. 20 Jan, 2013 1 commit
  9. 19 Jan, 2013 13 commits
  10. 17 Jan, 2013 1 commit
  11. 13 Jan, 2013 1 commit
  12. 12 Jan, 2013 1 commit
  13. 07 Jan, 2013 1 commit
  14. 06 Jan, 2013 3 commits