← MLS/
RFC 9420 · Bölüm 01 Ön Bölüm

Ön Bilgiler

Internet Engineering Task Force (IETF)                         R. Barnes
Request for Comments: 9420                                         Cisco
Category: Standards Track                                  B. Beurdouche
ISSN: 2070-1721                                          Inria & Mozilla
                                                               R. Robert
                                                             Phoenix R&D
                                                             J. Millican
                                                          Meta Platforms
                                                                E. Omara

                                                          K. Cohn-Gordon
                                                    University of Oxford
                                                             Temmuz 2023

Mesajlaşma Katmanı Güvenliği (MLS) Protokolü

Özet

Mesajlaşma uygulamaları, mesajlara yalnızca iletişim kuran uç noktaların erişebilmesini ve mesajların iletimine dahil olan sunucuların bunlara erişememesini sağlamak için giderek daha fazla uçtan uca güvenlik mekanizması kullanmaktadır. Bu tür korumaları sağlayacak anahtarların kurulması, ikiden fazla istemcinin bir anahtar üzerinde uzlaşması gerektiği ancak aynı anda çevrimiçi olmayabileceği grup sohbeti ortamlarında zordur. Bu belgede, büyüklüğü ikiden binlere uzanan gruplar için ileriye dönük gizlilik (FS) ve ele geçirilme sonrası güvenlik (PCS) sağlayan, verimli ve eşzamansız grup anahtarı kurulumuna yönelik bir anahtar kurulum protokolü tanımlıyoruz.

Bu Belgenin Durumu

Bu belge, Internet Standards Track kapsamındaki bir belgedir.

Bu belge, Internet Engineering Task Force'un (IETF) bir ürünüdür. IETF topluluğunun uzlaşısını yansıtır. Kamuya açık incelemeden geçmiş ve Internet Engineering Steering Group (IESG) tarafından yayımlanmak üzere onaylanmıştır. İnternet standartları hakkında daha fazla bilgi RFC 7841'in 2. bölümünde bulunabilir.

Bu belgenin güncel durumu, varsa errata kayıtları ve buna nasıl geri bildirim verileceğine ilişkin bilgilere şu adresten ulaşılabilir: https://www.rfc-editor.org/info/rfc9420.

Telif Hakkı Bildirimi

Telif hakkı (c) 2023 IETF Trust ve belge yazarları olarak belirtilen kişilere aittir. Tüm hakları saklıdır.

