• Sonuç bulunamadı

5. BLUETOOTH GÜVENLİK MİMARİSİ

5.3 Gereksinimleri Karşılayacak Güvenlik Mimarisi

5.3.1 Genel Bakış

Güvenlik mimari yapısı ġekil 5.1 de gösterilmiĢtir. Mimarinin ana bileĢeni aĢağıdaki görevleri yerine getiren güvenlik yöneticisidir:

 Servisler üzerinde güvenlikle ilgili bilgileri saklar.

 Cihazlar üzerinde güvenlikle ilgili bilgileri saklar.

 EriĢim isteklerine cevap verir (red veya onay).

 Uygulamaya baĢlanmadan önce doğrulama ve/veya Ģifreleme iĢlevlerini yerine getirir.

 Cihaz katmanında güvenli bir bağlantı baĢlatmak için Harici Güvenlik Kontrol Birimi (ESCE) (örneğin cihaz kullanıcısı) giriĢini baĢlatır veya proses eder.

 Çiftlemeyi ve kullanıcı tarafından girilen sorgulama PIN ini baĢlatır. PIN giriĢi uygulama tarafından da yapılabilir.

Güvenlik mimarisi çok esnek bir güvenlik çalıĢma yöntemi (framework) sunmaktadır. Bu çalıĢma yöntemi (framework) ile kullanıcının ne zaman sürece dahil olacağı (PIN gireceği) ve istenen güvenlik kontrolleri için Bluetooth protokol katmanlarının nasıl bir yol izleyeceği anlatılmaktadır.

Merkezi güvenlik yöneticisi ile modellenen yapı ile esnek eriĢim politikaları uygulanabilmektedir. Protokol ve diğer birimler için varolan arayüzler basit tutulmuĢ ve sorgu/sonuç ve kayıt prosesleri ile kısıtlandırılmıĢtır. EriĢim kontrolü için gerekli olan politikalar güvenlik yöneticisi içinde düĢünülmektedir. Böylelikle, daha kompleks politikaların uygulanması diğer birimleri etkilemez.

Uygulamalar, kayıt görevini kimin yapacağına (örneğin uygulamanın kendisi veya bir genel yönetim birimi) karar verir, protokol yığınında izlenecek yolu (path) tanımlar ve/veya servis keĢif kısmında servisleri kaydeder.

ġekil 5.1 Bluetooth güvenlik mimarisi 5.3.2 Güvenlik Kademeleri

5.3.2.1 Doğrulama ve Yetkilendirme

Doğrulama bağlantı linkinin diğer ucundaki kiĢinin kim olduğunun doğrulanması prosesidir. Cihazlar (BD_ADDR) için uygulanır. Bluetooth da saklı link anahtarı veya çiftleme (PIN girerek) üzerine kurulmuĢ doğrulama prosedürü ile gerçekleĢtirilir.

Yetkilendirme cihaz X in servis Y ye eriĢim izni olup olmadığına karar verilmesi sürecidir. Bu süreç “güvenilirlik” kavramı ile iç içe geçmiĢtir. Güvenilen cihazlara (doğrulanmıĢ ve güvenilen olarak tanımlanmıĢ) servislere eriĢim için izin verilir. Güvenilen olmayan veya bilinmeyen cihazlardan servislere eriĢim öncesinde kullanıcı etkileĢimine dayalı olarak yetkilendirme istenir. Yetkilendirme bazen otomatik olarak bir uygulama tarafından da yapılabilir. Yetkilendirme her zaman doğrulamayı içerir.

5.3.2.2 Cihaz Güvenlik Derecesi Üç farklı cihaz güvenlik derecesi vardır:

Güvenilen cihaz: Daha önceden doğrulanmıĢ, bir bağlantı anahtarı saklanmıĢ ve cihaz veri tabanında “güvenilen” olarak belirlenmiĢ cihazdır.

Güvenilmeyen cihaz: Daha önceden doğrulanmıĢ, bir bağlantı anahtarı saklanmıĢ fakat cihaz veri tabanında “güvenilen” olarak belirlenmemiĢ cihazdır.

Bilinmeyen cihaz: Hakkında hiçbir güvenlik bilgisi olmayan cihazdır. Bu tip bir cihaz aynı zamanda güvenilmeyen bir cihazdır.

Güvenlik yöneticisinde tutulan bir veri tabanı tablosu bulunmaktadır. Bu veri tabanı tüm servisler için birlikte tutulabileceği gibi, her servis için ya da bir grup servis için ayrı ayrı tutulabilir.

