Internet-Draft MIMI Taxonomy October 2022
Rosenberg Expires 26 April 2023 [Page]
Workgroup:
Mimi
Internet-Draft:
draft-rosenberg-mimi-taxonomy-00
Published:
Intended Status:
Standards Track
Expires:
Author:
J. Rosenberg
Five9

A Taxonomy for More Messaging Interop (MIMI)

Abstract

This document introduces a taxonomy and use cases for More Messaging Interop (mimi). This taxonomy includes how users initiate messaging, how recipients receive initial messages, and so on.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 26 April 2023.

Table of Contents

1. Introduction

The More Instant Messaging Interoperability (MIMI) working group will specify the minimal set of mechanisms required to make modern Internet messaging applications interoperable. Over time, messaging applications have achieved widespread use, their feature sets have broadened, and their adoption of end-to-end encryption (E2EE) has grown, but the lack of interoperability between these services continues to create a suboptimal user experience. The standards produced by the MIMI working group will allow for E2EE messaging applications for both consumer and enterprise to interoperate without undermining the security guarantees that they provide.

There are many decisions that need to be made about how such interoperability will be provided. These include how users initiating communications will find and/or identify users they wish to communicate with, how recipients will receive initial communications, whether the communications services envisioned by MIMI are bilateral or multilateral, and so on. This document provides a taxonomy and outlines the solution space of decisions that will need to be taken. It is meant as an informative document to aid in discussions and decision making.

2. Initiator Knowledge

In the most basic case for mimi, there is one user (the initiator) that wishes to send a message to another user (the recipient). This can be a basic 1-1 messaging session, or it can be that the initiator is part of a group chat, and wishes to add the recipient to the group chat.

Initiating communications requires the initiator to know something about the recipient, which is used to target the communications to that recipient. There are a finite set of things that the initiator is required to know in order to initiate communications, and this forms one dimension of taxonomization for mimi - initiator knowledge.

Mimi support for these different use cases comes with different pros and cons.

The SSI case has the benefit that it enables interop with communications services, such as Wire, that dont retain email address or mobile phone numbers for users. However, it has a drawback that is requires the user to know, in advance, what communications service the recipient is using. In cases where the identifier is a phone number or email address, it is unlikely that the initiator will know this information. A common use case is for the initiator to be on their mobile phone, using their mobile phone's native messaging function - iMessage on iPhone, Android Messages on Android - and wish to send a message to another user. In this case, today this use cases requires the initiator to only know the mobile number of the recipient. In other words, today's native mobile messaging experiences are SII based. If we want the mimi solution to work seamlessly with the user experiences mobile users already have, then SII is required.

The PII solution has the obvious benefit of enabling user's to find each other with limited information, without requiring knowledge of an identifier. However, inter-domain search is fraught with privacy and security problems.

It is helpful to understand which of these modes are used in some of the more popular consumer messaging applications:

Service                 Initiator Knowledge

iMessage                SII (mobile number, email)
RCS/SMS                 SII (mobile number)
WhatsApp                SII (mobile number)
Facebook Messenger      PII (Facebook graph search)
Twitter DM              SSI (twitter handle)
KaokaoTalk              SSI (KaokaoTalk) and SII (mobile number)

3. Recipient Approval

Another aspect of the solution considers the experience of the recipient. Does the recipient need to approve the communications, or do they just receive it?

The solution space for this is finite:

The choice for recipient approval is somewhat intertwined with the question on identity conveyance, as discussed in the next section.

4. Identity Conveyance

When the recipient receives the message or group chat addition from the initiatior, they will see some information about the identity of the initiator. There are many options for what can be done:

Identity conveyance is intertwined with the question of recipient approval. If the system is based on Approval, no User Content - the safest choice to reduce spam - then the only way in which the recipient can make a decision is based on the identity of the sender. If there is no useful information about the sender, it is difficult for the recipient to make a decision. SSI Only provides the least information. SII is a significant improvement, largely due to the possible match against the address book. SII with display name is better still, but depends on the ability of the display name to be trusted.

5. Federation Model

The mimi solution can be built on one of several federation models:

6. SII Type

There are only two SII types - email addresses and phone numbers. The choice about whether to support one, the other, or both, has many considerations.

Phone numbers have the property that they are finite, whereas email addresses are infinite in supply. This is relevant when considering spam. When an identifier space is finite, it is much easier to introduce blacklists for blocking communications. When the identifier space is infinite, bad actors can mint new addresses, bypassing blacklists. Whitelist-based systems are unaffected by this.

Email addresses contain user-identifying information within their structure. An email address like "joesmith23@aol.com" indicates that this user might be named Joe Smith. When recipient approval is without user content, and there is no display name in the identity conveyance, the only information present is the SII itself. If the SII is not matched to the address book, the email address can provide some clue about who the user is. Phone numbers, on the other hand, do not provide any such information. This is a dual-edged sword. While it may help users in making decisions on whether to approve communications, it can also be used as a source of spam. Consider a malicious initiator that knows that the recipient has a friend named "Joe Smith". The malicious initiator could mint email addresses like "joesmith4@gmail.com", and attempt communications. If rejected, they can try again with yet another email address - "joesmith87@gmail.com", and try again.

Phone numbers have the property that they are not free to obtain. Email addresses are free to obtain. Identifiers which cost money, increase the expense required to use them as a source of spam. This argues in favor of mobile numbers. Of course, these costs continue to decline, but they remain non-zero. The finite supply of numbers also means that they are unlikely to ever go to zero.

7. Normative References

[I-D.ietf-mls-architecture]
Beurdouche, B., Rescorla, E., Omara, E., Inguva, S., Kwon, A., and A. Duric, "The Messaging Layer Security (MLS) Architecture", Work in Progress, Internet-Draft, draft-ietf-mls-architecture-09, , <https://www.ietf.org/archive/id/draft-ietf-mls-architecture-09.txt>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.

Author's Address

Jonathan Rosenberg
Five9