Upload
others
View
23
Download
0
Embed Size (px)
Citation preview
ii
ÖNSÖZ
Tezimin hazırlanması sırasında yardımlarını esirgemeyen tez danışmanım Prof. Dr.
Günsel Durusoy’a; ayrıca tüm yaşamım boyunca bana daima destek olan ve
başarımın en büyük kaynağı olan aileme sonsuz sevgi ve teşekkürlerimi sunarım.
Mayıs, 2005 Sinan İLKİZ
iii
ĠÇĠNDEKĠLER
KISALTMALAR ....................................................................................................... v
TABLO LĠSTESĠ ..................................................................................................... vii
ġEKĠL LĠSTESĠ ...................................................................................................... viii
ÖZET ......................................................................................................................... xii
SUMMARY ............................................................................................................. xiv
1. GiriĢ ......................................................................................................................... 1
2. YEREL ġEBEKEDE ÇOK HEDEFLĠ ĠLETĠM ................................................ 4
2.1. Çok Hedefli İletimin Ortaya Çıkışı ................................................................... 4
2.2. Internet Grup Yönetim Protokolü (IGMP) ........................................................ 8
2.2.1. Birinci Sürüm Internet Grup Yönetim Protokolü ...................................... 8
2.2.2 İkinci Sürüm Internet Grup Yönetim Protokolü (IGMPv2) ...................... 11
2.2.3. Üçüncü Sürüm Internet Grup Yönetim Protokolü (IGMPv3).................. 21
2.3. Çok Hedefli Mesajların Ethernet Üzerinden İletimi ....................................... 35
3. ÇOK HEDEFLĠ ĠLETĠMDE YÖNLENDĠRME .............................................. 38
3.1 Çok Hedefli İletim Yönlendirmesine Giriş ...................................................... 38
3.1.1. Yayılmış Ağaç Çok hedefli İletim Yönlendirmesi................................... 40
3.1.2. Uzaklık Vektörü Çok hedefli İletim Yönlendirmesi ................................ 41
3.1.3. Bağlantı Durumu Çok Hedefli İletim Yönlendirmesi .............................. 46
3.1.4. ÇHİ Yönlendirmesinin Hiyerarşik Düzende Yapılması .......................... 47
3.2. Protokolden Bağımsız Çok Hedefli İletim Seyrek Modu (PIM – SM) ........... 48
3.2.1. PIM-SM Protokol Spesifikasyonu ........................................................... 52
4. ÇOK HEDEFLĠ ĠLETĠM D SINIFI ADRES YÖNETĠMĠ .............................. 70
4.1. IETF Çok Hedefli İletim Adres Tahsis Mimarisi ........................................... 70
4.2. Yönetimsel Olarak Belirlenmiş Kapsamların Kullanımı ................................ 75
4.3. GLOP Adresleme Altyapısı ............................................................................ 77
4.4. Tek Hedefli İletim Şebekelerinin Önek Olarak Kullanılması ......................... 78
5. ÇOK HEDEFLĠ ĠLETĠMĠN INTERNET ÜZERĠNDE KULLANIMI .......... 80
5.1. ÇHİ’in Gelişimi ve Çok Hedefli İletim Omurgası (MBONE) ........................ 80
5.2. Internet Üzerinde Kullanılan Kısa Vadeli Çözümler ..................................... 82
5.2.1. Çok Hedefli İletim Kaynak Keşif Protokolü (MSDP) ............................. 84
5.3. Uzun Vadeli Çözümler .................................................................................... 91
6. ÇOK HEDEFLĠ ĠLETĠM GÜVENLĠĞĠ ........................................................... 94
6.1. Çok Hedefli İletim Güvenlik Uzayı ................................................................ 95
6.1.1. Grup Karakteristikleri .............................................................................. 96
6.1.2. Güvenlik Gereksinimleri .......................................................................... 97
6.1.3. Performans Parametreleri ....................................................................... 102
iv
6.1.4. Çok Hedefli İletim ve Grup Güvenlik Çatısı ......................................... 104
6.2. Çok Hedefli İletimde İçerik Güvenliği ......................................................... 108
6.2.1. Grup Anahtar Yönetimi ......................................................................... 109
6.2.1.1. Grup Güvenlik İlişkileri (GSA) Modeli ve Yönetimi ..................... 110
6.2.1.2. Grup Anahtar Yönetim Mimarileri ................................................. 115
6.2.1.3. Grup Anahtar Dağıtımı ve Tekrar Anahtarlama Algoritmaları....... 129
6.2.2. Kaynak Kimlik Doğrulaması ve Erişim Kontrolü ................................. 153
6.2.2.1. Özet temelli doğrulama ................................................................... 155
6.2.2.2. Mesaj Doğrulama Kodları (MAC) Temelli Veri Dönüşümleri ...... 166
6.2.3. Bilgi Korsanlığı ...................................................................................... 171
6.2.4. Çok Hedefli İletimde Güvenlik Politikalarının Kullanımı ..................... 174
6.2.4.1. Ismene Politika Tanımlama Dili ..................................................... 181
6.2.4.3 DCCM Kriptografik İçerik Müzakere Şablonu (CCNT) ................. 182
6.2.4.3. Grup Güvenlik Politikası “Token”’i (GSPT) .................................. 182
6.3. Çok Hedefli İletim Altyapı Güvenliği........................................................... 186
6.3.1. Yerel Şebeke Güvenliği ......................................................................... 188
6.3.2. Çok Hedefli İletim Yönlendirme Altyapısı Güvenliği ........................... 195
6.3.2.1. PIM-SIM Protokolü Güvenliği ....................................................... 197
6.3.2.2. MSDP Güvenliği ............................................................................. 206
7. SONUÇ ................................................................................................................ 208
KAYNAKLAR ....................................................................................................... 214
ÖZGEÇMĠġ ............................................................................................................ 223
v
KISALTMALAR
(S,G): (Source IP, Group IP)
AAP: Address Allocation Protocol
AH: Authentication Header
AKD: Area Key Distributor
BGMP: Border Getaway Multicast Protocol
BGP: Border Getaway Protocol
BSR: Bootstrap Router
CBT: Core Based Tree
CCNT: Cryptographic Context Negotiation Template
ÇHĠ: Çok Hedefli İletim
DCCM: Dynamic Cryptographic Context Management
DDoS: Distributed Denial of Service
DKD: Domain Key Distributor
DP: Dense Mode
DR: Designated Router
DVMRP: Distance Vector Multicast Protocol
EMSS: Efficient Authentication and S. of Mcast Streams over Lossy Channels
GDAS: Grup Denetleyicisi ve Anahtar Sunucusu
GMI: Group Membership Interval
GKMP: Group Key Management Protocol
GSA: Group Security Association
GSAKMP: Group Security Association and Key Management Protocol
GSEC: Group Security
GSPT: Group Security Policy Token
ICMP: Internet Control Massage Protocol
IEEE: Institute of Electrical & Electronics Engineers
IGMP: Internet Group Management Protocol
IETF: Internet Engineering Task Force
IKAM: Intra-Domain Group Key Management
IP: Internet Protocol
IRTF: Internet Engineering Task Force
LAN: Local Area Network
LMQT: Last Member Query Count
LKH: Logical Key Hierarchy
MAAS: Multicast Address Allocation Server
MAC: Medium Access Controller
MADCAP: Multicast Address Dynamic Client Allocation Protocol
MALLOC: Multicast Address Allocation Group
MARKS: Zero SideEffect Key Mgmt u. Arbitrarily Revealed Key Sequences
MBONE: Multicast Backbone
MBGP: Multiprotocol Extensions to BGP
MIX: Multicast Friendly Internet Exchange
vi
MOSPF: Multicast Extentions to Open Shortest Path First
MRIB: Multicast Routing Information Base
MSDP: Multicast Source Discovery Protocol
MZAP: Multicast-Scope Zone Announcement Protocol
NIC: Network Interface Card
NMR: Non-Member Report
OFC: Oneway Function Chain
OFT: Oneway Function Trees
PBBR: PIM Border Gateway Router
PMBR: PIM Multicast Border Router
PKI: Public Key Infrastructure
PIM: Protocol Independent Multicast
PP: Prune Pending
PPT: Prune Pending Timer
SMT: Steiner Minimal Trees
SPT: Shortest Path Tree
QQI: Queriers Query Interval
QQIC: Queriers Query Interval Code
QRV: Queriers Robustness Value
RAMA: Root Addressed Multicast Architecture
RFC: Requests For Comments
RP: Randezvous Point
RPF: Reverse Path Forwarding
RPT: Rendezvous Point Tree
SM: Sparse Mode
SMT: Steiner Minimal Trees
SKMP-PIM: Scalable Key Management Protocol for PIM
SPT: Shortest Path Tree
TADM: Tek Anahtar Dağıtıcı Merkezli
TESLA: Timed Efficient Stream Loss-Tolerant Authentication
TIB: Tree Information Base
TTL: Time to Live
TVL: Type, Value, Length
vii
TABLO LĠSTESĠ
Tablo 2.1 - IGMP v3 mesaj tipleri ............................................................................ 23
Tablo 2.2 - Sistemler için durum değişikliği raporları .............................................. 28
Tablo 2.3 - Kayıtların oluşturulmasını düzenleyen tablo .......................................... 28
Tablo 2.4 - Sistemlerde güncel durum kaydının hesaplanması ................................. 30
Tablo 2.5 - Yönlendiricilerdeki grup zamanlayıcılarının rolü................................... 31
Tablo 2.6 - Yönlendirme protokolüne gönderilmekte olan bildirimler ..................... 32
Tablo 2.7 - Güncel durum raporu alındığında yönlendiricilerde yapılan işler .......... 32
Tablo 2.8 - Filtre durumu değişimi ve kaynak listesi değişimi kayıtları ................... 33
Tablo 6.1 - Çizge türlerine göre anahtar dağılımları ............................................... 135
Tablo 6.2 - Şifreleme ve deşifre etme maliyeti ....................................................... 141
Tablo 6.3 - OFT algoritmasındaki maliyetler .......................................................... 147
Tablo 6.4 - Grup anahtar yönetimi algoritmalarının karşılaştırılması ..................... 152
Tablo 6.5 - Algoritmaların bellek gereksinimi yönünden karşılaştırılması ............. 152
Tablo 6.6 - Rol tanımlamaları ................................................................................. 175
Tablo 6.7 - Grup iletişimine dahil olan varlıkların rolleri ....................................... 176
viii
ġEKĠL LĠSTESĠ
ġekil 2.1 - Çok hedefli iletim IP modeli ...................................................................... 6
ġekil 2.2 - IGMPv1 mesajları başlık yapısı (RFC 1112) ............................................. 9
ġekil 2.3 - IGMPv1 sistemler için durum diyagramı (RFC 1112) ............................. 11
ġekil 2.4 - IGMPv2 mesajları başlık yapısı (RFC 2236) ........................................... 12
ġekil 2.5 - IGMPv2 sistem için durum diyagramı (RFC 2236) ................................. 15
ġekil 2.6 - IGMPv2 sistemler için arabağdaşım durumları (RFC 2236) ................... 15
ġekil 2.7 - IGMPv2 yönlendirici durum diyagramı (RFC 2236) ............................... 16
ġekil 2.8 - IGMP v2 sorgulayan yönlendirici durum diyagramı (RFC 2236) ........... 18
ġekil 2.9 - IGMPv3 üyelik sorgu mesajları başlık yapısı (RFC 3376) ...................... 23
ġekil 2.10 – IGMPv3 maksimum yanıt kodu............................................................. 23
ġekil 2.11 – IGMPv3 QQIC alanı .............................................................................. 24
ġekil 2.12 - IGMPv3 üyelik rapor mesajı başlık yapısı (RFC 3376) ......................... 25
ġekil 2.13 - IGMPv3 üyelik rapor mesajlarında bulunan grup kayıtları yapısı ......... 26
ġekil 2.14 – Ethernet MAC adresi yapısı .................................................................. 36
ġekil 2.15 – IP ÇHİ adresleri ile Ethernet MAC adreslerinin eşlenmesi ................... 36
ġekil 2.16 – Tek bir MAC adresine eşlenen çok hedefli iletim adresleri .................. 37
ġekil 3.1 - Ters yol iletim örneği ............................................................................... 43
ġekil 3.2 – PIM kaydolma durum diyagramı ............................................................. 59
ġekil 3.3 – (*,*,RP) katılım/budama aşağıakım durum diyagramı ............................ 61
ġekil 3.4 – (S,G,rpt) katılım/budama aşağıakım durum diyagramı ........................... 62
ġekil 4.1 – Çok hedefli iletim adres yönetim ve tahsis mimarisi............................... 72
ġekil 4.2 – GLOP adres yapısı ................................................................................... 77
ġekil 4.3 – Grup adreslerinde tek hedefli iletim adres öneki kullanımı..................... 79
ġekil 5.1 – 1994 yılındaki MBONE omurgası ........................................................... 81
ġekil 5.2 – SA mesajının izlediği yol ........................................................................ 87
ġekil 5.3 - MSDP durum makinası diyagramı ........................................................... 89
ġekil 6.1 – Temel güvenlik sorunlarına topolojik bakış ............................................ 99
ġekil 6.2 - Çok hedefli iletim ve grup güvenlik çatısı ............................................. 104
ix
ġekil 6.3 – Grup anahtar yönetimi modeli ............................................................... 110
ġekil 6.4 – İki sistem arasındaki güvenlik ilişkisi ................................................... 111
ġekil 6.5 – GSA yapısı ............................................................................................. 114
ġekil 6.5 – IKAM Bölge yapısı ............................................................................... 118
ġekil 6.6 – IKAM Internet topolojisi ....................................................................... 119
ġekil 6.7 – Iolus mimarisindeki hiyerarşik yapı ...................................................... 125
ġekil 6.8 – Yığın işleme ve ileriye dönük güvenlik ................................................. 130
ġekil 6.9 – MARKS algoritmasındaki anahtar dağıtımı .......................................... 131
ġekil 6.10 – LKH algoritmasında örnek anahtar çizgesi ......................................... 133
ġekil 6.11 – Yıldız dizilimli çizgede grup üyeliğinin değişimi ............................... 136
ġekil 6.12 – Ağaç dizilimli çizgede gruptan ayrılma ve gruba katılma ................... 137
ġekil 6.13 – OFT hiyerarşisi .................................................................................... 145
ġekil 6.14 – OFT algoritmasında gruba yeni bir üyenin katılması .......................... 146
ġekil 6.15 – LKH algoritmasında OFC kullanımı ................................................... 149
ġekil 6.16 – Yıldız zincirleme tekniği ..................................................................... 156
ġekil 6.18 – Blok imzalama tekniklerinde imza için harcanan zamanlar ................ 157
ġekil 6.19 – Özet zincirleme tekniği ve gönderilen paketler ................................... 159
ġekil 7.19 – EMSS zincirleme yapısı örneği ........................................................... 161
ġekil 6.21 – EMSS benzetim sonuçları.................................................................... 162
ġekil 6.22 – Uzatılmış zincir algoritması örneği (a=3, p=2) ................................... 163
ġekil 6.23 – Üst üste bindirme tekniği, r = 2 ........................................................... 165
ġekil 6.24 – Temel TESLA yapısındaki paketler .................................................... 167
ġekil 6.25 – TESLA algoritmasında anahtar zincirleri kullanımı ........................... 169
ġekil 6.26 – Bilgi gizleme teknikleri ....................................................................... 173
ġekil 6.27 – Grup güvenlik çatısı dağıtım şeması ................................................... 176
ġekil 6.28 – GSPT bileşenleri .................................................................................. 183
ġekil 6.29 – GSPT mekanizmalar bölümü alanları ve GSA karşılıkları.................. 184
ġekil 6.30 – Altyapı Güvenliği Bileşenleri .............................................................. 187
ġekil 6.31 – Çok hedefli iletim erişim “token”’i uygulaması .................................. 190
ġekil 6.32 – Gothic içerisindeki sistemler ............................................................... 192
ġekil 6.33 – Gothic içerisindeki yetkilendirme süreci ............................................. 193
ġekil 6.34 – PIM mesajlarında doğrulamanın kullanımı, AH başlık yapısı ............ 200
ġekil 6.35 – AH başlık yapısı .................................................................................. 201
ġekil 6.34 – SKMP-PIM protokolünde kullanılan anahtar yönetim anahtarları ...... 205
x
ÇOK HEDEFLĠ ĠLETĠM VE ÇOK HEDEFLĠ ĠLETĠM GÜVENLĠĞĠ
ÖZET
Çok hedefli iletim, bilginin, tek bir hedef adresiyle ifade edilen sistemler kümesine
iletilmesidir. Sistemler kümesi, “çok hedefli iletim grubu” olarak isimlendirilmekte
ve sistem adresleri yerine bu grup adresi kullanılmaktadır. Gruba dahil olan
sistemlerin şebeke içerisinde bulundukları yer ile ilgili herhangi bir kısıtlama
bulunmamaktadır. Bilginin sistemlere ulaştırılması, şebeke varlıklarının çok hedefli
iletim yetenekleri sayesinde gerçekleştirilmektedir.
Çok hedefli iletimin ticari bir hizmet olarak verilebilmesi için, öncelikle güvenliğin
sağlanması gerekmektedir. Çok hedefli iletim güvenliği, pek çok alt bileşenden
oluşmaktadır. Çok hedefli iletimin gerçekleştirilebilmesi için, birbirinden bağımsız
pek çok varlığın işbirliği yapması gerekmektedir. Altyapının sağlanması ve içeriğin
paylaşılması sırasında iletime dahil olan varlıkların sayıca fazla olması güvenliğin
sağlanmasını zorlaştırmaktadır. Bu çalışmada, ilk olarak çok hedefli iletim modeli ve
altyapı bileşenleri incelenmiştir. Daha sonra çok hedefli iletim güvenliği ve güvenlik
için kullanılan mimariler, protokoller ve algoritmalar analiz edilmiştir. Yapılan
analizler sonucunda güvenlik çözümleri birbirleriyle karşılaştırılmıştır. Elde edilen
çıkarımlarla bir sonraki adımda neler yapılabileceği araştırılmış ve tavsiyelerde
bulunulmuştur.
Çok hedefli iletim altyapısı, yerel şebeke iletimi, yönlendirme ve adresleme olmak
üzere üç bileşenden oluşmaktadır.
Çok hedefli iletimin yapılabilmesi için, ilk olarak yerel şebeke içerisinde bulunan
sistemlerin trafik almak istedikleri grupları ilk adım yönlendiricilerine bildirmesi
gerekmektedir. Sistemler ile ilk adım yönlendiricileri arasındaki kontrol haberleşmesi
“grup üyelik protokolleri” sayesinde düzenlenmektedir.
Üyelik bilgileri, ilk adım yönlendiricilerinde toplanmakta ve dağıtım ağacı bu bilgiler
yardımıyla oluşturulmaktadır. Çok hedefli iletim yönlendirmesinin temelinde dağıtım
ağaçları bulunmaktadır.
Çok hedefli iletim grup adresleri için D sınıfı adresler kullanılmaktadır. Bu adreslerin
yönetimi ve istemcilere tahsis edilmesi için bir “adres yönetim mimarisi”
oluşturulmuştur. Buna ek olarak pek çok istatistiksel yöntem de uygulanmaktadır.
İlk dönemlerdeki deneysel çalışmalar, ilerleyen dönemlerde yerini ticari
uygulamalara bırakmıştır. Teknolojinin gelişmesine gerektiği gibi yön verilememesi
sebebiyle tek bir standart yapı üzerinde anlaşmaya varılamamış; bu nedenle kısa
xi
vadeli geçiş çözümleri üzerinde yoğunlaşılmıştır. Internet geliştikçe uzun vadede
kullanılacak kalıcı bir çözüm için arayışlar başlamıştır. İlgili çalışmalar halen devam
etmektedir.
Çok hedefli iletim güvenliği, tek hedefli iletim için kullanılan çözümlerle
sağlanamamaktadır. Bunun nedeni tek hedefli iletimde kullanılan çözümlerin, sadece
iki sistem arasındaki haberleşme için geliştirilmiş olmasıdır. İçerik güvenliğinin
sağlanması amacıyla, güvenlik ilişkilerinin grup yapısına uyacak şekilde
genişletilmesi gerekmektedir. Bu amaçla “Grup Güvenlik İlişkileri - GSA”
oluşturulmuştur. Kriptografik anahtarlar bu güvenlik ilişkileri kapsamında
tanımlanmaktadır. Grup anahtar yönetimi mimarilerinin temelinde GSA modeli
bulunmaktadır. Bu mimariler ve algoritmalar için en önemli kıstas, anahtarların
sayısının grup üye sayısıyla nasıl değiştiğidir.
Çok hedefli iletim altyapısı söz konusu olduğunda yerel şebeke ve yönlendirme
altyapısının güvenli hale getirilmesi gerekmektedir. Yerel şebekede bulunan grup
üyelik protokolleri içerisindeki kontrol haberleşmesinin güvenli hale getirilmesinin
yanı sıra, sistemlerin dağıtım ağacına erişimi için izin mekanizmaları
kullanılmaktadır. Yönlendirme altyapısında bulunan protokollerin güvenli hale
getirilmesi için pek çok mekanizma kullanılmaktadır.
Yapılan çalışmada, çok hedefli iletim altyapısı ile ilgili gelişmelere yön verilememesi
ve koordinasyonun sağlanamaması nedeniyle küresel çok hedefli iletim
standartlarının oluşturulamadığı; bunun sonucunda güvenlik çözümlerinin bir bütün
olarak verilmesi yerine parçalı olarak sağlandığı anlaşılmaktadır.
Grup anahtar yönetim mimarileri söz konusu olduğunda, etki alanları içerisinde
kullanım için oluşturulan IKAM mimarisinin en cazip mimari olduğu görülmüştür.
Iolus mimarisinde ölçeklenebilirlik sorununun alt gruplar oluşturularak
çözülmesinin, içerik sağlayıcı varlıkla şebeke sağlayıcı varlığın farklı olması
durumunda bir dezavantaj olduğu görülmüştür.
Çok hedefli iletim uygulamalarının çokluğu, her bir uygulama alanı için farklı
anahtar yönetimi ve tekrar anahtarlama algoritmalarının kullanılmasına sebep
olmuştur. Yapılan incelemeler sonucunda LKH ve OFT algoritmalarının, anahtar
sayısının grup üye sayısıyla logaritmik olarak artması dolayısıyla en uygun anahtar
yönetim algoritmaları olduğu sonucuna varılmıştır.
Kaynak kimlik doğrulaması ve erişim kontrolü alanında en avantajlı algoritmaların
EMSS ve TESLA olduğu görülmüş; ancak her bir algoritmanın farklı özellikleri
olduğu için bazı durumlarda uygulamalara yönelik çözümlerin kullanılması gerektiği
anlaşılmıştır.
Çok hedefli iletim altyapısında bulunan varlıklar arasındaki güvenliğin
sağlanabilmesi amacıyla bu varlıklara yönelik bir anahtar yönetim mimarisi
oluşturulması için iki farklı yol önerilmiştir. İlk yol anahtar yönetim mimarisinin
kaynağın bulunduğu organizasyonel yapı içerisinde olması, ikinci yol ise küresel bir
“güven ve kimlik doğrulama altyapısı” kurulmasıdır.
xii
Çok hedefli iletim ile ilgili güvenlik sorunları küresel anlamda çözümlenmeden
teknolojinin ilerlemesi veya yaygınlaşması beklenmemektedir.
xiii
MULTICAST AND MULTICAST SECURITY
SUMMARY
Multicast is the transmission of information to a set of systems represented by a
single destination address. This set of systems is called a multicast group. The
location and the address of the members of a group has no effect on the transmission.
Information flow is provided by the multicast ability of the entities that lie on the
infrastructure.
Security issues must be addressed first to deploy commercial multicast applications.
Multicast security has many components. To be able to do multicasting, many
entities must cooperate both in the infrastructure and in the information sharing part.
Excess number of entities involved in a single multicast session makes security
issues worse. In this work, multicast model and multicast infrastructure components
are studied first. Second, multicast security protocols, algorithms and architectures
are analyzed. These solutions are then compared to each other to have a better
understanding of the weaknesses and benefits. Finally, steps towards better solutions
are discussed.
Multicast infrastructure is composed of three components namely local area
multicast, routing infrastructure and addressing infrastructure.
Systems in the local area network have to report which multicast groups they wish to
be a member of to the first hop router. This communication is arranged by group
membership protocols.
Membership state is stored in the designated routers and used to build a distribution
tree. Multicast routing infrastructure is heavily dependent on these trees.
D class addresses are used for multicast group addresses. An address allocation and
management architecture has been built to facilitate multicast addressing issues. In
addition to this, derived allocation schemes are being used.
Initially multicasting was used only for experimental applications. Evolution of
multicast gave birth to commercial applications. Commercial demands and misled
technological researches caused multicast providers to seek for short-term interim
solutions. Researches are still being conducted for long-term multicast solutions.
Because unicast security is based on peer-to-peer relations, solutions used in unicast
security can not be used for multicast security. Unicast security association system
must be extended for group communications for content protection. “Group security
xiv
architecture – GSA” is built for this purpose. Cryptographic keys are defined by
these security associations. These keys are used in group key management
architectures. The number of keys must be kept at minimum for scalability concerns.
In the infrastructure level, group membership protocol communication must be
protected. Members must have a controlled access to the distribution tree. Routing
protocol message exchanges must also be protected.
In this work, weak coordination of research interests is said to be the reason for the
lack of missing standards for multicasting. Security researches have a negative effect
because of this lack of standards. Security can not be provided technology-wide.
Only partial security can be applied.
IKAM is thought to be the most convenient architecture for group key management.
Besides this, Iolus architecture is said to have a different approach to scalability
problem which uses subgroups as a single group. But the number of subgroups has a
negative impact on management.
For scalable rekeying algorithms, although application specific solutions exist, LKH
and OFT is found to be the most convenient ones. This is because the number of keys
which should be managed increases logarithmically with the group size.
Among sender authentication and access control algorithms EMSS and TESLA are
found to be the most convenient ones. But in some specific situations application
dependent algorithms may serve better.
To achieve secure protocol exchanges between entities in the multicast infrastructure,
common key management architecture must be implemented. Two different methods
are proposed in this work. The first one is to delegate management control to the
domain that owns the source of multicast. The second one is to implement a global
trust and identity control management infrastructure.
It is observed that without addressing the security problems, multicast is not expected
to develop nor become widespread.
1
1. GĠRĠġ
Çok hedefli iletim, bilginin tek bir adres ile ifade edilen sistemler kümesine
iletilmesidir. Hedef küme içerisinde bulunan sistemlerin, şebeke üzerinde nerede
bulunduğunun bir önemi yoktur; önemli olan, hedef kümenin adresidir. İletim bu
adrese yapıldığı için, kümeye dahil olan sistemlerin adreslerinin herhangi bir önemi
bulunmamaktadır. Çok hedefli iletim sayesinde, şebeke bağlantıları paylaşımlı olarak
kullanılmakta, mesajlar sadece gerektiği zaman kopyalanmakta ve bandgenişliğinden
tasarruf edilmektedir. Çok hedefli iletimin doğası gereği kullanılan bandgenişliği,
hedef kümeye dahil olan sistemlerin sayısı ile doğrusal olarak artmamaktadır.
Sistemler, istedikleri zaman hedef kümeye dahil olabilmekte ve kümeden
ayrılabilmektedir. Hedef küme, çok hedefli iletim grubu olarak isimlendirilmektedir.
Çok hedefli iletim; yerel alan iletimi, yönlendirme ve adresleme bileşenlerinden
oluşmaktadır. Yerel alanda yapılan çok hedefli iletim veri bağlantı katmanında
yapılmaktadır. Çoklu erişim şebekesi içerisinde bulunan sistemler grup üyelik
protokolleri sayesinde [1,2], ilk adım yönlendiricileri ile haberleşerek hangi gruplara
üye olduklarını belirtmektedir. Yerel şebekelerden sorumlu yönlendiriciler, çok
hedefli iletimin şebekeler arasında yapılabilmesi için yönlendirme altyapısını
kullanmakta ve bir dağıtım ağacı oluşturmaktadır [3]. Dağıtım ağacı sayesinde,
kaynaklarla alıcı sistemler arasındaki bağlantı kurulmakta ve bilgi çok hedefli olarak
aynı anda bütün grup üyelerine iletilmektedir. Çok hedefli iletim grupları için D
sınıfı olarak isimlendirilen farklı bir adres sınıfı oluşturulmuştur [1].
Çok hedefli iletim, başlangıçta akademik bir çalışma [3] olarak ortaya atılmış,
ilerleyen dönemlerde ticari uygulamalarda da kullanılabileceği anlaşılmıştır.
Günümüzde çok hedefli iletim, video konferans görüşmeleri, radyo yayınları,
uzaktan eğitim, yazılım dağıtımı, borsa bilgilerinin dağıtımı ve haberlerin
kullanıcılara ulaştırılması gibi pek çok farklı uygulama alanında kullanılmaktadır.
2
Çok hedefli iletimin ticari ve askeri uygulamaları, güvenlikle ilgili sorunların ele
alınmasını beraberinde getirmiştir. Gerek teknoloji altyapısının içerisinde yer alan
varlıkların, gerekse teknolojiden faydalanan sistemlerin çokluğu, güvenlik ile ilgili
zorlukları beraberinde getirmektedir. İletimin yapılabilmesi için dağıtım ağacı
üzerindeki bütün cihazların güvenli olması ve dağıtım ağacına erişimin kontrol
altında tutulması gerekmektedir. Bu tür güvenlik önlemleri “altyapı güvenliği”
içerisinde ele alınmaktadır.
Altyapı güvenliğinin yanı sıra, çok hedefli olarak iletilen bilginin uçtan uca
korunması gerekmektedir. Bilgi, kaynaklardan grup üyelerine iletilmeden önce
şifrelenmekte ve üye sistemlere ulaştığında deşifre edilmektedir. İletimde
kriptografik yöntemlerin kullanılması sayesinde, sadece erişim izni olan sistemler
bilgiye erişebilmektedir. Çok hedefli iletim içeriğinin güvenliği ile ilgili yapılan
çalışmalar sonucunda [4] üç farklı problem alanı belirlenmiştir. İlk alan, veri
dönüşümleri olarak isimlendirilmiş ve bilginin bir uçta şifrelenip diğer uçta deşifre
edilmesi ile ilgili sorunlar bu alan içerisinde ele alınmıştır. İkinci alan, anahtar
yönetimidir ve kriptografik anahtarların tamamı ve bunlara ilişkin durumların
yönetilmesi ile ilgili sorunları içermektedir. Üçüncü problem alanında ise, çok
hedefli iletim politikalarıyla ilgili sorunlar çözülmeye çalışılmıştır.
Ayrıca, çok hedefli iletimde kaynak kimlik doğrulaması ve erişim kontrolünün de
yapılması gerekmektedir. Kimlik doğrulaması için teoride en güvenli yol, sayısal
imzaların kullanımıdır fakat işlemci ve hafıza kaynaklarının yetersizliği dolayısıyla
pratikte bu mümkün olmamaktadır [5]. Yükün azaltılabilmesi için sayısal imzalar
mesajlar üzerine paylaştırılmış ve özet işlevlerinden yararlanılmıştır. Buna ek olarak
mesaj doğrulama kodlarının kullanılması pek çok avantaj sağlamaktadır [6].
İzinli grup üyelerinin, aldığı çok hedefli iletim bilgisini izinsiz bir şekilde üçüncü
taraflara aktarması, bilgi korsanlığı olarak isimlendirilmektedir. Bilgi korsanlığına
karşı, üyelerin sezemeyeceği ve deşifre edildiğinde bilginin hangi üye tarafından
kaçırıldığını gösteren yöntemler üzerinde çalışmalar yapılmıştır.
Bu çalışmada, çok hedefli iletimi oluşturan altyapı bileşenleri ayrıntılı olarak
açıklanmış, çok hedefli iletim ile ilgili güvenlik uzayı tanımlanmış ve güvenlik
sorunlarına karşı geliştirilen yöntemler incelenmiştir. Ayrıca, güvenlik sorunlarına
karşı geliştirilen yöntemler analiz edildikten sonra birbirleriyle karşılaştırılmış ve her
3
yöntemin olumlu ve olumsuz yanları açıklanmıştır. Bunun yanı sıra sorunlara çözüm
bulunamaması durumunda nasıl bir yol izlenmesi gerektiği çoğu zaman literatürde
yer almaktadır. Çalışmada bunların dışında neler yapılabileceği üzerinde durulmuş
ve bazı öneriler getirilmiştir. Buna ek olarak çok hedefli iletimin ve çok hedefli
iletim güvenliğinin gelecekte nerede ve hangi durumda olacağı hakkında öngörüde
bulunulmuştur.
Çalışmanın ikinci bölümünde çok hedefli iletimin yerel şebeke içerisinde nasıl
yapıldığı, üçüncü bölümde, çok hedefli iletim yönlendirmesi ve tasarlanan
yönlendirme protokolleri, dördüncü bölümde ise, D sınıfı adreslerin yönetimi ve
kullanımı incelenmektedir. Beşinci bölümde, çok hedefli iletimin gelişimi ve Internet
üzerinde kullanımı anlatılmaktadır. Altıncı bölüm, çok hedefli iletimde güvenlik
analizini içermektedir. Yedinci bölüm olan sonuç bölümünde, bir önceki bölümde
incelenen ve karşılaştırılan güvenlik bileşenleri ile ilgili sonuçlar ve tartışmaların
yanı sıra, gelecekte çok hedefli iletim ve çok hedefli iletim güvenliği ile ilgili
öngörüler bulunmaktadır.
4
2. YEREL ġEBEKEDE ÇOK HEDEFLĠ ĠLETĠM
2.1. Çok Hedefli Ġletimin Ortaya ÇıkıĢı
Internet Mühendisliği Görev Gücü (Internet Engineering Task Force, IETF)
tarafından yayımlanan ve Internet üzerindeki sistemlerin birbiriyle iletişimini
düzenleyen 791 numaralı Internet Protokolü [7] sayesinde, ilk etapta sadece tek
hedefli iletim tanımlanmıştır. Çok hedefli iletim kavramının doğuşu ve
gelişmesinden sonra bu protokole 1112 numaralı RFC’de [1] açıklanan “IP Çok
Hedefli İletimi İçin Sistem Uzantıları” bilgileri eklenmiştir. Bu sayede, Internet
üzerinde çok hedefli iletimin temelleri atılmıştır. Bu RFC’nin editörlüğünü üstlenen
Steve Deering, bu konuyu ortaya atan ilk kişidir. S. Deering, 1988’de Stanford
üniversitesinde yayımladığı tez çalışmasında çok hedefli iletimin temellerini atmıştır
[3]. İlerleyen dönemlerde konu hakkında araştırma yapma görevi Deering’e
verilmiştir. 1989’da 1112 numaralı RFC, Deering ve arkadaşları tarafından
yayımlanmıştır.
IP çok hedefli iletimi, IP veri bloklarının belirli bir gruba iletilmesidir. Bu sistemler
grubu, sıfır veya daha fazla sayıdaki sistemler kümesinin tek bir hedef IP adresi
olarak temsil edilmesiyle oluşturulmaktadır. Tek hedefli IP veri bloklarında olduğu
gibi, çok hedefli IP veri bloklarının iletimi de en iyi çaba esasına göre yapılmaktadır.
Bir başka deyişle, veri bloğunun, hedef grubun bütün elemanlarına ulaşması garanti
edilmemektedir. Bir gruba üyelik, dinamik olarak gerçekleştirilmektedir. Dolayısıyla
sistemler, istedikleri an bir gruba üye olabilmekte veya gruptan çıkabilmektedir.
Grubun üyelerinin coğrafi dağılımında hiçbir kısıtlama bulunmamaktadır. Tek bir
sistem, birden fazla çok hedefli iletim grubunun üyesi olabilmektedir. Ayrıca kaynak
sistemin, veri bloğu gönderdiği gruba üye olması gibi bir zorunluluk
bulunmamaktadır.
5
Çok hedefli iletim sistem grupları, geçici veya kalıcı tiptedir. Kalıcı gruplarda, kalıcı
olan şey grubun üyeleri değil, grubun adresidir. Grup adresleri, kalıcı gruplarda
yönetimsel olarak atanmakta ve herkes tarafından bilinmektedir. Yönetimsel olarak
atanmayan diğer grup adresleri dinamik gruplar için her an atanmak üzere
tutulmaktadır. Adres ataması, grubun üye sayısı sıfırdan farklı olduğu sürece
gerçekleşmektedir.
IP çok hedefli iletim veri bloklarının şebekeler arası iletimi, “çok hedefli iletim
yönlendiricileri” sayesinde gerçekleştirilmektedir. Bu yönlendiriciler, Internet şebeke
geçitleriyle birlikte veya ayrı olarak konumlandırılabilmektedir. Çok hedefli iletimi
gerçekleştirecek olan sistem, IP çok hedefli iletim veri bloğunu yolladığında; blok,
yerel şebeke çok hedefli iletimi olarak yollanmakta ve hedef grubun bütün yakın
komşu üyelerine gönderilmektedir. Bloğun IP TTL değerinin birden büyük olduğu
durumlarda, o yerel şebekeye bağlı olan çok hedefli iletim yönlendiricileri, bloğu
hedef grupta bulunan sistemlerin şebekelerine yönlendirmeyi gerçekleştirmekle
yükümlüdür. Blok, hedef sistemlerin şebekelerine ulaştığında, o şebekeye bağlı
bulunan diğer bir çok hedefli iletim yönlendiricisi bloğu yerel çok hedefli iletim
halinde hedef sistemlere ulaştırmaktadır. Burada sistem kelimesiyle ifade edilmek
istenen herhangi bir Internet sistemi veya şebeke geçididir fakat çok hedefli iletim
yönlendiricileri değildir. Çok hedefli iletim yönlendiricileri arasındaki mekanizma ve
protokoller sistemler tarafından fark edilememektedir. Ayrıca yerel çok hedefli
iletimin nasıl yapılması gerektiği kullanılan yerel şebeke protokolüne (örneğin
Ethernet) göre değişmektedir.
Çok hedefli iletimle ilgili üç farklı uyumluluk seviyesi mevcuttur. İlk seviye sıfır
seviyesidir ve bu seviyedeki sistemler IP çok hedefli iletimini desteklememektedir.
Bu seviyenin amacı çok hedefli iletimin kullanılmayacağı sistemlerin kapsanması ve
yapılacak değişikliklerden etkilenmemelerinin sağlanmasıdır. Birinci seviye
uyumluluk, çok hedefli iletim veri bloklarının gönderimine izin veren fakat alımını
desteklemeyen sistemlerin içinde bulunduğu seviyedir. Üçüncü ve son seviye ise çok
hedefli iletim bloklarını alabilen ve gönderebilen sistemleri kapsamaktadır. Bu
seviye içerisinde bulunan her sistemin Internet grup yönetim protokolünü (Internet
Group Management Protocol, IGMP) [2] gerçekliyor olması zorunludur.
6
Çok hedefli iletim grupları için iki yeni adres sınıfı oluşturulmuştur. D sınıfı IP
adresleri 1110 bitleriyle başlamaktadır. Bu adres bölgesi, 224.0.0.0 ila
239.255.255.255 arasındadır. Diğer sınıf ise gelecekte kullanım için ayrılmış ve E
sınıfı olarak isimlendirilmiştir. E sınıfı adresler 1111 bitleriyle başlamakta ve
240.0.0.0 ila 255.255.255.254 arasında değişmektedir. 224.0.0.0 adresi herhangi bir
grup adresi olarak kullanılmamaktadır. 224.0.0.1 ise o şebekeye doğrudan bağlı olan
bütün IP çok hedefli iletim sistemlerini içine alan gruptur. Internet üzerindeki bütün
sistemleri içerisine alan bir grup adresi bulunmamaktadır. Bu tür özel çok hedefli
iletim adresleri, IANA “Atanmış Numaralar” dökümanında [8] belirtilmektedir.
Çok hedefli iletim uzantılarını içeren IP modeli, eski IP modeli gibi katmanlarla
gösterilmektedir. Bu modelde ICMP [9] ve IGMP [1], IP katmanı içerisinde
bulunmaktadır. Katmanlı yapı şekil 2.1’de gösterilmektedir.
Üst Katman Protokol Modülleri
IP ModülüICMP IGMP
Yerel
Şebeke
Modülleri
(Örneğin Ethernet)
IP – Yerel Adres Eşlemesi(Örneğin ARP)
IP Hizmet Arabirimi
Yerel Şebeke Hizmet Arabirimi
Şekil 2.1 - Çok hedefli iletim IP modeli
Çok hedefli iletim blokları IP hizmet arabiriminde, tek hedefli iletim bloklarıyla aynı
şekilde gönderilmektedir. Hizmet arabirimi, buna ek olarak üst seviye protokollerin
çok hedefli iletim bloklarını gönderirken değiştirebileceği bir TTL alanı sunmaktadır.
Üst seviye protokoller böyle bir değer belirtmediği zaman, varsayılan değer olarak 1
kullanılmaktadır. İkinci olarak, birden fazla şebekeye bağlı olan sistemler için hizmet
arabirimi yerel arabağdaşımın seçilebilmesine olanak tanımaktadır. IP hizmet
arabirimindeki son değişiklik ise, aynı sistemden gönderilen çok hedefli iletim
bloklarının, şebeke yoluyla değil sistem içerisinde oluşturulan bir geri besleme yolu
ile alınmasıdır. Hedef protokolün seçimi hedef adresine göre değil, bloğun IP
başlığında bulunan protokol alanındaki değere göre yapılmaktadır. Blokların alımına
başlanmadan önce üst seviye protokol, öncelikle hedef gruba üye olunmasını talep
etmiş olmak zorundadır. Bunun için IP hizmet arabiriminde iki yeni işlev
tanımlanmıştır. Bu işlevler aşağıda açıklanmaktadır.
7
SistemGrubunaKatıl ( grup-adresi, arabağdaşım )
SistemGrubundanÇık ( grup-adresi, arabağdaşım )
İlk işlev, hedef gruba üye olunması için; ikinci işlev ise üye olunan bir gruptan
çıkılması için kullanılmaktadır. Tek bir arabağdaşım kullanan sistemlerde
arabağdaşım değişkeninin tanımlanması zorunlu kılınmamıştır. Ayrıca bir sistemin
tek bir gruba değişik arabağdaşımlardan aynı anda üye olmasına izin verilmektedir.
Bu işlevlerin sonucu hemen belli olmaktadır. Bir başka deyişle bu işlevler
bloklanmasız işlevlerdir [1]. IP modülü, çok hedefli iletim bloklarının alımı için her
bir arabağdaşım için ayrı ayrı tutulan grup üyelik listelerini kullanmak üzere
değiştirilmiştir. Bu listeler içerisinde yer alan bir adrese gelen bloklar, sistemin kendi
adresine gelen bloklar gibi işlenmektedir. Listelerde yer almayan adreslere gelen
bloklar, herhangi bir hata mesajı üretilmeden sessizce imha edilmektedir. Buna ek
olarak, D sınıfı bir adrese gönderilen bloklar için ICMP mesajları üretilmesi
yasaklanmıştır. Grup üyelik listeleri, üst seviye protokollerden gelen
“SistemGrubunaKatıl” ve “SistemGrubundanÇık” isteklerine göre
güncellenmektedir. Dolayısıyla, her üyelik için bir sayaç bulundurulması zorunludur.
Burada amaç, birden çok katılım veya çıkış isteğinin doğru şekilde işlenmesinin
sağlanmasıdır.
Yerel şebeke arabiriminde yapılması gereken değişiklikler hizmet arabirimindeki
gibidir. Burada da iki yeni işlev tanımlanmıştır.
YerelGrubaKatıl ( grup-adresi )
YerelGruptanÇık ( grup-adresi )
İşlevlerin argümanlarında bulunan grup-adresi değişkeni çok hedefli iletim grubunun
IP adresini temsil etmektedir. YerelGrubaKatıl işlevi yerel şebeke modülünden, o
adrese iletilen paketleri üst seviyeye aktarmasını talep etmektedir. YerelGruptanÇık
işlevi ise o hedef IP adresine gelen paketleri üst seviyeye aktarımının kesilmesini
talep etmektedir. IP adresleriyle yerel şebeke adresleri arasındaki eşlemenin yerel
şebeke modülü tarafından gerçekleştirilmesi beklenmektedir. Yerel şebeke
modüllerinin, YerelGruptanÇık işlevlerini yerine getirmesi zorunlu değildir. Ayrıca
gönderim için yerel şebeke modülüne aktarılan bloklar tekrar üst seviyeye
8
aktarılmamaktadır. Geri besleme, daha önce bahsedildiği gibi, IP katmanı içerisinde
yapılmaktadır.
2.2. Internet Grup Yönetim Protokolü (IGMP)
Internet grup yönetim protokolü (Internet Group Management Ptotocol, IGMP), ilk
olarak Steve Deering tarafından Aralık 1985’te 966 numaralı “Sistem Grupları:
Internet Protokolüne Çok Hedefli İletim Uzantıları” isimli RFC [10] içerisinde bir ek
olarak tanımlanmıştır. Daha sonra tekrar gözden geçirilerek 988 numaralı [11] ve
1112 numaralı [1] RFC’lerde yayımlanmıştır. 1112 numaralı RFC “IP Çok Hedefli
İletimi İçin Sistem Uzantıları”, IETF’nin 5 numaralı standardı içerisinde yer almıştır.
İlerleyen dönemlerde çok hedefli iletime duyulan ihtiyaç arttıkça ve araştırmalar
yoğunlaştıkça protokolde çeşitli değişikliklere gidilmiş ve iki yeni sürüm
düzenlenmiştir. İkinci sürüm IGMP v2 [12], W. Fener tarafından Kasım 1997’de
2236 numaralı RFC olarak yayımlanmıştır. Üç numaralı ve en güncel sürüm olan
IGMP v3 [13], B. Cain tarafından Kasım 2002’de 3376 numaralı RFC olarak
yayımlanmıştır.
Genel olarak IGMP, çok hedefli iletim yeteneğine sahip sistemlerin, yerel şebekede
bulunan çok hedefli iletim yeteneğine sahip yönlendiricilere grup üyeliklerini
bildirmelerini sağlayan bir protokoldür. İlerleyen bölümlerde IGMP’nin sürümleri
ayrıntılı olarak açıklanmaktadır.
2.2.1. Birinci Sürüm Internet Grup Yönetim Protokolü
IGMP, IP ile haberleşmekte olan sistemlerin, grup üyelikleri hakkındaki bilgileri,
aynı şebeke üzerinde bulunan çok hedefli iletim yönlendiricilerine bildirmesi için
kullanılan bir protokoldür. Bu protokol, IP sistemleri ile çok hedefli iletim
yönlendiricileri arasındaki grup üyelik ilişkilerini düzenlemek üzere oluşturulmuştur
ve yapısı gereği asimetriktir [1].
IGMP, ICMP gibi IP modülü içerisinde yer almaktadır. İkinci seviye
uyumluluğundaki bütün sistemler tarafından gerçeklenmesi zorunludur [1]. IGMP
mesajları, IP veri blokları içerisinde taşınmakta ve protokol numarası olarak 2
9
kullanılmaktadır. IGMP mesajlarına ilişkin başlık yapısı şekil 2.2’de
gösterilmektedir.
0 1 2 3 4 5 6 7 8 0 29 1 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Grup Adresi
Sürüm
0 1 2 3
Tip Sağlama AlanıKullanım Dışı
Şekil 2.2 - IGMPv1 mesajları başlık yapısı (RFC 1112)
Başlık içerisinde bulunan alanların açıklamaları aşağıda verilmektedir;
Sürüm: Bu alanın değeri IGMP’nin sürüm numarasını belirtmekte olduğundan 1’dir.
Tip: Sistem üyelik sorguları için 1, sistem üyelik raporları için 2 kullanılmaktadır.
Grup Adresi: Sorgu mesajlarında bu alanın değeri sıfırdır. Rapor mesajlarında ise
raporun ait olduğu hedef grup IP adresini belirtmektedir.
Çok hedefli iletim yönlendiricileri, periyodik olarak grup üyelik sorgu mesajları
yollamaktadır. Burada amaç, yerel şebeke üzerinde bulunan sistemlerin ilgi
duydukları çok hedefli iletim gruplarına ilişkin listenin güncel tutulmasıdır. Bu tür
sorgu mesajlarında hedef adres olarak özel bir IP adresi olan ve yerel şebekedeki
bütün sistemleri ifade etmek için kullanılan 224.0.0.1 D sınıfı adresi
kullanılmaktadır. Bu adres IANA tarafından atanmıştır [8]. Sorgu mesajlarının IP
TTL değeri her zaman birdir. Sistemler, sorgu mesajlarını duyduklarında rapor
mesajları yollamaktadır. Rapor mesajlarında o sistemin hangi çok hedefli iletim
gruplarına üye olduğunun bilgisi yer almaktadır. Mesaj patlamasını ve raporların
tekrar iletilmesini engellemek için iki mekanizma geliştirilmiştir. Bir sistem, sorgu
mesajı aldığında raporu ivedi bir şekilde göndermek yerine her bir grup üyeliği için
bir gecikme zamanlayıcısı çalıştırmaktadır. Zamanlayıcı 0 saniye ile D saniye
arasında rastlantısal bir değer verilerek başlatılmaktadır. D değişkeninin varsayılan
değeri 10 saniyedir. Raporlar, zamanlayıcı sıfıra ulaştığında gönderilmektedir.
Zamanlayıcıların birbirinden farklı olabilmesi için sistemlerde bulunan rastlantısal
sayı üreteçlerinin sadece o sisteme özgü girdilerle beslenmesi gerekmektedir. Bunun
için sistemlerin IP adresleri kullanılmaktadır. Böylece, zamanlayıcılar arasındaki
korelasyon azaltılmaktadır. Mesaj patlamasını önlemek için kullanılan diğer yol ise
10
gönderilen bütün raporlarda hedef adresi olarak ilgili hedef grup IP adresinin
kullanılmasıdır. Bu sayede o grubun diğer üyeleri raporu duyabilmektedir. Üye
olduğu bir grup hakkında rapor göndermek için, zamanlayıcısının sıfıra ulaşmasını
bekleyen bir sistem, o gruba ilişkin başka bir rapor duyduğunda kendi
zamanlayıcısını durdurarak raporunu iptal etmektedir. Bunun nedeni çok hedefli
iletim yönlendiricilerinin, grup üyelerini teker teker bilmesi değil, aksine ilgili gruba
gönderilen trafiği almak isteyen üyelerin olup olmadığını bilinmesinin yeterli
olmasıdır. Buna ek olarak, rapor gecikme zamanlayıcısı çalışmakta iken bir sorgu
mesajı alındığında, zamanlayıcı durdurulmamakta veya tekrar ayarlanmamaktadır.
224.0.0.1 IP grubu için rapor gecikme zamanlayıcısı çalıştırılmamakta ve grup
üyeliği hiçbir zaman rapor edilmemektedir. Bu grup, IGMP’nin bütün sürümlerinde
bir istisna olarak kabul edilmektedir.
Çok hedefli iletim yönlendiricileri içerisinde tutulmakta olan listede bulunan bir grup
için belirli bir sorgu sayısı sonunda hiçbir rapor alınmamışsa, o grup için yapılan
yönlendirme iptal edilmektedir. IGMP trafiğinin minimum düzeyde tutulması için
sorgular dakikada bir gönderilmekte; ancak, çok hedefli iletim yönlendiricileri
açılırken, üyelik bilgilerinin derhal toplanabilmesi için, daha sık sorgu
gönderilmesine izin verilmektedir. Bir sistem yeni bir gruba dahil olduğunda sorgu
mesajı beklemek yerine, bir an önce o gruba ilişkin bir rapor göndermektedir. İlk
gönderilen raporun yerine ulaştırılamaması ihtimaline karşı rapor birkaç kere
gönderilmekte ve böylece protokol sağlamlığı arttırılmaktadır.
Sistemler için IGMP durumları [1]’de verilmektedir. Buna göre sistemler, her bir çok
hedefli iletim grubu için 3 farklı durumdan birinde bulunmaktadır. Bu durumlar “üye
değil”, “geciken üye” ve “boşta üye” olarak isimlendirilmektedir. “Üye değil”
durumundaki sistemler, ilgili grubun bir üyesi değildir. Gecikme zamanlayıcısı
çalışmakta olan sistemler “Geciken üye” durumundadır. Zamanlayıcısı işlemeyen ve
o gruba üye olan sistemler ise “boşta üye” durumunda olmaktadır. Durum geçişleri
için 5 farklı olay tanımlanmıştır. Bunlar sadece “üye değil” durumunda iken
gerçekleştirilebilen “üye olma”, sadece “geciken üye” ve “boşta üye” durumlarında
gerçekleştirilebilen “gruptan ayrılma”, geçerli bir sorgu duyulduğunda meydana
gelen “sorgu alma”, geçerli bir rapor duyulduğunda gerçekleşen “rapor alma” ve
zamanlayıcı sıfıra ulaştığında gerçekleşen “zaman doldu” olaylarıdır. Bu tür
olayların dışında gerçekleşen olaylar, hata mesajı üretilmeden, bir başka deyişle
11
sessizce görmezden gelinmektedir. Bu olaylara tepki olarak gerçekleştirilebilecek
faaliyetler ise rapor yollanması, zamanlayıcının başlatılması veya zamanlayıcının
durdurulmasıdır. Durum diyagramı şekil 2.3’te verilmektedir. Oklarla
ilişkilendirilmiş olan bilgiler olayları ve parantez içerisindeki bilgiler ise yapılan
işleri göstermektedir.
Zaman doldu
(Rapor gönder)
Rapor alındı
(Zamanlayıcıyı durdur)
Sorgu alındı
(Zamanlayıcıyı başlat)
Gruptan
ayrıl
Gruba katıl
(Rapor gönder,
zamanlayıcıyı başlat)
Gruptan ayrıl
(Zamanlayıcıyı durdur)
Üye
Değil
Geciken
Üye
Boşta
Üye
Şekil 2.3 - IGMPv1 sistemler için durum diyagramı (RFC 1112)
2.2.2 Ġkinci Sürüm Internet Grup Yönetim Protokolü (IGMPv2)
IGMP’nin ikinci sürümü 2236 numaralı RFC [12] içerisinde tanımlanmaktadır. Bu
RFC ile birlikte ilk sürüm güncelliğini yitirmiştir. Bu sürümün geliştirilmesi için
Xerox PARC laboratuarından W. Fener liderliğindeki grup çalışmalarını yürütmüş ve
nihayetinde Kasım 1997’de IGMPv2, 2236 numaralı RFC olarak yayımlanmıştır.
Yeni sürüm, 5 numaralı IETF standardı olan “Internet Protokolü” dokümanı
içerisinde yerini almıştır.
IGMP’nin ikinci sürümündeki en büyük yenilik, grup üyeliğinin sonlandırılmasının,
yönlendirme protokolüne ivedi şekilde raporlanmasını sağlayan üyelikten çıkış
mesajlarıdır. Burada amaç, grup üyeliğinin değişim frekansının yüksek olduğu
grupların daha verimli çalışmasının sağlanmasıdır. Bütün IGMPv2 mesajlarında IP
TTL değeri olarak 1 kullanılmakta, ayrıca mesajlar “IP Yönlendirici Alarmı”
seçeneği [14] ile gönderilmektedir. Mesajların başlık yapısı şekil 2.4’te
gösterilmektedir.
12
0 1 2 3 4 5 6 7 8 0 29 1 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Grup Adresi
0 1 2 3
Tip Sağlama AlanıMaksimum Yanıt Süresi
Şekil 2.4 - IGMPv2 mesajları başlık yapısı (RFC 2236)
Başlık içerisinde bulunan alanların açıklamaları aşağıda verilmektedir.
Tip: 0x11: Üyelik sorgu mesajları için kullanılmaktadır. Genel sorgu ve gruba
yönelik sorgu olmak üzere iki çeşidi bulunmaktadır. 0x16: İkinci sürüm üyelik
raporları için kullanılmaktadır. 0x17: Grup üyeliğinden çıkmak için kullanılmaktadır.
0x12: Bu değer geriye dönük birlikte çalışılabilirlik amacıyla birinci sürüm üyelik
raporları için kullanılmaktadır.
Maksimum Yanıt Süresi: Bu alan sadece üyelik sorgu mesajlarında anlam
kazanmaktadır ve gönderilen sorgulara verilecek yanıtların en geç ne zaman
verilmesi gerektiğinin saniyenin onda biri hassasiyetle belirtilmesi için
kullanılmaktadır. Bu alanın amacı, ayrılma gecikmesinin kontrol edilmesidir. Burada
ayrılma gecikmesi, en son üyenin gruptan ayrılmasıyla yönlendirme protokolünün
haberdar edilmesi arasında geçen süre olarak tanımlanmaktadır.
Grup Adresi: Bu alan gruba yönelik sorgularda, ilgili grup adresini belirtmektedir.
İkinci sürümde, sistemlere ek olarak yönlendiricilerin rolleri de tanımlanmaktadır.
Buna göre çok hedefli iletim yönlendiricileri ya “sorgulayan” rolünde ya da
“sorgulamayan” rolünde olmaktadır. Roller, yönlendiricinin sahip olduğu şebeke
arabağdaşımlarına göre tutulmaktadır. IGMPv2, her bir fiziksel şebeke için tek bir
“sorgulayan” yönlendirici olmasını şart koşmaktadır. Yönlendiriciler, ilk
açıldıklarında, bütün şebeke arabirimleri için “sorgulayan” rolündedir. Normal
operasyonda “sorgulayan” rolündeki bir yönlendirici, kendinden daha düşük IP adres
numarasına sahip olan bir yönlendiriciden sorgu mesajları duyduğunda, otomatik
olarak “sorgulamayan” rolüne geçmektedir. Ayrıca, “Sorgulamayan” rolündeki bir
yönlendirici, “diğer bir sorgulayan mevcut zaman aralığı” süresince herhangi bir
sorgu duymadığı takdirde otomatik olarak “sorgulayan” rolüne dönmektedir. Normal
operasyonda, ilgili arabağdaşım için “sorgulayan” rolündeki yönlendiriciler bağlı
oldukları şebekeye “Sorgu Aralığı” kadar sürede bir sorgu mesajları göndermektedir.
13
Yönlendiriciler, ilk açıldıklarında bütün sistemlerin üye olduğu 224.0.0.1 adresine
grup adres alanı sıfır olan ve maksimum yanıt süresi “Sorgu Yanıt Aralığı” olan
genel sorgu mesajları göndermektedir. Bu mesajlar, birbirlerinden “Başlangıç Sorgu
Aralığı” süresi kadar ayrılmış olarak ve toplam “Başlangıç Sorgu Sayısı” kere
gönderilmektedir. Burada amaç, üyelik bilgilerinin yönlendiriciler ilk açıldığında
eksiksiz olarak öğrenilmesidir.
Bir sistem, gönderilen genel sorguları duyduğunda üye olduğu her bir grup için
(bütün sistemler grubu hariç) çeşitli zamanlayıcılar başlatmaktadır. Zamanlayıcıların
sıfır ila “maksimum yanıt süresi” arasında olması zorunludur. Böyle bir
zamanlayıcının çalıştığı durumlarda ise yeni gelen sorgudaki maksimum yanıt
süresini geçmiyorsa zamanlayıcı devam ettirilmekte, geçiyor ise daha küçük bir
değere tekrar kurulmaktadır. Bu işleyiş gruplara yönelik sorgular için de aynıdır.
Gruba yönelik zamanlayıcı dolduğunda, hedef adresi ilgili grup olan bir rapor
gönderilmektedir. Sistemler, zamanlayıcıları dolmadan o gruba ait başka bir rapor
duyduğunda (birinci veya ikinci sürüm) birden çok raporun gönderilmesini
engellemek için kendi raporlarını iptal etmektedir. Yönlendiriciler, gönderilen raporu
duyduğunda, ilgili grubu, üyesi mevcut olan çok hedefli iletim grupları listesine
eklemekte ve “Grup Üyeliği Aralığı” süresi uzunluğunda bir zamanlayıcı
başlatmaktadır. Tekrarlanan raporlar bu zamanlayıcının tekrar başlatılmasına sebep
olmaktadır. Zamanlayıcı dolmadan gruba ilişkin hiçbir rapor alınmadığı takdirde
hiçbir yerel üyenin kalmadığı varsayılmakta ve dışarıdan gelen trafik akışı
kesilmektedir. Sistemler, herhangi bir çok hedefli iletim grubuna katıldığında, ivedi
bir şekilde ikinci sürüm IGMP raporu göndermek zorundadır. Eğer sistem o grubun
ilk üyesi ise, yönlendirici, bu rapor sayesinde trafiği yerel şebekeye aktarmaya
başlamaktadır. Gönderilen ilk raporun yerine ulaştırılamamasına karşı rapor, birkaç
kere daha yollanmaktadır.
Bir sistem çok hedefli iletim grubundan çıktığında, o grup için sorgulara cevap veren
son üye ise 224.0.0.2 adresli “bütün yönlendiriciler” grubuna üyelikten çıkma mesajı
yollamaktadır. Eğer sistem sorgulara cevap veren son üye değilse, şebeke üzerinde
çok hedefli iletim trafiğini dinlemeye istekli başka sistemler de bulunabileceğinden
üyelikten çıkma mesajı yollanmayabilir. “Sorgulayan” rolündeki bir yönlendirici,
belirli bir grup için üyelikten çıkma mesajı aldığında, “Son Üye Sorgu Aralığı”
süreyle ve “Son Üye Sorgu Sayısı” kere gruba yönelik sorgu mesajı yollamaktadır.
14
Bu mesajlardaki maksimum yanıt süresi, “Son Üye Sorgu Aralığı”’na
ayarlanmaktadır. Yanıt süresince hiçbir üyelik raporu alınmazsa yönlendirici yerel
şebekede hiçbir üyenin kalmadığına karar vermekte ve çok hedefli iletim trafiğini
kesmektedir. Bu işlemler sırasında, “sorgulayan” rolünden “sorgulamayan” rolüne
geçilmesini tetikleyen mesajlar alınsa dahi geçiş yapılmamaktadır.
İlk ve ikinci IGMP sürümlerinin birlikte çalışabilmesi için çeşitli kurallar
tanımlanmıştır. IGMPv1 yönlendiricileri yapıları gereği, maksimum yanıt süresi sıfır
olan genel sorgular göndermektedir. Sıfır değeri, 10 saniye olarak kabul edilmiştir.
Yönlendirici, gönderdiği sorgulara kendi anlayacağı raporlar beklemekte, dolayısıyla
IGMPv2 rapor mesajlarını dikkate almamaktadır. Uygun rapor mesajlarının
gönderilebilmesi için sistemler sahip olduğu bütün şebeke arabağdaşımlarında
sorumlu yönlendiricinin IGMP sürümünü tutan bir değişken saklamaktadır. Bu değer
belirlenirken dikkat edilmesi gereken husus o arabağdaşımda “Birinci Sürüm
Yönlendirici Mevcut” süresi içerisinde birinci sürüm sorgusu duyulup
duyulmamasıdır. Sadece alt sürümü destekleyen yönlendiricilerin bulunduğu bir
şebekede, ikinci sürüm yönlendiriciler mutlaka ilk sürümü kullanmak zorundadır.
Bunun sebebi ilk sürümü kullanan yönlendiricilerin varlığının dinamik olarak
öğrenilememesidir. İlk sürüme göre çalışan ikinci sürüm yönlendiriciler, maksimum
yanıt süresi değeri olarak sıfır kullanmak ve üyelikten ayrılma mesajlarını
görmezden gelmek zorundadır. Aynı şebeke içerisinde hem ilk hem de ikinci sürümü
kullanan sistemler mevcut olduğu zaman, yeni sürümü kullanmakta olan sistemler
üyelik raporlarının birinci sürüm raporları tarafından bastırılmasına engel olmaktadır.
İkinci sürümü kullanmakta olan yönlendiriciler, birinci sürüm üyelik rapor mesajları
aldığında o gruba ilişkin birinci sürümü kullanan sistemlerin mevcut olduğuna dair
bir zamanlayıcı başlatmaktadır. Bu zamanlayıcı “Grup Üyelik Aralığı” ile aynıdır.
Bu zamanlayıcı çalıştığı sürece, üyelikten ayrılma mesajları dikkate alınmamaktadır.
İkinci sürüm IGMP koşan sistemler, ilk sürümde olduğu gibi her gruba göre üç farklı
durumdan birinde bulunmaktadır. Sistemlere ait IGMPv2 durum diyagramı şekil
2.5’te verilmektedir. Sistemler için tanımlanan olaylar ve faaliyetler ilk
sürümdekilerle benzerlik göstermektedir. İlk sürüme ek olarak tanımlanan faaliyetler;
üyelikten çıkış, bayrağın ayarlanması, bayrağın sıfırlanması ve zamanlayıcının tekrar
ayarlanmasıdır. İlk sürüm yönlendiricisi mevcutsa üyelikten çıkış işlemi atlanmalıdır.
Bayrağın ayarlanması, ilgili sistemin şebekede bulunan son grup üyesi olduğu
15
anlamına gelmektedir. Zamanlayıcının tekrar ayarlanması, maksimum yanıt süresi
değiştiği zaman zamanlayıcının tekrar ayarlanması anlamına gelmektedir.
Sorgu alındı
(Maks. Yanıt Zaman. <
çalışan zaman.‟dan büyükse
zamanlayıcıyı tekrar ayarla.)Zaman doldu
(Rapor gönder.
Bayrağı ayarla.)
Rapor alındı
(Zamanlayıcıyı durdur.
Bayrağı sıfırla.)
Sorgu alındı
(Zamanlayıcıyı başlat)
Gruptan ayrıl
(Bayrak ayarlanmışsa
üyelikten çıkma mesajı
gönder.)
Gruba katıl
(Rapor gönder. Bayrağı
ayarla. Zamanlayıcıyı başlat.)
Gruptan ayrıl
(Zamanlayıcıyı durdur.
Bayrak ayarlanmışsa gruptan
çıkma mesajı gönder.)
Üye
Değil
Geciken
Üye
Boşta
Üye
Şekil 2.5 - IGMPv2 sistem için durum diyagramı (RFC 2236)
Gruplara yönelik olarak tutulan durumlara ek olarak bir sistem, sahip olduğu şebeke
arabağdaşımlarına göre iki farklı durumda olabilmektedir. İlk durum, “Birinci Sürüm
Yönlendirici Mevcut” süresi içerisinde herhangi bir ilk sürüm sorgusu duyulmadığı
zaman geçilen “IGMPv1 yönlendiricisi mevcut değil” durumudur.
IGMPv1
sorgusu alındı
(Zamanlayıcıyı
ayarla.)
IGMPv1
sorgusu alındı
(Zamanlayıcıyı
ayarla.)
Zamanlayıcı
doldu
IGMPv1
Yönlendiricisi
Mevcut Değil
IGMPv1
Yönlendiricisi
Mevcut
Şekil 2.6 - IGMPv2 sistemler için arabağdaşım durumları (RFC 2236)
İkinci durum ise “Birinci Sürüm Yönlendirici Mevcut” süresi içerisinde ilk sürüm
sorgusu duyulduğunda geçilen durumdur ve “IGMPv1 yönlendiricisi mevcut” olarak
16
isimlendirilmektedir. Bu durumlar arasında geçişi sağlayan olaylar, IGMPv1 sorgusu
alınması ve zamanlayıcının dolmasıdır. Bu olaylar sayesinde tetiklenen faaliyet ise
zamanlayıcının tekrar başlatılmasıdır. İlişkin durum diyagramı şekil 2.6’da
verilmektedir. Yönlendiriciler için oluşturulmuş IGMPv2 durumları arasındaki
geçişler üç farklı olay sayesinde tetiklenmektedir. Bu olaylar, ”sorgu zamanlayıcısı
doldu”, “daha düşük IP adresli bir yönlendiriciden sorgu mesajı alındı” ve “başka bir
sorgulayan yönlendirici mevcut zamanlayıcısı doldu” olaylarıdır. Bu olaylara karşı
gerçekleştirilen üç farklı işlem bulunmaktadır. Bu işlemler, “genel sorgu
zamanlayıcısının ayarlanması”, “başka bir sorgulayan mevcut zamanlayıcısının
ayarlanması” ve “genel sorgu gönderme” olaylarıdır. Yönlendiricilerin, sahip
oldukları şebeke arabağdaşımlarına göre durum geçiş diyagramı şekil 2.7’de
gösterilmektedir.
Başka sorgulayan mevcut
zamanlayıcısı doldu.
(Genel sorgu mesajı gönder. Genel
sorgu zamanlayıcısını ayarla.)
Daha düşük IP adresli bir
yönlendiriciden sorgu mesajı alındı.
(Başka sorgulayan mevcut
zamanlayıcısını ayarla)
Genel sorgu
zamanlayıcısı doldu.
(Genel sorgu gönder.
Genel sorgu
zamanlayıcısını
ayarla)
(Genel sorgu gönder.
Başlangıç genel sorgu
zamanlayıcısını ayarla)
Sorgulayan
Yönlendirici
Sorgulamayan
Yönlendirici
Başlangıç
Durumu
Daha düşük IP adresli bir
yönlendiriciden sorgu
mesajı alındı.
(Başka sorgulayan mevcut
zamanlayıcısını ayarla)
Şekil 2.7 - IGMPv2 yönlendirici durum diyagramı (RFC 2236)
Şekil 2.7’de gösterilmekte olduğu gibi yönlendiriciler, ilk olarak başlangıç
durumunda açılmakta ve vakit kaybetmeden sorgulayan durumuna geçmektedir.
Şebeke arabağdaşımlarına göre olan durum geçiş diyagramına ek olarak çok hedefli
iletim hedef gruplarına göre bir durum geçiş diyagramı da oluşturulabilmektedir. Bu
17
diyagramda yönlendiriciler grup başına dört farklı durumdan birinde bulunmaktadır.
Başlangıç durumu olan ve yerel şebekede hiçbir üyenin bulunmadığı durum, “Üye
mevcut değil” olarak isimlendirilmektedir. O gruba ait en az bir üyenin bulunduğu
durum “Üye mevcut” ve şebekede ilk sürüm sistemlerinin mevcut olduğu durum ise
“İlk sürüm üyeler mevcut” durumudur. Yönlendiricinin üyelik raporu duymadan
üyelikten ayrılma mesajı duyduğu durum ise, “Üyelik kontrol ediliyor” olarak
isimlendirilmektedir. Bu durumlar arasındaki geçişler 6 farklı olay sayesinde
olmaktadır. Bu olaylar aşağıda açıklanmaktadır.
1. “v2 raporu alındı”: Yönlendiricinin ikinci sürüm üyelik raporu alması
olayıdır.
2. “v1 raporu alındı”: Yönlendiricinin birinci sürüm üyelik raporu alması
olayıdır.
3. “Üyelikten ayrılma mesajı alındı”: Yönlendiricinin herhangi bir sistemden
üyelikten ayrılma mesajı alması olayıdır.
4. “Zamanlayıcı doldu”: Grup üyelik zamanlayıcısının dolması durumudur.
5. “Tekrar iletim zamanlayıcısı doldu”: Gruba yönelik bir sorgu mesajının tekrar
iletilmesi için geçmesi gereken sürenin dolması olayıdır.
6. “v1 sistem zamanlayıcısı doldu”: Bu olay şebeke içerisinde birinci sürüm
sistemlerin var olup olmadığına yönelik zamanlayıcının dolması olayıdır.
Bu olaylara yönelik yapılabilecek işlemler aşağıda sıralanmaktadır.
1. Zamanlayıcı başlat: O gruba ait zamanlayıcının başlatılması ya da bu
zamanlayıcı aktif durumda ise “Grup Üyelik Aralığı” başlangıç değerine
sıfırlanması işlemidir.
2. Zamanlayıcıyı başlat*: Birinci işlemin bir alternatifi olan bu işlem,
zamanlayıcının, yönlendirici sorgulayan rolünde ise “En Son Üye Sorgu
Aralığı” x “En Son Üye Sorgu Sayısı” değerine, yönlendirici sorgulamayan
rolünde ise “Maksimum Yanıt Süresi” x “En Son Üye Sorgu Sayısı” değerine
ayarlanması anlamına gelmektedir.
3. Tekrar iletim zamanlayıcısını çalıştır: Tekrar iletim zamanlayıcısının
çalıştırılması olayıdır.
18
4. v1 sistem zamanlayıcısını çalıştır: Bu işlem İlk Sürüm Sistem Mevcut
zamanlayıcısını çalıştırmakla birlikte Grup Üyelik Aralığı zamanlayıcısı
çalışıyor ise bu zamanlayıcıyı ilk değerine döndürmektedir.
5. “Gruba yönelik sorgu gönder”: Bu işlemde mesaj sorgulanan gruba
gönderilmektedir ve başlıktaki maksimum yanıt süresi alanında En Son Üye
Sorgu Aralığı değeri bulunmaktadır.
6. Yönlendirmeyi uyar +: Yönlendirme protokolünün, şebeke dahilinde grup
üyeleri olduğuna dair uyarılması işlemidir.
7. Yönlendirme uyar –: Yönlendirme protokolünün, bağlı bulunan şebeke
dahilinde grup üyelerinin bundan böyle mevcut olmadığına dair uyarılması
işlemidir.
Sorgulayan rolündeki bir yönlendiricinin durum geçiş diyagramı şekil 2.8’de
verilmektedir.
Hiçbir Üye
Mevcut
Değil
Üyeler
Mevcut
Üyelik
Kontrol
Ediliyor
v1 Üyeler
Mevcut
v2 Raporu alındı.
(Yönlendirmeyi uyar +.
Zamanlayıcıyı başlat.)
Zamanlayıcı doldu.
(Yönlendirmeyi uyar -.)
Zamanlayıcı doldu.
(Yönlendirmeyi uyar -.
Tekrar iletim zam. sıfırla.)
Tekrar iletim zam. doldu.
(Gruba yönelik sorgu gönder.
Tekrar iletim zam. başlat.)
v2 Raporu alındı.
(Zamanlayıcıyı başlat.)
Ayrılma mesajı alındı.
(Zamanlayıcıyı başlat*.
Tekrar iletim zam. başlat.
Gruba yönelik sorgu gönder.)
v2 Raporu alındı.
(Zamanlayıcıyı başlat.)
v1 Raporu alındı.
(Zamanlayıcıyı başlat.
v1 sistem zam. başlat.)
v1 sistem
zamanlayıcısı
doldu.
v2 Raporu alındı.
(Zamanlayıcıyı başlat.)v1 Raporu alındı.
(Zamanlayıcıyı başlat.
v1 sistem zam. başlat.)
v1 Raporu alındı.
(Zamanlayıcıyı başlat.
v1 sistem zam. başlat.)Zamanlayıcı doldu.
(Yönlendirmeyi uyar -.)
v1 raporu alındı.
(Yönlendirmeyi uyar -.
Zamanlayıcıyı başlat.
v1 sistem zam. başlat.)
Şekil 2.8 - IGMP v2 sorgulayan yönlendirici durum diyagramı (RFC 2236)
Yönlendiriciler, sorgulayan rolünün yanı sıra sorgulamayan rolünde de
olabilmektedir. Bu roldeki yönlendiricilerin durum diyagramı benzerdir fakat
yönlendiriciler IGMP mesajları göndermemektedir ve durumlar arası geçiş sadece
alınan mesajlar sayesinde olmaktadır.
19
Protokol içerisinde kullanılmakta olan çoğu zamanlayıcı, sistem yöneticileri
tarafından değiştirilebilmektedir. Varsayılan değerler dışında değerler kullanılmak
istendiğinde, bütün zamanlayıcıların bir bütünlük sağlaması gerekmektedir.
Zamanlayıcıların listesi ve açıklamaları aşağıda sıralanmaktadır.
1. Sağlamlık Değişkeni: Bu değer şebeke içerisinde beklenen paket kaybı
olasılığına karşı bağışıklık kazanılması için kullanılmaktadır. Şebekede
kayıplar fazla ise bu değer arttırılmaktadır. IGMP protokolü;
“Sağlamlık Değişkeni – 1” paket kaybına dayanıklı olacak şekilde
tasarlanmıştır. Protokol spesifikasyonunda bu değerin sıfır olarak
ayarlanması yasaklanmıştır. Var sayılan değer 1’dir.
2. Sorgu Aralığı: Bu aralık sorgulayan yönlendiricinin ardışık iki genel
sorgu mesajı göndermesi arasında geçen süreyi belirtmektedir.
Varsayılan değeri 125 saniyedir. Bu değer değiştirilerek şebeke
içerisindeki IGMP mesajlarının sayısı ayarlanmaktadır.
3. Sorgu Yanıt Aralığı: Bu değer genel sorgular için kullanılmakta olan
maksimum yanıt süresini temsil etmektedir. Varsayılan değeri 100; bir
başka deyişle 10 saniyedir. Bu değer değiştirilerek sorgu yanıtlarının
öbeklenme değeri ayarlanmaktadır. Bu değerin, “Sorgu Aralığı”
değerinden daha düşük olması zorunludur.
4. Grup Üyeliği Aralığı: Bu değer çok hedefli iletim yönlendiricisinin
şebeke üzerinde grup üyelerinin olmadığına karar vermesi için geçmesi
gereken süreyi belirtmektedir. Değeri “Sağlamlık Değişkeni” x “Sorgu
Aralığı” + “Sorgu Yanıt Aralığı”’dır.
5. Başka Bir Sorgulayan (Yönlendirici) Mevcut Aralığı: Bu değer
sorgulamayan rolündeki bir yönlendiricinin sorgulayan rolüne geçmesi
için beklemesi gereken süredir. Varsayılan değer, “Sağlamlık
Değişkeni” x “Sorgu Aralığı” + ½“Sorgu Yanıt Aralığı”’dır.
6. Başlangıç Sorgu Aralığı: Sorgulayan rolündeki bir yönlendirici
açılmakta iken yollanan genel sorgu mesajları için belirlenen aralığı
ifade etmektedir. Değeri “Sorgu Aralığı”’nın dörtte biridir.
7. Başlangıç Sorgu Sayısı: Başlangıç durumunda olan sorgulayan
yönlendirici tarafından yollanan sorguların sayısıdır. Varsayılan değeri
“Sağlamlık Değişkeni”’dir.
20
8. Son Üye Sorgu Aralığı: Üyelikten çıkma mesajlarına cevap olarak
gönderilen, gruba yönelik sorgu mesajlarına yerleştirilen maksimum
yanıt süresidir. Ayrıca gruba yönelik sorgu mesajlarının gönderimi
arasında geçen süreyi temsil etmektedir. Varsayılan değeri 10, bir başka
deyişle 1 saniyedir. Bu aralık, şebekenin üzerinde üyelikten ayrılma
gecikmesinin ayarlanması için kullanılmaktadır.
9. Son Üye Sorgu Sayısı: Yönlendiricinin belirli bir gruba ait hiçbir üyenin
kalmadığına karar vermesi için göndermesi gereken gruba yönelik sorgu
mesajlarının sayısıdır. Varsayılan değeri “Sağlamlık Değişkeni”’dir.
10. Talep Dışı Rapor Aralığı: Bu değer şebeke içerisindeki sistemlerin
ardışık iki üyelik raporu göndermesi arasında geçen süreyi
göstermektedir. Varsayılan değeri 10 saniyedir.
11. v1 Yönlendirici Mevcut Zamanaşımı: İlk sürüm sorgu mesajı alan ikinci
sürün sistemin, ikinci sürüm mesajları göndermeye başlamadan önce ne
kadar beklemesi gerektiğini gösteren süredir. Varsayılan değeri 400
saniyedir.
Birinci sürümün eksiklerinin ortadan kaldırılması için oluşturulan yeni sürümde, pek
çok değişiklik ve ekleme mevcuttur. Protokol yeteneklerinin genişletilebilmesi için
ilk sürümdeki mesajların başlığında bulunan “sürüm” ve “tip” alanları birleştirilerek
tek bir alan haline getirilmiştir. Yönlendiricilerin ilk sürüm ile ikinci sürüm rapor
mesajlarını ayırt edebilmesi için ikinci sürüm üyelik raporlarına yeni bir “tip” değeri
atanmıştır. Grup trafiğinin daha hızlı kesilmesine yönelik olarak, sistemlerin gruptan
ayrılmalarını belirtebilmeleri için yeni bir IGMP mesaj türü kullanılmaya
başlanmıştır. Üyelik sorgu mesajları değiştirilerek başlık yapısında daha önceden
kullanılmamakta olan bir bölüm, sorgulara yanıt olarak kullanılan rapor mesajlarının
ne kadar hızlı gönderilmesi gerektiğini düzenleyen “maksimum yanıt süresi” olarak
kullanılmaya başlanmıştır. İlk sürümde yönlendiriciler arasında sorgulayanın
seçilmesi sistem yöneticilerine düşmektedir. Yeni sürüm ile birlikte bu işlem
standartlaştırılmıştır. Bu sayede ikinci sürüm yönlendiriciler arasında sorgulayanın
seçimi otomatik hale getirilmiştir. Fakat her iki sürümün de birlikte bulunduğu
şebekelerde sistem yöneticilerine halen iş düşmektedir. Ayrıca yeni sürümle birlikte
her IGMP mesajı RFC 2113’te [14] açıklanmakta olan “yönlendirici alarm seçeneği”
ile gönderilmektedir.
21
2.2.3. Üçüncü Sürüm Internet Grup Yönetim Protokolü (IGMPv3)
IGMP protokolünün ilk ve ikinci sürümleri Internet üzerinde geniş kullanım alanı
bulmuştur. Teknolojiler ilerledikçe ve insanların çok hedefli iletime duyduğu ihtiyaç
arttıkça, ikinci sürüme çeşitli eklemeler yapılması gündeme gelmiştir. 1997’de 2236
numaralı RFC’de [12] tanımlanan ikinci sürümün daha ileriye götürülmesi için B.
Cain ve grubu, üçüncü nesil IGMP protokolü için çalışmalara başlamıştır.
Araştırmaya katılanlar, Cisco Systems’tan S. Deering ve I. Kouvelas, AT&T
Araştırma Laboratuar’ından B. Fener ve Ericsson’dan A. Thyagarajan’dır. Araştırma,
IETF’nin şebeke çalışma grubu içerisinde yürütülmüş ve 2002’de 3376 numaralı
RFC [13] olarak yayımlanmıştır. Üçüncü sürüm ile birlikte önceki sürümler
güncelliğini yitirmiştir.
Daha önceki sürümlere ek olarak, sistemlere “kaynak filtrelemesi” yapma olanağı
tanınmaktadır. Kaynak filtrelemesi, sistemlerin sadece seçtiği kaynaktan trafik alma
veya bütün kaynaklardan alıp sadece seçtiği kaynaklardan almama olarak
tanımlanmaktadır. IP sistemleri içerisinde, üst seviye protokollerin kullanması
amacıyla bir IGMP hizmet arabirimi oluşturulmuştur. Üst seviyedeki protokollerin
kullanabilmesi için aşağıdaki işlev tanımlanmıştır [13].
IPÇokHedefliİletimDinle(yuva, arabağdaşım, grup adresi, filtre durumu, kaynak listesi)
İşlev argümanında bulunan yuva; üst seviyede isteğin kim tarafından yapıldığını
belirten ve cevapların kime döndürüleceğini gösteren bir parametredir. Arabağdaşım;
sistemde bulunan şebeke arabağdaşımlarından hangisinin kullanılması gerektiğini
gösteren değişkendir. Herhangi bir arabağdaşım belirtilmediği takdirde varsayılanın
kullanılması gerekmektedir. Grup adresi; isteğin ilişkilendirilmek istendiği çok
hedefli iletim grup adresidir. Filtre durumu; sadece istenen kaynakların belirtildiği
“ekle” durumu veya sadece istenmeyen kaynakların belirtildiği “çıkar” durumu
olmak üzere iki farklı değer almaktadır. Kaynak listesi ise eklenmesi veya
çıkarılması gereken sıfır veya daha fazla IP çok hedefli iletim grup adresini içeren
sırasız bir listedir. Belirli bir yuva, şebeke arabağdaşımı ve çok hedefli iletim grup
adresi üçlüsü için aynı anda sadece tek bir filtre durumu ve kaynak listesi aktif
olmaktadır. Filtre durumu ve liste, yukarıda tanımlanmakta olan işlev kullanılarak
değiştirilebilmektedir. Yapılan her istek, kendisinden önceki durumu geçersiz
22
kılmaktadır. Önceki IGMP sürümlerinde tanımlanmış olan üye olma ve üyelikten
çıkma operasyonları, üçüncü sürümdeki işlevle, sırasıyla şu şekilde ifade
edilmektedir.
IPÇokHedefliİletimDinle(yuva, arabağdaşım, çok hedefli iletim adresi, çıkar, {})
IPÇokHedefliİletimDinle(yuva, arabağdaşım, çok hedefli iletim adresi, ekle, {})
Burada kullanılmakta olan {} kaynak listesi, sıfır adresten oluşan boş bir listeyi ifade
etmektedir. Sistemler içerisinde, IPÇokHedefliİletimDinle işlevinin kullanıldığı
bütün yuvalara ilişkin bir çok hedefli iletim kabul durumu kaydı tutulmaktadır. Bu
kayıtlar şebeke arabadaşımını, çok hedefli iletim grup adresini, filtre durumunu ve
kaynak listesini içermektedir. Çağrıdaki filtre durumu “ekle” ve kaynak listesi boş
bir liste ise, ilgili kayıt listeden silinmektedir. Böyle bir kaydın mevcut olmadığı
durumlarda çağrı dikkate alınmamaktadır. Filtre durumu “çıkar” ve kaynak listesi
dolu ise, güncel kayda göre listede değişiklik yapılmaktadır. Kaydın mevcut
olmadığı durumlarda, çağrının parametrelerine göre uygun ekleme yapılmakta ve
listedeki kaynaklardan trafiğin alınmaması sağlanmaktadır.
Sistemler içerisinde yuvaya göre kabul durumunun yanı sıra, şebeke arabağdaşımına
göre tutulan diğer bir kabul durumu daha mevcuttur. Bu kabul durumunda, tıpkı
yuvalar için tutulan durumda olduğu gibi çok hedefli iletim grup adresi, filtre durumu
ve kaynak listesi tutulmaktadır. Verilen bir çok hedefli iletim grubu için, sadece tek
bir kabul durumu ve kaynak listesi geçerli olduğundan, şebeke arabağdaşımlarına
göre olan durum, yuva durumlarının birleşimi alınarak oluşturulmaktadır. Farklı
yuvaların aynı grup adresi için farklı kaynak listeleri ve faklı filtre durumları olduğu
zaman, bütün yuva kayıtlarının birleşimi alınmakta fakat üst katmandaki yuvalara
sadece ilgili trafik aktarılmaktadır. Daha önceki sürümlerde olduğu gibi IGMPv3
mesajları, IPv4 veri blokları içerisine gömülmektedir. Protokol numarası olarak 2 ve
IP TTL değeri olarak 1 kullanılmaktadır. Ayrıca bütün mesajlar IP yönlendirici
alarmı seçeneğini [14] taşımakta ve mesajlarda IP şebeke kontrolü önceliği bilgisi
(Hizmet Tipi: 0xc0) [7] bulunmaktadır.
Yeni sürümde ikisi yeni olmak üzere, toplam beş adet mesaj tipi bulunmaktadır. Bu
mesajlar tablo 2.1’de verilmektedir. Tabloda bulunmayan hatalı mesaj tipleri sessizce
imha edilmektedir.
23
Tablo 2.1 - IGMP v3 mesaj tipleri
Mesaj Tipi Mesaj Ġsmi
0x11 Üyelik Sorgusu
0x22 v3 Üyelik Raporu
0x12 v1 Üyelik Raporu
0x16 v2 Üyelik Raporu
0x17 v2 Üyelikten Çıkma Mesajı
Üçüncü sürümdeki üyelik sorgu mesajlarına ilişkin başlık yapısı şekil 2.9’da
verilmektedir.
0 1 2 3 4 5 6 7 8 0 29 1 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Grup Adresi
0 1 2 3
Tip = 0x11 Sağlama AlanıMaksimum Yanıt Kodu
Ayrılmış S QRV QQIC Kaynakların Sayısı (N)
Kaynak Adresi (1)
Kaynak Adresi (2)
……..
Kaynak Adresi (N)
Şekil 2.9 - IGMPv3 üyelik sorgu mesajları başlık yapısı (RFC 3376)
Başlıkta bulunan alanlardan maksimum yanıt kodu, o mesaja ilişkin yanıtların
yollanması için belirlenen maksimum süreyi ifade etmektedir. İzin verilen sürenin
(maksimum yanıt süresi) birimi 1/10 saniyedir. Maksimum yanıt kodundaki değer
128’den küçük olduğu zaman, maksimum yanıt süresi doğrudan bu alandaki değer
olarak alınmaktadır. Bu değer 128 ise veya 128’den büyükse maksimum yanıt süresi
şekil 2.10’da tanımlanmaktadır.
70 2 61 3 4 5
1 exp mant
Maksimum Yanıt Süresi = ( mant | 0x10 ) << ( exp + 3 )
Şekil 2.10 – IGMPv3 maksimum yanıt kodu
24
Maksimum yanıt süresinin düşük değere sahip olması, sistemlerin ayrılma gecikme
sürelerinin ayarlanabilmesine; yüksek değere sahip olması IGMP trafiğinin
öbeklenme seviyesinin ayarlanabilmesine olanak sağlamaktadır. Grup adresi alanı
genel sorgularda sıfır olarak alınmakta, gruba yönelik sorgularda ise hangi grup
sorgulanmakta ise o grubun adresi kullanılmaktadır. Ayrılmış olarak gösterilmekte
olan alan, iletimde sıfır olarak gönderilmekte ve mesaj alındığında görmezden
gelinmektedir. S bayrağı ayarlandığı takdirde, mesajı alan diğer çok hedefli iletim
yönlendiricilerinin sorgularla ilgili zamanlayıcılarını güncellememeleri
gerekmektedir. Fakat bu bayrak, sistem tarafındaki zamanlayıcıların işleyişini veya
sorgulayan yönlendirici seçim mekanizmalarını etkilemektedir. Sorgulayan
Sağlamlık Değişkeni (Querier Robustness Variable, QRV) alanı, sorguyu gönderen
yönlendiricinin sağlamlık değişkenini barındırmaktadır. Bu alanda bulunan değer
yediyi geçtiğinde, QRV değeri olarak sıfır alınmaktadır. 0 ile 7 arasındaki değerlerde
bu sorguyu duyan yönlendiriciler kendi sağlamlık değerlerini bu değere ayarlamakla
yükümlüdür. Sorgulayan Yönlendiricinin Sorgu Aralığı Kodu (Queriers Query
Interval Code, QQIC) alanı, sorgulayan rolündeki yönlendiricinin “Sorgu Aralığı”
zamanlayıcısını temsil etmektedir. Gerçek aralık olan QQI’nin birimi saniyedir ve
QQIC alanından şekil 2.11’de gösterilmekte olduğu gibi bulunmaktadır.
70 2 61 3 4 5
1 exp mant
QQIC < 128 ise QQIC = QQI
QQIC = 128 veya QQIC > 128 ise QQI = ( mant | 0x10 ) << ( exp + 3 )
Şekil 2.11 – IGMPv3 QQIC alanı
Sorgulayan rolünde olmayan yönlendiriciler kendi değerlerini, duydukları en son
sorgu mesajındaki değere eşitlemektedir. Başlıktaki kaynak sayısı alanı kaynakların
sayısını belirtmektedir. Genel ve gruba yönelik sorgularda kaynaklarla ilgili bilgiler
sorgulanmadığı için bu alan sıfır değerini almakta; gruba ve kaynağa yönelik
sorgularda ise, ilişkin kaynak sayısını belirtmektedir. Bu sürümde üç çeşit sorgu
mesajı tanımlanmıştır. Bu mesajlar, yönlendiricilerin o şebeke arabağdaşımıyla ilgili
çok hedefli iletim kabul durumunun tamamının öğrenilmesi için gönderilen genel
25
sorgular, tek bir grubun çok hedefli iletim kabul durumunun öğrenilmesi için
gönderilen gruba yönelik sorgular ve belirli bir grup ve kaynak listesi çiftine göre
yollanan sorgulardır. Genel sorgularda hedef adresi 224.0.0.1 olarak seçilmiştir.
Diğer sorgu tiplerinde hedef adresi ilgili grup adresi olarak ayarlanmaktadır.
Spesifikasyon gereği bir sistem, hedef adresi ne olursa olsun bütün sorgu mesajlarını
kabul etmek ve işlemek durumundadır.
Üçüncü sürümde bulunan rapor mesajının başlık yapısı şekil 2.12’de verilmektedir.
Bu raporlar, sistemler tarafından çok hedefli iletim durumlarını belirtmek amacıyla
çok hedefli olarak gönderilmektedir. Grup kayıtları, raporu gönderen sistemin çok
hedefli iletim grupları ve kaynaklarla olan ilişkisini gösteren bloklardır. Yardımcı
bilgi uzunluğu alanı, grup kayıtlarının sonunda bulunan yardımcı bilgi alanının
uzunluğunu göstermektedir. IGMPv3 protokolünde, herhangi bir yardımcı bilgi
tanımı bulunmamaktadır. Bu alanlar gelecekte tanımlanmak üzere şuan için kullanım
dışı bırakılmıştır.
0 1 2 3 4 5 6 7 8 0 29 1 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Ayrılmış
0 1 2 3
Tip = 0x22 Sağlama AlanıAyrılmış
Grup Kaydı (1)
Grup Kaydı (2)
……..
Grup Kaydı (M)
Grup Kayıtlarının Sayısı (M)
Şekil 2.12 - IGMPv3 üyelik rapor mesajı başlık yapısı (RFC 3376)
Şekil 2.12’de gösterilmekte olan başlık bilgisinde bulunan grup kayıtlarının nasıl
olması gerektiği şekil 2.13’te verilmektedir. Rapor mesajları içerisinde yer alan grup
kayıt blokları toplam altı farklı tiptedir.
Alınan bir sorguya karşılık olarak gönderilen “güncel durum kaydı” tek bir adrese
ilişkin çok hedefli iletim kabul durumunu raporlamak için kullanılmaktadır.
1. DURUM_EKLE (Kayıt Tipi: 1): Şebeke arabağdaşımının, o grup adresi
için filtre durumunun “ekle” olduğunu göstermektedir. Kaynak adres alanı
26
(eğer boş değil ise) ilgilenilen kaynakları belirtmektedir. (Bundan böyle
IS_IN ( s ) olarak anılacaktır.)
0 1 2 3 4 5 6 7 8 0 29 1 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Çok Hedefli İletim Grup Adresi
0 1 2 3
Kayıt Tipi Kaynak Sayısı (N)Yard. Bilgi Uzunluğu
Kaynak Adresi (1)
Kaynak Adresi (2)
Kaynak Adresi (N)
……..
Yardımcı Bilgi
Şekil 2.13 - IGMPv3 üyelik rapor mesajlarında bulunan grup kayıtları yapısı
2. DURUM_CIKAR (Kayıt Tipi: 2): İlgilenilen grup adresi için, o şebeke
arabağdaşımının filtre durumunun “çıkar” olduğunu göstermektedir.
Kaynak adres alanları ise ilgilenilmeyen kaynakları belirtmektedir.
(Bundan böyle IS_EX ( s ) olarak anılacaktır.)
“Filtre durumu değişiklik kaydı”, üst seviyede bulunan uygulama veya
protokollerden, belirli bir grup adresi için kullanımda olan filtre durumunun
değiştirilmesi isteği alındığı zaman kullanılmaktadır. İki farklı çeşidi vardır ve bunlar
aşağıda açıklanmaktadır.
3. EKLE_DURUMUNA_GEÇİŞ (Kayıt Tipi: 3): Belirtilen grup adresi için
filtre durumunun “ekle” durumuna geçirildiğini belirten kayıttır. Kayıtta
bulunan kaynak adresleri ilgilenilen yeni adresleri göstermektedir.
(Bundan böyle TO_IS ( s ) olarak anılacaktır.)
4. ÇIKAR_DURUMUNA_GEÇİŞ (Kayıt Tipi: 4): Bir önceki kaydın aksine
filtre durumunun “ekle”’den “çıkar”’a geçirildiğini belirten kayıttır.
(Bundan böyle TO_EX ( s ) olarak anılacaktır.)
Sistemlerde, ilgilenilen kaynaklar değiştiği zaman “Kaynak listesi değişimi kaydı”
oluşturulmaktadır. Bu tür kayıtlarda filtre değişimine izin verilmemekte, sadece
kaynakların değişmesine izin verilmektedir. Kayıt tipleri aşağıda belirtilmektedir.
27
5. YENİ_KAYNAKLARA_İZİN_VER (Kayıt Tipi: 5): Sistemin ilgilendiği
yeni kaynakların eklenmesi için oluşturulan kayıttır. Filtre durumu “ekle”
ise yeni kaynaklar eklenmekte, filtre durumu “çıkar” ise listede bulunan
kaynaklar ilgilenilmeyen kaynaklar listesinden çıkarılmaktadır. (Bundan
böyle ALLOW ( s ) olarak anılacaktır.)
6. ESKİ_KAYNAKLARI_DURDUR (Kayıt Tipi: 6): Sistemin, bundan
böyle belirtilen kaynak listesinden trafik almak istemediğini belirten kayıt
bloğudur. Filtre durumu “ekle” ise kayıttaki adresler listeden silinmekte,
“çıkar” ise kayıttaki adresler listeye eklenmektedir. (Bundan böyle
BLOCK ( s ) olarak anılacaktır.)
Geçerli olan kaynak listesine aynı anda hem eklemeler hem de çıkarmalar olması söz
konusu olduğunda bu istekler iki farklı kayıt olarak hazırlanmaktadır. Bu kayıt tipleri
arasında yer almayan tanımsız kayıt blokları sessizce imha edilmektedir.
Gönderilen IGMP rapor mesajlarının kaynak adres alanında o sistemin IP adresi;
hedef alanında ise 224.0.0.22 IP numaralı çok hedefli iletim grubu bulunmaktadır.
Bu grup adresi, IGMP’nin üçüncü sürümünü destekleyen bütün yönlendiricileri
temsil eden çok hedefli iletim grubudur. İlk veya ikinci sürüm uyumluluk durumunda
çalışmakta olan sistemlerin, raporlarını sorguda belirtilen gruba göndermesi
gerekmektedir.
IGMPv3 protokolü diğer sürümler gibi asimetrik olduğu için sistemler üzerinde
farklı, yönlendiriciler üzerinde farklı çalışmaktadır. Protokolün sistemlerle ilgili
tarafı ele alındığında diğer IGMP sürümleriyle uyumluluğun sağlanabilmesi
amacıyla sistemlerde, bütün şebeke arabağdaşımlarında çok hedefli iletim
yönlendirici sürümüne ilişkin bir değişken tutulmaktadır. IGMPv3 protokolü
operasyonlarını tetikleyen iki farklı olay mevcuttur. Bu olaylar, üst seviye
protokollerin veya uygulamaların isteği üzerine şebeke arabağdaşımının kabul
durumunun değişmesi veya bir sorgu mesajı alınmasıdır. Şebeke arabağdaşımındaki
durum değişikliği sistemin durum değişikliği raporu göndermesine sebep olmaktadır.
Bu raporun içeriği, arabağdaşımın bir önceki durumuna ve yapılmak istenen
değişikliğe göre değişmektedir. Durum değişiklikleri tablo 2.2’de gösterilmektedir.
Bu tabloda yer almayan “var olmayan” durumu ise filtre durumu “ekle” iken boş bir
28
kaynak listesi verilmesi olarak tanımlanmaktadır. Hesaplanan kaynak kümesi,
ALLOW veya BLOCK kayıtları için boş küme ise bu kayıt rapordan silinmektedir.
Rapor, yönlendiriciler tarafından alınamaması durumuna karşı “Sağlamlık Değeri -
1” kere tekrarlanmaktadır. Tekrar mesajlarının gönderimi sırasında meydana
gelebilecek durum değişiklikleri sonucunda, bu mesajlarının gönderiminden
vazgeçilmekte, mesajlar imha edilmekte ve ivedi şekilde yeni oluşturulan rapor
gönderilmektedir.
Tablo 2.2 - Sistemler için durum değişikliği raporları
Bir Önceki Durum Yeni Durum Durum DeğiĢikliği Kaydı
EKLE ( A ) EKLE ( B ) ALLOW ( B-A ), BLOCK ( A-B )
ÇIKAR ( A ) ÇIKAR ( B ) ALLOW ( A-B ), BLOCK ( B-A )
EKLE ( A ) ÇIKAR ( B ) TO_EX ( B )
ÇIKAR ( A ) EKLE ( B ) TO_IN ( B )
Yeni oluşturulacak rapor için, şebeke arabağdaşımı durumu eskisiyle
karşılaştırılmaktadır. Oluşturulan yeni kayıtlar için yeni bir rapor oluşturulmamakta,
bunun yerine kayıtlar, bekleyen rapor ile birleştirilmektedir. Eğer yeni durum için
filtre durumunun değişmesi gerekiyorsa, rapora filtre değişim kaydı eklenmektedir.
Filtre durumu değişimi içeren bir raporda, filtre durumu “ekle” ise bir TO_IN kaydı
eklenmekte, durum “çıkar” ise TO_EX kaydı eklenmektedir. Kayıtta kaynak listesi
değişimi olması gerektiğinde ALLOW veya BLOCK kaydı eklenmektedir. Kayıtların
oluşturulması tablo 2.3’e göre yapılmaktadır.
Tablo 2.3 - Kayıtların oluşturulmasını düzenleyen tablo
Kayıt Eklenen Kaynaklar
TO_IN Güncel arabaşdaşım durumunda iletilmesi gereken bütün kaynaklar
TO_EX Güncel arabağdaşım durumunda iletilmemesi gereken bütün kaynaklar
ALLOW Bir önceki duruma ek olarak iletilmesi gereken kaynaklar
BLOCK Bir önceki duruma ek olarak iletilmemesi gereken kaynaklar
Sistemler, sorgu mesajları duyduğunda anında cevap vermemekte; cevap, alınan
sorgu mesajındaki maksimum yanıt kodundan üretilen maksimum yanıt süresi ile
sıfır saniye aralığında rastlantısal bir süre kadar beklendikten sonra iletilmektedir.
29
Buna ek olarak sistemler, cevap yollarken halihazırda bekletmekte olduğu cevapları
da göz önüne almaktadır. Bunun için her şebeke arabağdaşımı başına iki zamanlayıcı
ve bir liste tutulması gerekmektedir. Bu zamanlayıcılar, genel sorgularda kullanılan
bir zamanlayıcı ve gruba veya hem gruba hem de kaynaklara yönelik sorgularda
kullanılan bir zamanlayıcıdır. Liste ise grup başına ilgili kaynakların listesidir. Yeni
bir sorgu alındığında, gönderilmesi gereken rapor aşağıdaki kurallar çerçevesinde
hazırlanmaktadır. Bu kurallar sırasıyla denetlenmekte ve uygun bulunan ilk kural
uygulanmaktadır.
1. Önceden alınmış olan genel bir sorgu için bekleyen bir cevap mevcut ise,
yeni gelen sorguda belirtilen maksimum yanıt süresi zamanlayıcının o
anki değeriyle karşılaştırılmaktadır. Zamanlayıcının değeri maksimum
yanıt süresinden küçük ise herhangi bir değişiklik yapılmamaktadır.
2. Alınan sorgu genel sorgu ise, cevap, şebeke arabağdaşımı zamanlayıcısı
kullanılarak programlanmaktadır. Sorgudaki maksimum yanıt süresinden
daha uzun süre beklemeye ayarlanmış cevaplar iptal edilmektedir.
3. Alınan sorgu, gruba veya hem gruba hem de kaynağa yönelik bir sorgu ise
ve bekleyen hiçbir rapor yoksa, cevabın programlanması için grup
zamanlayıcısı kullanılmaktadır. Bu tür sorgularda, sorgudaki kaynaklar
cevabın oluşturulmasında göz önüne alınmaktadır.
4. O gruba ve kaynak listesine ilişkin daha önceden bekleyen bir cevap
bulunmaktayken gruba yönelik bir sorgu alınması durumunda, gruba
yönelik kaynak listesi silinmekte ve tek bir cevap programlanmaktadır.
5. Alınan sorgu, gruba ve kaynağa yönelik bir sorgu ise ve boş olmayan bir
kaynak listesine sahip olan bir cevap beklemekte ise, mesajdaki yeni
kaynakları da içerecek tek bir cevap oluşturulmaktadır.
Beklemekte olan bir cevap için zamanlayıcı dolduğunda, duruma göre bir veya
birkaç rapor gönderilmektedir. Gönderim işlemleri aşağıdaki kurallara göre
yapılmaktadır.
1. Dolan zamanlayıcı, genel sorguya verilmesi gereken yanıtın zamanlayıcısı
ise her bir grup adresi için tek bir güncel durum kaydı gönderilmektedir.
Bu kayıtlarda çok hedefli iletim grup adresi, filtre durumu ve kaynak
30
listesi bulunmaktadır. Birden çok güncel durum kaydı için, birbirinden
bağımsız raporlar gönderilmektedir.
2. Dolan zamanlayıcı gruba yönelik bir zamanlayıcı ise ve o gruba yönelik
kaydedilen kaynaklar kümesi boş küme ise, o adres için tek bir güncel
durum kaydı gönderilmektedir.
3. Dolan zamanlayıcı grup zamanlayıcısı ise ve o grup için kaydedilen
kaynak listesi boş değilse cevaben gönderilen güncel durum kaydı ve
bekleyen kayıt tablo 2.4’teki gibi oluşturulmaktadır.
Tablo 2.4 - Sistemlerde güncel durum kaydının hesaplanması
Arabirim Durumu Bekleyen Kayıttaki Kaynaklar Güncel Durum Kaydı
EKLE ( A ) B IS_IN ( A*B )
ÇIKAR ( A ) B IS_EX ( A*B )
Hesaplanan güncel durum kaydındaki kaynak listesinin boş olduğu durumlarda,
hiçbir yanıt gönderilmemektedir. Ayrıca gerekli raporlar oluşturulduktan sonra
raporlanan gruplara ilişkin kaynak listeleri sıfırlanmaktadır.
Şebeke içerisinde bulunan sistemlerin çok hedefli iletim durumlarının öğrenilmesi
için periyodik olarak genel sorgu mesajları gönderilmekte, sadece belirli bir grup için
çok hedefli iletim durumunun güncellenmesi gerektiğinde ise o gruba yönelik sorgu
mesajları gönderilmektedir. Buna ek olarak, bu tip mesajlar bir sistemin grup
üyeliğinin bittiğini gösteren durum değişim kaydı alındığında da gönderilmektedir.
Grup ve kaynağa yönelik sorgular, şebeke üzerinde belirtilen kaynaklardan bilgi
almak isteyen sistemlerin olup olmadığının kontrol edilmesi için kullanılmaktadır.
Bu tür mesajlar, güncel durum kayıtlarına cevap olarak gönderilmemektedir.
Çok hedefli iletim yönlendiricilerinde durumlar, grup ve şebeke arabağdaşımı başına
tutulmaktadır. Grup durumunda; filtre durumu, kaynak listesi ve çeşitli
zamanlayıcılar bulunmaktadır. Yönlendiricinin doğrudan bağlı olduğu her şebeke
için bir kabul durumu tutulmaktadır. Bu durum içerisinde çok hedefli iletim grup
adresi, grup zamanlayıcıları, filtre durumu ve kaynak kayıtları bilgileri
bulunmaktadır. Kaynak kayıtlarında ise kaynak adresi ve kaynak zamanlayıcısı
bilgileri bulunmaktadır. Her şebeke arabağdaşımı ve grup başına bir filtre durumu
bilgisi tutulmaktadır. Bu sayede, o grupla ilgili toplam kabul durumu
31
belirlenmektedir. Filtre durumu, bir grup kaydı alındığında güncellenmektedir.
Yönlendirici filtre durumu “çıkar” iken iki tip kaynak listesi tutulmaktadır. İlk liste,
istenen çok hedefli iletim kabul durumunda oluşan uyuşmazlıkları belirtmektedir.
İkinci liste ise istenmeyen kaynakların listesidir. Filtre durumu “ekle” iken
tutulmakta olan listede istenen kaynakların adresleri bulunmaktadır.
Gruba yönelik zamanlayıcı, o grubun filtre durumu “çıkar” iken “ekle”’ye geçeceği
zamanı göstermektedir. Bu zamanlayıcı, her şebeke arabağdaşımı ve grup başına
tutulmakta ve alınan grup kayıtlarına göre güncellenmektedir. “çıkar” durumunda
iken sıfıra ulaşan bir grup zamanlayıcısı, o gruba ait filtre durumu “çıkar” olan hiçbir
sistemin bulunmadığını göstermektedir. Dolayısıyla yönlendirici filtresi “çıkar”’dan
“ekle”’ye dönmektedir.
Tablo 2.5 - Yönlendiricilerdeki grup zamanlayıcılarının rolü
Grup Filtre Durumu Grup Zamanlayıcı Değeri Faaliyetler / Açıklamalar
Ekle Zamanlayıcı >0, =0 Bütün üyeler ekle durumundadır.
Çıkar Zamanlayıcı > 0 En az bir üye çıkar durumundadır.
Çıkar Zamanlayıcı = 0 Grubu dinlemek isteyen üye
kalmamıştır. Bütün kaynak
zamanlayıcıları dolduysa grup
kaydı silinmekte aksi takdirde ekle
durumundaki sistemler göz önüne
alınarak ekle durumuna
geçilmektedir.
Tablo 2.5’te grup zamanlayıcısının rolü daha ayrıntılı olarak açıklanmaktadır.
Yönlendiricilerde, grup zamanlayıcılarına ek olarak kaynak zamanlayıcıları da
tutulmaktadır. Bu zamanlayıcılar, alınan grup kaydında bulunan tip ve filtre
durumlarına göre güncellenmektedir. Grubun filtre durumu “ekle” iken zamanlayıcısı
dolan bir kaynak, yönlendiricilerin çok hedefli iletim trafik listesinden silinmektedir.
Filtre durumu “çıkar” iken dolan bir kaynak zamanlayıcısı, yönlendiricinin
yönlendirme protokolüne o kaynaktan bilgi almak istemeyen hiçbir alıcının
kalmadığı bilgisinin iletmesine sebep olmaktadır. Filtre durumu “çıkar”’da olan
gruplardaki kaynaklar, sadece grup zamanlayıcısı dolduktan sonra listeden
silinmektedir.
32
IGMP tarafından bir kaynaktan bir gruba trafik iletilmesi için yönlendirme
protokolüne yapılan bildirimler tablo 2.6’da verilmektedir.
Tablo 2.6 - Yönlendirme protokolüne gönderilmekte olan bildirimler
Grup Filtre
Durumu
Kaynak Zamanlayıcısı Yapılan ĠĢ
Ekle Zamanlayıcı > 0 Kaynaktan gelen trafiğin iletilmesi
bildirilmektedir.
Ekle Zamanlayıcı = 0 Kaynak kaydının silinmesi ve trafik iletiminin
durdurulması bildirilmektedir. Ayrıca o gruba
ait başka kaynak kayıtları yoksa grup kaydının
silinmesini bildirilmektedir.
Ekle Kaynak bilgisi yok. Trafiğin iletilmemesini bildirilmektedir.
Çıkar Zamanlayıcı > 0 Kaynaktan gelen trafiğin iletilmesi
bildirilmektedir.
Çıkar Zamanlayıcı = 0 Kaynaktan gelen trafiğin iletilmemesi fakat
kaynak kaydının silinmemesi bildirilmektedir.
Çıkar Kaynak bilgisi yok Trafiğin iletilmesini bildirmektedir.
Çok hedefli iletim yönlendiricileri, güncel durum kayıtları aldığında hem grup hem
de kaynak zamanlayıcılarını güncellemektedir. Tablo 2.7’de güncel durum
kayıtlarının yönlendiricilerde nasıl işlendiği açıklanmaktadır.
Tablo 2.7 - Güncel durum raporu alındığında yönlendiricilerde yapılan işler
Y. Durumu Alınan Rapor Yeni Yönl. Durumu Yapılan ĠĢ
Ekle ( A ) IS_IN ( B ) Ekle ( A+B ) ( B ) = GMI
Ekle ( A ) IS_EX ( B ) Çıkar ( A * B, B - A ) ( B - A ) = 0,
Grup Zamanlayıcısı = GMI,
( A - B ) kaynaklarını sil.
Çıkar ( K, L ) IS_IN ( A ) Çıkar ( K + A, Y - A ) ( A ) = GMI
Çıkar ( K, L ) IS_EX ( A ) Çıkar ( A - L, L * A ) ( A - K - L ) = GMI,
( K – A ) kaynaklarını sil,
( Y – A ) kaynaklarını sil,
Grup Zamanlayıcısı = GMI
33
Tabloda bulunan kaynak kümelerinden A, zamanlayıcıları çalışmakta olan, B ise
zamanlayıcıları sıfıra ulaşmış kaynakları göstermektedir. Dolayısıyla yönlendirme
protokolüne, A kümesinden gelen trafiğin iletilmesi, B kümesinden gelen trafiğin
iletilmemesi bildirilmektedir. Yapılan işler sütununda bulunan kısaltmalardan GMI
(Group Membership Interval) grup üyelik aralığını, LMQT (Last Member Query
Count) ise en son üye sorgu sayısını göstermektedir. LMQT, ayrılma gecikme
süresini ifade etmektedir. Yapılan iş bölümündeki eşitlemeler ise kaynak
kümelerinde bulunan kaynakların zamanlayıcılarındaki değişiklikleri ifade
etmektedir. Sistemler, güncel durum raporlarına ek olarak filtre durumu ve kaynak
listesi değişimi kayıtları da göndermektedir. Bu tür kayıtlar alındığında
yönlendiricilerde gelişen olaylar tablo 2.8’de verilmektedir.
Tablo 2.8 - Filtre durumu değişimi ve kaynak listesi değişimi kayıtları alındığında yönlendiricilerde yapılan işler
Yönlendirici
Durumu
Alınan Rapor
Yeni Yönl. Durumu Yapılan ĠĢ
Ekle ( A ) ALLOW ( B ) Ekle ( A + B ) ( B ) = GMI
Ekle ( A ) BLOCK ( B ) Ekle ( A ) Q ( G, A * B ) sorgusu gönder
Ekle ( A ) TO_EX ( B ) Çıkar ( A * B, B - A) ( B - A ) = 0,
( A - B ) kaynaklarını sil,
Q ( G, A * B ) sorgusu gönder,
Grup Zamanl. = GMI.
Ekle ( A) TO_IN ( B ) Ekle ( A + B ) ( B ) = GMI,
Q ( G, A - B) sorgusu gönder.
Çıkar ( K, L ) ALLOW ( B ) Çıkar ( K + A, Y - A ) ( A ) = GMI
Çıkar ( K, L ) BLOCK ( B ) Çıkar ( K + ( A - L ), L ) ( A - K - L ) = grup zamanlayı.
Q ( G, A - L ) sorgusunu gönder.
Çıkar ( K, L ) TO_EX ( A ) Çıkar ( A - L, L * A) ( A - K - L ) = grup zamanla.,
( K - A ) kaynaklarını sil,
( L - A ) kaynaklarını sil,
Q ( G, A - Y ) sorgusu gönder,
Grup Zamanla. = GMI.
34
Tablo 2.8’de bulunan yapılan işler sütununda kullanılan sorgu gösteriminde,
argümanda bulunan ilk sembol hedef grup adresini, ikinci sembol ise sorgulanan
kaynak listesini ifade etmektedir. Gruplarda kullanılan zamanlayıcılar yönlendiricide
o grup için kullanılmakta olan filtre durumundaki geçişler için kullanılmaktadır.
Filtre “çıkar” durumda iken dolan grup zamanlayıcısı, yönlendiricinin o grup için
ekle durumuna geçmesini sağlamaktadır.
Üçüncü sürüm IGMP protokolünü kullanmakta olan yönlendiriciler arasında
sorgulayan rolünü üstlenecek olanın seçimi, ikinci sürümde olduğu gibi IP
adreslerine göre yapılmaktadır. Yüksek IP numarasına sahip olan yönlendiriciler
sorgulayan rolünü üstlenmektedir. Gruba yönelik sorgular gönderilmesi gerektiğinde,
sorgulanacak grubun zamanlayıcısı LMQT değerine düşürülmekte, sorgu ivedi bir
şekilde gönderilmekte ve tekrar gönderim için gerekli programlamalar yapılmaktadır.
Grup ve kaynaklara yönelik bir sorgu gönderilmesi gerektiğinde, zamanlayıcısı
LMQT değerinden büyük her bir kaynak için zamanlayıcı LMQT değerine
azaltılmakta ve tekrar gönderim sayısı en son üye sorgu sayısına ayarlanmaktadır.
Üçüncü sürüm IGMP protokolünde, ikinci sürümde olduğu gibi geriye dönük
uyumluluk mevcuttur. Sorgu mesajları incelendiğinde ilk sürüm sorgu mesajları 8
sekizliden oluşmakta ve başlıktaki maksimum yanıt kodu alanı sıfıra eşit olmaktadır.
İkinci sürüm mesajları da 8 sekizliden oluşmakta fakat maksimum yanıt kodu alanı
sıfırdan farklı olmaktadır. Üçüncü sürümde mesajlar, en az 12 sekizliden
oluşmaktadır. Sistemler, geriye dönük uyumluluk için şebeke arabağdaşımı başına
IGMP sürümünü belirten bir değişken tutmakta ve değişkenin değerine göre IGMPv3
durumunda veya uyumluluk durumunda çalışmaktadır. Buna benzer bir mekanizma
eski sürüm sistemler için yönlendiriciler içerisinde de uygulanmaktadır. Protokolün
üçüncü sürümünde kullanılmakta olan zamanlayıcı ve sayaçların büyük bölümü bir
önceki sürümden alınmıştır. Bunlara ek olarak sadece üçüncü sürümde bulunan
zamanlayıcılar, LMQT (Last Member Query Time), “önceki sürüm sorgulayan
mevcut zaman aşımı” ve önceki sürüm sistem mevcut aralığıdır. LMQT, en son üye
sorgu zamanını göstermekte ve değeri en son üye sorgu arılığı ile en son üye sorgu
sayısının çarpılmasıyla bulunmaktadır. Önceki sürüm sorgulayan mevcut zaman
aşımının değeri sağlamlık değişkeni ile son sorguda alınan sorgu aralığı çarpımına
sorgu yanıt aralığının eklenmesiyle; önceki sürüm sistem mevcut aralığı ise
35
sağlamlık değişkeni ile sorgu aralığının çarpımına sorgu yanıt aralığının
eklenmesiyle bulunmaktadır.
IGMPv3 protokolü “Sağlamlık değişkeni – 1” paket kayıplarına karşı dayanıklıdır
fakat bu değerin arttırılması o şebekenin ayrılma gecikme zamanının da artmasına
sebep olmaktadır. Sorgu aralığının arttırılması ise toplam IGMP trafiğinin düşük
olması anlamına gelmektedir. Ayrıca maksimum yanıt süresi IGMP trafiğinin
öbeklenme değeri ile ters orantılıdır.
2.3. Çok Hedefli Mesajların Ethernet Üzerinden Ġletimi
Ethernet, Xerox tarafından geliştirilmiş bir yerel alan şebeke teknolojisidir. Xerox ve
DEC firmalarının ortaklaşa çalışması sonucunda 1976 yılında oluşturulmuştur.
Ethernet spesifikasyonu IEEE 802.3 standardının temelini oluşturmuştur. Ethernet
teknolojisinde erişim metodu olarak CSMA / CD kullanılmaktadır. İlk sürümlerde
iletim hızı olarak 10 mbit/sn kullanılmakta iken, günümüzde bu hız 100 mbit/sn ve 1
gbit/sn’ye kadar çıkarılmıştır. Ethernet teknolojisini kullanan sistemler, fiziksel bir
şebeke arabağdaşım kartına (Network Interface Card, NIC) sahiptir. Bu kart
üzerinde, fiziksel olarak saklanan bir ortam erişim adresi (Media Access Controller
Address, MAC Address) bulunmaktadır. Sistemler, NIC üzerinde saklanan MAC
adresine gönderilen mesajları veya yayın mesajlarını alabilmektedir. Çok hedefli
iletim söz konusu olduğunda şebeke içerisinde bulunan belirli bir sistem grubunun
ilgili trafiği alması gerekmektedir. Bunun Ethernet teknolojisinde sağlanabilmesi
için, D sınıfı çok hedefli iletim adreslerinin MAC adresleriyle eşlenmesi
gerekmektedir. Bu amaçla, IEEE LAN spesifikasyonunda gerekli değişiklikler
yapılmış ve bu sayede bir NIC, kendi adresine, yayın adresine ve belirli bir menzil
içerisinde bulunan çok hedefli iletim adreslerine gönderilen trafiği alabilir hale
getirilmiştir. Ethernet MAC adresleri toplam 6 sekizliden, bir başka deyişle 48 bitten
oluşmaktadır. Bu adresin yapısı şekil 2.14’te gösterilmektedir. MAC adresi
yapısındaki ilk sekizlinin ilk biti Ethernet çerçevesinin yayın veya çok hedefli iletim
çerçevesi olduğunu belirtmektedir. 01:00:5E ile başlayan MAC adresleri IANA
organizasyonunun elindedir. IANA, bu adres menzili içerisinde düşen adreslerden
yarısını çok hedefli iletim için ayırmıştır [8]. Böylece 01:00:5E:00:00:00 ila
01:00:5E:7F:FF:FF arasında olan MAC adresleri çok hedefli iletim için ayrılmıştır.
36
7 0 7 0 7 0 7 0 7 0 7 0
XXXXXX11 XXXXXXXXXXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
Yayın veya çok hedefli iletim biti
Yerel olarak yönetilen adres biti
Şekil 2.14 – Ethernet MAC adresi yapısı
Çok hedefli iletim grup adreslerinin IP numarası bu MAC adres menziline
eşlenmektedir. İlgili yapı şekilde 2.15’te gösterilmektedir. Şekilde gösterilmekte olan
örnekte 239.255.0.1 çok hedefli iletim grup adresi ile 01:00:5E:7F:00:01 Ethernet
MAC adresi birbirine eşlenmektedir. Çok hedefli iletim adreslerinde ilk 4 bit sabittir
(1110). Adresler, geriye kalan 28 bitin değiştirilmesiyle farklılaşmaktadır.
MAC adresi
48 bit
23 bit25 bit
01 00 5E 7F 00 01
32 bit
00000001 0101111000000000 01111111 00000000 00000001
239
11101111
255
11111111
0
00000000
1
000000001
28 bit
Kaybolan
5 bit
IP Çok hedefli iletim adresi
Şekil 2.15 – IP Çok hedefli iletim adresleri ile Ethernet MAC adreslerinin eşlenmesi
IANA atanmış numaralar dökümanına [8] göre, ayrılan MAC adreslerinin ilk 25 biti
sabittir. Dolayısıyla eşleme, geriye kalan 23 bit ile yapılmaktadır. IP çok hedefli
iletim adreslerindeki 28 bitin, MAC adreslerindeki 23 bite birebir eşlenmesi
olanaksızdır. Çözüm olarak, birden fazla çok hedefli iletim adresinin tek bir MAC
adresine eşlenmesi kararlaştırılmıştır. Eşleme sırasında kaybolan 5 bit sonucunda 32
adet faklı çok hedefli iletim adresi tek bir MAC adresine eşlenmektedir. Buna örnek
olarak 224.1.1.1 ve 225.1.1.1 adresleri verilebilir. Aynı MAC adresine eşlenen çok
hedefli iletim adreslerine örnek olarak şekil 2.16 verilmiştir.
37
224.1.1.1
224.129.1.1
225.1.1.1
225.129.1.1
238.1.1.1
238.129.1.1
239.1.1.1
239.129.1.1
01:00:5E:01:01:01
Şekil 2.16 – Tek bir MAC adresine eşlenen çok hedefli iletim adresleri
Çok hedefli iletim adreslerinin Ethernet gibi çoklu erişim şebeke adreslerine
eşlenmesinden yola çıkılarak diğer çoklu erişim şebekeleri için adres eşlemeleri
yapılabilmektedir.
38
3. ÇOK HEDEFLĠ ĠLETĠMDE YÖNLENDĠRME
3.1 Çok Hedefli Ġletim Yönlendirmesine GiriĢ
Uygulamaların daha sağlam ve verimli olması amacıyla yerel alan şebekeleri
içerisinde çok hedefli iletim tekniklerinden yararlanılmaktadır. Şebeke teknolojileri
gelişip iletim kapasiteleri arttıkça; bu tür uygulamaların birden fazla şebeke
içerisinde kullanımı gündeme gelmiştir. Bunun gerçekleştirilebilmesi için,
çalışmalara başlanmıştır. Bu çalışmaların başlangıç noktası tek hedefli iletim
protokolleridir. İkinci katmanın üzerindeki tek hedefli iletim yönlendirme
protokolleri, uzaklık vektörü ve bağlantı durumu olmak üzere iki farklı sınıfa
ayrılmaktadır. Yapılan çalışmalar sonucunda, tek hedefli iletim protokollerine
uzantılar yapılarak çok hedefli iletim yönlendirme protokolleri geliştirilmiştir.
Çok hedefli iletimin şebekeler üzerinde kullanılabilmesi için, yerel alan
şebekelerinde (LAN) kullanılmakta olan çok hedefli iletimde var olan üç önemli
özelliğinin korunması gerekmektedir. Bu özelliklerden ilki grup adresleridir. LAN
ortamında, çok hedefli iletim paketleri hedef sistemler kümesini temsil eden tek bir
grup adresine gönderilmektedir. Bu kümeye üye olanlar için herhangi bir coğrafi
kısıtlama bulunmamaktadır. Ayrıca, üyeler arasında herhangi bir eşitleme veya
anlaşma mekanizmasının kullanımı zorunlu değildir. Diğer bir özellik ise iletimin
başarıya ulaşma olasılığının yüksek olmasıdır. Genel olarak, LAN ortamında tek
hedefli iletim paketlerinin hedefe ulaşma olasılığıyla çok hedefli iletim paketlerinin
hedefe ulaşma olasılığı eşit olmaktadır. Korunması gereken son özellik ise düşük
gecikmedir. LAN ortamında kaydedilen gecikmeler ve bir gruba katılmak için
yapılan isteklerin sonuca ulaşma süresi olarak tanımlanan katılım gecikmesi çok
düşük olmakla birlikte; geniş alan şebekelerinde kaydedilen gecikmeler pek çok
uygulama için kabul edilemeyecek düzeydedir.
39
Çok hedefli iletimde trafiğin gruba üye olan bütün alıcılara ulaştırılabilmesi için
yönlendirme ağaçlarından faydalanılmaktadır. İletim yolunun, optimum olacak
şekilde tek bir ağaç veya ağaçlar grubu olarak oluşturulması probleminin, pek çok
çözümü bulunmaktadır. Çok hedefli iletim ağaçları, kaynaklar arasında paylaşımlı
veya tek bir kaynağa yönelik olarak oluşturulabilmektedir. Yerel alan şebekeleri
içerisinde kullanılmakta olan çok hedefli iletim uygulamaları küçük ölçeklidir ve
şebekenin sunduğu kaynak zenginliği sayesinde çok verimli sonuçlar elde
edilmektedir. Bu tür uygulamalar geniş alan şebekelerinde kullanılmak istendiğinde
yönlendirme algoritmasının temelini oluşturacak olan ağaç yapısının seçimi çok
hedefli iletim hizmetinin kalitesini doğrudan etkilemektedir [15]. Bu ağaçların
karşılaştırılması için düşük gecikme, düşük maliyet ve düşük trafik yoğunlaşması
özelliklerinin bilinmesi gerekmektedir. Çok hedefli iletim ağacında düşük gecikme,
kaynaktan alıcıya kadar olan sistemden sisteme gecikmenin aynı iki sistem arasında
oluşan tek hedefli iletim yol gecikmesiyle karşılaştırılması sonucu göreceli olarak
hesaplanmaktadır. Düşük maliyet söz konusu olduğunda toplam bandgenişliği
maliyeti ve ağaç durum maliyeti göz önüne alınmaktadır. Bir çok hedefli iletim
grubu, kaynaklardan bilgi almaya başladığında farklı kaynaklardan akan trafik,
genellikle, aynı bağlantılar üzerinden geçmekte fakat en kısa yol ağaçları
kullanıldığında paylaşılan bağlantıların sayısı azalmaktadır. Düşük trafik
yoğunlaşması hesaplanırken aynı bağlantı üzerinden geçen farklı trafiklerin toplamı
araştırılmaktadır. Minimum maliyet ve minimum gecikme tek bir ağaç tipi
kullanıldığında aynı anda sağlanamamaktadır [15]. Ağaç türleri arasında, maliyeti
yüksek tutarak minimum gecikme sağlayan tür, kökü kaynakta bulunan “En Kısa Yol
Ağaçlar’ı - (Shortest Path Tree, SPT)”; gecikmeyi yüksek tutarak minimum maliyet
sağlayan tür ise Steiner Minimal Ağaçları’dır (Steiner Minimal Tree, SMT). Diğer
ağaç türleri, bu iki uç nokta arasında bulunan türlerdir. En kısa yol ağaçlarının kökü,
kaynakta bulunmakta ve ağaç kaynaktan bütün hedeflere en kısa yolları içeren
dallardan oluşmaktadır. SPT’de amaç, genel dağıtım maliyetinin mimimize edilmesi
değildir. Kaynak köklü ağaçların hesaplanması göreceli olarak kolaydır ve bu
hesaplama işlemi dağıtık olarak gerçekleştirilebilmektedir [15]. Bu tür ağaçlar genel
olarak tek hedefli yönlendirme tablolarından oluşturulabilmektedir. Şebekenin
çizgesi (graph) içerisinde tanımlanan düğümlerin bir altkümesi içerisinden
oluşturulan en düşük maliyetli alt çizge (başka bir deyişle ağaç) Steiner minimal
ağacını oluşturmaktadır [16]. SMT ağaçlarında, aynı gruba trafik gönderen bütün
40
kaynaklar için tek bir ağaç oluşturulmaktadır. Bu sebeple yönlendiricilerde tutulması
gereken durum sayısı her grup için tektir. Dolayısıyla bu ağaçlar, gecikme yüksek
olsa bile pek çok kaynağı bulunan geniş çok hedefli iletim grupları için uygun
olmaktadır. SMT ağaçlarının hesaplanması çok karmaşık işlemler gerektirdiğinden
üretim istek üzerine (gerçek zamanlı) yapılmaktadır [17]. Geniş çizgeler söz konusu
olduğunda, hesaplamalardaki karmaşıklık, optimum yerine optimuma yakın SMT
ağaçları oluşturulmasına yarayan yeni tekniklerin geliştirilmesine yol açmıştır.
Sonuç olarak, SPT tekniği, minimum gecikme sağlamakta ve çok basit bir şekilde
hesaplanabilmektedir. SMT tekniği ise minimum maliyet sunmakta fakat çok
karmaşık hesaplamalar sonucunda oluşturulabilmektedir. Buna ek olarak çok hedefli
iletim içerisinde hangi ağacın kullanılması gerektiği, grup mevcuduna, düğümlerin
ortalama sayısına ve grup üyelerinin şebeke içerisinde nerede bulunduğuna göre
değişmektedir. Grup üyelerinin birkaç bölge içerisine yoğun olarak dağıldığı
senaryolarda SPT teknikleri, üyelerin şebeke üzerinde seyrek olarak dağılmış olduğu
durumlarda SMT teknikleri kullanılmaktadır [18]. Buna ek olarak, SMT ağaçlarının
köküne, çekirdek veya randevu noktası denmektedir. SPT türünün kullanıldığı
protokollere örnek olarak PIM-DM [19], SMT türünün kullanıldığı protokollere
örnek olarak CBT [20] veya PIM-SM [21] verilebilir.
3.1.1. YayılmıĢ Ağaç Çok hedefli Ġletim Yönlendirmesi
Yönlendirmenin veri bağlantı katmanında gerçekleştirildiği şebekelerde, tek bir
yayılmış ağaç (single spanning tree) tekniği kullanılmaktadır. Bu tür şebekelerde
köprüler kullanılmaktadır. Saydamlığın korunabilmesi için, köprüler bütün yayınları
ve çok hedefli iletim trafiğini bütün kesimlere iletmektedir. Çok hedefli iletim
paketlerinin, genişletilmiş LAN’ın her bölümüne iletilmesi istenmeyen bir durumdur.
Köprüler genelde bütün trafiği tek bir yayılmış ağaç içerisinde sınırlamakta ve
böylece fiziksel kısır döngüler engellenmektedir. Bir çok hedefli iletim veya yayın
paketi alındığında; bu paket gelen şebeke arabağdaşımı haricinde diğer bütün
arabağdaşımlara iletilmektedir. Kullanılan yayılmış ağaç topolojisi sayesinde bu
paket bütün kesimlerde sadece bir kere duyulmaktadır. Köprüler üzerinde, belirli bir
çok hedefli iletim grubu için üyelerin listesi tutulduğu takdirde, çok hedefli iletim
paketlerinin sadece o üyelerin bulunduğu dallara iletilmesi sağlanmaktadır. Bu tür
öğrenebilen köprülerde, tek hedefli iletim için (adres, çıkış dalı, yaş) kayıtlarının
41
bulunduğu bir liste tutulmaktadır. Yaş kaydı, güncel olmayan bilgilerin ayıklanması
için kullanılmaktadır. Tek bir çok hedefli iletim grubunun birden fazla çıkış dalı
olabileceği için, çok hedefli iletim grupları için bu liste (adres, (çıkış dalı, yaş), (çıkış
dalı, yaş), …) şeklinde tutulmaktadır. Köprüler, üyelik raporları aldığında bu listeyi
güncellemektedir. Çok hedefli iletim paketleri gönderilirken bu liste göz önüne
alınmaktadır. Paketin geldiği dal, çıkış dalları arasından silinmekte ve iletim geriye
kalan dallara yapılmaktadır. Grup üyeleri, köprülerin üyelik bilgilerini güncel
tutabilmesi için düzenli olarak rapor göndermektedir.
3.1.2. Uzaklık Vektörü Çok hedefli Ġletim Yönlendirmesi
Uzaklık vektörü yönlendirme algoritmaları köklü bir geçmişe sahiptir. ARPANET’in
ilk kurulduğu yıllarda, yönlendirme bu sınıfa ait protokollerle yapılmıştır [22]. Bu
yöntemi kullanan yönlendiriciler, yönlendirme tablolarında ulaşılabilen her hedef
için bir kayıt tutmaktadır. Hedefler bir sistem, bir alt şebeke veya bir alt şebeke
grubu olabilmektedir. Bu kayıtlar (hedef, uzaklık, bir sonraki adım adresi, bir sonraki
adım bağlantısı, yaş) olarak tutulmaktadır. Kayıtlar içerisinde bulunan uzaklık,
hedefin kaç adım uzakta olduğunun bilgisini, bir sonraki adım adresi o hedefe ilişkin
yönlendiricinin adresini, bir sonraki adım bağlantısı, bu yönlendiriciye hangi
arabağdaşım üzerinden erişilmesi gerektiğini, yaş ise kaydın kullanım süresini
belirtmektedir. Yönlendiriciler, bütün bağlantıları üzerinden periyodik olarak (hedef,
uzaklık) kayıtları içeren yönlendirme paketleri göndermektedir. Bu kayıtlara uzaklık
vektörü denmektedir. Bu paketleri alan yönlendiriciler, alınan kayıtlara göre kendi
tablolarını güncellemekte ve böylece ilgili hedeflere ilişin en kısa yolu bulmaktadır.
Uzaklık vektörü yönlendirme protokollerine çok hedefli iletim yönlendirmesinin
eklenmesi, bütün bağlantılar üzerinden tek bir yayılmış ağaç oluşturularak
yapılmaktadır. Ancak pek çok alternatif bağlantının bulunduğu genel bir topolojide,
bütün kaynaklardan bütün hedeflere optimum bir yayılmış ağaç bulmak mümkün
olmamaktadır. Bunun yerine her bir kaynak ve hedef grubu için birbirinden farklı en
kısa yol ağaçları oluşturulmaktadır. Kökü bir kaynakta bulunan her dal, kökü yine
aynı kaynakta bulunan tek bir en kısa yol yayın ağacının alt ağaçları olmaktadır.
Bir yönlendiricinin, S kaynağından aldığı yayın paketini iletilebilmesi için, o paketin
S kaynağına ulaşmak için kullanılan en kısa yoldan gelmesi gerekmektedir. Bu
kontrol mekanizmasına “Ters Yol İletimi - (Reverse Path Forwarding)” denmektedir.
42
Buna uyan paketler, paketin alındığı (bir başka deyişle kaynağa en kısa yol olan)
bağlantı haricinde bütün bağlantılara gönderilmektedir. Bir yönlendiricide, bu
mekanizmanın kullanılabilmesi için herhangi bir sistemden yönlendiriciye olan en
kısa yolun tespit edilebiliyor olması yeterlidir. Bu iş için, uzaklık vektörü
yönlendirmesi kullanılan yönlendiricilerde tek hedefli iletim trafiği için oluşturulmuş
tablolara bakılmaktadır. Bu mekanizmanın çok hedefli iletimde kullanılabilmesi için,
çok hedefli iletim grup adresleri kümesi tanımlanmalı ve bu küme içerisindeki
gruplara gönderilen paketlerin kaynakları için ters yol iletim denetimi yapılmalıdır.
Bu kümelerin belirlenmesi, sistemlerden gelen raporlara göre olmaktadır. İletim
ortamındaki şebekeler, noktadan noktaya bağlantılardan oluşmakta ve alıcı
sistemlerin büyük bir bölümü yerel alan şebekelerinde bulunmaktadır. Ters yol
algoritmasına göre paket; paketi alan yönlendirici, o paketin geldiği yönlendiriciyi
paketin kaynağına olan en kısa yol olarak tanımlanabildiği zaman iletilmektedir. En
kısa yol kontrolü, paketi alan yönlendiricide kaynak için tanımlı olan “bir sonraki
adım adresi”, paketi gönderen yönlendirici olduğu zaman başarıya ulaşmaktadır. Bu
şekilde yapılan ters yol iletimine “ters yol seli veya taşkını - (Reverse Path Flooding,
RPF)” denmektedir. RPF’nin bir dezavantajı, pek çok yönlendiricinin bağlı olduğu
bir bağlantıya birden fazla yayının gönderilmesidir. Bunun sebebi, yayınların kaynak
bağlantı haricinde bütün bağlantılara sel halinde gönderilmesidir. Bu mekanizmada
en kısa yol ağacı göz önüne alınmamaktadır. RPF algoritması sonucunda oluşan
kopya paketlerin engellenmesi için her yönlendiricinin, kendi bağlantılarını her
kaynak için ayrı ayrı oluşturulan “en kısa ters yol ağacına” göre alt dal (child) olup
olmadığını belirleyebiliyor olması gerekmektedir. Böylece S kaynağından gelen
paketler, o kaynağa doğru en kısa ters yoldan geldiğinde, sadece alt dallara (bir başka
deyişle ilgili olan dallara) iletilmektedir. Alt dalların hangileri olduğunun
bulunabilmesi için önerilen yollardan biri, bütün yönlendiricilerin komşu
yönlendiricilere periyodik olarak “Bu hedefler için bir sonraki adımım sensin”
tarzında mesajlar göndermesidir [15]. Bu yöntemin yanı sıra uzaklık vektörü
yönlendirmesi paketlerindeki bilgiler de bu iş için kullanılabilmektedir. Bu teknikte,
her bir kaynak için bağlantı başına tek bir üst dal (parent) yönlendiricisi
belirlenmektedir. Bu yönlendirici, genellikle kaynağa en yakın olan yönlendirici
olarak seçilmektedir. Uzaklık vektörü yönlendirmesi kullanıldığı için her
yönlendirici, komşu yönlendiricilerin S kaynağına ne kadar uzak olduğunu
43
öğrenmekte ve böylece belirli bir bağlantı için üst dal yönlendiricisi olup olmadığını
kendi başına saptayabilmektedir. Bununla ilgili bir örnek şekil 3.1’de verilmektedir.
S
YL
a
b
5 6
Z
Şekil 3.1 - Ters yol iletim örneği
Şekil 3.1’de görülmekte olan yapıda, b olarak isimlendirilen LAN, bir yaprak
LAN’dır. S kaynağının L yönlendiricisine olan uzaklığı 5, Y yönlendiricisine olan
uzaklığı 6 ve L yönlendiricisinin Z yönlendiricisine olan uzaklığı 1’dir. RPF
algoritması göz önüne alındığında S’ten gelen bir paket için her iki yönlendirici de
yayın almaktadır. İki yönlendirici de a LAN’ına bağlı olduğu için, bu LAN’a iki adet
yayın gönderilecektir. Dolayısıyla a LAN’ına bağlı olan sistemler aynı yayını iki
kere duyacaktır. Z yönlendiricisi bu yayınlardan sadece bir tanesini (L’ten geleni) b
LAN’ına aktarmalıdır çünkü S kaynağına en kısa yolun L olduğunu bilmektedir. Bu
örnekte a LAN’ının birden fazla yayın paketi alması bir sorundur. Üst dal seçim
tekniği kullanıldığında uzaklık vektörü yönlendirme algoritması sayesinde bütün
yönlendiriciler L yönlendiricisinin S kaynağına en yakın yönlendirici olduğunu
anlayacaktır. Dolayısıyla S kaynağı göz önüne alındığında, sadece L yönlendiricisi a
LAN’ı için bir alt dal bağlantısı oluşturacak ve böylece Y yönlendiricisi a LAN’ına
yayın yapmayacaktır. Uzaklıklar eşit olduğu zaman, düşük IP numarasına sahip olan
yönlendirici alt dal bağlantısı için öncelik kazanmaktadır. Üst dal seçim tekniği için,
yönlendirme tablolarına tek bitten oluşan yeni bir sütunun eklenmesi gerekmektedir.
Alt dal biti olarak isimlendirilen bu sütun, o bağlantının alt dal olup olmadığını
belirtmek için kullanılmaktadır. Bir başka deyişle, hedefle ilgili kayıt içerisinde
bulunan “l” bağlantısına ilişkin alt dal biti, o hedeften gelen yayınlar için l bağlantısı
bir alt dal ise, “1” olarak ayarlanmaktadır. Yayınlar bu teknik sayesinde her şebekeye
sadece bir kere yayınlandığı için bu tekniğe “Ters Yol Yayınlaması - (Reverse Path
Broadcasting, RPB)” denmektedir.
44
RPF ve RPB algoritmaları, yayınların doğru bir biçimde bütün şebekelere ulaşmasını
sağlamaktadır. Gereksiz trafiğin süzülmesi, şebekeler içerisinde bulunan sistemlerin
filtrelerine bırakılmıştır. Bu mantık, küçük ölçekli geniş alan şebekelerinde işe
yaramakta fakat ölçek büyüdükçe trafik sorunlarını beraberinde getirmektedir. Büyük
ölçekli geniş alan şebekelerinde, çok hedefli iletim trafiğinin sadece gereken yerlere
ulaşması istenmektedir. Bunun için sistemlerin, üyelik isteklerini yönlendiricilere
bildirmesi gerekmektedir. S kaynağından G grubuna en kısa yol çok hedefli iletim
dağıtımının yapılabilmesi için; kökü S kaynağında olan en kısa yol yayın ağacının
sadece üyelerin mevcut olduğu şebekelere giden bağlantıları kapsaması gerekmekte
ve üyeleri içermeyen bağlantıların kaynağa doğru budanması, çıkarılması (pruning)
gerekmektedir. Budama işlemi için G grubunun üyesi olan sistemlerin S kaynağına
doğru en kısa yol boyunca üyelik mesajları göndermesi sağlanabilir. Fakat bu
mesajların her grup için gönderilmesi, bandgenişliğinin ve yönlendiricilerdeki hafıza
birimlerinin yoğun olarak kullanılması anlamına gelmektedir. Dolayısıyla ilk
zamanlarda bu yöntem yerine, sadece üye olmayan yaprak şebekelerin rapor
göndererek ağaçtan çıkarılması fikri daha yerinde bulunmuştur. Çok hedefli iletim
paketlerinin, üye bulundurmayan bir yaprak bağlantıya iletiminin durdurulması için
öncelikle yaprak bağlantıların hangisi olduğunun bulunması ve daha sonra o yaprak
bağlantılarda üyelerin mevcut olup olmadığının tespit edilmesi gerekmektedir. Alt
dal bağlantılarını bulunması için kullanılan yöntem, yaprak bağlantıların bulunması
için de kullanılmaktadır. Yaprak bağlantılar, başka bir yönlendiricinin S kaynağına
ulaşmak için kullanmadığı ve sadece grup üyeleri olan bağlantılardır. Şekil 3.1’de
kaynağı S olan bir ağaç için b LAN’ı bir yaprak bağlantısıdır. Bu bilginin
oluşturulabilmesi için her yönlendiricinin, bütün bağlantılarından “bu bağlantı benim
bu hedefe ulaşmak için kullandığım bir sonraki adımım” tarzında yayınlar yapması
gerekmektedir. Bir takım uzaklık vektörü yönlendirme protokolleri [23] bu bilgiyi
yönlendirme paketleri içerisinde taşımaktadır. Bu bilginin taşınmadığı durumlarda,
yönlendirme paketleri içerisindeki (hedef, uzaklık) kayıtlarına tek bitten oluşan bir
bilgi eklenmesi gerekmektedir. Bu bit alanında, yönlendirme mesajının yollandığı
bağlantı üzerinden hangi hedeflere erişildiğinin bilgisi bulunmaktadır. Buna ek
olarak, yönlendirme tablolarına alt dal bağlantılarının, yaprak bağlantı olup
olmadığının gösterimi için tek bitlik bir alan daha eklenmesi gerekmektedir. Yaprak
bağlantılar bu şekilde bulunmaktadır. Üye olan her sistem yerel bir üyelik mesajı
göndermektedir. Bu sayede yönlendiriciler hangi bağlantılarında hangi gruba ait
45
üyeler olduğunun bir listesini çıkartmaktadır. Ters yol iletim kuralı bu bilgiler
ışığında; S kaynağından G grubuna bir çok hedefli iletim paketi, S için bir sonraki
adım bağlantısından alındığında; üye bulunmayan yaprak bağlantılar haricindeki
bütün alt dal bağlantılarına bir kopyanın gönderilmesi olarak tanımlanmaktadır. Bu
yönteme “Kısaltılmış Ters Yol Yayınlaması - (Truncated Reverse Path Broadcasting,
TRPB)” denmektedir.
Gönderilen üyelik mesajlarının ışığında en kısa yol yayın ağaçlarının budanması,
yüksek miktarda şebeke trafiği yaratmaktadır. Büyük ölçekli geniş alan
şebekelerinde bütün kaynakların bütün çok hedefli iletim gruplarına bilgi göndermesi
beklenmemektedir. Dolayısıyla bütün olası ağaçların budanması kaynakların boşa
harcanmasına sebep olmaktadır. Bu yöntem yerine, sadece kullanımda olan gruplara
ilişkin ağaçların budanması daha verimli olmaktadır. Bu yönteme, isteğe bağlı (on-
demand) budama denmektedir. Bir kaynak, bir gruba ilk defa bilgi yolladığında,
TRPB algoritmasına göre, üye bulundurmayan yaprak bağlantılar haricinde bütün
bağlantılara yayın yapılmaktadır. Burada yaprak bağlantıların sadece üye
bulundurabileceği ve ayrıca bütün bağlantılar söylemindeki diğer bağlantıların üst
dal veya alt dal bağlantılar olduğu unutulmamalıdır. Bütün alt dallarının üye
içermeyen yaprak bağlantılar olduğu bir yönlendirici, S kaynağından bir paket
aldığında o (kaynak, grup) çifti için bir üyelik yok raporu (non-Membership Report,
NMR) oluşturulmakta ve kaynağa doğru bir sonraki adım yönlendiricisine
gönderilmektedir. Bu mesajı alan yönlendirici, bütün alt dal yönlendiricileri için
NMR mesajı aldığında (ve kendi yaprak dal bağlantılarında üyeler mevcut değilse)
kaynağa doğru bir sonraki adım yönlendiricisine NMR mesajı yollamakta ve bu
işlem kaynağa doğru devam etmektedir. Bu sayede ağaç içerisindeki üye
bulundurmayan dallar budanmaktadır. Bütün NMR mesajlarının içerisinde bir yaş
alanı bulunmaktadır. Bu değer sıfırlandığı zaman daha önceden gönderilmiş olan
NMR mesajı güncelliğini yitirmektedir. Bu zamanlayıcı dolduktan sonra budanan her
yol ağaca tekrar eklenmektedir. Bu zamanlayıcı dolmadan o bağlantı için yeni bir
üye ortaya çıktığında NMR mesajının etkisini yok etmek için NMR iptal mesajları
yollanmaktadır. Bu algoritma, “Ters Yol Çok Hedefli İletimi - (Reverse Path
Multicasting, RPM)” olarak isimlendirilmektedir.
46
3.1.3. Bağlantı Durumu Çok Hedefli Ġletim Yönlendirmesi
Geniş kullanım alanı bulmuş olan diğer bir yönlendirme algoritması da bağlantı
durumu yönlendirmesidir. Bu tarz yönlendirme algoritmalarının temelleri 1980
yılında atılmıştır [22]. Bu algoritmada, bütün yönlendiriciler sahip oldukları
bağlantıları gözlemekte ve bağlantı durumlarında herhangi bir değişiklik olduğunda
yeni durumu bütün bağlantıları üzerinden yayınlamaktadır. Bu yayınlar sayesinde,
bütün yönlendiriciler şebekenin genel bir topolojisini oluşturabilmektedir. Bu bilgi
ışığında bütün yönlendiriciler Dijkstra algoritmasını [24] kullanarak kökte kendisinin
bulunduğu bir en kısa yol ağacı oluşturmaktadır. Paketlerin yönlendirilmesi için, en
kısa yol, bu ağaç kullanılarak tayin edilmektedir. Yönlendiricilerin yolladıkları
bağlantı durumu bilgilerinde, o bağlantıda üyesi bulunan grupların listesinin
gönderilmesi, bağlantı durumu yönlendirmesinin kolayca en kısa yol çok hedefli
iletim yönlendirmesini de kapsayacak hale gelmesine olanak tanımaktadır. O
bağlantıya ait yeni bir grup ortaya çıktığında veya var olan gruplardan biri
eksildiğinde bağlantı durum bilgisi bütün yönlendiricilere yayınlanmaktadır.
Yönlendiriciler, hangi bağlantılarda hangi çok hedefli iletim gruplarının olduğu
bilgisi ışığında herhangi bir kaynaktan herhangi bir gruba en kısa yol çok hedefli
iletim ağacını oluşturabilmektedir. Bağlantılarda hangi gruplara ait üyelerin olduğu,
uzaklık vektörü yönlendirmesinde olduğu gibi üye alıcı sistemlerin üyelik raporları
göndermesiyle bulunmaktadır. Bir bağlantı üzerinde birden fazla yönlendirici olduğu
zaman, gruplara ilişkin durum değişikliklerinin yayınlanması sadece bir yönlendirici
tarafından yapılmakta ve böylece gereksiz trafik oluşturulmamaktadır. Her bir
kaynak ve her bir hedef için ayrı ayrı çok hedefli iletim ağaçları oluşturulmaktadır.
Yönlendiricilerin bütün ağaçları hafızalarında tutmaları, kaynakların (Burada
bahsedilen kaynak, yönlendiricilerde bulunan hafıza birimleri ve işlem gücüdür.)
boşa harcanmasına sebep olacağı için, ağaçlar sadece istek üzerine (on-demand)
oluşturulmaktadır. Her yönlendirici, hafızasında çok hedefli iletim yönlendirmesi
için (kaynak, alt ağaç, (grup, bağlantı TTL’i), (grup, bağlantı TTL’i), …) listesini
tutmaktadır. Burada kaynak, çok hedefli iletim kaynağını; alt ağaç, kökü S
kaynağında olan en kısa yol ağacının bir bölümü olan ve bu yönlendiriciden gruba
doğru olan alt ağacı; grup, çok hedefli iletim hedef grubunu; bağlantı TTL’i, ise her
bağlantının TTL’inin bulunduğu bir vektörü temsil etmektedir. TTL değeri olarak
47
sonsuz değerinin kullanımı (Burada sonsuz aslında algoritmaya göre çok yüksek bir
sonlu değeri temsil etmektedir.) o bağlantı üzerinde herhangi bir üye bulunmadığını
göstermektedir. Yönlendirici, çok hedefli iletim paketi aldığında, ilk olarak kaynağın
önbellekte kayıtlı olup olmadığını kontrol etmektedir. İlgili kayıt mevcut ise (grup,
bağlantı TTL’i) alanlarından uygun grup aranmaktadır. Uygun kayıt bulunduğunda
paket, bağlantı TTL’i bölümündeki TTL değeri gözetilerek ilgili bütün bağlantılara
yönlendirilmektedir. Kaynak kaydı bulunmakta fakat grup kaydı bulunmamakta ise
ilgili bağlantılar ve TTL değerleri hesaplanmak zorundadır. Bu alanların
hesaplanabilmesi için alt ağaç taranmakta ve oluşturulan yeni (grup, bağlantı TTL’i)
kayıtlar önbelleğe eklenmektedir. Önbellekte kaynağa ilişkin bir kayıt bulunamadığı
takdirde en kısa yol ağacı baştan hesaplanmaktadır. Daha sonra o yönlendiriciye
ilişkin alt ağaç bulunmakta ve grup alt ağaç ikilisi önbelleğe yerleştirilmektedir.
İşlemler yukarıda açıklandığı gibi devam ettirilmekte ve sonucunda paket gerekli
bağlantılara iletilmektedir. Bu yöntemin bir dezavantajı, iletilen ilk çok hedefli iletim
paketinde oluşan gecikmedir. Bunun nedeni her düğümde önbellekte bulunmayan en
kısa yol ağaçlarının hesaplanma gecikmesidir. Bağlantı durumu çok hedefli iletim
yönlendirme protokollerine örnek olarak OSPF [26] protokolüne çok hedefli iletim
uzantıları eklenerek oluşturulan MOSPF [27] protokolü verilebilir.
3.1.4. Çok Hedefli Ġletim Yönlendirmesinin HiyerarĢik Düzende Yapılması
Şuana kadar açıklanmakta olan bütün ters yol algoritmaları şebekeler bütününde tek
bir yönlendirme algoritması geçerli iken kullanılabilmektedir. Fakat pratikte geniş
ölçekli şebekelerde birden fazla yönlendirme algoritması kullanılmaktadır. Bunun
nedeni, şebekelerin farklı organizasyonel varlıklar tarafından yönetiliyor olmasıdır.
Böyle bir yapıya örnek olarak otonom sistemler verilebilir. Bu tür şebekelerde tek bir
yönlendirme algoritmasının bulunduğu alan bir üst seviye yönlendirme algoritması
için tek bir bağlantı olarak kabul edilmektedir. Hiyerarşik yönlendirme, bu tür
seviyeler kullanılarak gerçekleştirilmektedir. Bu sayede yönlendiriciler içerisinde
tutulması gereken topoloji bilgileri azaltılmakta ve sonuçta ölçeklenebilirlik
arttırılmaktadır. Bunun nedeni yönlendiricilerin bütün şebekeye ilişkin bilgileri
tutmak yerine sadece içinde bulundukları alana ilişkin topoloji bilgilerini tutmasıdır.
Bütün çok hedefli iletim algoritmaları bağlantılar üzerinde kullanıma elverişli olduğu
için bütün bir şebeke alanının tek bir bağlantı olarak düşünülerek hareket edilmesi
48
sorun yaratmamaktadır. Etki alanları arasında çok hedefli iletim yönlendirmesinin
yapılabilmesi için günümüzde Harici Şebeke Geçidi Protokolü (Border Gateway
Protocol, BGP-4) [28] üzerine çoklu protokol eklentilerinden [29]
yararlanılmaktadır. Gelecekte bu işin Harici Şebeke Geçidi Çok Hedefli İletim
Protokolü BGMP [30] kullanılarak yapılması için çalışmalar devam etmektedir.
3.2. Protokolden Bağımsız Çok Hedefli Ġletim Seyrek Modu (PIM – SM)
Protokolden Bağımsız Çok Hedefli İletim – Seyrek Modu (Protocol Independent
Multicast – Sparse Mode, PIM – SM) ilk olarak D. Estrin, D. Farinacci, S. Deering
ve çalışma arkadaşları tarafından Haziran 1997’de 2117 numaralı RFC [31] olarak
yayımlanmıştır. İlerleyen dönemlerde çeşitli eksikler fark edilmiş ve protokol
Haziran 1998’de 2362 numaralı RFC [21] olarak tekrar yayımlanmıştır. Daha sonra
B. Fener ve çalışma arkadaşları tarafından Ocak 2003’te yeni bir sürüm hazırlanmış
ve Internet taslağı olarak sunulmuştur [33]. Protokolün standartlaştırılması için
yapılan çalışmalar halen devam etmektedir. PIM-SM sayesinde çok hedefli iletim
yönlendirmesine iki yenilik getirilmiştir. Bunlardan ilki, geçmişte kullanılan çok
hedefli iletim yönlendirme protokollerinin [20,25,27] aksine kaynak rotaları için var
olan herhangi bir tek hedefli iletim yönlendirme protokolünün kullanılabilmesi; bir
başka deyişle belirli bir tek hedefli yönlendirme protokolüne ihtiyaç duyulmamasıdır.
İkincisi ise her grup başına, kökü randevu noktasında (RP) olan tek yönlü paylaşımlı
ağaçlar oluşturulması ve isteğe bağlı olarak kaynak başına en kısa yol ağaçlarına
geçilebilmesidir. Randevu noktası, SMT ağaçlarında köke verilen isimdir. Bu şekilde
geniş alan şebekeleri içerisine yayılmış olan grup üyeleri için yönlendirme
sağlanabilmektedir. PIM-SM, bu sebeplerden dolayı Internet üzerinde en geniş
kullanım alanı bulmuş etki alanı içi çok hedefli iletim yönlendirme protokolü
olmuştur.
PIM, kendi yönlendirme tablosunu doldurmak için kullanımda olan herhangi bir tek
hedefli yönlendirme protokolünden veya MBGP [29] gibi diğer çok hedefli iletim
yönlendirme protokollerinden gelen bilgileri kullanmaktadır. Bu yönlendirme
tablosu, “Çok Hedefli İletim Yönlendirme Bilgi Bankası - (Multicast Routing
Information Base, MRIB)” olarak isimlendirilmektedir. MRIB’ın görevi, hedef
şebekeler için çok hedefli iletim özelliğine sahip bir sonraki adım yönlendiricisi
49
bilgisini ve katılım / budama mesajları için bir sonraki adım komşu bilgisini
sağlamaktır. Bilgi akışı, tek hedefli RIB’in aksine katılım mesajlarının ters yönüne
doğrudur. Bir başka deyişle MRIB içerisinde ters yön bilgileri tutulmaktadır. PIM-
SM protokolünde bilgi paketlerinin yönlendirilmesi üç safhadan oluşmaktadır. Bu üç
safha, kaynaklar ve hedefler her an değişebildiği için aynı anda oluşabilmektedir.
İlk safha, RP ağacı olarak isimlendirilmektedir. Bu safhada öncelikle doğrudan bağlı
olan bir sistem, çok hedefli iletim trafiği alma isteğini belirtmektedir. Bu istek, IGMP
veya MLD [2] kullanılarak, ilk adım çok hedefli iletim yönlendiricisine
iletilmektedir. Bu isteğin karşılanabilmesi için, o sistemin yerel şebekesinde bulunan
yönlendiricilerden bir tanesi, seçilmiş yönlendirici (Designated Router, DR) olarak
belirlenmektedir. DR, iletimin yapılacağı çok hedefli iletim grubu için belirlenmiş
olan RP’ye PIM katılım mesajı yollamaktadır. Bu mesaj o gruba bilgi gönderen
bütün kaynakları içerdiği için (*,G) katılımı olarak isimlendirilmektedir. Burada
parantezin içerisindeki ilk bölüm kaynak IP adresini, ikinci bölüm ise hedef grup IP
adresini temsil etmektedir. (*,G) katılım mesajı, RP’ye doğru adımdan adıma
ilerlemekte ve her adımda bulunan yönlendirici üzerinde G grubu için bir durum
oluşturulmasına sebep olmaktadır. Böylelikle mesaj, sorumlu RP’ye veya (*,G)
katılım durumu mevcut olan bir yönlendiriciye ulaşmaktadır. Bu katılım istekleri,
kökü RP’de bulunan bir dağıtım ağacı oluşturulması amacıyla kullanılmaktadır. RP
ağacı (RPT) olarak da bilinen bu ağaç, o gruba bilgi gönderen bütün kaynaklar
tarafından ortak kullanılmakta olduğu için paylaşımlı ağaç olarak
isimlendirilmektedir. Alıcı sistemler, grupta kaldığı sürece katılım mesajları
periyodik olarak tekrar yollanmaktadır. Bir yönlendiriciye bağlı yaprak şebekelerin
hiçbirinde alıcı kalmadığı zaman DR, (*,G) budama mesajı göndermektedir. Çok
hedefli iletim kaynakları, ilgili grup için bilgi yollamaya anında başlamaktadır.
Kaynağın içinde bulunduğu şebekenin DR’ı, bu paketleri alarak tek hedefli iletim
olarak zarflamakta ve doğrudan RP’ye göndermektedir. Bu paketler RP’de açılmakta
ve paylaşımlı ağaç üzerine yollanmaktadır. Bilgi paketlerinin RP’ye doğru
zarflanmasına kayıt olma (register) denmektedir ve bu işlem PIM kaydolma
mesajlarıyla yapılmaktadır. İlk safhanın bitiminde çok hedefli iletim bilgileri RP’ye
doğru zarflanmış ve RP ağacından alıcılara doğru çok hedefli olarak iletilmektedir.
Bilgi paketlerine kaydolma zarflaması uygulanması, iki nedenden ötürü başarımı
düşürmektedir. İlk neden, zarflama işleminin getirdiği ek yük, ikincisi ise bu
50
paketlerin kaynaktan RP’ye ve daha sonra da paylaşımlı ağaç üzerinden alıcılara
iletilmesinin kaynağa yakın olan alıcılar için uzun gecikmelere sebep olmasıdır.
Kaydolma zarflaması iletimin sonuna kadar kullanılabilmektedir. Fakat yukarıda
bahsedilen nedenlerden ötürü iletimin değiştirilmesinde fayda vardır. Bu işlem
kaydolma zarflamasının durdurulması olarak isimlendirilen ikinci safhada
yapılmaktadır. Bunun için RP, kaydolma zarflamasına sahip bir paket aldığında,
paketin kaynağına doğru bir kaynağa özgü (S,G) katılım mesajı göndermektedir. Bu
mesaj kaynağa doğu adım adım yollanmakta ve her adım yönlendiricisinde (S,G)
durum bilgisi yaratılmasına ve sonunda, kökü S kaynağında olan bir (S,G) kaynak
ağacı oluşturulmasına yol açmaktadır. (S,G) ağacının temel görevi, çok hedefli iletim
trafiğinin sadece S kaynağından geldiğinde G grubuna iletiminin sağlanmasıdır.
Katılım mesajları, S kaynağının bulunduğu şebekeye ulaştığı zaman, (S,G) çok
hedefli iletim ağacı durumu bulunduran bir yönlendiriciye ulaşmış olmakta ve bu
sayede bilgilerin bu ağaç üzerinden RP’ye iletimine başlanmaktadır. Yol üzerinde
(*,G) durum bilgisine sahip olan yönlendiriciler, alternatif olarak (S,G) ağacına
katılıp bilgileri RP ağacından almak yerine (S,G) ağacından almaya
başlayabilmektedir. (S,G) kaynak ağacının oluşturulması sırasında RP, kaydolma
zarflaması ile gelen mesajları almaya devam etmektedir. Kaynak ağacı
yapılandırması tamamlandıktan sonra RP’ye her iki şekilde de bilgi gelmekte
dolayısıyla her paketten iki adet kopya bulunmaktadır. Bu aşamada RP, kaydolma
zarflaması yoluyla gelen paketleri görmezden gelmekte ve kaynağın DR’ına
kaydolma durdurma mesajı yollamaktadır. İkinci safhanın sonunda çok hedefli iletim
trafiği, S kaynağından RP’ye doğru kaynak ağacından; RP’den alıcılara ise
paylaşımlı ağaçtan akmaktadır. İki ağacın buluştuğu noktalarda trafik, RP ağacından
kaynak ağacına aktarılabilmekte ve bu sayede yol kısaltılmaktadır.
Üçüncü ve son safha en kısa yol ağacı safhası olarak isimlendirilmektedir. Kaynak
ile RP arasındaki trafiğin sarmalama metodundan çıkarılarak kaynak ağacına
geçirilmesi performansı arttırmakta fakat iletim yollarını tamamen optimize
etmemektedir. Gecikme sürelerinin düşürülmesi için alıcının şebekesinden sorumlu
DR, paylaşımlı ağaçtan kaynağa özgü en kısa yol ağacına (SPT) geçebilmektedir.
Bunun için DR, S kaynağına doğru (S,G) katılım mesajı göndermektedir. S
kaynağına doğru olan yoldaki ilk adım yönlendiricisi bu mesaj ile birlikte bir (S,G)
durumu oluşturmaktadır. Katılım mesajı ya S kaynağına ya da (S,G) durumu olan bir
51
yönlendiriciye ulaşmakta ve nihayetinde trafik alıcıya kadar (S,G) ağacından akmaya
başlamaktadır. Bu noktada alıcıya (veya yukarıakım yönlendiricisine) SPT’den ve
RPT’den birer adet olmak üzere toplam iki adet kopya iletilmektedir. SPT’den gelen
trafik, alıcı DR’ına ulaştığı anda DR (veya yukarıakım yönlendiricisi) RPT trafiğini
kesmek için harekete geçmektedir. Bunun için RP’ye doğru bir (S,G) budama mesajı
yollanmaktadır. Bu mesaja (S,G,rpt) budaması denmektedir. Mesaj, RP’ye doğru
adım adım iletilmekte ve her adım yönlendiricisinde (S,G) durumunun silinmesine
yol açmaktadır. Budama mesajı, RP’ye veya S kaynağından gelen trafiğe ihtiyaç
duyan ilk yönlendiriciye kadar iletilmektedir. Bu safha sonunda alıcı S kaynağından
gelen trafiği S kaynağı ile kendisi arasında olan SPT üzerinden almaktadır. Buna ek
olarak RP, S kaynağından trafiği almakta fakat bu trafik alıcıya ulaştırılmamaktadır.
Bahsi geçen alıcı için bu durum son durumdur.
IGMP protokolünün üçüncü sürümü [13], alıcıların belirli bir grup için almak
istedikleri trafiğin hangi kaynaklardan gelmesini veya bütün kaynaklardan gelip
sadece belirtilen kaynaklardan gelmemesini seçebilmelerine izin vermektedir. Bu
sayede DR’ın, sorumlu olduğu şebekedeki hiçbir alıcının (*,G) trafiğini istemediği
durumlarda, doğrudan kaynağa özgü (S,G) katılım mesajları gönderilmektedir.
Alcıların belirli kaynaklar haricinde bütün trafiği almak istemesi halinde (*,G)
katılım mesajları gönderilmekte ve bu mesajlar isteğe bağlı olarak (S,G,rpt) budama
mesajlarıyla birleştirilebilmektedir. İletim yolunun üzerinde Ethernet gibi çoklu
erişim şebekeleri bulunduğu zaman çeşitli sorunlar gündeme gelmektedir. Aynı yerel
şebekede bulunan iki farklı yönlendirici sorumlu RP’ye farklı yollardan (*,G) katılım
mesajları yolladığında paylaşımlı ağaç üzerinde aynı yere ulaşan iki farklı yol
oluşacaktır. Aynı durum (S,G) katılım mesajları ve kaynağa özgü ağaç için de
geçerlidir. Aynı şebeke için farklı yönlendiricilerin hem RPT’ye hem de SPT’ye üye
olması da farklı bir sorundur. Bu sorunların kaynağı aynı yerel şebekede birden fazla
yönlendiricinin görevleri üstlenmek istemesidir. Bunun önlenebilmesi için aynı yerel
şebekede bulunan PIM yönlendiricileri bu tür mesajları fark etmekte ve tek bir
sorumlu yönlendirici (DR) için bir seçim yapılmaktadır. Bu seçim PIM iddia (assert)
mesajlarıyla yapılmaktadır. Seçim, (S,G) durumu olan yönlendiricinin lehine
yapılmaktadır. Her iki yönlendiricinin de (S,G) durumu mevcut ise RP’ye doğru en
iyi metriği sağlayan yönlendirici seçilmektedir. (*,G) durumlarının oluşturulabilmesi
için PIM yönlendiricilerinin, o gruptan sorumlu olan RP’nin adresini bilmesi
52
gerekmektedir. Bu adresler ya statik olarak yapılandırılmakta ve ya bir önyükleyici
yönlendirici (Bootstrap Router, BSR) mekanizması sayesinde [33] edinilmektedir.
Bu mekanizmada PIM etki alanı içerisindeki bir yönlendirici, BSR olarak seçilmekte
ve diğer yönlendiriciler RP adayları olarak adaylıklarını periyodik olarak BSR’a
bildirmektedir. BSR, adaylar içerisinde bir RP kümesi belirleyerek bütün
yönlendiricilere bu kümeyi bildirmektedir. Bildirim mesajları, adım adım bütün etki
alanına iletilmekte ve böylece gruplardan sorumlu RP adresleri bütün etki alanına
dağıtılmaktadır.
3.2.1. PIM-SM Protokol Spesifikasyonu
Çok hedefli iletim ağaçlarının bütün durumları Ağaç Bilgi Bankası’nda (Tree
Information State, TIB) tutulmaktadır. TIB içerisinde dört farklı durum bilgisi
bulunmaktadır. Bunlar, belirli bir RP tarafından hizmet verilen bütün gruplara ilişkin
ağaçların tutulduğu (*,*,RP) durumu, G grubu tarafından kullanılmakta olan RP
ağacının tutulduğu (*,G) durumu, kökü S kaynağında olan ve G grubu için
oluşturulmuş olan kaynağa özgü ağacın tutulduğu (S,G) durumu ve G grubu için
ilgili RP ağacında S kaynağına özgü bilgilerin tutulduğu durum olan (S,G,rpt)
durumudur. Bir kaynak, kaynağa özgü ağaç sayesinde alıcılara ulaşıyorsa RP
ağacından budanmaktadır. Bu budama durumuna (S,G,rpt) durumu denmektedir.
Aşağıda durumlara ilişkin bilgiler sıralanmaktadır.
1. Genel Amaç Durumu;
(Her bir arabağdaşım için tutulmaktadır.)
1. Geçersiz kılma aralığı
2. İletim gecikmesi
3. Bastırma durumu (Geçerli değerleri: “etkin - etkin değil”)
4. Komşu Durumu;
(Her bir komşu için tutulmaktadır.)
1. HELLO mesajından edinilen komşu bilgileri
2. Komşunun kimlik bilgisini içeren ID’si (Generation ID)
3. Komşu yaşam zamanlayıcısı (Neighbor Liveness Timer)
5. DR durumu;
1. DR’ın IP adresi
2. DR’ın DR öncelik numarası
53
İletim gecikmesi değeri, alınan budama isteklerinin yukarıakım yönlendiricisine
iletilmeden önce diğer alıcılar veya aşağıakım düğümleri için ne kadar
bekletileceğini göstermektedir. Aynı yukarıakım yönlendiricisini kullanan
yönlendiriciler, herhangi bir yönlendiricinin gönderdiği budama mesajını iptal etmek
istediğinde geçersiz kılma mesajları göndermektedir. Yukarıakım yönlendiricisi
budama mesajını aldıktan sonra iletim gecikmesi kadar süre beklemekte ve bu süre
içerisinde diğer yönlendiricilerden iptal mesajları gelmediği takdirde ilgili dalı
budamaktadır. İptal mesajlarının anında gönderilmesi mesaj patlamasına sebep
olacağından; mesajlar maksimum uzunluğu geçersiz kılma aralığı olan rastlantısal bir
değer kadar bekledikten sonra gönderilmektedir. Bastırma durumu ise alıcıların
izlenmesi için kullanılmaktadır. Komşu durumunda, her komşu için HELLO
mesajından elde edilen komşu bilgisi, komşunun ID (Generation ID) bilgisi ve
komşu yaşama zamanlayıcısı (Neighbor Liveness Timer, NLT) bilgisi tutulmaktadır.
DR için ise DR’ın IP adresi ve DR öncelik numarası tutulmaktadır.
2. (*,*,RP) Durumu; (Her RP için tutulmaktadır.)
(Her arabağdaşım için tutulmaktadır.)
1. PIM (*,*,RP) Katılım/Budama Durumu;
1. Durum: “Bilgi Yok” (NI), “Katılım” (J), “Budama
Bekliyor”, (PP) değerlerinden birini almaktadır.
2. Budama bekliyor zamanlayıcısı (PPT)
3. Katılım/Budama geçerliliğinin sonra ermesi zamanlayıcısı
(ET).
2. Yukarıakım katılım/budama zamanlayıcısı (JT)
3. Kullanımda olan en son RPF komşusu.
PIM (*,*,RP) katılım/budama durumu, o arabağdaşım üzerinden alınan katılım ve
budama mesajları sonucu ortaya çıkan sonuç durumunu göstermektedir. Yukarıakım
katılım/budama zamanlayıcısı yukarıakım yönlendiricisine periyodik olarak PIM
katılım(*,*,RP) mesajları gönderilmesi için kullanılmaktadır. MRIB değiştiği zaman,
RP’ye doğru giden yolda komşu yönlendirici de değişebilmektedir. Bu durumda eski
yönlendiriciye PIM budama mesajı gönderilmesi gerekmektedir. Kullanımda olan en
son RPF komşusu bu sebepten dolayı saklanmaktadır.
54
3. (*,G) Durumu; (Her grup için tutulmaktadır.)
(Her arabağdaşım için tutulmaktadır.)
1. Yerel Üyelik Bilgileri;
1. Durum: “Bilgi Yok” veya “Ekle” değerlerini almaktadır.
2. PIM (*,G) Katılım/Budama Durumu;
1. Durum: “Bilgi Yok” (NI), “Katılım” (J), “Budama
Bekliyor” (PP) değerlerinden birini almaktadır.
2. Budama bekliyor zamanlayıcısı (PPT)
3. Katılım/Budama geçerliliğinin sonra ermesi
zamanlayıcısı (ET).
3. (*,G) İddia Kazanma Durumu;
1. Durum: “Bilgi Yok” (NI), “İddia Kaybedildi” (L),
“İddia Kazanıldı” (W) değerlerinden birini
almaktadır.
2. İddia zamanlayıcısı (AT)
3. İddiayı kazananın IP adresi
4. İddiayı kazananın iddia metriği
(Arabağdaşıma özgü olarak tutulmayan bilgiler;)
4. Yukarıakım katılım/budama zamanlayıcısı (JT)
5. Kullanımda olan en son RP
6. Kullanımda olan en son RPF komşusu.
Yerel üyelik bilgileri, IGMP protokolü sonucunda yerel şebekede bulunan alıcıları ve
sonuç kabul durumunu belirtmek için kullanılmaktadır. DR dışındaki
yönlendiricilerin bu bilgileri tutması gerekli kılınmamıştır. PIM (*,G)
katılım/budama durumu, o arabağdaşım üzerinden alınan katılım ve budama
mesajları sonucu ortaya çıkan sonuç durumunu göstermektedir. (*,G) iddia kazanma
durumu o arabağdaşım üzerinden PIM (*,G) iddia mesajları değiş tokuşu sonrasında
ortaya çıkan durumu göstermektedir. Yukarıakım katılım/budama zamanlayıcısı
yukarıakım yönlendiricisine periyodik olarak PIM katılım(*,G) mesajları
gönderilmesi için kullanılmaktadır. Kullanımda olan en son RP bilgisi, BSR
tarafından dağıtılan RP kümesi değiştiğinde var olan ağacın budanması için
kullanılmaktadır.
4. (S,G) Durumu; (Bütün kaynak/hedef grup çiftleri için tutulmaktadır.)
55
(Her arabağdaşım için tutulmaktadır.)
1. Yerel Üyelik Bilgileri;
1. Durum: “Bilgi Yok” veya “Ekle” değerlerini almaktadır.
2. PIM (S,G) Katılım/Budama Durumu;
1. Durum: “Bilgi Yok” (NI), “Katılım” (J), “Budama
Bekliyor” (PP) değerlerinden birini almaktadır.
2. Budama bekliyor zamanlayıcısı (PPT)
3. Katılım/Budama geçerliliğinin sonra ermesi zamanlayıcısı
(ET).
3. (S,G) İddia Kazanma Durumu;
1. Durum: “Bilgi Yok” (NI), “İddiayı Kaybedildi”
(L), “İddia Kazanıldı” (W) değerlerinden birini
almaktadır.
2. İddia zamanlayıcısı (AT)
3. İddiayı kazananın IP adresi
4. İddiayı kazananın iddia metriği
(Arabağdaşıma özgü olarak tutulmayan bilgiler;)
4. Yukarıakım (S,G) katılım/budama zamanlayıcısı (JT)
5. Kullanımda olan en son RPF komşusu.
6. SPT biti
7. (S,G) bağlantıyı canlı tutma zamanlayıcısı (KAT)
PIM (S,G) katılım/budama durumu o arabağdaşım üzerinden alınan katılım ve
budama mesajlarının sonucu ortaya çıkan sonuç durumunu göstermektedir. SPT biti
iletimin hangi ağaç üzerinden (SPT veya RPT) yapıldığını göstermektedir. (S,G)
bağlantıyı canlı tutma zamanlayıcısı (S,G) durumunun zaman aşımına uğramaması
için kullanılmaktadır.
5. (S,G,rpt) Durumu; ((*,G) ve (S,G) durumlarının mevcut olduğu her G
grubu için tutulmaktadır.)
(Her arabağdaşım için tutulmaktadır.)
1. Yerel Üyelik Bilgileri;
2. Durum: “Bilgi Yok” veya “Ekle” değerlerini almaktadır.
2. PIM (S,G,rpt) Katılım/Budama Durumu;
56
1. Durum: “Bilgi Yok” (NI), “Katılım” (J), “Budama
Bekliyor” (PP) değerlerinden birini almaktadır.
2. Budama bekliyor zamanlayıcısı (PPT)
3. Katılım/Budama geçerliliğinin sonra ermesi zamanlayıcısı
(ET)
(Arabağdaşıma özgü olarak tutulmayan bilgiler;)
3. Yukarıakım (S,G,rpt) Katılım/Budama Durumu;
1. Durum: “Katılınmamış(*,G)”, “Budanmamış(S,G,rpt)”
veya “Budanmış(S,G,rpt)” durumlarından birini
almaktadır.
2. Geçersiz kılma zamanlayıcısı (OT)
Yerel üyelik bilgileri IGMP ile elde edilmekte ve (*,G) trafiğinin (S,G) trafiğinden
farkının alınması isteğini belirtmektedir. PIM (S,G,rpt) katılım/budama durumu o
arabağdaşım üzerinden alınan katılım ve budama mesajlarının sonucu ortaya çıkan
sonuç durumunu göstermektedir. Yukarıakım (S,G,rpt) durumu, geçersiz kılma
zamanlayıcısı ile birlikte kullanılarak yukarıakım yönlendiricisine doğru budama
bilgilerinin iletilmesinde kullanılmaktadır. Çok hedefli iletimin gerçekleştirilebilmesi
için aşağıakım arabağdaşım listelerinin hazırlanması hayati önem taşımaktadır. Eğer
ilgili duruma ilişkin farklı hiçbir durum mevcut değilse; örneğin belirli bir (S,G)
durumu için (*,G) ve (S,G,rpt) durumu mevcut değilse oluşturulan liste anlık liste
olarak isimlendirilmektedir. Diğer durumlarda oluşturulan listelere dolaylı (inherited)
liste denmektedir. Bu listelerin oluşturulmasında yerel üyelerin istekleri, aşağıakım
yönlendiricilerinden gelen katılım veya budama istekleri ve kaynağa doğru olan en
yakın arabağdaşımın hangisi olduğu önemlidir.
Çok hedefli iletim paketleri iletilirken, paketin geldiği arabağdaşım, kaynağın IP
adresi (S), grubun IP adresi (G), RP’nin IP adresi, S kaynağına doğru olan en kısa
yol üzerindeki ilk adım komşu yönlendiricisi ve RP’ye doğru olan en kısa yol
üzerindeki ilk adım komşu yönlendiricisi göz önünde bulundurulmaktadır. S
kaynağından gelen bir paketin hedefi G grubu olduğunda, iletimi için ilk olarak S
kaynağının yönlendiriciye doğrudan bağlı bir şebeke içerisinde olup olmadığı kontrol
edilmektedir. Kaynak yönlendiriciye doğrudan bağlı ise, (S,G) için olan bağlantıyı
canlı tutma zamanlayıcısı başlatılmaktadır. Daha sonra SPT bitinin hangi durumda
olacağına karar verilmektedir. RP ağacından kaynak ağacına geçilirken yukarıakım
57
(S,G) durumu oluşumu sırasında belirli bir zaman geçtiği için iletimin (*,*,RP)/(*,G)
durumuna göre mi yoksa (S,G) durumuna göre mi yapılacağı trafiğin kesilmemesi
açısından önemlidir. SPT biti, S kaynağından gelen paket, doğru yukarıakım
arabağdaşımından gelmişse ve uygun (S,G) katılım durumu mevcut ise aşağıdaki
koşulların herhangi biri sağlandığı takdirde ayarlanmaktadır.
1. Kaynak, yönlendiriciye doğrudan bağlı bir şebekede bulunuyorsa.
2. S kaynağına doğru olan RPF arabağdaşımı (S kaynağına doğru olan en
kısa yol arabağdaşımı) RP’ye doğru olan RPF arabağdaşımından farklı ise
(ki bu durum SPT’nin tamamlandığını göstermektedir.).
3. Hiçbir alıcı, RP ağacını kullanmak istemiyorsa.
4. İlk adım (S,G) komşusu, ilk adım (*,G) komşusu ile aynı ise (ki bu
durumda yönlendirici SPT’nin tamamlanıp tamamlanmadığını hiçbir
zaman anlayamayacağı için vakit kaybetmeden SPT’ye geçmelidir.)
SPT biti, hiçbir (S,G) katılım durumu kalmadığı zaman otomatik olarak
sıfırlanmaktadır. SPT bitinin durumu hesaplandıktan sonra aşağıakım arabağdaşım
listesi tekrar doldurulmak için sıfırlanmaktadır. S kaynağından gelen paket, RPF
arabağdaşımından geliyorsa ve ilgili yukarıakım yönlendiricisi kaynağa özgü ağaca
katılmış ise aşağıakım arabağdaşım listesi dolaylı (S,G) arabağdaşım listesine göre
doldurulmaktadır. Oluşturulan liste boş ise bağlantıyı canlı tutma zamanlayıcısı
tekrar başlatılmaktadır. İlgili yukarıakım yönlendiricisi kaynağa özgü ağaca
katılmamış ise ve SPT biti sıfır ise aşağıakım arabağdaşım listesi dolaylı (S,G,rpt)
arabağdaşım listesine göre doldurulmaktadır. Buna ek olarak kaynağa özgü ağaca
geçmenin uygun olup olmayacağı araştırılmaktadır. Bunun için, G grubuna yollanan
trafiği almak isteyen alıcıların bir listesi oluşturulmakta ve S kaynağından trafik
almak istemeyen alıcılar bu listeden çıkartılmaktadır. Daha sonra bu listeye sadece S
kaynağından G grubuna doğru olan trafiği almak isteyenler eklenmektedir. Sonuç
liste boş değilse, kaynağa özgü ağaca geçiş yapılabilmektedir. Fakat bu geçiş sadece
bu koşulla belirlenmemekte daha çok yönetimsel bir seçim olmaktadır. PIM-SM
protokolünde son adım yönlendiricileri öncelikle RP ağacına üye olmakta, trafik
akışı sağlandıktan sonra isteğe bağlı olarak kaynağa özgü ağaca geçilebilmektedir.
Eğer yukarıdaki koşullardan ikisinin de sağlanmadığı durumlarda RPF testi başarısız
olmaktadır. Bu noktadan sonra, SPT biti ayarlanmış ise ve S kaynağından gelen
paketin alındığı arabağdaşım dolaylı (S,G) arabağdaşım listesinde içerisinde yer
58
alıyor ise paketin geldiği arabağdaşımdan PIM (S,G) iddia mesajı yollanmaktadır.
Aksi halde SPT biti sıfır ise ve paketin geldiği arabağdaşım dolaylı (S,G,rpt)
arabağdaşım listesi içerisinde yer alıyor ise, paketin geldiği arabağdaşımdan PIM
(*,G) iddia mesajı yollanmaktadır. Son olarak, aşağıakım listesinden paketin geldiği
arabağdaşım çıkartılmakta ve gelen paket bu liste üzerinden iletilmektedir.
Ethernet gibi çoklu erişim şebekelerinde birden fazla yönlendirici olabilmektedir. Bu
tür durumlarda o şebeke üzerinde bulunan sistemlerin çok hedefli iletim
ihtiyaçlarının karşılanması için bu yönlendiricilerden bir tanesinin seçilmesi
gerekmektedir. Seçilen bu yönlendiriciye seçilmiş yönlendirici, DR denmektedir.
PIM-SM protokolünde, DR seçimi sadece çoklu erişim şebekeleriyle sınırlı kalmayıp
noktadan noktaya iletim kullanılmakta olan şebekeler için de zorunlu kılınmıştır. DR
seçim işlemleri HELLO mesajları kullanılarak yapılmaktadır. HELLO mesajları, DR
seçimine ek olarak seçenek yeteneklerinin değiş tokuşu için kullanılmaktadır.
HELLO mesajları, komşu yönlendiricilerin keşfedilmesi ve seçenek bilgilerinin
öğrenilmesi için periyodik olarak PIM yeteneği aktif olan bütün arabağdaşımlardan
yollanmaktadır. Bu mesajlar “bütün PIM yönlendiricileri” çok hedefli iletim grubuna
iletilmektedir. Bu gurubun IP adresi IANA tarafından 224.0.0.13 olarak
belirlenmiştir [8]. Mesajların periyodik olarak gönderilebilmesi için her arabağdaşım
için bir zamanlayıcı kullanılmaktadır. Yönlendiriciler HELLO mesajlarıyla
öğrenmedikleri komşu yönlendiricilerden diğer PIM mesajlarını kabul etmemektedir.
Mesaj içerisinde bulunabilecek seçenekler aşağıda sıralanmaktadır.
1. DR Seçim Önceliği: Bu seçenek sayesinde sistem yöneticileri, DR seçim
işlemini etkileyebilmekte ve istenen yönlendiricinin DR olarak
seçilmesine sebep olmaktadır.
2. Kuşak Kimlik Tanıtıcısı (Generation ID): GenID, PIM iletimi her
başlatıldığında tekrar oluşturulan 32 bitlik rastlantısal bir değerdir.
Beklenenden farklı bir GenID değerini içeren bir HELLO mesajı
alındığında eski bilgiler silinerek bu mesajdaki bilgiler kullanılmaya
başlanmaktadır.
3. LAN Budama Gecikmesi: Bu seçenek, çoklu erişim şebekelerine atılan
bütün HELLO mesajlarında var olmak zorundadır. Bu seçenek sayesinde
yönlendiriciler, iletim gecikmesi ve bastırma aralığı için var sayılanın
dışındaki değerlerin kullanılabileceğini belirtmektedir.
59
4. Arabağdaşım Adres Listesi: Bu seçenek sayesinde ilgili arabağdaşıma
bağlanmış olan ikincil IP adresleri listelenmektedir.
DR’ın seçilme işlemi sırasında, PIM HELLO mesajlarının içerisindeki bilgiler
kullanılmaktadır. O şebeke içerisinde bulunan bütün yönlendiriciler için DR öncelik
bilgisi tanımlı ise önceliği en yüksek olan yönlendirici DR olarak seçilmektedir.
Öncelik bilgisi bir yönlendiricide dahi tanımlı olmadığı takdirde yönlendiricilerin
birincil adresleri karşılaştırılmakta ve en yüksek adrese haiz olan yönlendirici DR
olarak seçilmektedir.
Şebeke içerisindeki DR, yerel kaynaklardan aldığı çok hedefli iletim trafiğini RP’ye
doğru zarflayarak göndermektedir. O gruba ait zarflama işlemi, RP’den PIM
kaydolmayı durdur mesajı gelmesine kadar devam etmektedir.
KatılımKatılım
Bekliyor
Bilgi Yok Budama
RP değişti. [Kaydolma
tünelini güncelle.]
“BulutKaydolma(S,G)”
yanlış. [Kaydolma
tünelini kaldır.]
RP‟den kaydolma durduması
mesajı alındı. [Kaydolma tünelini
kaldır.] [Kaydolma durdurma
zamanlayıcısını başlat.]
Kaydolma durdurma
zamanlayıcısı doldu.
[Kaydolma tünelini ekle.]
RP değişti. [Kaydolma tünelini
ekle.] [Kaydolma durdurma
zamanlayıcısını durdur.]
RP‟den kaydolma
durdurması mesajı alındı.
[Kaydolma durdurması
zamanlayıcısını başlat.]
Kaydolma durdurması
zamanlayıcısı doldu.
[Kaydolma durdurması
zamanlayıcısını başlat.] [Boş
kaydolma mesajı yolla.]
“BulutKaydolma(S,G)” yanlış.
[Kaydolma tünelini kaldır.]
“BulutKaydolma(S,G)” yanlış.
[Kaydolma tünelini kaldır.]
RP değişti. [Kaydolma tünelini
ekle.] [Kaydolma durdurması
zamanlayıcısını durdur.]
“BulutKaydolma(S,G)”
doğru. [Kaydolma
tünelini ekle.]
Şekil 3.2 – PIM kaydolma durum diyagramı
DR, bu mesajı aldıktan sonra sarmalamayı hemen kesmemekte ve bir kaydolma
durdurma zamanlayıcısını başlatmaktadır. Bu zamanlayıcının bitimine doğru RP’ye
PIM boş kaydolma mesajı yollanmakta ve bu sayede RP, sarmalanmanın
durdurulacağından haberdar edilmektedir. Kaydolma mesajlarına ilişkin durum
diyagramı şekil 3.2’de verilmektedir. Kaydolma durumları sadece doğrudan bağlı
60
olan şebekelerde bulunan kaynaklar için tutulmaktadır. Diyagramda bulunan
kaydolma tüneli, RP’ye doğru sarmalama için kullanılmakta olan farazi bir
arabağdaşımdır. Katılım durumu, kaydolma tünelinin RP ile DR arasında kurulduğu
anlamına gelmektedir. Budama durumu, kaydolma durdurması mesajları sonucunda
tünelin budanması durumudur. Kaydolma bekliyor durumu, DR’ın budanmış bir
tüneli tekrar eklemek istediğini ifade etmektedir. Bilgi yok durumu ise başlangıç
durumudur. Ayrıca yönlendiriciler, DR olmadıkları zaman bilgi yok durumunda
beklemektedir. “BulutKaydolma(S,G)” işlevinin doğru ve yanlış olmak üzere iki
sonucu mevcuttur. Sonuç, yönlendirici S kaynağının bulunduğu şebekede DR ise,
(S,G) için bağlantıyı canlı tutma zamanlayıcısı çalışmakta ise veya S o
yönlendiriciye doğrudan olarak bağlı bir şebekede ise doğru olmaktadır. Bu üç
koşuldan herhangi biri sağlanmadığı sürece işlevin sonucu yanlış olmaktadır.
PIM katılım/budama mesajları, grup listesini ve bu gruplara ilişkin katılan veya
budanan kaynakları taşımaktadır. Liste içerisindeki her kaynak ayrı ayrı ele
alınmaktadır. (*,G) katılım ve budamaları, (*,G) ve (S,G,rpt) aşağıakım durumlarına
etkirken; (*,*,RP), (S,G) ve (S,G,rpt) katılım ve budamaları sadece kendilerine
ilişkin aşağıakım durumlarını değiştirebilmektedir. Eğer mesajın hedefi farklı bir
yönlendirici ise bütün yukarıakım durumları gelen mesaja göre değişebilmektedir.
Alınan (*,*,RP) katılım/budama mesajına ilişkin durum diyagramı şekil 3.3’te
gösterilmektedir. Durumlar her arabağdaşım için ayrı ayrı tutulmaktadır.
Şekil 3.3’teki durum diyagramına, bilgi yok durumunda hiçbir zamanlayıcı etkin
değildir. Katılım durumunda, yönlendirici o arabağdaşım üzerinden (*,*,RP)
ifadesindeki RP’den gelen bütün trafiği göndermektedir. (*,*,RP) katılım mesajı
geldiğinde son kullanma (expiry time, ET) başlatılmaktadır. Fakat bu trafiğe,
(S,G,rpt) budama bilgisinde yer alan kaynaklar dahil edilmemektedir. Bir başka
istisna ise yönlendiricinin, o arabağdaşıma doğrudan bağlı şebeke için iddia
kaybetmesi durumudur. Budama bekliyor durumu ise o arabağdaşımdan bir budama
mesajı alındığını göstermektedir. Bu durumda yönlendirici, aynı arabağdaşımı
kullanan diğer yönlendiricilerden herhangi birinin, budama isteğini geçersiz kılma
mesajı göndermesi için beklemektedir.
61
Katılım
Budama
BekliyorBilgi Yok
(*,*,RP) katılım mesajı alındı.
[ET‟yi baştan başlat.]
(*,*,RP) budama mesajı alındı.
[PPTyi başlat.]ET doldu.
(*,*,RP) katılım
mesajı alındı.
[ET‟yi başlat.]
(*,*,RP) katılım
mesajı alındı.
[ET‟yi baştan başlat.]
[PPT‟yi iptal et.](*,*,RP) budama
mesajı alındı.
(*,*,RP) budama
mesajı alındı.
PPT doldu. [Budama
yankı mesajı yolla.]
ET doldu.
Şekil 3.3 – (*,*,RP) katılım/budama aşağıakım durum diyagramı
Budama bekleme zamanlayıcısı (Prune Pending Timer, PPT) kadar süre beklendikten
sonra budama istemi işleme koyulmakta ve bilgi yok durumuna geçiş yapılmaktadır.
Budama yankı mesajı, budama işlemi gerçekleştirildikten sonra yukarıakım
yönlendiricisi tarafından gönderilen ve sağlamlığın arttırılmasına yönelik olan bir
mekanizmadır.
(*,G) ve (S,G) katılım/budama mesajlarına ilişkin durum diyagramı (*,*,RP)
katılım/durum diyagramıyla büyük benzerlik göstermektedir. Tek fark katılım ve
budama mesajlarının (*,*,RP) tarzında değil (*,G) veya (S,G) tarzında olmasıdır.
(*,G) veya (S,G) katılım/budama mesajı alındığında öncelikle mesaj içerisindeki RP
bilgisinin doğruluğu kontrol edilmektedir. Yönlendirici BSR’dan [39] aldığı bilgileri
mesajdaki bilgilerle karşılaştırmakta ve uyuşmayan RP mesajları işlenmemektedir.
BSR bilgisinin mevcut olmadığı durumlarda, mesaj içerisinde bulunana RP bilgisinin
kullanımına izin verilmektedir.
(S,G,rpt) katılım/budama mesajları için durum diyagramı şekil 3.4’te verilmektedir.
Diyagramda beş durum bulunmaktadır. Bilgi yok durumunda, ilgili herhangi bir
(S,G,rpt) bilgisi mevcut değildir ve hiçbir zamanlayıcı çalışmamaktadır. Budama
durumunda, arabağdaşımda (*,G) iletim durumu mevcut olsa bile S kaynağından G
grubuna giden trafik o arabağdaşımdan iletilmemektedir. Budama bekliyor
durumunda ise aşağıakım komşularından birinden budama mesajı alınmış ve
diğerlerinden geçersiz kılma mesajı beklenmektedir. Alınan katılım/budama
62
mesajları sırayla işlendiğinden ilk olarak karşılaşılan (*,G) katılım isteği sonucunda
geçici budama durumuna geçilmektedir. Daha sonra mesajda ilerleyen isteklerde
herhangi bir (S,G,rpt) budama isteğiyle karşılaşılırsa budama durumuna geri
dönülmektedir. Böyle bir istekle karşılaşılmadığı zaman bilgi yok durumuna
dönülmektedir. Geçici budama bekliyor durumu ise alınan mesajdaki katılım budama
istekleri işlenirken karışıklığın engellenmesi amacıyla budama bekliyor durumu için
oluşturulmuştur.
Geçici
Budama
Bekliyot
(*,G) katılım
isteği alındı.
Budama
Bekliyor
Budama
Bilgi Yok
Geçici
Budama
(S,P,rtp) budama isteği
alındı. [ET‟yi baştan başlat.]
G‟ye ilişkin mesajın
sonuna gelindi.
(S,G,rpt) budama
isteği alındı.
PP zamanlayıcısı
doldu.
(S,G,rpt) budama
isteği alındı. [ET‟yi
baştan başlat.]
(S,G,rpt) katılım
isteği alındı.
(S,G,rpt) budama isteği
alındı. [ET‟yi başlat.]
[PPT‟yi başlat.]
(S,G,rpt) katılım
isteği alındı.
Mesaj sonuna
ulaşıldı.
(S,G,rpt) katılım
isteği alındı.
ET doldu.
(*,G) katılım
isteği alındı.
(S,G,rpt) katılım
isteği alındı. [ET‟yi
baştan başlat.]
Şekil 3.4 – (S,G,rpt) katılım/budama aşağıakım durum diyagramı
(*,G) budama veya (*,*,RP) katılım mesajının alınması aşağıakım (S,G,rpt)
durumunu etkilemeyecektir. (*,G) katılım mesajı yollamış ve daha sonra (S,G,rpt)
budama mesajı ile S kaynağından G grubuna giden trafiği istememiş olan bir
yönlendirici, S kaynağından gelen trafiği tekrar istediği takdirde (S,G,rpt) katılım
mesajı yollamaktadır.
Yönlendiriciler, RP’ye doğru olan yukarıakım komşularına, periyodik olarak her
arabağdaşım için ayrı ayrı tutulmakta olan (*,*,RP) aşağıakım durumlarına ilişkin
katılım mesajları yollamaktadır. Yukarıakım (*,*,RP) katılım mesajı yollamak
63
isteyen yönlendiriciler, yukarıakım arabağdaşımlarındaki mesajlara dikkat etmek
durumundadır. Yukarıakım arabağdaşımından duyulan bir (*,*,RP) katılım mesajı
yönlendiricinin kendi katılım mesajını bastırmasına sebep olmaktadır. Aynı şekilde
(*,*,RP) budama mesajı, (*,*,RP) durumu olan yönlendiricinin ivedi olarak geçersiz
kılma mesajı yollamasına neden olmaktadır. Buna ek olarak yönlendirici, yukarıakım
komşusunun Gen ID’sinin değiştiğini fark ettiği zaman (Ki bu, o yukarıakım
komşusunun bütün durumlarını kaybettiği anlamına gelmektedir.) GenID’si değişen
yönlendiriciye ivedi olarak (*,*,RP) katılım mesajı yollamak durumundadır. MRIB
içerisinde meydana gelen bir değişiklik sonucu RP’ye doğru olan bir sonraki adım
değiştiğinde yönlendirici eski adıma doğru bir budama mesajı ve yeni adıma doğru
bir katılım mesajı göndermektedir. (*,G) ve (S,G) katılım/budama mesajlarının
yukarıakım komşularına gönderimi de benzer şekilde yapılmaktadır. Yönlendiriciler
aşağıakımdan aldıkları (*,G) ve (S,G) katılım/budama mesajlarını değerlendirerek
yukarıakıma ilgili katılım/budama mesajlarını yollamaktadır. Mesajların ilgili
yukarıakım yönlendiricisine yollanmasından önce diğer yönlendiricilerden aynı
mesaj duyulduğu takdirde mesaj iptal edilmektedir. (*,G) ve ya (S,G) katılım durumu
mevcut olan bir yönlendirici, trafiğin geldiği yukarıakım yönlendiricisine başka bir
yönlendirici tarafından yollanan bir budama mesajı duyduğu takdirde budama
isteğini geçersiz kılmak için çok az bir gecikmeden sonra katılım mesajı
yollamaktadır. İddia sonucu yukarıakım yönlendiricisi değiştiği zaman yeni
yukarıakım yönlendiricisinin durumlarını güncellemesi için ilgili katılım mesajı ivedi
şekilde yollanmaktadır. MRIB değişimi sonucu, RP’ye doğru veya kaynağa doğru ilk
adım yönlendiricisinin değiştiği durumlarda, eski yönlendiriciye budama mesajı, yeni
yönlendiriciye ise katılım mesajı yollanmaktadır.
Yukarıakıma yollanan (S,G,rpt) mesajları periyodik ve tetiklenmiş olmak üzere iki
farklı şekilde yollanmaktadır. Periyodik yollanan (S,G,rpt) mesajları (*,G) katılım
mesajlarına istinaden yollanmaktadır. Burada amaç (*,G) katılımını gerçekleştirmek
ve bunun yanında S kaynağından gelen trafiğin istenmediğini belirtmektir. (*,G)
katılım mesajı yollanmak istendiğinde bütün (S,G) durumları incelenmekte ve hangi
kaynaklar için (S,G,rpt) budama mesajı yollanması gerektiğine karar verilmektedir.
Eğer (S,G) trafiği SPT üzerinden geliyor ise ve RPT ile SPT yukarıakım komşusu
farklı ise (S,G,rpt) budama isteği mesaja katılmaktadır. Eğer dolaylı (S,G,rpt)
arabağdaşım listesi boş ise, bütün (*,G) arabağdaşımlarının ilgili (S,G) için RP
64
ağacından budanmış olduğu anlaşılmaktadır. Bu olay sonucunda (S,G,rpt) budama
isteği mesaja katılmaktadır. Budama isteğinin mesaja katıldığı bir başka durum ise,
trafik RP ağacı üzerinde akmakta iken bir (S,G) iddiası sonucunda kaynak ağacı RPF
komşusunun değişmesidir. Yönlendiricide (*,*,RP) veya (*,G) katılım durumu
mevcut iken aynı yukarıakım komşusunun hizmet verdiği diğer yönlendiriciler, S
kaynağını RP ağacından budamak istediği takdirde (S,G,rpt) katılım mesajları
yollanmakta ve bu sayede budama işlemi geçersiz kılınmaktadır.
Tetiklenmiş (S,P,rpt) budama istekleri yönlendiricilerde (*,G) durumu olmasa dahi
yollanabilmektedir. Bunun nedeni (*,*,RP) davranışının optimize edilmemiş
olmasıdır [33]. (*,*,RP) katılım mesajının alımı, o arabağdaşımdaki (S,P,rpt) budama
durumunu iptal etmemektedir. (S,P,rpt) durumunun iptal edilmesi için (*,G) katılım
isteğinin alınması gerekmektedir. Aynı şekilde (*,*,RP) katılım durumu olan bir
arabağdaşımdan (*,G) budama isteği alınması G grubuna gelen trafiğin kesilmesine
sebep olmamaktadır. Bunun nedeni (*,G) budama isteklerinin kullanım amacının
sadece (*,G) katılım durumlarını iptal etmek olmasıdır. Özetle (*,*,RP) durum
işlevleri (S,G) ve (*,G) mekanizmalarından daha üst seviyede çalışmakta ve
dolayısıyla (*,*,RP) katılım ve budama mesajları diğer durumları etkilememektedir.
Netice olarak (*,*,RP) durumunda (S,G) trafiğinin alınmaması için (S,G,rpt) budama
isteği kullanılması zorunludur. Yukarıda anlatılanlar, (*,G) durumu olmadan
(S,G,rpt) budama isteklerinin yollanabilmesini açıklamaktadır. Protokol
spesifikasyonunda (*,*,RP) iddia mesajları tanımlı olmadığından, bu iş için (*,G)
iddia mesajları kullanılmaktadır. Yukarıakım yönlendiricileri arasında bir iddia
olduğu zaman kazanan yönlendiricide (*,*,RP) durumu veya (*,G) durumu olup
olmadığı bilinmemektedir. Bu sebepten dolayı (S,G,rpt) budama istekleri (*,G)’nin
RPF komşusuna gönderilmektedir. (*,*,RP) ağacı içerisinden S kaynağının yarattığı
trafiğin alımının durdurulması için karmaşık geçersiz kılma kuralları yerine her (S,G)
budama isteğine karşı bir (*,G) katılım isteği gönderilmesi kararlaştırılmıştır.
Ethernet gibi çoklu erişim şebekelerinde, aynı paket için birden fazla yukarıakım
yönlendiricisinin iletim durumu mevcut olabilmektedir. Bu gibi durumlarda paketler
çifter çifter gelmektedir. PIM spesifikasyonunda, bu sorunun önceden fark edilip
önlem alınması için herhangi bir mekanizma bulunmamaktadır. Bunun yerine
paketler çifter çifter gelmeye başladıktan sonra, gereksiz paket iletiminin önlenmesi
için yukarıakım yönlendiricileri arasında bir seçim mekanizması oluşturulmuştur. Bu
65
seçim PIM iddia (assert) mesajları sayesinde gerçekleştirilmektedir. İddia mesajları,
ayrıca aşağıakım yönlendiricilerine de yollanmaktadır. Burada amaç, iddiayı kazanan
yukarıakım yönlendiricisi belli olduktan sonra, iletimin kesilmemesi için aşağıakım
yönlendiricilerinin geçerli çok hedefli iletim durumlarını iddiayı kazanan yukarıakım
yönlendiricisine bildirmelerinin sağlanmasıdır. Yönlendiricilerde, bütün
arabağdaşımlar için, (*,G) ve (S,G) olmak üzere iki farklı iddia durum makinası
bulunmaktadır. Bu durum makinaları için bilgi yok, iddiayı kazandım ve iddiayı
kaybettim olmak üzere üç durum mevcuttur. İddia mesajları işlenirken (S,G) durum
makinasını değiştiren istekler önceliklendirilmektedir. (*,G) durumu, ancak ilgili S
kaynağı ve G grubu için (S,G) makinası bilgi yok durumunda iken değişebilmektedir.
İddiayı kazananın belirlenmesi için sırasıyla RPT biti, metrik tercihi ve rota metriği
karşılaştırılmaktadır. İddiayı, ilk düşük değere sahip olan yönlendirici
kazanmaktadır. Üç değerin de eşit olduğu durumda, yönlendiricilerin IP adresine
bakılmakta ve yüksek olan IP adresi eşitliği bozmaktadır. Burada RPT biti, trafik RP
ağacından geliyorsa 1, SP ağacından geliyorsa 0 değerini almaktadır. Metrik tercihi
ve rota metriği MRIB içerisinden bulunmakta ve trafik RP ağacından alınmakta ise
RP’nin tek hedefli iletim bilgilerini, trafik kaynak ağacından akmakta ise S’in tek
hedefli iletim bilgilerini göstermektedir.
İddiayı kazanan yönlendirici, daha sonra herhangi bir nedenden dolayı iddianın
gerçekleştirildiği durumu sildiği zaman, belirli bir zaman aşımı sonrasında
yönlendiriciler üzerindeki iletim durumları normale dönmektedir. Zaman aşımı
süresinin beklenmeden harekete geçilebilmesi için iddia iptal mesajları
kullanılmaktadır. Aslında, bu mesajlar sonsuz metriğe sahip olan RPT iddia
mesajlarıdır. İddia iptal mesajları alındığı zaman ilgili iletim durumu mevcut olan
yönlendiriciler, otomatik olarak kendi iddia mesajlarını yollamaktadır. Bu
mekanizma, o şebekedeki alıcılar ve aşağıakım alıcıları için oluşturulmuş bir
optimizasyondur. Bu sayede zaman aşımı süresi kadar beklenmemektedir. (*,G)
iddiasını kazanan yönlendirici iddiayı kazandıktan sonra sadece (*,G) durumu için o
şebekenin yerel DR’ı olarak görev yapmaktadır. Aynı durum (S,G) iddiası için de
geçerlidir.
Etki alanının dışındaki kaynakların iç taraftaki alıcılara veya iç taraftaki kaynakların
dış taraftaki alıcılara trafik yollayabilmesi için sınırlarda bulunan yönlendiricilerin
PIM-SM dışındaki bir çok hedefli iletim yönlendirme protokolü daha kullanması
66
gerekmektedir. Komşu etki alanlarında çok hedefli iletimin yönlendirilmesi için
PIM-SM dışındaki bir protokolün kullanımda olabileceği unutulmamalıdır. Sınırda
bulunan ve PIM-SM protokolüne ek olarak bir başka yönlendirme protokolü konuşan
yönlendiricilere, PIM çok hedefli iletim sınır yönlendiricisi (PIM multicast border
router, PMBR) denmektedir. Temel olarak PMBR’ın iki görevi vardır. Bu görevler,
harici kaynaklardan gelen trafiğin dahili alıcılara iletimi ve dahili kaynaklardan gelen
trafiğin harici alıcılara iletimidir. Normal operasyonda harici kaynaklardan gelen
trafik, PIM-SM arabağdaşımlarından birinden gelmediği için iletimle ilgili herhangi
bir işlem yapılmamaktadır. Trafiğin aktarılması için PIM kaydolma mesajlarındaki
harici biti ayarlanmakta ve kaynak PMBR’a doğrudan bağlı bir şebekede gibi
düşünülmektedir. Dahili kaynaklardan gelen trafiğin harici alıcılara iletimi için iki
farklı yol izlenmektedir. Bunlardan ilki, PMBR’ın joker alıcısı gibi davranmasıdır.
Bu yöntemde PBMR etki alanı içerisindeki bütün RP’lere doğru (*,*,RP) katılım
mesajları göndermek suretiyle bütün gruplara üye olmakta ve harici arabağdaşım için
DR görevi görmektedir. Bu şekilde, istenen trafik etki alanı dışına iletilebilmektedir.
Ayrıca gerek görüldüğünde SP ağacına geçilebilmektedir. Diğer yöntem ise (*,*,RP)
katılımları yerine, sadece harici alıcıların almak istedikleri trafiğin iç taraftan
alınmasıdır. PMBR, harici alıcılara doğru bakan arabağdaşım için DR görevi
görmekte ve alıcıların o arabağdaşıma doğrudan bağlı oldukları düşünülmektedir.
Böylece PMBR, diğer etki alanlarından gelen istekleri doğrudan bağlı olan
alıcılardan geliyormuş gibi hareket etmektedir. Çok hedefli iletim yönlendirme
protokolleri arasındaki birlikte çalışma prensipleri 2715 numaralı RFC [34] ile
belirlenmiştir. PIM-SM protokolü, bu prensiplere uymakta ve normal işleyişinde bu
prensiplere uyan yönlendirme protokolleri ile haberleşeceği varsayılmaktadır. Fakat
MSDP [35] gibi bu duruma uymayan protokollerle birlikte çalışılabilirliğin
sağlanabilmesi için PMBR’lara ihtiyaç duyulmamaktadır. Bunun nedeni ise (S,G)
katılım mesajlarının etki alanlarının sınırlarından geçebiliyor olmasıdır. Genel olarak
PMBR’lar 2715 numaralı RFC ışığında hazırlanmıştır ve diğer 2715 uyumlu
yönlendirme protokolleriyle birlikte çalışabilmektedir.
Çok hedefli iletim yönlendirmesinin tutarlı olabilmesi için, aynı etki alanı
içerisindeki bütün PIM yönlendiricilerinin hedef gruplar için belirledikleri RP’lerin
aynı olması gerekmektedir. Aksi halde tek bir grup için birden fazla RP hizmet
verecek ve yönlendirme tutarlı olmayacaktır. Bunun için halihazırda üç farklı yol
67
belirlenmiştir. İlk yol, hedef grup adresi ile RP adreslerinin eşleştirilmesinin sistem
yöneticileri tarafından elle yapılmasıdır. Bu yöntemde, bütün PIM yönlendiricilerinin
elle yapılandırılması gerekmektedir. Buna ek olarak statik bir yapı oluşacağı için
herhangi bir RP’de sorun çıktığı zaman RP adreslerinin tekrar dağıtımı çok zor
olmaktadır. İkinci yöntem, Cisco Systems tarafından geliştirilen Auto-RP
mekanizmasıdır. Bu mekanizmada, grup adresi ile RP ilişkilendirmesi PIM-DM [19]
protokolü kullanılarak merkezi bir noktadan dağıtılmaktadır. Bu mekanizmanın
dezavantajı PIM-SM ile birlikte PIM-DM protokolünün de kullanılması
zorunluluğudur. Üçüncü ve en çok tercih edilen yöntem ise bilgilerin BSR [33]
kullanılarak dağıtılmasıdır. Etki alanı içerisinde bulunan bütün PIM yönlendiricileri
adaylıklarını BSR’a bildirmektedir. BSR, aday yönlendiriciler arasından
yönlendiricileri seçerek bir RP kümesi oluşturmakta ve daha sonra bu kümeyi bütün
etki alanına dağıtmaktadır. PIM-SM için hangi yöntemin kullanıldığı önemli değildir.
Önemli olan tek husus, etki alanı içerisindeki bütün yönlendiricilerin gruplar için
aynı RP’leri kullanmasıdır. PIM yönlendiricileri, yukarıdaki yöntemlerden herhangi
biri sayesinde grup – RP ilişkilendirmelerini periyodik olarak edinmektedir.
İlişkilendirmeler, grup adresi ve adres maskesini tek bir RP’ye eşlemektedir. Böylece
bir grup kümesine tek bir RP hizmet etmektedir. Buna ek olarak, istendiğinde
eşlemelere öncelik atanabilmektedir. Belirli bir grup için birden fazla eşleme
gönderilmesine izin verilmektedir. Gruplar RP’lere eşlenirken, öncelikle grup
maskeleri kontrol edilmekte ve en uzun maskeye haiz olan RP listesi seçilmektedir.
Daha sonra en yüksek önceliğe sahip olan RP’ler bulunmakta ve diğerleri listeden
çıkarılmaktadır. Geriye birden fazla RP varlığının kaldığı durumlarda, özet işlevi
kullanılarak her RP için bir değer bulunmakta ve en yüksek değere haiz olan RP
seçilmektedir. Eşitliğin bozulmadığı durumlarda, en yüksek IP adresine sahip olan
RP kullanılmaktadır. Özet işlevi, girdi olarak grup adresini ve aday RP adreslerini
almakta; çıktı olarak tek bir RP adresi sunmaktadır. İlk olarak ilgili RP adresleri için
aşağıdaki değer hesaplanmaktadır;
Deger(G,M,C(i)) = (1103515245 * ((1103515245 * (G&M)+12345) XOR C(i)) + 12345) mod 231
Burada C(i), RP adresini, M ise BSR mesajındaki grup maskesini ifade etmektedir.
BSR kullanılmadığı durumlarda maske bilgisi dağıtılmıyorsa ilk 30 bit “1” olarak
alınmaktadır. G ise grup adresini temsil etmektedir. O grup için, değer işlevinin
68
sonucu en yüksek çıkan RP seçilmektedir. Değer işlevi birden fazla yönlendirici için
aynı çıkmış ise, en yüksek IP adresine haiz olan RP eşitliği bozmaktadır.
PIM-SM spesifikasyonuna ait kontrol mesajlarında kullanılan IP protokol numarası
103’tür. Mesajlar kaydolma mesajlarında olduğu gibi tek hedefli veya
katılım/budama mesajlarında olduğu gibi çok hedefli olarak gönderilmektedir. Çok
hedefli olarak gönderilen kontrol mesajlarında IP TTL değeri olarak 1
kullanılmaktadır. Hedef grup adresi olarak IANA tarafından atanan “bütün PIM
yönlendiricileri grubu” (224.0.0.13) kullanılmaktadır [8]. Tek hedefli olarak iletilen
mesajlarda kaynak adresi olarak bütün etki alanından erişilebilen bir adres, çok
hedefli olarak iletilen mesajlarda mesajın çıktığı arabağdaşım adresi bulunmaktadır.
PIM spesifikasyonunda çeşitli yerlerde pek çok zamanlayıcı kullanılmaktadır. Bu
zamanlayıcıların listesi aşağıda verilmektedir.
Her arabağdaşım başına (I);
HELLO zamanlayıcısı: HT(I)
Her komşu başına (N);
Komşu yaşam zamanlayıcısı: NLT(N,I)
Etkin her RP başına (RP);
(*,*,RP) Katılım sona ermesi zamanlayıcısı: ET(*,*,RP,I)
(*,*,RP) Budama bekliyor zamanlayıcısı: PPT(*,*,RP,I)
Her grup başına (G);
(*,G) Katılım sona ermesi zamanlayıcısı: ET(*,G,I)
(*,G) Budama bekliyor zamanlayıcısı: PPT(*,G,I)
(*,G) İddia zamanlayıcısı: AT(*,G,I)
Her kaynak başına (S);
(S,G) Katılım sona ermesi zamanlayıcısı: ET(S,G,I)
(S,G) Budama bekliyor zamanlayıcısı: PPT(S,G,I)
(S,G) iddia zamanlayıcısı: AT(S,G,I)
(S,G,rpt) budama sona ermesi zamanlayıcısı: ET(S,G,rpt,I)
(S,G,rpt) budama bekliyor zamanlayıcısı: PPT(S,G,rpt,I)
Etkin her RP için (RP);
(*,*,RP) yukarıakım katılım zamanlayıcısı: JT(*,*,RP)
Her grup için (G);
69
(*,G) yukarıakım katılım zamanlayıcısı: JT(*,G)
Her kaynak için (S);
(S,G) yukarıakım katılım zamanlayıcısı: JT(S,G;)
(S,G) bağlantıyı canlı tutma zamanlayıcısı: KAT(S,G)
(S,G,rpt) yukarıakım geçersiz kılma zamanlayıcısı: OT(S,G,rpt)
Sadece DR’larda ve iddia kazananlarda;
Her kaynak grup çifti için (S,G);
Kaydolma durdurma zamanlayıcısı: RST(S,G)
70
4. ÇOK HEDEFLĠ ĠLETĠM D SINIFI ADRES YÖNETĠMĠ
4.1. IETF Çok Hedefli Ġletim Adres Tahsis Mimarisi
Çok hedefli iletimde kullanılan D sınıfı IP adreslerinin dağıtımı ve yönetimi çok
hedefli iletim için büyük önem taşımaktadır. Çok hedefli iletim adresleri, tek hedefli
iletim adreslerine kıyasla çok daha sınırlı sayıdadır. Bu sebeple dinamik olarak
dağıtılmaları gerekmektedir. Adres yönetimi ve dağıtımı sorununun çözülebilmesi
için IETF bünyesinde MALLOC adında bir çalışma grubu oluşturulmuştur. Grubun
yöneticiliğini S. Hanna ve D. Thaler üstlenmiştir. Bu çalışma grubu, D sınıfı adres
yönetimi için bir dağıtım ve yönetim çatısı oluşturulması amacıyla çalışmalar
yapmıştır. Yapılan çalışmalar 2000 senesinde son halini alarak 2908 numaralı RFC
[36] olarak yayımlanmıştır.
Tek hedefli iletimde kullanılmakta olan adreslerde olduğu gibi, çok hedefli iletimde
kullanılmakta olan adreslerin de iki temel özelliği bulunmaktadır [36]. Bunlardan
ilki, adresin sadece o zaman dilimi içerisinde geçerli olması, bir başka deyişle yaşam
süresinin belirli olmasıdır. İkincisi ise, o adresin şebekenin hangi bölümünde geçerli
olacağını belirleyen kapsamıdır. Örneğin bir adres, bütün şebeke üzerinde geçerli
iken başka bir adres sadece belirli bir bölümünde geçerli olabilmektedir. Adres çatısı
oluşturulurken dikkat edilmesi gereken hususlar aşağıda sıralanmaktadır.
1. Sağlamlık ve hazır bulunma: Adres edinmek isteyen uygulamanın adres
tahsis isteğinin her zaman karşılanabilmesi olarak tanımlanmaktadır. Adres
talebinde bulunan her uygulamanın uygun bir adres alması sağlanmalıdır.
2. Kısa zamanda işlem (Timeliness): Adres bilgilerinin, alınan talepten hemen
sonra talep edene bildirilmesi anlamına gelmektedir. Uygulamanın işleyişini
değiştirmediği sürece ufak gecikmeler göz ardı edilmektedir.
71
3. Düşük adres çakışması olasılığı: Dağıtılan adreslerin kontrollü olarak
dağıtılması ve kullanımda olan adreslerle çakışma olasılığının çok düşük
olması anlamına gelmektediri
4. Adres uzayının bölümlere ayrılması: D sınıfı adreslerin kısıtlı sayıda olması
sebebiyle adres uzayının bölümlere ayrılması gerekmektedir. Bu işlemin
diğer bir adı da paketlemedir. Paketleme sayesinde dağıtım kolaylaşmakta;
ancak, bölümleme sonucunda ortaya çıkan alt kümelerin boyutu adres
çakışma olasılığını etkilemektedir. Alt kümelerin boyutu büyük seçildiği
zaman, adres çakışması olasılığı azalmakta; buna bağlı olarak sağlamlık ve
hazır bulunma oranı da aynı oranda azalmaktadır. Boyut küçük seçildiği
zaman durum tam tersi olmaktadır. Bu bilgiler ışığında adres çakışması ve
adreslerin hazır bulunması arasında bir tercih yapılması gerektiği
anlaşılmaktadır.
Çok hedefli adreslerin tahsisinde üç farklı yol izlenmektedir. Bu yollar; statik ayrım,
kapsama bağlı olarak ayrım ve dinamik ayrımdır. Statik ayrım, IANA tarafından
belirlenmektedir [8]. IANA spesifikasyonları sayesinde pek çok protokol için çeşitli
çok hedefli iletim grup adresleri ayrılmıştır. Bu adresler, sadece bu işlere yönelik
olarak ayrılmakta ve iyi bilinen (well-known) adresler olarak isimlendirilmektedir.
İyi bilinen adreslere örnek vermek gerekirse, 224.0.1.1 zaman eşlemesi için
kullanılan NTP protokolü için ayrılmıştır. Statik olarak ayrılan adreslerin yaşam
süreleri genel olarak sınırsızdır ve kapsamları adresten adrese farklılık
göstermektedir. Kapsama bağlı olarak ayrılan adresler 2365 numaralı RFC’de [37]
tanımlanmaktadır. Yönlendiriciler üzerindeki arabağdaşımların kapsam değerleri,
sistem yöneticileri tarafından ayarlanarak çeşitli bölgeler oluşturulmakta ve paket
adımdan adıma, arabağdaşım üzerindeki çok hedefli iletim kapsam yapılandırması
gözetilerek iletilmektedir. Kapsamların ayarlanabilmesi ve otomatik olarak
öğrenilebilmesi için çeşitli protokoller geliştirilmiştir [38,39]. Çok hedefli iletimin
doğası gereği adreslerin dinamik olarak ayrılması en iyi çözümdür. Dinamik ayrım
sayesinde, adresler istek üzerine (on-demand) ayrılmakta ve yaşam süreleri
belirlenebilmektedir. Adres tahsisinin sağlıklı yapılabilmesi için, çok hedefli iletim
uygulamalarının adres taleplerini sadece gerektiği zaman yapması ve adresleri
gerektiği kadar kullanması istenmektedir. Uygulamalar, kullandıkları adreslerin
yaşam sürelerini uzatmak için uzatma istekleri gönderebilmektedir. Bu tür istekler
72
mümkün olduğu kadar karşılanmakta, karşılanamadığı durumlarda ise yeni adreslerin
tahsis yoluna gidilmektedir. Dinamik adres ayrımı için katmanlı bir mimarı
geliştirilmiştir [36]. Katmanlar sayesinde yalıtım sağlanmakta ve farklı yönetimsel
organizasyonların birbirini etkilemeden mimari içerisinde yer alması olanaklı hale
gelmektedir. Adres tahsis mimarisi şekil 4.1’de gösterilmektedir.
Adres Önek
Koordinatörü
Adres Önek
Koordinatörü
MAAS MAAS MAAS
İstemci İstemci İstemci
Adres Önek
Koordinatörü
İstemci
İkinci katman
Birinci katman
Üçüncü katman
Şekil 4.1 – Çok hedefli iletim adres yönetim ve tahsis mimarisi
Şekilde tek bir yönetimsel organizasyon içerisindeki varlıklar gösterilmektedir. bu
varlıklar adres önek koordinatörü, çok hedefli iletim adres ayrım sunucusu (Multicast
Address Allocation Server, MAAS) [36] ve adresleri talep eden istemcilerdir.
Mimaride toplam üç farklı katman bulunmaktadır. Bu katmanlar; istemcilerle MAAS
varlıkları arasında olan ilk katman, MAAS varlıkları ve adres önek (prefix)
koordinatörleri arasında olan ikinci katman ve farklı yönetimsel organizasyonlar
arasındaki adres önek koordinatörleri arasında olan üçüncü katmandır.
İlk katman, çok hedefli iletim adres istemcileriyle bu adresleri sağlamakla yükümlü
olan sunucular arasındaki protokol ve mekanizmaları içermektedir. Sunucu, tahsis
ettiği adreslerin yaşam süresi içerisinde aynı kapsam dahilinde kullanılmayacağını
garanti etmelidir. Bu katman içerisindeki protokollere örnek olarak MADCAP [4]
mekanizmalara örnek olarak, adreslerin listelendiği bir WEB sunucusuna HTTP
erişimi gösterilebilir. Buna ek olarak, IANA tarafından belirlenen statik adres
yapılandırması da kullanılmaktadır. Bu katman için soyut bir uygulama programlama
arayüzü (API) yazılmıştır [40]. MAAS varlıkları arasındaki koordinasyonun
73
sağlanması için oluşturulmuş protokoller ve mekanizmalar, ikinci katman içerisinde
bulunmaktadır. Bu protokoller, sadece etki alanı içerisinde kullanılmaktadır. Ayrıca
bu katman içerisinde MAAS varlıklarının adres önek koordinatörleri ile iletişimde
bulunarak, hangi adres bölümlerini dağıtması gerektiği bilgilerini almasına ilişkin
mekanizmalar da bulunmaktadır. İkinci katman içerisindeki protokollere örnek
olarak Adres Ayrım Protokolü (Address Allocation Protocol, AAP) [41] verilebilir.
MAAS varlıklarının elle yapılandırılması da ayrı bir seçenektir. Değişik etki alanları
içerisindeki adres önek koordinatörleri arasındaki haberleşme üçüncü katmanda
belirlenmektedir. Bu katmanda adres bölümleri, önek koordinatörlerine
dağıtılmaktadır. Bu katman içerisinde kullanılan protokollere örnek olarak MASC
(Multicast Address-Set Claim Protokol) [42] verilebilir. Bir başka seçenek ise
ayrımın otonom sistem numarasına göre statik olarak yapılmasıdır [43].
Kapsamların yönetimsel olarak belirlendiği [37] durumlarda, MAAS varlıklarının
hangi kapsamların kullanılmakta olduğunu, kapsamların isimlerini ve adres
menzillerini öğrenmesi gerekmektedir. Kapsamların öğrenilmesi statik yapılandırma
ile veya MZAP [39] mesajlarının pasif olarak dinlenmesiyle gerçekleştirilmektedir.
Adres tahsisinin dinamik olarak yapıldığı durumlarda, MAAS varlıklarının hangi
adresleri dağıtacağı iki farklı yolla belirlenmektedir. Bu yollar kapsamların türüne
göre değişmektedir. Yönetimsel olarak belirlenmiş kapsamın ayrım alanına dahil
olan bütün topolojiyi kapsadığı durumlarda, kapsam içerisinde belirtilen adres aralığı
bütün MAAS varlıkları tarafından kullanılmaktadır. Adres çakışmalarının önlenmesi
ve dağıtımın koordinasyonu, ikinci katman protokolleri ve mekanizmaları tarafından
yürütülmektedir. Bu tür kapsamlara küçük kapsamlar denmektedir [16]. Bu
kapsamlar içerisinde belirtilen adres aralıkları bölünemez türdendir. Kapsam
içerisinde tanımlanan alanın ikinci katman protokolleri kullanılarak
yönetilemeyeceği durumlarda (Ki bu durumlar, alanın birden çok otonom sistem
içerdiği durumlardır.) üçüncü katman protokollerine ihtiyaç duyulmaktadır. Bu tür
kapsamlar büyük kapsamlar olarak isimlendirilmekte ve tanımladıkları adres
aralıkları küçük parçalara bölünebilmektedir. MAAS varlıkları, kapsam bilgilerini
MZAP mesajlarını pasif olarak dinleyerek elde etmektedir. Buna ek olarak adres
aralığının nasıl bölümleneceği ve hangi bölümün hangi otonom sistem içerisinde
kullanılacağı adres önek koordinatörleri tarafından belirlenmektedir. Dolayısıyla
74
MAAS varlıkları, hangi adres aralığının dağıtılması gerektiğini adres önek
koordinatörleri ile haberleşerek öğrenmektedir.
İkinci katmanda bulunan protokol ve mekanizmalar tarafından kullanılması için
farklı bir kapsam tanımlanmış ve ayrım kapsamı olarak isimlendirilmiştir. Bu
kapsam büyük ve bölünebilir kapsamlar için adres ayrım operasyonlarında
kullanılmaktadır. Genel olarak ayrım kapsamı sınırları, otonom sistem sınırlarıyla
örtüşmektedir. Bu genellemeye uymayan iki durum söz konusudur. İlk durum, birden
fazla çok hedefli iletim yönlendirme protokolünün kullanıldığı ve yönetimsel olarak
bölgelere ayrılmış büyük otonom sistemlerdir. Bu tür sistemlerde ayrım kapsamı,
otonom sistemlerin içerisindeki alanların sınırlarıyla aynı olmaktadır. İkinci durum
ise, otonom sistemin kendisinden daha büyük otonom sistemleri de kapsayan bir
ayrım alanı içerisinde bulunduğu durumlardır. Bu tür durumlarda otonom sistem
adres yönetimi için hizmet sağlayıcısına (hizmeti aldığı ve aynı ayrım alanı içerisinde
bulunan otonom sistem) başvurmakta ve kendi MAAS varlığını hizmet aldığı
otonom sistemin adres yönetim ve tahsis mimarisi içerisine dahil etmektedir. IANA
tarafından tanımlanan ayrım kapsamı adres uzayı, 239.251.0.0/16 şebekesinden
oluşmaktadır. Bu şebekenin dolması tehlikesine karşı 239.248.0.0/16, 239.249.0.0/16
ve 239.250.0.0/16 şebekeleri de bu iş için ayrılmış fakat asıl şebeke dolmadan
kullanılmamasına karar verilmiştir [36].
Adres tahsisi için kullanılan prosedürde ilk olarak büyük ve bölünebilen kapsamlar
için üçüncü seviye paylaşım yapılmaktadır. Her bir önek koordinatörü bir ya da
birkaç adres menzili tedarik etmektedir. Daha sonra menziller ikinci katman
protokolleri kullanılarak etki alanı içerisindeki MAAS varlıklarına aktarılmaktadır.
MAAS varlıkları, menzilleri almakta ve buna ek olarak küçük kapsamları (örneğin
MZAP protokolü sayesinde) öğrenmektedir. Adreslerin MAAS varlıkları arasındaki
koordinasyon, yine ikinci katman protokolleri ile sağlanmaktadır ve böylece bir
adresin sadece tek bir MAAS tarafından dağıtılması garanti edilmektedir. Kapsamın
belirlenmesi iki farklı şekilde yapılmaktadır. İlk yol, iyi bilinen (well-known) bir
kapsam kullanmaktır. Evrensel kapsam buna bir örnek olarak verilebilir. Diğer yol
ise kullanımda olan kapsamların öğrenilmesi ve istemcilerin seçimine bırakılmasıdır.
Öğrenme işlemi MADCAP sorguları gönderilmesi veya MZAP mesajlarının
dinlenmesi sayesinde yapılmaktadır.
75
İstemcilerin, doğru MAAS varlığı ile temasa geçmesi gerekmektedir. Uygun MAAS
varlığının seçimi, elle yapılandırma veya bir hizmet konumlandırma protokolü
kullanımı sayesinde gerçekleştirilmektedir. Hizmet konumlandırma protokollerine
örnek olarak SLP [44] verilebilir. MAAS varlıklarının belirlenmesi, buna ek olarak
birinci katman protokolleri içerisinde bulunan mekanizmalar sayesinde de
yapılabilmektedir.
İstemciler, kullanımda olan kapsam ve ilgili MAAS varlığını bulduktan sonra
kendilerine uygun bir yaşam süresi belirleyerek adres tahsis isteğinde bulunmaktadır.
Bu işlem, birinci katman protokolleri sayesinde gerçekleştirilmektedir. MAAS
varlıkları isteği aldıklarında, kullanımda olmayan bir adres seçmekte ve talep edilen
yaşam süresi ile geçerli yaşam süresini karşılaştırmaktadır. Yaşam süresinin iki
tarafın isteklerini de karşılaması gerekmektedir. Daha sonra MAAS varlıkları, tahsis
isteği için ayrılan adresin diğer MAAS varlıkları tarafından kullanılıp
kullanılmadığını öğrenmek için ikinci seviye protokolleri kullanmaktadır. Herhangi
bir çakışma tespit edildiğinde başka bir adres seçilmekte ve işlemler
tekrarlanmaktadır. Çakışma olmadığı durumda adres, uygun yaşam süresiyle birlikte
istemciye tahsis edilmektedir. Etki alanı içerisinde kullanımda olan çok hedefli iletim
adreslerinin yetmediği anlaşıldığında, önek koordinatör varlıkları üçüncü seviye
protokolleri kullanarak gerekli kapasite artırımını sağlamaktadır.
4.2. Yönetimsel Olarak BelirlenmiĢ Kapsamların Kullanımı
Yönetimsel olarak belirlenmiş kapsamlar için IANA tarafından 239.0.0.0/24 şebekesi
ayrılmıştır [8]. Kapsamların yönetimsel olarak belirlenmesi fikri ilk olarak, 1994
yılında 30. IETF konferansında [45] S. Deering ve V. Jacobson tarafından ortaya
atılmıştır. Pek çok uygulama, kapsamların belirlenebilmesi için IP TTL değerini
kullanmaktadır. Arabağdaşıma atanan TTL değerinin, iletilmek istenen paketin TTL
değerinden büyük olduğu durumlarda paket atılmaktadır. IP TTL değerinin asıl
görevi veri bloklarının şebekeler üzerindeki yaşam süresinin kısıtlanmasıdır. Bu iki
görevin IP TTL mekanizmasına yüklenmesi, kimi zaman sorunlar yaratmakta ve
yapılandırma problemlerini de beraberinde getirmektedir. Başka bir problem ise
kapsamın TTL değerine göre belirlenmesi sayesinde, “yayın ve budama” mantığına
76
göre çalışan çok hedefli iletim yönlendirme protokollerinin (örneğin DVMRP [35])
işleyişinin bozulmasıdır. Böyle bir yapıda, budama işlemi sağlıklı yapılamamaktadır.
Yönetimsel olarak belirlenmiş kapsamların iki temel özelliği bulunmaktadır. İlk
özellik, belirlenmiş kapsam içerisinde bulunan adreslere iletilen paketlerin kapsam
sınırlarını geçmemesidir. İkinci özellik ise, kapsam içerisinde kullanılan adreslerin
yerel olarak atanması ve etki alanı genelinde veya etki alanları arasında herhangi bir
koordinasyon gerektirmemesidir. Çok hedefli iletimin yönetimsel olarak belirlenmiş
kapsamlar çerçevesinde yapılabilmesi için, çok hedefli yönlendiricilerin
arabağdaşımlarında ilgili kapsamın belirlenmiş olması gerekmektedir. Bu tür
yönlendiricilere sınır yönlendiricisi denmektedir. Sınır yönlendiricileri,
arabağdaşımlarında bulunan tanımlarla eşleşen paketleri o arabağdaşımlarından
göndermemektedir. Kontrol iki yönlü yapılmaktadır. Böylece, sınır yönlendiricileri
kullanılarak kapsamın sınırları belirlenmektedir. Buna ek olarak, PIM-DM gibi
yoğun mod çok hedefli iletim yönlendirme protokolleri ile ilgili trafik, o arabağdaşım
için her zaman budanmakta ve PIM-SM gibi seyrek mod yönlendirme protokolleri
için o kapsamın yapılandırıldığı arabadaşımdan PIM katılım mesajları kabul
edilmemektedir.
[37] dökümanında iki farklı yönetimsel kapsam tanımlanmıştır. İlk kapsam IPv4
yerel kapsamı, ikincisi ise IPv4 organizasyonel yerel kapsamıdır. Yerel kapsamda
239.255.0.0/16 şebekesi kullanılmaktadır. Bu kapsam tanımlanmış en küçük
kapsamdır ve parçalara ayrılması söz konusu değildir. Yerel kapsam en küçük
kapsam olduğu için, diğer bir kapsamı kapsamamasına izin verilmemektedir. Yerel
kapsam için tahsis edilmiş adres menzili dolduğunda 239.254.0.0/16 ve
239.253.0.0/16 şebekelerinin kullanılmasına karar verilmiştir. Organizasyonel yerel
kapsam için 239.192.0.0/14 şebekesi kullanılmaktadır. Organizasyon içerisinde daha
küçük kapsamların oluşturulabilmesi için bu kapsam kullanılmakta ve
239.192.0.0/14 şebekesi parçalanmaktadır. Bu adres menzilinin bitmesi durumunda,
239.0.0.0/10, 239.64.0.0./10 ve 239.128.0.0/10 şebekelerinin kullanılmasına karar
verilmiştir. Bu iki kapsama ek olarak iki ek kapsam daha operasyonel durumdadır.
Bunlardan ilki, yerel bağlantı kapsamıdır ve 224.0.0.0/24 şebekesini içermektedir.
Bu kapsam sadece bağlantı bazında kullanılmaktadır. İkinci kapsam ise küresel
kapsamdır ve adres dağılımı pek çok alt bölümden oluşmaktadır. Bu kapsama dahil
77
olan adresler IANA tarafından belirlenmektedir [8]. Örnek olarak 224.2.0.0 -
224.2.127.253 menzili, çoklu ortam konferans aramaları için kullanılmaktadır.
4.3. GLOP Adresleme Altyapısı
GLOP adresleme altyapısı çok hedefli iletim adres yönetim sorunlarının belirli bir alt
kümesinin çözülmesi amacıyla oluşturulmuştur. IETF bünyesinde MALLOC çalışma
grubu tarafından 3180 numaralı RFC [46] olarak yayımlanan GLOP adresleme
altyapısı kaynağa özgü çok hedefli iletim haricindeki çok hedefli iletim çeşitleri için
kullanılabilmektedir. Bu altyapı için 233.0.0.0/8 şebekesi tahsis edilmektedir [8].
GLOP adresleme felsefesi, otonom sistemlerin numaralarının çok hedefli iletim
adresleri içerisine gömülmesi ve her bir otonom sistem için belirli bir çok hedefli
iletim grup adres şebekesi oluşturulmasına dayanmaktadır. IPv4 çok hedefli iletim
adreslerindeki ilk sekizli 233 olarak belirlenmiştir. İkinci sekizlide organizasyonun
otonom sistem numarası bulunmaktadır. Son sekizli ise otonom sistem içerisinde
kullanılmak üzere ayrılmıştır. GLOP adreslerinin yapısı şekil 4.2’de verilmektedir.
0 1 2 3 4 5 6 7 8 0 29 1 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Otonom Sistem Numarası233
0 1 2 3
Yerel Bitler
Şekil 4.2 – GLOP adres yapısı
GLOP adresleme yapısına örnek vermek gerekirse, otonom sistem numarası 5662
olan bir organizasyon için sistem numarası ikilik sayı sistemine çevrilmekte ve sol
taraftan 16 bite tamamlanmaktadır. Daha sonra oluşan ikili dizi 0001011000011110,
çok hedefli iletim grup adres şebekesinin ikinci ve üçüncü sekizlileri için
kullanılmakta ve ortaya 233.22.30.0/24 şebekesi çıkmaktadır. Böylece otonom
sistem numarası 5662 olan bir organizasyon için 233.22.30.0/24 şebekesi tahsis
edilmiş olmaktadır.
Internet üzerinde özel otonom sistem numaraları (64512 ila 65535 arasında olanlar)
kullanılmamaktadır. Bu numaralar Internet’e bağlı olan organizasyonlara
atanmamakta ve Internet üzerinde bir otonom sistem olarak ifade edilmemektedir. Bu
sebeple, bu menzil içerisinde düşen GLOP çok hedefli iletim adresleri Internet
78
üzerinde kullanılamamaktadır. Bu engelin kullanımı etkilememesi için bu menzil
içerisindeki adresler özel muamele görmektedir. Bu menzil içerisine düşen adres
bloğuna (233.252.0.0 - 233.255.255.255) EGLOP adresleri denmektedir [47]. Bu
adreslerin tahsisi Yerel Internet Kayıt Otoritelerine (Regional Internet Registry)
bırakılmıştır. İstemcilerden, EGLOP adreslerinden faydalanabilmeleri için öncelikle
isteklerinin; yönetimsel olarak belirlenmiş kapsamlar, GLOP adresleme veya
kaynağa özgü çok hedefli iletim [48] kullanılarak yerine getirilemeyeceğini
kanıtlaması istenmektedir. Bu karar IANA tarafından verilmiştir ve politikanın tam
olarak belirlenmesi “Yerel Internet Kayıt Otoriteleri”’ne bırakılmıştır.
GLOP adresleme altyapısının en önemli dezavantajı sadece iki sekizliden oluşan
otonom sistem numaralarıyla uyumlu olmasıdır. Otonom sistem numaralarının 4
bayta çıkarılması çalışmalarının [49] yapıldığı bir ortamda gelecekte GLOP
altyapısını kullanım dışı kalması sonucu ortaya çıkmaktadır. Her bir otonom sisteme
sadece 256 adet çok hedefli iletim grup adresinin tahsis edilmiş olması da diğer bir
dezavantajdır. Buna ek olarak tahsis edilen menzilin otonom sistem içerisinde nasıl
dağıtılacağı tanımsızdır. Fakat grup adreslerinin, hangi otonom sisteme ait olduğunun
bilinmesi, yönetimsel açıdan pek çok kolaylığı beraberinde getirmektedir.
4.4. Tek Hedefli Ġletim ġebekelerinin Önek Olarak Kullanılması
GLOP adresleme altyapısında kullanılan mantıkta, grup adresleri bir otonom sistem
ile eşlenmektedir. Bu mantık içerisinde, otonom sistemler yerine IPv4 şebekeleri
kullanılması durumunda 255.255.255.0 şebeke maskesi veya bu maskeden daha
küçük olan her bir IPv4 şebekesi için, en az bir çok hedefli iletim grup adresi
düşmektedir. Çok hedefli iletim adreslerinin bu şekilde dağıtılmasına tek hedefli
iletim şebekelerinin önek olarak kullanılması denmektedir [50].
Böyle bir yapıda grup adresinde bulunan ilk sekizlinin IANA tarafından atanması
beklenmektedir. Takip eden sekizlilere tek hedefli iletim şebeke numarası
oturtulmaktadır. Adresleme yapısı şekil 4.3’te verilmektedir. Şekil 4.3’teki adres
yapısında ilk sekizlide yer alan değer IANA tarafından henüz deklare edilmemiştir
(24.05.2005 tarihi itibari ile). İkinci alan tek hedefli adres şebeke numarası ile
79
doldurulmakta ve üçüncü alan ise (eğer mevcut ise) o şebeke için ayrılmış grup
kimlik numaraları ile doldurulmaktadır.
0 1 2 3 4 5 6 7
Tek Hedefli Adres ÖnekiIANA
0
Grup Kimliği
Tek Hedefli İletim Adresi Önek Uzunluğu 24 - THİ Adresi Önek Uzunluğu
Şekil 4.3 – Grup adreslerinde tek hedefli iletim adres öneki kullanımı
Böylece /24 şebeke maskesine sahip tek hedefli iletim şebekeleri için tek bir grup
adresi tahsis edilebilmektedir. Şebeke maskesi küçüldükçe, o şebeke için ayrılan
grup adresi sayısı artmaktadır. Maskenin /24’ten büyük olduğu durumlarda çok
hedefli iletim grup adresi tahsis edilememesi bir dezavantajdır.
Böyle bir yapıda, GLOP adresleme altyapısına nazaran, /16 maskesine sahip olan bir
şebekeye sahip olan otonom sistemler daha fazla grup adresi elde etmektedir. Bir
otonom sistem içerisinde, birden fazla şebeke olabileceği düşünüldüğünde tek hedefli
iletim şebekelerinin önek olarak kullanımı sayesinde bir otonom sistemin, GLOP
adresleme altyapısına nazaran çok daha fazla çok hedefli iletim adresi kazanacağı
anlaşılmaktadır. Buna ek olarak böyle bir adresleme yapısı kaynağa özgü çok hedefli
iletim [48] içerisinde de kullanılabilmektedir.
80
5. ÇOK HEDEFLĠ ĠLETĠMĠN INTERNET ÜZERĠNDE KULLANIMI
5.1 Çok Hedefli Ġletimin GeliĢimi ve Çok Hedefli Ġletim Omurgası (MBONE)
1988 yılında Steve Deering tarafından ortaya atılan çok hedefli iletim [3] gün
geçtikçe gelişmiş ve Internet üzerinde geniş bir kullanıcı kitlesine sahip olmuştur.
Deering’in doktora tezi sonrasında yapılan çalışmalar ilk olarak 1992 yılında
meyvelerini vermiş ve San Diego Amerika’da yapılan IETF konferansı konuşmaları
gerçek zamanlı ve çok hedefli olarak iletilmiştir. İlk WEB tarayıcısının 1990 yılında
yazıldığı ve 1993 yılında Internet üzerinde yaklaşık 100 sitenin olduğu
düşünüldüğünde, WEB ile çok hedefli iletimin neredeyse aynı yaşta olduğu
anlaşılmaktadır [51]. Fakat çok hedefli iletimin bir hizmet olarak verilebilmesi için
kat edilmesi gereken yol, WEB hizmeti için geçerli olmadığı için günümüzde WEB
hizmeti çok hedefli iletimi kat ve kat geride bırakmıştır. Çok hedefli iletim, gerek
şebeke omurgasındaki cihazlarda gerekse uçlardaki yönlendiricilerde pek çok durum
ve hafıza gerektirmektedir. Bu sebeple çok hedefli iletimin gelişimi, şebeke
cihazlarının yeteneklerinin gelişmesine bağlı kalmıştır. Çok hedefli iletimin ideal
şekilde yapılması, kısa vadeli gelecekte mümkün olmamış ancak ticari hizmetlerin
bir an önce verilebilmesi amacıyla kısa vadeli çözümlerin oluşturulması yoluna
gidilmiştir.
1992 ila 1997 yılları arasında yapılmış olan çok hedefli iletim deneyleri, düz bir
topoloji üzerinde yapılmıştır [52]. Internet içerisindeki hiyerarşik yönlendirme yapısı
gereği bu topoloji üzerinde ortaya çıkan bulgular Internet üzerinde kullanılamamıştır.
1997 yılından itibaren, hiyerarşik çok hedefli iletim altyapısı oluşturulması gereği
anlaşılmıştır. O döneme kadar tasarlanan çok hedefli iletim protokolleri etki alanı
içerisinde kullanım için sınıflandırılmış ve etki alanları arası protokollerin
tasarlanması süreci başlamıştır.
81
Çok hedefli iletim Internet omurgası, diğer bir adıyla “MBONE” ilk trafiğini 1992
yılında taşımıştır. Dünya genelinde 20 site, San Diego’daki IETF konferansını [53]
çok hedefli olarak dinlemiştir. Çok hedefli iletim altyapısı, var olan şebeke üzerinde
sanal bir çok hedefli iletim omurgası kurularak sağlanmıştır. Yönlendirme işlemleri,
sistemler üzerinde çalışan “mrouted” adındaki bir süreç ile gerçekleştirilmiştir [52].
Mrouted süreci, tek hedefli paketler içerisine zarflanmış çok hedefli iletim paketlerini
bir arabağdaşımından alarak gerekli arabağdaşımlara iletmektedir. Sistemler
arasındaki bağlantı sanal tünellerle sağlanmıştır. Her bir tünel, yol üzerinde pek çok
yönlendiriciden geçmiş fakat tünel içerisinde çok hedefli iletim trafiği tek hedefli
iletim paketleri içerisine zarflandığı için bu yönlendiricilerin çok hedefli iletim
yeteneklerinin olmaması sorun yaratmamıştır. Mrouted süreci koşan sistemler
arasında DVMRP [25] çok hedefli iletim yönlendirme protokolü kullanılmıştır.
MBONE altyapısının ilk dönemlerinde bütün tüneller sistemler üzerinde
sonlandırılmış ve fiziksel hatlar üzerinden kimi zaman birkaç tünel birden
geçirilmiştir. MBONE üzerindeki çok hedefli iletim yönlendirmesi ilk dönemlerinde
kontrollü bir yayını andırmaktadır. İlerleyen birkaç yıl içerisinde mrouted sürecine
budama işlevi de eklenmiş ve böylece gereksiz trafiğin aktarılmasına son verilmiştir.
Şekil 5.1 – 1994 yılındaki MBONE omurgası
MBONE altyapısı 1992 yılından beri gelişmesini sürdürmüştür. Şekil 5.1’de 1994
yılındaki MBONE yapısı gösterilmektedir. Şekilde gösterilmekte olan şebekede
toplam 20 ülke ve 901 yönlendirici bulunmaktadır. İlerleyen yıllarda MBONE,
Internet üzerinde sanal bir omurga olmaktan çıkıp yavaş yavaş kimi yerlerde Internet
82
içerisine giren bir omurga halini almıştır [52]. Zamanla, Internet üzerindeki
yönlendiriciler çok hedefli iletim yeteneği kazanmış ve böylece MBONE omurgası
daha geniş alanlara yayılmıştır. Çok hedefli iletim omurgasının genişlemesi 1994
yılında MOSPF [27] ve 1996 yılında PIM-DM [19] olarak isimlendirilen ve yoğun
modda çalışan iki yeni çok hedefli iletim yönlendirme protokolünün gelişmesine
sebep olmuştur. Yeni geliştirilen protokollerin MBONE üzerinde kullanımı
sayesinde yoğun mod yönlendirme protokollerinin dezavantajları görülmüş ve seyrek
mod protokoller üzerinde yoğunlaşılmıştır. Trafiğin yayınlanması ve daha sonra
istenmeyen dalların budanması yerine katılımcıların dağıtım ağacına dahil olabilmesi
için katılım mesajı göndermesi fikri ortaya atılmıştır. Bu çalışmaları, dağıtım
ağacının kökünün ortak bir randevu noktasında olması fikri takip etmiştir. Böylece
1997 yılında CBTv2 [20] ve 1998 yılında PIM-SM [31] olarak isimlendirilen iki
seyrek mod protokolü tasarlanmıştır.
Çok hedefli iletim yönlendirme protokollerindeki gelişmeler, kullanıcıların ilgisini
çok hedefli iletime çekmiş ve böylece yönlendirme dışındaki alanlarda da gelişmeler
sağlanmıştır. Örneğin gerçek zamanlı verinin çok hedefli iletim ile taşınması
gündeme gelmiştir. Taşıma katmanı protokolleri bu iş için geliştirilmiştir. Buna
örnek olarak Gerçek Zaman Protokolü (Real-Time Protocol, RTP) [54] verilebilir.
1990’lı yıllarda MBONE üzerindeki olayların (kullanıcı oturumlarının)
koordinasyonu küresel bir oturum aracı sayesinde yapılmıştır. Bu araç, ilk olarak
“sd” daha sonra “sdr” olarak isimlendirilmiştir. İlerleyen dönemlerde omurganın
genişlemesi ve kullanıcıların artması sonucu bu araç kullanımdan kaldırılmıştır [52].
5.2. Internet Üzerinde Kullanılan Kısa Vadeli Çözümler
Çok hedefli iletim omurgasının çok geniş bir alana yayılması, problemleri de
beraberinde getirmiştir. MBONE omurgasında düz bir topolojinin olması
ölçeklenebilirlik problemlerine sebep olmuştur. Herhangi bir merkezi yönetimin
olmaması koordinasyon eksikliği yaratmıştır. Sanal tünellerin yönetimi zorlaşmıştır.
Otonom sistemler içerisinde bulunan çok hedefli yönlendirme sistemlerinin (veya
yönlendiricilerinin) başkaları tarafından yönetilmesi, istenmeyen bir durum haline
gelmiştir. Bu sebeplerden ötürü, MBONE altyapısının tıpkı Internet altyapısı gibi
hiyerarşik bir düzende genişlemesine karar verilmiştir. Çok hedefli iletim
83
yönlendirme protokollerinin hiçbirinin etki alanları arası kullanıma elverişli
olmaması dolayısıyla etki alanları arasında kullanılmak üzere yeni yönlendirme
protokollerinin tasarlanmasına başlanmıştır. İlerleyen dönemlerde pek çok protokol
oluşturulmuş fakat hiçbiri uzun vadede kullanım için uygun bulunmamıştır. Çok
hedefli iletime duyulan ihtiyaç kısa vadeli çözümlerin bulunmasına sebep olmuştur.
Çok hedefli iletim rotalarının tek hedefli iletim için tasarlanan BGP yönlendirme
protokolü [28] ile taşınmasına karar verilmiştir. 1998 yılında BGP’ye yapılan
uzantılar [29] sayesinde çok hedefli iletim rotaları MBGP ile taşınır hale gelmiştir.
Böylece otonom sistemler arası iletişimde yönlendirme politikalarının kullanımı
olanaklı kılınmıştır. Buna ek olarak MBGP sayesinde çok hedefli ve tek hedefli
politikaların ayrı olarak tanımlanabilmesi sağlanmıştır [12].
Etki alanları arasında çok hedefli iletim rotalarının değiş tokuş edilmesinin yanı sıra,
aktif olan çok hedefli iletim kaynakları hakkındaki bilgilerin de değiş tokuş edilmesi
gerekmektedir. Zira rota değiş tokuşu sadece aktif kaynaklar için yapılmaktadır.
Kaynak bilgilerinin etki alanları arasında dağıtılması için 1998 yılında Çok Hedefli
İletim Kaynak Keşif Protokolü (Multicast Source Discovery Protocol, MSDP) [35]
oluşturulmuştur. Bu protokolün detaylı açıklaması 5.2.1. bölümde verilmektedir.
MSDP sayesinde bir grup için birden fazla RP olmasına olanak tanınmakla birlikte
etki alanları içerisinde grup başına sadece bir adet RP aktif olmaktadır. PIM-SM
protokolünün geniş kullanım alanı bulması sonrasında, kaynakların diğer etki
alanlarına bildirimi MSDP ile çözülmüş ve etki alanları arasındaki çok hedefli iletim
yönlendirmesi MBGP ile sağlanmıştır. Böylece kısa vadeli çözüm tamamlanmıştır.
Bu çözüme MBGP/PIM-SM/MSDP çözümü denmektedir. Kısa vadeli çözüm
sayesinde, kullanımda olan protokoller değiştirilmemiş ve genel bir çözüm üzerinde
anlaşılmıştır. Çözüm içerisinde kullanılan protokollerin zaten kullanılıyor olması,
çok hedefli iletimin bir hizmet olarak verilmesini hızlanmıştır.
Kısa vadeli çözüm, çok hedefli iletimle ilgili bütün problemleri ortadan
kaldırmamaktadır. Kaynakların çok hedefli iletim trafiğine başlamadan önce
yönlendirme ile ilgili pek çok işlem yapılması ve dağıtım ağacının kurulmuş olması
gerekmektedir. Yönlendirmenin etki alanları arasında yapılması söz konusu ise (ki bu
durum genel durumdur), kaynaklarla ilgili bilgilerin etki alanları arasında önceden
dağıtılmış olması gerekmektedir. Kaynak bilgilerinin dağıtımına ek olarak dağıtım
ağacının etki alanlarını kapsayacak şekilde genişletilmiş olması gerekmektedir.
84
Dolayısıyla, kaynakların gönderme isteğini bildirmesiyle gönderime başlaması
arasındaki zaman uzamaktadır. Grup dinamiğinin yüksek olduğu durumlarda kaynak
gecikme süresi grup için kabul edilemeyecek kadar yüksek olabilmektedir. Bir diğer
sorun, kaynakların trafik karakteristiğinin öbeklenmiş olduğu durumlarda ortaya
çıkmaktadır. Kaynaklardan gelen trafik öbeklenmeleri arasında birkaç dakikalık
aralıklar olduğu durumlarda kimi zaman yönlendirme durumları zaman aşımına
uğrayarak silinmektedir. Öbeklenmiş trafiğin gönderileceği an geldiğinde
yönlendirme durumları silinmiş olduğu için tekrar oluşturulması gerekmektedir.
Grubun etki alanlarını kapsadığı senaryolarda yönlendirme durumlarının eksik
olması öbeklenmiş trafiğin tamamının kaybolmasına sebep olabilmektedir. Kısa
vadeli çözümü yetersiz kılan bir diğer problem ise MSDP ölçeklenebilirliğidir.
Binlerce çok hedefli iletim kaynağının mevcut olduğu durumlarda, MSDP mesaj seli
çok yüksek boyutlarda olmaktadır. Bu tür durumlarda, MSDP’nin kullanımı,
yarardan çok zarar getirmektedir.
5.2.1. Çok Hedefli Ġletim Kaynak KeĢif Protokolü (MSDP)
Çok hedefli iletim kaynak keşif protokolü (Multicast Source Discovery Protocol,
MSDP) [35], ilk olarak Aralık 1998’de D. Meyer, B. Fenner ve A. Zinin tarafından
ortaya atılmış ve IETF içerisinde bir MSDP çalışma grubu oluşturulmuştur. 1998
yılında yapılan çalışmalar sonucu MDSP’nin taslak hali [55] kullanılmaya
başlanmıştır. Buna ek olarak Internet üzerindeki MSDP tecrübeleri ve tavsiyeleri
yazılı bir doküman haline getirilmiş ve Mart 2004’te IETF’ye bir ID [56] olarak
sunulmuştur. MSDP, temelde PIM-SM etki alanlarının birbirine bağlanması ve aktif
kaynaklara ilişkin bilgilerin etki alanları arasında dağıtımı için kullanılmaktadır.
MSDP sayesinde, etki alanları içerisinde sunulan çok hedefli iletim hizmetleri etki
alanları arasında da sunulabilmektedir. Böylece çok hedefli iletim kaynağı veya
kaynakları farklı bir etki alanı (veya alanları) içerisinde bulunsa dahi, çok hedefli
iletim trafiği alıcı sistemlere iletilebilmektedir. Protokol sayesinde, etki alanları
sadece kendi içerisinde bulunan RP varlıklarını kullanmakta ve diğer etki alanları
içerisindeki kaynaklardan haberdar olmaktadır. PIM-SM etki alanı içerisinde bulunan
ve MSDP konuşabilen yönlendiriciler, diğer etki alanları içerisinde bulunan MSDP
konuşmacılarıyla TCP bağlantısı kurmakta ve kaynak aktif (Source Aktive, SA)
mesajları değiş tokuş etmektedir. Böylece sanal bir MSDP topolojisi oluşturulmakta
85
ve her etki alanının bu topoloji içerisinde yer alması sağlanmaktadır. MSDP
konuşmacıları genellikle RP varlıkları olmaktadır. Böylece MSDP konuşmacıları
sorumlu oldukları gruplara ilişkin aktif kaynaklardan anında haberdar olmaktadır.
Daha sonra bu kaynaklarla ilgili bilgiler MSDP eşlerine dağıtılmaktadır. MSDP
eşleri ise, bu mesajları kendi eşlerine dağıtmakta ve böylece bütün etki alanları
kaynaklarla ilgili bilgileri almaktadır. Etki alanı dışında bulunan bir kaynaktan çok
hedefli iletim trafiği alınmak istendiğinde, PIM-SM protokolü işletilerek etki alanları
arası bir dağıtım ağacı oluşturulmaktadır.
SA mesajlarını değiş tokuş etmek isteyen bütün RP varlıklarının diğer RP
varlıklarıyla bir MSDP oturumu oluşturması zorunludur. Bu bağlantı doğrudan veya
ara bir MSDP eşi kullanılarak oluşturulabilmektedir. SA mesajının içerisinde çok
hedefli iletim trafiğinin kaynak adresi, yollandığı grubun adresi ve ilgili RP’nin
adresi bulunmaktadır. Ethernet gibi çoklu erişim şebekeleri söz konusu olduğunda o
şebekenin DR varlığı olmayan bir RP, doğrudan bağlı olan kaynaklara ilişkin SA
mesajları yollamamalıdır. RP, bu kaynaklara ilişkin SA mesajlarını, sadece DR
varlığından gelen bir kaydolma mesajı aldığı takdirde yollamalıdır. Aksi halde,
komşu otonom sistemlere yanlış bilgiler aktarılmış olur. Her MSDP eşi, SA
mesajlarını, mesajda bulunan RP adresinden uzağa doğru ve eş RPF seli prensibine
dayanarak almakta ve iletmektedir. Eş RPF selinin kullanılmasındaki amaç, SA
mesajlarının kısır döngüye girmemesi ve her MSDP eşine bir kere iletilmesidir. RPF
eşinin bulunması için, MRIB [21] içerisindeki bilgiler kullanılmaktadır. SA
mesajının, kaynak RP varlığının RFP eşinden gelmediği durumlarda mesaj
görmezden gelinmektedir. Mesajın RPF eşinden gelmesi durumunda, o eş
haricindeki bütün MSDP eşlerine iletilmektedir. Aynı zamanda RP olan bir MSDP
eşi, yeni bir SA mesajı aldığında, kendi etki alanı içerisinde herhangi bir alıcının SA
mesajında bulunan kaynaktan gelen çok hedefli iletim trafiğine ilgi duyup
duymadığını kontrol etmektedir. Bu kontrol (*,G) katılım durumu olan arabağdaşım
listesinin boş olup olmadığına bakılarak yapılmaktadır. Bu liste boş değilse, etki
alanı içerisinde o gruba gönderilen bütün trafiği almak isteyen en az bir alıcı mevcut
demektir. Bu durumda RP, SA mesajındaki kaynağa doğru bir PIM (S,G) katılım
mesajı göndermektedir. Böylece kaynak ağacı mesajın gittiği RP varlığına ve
dolayısıyla RP varlığının bulunduğu etki alanına doğru genişlemektedir. Kaynak
ağacı kurulduktan sonra kaynaktan gelen trafik, önce RP varlığına daha sonra da
86
paylaşımlı ağaç sayesinde bütün üyelere ulaştırılmaktadır. Çok hedefli iletimin daha
verimli yapılabilmesi için etki alanındaki yaprak yönlendiricilerinin RP ağacından
çıkarak kaynak ağacına geçmesine izin verilmektedir. Alınan SA mesajları, MSDP
yönlendiricilerinin önbelleğinde tutulmaktadır. Böylece yeni bir çok hedefli iletim
grubu (G) için PIM katılım mesajı alındığında, SA önbelleğinde tutulan ilgili aktif
kaynaklar (S) için PIM (S,G) katılım mesajları yollanmaktadır. SA mesajlarının
önbelleklenmesi sayesinde yeni alıcılar için katılım gecikmesi düşürülmektedir. Buna
ek olarak MSDP mesajlarının hız denetimi yapılabilmekte ve oluşan sorunların
nedenlerinin bulunması daha kolay hale gelmektedir [35]. Gönderilen ve alınan
bütün SA mesajlarının önbellekte tutulması ve iletim için zamanlayıcıların
kullanılması, mesaj patlamasını önlemektedir. MSDP spesifikasyonunda tanımlanan
zamanlayıcılar SA anons, SA önbellek durumu, eş tutma, bağlantıyı canlı tutma ve
bağlantıyı tekrar deneme zamanlayıcılarıdır. RP varlıkları, kendilerine trafik yollayan
kaynaklar aktif olduğu sürece, periyodik olarak SA mesajı üretmektedir. RP
varlığının anons etmekte olduğu bütün kaynaklar için tek bir zamanlayıcı mevcuttur.
Bu zamanlayıcıya SA anons zamanlayıcısı denmektedir ve varsayılan değeri 60
saniyedir. Bu süre içerisinde ilgili (S,G) çifti sadece bir kere anons edilmektedir. Bu
mesajların periyodik olmasındaki amaç, MSDP yönlendiricilerindeki önbelleğin
güncel tutulmasıdır. Yeni bir kaynaktan trafik alınmaya başlandığı anda, RP o
kaynağa ilişkin SA mesajını ivedi şekilde yollamakta ve bir sonraki mesaj için 60
saniye beklemektedir. SA anonsları, SA anons periyodu içerisine yayılarak mesaj
öbeklenmesi engellenmektedir. Yönlendirici içerisindeki MSDP sürecinin
başlatılmasıyla birlikte SA anons zamanlayıcısı da başlatılmaktadır. Zamanlayıcı
dolduktan sonra tekrar başlatılmakta ve aktif olan kaynaklara ilişkin SA anonsları
MSDP mesajının maksimum uzunluğu aşılmayacak şekilde birleştirilerek
yollanmaktadır. Bu işlem, zamanlayıcının dolmasıyla birlikte tekrarlanmaktadır.
MSDP’nin periyodik bir protokol olmasından dolayı MSDP eşleri arasındaki bağlantı
oluşturulduğunda ilk olarak önbellekteki bütün bilgiler değiş tokuş edilmektedir.
Önbellek içerisinde bulunan bütün kayıtlar için, ayrıca bir SA önbellek durumu
zamanlayıcısı tutulmaktadır. Bu zamanlayıcı, (S,G) kaydı oluşturulduğunda
başlatılmakta ve (S,G) için bir güncelleme geldiği zaman tekrar başlatılmaktadır. Bu
zamanlayıcının kullanım amacı, güncel olmayan bilgilerin önbellekten silinmesidir.
SA önbellek durum zamanlayıcısının varsayılan değeri SA anons ve eş tutma
zamanlayıcılarının toplamından az olmamalıdır. İki eş arasındaki bağlantı kurulduğu
87
anda, eş tutma zamanlayıcısı başlatılmakta ve MSDP mesajı alındığı zaman tekrar
başlatılmaktadır. Eş tutma zamanlayıcısının varsayılan değeri 75 saniyedir.
Bağlantıyı canlı tutma zamanlayıcısı MSDP eşleri arasındaki bağlantı kurulu olduğu
sürece işlemekte ve dolduğu zaman tekrar başlatılarak karşı taraftaki sisteme
bağlantıyı canlı tutma mesajı gönderilmektedir. Zamanlayıcının varsayılan değeri 60
saniyedir. Bağlantıyı tekrar deneme zamanlayıcısı düşük IP adresine haiz olan MSDP
eşinin “aktif değil” durumundan “bağlanıyor” durumuna geçmesi sırasında
kullanılmaktadır ve varsayılan değeri 30 saniyedir. Bağlantı, bu süre içerisinde
kurulamadığı takdirde tekrar denenmektedir.
Genel olarak RP varlıkları, sadece kendilerine kaydolan kaynakları anons etmektedir.
RP olmayan yönlendiricilerin veya sistemlerin MSDP koşmasına izin verilmektedir.
Burada amaç, anonsların ara bölgelerden geçerek diğer RP varlıklarına ulaşmasının
sağlanmasıdır. Ara noktalarda bulunan MSDP eşlerinin, aldıkları SA mesajlarını
hiçbir değişikliğe uğratmadan veya filtrelemeden iletmesi beklenmektedir. Burada
amaç, kaynak bilgilerinin bütün Internet üzerine eksiksiz yayılmasıdır. Kısa vadeli
çözümde anonslar için filtreleme ve politikanın, MBGP [29] kullanılarak
yapılmasına karar verilmiştir.
MSDP eş RPF iletim mekanizmasında, normal RPF mekanizmasında yapılan kaynak
kontrolü RP varlıkları için yapılmaktadır. Bu kontrolde RP adresine bakılarak
mesajın doğru MSDP eşlerinden alınıp alınmadığı incelenmektedir. Bu karşılaştırma
için MRIB içerisindeki bilgilerden yararlanılmaktadır. Şekil 5.2’de R yönlendiricisi
tarafından gönderilmiş K yönlendiricisinin N eşi üzerinden aldığı bir SA mesajı
gösterilmektedir.
MPP(R,N)R KN
SA(S,G,R) SA(S,G,R)
MP(R,K). . . . . . . . . .
Şekil 5.2 – SA mesajının izlediği yol
Şekilde gösterilmekte olan MP(N,K), N ile K arasındaki MSDP oturumunu
göstermektedir. MPP(R,N) ise bir veya birden fazla MSDP bağlantısının oluşturduğu
MSDP yolunu göstermekte ve MP(R,A), MP(A,B), … , MP(B,N) olarak
tanımlanmaktadır. SA(S,G,R) ise (S,G) çifti için R randevu noktası yönlendiricisi
tarafından oluşturulmuş SA mesajını ifade etmektedir. Aşağıdaki kurallar sırasıyla
kontrol edilmekte ve herhangi biri doğru sonuç verdiği zaman N, R’ye göre K’nın
88
RPF komşusu denmektedir. Buna ek olarak, birbiri arasında MSDP oturumu
olmayan MSDP konuşmacıları arasında eş RPF kontrolü yapılmamaktadır.
1. N, R ise. Bir başka deyişle K’nın R ile bir MSDP oturumu mevcut ise,
2. N, R için eş RPF rotasının harici BGP bir sonraki adım adresi ise,
3. R için kullanılan rota N tarafından anons edilmiş ise,
4. N, R’ye doğru olan en iyi rotayı anons eden en yakın AS içerisinde ise,
5. N, R’nin statik RPF eşi olarak yapılandırıldıysa.
SA selinin minimumda tutulması için etki alanları içerisinde MSDP göz (mesh)
topolojisi oluşturulmaktadır. Bu topoloji içerisinde yer alan MSDP yönlendiricilerine
göz grupları denmektedir. Göz grupları içerisinde bulunan MSDP yönlendiricileri SA
mesajlarını diğer üyelere iletmemektedir. Bunun nedeni mesajı oluşturan
yönlendiricinin, göz grubunda bulunan bütün yönlendiricilere iletimi
gerçekleştirecek olmasıdır. Göz gruplarının gerektiği şekilde işleyebilmesi için iki
kural tanımlanmıştır. İlk kural, göz grubuna üye olan bir yönlendiricinin üye olan
başka bir yönlendiriciden mesaj alması durumunda mesajı göz grubuna üye olmayan
bütün MSDP eşlerine iletmesidir. Göz grubunda bulunan diğer üyelere iletim, mesajı
ileten yönlendirici tarafından gerçekleştirilmektedir. İkinci kural ise, göz grubuna
üye olan bir yönlendiricinin üye olmayan bir yönlendiriciden mesaj alınması
durumunda, mesajın bütün göz üyelerine iletilmesinden sorumlu olmasıdır. Göz
topolojileri sayesinde SA mesaj selleri mümkün olan en alt düzeye indirilmektedir.
MSDP, iletim protokolü olarak TCP’yi kullanmaktadır. Eş ilişkisinde bir MSDP eşi,
639 numaralı TCP kapısından bağlantıları dinlemekte, diğer MSDP eşleri ise bu
kapıya bağlantıyı gerçekleştirmektedir. Yüksek IP adresine sahip olan eş dinleyici
olmaktadır. Bu şekilde, çağrı çarpışması engellenmekte fakat bağlantının kurulması
sadece aktif tarafa bırakıldığı için bağlantı kurulma süresi artmaktadır. Bağlantı
durumu makinasında, geçersiz, aktif değil, dinleme, bağlanıyor ve bağlantı kuruldu
olmak üzere toplam beş farklı durum mevcuttur. Durum makinası şekil 5.3’de
verilmektedir. Şekilde O ile gösterilmekte olan olaylar ve E ile gösterilmekte olan
eylemler aşağıda sıralanmaktadır.
89
Geçersiz
O1
[E1]
Aktif
Değil
Bağlanıyor
Bağlantı
Kuruldu
Dinleme
O2
[E2]
O3
[E3]
O6
O4
[E4]
O10
[E9]
O7
O8
O9
[E8]
O7
[E6]
O5
[E5]
O7
[E7]
Şekil 5.3 - MSDP durum makinası diyagramı
1. O1: P ile MSDP oturumunun yapılması.
2. O2: Yönlendiricinin IP adresinin P’nin IP adresinden küçük olması.
3. O3: Yönlendiricinin IP adresinin P’nin IP adresinden büyük olması.
4. O4: TCP bağlantısı aktif tarafta kurulması.
5. O5: TCP bağlantısı pasif tarafta kurulması.
6. O6: Tekrar bağlanma zamanlayıcısı dolması.
7. O7: P ile olan MSDP eş bağlantısının kapatılması.
8. O8: Tutma zamanlayıcısı dolması.
9. O9: MSDP TLV [13] biçim hatası bulunması.
10. O10: Yukarıda sıralanan herhangi bir hatanın dışında bir hata bulunması.
11. E1: P ile yapılacak eş oturumu için gerekli yerel kaynakların ayrılması ve
P’nin IP adresi ile yönlendiricinin IP adresinin karşılaştırılması.
12. E2: TCP’nin aktif OPEN [16] durumuna geçirilmesi ve bağlantıyı tekrar
deneme zamanlayıcısının başlatılması.
13. E3: TCP’nin pasif OPEN [16] durumuna geçirilmesi.
14. E4: Bağlantıyı tekrar deneme zamanlayıcısının durdurulması, bağlantıyı canlı
tutma TLV mesajının gönderilmesi, bağlantıyı canlı tutma ve eş tutma
zamanlayıcılarının başlatılması.
15. E5: Bağlantıyı canlı tutma mesajının gönderilmesi, bağlantıyı canlı tutma ve
eş tutma zamanlayıcılarının tekrar başlatılması
16. E6: TCP’nin aktif OPEN durumunun iptal edilmesi ve P ile ilgili ayrılmış
MSDP kaynaklarının silinmesi.
90
17. E7: TCP’nin pasif OPEN durumunun iptal edilmesi ve P ile ilgili ayrılmış
MSDP kaynaklarının silinmesi.
18. E8: TCP bağlantısının kapatılması ve P ile ilgili ayrılmış MSDP
kaynaklarının silinmesi.
19. E9: Paketin görmezden gelinmesi.
Yukarıda listelenmekte olan olayların ve eylemlerin dışında, bağlantı kuruldu
durumunda iken, başka bir duruma geçişi gerektirmeyen fakat belirli eylemlerin
yapılmasını gerekli kılan çeşitli olaylar mevcuttur. Bu olaylar; bağlantıyı canlı tutma
zamanlayıcısının dolması halinde bağlantıyı canlı tutma mesajı gönderilmesi ve
zamanlayıcının tekrar başlatılması; bağlantıyı canlı tut mesajı veya SA mesajı
geldiğinde eş tutma zamanlayıcısının tekrar başlatılması; eş RPF iletim
algoritmasının çalıştırılması; SA mesajının iletildiği MSDP eşine ilişkin bağlantıyı
canlı tutma zamanlayıcılarının tekrar başlatılması; PIM-SM protokolüne ilgili
bilginin yollanması ve son olarak SA bilgisinin önbelleğe yerleştirilmesidir. MSDP
eşleri, SA anons zamanlayıcısı dolduğunda bu zamanlayıcıyı tekrar başlatarak aktif
SA bilgilerinin periyodik olarak yollanmasına başlamaktadır. Ayrıca yollanan her SA
mesajından sonra bağlantıyı canlı tutma zamanlayıcısı tekrar başlatılmaktadır. PIM
kaydolma mesajı sayesinde öğrenilen yeni yerel kaynaklar için ilgili SA mesajı
yollanmakta ve bağlantıyı canlı tutma zamanlayıcısı tekrar başlatılmaktadır.
Önbellekte bulunan ve SA önbellek durumu zamanlayıcısı dolan kayıtlara ne
yapılması gerektiği protokol spesifikasyonunda tam olarak tanımlanmamıştır fakat
kayıtların silinmesi için işaretlenmesi tavsiye edilmektedir.
MSDP mesajları, genel bir başlık bilgisinden sonra tip, uzunluk ve değer (Type,
Length, Value, TVL) biçiminde oluşturulmaktadır. Burada amaç, birden fazla
TLV’nin tek bir mesaj içerisinde iletimlinin olanaklı kılınmasıdır. Protokol
spesifikasyonunda toplam yedi adet TLV tanımlanmıştır. Şuan için sadece SA anons
ve bağlantıyı canlı tutma TLV’leri aktif olarak kullanılmaktadır. Diğer TLV’ler SA
isteği, SA yanıtı, bildirim, MSDP rota izleme işlemi sürüyor ve MSDP rota izleme
cevabıdır. İlerleyen dönemlerde MSDP kullanımına göre yeni TLV’lerin
oluşturulması planlanmaktadır. Tip numaralandırması IANA tarafından
yapılmaktadır [8]. MSDP mesajları işlenirken, TLV yapısında herhangi bir hata
bulunması durumunda MSDP eşi ile olan oturum kapatılmakta ve tekrar oluşturmaya
91
çalışılmaktadır. Buna ek olarak biçimi doğru olan fakat bilinmeyen bir TLV
alındığında görmezden gelinmektedir.
5.3. Uzun Vadeli Çözümler
Çok hedefli iletimin Internet üzerinde bir hizmet olarak sunulabilmesi için kısa
vadeli çözüm olan MBGP/PIM-SM/MSDP’nin belirli bir yere kadar kullanılabileceği
anlaşıldıktan sonra, yeni nesil uzun vadeli çözümler için çalışmalara başlanmıştır.
Yapılan çalışmalar, iki farklı şekilde yürütülmüştür. Bir tarafta, var olan çok hedefli
iletim modeli kullanılarak yeni bir çözüm üretilmeye çalışılmış, diğer tarafta
çözümün bulunması amacıyla bu modelin değiştirilmesine çalışılmıştır. Yönlendirme
alanında yürütülen çalışmalar sonrasında 1999 yılında Sınır Şebeke Geçidi Çok
Hedefli İletim Yönlendirme Protokolü (Border Gateway Multicast Routing Protocol,
BGMP) [30] oluşturulmuştur. BGMP ile birlikte, çok hedefli iletim grup adreslerinin
dağıtımı katı kurallara bağlanmış ve bu sayede etki alanları arası bağımlılık
azaltılmıştır. Ancak BGMP, doğası gereği adres tahsis mimarisine bağımlıdır.
Dolayısıyla adres tahsis mimarisinin güvenilir olması gerekmektedir [52]. BGMP’nin
ortaya çıkışı ile birlikte araştırmacılar adres tahsis mimarisi ile ilgili çalışmalara
başlamıştır. Yapılan araştırmalarda, kullanılan grup adreslerinin hangi etki alanına ait
olduğunun açık bir şekilde belirlenebiliyor olmasına çalışılmıştır. Bu amaçla, iki
farklı adresleme mimarisi ortaya atılmıştır. İlk mimari 4.1. konuda anlatılan IETF
Çok Hedefli İletim Adres Tahsis Mimarisi”’dir [36]. Bu sayede D sınıfı adreslerin
yönetimi dinamik olarak yapılabilmekte ve adres çakışmaları anında sezilip
çözülmektedir. İkinci mimari ise 4.3. konuda anlatılan GLOP adresleme altyapısıdır
[43]. Böylece her bir otonom sisteme çok hedefli adreslerin belirli bir bölümü statik
olarak atanmaktadır. Ancak bu adreslerin otonom sistem içerisinde nasıl dağıtılacağı
belirlenmemiştir. Buna ek olarak, yakın gelecekte IPv4 adres önek altyapısının
(Bölüm 4.4) BGMP ile kullanılabilmesi için çalışmalar yapılmaktadır.
Çok hedefli iletim modelinde değişiklik yapılması esasına göre çalışmalarını yürüten
araştırmacılar, altyapı konularının dışında güvenlik, faturalama ve yönetim
konularında da çalışmalar yapmıştır. MBGP/PIM-SM/MSDP ve BGMP’nin
karmaşıklığı dolayısıyla çok hedefli iletim modelinde değişiklikler yapılmış ve Kökte
Adreslenmiş Çok Hedefli İletim Mimarisi (Root Addressed Multicast Architecture,
92
RAMA) [58] oluşturulmaya çalışılmıştır. RAMA mimarisine göre, çok hedefli iletim
uygulamalarının kaynağının tek bir yerde olduğu kabul edilmiştir. Dağıtım ağacının
köküne kaynağın oturtulmasıyla diğer yönlendirme protokollerindeki merkez seçimi
bir kenara bırakılmıştır. 1999 yılında RAMA modeline uyan iki farklı teknik
üzerinde çalışmalara başlanmıştır. İlk teknik, Ekspres Çok Hedefli İletim (Express
Multicast) [59] olarak isimlendirilmektedir. Ekspres tekniğinde dağıtım ağacının
kökünde kaynak bulunmaktadır. Sistemler katılım isteklerini kaynağa göndermekte
ve böylece katılımcılar hakkında bilgiler toplanabilmektedir. Bu protokol abone
modeline göre çalışmaktadır ve kapalı gruplar oluşturulmaktadır. Abonelerle iletişim
kanallar (channel) üzerinden olmakta ve dolayısıyla faturalama
gerçekleştirilebilmektedir. Diğer bir teknik ise Basit Çok Hedefli İletim’dir (Simple
Multicast) [60]. Basit çok hedefli iletim ekspres iletimin aksine birden fazla
kaynağın aktif olmasına izin vermektedir. RAMA modeline göre geliştirilen
teknikler IETF içerisinde büyük ilgi görmüştür fakat halen teklif aşamasındadır.
Bunun sebebi çözülmesi gereken pek çok sorunun olmasıdır. En büyük sorun, bu
tekniklerin standart olarak kabul edilmesi halinde var olan yapının nasıl
değiştirileceğidir. Var olan yapı ile yeni tekniklerin birlikte yer alması ve gelecekte
eski yapıdan adım adım vazgeçilmesi bir çözümdür. Ancak böyle bir yol izlenmesi
durumunda yeni teknikler ile eski yapı arasında birlikte çalışabilirliğin sağlanması
gerekmektedir. Şuan için böyle bir çalışma mevcut değildir. Bir diğer sorun ise yeni
tekniklerin, şuan için kullanımda olan bütün çok hedefli iletim uygulamalarını
desteklememesidir. Özetlemek gerekirse çok hedefli iletim modelini değiştiren iki
yeni teknik üzerinde çalışmalar devam etmektedir. Bu tekniklerin deneyler dışında
kullanımı şuan için söz konusu değildir ve gelecekte bu tekniklere ilişkin kullanım
alanı olup olmayacağı belirsizdir.
Internet üzerinde, etki alanları arasındaki çok hedefli iletimin kullanılmaya
başlanmasından sonra ortaya çıkan bir diğer sorun ise MBONE kullanıcılarının yeni
altyapı içerisine nasıl alınacağıdır. Bu sorunun çözümüne yönelik olarak 1999 yılında
MBONE omurgasına bir otonom sistem numarası atanmış ve MBONE, AS10888
olarak ifade edilmiştir [61]. MBONE topolojisi içerisinde yer alan bütün bağlantılar
bu otonom sisteme dahil edilmiştir. AS10888 ile çok hedefli iletim yeteneğine sahip
diğer otonom sistemler arasındaki bağlantı, NASA Ames Çok Hedefli İletim Internet
Değişimi (Multicast Friendly Internet Exchance, MIX) [61] sayesinde yapılmaktadır.
93
Böylece MBONE ile MBGP/PIM-SM/MSDP çok hedefli iletimini destekleyen
otonom sistemler arasındaki bağlantı MIX sayesinde gerçekleştirilmektedir. Düz bir
topolojiye sahip olan MBONE içerisindeki organizasyonlar, kısa vadeli çözüme
geçtikçe MBONE içerisindeki tünellerini silmekte ve böylece çok hedefli iletim
yetenekleri kaybolmadan MBONE’dan kısa vadeli çözüme geçiş yapılmaktadır.
Internet omurgasının yanı sıra, yaklaşık 200 Amerikan üniversitesinin ve 60
organizasyonun birleşerek oluşturduğu yeni nesil bir omurga mevcuttur. Bu omurga
Internet2 [62] olarak adlandırılmaktadır. Internet2, tamamıyla araştırmacı çevreler
tarafından oluşturulmuş ve ticari amaç gütmeyen bir omurgadır. Internet2’nin amacı,
yeni nesil şebeke uygulamalarının ve teknolojilerinin geliştirilmesi ve geleceğin
Internet yapısına geçişte bir kapı oluşturulmasıdır. Internet2, tamamen araştırmalara
yönelik bir omurga olduğu için çok hedefli iletim ile ilgili bir çalışma grubu
kurulmuştur. Grubun başkanlığına Kevin Almeroth ve Steve Corbato getirilmiştir.
Bu çalışma grubu, Internet2 üzerindeki çok hedefli iletim çalışmalarını ve
deneylerini sürdürmektedir. Buna ek olarak, çok hedefli iletim ile ilgili yapılanma
belli kurallara bağlanıştır. Örneğin, Internet2 üzerinde yoğun mod çok hedefli iletim
protokolleri kullanımına izin verilmemekte, tüneller kullanılmamakta ve bütün
katılımcı yönlendiricilerin etki alanları arası çok hedefli iletim yönlendirmesini
destekliyor olması gerekmektedir. 1999 yılına gelindiğinde Internet2 üzerindeki
MBGP/MSDP oturumları tamamlanmış ve diğer şebekelerle Internet2 arasındaki
oturumlar kurulmaya başlanmıştır. Böylece Internet2 ile diğer şebekeler arasındaki
çok hedefli iletim bağlantıları sağlanmıştır.
94
6. ÇOK HEDEFLĠ ĠLETĠM GÜVENLĠĞĠ
Başlangıçta akademik çalışmalar için kullanılmakta olan Internet, gün geçtikçe
genişlemiş ve ticari kullanıma açılmıştır. İlerleyen dönemlerde ticari organizasyonlar
Internet’i bir araç olarak kullandıklarında karlarında büyük bir artış olacağını fark
etmiştir. Bununla birlikte Internet kullanıcılarının sayısı yıllar geçtikçe katlanarak
artmıştır. Internet’in ticari olarak kullanımı, pek çok teknolojik yeniliği beraberinde
getirmiştir. Geliştirilen yeni bağlantı teknolojileri, çekirdek şebekelerde kullanılmaya
başlanmış ve son kullanıcılara sunulan bağlantı hizmetlerinin kalitesi arttırılmıştır.
Kalite artışı, maliyetlerdeki düşüşü beraberinde getirmiştir. 2000’li yıllara
gelindiğinde Internet kullanıcıları, Internet’e bağlanmak için harcadıkları paradan
daha fazla miktarı Internet üzerinden aldıkları hizmetlere harcar duruma gelmiştir.
Bu değişimle birlikte, sunulan ticari hizmetlerin güvenliği çok büyük önem
kazanmıştır. Yapılan araştırmalar sonucunda pek çok hizmet güvenli hale getirilmeye
çalışılmıştır. Özellikle tek hedefli iletim güvenliği için IETF bünyesinde pek çok
çalışma grubu oluşturulmuş ve RFC yayımlanmıştır. Kısaca, Internet’in teknolojik
olarak gelişimi ticari hizmetleri tetiklemiş, ticari hizmetlerin Internet üzerinden
sunulması Internet güvenliğini tetiklemiştir. Günümüzde sunulan ticari hizmetler
güvenlik altyapısı olmadan sunulamamaktadır. Aynı durum çok hedefli iletim için de
geçerlidir. Çok hedefli iletim, ilk olarak akademik bir çalışma olarak ortaya atılmıştır
[3]. Daha sonra üzerinde pek çok çalışma yapılmış; çoğu problem çözülmüştür ve
çok hedefli iletim işletilebilen bir iletim teknolojisi haline gelmiştir. Ardından bu
iletim teknolojisinin pek çok ticari hizmetin sunulmasında kullanılabileceği
anlaşılmış ve geçmişte olduğu gibi nasıl güvenli hale getirilebileceği üzerinde
çalışmalara başlanmıştır.
95
6.1 Çok Hedefli Ġletim Güvenlik Uzayı
IETF içerisindeki çok hedefli iletim ve grup güvenliği ile ilgili ilk çalışmalar
IRTF’de başlamıştır. Internet Araştırma Görev Gücü (Internet Research Task Force,
IRTF); görevi ufukta görünen teknolojilerle ilgili araştırma çalışmalarını yürütmek,
teoriler oluşturmak ve neyin nasıl standartlaştırılacağını belirlemek olan bir
organizasyondur. IRTF, IETF’nin kardeş organizasyonudur. Bu iki organizasyon
Internet Toplumu (Internet Society) tarafından finanse edilmektedir. 1990’larda çok
hedefli iletime duyulan ilgi artmaya başladıktan sonra güvenlik çalışmalarına
yoğunlaşılmıştır. O dönemlerde çok hedefli iletim ile ilgili güvenlik teknolojileri
standartlaştırılma aşamasında olmadığı için SMuG diye adlandırılan bir IRTF
araştırma grubu kurulmuştur. Bu grup ismini “güvenli çok hedefli iletim”’den
(Secure Multicast Group) almaktadır. SMuG’ın öncelikli görevi, çok hedefli iletim
ile ilgili kurulmuş olan diğer araştırma ve çalışma gruplarının güvenlik sorunlarını
çözmektir. Dolayısıyla SMuG, IETF ve IRTF içerisindeki pek çok grupla yakından
ilgilenmiş ve paralel çalışmalar yürütmüştür. SMuG bünyesinde standarda yakın pek
çok öneri dokümanı yayımlanmıştır. 2000 Mart’ında yapılan bütün çalışmalar, yeni
kurulan Çok Hedefli İletim Güvenlik Çalışma Grubu’na (Multicast Security Group,
MSEC) devredilmiştir. 2000’in Haziran ayında SMuG tekrar yapılandırılmış ve adı
Grup Güvenlik Araştırma Grubu (Group Security, GSEC) olarak değiştirilmiş;
GSEC ile birlikte, araştırma uzayı grup güvenliğini de kapsayacak şekilde
genişletilmiştir. IETF ve IRTF bünyesinde yapılan çalışmalarda genel amaç, var olan
yapının güvenli hale getirilmesi ve sağlanan güvenliğin var olan yapının işleyişini
değiştirmemesi veya değişimin minimum seviyede tutulmasıdır. Araştırmacılar;
maksimum güvenlik ve minimum ek yük ilkesiyle çalışmalarını yürütmüşlerdir.
Çok hedefli iletimin güvenli hale getirilmesi için öncelikle var olan yapının analizi
yapılmalıdır. Bu analizde grup karakteristikleri güvenlik çerçevesinden bakılarak
incelenmelidir. Daha sonra sağlanmak istenen güvenlik derecesinin var olan yapının
performansına nasıl etki edeceği ortaya çıkarılmalıdır.
96
6.1.1. Grup Karakteristikleri
Çok hedefli iletimde kullanılmakta olan hedef gruplarının tanımı çok esnektir.
Aşağıdaki listede grup karakteristikleri, güvenlik çerçevesinden bakılarak
incelenmektedir [63].
1. Grup büyüklüğü: Grup üyelerinin sayısında herhangi bir kısıtlama yoktur.
Küçük tartışma gruplarında üye sayısı 10 ila 20 kişi arasında değişmekte,
televizyon yayınlarında ise bu sayı birkaç milyonu bulabilmektedir.
2. Üye karakteristikleri: Gruba dahil olan üyelerin platformları güvenlik
açısından önemlidir. Üyelerin, güvenlik ile ilgili işlevlerden bazılarını
üstleneceği düşünüldüğünde, işlem gücü ve hafıza kapasitelerinin yeterli
seviyede olması gerekmektedir. Dolayısıyla üyelerin işlem kabiliyetleri
güvenlik çözümleri için önem taşımaktadır. Genelde grubun bütün
üyelerinin işlem güçlerinin aynı ve / veya belirli bir seviyenin üzerinde
olması istenmektedir. Aksi halde verilen hizmetin güvenliği homojen
olarak sağlanamayacağından işlem gücü yetersiz üyeler sorun
yaratacaktır. Bir başka önemli özellik ise, üyelerin çok hedefli iletimin
başlangıcından bitişine kadar çevirim içi olup olmayacağıdır.
3. Üyelik dinamikleri: Sistemlerin, gruba ne zaman dahil olacağı ve ne
zaman gruptan ayrılacağının bilinmesi önemlidir. İletime başlanmadan
önce, üyelik bilgilerinin bilinmesi çeşitli avantajlar sağlamaktadır.
Güvenlik çalışmalarında, alıcı sistemlerin ne kadar sıklıkla gruba dahil
olacağı ve gruptan ayrılacağının bilinmesi istenmektedir. Bu özellik,
“üyelik değişim frekansı” olarak tanımlanmaktadır. Güvenlik
çerçevesinden bakıldığında, üyelik değişimlerinin güvenlik
mekanizmalarına ivedi şekilde mi yoksa biriktirilerek mi iletileceği
önemli bir tasarım seçeneğidir.
4. Grubun yaşam süresi: Çok hedefli iletimin ne kadar süreceğini
belirtmektedir. Çok hedefli iletim gruplarının yaşam süresi birkaç dakika
veya birkaç gün olabilmektedir. Hatta çoğu uygulama için bitiş süresi
belirsizdir.
5. Kaynakların sayısı ve tipi: Bir hedef grubu için tek bir kaynak veya birden
fazla kaynak aynı anda aktif olabilmektedir. Hatta video konferans
gruplarında, bütün alıcılar aynı zamanda bir kaynak görevi de
97
görmektedir. Güvenlik söz konusu olduğunda kaynakların kimliğinin
bilinip bilinmemesi ve gruba üye olmayan sistemlerin kaynak görevi
görüp görmeyeceği önem taşımaktadır.
6. Trafiğin hacmi ve tipi: Çok hedefli olarak iletilen verinin trafik hacmi
gruptan gruba değişiklik göstermektedir. Video konferans gibi çeşitli
gruplarda iletimin gerçek zamanlı yapılması gerekmekte; fakat FTP (M-
FTP) gibi çok hedefli uygulamalarda gecikmelere tahammül
edilebilmektedir.
6.1.2. Güvenlik Gereksinimleri
Çok hedefli iletim güvenliği, Internet Protokolü mimarisinde bulunan şebeke
katmanını ve bu katman üzerindeki bütün katmanları ilgilendirmektedir. Grup
yönetimi ve erişim kontrolü en önemli güvenlik sorunlarından biridir. Bu nedenle
kayıt yaptırmış ve izinli sistemlerin grup iletişimine dahil olması gerekmekte ve kayıt
dışı sistemlerin iletilen veriyi çalmasına engel olunmalıdır. Bu sorun çoğu zaman
sadece grup üyelerinin bildiği bir grup şifreleme anahtarıyla çözülmektedir. İletilmek
istenen bilgi, bu anahtar ile şifrelenip çok hedefli olarak iletilmektedir ve grup
üyeleri, şifreli veriyi alarak deşifre etmektedir. Grup anahtarlarının yanı sıra
hiyerarşik çözümler de vardır. Grup yönetimi ve erişim kontrolü çok geniş bir
konudur ve çeşitli alt konulara bölünerek incelenmesinde yarar vardır. Alt konular
aşağıda sıralanmaktadır.
1. Potansiyel grup üyelerinin kimliklerinin nasıl doğrulanacağı
2. Grup anahtarlarının güvenli bir şekilde nasıl dağıtılacağı
3. Geçersiz bir üyenin üyeliğinin nasıl yürürlükten kaldırılacağı
4. Gruba yeni katılan üyelerin geçmiş bilgilere erişmesine nasıl engel
olunacağı
5. Gruptan ayrılan üyelerin gelecekte bilgilere erişmesine nasıl engel
olunacağı
6. Grup anahtarının periyodik olarak nasıl değiştirileceği
7. Kayıtların harici otoriteler tarafından nasıl denetleneceği
Çeşitli uygulamalarda, grup üyesi olmayan sistemlerin iletilen verinin sadece en
önemli bölümlerine erişiminin kısıtlanması yeterlidir. Böylece harici sistemler
98
verinin belli bir kısmını elde etse bile, bunun hiçbir yararı olmayacaktır. MPEG
Video iletimi söz konusu olduğunda, sadece düşük seviye Fourier katsayılarının
şifrelenmesi, kısmi şifrelemeye bir örnektir [63]. Kısmi şifreleme her uygulama için
yeterli olmamaktadır. Milli güvenlik gibi yüksek önem taşıyan uygulamalarda, uzun
vadeli yüksek güvenlik amaçlanmaktadır. Burada amaç, üye olmayan sistemlerin
iletimden uzun zaman sonra da verilere ulaşamamasının sağlanmasıdır. Bu özellik
çok önemli gözükse dahi, grup büyüklüğünün güvenlik teminatıyla ters orantılı
olduğu unutulmamalıdır.
Kaynak kimlik doğrulaması ve veri içeriğinin doğrulanması, çok hedefli iletim
güvenlik uzayının bir parçasıdır. Kaynak kimlik doğrulaması, gruba sadece istenen
kaynakların veri göndermesini garanti etmekte ve iletim iznine sahip olmayan
kaynakların gruba etki etmesine izin vermemektedir. Böylece grup üyeleri, kimliğini
doğrulayamadığı kaynaklardan gelen verileri görmezden gelmektedir. Kimlik
doğrulaması iki farklı şekilde kullanılmaktadır. Grup kimlik doğrulaması, grup
üyelerinin aldıkları mesajın aynı gruba üye herhangi bir sistemden gelip gelmediğini
doğrulamak için kullanılmaktadır. Kaynak kimlik doğrulamasında işlemler bireyler
bazında yapılmaktadır. Kimlik doğrulamasının yanı sıra gönderilen verinin yol
üzerinde değiştirilememesi veya değiştirildiğinde bunun saptanabilmesi
gerekmektedir. Bu işleme “veri içeriğinin doğrulanması” denmektedir.
Kimi uygulamalarda grup üyelerinin veya kaynakların kimliklerinin gizli tutulması
istenmektedir. Kaynakların ve / veya alıcıların anonim kalması, kötü niyetli kişilerin
trafik analizi yaparak çeşitli bulgular elde etmesinden korunmak için gereklidir.
Bunun yanı sıra, gönderilmiş olan veri tekrar gönderildiğinde bunun saptanabilmesi
gerekmektedir. Verinin gönderilen bir kısmının, ilgili kaynak veya üçüncü parti bir
sistem tarafından tekrar gönderilmesinin engellenmesi istenmektedir. Altyapı ile
ilgili kontrol mesajları söz konusu olduğunda, tekrar gönderim tehlikeli bir güvenlik
açığı yaratmaktadır. Tekrar gönderimin engellenmesi, doğası gereği kaynak ve
alıcılarını anonim olmasına ters düşmektedir. Bu yüzden hangisinin kullanılacağı
veya ikisinin de kullanım dışı bırakılması bir tasarım seçeneğidir.
Kötü niyetli kişilerin saldırılarına karşı hizmet kalitesinin aynı seviyede tutulması
zorunludur. Bu iş, çok hedefli iletim söz konusu olduğunda daha da zorlaşmaktadır.
Çeşitli saldırılan sonucunda dağıtım ağacının yapısı değiştirilmekte ve böylece belirli
99
noktalarda oluşturulan dar boğazlar hizmet kalitesini düşürmektedir. Bunun gibi pek
çok örnek vardır.
Yukarıda yapılan analize ek olarak, Internet mimarisindeki katmanlı yapı
düşünüldüğünde, çok hedefli iletimle ilgili güvenlik sorunları iki farklı grupta
toplanmaktadır. İlk grup; şebeke katmanında bulunan yönlendirme altyapı güvenliği,
dağıtım ağacına olan erişim güvenliği, yukarı katmanları da içeren grup anahtarlama
materyallerinin yönetimi ve grup güvenlik politikalarıdır. İkinci grup ise taşıma
katmanında bulunan grup taşıma güvenliği ve en üst katman olan uygulama
katmanında bulunan çok hedefli iletim uygulamalarının güvenliğidir. Temel güvenlik
sorunları çözülmeden ikinci gruptaki sorunları çözülmesi pratik değildir. Zira
yönlendirme altyapısında meydana gelebilecek bir güvenlik açığı, en üst seviyede
bulunan uygulama güvenliğini doğrudan etkilemektedir.
Şekil 6.1’de temel grupla ilgili güvenlik problemleri topolojik çizimde
gösterilmektedir.
Y
B
B
A
A
B
B
A
Y
K
B
Y
AY
AS
B
B
A
AS
AS
AS
AS
A
A
A
A
B
A
B
BA
A
Y
AS
İçerik şifreleme ve deşifre
işlemleri için anahtarlama
materyallerinin yönetimi.
Güvenli dağıtım ağacı
için yönlendirme
altyapısının korunması.
Dağıtım ağacına
erişimin güvenli
hale getirilmesi.
Y
A
AS
B
K
Yönlendirici
Alıcı
Sınır Yönlendiricisi
Kaynak
Otonom Sistem
Şekil 6.1 – Temel güvenlik sorunlarına topolojik bakış
Şekil 6.1’de gösterilmekte olan Internet yapısında otonom sistemlerin belirlediği
sınırlar, güvenlik ile ilgili problemleri daha karmaşık hale getirmektedir. Bunun
100
nedeni otonom sistemlerin yönetiminin, farklı ticari organizasyonlar tarafından
yapılıyor olmasıdır. Çok hedefli yönlendirme protokolleri ele alındığında, öncelikle
bu protokollerin tasarımında hiçbir güvenlik açığı olmaması gerekmektedir. Tasarım
açıkları, çok hedefli iletim güvenliğinin dışındadır. Yönlendirme protokollerinin
temel görevi, kaynak veya kaynaklardan alınan verinin dağıtım ağacının uçlarında
bulunan alıcılara ulaştırılmalıdır. Yönlendirmenin güvenli bir şekilde yapılabilmesi
için ilgili protokolü koşan cihazlar arasındaki kontrol haberleşmesinin güvenli olması
gerekmektedir. Kontrol mesajlarının yol üzerinde değiştirilmesinin veya tekrar
edilmesinin engellenmesi, kimliği doğrulanmamış cihazlardan alınan mesajların
saptanabilmesi ve mesajların silinmesine karşı güvenlik mekanizmalarının
oluşturulması gerekmektedir. Çok hedefli yönlendirmede kullanılan pek çok bilgi;
tek hedefli iletim tablolarından alınmakta olduğu için, tek hedefli yönlendirmeyle
ilgili sistem bileşenlerinin ayrıca korunması gerekmektedir.
Temel çok hedefli iletim modeli [1], herhangi bir sistemin istediği gruba üye
olmasına izin vermektedir. Sistemlerin gruplara katılabilmesi için, ilk adım çok
hedefli iletim yönlendiricilerine IGMP katılım mesajı göndermeleri yeterlidir. Bu
model ölçeklenebilirlik açısından uygun olsa dahi, güvenlik açısından pek çok
sorunu beraberinde getirmektedir. Yönlendirmede kullanılan dağıtım ağacı güvenlik
hale getirildikten sonra bu ağaca erişimin kontrol altında tutulması gerekmektedir.
Bunun sağlanabilmesi için IGMP gibi, sistemlerin gruplara katılmasını ve
ayrılmasını sağlayan protokollerin güvenli hale getirilmesi gerekmektedir. Aksi halde
kötü niyetli bir kişi, hakkı olmadığı halde, gruba üye olarak dağıtım ağacını kendi alt
şebekesine çekebilmektedir. Böylece kaynaklardan gönderilmekte olan veri
şifrelenmiş olsa dahi, kötü niyetli alıcıya ulaşmaktadır. Bu sayede alıcı ile kaynak
arasında bulunan yönlendiricilerdeki sistem kaynakları boşa harcanmaktadır.
Dolayısıyla dağıtım ağacının gereksiz yere pek çok alt şebekeye uzanması nedeniyle
hizmet kalitesinde düşüşler meydana gelmektedir. Televizyon yayınlarında verinin
gerçek zamanlı iletilmesi gerekmekte ancak bu sayede bütün hizmet etkilenmektedir.
Bu tür saldırılara “dağıtılmış hizmet kalitesini durdurma” (Distributed Denial of
Quality of Service, DDoS) saldırıları denilmektedir. DDoS ataklarına sebep olan bir
başka güvenlik açığı ise kaynak erişim kontrolüdür. Temel çok hedefli iletim
modelinde, herhangi bir sistem; hedef grup adresini bildiği sürece gruba veri
yollayabilmektedir. Kötü niyetli bir kişi, grup adresini bildiği sürece aslında hiçbir
101
bilgi değeri içermeyen veriyi gruba yollayarak bilgi değeri olan veriyi
bastırabilmektedir. Böylece alıcılar hizmetten mahrum kalmaktadır.
Çok hedefli iletim kullanılarak dağıtılan verinin, sadece yasal sistemlere dağıtılması
gerekmektedir. Bunun için şifreleme ve kimlik doğrulama mekanizmaları
kullanılmaktadır. Basit tanımıyla şifreleme, kaynak tarafında iletilen verinin
şifrelenmesi ve diğer uçtaki alıcıda şifrenin çözülerek bilginin elde edilmesi olarak
tanımlanmaktadır. Verinin korunması amacıyla kriptografi kullanımı güvenlik
yapısına çeşitli anahtarların katılmasına neden olmaktadır. Dolayısıyla bu
anahtarların da korunması ve yönetilmesi gerekmektedir. Anahtarlama
materyalleriyle ilgili politikaların belirlenmesi, üyelerin hangi anahtarları nasıl
alması gerektiğinin saptanması ve hangi kriptografik algoritmaların kullanılması
gerektiği grup anahtar yönetimi olarak tanımlanmaktadır. Güvenlik nedenlerinden
dolayı grup anahtar yönetiminin çok hedefli iletim için kullanılan yönlendirme
protokolünü kullanmaması gerekmektedir [64]. İlke olarak, grup anahtar yönetimiyle
ilgili protokollerin herhangi bir yönlendirme protokolüne bağımlı olmaması
sağlanmalıdır. Buna ek olarak, gruba üye olmak isteyen herhangi bir sistemin başarılı
bir şekilde gruba dahil edilebilmesi için, grup anahtar yönetimi ve seçilmiş güvenlik
ilkeleriyle ilgili belirli bilgileri bilmesi gerekmektedir. Bunun için bir anons
mekanizması oluşturulması zorunludur. Aksi takdirde hiçbir sistem gruba üye
olamayacak, üye olsa dahi veriyi deşifre edemeyecektir. Anahtar yönetimiyle ilgili
en büyük sorun, ölçeklenebilirliktir. Genel olarak bu tür protokoller içerisinde, bir ya
da birkaç güvenlik yönetim varlığı bulunmaktadır. Bu varlığın görevi anahtarların
yönetimidir. Protokole dahil olan bütün sistemlerin bu varlığa güvenmesi ve grup
üyelerinin bu varlık ile (tek hedefli) iletişim halinde olması gerekmektedir. Bu tür bir
yapıda güvenlik yönetim varlıkları dar boğaz oluşturmakta ve muhtemel saldırılar
için bir potansiyel haline gelmektedir. Ölçeklenebilirliğe etki eden bir diğer faktör ise
üyelerin değişmesi sonucu grup anahtarlarının tekrar dağıtım şeklidir. Grup
üyeliğinin değişmesinin gruba minimum etkisi olması gerekmektedir. Bunu için
üyelik değişimlerinden mümkün olduğunca az sayıda üyenin etkilenmesi
sağlanmalıdır.
Çok hedefli iletim güvenlik uzayındaki diğer grup ise taşıma katmanı ve uygulama
katmanı içerisindeki güvenliktir. Taşıma katmanındaki güvenlik için pek çok
güvenilir çok hedefli iletim protokolü geliştirilmiştir. Güvenilir çok hedefli iletim
102
protokollerini diğerlerinden ayıran en önemli özellik; veri bloklarının uçlara ulaşıp
ulaşmadığıyla ilgili geri besleme mekanizmalarının varlığıdır. Bu tür protokollerin
güvenli hale getirilmesi için öncelikle değiş tokuş edilen kontrol mesajlarının güvenli
hale getirilmesi gerekmektedir. Uygulama katmanındaki güvenlik ise alınan çok
hedefli hizmetin ve uygulamanın özelliklerine göre çeşitlilik göstermektedir. Çoktan
çoğa olan uygulamalarda, grupların açık veya kapalı olması söz konusudur. Bu tür
uygulamalara örnek olarak sohbet odaları ve konferanslar gösterilebilir. Grubun açık
olması hali, iletim gerçekleşmekteyken yeni üyelerin katılabileceğini, tam tersi
olarak kapalı olması ise yeni üyelerin kabul edilmeyeceğini göstermektedir. Kapalı
gruplarda alıcıların listesi önceden bilinmektedir. İletim başlamadan bu listeye
girmek isteyen alıcıların kimliklerini ispatlaması gerekmektedir. Genelde bu tür
ispatlar grup sahibine karşı yapılmaktadır. Grup sahibi, yönetim konusundaki tek
otoritedir. Bir diğer özellik ise, güven ilişkilerinin nasıl olacağıdır. Güven ilişkileri,
en üstten aşağıya doğru oluşturulmaktadır. Örneğin, etki alanı genelinde tek bir
sertifika otoritesi mevcut olmakta ve etki alanı içerisindeki bölgelerde anahtar
dağıtıcıları bu otoriteye güvenmektedir. İletimin birden fazla otonom sistemi
kapsadığı durumlarda, etki alanları arasındaki güven ilişkisinin nasıl olacağı önem
taşımaktadır. Etki alanı içerisinde bulunan sistemlerin diğer etki alanları içerisindeki
otoritelere güvenmesi çeşitli yönetimsel sorunları beraberinde getirmektedir.
Sistemlerin kimliklerinin kontrolü ve anonim katılımcılara izin verilip verilmeyeceği
uygulamadan uygulamaya değişmektedir. Çeşitli uygulamalarda üyelerin bulunduğu
yer (örneğin IP adresi veya bulunduğu alt şebeke) özel bilgi olarak sayılmakta, fakat
böyle bir istek yönlendirme protokollerinin işleyişine ters düşmektedir.
Katılımcıların kimliğinin anonim olarak kalması uygulama katmanında rumuzlar
(pseudonym) kullanılarak sağlanabilmektedir [65,60]. Buna ek olarak vekil
sunucularının kullanımı bir başka çözüm yoludur. Yukarıda anlatıldığı gibi taşıma ve
uygulama güvenliğine ilişkin pek çok konu mevcuttur ve çözümler uygulamadan
uygulamaya değişiklik göstermektedir.
6.1.3. Performans Parametreleri
Var olan çok hedefli iletim yapısı güvenli hale getirilirken, iletim performansının
bundan etkilenmemesi veya minimum seviyede etkilenmesi zorunludur. Uygulanan
güvenlik seviyesine göre performans parametreleri mutlaka analiz edilmelidir.
103
Burada en önemli noktalar, güvenlik önlemlerinin veri paketlerinin gecikme süresine
etkisi, bandgenişliği kullanımı ve paket başına ihtiyaç duyulan ek işlem yüküdür
[63]. Bu parametrelerin minimize edilmesi en yüksek derecede öneme sahiptir.
Gerçek zamanlı olarak yapılan iletimde gecikme süresi, çok önemli bir performans
kıstası olmaktadır. Şebeke üzerindeki dar boğazların alıcı sistemlere en yakın
yerlerde olduğu varsayıldığı zaman bandgenişliğinin minimum seviyede tutulması
iletimin sağlıklı yapılabilmesi için önemlidir. Aynı durum kontrol paketleri için de
geçerlidir. Güvenlik önlemleri sonucunda, kontrol paketlerine etkiyen gecikme
sürelerinin, bandgenişliği kullanımının ve paket başına getirilen ek yükün minimum
seviyede tutulması gerekmektedir. Kontrol mesajları, veri iletiminden daha seyrek
olarak yapılsa bile anahtar dağıtımı ve yönlendirme gibi mekanizmalarda rol
oynadığı için büyük önem taşımaktadır.
Grup başlangıcı, üye eklenmesi ve çıkarılması safhaları güvenlik mekanizmaları için
önem taşımaktadır. Herhangi bir güvenlik önlemi alınmadığında bu safhalar için
harcanan süreler sıfıra yakındır. Güvenlik önlemleri devreye alındıktan sonra bu
safhalarda harcanan süreler ve yapılması gereken işlemler performansı doğrudan
etkilemektedir. Aynı durum kaynaklar için de geçerlidir. Bir kaynağın veri gönderme
isteğini bildirmesiyle veri göndermeye başlaması arasında geçen süreye “kaynak
başlangıç gecikmesi” denmektedir. Uygulanmak istenen güvenlik önlemlerinin bu
süreyi minimumda tutması gerekmektedir.
Televizyon yayınlarının çok hedefli iletilmesi gibi uygulamalarda yayının
başlamasından hemen önce ve yayının bitmesinden hemen sonra çok yüksek sayıda
giriş çıkış işlemi yapılmaktadır. Kontrol hizmetlerini sunan varlıklara yapılan
istekler, bu küçük aralıklarda maksimum seviyeye ulaşmaktadır. Uygulanan güvenlik
önlemleri, kontrol iletişiminin maksimum olduğu zamanlarda yığılmayı beraberinde
getirmemelidir. Buna ek olarak kayıtlı bir grup üyesinin herhangi bir nedenden
dolayı ulaşılamaz olup belli bir süre sonra tekrar ulaşılabilir olduğu durumlarda
hizmeti almaya devam etmesinin sağlanması gerekmektedir. Uygulanan güvenlik
önlemlerinin gruptan kopan üyelerin tekrar veri almaya başlamasını geciktirmemesi
veya minimum süre geciktirmesi beklenmektedir.
104
6.1.4. Çok Hedefli Ġletim ve Grup Güvenlik Çatısı
Çok hedefli iletimin güvenli hale getirilmesi için yapılan araştırmalarda anahtarlama
materyallerinin yönetimi en önemli sorunlardan biri olarak değerlendirilmektedir. İlk
olarak SMuG ve daha sonra MSEC grupları içerisinde yapılan araştırmalarda, gruplar
içerisindeki çalışmaların koordine edilebilmesi için ortak bir “çok hedefli iletim ve
grup güvenlik çatısı” oluşturulması fikri ortaya atılmıştır [4]. Bu fikir 1990 yılında
yapılan 44. IETF toplantısında diğer araştırmacılarla paylaşılmıştır. Güvenlik
çatısında, anahtarlama materyallerinin yönetimi temel sorun olarak ele alınmaktadır.
Güvenlik çatısı içerisinde yer alan varlıklar kutularla gösterilmektedir. Bu kutular
işlevsel varlıkları temsil etmektedir. Kutular arasındaki bağlantılar ise bu varlıkların
arasında olan arabirimleri ifade etmektedir. Bu arabirimler için standart protokollerin
oluşturulması gerekmektedir [4]. Güvenlik çatısı şekil 6.2’de gösterilmektedir.
Güvenlik
Politikası
Sunucusu
Grup
denetleyicisi
&
Anahtar
sunucusu(GDAS)
Kaynak
Alıcı
Güvenlik
Politikası
Sunucusu
Grup
denetleyicisi
&
Anahtar
sunucusu(GDAS)
Alıcı
M-to-M
1-to-M
1-to-M
M-to-M
Merkezi Tasarım Dağıtılmış Tasarım
Problem alanı 3(Güvenlik Politikaları)
Problem alanı 2(Anahtar Yönetimi)
Problem alanı 1(Veri Dönüşümleri)
Şekil 6.2 Çok hedefli iletim ve grup güvenlik çatısı
IETF içerisindeki çalışma gruplarında ve IRTF içerisindeki araştırma gruplarında
yapılan çalışmaların ortak yürütülebilmesi için şekil 6.2’deki güvenlik çatısı
oluşturulmuştur. Anahtarlama materyallerinin yönetimi adına yapılan bütün
çalışmalar bu çatıya uygun olarak yapılmış ve böylece birbiriyle çalışabilme
prensibine sadık kalınmıştır. Diğer önemli güvenlik konularından olan altyapı
güvenliği, PIM çalışma grubuna bırakılmıştır. Dağıtım ağacına erişimin güvenli hale
getirilmesi konusu, SMuG grubunda daha düşük öncelikle ele alınmıştır.
105
Şekil 6.2 incelendiğinde yapının mimari olarak nasıl olması gerektiği, güvenlik
problemlerinin birbirinden nasıl ayrıldığı ve standart protokollerin nerede ve nasıl
oluşturulması gerektiği görülmektedir. Mimari, merkezi veya daha ölçeklenebilir
olan dağıtık yapıda olabilmektedir. Güvenlikle ilgili sorunlara daha kolay
yoğunlaşılabilmesi için problem alanları belirlenmiştir. Bu sayede çatı içerisinde yer
alan varlıklar arasındaki haberleşmenin nasıl olması gerektiği ile ilgili düzenlemeler
yapılmıştır. Varlıklar arasındaki haberleşmenin sağlanabilmesi için protokollerin
tanımlanması gerekmektedir. Bu protokoller, şekilde oklar olarak gösterilmektedir.
Burada kutuların tek bir varlığı göstermediğini; aksine bu kutuların
sorumluluklarının birden fazla varlık tarafından gerçekleştirilebileceği
unutulmamalıdır.
Güvenlik çatısında bulunan “Grup denetleyicisi ve Anahtar sunucusu - (GDAS)”
varlığının temel görevi anahtarların ihracı ve yönetimidir. Bu anahtarlar, gruba dahil
olmak isteyen sistemlerin kimliğinin doğrulanması ve iletilen verinin deşifre edilmesi
gibi işlerde kullanılmaktadır. Grup denetleyicisi ve anahtar sunucusu gerçekleştirdiği
işlevler bakımından grup üyelik yönetim mimarisinin merkezinde bulunmaktadır. Bu
işlevlerin ölçeklenebilir olması için, GDAS varlıkları arasındaki haberleşmenin
sağlanması gerekmektedir. Böyle bir yapıda grup üyeleri, en yakındaki GDAS ile
veya birden fazla GDAS ile iletişim kurmaktadır. Buna ek olarak GDAS varlıklarının
güvenlik çatısı içerisinde bulunan güvenlik politikası sunucularıyla haberleşmesi
gerekmektedir.
Güvenlik çatısında GDAS’ın yanı sıra kaynak ve alıcılar da bulunmaktadır.
Kaynağın görevi, bilgi değeri taşıyan verinin gruba iletilmesidir. Veri iletimi, tek bir
kaynaktan veya birden fazla kaynaktan olabilmektedir. Anahtar yönetimi söz konusu
olduğunda, kaynağın ve alıcıların GDAS ile haberleşmesi gerekmektedir. Kaynağın
gruba bilgi yollamasına izin verilmeden önce kimlik doğrulaması yapılmalıdır.
Bunun yanı sıra iletilen verinin şifrelenebilmesi için kaynağın uygun şifreleme
anahtarlarını elde etmesi gerekmektedir. Kaynak, bu bilgileri GDAS’la haberleşerek
elde etmektedir. Aynı durum anahtar güncellemesi için de geçerlidir. Üye kümesi
değiştiğinde grubtan ayrılan üyelerin iletilen veriyi deşifre edememeleri için veriyi
şifrelemek amacıyla kullanılan anahtarların değiştirilmesi gerekmektedir. Güvenlik
politikası sunucuları, kaynak ve alıcılara doğrudan bir yaptırım uygulamamaktadır.
106
Bu yaptırım GDAS üzerinden uygulanmaktadır. Sonuç olarak kaynak ve alıcılar,
güvenlik politikası sunucularıyla dolaylı olarak haberleşmektedir.
Güvenlik politikası sunucusu varlıkları, belirli bir çok hedefli iletim grubuna özgü
belirlenmiş politikaları GDAS ile haberleşerek uygulatmak için kullanılmaktadır.
Güvenlik politikaları, sistem yöneticileri ve grup sahipleri tarafından
belirlenmektedir.
Şekil 6.2’de gösterilmekte olan IETF güvenlik çatısında üç farklı problem alanı
belirlenmiştir. Burada amaç, çok geniş bir problemi küçük parçalara bölerek değişik
çalışma gruplarının değişik problem alanları üzerinde çalışmasının sağlanmasıdır.
Problem alanları içerisinde yapılan çalışmaların başarıya ulaşabilmesi için grupların
birbirleriyle çok yakın çalışması ve koordinasyon içinde olması gerekmektedir. Buna
örnek olarak grup politikasının anahtar yönetim kurallarını belirlemesi fakat anahtar
dağıtımının uç noktalarda yapılıyor olması verilebilir. Genel güvenliğin
sağlanabilmesi için alanlar arası iletişimin maksimum seviyede olması
gerekmektedir. Her bir problem alanı için yapılan çalışmaların sonucu olarak, çeşitli
standart protokoller oluşturulması amaçlanmıştır.
Veri dönüşümleri olarak isimlendirilen ilk problem alanı, bilginin kaynaktan
alıcılara kadar iletilmesi sırasında maruz kaldığı değişimleri kapsamaktadır. Bilginin
öncelikle doğru kaynaktan gelip gelmediği kontrol edilmelidir. Bunun için kimlik
doğrulamasının yapılması gerekmektedir. Kimlik doğrulaması iki farklı şekilde
yapılabilmektedir. İlk yol, kaynak kimlik doğrulaması ve buna ek olarak verinin
doğruluğunun kontrolüdür. Kaynak kimlik doğrulamasında verinin gerçekten o
kaynaktan gönderilip gönderilmediği araştırılmaktadır. Verinin doğruluğunun
kontrolü ise, verinin yol üzerinde herhangi bir değişime uğrayıp uğramadığıdır.
Kaynak kimlik doğrulaması ve verinin doğruluğunun kontrolü birbiriyle bağlantılı
kavramlardır. Çoğu tasarımda kaynak kimlik doğrulaması başarıya ulaştığı zaman
verinin doğruluğunun kontrolü de otomatik olarak başarıya ulaşmaktadır. Aynı
durum, tam tersi için de geçerlidir. Diğer bir kimlik doğrulama yolu ise, grup esasına
göre yapılan doğrulamadır. Bu tip kimlik doğrulamasında verinin herhanbir grup
üyesinden gelip gelmediği kontrol edilmektedir. Veri, o gruba üye olmayan herhangi
bir sistemden gönderildiği zaman grup kimlik doğrulaması başarısız olacağından bu
olay sezilebilmektedir. Bu problem alanına dahil olan diğer bir konu ise verinin
107
şifrelenerek iletilmesi ve alıcı sistemlerde deşifre edilmesidir. Bunun için genel
olarak grup anahtarları kullanılmaktadır. Kaynak sistem bilgiyi iletmeden önce
şifrelemektedir. İletilen şifrelenmiş veri, şebeke içerisinde şifreli bir şekilde
dolaşmakta ve veriyi elde eden varlıklar uygun anahtara sahip olmadığı sürece
verinin içerisinden bilgiyi elde edememektedir. Veri, gruba dahil olan alıcı sistemlere
ulaştığında, alıcı sistemlerde ilgili anahtar mevcut olduğu için deşifre işlemi kolayca
yapılabilmektedir.
Bir grupla ilgili olarak kullanılan bütün şifreleme anahtarlarına, bu anahtarlarla ilgili
varlıklarda ve şebeke cihazlarında tutulması gereken durumlara ve ilişkili diğer
güvenlik parametrelerinin bütününe “anahtarlama materyalleri” denmektedir.
Dolayısıyla anahtarlama materyallerinin yönetiminden kasıt sadece anahtarların
değil, aynı zamanda ilgili durumların ve güvenlik parametrelerinin yönetilmesidir.
Bu işin nasıl yapılacağı ikinci problem alanına girmektedir. İkinci problem alanı çok
geniş bir uzayı kapsamaktadır. Sistemlerin gruplara girebilmesi için üye kimlik
doğrulaması yapılması zorunludur. Bunun yanı sıra gruba iletim başladıktan herhangi
bir zaman sonra, sistemlerin üyeliğinin sorgulanabilir ve doğrulanabilir olması
gerekmektedir. Böylece şüpheli sistemler fark edilebilir hale gelmektedir. İletimin
yapılacağı gruba ait anahtarların dağıtılabilmesi için, sistemlerle GDAS arasında
güvenli bir iletişim kanalı kurulması konusu da bu problem alanı içerisinde yer
almaktadır. Ayrıca dağıtılmış bir mimaride koordinasyon amacıyla GDAS
varlıklarının kendi aralarında iletişimde olması gerekmektedir. Bu iletişim, tıpkı
sistemlerle GDAS varlıkları arasında olan iletişim gibi güvenli bir kanal üzerinden
yapılmalıdır. Çok hedefli iletim yapılırken herhangi bir nedenden dolayı kullanımda
olan anahtarların değiştirilmesi için çeşitli mekanizmaların geliştirilmesi
gerekmektedir. Anahtar değişimlerinin pek çok sebebi vardır. Kriptoanalizi
engellemek için periyodik olarak anahtarların değişimi veya çıkan üyelerin gelecekte
iletilecek olan veriyi deşifre edememesi için yapılan değişim bunlara örnek olarak
verilebilir. Son olarak, anahtarlama materyallerinin yönetimiyle ilgili herhangi bir
hatanın veya güvenlik açığının bulunup gerekli mercilere rapor edilebilir olması
gerekmektedir. Bununla ilgili mekanizmaların geliştirilmesi bu problem alanı
içerisine girmektedir.
108
Anahtarlama materyallerinin yönetimi ile ilgili kararların ve isteklerin güvenlik
politikaları şeklinde oluşturulması pek çok fayda sağlamaktadır. Güvenlik politikaları
temel olarak güvenlik çatısında bulunan diğer varlıkların operasyonlarıyla ilgili
kuralları belirlemek için kullanılmaktadır. Politikalarla ilgili sorunlar, üçüncü
problem alanına girmektedir. Güvenlik politikalarının güvenlik çatısı içerisinde
temsil edilebilmesi için “Güvenlik politikası sunucusu” varlıkları kullanılmaktadır.
Bu varlıklar kendi aralarında ve GDAS varlıkları ile iletişim kurarak belirlenen
politikaların uygulanmasını sağlamaktadır. Çok hedefli iletim gruplarına üye olan
sistemler için herhangi bir coğrafi kısıtlama bulunmamaktadır. Dolayısıyla üyeler
pek çok otonom sistem içerisine yayılabilmektedir. Otonom sistemler farklı merciler
tarafından yönetildiği için güvenlik politikası sunucularının nereye nasıl
yerleştirileceği ve kimler tarafından yönetileceği önemli bir konudur. Bunun için
grup politikasını belirleyen katı kuralların mevcut olması gerekmektedir. Güvenlik
politikası, çok hedefli iletim grubunu başlatan varlık (grup sahibi) tarafından ifade
edilmeli ve üyelerle müzakereler yapılarak oluşturulmalıdır. Üyelerle yapılan
müzakereler sadece kimlik kontrolünden ibaret olabilmekle birlikte pek çok ağırlıklı
seçim mekanizmasını içerebilmektedir. Sistem yöneticileri tarafından tanımlanan
güvenlik politikalarının alt seviyede güvenlik mekanizmaları tarafından anlaşılıp
uygulanabilmesi için; tanımların insan dilinden, sistemlerin anlayabileceği bir dile
çevrilmesi gerekmektedir. Grup içerisinde farklı tür sistemler olabileceğinden bu
çevrimin her zaman aynı sonucu vermesi ve bütün sistemler tarafından anlaşılabilir
olması zorunludur. İlke olarak güvenlik politikası müzakerelerinin ve çevrimlerinin
sistemler gruba üye olmaya çalışırken yapılması gerekmektedir. Çevrimleri
anlayamayan ve müzakerelere katılamayan sistemler gruba dahil olsa bile, iletilen
veriyi anlayamayacaktır. Dolayısıyla bu işlemlerin üyelerin gruba katılırken
yapılması en sağlıklı seçenektir.
6.2. Çok Hedefli Ġletimde Ġçerik Güvenliği
Çok hedefli iletim için oluşturulmuş olan güvenlik çatısında, içerik güvenliği büyük
önem taşımaktadır. İçerik güvenliği pek çok alt bölüme ayrılarak incelenmektedir.
İlk bölüm grup anahtar yönetimidir. Sistemlerin iletilen veriyi eksiksiz bir şekilde
alabilmesi için grup temelinde ne tür şifreleme mekanizmaları kullanılması gerektiği,
109
bu mekanizmaların hangi varlıklara ne şekilde atanacağı ve grup üyelik
değişimlerinin güvenlik çerçevesinde nasıl ele alınacağı gibi anahtar yönetimini
ilgilendiren sorumlulukların tamamı, grup anahtar yönetimi altında toplanmaktadır.
Çok hedefli iletim grubuna iletim yapmak isteyen her sistemin grupla ilgili güvenlik
varlıklarına kimliğini doğrulaması gerekmektedir. Kimliği doğrulanan kaynaklar
daha sonra erişim kontrolüne tabi tutulmaktadır. Sadece bu mekanizmaları başarıyla
geçen sistemler kaynak görevi görebilmektedir. Erişim kontrolü, alıcılar için de
uygulanmaktadır. Bunun nedeni dağıtım ağacının kontrol altında tutulmak
istenmesidir. Grup üyeleri, ancak anahtarlama mekanizmalarını işletip grupla ilgili
anahtarları elde ettikten sonra iletilen veriyi deşifre edebilmektedir. Üyelerin deşifre
edilen bilgiyi sadece kendisi için kullanması gerekmektedir. Ancak her zaman durum
bu şekilde olmamaktadır. Bazı sistemler deşifre ettiği veriyi kendine çıkar sağlamak
amacıyla üçüncü taraflarla paylaşmaktadır. Bu ihlale “bilgi korsanlığı” denmektedir.
Parmak izi kullanımı sayesinde iletilen veri içerisine alıcı sisteme özgü gizli bilgiler
yerleştirilmekte ve ileride bilgi korsanlığı yapıldığında bu sayede hangi sistem
tarafından paylaşıldığı anlaşılabilmektedir. İçerik güvenliği konusu altında incelenen
son konu çok hedefli iletimde güvenlik politikalarıdır. Güvenlik politikaları
güvenlikle ilgili bütün parametrelerin ve mekanizmaların tek bir elde toplanması
olarak açıklanmaktadır. Güvenlik politikaları, en üst seviyede bulunan katmanlar
tarafından belirlenmekte ve yukarından aşağıya doğru uygulanmaktadır.
6.2.1. Grup Anahtar Yönetimi
Grup anahtar yönetimi, çok hedefli iletim grubunu ilgilendiren kriptografik
anahtarların ve bunlara ilişkin durumların tamamının nasıl yönetileceğini düzenleyen
mekanizmaların bütününü içermektedir. Anahtarlama, genel olarak bütün grup
üyelerine tek bir anahtarın dağıtımıyla sağlanmaktadır. Kaynaklar, veriyi sadece alıcı
sistemlere dağıtılan anahtar tarafından deşifre edebilecek şekilde şifrelemektedir.
Şifrelenmiş veri, dağıtım ağacı üzerinden alıcılara ulaştırılmakta ve daha sonra
deşifre işlemi sayesinde gerçek bilgi elde edilmektedir. İlgili anahtarların dağıtımının
sorumluluğu anahtar dağıtıcısına (Key Distributor, KD) verilmiştir. Genelde KD
işlevleri, GDAS içerisinde bulunmaktadır. Bu mantık, ilk olarak 1980’lerde
konferans anahtar dağıtımında kullanılmıştır [67]. Konferans anahtar dağıtımında,
alıcıların birbirlerine güven duymadığı düşünülerek grup anahtarının bütün
110
alıcılardan alınan anahtar parçalarıyla oluşturulması sağlanmıştır. Bu uygulamalar,
konferans oturumları için ideal olsa bile, alıcı sayısının çok daha fazla olduğu çok
hedefli iletim grupları düşünüldüğünde elverişsiz hale gelmektedir. Konferans
anahtar dağıtımını grup anahtar yönetiminden ayıran en önemli nokta; grup anahtar
yönetiminin dinamik bir ortamda pratik bir şekilde yapılıyor olmasıdır. Ortama ayak
uydurulabilmesi için, çok hedefli iletim grubunun ek anahtarlarla ilişkilendirilmesi
gerekmektedir. Bu anahtarlar, grup iletişimini güvenli hale getirmek için kullanılan
anahtarın güvenliği için kullanılmaktadır. Çok hedefli iletim için oluşturulmuş olan
güvenlik çatısında yer alan anahtar yönetimi modelinin temelini grup güvenlik
ilişkileri oluşturmaktadır.
6.2.1.1. Grup Güvenlik ĠliĢkileri (GSA) Modeli ve Yönetimi
IETF bünyesinde oluşturulmuş olan güvenlik çatısında, grup anahtar yönetimi ile
ilgili varlıklar ve aralarındaki ilişkiler şekil 6.3’te gösterilmektedir.
KD
Kaynak
Üye
Alıcı Üye
Alıcı Üye
KD
Anahtar & SA yönetimi
Kontrol kanalı
Veri kanalı
Merkezi Dağıtık
Şekil 6.3 – Grup anahtar yönetimi modeli
Şekil 6.3’te ölçeklenebilirliğin arttırılması için merkezi ve dağıtık olmak üzere iki
farklı mimari oluşturulmuştur. Sistemler, gruba üye olmak amacıyla en yakındaki
veya yönetimsel olarak atanan bir GDAS ile iletişime geçmektedir. Anahtar dağıtımı,
GDAS’ler üzerinden yapılmaktadır. Çok hedefli iletim şekilde tek yönlü oklar olarak
gösterilmektedir. Bütün üyelerin, ilgili GDAS ile anahtar yönetimi ve SA yönetimi
için kontrol kanalları oluşturması gerekmektedir. Kontrol kanalları şekilde noktalı
111
oklar olarak gösterilmektedir. Burada SA (Security Association), güvenli iletimin
sağlanması adına kullanılan hizmet ve mekanizmaların tanımlanması için gereken
bütün parametrelerin bir araya getirildiği ve iki veya daha fazla sistem tarafından
müzakere edilen güvenlik ilişkilendirmeleri olarak tanımlanmaktadır. SA’lar tek
yönlüdür ve her güvenlik protokolü için farklıdır. İki veya daha fazla sistemin,
güvenli haberleşmeyi nasıl gerçekleştireceği SA’lar sayesinde belirlemektedir. Grup
anahtarları, şekilde çift yönlü oklar olarak gösterilmekte olan anahtar ve SA yönetim
kanalları sayesinde dağıtılmakta ve yönetilmektedir. GDAS ve üyeler arasında
kullanılmakta olan kontrol kanalları çeşitli komutların işletilmesi, hatırlatıcıların
gönderilmesi ve acil durumların bildirilmesi için kullanılmaktadır. Protokoller
hazırlanırken, kontrol kanallarının güvenilir olduğu varsayılmaktadır.
Grup anahtar yönetimi ile ilgili çalışmalar, Internet anahtar yönetiminden [68-72]
esinlenerek yapılmıştır. Grup anahtar yönetimi, Internet anahtar yönetimine ek olarak
yeni özellikler içermektedir. Buna örnek olarak grup anahtar materyallerine ilişkin
müzakere olmaması ve aksine bu materyallerin direk olarak üyelere yollanması
gösterilebilir. Dolayısıyla Internet anahtar yönetimiyle ilgili çalışmalar çok hedefli
iletim ile ilgili yapılmış olan güvenlik çalışmalarıyla [63-64,73] birleştirilerek grup
anahtar yönetimi için farklı bir çatı oluşturulmuştur. Grup anahtar yönetiminin tam
olarak açıklanabilmesi için öncelikle Internet anahtar yönetiminin anlaşılması
gerekmektedir. Güvenli olmayan bir şebeke üzerinde güvenli iletişim yapılabilmesi
ve saldırılara karşı korunulabilmesi için, kimliği doğrulanmış varlıklar arasında
anahtarların ve güvenlik parametrelerinin belirlenmesi ve değiş tokuş edilmesi
gerekmektedir. İstenen güvenlik, senaryodan senaryoya değişim gösterdiği için
güvenlik seviyesinin seçilebilir olması gerekmektedir. Bunun sağlanabilmesi için
Internet anahtar yönetimi, pek çok değiş tokuş (excgange) tipi sunmaktadır. Hali
hazırda kullanılmakta olan Internet anahtar yönetiminde bulunan SA yönetimi dengi
denginedir (peer-to-peer) ve şekil 6.4’te gösterilmektedir [10].
İsteği
başlatan eş
Yanıt veren
eş
SA SA
Şekil 6.4 – İki sistem arasındaki güvenlik ilişkisi
Internet güvenlik mimarisinde tanımlanan SA’lar tek yönlü olarak tanımlanmaktadır
[75] ve güvenlik parametre indeksi (Security Parameter Index, SPI) tarafından
112
belirlenmektedir. Grup anahtar yönetiminin oluşturulabilmesi için Internet anahtar
yönetiminden alınması gereken özellikler aşağıda sıralanmaktadır.
1. Ortadaki adam (man-in-the-middle), bağlantı korsanlığı (connection-
hijacking), tekrar gönderim (replay), yansıma (reflection) ve DoS (hizmet
durdurma)saldırılarına karşı koruma sağlanması
2. Anahtar oluşturulmasında, güvenlik düzeyinin seçilebilir olması
3. Ortak anahtar ve PKI gibi birden fazla kimlik doğrulaması
mekanizmasının desteklenmesi
4. Yeni güvenlik mekanizmalarının kullanılabilmesi için ileriye dönük geçiş
yolunun açık olması
5. Yerel politikalara göre SA kurulumunun sağlanabilmesi için tek bir
anahtar yönetim çatısının kullanımı
Internet güvenlik mimarisi için oluşturulmuş ISAKMP [70] ve IKE [68] içerisinde
bulunan pek çok mekanizma; GKMP, LKH, OFT, GSAKMP, NARK ve MARKS
gibi pek çok grup anahtar yönetimi protokolünde kullanılmaktadır [73,76-81]. Bu
protokollerde, her bir üye için eşsiz bir anahtar kullanılmaktadır. Bu anahtarlar
anahtar sunucusu ile noktadan noktaya gerçekleştirilen bağlantılar sayesinde
dağıtılmaktadır. Potansiyel bir üye için kimlik doğrulaması yapılması ve anahtarların
dağıtılabilmesi için üyenin anahtarlama materyallerini sunucudan çekmesi
gerekmektedir. Buna ek olarak, değişimlerin üyelere bildirilebilir olması
gerekmektedir. Bunun için çok hedefli iletim kullanılması, sunucular üzerindeki
yükü azaltacaktır. Grupların tekrar anahtarlanması ve anahtar yönetimi için pek çok
algoritma oluşturulmuştur [73,78-79,81]. Çok yönlü ve yetkin bir grup anahtar
yönetimi mimarisinin ileriye dönük olarak inşa edilebilmesi için, bu algoritmalardan
pek çoğunu destekliyor olması gerekmektedir. Anahtar güncellemelerinin dağıtılması
itme (push) hizmeti olarak sunulmaktadır. Güncellemeler için çok hedefli iletimin
kullanılması, periyodik güncellemeler sırasında GDAS varlığının yükünü
hafifletmekte ve aynı zamanda grup üyelerinin sayısına olan bağımlılığı minimuma
indirmektedir. Böylece ölçeklenebilirlik arttırılmaktadır. Çok hedefli iletim
gruplarının üye sayısında herhangi bir kısıtlama yoktur ve bu sayı sunulan hizmete
göre çok büyük farklılıklar göstermektedir. Grup anahtar yönetiminden beklenen,
gruplara katılımın ve gruptan ayrılmanın kalabalık gruplar için güvenli bir şekilde
yapılmasıdır [63].
113
Internet anahtar yönetimi, bir uygulamayı anahtarlayabilmek için iki adet SA’ya
ihtiyaç duyarken, grup anahtar yönetiminde bu sayı (en az) üçe çıkmaktadır. Bu
SA’lar, grup üyesiyle GDAS arasında olan bir çekme SA’sı, GDAS ile bütün üyeler
arasında olan bir itme SA’sı ve kaynaklar ile alıcılar arasında olan ve verinin
korunması için kullanılan bir veri SA’sıdır. Birden fazla kaynağın olduğu gruplarda
bütün kaynaklar için tek bir SA veya her bir kaynak için ayrı ayrı SA’lar
kullanılabilmektedir.
İlk dönemlerde grup anahtar yönetiminde, IKE ve ISAKMP içerisinde kullanılan
soyutlamaların kullanılması tavsiye edilmiştir [74]. İlerleyen dönemlerde böyle bir
yapıdan yola çıkılmasının mantıklı olduğu fakat yeterli olmayacağı anlaşılmış ve
GSA tanımlanmıştır. Grup güvenlik ilişkileri (Group Security Association, GSA)
tanımlanırken Internet SA’larından da faydalanılmaktadır. GSA, Internet SA
yapısında bulunan dört özelliği kullanmaktadır. Bu özellikler aşağıda
listelenmektedir.
1. SA içerisinde seçiciler bulunmaktadır. Bu seçiciler kaynak ve hedef
taşıma adreslerini tanımlamaktadır.
2. SA içerisinde özellikler tanımlanmaktadır. Bu özelliklere örnek olarak
SPI ve kimlik bilgileri verilebilir.
3. SA içerisinde kriptografik politika tanımlanmaktadır. Bu politika
sayesinde kullanılması gereken algoritmalar, anahtar yaşam süreleri ve
anahtar uzunlukları gibi parametreler belirlenmektedir.
4. SA içerisinde anahtarlar bulunmaktadır. Bu anahtarlar kimlik
doğrulaması, şifreleme ve sayısal imza işlevleri için kullanılmaktadır.
Bunlara ek olarak GSA’da grup politikası bilgileri bulunmaktadır. Bu bilgilere örnek
olarak gruba üye olabilmek için gereken imzalanmış kimlik bilgileri veya grubun
üyeleri değiştiği zaman nasıl bir yol izleneceği, bir başka deyişle anahtarların
değiştirilip değiştirilmeyeceği bilgileri verilebilir. GSA, birden fazla SA’dan
oluştuğu için SA’lar GSA içerisinde öznitelikler olarak saklanmaktadır.
Internet grup anahtar yönetiminde olması gereken özellikler aşağıda liste olarak
sıralanmaktadır [74].
114
1. Internet tek hedefli anahtar yönetimi içerisinde bahsedilen beş özelliği
içermesi
2. IRTF güvenli çok hedefli iletim referans çatısına [63] uygun olması
3. Birden fazla kaynağın olduğu durumlarda her bir kaynak için farklı SA’lerin
kullanılabilmesine izin vermesi
4. Güvenlik politikası ve anahtarlama materyallerinin dağıtımı için, üyeler
tarafından başlatılan çekme ve GDAS tarafından başlatılan itme
operasyonlarına olanak tanıması
5. Çok hedefli iletim gruplarının özelliklerine göre güvenlik yaptırımlarının
değişik seviyelerde uygulanmasına izin vermesi.
1. Kategori SA
(Çekme)
Kaynak
Üye
Başlangıç
kurulumu
(Tek hedefli)
GDAS
Alıcı Üye
Kontrol mesajları
(Çok hedefli)
2. Kategori SA
(İtme)
3. Kategori
SA
Veri
mesajları
(Çok hedefli)
Başlangıç
kurulumu
(Tek hedefli)
Şekil 6.5 – GSA yapısı
Şekil 6.5’te GSA yapısı, içerisinde bulunan SA’lar ile birlikte gösterilmektedir.
Şekildeki her bir ok tek yönlü bir SA’yı göstermektedir. GSA içerisinde toplam üç
farklı SA kategorisi tanımlanmıştır. Birinci kategori SA (SA1), grup üyeleri
tarafından başlatılmaktadır. SA1’in kullanım amacı diğer kategorilerde bulunan
SA’ların korunması ve GDAS’den grupla ilgili GSA bilgilerinin alınmasıdır. Bir
başka deyişle bu SA; potansiyel bir üyenin gruba üye olma isteği veya daha önce
grup üyesi olup da herhangi bir nedenden dolayı gruptan kısa bir süreliğine kopan
üyenin anahtarlar hakkındaki bilgisinin tazelenmesi için kullanılmaktadır. GDAS,
kendisine bağlı olan her bir üye için bir SA1 bulundurmak durumundadır.
GDAS’den çekilen bilgiler içerisinde anahtarlar ve güvenlik politikası bilgileri
115
bulunmaktadır. Bu 3. kategori SA’ya tekabül etmektedir ve bu SA; üyeler ve GDAS
arasında müzakere edilmeden direk olarak üyelerle paylaşılmaktadır.
3. kategori SA’nın GDAS tarafından değiştirilebilmesi için 2. kategori SA
kullanılmaktadır. Bu işlem bir itme işlemi olduğu için 2. kategori SA’ya (SA2) itme
SA’i denmektedir ve bu SA, kontrol mesajları için kullanılmaktadır. Anahtarların
periyodik olarak değiştirilmesi kontrol mesajlarına bir örnektir. SA2, GDAS ve
üyeler arasında müzakere edilmemekte aksine GDAS tarafından dayatılmaktadır. Bir
çok hedefli iletim grubu, anahtar yönetim mimarisine göre birden fazla SA2’ye sahip
olabilmektedir. İkinci kategori SA’nın dağıtımının ölçeklenebilir olabilmesi için, pek
çok algoritma oluşturulmuştur [73,78-82].
Bir sistem, gruba üye olma isteğini belirtip üyelik işlemleri tamamlandıktan sonra
ilgili anahtarları elde etmekte ve çok hedefli iletim içerisine dahil olmaktadır. Gruba
yeni dahil olan bir sistemin üyelik zamanından önce iletilmiş verileri deşifre edip
edemeyeceğine karar verilmesi gerekmektedir. Pek çok uygulama ve hizmet buna
izin vermemektedir. Bu tür denetime geriye dönük güvenlik denmektedir. Aynı
şekilde gruptan herhangi bir nedenden dolayı ayrılan üyelerin daha sonra iletilen
veriyi deşifre edememesi istenmektedir. Bu denetime ileriye dönük güvenlik
denmektedir.
Grup güvenlik ilişkileri modeli, grup anahtar yönetimi için oluşturulmuş bütün
mimarilerin ve protokollerin temelini oluşturmaktadır.
6.2.1.2. Grup Anahtar Yönetim Mimarileri
Grup anahtar yönetim mimarileri, çok hedefli iletimin güvenli bir şekilde
işletilebilmesi için büyük önem taşımaktadır. Grup anahtar yönetimi mimarileri; grup
anahtar yönetimiyle ilgili varlıkların uygun yerde kullanılması, işlevlerinin
tanımlanması, sorumluluklarının belirlenmesi ve diğer varlıklarla olan iletişiminin
düzenlenmesi amacıyla oluşturulmaktadır. Çok hedefli iletimin kullanım alanının çok
geniş olduğu düşünüldüğünde, grup anahtar yönetimi için oluşturulan mimarilerin,
protokollerin ve algoritmaların sadece belirli bir uygulama alanı için müsait olduğu
ve diğer alanlarda işe yaramadığı unutulmamalıdır.
116
Mimarilerin oluşturulması sırasında pek çok çalışma yapılmıştır. Çalışmalar genel
olarak incelendiğinde mimariler tasarlanırken göz önünde bulundurulması gereken
kıstaslar aşağıda sıralanmaktadır.
1. Çok hedefli iletim gruplarının dayanıklılığı ve güvenilirliği: Aktif üyeleri
olan bir grubun yaşamını devam ettirilebilmesi çoğu zaman herşeyden
daha önemlidir. Anahtar yönetim varlıkları kullanım dışı kaldığında
üyelerin bundan etkilenmemesi için yönetim varlıklarının mimariye
yedekli olarak yerleştirilmesi gerekmektedir.
2. Üyelerin coğrafi dağılımı ve üyelik yoğunluğu: Üyelerin şebeke
coğrafyası içerisinde nerede ve ne kadar yoğun olduğu, sistemlerin sabit
mi yoksa mobil mi olduğu gibi özellikler mimarilerin oluşturulmasında
zor bir tasarım problemi olarak ortaya çıkmaktadır.
3. Üyeliğin dinamiği: Gruba girişlerin ve gruptan ayrılmaların frekansı ve
üyelik değişiminin ortalama değeri trafik anahtarlarının tasarımı ve
kullanımı açısından önemlidir.
4. Veri akışının izlediği yol: Verinin yol üzerinde deşifre edilip tekrar
şifrelenmesi gerektiğinde KD varlıkların nasıl konumlandırılacağı önem
taşımaktadır.
5. Güvenilir çok hedefli iletim varlıkları: Mimariler oluşturulurken güvenilir
çok hedefli iletim varlıklarından yararlanılabilmektedir.
6. Güvenin varlıklar arasında dağıtımı: Güvenlik bir çok hedefli iletim
mimarisinde anahtarlama yönetiminin yardımcı varlıklara aktarımı önem
taşımaktadır. Çoğu uygulamada içerik sağlayıcı ile çok hedefli iletim
altyapısını sunan varlıklar (ISS’ler) farklıdır. Anahtar yönetimi için
oluşturulan varlıkların nerede olacağı, içerik sağlayıcı ile ISS’ler
arasındaki güven ilişkisinin nasıl olduğuna göre değişmektedir. Kimi
durumlarda güven ilişkisi olmamakta, kimi durumlarda ise içerik dahi ISS
tarafından sağlamaktadır.
7. Politik sebepler: Fransa gibi bir takım ülkeler kriptoloji teknolojisinin
farklı ülkelere ihracını yasaklamaktadır. Böyle bir durumda anahtar
yönetiminin nasıl yapılacağı ve hangi tür anahtarlama mekanizmalarının
kullanılacağı bir soru işaretidir. Buna ek olarak ekonomik sebepler de
mimariyi etkilemektedir.
117
Grup anahtar yönetimi için pek çok mimari oluşturulmuştur. Bunlardan en önemlileri
IKAM [83] ve Iolus’tur [84]. İlerleyen bölümlerde bu mimariler açıklanmaktadır.
Etki Alanı İçi Grup Anahtar Yönetimi Protokolü [83], (Intradomain Group Key
Management Protocol, IKAM) Internet’in iki katmanlı hiyerarşisi göz önüne alınarak
oluşturulmuştur. IKAM içerisinde sınırları, tercih edilen gruplamaya göre değişen
bölgeler tanımlanmaktadır. Bu sınırlar, kimi zaman otonom sistemin bütününü temsil
etmekte, kimi zaman ise otonom sistemlerin içerisinde oluşturulan alanları temsil
etmektedir. IKAM, bölgeler içerisindeki grup anahtar yönetimini ve bölgeler arası
değiş tokuşları düzenleyen bir mimaridir. Gruba üye olan sistemler, sadece tek bir
bölge içerisinde bulunmaktadır. Grubun alanlara ayrılması sayesinde
ölçeklenebilirlik arttırılmaktadır. Her bir çok hedefli iletim grubu için, farklı bir
yönetimsel çok hedefli iletim grubu kurulmaktadır. Bu grup kullanılarak, kontrol
mesajları ve anahtar yönetimiyle ilgili mesajlar üyelere ulaştırılmaktadır. Her bir çok
hedefli iletim grubu ve yönetimsel kontrol grubu çifti için eşsiz bir anahtar
kullanılmaktadır. IETF tarafından belirlenen güvenlik çatısında yer alan anahtar
yönetim düzleminde bölgeler, iki katmanlı hiyerarşiye göre düzenlenmiştir. Üst
katmanda jonksiyon (trunk) bölgesi olarak isimlendirilen tek bir bölge
bulunmaktadır. Alt katmanda jonksiyon bölgesine bağlanan yaprak bölgeler yer
almaktadır. Yaprak bölgeler kendi içlerinde alanlara ayrılmaktadır. Her bölge
kendine ait anahtar yönetimi protokolünü çalıştırabilmektedir. Her bölgenin kendine
ait bir anahtarları mevcuttur. IKAM, yaprak bölgelerdeki grup anahtar yönetim
mimarisi için kullanılmaktadır. IKAM içerisinde anahtarların veriye nasıl
uygulanması gerektiği tanımlanmamaktadır. Bunun sebebi bu işlevlerin farklı bir
problem alanına (birinci problem alanı) girmesidir. Ancak bunun için IPSec [75]
kullanılabilmektedir.
IKAM içerisinde kullanılan varlıklar ve bölgeler şekil 6.5’de gösterilmektedir. Bir
bölge pek çok alana ayrılmıştır. Böylece anahtar yönetimiyle ilgili işlevler birden
fazla varlık tarafından paylaşılmakta ve ölçeklenebilirlik sağlanmaktadır. Bölge
genelindeki anahtar yönetiminden bölge anahtar dağıtıcısı (Domain Key Distributor,
DKD) sorumludur. Çok hedefli iletimin güvenli bir şekilde yapılabilmesi için bölge
sınırları yönetimsel olarak belirlenmiş [37] alanlara bölünmüştür. Bu alanların
içerisindeki anahtar yönetiminden “alan anahtar dağıtıcıları” (Area Key Distributor,
118
AKD) sorumludur. Yönetimsel işlevler için oluşturulan grupların adreslerinin
belirlenmesi için bölge ve alanlara göre çeşitli varlıklar kullanılabilmektedir. Bu
işlevleri, bölge esasında “bölge çok hedefli iletim tahsis varlığı” (Domain Multicast
Address Allocation Entity, DMAAE), alan esasında ise “alan çok hedefli iletim adres
tahsis varlığı” (Area Multicast Address Allocation Entity, AMAAE) üstlenmiştir.
DKD DMAAE
AKD AKD AKD
m m m m m mm m m
TE
DKD Bölge Anahtar Dağıtıcısı
m
AKD Alan Anahtar Dağıtıcısı
Grup üyesi
TE Çevirici Varlık
DMAAE Bölge ÇHİ Adres Tahsis Varlığı
Bölge
Alan
Şekil 6.5 – IKAM Bölge yapısı
Anahtar dağıtıcıları arasındaki koordinasyonun sağlanabilmesi için, bölge
içerisindeki bütün anahtar dağıtıcılarının üyesi olduğu bir grup kullanılmaktadır. Bu
gruba “bütün-KD-grubu” denmektedir ve bu grup çok hedefli iletim gruplarında
üyeler olsun veya olmasın varlığını her zaman sürdürmektedir. Bu grup bölge
esasında olan ve KD’lerin birbiriyle iletişimini sağlamak için DKD tarafından
kurulan bir gruptur. Gruba üyelik sadece o bölge ile sınırlandırılmıştır. DKD varlığı,
AKD varlıkları ile tek hedefli olarak veya bütün-KD-grubu’nu kullanarak
haberleşmektedir. AKD varlıkları, kendi alanlarındaki üyelerle güvenli tek hedefli
iletişim kanalları kurarak haberleşmektedir. Çok hedefli iletim grubunun bölge
dışında da üyelerinin olduğu durumlarda güvenlik dönüşümlerini üstelenen varlıklar
devreye girmektedir. Bu varlıklar bölgenin sınırlarında bulunmakta ve çevirici varlık
(Translating Entity, TE) olarak isimlendirilmektedir. IKAM mimarisinde, güven
ilişkileri sadece o bölge içerisindeki varlıklarla sınırlı kalmaktadır. Bölge içerisindeki
bütün varlıklar DKD varlığına güvenmektedir. Aynı şekilde bir alan içerisinde yer
alan bütün üyeler o alandan sorumlu olan AKD varlığına güvenmektedir. Şekil
6.6’da IKAM mimarisinin kullanıldığı bir Internet topolojisi gösterilmektedir.
Şekilde anahtar sunucularının (KD) potansiyel olarak konabileceği yerler
gösterilmektedir. KD varlıkları; kaynağın içerisinde bulunduğu etki alanı içerisinde
119
veya alıcıların içerisinde bulunduğu bir otonom sistem içerisinde
konumlandırılabilmektedir. Buna ek olarak, KD’nin bulunmadığı etki alanları, bağlı
oldukları erişim ISS’inden bu hizmeti alabilmekte veya bunun yerine güvenlik
hizmetleri sunan bir ISS ile anlaşmaktadır.
AS
AS
AS
AS
ISS
ISS
ISS
ISSISS
AS
ISS
KA
A
A
A
A
A
A
A
A
AAA
KD
KD
KD
KD
Kaynağın etki
alanındaki KD
Erişim
ISS‟indeki KD
Güvenlik hizmetleri
sağlayıcısındaki KD
Alıcı etki
alanındaki KD
Bütün-KDler grubu Çok hedefli iletim
dağıtım ağacı
Şekil 6.6 – IKAM Internet topolojisi
IKAM mimarisi içerisinde kontrol gruplarının kullanımındaki amaç, anahtarlama
materyalleri ile ilgili yönetimsel haberleşmenin yapılabilmesidir. Bir çok hedefli
iletim grubu için, o bölgede üyeler olduğu sürece kontrol grubu varlığını
sürdürmektedir. Buna ek olarak herhangi bir sistem bir gruba üye olmadan önce o
grup ile ilişkilendirilmiş olan kontrol grubuna üye olmak zorundadır. Sistemin, veriyi
deşifre edecek anahtarları elde etmeden gruba dahil olmasının bir manası yoktur.
IKAM mimarisinde pek çok anahtar kullanılmaktadır [83]. Bu anahtarlardan en
önemlisi çok hedefli iletim grubuna gönderilen verinin deşifre edilmesinde kullanılan
çok hedefli iletim anahtarıdır (Mkey). Bu anahtar sadece izinli üyelerle paylaşıldığı
için alıcı erişim kontrolü uygulanabilmektedir. DKD tarafından o bölge içerisinde
bulunan bütün gruplar için bir çok hedefli iletim anahtarı tahsis edilmektedir. Alanlar
içerisinde üyesi bulunan bütün çok hedefli iletim gruplarının bir kontrol grubuyla
120
ilişkilendirilmesi gerekmektedir. Bu kontrol grupları, AKD varlıkları tarafından
oluşturulduğu için grup trafiğini şifrelemek için kullanılması gereken anahtar AKD
tarafından belirlenmektedir. Bu sayede kontrol grubuna iletilen veri sadece ilgili alan
içerisindeki ilgili üyeler ve AKD tarafından deşifre edilmektedir. Bunun için
kullanılan anahtar, alan grup anahtarı olarak isimlendirilmektedir. Ayrıca bütün-KD-
grubu’na ilişkin trafik, DKD tarafından belirlenen “bütün KD anahtarı” sayesinde
şifrelenmektedir. Sistemin, bir çok hedefli iletim grubuna üye olmak istediğinde
öncelikle içerisinde bulunduğu alanın AKD varlığı ile güvenli bir tek hedefli iletişim
kanalı kurması gerekmektedir. Bu kanalın kurulabilmesi için SA’nın oluşturulması
gerekmektedir. Bu SA, GSA modelindeki birinci kategori SA’ya denk gelmektedir.
Güvenli iletişim kanalı kurulduktan sonra bu kanal sayesinde, grupla ilgili anahtar
materyalleri ve kontrol grubu bilgileri sistem ile paylaşılmaktadır. Her grubun alanlar
içerisinde bir kontrol grubu ile ilişkilendirilmesi fikri pek çok avantajı beraberinde
getirmekte ancak çok hedefli adreslerin kullanımını da aynı oranda arttırmaktadır.
Adres kullanımının optimum şekilde düzenlenebilmesi için üç farklı yol
izlenmektedir. İlk yol alan içerisinde her bir çok hedefli iletim grubu için farklı bir
kontrol grubu olmasıdır. Bu şekilde çok hedefli iletim adresleri çoğu zaman boşa
harcanmaktadır. Buna ek olarak bunun için her bir alan içerisinde AMAAE
varlığının bulunması gerekmektedir. İkinci yol, alan içerisindeki bütün çok hedefli
iletim grupları için tek bir kontrol grubunun ayrılmasıdır. Bu şekilde tek bir kontrol
grubu, o alan içerisindeki bütün üyeler tarafından paylaşılmaktadır Böyle bir yapıda
çok hedefli iletim adresleri minimum olarak kullanıldığı için AMAAE varlıklarına
ihtiyaç duyulmamaktadır. Gruplara özgü iletişim, gruplara özgü anahtarlar
kullanılarak sağlanmaktadır. Üye sistemler, kendi gruplarıyla ilgili olmayan kontrol
trafiğini almakta fakat deşifre edememektedir. Bu yolla adres kullanımı azaltılsa dahi
çeşitli sorunlar ortaya çıkmaktadır. Örneğin kontrol trafiği, ilgili olmayan sistemlere
de ulaştırıldığı için bandgenişliği boşa harcanmaktadır. Ayrıca üye olmayan sistemler
şifreli trafiği almakta olduğu için kriptoanaliz tehdidi gündeme gelmektedir. Adres
kullanımı ile ilgili kullanılan üçüncü ve son yol, ilk iki yolun birlikte kullanılmasıyla
oluşturulan yoldur. Böylece birden fazla çok hedefli iletim grubuna üye olan
sistemler tek bir kontrol grubu ile eşleştirilebilmektedir. Ayrıca kriptoanaliz tehdidi
de bu sayede azaltılmaktadır.
121
Çok hedefli iletim anahtarı, alan grup anahtarı ve bütün-KD-grubu anahtarları, gruba
yönelik olarak kullanılmakta olan simetrik ve özel kriptografik anahtarlardır. Bu
anahtarlara ek olarak IKAM mimarisinde, sadece iki varlık arasında kullanılan iki
farklı anahtar mevcuttur. Bunlardan ilki, o alan içerisindeki üye ile alandan sorumlu
AKD arasında kullanılmakta olan üye özel anahtarıdır (member private key). Alan
içerisindeki bütün üyelerin AKD ile paylaştığı eşsiz bir üye özel anahtarı mevcuttur.
Bu anahtar ve ilgili SA, sistemler gruplara üye olmadan oluşturulmaktadır. İkinci
anahtar ise her bir AKD ile DKD arasında kullanılan anahtardır. Bu anahtar, AKD
özel anahtarı (AKD private key) olarak isimlendirilmektedir. Bu anahtar ve ilgili SA,
tıpkı üye özel anahtarı ve SA’sı gibi uzun vadelidir ve bölge içerisinde üye
bulunmasından önce oluşturulmaktadır.
Çok hedefli iletim gruplarının kurulması için ilk olarak o bölge içerisinde bulunan bir
sistemin ilgili üyelik protokolünü (örneğin IGMP) kullanarak üyelik isteğini
bildirmesi gerekmektedir. Daha sonra, bu isteğin yönlendirme altyapısına iletilmesi
gerekmektedir. İlgili sistem daha önceden yapmadıysa, kendi alanından sorumlu olan
AKD ile bir SA oluşturmalı ve üye özel anahtarını edinmelidir. Daha sonraki adımlar
iki bölüme ayrılmıştır. İlk bölümde çok hedefli iletim anahtarı dağıtılmakta ve ikinci
bölümde ise alan grup anahtarı dağıtılmaktadır. Grubun kurulmasını isteyen sistem,
grubu DMAAE yardımı ile kurmaktadır. DMAAE, isteği başlatan sisteme, imzalı
olarak, çok hedefli iletim grup adresini, grup kimliğini ve isteği başlatan sistemin
kimliğini göndermektedir. Bir sonraki adımda sistem, çok hedefli iletim grup
güvenlik ilişkileri (MGSA) özelliklerini seçmekte ve bunları DMAAE’den aldığı
imzalı bilgilerle birlikte AKD’ye yollamaktadır. Sistem ayrıca AKD’den yeni bir çok
hedefli iletim anahtarı talep etmektedir. Bütün bu işlemler AKD’ye tek bir mesaj
yollanarak iletilmektedir. Bu mesajda DMAAE’den alınan parametreler, MGSA ve
erişim kontrol listesi bulunmaktadır. Özetlemek gerekirse bu mesaj, çok hedefli
iletim grup adresini, grup kimliğini, grubu başlatan sistemin kimliğini, MGSA
bilgilerini, tekrar anahtarlama periyodunu ve erişim kontrol listesini içermektedir.
Üçüncü adımda AKD, grubu başlatan sistemden aldığı bilgileri DKD’ye
iletmektedir. Bu iletim güvenli bir kanaldan yapılmaktadır. DKD, bu bilgileri
aldıktan sonra dördüncü adıma geçilmektedir. DKD, öncelikle aldığı mesajda
DMAAE ile ilgili olan kısımların doğruluğu için DMAAE varlığının imzasını
kontrol etmektedir. Bu kontrol başarıya ulaştıktan sonra, MGSA için grup güvenlik
122
parametre indeksi (GSPI) ve çok hedefli iletim anahtarı kimliği (MkeyID) DKD
tarafından oluşturulmaktadır. Daha sonra bütün grup parametreleri DKD tarafından
imzalanmaktadır. Bu parametreler; çok hedefli iletim adresi, grup kimliği, grubu
başlatanın kimliği, tekrar anahtarlama periyodu, erişim kontrol listesi, MGSA, çok
hedefli iletim anahtarı (Mkey), çok hedefli iletim anahtarı kimliği (MkeyID) ve
zaman damgasıdır. Dördüncü adımın son bölümünde ise DKD, bu bilgileri bütün
AKD’ler ile paylaşmaktadır. Bu işlem bütün-KD-grubu veya tek hedefli iletim
kullanılarak yapılmaktadır. Bu bilgilerin sadece ilgili AKD’lere değil de bütün
AKD’lere dağıtılmasındaki amaç, farklı alanlarda yeni üyelerin ortaya çıkması
durumunda verilecek cevabın hızlandırılması ve AKD’lerin kendi aralarında yedekli
kullanılmasına olanak tanınmasıdır.
Alan grup anahtarlarının dağıtımı, üç farklı adımdan oluşmaktadır. Grubu başlatan
sistemin içerisinde bulunduğu alandan sorumlu olan AKD, DKD’den bilgileri
aldıktan sonra çok hedefli iletim grubunu bir kontrol grubu ile eşleştirmektedir.
AKD, çok hedefli iletim grubu için, alan kontrol grubu adresini, kontrol grubu
kimliğini ve grubu başlatan sistemin bulunduğu alanın kimliğini tutmakla
yükümlüdür. Daha sonra AKD, alan grup güvenlik ilişkileri (AGSA) özelliklerini
belirlemekte ve AGSA için bir GSPI, alan grup anahtarı ve bu anahtarın kimliğini
oluşturmaktadır. Bu parametrelerin imzalanması sonucu ilk adım tamamlanmaktadır.
İmzalanan parametreler; çok hedefli iletim grup adresi, grup kimliği, alana özgü
kontrol grubu adresi, kontrol grubu kimliği, AKD’nin kimliği, tekrar anahtarlama
periyodu, AGSA, alan grup anahtarı, bu anahtarın kimliği ve zaman damgasıdır.
İkinci bölümde grubu başlatan sistemin AKD varlığı grubu başlatan sisteme çok
hedefli grup parametrelerini iletmektedir. Bu parametreler içerisinde bu kez erişim
kontrol listesi ve kontrol grup parametreleri bulunmamaktadır. Üçüncü ve son
bölümde grubu başlatan sistem kontrol grubuna katılmaktadır. Grubu başlatan sistem
bölge haricinde bir şebeke bulunduğu zaman farklı bir yol izlenmektedir. Bunun için
öncelikle DKD’nin durumdan haberdar edilmesi gerekmektedir. Bu işlem pek çok
yolla yapılabilmektedir. Gruba katılan sistemin AKD ve DKD’yi otomatik olarak
uyarması, sınır yönlendiricilerinin katılım isteklerini yakalayarak DKD’ye bildirimde
bulunması veya DKD’nin harici kaynakları içeren grupların bir üyesi olması bu
yollara örnek olarak gösterilebilir. Harici kaynaklardan bölgeye gelen çok hedefli
iletim trafiği farklı bir grup anahtar yönetim otoritesi altında oluşturulduğu için bölge
123
içerisindeki DKD’ye ihtiyaç duyulmayabilir. İhtiyaç duyulduğu zaman yapılması
gereken işlem gelen trafiğin deşifre edilmesi ve bölge içerisinde uygulanan grup
anahtar yönetimi ilkelerine sadık kalınarak tekrar şifrelenmesidir.
Grup iletişiminde kullanılan anahtarların değişimi iki farklı nedenden dolayı
yapılmaktadır. Bunlardan ilki grup başlatıcısı (grup sahibi) tarafından belirlenen
periyodik değişimdir. Diğer neden ise üyelik değişimleridir. Çok hedefli iletim
gruplarıyla ilgili bütün tekrar anahtarlama işlemleri DKD tarafından başlatılmakta ve
kontrol edilmektedir. Kontrol gruplarıyla ilgili bütün tekrar anahtarlama sorumluluğu
ise AKD varlıklarına aktarılmıştır. Çok hedefli iletim grubunun anahtarının
değiştirilmesi toplam beş adımdan oluşmaktadır. İlk adımda DKD, bütün AKD’lere
tekrar anahtarlama işlemine hazır olmaları için özel bir mesaj göndermektedir. Bu
mesajda çok hedefli iletim grubunun adresi ve kimliği bulunmaktadır. İkinci adımda
DKD, MGSA için yeni bir GSPI, yeni bir çok hedefli iletim anahtarı ve anahtar
kimliği üretmektedir. Üçüncü adımda çok hedefli iletim grubuna haiz özellikler DKD
tarafından imzalanmaktadır. Bu özellikler sırayla çok hedefli iletim grup adresi, grup
kimliği, MGSA, yeni çok hedefli iletim anahtarı, yeni anahtar kimliği ve zaman
damgasıdır. Dördüncü adımda DKD, bu bilgileri AKD’lere güvenli olarak
iletmektedir. Beşinci ve son adımda ise AKD’ler bu bilgileri güvenli olarak ilgili
sistemlere dağıtmaktadır. Dağıtım için alan kontrol grubu veya tek hedefli güvenli
iletim kullanılmaktadır.
Alan anahtarlarının değiştirilmesi ise AKD’ler tarafından yürütülmekte ve dört
adımda tamamlanmaktadır. İlk adımda AKD, ilgili bütün üyelere tekrar
anahtarlamaya hazır olunmasına dair bir mesaj yollamaktadır. Bu mesajda tekrar
anahtarlanacak kontrol grup adresi ve grup kimliği bulunmaktadır. İkinci adımda
AKD, AGSA için yeni bir GSPI, yeni bir kontrol grup anahtarı ve anahtar kimliği
üretmektedir. Üçüncü adımda AKD üyelere göndereceği bilgileri imzalamaktadır. Bu
bilgiler; kontrol grubunun adresi, grubun kimliği, AGSA, yeni kontrol grubu
anahtarı, yeni grup kimliği ve zaman damgasıdır. Dördüncü ve son adımda AKD, bu
bilgileri mesaj haline getirmekte ve ilgili üyelerle paylaşmaktadır. Burada iki farklı
yol izlenebilmektedir. İlk yol kontrol grubunun kullanılması, ikinci yol ise tek hedefli
güvenli iletişimin kullanılmasıdır. Grup anahtarlama yönetimi altyapısını ilgilendiren
bütün-KD-grubu anahtarının değiştirilmesi daha önce açıklanan değişim
prosedürleriyle benzerlik göstermektedir.
124
Bölge içerisindeki bir sistem, o bölge içerisinde kayıtları olan ve aktif olarak iletimin
yapıldığı bir gruba üye olmak istediğinde geçmişte gruba iletilmiş olan veriye erişip
erişemeyeceğinin belirlenmesi gerekmektedir. Erişim izni, güvenlik politikası
tarafından belirlenmektedir. Uygulanan politikaya göre, sıkı veya gevşek tekrar
anahtarlama seçilmektedir. Sıkı tekrar anahtarlamada, grup üyeliği değişir değişmez
tekrar anahtarlama uygulanmaktadır. Gevşek anahtarlamada ise tekrar anahtarlama
için belirtilen periyodun geçmesi beklenmektedir. Sıkı tekrar anahtarlama, yeni
katılan ve gruptan ayrılan her üye için çok hedefli iletim anahtarının ve ilgili alandaki
alan grup anahtarının değiştirilmesiyle sağlanmaktadır. Gruba üye olmak isteyen
sistem, o alan içerisinde o gruba üye olmak isteyen ilk sistem ise diğer alanlardaki
anahtarların da değiştirilmesi gerekmektedir. Bunun nedeni, o sistemin geçmişte
diğer alanlardaki trafiği depolamış olma olasılığıdır.
IKAM mimarisinin temelini oluşturan iki katmanlı yapı, Iolus [84] mimarisinde çok
katmanlı yapıya dönüştürülmüştür. Iolus’ta hiyerarşinin ne kadar derin olacağına dair
herhangi bir limit bulunmamaktadır. Mimari içerisinde güvenli dağıtım ağacı
kullanılmaktadır. Bu ağaç, güvenli ve küçük olan pek çok alt gruptan oluşmaktadır.
Bu alt gruplar hiyerarşik bir şekilde birbirlerine bağlanmakta ve tek bir sanal grup
oluşturmaktadır. Ölçeklenebilirlik, bütün alt grupların birbirinden bağımsız olması
sayesinde sağlanmaktadır. Her alt grubun kendine ait çok hedefli iletim grup adresi
bulunmaktadır. Alt grupların oluşturulması ve işletilmesi için belirli bir yönlendirme
protokolüne ihtiyaç duyulmamaktadır. Her alt grup, Ksgrp olarak isimlendirilen
kendine ait anahtara sahiptir. Dolayısıyla genel bir grup anahtarı bu mimaride
mevcut değildir. Üyelik değişimleri sadece yerel alt grubu etkilemektedir ve ilgili
Ksgrp’nin değişimi bu iş için yeterli olmaktadır. Mimarinin işletilebilmesi için alt
grupların yönetilmesi ve birbirine bağlanması gerekmektedir. Bu işlevler için iki
farklı varlık tanımlanmaktadır. Bunlardan ilki, grup güvenlik kontrolörüdür (Group
Security Controller, GSC). GSC varlığının görevi en yüksek seviyedeki alt grubu ve
grup güvenlik arabulucularını (Group Security Intermediary, GSI) yönetmektir. Her
bir alt grup için bir adet GSI mevcuttur. Gruba üye olmak isteyen sistemler alt
gruplara katılmaktadır. GSI varlıkları alt grup hiyerarşisini oluşturmaktadır. GSC
varlığı ise, güvenli dağıtım ağacının yönetiminden ve dolayısıyla çok hedefli iletim
grubunun güvenliğinden sorumludur. GSI varlıkları, kendilerine bağlı alt dal GSI
varlıkları için GSC varlığının vekili gibi davranmakta ve ayrıca kendi alt gruplarını
125
kontrol etmektedir. GSI varlıkları, güvenli dağıtım ağacı içerisinde bulundukları
seviyeye göre gruplanmaktadır. Alt seviyede bulunan GSI varlıkları üst seviyedeki
GSI varlıklarına bağlanmakta ve üst seviyede bulunan GSI varlıkları en üst seviyede
GSC varlığına bağlanmaktadır. Her bir alt grup için farklı bir Ksgrp anahtarı mevcut
olduğu için her bir çok hedefli iletim paketinin GSI varlıklarına deşifre edilerek yeni
Ksgrp ile tekrar şifrelenmesi gerekmektedir. Mimari içerisinde kullanılan hiyerarşi
GSC varlığının otoritesinin alt seviyede bulunan GSI varlıklarına dağıtılmasını
sağlamakla birlikte verinin alt gruplar arasında tekrar çok hedefli olarak iletilmesini
de basitleştirmektedir [84]. Iolus mimarisinde yer alan hiyerarşik yapı şekil 6.7’de
gösterilmektedir.
A
A
AA A
A
GSC
AA
A
AA
A
AA
A
K
GSI
GSI
GSI
GSI
1
2
3
3
4
5
GSI
Şekil 6.7 – Iolus mimarisindeki hiyerarşik yapı
Şekilde gösterilmekte olan topoloji, hiyerarşik olarak bölümlere ayrılmıştır.
Kaynağın var olduğu bölge, hiyerarşideki ilk bölge olmaktadır. Başlangıç safhasında,
çok hedefli iletim grubunun oluşturulabilmesi için sadece GSC varlığının
operasyonel olması yeterlidir. GSC varlığı, ilk olarak sistemlerle ilgili erişim kontrol
listesine ihtiyaç duymaktadır. Güvenlik politikası, bu liste sayesinde
oluşturulmaktadır. GSC başlatıldıktan sonra, GSI varlıkları ve grup üyeleri alt
gruplara katılımı başlatmaktadır. Bir sistem, gruba üye olmak istediğinde öncelikle
kendisiyle ilgili alt grubu kontrol eden GSA varlığını aramaktadır. İlgili GSA
bulunduktan sonra, katılım mesajı güvenli bir tek hedefli iletim kanalından
gönderilmektedir. Bu mesaj GSA varlığına ulaştıktan sonra, ilk olarak erişim kontrol
126
listesi veritabanı kontrol edilmektedir. Bu kontrolün başarıya ulaşması sonucunda
üyelik işlemleri başlatılmaktadır. İlk olarak sadece yeni üye ile paylaşılacak olan
KGSI-MBR anahtarı üretilmekte ve üye ile ilgili diğer bilgilerle birlikte veri tabanına
yerleştirilmektedir. Daha sonra bu anahtar ve grupla ilgili diğer bilgiler güvenli kanal
kullanılarak üyeye ulaştırılmaktadır.
Alt gruba yeni bir üye katıldığı için alt grup anahtarı olan Ksgrp’nin değiştirilmesi
gerekmektedir. Aksi halde yeni üye kullanımda olan anahtar sayesinde geçmişte
iletilmiş olan veriyi deşifre edebilir hale gelmektedir. Ksgrp’nin değiştirilebilmesi için,
GSI yeni bir anahtar oluşturmakta (K’sgrp) ve bu anahtarı Ksgrp ile şifreleyerek grup
üyelerine çok hedefli olarak iletmektedir. Bir sistem, yeni bir gruba katılmak
istediğinde, bu sistem ile ilgili GSI o grubun üyesi değilse, GSI varlığının güvenli
dağıtım ağacına dahil edilmesi için aynı yöntem izlenmektedir.
Iolus mimarisinde her katılım isteğinin bir geçerlilik süresi mevcuttur. Bu süre
dolduğunda trafiğin artık istenmediği varsayılmaktadır. Üyelerin, grup içerisinde
kalabilmeleri için daha önceden kurdukları güvenli kanal üzerinden güncelleme
mesajları göndermeleri gerekmektedir. Grup üyelerinden bir tanesi alt gruptan
ayrılmak istediğinde GSA varlığına ayrılma mesajı göndermektedir. Ayrılma işlemi,
gruptan atılmak istenen bir üye için de işletilebilmektedir. Her iki durumda da
Ksgrp’nin değiştirilmesi gerekmektedir. Bunun için yeni alt grup anahtarı K’sgrp
üyelerin özel anahtarı olan KGSA-MRB ile şifrelenerek üyelere gönderilmektedir. Bu
gönderimin tek hedefli olması zorunlu değildir. Alt grup içerisinde kalması istenen
bütün üyeler için özel anahtarlarla şifrelenmiş K’sgrp’ler bir araya getirilmekte ve alt
gruba çok hedefli olarak iletilmektedir. Bu sayede alt grup içerisinde kalması istenen
her sistem sahip olduğu anahtar ile mesajın kendine ait kısmını deşifre edebilmekte
ve K’sgrp anahtarına sahip olmaktadır. Böylece, n üyenin bulunduğu bir alt grupta
O(n) uzunluğundaki bir mesaj O(n) adet mesajın yerini almaktadır. Gruptan
ayrılmalar sonucunda alt grupta hiçbir üye kalmadığı zaman ilgili GSI gruptan
ayrılmaktadır.
Iolus mimarisinde, iletilen çok hedefli verinin bütün üyelere ulaştırılması; grubun
tamamı için tek bir anahtar kullanan mimarilere göre daha karmaşıktır. Bunun nedeni
yapının hiyerarşik olmasıdır. Kaynak tarafından iletilen veriyi ilk olarak yerel alt
grup almaktadır. Daha sonra alt grubun sorumlu GSI varlığı, veriyi deşifre edip yeni
127
alt grup anahtarlarıyla tekrar şifrelemektedir. Böylece çok hedefli iletim bütün alt
gruplara iletilmektedir. Çok hedefli iletimin bütün gruba yapılması için iki farklı
method kullanılmaktadır. İlk method, kaynağın veriyi alt grup anahtarıyla
şifreleyerek, direk olarak yerel alt grubuna göndermesidir. Üst dalda bulunan GSI,
çok hedefli iletimi dinlemekte ve kaynaktan gelen veriyi deşifre ederek uygun alt
grup anahtarlarıyla şifrelemektedir. Kaynaktan gelen bilgi bu şekilde diğer alt
gruplara iletilmektedir. Bu mimaride en fazla yük, GSI varlıklarına binmektedir.
Verinin deşifre edilmesi ve tekrar şifrelenmesi için çok fazla kaynak ve işlem gücü
harcanmaktadır. Bunun azaltılabilmesi için dolaylı şifreleme kullanılmaktadır.
Dolaylı şifreleme tekniğinde çok hedefli iletim verisinin Ksgrp anahtarı ile
şifrelenmek yerine ilk olarak, rastlantısal bir anahtar üretilmektedir. Çok hedefli
iletim verisi, bu anahtar ile şifrelenmektedir. Daha sonra bu anahtar, Ksgrp ile
şifrelenmektedir. Böylece çok hedefli iletim verisi rastlantısal olarak üretilen anahtar
ile; rastlantısal olarak üretilen anahtar ise Ksgrp ile şifrelenmiş olmaktadır. Son olarak
şifrelenmiş veri ve şifrelenmiş anahtar mesaj içerisine yerleştirilerek yollanmaktadır.
İlgili GSI, bu mesajı aldığında yeni bir alt gruba göndermek için sadece rastlantısal
anahtarı deşifre etmekte ve yeni alt grubun Ksgrp anahtarı ile tekrar şifrelemektedir.
Böylece deşifre etme ve tekrar şifreleme işlemleri bütün veri için değil sadece bir
anahtar için yapılmakta ve dolayısıyla kaynaklar daha etkili kullanmaktadır. Çok
hedefli iletimin, kaynak tarafından doğrudan yerel alt gruba yapılması, Ksgrp
anahtarları güncel olmayan sistemler var olduğu sürece güvenlik açıkları
yaratmaktadır. Çok hedefli iletim verisi, Ksgrp anahtarı güncel olmayan bir kaynak
tarafından şifrelendiği zaman eski grup üyeleri veriyi deşifre edebilmektedir. Aynı
durum eski Ksgrp anahtarı güncel olmayan alıcılar için de geçerlidir. Eski bir anahtara
sahip olan alıcılar eski kaynaklardan veri aldığında bu veriyi güncel olarak
değerlendirebilmektedir. Bu tür güvenlik açıklarının engellenebilmesi için kaynağın
çok hedefli iletim verisini, KGSI-MBR anahtarı ile şifreleyerek direk olarak GSI
varlığına göndermesi gerekmektedir. GSI, aldığı şifreli veriyi deşifre etmekte ve Ksgrp
anahtarı ile şifreleyerek yerel alt gruba göndermektedir. Böylece daha önce
bahsedilen güvenlik açıkları bertaraf edilmiş olmaktadır. Alıcı sistemler, trafiği GSI
varlığından aldıkları için iletişim güvenli bir şekilde yapılmaktadır. Çok hedefli
iletim grubunun, güvenlik nedenlerinden dolayı periyodik olarak tekrar
anahtarlanması gerekmektedir. Böylece kriptoanaliz saldırılarının önüne geçilmeye
çalışılmaktadır. Üretilen yeni K’sgrp anahtarının, Ksgrp anahtarı ile şifrelenerek gruba
128
çok hedefli olarak iletilmesi, optimum güvenliği sağlamamaktadır. Bunun nedeni
böyle bir yapının bir zincir oluşturması ve zincirin herhangi bir parçasının kopması
sonucu bütün zincirin bundan etkilenmesidir. Iolus mimarisinde Ksgrp anahtarı bütün
gruba özgü olmadığı ve sadece alt gruplarda kullanıldığı için böyle bir tehlike yerel
gruplarla sınırlı kalmaktadır. Grupların yaşam süresi bittikten sonra kapatılmaları
gerekmektedir. Bu işlem için GSC varlığının kapatılması yeterlidir. Daha sonra GSC
varlığı, alt dalda bulunan GSI varlıklarına grup kapatma mesajı göndermekte ve
böylece grubun kapatılma işlemi alt dallara iletilmektedir.
Iolus mimarisinde güvenli dağıtım ağacının yönetiminin kimin tarafından yapılacağı
önem taşımaktadır. Bu sorunun yanıtı, çok hedefli iletim içerik sağlayıcısı ile şebeke
sağlayıcısının (ISS) kim olduğuna göre değişmektedir. Gerçek hayatta çoğu zaman,
içerik sağlayıcı ile şebeke sağlayıcı aynı yönetimsel varlıklar olmamaktadır. En
güvenli yol, GSA varlıklarının (burada GSA, Group Security Agent olarak
kullanılmaktadır ve Group Security Association ile bir ilgisi bulunmamaktadır) çok
hedefli iletim içerik sağlayıcının kontrolünde bulunmasıdır. Ancak GSA varlıkları
çoğu zaman şebeke sağlayıcısının konrolünde bulunduğu için bu her zaman mümkün
olmamaktadır. Genelde GSA varlıkları şebeke içerisinde sabit bir yerde bulunmakta
ve bütün çok hedefli iletim grupları için kullanılmaktadır. İçerik sağlayıcı, güvenli
bir çok hedefli iletim yapmak istediğinde şebeke sağlayıcısına baş vurarak GSA
varlıklarını kiralamaktadır. Bu çalışmada, gelecekte çok hedefli iletim trafiği çok
fazla olan içerik sağlayıcılarının, kendi GSA varlıklarını tedarik edeceği ve
kullanacağı öngörülmektedir. GSA varlıklarının şebeke içerisinde nerelere
yerleştirilmesi gerektiği önemli bir tasarım parametresidir. Yer bilgisi üyelerin
dağılımıyla doğrudan ilişkili olduğu için optimum yerlerin bulunması hemen hemen
imkansızdır. Bunun nedeni optimum yerlerin bulunmasının, gelecekteki üye
dağılımının şimdiden bilinmesini gerektirmesidir. GSA varlıklarının yerlerinin
dinamik olarak değiştirilebilmesi istenmektedir. İleride herhangi bir GSA varlığının
aşırı yüklenmesi hizmet kalitesinin düşmesine sebep olacağından bir grup üyenin
yeni bir GSA oluşturularak aşırı yüklenmiş GSA varlığından ayrılması
sağlanmaktadır. Böylece ölçeklenebilirlik azalmaktadır. Iolus mimarisinin analizi
sonucu ortaya çıkan diğer bir sorun ise gruba üye olmak isteyen üyelerin kendi yerel
bölgesinde bulunan GSA varlıklarını nasıl keşfedeceğidir. Keşif işleminin
karmaşıklığı GSA varlıklarının yerinin sabit olup olmamasına bağlıdır. Önerilen,
129
yerleri dinamik olarak değişen GSA varlıklarının bulunması için önerilen yol, yerel
dizin hizmetlerinin kullanılmasıdır. Böylece gruplara üye olmak isteyen üyeler yerel
dizinleri sorgulamakta ve kendi bölgesi için hangi GSA’yı kullanması gerektiğini
bulmaktadır.
6.2.1.3. Grup Anahtar Dağıtımı ve Ölçeklenebilir Tekrar Anahtarlama
Algoritmaları
Çok hedefli iletimin güvenli hale getirilmesi için kullanılan anahtarların, periyodik
olarak ve üye değişiklikleri gibi çeşitli sebepler dolayısıyla pek çok kere
değiştirilmesi gerekmektedir. Bir grubun tekrar anahtarlanması, bir başka deyişle
kullanımda olan anahtarların değiştirilmesi için izlenmesi gereken en basit yol, yeni
grup anahtarının her bir üyeye teker teker iletilmesidir. Böyle bir tasarım, üye
sayısının az olduğu gruplarda dahi ölçeklenebilirlik sağlamamaktadır.
Gerçekleştirilmesi gereken işlemler böyle bir algoritmada grup üyelerinin sayısıyla
doğrusal olarak artmaktadır. Buna ek olarak anahtarları dağıtmakla görevli olan
varlığın işlem gücü ve yapılması gereken işlemleri karmaşıklığı grup üyelerinin
sayısını büyük ölçüde kısıtlamaktadır. Güvenliğin, çok hedefli iletimin bütün
uygulamalarında sağlanabilmesi için yeni anahtar dağıtım algoritmalarının üzerine
çalışılmış ve zamanla pek çok yeni algoritma ortaya çıkmıştır. Anahtar dağıtım
algoritmaları, çok hedefli iletim uygulamalarının tamamına hitap etmemektedir.
Çoğu algoritma belirli koşullar altında kullanılabilmektedir. Bu koşullar, çok hedefli
iletim uygulamalarının özelliklerine göre değişmektedir.
Buna ek olarak, çok hedefli iletimin sadece güncel grup üyeleri çerçevesinde
yapılması gerekmektedir. Güvenliğin tam olarak sağlanabilmesi için geriye dönük ve
ileriye dönük gizlilik ilkelerine sağdık kalınması gerekmektedir. Bir başka deyişle
üyelerden biri ayrıldığında, grup anahtarlarının değiştirilerek ayrılan üyenin
gelecekteki bilgileri alması engellenmektedir. Aynı şekilde gruba yeni bir üye
alındığında grup anahtarları yeni üyenin geçmişte iletilmiş olan şifreli veriyi deşifre
edememesi için değiştirilmektedir. Grup üyelerinin değişmesi sonucu anahtarların
yenilenmesi farklı şekillerde yapılabilmektedir. Çok hedefli iletim uygulamasında
istenen güvenlik seviyesine göre grubun tekrar anahtarlanması, ivedi şekilde veya
yığın halinde yapılmaktadır. Güvenliğin en yüksek seviyede olduğu askeri
uygulamalarda, gruptaki üye değişimlerinin hemen işleme konulması istenmektedir.
130
Böylece güvenlik açıkları ortaya çıkmamaktadır. Askeri uygulamalar kadar sıkı
güvenlik istenmeyen ticari uygulamalarda, grup üyelerinin giriş çıkışları biriktirilerek
yığınlar halinde ve ya periyodik olarak işlenme konmaktadır. Böylece üye sayısının
çok olduğu gruplarda grup denetleyicisi ve anahtar sunucusu işlem gücü bakımından
rahatlatılmaktadır [85,86]. Çoğu uygulama, grup üyelerindeki değişiklikleri yığınlar
haline işlemekte ve buna ek olarak kötü niyetli kişilerin kontrolüne geçen üyelerin
gruptan derhal çıkarılması için gerekli mekanizmaları bulundurmaktadır. İsteklerin
biriktirilerek yığın halinde işlenmesi ileriye ve geriye dönük gizlilik ilkelerine ters
düşmektedir. Gruptan ayrılan üyeler, ilgili anahtarlar değiştirilene kadar gruba
iletilen trafiği alıp deşifre edebilmektedir. Bu durum şekil 6.8’de gösterilmektedir.
Ayrılan üye
Katılan üye
Tekrar anahtarlama
Üye ayrılırGrup trafiğini deşifre
etmeye devam ederZaman
Şekil 6.8 – Yığın işleme ve ileriye dönük güvenlik
Televizyon yayıncılığının çok hedefli iletim ile yapıldığı uygulamalarda, müşterilerin
gruba giriş çıkış zamanları belirlidir. Bu tür uygulamalarda müşteriler, ilk olarak
istedikleri filmin uygun seansına kayıt yaptırmaktadır. Seansın başlamasından hemen
önce ilgili gruba girişler yapılmakta ve seans bittikten sonra grup boşaltılmaktadır.
Böyle bir ortamda, üyelerin giriş çıkışları önceden bilinmektedir. Üyelerin çıkış
zamanının bilindiği bir uygulama için kullanılabilecek optimum algoritma MARKS
algoritmasıdır [81]. MARKS algoritmasında, gruba üye olan bir sistemin ne zaman
gruptan ayrılacağı üyelik işlemlerine başlanırken öğrenilmektedir. Bu bilgiler
ışığında, ilk olarak grubun yaşam süresi t zaman periyoduna bölünmektedir. Her
zaman dilimi için bir anahtar üretilmektedir. Böylece toplam t adet K1, K2, K3, …, Kt
anahtarı üretilmiş olmaktadır. Sistemler gruba üye olmak istedikleri zaman, gruptan
ne zaman ayrılacaklarının bilgisini GDAS ile paylaşmaktadır. t1 ila t2 zamanları
arasında grupta kalmak isteyen bir üyeye, Kt, Kt1+1, Kt1+2, Kt1+3, …, Kt2-1, Kt2
anahtarları verilmektedir. MARKS algoritmasında bu tür bir anahtar dağılımı için
hiyerarşik rastlantısal diziler (seed) kullanılmaktadır. GDAS ilk olarak hiyerarşinin
kökünü oluşturmak için bir rastlantısal dizi kullanmaktadır. Daha sonra bir alt
131
seviyedeki diziler hesaplanmaktadır. Bunun için gL ve gR olarak isimlendirilen iki
farklı tek yollu perdeleme işlevi kullanılmaktadır [81]. Bu işlem, hiyerarşinin en alt
tarafında bulunan yaprakların sayısı t olana kadar devam etmektedir. Böylece grup
yaşam süresinin oluşturan periyotlar tamamlanmış olmaktadır. MARKS
algoritmasında yer alan dizi oluşturma mekanizması şekil 6.9’da gösterilmektedir.
S0,0
S1,0
S3,0
S2,0
S3,1 S3,2 S3,3 S3,4 S3,5 S3,7S3,6
S2,1 S2,2 S2,3
S1,1
A üyesinin yaşam süresi
K0 K1 K2 K3 K4 K5 K6 K7
S1,0 = gL(S0,0)
S1,1 = gR(S0,0)
gR, gL perdeleme işlevleri
A üyesi tarafından alınanlar
Si,j
İ = düğümün derinliği
J = i derinliğindeki dizin
Şekil 6.9 – MARKS algoritmasındaki anahtar dağıtımı
Şekil 6.9’da gösterilmekte olan anahtar ağacında, yapraklarda bulunan her bir düğüm
grubun yaşam süresi içerisindeki bir periyoda denk gelmektedir. Alt dal dizilerini
oluşturmak için kullanılan işlevler tek yolludur ve işlevlerin çıktısından yola
çıkılarak girdilerinin bulunması çok uzun zaman almakta dolayısıyla pratikolarak
imkansız hale gelmektedir. Örneğin S2,2 verildiği zaman, gL kullanılarak S1,1’in
bulunması imkânsızdır. Şekil 6.9’da, gruba K2’den K6’ya kadar toplam 5 periyot için
üye olmak isteyen bir sistem gösterilmektedir. Bu sistem, üyelik isteğini GDAS’a
belirttikten sonra S2,1, S2,2 ve S3,6 olmak üzere toplam 3 adet dizi almaktadır. Bu
bilgiler sistemin gruba üye yapılması sırasında iletilmektedir. Daha sonra, A sistemi
gR ve gL yardımı ile S2,1’i kullanarak S3,2 ve S3,3’ü; S2,2’yi kullanarak S3,4 ve S3,5’i
hesaplamaktadır. Grubun bütün yaşam süresi için grupta kalacak bir üyeye sadece
S0,0 iletilmektedir. Üye, S0,0’ı kullanarak bütün periyotlara ait şifreleri
bulabilmektedir. MARKS algoritmasında, bütün anahtar iletişimi sistemler gruba üye
olurken yapılmaktadır. Dolayısıyla anahtar iletişimi tamamen tek hedefli iletim
üzerinden gerçekleştirilmektedir. Bu iş için tek hedefli iletimin kullanılması
güvenilirliği arttırmakta ve ek yükü azaltmaktadır. MARKS algoritmasında bir
üyelerin karşılaştığı en fazla işlem gerektiren durum, o üyenin grubun bütün yaşam
süresince grupta kalmasıdır. Böyle bir durumda sadece S0,0 gönderildiği için üyenin
132
(2t-2) adet hesaplama yapması gerekmektedir. GDAS için en kötü durum bir üyenin
K1 ve Kt haricindeki bütün anahtarları talep etmesi esnasında yaşanmaktadır. Böyle
bir durumda GDAS, toplam 2log(t/2) adet dizi göndermektedir.
Algoritma analizi sonucunda tekrar anahtarlamanın mümkün olmadığı
görülmektedir. Sistemler gruba üye olduktan sonra bütün grup üyeleri tekrar
anahtarlanmadan gruptan atılamamaktadır. Algoritma içerisinde böyle bir
mekanizmanın olmaması kullanım alanını büyük ölçüde daraltmaktadır. Grup
üyelerinin gruba katılma ve ayrılma zamanları her zaman önceden bilinmemektedir.
Bu tür durumlarda LKH [89] algoritması kullanılabilmektedir.
Mantıksal anahtar hiyerarşisi (Logical Key Hierarchy, LKH) algoritmasında grup
güvenlik denetleyicilerinin hiyerarşik bir yapıya ayrılması [84] yerine, anahtarlar
hiyerarşik bir yapıya ayrılmaktadır. Algoritma içerisinde güvenli bir grup, (U, K, R)
üçlüsü olarak ifade edilmektedir. Burada U, belirli bir kullanıcı kümesini, K ise
belirli bir anahtar kümesini temsil etmektedir. R ise, R U x K denklemini sağlayan,
kullanıcı anahtar eşleşmelerini içeren sayısal bir bağıntıyı göstermektedir. u
kullanıcısı, k anahtarına sadece ve sadece K kümesinde (u,k) tanımlı ise sahip
olabilmektedir. Her bir kullanıcı, kendi bireysel anahtarını ve grup anahtarını içeren
bir anahtarlar kümesine sahip olmaktadır. K kümesi içerisinde bulunan anahtarların
düzenlenmesi sayesinde hiyerarşik bir yapı elde edilmekte ve ölçeklenebilirlik
sağlanmaktadır. Algoritmada, çok hedefli iletim için güvenilir bir grup sunucusu
olduğu varsayılmaktadır. Bu sunucunun görevi, grup erişim kontrolünden sorumlu
olmak ve anahtar yönetimini gerçekleştirmektir. Sunucu, U ve K kümesini bilmekte
ve R kümesini oluşturmaktadır. Örnek olarak dokuz üyeden oluşan bir grup olduğu
varsayıldığında grup dağılımı {u1, u2, u3}, {u4, u5, u6}, {u7, u8, u9} olmak üzere üç
farklı alt gruptan oluşmaktadır. Her bir üyeye; bireysel anahtarı, grup anahtarı ve alt
grup anahtarı olmak üzere toplam üç anahtar dağıtılmaktadır. Böyle bir yapıdan u1
üyesinin ayrılması için ilk olarak geride kalan sekiz üyenin yeni bir grup oluşturması
ve yeni bir grup anahtarı edinmesi gerekmektedir. Buna ek olarak, u2 ve u3’ün yeni
bir alt grup oluşturması sağlanmalıdır. Grup sunucusu, yeni grup anahtarını
kullanıcıların bireysel anahtarları ile şifreleyerek, u2 ve u3’e yollamaktadır. Diğer
kullanıcılar için bu iş alt grup anahtarları kullanılarak yapılmaktadır. Böylece her bir
kullanıcıya iki yerine üç anahtar verilmekte fakat gruptan ayrılma operasyonu için
sekiz şifreleme yerine beş şifreleme yapılmaktadır. Bu durum genelleştirildiğinde,
133
d’nin katları olarak ifade edilebilen n adet kullanıcı için K kümesi her düğümde d
adet bacak olan tam ve dengeli bir ağaç içerisinde yerleştirilmiş anahtarlardan
oluşacaktır. Bir kullanıcının böyle bir ağaçtan ayrılması için n-1 adet şifreleme
yapılması gerekirken LKH algoritmasında şifreleme sayısı dlogd(n) adet olmaktadır.
100,000 kullanıcılı bir grup için şifreleme kazancı, gözle görülür biçimde
artmaktadır.
R kümesi oluşturulduktan sonra anahtar çizgesine geçilmektedir. Anahtar çizgesinde
iki farklı düğüm tipi bulunmaktadır. U-düğümleri kullanıcıları ve k-düğümleri
anahtarları ifade etmektedir. Her bir u-düğümünden bir veya daha fazla ok
çıkmaktadır. K-düğümlerine ise bir veya bir kaç tane ok girip çıkmaktadır. G çizgesi
verildiğinde, (U, K, R) güvenli grubunun tanımlanabilmesi için aşağıda sıralanan üç
koşulun sağlanması gerekmektedir.
1. U ile G çizgesi içerisindeki bütün u-düğümleri arasında bire bir ilişki
olması gerekmektedir.
2. K ile G çizgesi içerisindeki bütün k-düğümleri arasında bire bir ilişki
olması gerekmektedir.
3. (u,k) ikilisi, sadece ve sadece G çizgesinde u kullanıcısına denk düşen u-
düğümüyle, k anahtarına denk düşen k-düğümü arasında direk bir bağlantı
var ise R kümesinin içerisindedir.
Bu koşulları saylayan ve toplam dört üyeden oluşan bir anahtar çizgesi şekil 6.10’da
verilmektedir.
k12
k1234
k234
k1 k2 k3 k4
u1 u2 u3 u4
k-düğümleri
u-düğümleri
Şekil 6.10 – LKH algoritmasında örnek anahtar çizgesi
Şekil 6.10’daki örnekte verilen örnek çizge için (U, K, R) üçlüsü aşağıda
gösterilmektedir.
134
U = {u1, u2, u3, u4}
K = {k1, k2, k3, k4, k12, k234, k1234}
R = {(u1, k1), (u1, k12), (u1, k1234),
(u2, k2), (u2, k12), (u2, k234), (u2, k1234),
(u3, k3), (u3, k234), (u3, k1234),
(u4, k4), (u4, k234), (u4, k1234)}
Her bir güvenli grup (U, K, R) ile iki işlev ilişkilendirilmiştir. Bu işlevler
anahtarkümesi() ve kullanıcıkümesi() işlevleridir. Anahtarkümesi(u), U kümesinin
bir elemanı olan u kullanıcısının elinde bulundurduğu bütün anahtarlar kümesidir.
Aynı şekilde kullanıcıkümesi(k) ise K kümesinin bir elemanı olan k anahtarını
bulunduran bütün kullanıcılar kümesidir. Bu kümelerin matematiksel olarak
gösterilimi aşağıda verilmektedir.
anahtarkümesi(u) = { k | (u,k) R }
kullanıcıkümesi(k) = { u | (u,k) R }
Bu işlevlere örnek olarak anahtarkümesi(u4) = {k4, k234, k1234} ve
kullanıcıkümesi(k234) = {u2, u3, u4} verilebilir. Bir başka deyişle bu iki işlevin
çıktıları U kümesinin bir alt kümesi (U’) ve K kümesinin bir alt kümesini (K’) ifade
etmektedir. Grup iletişimine dahil olan bir üye, gruptan ayrıldığında bu kullanıcının
elinde bulundurduğu bütün anahtarların (k) yenilenmesi gerekmektedir. Bu işlem için
öncelikle ayrılan kullanıcı (u) haricindeki kullanıcıkümesi(k)’nin bulunması
gerekmektedir. Bu küme K’ olarak isimlendirildiğinde kullanıcıkümesi(K’) =
kullanıcıkümesi(k) – {u} olmaktadır. K’ kümesi hesaplandıktan sonra, bu küme
içerisindeki anahtarlar kullanılarak yeni anahtarlar (kyeni) dağıtılmaktadır. Tekrar
anahtarlamanın minimum seviyede tutulması için hesaplanan K’ kümesinin
elemanlarının minimum olması gerekmektedir. Aksi halde tekrar anahtarlama
optimum olmamaktadır.
Anahtar çizgeleri üç farklı biçimde oluşturulabilmektedir. Çizgeler, biçimlerine göre
yıldız, ağaç ve eksiksiz olarak sınıflandırılmaktadır. Yıldız diziliminde U kümesi
içerisinde yer alan her kullanıcı iki adet anahtara sahiptir. Bu anahtarlar bireysel
anahtar ve grup anahtarıdır. Yıldız dizilimi (U, K, R) güvenli gruplarının özel bir
halidir ve bütün kullanıcıların direk olarak köke bağlanması ile oluşturulmaktadır. Bu
tür bir dizilimde ölçeklenebilirlikten söz edilememektedir. Ağaç diziliminde çizgenin
135
kökü tek bir merkezdedir. Ağaç dizilimli çizgeler, h uzunluğu ve d derinliği ile ifade
edilmektedir. h, çizge içerisindeki en uzun direk yoldaki kenar sayısını belirtmekte; d
ise bir düğüme gelen maksimum kenar sayısını belirtmektedir. Çizge içerisindeki
yolların yaprak düğümleri k-düğümleri olduğu için U kümesi içerisindeki kullanıcılar
en fazla h adet anahtara sahip olabilmektedir. Buna ek olarak kök düğümdeki
anahtar, bütün kullanıcılar tarafından bilinmekte ve grup anahtarı olarak görev
yapmaktadır. Son dizilim türü olan eksiksiz dizilimde, U kümesinin elemanlarıyla
oluşturulmuş ve boş küme olmayan her S kümesi için kullancıkümesi(k) = S
koşulunu sağlayan bir k anahtarı mevcuttur. Dolayısıyla U kümesinin eleman sayısı n
iken, K kümesinde 2n-1 adet anahtar bulunmaktadır. (Aynı zamanda oluşturulabilen
S kümelerinin sayısı da 2n-1’dir.) Bu eşitlikten hareket edildiğinde U kümesi
içerisindeki her u kullanıcısı 2n-1 adet anahtara sahip olmakta ve U kümesi
kendisinin bir alt kümesi olduğu için bir anahtar, grup anahtarı olarak her bir
kullanıcı tarafından paylaşılmaktadır. Dizilimlere göre anahtar sayıları ve kullanıcı
temelinde dağılımları tablo 6.1’de verilmektedir. Yapılan analiz sonucu çizgelerde
her bir kullanıcının 2n-1 adet anahtar bulundurması gerektiği ortaya çıkmakta
dolayısıyla böyle bir tasarım sadece küçük gruplarda pratik olmaktadır.
Tablo 6.1 – Çizge türlerine göre anahtar dağılımları
Çizge türü Yıldız Ağaç Eksiksiz
Toplam anahtar sayısı n + 1 (d x n) / (d -1) 2n-1
Kullanıcı başına anahtar sayısı 2 h 2n-1
Genel olarak bir u kullanıcısının gruba katılması için (veya gruptan ayrılması için),
ilk olarak grup sunucusuna (s) ilgili isteğini iletmesi gerekmektedir. Bu istek mesajı,
u ile s arasında bir kimlik doğrulama prosedürü işletilmesine sebep olmaktadır. Bu
prosedür, güvenlik altyapısı içerisindeki kimlik doğrulaması sunucuları sayesinde
uygulanmaktadır. u kullanıcısının gruba girmesi onaylanmaz ise, kullanıcıya red
mesajı gönderilmektedir. u kullanıcısının gruba katılma hakkı onaylandıktan sonra
bu onaylanma mekanizması [90] sırasında paylaşılan anahtarlar kullanıcının bireysel
anahtarları (ku) olmaktadır. Algoritma içerisinde kullanılan mesajlaşmalar a → b : c
şeklinde gösterilmektedir. Böyle bir mesajlaşma a varlığından b varlığına z mesajının
iletildiği anlamına gelmektedir. Okun yönü ise mesajın gönderildiği varlığı temsil
etmektedir. Böylelikle kimlik doğrulama mesajı { s ↔ u : u’nun kimliğini doğrula ve
136
ku anahtarını gönder } şeklinde ifade edilebilmektedir. Grup üyeliğinin her
değişiminde, yeni bir güvenli grup oluşturulmaktadır. Güvenlik sunucusu s, anahtar
çizgesini güncellemekte ve çeşitli k,u-düğümlerini silmekte, eklemekte veya
değiştirmektedir. Grup üyelerindeki değişimin algoritma içerisinde işlenmesi, çizge
türüne göre değişmektedir. Yıldız dağılımlı çizgelerde yeni bir u kullanıcısı gruba
dahil olduğunda s sunucusu yeni bir u-düğümü ve bu kullanıcının ku anahtarı için
yeni bir k-düğümü oluşturmaktadır. u-düğümü, k-düğümü ile birleştirilmekte ve k-
düğümü köke bağlanmaktadır. Yeni kullanıcının geçmişteki iletişimi deşifre
edememesi için kU’ olarak isimlendirilen yeni bir grup anahtarı üretilmektedir. Bu
anahtarın yeni gruba iletilmesi gerekmektedir. Bunun gerçekleştirilebilmesi için, yeni
grup anahtarı eski grup anahtarı ile şifrelenmekte ve grup üyelerine çok hedefli
olarak iletilmektedir. Bu iletim sayesinde yeni grup üyesi haricindeki bütün üyelerin
anahtarları güncellenmektedir. Grup anahtarının yeni kullanıcıya iletilebilmesi için
tek hedefli iletim kullanılmaktadır. Yeni grup anahtarı kU’, u kullanıcısına, ku anahtarı
ile şifrelenerek gönderilmekte ve böylece tekrar anahtarlama tamamlanmış
olmaktadır. Yıldız dizilimde u kullanıcısının katılımı için yapılan mesajlaşmalar ve
çizgenin değişimi şekil 6.11’de gösterilmektedir.
(1) u → s : katılım isteği
(2) s ↔ u : kimliğini doğrula ve ku anahtarını gönder
(3) s : rastlantısal olarak kU’’yu üret
(4) s → u : { kU’ } ku
(5) s → U : { kU’ } kU
k1 k2 k3
u1 u2 u3
k1 k2 k3
u1 u2 u3
k4
u4
u4„ün gruba katılması
u4„ün gruptan ayrılması katılması
Şekil 6.11 – Yıldız dizilimli çizgede grup üyeliğinin değişimi
Şekil 6.11’de gösterilmekte olan ve bu algoritma ile ilgili olan diğer mesajlaşmalar
içerisinde ek bilgiler de gönderilebilmektedir. Yeni anahtarlar için alt grup etiketleri,
137
sayısal sertifikalar, mesaj içeriğinin kontrolü için alanlar ve zaman damgası ek
bilgilere örnek olarak verilebilir. Aynı grup ile ilişkili olarak bir üyenin (u) gruptan
ayrılması aşağıda gösterilmektedir.
(1) u → s : { gruptan ayrılma isteği } ku
(2) s → u : { ayrılma isteği alındı bilgisi } ku
(3) s : rastlantısal olarak kU’’yu üret
(4) u haricinde U kümesinde bulunan bütün kullanıcılar kümesi v için
s → v : { kU’ } kv
Katılım, ağaç çizgelerine yapıldığında değişik bir prosedür izlenmektedir. İlk olarak
u kullanıcısı için bir u-düğümü ve ku’yu içeren bir k-düğümü oluşturulmaktadır.
Çözülmesi gereken ilk problem, oluşturulan k-düğümünün çizge içerisinde nereye
birleştirileceğidir. Yeni kullanıcılar ağaç çizgesine dengeli bir şekilde
yerleştirilmelidir. Çizgenin optimum olması ancak bu şekilde sağlanmaktadır. Çizge
yeni halini aldıktan sonra üretilen yeni anahtarların kullanıcılara güvenli bir şekilde
dağıtılması gerekmektedir. Bu prosedür Şekil 6.12’de anlatılmaktadır.
u9„un gruptan ayrılması katılması
k123
k1 k2 k3
u1 u2 u3
k456
k4 k5 k6
u4 u5 u6
k78
k8
u7 u8
k7
k123
k1 k2 k3
u1 u2 u3
k456
k4 k5 k6
u4 u5 u6
k789
k8 k6
u7 u8 u6
k7
k1-8
k1-9
Etkilenen k-düğümleri
u9„un gruba katılması
Şekil 6.12 – Ağaç dizilimli çizgede gruptan ayrılma ve gruba katılma
138
Şekilde u9 kullanıcısı gruba katılmak istemektedir. Bu kullanıcı için katılım noktası
k78 k-düğümü olarak belirlenmiştir. Bunun nedeni diğer düğümlerle birlikte dengeli
bir yapının oluşturulmak istenmesidir. k78 düğümü yeni çizgede k789 düğümü olarak
değişmektedir. Kök düğümü k1-8’den k1-9’a değişmektedir. u1, ..., u6 kullanıcılarına
sadece k1-9 anahtarı gönderilmesi gerekirken u7, u8 ve u9 kullanıcıları, hem k1-9
anahtarına hem de k789 anahtarına ihtiyaç duymaktadır. Bu noktada kullanıcılara
gönderilmesi gereken yeni anahtarlar belirlenmiş olmaktadır. Yeni bilgilerin
kullanıcılara güvenli bir şekilde dağıtılması için üç farklı tekrar anahtarlama stratejisi
bulunmaktadır.
Bu stratejiler kullanıcı odaklı, anahtar odaklı ve grup odaklı tekrar anahtarlama
olarak isimlendirilmektedir. Kullanıcı odaklı tekrar anahtarlamada, yeni anahtarlar
kullanıcılara teker teker iletilmektedir. Yeni anahtarları alması gereken kullanıcılar
belirlendikten sonra, iletim, bu kullanıcıların ortak olarak kullandıkları anahtarlar
sayesinde güvenli hale getirilmektedir. Şekil 6.12’deki örnekte üç farklı mesaj
gönderilmektedir. Bu mesajlar aşağıda sıralanmaktadır.
s → { u1, ..., u6 } : { k1-9 } k1-8
s → { u7, u8 } : { k1-9, k789 } k78
s → u9 : { k1-9, k789 } k9
Bu örnek genelleştirildiğinde, her bir anahtarı k’dan “k`”’ya değişen bütün k-
düğümleri ve bu düğümlerden köke kadar olan bütün düğümler için grup sunucusu
yeni bir mesaj oluşturmakta ve ve bu mesajları k ile şifrelemektedir. Daha sonra bu
mesajlar yeni anahtarlara ihtiyaç duyan kullanıcılara gönderilmektedir. Gönderim
için tek hedefli veya çok hedefli iletim kullanılabilmektedir. Buna ek olarak ilgili
anahtarların gruba yeni dahil olan kullanıcıya iletimi o kullanıcının anahtarı ile
şifrelenerek güvenli hale getirilmektedir. Kullanıcı odaklı tekrar anahtarlama için
toplam h mesaj üretilmektedir. Şifrelenen anahtarlar sayıldığı zaman şifreleme
maliyeti h x (h+1) / 2 olarak verilmektedir [89].
Tekrar anahtarlamanın, anahtar odaklı strateji ile yapılması durumunda her bir
anahtar özel olarak şifrelenmektedir. Anahtarı k’dan “k`”’ya değişen her bir k-
düğümü için grup sunucusu iki farklı mesaj hazırlamaktadır. İlk mesajda k` anahtarı
k ile şifrelenmekte ve kullanıcıkümesi(k)’ya gönderilmektedir. Böylece yeni
139
kullanıcı haricinde k` anahtarına ihtiyaç duyan bütün kullanıcılar anahatarı
edinmektedir. İkinci mesaj yeni kullanıcı için üretilmekte ve kullanıcının bireysel
anahtarı kullanılarak şifrelenmektedir. Bu stratejide bir kullanıcı, bütün
anahtarlarının güncellenmesi için birden fazla mesaj alabilmektedir. Bu strateji şekil
6.11’de gösterilmekte olan gruba uygulandığında aşağıdaki mesajların gönderilmesi
gerekmektedir.
s → { u1, ..., u8 } : { k1-9 } k1-8
s → u9 : { k1-9 } k9
s → { u7, u8 } : { k789 } k78
s → u9 : { k789 } k9
Bu şekilde grup sunucusundaki şifreleme yükü 2(h-1) olmakta fakat h adet mesaj
yerine 2(h-1) adet mesaj üretilmektedir. Mesaj sayısının azaltılması için aynı
kullanıcıya gönderilmesi gereken bütün mesajlar tek bir mesaj altında
toplanmaktadır. Böylece sunucu dört mesaj göndermek yerine aşağıda gösterilen üç
mesajı göndermektedir.
s → { u1, ..., u6 } : { k1-9 } k1-8
s → { u7, u8 } : { k1-9 } k1-8, { k789 } k78
s → u9 : { k789 } k9
Kullanıcı odaklı tekrar anahtarlama stratejisinde, birleştirilmiş mesajlar kullanıldığı
takdirde mesaj sayısı kullanıcı odaklı stratejideki mesaj sayısı olan h’ye eşit
olmaktadır. Fakat grup sunucusu üzerindeki şifreleme yükü 2(h-1) olarak
kalmaktadır. Yapılan analizler sonucu anahtar odaklı tekrar anatarlamanın kullancı
odaklı tekrar anahtarlamaya göre daha iyi olduğu görülmektedir. Grup odaklı tekrar
anahtarlama stratejisinde, bütün anahtarların aynı mesaj içerisinde toplanarak grubun
tamamına çok hedefli olarak iletilmektedir. Böyle bir tekrar anahtarlama mesajı,
grubun üye sayısına bağlı olarak diğer stratejilere nazaran uzun olabilmektedir. Buna
ek olarak pek çok kullanıcının işine yaramayacak bilgiler içermektedir. Ancak üye
sayısının n ve anahtar derinliği d olan bir grup için mesaj uzunluğu O(logd(n))
olacağından, için ölçeklenebilirlik bir sorun yaratmamaktadır. Sonuç olarak grup
odaklı tekrar anahtarlama stratejisinin diğer iki stratejiye göre daha avantajlı olduğu
görülmektedir. Bunun ilk sebebi, çok hedefli iletimin alt gruplara yapılması
ihtiyacının olmamasıdır. Ayrıca mesaj sayısı daha az olacağı için mesaj ek yükü
140
azalmakta ve dolayısıyla gönderilen sucunu tarafından iletilen bayt sayısı da
azalmaktadır. Bu yaklaşım için üretilen tekrar anahtarlama mesajları aşağıda
gösterilmektedir. Grup odaklı tekrar anahtarlama sayesinnde iletilen mesaj sayısı
ikiye inmektedir. Sunucu üzerindeki şifreleme maliyeti 2(h-1) olmaktadır.
s → { u1, ..., u8 } : { k1-9 } k1-8, { k789 } k78
s → u9 : { k1-9, k789 } k9
Gruptan ayrılma işlemleri için öncelikle ayrılmak isteyen üyenin grup sunucusundan
onay alması gerekmektedir. Ayrılmak isteyen kullanıcı (u), bireysel anahtarını
kullanarak ayrılma isteğini içeren mesajı şifrelemekte ve grup sunucusuna
göndermektedir. Grup sunucusu kullanıcının isteğini kabul ettiği takdirde gruptan
ayrılma işlemleri başlatılmaktadır. Sunucu, kullanıcının isteğine karşı, alındı bilgisi
göndermektedir. Alındı bilgisi kullanıcının bireysel anahtarı kullanılarak
şifrelenmektedir. Kullanıcının gruptan ayrılabilmesi için sunucu (s), u-düğümünü ve
ilgili k-düğümünü silerek çizgeyi güncellemektedir. İleriye dönük güvenliğin
sağlanabilmesi için ayrılan kullanıcının bağlı olduğu ayrılma noktasından köke kadar
olan bütün düğümlerin anahtarlarının yenilenmesi gerekmektedir. Bu yenileme
işlemi doğrultusunda üretilen yeni anahtarların etkilenen kullanıcılara güvenli olarak
dağıtılması gerekmektedir. Şekil 6.12’de gösterilmekte olan örnekte u9 kullanıcısının
ayrılması söz konusu olduğunda kök anahtar k1-9’dan k1-8’e, k789 anahtarı ise k78’e
güncellenmektedir. Buna ek olarak u1, ..., u6 kullanıcılarının sadece k1-8 anahtarına
ihtiyacı olmakla birlikte u7 ve u8 kullanıcılarının k1-8’e ek olarak k78 anahtarına da
ihtiyacı olmaktadır. Kullanıcı odaklı tekrar anahtralama stratejisi kullanıldığı zaman
gönderilmesi gereken beş mesaj aşağıda sıralanmaktadır.
s → { u1, u2, u3 } : { k1-8 } k123
s → { u4, u5, u6 } : { k1-8 } k456
s → u7 : { k1-8, k78} k7
s → u8 : { k1-8, k78} k8
Gruptan ayrılma işlemi, n kullanıcısı olan ve d derinliğindeki bir çizgeye için
genelleştirildiğinde, anahtarı k’dan k`’ya değişen ve bu düğümlere bağlı olup da
anahtarı değişmeyen her bir düğüm için grup sunucusu, bir tekrar anahtarlama mesajı
üretmektedir. Bu mesajlar, ilgili eski anahtarlarla şifrelenmekte ve kullanıcılara çok
141
hedefli olarak iletilmektedir. Tekrar anahtarlama işleminin tamamı (d-1)(h-1) mesaj
ile tamamlanmakta ve şifreleme maliyeti (d-1)(h-1)h/2 olmaktadır. Gruptan ayrılma
işlemi anahtar odaklı strateji kullanılarak gerçekleştirildiğinde her bir anahtar ayrı bir
şekilde şifrelenmektedir. Şekil 6.12’deki örnek ele alınacak olursa u9 kullanıcısının
gruptan ayrılması için aşağıdaki mesajların gönderilmesi gerekmektedir.
s → { u1, u2, u3 } : { k1-8 } k123
s → { u4, u5, u6 } : { k1-8 } k456
s → u7 : { k1-8 } k78, { k78 } k7
s → u8 : { k1-8 } k78, { k78 } k8
Böyle bir strateji, tekrar anahtarlama mesaj sayısını değiştirmemekte fakat şifreleme
maliyetini d(h-1)’e indirmektedir. Grup odaklı tekrar anahtarlamada ise, bütün yeni
anahtarların içinde bulunduğu tek bir mesaj üretilmektedir. Şekil 6.12 için bu mesaj
aşağıda verilmektedir.
s → { u1, …, u8 } : { k1-8 } k123, { k1-8 } k456, { k1-8 } k78, { k78 } k7, { k78 } k8
Bu mesaj oluşturulduktan sonra gruba çok hedefli olarak iletilmektedir. Şifreleme
maliyeti bu stratejide d(h-1) olarak anahtar odaklı strateji ile aynıdır. Mesaj sayısı ise
birdir. Gruba katılma ve gruptan ayrılma işlemleri için şifreleme ve deşifre etme
maliyetleri tablo 6.2’de verilmektedir.
Tablo 6.2 – Şifreleme ve deşifre etme maliyeti
(a) Talep eden kullanıcı
Yıldız Ağaç Eksiksiz
Katılım 1 h-1 2n
Ayrılma 0 0 0
(b) Grup kullanıcısı
Yıldız Ağaç Eksiksiz
Katılım 1 d/(d-1) 2n-1
Ayrılma 1 d/(d-1) 0
(c) Grup sunucusu
Yıldız Ağaç Eksiksiz
Katılım 2 2(h-1) 2n+1
Ayrılma n-1 d(h-1) 0
142
Tabloda, talep eden kullanıcı gruba katılan veya gruptan ayrılan kullanıcıyı
göstermektedir. Bu kullanıcı haricinde grupta bulunan kullanıcılar ise grup
kullanıcısı olarak gösterilmektedir. En alt bölümde ise grup sunucusunun yapması
gereken şifreleme (ve deşifre) işlemleri gösterilmektedir. Analiz edildiğinde
sonuçların eksiksiz çizgelerin maliyeti, hem kullanıcıları için hem de grup sunucusu
için en yüksek çıkmaktadır. Dolayısıyla eksiksiz çizgelerin kullanılmaması
gerekmektedir. Grup anahtar yönetiminin ölçeklenebilir olması için ağaç çizgelerinin
kullanılması en doğru seçimdir. Her bir kullanıcı için maliyet 1’den d/(d-1)’e
çıkmakta fakat sunucu maliyeti (d+2)(h-1)/2’ye düşmektedir.
Gruptan ayrılma ve gruba katılım işlemleri sırasında hangi tür strateji kullanılırsa
kullanılsın, yeni anahtarlar sadece gönderilen kullanıcılar tarafından bilinen eski
anahtarlar kullanılarak şifrelenmektedir. Böyle bir ortamda, herhangi bir kötü niyetli
kullanıcının grup sunucusunu taklit etme olasılığı bulunmaktadır. Kötü niyetli
kişilerin kontrolü altında olan bir kullanıcı grup sunucusunu taklit ederek grup
iletişimine zarar verebilmektedir. Bunun engellenebilmesi için kullanıcılara
güvenilmesi yanlış bir yol olacaktır. Güvenliğin sağlanabilmesi için her bir tekrar
anahtarlama mesajının grup sunucusu tarafından imzalanması bir yol olarak
önerilebilir. Böylece kullanıcılar, mesajları aldıkları zaman mesajın kaynağını
doğrulayabilmektedir. Bir mesajın imzalanabilmesi için ilk önce mesajın sabit
uzunlukta bir özetinin (digest) çıkarılması gerekmektedir. Bu özetin çıkarılması di =
h(Mi) şekilde ifade edilmektedir. Burada Mi i numaralı mesaj, di i numaralı özet ve h
ise özet çıkarma işlevidir. Özet çıkarma için kullanılan en yaygın algoritma MD5
[91] algoritmasıdır. Özet çıkarma işleminden sonra imzalama işlemine geçilmektedir.
Grup sunucusu her bir özeti kendi özel anahtarını kullanarak şifrelemektedir.
Şifrelenmiş özet ve grup sunucusunun açık anahtarı mesaja eklenerek
gönderilmektedir. Alıcı sistemler ilk önce grup sunucusunun açık anahtarını
kullanarak mesajı yol üzerinde değiştirilip değiştirilmediğini kontrol etmektedir.
Bunun için şifrelenmiş mesaj grup sunucusunun yolladığı mesajda bulunan açık
anahtar ile deşifre edilmektedir. Mesajın bir özeti çıkarılmakta ve mesajla yollanan
özet ile karşılaştırılmaktadır. Herhangi bir değişiklik yoksa mesajın gerçekten grup
sunucusundan geldiği ve yol üzerinde değiştirilmediği anlaşılmaktadır. Bu
mekanizma grup sunucusunun özel anahtarı kötü niyetli kişilerin eline geçmediği
sürece kusursuz işlemektedir. İmza işlemi, örneğin DES kullanıldığında, anahtar
143
şifreleme işleminden iki kat daha fazla zaman almaktadır. Bu yüzden güvenliğin
bozulmadan imza işlemlerinin sayısının düşürülmesi büyük önem taşımaktadır.
Bunun sağlanması için birkaç mesaj tek bir imzalama işlemi ile gönderilmektedir.
Özetleri d1, d2, d3, d4 olan dört tekrar anahtarlama mesajı düşünüldüğünde ilk olarak
d1 ve d2’den oluşan D12 mesajı oluşturulmaktadır. Daha sonra, bu mesajın özeti d12 =
h(D12) yardımı ile bulunmaktadır. Üçüncü ve dördüncü mesaj için de aynı işlemler
uygulanmakta ve d34 özeti bulunmaktadır. Daha sonra d12 ve d34’ten oluşan D1-4
mesajı oluşturulmakta ve d1-4 = h(D1-4) hesaplanmaktadır. d1-4 hesaplandıktan sonra
grup sunucusu d1-4’ü özel anahtarı ile imzalamakta ve bu imzayı D1-4, D34 ve M4 ile
birleştirerek M4’e ihtiyacı olan bir kullanıcıya yollamaktadır. Kullanıcı, ilk olarak d1-
4 üzerindeki imzayı çözmekte ve d1-4’ün gerçekten D1-4’ün özeti olup olmadığını
kontrol etmektedir. Daha sonra D1-4 içerisinde bulunan d34’ün gerçekten D34’ün özeti
olup olmadığının ve D34 içerisindeki d4’ün M4’ün özeti olup olmadığının kontrolleri
yapılmaktadır. Bu yöntem dört mesajdan m mesaja kolayca genişletilebilmektedir.
Gruptaki üye sayısının 8192 olduğu, şifreleme için DES-CBC, mesaj özetleri için
MD5 ve sayısal imza için 512 bitlik RSA kullanılan bir ortamda bu yöntemin
kullanılması sonucu işlem süresi yaklaşık 10 kat azalmakta (140.1 milisaniyeden
14.5 milisaniyeye) ve mesaj büyüklüğü 50-70 bayt arası artmaktadır [89]. Bu
yöntemin grup odaklı tekrar anahtarlama stratejisi için bir şey ifade etmeyeceği
unutulmamalıdır.
Çok hedefli iletimin güvenli hale getirilmesi için anahtar çizgelerinin kullanımı
sayesinde pek çok anahtar üretilerek bir hiyerarşi oluşturulmaktadır. Bu hiyerarşide
bireysel anahtarlar yapraklarda, grup anahtarı kökte ve alt grup anahtarları ortadaki
düğümlerde bulunmaktadır. Bütün kullanıcılar için tek bir grup sunucusu
bulunmaktadır. Iolus mimarisindeki gibi bir sunucu hiyerarşisi bulunmamakta fakat
her bir kullanıcıya birden fazla anahtar dağıtılmaktadır. Grup üyeliğinin değişmesi
sonucu yeni anahtarların gruba dağıtılması herhangi bir ölçeklenebilirlik sorunu
yaratmamaktadır. Bunun sebebi sunucu maliyetinin O(log(n)) ve kullanıcı
maliyetinin O(1) olmasıdır. LKH algoritmasının analizi sonucu merkezi yapının
saldırılar için büyük bir potansiyel oluşturduğu bulunmuştur. Bu yapı, grup
sunucusunun ve görevlerinin (veya görevlerinin bir kısmı) başka bir varlığa
devredilmemesi sonucu ortaya çıkmaktadır. LKH algoritması üzerinde yapılan
deneyler sonucunda ağaç dizilimli çizgelerde optimum anahtar derinliği dört olarak
144
bulunmuştur [84]. Buna ek olarak grup sunucusu tarafında grup odaklı tekrar
anahtarlama stratejisi en yüksek performansı verdiği görülmüştür. Grup odaklı
stratejiyi anahtar odaklı strateji takip etmektedir. Kullanıcı tarafında ise durum tam
tersidir. Ancak bu durum kullanıcı sistemleri için bir sorun yaratmamaktadır.
Algoritma üzerinde yapılan analiz sonucunda çizgelere yapılan eklemelerin nasıl ve
nereye yapılacağına dair herhangi bir prosedürün olmadığı ortaya çıkmaktadır.
Çizgelerin optimum olabilmesi için eklemelerin dengeli şekilde yapılması
gerekmektedir. Aksi halde dengesiz bir çizge oluşacak ve üyelik değişimlerinde
yenilenmesi gereken anahtarların sayısı gereksiz yere artacaktır.
Grup anahtar yönetimi için kullanılan bir diğer algoritma, tek yönlü işlev ağaçlarıdır
(One Way Function Trees, OFT) [78]. OFT algoritması sayesinde gruptan ayrılma
veya gruba katılım işlemleri için iletilmesi gereken bit sayısı LKH algoritmasına
oranla yarıya inmektedir. Ayrıca grup anahtarının oluşturulmasına grup üyelerinin de
katılımına izin verilmektedir. Tek yönlü işlev ağacı her bir düğümün iki anahtar ile
ilişkilendirildiği ikili bir ağaçtır. Bu anahtarlar k_a düğüm anahtarı ve k’_a
perdelenmiş anahtardır. Bu iki anahtar arasında k’_a = g( k_a ) ilişkisi
bulunmaktadır. Perdelenmiş anahtar, düğümün anahtarının perdeleme işlevinden
geçirilmiş halidir. k’_a anahtarı verildiğinde, k_a anahtarının bulunması işlemsel
olarak imkansıza yakın olduğu için g() işlevine perdeleme (blinding) işlevi
denmektedir. OFT yapısı, grup yöneticisi tarafından yönetilmektedir [15]. Her
yaprak bir grup üyesini temsil etmektedir. Grup yöneticisi, grupta bulunan üyelerden
meydana gelen alt kümelerle haberleşebilmek için simetrik bir şifreleme işlevi (E)
kullanmaktadır. E işlevinde, perdelenmemiş anahtarlar şifreleme için
kullanılmaktadır. İlk olarak rastlantısal olarak üretilmiş anahtarlar bireysel olarak
üyelere atanmaktadır. Bunun için harici bir güvenli kanal kullanılmaktadır. Bu
anahtarlar yaprak düğümlere atanmaktadır. Ağaç içerisinde bulunan her bir dâhili
düğümün iki alt dalı bulunmaktadır. Bu düğümlere karşılık gelen anahtarlar,
k_a = f( g( k_sol( a ), g( k_sağ( a ) ) )
şeklinde hesaplanmaktadır. Burada k_sol() ve k_sağ() işlevleri sol ve sağ alt daldaki
düğümleri ifade etmektedir. g() işlevi daha önce açıklanan perdeleme işlevi, f() işlevi
ise karıştırma (mixing) işlevidir. f() işlevine örnek olarak XOR operasyonu
verilebilir. Kök düğümü ile ilişkilendirilmiş anahtar, grup anahtarı olarak
145
isimlendirilmektedir. OFT algoritmasında güvenliğin sağlanması için grup üyelerinin
anahtar bilgileri kısıtlanmaktadır. Her bir üye, sadece kendi düğümünden köke doğru
olan bütün düğümlerin perdelenmemiş anahtarını ve bu yol üzerindeki düğümlerin
kardeş düğümlerinin perdelenmiş anahtarlarını bilmektedir. Algoritma içerisindeki
bütün işlemlerde bu kurala sadık kalınmaktadır. Şekil 6.13’te örnek bir OFT
gösterilmektedir.
M
Perdelenmemiş anahtarlar
Perdelenmiş anahtarlar
Hesaplanan anahtarlar
Şekil 6.13 – OFT hiyerarşisi
Böyle bir ağaçta, M üyesi kendi düğümü ile kök arasındaki (kök dahil olmak üzere)
düğümlerle ilişkilendirilmiş perdelenmemiş anahtarları ve bu düğümlerin kardeş
düğümleri ile ilişkilendirilmiş perdelenmiş anahtarları bilmektedir. Üyenin bireysel
anahtarı ve perdelenmiş anahtarlar grup yöneticisi tarafından üyeye iletilmektedir.
Üye, bu anahtarlar yardımı ile kendi düğümünden köke kadar olan düğümlerin
perdelenmemiş anahtarlarını hesaplayabilmektedir. M üyesinin bilgisi sadece bu
anahtarlarla sınırlıdır aksi halde üye diğer düğümlere ilişkin anahtarları
hesaplayabilmekte ve böylece güvenlik açıkları oluşmaktadır. Güvenliğin
korunabilmesi için perdelenmiş anahtarlar sadece ilgili üyelere gönderilmelidir.
Perdelenmiş k’_a anahtarı değiştiği zaman yeni anahtarın, eski anahtarı bilen bütün
üyelere dağıtılması gerekmektedir. Bu üyeler, a düğümünün kardeşinin altında
bulunan düğümlere bağlı olan ve a düğümünün kardeş düğümü olan s düğümünün
perdelenmemiş k_s anahtarını bilen üyelerdir. Yeni k’_a anahtarının bu üyelere
iletilebilmesi için mesaj, k_s anahtarı ile şifrelenerek iletilmektedir. Bu mesajı sadece
s düğümü altındaki üyeler deşifre edebilmekte ve böylece güvenlik sağlanmaktadır.
Gruba yeni üyelerin katılmasıyla ağaç büyümektedir. Ağacın boyunun (h) minimum
düzeyde tutulabilmesi için dengenin korunması gerekmektedir. Bu sebeple yeni
146
üyeler için köke en yakın yapraklar seçilmektedir. Seçilen yaprak düğümü (a) ikiye
bölünmekte ve altında sol( a ) ve sağ( a ) olmak üzere iki yeni yaprak düğüm
oluşturulmaktadır. Daha önceden a düğümü ile ilişkilendirilmiş olan üye sol( a ),
yeni üye ise sağ( a ) düğüm ile ilişkilendirilmektedir. Her iki üye için de yeni
anahtarlar üretilmektedir. Eski üyenin tekrar anahtarlanmasında amaç, üyenin diğer
üyelerle işbirliği yaparak ve bildiği anahtarları kullanarak ilgisi olmayan bir
düğümün perdelenmemiş anahtarını bulabilme olasılığıdır. Gruba yeni bir üyenin
katılımı öncesinde ve sonrasında OFT içerisindeki değişiklikler şekil 6.14’te
gösterilmektedir.
a
Katılımdan önce
a M
Katılımdan sonra
Şekil 6.14 – OFT algoritmasında gruba yeni bir üyenin katılması
Bir üyenin gruptan ayrıldıktan sonra uygulanması gereken prosedür katılım için
uygulanan prosedür ile büyük benzerlik göstermektedir. Eski üyenin kardeş yaprak
düğümünde bulunan üye, kök düğüme bir adım yaklaştırılmakta ve yeni bir anahtar
verilmektedir. Çok hedefli iletim grubu oluşturulduktan sonra iletime hazır hale
getirilmesi gerekmektedir. Bu işlem iki bölümden oluşmaktadır. İlk bölümde grup
yöneticisi, düğümlere ilişkin perdelenmiş anahtarları, o düğümün kardeş düğümüne
ilişkin perdelenmemiş anahtarlarla şifreleyerek gruba göndermektedir. Böylece
sadece kardeş düğümdeki ve kardeş düğümün altındaki üyeler o düğüme ilişkin
perdelenmiş anahtarı öğrenmektedir.
OFT algoritması, grup yöneticisinin varlığı dolayısıyla merkezi bir yapıya sahiptir.
Ayrıca yaprak düğümlere ilişkin anahtarlar o yaprağın üyesi ve grup yöneticisi
tarafından ortaklaşa üretilmektedir ve dolayısıyla her üye, grup anahtarının
üretilmesine katkıda bulunmaktadır. Gruba yeni bir üye katıldığında veya gruptan bir
üye ayrıldığında harcanan kaynakların dağılımıyla ilgili bilgiler tablo 6.3’te
verilmektedir. Tabloda ağacın boyu h ile (h = log(n)), grup üye sayısı n ile ve
anahtarın bit olarak uzunluğu K ile gösterilmektedir. Görüldüğü üzere gruba üye
147
eklenmesi veya gruptan bir üyenin ayrılması sırasında yapılan işlemler grup
üyelerinde ve grup yöneticisinde aynı zamanı almaktadır. Kullanılan bellek miktarı,
yöneticide üye sayısıyla doğrusal olarak artmaktadır. Anahtarlama sırasında üyeler
herhangi bir mesaj yollamamakta, grup yöneticisi ise toplam (h x K + h) bit
yollamaktadır.
Tablo 6.3 – OFT algoritmasındaki maliyetler
Kaynak türü Üyedeki maliyet Yöneticideki maliyet
Zaman h h
Bellek h x K 2 x n x K
İletilen bit sayısı 0 h x K + h
Üretilen rastlantısal bit sayısı 0 K
İletim biçiminin (ek yük haricinde) yollanan bit sayısına herhangi bir etkisi
bulunmamaktadır. Yeni anahtarlar için üretilen bit sayısı, anahtar uzunluğu olan
K’ya eşittir ve üretim işlemi sadece grup yöneticisinde yapılmaktadır.
OFT algoritmasında, yeni bir çok hedefli iletim grubu kurulurken ilk olarak grup
üyelerinin gruba kaydolması (enroll) gerekmektedir. Bunun için bütün üyelerin grup
yöneticisi ile iletişime geçip bireysel anahtarlarını edinmesi gerekmektedir. Bu
işleme grup indüklemesi denmektedir [78]. Bu anahtarlara bireysel anahtarlar
denmektedir ve bireysel anahtar oluşturulması için izlenebilecek en basit yol IKE
protokolünün kullanılmasıdır. Fakat IKE kullanıldığında yönetilmesi gereken
anahtarların sayısı grup üyelerinin sayısıyla doğrusal olarak artmakta olduğundan bu
çözüm ölçeklenebilir değildir. Grup indükleme sürecinin ölçeklenebilir olabilmesi
için farklı bir yol izlenmektedir. Bu yola paylaştırılmış indüksiyon (amortized
induction) denmektedir [78]. Böylelikle ölçeklenebilirliğin yanı sıra sistemlerin
birden fazla gruba üye olduğu durumlarda zaman tasarrufu da sağlanmaktadır.
Paylaştırılmış indüklemenin uygulanabilmesi için çeşitli varsayımlar yapılmaktadır.
Çok hedefli iletim ile ilgilenen sistemlerin N uzayı içerisinde bulunduğu ve bu uzay
içerisinden toplam G adet grubun oluşturulduğu varsayılmaktadır. Her grubun en
fazla n üyesi bulunmaktadır. Bu koşullar altında N’in, G x n’den oldukça küçük
olduğu varsayılmaktadır. Bir başka deyişle N içerisinde bulunan sistemlerin pek çok
gruba üye olduğu varsayılmaktadır. Paylaştırılmış indükleme bu koşullar altında
ciddi kazançlar sağlamaktadır. G adet grup için ayrı ayrı grup yöneticileri ve gruba
148
kaydolmayı kontrol eden bir sistem yöneticisi bulunmaktadır. Bu gruplarla ilgili
anahtarlar, OFT algoritması sayesinde üretilmektedir. Grup üyelerinin grup
yöneticileriyle (ayrı ayrı) haberleşerek üye oldukları her bir grup için bireysel bir
anahtar edinmesi gerekmektedir. Böyle bir yapıda paylaştırılmış indüksiyon
kullanımı sayesinde, anahtar değiş tokuşu G x n’den N’e inmektedir. Bir sistem, N
uzayına dahil olduğunda ilk olarak sistem yöneticisi ile haberleşerek kendine ait bir
bireysel anahtar edinmektedir. İkinci safhada bu sistem, herhangi bir gruba üye
olmak istediğinde grup yöneticisi ile temasa geçerek grup bireysel anahtarını
oluşturmaktadır. Grup bireysel anahtarı, sistemin bireysel anahtarı, sistemin ve
grubun ismi kullanılarak tek yönlü işlev sayesinde üretilmektedir. Bu anahtar
matematiksel olarak KA_M = F( K_M, M, A) olarak ifade edilmektedir. Burada
KA_M, A grubuna ait M üyesinin bireysel anahtarını, M üyenin ismini, A grubun
ismini ve K_M ise üyenin sistem yöneticisiyle haberleşerek edindiği bireysel
anahtarı göstermektedir. F işlevi ise tek yönlü bir işlevdir. F işlevi için sağlanması
gereken koşul, argümanlarından ikisi verildiğinde çıktısının bulunamamasıdır. MD5
işlevi F, için örnek olarak verilebilir. Grup yöneticileri operasyonlarına başlamadan
önce sistem yöneticisi ile haberleşerek kendilerine özel bir anahtar edinmektedir.
Herhangi bir üyenin bir gruba üye olması söz konusu olduğunda sistem yöneticisi
grup bireysel anahtarını hesaplayarak bu bilgiyi grup yöneticisine göndermektedir.
Gönderim işlemi sırasında bilgiler grup yöneticisinin özel anahtarı ile şifrelenmekte
ve tek hedefli olarak iletilmektedir.
OFT algoritmasında kullanılan tek yönlü işlevler, LKH algoritması geliştirmek için
de kullanılabilmektedir. Böylece LKH algoritmasındaki üye ekleme işlemlerinin
süresi sabit hale gelmektedir. Yeni grup anahtarı eski anahtarın tek yönlü bir işlevden
geçirilmesi sayesinde bulunmaktadır. Daha sonra bu anahtar yeni üyeye tek hedefli
iletim ile gönderilmekte ve çok hedefli iletim kullanılarak yeni anahtarların
dağıtıldığına dair gruba haber verilmektedir. Bu tekniğin kullanıldığı LKH
algoritması LKH+ olarak isimlendirilmektedir. LKH+ tekniğinde sadece log(n) adet
anahtarın şifrelenerek iletilmesi söz konusudur. Bu sayı, LKH algoritmasındaki
sayının yarısı kadardır. LKH+ algoritması içerisinde kullanılan yöntem, yapısı gereği
sadece gruba yeni üyeler katılırken kullanılabilmektedir. Gruptan ayrılma
işlemlerinin karmaşıklığının azaltılabilmesi için dahili düğümler için gereken yeni
anahtarlar tek bir rastlantısal bilgi (rb) kullanılarak hesaplanmaktadır [92]. Şekil
149
6.15’te yeni anahtarların rb yardımıyla üretilmesi gösterilmektedir. Şekil’de E
üyesinin ayrılması gösterilmektedir. Üye ayrıldıktan sonra, GDAS, uzunluğu anahtar
uzunluğuna eşit olan rastlantısal bir bilgi (rb) üretmektedir. Daha sonra rb,
uzunluğunun iki katına çıkarılması için yarı rastlantısal (pseudo-random) bir işlevden
geçirilmektedir [93]. Bu işlev PRF(rb) olarak isimlendirilmektedir ve çıktısı
L(rb)R(rb)’dir. PRF(rb) işlevi |L(rb)| = |R(rb)| = |rb| koşulunu sağlamaktadır. Buna ek
olarak, R(rb) ve L(rb) verildiği zaman rb’nin bulunması işlemsel olarak imkansızdır.
GDAS varlığı yeni anahtarları üretmek için PRF() işlevini rb üzerinde defalarca
uygulamaktadır. Bu sebeple bu metoda, tek yönlü işlev zincirlemesi (one-way
function chaining, OFC) denmektedir.
C
Ayrılmadan önce
BA
D E
ka-e
kc-e
kde
kd ke
kc
C
Ayrılmadan sonra
BA
ka-d
kcd = R(rb)
kc
kab
D
kd
Yeni
anahtarlar
kcd = R(rb)
ka-d = R(L(rb))
kd{rb}
kc{rb}
kab{L(rb)}
Şekil 6.15 – LKH algoritmasında OFC kullanımı
Şekil 6.15’te gösterilmekte olan OFC örneğinde E üyesi gruptan ayrılmaktadır.
GDAS, ilk olarak rb’yi üretmektedir. Bu bilgi kc ve kd anahtarları ile şifrelenerek C
ve D üyelerine yollanmaktadır. L(rb) ise kab ile şifrelenerek A ve B üyelerine
gönderilmektedir. kcd ve ka-d (yeni) anahtarları, kcd = R(rb) ve ka-d = R(L(rb) işlevleri
kullanılarak rb’den dolaylı olarak hesaplanmaktadır. Böylece C ve D üyeleri hem kcd
hem de ka-d anahtarlarını hesaplayabilmekte fakat A ve B üyeleri sadece ka-d
anahtarını hesaplayabilmektedir. Böylece güvenlik yapısı korunmakta ve gruptan
ayrılma karmaşıklığı azaltılmaktadır.
LKH+ algoritmasında kullanılan yönteme benzer bir yöntem OFT algoritmasında da
uygulanabilmektedir. Oluşan yeni algoritma, OFT+ olarak isimlendirilmektedir [78].
Gruba üye olmak isteyen sistemlerin üyelik işlemleri ivedi olarak yapılmamakta ve
sistemler belirli bir süre bekletilmektedir. Bekletilen sistemler, bir sonraki tüm tekrar
anahtarlama işlemi sırasında gruba alınmaktadır. Bir sonraki tüm tekrar anahtarlama
işlemi genellikle bir üyenin gruptan çıkarılması sırasında gerçekleşmektedir.
Böylelikle yeni sistemler gruba dahil edilirken işlem bir liste üzerinden yapıldığı için
150
pek çok sistem tek bir seferde gruba katılmaktadır. Yeni üyeler ağaç içerisinde aynı
yerlere yerleştirilmekte olduğu için anahtarlama işlemleri daha basit hale
gelmektedir. Buna ek olarak OFT+, katılım için bekletilen üyelerin gruba katılmadan
gruptan çıkarılmasını da mümkün kılmaktadır. Grup üyelik değişimlerinde OFT+
kullanılmasının maliyeti, ortak soy ağaçları (Common Anchestor Tree, CAT)
kullanılarak hesaplanmaktadır [78]. Toplam R üyenin, ağacın tek bir yerine bir
kerede eklenmesi için (2 x R + log(n/R)) adet düğüm oluşturulması gerekmektedir.
Burada n, ağaçtaki toplam düğüm sayısını göstermektedir.
Çok hedefli iletimin güvenli hale getirilebilmesi için pek çok adım atılmıştır fakat bu
adımlardan sadece bazıları günümüze kadar gelebilmiştir. Grup anahtar yönetimi
konusunda çözülmesi gereken en büyük sorun ölçeklenebilirliktir. Yapılan analizler
sonucu oluşturulan grup anahtar yönetimi metotlarının beş farklı gruba ayrılabileceği
görülmüştür. Bu gruplar basit metotlar, bilgiye dayalı yaklaşımlar, hibrit metotlar,
hiyerarşik yapılar ve diğer tekniklerdir. Basit metotlarda karmaşıklık, gruptaki üye
sayısıyla doğrusal olarak artmaktadır. Bilgi yaklaşımlı metotlarda kötü niyetli
kişilerin kontrolünde olan pek çok üyenin bir araya gelip güvenliği ihlal edememesi
için ileriye dönük güvenliğin sağlanması gerekmektedir. Bunun için kullanılması
gereken bellek miktarı, gruptaki üye sayısıyla üstel bir şekilde artmaktadır. Bu durum
hibrit yaklaşımlar için de geçerlidir. Gruptaki üye sayısı yüksek olduğu zaman
(birkaç binden fazla) ölçeklenebilirlik açısından sadece hiyerarşik metotlar
kullanılabilmektedir. Hiyerarşik metotlar anahtar hiyerarşisi ve düğüm hiyerarşisi
olarak ikiye ayrılmaktadır [94]. Her iki gruptaki karmaşıklık, üye sayısıyla
logaritmik olarak değiştiği için ölçeklenebilirdir. Düğüm hiyerarşisi, Iolus
mimarisinde kullanılmaktadır [84]. Iolus mimarisi yüksek ölçeklenebilirlik
sağlamaktadır fakat yapı içerisinde bulunan pek çok şebeke cihazlarına
güvenilmektedir. Yönetim sorumluluğunun şebeke cihazlarına aktarılması, güvenlik
sorumluluklarının farklı yönetimsel sistemlere devredilmesi anlamına gelmektedir.
Çok hedefli iletimde içerik sağlayıcı ile şebeke sağlayıcısının farklı
organizasyonların yönetiminde olması, sorumlulukların dağıtılmasında sorunlar
yaratmaktadır. Dolayısıyla Iolus mimarisi sadece içerik sağlayıcı ile şebeke sağlayıcı
varlıkların tek bir yerden yönetildiği durumlar için uygun olmaktadır. Günümüzde
böyle bir yapıya çok ender rastlanmaktadır. Internet’in doğası gereği şebeke
sağlayıcıları ile içerik sağlayıcıları farklı yönetimsel organizasyonlardır. Hiyerarşinin
151
düğümler yerine anahtarlar üzerine kurulduğu grupta ise LKH, LKH+, OFT ve
OFT+ algoritmaları bulunmaktadır. LKH algoritmasında anahtarlar yukarıdan
aşağıya doğru itilmektedir. OFT algoritmasında ise anahtarlar ağacın yapraklarından
köke doğru hesaplanmaktadır, dolayısıyla grup anahtarının oluşturulmasında grup
üyeleri aktif rol almaktadır. Grup üye işlemlerinde LKH ile kıyaslandığında, OFT
algoritmasında yarı yarıya daha az bit yollanmaktadır [78]. LHK+ ve OFT+
algoritmalarında gruba yeni bir üye katılması için uygulanması gereken işlemlerin
tamamı sabit bir süre içerisinde yapılabilmektedir. LKH+ algoritması OFT+
algoritmasına kıyasla daha basittir fakat OFT+ algoritmasının karmaşık olması
iletilen bit sayısının daha az olmasını sağlamaktadır. Üye sayısı fazla olmayan
gruplar için tek bir anahtar dağıtım merkezi (TADM) kullanımı tercih edilmelidir.
Gruptaki üye sayısı az olduğu için ölçeklenebilirlik önemini yitirmekte ve grup
anahtar yönetimi tek bir varlık kullanılarak sağlanabilmektedir. Bu algoritmalara ek
olarak grup üyelerinin gruptan ne zaman ayrılacağının belli olduğu senaryolarda
MARKS algoritmasının kullanımı uygun olmaktadır. MARKS, çok hedefli iletimin
özel bir bölümüne girdiği için diğer algoritmalarla karşılaştırılmamıştır. Bu
algoritmaların birbirleriyle karşılaştırılması için tablo 6.4 hazırlanmıştır.
Algoritmalar güvenlik karmaşıklığı açısından karşılaştırıldığında, karmaşıklığın en
az olduğu algoritma TADM’dir. Algoritmalar, karmaşıklık derecesine göre TADM,
LKH, LKH+, OFT ve OFT+ olarak sıralanabilmektedir. En karmaşık algoritma
OFT+’dır. OFT ve OFT+ algoritmasında anahtarların üretilmesinde grup üyeleri de
yer almaktadır fakat TADM, LKH ve LKH+ algoritmalarında anahtarlar sadece
sorumlu varlıklar tarafından üretilmekte ve üyelere dağıtılmaktadır. Tabloda
gösterilmekte olan bilgilerden n gruptaki üye sayısını, h gruba ilişkin ağacın
yüksekliğini, K anahtarın bit cinsinden uzunluğunu göstermektedir. Ağacın dengeli
olduğu durumlarda h = log(n) ifadesi sağlanmaktadır. Burada LKH+ ve OFT+
algoritmalarında R adet üye katılım isteği geciktirilerek birlikte işlendiği zaman
gruptan üye çıkarılması işlemi ayrıca (2R + log(n/R))K bit daha iletilmesine sebep
olacaktır [78]. LKH ve LKH+ algoritmalarında gecikme süreleri fazla değildir (tablo
6.4) fakat anahtarsız tek yönlü işlevler şifreleme işlevlerinden daha az zaman aldığı
için OFT algoritmasındaki birim zaman LKH(+)’ye oranla daha az olacaktır.
Algoritmalar yukarıda belirtilen kıstaslara ek olarak gerektirdikleri bellek
miktarlarına göre de kıyaslanabilmektedir.
152
Tablo 6.4 – Grup anahtar yönetimi algoritmalarının karşılaştırılması
TADM LKH LKH+ OFT OFT+
Grup BaĢlangıcı
Toplam gecikme n 2n 2n 3n 3n
İletilen bit sayısı nK 2nK + h 2nK + h 2nK + h 2nK + h
Tek hedefli iletilen toplam bit sayısı 0 0 0 0 0
Grup denetleyicisindeki hesaplamalar n 2n 2n 3n 3n
Maksimum üye hesaplaması 1 h h 2h 2h
Üretilen rastlantısal bit sayısı K 2nK 2nK nK nK
Gruba Üye Katılması
Toplam gecikme n 2h 1 3h 1
İletilen bit sayısı nK 2hK + h H hK + h H
Tek hedefli iletilen toplam bit sayısı 0 0 K hK K
Grup denetleyicisindeki hesaplamalar n 2h 1 3h 1
Maksimum üye hesaplaması 1 h 1 2h 1
Üretilen rastlantısal bit sayısı K hK 0 K 0
Gruptan Üye Çıkarılması
Toplam gecikme n 2h 2h 3h 3h
İletilen bit sayısı nK + h 2hK + h 2hK + h hK hK + h
Tek hedefli iletilen toplam bit sayısı 0 0 0 0 0
Grup denetleyicisindeki hesaplamalar n 2h 2h 3h 3h
Maksimum üye hesaplaması 1 h h 2h 2h
Üretilen rastlantısal bit sayısı K hK hK K K
Tablo 6.5’te bu kıyaslama gösterilmektedir. Algoritmaların bellek gereksinimleri
yönünden karşılaştırılması sonucu TADM haricindeki algoritmaların harcadıkları
bellek miktarının aynı olduğu görülmektedir. Bu durumda birbiri üzerine üstünlüğü
olmamaktadır.
Tablo 6.5 – Algoritmaların bellek gereksinimi yönünden karşılaştırılması
TADM LKH LKH+ OFT OFT+
Grup yöneticisindeki bellek miktarı nK 2nK 2nK 2nK 2nK
Üyelerdeki maksimum bellek miktarı 2K hK hK hK hK
153
6.2.2. Kaynak Kimlik Doğrulaması ve EriĢim Kontrolü
Çok hedefli iletim kullanılması sayesinde alıcılara ulaştırılan bilgilerin güvenliği
IRTF SMuG araştırma grubu ve IETF MSEC çalışma grubu içerisinde ele alınan
problem alanlarından ilkidir. Bu alan veri dönüşümleri olarak isimlendirilmektedir
[35]. Veri dönüşümleriyle ilgili olarak üç farklı alt bölüm tanımlanmaktadır. Bu alt
bölümler veri şifreleme, kaynak kimlik doğrulaması ve grup kimlik doğrulamasıdır.
Güvenli bir çok hedefli iletim uygulamasında, veri dönüşümleri alanında üç temel
işlevin sağlanmış olması gerekmektedir. Bu işlevlerden ilki grup gizliliğidir
(secrecy). Grup gizliliği, iletilen verinin sadece grup üyeleri tarafından erişilebilir
olmasının sağlanmasıdır. Bir başka deyişle, grup gizliliği sayesinde erişim kontrolü
işlevleri de sağlanmaktadır. Bunun sağlanması için, çok hedefli olarak iletilecek
bilginin iletilmeden önce sadece grup üyeleri tarafından bilinen bir anahtar ile
şifrelenmesi yöntemi kullanılabilmektedir. Grup kimlik doğrulaması, veri
dönüşümleri alanında ikinci önemli işlevdir. Grup kimlik doğrulaması ile birlikte,
grup üyesi olan herhangi bir sistem çok hedefli olarak aldığı verinin grup üyelerinden
herhangi biri tarafından yollandığını tespit edebilmektedir. Fakat bu tür kimlik
doğrulamasında üye, verinin kaynağını doğrulayamamaktadır. Verinin kaynağının
doğrulanması için kaynak kimlik doğrulaması kullanılmalıdır. Kaynak kimlik
doğrulamasında üyeler aldığı verinin hangi sistem tarafından gönderildiğini tespit
edebilmektedir. Kaynak kimlik doğrulaması veri doğrulamasını da beraberinde
getirmektedir. Verinin kaynağı, veri yol üzerinde (üçüncü taraflarca) değişikliğe
uğramadığı takdirde doğrulanabilmektedir. Dolayısıyla alınan verinin kaynağı
doğrulanabildiği takdirde yol üzerinde değişikliğe uğramadığı anlaşılmakta ve veri
doğrulaması da otomatik olarak sağlanmaktadır. Çok hedefli iletim uygulamaları
birbirinden çok farklı şekillerdedir. Genel olarak bakıldığında, çok hedefli iletim
uygulamaları yığın veri transferi ve ya bilgi akımı transferi olarak özelleşmektedir.
Bu çeşitlilik, güvenlik için tek bir altyapı oluşturulmasını engellemektedir.
Günümüzde veri dönüşümleri problem alanına girmekte olan işlevlerin hepsi
uygulamalar tarafından desteklenmemektedir. Bu işlevlerden hangilerinin
kullanılması gerektiği uygulamadan uygulamaya değişmekte ve sistem yöneticileri
tarafından karalaştırılmaktadır.
154
Kaynak kimlik doğrulaması ve veri doğrulaması işlevleri için pek çok farklı
mekanizma bulunmaktadır. Bu mekanizmalar sayısal imzaların kullanılması, akım
imzaları [95], akış (flow) imzaları [82], hibrit imzalama teknikleri [96], zamanlanmış
mesaj doğrulama kodları (Message Authentication Codes, MACs) [97,98] ve
asimetrik MAC kullanımıdır [63]. Güvenlik için sayısal imzaların kullanımı en
güvenli ve kesin çözümdür. Sayısal imza mekanizması anahtar üretimi, imzalama ve
doğrulama (verification) safhalarından oluşmaktadır. İmzalayan taraf, ilk olarak imza
ve doğrulama işlemlerinde kullanılmak üzere bir anahtar çifti üretmektedir. Bu
anahtar çifti, imzalama işlemi için kullanılan ki, ve doğrulama işlemi için kullanılan
kd anahtarıdır [82]. Bu anahtarlar literatürde özel anahtar ve açık anahtar olarak
geçmektedir. İmzalama işlemi için kullanılan anahtar sadece imzalayan sistem
tarafından bilinmektedir. Doğrulama işlemi için kullanılan anahtar ise, imzalı verinin
kullanıldığı bütün sistemler tarafından bilinmektedir. İmzalama safhasında mesaj,
imzalama işlevinden geçirilmektedir. Bu işlevin çıktısı mesajın imzasıdır. Daha sonra
bu imza mesajla birleştirilmekte ve alıcılara ulaştırılmaktadır. Alıcı sistemler, mesajı
aldıktan sonra kd anahtarı ile birlikte doğrulama işlevini uygulamaktadır. Bu işlemin
çıktısı “doğru” olduğu takdirde alıcı sistemler mesajın gerçekten kaynak sistem
tarafından gönderildiğini ve yol üzerinde herhangi bir değişikliğe uğramadığını tespit
etmektedir. Buna ek olarak imza için kullanılan özel anahtar ki sadece kaynak
sistemde bulunduğu için kaynak sistemin mesajı gönderiminin reddedilmesi söz
konusu değildir. İmzalama mekanizmasının bu şekilde kullanılması, harcanan
kaynaklar bakımından pratik olmamaktadır. Pek çok uygulamada imza işlemi, mesaj
özet (digest) işlevlerinden bir tanesiyle birleştirilmektedir. Mesaj özet işlevlerine
örnek olarak MD5 algoritması verilebilir [91]. Böyle bir uygulamada ilk olarak
mesaja h() özet işlevi uygulanmakta ve sabit uzunlukta bir özet elde edilmektedir.
İmza safhasında mesaj imzalanmamakta, daha küçük olan özeti imzalanmaktadır.
Özet çıkarma işleminin imzalama işleminden çok daha kısa sürede yapıldığı göz
önüne alındığında kimlik doğrulaması ve veri doğrulaması daha hızlı
yapılabilmektedir. Yığın veri transferi uygulamalarında, iletilecek veri gönderim
öncesinde bilinmektedir. Bu tür uygulamalarda kaynak, yığının tamamına ilişkin bir
özet hesaplamakta ve daha sonra bu özet imzalamaktadır. Bu tür akımlara “ya hepsi
ya hiçbiri” akımlar (all or nothing) denmektedir [6,82]. Ya hepsi ya hiçbiri
akımlarında, alıcı sistemler verinin doğruluğunu tespit etmek ve kaynak kimlik
kontrolü yapabilmek için iletimin tamamı bitene kadar beklemek durumundadır.
155
Bunun sebebi, imzalanan özetin verinin tamamına ait olmasıdır. Bu tür
uygulamalarda transfer sırasında veri içerisindeki tek bir bit değişse dahi, kontroller
başarısız olmakta ve transferin tekrar yapılması ihtiyacı doğmaktadır. Yığın veri
akımı yerine bilgi akımı transferi yapılan uygulamalarda durum daha da karmaşık
hale gelmektedir. İletilmesi gereken veri önceden bilinmediği için her mesajın ayrı
ayrı imzalanması ve alıcı tarafta doğrulanması gerekmektedir. Bu yaklaşım
kaynakların yüksek kullanımını da beraberinde getirmektedir. Mesaj boyutunun u
bayt olduğu bir uygulamada matematiksel olarak imzalama hızı 1/(Tö(u) + Timza)
bayt/saniye, doğrulama hızı ise 1/(Tö(u) + Tdoğrulama) bayt/saniye olacaktır. Burada Tö
özet çıkarma, Timza imzalama, Tdoğrulama ise alıcı taraftaki doğrulama işlemi için
harcanan süredir. Sayısal imzaların üzerinde yapılan analiz sonucu her bir mesajın
kaynak tarafında imzalanması ve alıcı tarafta doğrulanması, sistemlerdeki işlem gücü
ve hafıza kapasitesi göz önüne alındığında sayısal imzaların bu şekilde kullanılması
pratik bir çözüm olmamaktadır.
6.2.2.1 Özet Temelli Doğrulama
Kaynak doğrulaması için kullanılan sayısal imzaların getirdiği yükün, akımların bir
bölümü üzerine veya bloklara ayrılmış veriye dağıtılması için pek çok çalışma
yapılmıştır [63,82,95-98]. Blok imzaları ve her bir mesaj üzerinde ayrı ayrı kimlik
doğrulaması yapılması [82], bu çalışmalardan biridir. İletilmek istenen veri ilk olarak
paketlere ayrılmaktadır. Bu paketler blok olarak isimlendirilen gruplar içerisinde
toplanmaktadır. Bu teknikte her bir blok tek bir imzalama işleminden geçirilmekte ve
dolayısıyla yük azaltılmaktadır [19]. Paketlerin özetleri çıkarılmakta, daha sonra bu
özetler birleştirilerek tek bir bloğun özeti haline getirilmektedir. Her bir pakette
bireysel olarak kimlik doğrulaması yapılması gerektiği için kimlik doğrulama
bilgileri bütün paketler içerisinde bulunmaktadır. Blok özetinin oluşturulması için iki
farklı zincirleme yöntemi kullanılmaktadır. Bu yöntemler, yıldız ve ağaç
zincirlemesidir. Yıldız zincirlemesinde, toplam m paketten oluşan bir blok için m
özet birleştirilmekte ve blok özeti elde edilmektedir. Bu zincirleme türü şekil 6.16’da
verilmektedir. Özet çıkarma işlevi, h() ile gösterilmektedir. Şekil 6.16’da bir blok,
sekiz adet mesajdan oluşmaktadır. Her bir mesajın özeti Dm olarak gösterilmektedir
ve Dm = h(m) olarak hesaplanmaktadır. Blok kendi içersinde yıldız dizilimine sahip
olduğu için blok özeti D1-8 = h(D1,…,D8) şeklinde hesaplanmaktadır. Blok özeti
156
hesaplandıktan sonra imza işlemine geçilmekte ve sadece D1-8 özeti
imzalanmaktadır. Burada imza mekanizması olarak RSA, DSA veya eFFS
kullanılabilmektedir [82].
D1-8
D1D2 D3 D4 D5 D6 D7 D8
Şekil 6.16 – Yıldız zincirleme tekniği
Kimlik doğrulamasının her bir mesaj için ayrı ayrı yapılabilmesi için, iletilen bütün
mesajlarda kimlik doğrulaması bilgilerinin mevcut olması gerekmektedir. Bu
bilgilerin toplamına mesaj imzası denmektedir [82]. Mesaj imzası, blok imzası,
paketin blok içerisindeki yeri ve blok içerisindeki diğer paketlerin özetlerinden
oluşmaktadır. Bu bilgiler ışığında alıcı tarafta kimlik doğrulaması yapılabilmektedir.
Şekil 6.16’da alıcı tarafa ilk olarak üçüncü mesajın ulaştığı varsayıldığında alıcı
sistem, ilk olarak mesajın özetini hesaplamaktadır (D’3). Daha sonra mesaj içerisinde
bulunan diğer mesajların özetleri kullanılarak blok özeti D’1-8 = h(D1, D2, D’3, D4,
D5, D6, D7, D8) seklinde hesaplanmaktadır. Son olarak doğrulama işlemi
kullanılmakta ve mesaj içerisinde bulunan imzalanmış D1-8 ile hesaplanan D’1-8
birbiriyle karşılaştırılmaktadır. İki özetin birbiriyle eşit çıkması, üçüncü mesajın
kimliğinin doğru olduğu anlamına gelmektedir. Bu bilgi doğrulandığı takdirde, alıcı
sistem, o blok içerisinde yer alan bütün mesajların doğruluğunu imza işlemine
başvurmadan sadece özet çıkarma işlemi kullanarak (Dm = D’m) tespit
edebilmektedir.
D1-8
D1 D2 D3 D4 D5 D6 D7 D8
D1-4 D5-8
D5-6 D7-8D3-4D1-2
Şekil 6.17 – Ağaç zincirleme tekniği örneği
157
Bir diğer zincirleme tekniği ise yıldız tekniğini de içine alan ağaç zincirlemesidir.
Ağaç zincirlemesinde blok özeti, ağacın kökü olarak hesaplanmaktadır. Şekil 6.17’de
ağaç zincirlemesine bir örnek gösterilmektedir. Şekilde gösterilmekte olan ağaç için
ilk olarak ikinci seviye özetler D1-2 = h(D1, D2), D3-4 = h(D3, D4), D5-6 = h(D5,D6), D7-
8 = h(D7,D8) şeklinde hesaplanmaktadır. Hesaplamalar, ağacın köküne ulaşılana
kadar D1-4 = h(D1-2, D3-4), D5-8 = h(D5-6, D7-8), ve D1-8 = h(D1-4, D5-8) şeklinde devam
etmektedir. Daha sonra kök özeti D1-8 imzalanmaktadır. Her bir mesaj için bireysel
olarak kimlik doğrulaması yapılabilmesi için, mesaj imzasında; blok imzası, mesajın
blok içerisindeki konumunu belirten bilgi ve mesajın köke giden yolda bulunan
düğümlerin kardeş düğümlerinin özeti bulunmaktadır. Doğrulama işlemi için paketin
köke doğru uzanan yolu kontrol edilmektedir. Şekil 6.17’deki örnekte alıcı, ilk olarak
üçüncü mesajı almaktadır. Alıcı sistem, mesajın özetini (D’3) çıkarmaktadır. İkinci
adımda, üçüncü düğümle ilişkili olan özetler D’3-4 = h(D’3, D4), D’1-4 = h(D1-2, D’3-4)
ve D’1-8 = h(D’1-4, D5-8) şeklinde hesaplanmaktadır. Bu hesaplamaların yapılabilmesi
için gereken D4, D1-2 ve D5-8 özetleri üçüncü paketin içerisinde bulunmaktadır. D’1-8
özeti hesaplandıktan sonra alıcı sistem imza doğrulama işlevini çağırmakta ve işlevin
çıktısı olan D1-8 ile D’1-8 özetlerini karşılaştırmaktadır. Bu karşılaştırma başarıyla
sonuçlandığında alıcı sistem D3, D4, D1-2, D3-4, D1-4 ve D5-8 özetlerinin
doğruluğundan da emin olmaktadır. Bu bilgilerin ön bellekte saklanması sonucu,
ilgili paketler imza doğrulama işlemi olmaksızın doğrulanabilmektedir. Ağaç ve
yıldız tekniklerine ilişkin karşılaştırma şekil 6.18’de verilmektedir.
0.01
0.1
1
x
2 4 8 16 32 64 128
x
x
x
x
x
0.01
0.1
1
x
x
x
x
x
x
x
8. derece
Yıldız x
2. derece
4. derece
Blok boyutu
2 4 8 16 32 64 128
Blok boyutu
Zin
cirle
me
za
ma
nı (m
s)
Alıcı ta
rafı
Zin
cirle
me
za
ma
nı (m
s)
İmza
laya
n ta
raf
Şekil 6.18 – Blok imzalama tekniklerinde imza için harcanan zamanlar
158
Yapılan benzetimler sonucu [82] ortaya çıkan ve şekil 6.18’de gösterilmekte olan
ölçümler sonucunda blok içerisindeki paket sayısının 64 veya daha az olduğu
durumlarda yıldız zincirleme tekniği daha kısa sürede tamamlandığı görülmektedir.
Blok boyutunun 64 paketten daha fazla olduğu durumlarda ağaç zincirlemesi daha
performanslıdır. Bunun nedeni, m paketten oluşan bloklar için yıldız tekniğinde
O(m2) zaman harcanırken ağaç tekniğinde bu zamanın O(mlog(m)) olmasıdır. Alıcı
tarafında ise blokları oluşturan paket sayısından bağımsız olarak, yıldız tekniği her
zaman daha avantajlıdır. Blok imzalama tekniklerinin kullanıldığı uygulamalarda
kaynak tarafında, blok imzalanmadan önce bloğu oluşturan bütün paketlerin hazır
olması gerekmektedir. Bunun sağlanabilmesi için veri, kaynak tarafında bir
önbellekte bekletilmektedir. Önbelleğin blok içerisindeki mesaj sayısını alabilecek
büyüklükte olması gerekmektedir. Yapılan incelemeler sonucunda blok imzama
işlemi tamamlandıktan sonra verinin ivedi bir şekilde gönderilmesinin öbeklenmeye
sebep olabileceği bulunmuştur. Öbeklenme sonucunda paket kayıpları meydana
gelebilmektedir. Blok imzalama teknikleri, yukarıda sıralanan dezavantajlarının yanı
sıra pek çok avantaj sağlamaktadır. Blok içerisindeki mesaj sayısı arttıkça,
imzalanması gereken blok sayısı azalmaktadır. Ayrıca alıcı tarafında herhangi bir
önbellek ihtiyacı bulunmamaktadır. Alıcı sistemler, paketleri aldıkları anda kimlik
doğrulaması yapabilmektedir. Buna ek olarak bloklar, kaynak tarafından imzalandığı
için gönderimin reddedilmesi ihtimali ortadan kalkmaktadır.
Bilginin akım halinde iletildiği çok hedefli iletim uygulamalarında, verinin
doğrulanması için kullanılan bir başka yol ise özet zincirlemesidir (hash chaining)
[95]. Bu yöntemin uygulanabilmesi için iletilecek verinin önceden hazır olması
gerekmektedir. Kaynak sistem, ilk olarak veriyi toplam n adet bloğa ayırmaktadır.
Daha sonra ilk bloğun sabit uzunluktaki özeti (örneğin MD5 algoritması ile)
hesaplanmaktadır. Bu özet imzalanarak alıcı sistemlere gönderilmektedir. İlk blok
gönderilmeden önce bir sonraki bloğun özeti mesaja eklenmektedir. İkinci blok
gönderilirken, sonuna üçüncü bloğun özeti eklenmektedir. Bu işlem son bloğa kadar
devam etmekte ve son blok herhangi bir özet eklenmeden gönderilmektedir. Şekil
6.19’da özet zincirleme ile ilgili bir örnek gösterilmektedir. Şekilde, çok hedefli
olarak iletilecek veri, toplam n adet mesaja bölünmüştür. İlk olarak birinci bloğun
özeti hesaplanmakta ve imzalanarak gönderilmektedir. Daha sonra özet zincirlemesi
uygulanmakta ve bu işlem son bloğa kadar devam etmektedir.
159
imza(özetB1) özetB2 Bilgi özetB3 Bilgi Bilgi
B1 B2 Bnİmza paketi
Şekil 6.19 – Özet zincirleme tekniği ve gönderilen paketler
Alıcı tarafta imza paketi alındığında ilk safhada imza kontrol edilmekte ve kaynak
kimlik doğrulaması yapılmaktadır. Kimlik doğrulamasından sonra ilk bloğun özeti
saklanmaktadır. İlk blok alıcıya ulaştığında, özeti hesaplanmakta ve saklanan özet ile
karşılaştırılmaktadır. Bu kontrolün başarıya ulaşması, bloğun içeriğinin
doğruluğunun yanında kaynak kimlik doğrulaması da sağlamaktadır. Takip eden
blokların özetleri bir önceki blok ile yollandığı için verinin doğruluğunun kontrolü
son bloğa kadar benzer şekilde yapılmaktadır. Veri doğrulama zinciri, imza
paketinde son bulduğu için gönderim reddedilememektedir. Özet zincirlemesi
tekniğinde sadece tek bir imza işlemi ve toplam n özet işlemi yapılmaktadır. Özet
çıkarma işlevlerinin imzalama işlevlerine göre 1000 kat daha kısa sürdüğü göz önüne
alındığında bu teknik sayesinde yüksek performans sağlanmaktadır. Performansın
yanı sıra, tüm iletim boyunca tek bir imza paketi ve tüm ilerim boyunca her blok tek
bir için özet bilgisi ek yük olarak iletilmektedir. Örneğin imza algoritması için RSA,
özet algoritması için SHA-1 kullanıldığında, 128 baytlık imza paketi ve her blok
başına 20 baytlık ek yük iletilmektedir. Basit özet zincirlemesi tekniği analiz
edildiğinde pek çok sorunu beraberinde getirdiği anlaşılmaktadır. İlk olarak,
iletilmek istenen bilginin tamamının iletime başlanmadan önce hazır olması
gerekmektedir. Veri doğrulaması, bloklar alıcı sistemlere sırasıyla ulaştığı takdirde
yapılabilmektedir. Sıranın bozulması sonucunda veri doğrulamasının
sürdürülebilmesi için uygun sıra sağlanana karda gelen bloklar ön bellekte
tutulmalıdır. Bu tür durumlarda verinin üst katmanlara iletimi veya talep eden
uygulamaya teslimi gecikmektedir. Buna ek olarak, özet zincirleme tekniği paket
kayıplarına karşı toleranslı değildir. Bloklar yollanırken herhangi bir bloğu alamayan
alıcı, o bloktan sonraki bloklar için veri doğrulaması yapamamaktadır.
Basit özet zincirleme tekniğinin paket kayıplarına karşı çok hassas olması ve
gönderimden önce bütün verinin bilinmesi zorunluluğunun önüne geçilebilmesi için
zincirlemenin ileriye doğru yapılması ve mesaj özetlerinin birden fazla mesaj,
içerisinde gönderilmesi gerekmektedir. Özet zincirlemesinin ileriye doğru yapılması
160
sayesinde kaynak verinin tamamı beklenmeden ivedi şekilde iletime
başlanabilmektedir. Bu teknikte, bilgi paketlerini imza paketi takip etmektedir. Alıcı
sistemlerde kimlik doğrulama işleminin yapılabilmesi için imza paketi
gerekmektedir. İmza paketi ileriye dönük zincirlemede, bilgi paketlerinden sonra
gönderildiği için doğrulama gecikmektedir. Kayıplı şebekelerde kayıplara karşı
tolerans sağlanabilmesi için, gönderilen paketlerdeki özet bilgisinin arttırılması
gerekmektedir. Özetler tek bir pakette değil, birden fazla pakette yollanmaktadır.
Böylece her bir paket; mesajın yanı sıra, diğer mesajlara ait olan pek çok özet
taşımaktadır. Bilgi paketlerinde gönderilen özet sayısının artmasına ek olarak imza
paketlerindeki özet sayısı da artmaktadır. Dolayısıyla paket kayıplarına karşı direncin
arttırılması, mesaj başına daha fazla ek yük yaratmaktadır. İleriye doğru zincirleme
ve paket içerisinde birden fazla özet yollama teknikleri Etkin Çok Zincirli Akım
İmzalama algoritmasında (Efficient Multichained Stream Signature, EMSS) [98]
kullanılmaktadır. EMSS tekniğinde ileriye dönük zincirleme kullanıldığı için kaynak
sistem, bilgi hazır olduğu anda iletime başlayabilmektedir. Bilginin akım şeklinde
iletildiği uygulamalarda, gönderimin reddedilebilmesi genellikle çok fazla önem
taşımamaktadır. Çoklu ortam uygulamaları bu tür uygulamalara örnek olarak
gösterilebilir. Çoklu ortam uygulamalarında iletilen bilgiler ivedi bir şekilde
tüketilmektedir. Fakat durum her uygulama için bu şekilde olmamaktadır. EMSS
sayesinde kaynak sistem, bilgileri gönderdiğini reddedememektedir. Gönderimin
reddedilememesi, geleneksel imzalama algoritmaları kullanılarak sağlanmaktadır
[98]. Bu tür algoritmaların işlem ve ek yükü çok fazla olduğundan, tek bir imza pek
çok paket üzerine paylaştırılmaktadır. Gönderimin reddedilememesinin sağlanması
için Pi paketiyle birlikte Pi-1 paketinin özeti olan h(Pi-1) gönderilmektedir. Akımın
sonunda son paketin özetini ve kaynak imzasını taşıyan imza paketi yollandığı
takdirde gönderimin reddedilememesi bütün paketler için sağlanmaktadır. Sağlamlık
değerinin yüksek tutulması için her bir paketin özeti pek çok paketle birlikte
gönderilmekte ve imza paketi pek çok paketin özetini taşımaktadır. Şekil 6.20’de her
paketin kendinden önceki iki paketin özetini taşıdığı durum gösterilmektedir. Şekilde
gösterilmekte olan zincirleme yapısında, imza paketi iki özet taşımaktadır.
Gönderimin reddedilememesi, imza paketlerinin periyodik olarak gönderilmesi
sayesinde sağlanmaktadır. Alıcı sistemlerde doğrulama, imza paketi beklendiği için
gecikme ile yapılmaktadır. EMSS’de özet zincirleri, çizgeler olarak ifade
edilmektedir [98].
161
Mi
h(Pi-1)
h(Pi-2)
Pi
Mi+1
h(Pi)
h(Pi-1)
Pi+1
Mi+2
h(Pi+1)
h(Pi)
Pi+2
h(Pi+1)
h(Pi+2)
İmza
paketi
İmza
Şekil 7.19 – EMSS zincirleme yapısı örneği
Paketler çizge içerisinde düğüm olarak, özet bağlantıları da kenar olarak
anılmaktadır. Bir kenarın uzunluğu ilgili paketlerin sırası i ve j olduğu zaman L(Eij)
= | i - j | olarak ifade edilmektedir. Pj, Pi’nin özetini taşıyorsa Pi düğümünden Pj
düğümüne bir kenar çizilmekte ve Pj paketi, Pi paketinin destekleyen paketi olarak
isimlendirilmektedir. İmza düğümleri S ile gösterilmekte ve Sl imza paketi, Pk
paketine ait özeti taşıdığı takdirde Pk düğümünden Sl düğümüne bir kenar
çizilmektedir. İletim sırasında bazı paketler iletilemediği için, alıcı tarafta alınmayan
paketlere ait düğümler çizgeden çıkarılmaktadır. Sadece alıcıya ulaşan paketlere göre
çizilen çizge içerisinde Pi paketi sadece, Pi düğümünden herhangi bir imza düğümüne
doğru bir yol mevcut olduğu durumlarda doğrulanabilmektedir. Yapılan analizde,
düğüm başına kenar sayısı, kenarların uzunluğu ve dağılımı, düğümlerin frekansı ve
tek bir imza düğümüne giren kenarların sayısının önemli tasarım parametreleri
olduğu anlaşılmaktadır. Bu parametrelerin seçimi işlem ve iletişim ek yükünü,
doğrulama gecikmesini ve paket kayıplarına karşı sağlamlığı direk olarak
etkilemektedir. Genel olarak bütün tasarımlarda amaç minimum ek yük ile paket
kayıplarına karşı maksimum sağlamlık ve alıcı tarafta doğrulama için minimum
gecikmedir. Optimum parametrelerin bulunması için pek çok benzetim
gerçekleştirilmiştir [98]. Benzetimlere bulunan sonuçlara göre derecesi altıdan büyük
olan birleşimlerin %99’unda doğrulama olasılığı %90’ın üzerindedir. Yapılan
benzetimlerde 1-2-3-4-5-6 zincirlemesinin en kötü sonuçları verdiği, üstel olarak
artan 1-2-4-8-16-32 zincirlemesinin başarımının zayıf olduğu ve optimum
çözümlerden birinin 5-11-17-24-36-39 olduğu bulunmuştur [98]. Sadece bu üç zincir
tipi için imza paketinin uzaklığının doğrulama olasılığına etkisi şekil 6.21’de
gösterilmektedir.
162
Do
ğru
lam
a o
lasılığ
ı
İmza paketinin uzaklığı
En üst eğri 5-11-17-24-36-39
Orta eğri 1-2-4-8-16-32
Alt eğri 1-2-3-4-5-6
Şekil 6.21 – EMSS benzetim sonuçları
EMSS algoritmasında, statik zincirlemenin yanı sıra dinamik zincirleme de
kullanılabilmektedir. Bilgi paketlerinin imza paketlerine uzaklığının artmasıyla
birlikte rastlantısal zincirlemedeki doğrulama olasılığının statik zincirlemeye oranla
daha yüksek olduğu, yapılan benzetimler sonucu ortaya çıkarılmıştır [98].
Paket kayıplarının olduğu ortamlarda çok hedefli iletimin güvenli olarak
yapılabilmesi için geliştirilen bir başka yol ise zincirin değiştirilerek uzatılmış
(augmented) yeni bir zincir elde edilmesidir. Uzatılmış zincirler [99] sayesinde,
kısmi olarak saklanan veri iletilebilmekte ve aynı zamanda paket kayıplarına karşı
doğrulama olasılığı arttırılmaktadır. Uzatılmış zincir algoritması, temel zincir
düzeninin üzerine inşa edilmektedir. Temel zincir düzeninde, Pi paketinin özeti Pi+1
ve Pi+a paketlerine yerleştirilmektedir. Burada a değişkeni, tasarımdan tasarıma göre
değişen bir sabittir. Internet üzerinde gerçekleşen paket kayıplarının öbekler halinde
olduğu düşünüldüğünde [100], uzatılmış zincirleme tekniği sayesinde birbirini takip
eden a-1 paket kaybına karşı direnç gösterebilmektedir. Her bir paket iki özet
taşımaktadır ve zincir içerisindeki son paket (Pn) imzalanmaktadır. Böyle bir yapıda,
kaynak tarafında sadece a adet özetin tutulması için bir önbellek gerekmektedir. Alıcı
sistemler, doğrulamaya çalıştığı paket ile ilgili imza paketi gelmeden doğrulama
işlemini gerçekleştirememektedir. Bu sebepten dolayı alıcı tarafta n adet paketin
önbellekte tutulması gerekmektedir. Uzatılmış zincir algoritmasında bu yapı içerisine
toplam p-1 adet ek düğüm eklenmektedir. Şekil 6.22’de a = 3 ve p = 2
parametreleriyle verilen bir uzatılmış zincir gösterilmektedir. Eklenen her yeni
düğüm, diğer düğümler gibi veri paketlerini temsil etmektedir ve var olan
163
düğümlerin arasına yerleştirilmektedir. Şekil 6.22’de gösterilmekte olan uzatılmış
zincir yapısına, A düğümleri yeni eklenen düğümleri, oklar ise taşınan özetleri
göstermektedir. Şöyle ki, B1’den çıkıp B2’ye giren ok B1’in özetinin B2 ile birlikte
iletildiğini göstermektedir. Uzatılmış zincir algoritmasında hem ileriye doğru hem de
geriye doğru zincirleme yapılmaktadır. Dolayısıyla birbirini takip eden p(a-1) adet
paket kaybına karşı direnç sağlanmaktadır. Temel zincirlemenin aksine, kaynak
tarafında p adet paketin ve (a + p – 1) adet özetin önbellekte tutulması
gerekmektedir.
Temel zincir, a = 3
B1 B2 B3 B4
B5 B6 B7
Uzatılmış zincir, a = 3, p=2
B1 B2 B3 B4
B5 B6
A1 A2 A3
Şekil 6.22 – Uzatılmış zincir algoritması örneği (a=3, p=2)
Bu gereksininler dolayısıyla alıcı sistemlerde ise imza paketi dolayısıyla n adet
paketin önbellekte tutulması gerekmektedir. p parametresinin dinamik olarak
değiştirildiği tasarımlar da mevcuttur [99]. Uzatılmış zincirleme üzerinde yapılan
analiz sonucu, bu tekniğin verinin hemen iletilmesi gereken gerçek zamanlı
uygulamalarda kullanılamayacağı görülmektedir. Buna ek olarak, alıcı sistemlerde
doğrulamanın gecikme ile yapılıyor olması önbellekleme saldırılarına açık kapı
bırakmaktadır.
Çok hedefli olarak iletilen veri, kimi zamanlarda öncelik sınıflarına
ayrılabilmektedir. MPEG-2 [101] akımları, bu tür verilere örnektir. MPEG-2 akımı
içerisinde bulunan bir takım B ve P çerçeveleri, ilişkili I çerçeveleri olmadan
görüntülenememektedir. Dolayısıyla iletimde I çerçevelerinin önemi yüksektir.
Bunun gibi pek çok örnek vermek mümkündür. Değişken önem derecesine sahip
paketler bulunduran akımların çok hedefli iletimi için sırtında taşıma (piggybacking)
tekniği [102] kullanılmaktadır. Bu teknikte kaynak sistemde özet zincirinin
164
hazırlanabilmesi için iletilmek istenen bütün verinin önceden hazır olması
gerekmektedir. İlk olarak verinin tamamı öncelik sınıflarına ayrılmaktadır. En
yüksek önceliğe sahip sınıf S0 olarak ifade edilmektedir. Verinin ilk paketi ve en
yüksek önceliğe sahip paketler bu gruba konmaktadır. S0 sınıfına dahil olan
paketlerin doğrulanması için alt sınıflardaki paketlerin alımına ihtiyaç
duyulmaktadır. Buna ek olarak önceliği en yüksek sınıfın paket kaybına olan
toleransı en yüksek olmaktadır. Böylece veri içerisindeki belirli paketler (S0) için
ortalamanın üzerinde öbeklenmiş kayıp toleransı, diğer paketler için ortalamanın
altında öbeklenmiş kayıp toleransı sağlanmaktadır [102]. Üst üste bindirme
tekniğinde veri akımının tamamı, toplam n adet pakete bölünmektedir. Bu paketler,
toplam r adet eşit büyüklükteki öncelik sınıfına dağıtılmaktadır. Her bir sınıfın
büyüklüğü z = n / r olmaktadır. Öncelik sınıflarına ayrılmış paketler Si,j olarak
gösterilmekte ve ilk indeks öncelik sınıfını, diğer indeks ise o paketin sınıf
içerisindeki yerini göstermektedir. Önceliği en yüksek sınıf olan S0 içerisindeki
paketler, akım içerisinde birbirleri arasına r düğüm kadar mesafede konarak
yerleştirilmektedir. Ayrıca her bir öncelik sınıfı için ayrı ayrı maksimum öbeklenme
değerleri bulunmaktadır. Bu değerler bi ile ifade edilmekte ve her bir sınıfın arda
arda kaç paket kaybına toleranslı olacağını göstermektedir. Dolayısıyla b0 = maks(bi)
olmak üzere toplam b0, b1, …, br-1 adet öbeklenme parametresi olmakta ve bi = ki x r
eşitliği sağlanmaktadır. Diğer sınıfların yerleştirilmesi ile ilgili herhangi bir kısıt
bulunmamaktadır. Daha sonra bu sınıfların öncelikleri göz önünde bulundurularak
bir çizge oluşturulmaktadır. a düğümünden başlayarak b düğümüne doğru giden bir
ok e(a, b) olarak gösterilmektedir. a ile b düğümleri arasındaki bu ilişki, b’nin içeriği
ve kaynağı doğrulandıktan sonra a’nın da içerik ve kaynak doğrulamasının
yapılabileceği anlamına gelmektedir. Bir başka deyişle b paketi, a paketinin özetini
taşımaktadır. Çizge aşağıdaki şekilde oluşturulmaktadır.
1. Yüksek önceliğe sahip paketlerin eklenmesi;
1.1. i = 0 ve j = 1 iken; si,j’den hiçbir kenar çıkmamaktadır. (Bu düğüm
başlangıç düğümüdür.)
1.2. i = 0 ve j = 2, 3, …, k0 + 1 iken; e(s0,j, s0,1) kenarları çizgeye
eklenmektedir. (Başlangıca yakım düğümler.)
1.3. i = 0 ve j = k0 + 2, k0 + 3, …, z iken; e(si,j, si,j-1) ve e(si,j, si,j-1-k0)
kenarları çizgeye eklenmektedir.
165
2. Diğer düğümlerin eklenmesi;
2.1. i = 1, 2, … r-1 ve j = 1, 2, …, ki iken; e(si,j, s0,j) kenarı çizgeye
eklenmektedir. (Başlangıca yakın düğümler.)
2.2. i = 1, 2, …, r-1 ve j = ki+1, ki+2, …, z iken; e(si,j, s0,j) ve e(si,j, s0,j-ki)
kenarları çizgeye eklenmektedir.
Çizge oluşturulurken, öncelik seviyesi en yüksek gruptan çıkan kenarlarla
başlanmaktadır. Önceliği en yüksek olan sınıf için kayıp toleransı k0 x r’dir. S0,1, veri
içerisindeki ilk pakettir ve sayısal imzayı da taşımaktadır. Sırtında taşıma tekniğinde
r = 2 olan durum için paketlerin birbiri arasındaki ilişkisi şekil 6.23’te
gösterilmektedir. Bu teknik sayesinde düşük önceliğe sahip paketler, S0 sınıfına dahil
olan düğümlerin arasındaki kenarlardan oluşturulmuş sağlamlık derecesi yüksek yapı
üzerine bindirilmektedir [103]. Böylece S0 sınıfına dahil olmayan paketlerin
kaybolmasına yol açan öbeklenmiş bir kayıp, kaybolan paketler dışındaki diğer
paketlerin doğrulanmasını etkilememektedir. Fakat öncelikli paketlerin kaybolması
diğer paketlerin doğrulanmasını etkilemektedir. Öncelikli paketlerin iletim sırasında
kaybolmasının en alt seviyeye indirilmesi için bu gruba ait paketler, birbiri arasına
mesafe konarak akım içerisine yerleştirilmektedir.
Pm Pm+1
s0,i s1,j
Pm+2
s0,i+1
Pm+2k0
s0,i+k0
Pm+2k0+1
s1,j+m
Pm+2(k0+1)
s0,i+k0+1
...
...
Şekil 6.23 – Üst üste bindirme tekniği, r = 2
Çok hedefli iletimde birinci problem alanı içerisindeki sorunların üstesinden
gelebilmek için özet zincirlemesi kullanan teknikleri özetlemek gerekirse; güvenilir
olmayan akımın doğrulanabilmesi için her bir paket içerisinde birden fazla mesajın
özeti gönderilmektedir. Doğrulama olasılığının yüksek tutulması için her bir imza
paketinde birden fazla özet bulunmaktadır ve imza paketlerinin iletimine yüksek
önem verilmektedir. EMSS [98] ve uzatılmış zincirleme [99] tekniklerinde imza
paketleri iletimin sonunda gönderilmekte olduğu için alıcı sistemlerde doğrulama
gecikme ile yapılmaktadır. Doğrulamanın gecikme ile yapılması alıcı sistemlerde
önbellek kullanımını da beraberinde getirmektedir. Alıcı tarafında önbellek
kullanımı, DoS (hizmet durdurma) saldırılarına olanak tanımaktadır. Bunun nedeni
166
alıcı sistemlerin, aldığı paketleri anında doğrulayamadığı için, gelen bütün paketleri
kabul edip biriktirmesidir. İmza paketlerinin akımın başında iletilmesi, alıcı
sistemlerde doğrulamanın ivedi şekilde yapılabilmesine sebep olmaktadır. Fakat
böyle bir yapıda kaynak, veriyi anında iletememekte ve verinin kısmen veya
tamamen hazır olması gerekmektedir. Fakat imzanın sonda olduğu durumlarda
iletime hemen başlanabilmektedir. Doğrulama mekanizmalarında kullanılan paketler
arasında oluşturulan ilişkiler, doğru iletilen bir paketin kayıp olan başka bir paket
sayesinde doğrulanamayarak atılmasına sebep olabilmektedir. İmza paketinin nasıl
oluşturulduğu birden fazla özet zincirini bir arada kullanan algoritmalar için hayati
önem taşımaktadır. Bir imza paketinde bulunan özet sayısı, imza paketlerinin iletim
sağlamlığı birkaç önemli parametredir.
Yukarıda yapılan analize ek olarak alıcı ve kaynak tarafındaki doğrulama
gecikmeleri kullanılan tekniklerin doğası gereği engellenememektedir. Çok hedefli
iletim uygulamasının yapısına göre hangi taraftan feragat edilmesi gerektiği
seçilmelidir.
6.2.2.2. Mesaj Doğrulama Kodları (MAC) Temelli Veri DönüĢümleri
Birinci problem alanı olan veri dönüşümleri alanında güvenliğin sağlanması için
kullanılan bir diğer yol mesaj doğrulama kodlarıdır (Message Authentication Codes,
MAC). MAC temelli doğrulama için tek yollu zincirler, ilk olarak bağlantı durumu
yönlendirme protokollerinde güvenliğin sağlanması amacıyla kullanılmıştır [97].
Çok hedefli iletim söz konusu olduğunda, MAC temelli doğrulama tekniği TESLA
algoritmasında kullanılmaktadır. TESLA algoritması (Timed Efficient Stream Loss
Tolerant Authentication, TESLA) [98], zamanlanmış, verimli ve iletim kanalı
kayıplarına karşı toleranslı doğrulama sağlamaktadır. TESLA sayesinde, kayıplara
karşı sağlamlık arttırılmakta ve yüksek ölçeklenebilirlik elde edilmektedir. TESLA
algoritmasında, yarı rastlantısal işlevler (Pseudo Random Function, PRF) ve mesaj
doğrulama kodlarından yararlanılmaktadır. Algoritmada şifreleme anahtarları belirli
bir süre gecikme ile bildirilmektedir. İlk olarak, rastlantısal bir k anahtarı
üretilmektedir. Kaynak bu anahtara olan bağlılığını (commitment), PRF kullanarak
alıcılara iletmektedir. MAC bilgisi bir sonraki paket olan Pi içerisinde
yollanmaktadır. MAC bilgisinin üretiminde k anahtarı kullanılmaktadır. Bir sonraki
pakette (Pi+1), k anahtarı açık haliyle iletilmektedir. Böylece alıcı sistemler Pi+1
167
paketini aldığında k anahtarına olan bağlılığı ve Pi paketinin MAC bilgisini
doğrulayabilmektedir. Güvenliğin sağlanabilmesi için Pi paketinin, Pi+1 paketi
gönderilmeden alınmış olması gerekmektedir. Alıcı sistemler, bu koşulun
sağlandığından emin olduktan sonra Pi paketini tamamen doğrulamış olmaktadır.
TESLA algoritmasının başında kaynak ilk bağlılığı imzalamaktadır. İlerleyen
paketler zincirleme ile doğrulanmaktadır.
TESLA algoritması, ilk olarak temel tasarım olarak oluşturulmuş, daha sonra üzerine
eklemeler yapılarak son halini almıştır. Temel algoritmanın kullanılmaya
başlanmasından önce zaman eşlemesi yapılması zorunludur. Temel yapıda kaynak
ilk olarak sadece kendisinin bildiği bir anahtara olan bağlılığını imzalayarak alıcı
sistemler ile paylaşmaktadır. Bu bağlılık, F(Ki) olarak ifade edilmekte ve
hesaplanması PRF ile gerçekleştirilmektedir. Daha sonra kaynak, Ki anahtarını
kullanarak Pi paketine ilişkin MAC bilgisini hesaplamaktadır. Ki anahtarı, Pi+1
paketinde alıcılara açık olarak iletilmektedir. Alıcı sistemler Ki anahtarına olan
bağlılığı (F(Ki)) ve Pi paketine ilişkin MAC’i doğrulamaktadır. Her iki doğrulama da
başarıyla sonuçlandığı takdirde, Pi paketinin gerçekten o kaynaktan geldiği ve yol
üzerinde değişmediği kararına varılmaktadır. Anahtara olan bağımlılık PRF
kullanılarak üretildiği için bu bağımlılıktan anahtarın bulunması işlemsel olarak
imkansızdır [39]. İlgili paket yapısı şekil 6.24’te verilmektedir.
Mi-1
F(Ki)
Ki-2
Di-1
MAC(K‟i-1, Di-1)
Mi
F(Ki+1)
Ki-1
Di
MAC(K‟i, Di)
Mi+1
F(Ki+2)
Ki
Di+1
MAC(K‟i+1, Di+1)
Pi-1 Pi Pi+1
Doğrulanmış Pi+1„den sonra doğrulanacak Henüz doğrulanmamış
Şekil 6.24 – Temel TESLA yapısındaki paketler
Şekilde gösterilmekte olan paketler içerisindeki Mi, mesajı, K’i = F’(Ki) bir sonraki
paketin MAC bilgisinin hesaplanması için kullanılan anahtarı, F(Ki) ise Ki anahtarına
olan bağlılığı göstermektedir. F ve F’ işlevleri iki farklı PRF’tir. Ki anahtarına olan
bağımlılık F(Ki), bir sonraki paket olan Pi paketinin doğrulanmasında önem
taşımaktadır. Önyüklemenin gerçekleştirilebilmesi için ilk paketin imzalanması
gerekmektedir. Mi bilgisinin gönderilebilmesi için ilk olarak yeni bir anahtar (Ki+1)
168
seçilmekte ve Pi = (Di, MAC(K’i, Di)) mesajı oluşturulmaktadır. Mesaj içerisindeki
Di = (Mi, F(Ki+1), Ki-1) anlamına gelmektedir. MAC(K’i, Di) ise Di’nin K’i anahtarı
altında üretilen mesaj doğrulama kodudur. Pi mesajı alıcı sisteme ulaştığında alıcı
sistem Ki anahtarını bilmediği için K’i anahtarını hesaplayamamakta ve dolayısıyla
alınan paketin MAC bilgisini hesaplayamadığı için paketi doğrulayamamaktadır. Ki
anahtarı, alıcıya Pi+1 paketinde ulaşmaktadır. Alıcı sistem ilk olarak bu anahtara olan
bağımlılığı hesaplamakta ve Pi-1 paketiyle gönderilen F(Ki) ile karşılaştırmaktadır.
Daha sonra K’i = F’(Ki) hesaplanarak Pi paketinin doğrulaması yapılmaktadır. Pi
paketinin doğrulanmasıyla birlikte F(Ki+1) bağlılığı da doğrulanmaktadır. Doğrulama
adımları Pi+2 alındıktan sonra Pi+1 için tekrarlanmaktadır. Bu yapıda, alıcı sistemlerin
Pi paketini almasından önce Pi+1 paketinin kötü niyetli kişiler tarafından alınması,
güvenlik açıklarına neden olmaktadır. Bu şekilde Pi paketine ait MAC bilgisinin
hesaplanması için kullanılan Ki anahtarı kötü niyetli kişilerin eline geçmekte ve Pi
içerisinde yollanan bağlılık değiştirilerek Pi’den sonraki paketler üzerinde hileli
değişiklikler yapılabilmektedir. Bunun önlenebilmesi için algoritma içerisinde bir
“güvenlik koşulu” tanımlanmaktadır [98]. Bu koşula göre, alıcı taraf Pi paketini
aldığında, kendi zamanı ve t süresini göz önünde bulundurarak, Pi paketi ile ilgili
anahtarları içeren Pj paketinin henüz kaynak tarafından gönderilmediğini doğrulamak
zorundadır. Bu koşul sağlandığı takdirde Pi paketinin güvenli bir şekilde iletildiği
doğrulanmaktadır.
TESLA algoritmasında paket kayıplarına karşı toleransın arttırılması için Ki
anahtarlarının rastlantısal olarak seçilmesi yerine anahtar zincirleri kullanılmaktadır.
Zincir içerisindeki anahtarlar, Fv(x) = F
v-1(F(x)) ilişkisi kullanılarak
hesaplanmaktadır. Aynı ilişki v = 0 için F0(x) = x şeklinde yazılmaktadır. Zincirin
oluşturulabilmesi için, kaynak ilk olarak rastlantısal bir Kn anahtarı üretmekte ve bu
anahtarı kullanarak biraz önce tanımlanan PRF yarımıyla n adet anahtar
hesaplamaktadır. K0 anahtarı Fn(Kn) olarak, zincir içerisindeki herhangi bir anahtar
ise Ki = Fn-i
(Kn) olarak hesaplanmaktadır. Anahtar üretimi için böyle bir zincir
kullanıldığında, yarı rastlantısal işlevlerin özelliklerinden dolayı Ki verildiğinde F
işlevi tersine döndürülememekte ve dolayısıyla j > i için Kj hesaplanamamaktadır.
169
Mi-1
Ki-2Di-1
MAC(K‟i-1, Di-1)
Pi-1
K‟i-1
Mi
Ki-1Di
MAC(K‟i, Di)
Pi
K‟i
Mi+1
KiDi+1
MAC(K‟i+1, Di+1)
Pi+1
K‟i+1
Ki+1KiKi-1
F‟F‟F‟
F F
DoğrulanmışPi+1„den sonra
doğrulanacak
Henüz
doğrulanmamış
Şekil 6.25 – TESLA algoritmasında anahtar zincirleri kullanımı
Alıcı sistemler Ki anahtarını aldıklarında j < i eşitsizliğini sağlayan bütün Kj
anahtarlarını hesaplayabilmekte ve dolayısıyla Pi paketinin doğrulanması için Pi’den
sonra gelen herhangi bir paket yeterli olmaktadır. Şekil 6.25’te zincir yapısı
gösterilmektedir. Yarı rastlantısal işlevler ters çevrilemedikleri için, zincir
içerisindeki herhangi bir bağlılık zincirin tamamına olan bağlılığı doğrulamaktadır
[98]. Bu nedenden dolayı anahtar bağımlılıklarının (F(Ki)), ilk paket haricinde diğer
paketler içerisinde yollanmasına gerek duyulmamaktadır. Özetle, paket kayıplarına
karşı tolerans tek yollu anahtar zincirleri kullanılarak arttırılmaktadır.
TESLA algoritmasında en önemli noktalardan biri “güvenlik koşulu”’nun
sağlanmasıdır. Bunun için alıcı sistemlerin Pi paketinin aldıklarında kaynağın Pi+1
paketini yollamamış olduğundan emin olmaları gerekmektedir. Bunun sağlanması
için en kolay yol, kaynağın iletim hızının alıcı sistemler tarafından bilinmesidir.
Fakat bu koşul, kaynağın iletim hızını sınırlandırmaktadır. Güvenlik koşulunun
kaynağın iletim hızına bağımlı olmaması için Pi paketi ile ilgili Ki anahtarı Pi
paketini takip eden bir sonraki paket ile iletilmemekte, bunun yerine Pi+d paketinde
iletilmektedir. Burada d gecikme parametresi olarak isimlendirilmektedir. Gecikme
parametresi kaynak tarafından belirlenmekte ve grup oluşturulurken alıcılarla
paylaşılmaktadır. Yapılan analiz sonucunda bu parametrenin yüksek seçilmesinin
alıcı sistemlerde paketlerin geç doğrulanmasına, düşük seçilmesinin ise güvenlik
koşulu dolayısıyla bazı paketlerin atılmasına sebep olduğu görülmektedir. Bir başka
deyişle, bu parametrenin seçimi güvenliği etkilememekte, tasarımın
kullanılabilirliğini etkilemektedir.
170
Gecikme parametresinin kullanımı yanında kaynak tarafında dinamik iletim
hızlarının desteklenebilmesi için artan paket indeksleri yerine zaman aralıklarına
göre anahtar değişimi uygulanmaktadır [98]. Böylelikle alıcıların paketlerin ne
zaman gönderileceğini tam olarak bilmeleri gerekliliği ortadan kalmaktadır. Aynı i
zaman aralığında kaynak sadece tek bir anahtar (Ki) kullanmakta ve MAC bilgilerini
Ki yardımı ile hesaplamaktadır. i zaman aralığı içerisinde gönderilen bütün paketler
Ki-d anahtarını ifşa etmektedir. Grubun kurulması sırasında kaynak; iletimin ilk
olarak başlayacağı zaman olan T0 değerini, her bir zaman aralığının ne kadar
süreceğini belirten T değerleri ve d parametresini bütün grup üyeleriyle
paylaşmaktadır. Bu değerler imzalanarak gönderilmektedir. Her hangi bir t
zamanında aralık indeksi i = (t – T0) / T ifadesi yardımıyla hesaplanmaktadır.
Her bir i zaman aralığıyla bir Ki anahtarı ilişkilendirilmiştir ve bu anahtarlar daha
önce açıklanmış olan zincir yapısındadır. Anahtar ifşa etme periyodunun çok önemli
bir tasarım parametresi olduğu görülmektedir. Zaman farkının düşük seçildiği
durumlarda paketler hızlıca doğrulanmakta fakat yavaş bir şebekede iletim süreleri
yüksek olacağından güvenlik koşulu sağlanmamakta ve paketler atılmaktadır. Zaman
farkının yüksek seçildiği durumlarda, yüksek gecikmeye sahip olan şebekeler
içerisindeki alıcılar, çok hedefli iletimi, paketleri atmadan alabilecek fakat kaynağın
yakınındaki sistemlerde şebeke erişimi hızlı olduğu için önbellek sorunları
yaşanacaktır. Bütün alıcıların isteklerinin yerine getirilebilmesi için anahtar ifşa
periyotları birbirinden farklı birden fazla doğrulama zinciri kullanılması
gerekmektedir. Böylelikle alıcı sistemlerin çok hedefli iletimi, kendileri için en
uygun olan zinciri seçerek alması mümkün olmaktadır.
TESLA algoritmasında sayısal imza kullanım yükü birden fazla paket üzerine
paylaştırılmaktadır. Kaynak tarafında her bir paket için tek bir MAC operasyonu
yapılmakta ve MAC ile birlikte zincir içerisinden bir anahtar gönderilmektedir.
Güncel zaman aralığının indeksinin gönderilmesi isteğe bağlıdır. Alıcı tarafta bir
paketin doğrulanması için sadece tek bir MAC operasyonuna ihtiyaç duyulmaktadır.
Güvenlik koşulu için yapılması gereken işlemler gözle görülür bir ek yük
getirmemekte fakat parametre seçimlerine göre bazı paketlerin atılmasına sebep
olabilmektedir. Buna ek olarak zaman eşlemesinin gerçekleştirilmesi çoğu zaman
çok karmaşık olmakta ve her uygulamada sağlanamamaktadır. Ayrıca doğrulamanın
yapılabilmesi için alıcı tarafta önbellekleme yapılması zorunludur. Kaynağın iletim
171
hızına ve d parametresinin seçimine bağlı olarak saklanması gereken paketlerin
sayısı çok fazla olabilmektedir. Bazı durumlarda bellek taşmaları yaşanabilmektedir.
6.2.3. Bilgi Korsanlığı
Sadece tek bir sistem tarafından bilinen bir bilgi, herhangi bir şekilde üçüncü
taraflarca öğrenildiğinde, bilgiyi sızdıran sistemin hangisi olduğu açıktır. Fakat aynı
bilgiye birden fazla sistemin erişimi olduğu durumlarda bilginin hangi sistem
tarafından üçüncü taraflara verildiğinin saptanması karmaşık bir problem haline
gelmektedir. Çok hedefli iletimde, erişim hakkı olmayan sistemlerin iletilen içeriğe
erişememesi için erişim hakkı olan sistemlere belirli anahtarlar dağıtılmakta ve
kaynak tarafında veri gönderilmeden önce sadece bu anahtarlar tarafından deşifre
edilebilmesi için şifrelenmektedir. Böyle bir tasarım, bilginin grup dışına çıkmaması
için her zaman yeterli olmamaktadır. Bunun nedeni, iletişimin güvenli hale
getirilmesi için grup üyelerine güvenilmesi ve deşifre için anahtarların dağıtılmasıdır.
Bilgi korsanlığı, gruba dahil olan resmi üyelerin, gruba iletilen bilgiyi edinme hakkı
olmayan sistemlere yardım ederek bilgileri bu sistemlerle paylaşması anlamına
gelmektedir [63]. Bilgi korsanlığının en çok yaşandığı uygulama türü televizyon
yayıncılığıdır. Bilgi korsanlığının engellenmesi iki farklı safhadan oluşmaktadır. İlk
safha, bilgi kaçıran grup üyesinin veya üyelerinin izlenmesidir. Bu şekilde davranan
grup üyelerine hain (traitor) denmektedir [63, 103]. İkinci safha ise bu tür sistemlerin
operasyonlarının durdurulmasına yöneliktir. Bilgi korsanlığının engellenebilmesi için
ilk olarak korsanlığın ortaya çıkarılması gerekmektedir. Korsanlığın kaynağı (veya
kaynakları) bulunduktan sonra bilgiyi deşifre etmesi engellenmekte ve sistem, grup
üyeliğinden çıkarılmaktadır. Bilgi korsanlığı anahtar dağıtımı ve bilgi dağıtımı olmak
üzere iki farklı şekilde yapılabilmektedir. Anahtar dağıtımında hain sistemler
kendilerine dağıtılan ve grup trafiğini deşifre etmek için kullanılan anahtarları
üçüncü parti sistemlerle paylaşmaktadır. Böylece üçüncü parti sistemler grup
trafiğini kendilerine çekip deşifre edebilmektedir. İkinci yöntem ise deşifre işleminin
hain sistemlerde yapılması ve açık bilginin üçüncü taraflarla paylaşılmasıdır. Üçüncü
tarafların sayısının çok olması durumunda, bilgi dağıtımı korsanlığının yapılması
zorlaşmakta ve ortaya çıkarılması aynı oranda kolaylaşmaktadır. Genel olarak
anahtar dağıtımı metodu tercih edilmektedir [63]. Bilgi korsanlığını engellenebilmesi
için başvurulan yollardan biri deşifre için kullanılacak anahtarların akıllı kartlar
172
içerisinde dağıtılmasıdır. Gruba üye olan kişiler bu kartları bilgisayarlarına takmakta
ve deşifre işlemi sadece ve sadece akıllı kartlar bilgisayara takılı iken
gerçekleşebilmektedir. Yapılan analizler sonucunda anahtarların ve diğer önemli
bilgilerin akıllı kartlar içerisinden elde edilmesinin zor olduğu fakat imkansız
olmadığı anlaşılmıştır. Günümüzde bilgilerin akıllı kartlardan çalınması çok daha
kolay hale gelmiştir [104].
Gruba dahil olan üyelerin hangisinin veya hangilerinin hainlik yaptığının bulunması
için iletilen verinin herhangi bir şekilde üyelere göre ayırt edilebilir olması
gerekmektedir. Böyle bir tasarım, bilgi gizleme teknikleriyle sağlanabilmektedir. Pek
çok bilgi gizleme tekniği bulunmaktadır. Bilgi gizleme teknikleri şekil 6.26’da
gösterilmektedir [105]. Çok hedefli iletim sistemlerinde, çoğu uygulamada telif hakkı
işaretleri kullanılmaktadır. Telif hakkı işaretleri iki alt gruba ayrılmaktadır. “Kırılgan
telif hakları işaretleri” bölümünde bulunan teknikler, çeşitli veri dönüşümleri
sonrasında kaybolmaktadır. Örneğin bir resim dosyasının en önemsiz veri bitleri
kullanılarak oluşturulmuş bir işaret, dosyanın herhangi bir sıkıştırma algoritmasından
geçirilmesi sonrasında kaybolmaktadır. Bunun nedeni en önemsiz bitlerin sıkıştırma
sırasında feda edilmesidir. Bu nedenden ötürü çok hedefli iletim uygulamaları gibi
pek çok uygulamada bu tür teknikler kullanılmamaktadır. “Sağlam telif hakkı
işaretleri” ,sıkıştırma algoritmaları gibi veri dönüşümlerinden etkilenmemektedir ve
iki alt gruba ayrılmaktadır. İlk grup iletilen trafik içerisinde parmak izi
tanımlanmasına yönelik teknikleri içermektedir. Parmak izi kullanımı, basit olarak
her bir kopya içerisinde eşsiz bir seri numarası gizlenmesi olarak tanımlanmaktadır
[105]. Böylece bilgi korsanlığı ortaya çıkarıldıktan sonra hangi grup üyesinin veya
üyelerinin korsanlığa dahil olduğunun bulunması mümkün olmaktadır. Sağlam telif
hakkı işaretlerinin ikinci alt grubu gizlenmiş kodlardır (watermarking). Gizlenmiş
kod tekniğinde iletilen bilgi içerisine telif hakkı bilgileri eklenmektedir. Bu bilgiler,
içerik sahibinin resmi adı, logosu veya yasal bilgiler olabilir. Gizlenmiş kod tekniği
ile parmak izi tekniğini birbirinden ayıran en önemli özellik parmak izinde gizlenen
bilgiler o bilgiyi tüketen varlıklara göre çeşitlilik göstermektedir. Gizlenmiş kod
tekniğinde böyle bir özellik bulunmamakta ve bilgiyi tüketen bütün varlıklara aynı
gizli bilgiler iletilmektedir. Dolayısıyla gizlenmiş kod teknikleri sadece bilgi
korsanlığını ortaya çıkarmakta, parmak izi teknikleri ise korsanlığın hangi grup üyesi
(veya üyeleri) tarafından yapıldığını belirlemektedir.
173
Bilgi Gizleme
Gizli Kanallar Stenografi Anonim Teknikler Telif Hakkı İşaretleri
Dilbilimsel
Stenografi
Teknik
Stenografi
Sağlam Telif
Hakkı İşaretleri
Kırılgan Telif
Hakkı İşaretleri
Parmak İzi
Tanımlaması
Gizlenmiş
Kodlar
Sezilemeyen
Gizlenmiş Kod
Görünür
Gizlenmiş Kod
Şekil 6.26 – Bilgi gizleme teknikleri
Bilgi korsanlığına dahil olan grup üyelerinin yakalanması için kullanılan en yaygın
yöntem, her bir üyeye farklı bir anahtarın verilmesidir. Bu anahtarlara bireysel
anahtarlar denmektedir. Çok hedefli olarak iletilecek bilgi genel bir anahtarla
şifrelenmekte, daha sonra bu genel anahtar bireysel anahtarlar kullanılarak deşifre
edilebilecek şekilde şifrelenmektedir. Böyle bir tasarımın en büyük dezavantajı her
bir kullanıcı için ek yükün artmasıdır. Bilgi korsanlarının k adet bireysel anahtarı
ellerinde bulundurması durumunda dahi güvenliğin sekteye uğramadığı pek çok
algoritma oluşturulmuştur [103,106]. Grup üyeleri tarafından içeriğin dağıtımının
ortaya çıkarılabilmesi için gizlenmiş kod teknikleri kullanılmaktadır. Bu izler ister
sezilemeyen, ister görünür tarzda olsun bilgiden çıkarıldıklarında bilgi zarar
görmektedir. Gizlenmiş kod tekniğinin kullanıldığı pek çok tasarım bulunmaktadır
[105,107-109]. Bilgi korsanlığının önlenmesinde etkili olan bir diğer faktör ise grup
üyelerinin cesaretinin kırılmasıdır. Her bir üyeye iletilen trafikte veya bu trafiği
deşifre etmesi için gönderilen anahtarlarda gizlenen özel bilgiler sayesinde
korsanlığa karışan üyeler kolayca yakalanmaktadır. Grup haberleşmesinin böyle bir
altyapı kullanılarak yapıldığını bilen grup üyelerinin korsanlığa teşebbüs etmesinin
olasılığının düşük olduğu kabul edilmektedir. Bunun nedeni korsanlık yapan üyelerin
kimliğinin ortaya çıkıp bu üyelerin yasal yaptırımlarla karşı karşıya kalacak
olmasıdır. Böyle bir ortamda, çoğu grup üyesi korsalığa teşebbüs etmemektedir.
174
6.2.4. Çok Hedefli Ġletimde Güvenlik Politikalarının Kullanımı
Çok hedefli iletimde kullanılmakta olan güvenlik algoritmaları, protokolleri ve
mimarileri çok hedefli iletimin doğası gereği güvenliği tam olarak
sağlayamamaktadır. Bir başka deyişle, çok hedefli iletimin güvenli hale getirilmesi
adına yapılan çalışmaların neredeyse tamamı güvenliğin sadece bir boyutunu ele
almış ve dolayısıyla diğer boyutlar için farklı güvenlik önlemlerine ihtiyaç
duyulmuştur. Buna ek olarak güvenlik gereksinimleri uygulamadan uygulamaya
değişmektedir. Kimi uygulamalar iletilen verinin tamamının güvenli hale
getirilmesini istemekte, kimi uygulamalar herhangi bir alıcı erişim kontrolü
yapmamaktadır. Çok hedefli iletimin kullanım alanının çok geniş olması güvenlikle
ilgili çeşitli sorunları da beraberinde getirmektedir. Güvenlikle ilgili parametrelerin
tek bir yerde toplanması fikri bu sayede ortaya çıkmıştır. Uygulama içeriğinin yetkisi
olmayan varlıklardan korunması ve kötü niyetli kişilerin sistemi etkileyememesi için
oluşturulan genel kurallar bütünlüğüne güvenlik politikası denmektedir. Bir başka
deyişle, grup güvenlik politikası grup iletişimine katılan veya yardımcı olan
varlıkların erişim haklarını, üstlendiği rolleri ve grup güvenliği ile ilgili işlevlerini
güvenlik bakış açısıyla belirten tanımlamalardır [110]. Güvenlik bağlamında grup
tanımları; anahtar kümeleri, üyeler, grup iletişimini güvenli hale getiren protokoller
ve algoritmalardan oluşmaktadır. Grup güvenlik politikası, doğrudan veya dolaylı
olarak güvenlik bağlamındaki tanımların nasıl türetileceğini ve kullanılacağını ifade
etmektedir. Buna ek olarak güvenlik politikası çatısı ise, güvenli grup politikasını
belirlemek, yorumlamak, müzakere etmek ve dağıtmak için kullanılan varlıkları ve
protokolleri tanımlamaktadır. Politikalar, grup politikaları ve yerel politikalar olmak
üzere ikiye ayrılmaktadır. Grup politikası grup davranışlarını belirtmektedir. Bu
tanımların içerisinde, üyelere sunulan güvenlik garantileri ve üyelerin birbiri
arasındaki etkileşimlerin nasıl olacağı bulunmaktadır. Yerel politika ise yerel
varlıkların gereksinimlerini ve tanıtıcılarını (credential) belirlemektedir. Grup
politikası alındığında yerel politika ile birlikte değerlendirilerek kesişimi
alınmaktadır. İki politikanın farklı olmasından kaynaklanan uyuşmazlıklar
sonucunda varlık, grup iletişimine dahil olmamaktadır. Yerel politikada; grup
davranışları için minimum standartların belirtilmesinin yanında, hangi varlıkların
veya tanıtıcıların otorite sahibi olduğunun da belirtilmesi gerekmektedir.
Uygulanacak güvenlik politikasının boyutlarında anlaşma sağlandıktan sonra,
175
politikanın tanımlanmasına geçilmektedir. Bu iş için politika tanımlama dilleri
kullanılmaktadır. Politika dilleri sayesinde bir politikanın nasıl sunulacağı ve
yorumlanacağı belirli kurallara bağlanmaktadır. Politika dillerinin tamamen belirli,
açık ve mümkün olduğu kadar az ve öz olması gerekmektedir. Yerel ve grup
politikası üzerinde uzlaşılması, grup iletişiminin başlayabilmesi için büyük önem
taşımaktadır. Grup politikası müzakereler sırasında değişime uğrayabilmektedir. Bu
değişimin kaynağı, değişken özelliklere sahip alıcı sistemlerdir.
Grup politikasının tam olarak anlaşılabilmesi için öncelikle grup modelinin
anlaşılması gerekmektedir. Grup modeli GSAKMP protokolündeki [79] tanımlarla
benzeşmektedir. Bu modelde varlıkların rolleri tanımlanmaktadır. Tanım olarak rol,
bir varlığın haklarını ve sorumluluklarını belirtmektedir. Grup iletişimine dahil olan
bir sistem tablo [6.6]’da belirtilen rollerden en az birini üstlenmektedir [111]. Grup
iletişimine ve güvenliğine dahil olan varlıkların listesi ve üstlendikleri roller tablo
[6.7]’de verilmektedir. Burada yapılan rol tanımları sadece bilgi amaçlıdır. Tablo
[7.7]’de gösterilmekte olan grup sahibi, grubu başlatan ve grup politikasını kontrol
eden varlıktır. Grup sahibi, bu görevlerinin yanı sıra diğer yönetim görevlerinin
hangi otoriteler tarafından yürütüleceğini belirlemektedir. Grup anahtar otoritesi,
anahtarlama ile ilgili görevlerin toplandığı varlıktır. Anahtarların üretilmesi ve
anahtarlama mekanizmalarıyla ilgili diğer bilgilerin gruba dağıtılması bu varlık
tarafından kontrol edilmektedir. Grup anahtar otoritesinin, grubun bir üyesi olması
gerekmemektedir.
Tablo 6.6 Rol tanımlamaları
# Aksiyon Açıklama
1 Anahtar üretimi Oturum anahtarı üretme veya tekrar anahtarlama hakkı
2 Anahtar dağıtımı Üretilmiş anahtarları üyelere dağıtma hakkı
3 Tekrar anahtarlama tetiklemesi Grubun tekrar anahtarlanmasını başlatma hakkı
4 Anahtar erişimi Oturum anahtarını elde etme hakkı
5 Politika üretimi Grup genelinde kullanılacak politikası üretme hakkı
6 Politika değiştirme Grup politikasını değiştirebilme hakkı
7 Hak tanımlama Üyelere veya harici varlıklara hak delegasyonu
8 Üyenin yetkilendirilmesi Grup üyesini yetkilendirebilme hakkı
9 Sistemin üyeliğe kabul edilmesi Bir sistemin grup üyeliğine kabul etme hakkı
10 Üyenin gruptan atılması Bir üyeyi gruptan çıkarma hakkı
11 Grubu denetleme Kontrol mesajlarının, üyelik bilgilerinin denetlenmesi hakkı
176
Tablo 6.7 Grup iletişimine dahil olan varlıkların rolleri
# Rol EriĢim Hakları
1 Grup sahibi 5, 6, 7, 11
2 Grup anahtar otoritesi 1, 2, 3, 4, 11
3 Grup üyelik otoritesi 8, 9, 10
4 Grup üyesi 4
Grup politikası, bir başka deyişle grup üyeleri tarafından gerçeklenen grup
hizmetlerini ve katılımcı rollerini belirlemektedir. Şekil 6.27’da grup güvenlik çatısı
dağıtım şeması gösterilmektedir.
Politika deposu
Grup sahibi
Anons
mekanizmasıGrup üyesi
GDAS
Çok hedefli iletim
Okuma hakkı
Yazma hakkı
Şekil 6.27 – Grup güvenlik çatısı dağıtım şeması
IRTF SMuG araştırma grubu içerisinde tartışılan üçüncü problem alanı; politika
çatısının belirlenmesi, politikaların dağıtımı ve politika üzerinde uzlaşılmasıyla ilgili
problemleri içermektedir. Çok hedefli iletim uygulamalarının hizmet sağlayıcı –
abone modeliyle çalıştığı varsayıldığında hangi sistemlerin abone olabileceği, ne tür
bir korunma istendiği ve güvenlik açıkları meydana geldiğinde hangi aksiyonların
alınacağı gibi ayrıntılar hizmet sağlayıcı tarafından belirlenmektedir. Dolayısıyla
politikanın tamamı hizmeti sağlayan varlık veya varlıklar tarafından
tanımlanmaktadır. Fakat hizmete abone gözüyle bakıldığında, bu her zaman yeterli
olmamaktadır. Çoğu zaman verilen hizmet belirli bir ücret karşılığı verildiği için,
aboneler belirli bir hizmet kalitesi talep etmektedir. Abone dağılımının çok geniş
olduğu durumlarda güvenlik politikasının belirli bir kısmı üzerinde anlaşılması
177
gerekmektedir. Bu sahfa politika müzakeresi ve uzlaşması olarak
isimlendirilmektedir. Müzakere ve uzlaşma sonrasında çözülemeyen
uyuşmazlıklarda son söz daima politikayı tanımlayan hizmet sağlayıcıdadır.
Politikanın dağıtımı ve yaptırımı için ilk olarak grup sahibi, politika parametrelerini
GDAS’a göndermektedir. Sistemlerin gruba üye olabilmesi için politikanın ne
kadarının anons edileceği politika içerisinde belirtilmektedir. Belirtilmediği
zamanlarda ise buna GDAS karar vermektedir. Erişim kontrolü, grup yönetiminin
sorumluluklarının aktarılması gibi görevler GDAS tarafından icra edilmekte, veri
güvenliği kaynak tarafından sağlanmaktadır. Grup üyelerinin bu kurallara uyması
beklenmektedir. Aksi durumlarda grup üyeleri gruptan atılmaktadır.
Grup güvenlik politikası kendi içinde alt bölümlerden oluşmaktadır. Bu bölümler
tekrar anahtarlama, erişim kontrolü, veri güvenliği, üye veri politikası, ele geçirilme
(compromise) politikası, başarısızlık (hata) politikası ve etki alanına bağımlılık
politikasıdır. Tekrar anahtarlama politikasında grubun tekrar anahtarlanması ile ilgili
parametreler belirlenmektedir. Oturum anahtarlaması ile ilgili özellikler aşağıda liste
halinde verilmektedir.
1. Oturum anahtarı bağımsızlığı: Bir oturumla ilgili bilgilerden herhangi bir
başka oturumla ilgili bilgiler elde edilememesi.
2. İleriye doğru eksiksiz gizlilik: Bir oturum anahtarının gelecekte
kullanılacak oturum anahtarlarına ilişkin herhangi bir bilgi içermemesi.
3. İleriye doğru üyelik gizliliği: Gruptan ayrılan üyenin gelecekteki grup
iletişimi hakkında herhangi bir bilgi edinememesi.
4. Geriye doğru eksiksiz gizlilik: Bir oturum anahtarının geçmişte
kullanılmış olan oturum anahtarlarına ilişkin herhangi bir bilgi
içermemesi.
5. İleriye doğru üyelik gizliliği: Gruba yeni katılan bir üyenin geçmişteki
iletişim hakkında herhangi bir bilgi edinememesi.
6. Başarısızlık (failure) gizliliği: Herhangi bir hata üretmiş olan sürecin aktif
veya pasif olarak grup içerisinde yer almasının engellenmesi.
7. Ele geçirilme gizliliği: Kötü niyetli kişiler tarafından ele geçirilmiş bir
sürecin aktif veya pasif olarak grup içerisinde yer almasının engellenmesi.
8. Yaşam süresinin kısıtlı olması: Oturum anahtarının yaşam sürelerinin
kısıtlanması.
178
Erişim kontrol politikası gruba dahil olan her bir varlığın görevlerinin, haklarının ve
kimliklerinin belirtildiği politika bileşenidir. Roller ve varlıkların görevleri tablo
[6.6] ve [6.7]’de açıklanmaktadır. Veri politikası, uygulama seviyesindeki mesajlar
için garanti edilen güvenlik seviyesinin belirtilmesidir. Bu politika bileşeni içerisinde
doğrudan veya dolaylı olarak birinci problem alanı olan veri dönüşümlerinin nasıl
yapılacağı tanımlanmaktadır. Garanti edilebilecek güvenlik özellikleri aşağıda
belirtilmektedir.
1. Gizlilik: Grup mesajlarının grup üyeleri haricinde hiç kimse tarafından
okunamayacağının garanti edilmesidir.
2. Bütünlük: Grup mesajlarının yol üzerinde değiştirilmesinin alıcı sistemler
tarafından sezileceğinin garantisidir.
3. Grup kimlik doğrulaması: Alınan mesajın herhangi bir grup üyesi
tarafından gönderilip gönderilmediğinin saptanabilmesi garantisidir.
4. Kaynak kimlik doğrulaması: Verinin kaynağının eşsiz olarak
doğrulanabileceğinin garantisidir.
5. Gönderimin reddedilememesi: Verinin kimliği doğrulanmış kaynak
tarafından gönderildiğinin inkar edilememesinin garantisidir.
6. Anonimlik: Veriyi gönderen kaynağın kimliğinin alıcılar tarafından
bulunmayacağının garantisidir.
Bu özellikleri sağlayan kriptografik algoritmalar değişken güçte ve performanstadır.
Veri güvenliği politikası, veri güvenliğinin ne tür bir algoritma ile sağlanacağını da
belirtmektedir. Kriptografik algoritmalar söz konusu olduğunda iki tür gizlilik söz
konusudur. Geçici tür gizlilikte korunan veri sadece kısa bir süre korunmaktadır. Bir
başka deyişle güvenlik algoritmasından istenen, veriye kolay erişimin
engellenmesidir. Diğer tür gizlilik ise uzun dönem gizliliğidir. Bu tür gizlilikte
verinin korunması yüksek garantili algoritmalar ile yapılmaktadır. Üye veri politika
bileşeninde, grup üyelik bilgisi belirtilmektedir. Buna ek olarak bu bilginin ne kadar
isabetli olduğunun garantisi ve bu bilgilerin dağıtımıyla ilgili bilgiler de
belirtilmektedir. Üyelik bilgilerinin tanımlanması pek çok uygulama için önem
taşımaktadır. Aşağıdaki listede birkaç üye veri politika biçimi açıklanmaktadır.
179
1. En iyi çaba (best-effort) üye verisi: Böyle bir üye veri politikasında üyelik
bilgileri kullanılabilir olduğu zaman iletilmektedir. Her hangi bir garanti
yoktur.
2. Pozitif üye verisi: Üyelik bilgileri içerisinde bulunan bütün üyelerin aktif
olarak gruba katıldığının (bir başka deyişle grup trafiğini aldığının)
garanti edildiği politika biçimidir.
3. Negatif üye verisi: Bu biçimdeki politikada güvenlik içeriğine dahil olan
bütün üyelerin listelenmesi garanti edilmektedir.
4. Eksiksiz üye verisi: Böyle bir politikadaki üye veri bilgisinde grup trafiği
aktif olarak alan ve güvenlik içeriğine dahil olan bütün üyeler
listelenmektedir. Bir başka deyişle eksiksiz üye verisi, pozitif ve negatif
üye verilerinin toplamıdır.
Üye veri politikası ile ilgili bir başka parametre ise grup üyelik bilgilerinin
gizliliğidir. Böylece bu bilgilerin kimlerle paylaşılacağı belirlenmektedir. Ele
geçirilme politika bileşeni ne tür aksiyonların ele geçirilme olarak sayıldığının, bu
aksiyonların nasıl raporlanacağının ve sistemin eski haline getirilmesi için neler
yapılması gerektiğinin belirtildiği bileşendir. Ele geçirilme bileşeni tam olarak
tanımlanmamıştır [110]. Başarısızlık politika bileşeninde, ne tür aksiyonların hata
olarak kabul edilmesi gerektiği, bu hataların nasıl bulunacağı, bu hataların
algılanması için hangi mekanizmaların kullanılacağı, raporlama ve sistemin
düzeltilmesi için neler yapılması gerektiği belirtilmektedir. Bu bileşenin
tanımlamaları bir süreç için oluşturulmuş olan çakılma modelinden [111] esinlenerek
oluşturulmalıdır. Çok hedefli iletim güvenliği içerisinde kullanılan süreçlerin “hata
oluştuğu zaman duran” modeline uygun çalıştığı varsayılmaktadır.
Başarısızlığın bulunması ve sistemin eski haline getirilmesi için kullanılan teknikler
oluşturulurken, çoğu zaman güvenlik düşünülmemektedir. Etki alanına bağımlılık
politikası, güvenlik içeriğinin çok hedefli iletim hizmetlerinin haricinde bir otorite
tarafından belirtilen politika bileşenidir. Böyle bir politika, harici bir olaya veya
duruma bağlı olarak grup davranışının nasıl değişmesi gerektiğini tanımlamaktadır.
Etki alanına bağımlılıkla ilgili bütün politika özelliklerinin çıkarılması pratik
değildir. Bunun yerine harici olay ve durumları bildirebilen esnek arabirimlerin
tanımlanması yoluna gidilmektedir.
180
Grup politikasının yanı sıra yerel güvenlik ve performans parametrelerinin
belirlendiği ve sadece tanımlandığı sisteme özgü olan bir politika çeşidi daha
mevcuttur. Bu politikaya yerel politika denmektedir. Yerel politikanın iki farklı
bileşeni bulunmaktadır [110]. Bu bileşenler altyapı politika bileşeni ve politika
gereksinimleri bileşenidir. Altyapı bileşeni içerisinde güvenilmekte olan yerel
güvenlik otoriteleri ve tanıtıcıların nasıl alınması gerektiğine dair tanımlamalar
yapılmaktadır. Buna ek olarak yerel sistemin hangi gruplara katılmaya izni olduğu
bilgisi dolaylı yoldan belirtilebilmektedir. Yerel sistem içerisinde barındırılan
tanıtıcılar, uzun vadeli anahtarlar olabilmektedir. Altyapı politikası, bu tanıtıcıların
kimliklerinin belirlenmesi, yerlerinin bulunması ve bu tanıtıcılarla ilgili
mekanizmaların tanımlanması için kullanılmaktadır. Yerel sistemin çok hedefli
gruplara üye olabilmesi, bu tanıtıcılara bağlıdır. Bu tanıtıcılara örnek olarak yerel
dosya sisteminde bulunan bir anahtar dosyası verilebilir. Gruba üye olunması
sırasında edinilen kimlik ve tanıtıcıların doğrulanması ile ilgili tanımlamalar ayrıca
bu bileşenin görevidir. Yerel olarak güvenilen sertifika otoritesi ve grup politikasının
dağıtım noktalarının yeri, bu parametrelere örnek olarak gösterilebilir. Politika
gereksinimleri bileşeni yerel sistemin kabul edeceği minimum hizmetleri belirtmek
için kullanılmaktadır. Gereksinimler aşağıda açıklanmaktadır.
1. Güvenilir varlıklar: Bu alt bileşende hangi varlıkların grupla ilgili hangi
rolleri alabileceği belirtilmektedir. (Örneğin anahtar yöneticisi varlığı
belirli bir adres olan gruplar.)
2. Veri güvenlik politikaları: Bu alt bileşende grupla ilgili olarak sağlanması
gereken minimum veri dönüşümleri belirtilmektedir.
3. Diğer.
Politika gereksinimleri gruba katılım veya grubun oluşturulması sırasındaki politika
müzakerelerinde belirleyici rol oynamaktadır.
Çok hedefli iletimle ilgili politikalar, yüksek seviyede tanımlanmaktadır. Bu tanımlar
grup güvenlik politika spesifikasyonları kullanılarak cihazların anlayabileceği dillere
çevrilmektedir. Pek çok politika tanımlama dili, varlıkları, varlıkların birbirleriyle
olan ilişkisini, rolleri ve herhangi bir durum oluştuğunda uygulanması gereken
aksiyonları tanımlamaktadır. Günümüzde en çok kullanılan politika tanımlama dilleri
Ismene[110], CCNT [113] ve grup güvenlik politikası “token”’idir [114].
181
6.2.4.1 Ismene Politika Tanımlama Dili
Ismene politika spesifikasyonu [112] iki bileşenden oluşmaktadır. İlk bileşen tedarik
etme ve yetkilendirme, ikinci bileşen ise erişim kontrolüdür. Grup sahibi tarafından
tanımlanmakta olan grup politikası, yerel sistemlerde bulunan yerel politikalarla aynı
potada eritilerek tek bir politika üzerinde anlaşılmaktadır. Ismene içerisindeki
politika tanımları ya bir oturum gereksinimi (tedarik etme) olarak ya da bir politika
yaptırımı (yetkilendirme ve erişim kontrolü) olarak yazılmaktadır. Her bir politika
cümlesi bir etiket ile gösterilmektedir. Bir cümlede etiketten sonra koşullar ve
neticeler bulunmaktadır. Cümle yapısı “etiket: koşullar : neticeler ;” şeklindedir. Bu
cümlelerin kökeni şebeke ortamından, sistem yapılandırmasından ve üye
tanıtıcılarından gelmektedir [112]. Tedarik cümleleri içerisindeki neticeler, bir
gereksinimin nasıl karşılanacağını belirten “yapılandırma” neticeleri; ilgili güvenlik
altyapısının sağlanması için gereken alternatif mekanizmaların tanımlandığı “seçme”
neticeleri ve ya politikaya biçim kazandıran “etiket” neticeleridir. Politika yaptırım
aksiyonlarının değerlendirilmesi, bir “kabul etme” veya bir “tekrar yapılandırma” ile
sonuçlanmaktadır. Ismene politika dili dinamik olduğu için, kullanım sırasında
değişimlere izin vermektedir. Aşağıda verilmekte olan Ismene politika örneğinde
erişim kontrol listesi bulunmakta, mesaj bütünlüğü HMAC-SHA-1 algoritması ile
sağlanmakta, kaynak kimlik doğrulaması TESLA ile yapılmakta, veri şifrelemesi için
AES ve tekrar anahtarlama için LKH kullanılmaktadır.
group :=<Ismene ornek politikasi>;
provision : :: access_control, group_management;
ACL := <{Ahmet}, {Mehmet}, {Ayse}>;
access_control: is_in_list(ACL) :: allow_member;
group_management : :: key_dist, rekeying, data_protection;
key_dist : :: config(GDOI());
rekeying : :: config(GDOI(GKMA = LKH, enc.algm = AES));
data_protection : :: config(MESP(data.encr, data_integrity));
data_encr : :: config(enc_algm = AES);
data_integrity : :: config(TESLA(MAC_algm = HMAC-SHA-1));
182
6.2.4.3 DCCM Kriptografik Ġçerik Müzakere ġablonu (CCNT)
DCCM Kriptografik İçerik Müzakeresi Şablonu (DCCM Cryptographic Context
Negotiation Template, CCNT) [113], politika ve içerik müzakerelerinin
yapılabilmesi için oluşturulmuştur. CCNT, Dinamik Kriptografik İçerik Yönetim
(Dynamic Cryptographic Context Management, DCCM) sistemi [115] içerisinde yer
alan bir bileşendir. DCCM bakış açısıyla politika, yüksek seviyedeki sistem ve
güvenlik gereksinimlerin ve içeriğinin, belirli bir proje için müzakeresi sonucu ortaya
çıkan kümedir. CCNT, Backus-Naur formundaki dilbilgisi ile yazılmaktadır ve çeşitli
politika kategori değerleriden oluşmaktadır. Bu kategorilere ve değerlere örnek
olarak güvenliğin seviyesi (yüksek, orta, düşük), veri doğrulaması (RSA, DSA),
varlıkların kimliklerinin doğrulanması (şifreler veya RADIUS [116]), şifreleme
algoritması (AES, 3DES), grup anahtar yönetimi algoritması (LKH, OFT) gibi
kategoriler verilebilir. CCNT, grup içerisinde meydana gelen olaylar sayesinde
değiştirilememektedir. Bir başka deyişle CCNT yapısı dinamik değildir. Aşağıdaki
örnekte Politika1(0,0,1,1,~) politikası gösterilmektedir. Bu politikada erişim
kontrolü, erişim kontrol listeleriyle yapılmaktadır. Anahtar yönetimi için GDOI
kullanılmaktadır. Şifreleme için 3DES tercih edilmektedir. Veri doğrulaması MD5
ile sağlanmakta ve herhangi bir kaynak kimlik doğrulaması uygulanmamaktadır.
access_control(ACLs, authorization_certs)
key_management_protocol(GDOI, GSKAMP)
encryption_algorithm(AES,3DES)
MAC_algorithm(SHA-1, MD5)
source_authentication_scheme(TESLA, augmented_chaining, tree_block_hashing)
6.2.4.3. Grup Güvenlik Politikası “Token”’i (GSPT)
IETF bünyesinde kurulmuş olan MSEC çalışma grubu, grup güvenlik politikası ile
ilgili gereksinim tanımlarına [109] ek olarak, bir altyapı çalışması yürütmektedir.
Politika tanımlaması ve dağıtımı için bu çalışma sayesinde Grup Güvenlik Politikası
“Token”’i (Group Security Policy Token, GSPT) [114] oluşturulmuştur. GSPT
içerisinde, grupla ilgili operasyon tanımlamaları ve güvenlik parametreleri
bulunmaktadır. GSPT bileşenleri; yetkilendirme politikası, erişim kontrol politikası
ve içeriğin korunmasıyla ilgili mekanizmaların tanımlarıdır. Her bir GSPT’nin bir
183
kimliği bulunmaktadır. GSPT, grup sahibi tarafından imzalanmaktadır. Şekil 6.28’de
GSPT bileşenleri gösterilmektedir.
Sürüm Grup güvenlik protokolü Grup Kimliği Zaman damgası
Grup sahibi GDAS Tekrar anahtarlama sunucusu
Veri güvenlik SA‟i Kaydolma SA‟i
Erişim izinleri Üyelerin erişim listesi
Tekrar anahtarlama SA‟i
İmzalayanın kimliği Sertifika bilgisi İmza verisi
Jeton Kimliği Yetkilendirme Erişim Kontrolü Mekanizmalar İmza
Şekil 6.28 – GSPT bileşenleri
Grup güvenlik politikası çatısında en önemli rol grup sahibine verilmiştir. Grup
sahibi, grubu başlatan ve güvenlik politikası içerisindeki parametreleri belirleyen
varlık olarak tanımlanmaktadır [114]. Dolayısıyla grupla ilgili bütün bilgilerin
kaynağı grup sahibi olmaktadır. Politika “token”’larının doğrulanması işlemlerinde
kullanılmakta olan bütün sertifikaların kökünde grup sahibi bulunmaktadır. Aynı
durum, GDAS ve benzeri varlıklara yapılan sorumluluk aktarım sertifikaları için de
geçerlidir. Burada amaç, grup ile ilgili yetkilendirmelerin tek kaynağının grup sahibi
olmasıdır. Grup ile ilgili erişim kontrolü söz konusu olduğunda; bilgilerin hangi
bölümlerinin hangi varlıklara erişilebilir kılınması gerektiği ile ilgili bilgiler sadece
grup sahibi tarafından tanımlanabilmektedir. Gruba üye olmak isteyen herhangi bir
sistemin, grup ile ilgili politika bilgilerinin bazılarına üye olmadan önce erişebiliyor
olması gerekmektedir. Bunun için bir anons mekanizmasına ihtiyaç duyulmaktadır.
Aksi halde sistemler, güvenlik parametrelerini bilmedikleri gruplara üye
olamamaktadır. Anons mekanizması içerisinde konması gereken bilgiler tıpkı daha
önce olduğu gibi grup sahibi tarafından belirlenmektedir. Şekil 6.28’de görüldüğü
üzere GSPT, toplam beş ana bölümden oluşmaktadır. Alt bölümlerin biçimi ASN.1
Politika “Token” Tanımlaması’nda [114] açıklanmaktadır. “Token” kimliği olarak
isimlendirilen ilk bileşende jetonun hangi protokol ailesine ait olduğu bilgisi
bulunmaktadır. Protokol ailesine örnek olarak GSAKMP [79] ve GDOI verilebilir.
Sürüm bölümünde, jetonun sürüm numarası bulunmaktadır. Grup kimliği, grup ile
184
ilgili IP adreslerinden ve seri numaralarından oluşmaktadır. Zaman damgası, tekrar
gönderim saldırılarına önlem olarak eklenmiştir. Zaman damgası alanının bir başka
görevi de “token”’ın ne kadar süre geçerli olacağı bilgisinin taşınmasıdır.
Yetkilendirme bölümü içerisindeki parametreler sayesinde grup üyeleri, güvenlik ile
ilgili aksiyonların sadece yetkili varlıklar tarafından yapıldığından emin olmaktadır.
Böylece kötü niyetli bir grup üyesinin, grubun güvenliğini ilgilendiren işlemleri
yürütmesi veya tetiklemesi engellenmektedir. Yetkilendirme bölümünün içerisindeki
alanlarda grup sahibi, GDAS ve tekrar anahtarlama sunucusu bilgileri bulunmaktadır.
Buradaki tanımlar belirgin bir şekilde veya dolaylı şekilde yapılabilmektedir. Bir
başka deyişle joker karakterler kullanılabilmektedir. Tekrar anahtarlama sunucusu
alanı, yedek bir GDAS tanımlanması gerektiği zaman kullanılmaktadır. Gruba
katılmak isteyen sistemler ilk olarak bu alanı kontrol etmektedir. Katılım
gerçekleştikten sonra grup anahtarlarının dağıtımı sırasında anahtarların “token”
içerisinde bu bölümde tanımlanan sunuculardan geldiğinin kontrolü mutlaka
yapılmalıdır. Aynı durum güncel üyeler için de geçerlidir. Erişim kontrolü bölümü,
potansiyel bir grup üyesinin hangi anahtarları almaya hakkı olduğunun tanımlandığı
bölümdür. Bir başka deyişle bu bölümde, hangi sistemlerin gruba dahil olabileceği
belirtilmektedir. Joker karakterler, bu bölümde de kullanılabilmektedir. Çok hedefli
olarak iletilen verinin güvenliğiyle ilgili hizmetlerde kullanılan parametrelerin
grubun her noktasında aynı olması gerekmektedir. Örneğin verinin gizliliği için
üyelerin belli bir kısmının AES, diğerlerinin DES kullanması sonucunda genel veri
gizliliğin gücü en zayıf algoritma kadar olacaktır. Bu tür parametreler, GSPT
içerisinde mekanizmalar bölümünde tanımlanmaktadır. Bölümü oluşturan alanlar
içerisinde grup güvenlik ilişkilerinde (GSA) açıklanmış olan üç farklı güvenlik
ilişkisine (SA) ait bilgiler bulunmaktadır. Şekil 6.29’de mekanizmalar bölümünü
oluşturan alanlar gösterilmektedir.
Üçüncü kategori SA(Veri güvenlik SA‟i)
Birinci kategori SA(Kaydolma SA‟i)
İkinci kategori SA(Tekrar anahtarlama SA‟i)
Korunan Açık
Şekil 6.29 – GSPT mekanizmalar bölümü alanları ve GSA karşılıkları
Şekil 6.29’de gösterilmekte olan yapıda, tekrar anahtarlama SA’sı iki farklı alana
bölünmüştür. “Korunan” alanında bulunan SA, grup anahtar yönetimi ile ilgili
mesajlar için kullanılmaktadır. Gruba dahil olan bütün üyelerin korunan grup anahtar
185
yönetimi mesajlarını alamadığı durumlarda, gizlilikten ödün verilerek ilgili bilgiler
“açık” bölümünde yollanmaktadır. İmza bölümünde grup güvenlik “token”’ının
içeriğini doğrulamak için kullanılan bilgiler bulunmaktadır. Bu bilgiler sayesinde
“token”’ı imzalayan varlığın kimliği, ilgili sertifika altyapısına ait bilgiler ve imza
verisi açık olarak doğrulanabilmektedir. İmza, imza bölümü haricindeki bütün
bölümleri kapsamaktadır. Böylece jeton içerisindeki herhangi bir değişiklik, imzayı
geçersiz kıldığı için ortaya çıkarılabilmektedir.
Grup güvenlik politika dilleri analiz edildiğinde, CCNT ve Ismene spesifikasyonları
grup kurulumu sırasında müzakereleri ve sonrasında uzlaşmayı desteklemektedir.
GSPT spesifikasyonunda durum bu şekilde değildir ve tanımlamalar tek taraflı olarak
yapılmaktadır. Ismene ve GSPT dillerinin kullanıldığı gruplarda politika dinamik
olarak değiştirilebilmektedir. Böylece değişen uygulama isteklerine ve ortama ayak
uydurulabilmektedir. Ismene dilinde yapılan politika tanımlamalarının koşullara göre
düzenlenebilmesi sayesinde esneklik sağlanmaktadır. Çoğu çok hedefli iletim
uygulaması için GSPT spesifikasyonunun kullanımı yeterli olmaktadır. Bu sebepten
dolayı IETF bünyesindeki MSEC çalışma grubu, GSPT spesifikasyonunun GDOI ve
GSAKMP anahtar dağıtım protokolleriyle birlikte kullanılabilmesi için çalışmalarda
bulunmaktadır. Ismene politika dili içerisinde, hizmet sağlayan varlık ile aboneler
arasındaki uzlaşma, grup ve yerel politikaların kesişimi ile sağlanmaktadır. Grup
sahibi grup politikasını tanımlarken, karşılıklı uzlaşılmasını istediği parametreleri
çok seçenekli olarak tanımlamaktadır. Böylece yerel politikadaki seçenekler göz
önünde bulundurularak uzlaşma sağlanmaktadır. Birden fazla seçenek olduğu zaman
uzlaşmanın hangi ölçütlere göre yapılacağı önem kazanmaktadır. Burada önemli
olan, abonelerin hizmet dışı kalmasına sebep olunmamasıdır. En kolay yol,
çoğunluğun parametrelerine uyulmasıdır. Fakat bu yol kimi zamanlarda abonelerin
tamamının hizmet almasını engellemektedir. Örneğin yerel politikaları <3DES,
MD5, şifre>, <AES, MD5, Sertifika> ve <3DES, SHA-1, Sertifika> olan üç abone
göz önüne alındığında çoğunluğa uyulduğu zaman ortaya çıkan politika <3DES,
MD5, Sertifika> olacaktır. Bu durumda hiçbir üye gruba dahil olamayacaktır.
Abonelerin hizmetten mahrum kalmaması için kullanılan bir yol, otomatik
uzlaşmaya hiçbir şekilde izin verilmemesidir. Buna örnek olarak GSPT verilebilir.
Kapalı gruplarda politika müzakereleri güvenli kanallar üzerinden yapılmaktadır.
Müzakere ile ilgili mesajlaşmaların tamamı şifrelenmektedir. Fakat açık gruplarda
186
durum bu şekilde değildir. Politika müzakereleri açık olarak yapılmakta olduğu için
ortadaki adam (man in the middle) saldırıları gerçekleştirilebilmektedir. Bu tür
saldırılar aşağı seviyeye indirme (downgrade) saldırıları olarak isimlendirilmektedir.
Bu tür saldırıların engellenebilmesi için açık gruplarda dahi politika müzakeresinin
güvenli şekilde yapılması gerekmektedir.
6.3. Çok Hedefli Ġletim Altyapı Güvenliği
S. Deering tarafından oluşturulmuş olan temel çok hedefli iletim modeli altyapısında
herhangi bir güvenlik önlemi bulunmamaktadır. Çok hedefli iletim yönlendiricileri,
çok hedefli iletim gruplarının üyeleri hakkında herhangi bir kimlik bilgisi
tutmamakta ve bu tür bilgileri üst dallardaki yönlendiricilere iletmemektedir. Böyle
bir mekanizmanın yokluğu, ölçeklenebilirliği beraberinde getirmektedir [117].
Güvenlik çerçevesinden bakıldığında, altyapı içerisinde kimlik bilgilerinin
taşınmaması, erişim kontrolünün yapılmasını engellemektedir. Böylelikle kötü niyetli
kişilerin kontrolünde olan bir sistem, iletilen içerik şifreli olsun veya olmasın çok
hedefli iletim gruplarına üye olabilmekte ve altyapı içerisinde kurulan dağıtım
ağacını kendi yerel şebekesine çekebilmektedir. Sonuç olarak, yerel şebeke yolu
üzerinde olan yönlendiricilerde boşu boşuna durumlar oluşturularak sistem
kaynakları boşa harcanmaktadır. Kötü niyetli kişilerin kontrolünde olan sistemin bu
işlemleri yüz binlerce grup adresi için uyguladığı düşünüldüğünde dağıtım ağacı
içerisindeki yönlendiriciler kullanılamaz hale gelmektedir. Bu ve bunun gibi
saldırıların önlenmesi için çok hedefli iletim altyapısının koruma altına alınması
gerekmektedir. Altyapı güvenliği üç bileşenden oluşmaktadır [117]. Bu bileşenler
aşağıda açıklanmaktadır.
1. Çok hedefli iletim dağıtım ağacı güvenliği: Dağıtım ağacının korunması
için yapılması gerekenler, altyapıda kullanılan yönlendirme protokolünün
güvenliği ile ilgilidir. Bir başka deyişle, altyapıda kullanılmakta olan
protokollere ait kontrol mesajlarının korunması gerekmektedir. Bu tür
güvenlik önlemleri protokolden protokole değişmekle birlikte genel
olarak mesajlar ile ilgili doğrulama işlemlerinden oluşmaktadır.
2. Uçtan uca veri güvenliği: Çok hedefli iletim grubu içerisine
gerçekleştirilen veri dağıtımının şifrelenerek yol üzerinde değişimlerden
187
korunması, kaynak kimlik doğrulaması yapılması ve gizliliğin sağlanması
ile ilgili kriptografik operasyonlardan oluşmaktadır.
3. Alt şebeke bazında yapılan üye erişim kontrolü: Yerel şebeke içerisinde
belirli bir çok hedefli iletim grubu için gerçekleştirilen kimlik
doğrulamasından ve iletim ile ilgili yönlendirici yetkilerinin kontrolünden
oluşmaktadır.
Altyapı güvenliği ile ilgili bu üç bileşen şekil 6.30’da [117] gösterilmektedir.
K
Y
s
s
RP
Y
ssA
IGMP
IGM
P
Ço
k h
ed
efli ile
tim d
ağ
ıtım a
ğa
cı
RP Randevu noktası
Y Çok hedefli iletim yönlendiricisi
A Alıcı
K Kaynak
s sistemler
Şekil 6.30 – Altyapı Güvenliği Bileşenleri
Şekilde belirtilmekte olan altyapı güvenlik bileşenlerine karşı pek çok saldırı
gerçekleştirilebilmektedir. Dağıtım ağacına yapılabilecek saldırılar, genel olarak iki
kategoriye ayrılmaktadır. Bunlar kaynak ve alıcı saldırılarıdır. Kaynak saldırılarında,
dağıtım ağacına sahte paketler gönderilmektedir. Bu paketlerin hedef grup adresleri
doğru olduğu için, dağıtım ağacı sayesinde bütün alıcı sistemlere iletilmektedir. Bu
tür paketler, yaprak şebekelerden veya ağacın herhangi bir noktasından dağıtım
ağacına dahil edilebilmektedir. Bütün alıcı sistemler bu paketleri aldığı için
bandgenişliği boşa harcanmaktadır. Bu tür saldırılar tek hedefli iletim içerisinde de
gerçekleştirilebilmektedir. Fakat çok hedefli iletim söz konusu olduğunda saldırının
boyutu alıcı sistem sayısı kadar katlanmaktadır. Alıcı saldırılarında ise gruba üye
olmayan sistemler gruba katılma mesajları göndermekte ve böylece çok hedefli
iletim trafiği bu sistemlere de iletilmektedir. Saldırıyı gerçekleştiren sistemler çok
hedefli iletim verisini deşifre edemese dahi böyle bir saldırı altyapı kaynaklarının
188
boşa harcanmasına neden olmaktadır. Her iki saldırı türü de, hizmetin
sürdürülememesine sebep olmaktadır.
6.3.1. Yerel ġebeke Güvenliği
Çok hedefli iletim altyapısı, genel olarak çekirdek ve yapraklar olmak üzere ikiye
ayrılmaktadır. Çekirdek tarafta, dağıtım ağacını oluşturan çok hedefli iletim
yönlendiricileri ve yönlendirme protokolleri bulunmaktadır. Yaprak tarafta ise,
dağıtım ağacının yapraklarında bulunan çok hedefli iletim uç yönlendiricileri ve
sistemler bulunmaktadır [118]. Grup üyelik işlemleri için IGMP kullanılmaktadır.
IGMP protokolleri oluşturulurken güvenlik ikinci planda tutulmuş ve
ölçeklenebilirlik gözetilmiştir. Dolayısıyla yaprak yönlendiricilerinde bağlı oldukları
yerel şebekeler içerisindeki üyelerin listesi tutulmamakta, bunun yerine o yerel
şebekede en az bir üyenin olup olmadığının listesi tutulmaktadır. IGMP, ilk
oluşturulduğundan bu yana pek çok değişim geçirmiştir. Hali hazırda standartlaşmış
olan en son sürümü üçüncü sürümdür. Bu sürüm diğerlerine oranla en güvenli
sürümdür. Protokol tanımlamaları göz önüne alındığında sahte kontrol mesajlarının
yaratabileceği etkiler aşağıda sıralanmaktadır [117].
1. Sorgu mesajları: Sorgulayan yönlendiricinin kullandığı IP adresinden
daha düşük bir adres ile gönderilen sahte sorgu mesajları, sorgulama
görevlerinin sahte mesajı gönderen sisteme geçmesine sebep olacaktır. Bu
sistemin, aynı yerel şebekede bulunan diğer yönlendiricilerin “Başka bir
sorgulayan yönlendirici mevcut” zamanlayıcıları dolana kadar ayrılma
mesajlarını göz ardı etmesi sonucunda “grup üyelik aralığı” süresi
içerisinde grup üyesi kalmayan gruplar için çok hedefli iletim trafiği yerel
şebekeye iletilecektir.
2. Rapor mesajları: Yerel şebeke içerisindeki sahte bir rapor mesajı, ilgili
gruba dahil olan hiçbir üye bulunmamasına rağmen üyeler mevcutmuş
gibi algılanmaktadır. RFC 1112 içerisinde belirtilen model göz önüne
alındığında herhangi bir çok hedefli iletim grubuna üye olunması, özel bir
hak gerektirmediği için sahte paketlerin yerel şebeke içerisinden gelmesi
önemsizdir. Asıl sorun bu mesajların harici şebekelerden gelmesidir.
Birinci sürüme ait bir rapor alınması sonucu ilgili yönlendirici o grup için
“birinci sürüm üye mevcut” durumuna geçmektedir. Yönlendirici bu
189
durumdayken ayrılma mesajlarını görmezden gelmektedir. Böyle bir
durumda “grup üyelik aralığı” süresi dolmadan önce üyesi bulunmayan
gruplara trafik iletimi devam etmektedir.
3. Ayrılma mesajları: Gönderilen sahte ayrılma mesajları sorgulayan
rolündeki yönlendiricinin gruba yönelik sorgular göndermesine sebep
olmaktadır. Bu durum yerel şebeke içerisindeki bütün yönlendiricilere ek
yük getirmekte fakat trafiğin akışıyla ilgili herhangi bir etki
yaratmamaktadır.
Dağıtım ağacının güvenli hale getirilmesi için ilk olarak dağıtım ağacına erişimin
güvenli hale getirilmesi gerekmektedir. Bu iş, [118] içerisinde belirtilen yaprak
güvenliği sağlanarak yapılmaktadır. IGMP gibi üyelik yönetim protokolleri
içerisindeki kontrol mesajları için kimlik ve içerik doğrulamasının yanı sıra bu
mesajları gönderen sistemlerin mesaj içerisindeki gruba katılmaya yetkilerinin olup
olmadığının da kontrol edilmesi gerekmektedir. Daha önceden de belirtildiği gibi,
tasarım sırasında ölçeklenebilirliğin sağlanması için güvenlikten ödün verilmiştir.
Dağıtım ağacı ile ilgili yönlendirme protokolünün yaprak dallarda icra edilen üyelik
yönlendirme işlemleriyle hiçbir ilgisi bulunmamaktadır. IGMP ile ilgili bir güvenlik
tanımı yapılması, protokolün pek çok farklı işlevin ve görevin birleşme noktasında
olması dolayısıyla kolay değildir. IGMP güvenliği; kimliği belirli ve doğrulanmış
sistemlerin (veya kullanıcıların), yönlendirici durumları, bağlantı ve veri erişimi gibi
şebeke kaynaklarına erişiminin ilgili güvenli çok hedefli iletim uygulaması
tarafından belirtildiği ölçüde sağlanması olarak tanımlanmaktadır.
Güvenli bir grup üyelik yönetimi protokolünün aşağıda listelenmekte olan işlevleri
gerçekleştirebiliyor olması gerekmektedir.
1. Yetkilendirme: Gruba katılmak isteyen sistemin gruba katılmak için
yetkisinin olması gerekmektedir. Burada sistemin kaynak veya alıcı
olması fark etmemektedir.
2. Sistem kimlik tanımlaması ve doğrulaması: Dağıtım ağacına dahil olmak
isteyen bir sistemin, gerekli izni verecek olan varlığa kendini tanıtması
gerekmektedir. Çoğu durumda bu varlık, en yakındaki çok hedefli iletim
yönlendiricisi olmaktadır. Tanıtma ve kimlik doğrulama işlemleri
190
yönlendiricilerin yetkilendirilmiş bir erişim sunucusuna danışması
sayesinde gerçekleştirilebilmektedir.
3. Mesaj doğrulaması: Çok hedefli iletim yönlendiricileri ile sistemler
arasında değiş tokuş edilen kontrol mesajlarının içeriğinin
değiştirilmesine izin verilmemesi gerekmektedir. Bir başka deyişle, içerik
değişimlerinin fark edilebilir olması gerekmektedir. Mesaj
doğrulamasının yanı sıra mesajı yollayan sistem için kaynak doğrulaması
yapılması da gerekmektedir.
Grup üyelik yönetimi protokollerinin güvenliğiyle ilgili yapılan analiz sonucu
sistemlerin üyeliklerinin geçerliliğinin kontrol edilmesi sırasında yetkilendirme ve
güven sorunları çıkabileceği görülmektedir. İlk adım yönlendiricilerinin sistemlerin
üyeliklerinin kontrolü için danıştıkları varlıkların farklı bir organizasyonel yapı
içerisinde olması güven sorunlarının beraberinde getirmektedir. Organizasyonel
yapının dışına çıkıldığı zaman küresel bir kimlik doğrulama çatısına gerek
duyulmaktadır.
Gruba üye olmak isteyen sistemlerin yetkilendirilmesi için kullanılan yöntemlerden
bir tanesi çok hedefli iletim erişim “token”’idir [117]. Bu yöntemde şebeke sağlayıcı
ile içerik sağlayıcı arasındaki ortak nokta anahtar sunucusu (KD) olarak kabul
edilmektedir. İlgili şema şekil 6.31’da verilmektedir.
K
s
s
A
s
s
A
RP Randevu noktası
Y Çok hedefli iletim yönlendiricisi
A Alıcı
K Kaynak
KD Anahtar dağıtıcısı
Y
Y
KD
1
1
2
3
3
44
A Yetkilendirme varlığı
Şekil 6.31 – Çok hedefli iletim erişim “token”’i uygulaması
191
Erişim “token”’inin kullanılabilmesi için sistemlerin “üyelik kanıtı” edinmeleri
gerekmektedir [117]. Üyelik işlemleri bu kanıt olmadan yapılmamaktadır. Çoğu
zaman bu kanıt içerik sağlayıcıdan elde edilmekte ve şebeke sağlayıcısına
sunulmaktadır. Şekilde gösterildiği üzere herhangi bir sistem gruba üye olmak
istediğinde, ilk olarak KD ile iletişim kurmakta ve grup anahtarını elde etmektedir.
Bu anahtar ilerideki adımlarda üyelik kanıtı olarak sunulmak üzere saklanmaktadır.
KD, grup anahtarını dağıttığı sistemlerin bir listesini yetkilendirme varlıklarına [117,
119] dağıtmaktadır. Bu varlıklar çok hedefli iletim yönlendiricileri veya
yetkilendirme sunucuları (RADIUS) olabilmektedir. Bu listenin paylaşılması, şekilde
ikinci adım olarak çizilmiştir. Yetkilendirme varlığına ait rollerin nasıl
konumlandırıldığına göre bu liste, dağıtım ağacı içerisinde özel bir çok hedefli iletim
grubu kullanılarak dağıtılmaktadır [118, 120]. Bu adımın şekildeki numarası üçtür.
Sistemler edindikleri erişim “token”’ının en yakınlarındaki çok hedefli iletim
yönlendiricisine takdim etmektedir (Dört numaralı adım). Yönlendirici, erişim
“token”’inin doğruluğunu ve içerisindeki yetkilendirme bilgisini kontrol etmektedir.
Kontrollerin başarıya ulaşması durumunda IGMP üyelik işlemleri başlatılmaktadır.
Erişim “token”’i aşağıda sıralanmakta olan bilgileri taşımaktadır.
1. Grup kimlik bilgisi
2. Alıcı sistemin kimlik bilgileri
3. “Token” kimlik bilgisi
4. IGMP anahtarı
5. “Token”’a ilişkin zaman damgası
6. Erişim “token”’ının oluşturan varlığın kimlik bilgileri
7. Erişim “token”’ının oluşturan varlığın açık anahtarı
Sistemlerin birden fazla gruba üye olmak istediği durumlarda birden fazla erişim
“token”’ı edinmesi gerekmektedir. Listede yer alan “token” kimlik bilgisi 32 bitlik
rastlantısal bir sayıdır. IGMP anahtarı ise simetrik yapıdadır. “Token” listesinde
kullanılmak üzere bekleyen <Grup kimliği, “token” kimliği, IGMP anahtarı> üçlüleri
bir IGMP anahtarının sadece bir kere kullanılması gerektiği için kullanımdan sonra
listeden silinmektedir. Erişim “token”’larının dağıtımı, tek hedefli veya çok hedefli
olarak yapılmaktadır. Tek hedefli iletim seçildiği takdirde çok hedefli iletim
yönlendiricisi, KD ile bir güvenlik ilişkisi (SA) kurmaktadır. Daha sonra “token”
listesinin iletimi bu SA kullanılarak tamamlanmaktadır. İletimin, çok hedefli olarak
192
yapıldığı durumlarda “token” listesinin iletimi farklı bir kontrol mesajı olarak
düşünülmekte ve liste “bütün yönlendiriciler” çok hedefli iletim grubu hedef alınarak
yapılmaktadır. Şekil 6.31 içerisindeki dördüncü adımdaki IGMP mesajlaşması için
gereken kimlik doğrulaması, “token” içerisinde bulunan IGMP anahtarının yardımı
ile gerçekleştirilmektedir. (Örneğin IPSec AH ile şifrelenmiş bir özet işlevi kimlik
doğrulaması için kullanılabilmektedir.) Böyle bir mesajlaşma için ilk olarak sistem
ile yönlendirici arasında bir SA oluşturulması gerekmektedir. SA’nın oluşturulması
sırasında IGMP anahtarı kullanılmaktadır.
Kullanıcı veya sistemlerin katılım isteklerini yönlendiricilere yollamadan önce
yetkilendirme işlemleri sayesinde onay alması mantığı sadece erişim “token”’ı
tasarımında bulunmamaktadır. Gothic: Grup Erişim Kontrol Mimarisi ve Güvenli
Çok Hedefli İletim ve “Anycast” (Gothic: Group Access Control Arhitecture for
Secure Multicast and Anycast) [121] içerisinde, grup üyelerinin gruba dahil olması
sırasında erişim “token”’ına benzer bir yöntem kullanmaktadır. Gothic, grup erişim
kontrolünün yapılabilmesi için oluşturulmuş olan bir mimaridir. Tasarımın altında
yatan felsefe, yönlendiricilerdeki işlem gücü gereksinimlerinin ve mesajlaşmanın
minimumda tutularak ölçeklenebilirliğin ve güvenliğin birlikte sağlanmasıdır [121].
Grup erişim denetiminin yapılabilmesi için erişim kontrolü yeteneğine sahip grup
anahtar yönetim varlıkları (Group Access Control Aware GKM, GACA-GKM)
kullanılmaktadır. Gothic içerisindeki sistemler şekil 6.32’de gösterilmektedir.
GODAS
Grup
sahibi
EKS
Alıcı
Y
Yönlendirme
altyapısı
Grup üye
yetkilendirme
sistemi
Grup
politikası
yönetim
sistemi
Şekil 6.32 – Gothic içerisindeki sistemler
193
Şekilde gösterilmekte olan EKS, erişim kontrol sunucusunu ve GODAS ise, grup
sahibi belirleme ve yetkilendirme sunucusunu göstermektedir. Gothic, grup politikası
yönetim sistemi ve grup üyeleri yetkilendirme sistemi olmak üzere iki farklı
sistemden oluşmaktadır [121]. Gothic mimarisinde erişim kontrolü, kaynaklar için
sağlanmamakta, sadece alıcı sistemler için sağlanmaktadır. Grup üye yetkilendirme
sistemi içerisinde kullanılmak üzere açık anahtar altyapısının Gothic’ten bağımsız
olarak var olduğu var sayılmaktadır. Şebeke içerisindeki sistemlerin ve EKS
varlığının, kendilerine ait açık anahtar çiftleri ve sertifikaları bulunmaktadır.
Yönlendiriciler için böyle bir zorunluluk bulunmamaktadır. Açık anahtarlar K+ ile,
özel anahtarlar K- ile gösterilmektedir. K+A anahtarını taşıyan sertifika otoritesinin
sertifikası CERTK+A ile gösterilmektedir. Sayısal imza işlemlerinde bu imza
kullanılmaktadır. Yetkilendirme sistemine ait süreç şekil 6.33’de gösterilmektedir.
EKS
S Y
1. Yetkilendirme isteği
2. Kimlik doğrulama
3. Yetkilendirme
4. Yetkilendirme cevabı
5. Katılım isteği
6. Katılım cevabı
Şekil 6.33 – Gothic içerisindeki yetkilendirme süreci
Şekilde gösterilmekte olan süreçte ilk olarak S ile gösterilmekte olan sistem, gruba
katılma isteğini EKS ile gösterilmekte olan erişim kontrol sistemine iletmektedir. Bu
istek yetkilendirme isteğidir. Yetkilendirme isteği içerisinde grup kimliği ve sistemin
açık anahtar sertifikası bulunmaktadır. Bu mesaj sistemin özel anahtarı kullanılarak
şifrelenmektedir. Süreçle ilgili mesajlaşmalar aşağıda teker teker gösterilmektedir.
1. S EKS: Yİ = [Grup Kimliği, CERTK+S]K-S
EKS, bu adımda mesajı gönderen sistemin kimliğini kontrol etmektedir.
Kimlik doğrulandıktan sonra grup politikası kontrol edilmekte ve
sistemin, belirttiği gruba katılma hakkı olup olmadığına bakılmaktadır.
Cevabın olumlu veya olumsuz olduğu sisteme dördüncü adımda
gönderilmektedir. Cevabın olumlu olduğu durumlarda, yetkilendirme
cevabı yetenek cevabı olarak isimlendirilmektedir [121]. Yetenek
194
cevabının içerisinde sistemin IP adresi, seçkin adı (distinguished name),
çok hedefli iletim grup adresi, son kullanma tarihi, EKS’nin açık anahtar
sertifikası ve sayısal imzası bulunmaktadır.
2. EKS S: Yetenek = [IPS, DNS, Grup kimliği, Tsk, CERTK+EKS]K-EKS
Yetenek cevabı içerisinde bulunan sistemin IP adresi doğrulayıcı olarak
kullanılmaktadır. Sistem, yetenek cevabını aldıktan sonra bu cevabı
yönlendiriciye yollamaktadır. Buna katılım isteği denmektedir ve bu
mesaj IGMP rapor mesajı içerisinde yetenek cevabının yerleştirilmesiyle
elde edilmektedir.
3. S Y: Kİ = [Yetenek cevabı]
Yönlendirici bu mesajı aldığında, ilk olarak EKS’nin imzasını
doğrulamakta ve son kullanma zamanını kontrol etmektedir. Daha sonra
yetenek cevabının doğru sistemden gelip gelmediği kontrol edilmektedir.
Bu işlem, sisteme doğrulama mesajı gönderilip cevabın ilk gelen
mesajdaki kimlik ile karşılaştırılmasıyla veya sistemin IP adresinin doğru
arabağdaşımdan gelip gelmediğinin kontrol edilmesi sayesinde
yapılmaktadır. Bu işlemler bittikten sonra sisteme katılım isteğinin
olumlu veya olumsuz olduğuna dair bir cevap gönderilmektedir.
4. Y S: KC = [Durum]
Erişim kontrolü uygulanmayan bir grup ile ilgili bir katılım isteği geldiğinde
yönlendirici EKS varlığını sorgulamakta ve grup ile ilgili erişim kontrolü bilgilerini
almaktadır. Katılım işlemlerine, EKS içerisindeki kayıtlardan, grupla ilgili herhangi
bir erişim kontrolü uygulanmadığı doğrulandığı takdirde başlanmaktadır.
Çok hedefli iletim yerel şebeke altyapısı ile ilgili olarak yapılan analizde, sistemlerin,
erişim “token”’ları kullanılarak dağıtım ağacına dahil edilmesi sonrasında değiş
tokuş edilen IGMP mesajlarının güvenliğinin önem kazandığı görülmüştür.
Güvenliğin sağlanması için IGMP mesaj doğrulamasının uygulanması
gerekmektedir. Böylelikle sahte mesajların önüne geçilmektedir. Mesaj
doğrulamasının sağlanması için en güvenilir yol, sistemler ve yönlendiriciler
arasında açık anahtarların kullanılmasıdır. Açık anahtarların kullanımı, mesajlaşma
sayısı ve yönlendiricilerdeki işlem gücü göz önüne alındığında çoğu zaman pratik
olmadığı anlaşılmıştır. Açık anahtarlar yerine genellikle simetrik anahtarlı MAC
işlevlerinin kullanımına gidilmelidir. Bu yöntemde sistem ve yönlendirici arasında
195
sadece sisteme özgü veya gruba özgü simetrik bir anahtar kullanılarak mesajın şifreli
özeti hesaplanmaktadır. Bu özet, mesaj içerisine eklenmekte ve böylece mesaj
doğrulaması gerçekleştirilmektedir. [118] dokümanı buna bir örnek olarak verilebilir.
Erişim “token”’ı kullanılarak yetkilendirme ve IGMP mesajlarının doğrulanması ile
ilgili çeşitli güvenlik açıkları bulunmaktadır. Açık anahtar teknolojileri kullanıldığı
durumlarda, yönlendiriciler içerisine o yönlendiriciye ait olan açık anahtar çifti ve
KD varlığının sayısal sertifikası yerleştirilmelidir. Yönlendiricilerin, açık anahtar
teknolojisine dayalı sertifika denetimi yapması gerekmektedir. Alternatif olarak,
bütün yönlendiricilere, KD ile iletişimlerinde kullanılmak üzere simetrik bir anahtar
verilebilmektedir. Böylece grup kimlik doğrulaması MAC veya HMAC işlevleri
kullanılarak yapılmaktadır. Yapılan analiz sonucu, iletişimin türüyle ilgili bir tasarım
açığı görülmüştür. IGMP mesajları, yerel şebeke içerisinde çoktan çoğa (many-to-
many) yapılmakta olduğu için, IPSec (AH veya ESP) kullanımı mümkün
olmamaktadır. Bunun nedeni IPSec protokolünün kullanımının dengi dengine
olmasıdır. Doğrulamanın hangi katmanda gerçekleştirileceği bir başka sorundur.
Açık anahtar yöntemlerine dayalı sayısal sertifikaların kullanıldığı ortamlarda,
imzalama işlevleri IP paket seviyesi yerine IGMP seviyesinde yapılmalıdır.
Doğrulamanın, simetrik anahtar ve MAC işlevleri yardımı ile yapıldığı durumlarda,
MAC doğrulaması her iki katmanda da yapılabilmektedir. Ayrıca erişim “token”’ı
sistemler tarafından yönlendiricilere değişik zamanlarda sunulabildiği için IPSec
seviyesinde doğrulama yapılamamaktadır. Bunun nedeni IPSec içerisinde kullanılan
tekrar gönderim sezme mekanizmalarıdır. Aynı “token”’ın birkaç defa sunulması
IPSec tekrar gönderim kurallarına takılmaktadır. KD varlığı tarafından oluşturulan
erişim “token”’larında, “token”’ın yaşam süresi mutlaka belirtilmelidir. Yaşam
süresi, ilgili çok hedefli grubun yaşam süresi göz önüne alınarak hesaplanmalıdır.
Erişim “token”’ları içerisinde bu tür bilgilerin eklenmesi, “token”’ların yönetimini
zorlaştırmakta ve “token” yönetim altyapısına duyulan ihtiyacı beraberinde
getirmektedir.
6.3.2. Çok Hedefli Ġletim Yönlendirme Altyapısı Güvenliği
Her bir yönlendirme protokolünün kendine has özellikleri bulunmaktadır.
Dolayısıyla her bir protokol için özel güvenlik önlemlerinin alınması gerekmektedir.
Ancak genel olarak bakıldığında yönlendirme ile çeşitli ortak güvenlik
196
gereksinimleri ortaya çıkmaktadır. Bununla birlikte çok hedefli iletim protokolleri,
işleyişlerinde tek hedefli iletim protokollerine ihtiyaç duymaktadır. RFP ve kaynak
yönlendirmesine ilişkin bilgiler buna örnek olarak gösterilebilir. Yapılan analizde,
tek hedefli iletim yönlendirme protokollerine duyulan ihtiyacın dikkatli ele alınması
gerektiği görülmektedir. Zira bu protokollerin içerisinde meydana gelebilecek
herhangi bir açık çok hedefli iletim yönlendirme protokollerini doğrudan
etkilemektedir. Ortak güvenlik gereksinimleri; kontrol mesajlarının korunması,
yönlendirme bilgisinin oluşturulduğu yer ve kaynak için kimlik doğrulaması
yapılması, yönlendiriciler seviyesinde anahtarların verimli bir şekilde kullanılması,
beklenmedik (anormal) yönlendirme davranışlarının fark edilmesi ve güvenlik
ihlallerinin kontrol altına alınmasıdır.
Kontrol mesajlarının korunması genel olarak; grup veya kaynak temelinde kimlik
doğrulaması yapılması, yol üzerinde mesajın değiştirilememesi ve mesajların tekrar
gönderilememesi anlamına gelmektedir. Mesaj, yol üzerinde değiştirildiğinde, bunun
uç noktalar tarafından fark edilebilmesi gerekmektedir. Simetrik anahtarlamanın
kullanıldığı durumlarda grup kimlik doğrulaması yapılmaktadır. Kaynak kimlik
doğrulaması, sadece asimetrik anahtarlamanın kullanıldığı durumlarda
yapılabilmektedir. Yönlendirme bilgisinin pek çok etki alanı veya otonom sistem
içerisinde propagasyonu söz konusu olduğunda, rotaların oluşturulduğu etki alanı
ilgili kimlik doğrulaması yapılması zorunludur. Bunun nedeni bir otonom sistemin
bir rotayı başka bir otonom sisteme iletmesi sırasında, bu rotanın nerede ve nasıl
üretildiğini bilmesi zorunluluğudur. Bu zorunluluk, etki alanları arası çok hedefli
iletim yönlendirmesinde ortaya çıkmaktadır. Buna örnek olarak tek hedefli iletimde
BGP, çok hedefli iletimde MSDP ve BGMP verilebilir. Etki alanı içerisindeki
yönlendirme altyapısı (dahili yönlendirme) söz konusu olduğunda rotayı oluşturan
varlıkla ilgili kimlik doğrulaması yapılması gerekmektedir. Etki alanları içerisinde
genel olarak belirli varlıklar, diğer bütün yönlendiricilere mesaj yollamaktadır. Bu
mesajlar yayın şeklinde veya çok hedefli olarak yapılmaktadır. Paylaşımlı grup
anahtarının kullanımı, kötü niyetli kişilerin eline geçmiş bir yönlendirici grup
anahtarına sahip olduğunda, sahte mesajlar iletebileceği için tercih edilmemelidir.
Böyle bir durumda alıcı yönlendiricilerin eline geçen mesaj, kimlik doğrulaması
testlerinden başarıyla geçmektedir. Yapılan analizde, bu tür saldırıların bertaraf
edilebilmesi için grup anahtarlaması (simetrik) yerine açık anahtar temelli sayısal
197
sertifikalar kullanılmasının daha doğru olacağı görülmektedir. Yönlendiriciler
arasındaki kontrol mesajlaşmaları, kriptolojik yöntemlerle korunacağı için bu
yöntemlere ilişkin anahtarlama materyallerinin verimli bir şekilde yönetimi,
dağıtılması ve korunması gerekmektedir. Anahtarlama materyallerinin yönetimi iki
nedenden dolayı gereklidir. Bu nedenlerden ilki, kontrolü kötü niyetli kişilerin eline
geçmiş bir yönlendiricinin geçersiz kılınarak bu güvenlik açığından etkilenen bütün
yönlendiricilerin anahtarlarının değiştirilmesi; ikincisi ise kriptografik anahtarların
belirli bir yaşam süresi olmasıdır. Kontrol mesajlaşmalarının sayısı ve hacmi diğer
mesajlaşmalara göre çok düşük olsa bile, kriptoanaliz için yeterli koşullar
oluşabilmektedir. Buna ek olarak açık anahtarlamanın kullanıldığı durumlarda
yönlendiricilerin sayısal sertifikaları işleyebilecek işlem güçlerinin olması
gerekmektedir. Her bir yönlendiricinin kendine has bir sertifikası olacağından dolayı
bu sertifikaların da yönetilmesi ve başlangıç safhasında kurulması gerekmektedir.
Ayrıca bu tür durumlarda sertifika otoritesinin seçimi (örneğin etki alanı içerisinden
veya etki alanları arası) önem kazanmaktadır.
Yönlendirme altyapısına ilişkin beklenmedik davranışlar genel olarak sistem
yöneticileri tarafından fark edilebilmekte fakat bu yeterli olmamaktadır.
Yönlendirme anormalliklerine ilişkin otomatik önlemlerin alınması gerekmektedir.
Bu önlemler sistem yöneticilerine otomatik bildirimlerden, trafik hacminin
değişimine göre çeşitli aksiyonların alındığı karmaşık işlevler olabilmektedir. Çok
hedefli iletim söz konusu olduğunda, aynı alt şebekeye ilişkin birbirini tekrarlayan
katılım ve budama işlemleri yönlendirme anormalliğine bir örnek olarak
gösterilebilir. Bir başka saldırı türü ise D sınıfı adreslerin tamamına teker teker paket
yollanmasıdır. Oluşan güvenlik açıklarının oluştuğu etki alanı dışına taşmaması ve o
etki alanı içerisinde mümkün olduğu kadar izole edilerek minimum hasar vermesi
istenmektedir.
6.3.2.1 PIM-SIM Protokolü Güvenliği
Günümüzde Internet üzerinde en yaygın kullanım alanı bulmuş olan çok hedefli
iletim yönlendirme protokolü Protokolden Bağımsı Çok Hedefli İletim - Seyrek Mod
spesifikasyonudur (PIM-SM). IETF içerisindeki PIM çalışma grubu, protokol ile
ilgili güvenlik çalışmalarını ilk olarak 1999’da başlatmıştır [122]. Daha sonra PIM-
SM spesifikasyonu [32] genişletilerek güvenlik ile ilgili bilgiler eklenmiştir.
198
Güvenlik çalışmaları, 2000 yılında PIM protokolü için bir anahtar yönetim protokolü
yazılması ile devam etmiştir [123].
PIM-SM protokolünde kullanılmakta olan mesajlar sadece bir adım ötedeki
yönlendiricilere ulaşan ve mümkün olduğuca çok hedefli olarak iletilmeye çalışılan
yerel bağlantı mesajları veya birden fazla adım ötedeki varlıklara ulaşan tek hedefli
mesajlar olarak sınıflandırılabilmektedir. Yerel bağlantı mesajları katılım, budama,
iddia ve HELLO protokolü mesajlarıdır. Tek hedefli mesajlar ise kaydolma ve
kaydolmayı durdurma mesajlarıdır. Bu mesajların sahtelerinin üretilerek
gönderilmesi güvenlik açıklarına yol açmaktadır. Sahte katılım ve budama mesajları
çok hedefli iletim trafiğinin izinli hiçbir üye olmayan bağlantılara iletilmesine sebep,
olmaktadır. Böylece bandgenişliği boşa harcanmaktadır. Sahte ayrılma mesajlarının
yarattığı tehlikeler önemsizdir. Bunun sebebi, aynı şebekede bulunan ve ayrılma
isteğini duyan diğer yönlendiricilerin (sorumlu oldukları alt şebekelerde izinli üyeler
olduğu için), ayrılma isteğini geçersiz kılmak için katılım mesajları göndermesidir.
HELLO mesajlarının sahtelerinin, gönderilmesi yetkisiz yönlendiricilerin DR olarak
seçilmesine sebep olmakta ve böylece çok hedefli iletim ile ilgili yönlendirme
sorumluluğu bu yönlendiriciye geçmektedir. Kaydolma mesajları ile ilgili
sorumluluk DR varlığında olduğu için yerel sistemlerin alıcı veya kaynak olabilmesi
de bu yönlendiricinin kontrolüne geçmektedir. Dolayısıyla çok hedefli iletim trafiği
sekteye uğramaktadır. İddia mesajlarının sahtelerinin gönderilmesi DR varlığının
trafiği iletmesini durdurabilmektedir. Böylece bu varlığa bağlı yerel şebekeler ve
daha da önemlisi bu varlığın alt dallarında bulunan sistemler çok hedefli iletim
trafiğini alamamaktadır. Kaydolma mesajlarının sahtelerinin üretilmesi sayesinde
dağıtım ağacı içerisinde gelişi güzel trafik eklenebilmektedir. Kaydolma durdurma
mesajı ise DR varlığının paketleri RP varlığına yollamasına engel olmakta ve
böylece yerel şebeke içerisindeki kaynak, çok hedefli iletim ağacına trafik
gönderememektedir.
Yerel bağlantı kontrol mesajları söz konusu olduğunda, güvenlik ihlalleri çoğu
zaman bir adım ötedeki yönlendiricileri etkilediği için zarar gören varlıkların sayısı
fazla olmamaktadır. Çok hedefli iletim söz konusu olduğunda birden fazla adım
öteye giden mesajlara ilişkin güvenlik ihlalleri çok büyük sonuçlar doğurmaktadır.
PIM-SM spesifikasyonunda bir alt şebekede oluşturulup da birkaç adım ötedeki
başka bir alt şebekeye gönderilen üç farklı mesaj türü bulunmaktadır [122]. Bu
199
mesajlar; grup – RP eşlemeleri için kullanılan önyükleme mesajları, aday RP
anonsları ve DR varlıkları tarafından RP varlıklarına gönderilen kaydolma
mesajlarıdır. Bu üç farklı mesaj türü, mesajın kaynağı ile vardığı nokta arasında yol
alırken hiçbir varlık tarafından değiştirilmemektedir. Önyükleme mesajları, etki alanı
içerisinde seçilmiş olan önyükleme yönlendiricisi tarafından bütün PIM
yönlendiricilerine gönderilmektedir. Bu mesajlar içerisinde, hangi grupların hangi
RP varlığından hizmet alacakları bilgisi bulunmaktadır. Yetkili olmayan bir
yönlendiriciden bütün PIM yönlendiricilerine gönderilen önyükleme mesajları çok
hedefli iletim trafiğini etkileyeceğinden güvenlik tehlikesi oluşturmaktadır.
Önyükleme prosedürünün gerektiği gibi çalışabilmesi için, RP aday
yönlendiricilerinin önyükleme yönlendiricisine gönderdiği mesajların güvenliğinin
sağlanması gerekmektedir. Aksi halde bu mesajların yol üzerinde değişmesi veya
görevli olmayan bir yönlendirici tarafından sahte bir mesaj üretilmesi etki alanı
içerisindeki yönlendirme davranışını etkilemekte ve böylece güvenlik açıkları
oluşmaktadır. Yetkisi olmayan kaynaklar tarafından tetiklenen ve DR varlıklarının
RP varlığına kaydolma mesajları göndermesine yol açan durumlar, çok hedefli iletim
gruplarına sahte mesajlar iletilmesine yol açabilmektedir. Bu durum farklı bir
güvenlik tehlikesi oluşturmaktadır.
Bu tür güvenlik tehlikelerinden korunmanın bir yolu, bütün PIM kontrol mesajlarının
doğrulanmasıdır [122]. Doğrulama için bütün kontrol mesajlarının IPSec doğrulama
başlığı (AH) taşıması gerekmektedir. Mesajların doğrulanabilmesi için iki farklı veri
dönüşüm metodu belirlenmiştir [122]. Bu metotlar, HMAC-MD5-96 ve HMAC-
SHA-1-96 olarak isimlendirilmektedir. Her iki metot için de anahtar dağıtımı el ile
yapılmaktadır. Güvenliğin sağlanabilmesi için iki farklı seçenek sunulmaktadır. İlk
seçenek “eşit fırsat” metodu, ikinci seçenek ise “farklı yetenekler” metodudur [122].
Eşit fırsat metodunda, bütün yönlendiricilere, rollerine bakılmaksızın tek bir anahtar
dağıtılmaktadır. Bütün kontrol mesajlaşması bu anahtar kullanılarak
şifrelenmektedir. Bu metot ile güvenlik, sadece PIM yönlendiricileri ve diğer
varlıklar arasında sağlanmaktadır. Bir başka deyişle, anahtara sahip olan bir
yönlendirici yaptığı doğrulama testlerinde, mesajın diğer PIM yönlendiricilerinden
gelip gelmediğini tespit edebilmektedir. Yapılan analiz sonucu, PIM
yönlendiricilerinden herhangi birinin kötü niyetli kişiler tarafından ele geçirilmesinin
güvenlik altyapısını tamamen bozduğu görülmektedir. Önyükleme yönlendiricileri
200
için ek güvenlik önlemlerine ihtiyaç duyulmaktadır. Bunun nedeni, önyükleme
yönlendiricileri tarafından bütün etki alanına gönderilen grup – RP eşleşmelerini
içeren mesajlardır. Aynı durum aday RP mesajları için de geçerlidir. Bu varlıkların
korunması için farklı yetenekler metodunun kullanılması gerekmektedir [122]. Bu
metotta eşit fırsat anahtarının kullanımına devam edilmektedir. Çoğu PIM kontrol
mesajı bu anahtar ile şifrelenerek gönderilmektedir. Fakat aday BSR ve RP varlıkları
eşit fırsat anahtarına ek olarak iki ilave anahtar daha kullanılmaktadır. Bu anahtarlar
önyükleme ve aday RP anonslarının korunması için kullanılmaktadır. Bütün BSR
varlıkları, tek bir RSA anahtar çiftine sahiptir. Bu çift içerisindeki anahtarlar, özel
BSR anahtarı ve açık BSR anahtarları olarak isimlendirilmektedir. Özel anahtar,
önyükleme mesajının tamamını şifrelemek için kullanılmaktadır. Açık anahtar, bu
mesajın ulaştığı bütün yönlendiriciler tarafından bilinmekte ve mesaj doğruluk
kontrolleri için kullanılmaktadır. Böylece mesajın gerçekten aday BSR tarafından
gönderilip gönderilmediği anlaşılmaktadır. BSR anahtar çiftine ek olarak “RP
anahtarı” olarak isimlendirilen simetrik bir anahtar daha mevcuttur. Bu anahtar,
sadece BSR ve RP varlıkları tarafından bilinmektedir. Aday RP anonsları
mesajlarında eşit şans anahtarı yerine bu anahtar kullanılmaktadır. Farklı yetenekler
metodunun, eşit şans metodundan daha esnek olduğu görülmektedir. Bu metot ile
sadece yetkilendirilen aday BSR varlıkları, BSR rolünü üstlenebilmekte ve sadece
yetkilendirilen varlıklar BSR varlığına RP adaylığını bildirebilmektedir. Böylelikle
çok geniş PIM etki alanları desteklenebilmektedir [122]. Güvenliğin bu şekilde
sağlanabilmesi için PIM mesaj başlıkları, IPSec AH doğrulama başlığının arkasına
eklenmektedir. IP başlığındaki protokol alanında 51 bulunmaktadır. Bir PIM paketi
içerisinde AH başlığının eklenmesi şekil 6.34’de, AH bölümünün biçimi (IPSec AH
spesifikasyonundan alınmıştır.) ise şekil 6.35’te gösterilmektedir.
AH başlığıIP başlığı PIM başlığı PIM verisi
Şekil 6.34 – PIM mesajlarında doğrulamanın kullanımı, AH başlık yapısı
201
0 1 2 3 4 5 6 7 8 0 29 1 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Veri uzunluğuBir sonraki başlık
Güvenlik parametre indeksi (SPI)
Sıra numarası alanı
0 1 2 3
Ayrılmış
Doğrulama verisi alanı (değişken uzunlukta)
Şekil 6.35 – AH başlık yapısı
Veri uzunluğu (payload length) bölümünün değeri HMAC-MD5-96 veya HMAC-
SHA-1-96 veri dönüşümleri kullanıldığında sabittir ve dörttür. RSA anahtarlarının
kullanıldığı durumlarda bu alan değişkendir. Farklı yetenek metodunun kullanıldığı
durumlarda SPI alanına ihtiyaç duyulmaktadır. Bunun sebebi farklı güvenlik
ilişkilerinin (SA) tanımlanmasına ihtiyaç duyulmasıdır. Doğrulama verisi alanında
ise PIM mesaj özeti bulunmaktadır. Bir paket oluşturulması sırasında özet veya RSA
imzası hazırlanırken doğrulama verisi alanı sıfırlanmaktadır. Alınan bir paketin
doğruluğunun denetlenmesi sırasında ise bu alan sıfırlanmadan önce saklanmaktadır
[122].
Yukarıda belirtilmekte olan anahtarların kullanımı sayesinde kontrol mesajları
şifrelenebilmekte ve dolayısıyla yönlendirme güvenliği sağlanmaktadır. Güvenliğin
her zaman aynı seviyede tutulabilmesi için kullanılan anahtarların düzenli bir şekilde
değiştirilmesi gerekmektedir. PIM protokolünün güvenli hale getirilmesi için
kullanılan anahtarların dağıtımı ve değiştirilmesi gibi anahtar yönetimi konuları PIM
Basit Anahtar Yönetimi (Simple Key Management Protocol, SKMP-PIM)
protokolünde [123] ele alınmaktadır. Daha önce yapılan çalışmada [67], anahtarların
kullanımı anlatılmış fakat nasıl dağıtılacağı veya değiştirileceği tanımlanmamıştır.
SKMP-PIM protokolünde felsefe, PIM protokolünü güvenli hale getirmek için
kullanılan anahtarların yönetiminin sağlanmasıdır. Bunun için ilave anahtarlar
kullanılmaktadır. Bu anahtarların ve diğer anahtarların başlangıç safhasında dağıtımı
ve tekrar dağıtımı Etki Alanı Anahtar Dağıtım (Domain Key Distributor, DKD)
varlığına verilmiştir. Amaç, [122] içerisinde tanımlanan anahtarların korunması
olduğu için bu anahtarlar birincil anahtarlar olarak isimlendirilmektedir [123]. Eşit
fırsat anahtarı Kef, BSR varlığına ait olan anahtar çiftinden açık anahtar PKbsr, gizli
olan anahtar SKbsr, bütün RP ve BSR varlıkları tarafından paylaşılan RP anahtarı ise
Krp notasyonları ile gösterilmektedir. SKMP-PIM içerisinde tanımlanan anahtarlar
202
ise anahtar yönetim anahtarları olarak isimlendirilmektedir [123]. Bu kategoriye
giren anahtarların kullanım amacı birincil anahtarların korunmasıdır. Bu sebeple
anahtar yönetim anahtarları nadir olarak değiştirilmektedir. Anahtar yönetim
anahtarları aşağıda sıralanmaktadır.
1. Etki alanı genelinde sorumluluk sahibi olan DKD varlığına PKdkd ve
SKdkd olarak isimlendirilen RSA anahtar çifti verilmektedir.
2. RSA anahtar çiftinden açık olanı, RP adayları kümesini oluşturan bütün
yönlendiricilere ve BSR varlığına verilmektedir. Bu anahtar PKrpbsr olarak
isimlendirilmektedir. Bu anahtar çiftine ait gizli anahtar ise sadece DKD
varlığına verilmektedir. Bu anahtar ise SKrpbsr olarak isimlendirilmektedir.
Bu anahtarlar sadece tek bir PIM etki alanı içerisinde kullanılmak üzere
tanımlanmaktadır. Dolayısıyla yapılan doğrulama sadece o etki alanı içerisinde
geçerlidir ve veri gizliliği, verinin gizli anahtarlar kullanılarak şifrelenmesi sayesinde
sağlanmaktadır [123]. Buna ek olarak SKbsr ve PKbsr olarak isimlendirilen anahtar
çiftleri, anahtar yönetimi için de kullanılmaktadır. Anahtar yönetiminin
başlatılabilmesi için ilk safhada anahtarların dağıtılması gerekmektedir. İlk dağıtım
elle veya dinamik olarak yapılabilmektedir. Elle yapılandırma üç adımdan
oluşmaktadır. İlk adımda PKdkd anahtarı bütün PIM yönlendiricilerine
yerleştirilmektedir. Bu yönlendiricilere RP ve BSR varlıkları da dahildir. İkinci
adımda PKbsr ve SKbsr anahtar çifti BSR varlığına yerleştirilmektedir. Üçüncü ve son
adımda PKrpbsr anahtarı BSR ve RP varlıklarına yerleştirilmektedir. İlk safha için
izlenebilecek diğer bir yol ise dinamik yapılandırmadır. Dinamik yapılandırmanın
uygulanabilmesi için her bir PIM yönlendiricisinin bir açık anahtar çiftine (Yi
yönlendiricisi için PKYi ve SKYi) sahip olması gerekmektedir. Bu anahtar çiftleri,
yönlendiricilere güvenli bir şekilde yüklenmelidir. Yönlendiriciler bu anahtar
çiftlerini kullanarak DKD ile bir güvenlik ilişkisi (SA) kurmakta ve güvenli bir kanal
oluşturmaktadır. Güvenli kanal kurulduktan sonra BSR varlığı PKbsr ve SKbsr anahtar
çiftini üreterek DKD varlığına yükleyebilmekte veya üretim DKD varlığı tarafından
yapılarak BSR varlığına gönderilmektedir. İkinci adımda BSR varlığı DKD varlığı
tarafından üretilen PKrpbsr anahtarını indirmektedir. Üçüncü adımda aynı anahtar
bütün RP varlıkları tarafından indirilmektedir. Dördüncü ve son adımda bütün PIM
yönlendiricileri, DKD varlığı tarafından üretilen PKdkd anahtarını kendi güvenli
kanallarını kullanarak indirmektedir. Bu sayede elle veya dinamik olarak bütün
203
anahtar yönetim anahtarları dağıtılmış olmaktadır. Bir sonraki safhada birincil
anahtarlar dağıtılmaktadır. İlk safhanın bitiminde, BSR varlığının elinde birincil
anahtarlardan sadece PKbsr ve SKbsr anahtarları bulunmaktadır. PKbsr anahtarının
bütün PIM yönlendiricilerine dağıtılması için ilk olarak bu anahtar, DKD tarafından
(ve SKdkd anahtarı kullanılarak) imzalanmaktadır. İmzalanan mesaj, çok hedefli veya
tek hedefli olarak bütün PIM yönlendiricilerine iletilmektedir. PIM yönlendiricileri,
SKdkd kullanılarak imzalanmış mesajı, sadece PKdkd anahtarı kullanarak
doğrulayabilmektedir. DKD varlığı, isteğe bağlı olarak bu mesajı imzalamak yerine
gizliliğin sağlanması için aynı anahtarı kullanarak şifreleyebilmektedir. Bir sonraki
adımda Krp anahtarı iletilmektedir. DKD varlığı, bu anahtarı SKrpbsr anahtarını
kullanarak şifrelemektedir. Daha sonra bu mesaj RP ve BSR varlıklarına
gönderilmektedir. İletim bütün-PIM-yönlendiricileri çok hedefli grubu kullanılarak
yapılabilmektedir. Mesajın deşifre edilmesi için gerekli olan PKrpbsr anahtarı sadece
RP ve BSR varlıklarında olduğu için güvenlik sağlanmaktadır. Eşit fırsat anahtarı
olan Kef’nin dağıtımında ise DKD varlığı bu anahtarı SKdkd kullanarak şifrelemekte
ve bütün PIM yönlendiricilerine tek hedefli olarak veya çok hedefli olarak
dağıtmaktadır.
PIM protokolünde simetrik ve açık anahtarların birlikte kullanımı tekrar anahtarlama
stratejilerini farklılaştırmaktadır. Tekrar anahtarlama safhaları anlatılırken eski
anahtarlara 1 rakamı, yeni anahtara 2 rakamı eklenmiştir. Tekrar anahtarlama
işlemlerinde ilk safhada BSR anahtarları ele alınmaktadır. Burada anahtar çiftinin
kimin tarafından tekrar üretileceği önem kazanmaktadır. PKbsr2 ve SKbsr2 anahtarları
DKD varlığı tarafından üretildiğinde;
1. DKD varlığı, PKbsr2 ve SKbsr2 anahtarlarını SKdkd anahtarını kullanarak
sayısal olarak imzalamaktadır. Burada imzalama yerine gizliliğin
sağlanması için şifreleme yoluna da gidilebilmektedir. İmzalama sonunda
ortaya çıkan şifrelenmiş metin, Cbsr olarak isimlendirilmektedir.
2. DKD varlığı Cbsr metnini PKbsr1 anahtarı ile şifrelemekte ve CCbsr şifreli
metni oluşturulmaktadır.
Daha sonra CCbsr mesajı BSR varlığına yollanmaktadır. BSR varlığı, SKbsr1
anahtarını elinde bulundurduğu için mesajı deşifre edebilecektir. BSR varlığına ait
204
anahtar çiftinin BSR tarafından tekrar üretildiği durumda PKbsr2 anahtarının DKD
varlığına iletilmesi gerekmektedir. İletim ile ilgili adımlar aşağıda belirtilmektedir.
1. PKbsr2 anahtarı, BSR tarafından şifrelenmektedir. Bu işlem PKbsr1 anahtarı
kullanılarak yapılmaktadır. Ortaya çıkan metne Cdkd denmektedir.
2. BSR varlığı, Cdkd metnini PKdkd anahtarını kullanarak şifrelemekte ve
CCdkd metnini oluşturmaktadır.
Daha sonra BSR varlığı CCdkd mesajını DKD varlığına iletmektedir. SKdkd anahtarı
sadece DKD varlığında olduğu için, PKbsr2 anahtarını sadece DKD varlığı elde
etmektedir. BSR anahtarlarının yenilenmesi bir önceki BSR anahtarlarına bağlıdır.
Böyle bir stratejinin istenmediği durumlarda, DKD ve BSR arasında kullanılan SA
kullanılarak farklı bir güvenli kanal oluşturulabilmekte ve anahtar yenilemeleri bu
kanal üzerinden gerçekleştirilebilmektedir [69]. Böyle bir yöntem kullanıldığında
anahtar çiftinin hangi varlık tarafından üretilip dağıtıldığının bir önemi yoktur. BSR
ve RP varlıkları arasında paylaşılan Krp anahtarının tekrar dağıtımı daha önce
anlatıldığı gibi SKrpbsr anahtarı sayesinde yapılabilmektedir. Buna ek olarak yeni Krp
anahtarı (Krp2) bir önceki anahtar (Krp1) kullanılarak da dağıtılabilmektedir. Bunun
için izlenmesi gereken adımlar aşağıda sıralanmaktadır.
1. Krp2 anahtarı, DKD tarafından şifrelenmekte veya sayısal olarak
imzalanmaktadır. Bu adımda SKdkd kullanılmakta ve ortaya çıkan metne Crp
denmektedir.
2. Crp metni Krp1 anahtarı kullanılarak DKD varlığı tarafından şifrelenmektedir
ve CCrp metni elde edilmektedir.
Daha sonra bu metin, DKD tarafından bütün RP ve BSR varlıklarına
gönderilmektedir. Gönderim tek hedefli veya çok hedefli olarak yapılabilmektedir.
Krp1 anahtarı sadece BSR ve RP varlıklarında olduğu için gönderilen mesaj sadece bu
varlıklar tarafından deşifre edilebilecektir. Kef olarak isimlendirilen eşit fırsat
anahtarının dağıtımı için bir önceki anahtarın kullanılması fikri Kef anahtarının bütün
PIM yönlendiricileri tarafından bilindiği göz önüne alındığında mantıksızdır.
205
DR
RP
Y
DR
BSR
DKD
RP
(Aday)
PKdkd, SKdkd
PKrpbsr, SKrpbsr
PKdkd PKrpbsr
PKdkd PKrpbsr
PKdkd
PKdkdPKdkd
PKdkd PKrpbsr
AK
Kaydo
lma
mes
ajla
rı
Ek kısa yol ağacı
Dağıtım
ağacı
Şekil 6.34 – SKMP-PIM protokolünde kullanılan anahtar yönetim anahtarları
Bunun yerine ilk safhada Kef için kullanılan dağıtım yöntemi kullanılmaktadır. Şekil
6.36’te SKMP-PIM protokolüne ilişkin anahtarlar ve anahtarın dağıtıldığı varlıklar
gösterilmektedir.
Genişletilmiş PIM-SM spesifikasyonu ve [122] içerisinde belirtilen IPSec AH
kullanımında yerel bağlantı mesajları için tekrar gönderim korumasının sorun
yaratabileceği görülmektedir. Yerel bağlantı mesajlarının tamamı için tek bir SA
kullanılmaktadır. Bu tür mesajlar çok hedefli olarak iletildiği için tek hedefli iletim
için oluşturulmuş olan SA yapısı yeterli olmayacaktır. Çok hedefli iletimde hedef
adresi sabit kalmakta fakat kaynak adresi değişebilmektedir. Dolayısıyla farklı
kaynaklardan gelen farklı mesajlar için tek bir iletim penceresine dayanarak tekrar
gönderim kontrolü yapılması doğru değildir. Her bir yönlendiricide, farklı iletim
pencereleri tutulmakta fakat gönderilen mesajlar bütün üyeler tarafından
alınmaktadır. Böylece belirli yönlendiricilerde bazı izinli paketler tekrar gönderim
ihlali dolayısıyla atılacaktır. Bir diğer sorun ise ön yükleme mesajlarıyla ilgili sayısal
imza kullanımıdır. Ön yükleme mesajlarına ilişkin kimlik doğrulama
mekanizmalarının IPSec seviyesi yerine PIM seviyesinde yapılması gerekmektedir.
Bunun sebebi, önyükleme mesajlarının yönlendiriciden yönlendiriciye aktarılırken
tekrar yaratılmasıdır. IPSec seviyesinde yapılan kaynak kontrolü dengi dengine
haberleşmeler için geçerlidir. Ancak burada mesaj adımdan adıma yol alırken imha
edilmekte ve tekrar oluşturulmaktadır. Böyle bir yapıda IPSec seviyesindeki kaynak
doğrulama bilgisi mesaj tekrar oluşturulurken silinip yeniden yaratılmaktadır. Sayısal
imzanın PIM seviyesine çekilmesi sayesinde, imza PIM bilgisi olarak
206
taşınabilmektedir. Böylece BSR varlığına ilişkin kimlik doğrulama işlemleri, mesajın
adımdan adıma değişmesinden etkilenmeden yapılabilmektedir. PIM
spesifikasyonunda, halen güvenlik açıkları bulunmaktadır. Bu açıklar için üç farklı
öneri getirilmiştir. İlk öneri paylaşımlı SA kullanımı ve sıra numaralarının PIM
seviyesinde kontrol edilmesidir. Böylelikle, IPSec seviyesindeki sıra numarası
karmaşası engellenmektedir. Sıra numaraları PIM seviyesinde PIM bilgisi olarak
taşınmakta ve nihayetinde tekrar gönderim koruması sağlanmaktadır. Her bir
yönlendiriciye aynı (ve tek hedefli) SA yerleştirilmesi sayesinde IPSec
spesifikasyonuna sadık kalınmaktadır. Böyle bir tasarımda, IPSec protokolünde bir
değişiklik yapılmamakta fakat PIM-SM spesifikasyonuna sıra numaralarına ilişkin
tasarım parametreleri ilave edilmektedir. Diğer bir öneri ise anahtar yönetimi için
GSA ve GDOI kullanımıdır. GDOI protokolü çok hedefli iletim için tasarlandığı için
PIM kontrol mesajlaşmasında da kullanılabilmektedir. İlk olarak her bir PIM
yönlendiricisi GDAS varlığı ile birinci kategori SA oluşturmaktadır. Daha sonra bu
SA kullanılarak toplam N + 1 adet üçüncü kategori SA yüklenmektedir. İlk üçüncü
kategori SA, PIM kontrol mesajlarının gönderilmesi için kullanılmaktadır. Diğer N
adet üçüncü kategori SA ise N adet yönlendiriciden veri alımının (PIM kontrol
mesajları) güvenli bir şekilde sağlanabilmesi için kullanılmaktadır. Bir diğer öneri ise
güvenlikle ilgili bütün işlemlerin PIM seviyesinde gerçekleşmesidir. Böylece alt
seviyeler tarafından sunulan güvenlik hizmetlerine bağımlılık azaltılmaktadır.
Sunulmakta olan her bir çözüm önerisinin avantajları ve dezavantajları mevcuttur.
GDOI sayesinde, PIM-SM spesifikasyonundaki değişim minimum olmaktadır. PIM-
SM protokolünün güvenliği için alt seviyedeki GDOI protokolüne güvenilmektedir.
GDOI çözümünün dezavantajı ise kullanılan SA adedinin fazla olması dolayısıyla
yönlendiricilerde yüksek işlem gücü ve ilave durum gerektirmesidir.
6.3.2.2 MSDP Güvenliği
PIM-SM protokolü etki alanları içerisinde kullanılmaktadır. Bu protokolün etki
alanları arasında kullanılabilmesi için MSDP protokolünden yararlanılmaktadır.
MSDP sayesinde pek çok PIM-SM etki alanı birbirine bağlanabilmektedir. Her bir
etki alanı, kendi içerisindeki RP varlıklarını kullanmakta ve dolayısıyla diğer etki
alanları içerisindeki RP varlıklarına bağımlı kalmamaktadır. MSDP üzerinde yapılan
analiz sonucu PIM-SM güvenliği için [122] içerisindeki anahtarlama stratejisi
207
kullanıldığında kaynak aktif mesajları için kaynak kimlik doğrulaması yapılması
gereği ortaya çıkmaktadır. MDSP konuşmacıları etki alanları içerisindeki RP
varlıklarından oluştuğu ve kaynak aktif mesajları kaynağın bulunduğu etki alanından
uzağa doğru iletildiği için açık anahtarların ve sayısal imzaların PIM seviyesi
içerisinde kullanılması gerekmektedir.
Böyle bir güvenlik yapısı kullanıldığında MSDP konuşmacıları aldıkları kaynak aktif
mesajlarına ilişkin doğrulama işlemlerini yapmakta ve daha sonra mesajı
değiştirmeden diğer MSDP konuşmacılarına iletmektedir. Sayısal imzaların alt
seviyelerde uygulanması söz konusu olduğunda, mesajlar adımdan adıma kontrol
edileceği için mesajı oluşturan varlığın kimlik bilgisi ikinci adıma taşınamamaktadır.
Fakat güvenlik işlemlerinin PIM seviyesinde yapılması sonucu mesajı oluşturan
varlıkla ilgili doğrulama bilgileri kaybolmamaktadır.
208
7. SONUÇ
Günümüzde çok hedefli iletimin, bir çok uygulaması vardır. Bu uygulamalara altyapı
sağlanması amacıyla, yerel şebeke, yönlendirme ve adresleme alanlarında birbirinden
bağımsız pek çok mimari ve protokol oluşturulmuştur. Çalışmada, bu protokollerin
fazlalığının ve uygulamaların çeşitliliğinin, standart bir yapı oluşturulmasına engel
olduğu; çalışma ve araştırma grupları arasında iyi bir koordinasyon sağlanamadığı
görülmüştür. Yerel şebeke içerisinde kullanılan IGMP [1,12,13] protokolünün üç
farklı sürümünün olması, yönlendirme alanında oluşturulan protokollerin çokluğu ve
halen çok azının kullanılıyor olması, koordinasyon eksikliğine örnek olarak
verilebilir. Çok hedefli iletime duyulan ihtiyaç sonucunda, ticari hizmetlerin
verilebilmesi amacıyla kısa vadeli çözümlere gidilmesi ve geçiş dönemi
protokollerinin yayınlanması bu durumu doğurmuştur. Çok hedefli iletim
araştırmaları için bir test ortamı olması ve teknolojinin yayılması amacıyla kurulan,
“MBONE - Internet çok hedefli iletim omurgası”’nın işlevselliğini yitirmiş olduğu
ve yeni gelişmelere ihtiyaç duyulduğu anlaşılmaktadır. Günümüzde MBONE
kademeli bir şekilde küçülmekte ve çok hedefli iletim yeteneği Internet üzerindeki
şebekelere yayılmaktadır.
Çok hedefli iletim altyapısının gerektiği gibi geliştirilememesi, güvenlik ile ilgili
araştırmaları da etkilemiştir. Tezde, altyapı ve içerik güvenliği alanlarında pek çok
çalışma yapıldığı; ancak, altyapı henüz tam olarak oturtulamadığından dolayı ilgili
güvenlik çalışmalarının altyapı bozuklukları ve eksikliklerine bağımlı kaldığı
görülmüştür.
İçerik güvenliğinde altyapıda yaşanan sorunlar söz konusu değildir. Burada çok
hedefli iletim uygulamalarının çeşitliliği, zorunlu olarak güvenlik çözümlerinde de
çeşitliliği beraberinde getirmiştir. Internet üzerinde tek hedefli iletim için alınan
güvenlik önlemleri, hedef sayısının birden fazla olması gibi sebeplerden dolayı çok
hedefli iletim için kullanılamamakta; grup trafiğinin tek bir anahtar kullanılarak
209
şifrelenmesi tam bir güvenlik sağlayamamaktadır. Gruba üye olan bütün sistemlerin
iletim anahtarını bilmesi, sistemlerden herhangi birinin diğerleri adına izinli olmayan
mesajlar üretebilmesine sebep olmaktadır. Bu problemin aşılabilmesi için grup
anahtar yönetim mimarileri oluşturulmuştur.
Grup anahtar yönetim mimarilerinin temelinde, “grup güvenlik ilişkileri modeli -
(GSA)” [74] yatmaktadır. GSA modelinde kullanılan birinci kategori SA’nın her bir
üye için oluşturulması zorunluluğu, ölçeklenebilirlik problemlerini beraberinde
getirmektedir. Buna ek olarak, gruba iletim yapan kaynakların birden fazla olduğu
durumlarda üçüncü kategori SA’nın kaynak sayısına göre ayarlanması
gerekmektedir. Birden fazla üçüncü kategori SA kullanımı ölçeklenebilirlik
sorunlarına yol açmaktadır. Grup anahtar yönetim mimarileri için en önemli etken,
ikinci kategori SA’nın nasıl dağıtılacağıdır. IKAM mimarisinde [83] bu sorun
yönetimsel gruplar kullanılarak çözülmüş; ancak, grup sayısı arttığı için yönetimin
zorlaştığı görülmüştür. Etki alanı içerisinde merkezi bir yönetimin sağlanabilmesi
açısından, IKAM’ın kullanılması bir avantajdır. IETF bünyesinde yapılan
çalışmalarda IKAM mimarisinin gelecekte bir standart olarak oturtulması yönünde
gelişmeler devam etmektedir. “Iolus” mimarisinde [86] ölçeklenebilirlik,
sorumluluğun şebeke içerisindeki varlıklara aktarılması ve alt iletim gruplarının
oluşturulması ile sağlanmış; fakat bu nedenle karmaşıklık artmıştır. Çalışmada,
günümüzde içerik sağlayıcı ile şebeke sağlayıcı varlıkların birbirinden farklı olması
nedeniyle, Iolus mimarisinin geniş kullanım alanı bulamayacağı öngörülmektedir.
Anahtar yönetimi ve tekrar anahtarlama algoritmaları söz konusu olduğunda, her bir
algoritma farklı avantajlar sağlamaktadır. MARKS [81] algoritması, sistemlerin
gruba ne zaman gireceği ve ne zaman çıkacağının belli olduğu uygulamalarda
başarılı olmakta; ancak, algoritma içerisinde üye olan bir sistemin üyelikten nasıl
çıkarılacağının tanımlanmamış olması ve tekrar anahtarlama mekanizmalarının
bulunmaması, algoritmanın kullanım alanını kısıtlamaktadır. LKH algoritması [89]
grup üyelerini bir hiyerarşi içerisine oturtmak yerine, anahtarları hiyerarşi içerisine
oturtmak amacıyla oluşturulmuş ilk algoritmadır. Yönetim, merkezi olduğu için
içerik sağlayıcı ve şebeke sağlayıcı varlıkların farklı olması, herhangi bir sorun
yaratmamaktadır. Algoritma içerisinde üç farklı anahtar çizgesi bulunmaktadır.
Çalışmada, çok hedefli iletim için yıldız ve ağaç çizgelerinin kullanılmasının uygun
olduğu sonucuna varılmıştır. Ağaç çizgelerinde anahtar sayısının minimum olması,
210
ağaç çizgelerini yıldız çizgelere nazaran daha avantajlı hale getirmektedir. Ayrıca,
LKH algoritmasının grup odaklı tekrar anahtarlama stratejisi ile yapılması, maliyeti
minimumda tutmaktadır. OFT algoritması [78] kullanılan çözümlerde, grup anahtarı,
LKH algoritmasının tam tersine, aşağıdan yukarıya doğru oluşturulmakta ve grup
üyeleri anahtar üretimine katkıda bulunmaktadır. Perdelenmiş anahtarlar sayesinde
tekrar anahtarlama için gönderilen bit sayısı yarıya inmekte, fakat yapılan işlemlerin
sayısı ve algoritma karmaşıklığı artmaktadır. Çalışmada, sistemlerin pek çok gruba
üye olduğu durumlarda, OFT algoritması içerisinde tanımlanan grup indüklemesi
mekanizmasının kullanımı sayesinde, grup kurulum sürelerinin kısaldığı
görülmüştür. Ayrıca, OFT algoritmasının temelini oluşturan tek yönlü işlevlerin
LKH içerisinde kullanımı sayesinde, üyelik işlemleri sabit bir zaman dilimi
içerisinde yapılabilmekte; bu sayede güvenlikle ilgili ek yük, üye sayısından
bağımsız hale getirilmektedir. Anahtarlama algoritmalarında en önemli nokta,
kullanılan anahtarların grup üye sayısıyla üstel veya doğrusal olarak artmamasıdır.
Çalışmada, LKH ve OFT tekniklerinde anahtar sayısı üye sayısıyla logaritmik olarak
artmakta olduğu için, bu iki teknik ve türevleri en cazip çözümler olarak
belirlenmiştir.
Çok hedefli iletimde güvenlik çerçevesi içerisinde düşünülmesi zorunlu olan bir
başka konu da, kaynak kimlik doğrulaması ve erişim kontrolüdür. Bu işin yegane
çözümü, sayısal imzaların kullanımıdır; fakat bu çözüm, işlem gücü ve hafıza
açısından pratik olarak imkansızdır. Güvenliğin pratik olarak sağlanabilmesi için
özet işlevleri ve mesaj doğrulama kodları, sayısal imzaların mesajlar üzerine
paylaştırılması ile birlikte kullanılmaktadır. Sayısal imzanın bütün akım üzerinde
paylaştırıldığı özet zincirleme tekniklerinde en büyük dezavantaj, paket kayıplarına
karşı toleransın çok az olması, iletimin sırasıyla yapılması zorunluluğu ve iletimden
önce bilginin tamamının kaynakta bulunması gerekliliğidir. Çalışmada, özet
zincirleme teknikleri içerisinde en avantajlısının EMSS [98] olduğu sonucuna
varılmıştır. Özet zincirlemesinin 5-11-17-24-36-49 şekilde yapılması optimum
çözümlerden biridir. Bunun yanı sıra dinamik zincirlemenin kullanımı da optimuma
yakın bir seçenektir.
EMSS tekniğinde, mesajlarla birlikte gönderilen ek yükün artmasıyla, paket
kayıplarına karşı tolerans arttırılmaktadır. Avantajlarının yanı sıra, EMSS ve
uzatılmış zincirleme [99] tekniklerinde pek çok dezavantaj bulunmuştur. İmza
211
paketleri, iletimin sonunda gönderildiği için alıcı sistemlerde doğrulama gecikmeli
olarak yapılmaktadır. Doğrulamanın gecikmeli yapılması, alıcı sistemlerde önbellek
kullanımına yol açmakta ve olası DoS (hizmet durdurma) saldırılarına karşı güvenlik
açıkları ortaya çıkmaktadır.
Çalışmada, kaynak doğrulama ve erişim kontrolünün mesaj doğrulama kodları
(MAC) kullanılarak yapıldığında TESLA algoritmasının [98] en avantajlı algoritma
olduğu görülmüştür. Bu algoritmada, alıcı tarafta bir mesajın doğrulanması için
sadece bir MAC operasyonuna ihtiyaç duyulmaktadır. Avantajlarının yanı sıra,
TESLA algoritmasında, zaman eşlemesinin gerçekleştirilmesinin genellikle çok
karmaşık olması ve her uygulamada sağlanamaması, doğrulamanın yapılabilmesi için
alıcı tarafta önbellekleme yapılması zorunluluğu, saldırılar sonucu bellek taşmaları
yaşanabilmesi gibi dezavantajları vardır.
EMSS ve TESLA algoritmalarının avantajlarını ve dezavantajlarını özetlemek
gerekirse, EMSS sayesinde tekrar gönderim reddedilememekte, paket kayıplarına
karşı yüksek tolerans sağlanmakta ve alıcı tarafında gecikmeli doğrulama yapılarak,
ek yük düşük seviyede tutulmaktadır. TESLA algoritmasında ise, ölçeklenebilirlik
yüksek olmakta ve ek yükün düşük tutulması için kaynak tarafında doğrulama
bilgisinin eklenmesi geciktirilmektedir. Buna ek olarak, TESLA algoritmasında grup
kurulurken yapılması gereken zaman eşitleme operasyonlarının çok karmaşık olduğu
görülmektedir.
Güvenlik politikası tanımlama dilleri üzerinde yapılan çalışmada, GSPT dilinin [114]
çok hedefli iletim uygulamalarının büyük bölümü için yeterli olduğu saptanmıştır.
Çok hedefli iletim altyapısı ele alındığında, yerel şebeke içerisinde çok hedefli iletim
güvenliğinin, erişim “token”’ı kullanımı ve IGMP mesajlarına kimlik doğrulaması
eklenmesi sayesinde çözülmeye çalışıldığı görülmüştür. Mesaj doğrulamasının
sağlanması için en güvenilir yol, sistemler ile yönlendiriciler arasında açık
anahtarların kullanılmasıdır; ancak, pratikte bu yöntem çok fazla ek yük
getirmektedir. Dolayısıyla açık anahtarlar yerine, simetrik anahtarlı MAC işlevlerinin
kullanımının daha doğru olacağı sonucu çıkmaktadır. Buna ek olarak IGMP
mesajlarının çok hedefli olarak iletilmesinden dolayı, güvenlik mekanizmalarının IP
seviyesi yerine IGMP seviyesine yerleştirilmesi gerektiği anlaşılmıştır. Bunun
212
nedeni, erişim “token”’larının defalarca kullanılabilmesi ve bu kullanımın IPSec
tekrar gönderim mekanizmasına ters düşmesidir.
Çalışmada, çok hedefli iletim yönlendirme altyapısı ile ilgili güvenliğin, kullanımda
olan protokollerin standartlaştırılamaması ve Internet üzerinde tek bir yönlendirme
altyapısı bulunmamasından dolayı parçalı olarak sağlanabildiği görülmüştür.
Yönlendirme altyapısı içerisinde bulunan varlıkların güvenli olarak haberleşebilmesi
için standart bir anahtar dağıtım mimarisi oluşturulmasına ihtiyaç duyulmaktadır. Bu
mimarinin sorumluluğunun hangi organizasyonel varlıkta olacağı, yönlendirmeye
katılan varlıkların pek çok farklı organizasyon içerisinde bulunması dolayısıyla sorun
olmaktadır. Bu sorunun çözülebilmesi için, grup politikası içerisinde belirtilen grup
sahibinin bulunduğu organizasyonun aynı zamanda anahtar mimarisinden de sorumlu
olması yoluna gidilebileceği düşünülmüştür. Ancak böyle bir durumda bütün
yönetimsel organizasyonların aynı zamanda bir anahtar yönetim mimarisi
bulundurması gerekecektir. Bir başka öneri ise, şebeke varlıklarına yönelik küresel
bir güven ve kimlik doğrulama altyapısı oluşturulmasıdır. Burada, tek hedefli iletim
uygulamalarında kullanılan sayısal sertifika sistemi bir başlangıç olarak alınabilir.
Her bir organizasyonel yapı içerisinde sertifika otoritelerinin kurulması ve bu
otoritelerin Internet yapısına uygun olarak hiyerarşik bir şekilde birbirine bağlanması
ile bu sorunun çözülebileceği düşünülmektedir.
Günümüzde PIM-SM protokolü en çok kullanım alanı bulan yönlendirme
protokolüdür. Bu protokolün güvenli hale getirilebilmesi için yapılan çalışmalarda
yerel bağlantı mesajları için tek bir SA kullanımı yoluna gidilmiştir. Çalışmada, bu
yöntemin, kontrol mesajlarının çok hedefli olarak iletilmesi söz konusu olduğu için
tam olarak işe yaramadığı görülmektedir. Bu sorunun çözülebilmesi için her bir yerel
bağlantı yönlendiricisine ilişkin ayrı bir SA tanımlanması gerekmektedir. Diğer bir
problem ise BSR kimlik doğrulaması için kullanılan sayısal imzaların kullanım
seviyesidir. BSR mesajları, yönlendiriciler arasında adım adım iletildiği için
imzaların IP seviyesinde kullanımının yanlış olacağı sonucu çıkmaktadır. Buna ek
olarak, PIM-SM protokolünün tam olarak güvenli hale getirilebilmesi için IPSec
içerisinde yapılan sıra numarası kontrolünün PIM seviyesinde yapılması
önerilmektedir. Bunun nedeni, kontrol mesajlarının mümkün olduğunca çok hedefli
olarak iletilmesi dolayısıyla, her bir kaynakta farklı sıra numaraları tutulmasıdır. Sıra
numarası kontrolünün PIM içerisinde yapılması, protokol yapısında değişiklik
213
yapılması anlamına gelmektedir. Böyle bir değişikliğin yapılması durumunda alt
seviyede IPSec kullanımı ve üst seviyede sıra numarası kontrolü sayesinde
protokolün daha güvenli hale geleceği düşünülmektedir. Çözülmesi gereken bir diğer
nokta, yönlendiriciler üzerindeki anahtarlama materyallerinin yönetimidir. Çok
hedefli iletim uygulamalarında kullanılan anahtarlama mekanizmalarının bu iş için
yeterli olduğu görülmektedir. Ancak PIM-SM için üçüncü kategori SA’ların
sayısının, yönlendiricilerin sayısına eşit olması dolayısıyla çok fazla güvenlik ilişkisi
kurulacağı unutulmamalıdır.
İncelemelerde, çok hedefli iletimin günümüzde çok geniş bir kullanım alanı
bulamadığı görülmüştür. Bunun en büyük nedeni, yapının tam olarak oturtulamamış
ve kullanılan protokoller üzerinde bir anlaşma sağlanamamış olmasıdır. Güvenlik söz
konusu olduğunda altyapının oturtulamamış olması, güvenlik çözümlerini de
etkilemiştir. Üretilen çözümler, devamlı değişen yapıtaşları nedeniyle pratik
sonuçlara dönüştürülememiştir. Çok hedefli iletimde, farklı yerlerde bulunan pek çok
sistem bir araya geldiği için, güvenlik mekanizmaları içerisinde oluşturulacak güven
dağılımının nasıl olacağı halen bir soru işaretidir.
Gelecekte, çok hedefli iletim ile ilgili güvenlik altyapısının bütün Internet’i
kapsayacak şekilde oluşturulması gerekmektedir. Küresel bir güvenlik mimarisi, en
üst seviyeden alt seviyelere kadar uzanmalı ve bu yapı içerisine dahil olan varlıkların
kimlikleri küresel olarak doğrulanabilmelidir. Organizasyonlar arası güvenilirlik
ancak bu şekilde sağlanabilir.
Çok hedefli iletim ile ilgili güvenlik sorunları küresel anlamda çözülmeden
teknolojinin ilerlemesi veya yaygınlaşması beklenmemektedir. Çalışmada,
günümüzde kullanılan yapının buna izin vermediği sonucuna varılmıştır.
214
KAYNAKLAR
[1] Deering, S., 1989. Host extensions for IP multicasting, RFC 1112, IETF.
[2] Vida, R., Costa, L., 2004. Multicast Listener Discovery Version 2 (MLDv2) for
IPv6, RFC 3810, IETF.
[3] Deering S., 1988. Multicast Routing in Internetworks and Extended LANs,
Doktora Tezi, Stanford Üniversitesi, California.
[4] Hardjono, T., Canetti, R., Baugher, M. ve Disnmore S., 1999. Secure IP
Multicast: Problem areas, Framework, and Building Blocks, draft-irtf-
smugframework-00.txt, IRTF.
[5] Wong, K. C. ve Lam, S. S., 1998. Digital Signatures for Flows and Multicasts,
IEEE ICNP’98.
[6] Canetti R., Rohatgi P. ve Cheng P., 2000. Multicast Data Security
Transformations: Requirements, Considerations, and Proposed
Design, IRTF, darft-irtg-smug-transforms-00.txt.
[7] Postel, J., 1981. Internet Protocol, RFC 791.
[8] Raynolds, J., 2002. Assigned Numbers: RFC 1700 is Replaced by an On-line
Database, RFC 3232, IETF.
[9] Postel, J., 1981. Internet Control Message Protocol - DARPA Internet Program
Protocol Specification, RFC 792.
[10] Deering, S., ve Cheriton, D., 1985. Host groups: A multicast extension to the
Internet Protocol, RFC 966, IETF.
[11] Deering, S., 1986. Host extensions for IP multicasting, RFC 988, IETF.
[12] Fenner, W., 1997. Internet Group Management Protocol, Version 2, RFC 2236,
IETF.
[13] Cain, B., Deering, S., Kouvelas, I., Fenner, B. ve Thyagarajan, A., 2002.
Internet Group Management Protocol, Version 3, RFC 3376, IETF.
[14] Katz, D., 1997. IP Router Alert Option, RFC 2113, IETF.
[15] Dalal, Y.K. ve Metcalfe, R. M., 1978. Reverse path forwarding of broadcast
packets, Communications of the ACM, 21(12), 1040-1048.
215
[16] Gilbert, E. N. ve Pollak, H. O., 1968. Steiner Minimal Trees, SIAM Journal on
Applied Mathematics, 16(1), 1-29.
[17] Karp, R. M., 1972. Reducing among combinatorial problems, Plennum Press,
New York.
[18] Meyer D., Scalable Approaches to IP Multicast, Oregon Universitesi – ANTC
[19] Adams, A., Nicholas, J., ve Siadak, W., 2005. Protocol Independent Multicast
– Dense Mode (PIM-DM): Protocol Specification (Revised), RFC
3973, IETF.
[20] Ballardie, A., 1997. Core Based Trees (CBT version 2) Multicast Routing --
Protocol Specification --, RFC 2189, IETF.
[21] Estrin, D., Farinacci, D., Helmy, A., Thale,r D., Deering, S., Handley, M,
Jacobson, V., Liu, C., Sharma, P. ve Wei, L., 1998. Protocol
Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification, RFC 2362, IETF.
[22] McQuillan, J. M., Richer, I., ve Rosen, D. C., 1980. The new routing
algorithm for he ARPANET, IEEE Transactions on Communications,
28(5), 711-719.
[23] Hendrik, C., 1998. Routing Information Protocol 2, RFC 2453, IETF.
[24] Boggs, D. R., Shoch, J. F., Taft, E. A. ve Metcalfe, R. M., 1980. PUP: an
internetwork architecture, IEEE Transactions on Communications,
28(4), 612-624.
[25] Waitzman, D., Partridge, C. ve Deering, S., 1988. Distance Vector Multicast
Routing Protocol, RFC 1075, IETF.
[26] Moy, J., 1998. OSPF Version 2, RFC 2328, IETF.
[27] Moy, J., 1994. Multicast Extensions to OSPF, RFC 1584, IETF.
[28] Rekhter, Y. ve Li, T., 1995. Borger Gateway Protocol 4 (BGP-4), RFC 1771,
IETF.
[29] Bates, T., Rekhter, Y., Chandra, R. ve Katz, D., 2000. Multiprotocol
Extensions for BGP-4, RFC 2858, IETF.
[30] Thaler D., 2004. Border Gateway Multicast Protocol (BGMP): Protocol
Specification, RFC 3913, IETF.
[31] Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering, S., Handley, M.,
Jacobson, V., Liu, C., Sharma, P. ve Wei, L., 1997. Protocol
216
Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification, RFC 2117, IETF.
[32] Fenner, B., Handley, M., Holbrook, H. ve Kouvelas, I., 2004. Protocol
Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification (Revised), draft-ietf-pim-sm-v2-new-11.ps, IETF.
[33] Fenner, W., Handley, M., Kermode, R. ve Thaler, D., Bootstrap Router
(BSR) Mechanism for PIM Sparse Mode, draft-ietf-pim-sm-bsr-03.txt.
[34] Thaler, D., 1999. Interoperability Rules for Multicast Routing Protocols, RFC
2715, IETF.
[35] Fenner, B. ve Meyer, D., 2003. Multicast Source Discovery Protocol (MSDP),
RFC 3618, IETF.
[36] Thaler, D., Handley, M., ve Estrin, D., 2000. The Internet Multicast Address
Allocation Architecture, RFC 2908, IETF.
[37] Meyer, D., 1998. Administratively Scoped IP Multicast, RFC 2365, IETF.
[38] Hanna, S., Patel, B. ve Shah, M., 1999. Multicast Address Dynamic Client
Allocation Protocol (MADCAP), RFC 2730, IETF.
[39] Handley, M., Thaler, D. ve Kermode, R., 2000. Multicast Scope Zone
Announcement Protocol, RFC 2276, IETF.
[40] Finlayson, R., 2000. Abstract API for Multicast Address Aloocation, RFC
2771, IETF.
[41] Handley, M. ve Hanna, S., 2000. Multicast Address Allocation Protocol
(AAP), raft-ietf-malloc-aap-04.txt, IETF.
[42] Estrin, D., Govindan, R., Handley, M., Kumar, S., Radoslavov, P. ve
Thaler, D., 2000. The Multicast Address-Set Claim (MASC)
Protocol, RFC 2909.
[43] Meyer, D. ve Lothberg, P., 2000. GLOP Addressing in 233/8, RFC 2770.
[44] Guttman, E., Perkins, C., Veizades, J. ve Day, M., 1999. Service Location
Protocol, Version 2, RFC 2608, IETF.
[45] Jacobson, V. ve Deering, S., 1994. Administratively Scoped IP Multicast, 30th
IETF Conference, Toronto, Canada.
[46] Meyer, D., ve Lothberg, P., 2001. GLOP Addressing in 223/8, RFC 3180,
IETF.
[47] Meyer, D., 2001. Extended Assignments in 233/8, RFC 3138, IETF.
217
[48] Bhattacharyya S., 2003, An Overview of Source-Specific Multicast (SSM),
RFC 3569, IETF.
[49] Vohra, Q. ve Chen, E., 2004. BGP Support for Four-octet AS Number Space,
draft-ietf-idr-as4bytes-08.txt, IETF.
[50] Haberman, B. ve Thaler D., 2002, Unicast-Prefix-based IPv6 Multicast
Addresses, RFC 3306, IETF.
[51] Almeroth, K., 2000. A long-term analysis of growth and usage patterns in the
Multicast Backbone (MBone), IEEE Infocom, Tel Aviv İsrail.
[52] Almeroth, K., 2000. The Evolution of Multicast: From the MBone to
Interdomain Multicast to Internet2 Deployment, IEEE Network, Ocak
– Şubat.
[53] Casner, S. ve Deering, S., 1992. First IETF Internet audiocast, ACM Computer
Communication Review, s. 92-97.
[54] Schulzrinne, H., Casner, S., Frederick, R. ve Jacobson, V., 2003. RTP: A
Transport Protocol for Real-Time Applications, RFC 3550, IETF.
[55] Farinacci, D., 1998. Multicast Source Discovery Protocol (MSDP), draft-
farinacci-msdp-*.txt, IETF.
[56] Mcbride, M., Meylor, J. ve Meyer, D., 2004 Multicast Source Discovery
Protocol (MSDP) Deployment Scenarios, draft-ietf-mboned-msdp-
deploy-06.txt, IETF.
[57] Postel, J., 1981. Transmission Control Protocol, RFC 0793, IETF.
[58] Ballardie, T., 1999. On Extending The Standart IP Multicast Architecture,
College Londra Teknik Raporu, RN/99/21.
[59] Holbrrok, H. ve Cheriton, D., 1999. IP Multicast Channels: EXPRESS
Support for LArge-Scale Single-Source Applications, ACM
SIGCOMM, Cambridge MA.
[60] Perlman, R., 1999. Simple Multicast: A Design of Simple: Low-Overhaed
Multicast, draft-perlman-simple-multicast-*.txt, IETF.
[61] LaMaster, H., 1999. Multicast Friendly Internet Exchange (MIX), dratf-ietf-
mboned-mix-*.txt, IETF.
[62] Internet2 WEB sitesi, www.internet2.edu.
[63] Cannetti, R. ve Pinkas, B., 2000. A taxonomy of multicast security issues
(updated version), draft-irtf-smug-taxonomy-01.txt, IRTF.
218
[64] Hardjono, T., Cain, B. ve Doraswamy, N., 2000. A Framework for Group Key
Management for Multicast Security, draft-ietf-ipsec-gkmframework-
03.txt, IETF.
[65] Chaum, D., 1981. Untraceable Electronic Mail, Return Address, and Digital
Pseudonyms, Communications of the ACM, 24(2).
[66] Chaum, D., 1990. Showing Credentials Without Identification: Transferring
Signatures Between Unconditional Unlinkable Pseudonyms,
AUSCRYPT, Sidney.
[67] Ohta, K. ve Koyama, K., 1987. Identity-Based Conference Key Distribution
Systems, Kriptolojide Gelişmeler – CRYPTO, LNCS 293, Santa
Barbara, CA, Ağustos, s.175-184.
[68] Harkins D. ve Carrel D., 1998. The Internet Key Exchange (IKE), RFC 2409,
IETF.
[69] Orman, H., 1998. The OAKLEY Key Determination Protocol, RFC 2412,
IETF.
[70] Maughan, D., Schertler, M., Schneider, M. ve Turner J., 1998. Internet
Security Association and Key Management Protocol (ISAKMP), RFC
2408, IETF.
[71] Piper, D., 1998. The Internet IP Security Domain of Interpretation for
ISAKMP, RFC 2407, IETF.
[72] Karn, P. ve Simpson, W., 1999. Photuris: Session Key Management Protocol,
RFC 2522, IETF.
[73] Wallaner D., Harder E. ve Agee R., 1999. Key Management for Multicast:
Issues and Architectures, RFC 2627, IETF.
[74] Harney, H., Baugher, M. ve Hardjono, T., 2001. GKM Building Block:
Group Security Association (GSA) Definition, draft-irtf-smug-gkmbb-
gsadef-01.txt, IRTF.
[75] Kent, S. ve Atkinson, R., 1998. Security Architecture for the Internet Protocol,
RFC 2401, IETF.
[76] Harney, H. ve Muckenhirnm, C., 1997. Group Key Management Protocol
(GKMP) Architecture, RFC 2094, IETF.
[77] Balenson D., Mcgrew D. ve Sherman A., 1999. Key Management for Large
Dynamic Groups: One-Way Function Trees and Amortized
Initialization, draft-balenson-groupkeymgmt-oft-00.txt, IETF.
219
[78] Balenson D., Mcgrew D. ve Sherman A., 1999. Key Management for Large
Dynamic Groups: One-Way Function Trees and Amortized
Initialization, draft-balenson-groupkeymgmt-oft-00.txt, IETF.
[79] Harney, H. ve Harder, E., 1999. Group Secure Association Key Management
Protocol, draft-harney-sparta-gsakmp-sec-00.txt, IETF.
[80] Briscoe, B. ve Fairman, I., 1999. NARK: Receiver-based Multicast Non-
repudiation and Key Management, ACM E-ticaret.
[81] Briscoe, B., 1999. MARKS: Zero Side Effect Multicast Key Management using
Arbitrarily Revealed Key Sequences, NGC.
[82] Wong, K. C. ve Lam, S. S., 1998. Digital Signatures for Flows and Multicasts,
IEEE ICNP’98.
[83] Hardjono, T., Cain, B. ve Monga I., 2000. Intra-domain Group Key
Management Protocol, darft-ietf-ipsec-intragkm-03.txt, IETF.
[84] Mittra, S., 1997. Iolus: A Framework for Scalable Secure Multicasting, ACM
SIGCOMM, Fransa, s. 277-288.
[85] Setia, S., 2000. Kronos: A Scalable Rekeying Approach for Secure Multicast,
Proc of IEEE Symposium on Security and Privacy, Oakland, Amerika.
[86] Yang, Y. R., 2001. Reliable Group Keying: Design and Performance Analysis
Proc of ACM SIGCOMM, San Diego, Amerika.
[87] Chang, I., 1999. Key Management for Secure Internet Multicast Using
Boolean Function Minimization Techniques, Proc of IEEE
INFOCOM, New York, Amerika.
[88] Zhang, X. B., 2001. Protocol Design for Scalable and Reliable Group
Rekeying, Proc of SPIE Conference on Scalability and Traffic Control
in IP Networks, Denver, Amerika.
[89] Wong, C., Gouda, M. ve Lam, S. S., 2000. Secure Group Communication
Using Key Graphs, IEEE/ACM Tans. On Networking, 8(1), s.16-30.
[90] Steiner, G. J., Neuman, C. ve Schiller, J. I., 1988. Kerberos: An
Authentication Service for Open Network Systems, USENIX Winter
Conference, s. 191-202.
[91] Rivest, R., 1992. The MD5 Message digest Algorithm, RFC 1321, IETF.
[92] Canetti, R., 1999. Multicast Security: A Taxonomy and Efficient Constructions,
IEEE INFOCOM, New York, Amerika.
220
[93] Blum, M. ve Micali S., 1984. How to Generate Cryptographically Strong
Sequences of Pseudo-Random Bits, SIAM Jurnali, 13(4).
[94] Lakshminath, D., Mukherjee S. ve Samal A., 1999. Survey and Comparison
of Secure Group Communication Protocols, Bilgisayar Bilimleri
Anabilim Dalı, Maryland Üniversitesi.
[95] Gennaro, R. ve Rohatgi P., 1997. How to Sign Digital Streams, Crypto ’97,
Springer Verlag LNCS, s. 180-197.
[96] Rohatgi, P., 1999. A compact and Fast Signature Scheme for Multicast Packet
Authentication, 6th ACM Computer and Communications Security
Conference (CCS).
[97] Cheung S., 1997. An Efficient Message Authentication Scheme for Link State
Routing, Proceedings of the 13th Annual Computer Security
Applications Conference, Amerika, s. 90-98.
[98] Perrig, A., Canetti, R., Tygar, D. ve Song, D., 2000. Efficient Authantication
and Signature of Multicast Streams Over Lossy Channels, IEEE
Syposium on Security and Privacy, Amerika.
[99] Golle, P. ve Modadugu, N., 2001. Authenticating Streamed Data in the
Presence of Random Packet Loss, Proceedings of Network ve
Distributed system Security Symposium (NDSS), Amerika, , s. 13-22.
[100] Paxson, V., 1999"End-to-End Internet Packet Dynamics, IEEE/ACM
Transactions on Networking, 7(3), s. 277-292.
[101] 13818, Information Technology – Generic Coding of Moving Pictures and
Associated Audio Information, ISO/ISEC Ulusal Standardı, Bölüm 1-
9.
[102] Miner S. ve Staddon J., 2001. Graph Based Authentication of Digital
Streams, Proc. of IEEE Symposium on Security and Privacy, Amerika,
s. 232-246.
[103] Chor, B., Fiat, A., Naor, M. ve Pinkas, B., 2000. Tracing Traitors, IEEE
Transactions on Information Theory, 46(3).
[104] Boneh D. ve Franklin M. K., 1999. An Efficient Public Key Traitor Tracing
Scheme, CRYPTO, s. 338-353
[105] Petitcolas, F. A.. P., Anderson, J. R. ve Kuhn M. G., Information Hiding – A
Survey, Proc of IEEE, Special Issue on Protection of Multimedia
Content, 87(7), 1999, s. 1062-1078.
221
[106] Naor, M. ve Pinkas, B., 2000. Efficient Trace And Revoke Schemes, Proc. of
Financial Crypto, Angola.
[107] Cox, I., Kilian, J., Leighton, T. ve Shamoon, T., 1996. A Secure, Robust
Watermark for Multimedia, Information Hiding Workshop, İngiltere,
s. 185-206.
[108] Boneh, D. ve Shaw, D., 1998. Collusion Secure Fingerprinting for Digital
Date”, IEEE Trans on Information Theory, 44(5), s. 897-1095.
[109] Dwork, C., Lotspiech J. ve Naor M., 1996. Digital Signets: Self-Encoding
Protection of Digital Information, 28th Symposium on the Theory of
Computation, s. 489-498.
[110] McDaniel, P., Harney, H., Dinsmore, P. ve Prakash A., 2000. Multicast
Security Policy, draft-irtf-smug-mcast-policy-01.txt, IRTF.
[111] Mullender, S., 1993. Distributed Systems, Addison-Wesley, Birinci baskı.
[112] Mcdaniel, P. ve Prakash, A., 2000. Ismene: Provisioning and Policy
Reconcilation in Secure Group Communication, CSE-TR-438-00
Teknik Raporu, EECS, Micgihan Üniversitesi.
[113] Balenson, D., 1999. DCCM Cryptographic Context Negotiation Template, TIS
0745-2 Teknik Raporu, TIS Laboratuarları.
[114] Hardjono, T., 2001. Group Security Policy Token, draft-ietf-msec-gspt-02.txt,
IETF.
[115] Balenson, D., 1999. DCCM Architecture and System Design, TIS 0709 Teknik
Raporu, TIB Laboratuarları.
[116] Rigney C., Rubens A., Simpson W. ve Willens S., 1997. Remote
Authentication Dial In User Service (RADIUS), RFC 2138, IETF.
[117] Hardjono, T. ve Cain B., 2000. Key Establishment for IGMP Authentication
in IP Multicast, Proc. of the 1st IEEE European Conference on
Universal Multiservice Networks (ECUMN 2000), Fransa.
[118] He, H., Hardjono, T. ve Cain, B., 2001. Simple Multicast Receiver Access
Control, draft-irtf-gsec-smrac-00.txt, IRTF.
[119] Ishikawa N., Yamanouchi N. ve Takahashi O., 1998. IGMP Extensions for
Authentication of IP Multicast Senders and Receivers, draft-ishikawa-
igmp-auth-01.txt, IETF.
222
[120] Hardjono, T., 2000. Router-Assistance for Receiver Access Control in PIM-
SM, Proc. of IEEE International Symposium on Computer
Communications (ISCC), Fransa.
[121] Judge, P. ve Ammar, M., 2002. Gothic: A Group Access Control Architecture
for Secure Multicast and Anycast, Proc. of IEEE INFOCOM, New
York.
[122] Wei, L., 1999. Authenticating PIM Version 2 Messages, draft-ietf-pim-v2-
auth-01.txt, IETF.
[123] Hardjono, T. ve Cain B., 2000. Simple Key Management Protocol for PIM,
draftietf-pim-simplekmp-01 txt, IETF.
223
ÖZGEÇMĠġ
Sinan İlkiz, 1980 yılında Bandırma’da doğdu.
Orta okul ve lise öğrenimini İstanbul’da tamamladı.
2002 yılında İ.T.Ü. Elektronik ve Haberleşme Mühendisliği lisans programından
mezun oldu ve aynı yıl Telekomünikasyon Mühendisliği yüksek lisans programına
girdi.
2000 – 2004 yılları arasında Doğuş Yayın Grubu’nda (NTV & CNBC-e televizyon
kanalları) Şebeke ve Güvenlik Uzmanı olarak çalıştı.
2004 yılı sonundan itibaren Borusan Telekom ve İletişim Hizmetleri’nde Şebeke
Mühendisi olarak çalışıyor.