Güvenilen cihazların doğrulanması

LMP ve temelbant özelliklerinde tanımlanan doğrulama prosedürü kullanılarak doğrulama yapılır. Pozitif bir doğrulama cevabı alınırsa ve güvenilen bayrağı iĢaretlenirse (set edilirse) cihaz “güvenilen” olarak doğrulanır.

Güvenilir bağlantının kurulması

Güvenli bir bağlantı çiftlee prosedürü esnasında kurulur. Genellikle bağlanma prosedürü kısmında gerçekleĢtirilir.

Güvenilmeyen bir cihaz bir servisi kullanmak üzere yetkilendirildiğinde cihazı aynı prosedür esnasında güvenilen cihazlar arasına dahil etmek de mümkündür. Bu iĢlemin yapılabilmesi için kullanıcının aktif seçimi gerekmektedir.

Güvenilmeyen cihazın doğrulanması

Güvenilmeyen cihazların doğrulanması güvenilen cihazlarda olduğu gibi yapılır. Yalnız cihaz veri tabanına güvenilen olarak iĢlenmez.

5.3.2.3 Servislerin Güvenlik Dereceleri

Bir servisin güvenlik derecesini karakterize eden 3 unsur vardır:

Yetkilendirme İstemi: EriĢim sadece güvenilen cihazlara veya yetkilendirme sonrasında güvenilmeyen cihazlara sağlanır.

Uzak cihazın doğru cihaz olup olmadığının anlaĢılması için yetkilendirme daima doğrulama ister.

Doğrulama İstemi: Uygulamaya baĢlanmadan önce uzak cihaz mutlaka doğrulanmalıdır.

Şifreleme İstemi: Servise eriĢim baĢlamadan önce bağlantı linki ĢifrelenmiĢ moda çevrilmelidir.

Bilgi; güvenlik yöneticisinin servis veri tabanında tutulur.

Herhangi bir kayıt mekanizması yoksa, varsayılan bir güvenlik derecesi kullanılır. ġöyle ki:

 Gelen bağlantı isteği: Yetkilendirme ve doğrulama istenir.

 Giden bağlantı isteği: Doğrulama istenir. 5.3.3 Bağlantı Kurulum Prosedürü

5.3.3.1 Genel Kavramlar

Kullanıcı müdahalesi olmadan servislerin değiĢik isteklerini karĢılamak için, önce istenen servisin güvenlik derecesi belirlenmeli sonrasında ise doğrulama sağlanmalıdır. Bu sebeple ACL linki kurulduğunda doğrulama sağlanamaz. Doğrulama bir servise bağlantı talebi alındığında gerçekleĢir.

ġekil 5.2 güvenilir bir servise eriĢim için olması gereken bilgi akıĢını göstermektedir.

Güvenilir servise eriĢim için Ģu prosedürler gerçekleĢtirilir: 1. L2CAP a bağlantı isteği gelir.

2. L2CAP güvenlik yöneticisinden eriĢim talep eder. 3. Güvenlik yöneticisi servis veri tabanını kontrol eder. 4. Güvenlik yöneticisi cihaz veri tabanını kontrol eder.

5. Eğer gerekli görülürse güvenlik yöneticisi doğrulama ve Ģifreleme yapılmasını ister.

6. Güvenlik yöneticisi eriĢime izin verir. 7. L2CAP bağlantıyı kurmaya devam eder.

Doğrulama iki yönde de olabilir, istemci sunucuyu ya da sunucu istemciyi doğrulayabilir.

5.3.3.2 Temelbant Bağlantı Linki Kurulumunda Doğrulama

Güvenlik modu 3 hedeflenmemesine rağmen, bu yapı 3. modu da destekler. Güvenlik yöneticisi HCI kullanarak bir temelbant eriĢiminin sağlanmasından önce bağlantı yöneticisinin doğrulama istemesini sağlayabilir. Farklı modlar paralel olarak yürütülebilir:

 Temelbant bağlantısında doğrulama

 Uygulamalara bağlanırken doğrulama

Bu iki proses aynı anda yürüyemeyeceği için, eğer her ikisi de uygulanacaksa hangisine öncelik verileceğine karar verilmelidir. Mod2 den Mod3 e geçiĢ sağlanmadan önce güvenilmeyen cihazların istenmeyen eriĢimler yapmayacağından emin olunmalıdır. Bunu yapabilmek için, güvenlik yöneticisi radyo modülünde güvenilmeyen cihazlar için tutulan bağlantı anahtarlarını kaldırır. Güvenlik yöneticisi HCI da kullanabilir.

