Geri Dön

Differential power analysis attack on a FPGA implementation of TEA

TEA uygulamasının FPGA gerçeklemelerine karşı diferansiyel güç analizi saldırısı

  1. Tez No: 350448
  2. Yazar: KENAN TÜRKSOY
  3. Danışmanlar: DOÇ. DR. BERNA ÖRS YALÇIN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Elektrik ve Elektronik Mühendisliği, Electrical and Electronics Engineering
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2013
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Elektronik Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 73

Özet

Radyo Frekansı ile Tanımlama (RFID) teknolojisi, radyo frekansı kullanarak nesneleri tanıma, nesnelerden bilgi toplama yöntemidir. Bir RFID sisteminde üç temel unsur vardır. Bunlar etiket, okuyucu ve bilgisayardır. Etiket, üzerinde kendine has bir bir çeşit numara barındıran bir çeşit otomatik tanıma aygıtıdır. Okuyucu ise etrafındaki etiketlerin varlığının farkına varabilen ve bu etiketlerden bilgiyi alarak bilgisayara kaydedebilen bir cihazdır. Bilgisayar ise genellikle sistemde etiketler ile ilgili bilgileri depolama işlevine sahiptir. Etiket ile okuyucu arasındaki haberleşme radyo frekansı kullanılarak yapılır, bu yüzden bu haberleşmenin güvenli yapılması gerekmektedir. Küçük Şifreleme Algoritması (Tiny Encryption Algorithm-TEA) haberleşmenin güvenli yapılması için seçilmiştir. TEA hızlı ve donanımsal olarak fazla alana ihtiyaç duymayan bir algoritmadır. Bu yüzden etiketler için uygundur. Algoritma genel olarak, alınan 64 bitlik bir veriyi şifreleyerek yine 64 bitlik bir veri elde etmektedir. Bu esnada 128 bitlik bir anahtar kullanır. Bu algoritmada güvenlik bir fonksiyonun tekrar tekrar uygulanması ile sağlanmıştır. Bir şifreleme için 32 çevrim gerekmektedir. Algoritma her bir çevrimde aynı fonksiyonu iki kez uygular. Bu fonksiyon içerisinde toplama, özel veya ve sağa sola kaydırma işlemleri vardır. Bu işlemlerin donanımsal olarak tasarlanması kolaydır ve pek güvenli değildir. Fakat 32 çevrimden sonra işlemler basit olsa da algoritma güvenli hale gelmektedir. Ayrıca bu algoritma daha önceden tanımlanmış veri blokları kullanmaz, bu sayede daha hızlı olur ve büyük alanlara ihtiyaç duymaz. Şifreleme algoritması kullanılmasındaki en temel amaç, bilginin güvenliğidir. Bir algoritmanın güvenli olup olmadığını sorgulayan alana kriptanaliz denmektedir. Bu sorgulama iki şekilde olur. İlkinde kriptografik sistem bir matematiksel model olarak düşünülür ve giriş verileri ile çıkış verileri matematiksel yöntemlerle incelenerek gizli anahtar elde edilmeye çalışılır. Fakat bu yöntem günümüzdeki gelişen kodlama standartlarına karşı pratikte kullanılması zordur. Diğer bir yöntem ise yan kanal analizi yöntemidir. Bu yöndem kriptolojik algoritmayı barındıran sistemin, bu algoritmayı çalıştırırken dışarı verdiği bilgileri kullanarak gizli anahtarı elde etmeye çalışır. Bu bilgiler sistemin harcadığı güç bilgisi, dışarıya yaydığı manyetik radyasyon bilgisi, ses bilgisi, ısı bilgisi, algoritmayı gerçekleştirmek için gerekli zaman bilgisi, frekans bilgisi gibi çeşitli alanlarda olabilmektedir. Yan kanal analizleri, saldıran kişinin yeteneklerine bağlı olarak ikiye ayrılabilmektedir. Eğer saldıran kişinin cihaza doğrudan fiziksel etkisi olabiliyor ve cihaz üzerinde istediği doğrultuda değişiklikler yapabiliyorsa bu çeşit ataklara aktif yan kanal analizi saldırılası yöntemi denir. Pasif yan kanal analizi saldırısında ise devrenin normal çalışma düzenine etki edilmez, sadece devrenin dışarıya istemsiz olarak verdiği bilgilerden yararlanılır. Yan kanal analizleri ayrıca, anahtarı elde etmek için kullanılan yöntem bakımından da Basit Analiz Saldırısı ve Farksal Analiz Saldırısı olmak üzere ikiye ayrılır. Basit analiz saldırısında sadece bir ölçüme bakılarak anahtar hakkında bilgi edinmeye çalışılır. Farksal analiz saldırısında ise ölçüm sayısı mümkün olduğunca arttırılarak bu veriler matematiksel yöntemlerle incelenir ve anahtar elde edilmeye çalışılır. Ayrıca farksal analiz saldırılarında, saldırılan algoritmanın eşleniği olan varsayımsal bir algoritma oluşturulur ve bu algoritma kullanılarak varsayımsal sonuçlar elde edilir. Yani saldırı iki aşamada yapılır, ilk önce gerçek ölçüm yapılır, daha sonra ise bilgisayarda öngörülü analiz gerçekleştirilir. Basit analiz saldırısında algoritmanın yaptığı işlemler ile güç harcaması arasındaki bağlantı kullanılırken, farksal analiz saldırısında algoritmanın işlediği veri ile harcadığı güç arasındaki ilişkiden yola çıkılarak anahtar elde edilmeye çalışılır. Biz TEA uygulamasının Sahada Programlanabilir Kapı Dizileri (Field Programmable Gate Arrays-FPGA) gerçeklemesi üzerine diferansiyel güç analizi saldırısı gerçekleştirdik. Bunun için öncelikle deney düzeneğini hazırladık. Deney düzeneği bilgisayar, Sasebo GII kartı ve osiloskoptan oluşmaktadır. Sasebo GII kartı üzerinde iki adet FPGA bulunmaktadır. Bunlardan biri kriptolojik algoritmanın gerçeklenmesi için kart üzerinde bulunmaktadır. Kart bu FPGA'nın harcadığı gücü ölçebilmektedir. Diğer FPGA ise kriptolojik algoritmanın olduğu FPGA'nın kontrolünü sağlamak ve ona saat sinyali göndermek için kart üzerinde bulunmaktadır. Daha sonra kart ile osiloskop arasındaki iletişimi, karttan gelen güç verilerini ölçebilmek için sağladık. En sonunda ise bilgisayarın hem osiloskop ile hem de kart ile iletişimini sağladık. Çünkü bilgisayar hem karta gerektiğinde şifreleme için gerekli verileri gönderecek hem de kartın çalışmasını kontrol edecektir. Ayrıca osiloskoptaki güç verilerinin de bilgisayar tarafından alınması ve farksal analiz saldırısı için kullanılması gerekmektedir. Tüm bu iletişimi sağlamak için bilgisayarda Matlab programı kullanıldı. Diferansiyel gün analizi saldırısının belirli adımları vardır. İlk olarak algoritma üzerinde saldırı yapılacak yerin seçilmesi gerekmektedir. Bu esnada algoritma incelenmeli ve saldırıya en uygun yer seçilmelidir. İkinci adımda ise, saldırı yapan kişi algoritmayı gerçek zamanlı çalıştırır ve algoritmanın harcadığı gücü ölçer ve kaydeder. Buradaki önemli nokta harcanan gücün hangi girdiye ait olunduğunun saldırı yapan kişi tarafından bilinmesidir. Üçüncü adımda, saldırı yapan kişi ikinci adımda kullandığı girdileri kendi oluşturduğu varsayımsal algoritma için girdi olarak kullanır. Bu adımdaki önemli nokta ise bu girdileri olabilecek tüm anahtar değerleri ile birlikte varsayımsal algoritmada işlemektir. Böylelikle saldırı yapan kişinin elinde her bir girdi için olabilecek tüm çıktılar bulunmaktadır. Dördüncü adımda ise üçüncü adımda elde ettiği varsayımsal sonuçları varsayımsal güç verilerine dönüştürür. Bu esnada bazı güç teorilerinden faydalanabilir. Son aşamada ise ikinci aşamada elde edilen güç ölçüm sonuçları ile dördüncü aşamada elde edilen varsayımsal güç verileri arasındaki korelasyon hesaplanır. Korelasyonun mutlak değeri en fazla $1$ en düşük ise $0$ olabilmektedir. Bu değer ne kadar büyük ise iki veri arasındaki ilişki o derecede orantılıdır. Doğru anahtar için hesaplanan korelasyon değerinin en büyük değer olması ve $1$'e yakın olması gerekmektedir. TEA için bir girdinin güç ölçümünün yapılması için şu adımlar uygulanmaktadır. Matlab'tan $64$ bitlik işlenecek veri FPGA'ya gönderilir. FPGA bu veriyi alır ve sorunsuz bir şekilde bu veriyi aldığını Matlab'a $3$ değerinde veri göndererek söyler. Daha sonra Matlab FPGA'ya $1$ değerinde veri göndererek şifreleme işlemine başlamasını söyler. Bu komutu alan FPGA, şifrelemeye başlar ve aynı anda osiloskoba da şifrelemeye başladığını belirten bir sinyal gönderir. Bu sinyali farkeden osiloskop ölçüme başlar. Şifreleme işlemi bittiğinde FPGA Matlaba $255$ değerinde bir veri gönderir ve Matlab bu veriyi aldıktan sonra osiloskoptan güç ölçümü verileri alır. Böylelikle bilgisayarda bilinen bir girdi için harcanan güç saklanmış olur. Diferansiyel güç analizi için $1000$ adet $64$ bitlik şifrelenmesi için veri oluşturuldu. Bu oluşturulan veri $P$ matrisine kondu. Daha sonra her bir veri için güç ölçümü yapıldı ve kayıt altına alında. Her bir güç ölçümünde $1000$ tane veri bulunmaktadır. Bu yüzden güç ölçümleri $1000$ satırlık $1000$ sütunluk bir matrise kaydedildi. Daha sonra varsayımsal olarak şifreleme algoritması Matlab programında üretildi. Saldırı yapılacak noktanın olabilecek tüm anahtar değerleri ve $P$ matrisinde yer alan tüm şifrelenecek veriler için alacağı değerler hesaplandı. Kaydedicinin $8$ bitlik en düşük dereceli kısmına saldırı yapıldığı için $256$ çeşit anahtar olabilir. Bu yüzden varsayımsal olarak elde edilen veriler $1000$ satırlık $2048$ sütunluk bir matriste saklandı. Bir sonraki adım olarak varsayımsal verilerin varsayımlar güç verilerine dönüştürüldü. Bu esnada Hamming uzaklığı metodu kullanıldı. Böylelikle $1000$ satırlık $256$ sütunluk bir matris elde edildi. Daha sonra bu matris ile $P$ matrisi arasındaki korelasyon hesaplandı. Sonuç olarak doğru anahtar $0.1$ korelasyon değerini alarak en büyük korelasyon değerine sahip çıktı fakat bu değer istenilen seviyenin altındadır. Çünkü algoritmada bu esnada $300$ civarında bit daha işlem yapılmaktadır. Güç ölçümü tüm bitler için olduğundan, $8$ bitlik varsayımsal güç tüketiminden hesaplanan korelasyon değeri istenildiği seviyede değildir. Bu yüzden değişebilecek bit sayısının azalması durumunda korelasyon değerinin değişimini gözlemlemek için algoritma üzerinde değişiklik yapıldı. Algoritmada sadece saldırı yapılacak yer bırakıldı ve diğer yerler algoritmadan atıldı. Bu durumda yukarıdaki adımlar tekrar edildi ve bu durumda doğru anahtar için $0.45$ civarında korelasyon değeri elde edildi. Çünkü yeni durumda değişebilecek bit sayısı $32$ olduğu için $8$ bitlik varsayımsal veriler ile daha büyük korelasyon değerleri elde edildi. Ayrıca korelasyon değerleri ile ilgili bir başka problem ise her $16$ muhtemel anahtar değerleri için aynı korelasyon değerleri elde edilmesidir. Bunun nedeni algoritmada, girilen verinin öncelikle sola $4$ kez kaydırılması ve yeni gelen bitlerin değerinin $0$ olmasıdır. Böylece tüm girdilerin en düşük dereceli $4$ biti aynı değeri alır. Bu tezden önce literatürde TEA uygulamasının FPGA gerçeklemelerine karşı diferansiyel güç analizi saldırısı yapılmamıştı. Bu çalışma kendi alanında bir ilktir. Elde edilen korelasyon değeri istenilen seviyede olmamakla beraber diğer korelasyon değerlerine göre daha büyüktür. Gerçek anahtar kesin olarak belirlenememiş ama bulunduğu grup belirlenebilmiştir.

