[Trans] Fwd: Threat model outline, attack model

Melinda Shore <melinda.shore@gmail.com> Thu, 11 September 2014 23:51 UTC

Return-Path: <melinda.shore@gmail.com>
X-Original-To: trans@ietfa.amsl.com
Delivered-To: trans@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EC7A1A0252 for <trans@ietfa.amsl.com>; Thu, 11 Sep 2014 16:51:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0eiDekUtnU6Z for <trans@ietfa.amsl.com>; Thu, 11 Sep 2014 16:51:21 -0700 (PDT)
Received: from mail-pa0-x22c.google.com (mail-pa0-x22c.google.com [IPv6:2607:f8b0:400e:c03::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A5FA51A0053 for <trans@ietf.org>; Thu, 11 Sep 2014 16:51:21 -0700 (PDT)
Received: by mail-pa0-f44.google.com with SMTP id kx10so10893646pab.17 for <trans@ietf.org>; Thu, 11 Sep 2014 16:51:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; bh=wC96PtAXAjaYKBSCREm+/GUYG2PAs0kvs0TDnrcZMXM=; b=QahMU8lDTFF3xAzS3zWEb3/btYpf1dBYKQ8mZUcBaa/4juSSdy4+MsGdbL001+Y1+d LQ6/xwT7UzAAdPvZ7H/szu2NcwspNcqEv7m0ymFP7cxwwqSMZl8dwrbYGv+g1HRJqhQy 6ZiH78l56IS0WxKDkUbEZEnm0HSlk/gwC5R+cx9F25KUglzwX6/iL1FiZlDjXkuyf9Ps Y7KWyLE9wBd3vV+iT6z4IqwRlORxruX1tV2s0r6MFcoRgGKFJQIE6zq+l5KfeA1CaL5I 7ZqdFuRqpSbN6SxtcuJ/5gqKMJ4/iywA5TDyJz/2LgUJjLp3OdU0ZHFN8hRdBF3HLUKk ZEog==
X-Received: by 10.68.216.166 with SMTP id or6mr6272897pbc.34.1410479481318; Thu, 11 Sep 2014 16:51:21 -0700 (PDT)
Received: from spandex.local (69-161-3-58-rb2.sol.dsl.dynamic.acsalaska.net. [69.161.3.58]) by mx.google.com with ESMTPSA id g13sm2159731pat.45.2014.09.11.16.51.19 for <trans@ietf.org> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 11 Sep 2014 16:51:20 -0700 (PDT)
Message-ID: <54123576.2090005@gmail.com>
Date: Thu, 11 Sep 2014 15:51:18 -0800
From: Melinda Shore <melinda.shore@gmail.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: "trans@ietf.org" <trans@ietf.org>
References: <5411E511.1040605@bbn.com>
In-Reply-To: <5411E511.1040605@bbn.com>
X-Forwarded-Message-Id: <5411E511.1040605@bbn.com>
Content-Type: multipart/mixed; boundary="------------030108000900070108010206"
Archived-At: http://mailarchive.ietf.org/arch/msg/trans/lYtkPAXZxv2XVGnjj7VkFKK57fo
Subject: [Trans] Fwd: Threat model outline, attack model
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Public Notary Transparency working group discussion list <trans.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trans>, <mailto:trans-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/trans/>
List-Post: <mailto:trans@ietf.org>
List-Help: <mailto:trans-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trans>, <mailto:trans-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Sep 2014 23:51:24 -0000

You'll note that we have an open ticket on this (ticket
#41: http://trac.tools.ietf.org/wg/trans/trac/ticket/41).
I'd like to see this get some attention sooner rather than
later (along with the precertificate discussion).

Melinda


-------- Original Message --------
Subject: 	[Trans] Threat model outline, attack model
Date: 	Thu, 11 Sep 2014 14:08:17 -0400
From: 	Stephen Kent <kent@bbn.com>
To: 	trans@ietf.org <trans@ietf.org>



Since there was a suggestion that the current (-04) CT text contained an
adequate
threat model, and if a better one were needed, I should offer text, I
have done so.

Here is an initial cut at the sort of text I expect to see in an RFC
dealing with
security mechanisms.

Steve
--------

Threat Model



Certificate Transparency (CT) is intended to detect and mitigate
problems arising from mis-issuance of certificates, in the Web PKI
context. The Web PKI context refers to the use of a set of Certification
Authorities (CAs) that issue X.509 certificates to web servers to enable
TLS-protected access by clients [cite WPKOPS?].



A certificate is characterized as mis-issued if the certificateis issued
to an entity that is not authorized to represent the host (web server)
named in the certificate Subject field or Subject Alternative Name
extension. <do we want to focus exclusively on SAN vs. Subject?)





<Discuss classes of adversaries, motivations, and capabilities>



1.Criminals



2.Hacktivists



3.Nation states (intelligence organizations)



4.Other?







Attack Model and CT Mitigation Mechanisms



Certificate mis-issuance may arise in one of several ways.  The ways
that CT helps detect and remedy mis-issuance depends on the context of
the mis-issuance.



1.A non-malicious Web PKI CA may mis-issue a certificate as a result of
an error or because it was the victim of a social engineering attack. In
this case the CA has a record of the certificate and it is prepared to
revoke the bogus certificate once it has been convinced of its error. If
the CA is submitting the certificates it issues to one or more logs,
there will be records of the bogus certificate. If one of Monitors to
which the certificate was submitted is tracking the targeted Subject, it
will detect the mis-issuance, and will alert the Subject. Because the CA
has a record of the mis-issuance, the only data needed to identify the
bogus certificate is the Subject (SAN) and public key, both of which are
available from the log. The presence of an embed SCT in the bogus
certificate, or an SCT accompanying the bogus certificate does not
appear to contribute to the mitigation. (See Note 1 below.)



2.A non-malicious Web PKI CA may be the victim of an undetected attack
(c.f., DigiNotar) which results in mis-issuance of one or more
certificates. In this case the CA is not aware of the mis-issuance and
may have no record of the certificate content.



a.The bogus certificate(s) may have been submitted to one or more logs
prior to issuance, to acquire an embedded SCT, or post-issuance to
acquire a standalone SCT. In either case, a Monitor to which the
certificates had been submitted (and which is tracking the targeted
Subject), would detect a bogus certificate and alert the targeted
Subject. The Subject, in turn, would request the CA to revoke the bogus
certificate. In this case, the CA will depend on the certificate serial
number provided via the log entry, to effect revocation. (See Notes 1 +
2 below.) If TLS clients rejects a certificate when no SCT is present,
this might motivate the attacker to log the bogus certificates, thus
justifying such client behavior. (However, such client behavior needs to
be defined in a way that is compatible with incremental deployment.)

b.A bogus certificate may not have been submitted to any logs. In this
case, Monitors will not detect the bogus certificate. If clients reject
a certificate that lacks (or is not accompanied by) an SCT, the attacker
will be thwarted in this case. (See Note 3 below.)



3.A malicious Web PKI CA may mis-issue a certificate as a result of
being bribed or compelled to do so. (A CA might be compelled to issue a
bogus certificate my a government agency or a criminal organization.)
This CA might be one or more tiers below a trust anchor (aka root CA).

a.The bogus certificate(s) may have been submitted to one or more logs
prior to issuance, to acquire an embedded SCT, or post-issuance, to
acquire a standalone SCT. In either case, a Monitor tracking the
targeted Subject would detect a bogus certificate and alert the targeted
subject. The Subject, in turn, would request the CA to revoke the bogus
certificate. In this case, the CA may refuse, or substantially delay, to
revoke the bogus certificate. (It could make excuses about inadequate
proof that the certificate is bogus, or argue that it cannot quickly
revoke the certificate because of local, legal concerns, etc.) In this
case, the CT mechanisms have detected mis-issuance, but are not able to
remedy the problem. (See Note 4 below.)

b.A bogus certificate may not have been submitted to any logs. In this
case, Monitors will not detect the bogus certificate. If clients reject
a certificate that lacks (or is not accompanied by) an SCT, the attacker
will be thwarted in this case. (See Note 3 below.)



Notes:



1.If a CA submits the bogus certificate to logs, but these logs are not
watched by a Monitor that is tracking the targeted Subject, CT will not
mitigate a mis-issuance attack. It is not clear whether every Monitor
MUST offer to track every Subject that requests its certificates be
monitored. Absent such a guarantee, how do TLS clients and CAs know
which set of Monitors will provide “sufficient” coverage. Unless these
details are addressed, use of CT does not mitigation mis-issuance even
when certificates are logged.



2.A CA being presented with evidence of a bogus certificate probably
will require more than the serial number of the bogus certificate. It
will want to verify the Issuer and Subject (SAN) to ensure that the
certificate being revoked is not one that it has knowingly issued (which
would fall under case #1). Other certificate fields and extensions may
be of interest for forensic purposes, but are not required to effect
revocation nor to verify that the certificate to be revoked is bogus.
The SCT itself, because it contains a timestamp from a third party, is
probably valuable for forensic purposes.



3.If a TLS client is to reject a certificate that lacks an embedded SCT,
or is not accompanied by a post-issuance SCT, this behavior needs to be
defined in a way that is compatible with incremental deployment. Issuing
a warning to a (human) user is probably insufficient, based on
experience with warnings displayed for expired certificates, lack of
certificate revocation status information, and similar errors that
violate RFC 5280 path validation rules.



4.The targeted Subject might request the parent or the offending CA to
revoke the certificate of the non-cooperative CA. However, a request of
this sort may be rejected, e.g., because of the potential for
significant collateral damage.





As the analysis above shows, logs play a critical role in enabling
detection of certificate mis-issuance, although they do not, per se,
perform such detection. Thus logs represent another target for
adversaries who wish to effect certificate mis-issuance. If a log
generates SCTs for an attacker, but does not provide the log entries for
these SCTs to all, or some, Monitors, CT will not detect mis-issuance.
Thus it is critical that Monitors be able to compare the results of log
data acquisition to detect mis-behaving logs.



Absent a protocol (a so-called “gossip” protocol) that enables Monitors
to verify that data from logs are consistent, CT does not provide
protection against logs that may conspire with, or be victims of,
attackers effecting certificate mis-issuance. Even when a gossip
protocol is deployed, it is necessary to describe how the CT system will
deal with a mis-behaving or compromised log. For example, will there be
a mechanism to alert all TLS clients to reject SCTs issued by such a
log. Absent a description of a mitigation strategy to deal with
mis-behaving or compromised logs, CT cannot ensure detection, much less
remediation, of mis-issuance.



Monitors also play a critical role in detecting certificate
mis-issuance, for Subjects that have requested monitoring of their
certificates. Thus Monitors represent another target for adversaries who
wish to effect certificate mis-issuance. If a Monitor is compromised by,
or is complicit with, an attacker, it will fail to alert a Subject to a
mis-issued certificate targeting the Subject. This raises the question
of whether a Subject needs to request certificate monitoring from
multiple sources to guard against such failures.