1. 06 Feb, 2013 8 commits
    • Dr. Stephen Henson's avatar
      typo. · 6b1f7bee
      Dr. Stephen Henson authored
      (cherry picked from commit 34ab3c8c711ff79c2b768f0b17e4b2a78fd1df5d)
      6b1f7bee
    • Dr. Stephen Henson's avatar
      Add ordinal for CRYPTO_memcmp: since this will affect multiple · 8109e830
      Dr. Stephen Henson authored
      branches it needs to be in a "gap".
      (cherry picked from commit 81ce0e14e72e8e255ad1bd9c7cfaa47a6291919c)
      8109e830
    • 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 b908e88ec15aa0a74805e3f2236fc4f83f2789c2)
      c4e6fb15
    • Ben Laurie's avatar
      Oops. Add missing file. · a693ead6
      Ben Laurie authored
      (cherry picked from commit 014265eb02e26f35c8db58e2ccbf100b0b2f0072)
      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 9f27de170d1b7bef3d46d41382dc4dafde8b3900)
      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 6cb19b7681f600b2f165e4adc57547b097b475fd)
      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 e130841bccfc0bb9da254dc84e23bc6a1c78a64e)
      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 2ee798880a246d648ecddadc5b91367bee4a5d98)
      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 1 commit