Hi Sebastian, so to summarize I think what’s needed is some discussion about what can happen if DNSSEC is not used and maybe even a requirement that certain data MUST be integrity protected.
I think that could also address Benjamin’s discuss. Can you maybe propose some new/additional text for the security consideration section and see if we can first address Ekr discuss and then start a conversation with Benjamin? Thanks! Mirja > Am 17.01.2019 um 14:42 schrieb Eric Rescorla <[email protected]>: > > > > On Wed, Jan 16, 2019 at 4:15 PM Sebastian Kiesel <[email protected]> wrote: > On Wed, Dec 19, 2018 at 12:49:22PM -0800, Eric Rescorla wrote: > > Eric Rescorla has entered the following ballot position for > > draft-ietf-alto-xdom-disc-04: Discuss > > > > ---------------------------------------------------------------------- > > DISCUSS: > > ---------------------------------------------------------------------- > > > > The security considerations for this document don't seem to be > > adequate. In general, the security of this mechanism seems to rely on > > DNSSEC, and yet it's not mandated. > > While I definitively understand your concern, I am not sure whether > you are implying a possible way forward. Please clarify, does "and yet > it's not mandated." mean that we should use a MUST [RFC2119] to tell > network operators what to do (i.e., sign their in-addr.arpa. subdomain)? > > The minimum obligation from 3552 is to document the security > properties of your protocol adequately, given that you're not requiring > DNSSEC (or even DoH). Given that you don't require this, the > 3552 analysis needs to be undertaken under the the assumption > that the attacker completely controls DNS and then work through > the consequences. > > > To my understanding, RFC2119 keywords are mainly used to ensure > interoperability between implementations. > > We routinely require that protocols have some sort of security mechanism > or only run over secure transports, > > > Using DNSSEC for the reverse zone seems like a very good idea at this > point in time (and it can be done - see at the end of this mail), but > given recent and onging developments such as DOH, is it wise to mandate > one specific mechanism, when we are only very loosely coupled to it? > > Well, DoH doesn't provide the same security properties as DNS and the > integrity property is quite important here. But you're not requiring *any* > form of DNS security. > > > > > DETAIL > > S 6.1. > > > > > > However, it should also be noted that, if an attacker was able to > > > compromise the DNS infrastructure used for cross-domain ALTO > > > server discovery, (s)he could also launch significantly more > > > serious other attacks (e.g., redirecting various application > > > protocols). > > > > Hmm... Are there no settings in which ALTO servers give information > > that isn't something that is a subset of info in DNS? This seems like > > it needs more analysis. > > ALTO servers will definitively give information beyond what we could put > in the DNS - otherwise we wouldn't need the ALTO protocol [RFC 7285]. > Typical information could be processed information extracted from > routing tables, indicating the topological distances or "routing costs" > between any pairs of IP addresses. > > Scenarios and risks related to unintended information disclosure through > ALTO have been discussed in detail in Section 5.2 of RFC 6708 (both > from the point of view of the publisher and the client sending queries). > Possible consequences of and mitigation strategies for wrong (forged) > ALTO information are discussed in Sections 15.1 and 15.2 of RFC 7285. > > What this paragraph above wants to say is that an attack against the > integrity of the DNS could make these risks become a reality. > However, the consequences described in the above-mentioned sections seem in > general - without knowing and analyzing the exact deployment > scenario - rather limited and manageable compared to other risks that > may occur if we cannot trust integrity protection in our DNS > infrastructure. > > > > S 6.1. > > > certificate will contain the host name (CN). Consequently, only > > > the host part of the HTTPS URI will be authenticated, i.e., the > > > result of the ALTO server discovery procedure. The DNS/U-NAPTR > > > based mapping within the cross-domain ALTO server discovery > > > procedure needs to be secured as described above, e.g., by using > > > DNSSEC. > > > > This is not an acceptable description of how to use TLS. Given that > > you are using HTTPS, you need to cite 2818. And as this is a new > > application of HTTPS, you should be specifying modern TLS, i.e., > > mimimum 1.2 and 7525. > > The XDOM discovery procedure itself does NOT use HTTPS/TLS. > > It's part of a system which does and you're describing the overall properties > of that system. > > I can live without the citation to 7525, but even as a descriptive matter, > talking just about the CN is not a correct description of how HTTPS > validation works. > > > > > S 6.4. > > > statement [RFC5693] and/or discussed in the ALTO working group, > > > this scenario has not been identified as a relevant threat. > > > > > > Protection Strategies and Mechanisms > > > No protection mechanisms for this scenario have been provided, as > > > it has not been identified as a relevant threat. However, if a > > > > Another threat here is the disclosure of the exact query you are > > making to the ALTO server. An attacker might be interested in that, > > and it's not all manifest in the DNS query. > > Protecting the exact query, after all an HTTP POST, is mainly covered in > RFC 7285. XDOM disc just needs to make sure that an attacker cannot > redirect a client to the URI of a malicious ALTO server and do a MITM > attack even with TLS in place. > > Which as far as I can tell, it does not do. > > > > S 2. > > > The discovery procedure sequentially tries two different lookup > > > strategies: First, an ALTO-specific U-NAPTR record is searched in the > > > "reverse tree", i.e., in subdomains of in-addr.arpa. or ip6.arpa. > > > corresponding to the given IP address or prefix. If this lookup does > > > not yield a usable result, the procedure tries further lookups with > > > truncated domain names, which correspond to shorter prefix lengths. > > > > Seems like wildcards could get a lot of this, no? > > sorry, I am not sure whether I understand this comment correctly. > Could you please be a bit more verbose here? > > Instead of having this complicated fallback system, it seems like you could > correctly > respond to most of these queries by having wildcards. This is just a comment. > > > > S 3.4. > > > | IPv4 | 32 | R32 | R24, R16, R8 | > > > | IPv4 | 24 ... 31 | R24 | R16, R8 > > > | > > > | IPv4 | 16 ... 23 | R16 | R8 > > > | > > > | IPv4 | 8 .. 15 | R8 | (none) | > > > | IPv4 | 0 .. 7 | (none, abort: invalid prefix length L) | > > > +------------+------------+------------+----------------------------+ > > > > I'm trying to work out how this works. Say that AT=IPv4 and L=27, so > > we have like ff.ff.ff.ff/28 (I know this is illegal, but it saves me > > on math). My first look up should be: 240.255.255.255.in-addr.arpa, > > and then my next one should be 255.255.255.in-addr.arpa? Is that > > correct? > > > > Where does the text say that I should zero the low-order bits in R32? > > you will match /28 against the second column of the table and conclude > that the second row applies. Consequently, you MUST lookup R24 first and > then SHOULD try R16 and R8 until success. > > in your example, R24 is 255.255.255.in-addr.arpa so it doesn't matter > whether or not you zero the 4 least significant bits first, they get > cut off anyway. > > All right. > > > > S 3.4. > > > | IPv6 | 64 (..127) | R64 | R56, R48, R32 | > > > | IPv6 | 56 ... 63 | R56 | R48, R32 > > > | > > > | IPv6 | 48 ... 55 | R48 | R32 > > > | > > > | IPv6 | 32 ... 47 | R32 | (none) > > > | > > > | IPv6 | 0 .. 31 | (none, abort: invalid prefix length L) | > > > +------------+------------+------------+----------------------------+ > > > > What's the reasoning for this pattern? > > The number of truncate-then-try-lookup steps is a compromise between > flexibility for those who want to install such NAPTR RRs > and not causing excess load on the DNS in particular if no such NAPTR > RRs are present. > > In the IPv4 case, an upper bound of 4 steps seems straightforward and > natural, due to the dotted quad notation. We decided to use a similar > number (5) of steps also for IPv6. Maybe, one more step, for /40 would > make sense, so all steps truncate the same number of bits, but not > significantly more steps. By no means does this scheme mean that we > assume or encourage address allocations following only these bit > boundaries! > > btw: the same 5 lookup steps for IPv6 are specified in RFC 7216, which > has inspired our procedure. > > What I'm asking for is to document the reasoning in this specification. > > > > S 5.1.1. > > > mechanisms such as STUN [RFC5389] would be needed and considerations > > > for UNSAF [RFC3424] apply. Therefore, using the procedures specified > > > in this document for resource consumer based ALTO server discovery is > > > generally NOT RECOMMENDED. Note that a less versatile yet simpler > > > approach for resource consumer initiated ALTO server discovery is > > > specified in [RFC7286]. > > > > Why can't people do STUN? > > Technically it would be possible, with some fine print about topology > awareness in scenarios with cascaded NATs etc. We don't need it for our > scenarios. I forgot who talked us into citing RFC3424 quite some time > ago. For the sake of a more generally applicable procedure (see above) > we can remove the "NOT RECOMMENDED", if this is considered a good idea. > > My point is that we regularly use STUN for things, so saying that you can't > do X because it would require STUN is not a strong argument. > > -Ekr > > > ---------------------------------------------------------------------- > > example: R24 = 3.69.129.in-addr.arpa. > > dig -t ANY 3.69.129.in-addr.arpa. > > ; <<>> DiG 9.10.3-P4-Debian <<>> -t ANY 3.69.129.in-addr.arpa. > ;; global options: +cmd > ;; Got answer: > ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59261 > ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 > > ;; OPT PSEUDOSECTION: > ; EDNS: version: 0, flags:; udp: 4096 > ;; QUESTION SECTION: > ;3.69.129.in-addr.arpa. IN ANY > > ;; ANSWER SECTION: > 3.69.129.in-addr.arpa. 600 IN RRSIG NAPTR 10 5 600 20190120142147 > 20190110132147 36896 69.129..in-addr.arpa. > PjbZQVxia87jSlAn+kpKtYlqYBKZ1DOightrZf6ZmeHRvznJM6vPrInY > zoBm1iEoi03JnTgAfhHs1hl0JLRDjD+xJRzDKn82PJVoUVV9m9H1HBbw > RWkQgxB/xLmUMAlaVO6/URbOEKnfIYtXz5WsvT5I2udk2STWmJu/Vdoa > mUP3SB5kvsAGkw6hwfPmc9M5NWAKeL49pPoaNFtA9KDlOIYmTXQ3OjCU > pXhFgiNAx3hjgUFtk1fTo6iHaAYLROsMGnZjcBR/jW+NWRLhqKPuwUzf > fMY7AvLSm7SiLyaKCPBjGJ2tO3iKWDNmvd3BK+TFbavLI3kDTcLydIq/ > K2PFnDI1e0sW98pPKMy9epvpghy/h3gR8058DNpw5iU5xLbK72/5gf2D > Tlt3oBqLm2t+T+2TzyVXByR4ZQQHuK2GearDZJqeXbCrznczVURPvWLU > OOmCj67mlv/BicW7ToAvozv9OTs+j68eZbQHnPnTtDdUpD5bciwRhBBW > r9FZgwqBLB7X82aZ4Pp6tqeSiqkZiWRZIIe3pFhGusOsI27UHH3VwRnp > iUuYfVjyC5j75qd7zuf/azOEWMbdaVXFpwu7c0zAKWMx0Cl1sMM/+sj8 > awpoG5zrLqkAu0hbj8huB0eZKIdC3p5G6+Bz4LAaDDpv0+Orvl1Up4SU buUfoOmjGpo= > 3.69.129.in-addr.arpa. 600 IN NAPTR 100 10 "u" "ALTO:https" > "!.*!https://nks-devel3.rus.uni-stuttgart.de/alto/ird!" \"\". > > ;; Query time: 439 msec > ;; SERVER: 127.0.0.1#53(127.0.0.1) > ;; WHEN: Thu Jan 17 00:39:58 CET 2019 > ;; MSG SIZE rcvd: 700 > _______________________________________________ > alto mailing list > [email protected] > https://www.ietf.org/mailman/listinfo/alto _______________________________________________ alto mailing list [email protected] https://www.ietf.org/mailman/listinfo/alto
