[doseta-discuss] Doing a DOSETA variant
Dave CROCKER
dhc at dcrocker.net
Tue Jul 12 10:20:36 PDT 2011
Bill,
On 7/12/2011 9:54 AM, Bill Burke wrote:
> On 7/12/11 11:59 AM, Dave CROCKER wrote:
>> 2. Drop 'version' tag -- versions don't get used
>
> Seems to still be a reference to the version tag in section 4.2
oops. thanks. so much for the infallibility of string searching; it still
requires attentive eyes, which for me remains a challenge...
>> 5. Reworked the section on Requirements for Tailoring the Signing
>> Service, to use the signing template. This included adding "Required
>> Fields" and "Required Algorithms" components.
>>
>
> I'm not exactly clear what this section allows. For example. I'd like to use
> doseta to only sign a set of headers that come with the request
You are describing a very different kind of rule for selecting header fields
than the DOSETA base uses. Nothing says that using a template like this
requires rigid adherence to every detail of the template. So, there's nothing
wrong with what you want to do, of course, but it needs distinct specification
language. (And, of course, it will affect the ability to use of any existing
DOSETA software.)
My immediate suggestion is that the "Required Fields" section would need to
contain a detailed protocol specification for this, rather than merely listing a
set of header fields.
> and not required
>> the "d" field and make DNS lookup optional and/or provide a URI mechanism to
>> locate keys.
Right. You want an entirely new key management service. Note that the "q=" tag
is specifically for permitting this sort of alternative, albeit while still
using domain names and selectors to name the keys.
In terms of a specification, this means that you need to specify the means by
which different keys are distinguish (named) and obtained and administered.
Again, there is nothing inherently 'wrong' with doing any of that. The template
doesn't have a slot for this pre-defined. So the specification that makes use of
DOSETA will need a section that replaces DOSETA's key management details. (And,
again, no existing DOSETA software can be re-used for this.)
Having noted the legality and the hint of support (via q=), I'll repeat my
earlier comments that creating an Internet-scale critical-path query service has
so far proved to be rather more daunting than devotees usually expect. There is
a reason there are so few such services on the net and that existing services
tend to be re-purposed for enhanced use.
Still, given your enthusiasm for this, I'll suggest you start by specifying all
of the necessary details to define a running service. For example, saying "URI"
is like saying "XML". It covers a generic syntax, but none of the necessary
details for actually doing something.
> I'm also wondering if it would be more beneficial to completely separate the
> Signing Service from Key Management. i.e. the signing template would make the
> "d" field optional. I can see a lot of developers (myself in particular) that
> will want to re-use the signing/verification/canonicalization algorithms of
> DOSETA, but not the key discovery and management requirements of DOSETA.
This probably should be distinguished between documentation issues vs. protocol
specification issues. Let's defer the documentation issues for now, since I
think that the current documentation is well enough partitioned for your
purposes. (If you'd like to see better partitioning, let me know what you think
it should look like.)
In terms of protocol specification, I think the q= parameter is a sufficient
hook in the signing service mechanism to give you a means of invoking an
entirely different key management service, unless you also require a completely
different naming scheme for keys. Given the reference to URIs, perhaps you do
require that. Except that URIs all contain domain names too, so some of this
might be finessed.
d/
--
Dave Crocker
Brandenburg InternetWorking
bbiw.net
More information about the doseta-discuss
mailing list