So, it's ironic that only after I post to the mailing list, I solve my first 
problem. For visitors from the future, to fully add a new cipher suite, you 
can't forget to add your cipher's EVP_CIPHER* accessor function (generated by 
the BLOCK_CIPHER_custom macro) to SSL_library_init() in ssl_algs.c.

Now that that's done, my client and server are negotiating the desired cipher 
suite, but I'm getting the error SSL_R_CIPHER_OR_HASH_UNAVAILABLE. It seems 
that CCM is defined as not using AEAD, but the flavor of CCM I'm trying to 
enable uses AEAD, specifically AEAD_AES_128_CCM as defined in section 5.3 of 
RFC 5116.

Could someone tell me for sure that, while GCM is an AEAD algorithm, CCM is not?

My confusion lies in the fact I'm not familiar with encryption, plus one of my 
reference documents, "AES-CCM ECC Cipher Suites for TLS" 
(http://tools.ietf.org/html/draft-mcgrew-tls-aes-ccm-ecc-01), talks about CCM 
and AEAD in the same breath.

Also, RFC 5116 "An Interface and Algorithms for Authenticated Encryption" 
(http://tools.ietf.org/html/rfc5116#page-14) defines 2 AEAD algorithms for 
AES-CCM. Is that not the same CCM as OpenSSL already supports?

Thanks in advance for any help.

Paul

From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] 
On Behalf Of Muschick, Paul
Sent: Tuesday, April 17, 2012 11:34 AM
To: openssl-users@openssl.org
Subject: Making AES-CCM available as a TLS-negotiated cipher suite

Hello all,

I've been working on getting AES-CCM available for negotiation over a TLS 
connection. I know that AES-CCM is available via the EVP interface, but I need 
it to be available as a TLS cipher suite so it can be negotiated with a client.

I started adding it as a new cipher suite, in a manner to how AES-GCM seems to 
be implemented, but I'm having trouble just getting it reported at an available 
cipher using the "openssl ciphers" command. I started thinking I was going down 
the wrong path, since CCM is already available via EVP.

Is my approach to add a new "AES128-CCM" cipher suite a reasonable one, or 
would it be better/quicker to just change the default mode of AES (and the 
related cipher suite ids) so that I can get a TLS-negotiated AES-CCM connection?

Regards,
Paul Muschick



Reply via email to