- From: Hallam-Baker, Phillip <pbaker@verisign.com>
- Date: Tue, 3 Dec 2002 11:56:53 -0800
- To: "Www-Xkms (E-mail)" <www-xkms@w3.org>
- Message-ID: <CE541259607DE94CA2A23816FB49F4A34D615E@vhqpostal6.verisign.com>
Response to Slava Galperin's comments 1.1 Added Receiver.NotImplemented as error result 1.2 Deferred, should put detailed error into the SOAP binding return. 1.5 Added the following clarification In the case that an XKMS service is providing an interface to an underlying PKI, clients MUST NOT rely on the service choosing key binding identifiers that are either the same as or bear a systematic relationship to the serial numbers or other identifiers of the corresponding credentials in the underlying PKI. 1.6 Made the following change: SSL/HTTPS urn:ietf:rfc:2817 DNS address of http server DNS Address SSL/SMTP urn:ietf:rfc:2487 DNS address of mail server DNS Address It is still important to differentiate between MAIL and HTTP since a server could have separate certificates for service on the different ports. 1.7, 1.8 done 1.9, 1.10 Added in some clarifying text: The request resulted in the number of responses that exceeded either the ResponseLimit value specified in the request or some other limit determined by the service. The service MAY either return a subset of the possible responses or none at all. 1.13 Deferred to list discussion 1.14 Deferred to discussion Actually there is but it is outside our scope, you would simply use the OID:20.3045.2.4 URN scheme... 1.16 Done 1.17 Actually a comma was missing... Unless an XKMS service which provides key information about keys bound to email addresses in the domain cryptographer.test is known a priori, some means of locating the correct XKMS service is required. 1.18 done 1.19 Deferred 1.20 done 1.23 Why insist on a single blob? I don't see any advantage, I see plenty of inconvenience. 1.24 done 2.1 If the assertions all hold good for either key I see no problem. Introducing a restriction is not feasible since it would involve changing ds:keyinfo. 2.2 See list discussion on policy identifiers. I don't think we really want to go there, I tend not to be too concerend about policy identifiers because I don't think that any sane user application can make very much use of them. Any policy mapping stuff has to be done in the service and concealled from the client as much as possible. 2.4 The behavior of XKMS on top of X.509 is outside the scope of the spec. The service should do what is appropriate to insulate the *application* from the gory details of PKI, so doing the right thing might be different for S/MIME or SSL. If the question is 'give me a key to talk S/MIME to Alice NOW the answer is obviously one key, if the question is what WAS the key for Alice 3 years ago then the best answer is probably both. 2.20 Deferr to list discussion. 2.21, 2.22 Added in an explanation The application then verifies that the certificate obtained meets its trust criteria by standard certificate validation to a trusted root. 2.23 done, actually the validity interval was not relevant so deleted. 2.24 clarified as follows: The Locate and Validate operations are both used to obtain information about a public key from an XKMS Service. Locate and Validate services are both expected to attempt to provide correct information to the requestor. The Locate and Validate services differ in the extent to which the service vouches for the trustworthiness the information returned. A Location service SHOULD attempt to provide only information which is trustworthy to the best of its knowledge. A Validation service undertakes to only return information which has been positively validated by the XKMS Service as meeting its validation criteria. Information obtained from a Locate service SHOULD NOT be considered trustworthy unless it is verified. Verification may be achieved by forwarding the data to a Validate service or by performing the necessary trust path verification locally. 2.25 No change Explanatory material is usually bad ju-ju in specifications. The reason why locate is required is that there are highly complex PKIs such as the FBCA and its international counterparts which are designed to have thousands of peer CAs operating. There is simply no way that end-entity applications can be expected to navitgate this soup in a meaningful or useful way because of the sheer volume of information required. A locate service can simply maintain a database of every CA cert and every cross cert and the paths between them the same way that MAPQuest maintains a database of highways. The people deploying these apps often want to apply the end to end argument and so they want to do delegated path discovery but implement path chain verification localy. The path math stuff is tedious but relatively straightforward. 2.26 No change Wel you would not normally. That is why the spec talks about discovering a locate service via DNS rather than a validate. The idea is that the raw data obtained from the DNS via locate is then post validated. However there is a twist here, if you have deployed DNSSEC it is quite reasonable to believe that there might be a situation where you would locate validate services in that way. Also you could perform a credential request on the validate service and build a trust path that way. 2.27 Will edit the code later 2.28 OK, put in a conditional clause: A Key Binding asserts a binding between data elements that relate to a public key including the <ds:KeyName>, <ds:KeyID>, <ds:KeyValue> and <ds:X509Data> components contained in a <KeyInfo> element. Furthermore, the Service represents to the client accessing the service and in the absence of specific undertakings to the contrary to that client alone that the binding between the data elements is valid under whatever trust policy the service offers to that client. Point is that the XKMS service may not want the response to be transferrable. For example if someone asks me in a bar 'is Bob good to borrow $50' I might well answer yes the first twenty times or so and then start to wonder. 2.29 No change The specification takes no position here. This is something that is very likely to be profiled in different ways, I can think of cases where I would want each of the behaviors listed. 2.30 Deferred, policy discussion. 2.31 Done (think this was a hangover from the one keybinding days) 2.32 Done 2.33 Done 2.34 Done 2.35 Removed: The Validate service allows the client to query the binding between a <ds:Keyinfo> element and other data such as an identifier. The client supplies a prototype for the key binding requested. The prototype may specify either a <ds:Keyinfo> element or one or more <UseKeyWith> elements or both. The server returns one or more <KeyBinding> elements that meet the criteria specified in the request. 2.36 Done 3.1 No change What information is missing? The preceeding descriptive section describes how the operation is used.Don 3.2 No Change The Appendix gives a blow by blow account of how to form the authentication string including the intermediate results from the calculation steps 3.3 No Change I don't really want to do duplicate examples unless there is a major distinction. A non X.509 example would simply omit the X.509 specific information. 3.4 Done 3.5 No change Because 1) we don't want to force clients to have to support enveloped signature processing which is really icky. and 2) there might be an intermediarry involved that may make certain changes en route to other parts of the message. 3.6 Defer to list discussion of the secrecy of the symmetric key. 3.9 No change The specifics of individual deployments are out of scope. An RA is very likely to put some wrapper arround the authentication. I don't think we need to worry about interop between the RA and issuing authority as our concern since there is likely to be a lot of out of issues to be profiled there. 3.11 No Change See discussions on list passim, essentially this type of stuff is possible through UseKeyWith abuse. There is general skepticism on the value of X.509 data elements since once you start down that slope the ability to parse ASN.1 becomes only one of your many woes. 3.12 No Change Basically you can specify the X.509 DN via UseKeyWith. That seems the right place to me since using keyname would imply some sort of priv'd position for X.509 We do some stuff with KeyName that is highly proprietary. Basically using KeyName to do anything but provide a label for easy key retrieval is going to be problematic. 3.13 No Change Can raise to an issue if someone wants to argue the case here. Detailed reasons can be reported through the SOAP mechanisms. 3.14 No change see earlier comment, no the client should not rely on this 3.15 No Change can discuss on list if we want to go for futher linkage to the X.509 world. The discussion on the policy topic suggests to me that this is somewhere the group is not keen to go. 3.17 Don't understand the question. 3.18 Added 3.19 No, simply reissue the pending request until it is satified. Need to clarify the connection here - see Joseph's comment 3.20 Done 3.30 No change The service has the right to decide on any aspect of the issued key binding. In particular the validity interval is typically set by the registration service policy and the service is not going to take any notice of any input from the client. 3.31 No 3.32 No, only the proof of possession is self signed. In the example the authentication is a shared secret so no key info is required, the signing mechanism is given by context. Issue: do we need to specify the keyinfo block a little more clearly? Like define a dummy KeyID for a shared secret? 3.33 No change Key binding IDs may or may not be systematic. Issue: Do we need a bit of connective stuff here to explain the ID model beyond that we have already? 3.34 No change It provides the motivation for the translation to lower case and elimination of spaces and hyphens. 3.35 No change See earlier comment 3.9 3.36 Pending need to rev all the example code 3.37 Pending At the moment HMAC-SHA1 is hard coded. Issue do we want to have algorthm changability? I don't want to do negotiation in the XKMS protocol but we could define a UDDI/WSDL parameter to allow this to be configured as desired. 3.38 Pending Issue: can we realisticly specify anything usefull here? 3.39 No change It is policy dependent. In many cases the reissue is done to simply download the updated certificate. Any other requirements need to be specified via WSDL/UDDI or whatever
Received on Tuesday, 3 December 2002 14:57:10 UTC