1. 06 Feb, 2013 4 commits
    • 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
  15. 30 Dec, 2012 1 commit
  16. 29 Dec, 2012 1 commit