TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği Osman Korkutan
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği İçerik Duyarga Ağlarında Güvenlik Açıkları Güvenlikte Şifreleme Kullanımı Veri Bağı Katmanı Güvenliği TinySec ve Çalışma Kipleri MAC ve IV Kullanımı Şifreleme Yöntemleri ve Çalışma Kipleri Asıllama ve Analizleri Anahtar Kullanım Kipleri Paket Yapıları Performans Değerlendirme Sonuçlar 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Duyarga Ağlarında Güvenlik Açıkları Doğası gereği açık, herhangi bir düğümün katılabileceği, yayın ortam Dikkatli kullanılması gereken, kısıtlı kaynaklar 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Güvenlikte Şifreleme Kullanımı Şifreleme, kullanıldığı sisteme ek yük getirir: Daha fazla paket uzunluğu Daha fazla kaynak tüketimi (örn ek işlemci zamanı, ek oku/yaz bellek alanı) Daha yavaş çalışma Duyarga ağlarında ise kaynaklar çok kısıtlıdır: Kısıtlı enerji seviyeleri Kısıtlı sistem kaynakları Küçük paket boyları (Şifreleme için kullanılacak örn 8 sekizli tüm paket boyunun %25 ine eşit) Tüm bunlara rağmen güvenlikten taviz verilmemeli! 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Veri Bağı Katmanı Güvenliği Bir veri bağı katmanı güvenlik protokolü üç temel güvenlik ihtiyacını karşılayabilmelidir: Erişim kontrolü ve mesaj bütünlüğü Gizlilik Tekrarlama saldırılarını önleyebilme 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği 2004 - Berkeley Üniversitesi Berkeley TinyOS ile uyumlu Temel Amaçlar : Erişim Kontrolü Mesaj Bütünlüğü Gizlilik Kullanım Kolaylığı 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec Çalışma Kipleri İki farklı çalışma kipi : Asıllama (TinySec-Auth) : Paketin tamamı bir Mesaj Asıllama Kodu (MAC) ile asıllanır, ancak veri şifrelenmez. Asıllanmış Şifreleme (TinySec-AE) : Veri şifrelenir ve bir MAC ile paket asıllanır. MAC, şifrelenmiş veri ve paket başlığı üzerinden hesaplanır. 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Mesaj Asıllama Kodu (MAC) Alıcılar ve göndericiler arasında paylaşılan gizli anahtarlar vardır (EK) Gizli anahtar ile gönderici bir Mesaj Asıllama Kodu (MAC) hesaplar ve mesaja ekler Aynı gizli anahtarı bilen alıcı bu anahtarla aldığı mesajdan MAC üretir. Eğer kod mesajdaki ile aynı ise mesajı işler, yoksa mesajı atar 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Başlangıç Vektörü (IV) Şifreleme algoritmalarından aynı açık metni iki kez şifrelediklerinde farklı iki şifreli metin üretmeleri istenir Algoritma her çalıştırıldığında, şifrelemede kullanılan bir vektörü (IV) değiştirmek bunu sağlar Çoğu algoritmada IV gizlenmez, çünkü alıcı mesajı açarken bu vektörü kullanmalıdır. IV uzarsa, paket boyu ve yük artar. IV kısalırsa aynı IV’nin tekrarlanma sıklığı artar (2n+1, n : IV boyu) 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Başlangıç Vektörü Biçimi Dst AM L Src Ctr Dst : Varış adresi AM : Aktif mesaj dinleyicisi tipi (TCP kapı numaraları benzeri) L : Gönderilecek verinin boyu Src : Kaynak adresi Ctr : 16 bit boyunda bir sayaç (IV tekrar sıklığını görebilmek için, alıcı da bilebilmeli) 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği Şifreleme Kipi Başlangıç Vektörü olarak 8 sekizli uzunluklu özel bir vektör formatı seçilmiştir Şifreleme algoritması olarak blok şifreleyiciler (SkipJack, RC5) tercih edilmiştir Blok şifreleyici çalışma kipi olarak da Şifre Blok Zincirlemesi (CBC) seçilmiştir 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Akış ve Blok Şifreleyiciler Akış şifreleyiciler blok şifreleyicilere göre genelde hızlıdır Ancak akış şifreleyicilerde aynı IV kullanarak şifrelenmiş iki metin ele geçirildiğinde, açık metinlerin elde edilmesi şansı vardır Aynı IV nin tekrar kullanılmaması için uzunluk çok artırılmalıdır (örn 8 sekizli), ancak paket yükü çok artacağı için bu tercih edilmez. MAC algoritmaları blok şifreleyici kullanır. Şifreleme için de aynı blok şifreleyiciyi kullanmak kod kazancı da sağlar 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
CBC: Blok Şifreleyici Çalışma Kipi Blok şifreleyici çalışma kipi olarak CBC seçilmesinin sebepleri: CBC kipinde IV lerin tekrar kullanıldığı durumlarda şifre kırıcılar fazla bilgi elde edemez Eğer artımsal IV kullanılırsa (örn IV’ = IV+1), CBC kipi bilgi sızdırır Bir eklenti ile bu sorun giderilmiş, basit bir önşifreleme ile IV ler başkalaştılmıştır 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği CBC Kipi Şifreleme IV m2 m1 c1 c2 Ek CBC-Kipi 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
CBC Kipinde Şifreli Metin Çalma Blok şifreleyici kullanımı şifreli metnin 8 sekizlinin katları uzunluğunda olması ile sonuçlanır Şifreli Metin Çalma yöntemi ile şifreli metnin asıl metinle aynı boyda olması sağlanır, böylelikle fazladan veri gönderilerek performans kaybedilmez 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Asıllamanın Gerekliliği Şifrelenmiş metnin ayrıca asıllanması tercih edilir : Araya giren biri paket yapısında değişiklik yaparsa, alıcı bunu anlamalıdır Asıllanmamış paketler kopyala-yapıştır saldırılarına açıktır Bu açıkları kapatmak için TinySec’de asıllama zorunludur, şifreleme isteğe bağlıdır TinySec, MAC oluşturmak ve yorumlamak için CBC-MAC Şifre Blok Zincirlemesi kullanır 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği Asıllama Analizi Diğer protokollerde genelde 8-16 sekizlik MAC kullanılmaktadır Duyarga ağlarına uygun değil, 4 sekizlik daha uygun Saldırgan en fazla 232 denemede kesin olarak kodu ele geçirir (ortalama 216 deneme sonunda) Duyarga ağlarının düşük bant genişliği sayesinde bu sorun olmaktan çıkar (19.2 kb/s için 231 deneme 20 ay sürer) 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği Asıllama Kodu Üretimi m1 m2 Uzunluk Ek Ek Ek MAC CBC-MAC Kipi 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Anahtar Kullanım Kipleri Ağ-Paylaşımlı Anahtar : Tüm ağdaki düğümler tarafından kullanılan ortak anahtar Bağlantı Anahtarı : İki düğüm haberleşeceği zaman üzerinde anlaştıkları anahtar (oturum anahtarı gibi) Grup Anahtarı : Yakın düğümlerin kullandığı, daha çok yerel yayınlara ihtiyaç duyulan durumlarda kullanılan anahtar 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Anahtar Kullanım Kipleri Kipi Güçlü yönleri Zayıf Yönleri Ağ-Paylaşım Anahtarı Basit, uygulaması kolay, pasif katılım ve yerel yayın imkanı Düğümlerin uzaklaşmasına duyarlı Bağlantı Anahtarı Düğümlerin uzaklaşmasından etkilenmez Anahtar dağıtım sorunu, pasif katılım ve yerel yayın kısıtlamları Grup Anahtarı Düğümlerin uzaklaşmasına hassas değil, pasif katılım ve yerel yayın imkanı Anahtar dağıtım sorunu, düğüm uzaklaşmasını kotarmak ek maliyet 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec Paket Yapıları İki çalışma kipi paket yapısında ortak olan Varış Adresi, AM ve Uzunluk bilgileri şifrelenmez. Düğüm paketi alır, kendisine gelmediyse hemen atar (Erken Ret) CRC temel seviyede bir veri bütünlüğü sağlamakla birlikte, paket içeriğine kötü niyetli müdahaleleri ortaya çıkaramaz. Bu yüzden CRC atılmış, yerine MAC kullanılmıştır MAC tüm paketten elde edilmesi sayesinde hem veri bütünlüğü ve asıllamayı, hem de iletim bozulmalarını sezmeyi sağlar 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec Paket Yapıları 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Performans Değerlendirme TinySec, gerek paket gecikmeleri, gerek enerji tüketimi açısından büyük performans kayıplarına sebep olmaz 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
Performans Değerlendirme 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği Sonuçlar TinySec’in sağlayabildikleri : Erişim Kontrolü Mesaj Bütünlüğü Gizlilik Kullanım kolaylığı (Birkaç satır kod ile etkinleştirme) Sağlayamadıkları : Kaynak Tüketme Saldırıları Fiziksel Saldırı Dayanıklılığı Düğüm Ele Geçirme Saldırıları 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği
TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği Kaynakça Chris Karlof, Naveen Sastry, David Wagner, “TinySec: A Link Layer Security Architecture Wireless Sensor Networks”, SenSys’04, November 3–5, 2004, Baltimore, Maryland, USA. David Wagner, “Security for Sensor Networks: Cryptography and Beyond”, University of California at Berkeley, www.cs.berkeley.edu/~daw/talks/SASN03.ppt Fei Hu, Jim Ziobro, Jason Tillett, Neeraj K. Sharma “Secure Wireless Sensor Networks: Problems and Solutions”, http://www.ce.rit.edu/~fxheec/security/hu.pdf 12/9/2018 TinySec : Duyarga Ağları için Veri Bağı Katmanı Güvenliği