<div><br></div>
                 
                <p style="color: #A0A0A8;">On Tuesday, November 6, 2012 at 08:35 AM, Russell Bryant wrote:</p><blockquote type="cite"><div>
                    <span><div><div><div>On 11/06/2012 06:35 AM, Clark, Robert Graham wrote:</div><blockquote type="cite"><div><div>I believe there are two options here, role based signing and entity based</div><div>signing note that I'm not calling out any specific crypto here, there's a</div><div>bunch of stuff that could be used. In roll based signing each role</div></div></blockquote><div><br></div><div>I think we need machine-based signing.  Really, I want machine+role signing.</div></div></div></span></div></blockquote><div>
                    <br>
                </div><div>Agreed. My intention is that services can specify their key through a configuration option. Different services could use different configuration options. Those keys would be associated with signed certificates, those certificates would be signed by various authorities to provide different roles. This can be done via PKI, although it is admittedly a bit messy to implement and the tools won't (immediately?) be part of the OpenStack software stack.</div><div><br></div><div>I want to take the "build it and they will follow" approach. Put in the signing, then let tools develop around it.</div><div><br></div><div>I should note that the toughest part with role-based messaging is with message replies. It isn't at all insurmountable, but this is why I'm pushing out role-based signing from the initial blueprint.</div><div><br></div><div>Robert, as to the various cryptosystems that are available...  I looked at Attribute and Role based encyption, but decided they were not sufficiently secure. They're relatively new and just this summer, an attack discovered against such mechanisms. It is a pity, too, because it would have been perfect for our messaging requirements. The PKI pattern is well-established, even if it does have overhead and complexity.  However, I'd like to leave the wire-format flexible enough that alternative systems could be plumbed in and used if someone wanted to implement and use them.</div><div><div><br></div><div>Regards,</div><div>Eric Windisch</div></div>