Hx-Protokoll/Microsoft Sync Technologie

Schon auf der Ignite 2016 gab es erste Informationen zum HX-Protokoll, welches durch Windows Mobile 10 genutzt werden sollte. Mehr Details gab dann Ross Smith IV auf der Ignite 2018 hat. Nun ist es ja nicht so, dass wird mit ActiveSync, EWS, MAPI/HTTP und REST nicht genug Protokolle für den Zugriff auf Exchange Daten haben. Wozu dann noch ein weiteres Protokoll? Ende 2020 haben wir ja schon fünf Protokolle (EAS, EWS, REST, MAPI/HTTP, Graph), wenn wir OWA, RPC/HTTP, RPC/TCP, POP3, IMAP4 außen vor lassen. Ein weiteres Protokoll macht nur Sinn, wenn andere zurück gebaut werden.

Das HX-Protokoll wird aktuell von Outlook/IOS und Outlook/Android genutzt. Die Einführung erfolgte quasi "unbemerkt" von Administratoren und Anwendern, da Microsoft die neue API bereitgestellt hat und über ein Update der Clients (ab "Outlook for iOS 3.10.1", "Outlook for Android 3.0.14" und neuer) der Wechsel vollzogen wurde. Der "Vorläufer" ActiveSync ist weiter aktiv, damit die nativen Apps der mobilen Clients weiterhin Mails, Termine und Kontakte abgleichen können.

Lange Zeit hat es geheißen, dass die neuen Desktop-Apps wie New Outlook/Win und New Outlook/Mac auf REST/Graph aufsetzen. Das ist aber nicht korrekt. Sie nutzen auch das Hx-Protokoll.

Was ist das?

Microsoft Sync Technology ist der Oberbegriff für Microsofts moderne Synchronisationsarchitektur, die in Outlook für iOS und Android sowie auch in anderen Outlook-Clients (z. B. Outlook für Mac) verwendet wird. Sie ersetzt ältere Protokolle wie Exchange ActiveSync (EAS), REST oder proprietäre APIs . Die Vorteile sind

  • Direkte Verbindung zwischen App und Microsoft 365/Office 365 – ohne Middleware
  • Geringere Latenz durch Wegfall des „Stateless Protocol Translators“.
  • Unterstützung für moderne Features wie S/MIME, Sensitivitätskennzeichnungen, Shared Mailboxes 

Das HX-Protokoll ist eine Implementierung dieser Microsoft Sync Technology – speziell für Outlook für iOS und Android. Es wurde eingeführt, um das alte Acompli-Protokoll abzulösen, das Microsoft durch den Zukauf der Firma Acompli übernommen hatte. Die Besonderheiten des HX-Protokolls sind

  • Wird ausschließlich in der Cloud (Exchange Online) verwendet.
  • Unterstützt keine On-Premises-Server direkt – nur über Cloud-Proxy
  • Ist Teil der Strategie zur Protokollkonsolidierung bei Outlook-Clients

Microsoft geht damit von ActiveSync (EAS) weg. ActiveSync wurde aber an Apple und andere Hersteller lizenziert und wird weiter unterstützt. Solche Clients können natürlich nicht die Vorteile von des neune Protokolls verwenden. Nur zur Vollständigkeit daher noch einmal die verschiedenen Exchange Clientprotokolle im Vergleich

Protokoll  Kurzbeschreibung
MAPI/RPC

Erstes Protokoll seit Exchange 4.0 zur Kommunikation von Outlook und Exchange Client zum Server. Es ist heute nicht mehr in Verwendung

RPC/HTTP

Die erste Version das MAPI-Protokoll über RPC in HTTP-Pakete einzupacken. Viel mehr Overhead geht kaum und in Exchange Online ist das Protokoll schon abgeschaltet.

MAPI/HTTP

Das ist das aktuelle Protokoll für den Zugriff mit Outlook auf Exchange Online und auch alle OnPremises Server sollten diese mittlerweile anbieten

EWS