5.3.3.3 Protokol Yığını İşlenmesi

Gelen bağlantılar için ġekil 5.3 de açıklanan eriĢim kontrol prosedürü uygulanır. EriĢim kontrolü L2CAP da ve bazı durumlarda da buna ek olarak L2CAP’ın üzerindeki çoğullama (multiplexing) protokollerinde (örneğin RFCOMM gibi) istenir. Bağlantı talebi geldiğinde protokol, güvenlik yöneticisini sorgular ve bağlantı

istemiyle birlikte herhangi bir çoğullama (multiplexing) bilgisi alıp almadığını da bildirir. Güvenlik yöneticisi eriĢim talebine “tamam” veya “red” cevabı verir ve protokole bilgi verir. EriĢim hakkı tanınmıĢsa, bağlantı prosedürleri izlenir. EriĢim reddedilmiĢse bağlantı sonlandırılır.

Eğer protokol katmanında eriĢim kontrolü yapılmazsa, güvenlik yöneticisi ile veya diğer birimlerle herhangi bir etkileĢim olmaz.

ġekil 5.3 Gelen bağlantılar için protokollerin davranıĢı

Bu modelde güvenlik yöneticisine iki sorgulama (fonksiyon çağrımı) yapılmaktadır. Güvenlik yöneticisi mevcut doğrulamalara iliĢkin bilgiyi de tutabilir. Böylelikle LMP katmanı (örneğin hava) üzerinde aynı oturumda birden fazla doğrulama prosedürü yürütülmez.

RFCOMM güvenlik yöneticisine bir ilke (policy) kontrol çağrısında bulunur. Bu fazladan bir fonksiyon gerektirir fakat fazladan bir doğrulama gerektirmez.

Giden bağlantılarda karĢılıklı doğrulama (yetkilendirme çoğu durumda yararlı olmaz) yapılması için bir güvenlik kontrolü istenebilir. Giden bağlantılarda da gelenlere benzer bir prosedür uygulanır. En doğru yol hiç Ģüphesiz ki, uygulamanın güvenlik yöneticisi ile direkt temasa geçip talepleri göndermesidir. Bunun mümkün olmadığı durumlarda (örneğin bilinen mevcut uygulamalar) güvenlik yöneticisine yapılan sorgulamalar baĢtan sona çoğullama (multiplexing) protokolleri ile gönderilir (ġekil 5.4).

ġekil 5.4 Giden bağlantılar için protokollerin davranıĢı 5.3.3.4 Kayıt Prosedürleri

Bölüm 5.3.1 de belirtildiği gibi güvenlik yöneticisi güvenlik veri tabanlarındaki servisler için gereken güvenlik bilgisini sağlar. Uygulamalar eriĢilebilir olmadan önce güvenlik yöneticisine kayıt olmalıdır (ġekil 5.5).

Uygulamalar ya da uygulamaların güvenlik birimleri güvenlik kademelerini ve çoğullama (multiplexing) bilgilerini hazır bulundurmak durumundadırlar. (Bu konu güvenlik yöneticisinin bir protokol birimi tarafından bildirilen bir talep üzerine karar verebilmesi için gereklidir. Ġstekte bulunan protokol birimi çoğu durumda sonuç uygulama hakkında bilgi sahibi olmaz.)

Çoğullama (multiplexing) protokol iĢlemleri güvenlik yöneticisine sorgulama yaparlar.

Ġki kayıt da Bluetooth protokol yığınında izlenecek yok (path) tanımlamasından sorumlu olan birim tarafından yapılabilir. Hangi birimin kayıt iĢlemini yaptığı, yürütmeden bağımsızdır.

Hiçbir kayıt yapılmamıĢsa, güvenlik yöneticisi bölüm 5.3.2.3 de incelendiği gibi karar vermek için varsayılan güvenlik derecesini dikkate alır.

L2CAP burada kayıt istemez. L2CAP Bluetooth yığınındaki ilk çoğullama (multiplexing) protokolüdür ve her bağlantı talebi için bir sorgulama olacaktır. 5.3.3.5 Harici Anahtar Yönetimi

Bu yapı harici anahtar yönetim prosedürlerini hariç tutmaz. Anahtar yönetim uygulamaları PIN leri veya bağlantı linki anahtarlarını direkt olarak dağıtabilirler. Bu durumda Bluetooth uyumlu cihazların uygun etkileĢimlerini sağlamak üzere ilerlenmelidir.