![]() |
Vantages Applications |
![]() |
| Home | | | Applications | | | libvdns | | | Download | | | Known Issues | | | Documentation | | | Bug Tracker & Feature Requests | | | People |
| DNSKEY Trust-Anchor Learning and Verification Tutorial | |
Vantages's DNSKEY Learning and Verification application is an infrastructureless service (it does not need an a priori
infrastructure, no 3rd party service required, all done
by users and those that they trust) that acts as a cryptographic key lookup mechanism. It can currently act like a
DNSSEC Distributed Trust Anchor Repository (TAR).
The DNSKEY application
uses the verification properties of DNSSEC's public data to verify DNSKEYs for DNS resolvers, and
has the following basic building blocks:
|
|
| Vantages' Community of Trust (COT) concept is defined as a set of Vantages that can act as friends and cooperate to verify public data. However, clearly not all parties will want to communicate with or trust each other. In fact, it is likely that there may be overlapping networks of people interested in trusting each other. Trust is not transitive and a user may not trust the friends of their trusted friends (Figure 1). Furthermore, the number of friends describes how many paths can be used to reach data, and in a real system this will clearly not approach infinity. In addition, DNS resolvers do not necessarily query the same set of DNS zones, and therefore do not all look at the same values. It is unreasonable for resolvers that belong to different authorities prompt each other to perform additional DNS queries. Further, when different resolvers do query the same zones, they will not necessarily do so at the same time. Thus, a system must consider issues of data-overlap and the rate at which data may have changed. Another relevant issue that arises for DNSSEC is that some data owners serve their DNSKEYs over multiple protocols. For example, there is a growing practice for zones to serve their keys on web pages in addition to serving them from DNS name servers. This allows data to be checked for consistency across different types of protocols as well as just network vantages. |
|
|
Finally, it is important for Vantages to be sure that data they have received from each other was not spoofed. When a vantage
considers an observation from another vantage in the COT, it must be certain that the data has not been spoofed. Moreover,
to meet the Public Data requirement of non-repudiation Vantages must ensure that
once a Vantage has observed data
it must that any other vantage can always prove that observed data existed (even if it is
no longer served).
Multiple Vantage Points:
When querying a friend, Vantages does not expect that the remote daemon will necessarily have previously queried for the DNSKEYs in question. In fact, the opposite is often the case, or if the friend does have the data it may be too old to rely on. In these cases, Vantages can still proceed. Stale data can often be recognized by using the existing inception and expiration dates on DNSKEYs' signatures. The definition of Public Data uses the notion that as the number of paths approaches infinity, the consistency reaches its absolute maxima, and data can then be verified. As a real system of friends, Vantages will not approach this number of paths. Therefore the system uses available evidence and a classification scheme called CPUC to classify DNSKEYs into one of four exclusive states: The first state is |
|
Vantages collects each of its DNSKEYs via any combination of DNS queries, HTTP or HTTPS requests. This list of protocols was chosen based on the current DNSSEC operational practices. key rollovers. It has become an operational convention, when constructing a trust-anchors file, for operators to augment their DNS lookups with DNSKEYs t hat are served from zones' web pages (where available). Vantages takes this a step further and automates this process. Thus, each Vantage daemon may either collect its DNSKEYs from just a single source, or from multiple sources. In order to allow operators to specify data sources in a general way, data sources are specified via standard URLs. In addition to just Public Data such as DNS and HTTP, users can advertise keys that they own via local attestations (specifying a local non-public data source). This allows zone owners to specify which DNSKEYs they are authorities for so that their friends (who already trust the owners as Vantage-friends) can bootstrap each others' DNSKEYs. Data Provenance: Vantages implements and shares the data provenance of its DNSKEYs with friends so that the origin source that friends have learned keys from is transparent to users. This level of transparency allows operators to accept or reject each others' Vantage data based on its original source, and/or scraping. For example, a Vantage operator may decide not to trust anyone's manual attestations or may blacklist certain TARs. This configuration simply uses the provenance of all remote key looks to prune keys from those data sources. This is depicted in Figure 2. |
|
|
System Implementation
The DNSKEY verification application is implemented as a community of individual daemons (vantaged) that each operational group runs on one of their local servers. These daemons accept data sources that operators want to poll (such as web pages), and allow operators to configure a list of friends that they would like their daemon to confer with when verifying keys. The main configuration interface to Vantages is through a web-based configuration dashboard that is served from an embedded web server, which runs on a configurable port, and can optionally be password protected (Figure 2).
Figure 2: The main dashboard of Vantages' DNSKEY verification application |
|
|
D-Sync (Parent-Child DS / DNSKEY Synchronization)
Tutorial |
|
|
Vantages's D-Sync application is an automated solution to managing DNSKEYs across domain boundaries. Its primary function is to monitor the relationship between a set of DNSKEYs for a given domain, and the corresponding DS records at the parent domain. D-Sync generates simple alert messages during a key rollover, notifying administrators when to change a key change has been detected, when to change a DS record, when it is safe to remove the old DNSKEY from the keyset, and when the domains are back in-sync. D-Sync uses a simple finite state engine and normal DNS queries to determine the synchronization state of a zone. It does not require any special access to private keys or any other form of internal data, and is agnostic of where it is run. As such, D-Sync can be employed at the parent domain, at the domain itself, or at a third-party monitoring location. All that is required to begin monitoring a zone with D-Sync is a valid public key. |
|
(Contact us at tools