Die Exchange Webservices bietet einige Zugriffe über HTTP, die in MAPI wohl nicht mehr addiert wurde. EWS ist aber OnPremises noch immer das Protokoll für Programme mit API-Zugriff und Clients ohne MAPI, z.B.: Outlook/Mac (Classic und New). In Exchange Online fällt EWS aber im Okt 2025 weg

Graph API Diese API ist nur in Exchange Online verfügbar und ersetzt EWS und viele andere Protokolle. Im Prinzip könnten 3rd Party Applikationen auch so auf Postfachdaten zugreifen und explizieren. Die API gibt es aber nicht (mehr) auf Exchange OnPremises (Siehe Graph und Exchange On-Premises)
IMAP4/POP3

Wer mag, kann über diese Protokolle weiterhin an sein Postfach kommen. In Exchange Online allerdings nur mit "Modern Auth". BasicAuth geht nicht mehr

EAS

ActiveSync ist weiter aktiv und für den Zugriff auf Mails, Termine und Kontakte durch 3rd-Party Produkte im Einsatz, z.B. AppleMail auf IOS und Mac, die Android Mailapp u.a.

HX

Diese Protokoll nutzen das "New Outlook/Win", "New Outlook/Mac", Outlook/IOS und Outlook/Android. Mir ist mir nicht bekannt, dass Microsoft das neue Protokoll offengelegt hat und an 3rd-Party-Hersteller lizenziert.

Also ist es an der Zeit, etwas hinter HX zu schauen. Es gibt meines Wissens keine offizielle Dokumentation und auch der Begriff "Microsoft Sync Technologie" fällt in dem Bereich. Auch ist die Funktion nicht ganz eindeutig. Ein Beispiel sind hier die mobilen Clients. Ein "New Outlook/Win" kann über die "Microsoft Sync Technologie" sehr wohl auch POP3/IMAP4-Postfächer ansprechen aber z.B. kein Exchange OnPremises. Ein Outlook/IOS nutzt aber nutzt wohl auch die neue Microsoft Sync Technologie um sich über die Cloud zu einem lokalen Exchange Postfach zu verbinden. Allerdings sieht der lokale Exchange Server hier einen "ActiveSync-Zugriff".

Hingegen nutzt "New Outlook/Mac" auch die Microsoft Sync Technologie zum Zugriff auf ein Exchange Online Postfach aber kann auch weiter per EWS auf lokale Postfächer zugreifen.

Erste Beschreibung

Microsoft veröffentlicht nicht viele Informationen über das HX-Protokoll aber eine Folie aus dem Jahr 2018 zeigt ein paar früher Informationen. Primär geht es um die Abschaltung des alten Acompli-Protokolls, welches in Amazon AWS gehostet wurde zugunsten der Microsoft Azure Plattform:


Quelle: BRK3145 Deploying Outlook mobile securely in the enterprise https://youtu.be/dt5GomXuqhI?t=325 

Aus dem Bild lese ich mehrere Informationen aus:

  • Cloud Only
    Anscheinend ist die Verfügbarkeit des neuen Protokolls auf "Exchange Online" beschränkt. Es wird wohl keine native Unterstützung direkt im Exchange On-Premises-Server geben. Das könnte ein Hinweis sein, dass die bisherigen Protokolle für die Cloud z.B. aus Performance- oder Sicherheitsgründen nicht optimal sind und Hx besser skaliert.
  • On-Premises über die Cloud
    Auf der Seite Cloud als Frontend Proxy? habe ich schon in Sommer 2018 unabhängig von Microsoft vermutet, dass die Cloud als Frontend für eine On-Premises-Umgebung genutzt werden können. Mit Graph und Exchange On-Premises ist das schon länger der Fall. Ein Client kann über das HX-Protokoll über die Cloud als Proxy und ActiveSync zum Backend auch OnPremise Postfächer nutzen.
  • Analogie zum Outlook/IOS und Outlook/Android
    Mit dem Zukauf der Firma Acompli (Outlook für IOS und Outlook für Android) hat Microsoft schon eine ähnliche Konstellation bekommen, die von Amazon AWS mittlerweile zu Azure umgezogen wurde. Diese beiden Produkte nutzen nicht ActiveSync sondern eine Middleware in der Cloud, was im Prinzip dem HX-Protokollansatz entspricht. Ich gehe davon aus, dass der Wechsel der mobilen Clients für IOS/Android auf das HX-Protokoll erforderlich ist, um die "alten" Proxy-Server auf Basis des Acompli-Protokolls abzubauen.

