JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling

Aan het begin van de maand werd er actief gediscussieerd op Hacker News over het JMAP-protocol, ontwikkeld onder leiding van de IETF. We besloten om te praten over waarom het nodig is en hoe het werkt.Wat is er mis met IMAP?

JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling
/ PxHere / PD

IMAP

Protocol werd geĆÆntroduceerd in 1986. Veel dingen die in de standaard zijn beschreven, zijn tegenwoordig niet meer relevant. Bijvoorbeeld, het protocol kan het aantal regels in een e-mail en controle-sommen teruggeven — deze functionaliteit wordt in moderne e-mailclients nauwelijks gebruikt. MD5 Een ander probleem heeft te maken met het dataverbruik. Bij IMAP worden e-mails op de server opgeslagen en periodiek gesynchroniseerd met lokale clients. Als om de een of andere reden de kopie op het apparaat van de gebruiker 'beschadigd' raakt, moet de hele mail opnieuw worden gesynchroniseerd. In de moderne wereld, waar duizenden mobiele apparaten met de server kunnen worden verbonden, leidt deze aanpak tot een verhoogd dataverbruik en verbruik van rekenkracht.

Er ontstaan niet alleen problemen met het protocol zelf, maar ook met de e-mailclients die ermee werken. Sinds de introductie is IMAP meerdere keren herzien - de huidige versie is IMAP4. Daarbij zijn er vele optionele uitbreidingen voor beschikbaar - in totaal

negen decimaal RFC's met aanvullingen. Een van de nieuwste is gepubliceerd RFC8514 , gepresenteerd in 2019.Veel bedrijven bieden echter hun eigen propriƫtaire oplossingen aan die het werken met IMAP zouden moeten vereenvoudigen of het zelfs helemaal zouden moeten vervangen:

Gmail Outlook, . Hierdoor ondersteunen bestaande e-mailclients slechts sommige van de beschikbare functies. Deze diversiteit leidt tot marktsegmentatie., Nylasā€œBovendien moet een moderne e-mailclient niet alleen berichten kunnen doorsturen, maar ook in staat zijn om met contacten te werken en te synchroniseren met de agenda,ā€ zegt Sergey Belkin, hoofd van de ontwikkelingsafdeling van de IaaS-provider.

ā€œVandaag de dag worden hiervoor externe protocollen gebruikt, zoals 1cloud.ruLDAP . Deze aanpak bemoeilijkt de configuratie van firewalls in bedrijfsnetwerken en opent nieuwe kwetsbaarheden voor cyberaanvallen.ā€, CardDAV en CalDAV. Deze aanpak bemoeilijkt de configuratie van firewalls in bedrijfsnetwerken en opent nieuwe vectoren voor cyberaanvallen.

De aangegeven problemen worden opgelost door JMAP. Het wordt ontwikkeld door specialisten van FastMail onder leiding van de Internet Engineering Task Force (IETF). Het protocol werkt bovenop HTTPS, gebruikt JSON (om deze reden is het niet alleen geschikt voor het uitwisselen van e-mail, maar ook voor een aantal taken in de cloud) en vereenvoudigt de organisatie van e-mailgebruik in mobiele systemen. Naast het verwerken van e-mails biedt JMAP ook de mogelijkheid om uitbreidingen voor contacten en agenda's te koppelen.

Kenmerken van het nieuwe protocol

JMAP is een stateless protocol en vereist geen constante verbinding met de e-mailserver. Deze eigenschap vereenvoudigt het werken in onbetrouwbare mobiele netwerken en bespaart batterijduur van apparaten.

Een e-mail in JMAP wordt gepresenteerd in het JSON-structuurformaat. Het bevat alle informatie uit het bericht RFC5322 (Internet Message Format), die nodig kan zijn voor e-mailtoepassingen. Volgens de ontwikkelaars moet deze aanpak het eenvoudiger maken om clients te ontwikkelen, aangezien de server verantwoordelijk zal zijn voor het oplossen van potentiƫle complicaties (met betrekking tot MIME, het lezen van headers en codering).

