Nonlinear systematic fault detection codes for cryptographic algorithms and their implementations
Dosyalar
Tarih
Yazarlar
Dergi Başlığı
Dergi ISSN
Cilt Başlığı
Yayıncı
Erişim Hakkı
Özet
Bu tezde, aritmetik işlemler gerçekleştirilirken veri hatalarını belirleyebilen yapılandırılılabilir bir işlemciye ek olarak gürbüz bir yürütme birimi tasarlanmış ve gerçekleştirilmiştir. Yetenekli bir saldırganın yüksek hasasiyetle hata oluşturma kabiliyetinin olduğu varsayılırsa, bu hatalardan korunmak için yüksek hata belirleme kabiliyetine sahip olan doğrusal olmayan hata belirleme tekniği kullanılabilir. Tasarlanan birimler yapılandırılabilir işlemcinin veriyoluna kendi geliştirme araçları kullanılarak sıkı bir şekilde entegre edilmiştir. Zaman ve alan bakımından değişik kofigürasyonlar için yapılandırılabilir işlemcinin kompleksliğinin arttığı raporlanmıştır. Ayrıca, gürbüz yürütme birimi kullanılarak yazılım uygulamalarının performans değerlendirilmeleride verilmiştir. Uygulama sonuçları bir gömülü işlemcide nispeten düşük bir masraf ile gürbüz işlemci birimlerinin gerçekleştirilmesinin mümkün olduğu gösterilmiştir.Doğrusal olmayan hata belirleme kodlarının donanım gerçeklemesine ek olarak bu kodlar güçlü bir saldırganın hataları yüksek çözünürlükte ve doğrulukta uygulayabildiği bir saldırı modelinde tekrar ele alınmıştır. Modüllerin dikkatli bir şekilde seçilmediği durumlarda quadratik kodlara karşı başarılı saldırılar yapılabilecek iki analiz tekniği sunulmuştur. Belirlenemeyen hataların tam sayısı ve etkin karşı önlemler gibi pratik işlerin sonuçları sunulmuş ve geniş bir yelpazedeçeşitli ataklar kapsanarak derinlemesine bir teorik analiz yapılmıştır. Yapmış olduğumuz analiz genel bir analizdir ve diğer benzer hata belirleme kodlarına da uygulanabilir.
In thisthesis, we design and implement a robust execution unit as an extension to a configurable processor, which detects the data faults while performing the arithmetic operations. Assuming a capable adversary who can inject faults to the cryptographic computation with high precision, a nonlinear error detection code with high error detection capability is used. The designed units are tightly integrated to the datapath of the configurable processor using its tool chain. For different configurations, we report the increase in space and time complexities of the configurable processor. Also, we present performance evaluations of the software implementations using the robust execution units. Implementation results show that it is feasible to implement robust arithmetic units with relatively low overhead in an embedded processor.In addition to hardware implementation of the nonlinear error detection codes, we re-consider a class of nonlinear error detection codes in more realistic an adversarial model than assumed in similar works in literature, where a powerful attacker can introduce faults with high precision and accuracy. We present two analysis techniques that can lead to successful attacks against quadratic codes if the modulus is not chosen carefully. We provide in-depth theoretical analysis that covers wide range of attacks and present results of practical concerns such as exact number of undetected faults and effective countermeasures. Our analysis is generic in the sense that it can be extended to other similar error-detection codes.








