> In KMIP the private and public keys are entirely independent in terms of being > separate managed objects each with their own state. We didn't elect to model a > KeyPair as a managed object - and that means automatically changing the state > of another managed object when something occurs is a source of a whole pile > of confusion for users. > I agree that it's a source of potential confusion. However, consider the case of Certificates. I'd argue that if the private key has been compromised, the associated Certificate is also compromised. While we could expect the client to handle the revocation, I'd argue that it's equally a source of potential confusion to have Active certificates with Compromised keys. Worse, it's also a source of potential security issues. So, should a server, when asked to perform a Verify operation, reject the certificate chain if it knows that one of the certificates was signed with a compromised key? If so, how should it communicate this to the client, which will have no access to the key's state? > The public key has a rather different life cycle to that of the private key and in > my view should indeed be managed separately. > Agreed for the standard key lifecycle. (Activate, Deactivate, Destroy). However, key compromise is not part of the normal lifecycle of a key, but rather an exceptional event, and deserves some degree of exceptional treatment. > I can understand under some circumstances you might want to also update the > state of the public key but doing that automatically and without the KMIP client > having any control over it is concerning for interoperability and usability. > > The same argument as I mentioned could be equally applied in other areas and I > don't think this is an area where there is a general universal solution - but it is > something where if server vendors are going to take a different path and there is > no guidance within the specification or the usage guide (and there is none > currently from my reading of the > documents) then we need to open this up to a broader discussion in the wider > group. > Agreed. -- Michael