Özet (Çeviri)

The Tiny Encryption Algorithm(TEA) is a symmetric key encryption algorithm invented by David Wheeler and Roger Needham, members of the Computer Security Laboratory of Cambridge University. There are two main attack kinds against TEA. One of them is pure mathematical attacks that use intensive mathematical techniques for known or chosen input-output pairs of the encryption to reveal the secret key. The other one is side channel attacks (SCA) that an attacker use the information that leaked from the physical implementation of TEA during the encryption or decryption. These leaked information can be power consumption, execution time, electromagnetic waves, heat, and frequency. SCA is a powerful class of attacks which is particularly effective against embedded system implementation of cryptography, so it can be used to get the key that used for smart cards or prepaid cards that have cryptographic modules. There are some kinds of SCA. For example, in the aspect of accessing the cryptographic module, SCA can be divided into two branch such as invasive attack and non-invasive attack. In invasive attack the adversary has a direct physical access to the device and an ability to make some changes on device. On the other hand, SCA can be divided two according to methods used in the analysis process, such as simple side channel attack (SSCA) and differential side channel attack (DSCA). In SSCA, the adversary examine and try to find the relationship between side channel output and the cryptographic operation by using just single trace. On the other hand, In DSCA, the adversary uses some statistical methods to find the correlation between the processed data and the side channel output. Unlike SSCA, lots of measurements are used and the adversary create a model of the pyhsical device to create the hypothetical side channel output. One branch of side channel attacks is Differential Power Analysis (DPA), where the attacker use the power consumption of the cryptographic device to reveal the secret key. Complementary-Metal-Oxide-Semiconductor (CMOS) technology is used in nearly every digital circuits. If a CMOS gate changes its state, this change causes current consumption which can be measured. We can use this information for DPA because there is a linear ratio between the power dissipation and the amount of the state change. We used a Sasebo GII board for implementation of TEA because it can measure the power consumption of the Field Programmable Gate Array (FPGA) that has TEA. Then we follow the steps for DPA. First of all, we decide to a register to attack. However, the registers in the original architecture are not suitable for DPA, so we add some registers for DPA attack. Then we measure the power consumption for known plaintexts. After that, we calculate the hypothetical intermediate values for the register that we attack. We convert hypothetical intermediate values to the hypothetical power values by using Hamming Distance Power Model. Finally, we calculate the correlation between the power consumption of TEA and the power estimation related to the part of the key.

