Kill the session after encrypting 2^47 blocks

"Both the privacy and the authenticity properties of OCB degrade as
 per s^2 / 2^128, where s is the total number of blocks that the
 adversary acquires.... In order to ensure that s^2 / 2^128 remains
 small, a given key should be used to encrypt at most 2^48 blocks (2^55
 bits or 4 petabytes)"

-- http://tools.ietf.org/html/draft-krovetz-ocb-03

We deem it unlikely that a legitimate user will send 4 PB through a Mosh
session.  If it happens, we simply kill the session.  The server and
client use the same key, so we actually need to die after 2^47 blocks.

Closes #77.
This commit is contained in:
Keegan McAllister
2012-03-24 20:42:53 -04:00
parent ba6387f36c
commit b4ef664bc0
2 changed files with 26 additions and 1 deletions
+1
View File
@@ -75,6 +75,7 @@ namespace Crypto {
private:
Base64Key key;
ae_ctx *ctx;
uint64_t blocks_encrypted;
public:
Session( Base64Key s_key );