Re: [Uta] Opsdir early review of draft-ietf-uta-rfc6125bis-08

Qin Wu <bill.wu@huawei.com> Tue, 20 December 2022 03:00 UTC

Return-Path: <bill.wu@huawei.com>
X-Original-To: uta@ietfa.amsl.com
Delivered-To: uta@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3561CC1524AC; Mon, 19 Dec 2022 19:00:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.897
X-Spam-Level:
X-Spam-Status: No, score=-6.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oCiQTOzKW1zN; Mon, 19 Dec 2022 19:00:21 -0800 (PST)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8F425C14CE55; Mon, 19 Dec 2022 19:00:21 -0800 (PST)
Received: from lhrpeml100006.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Nbh7P3mcGz67Gj3; Tue, 20 Dec 2022 10:57:05 +0800 (CST)
Received: from canpemm500006.china.huawei.com (7.192.105.130) by lhrpeml100006.china.huawei.com (7.191.160.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 20 Dec 2022 03:00:17 +0000
Received: from canpemm500005.china.huawei.com (7.192.104.229) by canpemm500006.china.huawei.com (7.192.105.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 20 Dec 2022 11:00:15 +0800
Received: from canpemm500005.china.huawei.com ([7.192.104.229]) by canpemm500005.china.huawei.com ([7.192.104.229]) with mapi id 15.01.2375.034; Tue, 20 Dec 2022 11:00:15 +0800
From: Qin Wu <bill.wu@huawei.com>
To: Peter Saint-Andre <stpeter@stpeter.im>, "ops-dir@ietf.org" <ops-dir@ietf.org>
CC: "draft-ietf-uta-rfc6125bis.all@ietf.org" <draft-ietf-uta-rfc6125bis.all@ietf.org>, "uta@ietf.org" <uta@ietf.org>
Thread-Topic: Opsdir early review of draft-ietf-uta-rfc6125bis-08
Thread-Index: AdkUHiNX+EG098Y8QN6uwB12TDtiQQ==
Date: Tue, 20 Dec 2022 03:00:15 +0000
Message-ID: <54c56dc10abc4fc8b844d5b8c1833321@huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.136.100.16]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/uta/_T9dR9nly44_S3lQdWasgRGWq-w>
Subject: Re: [Uta] Opsdir early review of draft-ietf-uta-rfc6125bis-08
X-BeenThere: uta@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: UTA working group mailing list <uta.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/uta>, <mailto:uta-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/uta/>
List-Post: <mailto:uta@ietf.org>
List-Help: <mailto:uta-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/uta>, <mailto:uta-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 20 Dec 2022 03:00:26 -0000

Hi, Peter:
I think the root cause of this wildcard certificate issue you described below is 
Wildcard only covers one level of subdomains, instead of multiple level of subdomains,
If we can introduce long prefix match like mechanism to deal with multiple level of subdomain matching, this issue will be easily solved.

The benefit of using wildcard certificate is to use a single certificate for multiple subdomain and one main domain, 
But the cost is to introduce some rat hole for a clever attacker who can take advantage of single level subdomain matching.

-Qin
-----邮件原件-----
发件人: Peter Saint-Andre [mailto:stpeter@stpeter.im] 
发送时间: 2022年12月20日 2:26
收件人: Qin Wu <bill.wu@huawei.com>; ops-dir@ietf.org
抄送: draft-ietf-uta-rfc6125bis.all@ietf.org; uta@ietf.org
主题: Re: Opsdir early review of draft-ietf-uta-rfc6125bis-08

On 12/19/22 11:18 AM, Peter Saint-Andre wrote:
> On 12/19/22 12:33 AM, Qin Wu wrote:
>>>> 7.Section 7.1
>>>> I am surprised there is no protection measures to mitigate risk of 
>>>> vouching for rogue or buggy hosts in this document?
>>>
>>> It seems to me that methods for mitigating the attacks described in 
>>> [Defeating-SSL] and [HTTPSbytes] are probably out of scope for this 
>>> document.
>>>
>>> The [HTTPSbytes] attack depends on cross-site scripting, and thus I 
>>> think that mitigations should be explained in web-specific 
>>> specifications (e.g., JavaScript, HTML input validation, cookies).
>>>
>>> The [Defeating-SSL] attack depends on starting with plaintext HTTP 
>>> (not
>>> HTTPS) and of course no certificate checking happens over plaintext 
>>> HTTP. The attack also includes further trickery involving UX 
>>> differences between U-labels and A-labels as well as confusable 
>>> characters, but in Section 6.3 we already specify that domains must 
>>> be checked as A-labels and in Section 7.2 we point to relevant 
>>> specifications regarding internationalized domain names. These 
>>> matters are notoriously thorny and difficult to solve, so it's not 
>>> clear to me how much more we can say.
>>> Naturally, suggestions are welcome.
>>>
>>> [Qin Wu] Thanks for clarification, it looks to me that attack 
>>> described in [HTTPSbytes] can be solved in the solution proposed in 
>>> web specific specification while attack described in [Defeating-SSL] 
>>> can not be solved or fully solved.
>>> If that is the case, why we should quote [Defeating-SSL]? Is 
>>> [Defeating-SSL] really relevant to this document? Do you assume 
>>> plaintext HTTP can work with TLS? No?
>>
>> Perhaps some history would be helpful.
>>
>> When Jeff Hodges and I were working on the document that was 
>> eventually published as RFC 6125 (this was around 2009 or 2010, 
>> before the UTA WG was formed), we had a strong desire to remove 
>> wildcard certificates entirely. However, enough people said "wildcard 
>> certificates are important" that we were persuaded to leave them in.
>>
>> Here we are in 2022 and still enough people in the UTA WG said 
>> "wildcard certificates are important" that we could not gain 
>> consensus to remove them.
>>
>> However, it's also important to note that wildcard certificates can 
>> lead to various attacks. Although I think it's not the job of *this* 
>> specification to mitigate those attacks, people should be aware of them.
>>
>> With that said, we could also make people aware of some of the 
>> practical mitigations, such as:
>>
>> 1. Don't use wildcard certificates unless absolutely necessary.
>>
>> 2. To help mitigate against the attack described in [Defeating-SSL] 
>> (which starts with plaintext HTTP), application clients and servers 
>> could require the use of TLS. Here we could cite §3.2 of RFC 9325.
>>
>> 3. To help mitigate against the attack described in [HTTPSbytes], web 
>> clients and servers could put in place protections against cross-site 
>> scripting attacks. Here we could point to the OWASP guidelines at 
>> https://owasp.org/www-community/attacks/xss/
>>
>> Do you think that adding some text along these lines would be an 
>> improvement?
>>
>> [Qin Wu] Thanks for history revisiting, Yes, quoting these practical 
>> mitigation that has already defined somewhere perfectly make sense 
>> and addresses my concern, especially section 3.2 of RFC9325, I am 
>> happy if you can add these clarifications and quotations which make 
>> me not scared about wildcard certificates any more.:-) Thanks you for 
>> taking care of my remaining comment.
> 
> Great.
> 
> I had one more thought regarding [Defeating-SSL]. Notice that the 
> example on Slide 92 of that presentation is as follows (actually 
> `google` is supposed to be `gmail` but you get the idea):
> 
> www.google.xn--
> comaccountsservicelogin-5j9pia.f.ijjk.cn
> 
> According to the rules in §6.3 of draft-ietf-uta-rfc6125bis-08, that 
> domain does not match *.ijjk.cn because only one wildcard character is 
> allowed and the wildcard must match only the leftmost label. The most 
> that could be matched would be f.ijjk.cn. Using this label, the fake 
> URL would be:
> 
> https://com╱accounts╱servicelogin.f.ijjk.cn

Actually it's only https://f.ijjk.cn - but my point about not getting too comfortable still stands because attackers are clever...

> Could that still fool someone into clicking it? Perhaps, but without 
> the widely known company or service name in the fake URL perhaps the 
> risk is lower.
> 
> However, I don't know if this really helps, because even though 
> various full stop characters (e.g., U+3002 IDEOGRAPHIC FULL STOP) are 
> disallowed by RFC 5892 in internationalized domain name labels, I have 
> no doubt that a clever attacker could construct a single label that 
> could fool some users into believing that the domain looks legitimate.
> 
> Peter
>