aboutsummaryrefslogtreecommitdiff
path: root/_doc/RFC_4686__DKIM_THREATS.adoc
diff options
context:
space:
mode:
Diffstat (limited to '_doc/RFC_4686__DKIM_THREATS.adoc')
-rw-r--r--_doc/RFC_4686__DKIM_THREATS.adoc268
1 files changed, 268 insertions, 0 deletions
diff --git a/_doc/RFC_4686__DKIM_THREATS.adoc b/_doc/RFC_4686__DKIM_THREATS.adoc
new file mode 100644
index 00000000..54bf6c08
--- /dev/null
+++ b/_doc/RFC_4686__DKIM_THREATS.adoc
@@ -0,0 +1,268 @@
+// SPDX-License-Identifier: BSD-3-Clause
+// SPDX-FileCopyrightText: 2019 M. Shulhan <ms@kilabit.info>
+
+= Analysis of Threats Motivating DomainKeys Identified Mail (DKIM)
+:toc:
+:sectnums:
+:sectlinks:
+:url-rfc4686: https://tools.ietf.org/html/rfc4686
+
+This document provide note and summary of
+{url-rfc4686}[RFC 4686^], Analysis of Threats Motivating DomainKeys Identified
+Mail (DKIM).
+
+
+== Introduction
+
+The DKIM protocol defines a mechanism by which email messages can be
+cryptographically signed by Message Submission Agent (MSA) based on domain
+name.
+Recipients then can verify the signature by querying the signer's domain
+directly to retrieve the appropriate public key, and thereby confirm that the
+message was attested to by a party in possession of the private key for the
+signing domain.
+
+=== Terminology and Model
+
+An administrative unit (AU) is the portion of the path of an email message
+that is under common administration.
+
+The following diagram illustrates a typical usage flowchart for DKIM:
+
+....
+ +---------------------------------+
+ | SIGNATURE CREATION |
+ | (Originating or Relaying AU) |
+ | |
+ | Sign (Message, Domain, Key) |
+ | |
+ +---------------------------------+
+ | - Message (Domain, Key)
+ |
+ [Internet]
+ |
+ V
+ +---------------------------------+
+ +-----------+ | SIGNATURE VERIFICATION |
+ | | | (Relaying or Delivering AU) |
+ | KEY | | |
+ | QUERY +--->| Verify (Message, Domain, Key) |
+ | | | |
+ +-----------+ +----------------+----------------+
+ | - Verified Domain
+ +-----------+ V - [Report]
+ | SENDER | +----------------+----------------+
+ | SIGNING | | |
+ | PRACTICES +--->| SIGNER EVALUATION |
+ | QUERY | | |
+ +-----------+ +---------------------------------+
+....
+
+DKIM operates entirely on the content (body and selected header fields) of the
+message.
+
+The following definitions were used as rough criteria for scoring the attacks:
+
+* Impact:
+** High: Affects the verification of messages from an entire domain or
+multiple domains
+** Medium: Affects the verification of messages from specific users, Mail
+Transfer Agents (MTAs), and/or bounded time periods
+** Low: Affects the verification of isolated individual messages only
+
+* Likelihood:
+** High: All email users should expect this attack on a frequent basis
+** Medium: Email users should expect this attack occasionally; frequently for
+a few users
+** Low: Attack is expected to be rare and/or very infrequent
+
+== The Bad Actors
+
+The bad actors are expected to have access to the following:
+
+* An extensive corpus of messages from domains they might wish to impersonate
+* Knowledge of the business aims and model for domains they might wish to
+impersonate
+* Access to public keys and associated authorization records associated with
+the domain
+
+The bad actors are expected to be able to,
+
+* Submit messages to MTAs MSAs at multiple locations in the Internet
+
+* Construct arbitrary message header fields, including those claiming to be
+mailing lists, resenders, and other mail agents
+
+* Sign messages on behalf of domains under their control
+
+* Generate substantial numbers of either unsigned or apparently-signed
+messages that might be used to attempt a denial-of-service attack
+
+* Resend messages that may have been previously signed by the domain
+
+* Transmit messages using any envelope information desired
+
+* Act as an authorized submitter for messages from a compromised computer
+
+* Manipulation of IP routing.
+This could be used to submit messages from specific IP addresses or
+difficult-to-trace addresses, or to cause diversion of messages to a specific
+domain.
+
+* Limited influence over portions of DNS using mechanisms such as cache
+poisoning.
+This might be used to influence message routing or to falsify advertisements
+of DNS-based keys or signing practices.
+
+* Access to significant computing resources, for example, through the
+conscription of worm-infected "zombie" computers.
+This could allow the bad actor to perform various types of brute-force
+attacks.
+
+* Ability to eavesdrop on existing traffic, perhaps from a wireless network.
+
+=== Location
+
+The bad actors can reside inside the AU or outside the AU.
+
+External bad actors usually try to send unwanted message to local
+mailbox, either without signature, with incorrect signature, or valid
+signature.
+
+When the bad actors come from inside, DKIM is not directly effective because
+the signature is generated after the message has been submitted.
+One of defense againts internal bad actors is by applying authentication to
+MSA.
+
+
+== Representative Bad Acts
+
+One of the most fundamental bad acts being attempted is the delivery
+of messages that are not intended to have been sent by the alleged
+originating domain.
+
+=== Use of Arbitrary Identities
+
+DKIM is not effective against the use of addresses controlled by bad actors.
+
+Accreditation and reputation systems and locally-maintained whitelists and
+blacklists can be used to enhance the accountability of DKIM-verified
+addresses and/or the likelihood that signed messages are desirable.
+
+=== Use of Specific Identities
+
+DKIM is not effective against the domains controlled by bad actors.
+
+DKIM is effective against the use of specific identities only when
+there is an expectation that such messages will, in fact, be signed.
+The primary means for establishing this is the use of Sender Signing
+Practices (SSP).
+
+==== Exploitation of Social Relationships
+
+DKIM could be effective in mitigating these acts by limiting the scope of
+origin addresses for which a valid signature can be obtained when sending the
+messages from other locations.
+
+==== Identity-Related Fraud
+
+DKIM is effective in defending against the fraudulent use of origin addresses
+on signed messages.
+When the published sender signing practices of the origin address indicate
+that all messages from that address should be signed, DKIM further mitigates
+against the attempted fraudulent use of the origin address on unsigned
+messages.
+
+==== Reputation Attacks
+
+It is for this reason that reputation systems must be based on an identity
+that is, in practice, fairly reliable.
+
+==== Reflection Attacks
+
+It is common and useful practice for a message's return path not to correspond
+to the origin address.
+For these reasons, DKIM is not effective against reflection attacks.
+
+
+== Attacks on Message Signing
+
+=== Attacks against Message Signatures
+
+The following is a summary of postulated attacks against DKIM signatures:
+
+[cols=".<8,.^1,.^1"]
+----
+|===
+| Attack Name | Impact | Likelihood
+
+| Theft of private key for domain | High | Low
+| Theft of delegated private key | Medium | Medium
+| Private key recovery via side channel attack | High | Low
+| Chosen message replay | Low | Medium/High
+| Signed message replay | Low | High
+| Denial-of-service attack against verifier | High | Medium
+| Denial-of-service attack against key service | High | Medium
+| Canonicalization abuse | Low | Medium
+| Body length limit abuse | Medium | Medium
+| Use of revoked key | Medium | Low
+| Compromise of key server | High | Low
+| Falsification of key service replies | Medium | Medium
+| Publication of malformed key records and/or signatures | High | Low
+| Cryptographic weaknesses in signature generation | High | Low
+| Display name abuse | Medium | High
+| Compromised system within originator's network | High | Medium
+| Verification probe attack | Medium | Medium
+| Key publication by higher-level domain | High | Low
+|===
+----
+
+=== Attacks against Message Signing Practices
+
+The following is a summary of postulated attacks against signing
+practices:
+
+[cols=".<8,.^1,.^1"]
+----
+|===
+| Attack Name | Impact | Likelihood
+
+| Look-alike domain names | High | High
+| Internationalized domain name abuse | High | High
+| Denial-of-service attack against signing practices | Medium | Medium
+| Use of multiple From addresses | Low | Medium
+| Abuse of third-party signatures | Medium | High
+| Falsification of Sender Signing Practices replies | Medium | Medium
+|===
+----
+
+
+=== Other Attacks
+
+[cols=".<8,.^1,.^1"]
+----
+|===
+| Attack Name | Impact | Likelihood
+
+| Packet amplification attacks via DNS | N/A | Medium
+|===
+----
+
+== Derived Requirements
+
+These requirements include:
+
+* The store for key and SSP records must be capable of utilizing multiple
+geographically-dispersed servers.
+
+* Key and SSP records must be cacheable, either by the verifier requesting
+them or by other infrastructure.
+
+* The cache time-to-live for key records must be specifiable on a per-record
+basis.
+
+* The signature algorithm identifier in the message must be one of the ones
+listed in a key record for the identified domain.
+
+* The algorithm(s) used for message signatures need to be secure against
+expected cryptographic developments several years in the future.