Natürlich haben die Diskussionen nach der Veröffentlichung zugenommen und so gibt es einige Aussagen von Microsoft-Mitarbeitern in Foren und Dokumentationen:

To enhance your Microsoft 365 experience in new Outlook for Windows, Outlook for iOS, Outlook for Android, and Outlook for Mac, you can now sync your non-Microsoft accounts (including their emails, contacts, and events) to the Microsoft Cloud. This is available for Gmail, Yahoo, iCloud, and IMAP accounts in Outlook for iOS, Outlook for Android, and Outlook for Mac. This is also available for Gmail and Yahoo accounts in new Outlook for Windows.
Quelle: Sync account in Outlook for Mac to Microsoft Cloud https://support.microsoft.com/en-us/office/sync-account-in-outlook-for-mac-to-microsoft-cloud-992b833d-79bd-4ecf-820e-089bbf6eb92e

.. Outlook desktop will continue to use the MAPI/HTTP protocol...
... We haven't announced the transition date for Outlook for Mac. Stay tuned...
Quelle: Kommentar von Ross  https://techcommunity.microsoft.com/t5/exchange/outlook-lt-gt-exchange-protocols/m-p/266365

Auch in der Dokumentation hat sich mittlerweile das HX-Protokoll niedergeschlagen

"Protocol consolidation: Today, each Outlook client platform utilizes a different data sync protocol, which hinders the ability to innovate and deploy new features quickly across all Outlook clients. The native Microsoft sync technology that Outlook for iOS and Android is adopting has been in use by the native Windows 10 mail client for a number of years, and in the future, will be used by Outlook for Mac."
Quelle: https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/outlook-for-ios-and-android/outlook-for-ios-and-android

Zu Outlook/Win finden wir

Most accounts are supported in new Outlook. This includes Microsoft accounts such as an Outlook.com or Hotmail.com account, work or school accounts assigned to you by your organization's admin, third-party accounts such as Gmail, Yahoo!, iCloud, and other third-party accounts connecting through IMAP.
Quelle: Getting started with the new Outlook for Windows https://support.microsoft.com/en-us/office/getting-started-with-the-new-outlook-for-windows-656bb8d9-5a60-49b2-a98b-ba7822bc7627

Auch im FAQ-Bereich werden einige Fragen beantwortet.

Interoperabilität

Das Bild von Microsoft habe ich natürlich etwas weiterentwickelt, denn das ursprüngliche Protokoll war auf Exchange Online beschränkt, aber das ist mittlerweile nicht mehr so. Der Zugang wird z.B. auch vom "New Outlook/Win" genutzt, um damit IMAP4-Postfächer zu lesen. Damit ergibt sich ein gemischtes Bild, in der eine Middleware die Verbindung zu den nachgelagerten Services bereitstellt:

 
Ob das Bild zu zutreffend ist, kann ich nicht garantieren.

Allerdings wird speziell die "Proxy-Funktion" nicht für alle Clients angeboten. Ich habe noch nicht alle Clients und Konstellationen durchprobiert und mit Fiddler/Wireshark analysiert und die folgende Tabelle ist daher noch vorläufig. Der Zugriff auf Exchange Online ist natürlich immer möglich.

  • Nein = nicht möglich
  • Ja = über Microsoft Sync Technology
  • Nativ = Client verbindet sich direkt mit Server ohne Microsoft Middleware
Client Exchange
Online
Exchange
OnPremises
IMAP4/SMTP POP3/SMTP Apple Mail
iCloud
Outlook.com
Hotmail
Gmail Yahoo