Om de server aan te roepen, gebruikt de client een API. Hiervoor vormt hij een geauthenticeerde POST-aanroep, waarvan de eigenschappen zijn beschreven in het JMAP-sessieobject. De aanvraag heeft het formaat application/json en bestaat uit ƩƩn JSON-aanvraagobject. De server genereert ook ƩƩn antwoordobject.

In de specificatie (punt 3) de auteurs geven het volgende voorbeeld van een aanvraag:

{
  "using": [ "urn:ietf:params:jmap:core", "urn:ietf:params:jmap:mail" ],
  "methodCalls": [
    [ "method1", {
      "arg1": "arg1data",
      "arg2": "arg2data"
    }, "c1" ],
    [ "method2", {
      "arg1": "arg1data"
    }, "c2" ],
    [ "method3", {}, "c3" ]
  ]
}

Hieronder is een voorbeeld van een antwoord dat de server zal genereren:

{
  "methodResponses": [
    [ "method1", {
      "arg1": 3,
      "arg2": "foo"
    }, "c1" ],
    [ "method2", {
      "isBlah": true
    }, "c2" ],
    [ "anotherResponseFromMethod2", {
      "data": 10,
      "yetmoredata": "Hallo"
    }, "c2"],
    [ "error", {
      "type":"unknownMethod"
    }, "c3" ]
  ],
  "sessionState": "75128aab4b1b"
}

De volledige specificatie van JMAP met implementatievoorbeelden is te vinden op officiĆ«le website project. Daar hebben de auteurs ook de specificaties voor geplaatst JMAP Contacts en JMAP Calendars — deze zijn gericht op het werken met agenda's en contactlijsten. Volgens woord de auteurs zijn Contacts en Calendars in aparte documenten geplaatst, zodat ze onafhankelijk van de "kern" verder ontwikkeld en gestandaardiseerd kunnen worden. De broncodes voor JMAP zijn te vinden op repository op GitHub.

JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling
/ PxHere / PD

Vooruitzichten

Ondanks dat het officiële werk aan de standaard nog niet is afgerond, wordt deze al geïmplementeerd in productiesystemen. Zo hebben de makers van de open mailserver Cyrus IMAP hun JMAP-versie gerealiseerd. Ontwikkelaars van FastMail uitgebracht hebben een serverframework voor het nieuwe protocol in Perl ontwikkeld, en de auteurs van JMAP hebben gepresenteerd proxy-server.

Je kunt verwachten dat er in de toekomst steeds meer projecten op basis van JMAP zullen komen. Zo is er een zekere kans dat de ontwikkelaars van Open-Xchange, die een IMAP-server voor Linux-systemen maken, overgaan op het nieuwe protocol. De gemeenschap vraagt hen nadrukkelijk om afstand te doen van IMAP, die zich rond de tools van het bedrijf heeft gevormd.

Ontwikkelaars van IETF en FastMail zeggen dat steeds meer gebruikers de noodzaak zien van een nieuwe open standaard voor berichtenuitwisseling. De auteurs van JMAP hopen dat in de toekomst meer bedrijven dit protocol zullen implementeren.

Onze aanvullende bronnen en referenties:

JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling Hoe cookies te controleren op naleving van de GDPR - een nieuwe open tool helpt

JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling Hoe te besparen met behulp van een toepasselijke API
JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling DevOps in de cloudservice aan de hand van 1cloud.ru
JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling De evolutie van cloudarchitectuur 1cloud

JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling Potentiƫle aanvallen op HTTPS en manieren om je ertegen te beschermen
JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling Hoe je een server op het internet kunt beveiligen: ervaring van 1cloud.ru
JMAP - een open protocol dat IMAP vervangt voor e-mailuitwisseling Korte uitleg: wat is Continuous Integration

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster