On 3 May 2012 16:30, Rob Stradling <r...@comodo.com> wrote:
> So can we kill 2 birds with 1 stone here? Could the CT cert-within-cert
> proposal for embedding CT proofs also accommodate an additional signature
> from the CA?
I don't see why not - I'd assume in that case that like RFC 5878 we'd
have an extension capable of holding various types of authorisation
data.
> To keep the certificate size down, I think it should be possible to embed
> the CT proof inside the additional signature. Much of the plaintext data in
> a PKCS#1 signature is "wasted" on padding, but since there wouldn't be any
> legacy code for parsing the additional signature extension, I don't think
> we'd have to stick to the PKCS#1 format.
Perhaps I'm misunderstanding, but ... assuming you are talking about
OAEP and the like, the "wasted" padding in the plaintext is essential
for security.
On Friday, May 4, 2012 10:38:57 AM UTC+1, Ben Laurie wrote:On 3 May 2012 16:30, Rob Stradling <r...@comodo.com> wrote:<snip>> So can we kill 2 birds with 1 stone here? Could the CT cert-within-cert
> proposal for embedding CT proofs also accommodate an additional signature
> from the CA?
I don't see why not - I'd assume in that case that like RFC 5878 we'd
have an extension capable of holding various types of authorisation
data.RFC 5878 documents a TLS extension, but since my proposal in this thread only relates to the contents of certificates, I presume that what you're suggesting here is that we'd need a _certificate_ extension capable of holding various types of "authorisation data". That makes sense. This certificate extension, present only in the "outer" certificate, would contain at least one of: i) a CT proof, ii) an additional signature (using a stronger digest algorithm) from the CA, iii) anything else we define in the future.
> To keep the certificate size down, I think it should be possible to embed
> the CT proof inside the additional signature. Much of the plaintext data in
> a PKCS#1 signature is "wasted" on padding, but since there wouldn't be any
> legacy code for parsing the additional signature extension, I don't think
> we'd have to stick to the PKCS#1 format.
Perhaps I'm misunderstanding, but ... assuming you are talking about
OAEP and the like, the "wasted" padding in the plaintext is essential
for security.RSAES-OAEP is the PKCS#1 v2 encryption scheme, so it's not relevant to digital signatures. I presume you meant to say RSASSA-PSS, which is the PKCS#1 v2 signature scheme.Even though PKCS#1 v2.1 was published nearly 10 years ago, support for the RSASSA-PSS signature scheme is still not widespread. So CAs are still having to use the PKCS#1 v1.5 signature scheme.I agree that some of the padding in the signature is essential for security. Skimming through the PKCS#1 spec, I see the requirement that the padding string (PS) must be "at least 8 octets". Add a SHA-256 digest (32 octets), ASN.1 fluff (19 bytes) and the rest of the PKCS#1 v1.5 signature header (3 octets), and we're up to 62 octets. If we're using RSA-2048, the signature size is going to be 256 octets. 256 minus 62 equals 194 octets of "wasted" space that we could use for something useful...such as..."Proof length 134 bytes"
Or maybe we could rip apart the signature format even more than that...discard the DigestInfo structure from PKCS#1 but retain the >8 bytes of padding, and let the CA form the "additional signature" by simply encrypting the CT proof with the CA private key (assuming the CT proof already contains a SHA-256 digest calculated over the "inner" certificate).
On Tue, May 8, 2012 at 10:26 AM, Rob Stradling <r...@comodo.com> wrote:Or maybe we could rip apart the signature format even more than that...discard the DigestInfo structure from PKCS#1 but retain the >8 bytes of padding, and let the CA form the "additional signature" by simply encrypting the CT proof with the CA private key (assuming the CT proof already contains a SHA-256 digest calculated over the "inner" certificate).It doesn't...
This should leave enough room inside the additional signature for..."Proof length 230 bytes"
On Tuesday, May 8, 2012 1:20:23 PM UTC+1, Emilia Kasper wrote:On Tue, May 8, 2012 at 10:26 AM, Rob Stradling <r...@comodo.com> wrote:Or maybe we could rip apart the signature format even more than that...discard the DigestInfo structure from PKCS#1 but retain the >8 bytes of padding, and let the CA form the "additional signature" by simply encrypting the CT proof with the CA private key (assuming the CT proof already contains a SHA-256 digest calculated over the "inner" certificate).
It doesn't...Sorry, "contains" was the wrong word to use there. I'll try to clarify...A certificate's signature consists of an encrypted digest. What I was trying to suggest here is that the digest algorithm for the "additional signature" would be "CT" rather than SHA-256.