Why are CIFS sessions not signed when encryption and SMB signing are both enabled on the SVM?
Applies to
- ONTAP 9
- CIFS
- SMB Signing
- SMB Encryption
Answer
- If a CIFS session is marked for both Signing and Encryption then SMB Encryption supersedes SMB signing
- Microsoft discusses this particular interaction in the following passage on SMB Security Enhancements:
- "SMB Encryption uses the Advanced Encryption Standard (AES)-GCM and CCM algorithm to encrypt and decrypt the data. AES-CMAC and AES-GMAC also provide data integrity validation (signing) for encrypted file shares, regardless of the SMB signing settings."
- Microsoft discusses this particular interaction in the following passage on SMB Security Enhancements:
- Because SMB encryption is a higher level of message security that also preserves integrity, SMB signing is not utilized on encrypted sessions
Example:
Cluster01::> vserver cifs security show -vserver SVM1 -fields is-signing-required,is-smb-encryption-required
vserver is-signing-required is-smb-encryption-required
----------- ------------------- --------------------------
SVM1 true true
Cluster01::> vserver cifs session show -vserver SVM1 -fields is-session-signed,smb-encryption-status
node vserver session-id connection-id is-session-signed smb-encryption-status
------------ ---------- ------------------- ------------- ----------------- ---------------------
Cluster01-02 SVM1 5783747821497729909 952531972 false encrypted
Cluster01-02 SVM1 5783747821497731202 952532894 false encrypted
Cluster01-02 SVM1 5783747821497731343 952532985 false encrypted
3 entries were displayed.
- You may still see signing implemented with partially encrypted sessions if the encryption is enforced at the share-level rather than the server-level
Example:
Cluster01::> vserver cifs security show -vserver SVM1 -fields is-signing-required,is-smb-encryption-required
vserver is-signing-required is-smb-encryption-required
----------- ------------------- --------------------------
SVM1 true false
Cluster01::> cifs share show -vserver SVM1 -share-name encrypted_share -fields share-properties
vserver share-name share-properties
-------- ------------------- -----------------
SVM1 encrypted_share encrypt-data
Cluster01::> vserver cifs session show -vserver SVM1 -fields is-session-signed,smb-encryption-status,share-names
node vserver session-id connection-id is-session-signed smb-encryption-status share-names
------------ ------- ------------------- ------------- ----------------- --------------------- -----------
Cluster01-02 SVM1 5783747821497729909 952531972 true partially-encrypted encrypted_share
Additional Information
N/A