Benzer Tezler

  1. AES uygulaması’nın FPGA gerçeklemelerine karşı güç analizi saldırısı

    Power anaysis attack against FPGA implementation of AES algorithm

    HAKAN KAYIŞ

    Yüksek Lisans

    Türkçe

    Türkçe

    2006

    Elektrik ve Elektronik Mühendisliğiİstanbul Teknik Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    Y.DOÇ.DR. SIDDIKA BERNA ÖRS YALÇIN

  2. AES algoritmasının bir gerçeklemesine güç analizi saldırıları

    Power analysis attacks on an implementation of AES algorithm

    MUHAMMET ÖZTEMÜR

    Yüksek Lisans

    Türkçe

    Türkçe

    2012

    Elektrik ve Elektronik MühendisliğiYıldız Teknik Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    PROF. DR. TÜLAY YILDIRIM

  3. Farksal güç analizi saldırılarına dayanıklı döngüsel simetrik s-kutularının tasarımı

    Farksal güç anali̇zi̇ saldirilarina dayanikli döngüsel si̇metri̇k s-kutularinin tasarimi

    MUHAMMET ALİ EVCİ

    Yüksek Lisans

    Türkçe

    Türkçe

    2014

    Elektrik ve Elektronik MühendisliğiGebze Yüksek Teknoloji Enstitüsü

    Elektronik Mühendisliği Ana Bilim Dalı

    DR. SELÇUK KAVUT

  4. RSA algoritma gerçeklemeleri için güç tüketimi saldırı yöntemleri

    Power consumption attack methods for RSA algorithm implementations

    EBRU AKALP KUZU

    Doktora

    Türkçe

    Türkçe

    2021

    Elektrik ve Elektronik MühendisliğiKocaeli Üniversitesi

    Elektronik ve Haberleşme Mühendisliği Ana Bilim Dalı

    PROF. DR. ALİ TANGEL

  5. Differential power analysis resistant hardware implementation of the RSA cryptosystem

    Diferensiyel güç analizine dayanıklı RSA kripto sisteminin donanım ile gerçeklenmesi

    KEKLİK ALPTEKİN BAYAM

    Yüksek Lisans

    İngilizce

    İngilizce

    2007

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF.DR. MEHMET BÜLENT ÖRENCİK

    Y.DOÇ.DR. SIDDIKA BERNA ÖRS YALÇIN