JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel

Awal bulan ini di Berita Hacker telah dibincangkan secara aktif Protokol JMAP dibangunkan di bawah arahan IETF. Kami memutuskan untuk bercakap tentang mengapa ia diperlukan dan cara ia berfungsi.

JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel
/ Px Di Sini /PD

Perkara yang saya tidak suka tentang IMAP

Protokol IMAP telah diperkenalkan pada tahun 1986. Banyak perkara yang diterangkan dalam standard tidak lagi relevan hari ini. Sebagai contoh, protokol boleh mengembalikan bilangan baris surat dan jumlah semak MD5 - fungsi ini boleh dikatakan tidak digunakan dalam klien e-mel moden.

Masalah lain adalah berkaitan dengan penggunaan trafik. Dengan IMAP, e-mel disimpan pada pelayan dan disegerakkan secara berkala dengan pelanggan tempatan. Jika atas sebab tertentu salinan pada peranti pengguna rosak, semua mel perlu disegerakkan semula. Dalam dunia moden, apabila beribu-ribu peranti mudah alih boleh disambungkan ke pelayan, pendekatan ini membawa kepada peningkatan penggunaan trafik dan sumber pengkomputeran.

Kesukaran timbul bukan sahaja dengan protokol itu sendiri, tetapi juga dengan pelanggan e-mel yang bekerja dengannya. Sejak penciptaannya, IMAP telah tertakluk kepada pelbagai semakan berkali-kali - versi semasa hari ini ialah IMAP4. Pada masa yang sama, terdapat banyak sambungan pilihan untuknya - pada rangkaian diterbitkan sembilan puluh RFC dengan tambahan. Antara yang terbaru ialah RFC8514diperkenalkan pada tahun 2019.

Pada masa yang sama, banyak syarikat menawarkan penyelesaian proprietari mereka sendiri yang sepatutnya memudahkan kerja dengan IMAP atau menggantikannya: gmail, Outlook, nylas. Hasilnya ialah pelanggan e-mel sedia ada hanya menyokong beberapa ciri yang tersedia. Kepelbagaian sedemikian membawa kepada pembahagian pasaran.

"Selain itu, pelanggan e-mel moden bukan sahaja perlu memajukan mesej, tetapi boleh berfungsi dengan kenalan dan menyegerakkan dengan kalendar," kata Sergei Belkin, ketua pembangunan di penyedia IaaS 1cloud.ru. β€” Hari ini, protokol pihak ketiga seperti LDAP, CardDAV ΠΈ CalDAV. Pendekatan ini merumitkan konfigurasi tembok api dalam rangkaian korporat dan membuka vektor baharu untuk serangan siber.”

JMAP direka untuk menyelesaikan masalah ini. Ia sedang dibangunkan oleh pakar FastMail di bawah bimbingan Pasukan Petugas Kejuruteraan Internet (IETF). Protokol berjalan di atas HTTPS, menggunakan JSON (atas sebab ini ia sesuai bukan sahaja untuk bertukar-tukar mesej elektronik, tetapi juga untuk menyelesaikan beberapa tugas dalam awan) dan memudahkan organisasi bekerja dengan mel dalam sistem mudah alih. Selain memproses surat, JMAP juga menyediakan keupayaan untuk menyambung sambungan untuk bekerja dengan kenalan dan penjadual kalendar.

Ciri-ciri protokol baharu

JMAP ialah protokol tanpa kerakyatan (tanpa negara) dan tidak memerlukan sambungan kekal ke pelayan mel. Ciri ini memudahkan kerja dalam rangkaian mudah alih yang tidak stabil dan menjimatkan kuasa bateri pada peranti.

E-mel dalam JMAP diwakili dalam format struktur JSON. Ia mengandungi semua maklumat daripada mesej RFC5322 (Format Mesej Internet), yang mungkin diperlukan oleh aplikasi e-mel. Menurut pembangun, pendekatan ini harus memudahkan penciptaan pelanggan, kerana menyelesaikan masalah yang berpotensi (berkaitan dengan MIME, membaca tajuk dan pengekodan) pelayan akan bertindak balas.

Pelanggan menggunakan API untuk menghubungi pelayan. Untuk melakukan ini, ia menjana permintaan POST yang disahkan, sifat yang diterangkan dalam objek sesi JMAP. Permintaan adalah dalam format aplikasi/json dan terdiri daripada satu objek permintaan JSON. Pelayan juga menjana satu objek tindak balas.

Π’ spesifikasi (titik 3) pengarang memberikan contoh berikut dengan permintaan:

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

Di bawah ialah contoh respons yang akan dijana oleh pelayan:

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

Spesifikasi penuh JMAP dengan contoh pelaksanaan boleh didapati di laman web rasmi projek. Di sana penulis juga menyiarkan penerangan spesifikasi untuk Kenalan JMAP ΠΈ Kalendar JMAP β€” ia bertujuan untuk bekerja dengan kalendar dan senarai kenalan. Oleh menurut pengarang, Kenalan dan Kalendar dipisahkan kepada dokumen yang berasingan supaya ia boleh dikembangkan dan diseragamkan secara bebas daripada "teras". Kod sumber untuk JMAP - dalam repositori di GitHub.

JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel
/ Px Di Sini /PD

Prospek

Walaupun fakta bahawa kerja pada standard belum lagi disiapkan secara rasmi, ia telah pun dilaksanakan dalam persekitaran pengeluaran. Contohnya, pencipta pelayan mel terbuka Cyrus IMAP melaksanakan versi JMAPnya. Pembangun dari FastMail dilepaskan rangka kerja pelayan untuk protokol baharu dalam Perl, dan pengarang JMAP dibentangkan pelayan proksi.

Kita boleh menjangkakan akan ada lebih banyak lagi projek berasaskan JMAP pada masa hadapan. Sebagai contoh, terdapat beberapa kemungkinan bahawa pembangun dari Open-Xchange, yang mencipta pelayan IMAP untuk sistem Linux, akan bertukar kepada protokol baharu. Tolak IMAP mereka sangat banyak ahli masyarakat bertanya, dibentuk di sekitar alat syarikat.

Pembangun dari IETF dan FastMail berkata semakin ramai pengguna melihat keperluan untuk standard terbuka baharu untuk pemesejan. Penulis JMAP berharap pada masa akan datang lebih banyak syarikat akan mula melaksanakan protokol ini.

Sumber dan sumber tambahan kami:

JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel Cara menyemak kuki untuk pematuhan GDPR - alat terbuka baharu akan membantu

JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel Cara Menyimpan dengan Antara Muka Pengaturcaraan Aplikasi
JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel DevOps dalam perkhidmatan awan menggunakan contoh 1cloud.ru
JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel Evolusi seni bina awan 1cloud

JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel Potensi Serangan pada HTTPS dan Cara Melindungi Terhadap Mereka
JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel Bagaimana untuk melindungi pelayan di Internet: Pengalaman 1cloud.ru
JMAP - protokol terbuka yang akan menggantikan IMAP apabila bertukar-tukar e-mel Program pendidikan pendek: apakah itu Integrasi Berterusan

Sumber: www.habr.com

Tambah komen