Elektronik Kriptanaliz Yan Kanal SaldrsSide Channel Attack Tanm

  • Slides: 20
Download presentation
Elektronik Kriptanaliz – Yan Kanal Saldırısı(Side Channel Attack) • Tanım • Saldırı Yöntemleri –

Elektronik Kriptanaliz – Yan Kanal Saldırısı(Side Channel Attack) • Tanım • Saldırı Yöntemleri – – Zamanlama Saldırısı (Timing Attack) Güç Analizi Saldırısı (Power Analysis Attack) Hatadan çıkarsama (Fault Induction Attack) Diğer Saldırılar • Önlemler • Referanslar

Yan Kanal Saldırısı Kriptografi Klasik Matematiksel- İstatistiksel Yan Kanal Saldırıları • Klasik – Matematiksel

Yan Kanal Saldırısı Kriptografi Klasik Matematiksel- İstatistiksel Yan Kanal Saldırıları • Klasik – Matematiksel bir işlem – Genelde parametre olarak anahtar – Girdileri çıktılara çevirmek • Yan Kanal – Bir Program – Bir işlemci üzerinde, Belli bir ortamda – Fiziksel

Yan Kanal Saldırısı -2 • Genelde Klasik Kriptanalizden çok daha güçlü bir yöntemdir •

Yan Kanal Saldırısı -2 • Genelde Klasik Kriptanalizden çok daha güçlü bir yöntemdir • Genel değildir, Algoritmaya veya algoritmanın işlediği ortama göre özel olarak tasarlanır • Tamamen engelleyen bir koruma mevcut değil, önlemler sadece zorlaştırıcı • Algoritma geliştiricileri en çok uğraştıran saldırı türü • Hedefler genelde fiziksel erişimin olduğu elektronik cihazlar

Yan Kanal Saldırısı –Smart Card İşlemcisi olan bir bilgisayar – ROM – Küçük boyutlu

Yan Kanal Saldırısı –Smart Card İşlemcisi olan bir bilgisayar – ROM – Küçük boyutlu RAM • Amaç – İçindeki gizli anahtarı açığa çıkarmadan kriptografik işlemleri gerçekleştirmek • Bir Bilgisayara göre eksikleri – Güç Kaynağı » Enerjiyi Card Reader’dan elde eder » Harcadığı enerjiyi hesaplamak basit – Sistem Saati » Card Reader tarafından sağlanır » İşlemlerin yürütme zamanı çok net hesaplanabilir • Koruma Katmanı - Passivation Layer

Yan Kanal Saldırısı Çeşitleri Side Channel Invasive Non-Invasive • Invasive – Direkt olarak fiziksel

Yan Kanal Saldırısı Çeşitleri Side Channel Invasive Non-Invasive • Invasive – Direkt olarak fiziksel bileşenlere erişim – Ör: Data bus’a bir kablo üzerinden erişim • Non-Invasive – Ör: İşlem süresi, Harcanan enerji miktarı vb. • Semi-Invasive – Passivation Layer’a zarar vermeden ve fiziksel bağlantı kurmadan veri hattındaki yada bellekteki verileri okuma

Yan Kanal Saldırısı – Olası Hedefler - Tamper Resistant Devices (Tahribe karşı önlemli cihazlar)

Yan Kanal Saldırısı – Olası Hedefler - Tamper Resistant Devices (Tahribe karşı önlemli cihazlar) - Geri Mühendislik yapmak zor - Ör: Smart Cards, ATM, TV Decoder, Şifreli Telsizler vb.

Saldırı Yöntemleri – Zamanlama Saldırısı • Kriptografik algoritmanın ne kadar sürede çalıştığını analiz eder.

Saldırı Yöntemleri – Zamanlama Saldırısı • Kriptografik algoritmanın ne kadar sürede çalıştığını analiz eder. • Algoritmanın bilinmesi işi kolaylaştırır • Algoritmanın hangi aşamasının ne kadar sürdüğünün analizi yapılarak daha ayrıntılı bilgi elde edilebilir • Gürültüyü azaltmak için filtreler kullanılır • Gürültü ne kadar fazlaysa, o kadar çok örnek toplamak gerekir