Outlook/Win

Ja

Nein

Ja

Nein

?

Ja

Ja

Ja

Outlook/Mac

Ja

Nativ EWS

Ja

Ja

Ja

Ja

Ja

Ja

Outlook/IOS

Ja

Ja

Nativ

?

?

Nativ

Nativ

Nativ

Outlook/Android

Ja

Ja

Nativ

?

?

Nativ

Nativ

Nativ

Ein paar Aussagen dazu:

  • Alle vier "neuen" Clients können direkt Exchange Online Postfächer ansprechen, was uns nicht weiter überrascht.
  • Die mobilen Apps für IOS und Android können auch auf Exchange OnPremises zugreifen.
    Das ist für die Windows und Mac-Version von Outlook im Juni 2025 noch nicht möglich gewesen. Für Mac soll es kommen.

Ich finde es dennoch komisch, wenn alle vier Clients angeblich das gleiche Backend nutzen aber dennoch unterschiedliche Dienste konfigurieren können. Zudem habe ich kaum eine Beschreibung gefunden, was genau für Exchange OnPremises erforderlich ist. Sei es ActiveSync oder EWS, denn der Exchange OnPrem Outlook REST API für Mail, Kontakte, Termine-Endpunkt ist auch schon wieder abgekündigt.

Acompli Migration

Auf der Ignite 2018 gab es im Vortrag "BRK 2177: Outlook mobile for the enterprise" eine weitere Information:

Hier wird dann deutlich, dass das Hx-Protokoll tatsächlich das Acompli-Protokol "OMS" ablöst, welches Microsoft 2015 durch den Zukauf der Firma Acompli erhalten und bsi 2017 von Amazon AWS auf Azure migriert hat. Da der Support für das HX-Protokoll nun native in den Office 365 Frontend-Servern umgesetzt wird, kann dann auch der Umweg über die Azure-Ressourcen entfallen.

Ignite 2018: BRK 2177: Outlook mobile for the enterprise
https://youtu.be/jEbjTOfezLU?t=1370

Ignite 2018: BRK3145 - Deploying Outlook mobile securely in the enterprise (kein Link)

Auf dem Bild ist aber auch sichtbar, dass neben "Outlook Mobile" auch die neuen "Universal"-Clients und Outlook/Mac das neue Protokoll nutzen werden.

Discover what's new and what's coming for Microsoft Outlook - Windows 10 Mobile
https://youtu.be/q65W0d4qugg?t=2081
Erste Informationen über Windows 10 Mobile und HX schon im Jahr 2016!

Kennwort-Sicherheit

Die neuen Clients sprechen mit der Microsoft Cloud nicht nur zu Exchange Online. New Outlook/Win und New Outlook/Mac kommunizieren auch zu anderen Mailsysteme, z.B. Google Mail, Yahoo, Outlook.com und sogar IMAP4/SMTP-:Diensten über das Protokoll. Das bedeutet natürlich, dass Sie in dem Client ihre IMAP4/SMTP-Zugangsdaten zu einem anderen Provider eingeben und die Microsoft Cloud sich diese speichert. Nur so kann die Middleware weiterhin sich mit ihrem Postfach verbinden und Mails senden und empfangen. Da stellt sich natürlich die Frage, wie sicher die Speicherung des des Kennworts ist. Dazu habe ich folgendes Zitat gefunden:

