[bind10-dev] DNS key management
Scott Mann
smann at isc.org
Sun Mar 4 18:55:41 UTC 2012
Hi Everyone,
The BIND9 team is beginning to work on a set of key management tools
which will handle a variety of tasks related to the management of all
manner of dns-related keys. This work is largely driven by a contract
with PayPal, but we do have flexibility with respect to some (perhaps
even much) of what we do as the PayPal requirements are fairly high level.
When we first discussed the opportunity with PayPal (last August), we
put together user stories associated with their wish list. You can read
through them here: https://kb.isc.org/article/AA-00486. This document
reflects everything that PayPal asked for as well as some things we
thought of ourselves (fancy that).
PayPal cannot fund the project in one contract, so they are breaking
things up into smaller pieces (I believe the driving factor is that each
contract must be less than $30K or thereabouts). Our first contract
contains the following requirements from PayPal:
"ISC will provide DNSSEC Key Management Tools, which include:
"Zone verification tool.
"Zone is correctly and validly signed
"NSEC chains complete
"No gaps in key coverage
"Check parent for proper KSK"
Our current effort, therefore includes three tools, initially defined as
follows:
I) A zone verification tool:
This will likely be written in C because there is already a big
chunk of this done in C (and we have a deadline
1. verifies that the zone is internally consistent and complete
2. ensures that the NSEC/NSEC3 chains are complete
- make sure to cross ref with NSEC3PARAM record
- check DS vs NSEC/NSEC3 record to make sure delegations consistent
II) A key coverage tool (to be written in python):
1. ensures that there are no gaps in key coverage
- make sure that keys are published in your zone at least
1 ttl before that key is to be published
- use refresh rate from SOA - e.g., ttl+refresh to insure
that key is published soon enough
III) A dnssec-check tool (to be written in python):
1. Check the parent for the proper KSK
- DNS lookup for zones parent and get DS, then confirm that it is
correct.
- Verify that key is published.
- Pay attention to future use during development.
- future use: upward check from child - make sure design
includes this thinking
I'm sending this to you with the hopes that we can collaborate and
provide some (or all) of these tools for future BIND 10 use. I'm hoping
that we can include the BIND10 team in reviews of our design documents
and, if time permits, our code. Please understand that we do have
deadlines associated with these tasks and that we may not be able to
incorporate more general capabilities initially, but my hope is that
with addition eyes, we will arrive at solutions that are useful to both
BIND 9 and BIND 10.
If you have any comments, questions, or suggestions, please let me know.
Look for our review requests coming soon!
Thanks,
-Scott
--
/***************************************
* ISC offers support on many *
* of its products, including BIND 9. *
* If you depend on it, depend on us! *
***************************************/
Scott Mann<smann at isc.org>
Interim Manager and Scrum Master, BIND 9 Development Team
Internet Systems Consortium
More information about the bind10-dev
mailing list