Saldırı Yöntemleri – Zamanlama Saldırısı 2 • Algoritmanın işleme süresi parametrelere göre değişiyorsa, zamanlama

Saldırı Yöntemleri – Zamanlama Saldırısı 2 • Algoritmanın işleme süresi parametrelere göre değişiyorsa, zamanlama saldırısı çok etkilidir • Algoritmada koşula bağımlı bir işleyiş varsa (if- else) zamanlama saldırısı etkilidir • Ör: – x mod n, {x<= n | x >n}

Saldırı Yöntemleri – Zamanlama Saldırısı 3 RSA’e zamanlama saldırısı s = ae mod n

Saldırı Yöntemleri – Zamanlama Saldırısı 3 RSA’e zamanlama saldırısı s = ae mod n a: şifrelenecek veri e: gizli anahtar n: module (gizli) ae : a, e kez kendisiyle çarpılacak. Daha etkin bir yol, 1 - MSB ile başla ve a’nın karesini al 2 - Eğer bir sonraki bit 0 ise sadece sonucun karesini al, 1 ise çarp daha sonra karesini al 3 - Tüm bitler için bu işlemi yap Ör: a 23 23 = 10111 ((((a)2)2*a)2 *a = a 23

Saldırı Yöntemleri – Zamanlama Saldırısı 4 RSA’e zamanlama saldırısı(devam) s = a^e mod n

Saldırı Yöntemleri – Zamanlama Saldırısı 4 RSA’e zamanlama saldırısı(devam) s = a^e mod n a 23 23 = 10111 ((((a)2)2*a)2 *a = a 23 Eğer tüm bitler 0 ise(başlangıç biti hariç) 10. . . 0 log 2 e adet kare alma işlemi vardır Eğer tüm bitler 1 ise 11. . 1 log 2 e adet kare alma ve log 2 e adet çarpma işlemi vardır. --------------------Chinese Remainder Theorem RSA’de optimizasyon amaçlı kullanılır. Önce (a mod p) ve (a mod q ) hesaplanır.

Saldırı Yöntemleri – Güç Analizi • İşlemcileri oluşturan transistorler anahtar gibi davranır. • Anahtar

Saldırı Yöntemleri – Güç Analizi • İşlemcileri oluşturan transistorler anahtar gibi davranır. • Anahtar 0 ise akım bloke olur, 1 ise akım oluşur. • Güç analizi saldırısı bu akım farkının neden olduğu güç harcamasını analiz eder. • Genelde yardımcı yöntem olarak kullanılır

Saldırı Yöntemleri – Güç Analizi • SPA (Simple Power Analysis) – Sadece işlemcinin harcadığı

Saldırı Yöntemleri – Güç Analizi • SPA (Simple Power Analysis) – Sadece işlemcinin harcadığı enerjiyi analiz eder. – İşlemlerin sırası güç analizi ile anlaşılabildiğinden, parametrelere göre işlemin akışını değiştiren algoritmalarda etkili bir şekilde kullanılabilir. – Ör: DES – Bu saldırıya dirençli algoritmalar geliştirmek çok zordur. • DPA ( Differential Power Analysis) – SPA’ya ek olarak bazı istatistiki analizler ve hata düzeltme algoritmaları çalıştırır. – Bu işleme zamanını arttırır fakat gereken örnek sayısını azaltır.

Saldırı Yöntemleri – Fault Induction • Algoritma işletiliren belirli bir zamanda bir takım çevresel

Saldırı Yöntemleri – Fault Induction • Algoritma işletiliren belirli bir zamanda bir takım çevresel parametreleri değiştirerek işlemcinin hata yapması sağlanır • Daha sonra hatalı veri ile hatasız veri arasındaki ilişkilere bakarak çıkarsamalar yapılır. xp hesaplanırken hata yaptırılıyor ve x’p elde ediliyor q=

Saldırı Yöntemleri – Fault Induction 2 – Hata oluşturmak için kullanılan yöntemler: » Voltajı

Saldırı Yöntemleri – Fault Induction 2 – Hata oluşturmak için kullanılan yöntemler: » Voltajı değiştirmek » Sistem saatinin frekansını değiştirmek » Sistemi normal çalışma sıcaklığı dışında çalıştırmak » Radyasyon( Mikrodalga saldırısı) » Işık( Flaş vb. )

Saldırı Yöntemleri – Diğer Saldırılar – Akustik Kriptanaliz » Duyulabilen veya duyulamayan seslerin hassas

Saldırı Yöntemleri – Diğer Saldırılar – Akustik Kriptanaliz » Duyulabilen veya duyulamayan seslerin hassas cihazlarla kaydedilip analizi » 2004, Shamir tarafından sadece işlemciden çıkan ses ile timing attack gerçekleştirilebileceğini göstermiş – Elektromanyetik Kriptanaliz

Önlemler - 1 Yöntemden Bağımsız Temel Önlemler Zaman ve Güç açısından veriden bağımsız algoritmalar

Önlemler - 1 Yöntemden Bağımsız Temel Önlemler Zaman ve Güç açısından veriden bağımsız algoritmalar ( anahtar ve şifrelecek veri) Koşullu dallanmalardan kaçınmalı(IF vb) Bunların yerine aynı işlemler AND, OR, XOR ile yapılmalı

Önlemler 2 – Timing Attack • Gecikme Ekleme – – – • Tüm işlemlerin

Önlemler 2 – Timing Attack • Gecikme Ekleme – – – • Tüm işlemlerin aynı sürede olması sağlanmalı En uzun süren işlem süresine uzatarak eşitleyeceğinden algoritma üzerinde optimizasyon yapmak imkanını ortadan kaldırır. Güç harcamasını da dikkate alarak geliştirilmeli Çarpma ve Üs alma sürelerini eşitleme – – Saldırganın ne zaman üs alma işlemi veya çarpma işlemi yapıldığını öğrenmesini engeller. Genelde bu işlemlerin herhangi birinin yapılacağı yerde, ikisini birden hesaplayıp sadece ilgili olan sonuçla işleme devam ederek sağlanır.

Önlemler 3 – Power Analysis • Power Consumption Balancing (Harcanan Gücün Dengelenmesi) – –

Önlemler 3 – Power Analysis • Power Consumption Balancing (Harcanan Gücün Dengelenmesi) – – – • Mümkün olduğu tüm yerlerde kullanılmalıdır. Harcanan gücü dengelemek için gereksiz registerlar ve kapılar kullanılabilir. Donanım herhangi bir işlem yaptığında ayrı bir donanım da o işlemin ne kadar güç harcadığına bakıp, harcanan gücü dengeleyecek anlamsız işlemleri gerçekleştirebilir. Gürültü eklemek – Analiz için gereken örnek sayısını yükseltir.

Önlemler 4 – Fault Induction • • İşlemi iki kez gerçekleştirip, Eğer her ikisinde

Önlemler 4 – Fault Induction • • İşlemi iki kez gerçekleştirip, Eğer her ikisinde de sonuç aynıysa çıktı vermek Aynı hatanın oluşma olasılığı düşük olduğundan eğer fault induction varsa çıktı verme olasılığı düşüktür.

Referanslar • • M. Ri. ZK, Side channel attacks , October 2002 Hagai Bar-El,

Referanslar • • M. Ri. ZK, Side channel attacks , October 2002 Hagai Bar-El, Introduction to Side Channel Attacks J. Kelsey, B. Schneier, D. Wagner, C. Hall, Side Channel Cryptanalysis of product ciphers, ECRPYT, Side Channel Cryptanalysis Lounge, http: //www. crypto. ruhr-uni-bochum. de/en_sclounge. html C. Endrödi, Side-Channel Attack Of RSA http: //en. wikipedia. org/wiki/Side-channel_attack http: //news. com/2100 -1001 -212138. html K. Tiri, Side Channel Leakage Tolerant Architecture