26
A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels DNS-OARC 26 San Jose, CA September 29, 2017

A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Embed Size (px)

Citation preview

Page 1: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK RolloverDuane WesselsDNS-OARC 26 San Jose, CASeptember 29, 2017

Page 2: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Background

2

Page 3: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

2017 Root Zone KSK Rollover

• October 11, 2017!

• Root zone DNSKEY RRset signatures generated from KSK-2017.

• Validating name servers require updated trust anchors before then.

• It would be really nice to know if validators update their trust anchors.

3

Page 4: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

What Is A Trust Anchor?

RFC 4033:“A configured DNSKEY RR or DS RR hash of a DNSKEY RR. A validating security-aware resolver uses this public key or hash as a starting point for building the authentication chain to a signed DNS response. In general, a validating resolver will have to obtain the initial values of its trust anchors via some secure or trusted means outside the DNS protocol. Presence of a trust anchor also implies that the resolver should expect the zone to which the trust anchor points to be signed.”

4

Page 5: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

How Are Trust Anchors Updated?

• RFC 5011 “Automated Updates of DNS Security (DNSSEC) Trust Anchors.”

• Operating System updates.

• Manually by a system administrator.

5

Page 6: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

How Can We Tell If Trust Anchors Are Updated?

• Can we query all validators, and ask for their trust anchor?• Not really.• Only Unbound supports a DNS query to observe its trust anchor:

• trustanchor.unbound CH TXT as of v1.6.2

• They should have ACLs to block external queries anyway.

• How about a “sentinel” record signed by only the new KSK?• If the old KSK signs the new KSK (which it must), then new KSK is

trusted for validation even if it’s not in the trust anchor set.• Also complicated due to root zone DNSSEC design.

• Have validators self-report?

6

Page 7: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

RFC 8145 -- Signaling Trust Anchor Knowledge in DNS Security Extensions (DNSSEC)

7

Page 8: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

RFC 8145 – Key Tag Signaling

• Validators periodically report trust anchor key tags.

• What’s a key tag?

• A 16-bit integer that identifies and enables efficient selection of DNSSEC public keys. Much like a ones’ complement checksum.

• 19036 – key tag for KSK-2010

• 20326 – key tag for KSK-2017

• Reported to a zone’s authoritative name servers.

• Should be transmitted about as frequently as DNSKEY expire.

8

Page 9: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Two Forms of Key Tag Signaling

• edns-key-tag option.

• An appended option code in the ENDS0 / OPT record

• Separate key tag query.

• Key tag encoded in query name, using hexadecimal representation.

• 19063 = hex 4a5c

• 20326 = hex 4f66

9

Page 10: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Timeline & Implementations

10

When What2015 December draft-ietf-dnsop-edns-key-tag-002016 July First implementation in BIND2017 February draft-ietf-dnsop-edns-key-tag-052017 April RFC 81452017 April First implementation in Unbound2017 May Start collecting data

BIND: ‘trust-anchor-telemetry’ defaults to ‘yes’

Unbound: ‘trust-anchor-signaling’ defaults to ‘no’

Page 11: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

EDNS0 vs Qname Key Tag Signals

• BIND and Unbound implement qname-based signaling.• Any evidence of the edns-key-tag option code (14)?• Scanned 7 days of pcap files• Found TWO packets with EDNS0 option edns-key-tag!

• But really looks like COOKIE (10); optionlen = 8, versus 2• Bad UDP checksum• → bitflip in option code

• Qname wins!

11

Page 12: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Data

12

Page 13: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Data Sources

• Key Tag signals are sent to the name servers authoritative for the key they represent.

• In this case, the root zone.

• This data comes from A-root and J-root.

• Selection bias caveat: data provided by only relatively recent implementations.

13

Page 14: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Data Sample

14

SELECT `timestamp`,lower(qname),dstip,srcip,year,month,dayFROM some_hadoop_hive_tableWHERE lower(qname) rlike '^_ta-'AND qtype = 10AND product = 'root';

1500479443 _ta-4a5c 128.x.x.x 192.58.128.30 2017 7 191500439539 _ta-4a5c 2a00:x:x::x 2001:503:ba3e::2:30 2017 7 191500476401 _ta-4a5c 2001:x:x::x 2001:503:c27::2:30 2017 7 191500476401 _ta-4a5c 2001:x:x::x 2001:503:c27::2:30 2017 7 191500495841 _ta-4a5c-4f66 188.x.x.x 198.41.0.4 2017 7 191500464521 _ta-4a5c 5.x.x.x 192.58.128.30 2017 7 191500476401 _ta-4a5c 2001:x:x::x 2001:503:c27::2:30 2017 7 191500476401 _ta-4a5c 194.x.x.x 198.41.0.4 2017 7 191500476401 _ta-4a5c 2001:x:x::x 2001:503:c27::2:30 2017 7 191500476401 _ta-4a5c 194.x.x.x 198.41.0.4 2017 7 191500495841 _ta-4a5c-4f66 188.x.x.x 198.41.0.4 2017 7 19

