ensari elektrokrip sunum
Post on 18-Dec-2014
363 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
Yan Kanal SaldırılarıKlasik
Matematiksel- İstatistiksel
• 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
• 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 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
Non-InvasiveInvasive
• 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)- 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.
• 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ı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
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: a23 23 = 10111 ((((a)2)2*a)2 *a)2 *a = a23
Saldırı Yöntemleri – Zamanlama Saldırısı 4
RSA’e zamanlama saldırısı(devam)
s = a^e mod n
a23 23 = 10111 ((((a)2)2*a)2 *a)2 *a = a23
Eğer tüm bitler 0 ise(başlangıç biti hariç) 10.....0
log2e adet kare alma işlemi vardır
Eğer tüm bitler 1 ise 11....1
log2e adet kare alma ve log2e 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 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ığı 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 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.
q =
xp hesaplanırken hata yaptırılıyor ve x’p elde ediliyor
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
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 ( 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 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)– 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 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. RiZK, 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.com/2100-1001-212138.html
• K. Tiri, Side Channel Leakage Tolerant Architecture
top related