Bu belge, BCP 78'e ve bu belgenin yayımlandığı tarihte yürürlükte olan IETF Trust'ın IETF Belgelerine İlişkin Hukuki Hükümlerine (https://trustee.ietf.org/license-info) tabidir. Bu belgeler, bu belgeye ilişkin haklarınızı ve kısıtlamalarınızı açıkladığı için lütfen dikkatle inceleyin. Bu belgeden çıkarılan Kod Bileşenleri, Trust Legal Provisions'ın 4.e bölümünde açıklandığı şekilde Revised BSD License metnini içermelidir ve yine Revised BSD License'da açıklandığı üzere herhangi bir garanti olmaksızın sağlanır.

İçindekiler

1.  Giriş
2.  Terminoloji
     2.1.  Gösterim Dili
       2.1.1.  İsteğe Bağlı Değer
       2.1.2.  Değişken Boyutlu Vektör Uzunluk Başlıkları
3.  Protokole Genel Bakış
     3.1.  Kriptografik Durum ve Evrimi
     3.2.  Örnek Protokol İşleyişi
     3.3.  Harici Katılımlar
     3.4.  Epoch'lar Arasındaki İlişkiler
4.  Ratchet Ağacı Kavramları
     4.1.  Ratchet Ağacı Terminolojisi
       4.1.1.  Ratchet Ağacı Düğümleri
       4.1.2.  Ratchet Ağacı İçindeki Yollar
     4.2.  Ratchet Ağacına Dair Görünümler
5.  Kriptografik Nesneler
     5.1.  Şifre Takımları
       5.1.1.  Açık Anahtarlar
       5.1.2.  İmzalama
       5.1.3.  Açık Anahtarlı Şifreleme
     5.2.  Hash Tabanlı Tanımlayıcılar
     5.3.  Kimlik Bilgileri
       5.3.1.  Kimlik Bilgisi Doğrulaması
       5.3.2.  Kimlik Bilgilerinin Süresinin Dolması ve İptali
       5.3.3.  İstemcilerin Benzersiz Biçimde Tanımlanması
6.  Mesaj Çerçeveleme
     6.1.  İçerik Kimlik Doğrulaması
     6.2.  Açık Bir Mesajın Kodlanması ve Çözülmesi
     6.3.  Özel Bir Mesajın Kodlanması ve Çözülmesi
       6.3.1.  İçerik Şifreleme
       6.3.2.  Gönderici Verisinin Şifrelenmesi
7.  Ratchet Ağacı İşlemleri
     7.1.  Ebeveyn Düğüm İçeriği
     7.2.  Yaprak Düğüm İçeriği
     7.3.  Yaprak Düğüm Doğrulaması
     7.4.  Ratchet Ağacının Evrimi
     7.5.  Ağaca İlişkin Görünümlerin Eşzamanlanması
     7.6.  Güncelleme Yolları
     7.7.  Yaprak Ekleme ve Kaldırma
     7.8.  Ağaç Hash'leri
     7.9.  Parent Hash'ler
       7.9.1.  Parent Hash'lerin Kullanımı
       7.9.2.  Parent Hash'lerin Doğrulanması
8.  Anahtar Çizelgesi
     8.1.  Grup Bağlamı
     8.2.  Transcript Hash'leri
     8.3.  Harici Başlatma
     8.4.  Önceden Paylaşılmış Anahtarlar
     8.5.  Exporter'lar
     8.6.  Yeniden Başlatma PSK'si
     8.7.  Epoch Doğrulayıcıları
9.  Gizli Ağaç
     9.1.  Şifreleme Anahtarları
     9.2.  Silme Çizelgesi
10. Anahtar Paketleri
     10.1.  KeyPackage Doğrulaması
11. Grup Oluşturma
     11.1.  Gerekli Yetenekler
     11.2.  Yeniden Başlatma
     11.3.  Alt Grup Dallanması
12. Grubun Evrimi
     12.1.  Teklifler
       12.1.1.  Add
       12.1.2.  Update
       12.1.3.  Remove
       12.1.4.  PreSharedKey
       12.1.5.  ReInit
       12.1.6.  ExternalInit
       12.1.7.  GroupContextExtensions
       12.1.8.  Harici Teklifler
     12.2.  Teklif Listesi Doğrulaması
     12.3.  Teklif Listesinin Uygulanması
     12.4.  Commit
       12.4.1.  Commit Oluşturma
       12.4.2.  Commit İşleme
       12.4.3.  Gruba Üye Ekleme
13. Genişletilebilirlik
     13.1.  Ek Şifre Takımları
     13.2.  Teklifler
     13.3.  Kimlik Bilgisi Genişletilebilirliği
     13.4.  Uzantılar
     13.5.  GREASE
14. Durum Değişikliklerinin Sıralanması
15. Uygulama Mesajları
     15.1.  Dolgu
     15.2.  Kısıtlamalar
     15.3.  Geciken ve Sırası Değişen Uygulama Mesajları
16. Güvenlik Hususları
     16.1.  Taşıma Güvenliği
     16.2.  Grup Sırlarının Gizliliği
     16.3.  Gönderici Verisinin Gizliliği
     16.4.  Grup Meta Verisinin Gizliliği
       16.4.1.  GroupID, Epoch ve Mesaj Sıklığı
       16.4.2.  Grup Uzantıları
       16.4.3.  Grup Üyeliği
     16.5.  Kimlik Doğrulama
     16.6.  İleriye Dönük Gizlilik ve Ele Geçirilme Sonrası Güvenlik
     16.7.  Ratchet Ağacı Anahtar Çiftlerinin Benzersizliği
     16.8.  KeyPackage Yeniden Kullanımı
     16.9.  Teslimat Hizmetinin Ele Geçirilmesi
     16.10. Kimlik Doğrulama Hizmetinin Ele Geçirilmesi
     16.11. Ek İlke Uygulaması
     16.12. Kötü Niyetli İç Katılımcılar Nedeniyle Grubun Parçalanması
17. IANA Hususları
     17.1.  MLS Şifre Takımları
     17.2.  MLS Wire Formatları
     17.3.  MLS Uzantı Türleri
     17.4.  MLS Teklif Türleri
     17.5.  MLS Kimlik Bilgisi Türleri
     17.6.  MLS İmza Etiketleri
     17.7.  MLS Açık Anahtarlı Şifreleme Etiketleri
     17.8.  MLS Exporter Etiketleri
     17.9.  MLS Belirlenmiş Uzman Havuzu
     17.10. "message/mls" Medya Türü
18. Kaynaklar
     18.1.  Normatif Kaynaklar
     18.2.  Bilgilendirici Kaynaklar
Ek A.  Örnek Ağaçların Protokol Kökenleri
Ek B.  Parent Hash'lerin Evrimi
Ek C.  Dizi Tabanlı Ağaçlar
Ek D.  Bağlantı Tabanlı Ağaçlar
Katkıda Bulunanlar
Yazarların Adresleri