Page 15: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Data Processing

• For each day...

• Find key tag queries...

• For only the root zone...

• Count number of source IPs whose key tags contain:

• KSK-2010 only

• KSK-2017 only

• KSK-2010 AND KSK-2017

• KSK-2010 OR KSK-2017

15

Page 16: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public 16

Root Zone Key Tag Signaling −− Number of SourcesN

umbe

r of S

igna

lers

0

200

400

600

800

1000

1200

1400

May Jun Jul Aug Sep Oct

KSK

−201

7 Pu

blis

hed

RFC

5011

Hol

d D

own

Tim

er E

nds

KSK

−201

7R

ollo

ver

Page 17: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public 17

Root Zone Key Tag Signaling −− TA Update EvidencePe

rcen

t of S

igna

lers

0

20

40

60

80

100

May Jun Jul Aug Sep Oct

KSK

−201

7 Pu

blis

hed

RFC

5011

Hol

d D

own

Tim

er E

nds

KSK

−201

7R

ollo

ver

2010 2010+2017 2017

Page 18: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public 18

Root Zone Key Tag Signaling −− Number of Sources

Num

ber o

f Sig

nale

rs

0

200

400

600

800

1000

1200

1400

1600

May Jun Jul Aug Sep Oct

2010 2010/2010+2017 2010+2017

Page 19: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public 19

Root Zone Key Tag Signaling −− Number of Sources

Num

ber o

f Sig

nale

rs

0

200

400

600

800

1000

1200

1400

1600

May Jun Jul Aug Sep Oct

2010 2010/2010+2017 2010+2017

Sources always signaling 2010

TA only.

Sources always signaling

2010+2017 TAs only

Sources sometimes signaling 2010 TA and sometimes 2010+2017 TAs

Page 20: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Non-IANA Key Tags

• How often do we see ”unexpected” key tags?

• Observed 19 key tags for root other than 19036 and 20326.

• From less than 10 distinct source IPs per day.

20

Page 21: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public 21

Root Zone Key Tag Signaling −− Unexpected Key TagsSo

urce

s pe

r day

0

200

400

600

800

1000

1200

1400

1600

May Jun Jul Aug Sep Oct

Unexpected Expected+Unexpected Expected

Page 22: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

How often do we see key tag queries?

• Do validators report more than once per time-to-live?

• Examine timestamps from self-operated instances of BIND and Unbound.

• Is a partial view useful? e.g., A & J versus all roots?

• Calculate median time between queries from same source.

• Display results as distribution of medians.

22

Page 23: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public 23

Root Zone Key Tag Signaling −− Time Between SignalsC

umul

ativ

e D

istri

butio

n

0

20

40

60

80

100

Time Between Signals (hours)0 4 8 12 16 20 24

BIND Unbound

Page 24: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public 24

Root Zone Key Tag Signaling −− Time Between SignalsC

ount

of S

ourc

e IP

s

0

200

400

600

800

1000

1200

1400

Median time between queries (Days)0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Root Zone Key Tag Signaling −− Time Between Signals

Cou

nt o

f Sou

rce

IPs

0

200

400

600

800

1000

1200

1400

Median time between queries (Days)0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Page 25: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

Verisign Public

Conclusions

• Signals from BIND (and Unbound) appear to be of good quality.

• Probably a strong selection bias due to newness of the protocol.

• Low level of noise, for now anyway.• edns-key-tag option may never get deployed.

• ISC, Thank you!• NLnet Labs, please consider enabling trust-anchor-

signaling by default.• Other vendors, please consider implementing RFC 8145.

25

Page 26: A Look at RFC 8145 Trust Anchor Signaling for the 2017 … · A Look at RFC 8145 Trust Anchor Signaling for the 2017 KSK Rollover Duane Wessels ... •Only Unbound supports a DNS

© 2017 VeriSign, Inc. All rights reserved. VERISIGN and other trademarks, service marks, and designs are registered or unregistered trademarks of VeriSign, Inc. and its subsidiaries in the United States and in foreign countries. All other trademarks are property of their respective owners.