smb3.1.1: rename nonces used for GCM and CCM encryption
authorSteve French <stfrench@microsoft.com>
Thu, 15 Oct 2020 05:25:02 +0000 (00:25 -0500)
committerSteve French <stfrench@microsoft.com>
Mon, 19 Oct 2020 20:11:06 +0000 (15:11 -0500)
Now that 256 bit encryption can be negotiated, update
names of the nonces to match the updated official protocol
documentation (e.g. AES_GCM_NONCE instead of AES_128GCM_NONCE)
since they apply to both 128 bit and 256 bit encryption.

Signed-off-by: Steve French <stfrench@microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
fs/cifs/smb2ops.c
fs/cifs/smb2pdu.h

index 76d82a60a550d4bc2c0418798e25e10d0ac124ae..dd1edabec328bd13377281d3678c2d5a2a5af412 100644 (file)
@@ -3821,9 +3821,9 @@ fill_transform_hdr(struct smb2_transform_hdr *tr_hdr, unsigned int orig_len,
        tr_hdr->OriginalMessageSize = cpu_to_le32(orig_len);
        tr_hdr->Flags = cpu_to_le16(0x01);
        if (cipher_type == SMB2_ENCRYPTION_AES128_GCM)
-               get_random_bytes(&tr_hdr->Nonce, SMB3_AES128GCM_NONCE);
+               get_random_bytes(&tr_hdr->Nonce, SMB3_AES_GCM_NONCE);
        else
-               get_random_bytes(&tr_hdr->Nonce, SMB3_AES128CCM_NONCE);
+               get_random_bytes(&tr_hdr->Nonce, SMB3_AES_CCM_NONCE);
        memcpy(&tr_hdr->SessionId, &shdr->SessionId, 8);
 }
 
@@ -3993,10 +3993,10 @@ crypt_message(struct TCP_Server_Info *server, int num_rqst,
        }
 
        if (server->cipher_type == SMB2_ENCRYPTION_AES128_GCM)
-               memcpy(iv, (char *)tr_hdr->Nonce, SMB3_AES128GCM_NONCE);
+               memcpy(iv, (char *)tr_hdr->Nonce, SMB3_AES_GCM_NONCE);
        else {
                iv[0] = 3;
-               memcpy(iv + 1, (char *)tr_hdr->Nonce, SMB3_AES128CCM_NONCE);
+               memcpy(iv + 1, (char *)tr_hdr->Nonce, SMB3_AES_CCM_NONCE);
        }
 
        aead_request_set_crypt(req, sg, sg, crypt_len, iv);
index 6f65f1cec8adb104a02b0bc4ab637f688da64184..05b010e5a06111f546d12b89381c9c451106376b 100644 (file)
@@ -128,8 +128,8 @@ struct smb2_sync_pdu {
        __le16 StructureSize2; /* size of wct area (varies, request specific) */
 } __packed;
 
-#define SMB3_AES128CCM_NONCE 11
-#define SMB3_AES128GCM_NONCE 12
+#define SMB3_AES_CCM_NONCE 11
+#define SMB3_AES_GCM_NONCE 12
 
 /* Transform flags (for 3.0 dialect this flag indicates CCM */
 #define TRANSFORM_FLAG_ENCRYPTED       0x0001