80 likes | 94 Views
Learn about IETF design goals for S/MIME WG session, support for authenticated encryption modes, AES-CCM and AES-GCM usage, and key management. Details on AuthEnvelopedData syntax and processing steps included.
E N D
CMS AuthEnvelopedData<draft-ietf-smime-cms-auth-enveloped-02.txt>AES-CCM and AES-GCM<draft-ietf-smime-cms-aes-ccm-and-gcm-01.txt> Russ Housley IETF 68 – S/MIME WG Session
Design Goals • Support authenticated encryption modes • Content is authenticated and encrypted • Some attributes can also be authenticated • Allow all of the usual key management alternatives Note: I first tried to meet these goals using EnvelopedData, but it was a very poor fit
The Syntax AuthEnvelopedData ::= SEQUENCE { version CMSVersion, originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL, recipientInfos RecipientInfos, authAttrs [1] IMPLICIT AuthAttributes OPTIONAL, authEncryptedContentInfo EncryptedContentInfo, mac MessageAuthenticationCode, unauthAttrs [2] IMPLICIT UnauthAttributes OPTIONAL }
Processing • Generate a random content-authenticated-encryption key • Pad content, if needed • DER encode the authenticated attributes, and pad the result, if needed • Apply authenticated-encryption algorithm, carrying a nonce in the algorithm parameters, if needed
AES-CCM and AES-GCM • Separate document shows how to use these two authenticated-encryption AES modes with AuthEnvelopedData: draft-ietf-smime-cms-aes-ccm-and-gcm-01.txt
Way Forward (1 of 2) • Already had some discussion on S/MIME WG mail list • Resolution of comments is clear • Almost ready for WG Last Call for Proposed Standard for both documents: • draft-ietf-smime-cms-auth-enveloped-03.txt • One open issue to resolve, then it will be ready • draft-ietf-smime-cms-aes-ccm-and-gcm-01.txt • Appeared today!
Way Forward (2 of 2) • Open issue involve the encoding of authenticated attributes • Do it exactly the same as SignedData • Use the encoding that will be transmitted • Personal preference for the transmission encoding, but do not want to impose an implementation burden • Implementer suggestions desired • Hum?