<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:宋体;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@宋体";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:宋体;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:宋体;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:856383561;
        mso-list-template-ids:990393160;}
@list l0:level1
        {mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l1
        {mso-list-id:1122915558;
        mso-list-template-ids:-1648719688;}
@list l1:level1
        {mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2
        {mso-list-id:1145855936;
        mso-list-template-ids:728429688;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l3
        {mso-list-id:1606646305;
        mso-list-template-ids:1351091866;}
@list l3:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ZH-CN link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>I think we can do what ICANN monitoring plan is going to do. Observe the traffic<a name="_MailEndCompose"> to capture "response size effects" and "stale key effects".<o:p></o:p></a></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><a href="https://www.icann.org/en/system/files/files/ksk-rollover-monitoring-plan-15sep16-en.pdf"><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif"'>https://www.icann.org/en/system/files/files/ksk-rollover-monitoring-plan-15sep16-en.pdf</span></a><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'> <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'>Davey<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:10.5pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:10.0pt'>发件人<span lang=EN-US>:</span></span></b><span lang=EN-US style='font-size:10.0pt'> discuss [mailto:discuss-bounces@lists.yeti-dns.org] </span><b><span style='font-size:10.0pt'>代表 </span></b><span lang=EN-US style='font-size:10.0pt'>Shane Kerr<br></span><b><span style='font-size:10.0pt'>发送时间<span lang=EN-US>:</span></span></b><span lang=EN-US style='font-size:10.0pt'> 2017</span><span style='font-size:10.0pt'>年<span lang=EN-US>1</span>月<span lang=EN-US>18</span>日<span lang=EN-US> 15:17<br></span><b>收件人<span lang=EN-US>:</span></b><span lang=EN-US> discuss<br></span><b>主题<span lang=EN-US>:</span></b><span lang=EN-US> [Yeti DNS Discuss] Thoughts about the next Yeti KSK roll<o:p></o:p></span></span></p></div><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Hello,<o:p></o:p></span></p><div><div><p class=MsoNormal><span lang=EN-US style='color:black'><br>It's time to think about the next Yeti KSK roll!<br><br>Davey pointed out to me that the latest IANA KSK roll document does <b><i>not</i></b> have the "KSK publish with a twist" where the KSK is published, removed, and then added back in later with the revoked bit set. So there is no need to test this. This is good, because it was weird, but it also means that we need to figure out what exactly we do want to test.<br><br><br>Firstly, we can implement the attack-on-resolver DoS that Kees Monshouwer pointed out. The IANA root zone is not vulnerable to this, because of the timings, but it would still be interesting to test this in a live environment like Yeti. We should:<o:p></o:p></span></p><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1'><span lang=EN-US>Make the Yeti signature validity periods the same as IANA. Right now we have a 30-day validity period but Verisign uses a 14-day validity period on the root.<o:p></o:p></span></li><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo1'><span lang=EN-US>Deliberately DoS a resolver we run in a lab by issuing a replay. We can build an "on the wire" tool to do this, which runs on the same machine. It will see the outgoing query then send the reply back with the old signatures. We should then observe the RFC 5011 hold-down timer get reset, and the machine fail after the KSK roll. (This requires Unbound, as BIND 9 does not use the hold-down timer.)<o:p></o:p></span></li></ol><p><span lang=EN-US style='color:black'><o:p> </o:p></span></p><p><span lang=EN-US style='color:black'>Secondly, we can look at exploring the "key tag" draft:<o:p></o:p></span></p><p><span lang=EN-US style='color:black'><a href="https://tools.ietf.org/html/draft-ietf-dnsop-edns-key-tag">https://tools.ietf.org/html/draft-ietf-dnsop-edns-key-tag</a><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:black'>This provides a way to learn what trust anchors the validators have configured. It actually documents 2 different ways to do this:<o:p></o:p></span></p><ol start=1 type=1><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2'><span lang=EN-US>Using a new EDNS option, or<o:p></o:p></span></li><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo2'><span lang=EN-US>Using a well-known, but normal, query.<o:p></o:p></span></li></ol><p><span lang=EN-US style='color:black'>The first method requires support from the validator, the second method might not necessarily.<o:p></o:p></span></p><p><span lang=EN-US style='color:black'>We can do a number of things for this:<o:p></o:p></span></p><ul type=disc><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo3'><span lang=EN-US>Survey popular validators (both resolvers, forwarders, and stub resolvers) to see what the current and planned support is.<o:p></o:p></span></li><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo3'><span lang=EN-US>See if vendors are willing to accept patches to implement one or both of these techniques and then implement them.<o:p></o:p></span></li><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l3 level1 lfo3'><span lang=EN-US>Build an external utility to implement method #2 from the draft.<o:p></o:p></span></li></ul><p><span lang=EN-US style='color:black'>All of these can be done before the next KSK roll experiment, if the Yeti participants think it makes sense. Certainly if anyone wants to help that would be cool (maybe Kees wants to do that for PowerDNS, for example, since he has already done a lot of work on that software).<o:p></o:p></span></p><p><span lang=EN-US style='color:black'>For the external utility, my idea is:<o:p></o:p></span></p><ul type=disc><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo4'><span lang=EN-US>Watch for DNSKEY packets going to the root.<o:p></o:p></span></li><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo4'><span lang=EN-US>Look for the NULL query with "_ta-" to the root.<o:p></o:p></span></li><li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo4'><span lang=EN-US>If no NULL query appears in a short while (100 msec maybe?) then we can send it.<o:p></o:p></span></li></ul><p><span lang=EN-US style='color:black'>Once we have some of these tools in place we can perform the actual KSK roll.<o:p></o:p></span></p><p><span lang=EN-US style='color:black'>Please let me know what you think. It's slightly larger scope than previous Yeti experiments, but not too much so.<o:p></o:p></span></p><p><span lang=EN-US style='color:black'>Cheers,<o:p></o:p></span></p><p><span lang=EN-US style='color:black'>--<br>Shane<o:p></o:p></span></p></div></div></div></body></html>