„The first time the Outlook app for iOS and Android is run in an Exchange on-premises environment, Outlook generates a random AES-128 key. This key is known as the device key and is stored only on the user's device. When a user logs onto Exchange with Basic authentication, the username, password, and a unique AES-128 device key are sent from the user's device to the Outlook cloud service over a TLS connection, where the device key is held in runtime compute memory. After verifying the password with the Exchange server, the Microsoft 365 or Office 365-based architecture uses the device key to encrypt the password, and the encrypted password is then stored in the service. The device key, meanwhile, is wiped from memory and never stored in the Microsoft 365 or Office 365-based architecture (the key is only stored on the user's device). Next, when a user attempts to connect to Exchange to retrieve mailbox data, the device key is again passed from the device to the Microsoft 365 or Office 365-based architecture over a TLS-secured connection, where it is used to decrypt the password in runtime compute memory. Once decrypted, the password is never stored in the service or written to a local storage disk, and the device key is once again wiped from memory.„ Quelle:  https://learn.microsoft.com/en-us/exchange/clients/outlook-for-ios-and-android/passwords-and-security?view=exchserver-2019

Es ist also schon so, dass die Microsoft Cloud hier ihre Zugangsdaten hat, wenn der Service nicht mittels OAUTH und Token arbeiten kann. Der Anwender sendet das Kennwort zwar per HTTPS verschlüsselt zur Cloud, aber Microsoft muss die Daten natürlich entschlüsseln können und bekommt so das Kennwort im Klartext. Es wird aber nicht im Klartext oder durch einen Microsoft Schlüssel gespeichert sondern durch einen individuellen Geräteschlüssel verschlüsselt. Der Client sendet beim Zugriff also den Geräteschlüssel zu Microsoft, damit Microsoft damit das Kennwort temporär decodieren und auf den Mailserver zugreifen kann.

Letztlich bleibt es natürlich eine Frage des Vertrauens und die Kommunikation von Microsoft war damals beim Kauf von Accompli und der weiteren Entwicklung nicht immer deutlich, so dass es einige Warnungen gab.

Übrigens überträgt Microsoft angeblich auch nicht alle Mails aus dem Postfach in seine Cloud, sondern nur die Elemente der letzten 4 Wochen.

Management

Auch wenn mittlerweile alle Clients auf das HX-Protokoll umgestellt sein sollten, können Sie als Exchange Administrator den Status recht einfach per PowerShell ermitteln

Get-MobileDevice `
   | where {$_.DeviceModel -eq "Outlook for iOS and Android"} `
   | ft DeviceID,DeviceOS,ClientType,UserDisplayName,

DeviceId                         DeviceOS                        ClientType UserDisplayName
--------                         --------                        ---------- ---------------
9761B93029CDC55F                 Outlook for iOS and Android 1.0 EAS        EURPR04A003.prod.outlook.com/Micros
1539db31335e46d01bde5f8179c81235 iOS 10.3.3                      REST       Intune Test
d5e46d058179c81235e46d0a4a80126f Android 9                       REST       User2
3A8258C75e46d02293125e46d01AE298 iOS 14.3                        Outlook    User1

Die Endgeräte melden sich weiter mit dem Modell "Outlook for iOS and Android" und können damit über Conditional Access und Mobile Device Policies verwaltet und gesteuert werden. Der ClientType liefert aber die Information, ob sie noch das ganz alte "ActiveSync" (EAS) nutzen, das zwischenzeitlich genutzte REST oder eben schon das neue HX-Protokoll (Outlook). Sie werden sicher einige Gerte finden, die noch mit REST und EAS sichtbar sind. Die meisten sind aber alte Partnerschaften, die einfach noch nicht gelöscht wurden. Da lohnt sich dann mal ein Blick in die Statistik mit

Get-MobileDeviceStatistics -mailbox <username> | ft DeviceID,lastSuccessSync,DeviceModel,clienttype,DeviceAccessState

DeviceID                         LastSuccessSync     DeviceModel                 ClientType  DeviceAccessState
--------                         ---------------     -----------                 ----------  -----------------
4KGQP16GIH3JV8C740833ILNT0       02.06.2020 10:18:06 iPhone8C4                   EAS         Blocked
H3TP8OUML8C7408RF6FVA73Q38       18.12.2020 07:49:31 iPhone12C1                  EAS         Quarantined
3A88941AE294822<931941AE22F76098 18.12.2020 05:34:30 Outlook for iOS and Android Outlook     Allowed

Das erste Gerät ist hier ein altes Smartphone und das zweite Gerät eine IOS-ActiveSync in der Quarantäne.

Weitere Links